PluginProbe
Elementor Website Builder – more than just a page builder / 3.20.2
Elementor Website Builder – more than just a page builder v3.20.2
4.3.0-beta2 4.3.0-beta1 4.2.4 4.2.3 4.2.2 4.2.1 4.2.0 4.1.5 4.2.0-beta2 4.2.0-dev2 4.2.0-beta1 4.1.4 4.1.3 4.1.2 4.1.1 4.1.0 4.1.0-beta3 4.1.0-dev3 4.0.9 4.1.0-beta2 4.1.0-dev2 4.0.8 4.1.0-beta1 4.1.0-dev1 4.0.7 All 451 releases
elementor / assets / js / ai.js

ai.js in Elementor Website Builder – more than just a page builder 3.20.2, at assets/js/ai.js

42,090 lines 1.5 MB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /*! elementor - v3.20.0 - 20-03-2024 */
2 /******/ (() => { // webpackBootstrap
3 /******/ var __webpack_modules__ = ({
4
5 /***/ "../modules/ai/assets/js/editor/actions-data.js":
6 /*!******************************************************!*\
7 !*** ../modules/ai/assets/js/editor/actions-data.js ***!
8 \******************************************************/
9 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
10
11 "use strict";
12
13
14 Object.defineProperty(exports, "__esModule", ({
15 value: true
16 }));
17 exports.vocalTones = exports.translateLanguages = exports.textareaAutocomplete = exports.textAutocomplete = exports.codeHtmlAutocomplete = exports.codeCssAutocomplete = void 0;
18 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
19 var textAutocomplete = [(0, _i18n.__)('Craft a catchy slogan for', 'elementor'), (0, _i18n.__)('Write a strong section header for', 'elementor'), (0, _i18n.__)('Create a blog title for', 'elementor'), (0, _i18n.__)('Suggest a 4 word headline for', 'elementor'), (0, _i18n.__)('Write an attention grabbing title for', 'elementor')];
20 exports.textAutocomplete = textAutocomplete;
21 var textareaAutocomplete = [(0, _i18n.__)('Write a product description for', 'elementor'), (0, _i18n.__)('Create a blog post for', 'elementor'), (0, _i18n.__)('Craft an about us section for', 'elementor'), (0, _i18n.__)('Offer a few sentences to invite visitors to', 'elementor'), (0, _i18n.__)('Write microcopy for a submission form that includes', 'elementor')];
22 exports.textareaAutocomplete = textareaAutocomplete;
23 var codeHtmlAutocomplete = [(0, _i18n.__)('GA event fired on every button element click (assume GA was loaded)', 'elementor'), (0, _i18n.__)('Iframe code to embed a Spotify widget on my web page. My ID is 1234567890', 'elementor'), (0, _i18n.__)('Write an embed code of Google Analytics', 'elementor'), (0, _i18n.__)('Write an embed code of Facebook Pixel', 'elementor'), (0, _i18n.__)('HTML code that embeds the following PDF into a webpage: link to PDF', 'elementor')];
24 exports.codeHtmlAutocomplete = codeHtmlAutocomplete;
25 var codeCssAutocomplete = [(0, _i18n.__)('On hover, animate 20% bigger, rotate 10 deg CCW', 'elementor'), (0, _i18n.__)('Add a circle-shaped clip mask, semi transparent on hover', 'elementor'), (0, _i18n.__)('Rainbow colored animated text gradient', 'elementor'), (0, _i18n.__)('Add a 3D shadow to the text', 'elementor')];
26 exports.codeCssAutocomplete = codeCssAutocomplete;
27 var vocalTones = [{
28 label: (0, _i18n.__)('Casual', 'elementor')
29 }, {
30 label: (0, _i18n.__)('Confidence', 'elementor')
31 }, {
32 label: (0, _i18n.__)('Formal', 'elementor')
33 }, {
34 label: (0, _i18n.__)('Friendly', 'elementor')
35 }, {
36 label: (0, _i18n.__)('Inspirational', 'elementor')
37 }, {
38 label: (0, _i18n.__)('Motivational', 'elementor')
39 }, {
40 label: (0, _i18n.__)('Nostalgic', 'elementor')
41 }, {
42 label: (0, _i18n.__)('Playful', 'elementor')
43 }, {
44 label: (0, _i18n.__)('Professional', 'elementor')
45 }, {
46 label: (0, _i18n.__)('Scientific', 'elementor')
47 }, {
48 label: (0, _i18n.__)('Straightforward', 'elementor')
49 }, {
50 label: (0, _i18n.__)('Witty', 'elementor')
51 }];
52 exports.vocalTones = vocalTones;
53 var translateLanguages = [{
54 label: (0, _i18n.__)('Arabic', 'elementor'),
55 value: 'ar-SA'
56 }, {
57 label: (0, _i18n.__)('Chinese', 'elementor'),
58 value: 'zh-CN'
59 }, {
60 label: (0, _i18n.__)('Czech', 'elementor'),
61 value: 'cs-CZ'
62 }, {
63 label: (0, _i18n.__)('Danish', 'elementor'),
64 value: 'da-DK'
65 }, {
66 label: (0, _i18n.__)('Dutch', 'elementor'),
67 value: 'nl-NL'
68 }, {
69 label: (0, _i18n.__)('English', 'elementor'),
70 value: 'en-US'
71 }, {
72 label: (0, _i18n.__)('Finnish', 'elementor'),
73 value: 'fi-FI'
74 }, {
75 label: (0, _i18n.__)('French', 'elementor'),
76 value: 'fr-FR'
77 }, {
78 label: (0, _i18n.__)('German', 'elementor'),
79 value: 'de-DE'
80 }, {
81 label: (0, _i18n.__)('Greek', 'elementor'),
82 value: 'el-GR'
83 }, {
84 label: (0, _i18n.__)('Hebrew', 'elementor'),
85 value: 'he-IL'
86 }, {
87 label: (0, _i18n.__)('Hungarian', 'elementor'),
88 value: 'hu-HU'
89 }, {
90 label: (0, _i18n.__)('Indonesian', 'elementor'),
91 value: 'id-ID'
92 }, {
93 label: (0, _i18n.__)('Italian', 'elementor'),
94 value: 'it-IT'
95 }, {
96 label: (0, _i18n.__)('Japanese', 'elementor'),
97 value: 'ja-JP'
98 }, {
99 label: (0, _i18n.__)('Korean', 'elementor'),
100 value: 'ko-KR'
101 }, {
102 label: (0, _i18n.__)('Persian', 'elementor'),
103 value: 'fa-IR'
104 }, {
105 label: (0, _i18n.__)('Polish', 'elementor'),
106 value: 'pl-PL'
107 }, {
108 label: (0, _i18n.__)('Portuguese', 'elementor'),
109 value: 'pt-PT'
110 }, {
111 label: (0, _i18n.__)('Russian', 'elementor'),
112 value: 'ru-RU'
113 }, {
114 label: (0, _i18n.__)('Spanish', 'elementor'),
115 value: 'es-ES'
116 }, {
117 label: (0, _i18n.__)('Swedish', 'elementor'),
118 value: 'sv-SE'
119 }, {
120 label: (0, _i18n.__)('Thai', 'elementor'),
121 value: 'th-TH'
122 }, {
123 label: (0, _i18n.__)('Turkish', 'elementor'),
124 value: 'tr-TR'
125 }, {
126 label: (0, _i18n.__)('Vietnamese', 'elementor'),
127 value: 'vi-VN'
128 }];
129 exports.translateLanguages = translateLanguages;
130
131 /***/ }),
132
133 /***/ "../modules/ai/assets/js/editor/ai-behavior.js":
134 /*!*****************************************************!*\
135 !*** ../modules/ai/assets/js/editor/ai-behavior.js ***!
136 \*****************************************************/
137 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
138
139 "use strict";
140 /* provided dependency */ var ReactDOM = __webpack_require__(/*! react-dom */ "react-dom");
141
142
143 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
144 Object.defineProperty(exports, "__esModule", ({
145 value: true
146 }));
147 exports["default"] = void 0;
148 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
149 var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
150 var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
151 var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
152 var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
153 var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
154 var _app = _interopRequireDefault(__webpack_require__(/*! ./app */ "../modules/ai/assets/js/editor/app.js"));
155 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
156 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); }; }
157 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; } }
158 var AiBehavior = /*#__PURE__*/function (_Marionette$Behavior) {
159 (0, _inherits2.default)(AiBehavior, _Marionette$Behavior);
160 var _super = _createSuper(AiBehavior);
161 function AiBehavior() {
162 (0, _classCallCheck2.default)(this, AiBehavior);
163 return _super.apply(this, arguments);
164 }
165 (0, _createClass2.default)(AiBehavior, [{
166 key: "initialize",
167 value: function initialize() {
168 this.type = 'text';
169 this.controlType = 'text';
170 this.buttonLabel = (0, _i18n.__)('Write with AI', 'elementor');
171 this.editButtonLabel = (0, _i18n.__)('Edit with AI', 'elementor');
172 this.isLabelBlock = false;
173 this.additionalOptions = {};
174 this.context = {};
175 this.config = window.ElementorAiConfig;
176 }
177 }, {
178 key: "ui",
179 value: function ui() {
180 return {
181 aiButton: '.e-ai-button'
182 };
183 }
184 }, {
185 key: "events",
186 value: function events() {
187 return {
188 'click @ui.aiButton': 'onAiButtonClick'
189 };
190 }
191 }, {
192 key: "onAiButtonClick",
193 value: function onAiButtonClick(event) {
194 var _elementor, _elementor$getPrefere;
195 event.stopPropagation();
196 var colorScheme = ((_elementor = elementor) === null || _elementor === void 0 ? void 0 : (_elementor$getPrefere = _elementor.getPreferences) === null || _elementor$getPrefere === void 0 ? void 0 : _elementor$getPrefere.call(_elementor, 'ui_theme')) || 'auto';
197 var isRTL = elementorCommon.config.isRTL;
198 var rootElement = document.createElement('div');
199 document.body.append(rootElement);
200 window.elementorAiCurrentContext = this.getOption('context');
201 ReactDOM.render( /*#__PURE__*/_react.default.createElement(_app.default, {
202 type: this.getOption('type'),
203 controlType: this.getOption('controlType'),
204 getControlValue: this.getOption('getControlValue'),
205 setControlValue: this.getOption('setControlValue'),
206 additionalOptions: this.getOption('additionalOptions'),
207 controlView: this.getOption('controlView'),
208 onClose: function onClose() {
209 ReactDOM.unmountComponentAtNode(rootElement);
210 rootElement.remove();
211 },
212 colorScheme: colorScheme,
213 isRTL: isRTL
214 }), rootElement);
215 }
216 }, {
217 key: "getAiButtonLabel",
218 value: function getAiButtonLabel() {
219 var _this$getOption;
220 var defaultValue = (_this$getOption = this.getOption('additionalOptions')) === null || _this$getOption === void 0 ? void 0 : _this$getOption.defaultValue;
221 var currentValue = this.getOption('getControlValue')();
222 var isMedia = 'media' === this.getOption('type');
223 var isDefaultValue = !isMedia && defaultValue === currentValue || isMedia && (currentValue === null || currentValue === void 0 ? void 0 : currentValue.url) === (defaultValue === null || defaultValue === void 0 ? void 0 : defaultValue.url);
224 return isDefaultValue ? this.getOption('buttonLabel') : this.getOption('editButtonLabel');
225 }
226 }, {
227 key: "onRender",
228 value: function onRender() {
229 var isPromotion = !this.config.is_get_started;
230 var buttonLabel = this.getAiButtonLabel();
231 var $button = jQuery('<button>', {
232 class: 'e-ai-button'
233 });
234 if (!isPromotion) {
235 $button.addClass('e-active');
236 }
237 $button.html('<i class="eicon-ai"></i>');
238 if (this.getOption('isLabelBlock') && isPromotion) {
239 $button.append(' ' + buttonLabel);
240 } else {
241 $button.tipsy({
242 gravity: 's',
243 title: function title() {
244 return buttonLabel;
245 }
246 });
247 }
248 var $wrap = this.$el.find('.elementor-control-responsive-switchers');
249 if (!$wrap.length) {
250 $wrap = this.$el.find('.elementor-control-title');
251 }
252 $wrap.after($button);
253 }
254 }]);
255 return AiBehavior;
256 }(Marionette.Behavior);
257 exports["default"] = AiBehavior;
258
259 /***/ }),
260
261 /***/ "../modules/ai/assets/js/editor/api/index.js":
262 /*!***************************************************!*\
263 !*** ../modules/ai/assets/js/editor/api/index.js ***!
264 \***************************************************/
265 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
266
267 "use strict";
268
269
270 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
271 Object.defineProperty(exports, "__esModule", ({
272 value: true
273 }));
274 exports.uploadImage = exports.toggleFavoriteHistoryItem = exports.setStatusFeedback = exports.setGetStarted = exports.getUserInformation = exports.getTextToImageGeneration = exports.getRemoteConfig = exports.getLayoutPromptEnhanced = exports.getImageToImageUpscale = exports.getImageToImageReplaceBackground = exports.getImageToImageRemoveText = exports.getImageToImageRemoveBackground = exports.getImageToImageOutPainting = exports.getImageToImageMaskGeneration = exports.getImageToImageGeneration = exports.getImagePromptEnhanced = exports.getHistory = exports.getEditText = exports.getCustomCode = exports.getCustomCSS = exports.getCompletionText = exports.generateLayout = exports.deleteHistoryItem = void 0;
275 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
276 function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
277 function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
278 var request = function request(endpoint) {
279 var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
280 var immediately = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
281 var signal = arguments.length > 3 ? arguments[3] : undefined;
282 if (Object.keys(data).length) {
283 data.context = window.elementorAiCurrentContext;
284 }
285 return new Promise(function (resolve, reject) {
286 var ajaxData = elementorCommon.ajax.addRequest(endpoint, {
287 success: resolve,
288 error: reject,
289 data: data
290 }, immediately);
291 if (signal && ajaxData.jqXhr) {
292 signal.addEventListener('abort', ajaxData.jqXhr.abort);
293 }
294 });
295 };
296 var getUserInformation = function getUserInformation() {
297 return request('ai_get_user_information');
298 };
299 exports.getUserInformation = getUserInformation;
300 var getRemoteConfig = function getRemoteConfig() {
301 return request('ai_get_remote_config');
302 };
303 exports.getRemoteConfig = getRemoteConfig;
304 var getCompletionText = function getCompletionText(payload) {
305 return request('ai_get_completion_text', {
306 payload: payload
307 });
308 };
309 exports.getCompletionText = getCompletionText;
310 var getEditText = function getEditText(payload) {
311 return request('ai_get_edit_text', {
312 payload: payload
313 });
314 };
315 exports.getEditText = getEditText;
316 var getCustomCode = function getCustomCode(payload) {
317 return request('ai_get_custom_code', {
318 payload: payload
319 });
320 };
321 exports.getCustomCode = getCustomCode;
322 var getCustomCSS = function getCustomCSS(payload) {
323 return request('ai_get_custom_css', {
324 payload: payload
325 });
326 };
327 exports.getCustomCSS = getCustomCSS;
328 var setGetStarted = function setGetStarted() {
329 return request('ai_set_get_started');
330 };
331 exports.setGetStarted = setGetStarted;
332 var setStatusFeedback = function setStatusFeedback(responseId) {
333 return request('ai_set_status_feedback', {
334 response_id: responseId
335 });
336 };
337 exports.setStatusFeedback = setStatusFeedback;
338 var getTextToImageGeneration = function getTextToImageGeneration(payload) {
339 return request('ai_get_text_to_image', {
340 payload: payload
341 });
342 };
343 exports.getTextToImageGeneration = getTextToImageGeneration;
344 var getImageToImageGeneration = function getImageToImageGeneration(payload) {
345 return request('ai_get_image_to_image', {
346 payload: payload
347 });
348 };
349 exports.getImageToImageGeneration = getImageToImageGeneration;
350 var getImageToImageMaskGeneration = function getImageToImageMaskGeneration(payload) {
351 return request('ai_get_image_to_image_mask', {
352 payload: payload
353 });
354 };
355 exports.getImageToImageMaskGeneration = getImageToImageMaskGeneration;
356 var getImageToImageOutPainting = function getImageToImageOutPainting(payload) {
357 return request('ai_get_image_to_image_outpainting', {
358 payload: payload
359 });
360 };
361 exports.getImageToImageOutPainting = getImageToImageOutPainting;
362 var getImageToImageUpscale = function getImageToImageUpscale(payload) {
363 return request('ai_get_image_to_image_upscale', {
364 payload: payload
365 });
366 };
367 exports.getImageToImageUpscale = getImageToImageUpscale;
368 var getImageToImageRemoveBackground = function getImageToImageRemoveBackground(payload) {
369 return request('ai_get_image_to_image_remove_background', {
370 payload: payload
371 });
372 };
373 exports.getImageToImageRemoveBackground = getImageToImageRemoveBackground;
374 var getImageToImageReplaceBackground = function getImageToImageReplaceBackground(payload) {
375 return request('ai_get_image_to_image_replace_background', {
376 payload: payload
377 });
378 };
379 exports.getImageToImageReplaceBackground = getImageToImageReplaceBackground;
380 var getImageToImageRemoveText = function getImageToImageRemoveText(image) {
381 return request('ai_get_image_to_image_remove_text', {
382 image: image
383 });
384 };
385 exports.getImageToImageRemoveText = getImageToImageRemoveText;
386 var getImagePromptEnhanced = function getImagePromptEnhanced(prompt) {
387 return request('ai_get_image_prompt_enhancer', {
388 prompt: prompt
389 });
390 };
391 exports.getImagePromptEnhanced = getImagePromptEnhanced;
392 var uploadImage = function uploadImage(image) {
393 return request('ai_upload_image', _objectSpread({}, image));
394 };
395
396 /**
397 * @typedef {Object} AttachmentPropType - See ./types/attachment.js
398 * @typedef {Object} requestBody
399 * @property {string} prompt - Prompt to generate the layout from.
400 * @property {0|1|2} [variationType] - Type of the layout to generate (actually it's a position).
401 * @property {string[]} [prevGeneratedIds] - Previously generated ids for exclusion on regeneration.
402 * @property {AttachmentPropType[]} [attachments] - Attachments to use for the generation. currently only `json` type is supported - a container JSON to generate variations from.
403 */
404
405 /**
406 * @param {requestBody} requestBody
407 * @param {AbortSignal} [signal]
408 */
409 exports.uploadImage = uploadImage;
410 var generateLayout = function generateLayout(requestBody, signal) {
411 return request('ai_generate_layout', requestBody, true, signal);
412 };
413 exports.generateLayout = generateLayout;
414 var getLayoutPromptEnhanced = function getLayoutPromptEnhanced(prompt, enhanceType) {
415 return request('ai_get_layout_prompt_enhancer', {
416 prompt: prompt,
417 enhance_type: enhanceType
418 });
419 };
420 exports.getLayoutPromptEnhanced = getLayoutPromptEnhanced;
421 var getHistory = function getHistory(type, page, limit) {
422 return request('ai_get_history', {
423 type: type,
424 page: page,
425 limit: limit
426 });
427 };
428 exports.getHistory = getHistory;
429 var deleteHistoryItem = function deleteHistoryItem(id) {
430 return request('ai_delete_history_item', {
431 id: id
432 });
433 };
434 exports.deleteHistoryItem = deleteHistoryItem;
435 var toggleFavoriteHistoryItem = function toggleFavoriteHistoryItem(id) {
436 return request('ai_toggle_favorite_history_item', {
437 id: id
438 });
439 };
440 exports.toggleFavoriteHistoryItem = toggleFavoriteHistoryItem;
441
442 /***/ }),
443
444 /***/ "../modules/ai/assets/js/editor/app.js":
445 /*!*********************************************!*\
446 !*** ../modules/ai/assets/js/editor/app.js ***!
447 \*********************************************/
448 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
449
450 "use strict";
451
452
453 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
454 Object.defineProperty(exports, "__esModule", ({
455 value: true
456 }));
457 exports["default"] = void 0;
458 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
459 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
460 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
461 var _pageContent = _interopRequireDefault(__webpack_require__(/*! ./page-content */ "../modules/ai/assets/js/editor/page-content.js"));
462 var _helpers = __webpack_require__(/*! ./helpers */ "../modules/ai/assets/js/editor/helpers/index.js");
463 var _requestsIds = __webpack_require__(/*! ./context/requests-ids */ "../modules/ai/assets/js/editor/context/requests-ids.js");
464 var App = function App(props) {
465 return /*#__PURE__*/_react.default.createElement(_ui.DirectionProvider, {
466 rtl: props.isRTL
467 }, /*#__PURE__*/_react.default.createElement(_ui.ThemeProvider, {
468 colorScheme: props.colorScheme
469 }, /*#__PURE__*/_react.default.createElement(_requestsIds.RequestIdsProvider, null, /*#__PURE__*/_react.default.createElement(_pageContent.default, {
470 type: props.type,
471 controlType: props.controlType,
472 onClose: props.onClose,
473 onConnect: _helpers.onConnect,
474 getControlValue: props.getControlValue,
475 setControlValue: props.setControlValue,
476 controlView: props.controlView,
477 additionalOptions: props.additionalOptions
478 }))));
479 };
480 App.propTypes = {
481 colorScheme: _propTypes.default.oneOf(['auto', 'light', 'dark']),
482 type: _propTypes.default.string,
483 controlType: _propTypes.default.string,
484 onClose: _propTypes.default.func,
485 getControlValue: _propTypes.default.func,
486 setControlValue: _propTypes.default.func,
487 additionalOptions: _propTypes.default.object,
488 controlView: _propTypes.default.object,
489 isRTL: _propTypes.default.bool
490 };
491 var _default = App;
492 exports["default"] = _default;
493
494 /***/ }),
495
496 /***/ "../modules/ai/assets/js/editor/components/dialog-header.js":
497 /*!******************************************************************!*\
498 !*** ../modules/ai/assets/js/editor/components/dialog-header.js ***!
499 \******************************************************************/
500 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
501
502 "use strict";
503
504
505 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
506 Object.defineProperty(exports, "__esModule", ({
507 value: true
508 }));
509 exports["default"] = void 0;
510 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
511 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
512 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
513 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
514 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
515 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
516 var ElementorLogo = function ElementorLogo(props) {
517 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
518 viewBox: "0 0 32 32"
519 }, props), /*#__PURE__*/_react.default.createElement("path", {
520 fillRule: "evenodd",
521 clipRule: "evenodd",
522 d: "M2.69648 24.8891C0.938383 22.2579 0 19.1645 0 16C0 11.7566 1.68571 7.68687 4.68629 4.68629C7.68687 1.68571 11.7566 0 16 0C19.1645 0 22.2579 0.938383 24.8891 2.69648C27.5203 4.45459 29.5711 6.95344 30.7821 9.87706C31.9931 12.8007 32.3099 16.0177 31.6926 19.1214C31.0752 22.2251 29.5514 25.0761 27.3137 27.3137C25.0761 29.5514 22.2251 31.0752 19.1214 31.6926C16.0177 32.3099 12.8007 31.9931 9.87706 30.7821C6.95344 29.5711 4.45459 27.5203 2.69648 24.8891ZM12.0006 9.33281H9.33437V22.6665H12.0006V9.33281ZM22.6657 9.33281H14.6669V11.9991H22.6657V9.33281ZM22.6657 14.6654H14.6669V17.3316H22.6657V14.6654ZM22.6657 20.0003H14.6669V22.6665H22.6657V20.0003Z"
523 }));
524 };
525 var StyledElementorLogo = (0, _ui.styled)(ElementorLogo)(function (_ref) {
526 var theme = _ref.theme;
527 return {
528 width: theme.spacing(3),
529 height: theme.spacing(3),
530 '& path': {
531 fill: theme.palette.text.primary
532 }
533 };
534 });
535 var DialogHeader = function DialogHeader(props) {
536 return /*#__PURE__*/_react.default.createElement(_ui.AppBar, {
537 sx: {
538 fontWeight: 'normal'
539 },
540 color: "transparent",
541 position: "relative"
542 }, /*#__PURE__*/_react.default.createElement(_ui.Toolbar, {
543 variant: "dense"
544 }, /*#__PURE__*/_react.default.createElement(StyledElementorLogo, {
545 sx: {
546 mr: 1
547 }
548 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
549 component: "span",
550 variant: "subtitle2",
551 sx: {
552 fontWeight: 'bold',
553 textTransform: 'uppercase'
554 }
555 }, (0, _i18n.__)('AI', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Chip, {
556 label: (0, _i18n.__)('Beta', 'elementor'),
557 color: "default",
558 size: "small",
559 sx: {
560 ml: 1
561 }
562 }), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
563 direction: "row",
564 spacing: 1,
565 alignItems: "center",
566 sx: {
567 ml: 'auto'
568 }
569 }, props.children, /*#__PURE__*/_react.default.createElement(_ui.IconButton, {
570 size: "small",
571 "aria-label": "close",
572 onClick: props.onClose,
573 sx: {
574 '&.MuiButtonBase-root': {
575 mr: -1
576 }
577 }
578 }, /*#__PURE__*/_react.default.createElement(_icons.XIcon, null)))));
579 };
580 DialogHeader.propTypes = {
581 onClose: _propTypes.default.func.isRequired,
582 children: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.node), _propTypes.default.node])
583 };
584 var _default = DialogHeader;
585 exports["default"] = _default;
586
587 /***/ }),
588
589 /***/ "../modules/ai/assets/js/editor/components/generate-button.js":
590 /*!********************************************************************!*\
591 !*** ../modules/ai/assets/js/editor/components/generate-button.js ***!
592 \********************************************************************/
593 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
594
595 "use strict";
596
597
598 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
599 Object.defineProperty(exports, "__esModule", ({
600 value: true
601 }));
602 exports["default"] = void 0;
603 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
604 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
605 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
606 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
607 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
608 var GenerateButton = function GenerateButton(props) {
609 return /*#__PURE__*/_react.default.createElement(_ui.Button, (0, _extends2.default)({
610 variant: "contained",
611 endIcon: /*#__PURE__*/_react.default.createElement(_icons.AIIcon, {
612 fontSize: "small"
613 }),
614 disabled: !prompt,
615 "aria-label": (0, _i18n.__)('search', 'elementor'),
616 type: "submit",
617 size: "small"
618 }, props));
619 };
620 var _default = GenerateButton;
621 exports["default"] = _default;
622
623 /***/ }),
624
625 /***/ "../modules/ai/assets/js/editor/components/loader.js":
626 /*!***********************************************************!*\
627 !*** ../modules/ai/assets/js/editor/components/loader.js ***!
628 \***********************************************************/
629 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
630
631 "use strict";
632
633
634 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
635 Object.defineProperty(exports, "__esModule", ({
636 value: true
637 }));
638 exports["default"] = void 0;
639 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
640 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
641 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
642 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
643 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
644 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
645 var _excluded = ["sx", "BoxProps"];
646 function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
647 function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
648 var Loader = function Loader(_ref) {
649 var _ref$sx = _ref.sx,
650 sx = _ref$sx === void 0 ? {} : _ref$sx,
651 _ref$BoxProps = _ref.BoxProps,
652 BoxProps = _ref$BoxProps === void 0 ? {} : _ref$BoxProps,
653 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
654 return /*#__PURE__*/_react.default.createElement(_ui.Box, (0, _extends2.default)({
655 width: "100%",
656 display: "flex",
657 alignItems: "center"
658 }, BoxProps, {
659 sx: _objectSpread({
660 px: 1.5,
661 minHeight: function minHeight(theme) {
662 return theme.spacing(5);
663 }
664 }, BoxProps.sx || {})
665 }), /*#__PURE__*/_react.default.createElement(_ui.LinearProgress, (0, _extends2.default)({
666 color: "secondary"
667 }, props, {
668 sx: _objectSpread({
669 width: '100%'
670 }, sx)
671 })));
672 };
673 Loader.propTypes = {
674 sx: _propTypes.default.object,
675 BoxProps: _propTypes.default.object
676 };
677 var _default = Loader;
678 exports["default"] = _default;
679
680 /***/ }),
681
682 /***/ "../modules/ai/assets/js/editor/components/prompt-action-selection.js":
683 /*!****************************************************************************!*\
684 !*** ../modules/ai/assets/js/editor/components/prompt-action-selection.js ***!
685 \****************************************************************************/
686 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
687
688 "use strict";
689
690
691 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
692 Object.defineProperty(exports, "__esModule", ({
693 value: true
694 }));
695 exports["default"] = void 0;
696 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
697 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
698 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
699 var labelToDashCash = function labelToDashCash(str) {
700 return str.toLowerCase().replace(/ /g, '-');
701 };
702 var PromptActionSelection = function PromptActionSelection(props) {
703 var actionId = labelToDashCash(props.label);
704 var _props$wrapperStyle = props.wrapperStyle,
705 wrapperStyle = _props$wrapperStyle === void 0 ? {
706 maxWidth: 138
707 } : _props$wrapperStyle;
708 return /*#__PURE__*/_react.default.createElement(_ui.FormControl, {
709 size: "small",
710 color: "secondary",
711 fullWidth: true,
712 sx: wrapperStyle
713 }, /*#__PURE__*/_react.default.createElement(_ui.InputLabel, {
714 id: actionId
715 }, props.label), /*#__PURE__*/_react.default.createElement(_ui.Select, {
716 id: actionId,
717 labelId: actionId,
718 label: props.label,
719 value: props.value || '',
720 onChange: props.onChange,
721 disabled: props.disabled,
722 sx: {
723 // Fixing global CSS of the editor that targets input[disabled] globally.
724 '&.Mui-disabled .MuiSelect-nativeInput': {
725 backgroundColor: 'initial',
726 opacity: 0
727 }
728 }
729 }, props.options.map(function (option) {
730 var _option$value;
731 return /*#__PURE__*/_react.default.createElement(_ui.MenuItem, {
732 dense: true,
733 key: option.label,
734 value: (_option$value = option.value) !== null && _option$value !== void 0 ? _option$value : option.label
735 }, option.label);
736 })));
737 };
738 PromptActionSelection.propTypes = {
739 label: _propTypes.default.string.isRequired,
740 options: _propTypes.default.arrayOf(_propTypes.default.shape({
741 label: _propTypes.default.string.isRequired,
742 value: _propTypes.default.string
743 })).isRequired,
744 onChange: _propTypes.default.func.isRequired,
745 value: _propTypes.default.string,
746 wrapperStyle: _propTypes.default.object,
747 disabled: _propTypes.default.bool
748 };
749 var _default = PromptActionSelection;
750 exports["default"] = _default;
751
752 /***/ }),
753
754 /***/ "../modules/ai/assets/js/editor/components/prompt-action.js":
755 /*!******************************************************************!*\
756 !*** ../modules/ai/assets/js/editor/components/prompt-action.js ***!
757 \******************************************************************/
758 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
759
760 "use strict";
761
762
763 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
764 Object.defineProperty(exports, "__esModule", ({
765 value: true
766 }));
767 exports["default"] = void 0;
768 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
769 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
770 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
771 var PromptAction = function PromptAction(props) {
772 return /*#__PURE__*/_react.default.createElement(_ui.Chip, (0, _extends2.default)({
773 size: "large",
774 color: "secondary",
775 variant: "outlined"
776 }, props));
777 };
778 var _default = PromptAction;
779 exports["default"] = _default;
780
781 /***/ }),
782
783 /***/ "../modules/ai/assets/js/editor/components/prompt-dialog.js":
784 /*!******************************************************************!*\
785 !*** ../modules/ai/assets/js/editor/components/prompt-dialog.js ***!
786 \******************************************************************/
787 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
788
789 "use strict";
790
791
792 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
793 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
794 Object.defineProperty(exports, "__esModule", ({
795 value: true
796 }));
797 exports["default"] = void 0;
798 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
799 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
800 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
801 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
802 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
803 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
804 var _reactDraggable = _interopRequireDefault(__webpack_require__(/*! react-draggable */ "../node_modules/react-draggable/build/cjs/cjs.js"));
805 var _dialogHeader = _interopRequireDefault(__webpack_require__(/*! ./dialog-header */ "../modules/ai/assets/js/editor/components/dialog-header.js"));
806 function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
807 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; }
808 function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
809 function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
810 var DraggablePaper = function DraggablePaper(props) {
811 var _useState = (0, _react.useState)({
812 x: 0,
813 y: 0
814 }),
815 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
816 position = _useState2[0],
817 setPosition = _useState2[1];
818 var paperRef = (0, _react.useRef)(null);
819 var timeout = (0, _react.useRef)(null);
820 var onDrag = function onDrag(_e, _ref) {
821 var x = _ref.x,
822 y = _ref.y;
823 return setPosition({
824 x: x,
825 y: y
826 });
827 };
828 var handlePositionBoundaries = function handlePositionBoundaries() {
829 clearTimeout(timeout.current);
830
831 // Ensuring the dialog header, which is used as the dialog dragging handle, does not exceed the screen.
832 timeout.current = setTimeout(function () {
833 var _paperRef$current;
834 var dialogTop = (_paperRef$current = paperRef.current) === null || _paperRef$current === void 0 ? void 0 : _paperRef$current.getBoundingClientRect().top;
835 if (dialogTop < 0) {
836 setPosition(function (prev) {
837 return _objectSpread(_objectSpread({}, prev), {}, {
838 y: prev.y - dialogTop
839 });
840 });
841 }
842 }, 50);
843 };
844 (0, _react.useEffect)(function () {
845 var resizeObserver = new ResizeObserver(handlePositionBoundaries);
846 resizeObserver.observe(paperRef.current);
847 return function () {
848 resizeObserver.disconnect();
849 };
850 }, []);
851 return /*#__PURE__*/_react.default.createElement(_reactDraggable.default, {
852 position: position,
853 onDrag: onDrag,
854 handle: ".MuiAppBar-root",
855 cancel: '[class*="MuiDialogContent-root"]',
856 bounds: "parent"
857 }, /*#__PURE__*/_react.default.createElement(_ui.Paper, (0, _extends2.default)({}, props, {
858 ref: paperRef
859 })));
860 };
861 var PromptDialog = function PromptDialog(props) {
862 return /*#__PURE__*/_react.default.createElement(_ui.Dialog, (0, _extends2.default)({
863 scroll: "paper",
864 open: true,
865 fullWidth: true,
866 hideBackdrop: true,
867 PaperComponent: DraggablePaper,
868 disableScrollLock: true,
869 sx: {
870 '& .MuiDialog-container': {
871 alignItems: 'flex-start',
872 mt: '18vh'
873 }
874 },
875 PaperProps: {
876 sx: {
877 m: 0,
878 maxHeight: '76vh'
879 }
880 }
881 }, props), props.children);
882 };
883 PromptDialog.propTypes = {
884 onClose: _propTypes.default.func.isRequired,
885 children: _propTypes.default.node,
886 maxWidth: _propTypes.default.oneOf(['xs', 'sm', 'md', 'lg', 'xl', false])
887 };
888 PromptDialog.Header = _dialogHeader.default;
889 PromptDialog.Content = _ui.DialogContent;
890 var _default = PromptDialog;
891 exports["default"] = _default;
892
893 /***/ }),
894
895 /***/ "../modules/ai/assets/js/editor/components/prompt-error-message.js":
896 /*!*************************************************************************!*\
897 !*** ../modules/ai/assets/js/editor/components/prompt-error-message.js ***!
898 \*************************************************************************/
899 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
900
901 "use strict";
902 /* provided dependency */ var sprintf = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["sprintf"];
903
904
905 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
906 Object.defineProperty(exports, "__esModule", ({
907 value: true
908 }));
909 exports["default"] = void 0;
910 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
911 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
912 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
913 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
914 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
915 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
916 var _excluded = ["error", "onRetry", "actionPosition"];
917 var PromptErrorMessage = function PromptErrorMessage(_ref) {
918 var error = _ref.error,
919 _ref$onRetry = _ref.onRetry,
920 onRetry = _ref$onRetry === void 0 ? function () {} : _ref$onRetry,
921 _ref$actionPosition = _ref.actionPosition,
922 actionPosition = _ref$actionPosition === void 0 ? 'default' : _ref$actionPosition,
923 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
924 function getQuotaReachedTrailMessage(featureName) {
925 if (!featureName) {
926 return {
927 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('It\'s time to upgrade.', 'elementor')),
928 description: (0, _i18n.__)('Enjoy the free trial? Upgrade now for unlimited access to built-in image, text and custom code generators.', 'elementor'),
929 buttonText: (0, _i18n.__)('Upgrade', 'elementor'),
930 buttonAction: function buttonAction() {
931 return window.open('https://go.elementor.com/ai-popup-purchase-limit-reached/', '_blank');
932 }
933 };
934 }
935 return {
936 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('Your free trial is up!', 'elementor')),
937 // Translators: %s is the feature name.
938 description: sprintf((0, _i18n.__)('Upgrade now to keep using %s', 'elementor'), featureName),
939 buttonText: (0, _i18n.__)('Upgrade now', 'elementor'),
940 buttonAction: function buttonAction() {
941 return window.open('https://go.elementor.com/ai-popup-purchase-limit-reached/', '_blank');
942 }
943 };
944 }
945 function getErrorMessage() {
946 var _error$extra_data;
947 var errMsg = error.message || error;
948 var featureName = (_error$extra_data = error.extra_data) === null || _error$extra_data === void 0 ? void 0 : _error$extra_data.featureName;
949 var messages = {
950 default: {
951 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('Unknown error. Please try again later.', 'elementor')),
952 description: (0, _i18n.__)('Error code:', 'elementor') + ' ' + error,
953 buttonText: (0, _i18n.__)('Try Again', 'elementor'),
954 buttonAction: onRetry
955 },
956 service_outage_internal: {
957 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('Elementor AI is temporarily unavailable', 'elementor')),
958 description: (0, _i18n.__)('Seems like we are experiencing technical difficulty. We should be up and running shortly.', 'elementor'),
959 buttonText: (0, _i18n.__)('Try Again', 'elementor'),
960 buttonAction: onRetry
961 },
962 invalid_connect_data: {
963 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('Reconnect your account', 'elementor')),
964 description: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, (0, _i18n.__)('We couldn\'t connect to your account due to technical difficulties on our end. Reconnect your account to continue.', 'elementor'), ' ', /*#__PURE__*/_react.default.createElement("a", {
965 href: "https://elementor.com/help/disconnecting-reconnecting-your-elementor-account/",
966 target: "_blank",
967 rel: "noreferrer"
968 }, (0, _i18n.__)('Show me how', 'elementor'))),
969 buttonText: (0, _i18n.__)('Reconnect', 'elementor'),
970 buttonAction: function buttonAction() {
971 return window.open(window.ElementorAiConfig.connect_url);
972 }
973 },
974 not_connected: {
975 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('You aren\'t connected to Elementor AI.', 'elementor')),
976 description: (0, _i18n.__)('Elementor AI is just a few clicks away. Connect your account to instantly create texts and custom code.', 'elementor'),
977 buttonText: (0, _i18n.__)('Connect', 'elementor'),
978 buttonAction: function buttonAction() {
979 return window.open(window.ElementorAiConfig.connect_url);
980 }
981 },
982 quota_reached_trail: getQuotaReachedTrailMessage(featureName),
983 quota_reached_subscription: {
984 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('It\'s time to upgrade.', 'elementor')),
985 description: (0, _i18n.__)('Love Elementor AI? Upgrade to continue creating with built-in image, text and custom code generators.', 'elementor'),
986 buttonText: (0, _i18n.__)('Upgrade', 'elementor'),
987 buttonAction: function buttonAction() {
988 return window.open('https://go.elementor.com/ai-popup-purchase-limit-reached/', '_blank');
989 }
990 },
991 rate_limit_network: {
992 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('Whoa! Slow down there.', 'elementor')),
993 description: (0, _i18n.__)('We can’t process that many requests so fast. Try again in 15 minutes.', 'elementor')
994 },
995 invalid_prompts: {
996 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('We were unable to generate that prompt.', 'elementor')),
997 description: (0, _i18n.__)('Seems like the prompt contains words that could generate harmful content. Write a different prompt to continue.', 'elementor')
998 }
999 };
1000 return messages[errMsg] || messages.default;
1001 }
1002 var message = getErrorMessage();
1003 var action = (message === null || message === void 0 ? void 0 : message.buttonText) && /*#__PURE__*/_react.default.createElement(_ui.Button, {
1004 color: "inherit",
1005 size: "small",
1006 variant: "outlined",
1007 onClick: message.buttonAction
1008 }, message.buttonText);
1009 return /*#__PURE__*/_react.default.createElement(_ui.Alert, (0, _extends2.default)({
1010 severity: message.severity || 'error',
1011 action: 'default' === actionPosition && action
1012 }, props), message.text, message.description, 'bottom' === actionPosition && /*#__PURE__*/_react.default.createElement(_ui.Box, {
1013 sx: {
1014 mt: 1
1015 }
1016 }, action));
1017 };
1018 PromptErrorMessage.propTypes = {
1019 error: _propTypes.default.string,
1020 onRetry: _propTypes.default.func,
1021 actionPosition: _propTypes.default.oneOf(['default', 'bottom'])
1022 };
1023 var _default = PromptErrorMessage;
1024 exports["default"] = _default;
1025
1026 /***/ }),
1027
1028 /***/ "../modules/ai/assets/js/editor/components/prompt-history/context/prompt-history-action-context.js":
1029 /*!*********************************************************************************************************!*\
1030 !*** ../modules/ai/assets/js/editor/components/prompt-history/context/prompt-history-action-context.js ***!
1031 \*********************************************************************************************************/
1032 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1033
1034 "use strict";
1035
1036
1037 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1038 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
1039 Object.defineProperty(exports, "__esModule", ({
1040 value: true
1041 }));
1042 exports.useSubscribeOnPromptHistoryAction = exports.usePromptHistoryAction = exports.PromptHistoryActionProvider = exports.PromptHistoryActionContext = exports.ACTION_TYPES = void 0;
1043 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
1044 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
1045 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
1046 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1047 var _historyTypes = __webpack_require__(/*! ../history-types */ "../modules/ai/assets/js/editor/components/prompt-history/history-types.js");
1048 var _promptHistoryContext = __webpack_require__(/*! ./prompt-history-context */ "../modules/ai/assets/js/editor/components/prompt-history/context/prompt-history-context.js");
1049 var _HISTORY_TYPES$TEXT, _HISTORY_TYPES$CODE, _HISTORY_TYPES$IMAGE, _ENABLED_ACTIONS_BY_T;
1050 function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
1051 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; }
1052 function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
1053 function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
1054 function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
1055 var PromptHistoryActionContext = (0, _react.createContext)({});
1056 exports.PromptHistoryActionContext = PromptHistoryActionContext;
1057 var initialActionValue = {
1058 type: '',
1059 id: '',
1060 data: null
1061 };
1062 var ACTION_TYPES = Object.freeze({
1063 REUSE: 'reuse',
1064 EDIT: 'edit',
1065 RESTORE: 'restore',
1066 REMOVE: 'remove'
1067 });
1068 exports.ACTION_TYPES = ACTION_TYPES;
1069 var ENABLED_ACTIONS_BY_TYPE = (_ENABLED_ACTIONS_BY_T = {}, (0, _defineProperty2.default)(_ENABLED_ACTIONS_BY_T, _historyTypes.HISTORY_TYPES.TEXT, (_HISTORY_TYPES$TEXT = {}, (0, _defineProperty2.default)(_HISTORY_TYPES$TEXT, ACTION_TYPES.REUSE, true), (0, _defineProperty2.default)(_HISTORY_TYPES$TEXT, ACTION_TYPES.EDIT, true), (0, _defineProperty2.default)(_HISTORY_TYPES$TEXT, ACTION_TYPES.REMOVE, true), _HISTORY_TYPES$TEXT)), (0, _defineProperty2.default)(_ENABLED_ACTIONS_BY_T, _historyTypes.HISTORY_TYPES.CODE, (_HISTORY_TYPES$CODE = {}, (0, _defineProperty2.default)(_HISTORY_TYPES$CODE, ACTION_TYPES.REUSE, true), (0, _defineProperty2.default)(_HISTORY_TYPES$CODE, ACTION_TYPES.REMOVE, true), _HISTORY_TYPES$CODE)), (0, _defineProperty2.default)(_ENABLED_ACTIONS_BY_T, _historyTypes.HISTORY_TYPES.IMAGE, (_HISTORY_TYPES$IMAGE = {}, (0, _defineProperty2.default)(_HISTORY_TYPES$IMAGE, ACTION_TYPES.RESTORE, true), (0, _defineProperty2.default)(_HISTORY_TYPES$IMAGE, ACTION_TYPES.REMOVE, true), _HISTORY_TYPES$IMAGE)), _ENABLED_ACTIONS_BY_T);
1070 var PromptHistoryActionProvider = function PromptHistoryActionProvider(_ref) {
1071 var children = _ref.children;
1072 var _useState = (0, _react.useState)(initialActionValue),
1073 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
1074 state = _useState2[0],
1075 dispatch = _useState2[1];
1076 return /*#__PURE__*/_react.default.createElement(PromptHistoryActionContext.Provider, {
1077 value: {
1078 state: state,
1079 dispatch: dispatch
1080 }
1081 }, children);
1082 };
1083 exports.PromptHistoryActionProvider = PromptHistoryActionProvider;
1084 PromptHistoryActionProvider.propTypes = {
1085 children: _propTypes.default.node
1086 };
1087 var usePromptHistoryAction = function usePromptHistoryAction() {
1088 var _useContext = (0, _react.useContext)(PromptHistoryActionContext),
1089 state = _useContext.state,
1090 dispatch = _useContext.dispatch;
1091 var _usePromptHistoryCont = (0, _promptHistoryContext.usePromptHistoryContext)(),
1092 historyType = _usePromptHistoryCont.historyType,
1093 onClose = _usePromptHistoryCont.onClose;
1094 var closeModalAfterAction = function closeModalAfterAction(action) {
1095 return function () {
1096 action.apply(void 0, arguments);
1097 onClose();
1098 };
1099 };
1100 var getAllowedActions = function getAllowedActions() {
1101 return ENABLED_ACTIONS_BY_TYPE[historyType] || {};
1102 };
1103 var onPromptReuse = function onPromptReuse(id, data) {
1104 return dispatch({
1105 type: ACTION_TYPES.REUSE,
1106 id: id,
1107 data: data
1108 });
1109 };
1110 var onResultEdit = function onResultEdit(id, data) {
1111 return dispatch({
1112 type: ACTION_TYPES.EDIT,
1113 id: id,
1114 data: data
1115 });
1116 };
1117 var onImagesRestore = function onImagesRestore(id, data) {
1118 return dispatch({
1119 type: ACTION_TYPES.RESTORE,
1120 id: id,
1121 data: data
1122 });
1123 };
1124 return {
1125 promptHistoryAction: state,
1126 onPromptReuse: closeModalAfterAction(onPromptReuse),
1127 onResultEdit: closeModalAfterAction(onResultEdit),
1128 onImagesRestore: closeModalAfterAction(onImagesRestore),
1129 getAllowedActions: getAllowedActions
1130 };
1131 };
1132
1133 /**
1134 *
1135 * @param {{type: string, handler: Function}[]} actions
1136 */
1137 exports.usePromptHistoryAction = usePromptHistoryAction;
1138 var useSubscribeOnPromptHistoryAction = function useSubscribeOnPromptHistoryAction(actions) {
1139 var _useContext2 = (0, _react.useContext)(PromptHistoryActionContext),
1140 state = _useContext2.state;
1141 (0, _react.useEffect)(function () {
1142 if (!state.type) {
1143 return;
1144 }
1145 var _iterator = _createForOfIteratorHelper(actions),
1146 _step;
1147 try {
1148 for (_iterator.s(); !(_step = _iterator.n()).done;) {
1149 var action = _step.value;
1150 if (state.type === (action === null || action === void 0 ? void 0 : action.type)) {
1151 action === null || action === void 0 ? void 0 : action.handler(state);
1152 }
1153 }
1154 } catch (err) {
1155 _iterator.e(err);
1156 } finally {
1157 _iterator.f();
1158 }
1159 }, [state]);
1160 };
1161 exports.useSubscribeOnPromptHistoryAction = useSubscribeOnPromptHistoryAction;
1162
1163 /***/ }),
1164
1165 /***/ "../modules/ai/assets/js/editor/components/prompt-history/context/prompt-history-context.js":
1166 /*!**************************************************************************************************!*\
1167 !*** ../modules/ai/assets/js/editor/components/prompt-history/context/prompt-history-context.js ***!
1168 \**************************************************************************************************/
1169 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1170
1171 "use strict";
1172
1173
1174 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1175 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
1176 Object.defineProperty(exports, "__esModule", ({
1177 value: true
1178 }));
1179 exports.usePromptHistoryContext = exports.PromptHistoryProvider = exports.PromptHistoryContext = void 0;
1180 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
1181 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
1182 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1183 var _historyTypes = __webpack_require__(/*! ../history-types */ "../modules/ai/assets/js/editor/components/prompt-history/history-types.js");
1184 var _helpers = __webpack_require__(/*! ../../../helpers */ "../modules/ai/assets/js/editor/helpers/index.js");
1185 function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
1186 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; }
1187 var PromptHistoryContext = (0, _react.createContext)({});
1188 exports.PromptHistoryContext = PromptHistoryContext;
1189 var DIALOG_CONTAINER_SELECTOR = '.e-ai-dialog-content';
1190 var getContainer = function getContainer() {
1191 return document.querySelector(DIALOG_CONTAINER_SELECTOR);
1192 };
1193 var getContainerHeight = function getContainerHeight() {
1194 var contentContainer = document.querySelector(DIALOG_CONTAINER_SELECTOR);
1195 return contentContainer === null || contentContainer === void 0 ? void 0 : contentContainer.clientHeight;
1196 };
1197 var getContentHeight = function getContentHeight() {
1198 var contentContainer = document.querySelector(DIALOG_CONTAINER_SELECTOR);
1199 return contentContainer.children[0].clientHeight + 50;
1200 };
1201 var setContentHeight = function setContentHeight(height) {
1202 var contentContainer = document.querySelector(DIALOG_CONTAINER_SELECTOR);
1203 if ('auto' === height) {
1204 contentContainer.style.height = 'auto';
1205 return;
1206 }
1207 contentContainer.style.height = "".concat(height, "px");
1208 };
1209 var PromptHistoryProvider = function PromptHistoryProvider(_ref) {
1210 var historyType = _ref.historyType,
1211 children = _ref.children;
1212 var showHistoryState = (0, _react.useState)(false);
1213 return /*#__PURE__*/_react.default.createElement(PromptHistoryContext.Provider, {
1214 value: {
1215 historyType: historyType,
1216 showHistoryState: showHistoryState
1217 }
1218 }, children);
1219 };
1220 exports.PromptHistoryProvider = PromptHistoryProvider;
1221 PromptHistoryProvider.propTypes = {
1222 historyType: _propTypes.default.oneOf(Object.values(_historyTypes.HISTORY_TYPES)).isRequired,
1223 children: _propTypes.default.node
1224 };
1225 var usePromptHistoryContext = function usePromptHistoryContext() {
1226 var _useContext = (0, _react.useContext)(PromptHistoryContext),
1227 historyType = _useContext.historyType,
1228 showHistoryState = _useContext.showHistoryState;
1229 var _showHistoryState = (0, _slicedToArray2.default)(showHistoryState, 2),
1230 showHistory = _showHistoryState[0],
1231 setShowHistory = _showHistoryState[1];
1232 var _useState = (0, _react.useState)(false),
1233 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
1234 showModalWrapper = _useState2[0],
1235 setShowModalWrapper = _useState2[1];
1236 var _useState3 = (0, _react.useState)(false),
1237 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
1238 showPromptHistory = _useState4[0],
1239 setShowPromptHistory = _useState4[1];
1240 var handleFullScreenHistoryState = function handleFullScreenHistoryState() {
1241 if (showHistory) {
1242 setShowModalWrapper(true);
1243 setTimeout(function () {
1244 return setShowPromptHistory(true);
1245 }, 200);
1246 return;
1247 }
1248 setShowPromptHistory(false);
1249 setTimeout(function () {
1250 return setShowModalWrapper(false);
1251 }, 500);
1252 };
1253 var handleDefaultHistoryState = function handleDefaultHistoryState() {
1254 if (showHistory) {
1255 var currentHeight = getContentHeight();
1256
1257 // Set initial state
1258 setContentHeight(currentHeight);
1259 setTimeout(function () {
1260 if (currentHeight < (0, _helpers.vh)(61)) {
1261 setContentHeight((0, _helpers.vh)(61));
1262 setTimeout(function () {
1263 return setShowModalWrapper(true);
1264 }, 200);
1265 setTimeout(function () {
1266 return setShowPromptHistory(true);
1267 }, 300);
1268 return;
1269 }
1270 setShowModalWrapper(true);
1271 setShowPromptHistory(true);
1272 }, 20);
1273 return;
1274 }
1275 setShowPromptHistory(false);
1276 setTimeout(function () {
1277 setShowModalWrapper(false);
1278 setContentHeight(getContentHeight());
1279 setTimeout(function () {
1280 return setContentHeight('auto');
1281 }, 300);
1282 }, 500);
1283 };
1284 (0, _react.useEffect)(function () {
1285 if (showHistory === showModalWrapper && showHistory === showPromptHistory) {
1286 return;
1287 }
1288 if (historyType === _historyTypes.HISTORY_TYPES.IMAGE) {
1289 return handleFullScreenHistoryState();
1290 }
1291 handleDefaultHistoryState();
1292 }, [showHistory]);
1293 var onOpen = function onOpen() {
1294 setShowHistory(true);
1295 };
1296 var onClose = function onClose() {
1297 setShowHistory(false);
1298 };
1299 return {
1300 historyType: historyType,
1301 isOpen: showPromptHistory,
1302 isModalOpen: showModalWrapper,
1303 showHistory: showHistory,
1304 onOpen: onOpen,
1305 onClose: onClose,
1306 getContainer: getContainer,
1307 getContainerHeight: getContainerHeight
1308 };
1309 };
1310 exports.usePromptHistoryContext = usePromptHistoryContext;
1311
1312 /***/ }),
1313
1314 /***/ "../modules/ai/assets/js/editor/components/prompt-history/helpers/history-period-helpers.js":
1315 /*!**************************************************************************************************!*\
1316 !*** ../modules/ai/assets/js/editor/components/prompt-history/helpers/history-period-helpers.js ***!
1317 \**************************************************************************************************/
1318 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1319
1320 "use strict";
1321
1322
1323 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1324 Object.defineProperty(exports, "__esModule", ({
1325 value: true
1326 }));
1327 exports.renderPeriods = exports.groupPromptHistoryData = exports.LAST_7_DAYS_KEY = exports.LAST_30_DAYS_KEY = void 0;
1328 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1329 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
1330 var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "../node_modules/@babel/runtime/helpers/toConsumableArray.js"));
1331 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1332 var _dateHelpers = __webpack_require__(/*! ../../../helpers/date-helpers */ "../modules/ai/assets/js/editor/helpers/date-helpers.js");
1333 var _modalPeriod = _interopRequireDefault(__webpack_require__(/*! ../parts/modal-period */ "../modules/ai/assets/js/editor/components/prompt-history/parts/modal-period.js"));
1334 function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
1335 function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
1336 function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
1337 var DATE_KEY = 'date';
1338 var LAST_7_DAYS_KEY = '7-days';
1339 exports.LAST_7_DAYS_KEY = LAST_7_DAYS_KEY;
1340 var LAST_30_DAYS_KEY = '30-days';
1341 exports.LAST_30_DAYS_KEY = LAST_30_DAYS_KEY;
1342 var MONTH_FORMAT = (0, _i18n.__)('F', 'elementor');
1343
1344 /**
1345 * Sorts items in ascending order by date.
1346 *
1347 * @param {Array} historyData
1348 * @return {Array}
1349 */
1350 var sortPromptHistoryData = function sortPromptHistoryData(historyData) {
1351 var clone = (0, _toConsumableArray2.default)(historyData);
1352 return clone.sort(function (a, b) {
1353 return new Date(b[DATE_KEY]) - new Date(a[DATE_KEY]);
1354 });
1355 };
1356
1357 /**
1358 * Groups prompt history data by time periods.
1359 *
1360 * @param {Array} historyData
1361 * @return {Object.<string, {label: string, items: any[]}>}
1362 */
1363 var groupPromptHistoryData = function groupPromptHistoryData(historyData) {
1364 var _result;
1365 var data = sortPromptHistoryData(historyData);
1366 var currentDate = new Date();
1367 var result = (_result = {}, (0, _defineProperty2.default)(_result, LAST_7_DAYS_KEY, {
1368 label: (0, _i18n.__)('Last 7 days', 'elementor'),
1369 items: []
1370 }), (0, _defineProperty2.default)(_result, LAST_30_DAYS_KEY, {
1371 label: (0, _i18n.__)('Last 30 days', 'elementor'),
1372 items: []
1373 }), _result);
1374 var _iterator = _createForOfIteratorHelper(data),
1375 _step;
1376 try {
1377 for (_iterator.s(); !(_step = _iterator.n()).done;) {
1378 var item = _step.value;
1379 var date = new Date(item[DATE_KEY]);
1380 var diff = (0, _dateHelpers.daysDiff)(date, currentDate);
1381 if (diff <= 7) {
1382 result[LAST_7_DAYS_KEY].items.push(item);
1383 continue;
1384 }
1385 if (diff <= 30) {
1386 result[LAST_30_DAYS_KEY].items.push(item);
1387 continue;
1388 }
1389 var month = date.getMonth();
1390 if (!result[month]) {
1391 result[month] = {
1392 label: (0, _dateHelpers.translateDate)(MONTH_FORMAT, date),
1393 items: []
1394 };
1395 }
1396 result[month].items.push(item);
1397 }
1398 } catch (err) {
1399 _iterator.e(err);
1400 } finally {
1401 _iterator.f();
1402 }
1403 return result;
1404 };
1405 exports.groupPromptHistoryData = groupPromptHistoryData;
1406 var renderPeriods = function renderPeriods(_ref) {
1407 var _groupData$LAST_7_DAY, _groupData$LAST_7_DAY2, _groupData$LAST_30_DA, _groupData$LAST_30_DA2;
1408 var items = _ref.items,
1409 onDelete = _ref.onDelete;
1410 var groupData = groupPromptHistoryData(items);
1411 var periods = [];
1412 if ((_groupData$LAST_7_DAY = groupData[LAST_7_DAYS_KEY]) !== null && _groupData$LAST_7_DAY !== void 0 && (_groupData$LAST_7_DAY2 = _groupData$LAST_7_DAY.items) !== null && _groupData$LAST_7_DAY2 !== void 0 && _groupData$LAST_7_DAY2.length) {
1413 periods.push( /*#__PURE__*/_react.default.createElement(_modalPeriod.default, {
1414 periodTitle: groupData[LAST_7_DAYS_KEY].label,
1415 onHistoryItemDelete: onDelete,
1416 historyItems: groupData[LAST_7_DAYS_KEY].items
1417 }));
1418 }
1419 if ((_groupData$LAST_30_DA = groupData[LAST_30_DAYS_KEY]) !== null && _groupData$LAST_30_DA !== void 0 && (_groupData$LAST_30_DA2 = _groupData$LAST_30_DA.items) !== null && _groupData$LAST_30_DA2 !== void 0 && _groupData$LAST_30_DA2.length) {
1420 periods.push( /*#__PURE__*/_react.default.createElement(_modalPeriod.default, {
1421 periodTitle: groupData[LAST_30_DAYS_KEY].label,
1422 onHistoryItemDelete: onDelete,
1423 historyItems: groupData[LAST_30_DAYS_KEY].items
1424 }));
1425 }
1426 for (var i = _dateHelpers.MONTH_DECEMBER_INDEX; i >= _dateHelpers.MONTH_JANUARY_INDEX; i--) {
1427 if (groupData[i]) {
1428 periods.push( /*#__PURE__*/_react.default.createElement(_modalPeriod.default, {
1429 periodTitle: groupData[i].label,
1430 onHistoryItemDelete: onDelete,
1431 historyItems: groupData[i].items
1432 }));
1433 }
1434 }
1435 return periods;
1436 };
1437 exports.renderPeriods = renderPeriods;
1438
1439 /***/ }),
1440
1441 /***/ "../modules/ai/assets/js/editor/components/prompt-history/history-button.js":
1442 /*!**********************************************************************************!*\
1443 !*** ../modules/ai/assets/js/editor/components/prompt-history/history-button.js ***!
1444 \**********************************************************************************/
1445 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1446
1447 "use strict";
1448
1449
1450 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1451 Object.defineProperty(exports, "__esModule", ({
1452 value: true
1453 }));
1454 exports["default"] = void 0;
1455 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1456 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
1457 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
1458 var _taggedTemplateLiteral2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/taggedTemplateLiteral */ "../node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js"));
1459 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1460 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1461 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1462 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
1463 var _excluded = ["isActive"];
1464 var _templateObject;
1465 var StyledHistoryButton = (0, _ui.styled)(_ui.IconButton)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n margin-right: ", ";\n\n ", "\n"])), function (_ref) {
1466 var theme = _ref.theme;
1467 return theme.spacing(2);
1468 }, function (_ref2) {
1469 var isActive = _ref2.isActive,
1470 theme = _ref2.theme;
1471 return isActive && "\n background-color: ".concat(theme.palette.action.hover, ";\n color: ").concat(theme.palette.text.tertiary, ";\n ");
1472 });
1473 var PromptHistoryButton = function PromptHistoryButton(_ref3) {
1474 var isActive = _ref3.isActive,
1475 props = (0, _objectWithoutProperties2.default)(_ref3, _excluded);
1476 return /*#__PURE__*/_react.default.createElement(StyledHistoryButton, (0, _extends2.default)({
1477 "aria-label": (0, _i18n.__)('Show prompt history', 'elementor'),
1478 type: "button",
1479 size: "small",
1480 isActive: isActive
1481 }, props), /*#__PURE__*/_react.default.createElement(_icons.HistoryIcon, null));
1482 };
1483 PromptHistoryButton.propTypes = {
1484 isActive: _propTypes.default.bool.isRequired
1485 };
1486 var _default = PromptHistoryButton;
1487 exports["default"] = _default;
1488
1489 /***/ }),
1490
1491 /***/ "../modules/ai/assets/js/editor/components/prompt-history/history-modal.js":
1492 /*!*********************************************************************************!*\
1493 !*** ../modules/ai/assets/js/editor/components/prompt-history/history-modal.js ***!
1494 \*********************************************************************************/
1495 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1496
1497 "use strict";
1498
1499
1500 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1501 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
1502 Object.defineProperty(exports, "__esModule", ({
1503 value: true
1504 }));
1505 exports["default"] = void 0;
1506 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
1507 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
1508 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
1509 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1510 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1511 var _usePromptHistory2 = _interopRequireDefault(__webpack_require__(/*! ../../hooks/use-prompt-history */ "../modules/ai/assets/js/editor/hooks/use-prompt-history.js"));
1512 var _modalHeader = _interopRequireDefault(__webpack_require__(/*! ./parts/modal-header */ "../modules/ai/assets/js/editor/components/prompt-history/parts/modal-header.js"));
1513 var _useDeletePromptHistoryItem = _interopRequireDefault(__webpack_require__(/*! ../../hooks/use-delete-prompt-history-item */ "../modules/ai/assets/js/editor/hooks/use-delete-prompt-history-item.js"));
1514 var _promptErrorMessage = _interopRequireDefault(__webpack_require__(/*! ../prompt-error-message */ "../modules/ai/assets/js/editor/components/prompt-error-message.js"));
1515 var _historyPeriodHelpers = __webpack_require__(/*! ./helpers/history-period-helpers */ "../modules/ai/assets/js/editor/components/prompt-history/helpers/history-period-helpers.js");
1516 var _modalEmpty = _interopRequireDefault(__webpack_require__(/*! ./parts/modal-empty */ "../modules/ai/assets/js/editor/components/prompt-history/parts/modal-empty.js"));
1517 var _reactInfiniteScroller = _interopRequireDefault(__webpack_require__(/*! react-infinite-scroller */ "../node_modules/react-infinite-scroller/index.js"));
1518 var _modalUpgrade = _interopRequireDefault(__webpack_require__(/*! ./parts/modal-upgrade */ "../modules/ai/assets/js/editor/components/prompt-history/parts/modal-upgrade.js"));
1519 var _promptHistoryContext = __webpack_require__(/*! ./context/prompt-history-context */ "../modules/ai/assets/js/editor/components/prompt-history/context/prompt-history-context.js");
1520 var _modalContainer = _interopRequireDefault(__webpack_require__(/*! ./parts/modal-container */ "../modules/ai/assets/js/editor/components/prompt-history/parts/modal-container.js"));
1521 function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
1522 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; }
1523 var ITEMS_LIMIT = 10;
1524 var FREE_PLAN_ERRORS = ['invalid_connect_data', 'no_subscription'];
1525 var PromptHistoryModal = function PromptHistoryModal(props) {
1526 var lastRun = (0, _react.useRef)(function () {});
1527 var scrollContainer = (0, _react.useRef)(null);
1528 var _usePromptHistoryCont = (0, _promptHistoryContext.usePromptHistoryContext)(),
1529 historyType = _usePromptHistoryCont.historyType,
1530 onClose = _usePromptHistoryCont.onClose;
1531 var _usePromptHistory = (0, _usePromptHistory2.default)(historyType),
1532 items = _usePromptHistory.items,
1533 meta = _usePromptHistory.meta,
1534 isHistoryFetchingInProgress = _usePromptHistory.isLoading,
1535 historyFetchingError = _usePromptHistory.error,
1536 fetchData = _usePromptHistory.fetchData,
1537 deleteItemFromState = _usePromptHistory.deleteItemById;
1538 var _useDeletePromptHisto = (0, _useDeletePromptHistoryItem.default)(),
1539 isDeletingInProgress = _useDeletePromptHisto.isLoading,
1540 historyDeletingError = _useDeletePromptHisto.error,
1541 deleteItem = _useDeletePromptHisto.deleteItem;
1542 var error = historyFetchingError || historyDeletingError;
1543 var isLoading = isHistoryFetchingInProgress || isDeletingInProgress;
1544 var isLastPage = meta && (meta === null || meta === void 0 ? void 0 : meta.currentPage) === (meta === null || meta === void 0 ? void 0 : meta.totalPages);
1545 var showUpgrade = (items === null || items === void 0 ? void 0 : items.length) > 0 && (meta === null || meta === void 0 ? void 0 : meta.allowedDays) < 90 && isLastPage;
1546 (0, _react.useEffect)(function () {
1547 lastRun.current = /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
1548 return _regenerator.default.wrap(function _callee$(_context) {
1549 while (1) switch (_context.prev = _context.next) {
1550 case 0:
1551 return _context.abrupt("return", fetchData({
1552 page: 1,
1553 limit: ITEMS_LIMIT
1554 }));
1555 case 1:
1556 case "end":
1557 return _context.stop();
1558 }
1559 }, _callee);
1560 }));
1561 lastRun.current();
1562 }, []);
1563 var loadNext = function loadNext() {
1564 if (isLoading || isLastPage) {
1565 return;
1566 }
1567 lastRun.current = /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
1568 return _regenerator.default.wrap(function _callee2$(_context2) {
1569 while (1) switch (_context2.prev = _context2.next) {
1570 case 0:
1571 return _context2.abrupt("return", fetchData({
1572 page: meta.currentPage + 1,
1573 limit: ITEMS_LIMIT
1574 }));
1575 case 1:
1576 case "end":
1577 return _context2.stop();
1578 }
1579 }, _callee2);
1580 }));
1581 lastRun.current();
1582 };
1583 var onHistoryItemDelete = /*#__PURE__*/function () {
1584 var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4(id) {
1585 return _regenerator.default.wrap(function _callee4$(_context4) {
1586 while (1) switch (_context4.prev = _context4.next) {
1587 case 0:
1588 lastRun.current = /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
1589 return _regenerator.default.wrap(function _callee3$(_context3) {
1590 while (1) switch (_context3.prev = _context3.next) {
1591 case 0:
1592 _context3.next = 2;
1593 return deleteItem(id);
1594 case 2:
1595 return _context3.abrupt("return", _context3.sent);
1596 case 3:
1597 case "end":
1598 return _context3.stop();
1599 }
1600 }, _callee3);
1601 }));
1602 _context4.next = 3;
1603 return lastRun.current();
1604 case 3:
1605 if (!historyDeletingError) {
1606 deleteItemFromState(id);
1607 }
1608 case 4:
1609 case "end":
1610 return _context4.stop();
1611 }
1612 }, _callee4);
1613 }));
1614 return function onHistoryItemDelete(_x) {
1615 return _ref3.apply(this, arguments);
1616 };
1617 }();
1618 return /*#__PURE__*/_react.default.createElement(_modalContainer.default, props, /*#__PURE__*/_react.default.createElement(_modalHeader.default, {
1619 onClose: onClose
1620 }), error && !FREE_PLAN_ERRORS.includes(error) && /*#__PURE__*/_react.default.createElement(_promptErrorMessage.default, {
1621 error: error,
1622 onRetry: lastRun.current,
1623 sx: {
1624 position: 'absolute',
1625 zIndex: 1,
1626 marginTop: isLoading ? 0.5 : 'revert'
1627 }
1628 }), isLoading && /*#__PURE__*/_react.default.createElement(_ui.LinearProgress, {
1629 role: "progressbar",
1630 "aria-label": (0, _i18n.__)('Loading', 'elementor'),
1631 color: "secondary"
1632 }), /*#__PURE__*/_react.default.createElement(_ui.Box, {
1633 sx: {
1634 overflowY: 'scroll',
1635 height: '85%'
1636 },
1637 ref: scrollContainer
1638 }, error && FREE_PLAN_ERRORS.includes(error) && /*#__PURE__*/_react.default.createElement(_modalUpgrade.default, {
1639 variant: "full",
1640 historyType: historyType
1641 }), !error && 0 === (items === null || items === void 0 ? void 0 : items.length) && /*#__PURE__*/_react.default.createElement(_modalEmpty.default, {
1642 historyType: historyType
1643 }), (items === null || items === void 0 ? void 0 : items.length) > 0 && /*#__PURE__*/_react.default.createElement(_reactInfiniteScroller.default, {
1644 loadMore: loadNext,
1645 getScrollParent: function getScrollParent() {
1646 return scrollContainer.current;
1647 },
1648 useWindow: false,
1649 isReverse: false,
1650 threshold: 30,
1651 initialLoad: false,
1652 hasMore: !isLastPage
1653 }, (0, _historyPeriodHelpers.renderPeriods)({
1654 items: items,
1655 onDelete: onHistoryItemDelete
1656 })), showUpgrade && /*#__PURE__*/_react.default.createElement(_modalUpgrade.default, {
1657 variant: "small",
1658 historyType: historyType
1659 })));
1660 };
1661 var _default = PromptHistoryModal;
1662 exports["default"] = _default;
1663
1664 /***/ }),
1665
1666 /***/ "../modules/ai/assets/js/editor/components/prompt-history/history-types.js":
1667 /*!*********************************************************************************!*\
1668 !*** ../modules/ai/assets/js/editor/components/prompt-history/history-types.js ***!
1669 \*********************************************************************************/
1670 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1671
1672 "use strict";
1673
1674
1675 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1676 Object.defineProperty(exports, "__esModule", ({
1677 value: true
1678 }));
1679 exports.getTranslatedPromptHistoryType = exports.TRANSLATED_HISTORY_TYPES_FALLBACK = exports.TRANSLATED_HISTORY_TYPES = exports.HISTORY_TYPES = void 0;
1680 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
1681 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1682 var _Object$freeze;
1683 var HISTORY_TYPES = Object.freeze({
1684 ALL: 'all',
1685 TEXT: 'text',
1686 CODE: 'code',
1687 IMAGE: 'images',
1688 BLOCK: 'blocks'
1689 });
1690 exports.HISTORY_TYPES = HISTORY_TYPES;
1691 var TRANSLATED_HISTORY_TYPES_FALLBACK = (0, _i18n.__)('things', 'elementor');
1692 exports.TRANSLATED_HISTORY_TYPES_FALLBACK = TRANSLATED_HISTORY_TYPES_FALLBACK;
1693 var TRANSLATED_HISTORY_TYPES = Object.freeze((_Object$freeze = {}, (0, _defineProperty2.default)(_Object$freeze, HISTORY_TYPES.TEXT, (0, _i18n.__)('texts', 'elementor')), (0, _defineProperty2.default)(_Object$freeze, HISTORY_TYPES.CODE, (0, _i18n.__)('code', 'elementor')), (0, _defineProperty2.default)(_Object$freeze, HISTORY_TYPES.IMAGE, (0, _i18n.__)('images', 'elementor')), (0, _defineProperty2.default)(_Object$freeze, HISTORY_TYPES.BLOCK, (0, _i18n.__)('blocks', 'elementor')), _Object$freeze));
1694 exports.TRANSLATED_HISTORY_TYPES = TRANSLATED_HISTORY_TYPES;
1695 var getTranslatedPromptHistoryType = function getTranslatedPromptHistoryType(historyType) {
1696 if (TRANSLATED_HISTORY_TYPES[historyType]) {
1697 return TRANSLATED_HISTORY_TYPES[historyType];
1698 }
1699 return TRANSLATED_HISTORY_TYPES_FALLBACK;
1700 };
1701 exports.getTranslatedPromptHistoryType = getTranslatedPromptHistoryType;
1702
1703 /***/ }),
1704
1705 /***/ "../modules/ai/assets/js/editor/components/prompt-history/index.js":
1706 /*!*************************************************************************!*\
1707 !*** ../modules/ai/assets/js/editor/components/prompt-history/index.js ***!
1708 \*************************************************************************/
1709 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1710
1711 "use strict";
1712
1713
1714 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1715 Object.defineProperty(exports, "__esModule", ({
1716 value: true
1717 }));
1718 exports["default"] = void 0;
1719 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1720 var _historyButton = _interopRequireDefault(__webpack_require__(/*! ./history-button */ "../modules/ai/assets/js/editor/components/prompt-history/history-button.js"));
1721 var _historyModal = _interopRequireDefault(__webpack_require__(/*! ./history-modal */ "../modules/ai/assets/js/editor/components/prompt-history/history-modal.js"));
1722 var _promptHistoryContext = __webpack_require__(/*! ./context/prompt-history-context */ "../modules/ai/assets/js/editor/components/prompt-history/context/prompt-history-context.js");
1723 var PROMPT_HISTORY_MODAL_ID = 'prompt-history-modal';
1724 var PromptHistory = function PromptHistory() {
1725 var _usePromptHistoryCont = (0, _promptHistoryContext.usePromptHistoryContext)(),
1726 isOpen = _usePromptHistoryCont.isOpen,
1727 isModalOpen = _usePromptHistoryCont.isModalOpen,
1728 onOpen = _usePromptHistoryCont.onOpen,
1729 onClose = _usePromptHistoryCont.onClose;
1730 return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_historyButton.default, {
1731 isActive: isOpen,
1732 onClick: function onClick() {
1733 return isOpen ? onClose() : onOpen();
1734 },
1735 "aria-haspopup": "dialog",
1736 "aria-controls": PROMPT_HISTORY_MODAL_ID
1737 }), isModalOpen && /*#__PURE__*/_react.default.createElement(_historyModal.default, {
1738 id: PROMPT_HISTORY_MODAL_ID
1739 }));
1740 };
1741 var _default = PromptHistory;
1742 exports["default"] = _default;
1743
1744 /***/ }),
1745
1746 /***/ "../modules/ai/assets/js/editor/components/prompt-history/parts/action-icon.js":
1747 /*!*************************************************************************************!*\
1748 !*** ../modules/ai/assets/js/editor/components/prompt-history/parts/action-icon.js ***!
1749 \*************************************************************************************/
1750 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1751
1752 "use strict";
1753
1754
1755 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1756 Object.defineProperty(exports, "__esModule", ({
1757 value: true
1758 }));
1759 exports["default"] = void 0;
1760 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1761 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1762 var _textIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/text-icon */ "../modules/ai/assets/js/editor/icons/text-icon.js"));
1763 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
1764 var _codeIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/code-icon */ "../modules/ai/assets/js/editor/icons/code-icon.js"));
1765 var FALLBACK_ICON = /*#__PURE__*/_react.default.createElement(_icons.AIIcon, {
1766 "data-testid": "e-ph-fi"
1767 });
1768 var ICONS_BY_ACTIONS = Object.freeze({
1769 'enhance-image-prompt': /*#__PURE__*/_react.default.createElement(_textIcon.default, null),
1770 'get-text': /*#__PURE__*/_react.default.createElement(_textIcon.default, null),
1771 'edit-text': /*#__PURE__*/_react.default.createElement(_textIcon.default, null),
1772 'custom-css': /*#__PURE__*/_react.default.createElement(_codeIcon.default, null),
1773 'custom-code': /*#__PURE__*/_react.default.createElement(_codeIcon.default, null)
1774 });
1775 var PromptHistoryActionIcon = function PromptHistoryActionIcon(_ref) {
1776 var action = _ref.action;
1777 if (ICONS_BY_ACTIONS[action]) {
1778 return ICONS_BY_ACTIONS[action];
1779 }
1780 return FALLBACK_ICON;
1781 };
1782 PromptHistoryActionIcon.propTypes = {
1783 action: _propTypes.default.string.isRequired
1784 };
1785 var _default = PromptHistoryActionIcon;
1786 exports["default"] = _default;
1787
1788 /***/ }),
1789
1790 /***/ "../modules/ai/assets/js/editor/components/prompt-history/parts/modal-container.js":
1791 /*!*****************************************************************************************!*\
1792 !*** ../modules/ai/assets/js/editor/components/prompt-history/parts/modal-container.js ***!
1793 \*****************************************************************************************/
1794 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1795
1796 "use strict";
1797
1798
1799 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1800 Object.defineProperty(exports, "__esModule", ({
1801 value: true
1802 }));
1803 exports["default"] = void 0;
1804 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1805 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
1806 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
1807 var _taggedTemplateLiteral2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/taggedTemplateLiteral */ "../node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js"));
1808 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1809 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1810 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1811 var _promptHistoryContext = __webpack_require__(/*! ../context/prompt-history-context */ "../modules/ai/assets/js/editor/components/prompt-history/context/prompt-history-context.js");
1812 var _excluded = ["children"];
1813 var _templateObject;
1814 var StyledContent = (0, _ui.styled)(_ui.Box)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n width: 360px;\n position: relative;\n margin-top: ", ";\n margin-right: ", ";\n background-color: ", ";\n border-radius: ", ";\n height: ", ";\n\n @media screen and (max-width: 456px) {\n width: 320px;\n }\n\n @media screen and (max-width: 420px) {\n width: 230px;\n }\n"])), function (_ref) {
1815 var theme = _ref.theme;
1816 return theme.spacing(2);
1817 }, function (_ref2) {
1818 var theme = _ref2.theme;
1819 return theme.spacing(2);
1820 }, function (_ref3) {
1821 var theme = _ref3.theme;
1822 return theme.palette.background.paper;
1823 }, function (_ref4) {
1824 var theme = _ref4.theme;
1825 return "".concat(theme.shape.borderRadius, "px");
1826 }, function (_ref5) {
1827 var height = _ref5.height;
1828 return "calc( ".concat(height, "px - 32px )");
1829 });
1830 var ModalContainer = function ModalContainer(_ref6) {
1831 var children = _ref6.children,
1832 props = (0, _objectWithoutProperties2.default)(_ref6, _excluded);
1833 var _usePromptHistoryCont = (0, _promptHistoryContext.usePromptHistoryContext)(),
1834 isOpen = _usePromptHistoryCont.isOpen,
1835 isModalOpen = _usePromptHistoryCont.isModalOpen,
1836 onClose = _usePromptHistoryCont.onClose,
1837 getContainerHeight = _usePromptHistoryCont.getContainerHeight,
1838 getContainer = _usePromptHistoryCont.getContainer;
1839 return /*#__PURE__*/_react.default.createElement(_ui.Modal, (0, _extends2.default)({
1840 container: getContainer(),
1841 open: isModalOpen,
1842 hideBackdrop: true,
1843 onClose: onClose,
1844 sx: {
1845 position: 'absolute'
1846 }
1847 }, props), /*#__PURE__*/_react.default.createElement(_ui.Backdrop, {
1848 open: true,
1849 sx: {
1850 position: 'absolute',
1851 justifyContent: 'flex-end',
1852 alignItems: 'flex-start'
1853 },
1854 "aria-hidden": false
1855 }, /*#__PURE__*/_react.default.createElement(_ui.Slide, {
1856 direction: "left",
1857 in: isOpen,
1858 timeout: 500,
1859 easing: "ease-in-out"
1860 }, /*#__PURE__*/_react.default.createElement(StyledContent, {
1861 "aria-label": (0, _i18n.__)('Prompt history modal', 'elementor'),
1862 height: getContainerHeight()
1863 }, children))));
1864 };
1865 ModalContainer.propTypes = {
1866 isOpen: _propTypes.default.bool.isRequired,
1867 isModalOpen: _propTypes.default.bool.isRequired,
1868 onClose: _propTypes.default.func.isRequired,
1869 children: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.node), _propTypes.default.node])
1870 };
1871 var _default = ModalContainer;
1872 exports["default"] = _default;
1873
1874 /***/ }),
1875
1876 /***/ "../modules/ai/assets/js/editor/components/prompt-history/parts/modal-empty.js":
1877 /*!*************************************************************************************!*\
1878 !*** ../modules/ai/assets/js/editor/components/prompt-history/parts/modal-empty.js ***!
1879 \*************************************************************************************/
1880 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1881
1882 "use strict";
1883 /* provided dependency */ var sprintf = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["sprintf"];
1884
1885
1886 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1887 Object.defineProperty(exports, "__esModule", ({
1888 value: true
1889 }));
1890 exports["default"] = void 0;
1891 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1892 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1893 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1894 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1895 var _historyTypes = __webpack_require__(/*! ../history-types */ "../modules/ai/assets/js/editor/components/prompt-history/history-types.js");
1896 var PromptHistoryEmpty = function PromptHistoryEmpty(_ref) {
1897 var historyType = _ref.historyType;
1898 return /*#__PURE__*/_react.default.createElement(_ui.Stack, {
1899 justifyContent: "center",
1900 sx: {
1901 height: '100%',
1902 textAlign: 'center'
1903 },
1904 "data-testid": "e-ph-empty"
1905 }, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
1906 variant: "h6"
1907 }, (0, _i18n.__)('Prepare to be amazed', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
1908 variant: "body1"
1909 }, sprintf(
1910 // Translators: %s: History type.
1911 (0, _i18n.__)('This is where you\'ll find all the %s you\'ve generated using Elementor AI.', 'elementor'), (0, _historyTypes.getTranslatedPromptHistoryType)(historyType))));
1912 };
1913 PromptHistoryEmpty.propTypes = {
1914 historyType: _propTypes.default.oneOf(Object.values(_historyTypes.HISTORY_TYPES)).isRequired
1915 };
1916 var _default = PromptHistoryEmpty;
1917 exports["default"] = _default;
1918
1919 /***/ }),
1920
1921 /***/ "../modules/ai/assets/js/editor/components/prompt-history/parts/modal-header.js":
1922 /*!**************************************************************************************!*\
1923 !*** ../modules/ai/assets/js/editor/components/prompt-history/parts/modal-header.js ***!
1924 \**************************************************************************************/
1925 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1926
1927 "use strict";
1928
1929
1930 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1931 Object.defineProperty(exports, "__esModule", ({
1932 value: true
1933 }));
1934 exports["default"] = void 0;
1935 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1936 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1937 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1938 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1939 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
1940 var StyledContent = (0, _ui.styled)(_ui.Box)(function (_ref) {
1941 var theme = _ref.theme;
1942 return {
1943 marginTop: 0,
1944 padding: theme.spacing(1.5),
1945 borderBottom: "1px solid ".concat(theme.palette.action.focus),
1946 display: 'flex',
1947 alignItems: 'center',
1948 justifyContent: 'space-between'
1949 };
1950 });
1951 var PromptHistoryModalHeader = function PromptHistoryModalHeader(_ref2) {
1952 var onClose = _ref2.onClose;
1953 return /*#__PURE__*/_react.default.createElement(StyledContent, null, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
1954 fontWeight: "bolder",
1955 variant: "h6",
1956 sx: {
1957 userSelect: 'none'
1958 }
1959 }, (0, _i18n.__)('History', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.IconButton, {
1960 size: "small",
1961 "aria-label": (0, _i18n.__)('Hide prompt history', 'elementor'),
1962 onClick: onClose
1963 }, /*#__PURE__*/_react.default.createElement(_icons.XIcon, {
1964 fontSize: "small"
1965 })));
1966 };
1967 PromptHistoryModalHeader.propTypes = {
1968 onClose: _propTypes.default.func.isRequired
1969 };
1970 var _default = PromptHistoryModalHeader;
1971 exports["default"] = _default;
1972
1973 /***/ }),
1974
1975 /***/ "../modules/ai/assets/js/editor/components/prompt-history/parts/modal-item-action-button.js":
1976 /*!**************************************************************************************************!*\
1977 !*** ../modules/ai/assets/js/editor/components/prompt-history/parts/modal-item-action-button.js ***!
1978 \**************************************************************************************************/
1979 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1980
1981 "use strict";
1982
1983
1984 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1985 Object.defineProperty(exports, "__esModule", ({
1986 value: true
1987 }));
1988 exports["default"] = void 0;
1989 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1990 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
1991 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
1992 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1993 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1994 var _tooltip = _interopRequireDefault(__webpack_require__(/*! ../../tooltip */ "../modules/ai/assets/js/editor/components/tooltip.js"));
1995 var _excluded = ["tooltipTitle"];
1996 var ActionButton = function ActionButton(_ref) {
1997 var tooltipTitle = _ref.tooltipTitle,
1998 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
1999 return /*#__PURE__*/_react.default.createElement(_tooltip.default, {
2000 title: tooltipTitle,
2001 placement: "top"
2002 }, /*#__PURE__*/_react.default.createElement(_ui.IconButton, (0, _extends2.default)({
2003 type: "button",
2004 size: "small",
2005 disableRipple: true,
2006 disableFocusRipple: true,
2007 disableTouchRipple: true
2008 }, props)));
2009 };
2010 ActionButton.propTypes = {
2011 tooltipTitle: _propTypes.default.string.isRequired
2012 };
2013 var _default = ActionButton;
2014 exports["default"] = _default;
2015
2016 /***/ }),
2017
2018 /***/ "../modules/ai/assets/js/editor/components/prompt-history/parts/modal-item-secondary-content.js":
2019 /*!******************************************************************************************************!*\
2020 !*** ../modules/ai/assets/js/editor/components/prompt-history/parts/modal-item-secondary-content.js ***!
2021 \******************************************************************************************************/
2022 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2023
2024 "use strict";
2025
2026
2027 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2028 Object.defineProperty(exports, "__esModule", ({
2029 value: true
2030 }));
2031 exports["default"] = void 0;
2032 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2033 var _taggedTemplateLiteral2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/taggedTemplateLiteral */ "../node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js"));
2034 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2035 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2036 var _templateObject, _templateObject2;
2037 var StyledDateSubtitle = (0, _ui.styled)(_ui.Typography)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n color: ", ";\n"])), function (_ref) {
2038 var theme = _ref.theme;
2039 return theme.palette.secondary.light;
2040 });
2041 var StyledImage = (0, _ui.styled)('img')(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n height: 72px;\n width: 72px;\n object-fit: cover;\n margin-right: ", ";\n"])), function (_ref2) {
2042 var theme = _ref2.theme;
2043 return theme.spacing(0.5);
2044 });
2045 var PromptHistoryItemSecondaryContent = function PromptHistoryItemSecondaryContent(_ref3) {
2046 var date = _ref3.date,
2047 thumbnails = _ref3.thumbnails;
2048 return /*#__PURE__*/_react.default.createElement(_ui.Stack, {
2049 direction: "column",
2050 width: "90%"
2051 }, /*#__PURE__*/_react.default.createElement(StyledDateSubtitle, {
2052 variant: "caption"
2053 }, date), (thumbnails === null || thumbnails === void 0 ? void 0 : thumbnails.length) > 0 && /*#__PURE__*/_react.default.createElement(_ui.Stack, {
2054 flexDirection: "row",
2055 mt: 1
2056 }, thumbnails.map(
2057 /**
2058 * @param {Object} thumb
2059 * @return {React.ReactNode}
2060 */
2061 function (thumb) {
2062 return /*#__PURE__*/_react.default.createElement(StyledImage, {
2063 key: "thumbnail-".concat(thumb.seed),
2064 alt: "",
2065 src: thumb.image_url
2066 });
2067 })));
2068 };
2069 PromptHistoryItemSecondaryContent.propTypes = {
2070 date: _propTypes.default.string.isRequired,
2071 thumbnails: _propTypes.default.array
2072 };
2073 var _default = PromptHistoryItemSecondaryContent;
2074 exports["default"] = _default;
2075
2076 /***/ }),
2077
2078 /***/ "../modules/ai/assets/js/editor/components/prompt-history/parts/modal-item-title.js":
2079 /*!******************************************************************************************!*\
2080 !*** ../modules/ai/assets/js/editor/components/prompt-history/parts/modal-item-title.js ***!
2081 \******************************************************************************************/
2082 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2083
2084 "use strict";
2085
2086
2087 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2088 Object.defineProperty(exports, "__esModule", ({
2089 value: true
2090 }));
2091 exports["default"] = void 0;
2092 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2093 var _taggedTemplateLiteral2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/taggedTemplateLiteral */ "../node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js"));
2094 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2095 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2096 var _tooltip = _interopRequireDefault(__webpack_require__(/*! ../../tooltip */ "../modules/ai/assets/js/editor/components/tooltip.js"));
2097 var _templateObject;
2098 var StyledTitle = (0, _ui.styled)(_ui.Typography)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n margin-bottom: ", ";\n"])), function (_ref) {
2099 var theme = _ref.theme;
2100 return theme.spacing(0.5);
2101 });
2102 var PromptHistoryItemTitle = function PromptHistoryItemTitle(_ref2) {
2103 var prompt = _ref2.prompt;
2104 return /*#__PURE__*/_react.default.createElement(_tooltip.default, {
2105 title: prompt,
2106 arrow: false,
2107 placement: "bottom-start"
2108 }, /*#__PURE__*/_react.default.createElement(StyledTitle, {
2109 variant: "body2",
2110 noWrap: true,
2111 paragraph: true
2112 }, prompt));
2113 };
2114 PromptHistoryItemTitle.propTypes = {
2115 prompt: _propTypes.default.string.isRequired
2116 };
2117 var _default = PromptHistoryItemTitle;
2118 exports["default"] = _default;
2119
2120 /***/ }),
2121
2122 /***/ "../modules/ai/assets/js/editor/components/prompt-history/parts/modal-item.js":
2123 /*!************************************************************************************!*\
2124 !*** ../modules/ai/assets/js/editor/components/prompt-history/parts/modal-item.js ***!
2125 \************************************************************************************/
2126 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2127
2128 "use strict";
2129
2130
2131 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2132 Object.defineProperty(exports, "__esModule", ({
2133 value: true
2134 }));
2135 exports["default"] = void 0;
2136 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2137 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
2138 var _taggedTemplateLiteral2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/taggedTemplateLiteral */ "../node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js"));
2139 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2140 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
2141 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2142 var _editIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/edit-icon */ "../modules/ai/assets/js/editor/icons/edit-icon.js"));
2143 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
2144 var _restoreIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/restore-icon */ "../modules/ai/assets/js/editor/icons/restore-icon.js"));
2145 var _modalItemActionButton = _interopRequireDefault(__webpack_require__(/*! ./modal-item-action-button */ "../modules/ai/assets/js/editor/components/prompt-history/parts/modal-item-action-button.js"));
2146 var _promptHistoryActionContext = __webpack_require__(/*! ../context/prompt-history-action-context */ "../modules/ai/assets/js/editor/components/prompt-history/context/prompt-history-action-context.js");
2147 var _actionIcon = _interopRequireDefault(__webpack_require__(/*! ./action-icon */ "../modules/ai/assets/js/editor/components/prompt-history/parts/action-icon.js"));
2148 var _refreshIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/refresh-icon */ "../modules/ai/assets/js/editor/icons/refresh-icon.js"));
2149 var _modalItemTitle = _interopRequireDefault(__webpack_require__(/*! ./modal-item-title */ "../modules/ai/assets/js/editor/components/prompt-history/parts/modal-item-title.js"));
2150 var _modalItemSecondaryContent = _interopRequireDefault(__webpack_require__(/*! ./modal-item-secondary-content */ "../modules/ai/assets/js/editor/components/prompt-history/parts/modal-item-secondary-content.js"));
2151 var _excluded = ["id", "date", "onHistoryItemDelete"];
2152 var _templateObject, _templateObject2, _templateObject3, _templateObject4;
2153 var StyledListItem = (0, _ui.styled)(_ui.ListItem)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n & .e-prompt-history-item-actions {\n position: absolute;\n top: -9999px;\n }\n\n &:hover,\n &:focus-visible,\n &:focus-within {\n .MuiTypography-body2 {\n font-weight: 700;\n max-width: ", ";\n }\n\n .e-prompt-history-item-actions {\n position: relative;\n top: -3px;\n }\n }\n"])), function (_ref) {
2154 var actionsCount = _ref.actionsCount;
2155 return "calc(100% - ".concat(actionsCount, " * 26px)");
2156 });
2157 var StyledListItemButton = (0, _ui.styled)(_ui.ListItemButton)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n padding: ", ";\n align-items: flex-start;\n cursor: inherit;\n"])), function (_ref2) {
2158 var theme = _ref2.theme;
2159 return theme.spacing(0.5, 2);
2160 });
2161 var StyledListItemIcon = (0, _ui.styled)(_ui.ListItemIcon)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n min-width: auto;\n\n & > .MuiSvgIcon-root {\n margin-right: ", ";\n font-size: 1rem;\n position: relative;\n top: ", ";\n }\n"])), function (_ref3) {
2162 var theme = _ref3.theme;
2163 return theme.spacing(1.5);
2164 }, function (_ref4) {
2165 var theme = _ref4.theme;
2166 return theme.spacing(0.5);
2167 });
2168 var StyledButtonsWrapper = (0, _ui.styled)(_ui.Box)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n & .MuiSvgIcon-root {\n font-size: 1rem;\n }\n"])));
2169 var PromptHistoryItem = function PromptHistoryItem(_ref5) {
2170 var id = _ref5.id,
2171 date = _ref5.date,
2172 onHistoryItemDelete = _ref5.onHistoryItemDelete,
2173 props = (0, _objectWithoutProperties2.default)(_ref5, _excluded);
2174 var _usePromptHistoryActi = (0, _promptHistoryActionContext.usePromptHistoryAction)(),
2175 getAllowedActions = _usePromptHistoryActi.getAllowedActions,
2176 onPromptReuse = _usePromptHistoryActi.onPromptReuse,
2177 onResultEdit = _usePromptHistoryActi.onResultEdit,
2178 onImagesRestore = _usePromptHistoryActi.onImagesRestore;
2179 var action = props.action,
2180 prompt = props.prompt,
2181 text = props.text,
2182 images = props.images,
2183 thumbnails = props.thumbnails,
2184 imageType = props.imageType,
2185 ratio = props.ratio;
2186 var allowedActions = getAllowedActions();
2187 return /*#__PURE__*/_react.default.createElement(StyledListItem, {
2188 tabIndex: "0",
2189 "data-testid": "e-ph-i",
2190 disableGutters: true,
2191 disablePadding: true,
2192 actionsCount: Object.keys(allowedActions).length
2193 }, /*#__PURE__*/_react.default.createElement(StyledListItemButton, {
2194 component: "div",
2195 role: undefined
2196 }, /*#__PURE__*/_react.default.createElement(StyledListItemIcon, null, /*#__PURE__*/_react.default.createElement(_actionIcon.default, {
2197 action: action
2198 })), /*#__PURE__*/_react.default.createElement(_ui.ListItemText, {
2199 disableTypography: true,
2200 primary: /*#__PURE__*/_react.default.createElement(_ui.Stack, {
2201 direction: "row",
2202 justifyContent: "space-between",
2203 alignItems: "center",
2204 height: "16px"
2205 }, /*#__PURE__*/_react.default.createElement(_modalItemTitle.default, {
2206 prompt: prompt
2207 }), /*#__PURE__*/_react.default.createElement(StyledButtonsWrapper, {
2208 className: "e-prompt-history-item-actions"
2209 }, allowedActions[_promptHistoryActionContext.ACTION_TYPES.REMOVE] && /*#__PURE__*/_react.default.createElement(_modalItemActionButton.default, {
2210 onClick: function onClick() {
2211 return onHistoryItemDelete(id);
2212 },
2213 "aria-label": (0, _i18n.__)('Remove item', 'elementor'),
2214 tooltipTitle: (0, _i18n.__)('Remove', 'elementor')
2215 }, /*#__PURE__*/_react.default.createElement(_icons.TrashIcon, null)), allowedActions[_promptHistoryActionContext.ACTION_TYPES.REUSE] && /*#__PURE__*/_react.default.createElement(_modalItemActionButton.default, {
2216 onClick: function onClick() {
2217 return onPromptReuse(id, prompt);
2218 },
2219 "aria-label": (0, _i18n.__)('Reuse prompt', 'elementor'),
2220 tooltipTitle: (0, _i18n.__)('Reuse prompt', 'elementor')
2221 }, /*#__PURE__*/_react.default.createElement(_refreshIcon.default, null)), allowedActions[_promptHistoryActionContext.ACTION_TYPES.RESTORE] && /*#__PURE__*/_react.default.createElement(_modalItemActionButton.default, {
2222 onClick: function onClick() {
2223 return onImagesRestore(id, {
2224 prompt: prompt,
2225 images: images,
2226 imageType: imageType,
2227 ratio: ratio
2228 });
2229 },
2230 "aria-label": (0, _i18n.__)('Restore', 'elementor'),
2231 tooltipTitle: (0, _i18n.__)('Restore', 'elementor')
2232 }, /*#__PURE__*/_react.default.createElement(_restoreIcon.default, null)), allowedActions[_promptHistoryActionContext.ACTION_TYPES.EDIT] && /*#__PURE__*/_react.default.createElement(_modalItemActionButton.default, {
2233 onClick: function onClick() {
2234 return onResultEdit(id, text);
2235 },
2236 "aria-label": (0, _i18n.__)('Edit result', 'elementor'),
2237 tooltipTitle: (0, _i18n.__)('Edit', 'elementor')
2238 }, /*#__PURE__*/_react.default.createElement(_editIcon.default, null)))),
2239 secondary: /*#__PURE__*/_react.default.createElement(_modalItemSecondaryContent.default, {
2240 date: date,
2241 thumbnails: thumbnails
2242 })
2243 })));
2244 };
2245 PromptHistoryItem.propTypes = {
2246 id: _propTypes.default.string.isRequired,
2247 action: _propTypes.default.string.isRequired,
2248 prompt: _propTypes.default.string.isRequired,
2249 date: _propTypes.default.string.isRequired,
2250 onHistoryItemDelete: _propTypes.default.func.isRequired,
2251 text: _propTypes.default.string,
2252 images: _propTypes.default.array,
2253 thumbnails: _propTypes.default.array,
2254 imageType: _propTypes.default.string,
2255 ratio: _propTypes.default.string
2256 };
2257 var _default = PromptHistoryItem;
2258 exports["default"] = _default;
2259
2260 /***/ }),
2261
2262 /***/ "../modules/ai/assets/js/editor/components/prompt-history/parts/modal-period.js":
2263 /*!**************************************************************************************!*\
2264 !*** ../modules/ai/assets/js/editor/components/prompt-history/parts/modal-period.js ***!
2265 \**************************************************************************************/
2266 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2267
2268 "use strict";
2269
2270
2271 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2272 Object.defineProperty(exports, "__esModule", ({
2273 value: true
2274 }));
2275 exports["default"] = void 0;
2276 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2277 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2278 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
2279 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2280 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
2281 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2282 var _modalItem = _interopRequireDefault(__webpack_require__(/*! ./modal-item */ "../modules/ai/assets/js/editor/components/prompt-history/parts/modal-item.js"));
2283 var _dateHelpers = __webpack_require__(/*! ../../../helpers/date-helpers */ "../modules/ai/assets/js/editor/helpers/date-helpers.js");
2284 var _excluded = ["id", "date"];
2285 var StyledPeriodList = (0, _ui.styled)(_ui.List)(function (_ref) {
2286 var theme = _ref.theme;
2287 return {
2288 borderBottom: "1px solid ".concat(theme.palette.action.focus)
2289 };
2290 });
2291 var StyledPeriodTitle = (0, _ui.styled)(_ui.Typography)(function (_ref2) {
2292 var theme = _ref2.theme;
2293 return {
2294 padding: theme.spacing(1.5, 2),
2295 color: theme.palette.secondary.light
2296 };
2297 });
2298 var DATE_FORMAT = (0, _i18n.__)('F j, g:i A', 'elementor');
2299 var PromptHistoryPeriod = function PromptHistoryPeriod(_ref3) {
2300 var periodTitle = _ref3.periodTitle,
2301 historyItems = _ref3.historyItems,
2302 _onHistoryItemDelete = _ref3.onHistoryItemDelete;
2303 return /*#__PURE__*/_react.default.createElement(StyledPeriodList, {
2304 "data-testid": "e-ph-p",
2305 subheader: /*#__PURE__*/_react.default.createElement(_ui.ListSubheader, {
2306 disableSticky: true,
2307 disableGutters: true
2308 }, /*#__PURE__*/_react.default.createElement(StyledPeriodTitle, {
2309 variant: "body2",
2310 role: "heading",
2311 "aria-level": "6"
2312 }, periodTitle))
2313 }, historyItems.map(function (_ref4) {
2314 var id = _ref4.id,
2315 date = _ref4.date,
2316 props = (0, _objectWithoutProperties2.default)(_ref4, _excluded);
2317 return /*#__PURE__*/_react.default.createElement(_modalItem.default, (0, _extends2.default)({
2318 key: id,
2319 date: (0, _dateHelpers.translateDate)(DATE_FORMAT, date),
2320 onHistoryItemDelete: function onHistoryItemDelete() {
2321 return _onHistoryItemDelete(id);
2322 },
2323 id: id
2324 }, props));
2325 }));
2326 };
2327 PromptHistoryPeriod.propTypes = {
2328 periodTitle: _propTypes.default.string.isRequired,
2329 historyItems: _propTypes.default.array.isRequired,
2330 onHistoryItemDelete: _propTypes.default.func.isRequired
2331 };
2332 var _default = PromptHistoryPeriod;
2333 exports["default"] = _default;
2334
2335 /***/ }),
2336
2337 /***/ "../modules/ai/assets/js/editor/components/prompt-history/parts/modal-upgrade.js":
2338 /*!***************************************************************************************!*\
2339 !*** ../modules/ai/assets/js/editor/components/prompt-history/parts/modal-upgrade.js ***!
2340 \***************************************************************************************/
2341 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2342
2343 "use strict";
2344 /* provided dependency */ var sprintf = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["sprintf"];
2345
2346
2347 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2348 Object.defineProperty(exports, "__esModule", ({
2349 value: true
2350 }));
2351 exports["default"] = void 0;
2352 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2353 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
2354 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2355 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
2356 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2357 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
2358 var _historyTypes = __webpack_require__(/*! ../history-types */ "../modules/ai/assets/js/editor/components/prompt-history/history-types.js");
2359 var _messages;
2360 var VARIANT_FULL = 'full';
2361 var VARIANT_SMALL = 'small';
2362 var messages = (_messages = {}, (0, _defineProperty2.default)(_messages, VARIANT_FULL, (0, _i18n.__)('Want to see your %s generation history for as far as the past 90 days?', 'elementor')), (0, _defineProperty2.default)(_messages, VARIANT_SMALL, (0, _i18n.__)('Want to see your %s generation history for the past 90 days?', 'elementor')), _messages);
2363 var actionUrl = 'https://go.elementor.com/ai-popup-purchase-dropdown/';
2364 var getMessage = function getMessage(variant, historyType) {
2365 var placeholder = messages[variant] || messages[VARIANT_FULL];
2366 var translatedHistoryType = (0, _historyTypes.getTranslatedPromptHistoryType)(historyType);
2367 return sprintf(placeholder, translatedHistoryType);
2368 };
2369 var PromptHistoryUpgrade = function PromptHistoryUpgrade(_ref) {
2370 var variant = _ref.variant,
2371 historyType = _ref.historyType;
2372 return /*#__PURE__*/_react.default.createElement(_ui.Stack, {
2373 justifyContent: "center",
2374 sx: {
2375 height: VARIANT_SMALL === variant ? 'auto' : '100%',
2376 textAlign: 'center',
2377 p: 2
2378 },
2379 "data-testid": "e-ph-upgrade-".concat(variant)
2380 }, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
2381 variant: "body1",
2382 sx: {
2383 marginBottom: 2
2384 }
2385 }, getMessage(variant, historyType)), /*#__PURE__*/_react.default.createElement(_ui.Button, {
2386 variant: "contained",
2387 color: "promotion",
2388 size: "small",
2389 href: actionUrl,
2390 target: "_blank",
2391 rel: "noopener noreferrer",
2392 startIcon: /*#__PURE__*/_react.default.createElement(_icons.UpgradeIcon, null),
2393 sx: {
2394 width: '50%',
2395 alignSelf: 'center',
2396 '&:hover': {
2397 color: 'promotion.contrastText'
2398 }
2399 }
2400 }, (0, _i18n.__)('Upgrade now', 'elementor')));
2401 };
2402 PromptHistoryUpgrade.propTypes = {
2403 variant: _propTypes.default.oneOf([VARIANT_FULL, VARIANT_SMALL]).isRequired,
2404 historyType: _propTypes.default.oneOf(Object.values(_historyTypes.HISTORY_TYPES)).isRequired
2405 };
2406 var _default = PromptHistoryUpgrade;
2407 exports["default"] = _default;
2408
2409 /***/ }),
2410
2411 /***/ "../modules/ai/assets/js/editor/components/prompt-library-link.js":
2412 /*!************************************************************************!*\
2413 !*** ../modules/ai/assets/js/editor/components/prompt-library-link.js ***!
2414 \************************************************************************/
2415 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2416
2417 "use strict";
2418
2419
2420 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2421 Object.defineProperty(exports, "__esModule", ({
2422 value: true
2423 }));
2424 exports["default"] = void 0;
2425 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2426 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2427 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
2428 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2429 var PromptLibraryLink = function PromptLibraryLink(props) {
2430 return /*#__PURE__*/_react.default.createElement(_ui.Typography, {
2431 variant: "body2",
2432 color: "text.secondary"
2433 }, (0, _i18n.__)('For more suggestions, explore our'), ' ', /*#__PURE__*/_react.default.createElement(_ui.Link, {
2434 href: props.libraryLink,
2435 className: "elementor-clickable",
2436 target: "_blank"
2437 }, (0, _i18n.__)('prompt library')));
2438 };
2439 PromptLibraryLink.propTypes = {
2440 libraryLink: _propTypes.default.string
2441 };
2442 var _default = PromptLibraryLink;
2443 exports["default"] = _default;
2444
2445 /***/ }),
2446
2447 /***/ "../modules/ai/assets/js/editor/components/prompt-search.js":
2448 /*!******************************************************************!*\
2449 !*** ../modules/ai/assets/js/editor/components/prompt-search.js ***!
2450 \******************************************************************/
2451 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2452
2453 "use strict";
2454
2455
2456 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2457 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
2458 Object.defineProperty(exports, "__esModule", ({
2459 value: true
2460 }));
2461 exports["default"] = void 0;
2462 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
2463 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2464 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
2465 var _searchField = _interopRequireDefault(__webpack_require__(/*! ./ui/search-field */ "../modules/ai/assets/js/editor/components/ui/search-field.js"));
2466 function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
2467 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; }
2468 var PromptSearch = (0, _react.forwardRef)(function (props, ref) {
2469 return /*#__PURE__*/_react.default.createElement(_searchField.default, (0, _extends2.default)({
2470 name: "prompt",
2471 placeholder: (0, _i18n.__)('Describe the text and tone you want to use', 'elementor') + '...'
2472 }, props, {
2473 ref: ref
2474 }));
2475 });
2476 var _default = PromptSearch;
2477 exports["default"] = _default;
2478
2479 /***/ }),
2480
2481 /***/ "../modules/ai/assets/js/editor/components/prompt-suggestions.js":
2482 /*!***********************************************************************!*\
2483 !*** ../modules/ai/assets/js/editor/components/prompt-suggestions.js ***!
2484 \***********************************************************************/
2485 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2486
2487 "use strict";
2488
2489
2490 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2491 Object.defineProperty(exports, "__esModule", ({
2492 value: true
2493 }));
2494 exports["default"] = void 0;
2495 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2496 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2497 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
2498 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2499 var PromptSuggestions = function PromptSuggestions(props) {
2500 var _props$suggestions;
2501 return /*#__PURE__*/_react.default.createElement(_ui.Box, null, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
2502 variant: "subtitle1",
2503 color: "text.secondary"
2504 }, (0, _i18n.__)('Suggested prompts', 'elementor') + ':'), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
2505 direction: "column",
2506 alignItems: "flex-start",
2507 gap: 1,
2508 sx: {
2509 my: 1
2510 }
2511 }, (_props$suggestions = props.suggestions) === null || _props$suggestions === void 0 ? void 0 : _props$suggestions.map(function (option, index) {
2512 var _props$suggestionFilt;
2513 return /*#__PURE__*/_react.default.createElement(_ui.Chip, {
2514 key: index,
2515 variant: "outlined",
2516 size: "large",
2517 color: "secondary",
2518 label: ((_props$suggestionFilt = props.suggestionFilter) === null || _props$suggestionFilt === void 0 ? void 0 : _props$suggestionFilt.call(props, option)) || option,
2519 onClick: function onClick() {
2520 return props.onSelect(option);
2521 }
2522 });
2523 })), props.children);
2524 };
2525 PromptSuggestions.propTypes = {
2526 suggestions: _propTypes.default.arrayOf(_propTypes.default.string),
2527 onSelect: _propTypes.default.func.isRequired,
2528 suggestionFilter: _propTypes.default.func,
2529 children: _propTypes.default.node
2530 };
2531 var _default = PromptSuggestions;
2532 exports["default"] = _default;
2533
2534 /***/ }),
2535
2536 /***/ "../modules/ai/assets/js/editor/components/textarea.js":
2537 /*!*************************************************************!*\
2538 !*** ../modules/ai/assets/js/editor/components/textarea.js ***!
2539 \*************************************************************/
2540 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2541
2542 "use strict";
2543
2544
2545 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2546 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
2547 Object.defineProperty(exports, "__esModule", ({
2548 value: true
2549 }));
2550 exports["default"] = void 0;
2551 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
2552 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2553 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2554 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2555 function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
2556 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; }
2557 var Textarea = (0, _react.forwardRef)(function (props, ref) {
2558 return /*#__PURE__*/_react.default.createElement(_ui.TextField, (0, _extends2.default)({
2559 inputRef: ref,
2560 multiline: true,
2561 minRows: 4,
2562 maxRows: 20,
2563 color: "secondary"
2564 }, props));
2565 });
2566 Textarea.propTypes = {
2567 value: _propTypes.default.string,
2568 onChange: _propTypes.default.func,
2569 helperText: _propTypes.default.string
2570 };
2571 var _default = Textarea;
2572 exports["default"] = _default;
2573
2574 /***/ }),
2575
2576 /***/ "../modules/ai/assets/js/editor/components/tooltip.js":
2577 /*!************************************************************!*\
2578 !*** ../modules/ai/assets/js/editor/components/tooltip.js ***!
2579 \************************************************************/
2580 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2581
2582 "use strict";
2583
2584
2585 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2586 Object.defineProperty(exports, "__esModule", ({
2587 value: true
2588 }));
2589 exports["default"] = void 0;
2590 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2591 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2592 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
2593 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2594 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2595 var _excluded = ["children"];
2596 var Tooltip = function Tooltip(_ref) {
2597 var children = _ref.children,
2598 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
2599 return /*#__PURE__*/_react.default.createElement(_ui.Tooltip, (0, _extends2.default)({
2600 componentsProps: {
2601 tooltip: {
2602 sx: {
2603 '&.MuiTooltip-tooltip[class*="MuiTooltip-tooltipPlacement"]': {
2604 m: 0,
2605 fontSize: '10px',
2606 fontWeight: 500,
2607 lineHeight: '1.4em'
2608 },
2609 py: 0.5,
2610 px: 1
2611 }
2612 }
2613 }
2614 }, props), children);
2615 };
2616 Tooltip.propTypes = {
2617 children: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.node), _propTypes.default.node])
2618 };
2619 var _default = Tooltip;
2620 exports["default"] = _default;
2621
2622 /***/ }),
2623
2624 /***/ "../modules/ai/assets/js/editor/components/ui/overlay-bar-text.js":
2625 /*!************************************************************************!*\
2626 !*** ../modules/ai/assets/js/editor/components/ui/overlay-bar-text.js ***!
2627 \************************************************************************/
2628 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2629
2630 "use strict";
2631
2632
2633 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2634 Object.defineProperty(exports, "__esModule", ({
2635 value: true
2636 }));
2637 exports["default"] = void 0;
2638 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2639 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2640 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
2641 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2642 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2643 var _excluded = ["children"];
2644 var OverlayBarText = function OverlayBarText(_ref) {
2645 var children = _ref.children,
2646 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
2647 return /*#__PURE__*/_react.default.createElement(_ui.Typography, (0, _extends2.default)({
2648 variant: "caption",
2649 color: "common.white"
2650 }, props), children);
2651 };
2652 OverlayBarText.propTypes = {
2653 children: _propTypes.default.node
2654 };
2655 var _default = OverlayBarText;
2656 exports["default"] = _default;
2657
2658 /***/ }),
2659
2660 /***/ "../modules/ai/assets/js/editor/components/ui/overlay-bar.js":
2661 /*!*******************************************************************!*\
2662 !*** ../modules/ai/assets/js/editor/components/ui/overlay-bar.js ***!
2663 \*******************************************************************/
2664 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2665
2666 "use strict";
2667
2668
2669 Object.defineProperty(exports, "__esModule", ({
2670 value: true
2671 }));
2672 exports["default"] = void 0;
2673 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2674 var OverlayBar = (0, _ui.styled)(_ui.Stack)(function (_ref) {
2675 var theme = _ref.theme,
2676 position = _ref.position;
2677 var style = {
2678 width: '100%',
2679 position: 'absolute',
2680 left: 0,
2681 padding: theme.spacing(2.5)
2682 };
2683 if ('top' === position) {
2684 style.top = 0;
2685 } else if ('bottom' === position) {
2686 style.bottom = 0;
2687 }
2688 return style;
2689 });
2690 var _default = OverlayBar;
2691 exports["default"] = _default;
2692
2693 /***/ }),
2694
2695 /***/ "../modules/ai/assets/js/editor/components/ui/overlay.js":
2696 /*!***************************************************************!*\
2697 !*** ../modules/ai/assets/js/editor/components/ui/overlay.js ***!
2698 \***************************************************************/
2699 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2700
2701 "use strict";
2702
2703
2704 Object.defineProperty(exports, "__esModule", ({
2705 value: true
2706 }));
2707 exports["default"] = void 0;
2708 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2709 var Overlay = (0, _ui.styled)(_ui.Box)(function (_ref) {
2710 var theme = _ref.theme;
2711 return {
2712 width: '100%',
2713 height: '100%',
2714 position: 'absolute',
2715 backgroundColor: 'rgba(0,0,0,0.5)',
2716 transition: "opacity ".concat(theme.transitions.duration.short, "ms ").concat(theme.transitions.easing.easeInOut),
2717 opacity: 0,
2718 '&:hover': {
2719 opacity: 1
2720 }
2721 };
2722 });
2723 var _default = Overlay;
2724 exports["default"] = _default;
2725
2726 /***/ }),
2727
2728 /***/ "../modules/ai/assets/js/editor/components/ui/panel.js":
2729 /*!*************************************************************!*\
2730 !*** ../modules/ai/assets/js/editor/components/ui/panel.js ***!
2731 \*************************************************************/
2732 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2733
2734 "use strict";
2735
2736
2737 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2738 Object.defineProperty(exports, "__esModule", ({
2739 value: true
2740 }));
2741 exports["default"] = void 0;
2742 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2743 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2744 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
2745 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
2746 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2747 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2748 var _excluded = ["sx"];
2749 function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2750 function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
2751 var Panel = function Panel(_ref) {
2752 var _ref$sx = _ref.sx,
2753 sx = _ref$sx === void 0 ? {} : _ref$sx,
2754 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
2755 return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_ui.Box, (0, _extends2.default)({
2756 sx: _objectSpread({
2757 p: 4,
2758 width: 360,
2759 flexShrink: 0,
2760 height: '100%',
2761 overflowY: 'auto'
2762 }, sx)
2763 }, props), props.children), /*#__PURE__*/_react.default.createElement(_ui.Divider, {
2764 orientation: "vertical"
2765 }));
2766 };
2767 Panel.propTypes = {
2768 children: _propTypes.default.node,
2769 sx: _propTypes.default.object
2770 };
2771 var _default = Panel;
2772 exports["default"] = _default;
2773
2774 /***/ }),
2775
2776 /***/ "../modules/ai/assets/js/editor/components/ui/search-field.js":
2777 /*!********************************************************************!*\
2778 !*** ../modules/ai/assets/js/editor/components/ui/search-field.js ***!
2779 \********************************************************************/
2780 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2781
2782 "use strict";
2783
2784
2785 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2786 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
2787 Object.defineProperty(exports, "__esModule", ({
2788 value: true
2789 }));
2790 exports["default"] = void 0;
2791 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
2792 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2793 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2794 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2795 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
2796 function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
2797 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; }
2798 // Customization for the WP admin global CSS.
2799 var StyledTextField = (0, _ui.styled)(_ui.TextField)(function () {
2800 return {
2801 '.wp-admin & .MuiInputBase-input, & .MuiInputBase-input:focus': {
2802 backgroundColor: 'initial',
2803 boxShadow: 'none',
2804 border: 0,
2805 color: 'inherit',
2806 outline: 0,
2807 /**
2808 * TODO:
2809 * Find a better solution to get the component padding value dynamically or fix the global CSS override.
2810 * These values are taken from Material UI's source code (the left padding reset was added to match the component style).
2811 */
2812 padding: '16.5px 14px 16.5px 0',
2813 '&.MuiInputBase-inputSizeSmall': {
2814 padding: '8.5px 14px 8.5px 0'
2815 }
2816 }
2817 };
2818 });
2819 var SearchField = (0, _react.forwardRef)(function (props, ref) {
2820 return /*#__PURE__*/_react.default.createElement(StyledTextField
2821 // eslint-disable-next-line jsx-a11y/no-autofocus
2822 , (0, _extends2.default)({
2823 autoFocus: true,
2824 fullWidth: true,
2825 required: true,
2826 size: "small",
2827 color: "secondary",
2828 InputProps: {
2829 autoComplete: 'off',
2830 startAdornment: /*#__PURE__*/_react.default.createElement(_ui.InputAdornment, {
2831 position: "start"
2832 }, /*#__PURE__*/_react.default.createElement(_icons.SearchIcon, null))
2833 },
2834 placeholder: props.placeholder,
2835 name: props.name,
2836 value: props.value,
2837 onChange: props.onChange
2838 }, props, {
2839 inputRef: ref
2840 }));
2841 });
2842 SearchField.propTypes = {
2843 placeholder: _propTypes.default.string,
2844 name: _propTypes.default.string,
2845 value: _propTypes.default.string,
2846 onChange: _propTypes.default.func
2847 };
2848 var _default = SearchField;
2849 exports["default"] = _default;
2850
2851 /***/ }),
2852
2853 /***/ "../modules/ai/assets/js/editor/components/upgrade-banner.js":
2854 /*!*******************************************************************!*\
2855 !*** ../modules/ai/assets/js/editor/components/upgrade-banner.js ***!
2856 \*******************************************************************/
2857 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2858
2859 "use strict";
2860 /* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
2861 /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js");
2862
2863
2864 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2865 Object.defineProperty(exports, "__esModule", ({
2866 value: true
2867 }));
2868 exports["default"] = void 0;
2869 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2870 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2871 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
2872 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2873 var _excluded = ["onClose"];
2874 var UpgradeBanner = function UpgradeBanner(_ref) {
2875 var onClose = _ref.onClose,
2876 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
2877 return /*#__PURE__*/_react.default.createElement(_ui.Alert, (0, _extends2.default)({
2878 icon: false,
2879 action: /*#__PURE__*/_react.default.createElement(_ui.AlertAction, {
2880 onClick: function onClick() {
2881 return window.open('https://go.elementor.com/ai-banner-free-upgrade/', '_blank');
2882 }
2883 }, __('Upgrade', 'elementor')),
2884 variant: "filled",
2885 color: "promotion",
2886 onClose: onClose
2887 }, props), __('You’re using a limited license. Get maximum access to Elementor AI.', 'elementor'));
2888 };
2889 UpgradeBanner.propTypes = {
2890 onClose: PropTypes.func,
2891 sx: PropTypes.object
2892 };
2893 var _default = UpgradeBanner;
2894 exports["default"] = _default;
2895
2896 /***/ }),
2897
2898 /***/ "../modules/ai/assets/js/editor/components/upgrade-chip.js":
2899 /*!*****************************************************************!*\
2900 !*** ../modules/ai/assets/js/editor/components/upgrade-chip.js ***!
2901 \*****************************************************************/
2902 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2903
2904 "use strict";
2905
2906
2907 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2908 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
2909 Object.defineProperty(exports, "__esModule", ({
2910 value: true
2911 }));
2912 exports["default"] = void 0;
2913 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
2914 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
2915 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2916 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
2917 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2918 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
2919 function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
2920 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; }
2921 var popoverId = 'e-ai-upgrade-popover';
2922 var StyledContent = (0, _ui.styled)(_ui.Paper)(function (_ref) {
2923 var theme = _ref.theme;
2924 return {
2925 position: 'relative',
2926 '[data-popper-placement="top"] &': {
2927 marginBottom: theme.spacing(2.5)
2928 },
2929 '[data-popper-placement="bottom"] &': {
2930 marginTop: theme.spacing(2.5)
2931 },
2932 padding: theme.spacing(3),
2933 boxShadow: theme.shadows[4],
2934 zIndex: '9999'
2935 };
2936 });
2937 var StyledArrow = (0, _ui.styled)(_ui.Box)(function (_ref2) {
2938 var theme = _ref2.theme;
2939 return {
2940 width: theme.spacing(5),
2941 height: theme.spacing(2.5),
2942 position: 'absolute',
2943 overflow: 'hidden',
2944 // Override Popper inline styles.
2945 left: '50% !important',
2946 transform: 'translateX(-50%) rotate(var(--rotate, 0deg)) !important',
2947 '[data-popper-placement="top"] &': {
2948 top: '100%'
2949 },
2950 '[data-popper-placement="bottom"] &': {
2951 '--rotate': '180deg',
2952 top: "calc(".concat(theme.spacing(2.5), " * -1)")
2953 },
2954 '&::after': {
2955 backgroundColor: theme.palette.background.paper,
2956 content: '""',
2957 display: 'block',
2958 position: 'absolute',
2959 width: theme.spacing(2.5),
2960 height: theme.spacing(2.5),
2961 top: 0,
2962 left: '50%',
2963 transform: 'translateX(-50%) translateY(-50%) rotate(45deg)',
2964 boxShadow: '1px 1px 5px 0px rgba(0, 0, 0, 0.2)',
2965 backgroundImage: 'linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.05))'
2966 }
2967 };
2968 });
2969 var upgradeBullets = [(0, _i18n.__)('Let AI build your container layouts and content with ease and radically transform the way you create websites.', 'elementor'), (0, _i18n.__)('Generate your website\'s text or create custom code without having to write a single line yourself.', 'elementor'), (0, _i18n.__)('Effortlessly create or enhance stunning images and bring your ideas to life.', 'elementor'), (0, _i18n.__)('Access 30-days of AI History with the AI Starter plan and 90-days with the Power plan.', 'elementor')];
2970 var Chip = (0, _ui.styled)(_ui.Chip)(function () {
2971 return {
2972 '& .MuiChip-label': {
2973 lineHeight: 1.5
2974 },
2975 '& .MuiSvgIcon-root.MuiChip-icon': {
2976 fontSize: '1.25rem'
2977 }
2978 };
2979 });
2980 var UpgradeChip = function UpgradeChip(_ref3) {
2981 var _ref3$hasSubscription = _ref3.hasSubscription,
2982 hasSubscription = _ref3$hasSubscription === void 0 ? false : _ref3$hasSubscription,
2983 _ref3$usagePercentage = _ref3.usagePercentage,
2984 usagePercentage = _ref3$usagePercentage === void 0 ? 0 : _ref3$usagePercentage;
2985 var _useState = (0, _react.useState)(false),
2986 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
2987 isPopoverOpen = _useState2[0],
2988 setIsPopoverOpen = _useState2[1];
2989 var anchorEl = (0, _react.useRef)(null);
2990 var arrowEl = (0, _react.useRef)(null);
2991 var showPopover = function showPopover() {
2992 return setIsPopoverOpen(true);
2993 };
2994 var hidePopover = function hidePopover() {
2995 return setIsPopoverOpen(false);
2996 };
2997 var actionUrl = 'https://go.elementor.com/ai-popup-purchase-dropdown/';
2998 if (hasSubscription) {
2999 actionUrl = usagePercentage >= 100 ? 'https://go.elementor.com/ai-popup-upgrade-limit-reached/' : 'https://go.elementor.com/ai-popup-upgrade-limit-reached-80-percent/';
3000 }
3001 var actionLabel = hasSubscription ? (0, _i18n.__)('Upgrade Elementor AI', 'elementor') : (0, _i18n.__)('Get Elementor AI', 'elementor');
3002 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
3003 component: "span",
3004 "aria-owns": isPopoverOpen ? popoverId : undefined,
3005 "aria-haspopup": "true",
3006 onMouseEnter: showPopover,
3007 onMouseLeave: hidePopover,
3008 ref: anchorEl,
3009 display: "flex",
3010 alignItems: "center"
3011 }, /*#__PURE__*/_react.default.createElement(Chip, {
3012 color: "promotion",
3013 label: (0, _i18n.__)('Upgrade', 'elementor'),
3014 icon: /*#__PURE__*/_react.default.createElement(_icons.AIIcon, null),
3015 size: "small"
3016 }), /*#__PURE__*/_react.default.createElement(_ui.Popper, {
3017 open: isPopoverOpen,
3018 anchorEl: anchorEl.current,
3019 sx: {
3020 zIndex: '9999',
3021 maxWidth: 300
3022 },
3023 modifiers: [{
3024 name: 'arrow',
3025 enabled: true,
3026 options: {
3027 element: arrowEl.current
3028 }
3029 }]
3030 }, /*#__PURE__*/_react.default.createElement(StyledContent, null, /*#__PURE__*/_react.default.createElement(StyledArrow, {
3031 ref: arrowEl
3032 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
3033 variant: "h5",
3034 color: "text.primary"
3035 }, (0, _i18n.__)('Maximize Your Access to Elementor AI', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.List, {
3036 sx: {
3037 mb: 1
3038 }
3039 }, upgradeBullets.map(function (bullet, index) {
3040 return /*#__PURE__*/_react.default.createElement(_ui.ListItem, {
3041 key: index,
3042 disableGutters: true,
3043 sx: {
3044 alignItems: 'flex-start'
3045 }
3046 }, /*#__PURE__*/_react.default.createElement(_ui.ListItemIcon, null, /*#__PURE__*/_react.default.createElement(_icons.CheckedCircleIcon, null)), /*#__PURE__*/_react.default.createElement(_ui.ListItemText, {
3047 sx: {
3048 m: 0
3049 }
3050 }, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
3051 variant: "body2"
3052 }, bullet)));
3053 })), /*#__PURE__*/_react.default.createElement(_ui.Button, {
3054 variant: "contained",
3055 color: "promotion",
3056 size: "small",
3057 href: actionUrl,
3058 target: "_blank",
3059 startIcon: /*#__PURE__*/_react.default.createElement(_icons.AIIcon, null),
3060 sx: {
3061 '&:hover': {
3062 color: 'promotion.contrastText'
3063 }
3064 }
3065 }, actionLabel))));
3066 };
3067 var _default = UpgradeChip;
3068 exports["default"] = _default;
3069 UpgradeChip.propTypes = {
3070 hasSubscription: _propTypes.default.bool,
3071 usagePercentage: _propTypes.default.number
3072 };
3073
3074 /***/ }),
3075
3076 /***/ "../modules/ai/assets/js/editor/components/usage-limit-alert.js":
3077 /*!**********************************************************************!*\
3078 !*** ../modules/ai/assets/js/editor/components/usage-limit-alert.js ***!
3079 \**********************************************************************/
3080 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3081
3082 "use strict";
3083 /* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
3084 /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js");
3085
3086
3087 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3088 Object.defineProperty(exports, "__esModule", ({
3089 value: true
3090 }));
3091 exports["default"] = void 0;
3092 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
3093 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
3094 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
3095 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
3096 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3097 var _excluded = ["onClose", "usagePercentage", "hasSubscription"];
3098 var _title, _description, _url, _title2, _description2, _url2;
3099 var KEY_SUBSCRIPTION = 'subscription';
3100 var KEY_NO_SUBSCRIPTION = 'noSubscription';
3101 var alertConfigs = [{
3102 threshold: 95,
3103 title: (_title = {}, (0, _defineProperty2.default)(_title, KEY_SUBSCRIPTION, __('You’ve used over 95% of your Elementor AI plan.', 'elementor')), (0, _defineProperty2.default)(_title, KEY_NO_SUBSCRIPTION, __('You’ve used over 95% of the free trial.', 'elementor')), _title),
3104 description: (_description = {}, (0, _defineProperty2.default)(_description, KEY_SUBSCRIPTION, __('Get maximum access.', 'elementor')), (0, _defineProperty2.default)(_description, KEY_NO_SUBSCRIPTION, __('Upgrade now to keep using this feature, you can still use other AI features.', 'elementor')), _description),
3105 url: (_url = {}, (0, _defineProperty2.default)(_url, KEY_SUBSCRIPTION, 'https://go.elementor.com/ai-banner-paid-95-limit-reach/'), (0, _defineProperty2.default)(_url, KEY_NO_SUBSCRIPTION, 'https://go.elementor.com/ai-banner-free-95-limit-reach/'), _url),
3106 color: 'error'
3107 }, {
3108 threshold: 80,
3109 title: (_title2 = {}, (0, _defineProperty2.default)(_title2, KEY_SUBSCRIPTION, __('You’ve used over 80% of your Elementor AI plan.', 'elementor')), (0, _defineProperty2.default)(_title2, KEY_NO_SUBSCRIPTION, __('You’ve used over 80% of the free trial.', 'elementor')), _title2),
3110 description: (_description2 = {}, (0, _defineProperty2.default)(_description2, KEY_SUBSCRIPTION, __('Get maximum access.', 'elementor')), (0, _defineProperty2.default)(_description2, KEY_NO_SUBSCRIPTION, __('Upgrade now to keep using this feature, you can still use other AI features.', 'elementor')), _description2),
3111 url: (_url2 = {}, (0, _defineProperty2.default)(_url2, KEY_SUBSCRIPTION, 'https://go.elementor.com/ai-banner-paid-80-limit-reach/'), (0, _defineProperty2.default)(_url2, KEY_NO_SUBSCRIPTION, 'https://go.elementor.com/ai-banner-free-80-limit-reach/'), _url2),
3112 color: 'warning'
3113 }];
3114 var UpgradeButton = function UpgradeButton(props) {
3115 return /*#__PURE__*/_react.default.createElement(_ui.Button, (0, _extends2.default)({
3116 color: "inherit",
3117 variant: "outlined",
3118 sx: {
3119 border: '2px solid'
3120 }
3121 }, props), __('Upgrade now', 'elementor'));
3122 };
3123 var UsageLimitAlert = function UsageLimitAlert(_ref) {
3124 var onClose = _ref.onClose,
3125 usagePercentage = _ref.usagePercentage,
3126 hasSubscription = _ref.hasSubscription,
3127 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
3128 var config = alertConfigs.find(function (_ref2) {
3129 var threshold = _ref2.threshold;
3130 return usagePercentage >= threshold;
3131 });
3132 if (!config) {
3133 return null;
3134 }
3135 var subscriptionType = hasSubscription ? KEY_SUBSCRIPTION : KEY_NO_SUBSCRIPTION;
3136 var title = config.title,
3137 description = config.description,
3138 url = config.url,
3139 color = config.color;
3140 var handleUpgradeClick = function handleUpgradeClick() {
3141 return window.open(url[subscriptionType], '_blank');
3142 };
3143 return /*#__PURE__*/_react.default.createElement(_ui.Alert, (0, _extends2.default)({
3144 severity: "warning",
3145 action: /*#__PURE__*/_react.default.createElement(UpgradeButton, {
3146 onClick: handleUpgradeClick
3147 }),
3148 color: color
3149 }, props), /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, title[subscriptionType]), description[subscriptionType]);
3150 };
3151 UsageLimitAlert.propTypes = {
3152 onClose: PropTypes.func,
3153 usagePercentage: PropTypes.number,
3154 hasSubscription: PropTypes.bool
3155 };
3156 var _default = UsageLimitAlert;
3157 exports["default"] = _default;
3158
3159 /***/ }),
3160
3161 /***/ "../modules/ai/assets/js/editor/components/usage-messages.js":
3162 /*!*******************************************************************!*\
3163 !*** ../modules/ai/assets/js/editor/components/usage-messages.js ***!
3164 \*******************************************************************/
3165 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3166
3167 "use strict";
3168 /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js");
3169
3170
3171 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3172 Object.defineProperty(exports, "__esModule", ({
3173 value: true
3174 }));
3175 exports["default"] = void 0;
3176 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
3177 var _upgradeBanner = _interopRequireDefault(__webpack_require__(/*! ./upgrade-banner */ "../modules/ai/assets/js/editor/components/upgrade-banner.js"));
3178 var _usageLimitAlert = _interopRequireDefault(__webpack_require__(/*! ./usage-limit-alert */ "../modules/ai/assets/js/editor/components/usage-limit-alert.js"));
3179 var _useUpgradeMessage2 = _interopRequireDefault(__webpack_require__(/*! ../hooks/use-upgrade-message */ "../modules/ai/assets/js/editor/hooks/use-upgrade-message.js"));
3180 var UsageMessages = function UsageMessages(_ref) {
3181 var hasSubscription = _ref.hasSubscription,
3182 usagePercentage = _ref.usagePercentage,
3183 sx = _ref.sx;
3184 var _useUpgradeMessage = (0, _useUpgradeMessage2.default)({
3185 usagePercentage: usagePercentage,
3186 hasSubscription: hasSubscription
3187 }),
3188 showBanner = _useUpgradeMessage.showBanner,
3189 markBannerAsViewed = _useUpgradeMessage.markBannerAsViewed;
3190 return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, showBanner && /*#__PURE__*/_react.default.createElement(_upgradeBanner.default, {
3191 onClose: markBannerAsViewed,
3192 sx: sx
3193 }), /*#__PURE__*/_react.default.createElement(_usageLimitAlert.default, {
3194 hasSubscription: hasSubscription,
3195 usagePercentage: usagePercentage,
3196 sx: sx
3197 }));
3198 };
3199 UsageMessages.propTypes = {
3200 hasSubscription: PropTypes.bool,
3201 usagePercentage: PropTypes.number,
3202 sx: PropTypes.object
3203 };
3204 var _default = UsageMessages;
3205 exports["default"] = _default;
3206
3207 /***/ }),
3208
3209 /***/ "../modules/ai/assets/js/editor/components/voice-promotion-alert.js":
3210 /*!**************************************************************************!*\
3211 !*** ../modules/ai/assets/js/editor/components/voice-promotion-alert.js ***!
3212 \**************************************************************************/
3213 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3214
3215 "use strict";
3216 /* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
3217 /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js");
3218
3219
3220 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3221 Object.defineProperty(exports, "__esModule", ({
3222 value: true
3223 }));
3224 exports["default"] = exports.VoicePromotionAlert = void 0;
3225 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
3226 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
3227 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3228 var _bulbIcon = _interopRequireDefault(__webpack_require__(/*! ../icons/bulb-icon */ "../modules/ai/assets/js/editor/icons/bulb-icon.js"));
3229 var _useIntroduction2 = _interopRequireDefault(__webpack_require__(/*! ../hooks/use-introduction */ "../modules/ai/assets/js/editor/hooks/use-introduction.js"));
3230 function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
3231 function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
3232 var VoicePromotionAlert = function VoicePromotionAlert(props) {
3233 var _useIntroduction = (0, _useIntroduction2.default)(props.introductionKey),
3234 isViewed = _useIntroduction.isViewed,
3235 markAsViewed = _useIntroduction.markAsViewed;
3236 if (!isViewed) {
3237 return null;
3238 }
3239 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
3240 sx: _objectSpread({
3241 mt: 2
3242 }, props.sx),
3243 alignItems: "top"
3244 }, /*#__PURE__*/_react.default.createElement(_ui.Alert, {
3245 severity: "info",
3246 variant: "standard",
3247 icon: /*#__PURE__*/_react.default.createElement(_bulbIcon.default, {
3248 sx: {
3249 alignSelf: 'flex-start'
3250 }
3251 }),
3252 onClose: markAsViewed
3253 }, __('Get improved results from AI by adding some personal context. Go to Site Settings > AI Context to get started.')));
3254 };
3255 exports.VoicePromotionAlert = VoicePromotionAlert;
3256 VoicePromotionAlert.propTypes = {
3257 sx: PropTypes.object,
3258 introductionKey: PropTypes.string
3259 };
3260 var _default = VoicePromotionAlert;
3261 exports["default"] = _default;
3262
3263 /***/ }),
3264
3265 /***/ "../modules/ai/assets/js/editor/components/wizard-dialog.js":
3266 /*!******************************************************************!*\
3267 !*** ../modules/ai/assets/js/editor/components/wizard-dialog.js ***!
3268 \******************************************************************/
3269 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3270
3271 "use strict";
3272
3273
3274 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3275 Object.defineProperty(exports, "__esModule", ({
3276 value: true
3277 }));
3278 exports["default"] = void 0;
3279 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
3280 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
3281 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
3282 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
3283 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3284 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3285 var _dialogHeader = _interopRequireDefault(__webpack_require__(/*! ./dialog-header */ "../modules/ai/assets/js/editor/components/dialog-header.js"));
3286 var _excluded = ["sx"];
3287 function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
3288 function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
3289 var WizardDialog = function WizardDialog(props) {
3290 return /*#__PURE__*/_react.default.createElement(_ui.Dialog, {
3291 open: true,
3292 onClose: props.onClose,
3293 fullWidth: true,
3294 hideBackdrop: true,
3295 maxWidth: "lg",
3296 PaperProps: {
3297 sx: {
3298 height: '88vh'
3299 }
3300 },
3301 sx: {
3302 zIndex: 9999
3303 }
3304 }, props.children);
3305 };
3306 WizardDialog.propTypes = {
3307 onClose: _propTypes.default.func.isRequired,
3308 children: _propTypes.default.node.isRequired
3309 };
3310 var WizardDialogContent = function WizardDialogContent(_ref) {
3311 var _ref$sx = _ref.sx,
3312 sx = _ref$sx === void 0 ? {} : _ref$sx,
3313 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
3314 return /*#__PURE__*/_react.default.createElement(_ui.DialogContent, (0, _extends2.default)({}, props, {
3315 sx: _objectSpread({
3316 display: 'flex',
3317 flexDirection: 'column',
3318 justifyContent: 'center'
3319 }, sx)
3320 }));
3321 };
3322 WizardDialogContent.propTypes = {
3323 sx: _propTypes.default.object
3324 };
3325 WizardDialog.Header = _dialogHeader.default;
3326 WizardDialog.Content = WizardDialogContent;
3327 var _default = WizardDialog;
3328 exports["default"] = _default;
3329
3330 /***/ }),
3331
3332 /***/ "../modules/ai/assets/js/editor/context/requests-ids.js":
3333 /*!**************************************************************!*\
3334 !*** ../modules/ai/assets/js/editor/context/requests-ids.js ***!
3335 \**************************************************************/
3336 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3337
3338 "use strict";
3339
3340
3341 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3342 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
3343 Object.defineProperty(exports, "__esModule", ({
3344 value: true
3345 }));
3346 exports["default"] = exports.RequestIdsProvider = void 0;
3347 exports.generateIds = generateIds;
3348 exports.useRequestIds = exports.getUniqueId = void 0;
3349 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
3350 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3351 function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
3352 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; }
3353 var Context = (0, _react.createContext)({});
3354 var useRequestIds = function useRequestIds() {
3355 var context = (0, _react.useContext)(Context);
3356 if (!context) {
3357 throw new Error('useRequestIds must be used within a RequestIdsProvider');
3358 }
3359 return context;
3360 };
3361 exports.useRequestIds = useRequestIds;
3362 var getUniqueId = function getUniqueId(prefix) {
3363 return prefix + '-' + Math.random().toString(16).substr(2, 7);
3364 };
3365 exports.getUniqueId = getUniqueId;
3366 window.EDITOR_SESSION_ID = window.EDITOR_SESSION_ID || getUniqueId('editor-session');
3367 function generateIds(template) {
3368 var _template$elements;
3369 template.id = getUniqueId().toString();
3370 if ((_template$elements = template.elements) !== null && _template$elements !== void 0 && _template$elements.length) {
3371 template.elements.map(function (child) {
3372 return generateIds(child);
3373 });
3374 }
3375 return template;
3376 }
3377 var RequestIdsProvider = function RequestIdsProvider(props) {
3378 var editorSessionId = (0, _react.useRef)(window.EDITOR_SESSION_ID);
3379 var sessionId = (0, _react.useRef)('');
3380 var generateId = (0, _react.useRef)('');
3381 var batchId = (0, _react.useRef)('');
3382 var requestId = (0, _react.useRef)('');
3383 sessionId.current = getUniqueId('session');
3384 var setGenerate = function setGenerate() {
3385 generateId.current = getUniqueId('generate');
3386 return generateId;
3387 };
3388 var setBatch = function setBatch() {
3389 batchId.current = getUniqueId('batch');
3390 return batchId;
3391 };
3392 var setRequest = function setRequest() {
3393 requestId.current = getUniqueId('request');
3394 return requestId;
3395 };
3396 return /*#__PURE__*/_react.default.createElement(Context.Provider, {
3397 value: {
3398 editorSessionId: editorSessionId,
3399 sessionId: sessionId,
3400 generateId: generateId,
3401 batchId: batchId,
3402 requestId: requestId,
3403 setGenerate: setGenerate,
3404 setBatch: setBatch,
3405 setRequest: setRequest
3406 }
3407 }, props.children);
3408 };
3409 exports.RequestIdsProvider = RequestIdsProvider;
3410 RequestIdsProvider.propTypes = {
3411 children: _propTypes.default.node.isRequired
3412 };
3413 var _default = Context;
3414 exports["default"] = _default;
3415
3416 /***/ }),
3417
3418 /***/ "../modules/ai/assets/js/editor/helpers/date-helpers.js":
3419 /*!**************************************************************!*\
3420 !*** ../modules/ai/assets/js/editor/helpers/date-helpers.js ***!
3421 \**************************************************************/
3422 /***/ ((__unused_webpack_module, exports) => {
3423
3424 "use strict";
3425
3426
3427 Object.defineProperty(exports, "__esModule", ({
3428 value: true
3429 }));
3430 exports.translateDate = exports.daysDiff = exports.MONTH_JANUARY_INDEX = exports.MONTH_DECEMBER_INDEX = void 0;
3431 var MONTH_DECEMBER_INDEX = 12;
3432 exports.MONTH_DECEMBER_INDEX = MONTH_DECEMBER_INDEX;
3433 var MONTH_JANUARY_INDEX = 0;
3434 /**
3435 * Formats a date (like wp_date() in PHP), translating it into site's locale.
3436 *
3437 * @param {string} format PHP-style formatting string.
3438 * @param {Date | string | undefined} date Date object
3439 * @param {string | number | undefined=} timezone Timezone to output result in or a UTC offset. Defaults to timezone from site.
3440 * @return {string}
3441 */
3442 exports.MONTH_JANUARY_INDEX = MONTH_JANUARY_INDEX;
3443 var translateDate = function translateDate(format, date, timezone) {
3444 var _window$wp;
3445 var _window$wp$date = (_window$wp = window.wp) === null || _window$wp === void 0 ? void 0 : _window$wp.date,
3446 dateI18n = _window$wp$date.dateI18n;
3447 return dateI18n(format, date, timezone);
3448 };
3449
3450 /**
3451 * Returns difference in days between two dates
3452 *
3453 * @param {Date} firstDate
3454 * @param {Date} secondDate
3455 * @return {number} Positive or negative number in days
3456 */
3457 exports.translateDate = translateDate;
3458 var daysDiff = function daysDiff(firstDate, secondDate) {
3459 var MS_PER_DAY = 1000 * 60 * 60 * 24;
3460 var firstUTC = Date.UTC(firstDate.getFullYear(), firstDate.getMonth(), firstDate.getDate());
3461 var secondUTC = Date.UTC(secondDate.getFullYear(), secondDate.getMonth(), secondDate.getDate());
3462 return Math.floor((secondUTC - firstUTC) / MS_PER_DAY);
3463 };
3464 exports.daysDiff = daysDiff;
3465
3466 /***/ }),
3467
3468 /***/ "../modules/ai/assets/js/editor/helpers/index.js":
3469 /*!*******************************************************!*\
3470 !*** ../modules/ai/assets/js/editor/helpers/index.js ***!
3471 \*******************************************************/
3472 /***/ ((__unused_webpack_module, exports) => {
3473
3474 "use strict";
3475
3476
3477 Object.defineProperty(exports, "__esModule", ({
3478 value: true
3479 }));
3480 exports.vh = void 0;
3481 var vh = function vh(value) {
3482 var h = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);
3483 return value * h / 100;
3484 };
3485 exports.vh = vh;
3486
3487 /***/ }),
3488
3489 /***/ "../modules/ai/assets/js/editor/hooks/use-code-prompt.js":
3490 /*!***************************************************************!*\
3491 !*** ../modules/ai/assets/js/editor/hooks/use-code-prompt.js ***!
3492 \***************************************************************/
3493 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3494
3495 "use strict";
3496
3497
3498 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3499 Object.defineProperty(exports, "__esModule", ({
3500 value: true
3501 }));
3502 exports["default"] = void 0;
3503 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
3504 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
3505 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
3506 var _api = __webpack_require__(/*! ../api */ "../modules/ai/assets/js/editor/api/index.js");
3507 var _usePrompt = _interopRequireDefault(__webpack_require__(/*! ./use-prompt */ "../modules/ai/assets/js/editor/hooks/use-prompt.js"));
3508 function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
3509 function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
3510 var getCodeResult = /*#__PURE__*/function () {
3511 var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(payload, _ref) {
3512 var codeLanguage, htmlMarkup, elementId;
3513 return _regenerator.default.wrap(function _callee$(_context) {
3514 while (1) switch (_context.prev = _context.next) {
3515 case 0:
3516 codeLanguage = _ref.codeLanguage, htmlMarkup = _ref.htmlMarkup, elementId = _ref.elementId;
3517 if (!('css' === codeLanguage)) {
3518 _context.next = 3;
3519 break;
3520 }
3521 return _context.abrupt("return", (0, _api.getCustomCSS)(_objectSpread(_objectSpread({}, payload), {}, {
3522 html_markup: htmlMarkup,
3523 element_id: elementId
3524 })));
3525 case 3:
3526 return _context.abrupt("return", (0, _api.getCustomCode)(_objectSpread(_objectSpread({}, payload), {}, {
3527 language: codeLanguage
3528 })));
3529 case 4:
3530 case "end":
3531 return _context.stop();
3532 }
3533 }, _callee);
3534 }));
3535 return function getCodeResult(_x, _x2) {
3536 return _ref2.apply(this, arguments);
3537 };
3538 }();
3539 var useCodePrompt = function useCodePrompt(_ref3) {
3540 var codeLanguage = _ref3.codeLanguage,
3541 htmlMarkup = _ref3.htmlMarkup,
3542 elementId = _ref3.elementId,
3543 credits = _ref3.initialCredits;
3544 var promptData = (0, _usePrompt.default)(function (payload) {
3545 return getCodeResult(payload, {
3546 codeLanguage: codeLanguage,
3547 htmlMarkup: htmlMarkup,
3548 elementId: elementId
3549 });
3550 }, {
3551 credits: credits
3552 });
3553 return promptData;
3554 };
3555 var _default = useCodePrompt;
3556 exports["default"] = _default;
3557
3558 /***/ }),
3559
3560 /***/ "../modules/ai/assets/js/editor/hooks/use-delete-prompt-history-item.js":
3561 /*!******************************************************************************!*\
3562 !*** ../modules/ai/assets/js/editor/hooks/use-delete-prompt-history-item.js ***!
3563 \******************************************************************************/
3564 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3565
3566 "use strict";
3567
3568
3569 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3570 Object.defineProperty(exports, "__esModule", ({
3571 value: true
3572 }));
3573 exports["default"] = void 0;
3574 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
3575 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
3576 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
3577 var _react = __webpack_require__(/*! react */ "react");
3578 var _api = __webpack_require__(/*! ../api */ "../modules/ai/assets/js/editor/api/index.js");
3579 var useDeletePromptHistoryItem = function useDeletePromptHistoryItem() {
3580 var _useState = (0, _react.useState)(false),
3581 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
3582 isLoading = _useState2[0],
3583 setIsLoading = _useState2[1];
3584 var _useState3 = (0, _react.useState)(''),
3585 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
3586 error = _useState4[0],
3587 setError = _useState4[1];
3588 var deleteItem = /*#__PURE__*/function () {
3589 var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(id) {
3590 return _regenerator.default.wrap(function _callee$(_context) {
3591 while (1) switch (_context.prev = _context.next) {
3592 case 0:
3593 return _context.abrupt("return", new Promise(function (resolve, reject) {
3594 setError('');
3595 setIsLoading(true);
3596 (0, _api.deleteHistoryItem)(id).then(function () {
3597 resolve(true);
3598 }).catch(function (err) {
3599 var finalError = (err === null || err === void 0 ? void 0 : err.responseText) || err;
3600 setError(finalError);
3601 reject(finalError);
3602 }).finally(function () {
3603 return setIsLoading(false);
3604 });
3605 }));
3606 case 1:
3607 case "end":
3608 return _context.stop();
3609 }
3610 }, _callee);
3611 }));
3612 return function deleteItem(_x) {
3613 return _ref.apply(this, arguments);
3614 };
3615 }();
3616 return {
3617 isLoading: isLoading,
3618 error: error,
3619 deleteItem: deleteItem
3620 };
3621 };
3622 var _default = useDeletePromptHistoryItem;
3623 exports["default"] = _default;
3624
3625 /***/ }),
3626
3627 /***/ "../modules/ai/assets/js/editor/hooks/use-image-navigation.js":
3628 /*!********************************************************************!*\
3629 !*** ../modules/ai/assets/js/editor/hooks/use-image-navigation.js ***!
3630 \********************************************************************/
3631 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3632
3633 "use strict";
3634
3635
3636 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3637 Object.defineProperty(exports, "__esModule", ({
3638 value: true
3639 }));
3640 exports["default"] = void 0;
3641 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
3642 var _react = __webpack_require__(/*! react */ "react");
3643 var initialIndex = -1;
3644 var useImageNavigation = function useImageNavigation(images) {
3645 var _useState = (0, _react.useState)(initialIndex),
3646 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
3647 zoomIndex = _useState2[0],
3648 setZoomIndex = _useState2[1];
3649 var actions = {
3650 reset: function reset() {
3651 return setZoomIndex(initialIndex);
3652 },
3653 prev: function prev() {
3654 var prevImage = zoomIndex + 1;
3655 if (prevImage >= images.length) {
3656 prevImage = 0;
3657 }
3658 setZoomIndex(prevImage);
3659 },
3660 next: function next() {
3661 var nextImage = zoomIndex - 1;
3662 if (nextImage < 0) {
3663 nextImage = images.length - 1;
3664 }
3665 setZoomIndex(nextImage);
3666 }
3667 };
3668 return {
3669 zoomIndex: zoomIndex,
3670 setZoomIndex: setZoomIndex,
3671 actions: actions
3672 };
3673 };
3674 var _default = useImageNavigation;
3675 exports["default"] = _default;
3676
3677 /***/ }),
3678
3679 /***/ "../modules/ai/assets/js/editor/hooks/use-images-preload.js":
3680 /*!******************************************************************!*\
3681 !*** ../modules/ai/assets/js/editor/hooks/use-images-preload.js ***!
3682 \******************************************************************/
3683 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3684
3685 "use strict";
3686
3687
3688 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3689 Object.defineProperty(exports, "__esModule", ({
3690 value: true
3691 }));
3692 exports["default"] = void 0;
3693 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
3694 var _react = __webpack_require__(/*! react */ "react");
3695 var loadImage = function loadImage(url) {
3696 return new Promise(function (resolve, reject) {
3697 var loadImg = new Image();
3698 loadImg.src = url;
3699 loadImg.onload = function () {
3700 return resolve(url);
3701 };
3702 loadImg.onerror = function (err) {
3703 return reject(err);
3704 };
3705 });
3706 };
3707 var useImagesPreload = function useImagesPreload() {
3708 var _useState = (0, _react.useState)(false),
3709 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
3710 ready = _useState2[0],
3711 setReady = _useState2[1];
3712 var preloadImages = function preloadImages(images) {
3713 setReady(false);
3714 Promise.all(images.map(function (url) {
3715 return loadImage(url);
3716 })).then(function () {
3717 return setReady(true);
3718 })
3719 // eslint-disable-next-line no-console
3720 .catch(function (err) {
3721 return console.log('Failed to load images', err);
3722 }); // Todo error better handling
3723 };
3724
3725 return {
3726 ready: ready,
3727 preloadImages: preloadImages
3728 };
3729 };
3730 var _default = useImagesPreload;
3731 exports["default"] = _default;
3732
3733 /***/ }),
3734
3735 /***/ "../modules/ai/assets/js/editor/hooks/use-introduction.js":
3736 /*!****************************************************************!*\
3737 !*** ../modules/ai/assets/js/editor/hooks/use-introduction.js ***!
3738 \****************************************************************/
3739 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3740
3741 "use strict";
3742
3743
3744 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3745 Object.defineProperty(exports, "__esModule", ({
3746 value: true
3747 }));
3748 exports["default"] = useIntroduction;
3749 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
3750 var _react = __webpack_require__(/*! react */ "react");
3751 function useIntroduction(key) {
3752 var _window$elementor$con, _window$elementorAdmi, _window$elementorAdmi2, _globalConfig$introdu;
3753 var globalConfig = window.elementor ? (_window$elementor$con = window.elementor.config) === null || _window$elementor$con === void 0 ? void 0 : _window$elementor$con.user : (_window$elementorAdmi = window.elementorAdmin) === null || _window$elementorAdmi === void 0 ? void 0 : (_window$elementorAdmi2 = _window$elementorAdmi.config) === null || _window$elementorAdmi2 === void 0 ? void 0 : _window$elementorAdmi2.user;
3754 var _useState = (0, _react.useState)(!!(globalConfig !== null && globalConfig !== void 0 && (_globalConfig$introdu = globalConfig.introduction) !== null && _globalConfig$introdu !== void 0 && _globalConfig$introdu[key])),
3755 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
3756 isViewed = _useState2[0],
3757 setIsViewed = _useState2[1];
3758 function markAsViewed() {
3759 if (!key) {
3760 return Promise.reject();
3761 }
3762 return new Promise(function (resolve, reject) {
3763 if (isViewed) {
3764 reject();
3765 }
3766 setIsViewed(true);
3767 elementorCommon.ajax.addRequest('introduction_viewed', {
3768 data: {
3769 introductionKey: key
3770 },
3771 error: function error() {
3772 setIsViewed(false);
3773 reject();
3774 },
3775 success: function success() {
3776 setIsViewed(true);
3777 if (globalConfig !== null && globalConfig !== void 0 && globalConfig.introduction) {
3778 globalConfig.introduction[key] = true;
3779 }
3780 resolve();
3781 }
3782 });
3783 });
3784 }
3785 return {
3786 isViewed: isViewed,
3787 markAsViewed: markAsViewed
3788 };
3789 }
3790
3791 /***/ }),
3792
3793 /***/ "../modules/ai/assets/js/editor/hooks/use-prompt-enhancer.js":
3794 /*!*******************************************************************!*\
3795 !*** ../modules/ai/assets/js/editor/hooks/use-prompt-enhancer.js ***!
3796 \*******************************************************************/
3797 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3798
3799 "use strict";
3800
3801
3802 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3803 Object.defineProperty(exports, "__esModule", ({
3804 value: true
3805 }));
3806 exports["default"] = void 0;
3807 var _api = __webpack_require__(/*! ../api */ "../modules/ai/assets/js/editor/api/index.js");
3808 var _usePrompt2 = _interopRequireDefault(__webpack_require__(/*! ./use-prompt */ "../modules/ai/assets/js/editor/hooks/use-prompt.js"));
3809 var _config = __webpack_require__(/*! ../pages/form-layout/context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
3810 var enhancePromptMap = new Map([['media', _api.getImagePromptEnhanced], ['layout', _api.getLayoutPromptEnhanced]]);
3811 var getResult = function getResult(prompt, type, enhanceType) {
3812 if (!enhancePromptMap.has(type)) {
3813 throw new Error("Invalid prompt type: ".concat(type));
3814 }
3815 return enhancePromptMap.get(type)(prompt, enhanceType);
3816 };
3817
3818 /**
3819 * Hook to enhance a prompt.
3820 *
3821 * @param {string} prompt
3822 * @param {'media' | 'layout'} type
3823 * @return {{enhancedPrompt: string | undefined, isEnhancing: boolean, enhance: (function(...[*]): Promise)}}
3824 */
3825 var usePromptEnhancer = function usePromptEnhancer(prompt, type) {
3826 var _useConfig = (0, _config.useConfig)(),
3827 mode = _useConfig.mode;
3828 var _usePrompt = (0, _usePrompt2.default)(function () {
3829 return getResult(prompt, type, mode);
3830 }, prompt),
3831 enhancedData = _usePrompt.data,
3832 isEnhancing = _usePrompt.isLoading,
3833 enhance = _usePrompt.send;
3834 return {
3835 enhance: enhance,
3836 isEnhancing: isEnhancing,
3837 enhancedPrompt: enhancedData === null || enhancedData === void 0 ? void 0 : enhancedData.result
3838 };
3839 };
3840 var _default = usePromptEnhancer;
3841 exports["default"] = _default;
3842
3843 /***/ }),
3844
3845 /***/ "../modules/ai/assets/js/editor/hooks/use-prompt-history.js":
3846 /*!******************************************************************!*\
3847 !*** ../modules/ai/assets/js/editor/hooks/use-prompt-history.js ***!
3848 \******************************************************************/
3849 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3850
3851 "use strict";
3852
3853
3854 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3855 Object.defineProperty(exports, "__esModule", ({
3856 value: true
3857 }));
3858 exports["default"] = void 0;
3859 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
3860 var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "../node_modules/@babel/runtime/helpers/toConsumableArray.js"));
3861 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
3862 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
3863 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
3864 var _react = __webpack_require__(/*! react */ "react");
3865 var _api = __webpack_require__(/*! ../api */ "../modules/ai/assets/js/editor/api/index.js");
3866 function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
3867 function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
3868 var getImageThumbnailURL = function getImageThumbnailURL(base, imageURL) {
3869 if (!base) {
3870 return imageURL;
3871 }
3872 return "".concat(base, "/?o=").concat(btoa(imageURL, false));
3873 };
3874 var normalizeItems = function normalizeItems(response) {
3875 var meta = response.meta,
3876 items = response.items;
3877 return items === null || items === void 0 ? void 0 : items.map(function (item) {
3878 var _item$request, _item$request2, _item$request3, _item$response, _item$response$result, _item$response2, _item$response2$resul, _item$response3, _item$response3$resul, _item$response3$resul2;
3879 return {
3880 id: item === null || item === void 0 ? void 0 : item.elementorApiId,
3881 date: item === null || item === void 0 ? void 0 : item.createdAt,
3882 action: item === null || item === void 0 ? void 0 : item.action,
3883 prompt: item === null || item === void 0 ? void 0 : (_item$request = item.request) === null || _item$request === void 0 ? void 0 : _item$request.prompt,
3884 imageType: item === null || item === void 0 ? void 0 : (_item$request2 = item.request) === null || _item$request2 === void 0 ? void 0 : _item$request2.image_type,
3885 ratio: item === null || item === void 0 ? void 0 : (_item$request3 = item.request) === null || _item$request3 === void 0 ? void 0 : _item$request3.ratio,
3886 text: item === null || item === void 0 ? void 0 : (_item$response = item.response) === null || _item$response === void 0 ? void 0 : (_item$response$result = _item$response.results) === null || _item$response$result === void 0 ? void 0 : _item$response$result.text,
3887 images: item === null || item === void 0 ? void 0 : (_item$response2 = item.response) === null || _item$response2 === void 0 ? void 0 : (_item$response2$resul = _item$response2.results) === null || _item$response2$resul === void 0 ? void 0 : _item$response2$resul.images,
3888 thumbnails: item === null || item === void 0 ? void 0 : (_item$response3 = item.response) === null || _item$response3 === void 0 ? void 0 : (_item$response3$resul = _item$response3.results) === null || _item$response3$resul === void 0 ? void 0 : (_item$response3$resul2 = _item$response3$resul.images) === null || _item$response3$resul2 === void 0 ? void 0 : _item$response3$resul2.map(function (image) {
3889 return _objectSpread(_objectSpread({}, image), {}, {
3890 image_url: getImageThumbnailURL(meta.thumbnailUrl, image.image_url)
3891 });
3892 })
3893 };
3894 });
3895 };
3896 var usePromptHistory = function usePromptHistory(historyType) {
3897 var _useState = (0, _react.useState)(false),
3898 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
3899 isLoading = _useState2[0],
3900 setIsLoading = _useState2[1];
3901 var _useState3 = (0, _react.useState)({}),
3902 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
3903 data = _useState4[0],
3904 setData = _useState4[1];
3905 var _useState5 = (0, _react.useState)(''),
3906 _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
3907 error = _useState6[0],
3908 setError = _useState6[1];
3909 var fetchData = /*#__PURE__*/function () {
3910 var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(_ref) {
3911 var page, limit;
3912 return _regenerator.default.wrap(function _callee$(_context) {
3913 while (1) switch (_context.prev = _context.next) {
3914 case 0:
3915 page = _ref.page, limit = _ref.limit;
3916 return _context.abrupt("return", new Promise(function (resolve, reject) {
3917 setIsLoading(true);
3918 (0, _api.getHistory)(historyType, page, limit).then(function (response) {
3919 var clone = JSON.parse(JSON.stringify(data));
3920 clone.meta = response.meta;
3921 clone.items = [].concat((0, _toConsumableArray2.default)((clone === null || clone === void 0 ? void 0 : clone.items) || []), (0, _toConsumableArray2.default)(normalizeItems(response)));
3922 setData(clone);
3923 resolve(true);
3924 }).catch(function (err) {
3925 var finalError = (err === null || err === void 0 ? void 0 : err.responseText) || err;
3926 setError(finalError);
3927 reject(finalError);
3928 }).finally(function () {
3929 return setIsLoading(false);
3930 });
3931 }));
3932 case 2:
3933 case "end":
3934 return _context.stop();
3935 }
3936 }, _callee);
3937 }));
3938 return function fetchData(_x) {
3939 return _ref2.apply(this, arguments);
3940 };
3941 }();
3942 var deleteItemById = function deleteItemById(id) {
3943 var itemIndex = data.items.findIndex(function (item) {
3944 return item.id === id;
3945 });
3946 if (-1 === itemIndex) {
3947 return false;
3948 }
3949 var clone = JSON.parse(JSON.stringify(data));
3950 clone.items.splice(itemIndex, 1);
3951 setData(clone);
3952 return true;
3953 };
3954 return {
3955 isLoading: isLoading,
3956 error: error,
3957 items: data.items,
3958 meta: data.meta,
3959 fetchData: fetchData,
3960 deleteItemById: deleteItemById
3961 };
3962 };
3963 var _default = usePromptHistory;
3964 exports["default"] = _default;
3965
3966 /***/ }),
3967
3968 /***/ "../modules/ai/assets/js/editor/hooks/use-prompt.js":
3969 /*!**********************************************************!*\
3970 !*** ../modules/ai/assets/js/editor/hooks/use-prompt.js ***!
3971 \**********************************************************/
3972 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3973
3974 "use strict";
3975
3976
3977 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3978 Object.defineProperty(exports, "__esModule", ({
3979 value: true
3980 }));
3981 exports["default"] = void 0;
3982 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
3983 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
3984 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
3985 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
3986 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
3987 var _react = __webpack_require__(/*! react */ "react");
3988 var _api = __webpack_require__(/*! ../api */ "../modules/ai/assets/js/editor/api/index.js");
3989 var _requestsIds = __webpack_require__(/*! ../context/requests-ids */ "../modules/ai/assets/js/editor/context/requests-ids.js");
3990 var _excluded = ["text", "response_id", "usage", "images"];
3991 function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
3992 function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
3993 var normalizeResponse = function normalizeResponse(_ref) {
3994 var text = _ref.text,
3995 responseId = _ref.response_id,
3996 usage = _ref.usage,
3997 images = _ref.images,
3998 optional = (0, _objectWithoutProperties2.default)(_ref, _excluded);
3999 var creditsData = usage ? usage.quota - usage.usedQuota : 0;
4000 var credits = Math.max(creditsData, 0);
4001 var result = text || images;
4002 var normalized = {
4003 result: result,
4004 responseId: responseId,
4005 credits: credits
4006 };
4007 if (optional.base_template_id) {
4008 normalized.baseTemplateId = optional.base_template_id;
4009 }
4010 normalized.type = optional.template_type;
4011 return normalized;
4012 };
4013 var usePrompt = function usePrompt(fetchData, initialState) {
4014 var _useState = (0, _react.useState)(false),
4015 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
4016 isLoading = _useState2[0],
4017 setIsLoading = _useState2[1];
4018 var _useState3 = (0, _react.useState)(''),
4019 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
4020 error = _useState4[0],
4021 setError = _useState4[1];
4022 var _useState5 = (0, _react.useState)(initialState),
4023 _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
4024 data = _useState6[0],
4025 setData = _useState6[1];
4026 var _useRequestIds = (0, _requestsIds.useRequestIds)(),
4027 setRequest = _useRequestIds.setRequest,
4028 editorSessionId = _useRequestIds.editorSessionId,
4029 sessionId = _useRequestIds.sessionId,
4030 generateId = _useRequestIds.generateId,
4031 batchId = _useRequestIds.batchId;
4032 var send = /*#__PURE__*/function () {
4033 var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(payload) {
4034 return _regenerator.default.wrap(function _callee$(_context) {
4035 while (1) switch (_context.prev = _context.next) {
4036 case 0:
4037 return _context.abrupt("return", new Promise(function (resolve, reject) {
4038 setError('');
4039 setIsLoading(true);
4040 var requestId = setRequest();
4041 var requestIds = {
4042 editorSessionId: editorSessionId.current,
4043 sessionId: sessionId.current,
4044 generateId: generateId.current,
4045 batchId: batchId.current,
4046 requestId: requestId.current
4047 };
4048 payload = _objectSpread(_objectSpread({}, payload), {}, {
4049 requestIds: requestIds
4050 });
4051 fetchData(payload).then(function (result) {
4052 var normalizedData = normalizeResponse(result);
4053 setData(normalizedData);
4054 resolve(normalizedData);
4055 }).catch(function (err) {
4056 var finalError = (err === null || err === void 0 ? void 0 : err.responseText) || err;
4057 setError(finalError);
4058 reject(finalError);
4059 }).finally(function () {
4060 return setIsLoading(false);
4061 });
4062 }));
4063 case 1:
4064 case "end":
4065 return _context.stop();
4066 }
4067 }, _callee);
4068 }));
4069 return function send(_x) {
4070 return _ref2.apply(this, arguments);
4071 };
4072 }();
4073 var sendUsageData = function sendUsageData() {
4074 var usageData = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : data;
4075 return usageData.responseId && (0, _api.setStatusFeedback)(usageData.responseId);
4076 };
4077 var reset = function reset() {
4078 setData(function (_ref3) {
4079 var credits = _ref3.credits;
4080 return {
4081 credits: credits,
4082 result: '',
4083 responseId: ''
4084 };
4085 });
4086 setError('');
4087 setIsLoading(false);
4088 };
4089 var setResult = function setResult(result) {
4090 var responseId = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
4091 var updatedResult = _objectSpread({}, data);
4092 updatedResult.result = result;
4093 if (responseId) {
4094 updatedResult.responseId = responseId;
4095 }
4096 setData(updatedResult);
4097 };
4098 return {
4099 isLoading: isLoading,
4100 error: error,
4101 data: data,
4102 setResult: setResult,
4103 reset: reset,
4104 send: send,
4105 sendUsageData: sendUsageData
4106 };
4107 };
4108 var _default = usePrompt;
4109 exports["default"] = _default;
4110
4111 /***/ }),
4112
4113 /***/ "../modules/ai/assets/js/editor/hooks/use-text-prompt.js":
4114 /*!***************************************************************!*\
4115 !*** ../modules/ai/assets/js/editor/hooks/use-text-prompt.js ***!
4116 \***************************************************************/
4117 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4118
4119 "use strict";
4120
4121
4122 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4123 Object.defineProperty(exports, "__esModule", ({
4124 value: true
4125 }));
4126 exports["default"] = void 0;
4127 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
4128 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
4129 var _api = __webpack_require__(/*! ../api */ "../modules/ai/assets/js/editor/api/index.js");
4130 var _usePrompt = _interopRequireDefault(__webpack_require__(/*! ./use-prompt */ "../modules/ai/assets/js/editor/hooks/use-prompt.js"));
4131 var getTextResult = /*#__PURE__*/function () {
4132 var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(payload) {
4133 return _regenerator.default.wrap(function _callee$(_context) {
4134 while (1) switch (_context.prev = _context.next) {
4135 case 0:
4136 if (!(payload !== null && payload !== void 0 && payload.instruction)) {
4137 _context.next = 2;
4138 break;
4139 }
4140 return _context.abrupt("return", (0, _api.getEditText)(payload));
4141 case 2:
4142 return _context.abrupt("return", (0, _api.getCompletionText)(payload));
4143 case 3:
4144 case "end":
4145 return _context.stop();
4146 }
4147 }, _callee);
4148 }));
4149 return function getTextResult(_x) {
4150 return _ref.apply(this, arguments);
4151 };
4152 }();
4153 var useTextPrompt = function useTextPrompt(initialValue) {
4154 var promptData = (0, _usePrompt.default)(getTextResult, initialValue);
4155 return promptData;
4156 };
4157 var _default = useTextPrompt;
4158 exports["default"] = _default;
4159
4160 /***/ }),
4161
4162 /***/ "../modules/ai/assets/js/editor/hooks/use-upgrade-message.js":
4163 /*!*******************************************************************!*\
4164 !*** ../modules/ai/assets/js/editor/hooks/use-upgrade-message.js ***!
4165 \*******************************************************************/
4166 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4167
4168 "use strict";
4169
4170
4171 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4172 Object.defineProperty(exports, "__esModule", ({
4173 value: true
4174 }));
4175 exports["default"] = exports.USAGE_PERCENTAGE_THRESHOLD = void 0;
4176 var _useIntroduction2 = _interopRequireDefault(__webpack_require__(/*! ./use-introduction */ "../modules/ai/assets/js/editor/hooks/use-introduction.js"));
4177 var USAGE_PERCENTAGE_THRESHOLD = 80;
4178 exports.USAGE_PERCENTAGE_THRESHOLD = USAGE_PERCENTAGE_THRESHOLD;
4179 var useUpgradeMessage = function useUpgradeMessage(_ref) {
4180 var usagePercentage = _ref.usagePercentage,
4181 hasSubscription = _ref.hasSubscription;
4182 var _useIntroduction = (0, _useIntroduction2.default)('e-ai-upgrade-message'),
4183 isBannerViewed = _useIntroduction.isViewed,
4184 markBannerAsViewed = _useIntroduction.markAsViewed;
4185 var isFreeUser = !hasSubscription;
4186 var isBelowThreshold = usagePercentage < USAGE_PERCENTAGE_THRESHOLD;
4187 var isAboveThreshold = usagePercentage >= USAGE_PERCENTAGE_THRESHOLD;
4188 var showBadge = isAboveThreshold || isFreeUser && isBannerViewed;
4189 var showBanner = !isBannerViewed && isFreeUser && isBelowThreshold;
4190 return {
4191 showBadge: showBadge,
4192 showBanner: showBanner,
4193 markBannerAsViewed: markBannerAsViewed
4194 };
4195 };
4196 var _default = useUpgradeMessage;
4197 exports["default"] = _default;
4198
4199 /***/ }),
4200
4201 /***/ "../modules/ai/assets/js/editor/hooks/use-user-info.js":
4202 /*!*************************************************************!*\
4203 !*** ../modules/ai/assets/js/editor/hooks/use-user-info.js ***!
4204 \*************************************************************/
4205 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4206
4207 "use strict";
4208
4209
4210 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4211 Object.defineProperty(exports, "__esModule", ({
4212 value: true
4213 }));
4214 exports["default"] = void 0;
4215 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
4216 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
4217 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
4218 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
4219 var _react = __webpack_require__(/*! react */ "react");
4220 var _api = __webpack_require__(/*! ../api */ "../modules/ai/assets/js/editor/api/index.js");
4221 function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
4222 function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4223 var useUserInfo = function useUserInfo() {
4224 var _useState = (0, _react.useState)(false),
4225 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
4226 isLoaded = _useState2[0],
4227 setIsLoaded = _useState2[1];
4228 var _useState3 = (0, _react.useState)(false),
4229 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
4230 isLoading = _useState4[0],
4231 setIsLoading = _useState4[1];
4232 var _useState5 = (0, _react.useState)({
4233 is_connected: false,
4234 is_get_started: false,
4235 connect_url: '',
4236 usage: {
4237 hasAiSubscription: false,
4238 quota: 0,
4239 usedQuota: 0
4240 }
4241 }),
4242 _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
4243 userInfo = _useState6[0],
4244 setUserInfo = _useState6[1];
4245 var credits = userInfo.usage.quota - userInfo.usage.usedQuota;
4246 var usagePercentage = userInfo.usage.usedQuota / userInfo.usage.quota * 100;
4247 var fetchData = /*#__PURE__*/function () {
4248 var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
4249 var userInfoResult;
4250 return _regenerator.default.wrap(function _callee$(_context) {
4251 while (1) switch (_context.prev = _context.next) {
4252 case 0:
4253 setIsLoading(true);
4254 _context.next = 3;
4255 return (0, _api.getUserInformation)();
4256 case 3:
4257 userInfoResult = _context.sent;
4258 setUserInfo(function (prevState) {
4259 return _objectSpread(_objectSpread({}, prevState), userInfoResult);
4260 });
4261 setIsLoaded(true);
4262 setIsLoading(false);
4263 case 7:
4264 case "end":
4265 return _context.stop();
4266 }
4267 }, _callee);
4268 }));
4269 return function fetchData() {
4270 return _ref.apply(this, arguments);
4271 };
4272 }();
4273 if (!isLoaded && !isLoading) {
4274 fetchData();
4275 }
4276 return {
4277 isLoading: isLoading,
4278 isLoaded: isLoaded,
4279 isConnected: userInfo.is_connected,
4280 isGetStarted: userInfo.is_get_started,
4281 connectUrl: userInfo.connect_url,
4282 builderUrl: userInfo.usage.builderUrl,
4283 hasSubscription: userInfo.usage.hasAiSubscription,
4284 credits: credits < 0 ? 0 : credits,
4285 usagePercentage: Math.round(usagePercentage),
4286 fetchData: fetchData
4287 };
4288 };
4289 var _default = useUserInfo;
4290 exports["default"] = _default;
4291
4292 /***/ }),
4293
4294 /***/ "../modules/ai/assets/js/editor/icons/brush-icon.js":
4295 /*!**********************************************************!*\
4296 !*** ../modules/ai/assets/js/editor/icons/brush-icon.js ***!
4297 \**********************************************************/
4298 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4299
4300 "use strict";
4301
4302
4303 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4304 Object.defineProperty(exports, "__esModule", ({
4305 value: true
4306 }));
4307 exports["default"] = void 0;
4308 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
4309 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4310 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4311 var BrushIcon = _react.default.forwardRef(function (props, ref) {
4312 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
4313 viewBox: "0 0 24 24"
4314 }, props, {
4315 ref: ref
4316 }), /*#__PURE__*/_react.default.createElement("path", {
4317 fillRule: "evenodd",
4318 clipRule: "evenodd",
4319 d: "M20.8815 2.25919C20.9203 2.25301 20.9599 2.24983 21 2.24988C21.0827 2.24978 21.1629 2.26335 21.2384 2.2887C21.367 2.33162 21.4784 2.40776 21.5642 2.5058C21.6895 2.64891 21.76 2.83868 21.749 3.03992C21.7477 3.06492 21.7452 3.08966 21.7414 3.11407C21.3311 6.09743 20.124 8.91507 18.2472 11.2703C16.5079 13.4529 14.2532 15.1635 11.6906 16.2509C11.8289 17.1168 11.7249 18.0054 11.3884 18.8177C11.0289 19.6857 10.4201 20.4275 9.63896 20.9495C8.85782 21.4714 7.93946 21.75 7 21.75H3C2.58579 21.75 2.25 21.4142 2.25 21V17C2.25 16.0605 2.52858 15.1421 3.05052 14.361C3.57246 13.5799 4.3143 12.9711 5.18225 12.6115C5.99455 12.2751 6.88314 12.1711 7.74905 12.3094C8.83643 9.74682 10.547 7.49212 12.7296 5.75287C15.0837 3.87693 17.8998 2.67012 20.8815 2.25919ZM10.0984 16.0649C10.077 16.0082 10.0629 15.9506 10.0557 15.893C9.89413 15.4471 9.63624 15.04 9.2981 14.7019C8.96001 14.3638 8.55301 14.1059 8.10721 13.9444C8.04953 13.9372 7.99178 13.9231 7.93499 13.9016C7.90509 13.8903 7.87632 13.8773 7.84877 13.8628C7.77794 13.8436 7.70633 13.8268 7.63404 13.8124C7.0036 13.687 6.35014 13.7514 5.75628 13.9974C5.16242 14.2433 4.65484 14.6599 4.29772 15.1944C3.94061 15.7288 3.75 16.3572 3.75 17V20.25H7C7.64279 20.25 8.27114 20.0594 8.8056 19.7022C9.34006 19.3451 9.75662 18.8376 10.0026 18.2437C10.2486 17.6498 10.313 16.9964 10.1876 16.3659C10.1732 16.2935 10.1563 16.2218 10.1371 16.1509C10.1226 16.1234 10.1097 16.0947 10.0984 16.0649ZM10.3588 13.6412C10.7069 13.9894 10.9969 14.3876 11.2204 14.8204C12.2258 14.3839 13.1782 13.8417 14.0621 13.2048C13.3066 11.827 12.173 10.6933 10.7952 9.93782C10.1583 10.8218 9.61603 11.7741 9.17957 12.7795C9.61238 13.0031 10.0106 13.293 10.3588 13.6412ZM11.7434 8.75107C13.1943 9.59789 14.4021 10.8057 15.2489 12.2565C15.9093 11.6727 16.5204 11.0304 17.0741 10.3355C18.5698 8.45849 19.5983 6.25889 20.0821 3.9179C17.7411 4.40165 15.5415 5.43018 13.6644 6.92595C12.9696 7.47964 12.3273 8.0907 11.7434 8.75107Z"
4320 }));
4321 });
4322 var _default = BrushIcon;
4323 exports["default"] = _default;
4324
4325 /***/ }),
4326
4327 /***/ "../modules/ai/assets/js/editor/icons/bulb-icon.js":
4328 /*!*********************************************************!*\
4329 !*** ../modules/ai/assets/js/editor/icons/bulb-icon.js ***!
4330 \*********************************************************/
4331 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4332
4333 "use strict";
4334
4335
4336 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4337 Object.defineProperty(exports, "__esModule", ({
4338 value: true
4339 }));
4340 exports["default"] = void 0;
4341 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
4342 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4343 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4344 var BulbIcon = _react.default.forwardRef(function (props, ref) {
4345 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({}, props, {
4346 ref: ref
4347 }), /*#__PURE__*/_react.default.createElement("svg", {
4348 width: "22",
4349 height: "22",
4350 viewBox: "0 0 22 22",
4351 fill: "none",
4352 xmlns: "http://www.w3.org/2000/svg"
4353 }, /*#__PURE__*/_react.default.createElement("g", {
4354 clipPath: "url(#clip0_10743_8902)"
4355 }, /*#__PURE__*/_react.default.createElement("path", {
4356 d: "M2.75 10.0833H3.66667M11 2.75V3.66667M18.3333 10.0833H19.25M5.13333 5.13333L5.775 5.775M16.8667 5.13333L16.225 5.775",
4357 stroke: "#2563EB",
4358 strokeWidth: "1.5",
4359 strokeLinecap: "round",
4360 strokeLinejoin: "round"
4361 }), /*#__PURE__*/_react.default.createElement("path", {
4362 d: "M9.16675 16.041C8.70841 15.1243 6.91205 13.2842 6.62523 12.366C6.3384 11.4477 6.34775 10.4626 6.65195 9.54997C6.95615 8.63738 7.53978 7.84362 8.32016 7.28116C9.10054 6.71869 10.0381 6.41602 11.0001 6.41602C11.962 6.41602 12.8996 6.71869 13.68 7.28116C14.4604 7.84362 15.044 8.63738 15.3482 9.54997C15.6524 10.4626 15.6618 11.4477 15.3749 12.366C15.0881 13.2842 13.2917 15.1243 12.8334 16.041C12.8334 16.041 12.7597 17.3762 12.8334 17.8743C12.8334 18.3606 12.6403 18.8269 12.2964 19.1707C11.9526 19.5145 11.4863 19.7077 11.0001 19.7077C10.5139 19.7077 10.0475 19.5145 9.70372 19.1707C9.3599 18.8269 9.16675 18.3606 9.16675 17.8743C9.2405 17.3762 9.16675 16.041 9.16675 16.041Z",
4363 stroke: "#2563EB",
4364 strokeWidth: "1.5",
4365 strokeLinecap: "round",
4366 strokeLinejoin: "round"
4367 }), /*#__PURE__*/_react.default.createElement("path", {
4368 d: "M10.0833 16.5H11.9166",
4369 stroke: "#2563EB",
4370 strokeWidth: "1.5",
4371 strokeLinecap: "round",
4372 strokeLinejoin: "round"
4373 })), /*#__PURE__*/_react.default.createElement("defs", null, /*#__PURE__*/_react.default.createElement("clipPath", {
4374 id: "clip0_10743_8902"
4375 }, /*#__PURE__*/_react.default.createElement("rect", {
4376 width: "22",
4377 height: "22",
4378 fill: "white"
4379 })))));
4380 });
4381 var _default = BulbIcon;
4382 exports["default"] = _default;
4383
4384 /***/ }),
4385
4386 /***/ "../modules/ai/assets/js/editor/icons/chevron-left-icon.js":
4387 /*!*****************************************************************!*\
4388 !*** ../modules/ai/assets/js/editor/icons/chevron-left-icon.js ***!
4389 \*****************************************************************/
4390 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4391
4392 "use strict";
4393
4394
4395 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4396 Object.defineProperty(exports, "__esModule", ({
4397 value: true
4398 }));
4399 exports["default"] = void 0;
4400 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
4401 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4402 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4403 var ChevronLeftIcon = _react.default.forwardRef(function (props, ref) {
4404 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
4405 viewBox: "0 0 24 24"
4406 }, props, {
4407 ref: ref
4408 }), /*#__PURE__*/_react.default.createElement("path", {
4409 fillRule: "evenodd",
4410 clipRule: "evenodd",
4411 d: "M15.5303 18.2803C15.8232 17.9874 15.8232 17.5126 15.5303 17.2197L10.0607 11.75L15.5303 6.28033C15.8232 5.98744 15.8232 5.51256 15.5303 5.21967C15.2374 4.92678 14.7626 4.92678 14.4697 5.21967L8.46967 11.2197C8.17678 11.5126 8.17678 11.9874 8.46967 12.2803L14.4697 18.2803C14.7626 18.5732 15.2374 18.5732 15.5303 18.2803Z"
4412 }));
4413 });
4414 var _default = ChevronLeftIcon;
4415 exports["default"] = _default;
4416
4417 /***/ }),
4418
4419 /***/ "../modules/ai/assets/js/editor/icons/chevron-right-icon.js":
4420 /*!******************************************************************!*\
4421 !*** ../modules/ai/assets/js/editor/icons/chevron-right-icon.js ***!
4422 \******************************************************************/
4423 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4424
4425 "use strict";
4426
4427
4428 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4429 Object.defineProperty(exports, "__esModule", ({
4430 value: true
4431 }));
4432 exports["default"] = void 0;
4433 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
4434 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4435 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4436 var ChevronRightIcon = _react.default.forwardRef(function (props, ref) {
4437 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
4438 viewBox: "0 0 24 24"
4439 }, props, {
4440 ref: ref
4441 }), /*#__PURE__*/_react.default.createElement("path", {
4442 fillRule: "evenodd",
4443 clipRule: "evenodd",
4444 d: "M8.46967 18.2803C8.17678 17.9874 8.17678 17.5126 8.46967 17.2197L13.9393 11.75L8.46967 6.28033C8.17678 5.98744 8.17678 5.51256 8.46967 5.21967C8.76256 4.92678 9.23744 4.92678 9.53033 5.21967L15.5303 11.2197C15.8232 11.5126 15.8232 11.9874 15.5303 12.2803L9.53033 18.2803C9.23744 18.5732 8.76256 18.5732 8.46967 18.2803Z"
4445 }));
4446 });
4447 var _default = ChevronRightIcon;
4448 exports["default"] = _default;
4449
4450 /***/ }),
4451
4452 /***/ "../modules/ai/assets/js/editor/icons/code-icon.js":
4453 /*!*********************************************************!*\
4454 !*** ../modules/ai/assets/js/editor/icons/code-icon.js ***!
4455 \*********************************************************/
4456 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4457
4458 "use strict";
4459
4460
4461 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4462 Object.defineProperty(exports, "__esModule", ({
4463 value: true
4464 }));
4465 exports["default"] = void 0;
4466 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
4467 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4468 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4469 var CodeIcon = _react.default.forwardRef(function (props, ref) {
4470 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
4471 viewBox: "0 0 24 24"
4472 }, props, {
4473 ref: ref
4474 }), /*#__PURE__*/_react.default.createElement("path", {
4475 fillRule: "evenodd",
4476 d: "M7.53 7.47a.75.75 0 0 1 0 1.06L4.06 12l3.47 3.47a.75.75 0 1 1-1.06 1.06l-4-4a.75.75 0 0 1 0-1.06l4-4a.75.75 0 0 1 1.06 0ZM16.47 7.47a.75.75 0 0 1 1.06 0l4 4a.75.75 0 0 1 0 1.06l-4 4a.75.75 0 1 1-1.06-1.06L19.94 12l-3.47-3.47a.75.75 0 0 1 0-1.06ZM14.182 3.272a.75.75 0 0 1 .546.91l-4 16a.75.75 0 0 1-1.456-.364l4-16a.75.75 0 0 1 .91-.546Z",
4477 clipRule: "evenodd"
4478 }));
4479 });
4480 var _default = CodeIcon;
4481 exports["default"] = _default;
4482
4483 /***/ }),
4484
4485 /***/ "../modules/ai/assets/js/editor/icons/copy-icon.js":
4486 /*!*********************************************************!*\
4487 !*** ../modules/ai/assets/js/editor/icons/copy-icon.js ***!
4488 \*********************************************************/
4489 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4490
4491 "use strict";
4492
4493
4494 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4495 Object.defineProperty(exports, "__esModule", ({
4496 value: true
4497 }));
4498 exports["default"] = void 0;
4499 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
4500 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4501 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4502 var CopyIcon = _react.default.forwardRef(function (props, ref) {
4503 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
4504 viewBox: "0 0 24 24"
4505 }, props, {
4506 ref: ref
4507 }), /*#__PURE__*/_react.default.createElement("path", {
4508 fillRule: "evenodd",
4509 clipRule: "evenodd",
4510 d: "M9 3.75C8.30964 3.75 7.75 4.30964 7.75 5V15C7.75 15.6904 8.30964 16.25 9 16.25H19C19.6904 16.25 20.25 15.6904 20.25 15V5C20.25 4.30964 19.6904 3.75 19 3.75H9ZM6.25 5C6.25 3.48122 7.48122 2.25 9 2.25H19C20.5188 2.25 21.75 3.48122 21.75 5V15C21.75 16.5188 20.5188 17.75 19 17.75H9C7.48122 17.75 6.25 16.5188 6.25 15V5Z"
4511 }), /*#__PURE__*/_react.default.createElement("path", {
4512 fillRule: "evenodd",
4513 clipRule: "evenodd",
4514 d: "M5 7.75C4.66848 7.75 4.35054 7.8817 4.11612 8.11612C3.8817 8.35054 3.75 8.66848 3.75 9V19C3.75 19.3315 3.8817 19.6495 4.11612 19.8839C4.35054 20.1183 4.66848 20.25 5 20.25H15C15.3315 20.25 15.6495 20.1183 15.8839 19.8839C16.1183 19.6495 16.25 19.3315 16.25 19V17C16.25 16.5858 16.5858 16.25 17 16.25C17.4142 16.25 17.75 16.5858 17.75 17V19C17.75 19.7293 17.4603 20.4288 16.9445 20.9445C16.4288 21.4603 15.7293 21.75 15 21.75H5C4.27065 21.75 3.57118 21.4603 3.05546 20.9445C2.53973 20.4288 2.25 19.7293 2.25 19V9C2.25 8.27065 2.53973 7.57118 3.05546 7.05546C3.57118 6.53973 4.27065 6.25 5 6.25H7C7.41421 6.25 7.75 6.58579 7.75 7C7.75 7.41421 7.41421 7.75 7 7.75H5Z"
4515 }));
4516 });
4517 var _default = CopyIcon;
4518 exports["default"] = _default;
4519
4520 /***/ }),
4521
4522 /***/ "../modules/ai/assets/js/editor/icons/download-icon.js":
4523 /*!*************************************************************!*\
4524 !*** ../modules/ai/assets/js/editor/icons/download-icon.js ***!
4525 \*************************************************************/
4526 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4527
4528 "use strict";
4529
4530
4531 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4532 Object.defineProperty(exports, "__esModule", ({
4533 value: true
4534 }));
4535 exports["default"] = void 0;
4536 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
4537 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4538 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4539 var DownloadIcon = _react.default.forwardRef(function (props, ref) {
4540 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
4541 viewBox: "0 0 24 24"
4542 }, props, {
4543 ref: ref
4544 }), /*#__PURE__*/_react.default.createElement("path", {
4545 fillRule: "evenodd",
4546 clipRule: "evenodd",
4547 d: "M4 16.25C4.41421 16.25 4.75 16.5858 4.75 17V19C4.75 19.3315 4.8817 19.6495 5.11612 19.8839C5.35054 20.1183 5.66848 20.25 6 20.25H18C18.3315 20.25 18.6495 20.1183 18.8839 19.8839C19.1183 19.6495 19.25 19.3315 19.25 19V17C19.25 16.5858 19.5858 16.25 20 16.25C20.4142 16.25 20.75 16.5858 20.75 17V19C20.75 19.7293 20.4603 20.4288 19.9445 20.9445C19.4288 21.4603 18.7293 21.75 18 21.75H6C5.27065 21.75 4.57118 21.4603 4.05546 20.9445C3.53973 20.4288 3.25 19.7293 3.25 19V17C3.25 16.5858 3.58579 16.25 4 16.25Z"
4548 }), /*#__PURE__*/_react.default.createElement("path", {
4549 fillRule: "evenodd",
4550 clipRule: "evenodd",
4551 d: "M6.46967 10.4697C6.76256 10.1768 7.23744 10.1768 7.53033 10.4697L12 14.9393L16.4697 10.4697C16.7626 10.1768 17.2374 10.1768 17.5303 10.4697C17.8232 10.7626 17.8232 11.2374 17.5303 11.5303L12.5303 16.5303C12.2374 16.8232 11.7626 16.8232 11.4697 16.5303L6.46967 11.5303C6.17678 11.2374 6.17678 10.7626 6.46967 10.4697Z"
4552 }), /*#__PURE__*/_react.default.createElement("path", {
4553 fillRule: "evenodd",
4554 clipRule: "evenodd",
4555 d: "M12 3.25C12.4142 3.25 12.75 3.58579 12.75 4V16C12.75 16.4142 12.4142 16.75 12 16.75C11.5858 16.75 11.25 16.4142 11.25 16V4C11.25 3.58579 11.5858 3.25 12 3.25Z"
4556 }));
4557 });
4558 var _default = DownloadIcon;
4559 exports["default"] = _default;
4560
4561 /***/ }),
4562
4563 /***/ "../modules/ai/assets/js/editor/icons/edit-icon.js":
4564 /*!*********************************************************!*\
4565 !*** ../modules/ai/assets/js/editor/icons/edit-icon.js ***!
4566 \*********************************************************/
4567 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4568
4569 "use strict";
4570
4571
4572 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4573 Object.defineProperty(exports, "__esModule", ({
4574 value: true
4575 }));
4576 exports["default"] = void 0;
4577 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
4578 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4579 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4580 var EditIcon = _react.default.forwardRef(function (props, ref) {
4581 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
4582 viewBox: "0 0 24 24"
4583 }, props, {
4584 ref: ref
4585 }), /*#__PURE__*/_react.default.createElement("path", {
4586 fillRule: "evenodd",
4587 clipRule: "evenodd",
4588 d: "M13.9697 4.96967C14.6408 4.29858 15.5509 3.92157 16.5 3.92157C17.4491 3.92157 18.3592 4.29858 19.0303 4.96967C19.7014 5.64075 20.0784 6.55094 20.0784 7.5C20.0784 8.44905 19.7014 9.35924 19.0303 10.0303L8.53033 20.5303C8.38968 20.671 8.19891 20.75 8 20.75H4C3.58579 20.75 3.25 20.4142 3.25 20V16C3.25 15.8011 3.32902 15.6103 3.46967 15.4697L13.9697 4.96967ZM16.5 5.42157C15.9488 5.42157 15.4201 5.64055 15.0303 6.03033L4.75 16.3107V19.25H7.68934L17.9697 8.96967C18.3595 8.57989 18.5784 8.05123 18.5784 7.5C18.5784 6.94876 18.3595 6.42011 17.9697 6.03033C17.5799 5.64055 17.0512 5.42157 16.5 5.42157Z"
4589 }), /*#__PURE__*/_react.default.createElement("path", {
4590 fillRule: "evenodd",
4591 clipRule: "evenodd",
4592 d: "M12.9697 5.96967C13.2626 5.67677 13.7374 5.67677 14.0303 5.96967L18.0303 9.96967C18.3232 10.2626 18.3232 10.7374 18.0303 11.0303C17.7374 11.3232 17.2626 11.3232 16.9697 11.0303L12.9697 7.03033C12.6768 6.73743 12.6768 6.26256 12.9697 5.96967Z"
4593 }));
4594 });
4595 var _default = EditIcon;
4596 exports["default"] = _default;
4597
4598 /***/ }),
4599
4600 /***/ "../modules/ai/assets/js/editor/icons/enlarger-icon.js":
4601 /*!*************************************************************!*\
4602 !*** ../modules/ai/assets/js/editor/icons/enlarger-icon.js ***!
4603 \*************************************************************/
4604 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4605
4606 "use strict";
4607
4608
4609 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4610 Object.defineProperty(exports, "__esModule", ({
4611 value: true
4612 }));
4613 exports["default"] = void 0;
4614 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
4615 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4616 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4617 var ExpandIcon = _react.default.forwardRef(function (props, ref) {
4618 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
4619 viewBox: "0 0 24 24"
4620 }, props, {
4621 ref: ref
4622 }), /*#__PURE__*/_react.default.createElement("path", {
4623 fillRule: "evenodd",
4624 clipRule: "evenodd",
4625 d: "M5.11612 5.11612C5.35054 4.8817 5.66848 4.75 6 4.75H18C18.3315 4.75 18.6495 4.8817 18.8839 5.11612C19.1183 5.35054 19.25 5.66848 19.25 6V18C19.25 18.3315 19.1183 18.6495 18.8839 18.8839C18.6495 19.1183 18.3315 19.25 18 19.25H11.7335C11.7444 19.1709 11.75 19.0908 11.75 19.01V14.01C11.75 13.8051 11.7141 13.604 11.6457 13.4149L16.25 8.81066V11C16.25 11.4142 16.5858 11.75 17 11.75C17.4142 11.75 17.75 11.4142 17.75 11V7C17.75 6.89831 17.7298 6.80134 17.6931 6.71291C17.6565 6.62445 17.6022 6.54158 17.5303 6.46967C17.4584 6.39776 17.3755 6.34351 17.2871 6.30691C17.1993 6.27051 17.1031 6.2503 17.0022 6.25C17.0015 6.25 17.0007 6.25 17 6.25H16.9997H13C12.5858 6.25 12.25 6.58579 12.25 7C12.25 7.41421 12.5858 7.75 13 7.75H15.1893L10.5803 12.359C10.3956 12.2941 10.1995 12.26 10 12.26H5C4.91585 12.26 4.83232 12.2661 4.75 12.278V6C4.75 5.66848 4.8817 5.35054 5.11612 5.11612ZM4.75 14.01V18C4.75 18.3315 4.8817 18.6495 5.11612 18.8839C5.35054 19.1183 5.66848 19.25 6 19.25H10.07C10.11 19.2383 10.1468 19.2168 10.1768 19.1868C10.2237 19.1399 10.25 19.0763 10.25 19.01V14.01C10.25 13.9437 10.2237 13.8801 10.1768 13.8332C10.1299 13.7863 10.0663 13.76 10 13.76H5C4.9337 13.76 4.87011 13.7863 4.82322 13.8332C4.77634 13.8801 4.75 13.9437 4.75 14.01ZM3.25 14.01V6C3.25 5.27065 3.53973 4.57118 4.05546 4.05546C4.57118 3.53973 5.27065 3.25 6 3.25H18C18.7293 3.25 19.4288 3.53973 19.9445 4.05546C20.4603 4.57118 20.75 5.27065 20.75 6V18C20.75 18.7293 20.4603 19.4288 19.9445 19.9445C19.4288 20.4603 18.7293 20.75 18 20.75H10.187C10.1251 20.7566 10.0627 20.76 10 20.76H5C4.53587 20.76 4.09075 20.5756 3.76256 20.2474C3.43438 19.9193 3.25 19.4741 3.25 19.01V18V14.01Z"
4626 }));
4627 });
4628 var _default = ExpandIcon;
4629 exports["default"] = _default;
4630
4631 /***/ }),
4632
4633 /***/ "../modules/ai/assets/js/editor/icons/evolve-icon.js":
4634 /*!***********************************************************!*\
4635 !*** ../modules/ai/assets/js/editor/icons/evolve-icon.js ***!
4636 \***********************************************************/
4637 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4638
4639 "use strict";
4640
4641
4642 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4643 Object.defineProperty(exports, "__esModule", ({
4644 value: true
4645 }));
4646 exports["default"] = void 0;
4647 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4648 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
4649 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4650 var EvolveIcon = _react.default.forwardRef(function (props, ref) {
4651 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
4652 viewBox: "0 0 24 24"
4653 }, props, {
4654 ref: ref
4655 }), /*#__PURE__*/_react.default.createElement("path", {
4656 fillRule: "evenodd",
4657 clipRule: "evenodd",
4658 d: "M2.30691 2.71291C2.27024 2.80134 2.25 2.89831 2.25 3V8C2.25 8.41421 2.58579 8.75 3 8.75C3.41421 8.75 3.75 8.41421 3.75 8V4.81066L10.0056 11.0663L10.0057 11.0663C10.8022 11.8631 11.2497 12.9434 11.25 14.07V14.0702V15V21C11.25 21.4142 11.5858 21.75 12 21.75C12.4142 21.75 12.75 21.4142 12.75 21V15V14.0702V14.07C12.7503 12.9434 13.1979 11.863 13.9944 11.0663L20.25 4.81066V8C20.25 8.41421 20.5858 8.75 21 8.75C21.4142 8.75 21.75 8.41421 21.75 8V3C21.75 2.98706 21.7497 2.97419 21.749 2.96141C21.7446 2.87376 21.7251 2.79009 21.6931 2.71291C21.6565 2.62445 21.6022 2.54158 21.5303 2.46967C21.4584 2.39776 21.3755 2.34351 21.2871 2.30691C21.1987 2.27024 21.1017 2.25 21 2.25H16C15.5858 2.25 15.25 2.58579 15.25 3C15.25 3.41421 15.5858 3.75 16 3.75H19.1893L12.9337 10.0057L12.9336 10.0057C12.5656 10.3739 12.2526 10.7867 12 11.2316C11.7474 10.7867 11.4344 10.3739 11.0664 10.0057L11.0663 10.0057L4.81066 3.75H8C8.41421 3.75 8.75 3.41421 8.75 3C8.75 2.58579 8.41421 2.25 8 2.25H3C2.7937 2.25 2.60686 2.33329 2.47126 2.46808C2.47073 2.46861 2.4702 2.46914 2.46967 2.46967C2.46914 2.4702 2.46861 2.47073 2.46808 2.47126C2.39696 2.5428 2.34324 2.62511 2.30691 2.71291Z"
4659 }));
4660 });
4661 var _default = EvolveIcon;
4662 exports["default"] = _default;
4663
4664 /***/ }),
4665
4666 /***/ "../modules/ai/assets/js/editor/icons/expand-icon.js":
4667 /*!***********************************************************!*\
4668 !*** ../modules/ai/assets/js/editor/icons/expand-icon.js ***!
4669 \***********************************************************/
4670 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4671
4672 "use strict";
4673
4674
4675 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4676 Object.defineProperty(exports, "__esModule", ({
4677 value: true
4678 }));
4679 exports["default"] = void 0;
4680 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
4681 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4682 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4683 var ExpandIcon = _react.default.forwardRef(function (props, ref) {
4684 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
4685 viewBox: "0 0 24 24"
4686 }, props, {
4687 ref: ref
4688 }), /*#__PURE__*/_react.default.createElement("path", {
4689 fillRule: "evenodd",
4690 clipRule: "evenodd",
4691 d: "M16 3.25C15.5858 3.25 15.25 3.58579 15.25 4C15.25 4.41421 15.5858 4.75 16 4.75H18.1893L13.4697 9.46967C13.1768 9.76256 13.1768 10.2374 13.4697 10.5303C13.7626 10.8232 14.2374 10.8232 14.5303 10.5303L19.25 5.81066V8C19.25 8.41421 19.5858 8.75 20 8.75C20.4142 8.75 20.75 8.41421 20.75 8V4C20.75 3.80806 20.6768 3.61612 20.5303 3.46967C20.4584 3.39776 20.3755 3.34351 20.2871 3.30691C20.1987 3.27024 20.1017 3.25 20 3.25H16ZM4 15.25C4.41421 15.25 4.75 15.5858 4.75 16V18.1893L9.46967 13.4697C9.76256 13.1768 10.2374 13.1768 10.5303 13.4697C10.8232 13.7626 10.8232 14.2374 10.5303 14.5303L5.81066 19.25H8C8.41421 19.25 8.75 19.5858 8.75 20C8.75 20.4142 8.41421 20.75 8 20.75H4C3.80806 20.75 3.61612 20.6768 3.46967 20.5303C3.39776 20.4584 3.34351 20.3755 3.30691 20.2871C3.27024 20.1987 3.25 20.1017 3.25 20V16C3.25 15.5858 3.58579 15.25 4 15.25ZM20.75 16V20C20.75 20.1017 20.7298 20.1987 20.6931 20.2871C20.6565 20.3755 20.6022 20.4584 20.5303 20.5303C20.4584 20.6022 20.3755 20.6565 20.2871 20.6931C20.2099 20.7251 20.1262 20.7446 20.0386 20.749C20.0258 20.7497 20.0129 20.75 20 20.75H16C15.5858 20.75 15.25 20.4142 15.25 20C15.25 19.5858 15.5858 19.25 16 19.25H18.1893L13.4697 14.5303C13.1768 14.2374 13.1768 13.7626 13.4697 13.4697C13.7626 13.1768 14.2374 13.1768 14.5303 13.4697L19.25 18.1893V16C19.25 15.5858 19.5858 15.25 20 15.25C20.4142 15.25 20.75 15.5858 20.75 16ZM3.71291 3.30691C3.80134 3.27024 3.89831 3.25 4 3.25H8C8.41421 3.25 8.75 3.58579 8.75 4C8.75 4.41421 8.41421 4.75 8 4.75H5.81066L10.5303 9.46967C10.8232 9.76256 10.8232 10.2374 10.5303 10.5303C10.2374 10.8232 9.76256 10.8232 9.46967 10.5303L4.75 5.81066V8C4.75 8.41421 4.41421 8.75 4 8.75C3.58579 8.75 3.25 8.41421 3.25 8V4C3.25 3.7937 3.33329 3.60686 3.46808 3.47126C3.46861 3.47073 3.46914 3.4702 3.46967 3.46967C3.4702 3.46914 3.47073 3.46861 3.47126 3.46808C3.5428 3.39696 3.62511 3.34324 3.71291 3.30691Z"
4692 }));
4693 });
4694 var _default = ExpandIcon;
4695 exports["default"] = _default;
4696
4697 /***/ }),
4698
4699 /***/ "../modules/ai/assets/js/editor/icons/redo-icon.js":
4700 /*!*********************************************************!*\
4701 !*** ../modules/ai/assets/js/editor/icons/redo-icon.js ***!
4702 \*********************************************************/
4703 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4704
4705 "use strict";
4706
4707
4708 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4709 Object.defineProperty(exports, "__esModule", ({
4710 value: true
4711 }));
4712 exports["default"] = void 0;
4713 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
4714 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4715 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4716 var RedoIcon = _react.default.forwardRef(function (props, ref) {
4717 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
4718 viewBox: "0 0 24 24"
4719 }, props, {
4720 ref: ref
4721 }), /*#__PURE__*/_react.default.createElement("path", {
4722 d: "M15.5303 5.46967C15.2374 5.17678 14.7626 5.17678 14.4697 5.46967C14.1768 5.76256 14.1768 6.23744 14.4697 6.53033L17.1893 9.25H8C6.74022 9.25 5.53204 9.75044 4.64124 10.6412C3.75044 11.532 3.25 12.7402 3.25 14C3.25 15.2598 3.75044 16.468 4.64124 17.3588C5.53204 18.2496 6.74022 18.75 8 18.75H9C9.41421 18.75 9.75 18.4142 9.75 18C9.75 17.5858 9.41421 17.25 9 17.25H8C7.13805 17.25 6.3114 16.9076 5.7019 16.2981C5.09241 15.6886 4.75 14.862 4.75 14C4.75 13.138 5.09241 12.3114 5.7019 11.7019C6.3114 11.0924 7.13805 10.75 8 10.75H17.1893L14.4697 13.4697C14.1768 13.7626 14.1768 14.2374 14.4697 14.5303C14.7626 14.8232 15.2374 14.8232 15.5303 14.5303L19.5303 10.5303C19.6768 10.3839 19.75 10.1919 19.75 10C19.75 9.89831 19.7298 9.80134 19.6931 9.71291C19.6565 9.62445 19.6022 9.54158 19.5303 9.46967L15.5303 5.46967Z"
4723 }));
4724 });
4725 var _default = RedoIcon;
4726 exports["default"] = _default;
4727
4728 /***/ }),
4729
4730 /***/ "../modules/ai/assets/js/editor/icons/refresh-icon.js":
4731 /*!************************************************************!*\
4732 !*** ../modules/ai/assets/js/editor/icons/refresh-icon.js ***!
4733 \************************************************************/
4734 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4735
4736 "use strict";
4737
4738
4739 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4740 Object.defineProperty(exports, "__esModule", ({
4741 value: true
4742 }));
4743 exports["default"] = void 0;
4744 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
4745 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4746 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4747 var RefreshIcon = _react.default.forwardRef(function (props, ref) {
4748 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
4749 viewBox: "0 0 24 24"
4750 }, props, {
4751 ref: ref
4752 }), /*#__PURE__*/_react.default.createElement("path", {
4753 fillRule: "evenodd",
4754 clipRule: "evenodd",
4755 d: "M7.55012 4.45178C9.23098 3.48072 11.1845 3.08925 13.1097 3.33767C15.035 3.58609 16.8251 4.46061 18.2045 5.82653C19.5838 7.19245 20.4757 8.97399 20.743 10.8967C20.8 11.307 20.5136 11.6858 20.1033 11.7428C19.6931 11.7998 19.3142 11.5135 19.2572 11.1032C19.0353 9.50635 18.2945 8.02677 17.149 6.89236C16.0035 5.75795 14.5167 5.03165 12.9178 4.82534C11.3189 4.61902 9.69644 4.94414 8.30047 5.75061C7.24361 6.36117 6.36093 7.22198 5.72541 8.24995H8.00009C8.41431 8.24995 8.75009 8.58574 8.75009 8.99995C8.75009 9.41417 8.41431 9.74995 8.00009 9.74995H4.51686C4.5055 9.75021 4.49412 9.75021 4.48272 9.74995H4.00009C3.58588 9.74995 3.25009 9.41417 3.25009 8.99995V4.99995C3.25009 4.58574 3.58588 4.24995 4.00009 4.24995C4.41431 4.24995 4.75009 4.58574 4.75009 4.99995V7.00691C5.48358 5.96916 6.43655 5.0951 7.55012 4.45178Z"
4756 }), /*#__PURE__*/_react.default.createElement("path", {
4757 fillRule: "evenodd",
4758 clipRule: "evenodd",
4759 d: "M3.89686 12.2571C4.30713 12.2001 4.68594 12.4864 4.74295 12.8967C4.96487 14.4936 5.70565 15.9731 6.85119 17.1075C7.99673 18.242 9.48347 18.9683 11.0824 19.1746C12.6813 19.3809 14.3037 19.0558 15.6997 18.2493C16.7566 17.6387 17.6393 16.7779 18.2748 15.75H16.0001C15.5859 15.75 15.2501 15.4142 15.2501 15C15.2501 14.5857 15.5859 14.25 16.0001 14.25H19.4833C19.4947 14.2497 19.5061 14.2497 19.5175 14.25H20.0001C20.4143 14.25 20.7501 14.5857 20.7501 15V19C20.7501 19.4142 20.4143 19.75 20.0001 19.75C19.5859 19.75 19.2501 19.4142 19.2501 19V16.993C18.5166 18.0307 17.5636 18.9048 16.4501 19.5481C14.7692 20.5192 12.8157 20.9107 10.8904 20.6622C8.9652 20.4138 7.17504 19.5393 5.79572 18.1734C4.4164 16.8074 3.52443 15.0259 3.25723 13.1032C3.20022 12.6929 3.48658 12.3141 3.89686 12.2571Z"
4760 }));
4761 });
4762 var _default = RefreshIcon;
4763 exports["default"] = _default;
4764
4765 /***/ }),
4766
4767 /***/ "../modules/ai/assets/js/editor/icons/remove-bg.js":
4768 /*!*********************************************************!*\
4769 !*** ../modules/ai/assets/js/editor/icons/remove-bg.js ***!
4770 \*********************************************************/
4771 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4772
4773 "use strict";
4774
4775
4776 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4777 Object.defineProperty(exports, "__esModule", ({
4778 value: true
4779 }));
4780 exports["default"] = void 0;
4781 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
4782 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4783 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4784 var RemoveBackgroundIcon = _react.default.forwardRef(function (props, ref) {
4785 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
4786 viewBox: "0 0 16 16"
4787 }, props, {
4788 ref: ref
4789 }), /*#__PURE__*/_react.default.createElement("path", {
4790 d: "M5.74996 2.50038C5.74996 2.2242 5.52607 2.00031 5.24989 2.00031C4.9737 2.00031 4.74981 2.2242 4.74981 2.50038V2.50705C4.74981 2.78323 4.9737 3.00712 5.24989 3.00712C5.52607 3.00712 5.74996 2.78323 5.74996 2.50705V2.50038Z"
4791 }), /*#__PURE__*/_react.default.createElement("path", {
4792 d: "M7.9997 2.00031C8.27588 2.00031 8.49978 2.2242 8.49978 2.50038V2.50705C8.49978 2.78323 8.27588 3.00712 7.9997 3.00712C7.72352 3.00712 7.49963 2.78323 7.49963 2.50705V2.50038C7.49963 2.2242 7.72352 2.00031 7.9997 2.00031Z"
4793 }), /*#__PURE__*/_react.default.createElement("path", {
4794 d: "M11.2496 2.50038C11.2496 2.2242 11.0257 2.00031 10.7495 2.00031C10.4733 2.00031 10.2494 2.2242 10.2494 2.50038V2.50705C10.2494 2.78323 10.4733 3.00712 10.7495 3.00712C11.0257 3.00712 11.2496 2.78323 11.2496 2.50705V2.50038Z"
4795 }), /*#__PURE__*/_react.default.createElement("path", {
4796 d: "M13.4993 2.00031C13.7755 2.00031 13.9994 2.2242 13.9994 2.50038V2.50705C13.9994 2.78323 13.7755 3.00712 13.4993 3.00712C13.2231 3.00712 12.9993 2.78323 12.9993 2.50705V2.50038C12.9993 2.2242 13.2231 2.00031 13.4993 2.00031Z"
4797 }), /*#__PURE__*/_react.default.createElement("path", {
4798 d: "M13.9994 5.25019C13.9994 4.97401 13.7755 4.75012 13.4993 4.75012C13.2231 4.75012 12.9993 4.97401 12.9993 5.25019V5.25686C12.9993 5.53304 13.2231 5.75694 13.4993 5.75694C13.7755 5.75694 13.9994 5.53304 13.9994 5.25686V5.25019Z"
4799 }), /*#__PURE__*/_react.default.createElement("path", {
4800 d: "M13.9994 8.00001C13.9994 7.72382 13.7755 7.49993 13.4993 7.49993C13.2231 7.49993 12.9993 7.72382 12.9993 8.00001V8.00667C12.9993 8.28286 13.2231 8.50675 13.4993 8.50675C13.7755 8.50675 13.9994 8.28286 13.9994 8.00667V8.00001Z"
4801 }), /*#__PURE__*/_react.default.createElement("path", {
4802 d: "M2.50007 7.49993C2.77626 7.49993 3.00015 7.72382 3.00015 8.00001V8.00667C3.00015 8.28286 2.77626 8.50675 2.50007 8.50675C2.22389 8.50675 2 8.28286 2 8.00667V8.00001C2 7.72382 2.22389 7.49993 2.50007 7.49993Z"
4803 }), /*#__PURE__*/_react.default.createElement("path", {
4804 d: "M3.00015 5.25019C3.00015 4.97401 2.77626 4.75012 2.50007 4.75012C2.22389 4.75012 2 4.97401 2 5.25019V5.25686C2 5.53304 2.22389 5.75694 2.50007 5.75694C2.77626 5.75694 3.00015 5.53304 3.00015 5.25686V5.25019Z"
4805 }), /*#__PURE__*/_react.default.createElement("path", {
4806 d: "M2.50007 2.00031C2.77626 2.00031 3.00015 2.2242 3.00015 2.50038V2.50705C3.00015 2.78323 2.77626 3.00712 2.50007 3.00712C2.22389 3.00712 2 2.78323 2 2.50705V2.50038C2 2.2242 2.22389 2.00031 2.50007 2.00031Z"
4807 }), /*#__PURE__*/_react.default.createElement("path", {
4808 d: "M9.37461 7.31255C9.94411 7.31255 10.4058 6.85088 10.4058 6.28137C10.4058 5.71187 9.94411 5.25019 9.37461 5.25019C8.8051 5.25019 8.34343 5.71187 8.34343 6.28137C8.34343 6.85088 8.8051 7.31255 9.37461 7.31255Z"
4809 }), /*#__PURE__*/_react.default.createElement("path", {
4810 d: "M9.37461 9.21061L7.6724 7.44357L7.66567 7.43672C7.27331 7.04478 6.79598 6.81248 6.28107 6.81248C5.76615 6.81248 5.28883 7.04478 4.89647 7.43672L4.88973 7.44358L2.13992 10.2982C2.05015 10.3913 2 10.5157 2 10.6451V13.4996C2 13.7758 2.22389 13.9997 2.50007 13.9997H13.4993C13.7755 13.9997 13.9994 13.7758 13.9994 13.4996V10.6451C13.9994 10.6365 13.9992 10.6279 13.9988 10.6194C13.9958 10.562 13.9833 10.5072 13.9627 10.4566C13.9409 10.403 13.9093 10.3523 13.8681 10.3073C13.8651 10.304 13.8621 10.3008 13.859 10.2976L12.4846 8.87085L12.4778 8.86399C12.0855 8.47205 11.6082 8.23975 11.0932 8.23975C10.5783 8.23975 10.101 8.47205 9.70864 8.86399L9.70191 8.87084L9.37461 9.21061ZM5.60649 8.14113L3.00015 10.8468V12.9996H12.9993V10.8468L11.7678 9.5684C11.5234 9.32549 11.2897 9.2399 11.0932 9.2399C10.8968 9.2399 10.6631 9.32549 10.4187 9.5684L10.069 9.93142L11.1097 11.0118C11.3013 11.2107 11.2954 11.5272 11.0965 11.7188C10.8975 11.9104 10.581 11.9045 10.3894 11.7056L9.01604 10.28C9.01482 10.2787 9.01361 10.2775 9.01241 10.2762L6.95564 8.14113C6.7112 7.89822 6.4775 7.81263 6.28107 7.81263C6.08463 7.81263 5.85094 7.89822 5.60649 8.14113Z"
4811 }));
4812 });
4813 var _default = RemoveBackgroundIcon;
4814 exports["default"] = _default;
4815
4816 /***/ }),
4817
4818 /***/ "../modules/ai/assets/js/editor/icons/replace-bg.js":
4819 /*!**********************************************************!*\
4820 !*** ../modules/ai/assets/js/editor/icons/replace-bg.js ***!
4821 \**********************************************************/
4822 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4823
4824 "use strict";
4825
4826
4827 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4828 Object.defineProperty(exports, "__esModule", ({
4829 value: true
4830 }));
4831 exports["default"] = void 0;
4832 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
4833 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4834 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4835 var ReplaceBackgroundIcon = _react.default.forwardRef(function (props, ref) {
4836 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
4837 viewBox: "0 0 16 16"
4838 }, props, {
4839 ref: ref
4840 }), /*#__PURE__*/_react.default.createElement("path", {
4841 d: "M4.35355 1.64645C4.54882 1.84171 4.54882 2.15829 4.35355 2.35355L2.35355 4.35355C2.15829 4.54882 1.84171 4.54882 1.64645 4.35355C1.45118 4.15829 1.45118 3.84171 1.64645 3.64645L3.64645 1.64645C3.84171 1.45118 4.15829 1.45118 4.35355 1.64645Z"
4842 }), /*#__PURE__*/_react.default.createElement("path", {
4843 d: "M7.68689 1.64645C7.88215 1.84171 7.88215 2.15829 7.68689 2.35355L2.35355 7.68689C2.15829 7.88215 1.84171 7.88215 1.64645 7.68689C1.45118 7.49162 1.45118 7.17504 1.64645 6.97978L6.97978 1.64645C7.17504 1.45118 7.49162 1.45118 7.68689 1.64645Z"
4844 }), /*#__PURE__*/_react.default.createElement("path", {
4845 d: "M11.0202 1.64645C11.2155 1.84171 11.2155 2.15829 11.0202 2.35355L6.68689 6.68689C6.49162 6.88215 6.17504 6.88215 5.97978 6.68689C5.78452 6.49162 5.78452 6.17504 5.97978 5.97978L10.3131 1.64645C10.5084 1.45118 10.825 1.45118 11.0202 1.64645Z"
4846 }), /*#__PURE__*/_react.default.createElement("path", {
4847 d: "M14.3536 1.64645C14.5488 1.84171 14.5488 2.15829 14.3536 2.35355L11.0202 5.68689C10.825 5.88215 10.5084 5.88215 10.3131 5.68689C10.1179 5.49162 10.1179 5.17504 10.3131 4.97978L13.6464 1.64645C13.8417 1.45118 14.1583 1.45118 14.3536 1.64645Z"
4848 }), /*#__PURE__*/_react.default.createElement("path", {
4849 d: "M14.3536 4.97978C14.5488 5.17504 14.5488 5.49162 14.3536 5.68689L12.0202 8.02022C11.825 8.21548 11.5084 8.21548 11.3131 8.02022C11.1179 7.82496 11.1179 7.50838 11.3131 7.31311L13.6464 4.97978C13.8417 4.78452 14.1583 4.78452 14.3536 4.97978Z"
4850 }), /*#__PURE__*/_react.default.createElement("path", {
4851 d: "M14.3536 8.31311C14.5488 8.50838 14.5488 8.82496 14.3536 9.02022L14.0202 9.35355C13.825 9.54882 13.5084 9.54882 13.3131 9.35355C13.1179 9.15829 13.1179 8.84171 13.3131 8.64645L13.6464 8.31311C13.8417 8.11785 14.1583 8.11785 14.3536 8.31311Z"
4852 }), /*#__PURE__*/_react.default.createElement("path", {
4853 d: "M10.3333 7C10.3333 7.55228 9.88562 8 9.33333 8C8.78105 8 8.33333 7.55228 8.33333 7C8.33333 6.44772 8.78105 6 9.33333 6C9.88562 6 10.3333 6.44772 10.3333 7Z"
4854 }), /*#__PURE__*/_react.default.createElement("path", {
4855 d: "M6.33333 8.5C6.14679 8.5 5.92267 8.58153 5.6867 8.81725C5.67587 8.82806 5.66455 8.83838 5.65278 8.84816L2.5 11.4665V13.5H13.5V11.2318C13.5 10.9556 13.7239 10.7318 14 10.7318C14.2761 10.7318 14.5 10.9556 14.5 11.2318V14C14.5 14.2761 14.2761 14.5 14 14.5H2C1.72386 14.5 1.5 14.2761 1.5 14V11.2318C1.5 11.0831 1.56617 10.9421 1.68056 10.8471L4.99717 8.09274C5.37661 7.72073 5.83674 7.5 6.33333 7.5C6.83746 7.5 7.304 7.72747 7.6867 8.10976L7.69343 8.11662L11.0268 11.5769C11.2183 11.7758 11.2124 12.0923 11.0136 12.2839C10.8147 12.4755 10.4981 12.4696 10.3066 12.2707L6.97679 8.81408C6.74199 8.5808 6.51904 8.5 6.33333 8.5Z"
4856 }), /*#__PURE__*/_react.default.createElement("path", {
4857 d: "M10.3564 10.1984L9.69343 10.8866C9.50185 11.0854 9.18532 11.0914 8.98645 10.8998C8.78757 10.7082 8.78166 10.3917 8.97324 10.1928L9.6399 9.50073L9.64663 9.49387C10.4992 8.64223 11.843 8.83788 12.6387 9.45172C12.6435 9.45538 12.6482 9.45913 12.6528 9.46297L14.3194 10.8471C14.5319 11.0235 14.5611 11.3388 14.3846 11.5512C14.2082 11.7636 13.893 11.7928 13.6806 11.6164L12.0213 10.2384C11.4855 9.82976 10.7405 9.81862 10.3564 10.1984Z"
4858 }));
4859 });
4860 var _default = ReplaceBackgroundIcon;
4861 exports["default"] = _default;
4862
4863 /***/ }),
4864
4865 /***/ "../modules/ai/assets/js/editor/icons/restore-icon.js":
4866 /*!************************************************************!*\
4867 !*** ../modules/ai/assets/js/editor/icons/restore-icon.js ***!
4868 \************************************************************/
4869 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4870
4871 "use strict";
4872
4873
4874 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4875 Object.defineProperty(exports, "__esModule", ({
4876 value: true
4877 }));
4878 exports["default"] = void 0;
4879 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
4880 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4881 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4882 var RestoreIcon = _react.default.forwardRef(function (props, ref) {
4883 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
4884 viewBox: "0 0 24 24"
4885 }, props, {
4886 ref: ref
4887 }), /*#__PURE__*/_react.default.createElement("path", {
4888 fillRule: "evenodd",
4889 d: "M11.913 3.22a8.781 8.781 0 0 1 3.367.634.75.75 0 1 1-.56 1.392A7.281 7.281 0 0 0 8.25 18.24V15a.75.75 0 0 1 1.5 0v4.433a.73.73 0 0 1 0 .034V20a.75.75 0 0 1-.75.75H4a.75.75 0 0 1 0-1.5h3.045a8.782 8.782 0 0 1 4.868-16.03ZM18.37 6.41a.75.75 0 0 1 .75.75v.01a.75.75 0 0 1-1.5 0v-.01a.75.75 0 0 1 .75-.75ZM13 19.19a.75.75 0 0 1 .75.75v.01a.75.75 0 0 1-1.5 0v-.01a.75.75 0 0 1 .75-.75ZM16.84 17.62a.75.75 0 0 1 .75.75v.01a.75.75 0 0 1-1.5 0v-.01a.75.75 0 0 1 .75-.75ZM19.37 14.35a.75.75 0 0 1 .75.75v.01a.75.75 0 0 1-1.5 0v-.01a.75.75 0 0 1 .75-.75ZM19.94 10.25a.75.75 0 0 1 .75.75v.01a.75.75 0 0 1-1.5 0V11a.75.75 0 0 1 .75-.75Z",
4890 clipRule: "evenodd"
4891 }));
4892 });
4893 var _default = RestoreIcon;
4894 exports["default"] = _default;
4895
4896 /***/ }),
4897
4898 /***/ "../modules/ai/assets/js/editor/icons/text-icon.js":
4899 /*!*********************************************************!*\
4900 !*** ../modules/ai/assets/js/editor/icons/text-icon.js ***!
4901 \*********************************************************/
4902 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4903
4904 "use strict";
4905
4906
4907 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4908 Object.defineProperty(exports, "__esModule", ({
4909 value: true
4910 }));
4911 exports["default"] = void 0;
4912 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
4913 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4914 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4915 var TextIcon = _react.default.forwardRef(function (props, ref) {
4916 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
4917 viewBox: "0 0 24 24"
4918 }, props, {
4919 ref: ref
4920 }), /*#__PURE__*/_react.default.createElement("path", {
4921 fillRule: "evenodd",
4922 d: "M4.25 5A.75.75 0 0 1 5 4.25h14a.75.75 0 0 1 .75.75v2a.75.75 0 0 1-1.5 0V5.75H5.75V7a.75.75 0 0 1-1.5 0V5Z",
4923 clipRule: "evenodd"
4924 }), /*#__PURE__*/_react.default.createElement("path", {
4925 fillRule: "evenodd",
4926 d: "M12 4.25a.75.75 0 0 1 .75.75v14a.75.75 0 0 1-1.5 0V5a.75.75 0 0 1 .75-.75Z",
4927 clipRule: "evenodd"
4928 }), /*#__PURE__*/_react.default.createElement("path", {
4929 fillRule: "evenodd",
4930 d: "M9.25 19a.75.75 0 0 1 .75-.75h4a.75.75 0 0 1 0 1.5h-4a.75.75 0 0 1-.75-.75Z",
4931 clipRule: "evenodd"
4932 }));
4933 });
4934 var _default = TextIcon;
4935 exports["default"] = _default;
4936
4937 /***/ }),
4938
4939 /***/ "../modules/ai/assets/js/editor/icons/undo-icon.js":
4940 /*!*********************************************************!*\
4941 !*** ../modules/ai/assets/js/editor/icons/undo-icon.js ***!
4942 \*********************************************************/
4943 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4944
4945 "use strict";
4946
4947
4948 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4949 Object.defineProperty(exports, "__esModule", ({
4950 value: true
4951 }));
4952 exports["default"] = void 0;
4953 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
4954 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4955 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4956 var UndoIcon = _react.default.forwardRef(function (props, ref) {
4957 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
4958 viewBox: "0 0 24 24"
4959 }, props, {
4960 ref: ref
4961 }), /*#__PURE__*/_react.default.createElement("path", {
4962 d: "M9.53033 6.53033C9.82322 6.23744 9.82322 5.76256 9.53033 5.46967C9.23744 5.17678 8.76256 5.17678 8.46967 5.46967L4.46967 9.46967C4.39776 9.54158 4.34351 9.62445 4.30691 9.71291C4.27024 9.80134 4.25 9.89831 4.25 10C4.25 10.1017 4.27024 10.1987 4.30691 10.2871C4.34351 10.3755 4.39776 10.4584 4.46967 10.5303L8.46967 14.5303C8.76256 14.8232 9.23744 14.8232 9.53033 14.5303C9.82322 14.2374 9.82322 13.7626 9.53033 13.4697L6.81066 10.75H16C16.862 10.75 17.6886 11.0924 18.2981 11.7019C18.9076 12.3114 19.25 13.138 19.25 14C19.25 14.862 18.9076 15.6886 18.2981 16.2981C17.6886 16.9076 16.862 17.25 16 17.25H15C14.5858 17.25 14.25 17.5858 14.25 18C14.25 18.4142 14.5858 18.75 15 18.75H16C17.2598 18.75 18.468 18.2496 19.3588 17.3588C20.2496 16.468 20.75 15.2598 20.75 14C20.75 12.7402 20.2496 11.532 19.3588 10.6412C18.468 9.75044 17.2598 9.25 16 9.25H6.81066L9.53033 6.53033Z"
4963 }));
4964 });
4965 var _default = UndoIcon;
4966 exports["default"] = _default;
4967
4968 /***/ }),
4969
4970 /***/ "../modules/ai/assets/js/editor/icons/wand-icon.js":
4971 /*!*********************************************************!*\
4972 !*** ../modules/ai/assets/js/editor/icons/wand-icon.js ***!
4973 \*********************************************************/
4974 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4975
4976 "use strict";
4977
4978
4979 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4980 Object.defineProperty(exports, "__esModule", ({
4981 value: true
4982 }));
4983 exports["default"] = void 0;
4984 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
4985 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4986 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4987 var WandIcon = _react.default.forwardRef(function (props, ref) {
4988 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
4989 viewBox: "0 0 24 24"
4990 }, props, {
4991 ref: ref
4992 }), /*#__PURE__*/_react.default.createElement("path", {
4993 fillRule: "evenodd",
4994 clipRule: "evenodd",
4995 d: "M9 2.25C9.41421 2.25 9.75 2.58579 9.75 3C9.75 3.33152 9.8817 3.64946 10.1161 3.88388C10.3505 4.1183 10.6685 4.25 11 4.25C11.4142 4.25 11.75 4.58579 11.75 5C11.75 5.41421 11.4142 5.75 11 5.75C10.6685 5.75 10.3505 5.8817 10.1161 6.11612C9.8817 6.35054 9.75 6.66848 9.75 7C9.75 7.41421 9.41421 7.75 9 7.75C8.58579 7.75 8.25 7.41421 8.25 7C8.25 6.66848 8.1183 6.35054 7.88388 6.11612C7.64946 5.8817 7.33152 5.75 7 5.75C6.58579 5.75 6.25 5.41421 6.25 5C6.25 4.58579 6.58579 4.25 7 4.25C7.33152 4.25 7.64946 4.1183 7.88388 3.88388C8.1183 3.64946 8.25 3.33152 8.25 3C8.25 2.58579 8.58579 2.25 9 2.25ZM9 4.88746C8.98182 4.90673 8.96333 4.92576 8.94454 4.94454C8.92576 4.96333 8.90673 4.98182 8.88746 5C8.90673 5.01818 8.92576 5.03667 8.94454 5.05546C8.96333 5.07424 8.98182 5.09327 9 5.11254C9.01818 5.09327 9.03667 5.07424 9.05546 5.05546C9.07424 5.03667 9.09327 5.01818 9.11254 5C9.09327 4.98182 9.07424 4.96333 9.05546 4.94454C9.03667 4.92576 9.01818 4.90673 9 4.88746Z"
4996 }), /*#__PURE__*/_react.default.createElement("path", {
4997 fillRule: "evenodd",
4998 clipRule: "evenodd",
4999 d: "M18.5303 2.46967C18.2374 2.17678 17.7626 2.17678 17.4697 2.46967L2.46967 17.4697C2.17678 17.7626 2.17678 18.2374 2.46967 18.5303L5.46967 21.5303C5.76256 21.8232 6.23744 21.8232 6.53033 21.5303L21.5303 6.53033C21.8232 6.23744 21.8232 5.76256 21.5303 5.46967L18.5303 2.46967ZM18 7.93934L19.9393 6L18 4.06066L16.0607 6L18 7.93934ZM15 7.06066L16.9393 9L6 19.9393L4.06066 18L15 7.06066Z"
5000 }), /*#__PURE__*/_react.default.createElement("path", {
5001 fillRule: "evenodd",
5002 clipRule: "evenodd",
5003 d: "M19.75 13C19.75 12.5858 19.4142 12.25 19 12.25C18.5858 12.25 18.25 12.5858 18.25 13C18.25 13.3315 18.1183 13.6495 17.8839 13.8839C17.6495 14.1183 17.3315 14.25 17 14.25C16.5858 14.25 16.25 14.5858 16.25 15C16.25 15.4142 16.5858 15.75 17 15.75C17.3315 15.75 17.6495 15.8817 17.8839 16.1161C18.1183 16.3505 18.25 16.6685 18.25 17C18.25 17.4142 18.5858 17.75 19 17.75C19.4142 17.75 19.75 17.4142 19.75 17C19.75 16.6685 19.8817 16.3505 20.1161 16.1161C20.3505 15.8817 20.6685 15.75 21 15.75C21.4142 15.75 21.75 15.4142 21.75 15C21.75 14.5858 21.4142 14.25 21 14.25C20.6685 14.25 20.3505 14.1183 20.1161 13.8839C19.8817 13.6495 19.75 13.3315 19.75 13ZM18.9445 14.9445C18.9633 14.9258 18.9818 14.9067 19 14.8875C19.0182 14.9067 19.0367 14.9258 19.0555 14.9445C19.0742 14.9633 19.0933 14.9818 19.1125 15C19.0933 15.0182 19.0742 15.0367 19.0555 15.0555C19.0367 15.0742 19.0182 15.0933 19 15.1125C18.9818 15.0933 18.9633 15.0742 18.9445 15.0555C18.9258 15.0367 18.9067 15.0182 18.8875 15C18.9067 14.9818 18.9258 14.9633 18.9445 14.9445Z"
5004 }));
5005 });
5006 var _default = WandIcon;
5007 exports["default"] = _default;
5008
5009 /***/ }),
5010
5011 /***/ "../modules/ai/assets/js/editor/icons/zoom-in-icon.js":
5012 /*!************************************************************!*\
5013 !*** ../modules/ai/assets/js/editor/icons/zoom-in-icon.js ***!
5014 \************************************************************/
5015 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5016
5017 "use strict";
5018
5019
5020 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5021 Object.defineProperty(exports, "__esModule", ({
5022 value: true
5023 }));
5024 exports["default"] = void 0;
5025 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
5026 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
5027 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
5028 var ZoomInIcon = _react.default.forwardRef(function (props, ref) {
5029 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
5030 viewBox: "0 0 24 24"
5031 }, props, {
5032 ref: ref
5033 }), /*#__PURE__*/_react.default.createElement("path", {
5034 fillRule: "evenodd",
5035 clipRule: "evenodd",
5036 d: "M10 3.75C6.54822 3.75 3.75 6.54822 3.75 10C3.75 13.4518 6.54822 16.25 10 16.25C13.4518 16.25 16.25 13.4518 16.25 10C16.25 6.54822 13.4518 3.75 10 3.75ZM2.25 10C2.25 5.71979 5.71979 2.25 10 2.25C14.2802 2.25 17.75 5.71979 17.75 10C17.75 14.2802 14.2802 17.75 10 17.75C5.71979 17.75 2.25 14.2802 2.25 10Z"
5037 }), /*#__PURE__*/_react.default.createElement("path", {
5038 fillRule: "evenodd",
5039 clipRule: "evenodd",
5040 d: "M6.25 10C6.25 9.58579 6.58579 9.25 7 9.25H13C13.4142 9.25 13.75 9.58579 13.75 10C13.75 10.4142 13.4142 10.75 13 10.75H7C6.58579 10.75 6.25 10.4142 6.25 10Z"
5041 }), /*#__PURE__*/_react.default.createElement("path", {
5042 fillRule: "evenodd",
5043 clipRule: "evenodd",
5044 d: "M10 6.25C10.4142 6.25 10.75 6.58579 10.75 7V13C10.75 13.4142 10.4142 13.75 10 13.75C9.58579 13.75 9.25 13.4142 9.25 13V7C9.25 6.58579 9.58579 6.25 10 6.25Z"
5045 }), /*#__PURE__*/_react.default.createElement("path", {
5046 fillRule: "evenodd",
5047 clipRule: "evenodd",
5048 d: "M14.4697 14.4697C14.7626 14.1768 15.2374 14.1768 15.5303 14.4697L21.5303 20.4697C21.8232 20.7626 21.8232 21.2374 21.5303 21.5303C21.2374 21.8232 20.7626 21.8232 20.4697 21.5303L14.4697 15.5303C14.1768 15.2374 14.1768 14.7626 14.4697 14.4697Z"
5049 }));
5050 });
5051 var _default = ZoomInIcon;
5052 exports["default"] = _default;
5053
5054 /***/ }),
5055
5056 /***/ "../modules/ai/assets/js/editor/module.js":
5057 /*!************************************************!*\
5058 !*** ../modules/ai/assets/js/editor/module.js ***!
5059 \************************************************/
5060 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5061
5062 "use strict";
5063
5064
5065 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5066 Object.defineProperty(exports, "__esModule", ({
5067 value: true
5068 }));
5069 exports["default"] = void 0;
5070 var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
5071 var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
5072 var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
5073 var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
5074 var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
5075 var _aiBehavior = _interopRequireDefault(__webpack_require__(/*! ./ai-behavior */ "../modules/ai/assets/js/editor/ai-behavior.js"));
5076 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
5077 var _constants = __webpack_require__(/*! ./pages/form-media/constants */ "../modules/ai/assets/js/editor/pages/form-media/constants/index.js");
5078 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); }; }
5079 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; } }
5080 var Module = /*#__PURE__*/function (_elementorModules$edi) {
5081 (0, _inherits2.default)(Module, _elementorModules$edi);
5082 var _super = _createSuper(Module);
5083 function Module() {
5084 (0, _classCallCheck2.default)(this, Module);
5085 return _super.apply(this, arguments);
5086 }
5087 (0, _createClass2.default)(Module, [{
5088 key: "onElementorInit",
5089 value: function onElementorInit() {
5090 elementor.hooks.addFilter('controls/base/behaviors', this.registerControlBehavior.bind(this));
5091 }
5092 }, {
5093 key: "registerControlBehavior",
5094 value: function registerControlBehavior(behaviors, view) {
5095 var aiOptions = view.options.model.get('ai');
5096 if (!(aiOptions !== null && aiOptions !== void 0 && aiOptions.active)) {
5097 return behaviors;
5098 }
5099 var controlType = view.options.model.get('type');
5100 var textControls = ['text', 'textarea'];
5101 if (textControls.includes(aiOptions.type)) {
5102 behaviors.ai = {
5103 behaviorClass: _aiBehavior.default,
5104 controlType: controlType,
5105 type: aiOptions.type,
5106 getControlValue: view.getControlValue.bind(view),
5107 setControlValue: function setControlValue(value) {
5108 if ('wysiwyg' === controlType) {
5109 value = value.replaceAll('\n', '<br>');
5110 }
5111 view.setSettingsModel(value);
5112 view.applySavedValue();
5113 },
5114 isLabelBlock: view.options.model.get('label_block'),
5115 additionalOptions: {
5116 defaultValue: view.options.model.get('default')
5117 },
5118 context: this.getContextData(view, controlType)
5119 };
5120 }
5121 var codeControls = ['code'];
5122 if (codeControls.includes(aiOptions.type)) {
5123 var _view$options, _view$options$contain, _view$options$contain2;
5124 var htmlMarkup = (_view$options = view.options) !== null && _view$options !== void 0 && (_view$options$contain = _view$options.container) !== null && _view$options$contain !== void 0 && (_view$options$contain2 = _view$options$contain.view) !== null && _view$options$contain2 !== void 0 && _view$options$contain2.$el ? view.options.container.view.$el[0].outerHTML : '';
5125 behaviors.ai = {
5126 behaviorClass: _aiBehavior.default,
5127 type: aiOptions.type,
5128 additionalOptions: {
5129 codeLanguage: (aiOptions === null || aiOptions === void 0 ? void 0 : aiOptions.language) || view.options.model.get('language'),
5130 htmlMarkup: htmlMarkup,
5131 elementId: view.options.container.id
5132 },
5133 buttonLabel: (0, _i18n.__)('Code with AI', 'elementor'),
5134 isLabelBlock: view.options.model.get('label_block'),
5135 getControlValue: view.getControlValue.bind(view),
5136 setControlValue: function setControlValue(value) {
5137 return view.editor.setValue(value, -1);
5138 },
5139 context: this.getContextData(view, controlType)
5140 };
5141 }
5142 var mediaControl = ['media'];
5143 if (mediaControl.includes(aiOptions.type)) {
5144 var mediaTypes = view.options.model.get('media_types');
5145 if (mediaTypes.length && mediaTypes.includes('image')) {
5146 behaviors.ai = {
5147 behaviorClass: _aiBehavior.default,
5148 type: aiOptions.type,
5149 buttonLabel: (0, _i18n.__)('Create with AI', 'elementor'),
5150 getControlValue: view.getControlValue.bind(view),
5151 setControlValue: function setControlValue() {},
5152 controlView: view,
5153 additionalOptions: {
5154 defaultValue: view.options.model.get('default'),
5155 defaultImageType: (aiOptions === null || aiOptions === void 0 ? void 0 : aiOptions.category) || _constants.IMAGE_PROMPT_CATEGORIES[1].key
5156 },
5157 context: this.getContextData(view, controlType)
5158 };
5159 }
5160 }
5161 return behaviors;
5162 }
5163 }, {
5164 key: "getContextData",
5165 value: function getContextData(view, controlType) {
5166 var controlName = view.options.model.get('name');
5167 if (!view.options.container) {
5168 return {
5169 controlName: controlName,
5170 controlType: controlType
5171 };
5172 }
5173 return {
5174 documentType: view.options.container.document.config.type,
5175 elementType: view.options.container.args.model.get('elType'),
5176 elementId: view.options.container.id,
5177 widgetType: view.options.container.args.model.get('widgetType'),
5178 controlName: controlName,
5179 controlType: controlType,
5180 controlValue: view.options.container.settings.get(controlName)
5181 };
5182 }
5183 }]);
5184 return Module;
5185 }(elementorModules.editor.utils.Module);
5186 exports["default"] = Module;
5187
5188 /***/ }),
5189
5190 /***/ "../modules/ai/assets/js/editor/page-content.js":
5191 /*!******************************************************!*\
5192 !*** ../modules/ai/assets/js/editor/page-content.js ***!
5193 \******************************************************/
5194 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5195
5196 "use strict";
5197
5198
5199 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5200 Object.defineProperty(exports, "__esModule", ({
5201 value: true
5202 }));
5203 exports["default"] = void 0;
5204 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
5205 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
5206 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
5207 var _formText = _interopRequireDefault(__webpack_require__(/*! ./pages/form-text */ "../modules/ai/assets/js/editor/pages/form-text/index.js"));
5208 var _connect = _interopRequireDefault(__webpack_require__(/*! ./pages/connect */ "../modules/ai/assets/js/editor/pages/connect/index.js"));
5209 var _formCode = _interopRequireDefault(__webpack_require__(/*! ./pages/form-code */ "../modules/ai/assets/js/editor/pages/form-code/index.js"));
5210 var _getStarted = _interopRequireDefault(__webpack_require__(/*! ./pages/get-started */ "../modules/ai/assets/js/editor/pages/get-started/index.js"));
5211 var _loader = _interopRequireDefault(__webpack_require__(/*! ./components/loader */ "../modules/ai/assets/js/editor/components/loader.js"));
5212 var _useUserInfo2 = _interopRequireDefault(__webpack_require__(/*! ./hooks/use-user-info */ "../modules/ai/assets/js/editor/hooks/use-user-info.js"));
5213 var _wizardDialog = _interopRequireDefault(__webpack_require__(/*! ./components/wizard-dialog */ "../modules/ai/assets/js/editor/components/wizard-dialog.js"));
5214 var _promptDialog = _interopRequireDefault(__webpack_require__(/*! ./components/prompt-dialog */ "../modules/ai/assets/js/editor/components/prompt-dialog.js"));
5215 var _upgradeChip = _interopRequireDefault(__webpack_require__(/*! ./components/upgrade-chip */ "../modules/ai/assets/js/editor/components/upgrade-chip.js"));
5216 var _formMedia = _interopRequireDefault(__webpack_require__(/*! ./pages/form-media */ "../modules/ai/assets/js/editor/pages/form-media/index.js"));
5217 var _promptHistory = _interopRequireDefault(__webpack_require__(/*! ./components/prompt-history */ "../modules/ai/assets/js/editor/components/prompt-history/index.js"));
5218 var _historyTypes = __webpack_require__(/*! ./components/prompt-history/history-types */ "../modules/ai/assets/js/editor/components/prompt-history/history-types.js");
5219 var _promptHistoryActionContext = __webpack_require__(/*! ./components/prompt-history/context/prompt-history-action-context */ "../modules/ai/assets/js/editor/components/prompt-history/context/prompt-history-action-context.js");
5220 var _promptHistoryContext = __webpack_require__(/*! ./components/prompt-history/context/prompt-history-context */ "../modules/ai/assets/js/editor/components/prompt-history/context/prompt-history-context.js");
5221 var _useUpgradeMessage2 = _interopRequireDefault(__webpack_require__(/*! ./hooks/use-upgrade-message */ "../modules/ai/assets/js/editor/hooks/use-upgrade-message.js"));
5222 var _usageMessages = _interopRequireDefault(__webpack_require__(/*! ./components/usage-messages */ "../modules/ai/assets/js/editor/components/usage-messages.js"));
5223 var PageContent = function PageContent(_ref) {
5224 var type = _ref.type,
5225 controlType = _ref.controlType,
5226 onClose = _ref.onClose,
5227 onConnect = _ref.onConnect,
5228 getControlValue = _ref.getControlValue,
5229 setControlValue = _ref.setControlValue,
5230 controlView = _ref.controlView,
5231 additionalOptions = _ref.additionalOptions;
5232 var _useUserInfo = (0, _useUserInfo2.default)(),
5233 isLoading = _useUserInfo.isLoading,
5234 isConnected = _useUserInfo.isConnected,
5235 isGetStarted = _useUserInfo.isGetStarted,
5236 connectUrl = _useUserInfo.connectUrl,
5237 fetchData = _useUserInfo.fetchData,
5238 hasSubscription = _useUserInfo.hasSubscription,
5239 credits = _useUserInfo.credits,
5240 usagePercentage = _useUserInfo.usagePercentage;
5241 var _useUpgradeMessage = (0, _useUpgradeMessage2.default)({
5242 usagePercentage: usagePercentage,
5243 hasSubscription: hasSubscription
5244 }),
5245 showBadge = _useUpgradeMessage.showBadge;
5246 var promptDialogStyleProps = {
5247 sx: {
5248 '& .MuiDialog-container': {
5249 alignItems: 'flex-start',
5250 mt: 'media' === type ? '2.5vh' : '18vh'
5251 },
5252 '& .MuiDialogContent-root': {
5253 willChange: 'height',
5254 transition: 'height 300ms ease-in-out',
5255 position: 'relative'
5256 }
5257 },
5258 PaperProps: {
5259 sx: {
5260 m: 0,
5261 maxHeight: 'media' === type ? '95vh' : '76vh',
5262 height: !isLoading && 'media' === type ? '95vh' : 'auto'
5263 }
5264 }
5265 };
5266 var maybeRenderUpgradeChip = function maybeRenderUpgradeChip() {
5267 if (!showBadge) {
5268 return;
5269 }
5270 return /*#__PURE__*/_react.default.createElement(_upgradeChip.default, {
5271 hasSubscription: hasSubscription,
5272 usagePercentage: usagePercentage
5273 });
5274 };
5275 if (isLoading) {
5276 return /*#__PURE__*/_react.default.createElement(_promptDialog.default, (0, _extends2.default)({
5277 onClose: onClose
5278 }, promptDialogStyleProps, {
5279 maxWidth: 'media' === type ? 'lg' : 'sm'
5280 }), /*#__PURE__*/_react.default.createElement(_promptDialog.default.Header, {
5281 onClose: onClose
5282 }), /*#__PURE__*/_react.default.createElement(_promptDialog.default.Content, {
5283 dividers: true
5284 }, /*#__PURE__*/_react.default.createElement(_loader.default, null)));
5285 }
5286 if (!isConnected) {
5287 return /*#__PURE__*/_react.default.createElement(_wizardDialog.default, {
5288 onClose: onClose
5289 }, /*#__PURE__*/_react.default.createElement(_wizardDialog.default.Header, {
5290 onClose: onClose
5291 }), /*#__PURE__*/_react.default.createElement(_wizardDialog.default.Content, {
5292 dividers: true
5293 }, /*#__PURE__*/_react.default.createElement(_connect.default, {
5294 connectUrl: connectUrl,
5295 onSuccess: function onSuccess(data) {
5296 onConnect(data);
5297 fetchData();
5298 }
5299 })));
5300 }
5301 if (!isGetStarted) {
5302 return /*#__PURE__*/_react.default.createElement(_wizardDialog.default, {
5303 onClose: onClose
5304 }, /*#__PURE__*/_react.default.createElement(_wizardDialog.default.Header, {
5305 onClose: onClose
5306 }), /*#__PURE__*/_react.default.createElement(_wizardDialog.default.Content, {
5307 dividers: true
5308 }, /*#__PURE__*/_react.default.createElement(_getStarted.default, {
5309 onSuccess: fetchData
5310 })));
5311 }
5312 if ('media' === type) {
5313 return /*#__PURE__*/_react.default.createElement(_promptHistoryContext.PromptHistoryProvider, {
5314 historyType: _historyTypes.HISTORY_TYPES.IMAGE
5315 }, /*#__PURE__*/_react.default.createElement(_promptHistoryActionContext.PromptHistoryActionProvider, null, /*#__PURE__*/_react.default.createElement(_formMedia.default, {
5316 onClose: onClose,
5317 getControlValue: getControlValue,
5318 controlView: controlView,
5319 additionalOptions: additionalOptions,
5320 credits: credits,
5321 maybeRenderUpgradeChip: maybeRenderUpgradeChip,
5322 DialogProps: promptDialogStyleProps,
5323 hasSubscription: hasSubscription,
5324 usagePercentage: usagePercentage
5325 })));
5326 }
5327 if ('code' === type) {
5328 return /*#__PURE__*/_react.default.createElement(_promptDialog.default, (0, _extends2.default)({
5329 onClose: onClose
5330 }, promptDialogStyleProps), /*#__PURE__*/_react.default.createElement(_promptHistoryContext.PromptHistoryProvider, {
5331 historyType: _historyTypes.HISTORY_TYPES.CODE
5332 }, /*#__PURE__*/_react.default.createElement(_promptHistoryActionContext.PromptHistoryActionProvider, null, /*#__PURE__*/_react.default.createElement(_promptDialog.default.Header, {
5333 onClose: onClose
5334 }, /*#__PURE__*/_react.default.createElement(_promptHistory.default, null), maybeRenderUpgradeChip()), /*#__PURE__*/_react.default.createElement(_promptDialog.default.Content, {
5335 className: "e-ai-dialog-content",
5336 dividers: true
5337 }, /*#__PURE__*/_react.default.createElement(_formCode.default, {
5338 onClose: onClose,
5339 getControlValue: getControlValue,
5340 setControlValue: setControlValue,
5341 additionalOptions: additionalOptions,
5342 credits: credits,
5343 usagePercentage: usagePercentage
5344 }, /*#__PURE__*/_react.default.createElement(_usageMessages.default, {
5345 hasSubscription: hasSubscription,
5346 usagePercentage: usagePercentage,
5347 sx: {
5348 mb: 2
5349 }
5350 }))))));
5351 }
5352 return /*#__PURE__*/_react.default.createElement(_promptDialog.default, (0, _extends2.default)({
5353 onClose: onClose
5354 }, promptDialogStyleProps), /*#__PURE__*/_react.default.createElement(_promptHistoryContext.PromptHistoryProvider, {
5355 historyType: _historyTypes.HISTORY_TYPES.TEXT
5356 }, /*#__PURE__*/_react.default.createElement(_promptHistoryActionContext.PromptHistoryActionProvider, null, /*#__PURE__*/_react.default.createElement(_promptDialog.default.Header, {
5357 onClose: onClose
5358 }, /*#__PURE__*/_react.default.createElement(_promptHistory.default, null), maybeRenderUpgradeChip()), /*#__PURE__*/_react.default.createElement(_promptDialog.default.Content, {
5359 className: "e-ai-dialog-content",
5360 dividers: true
5361 }, /*#__PURE__*/_react.default.createElement(_formText.default, {
5362 type: type,
5363 controlType: controlType,
5364 onClose: onClose,
5365 getControlValue: getControlValue,
5366 setControlValue: setControlValue,
5367 additionalOptions: additionalOptions,
5368 credits: credits,
5369 usagePercentage: usagePercentage
5370 }, /*#__PURE__*/_react.default.createElement(_usageMessages.default, {
5371 hasSubscription: hasSubscription,
5372 usagePercentage: usagePercentage,
5373 sx: {
5374 mb: 2
5375 }
5376 }))))));
5377 };
5378 PageContent.propTypes = {
5379 type: _propTypes.default.string,
5380 controlType: _propTypes.default.string,
5381 onClose: _propTypes.default.func.isRequired,
5382 onConnect: _propTypes.default.func.isRequired,
5383 getControlValue: _propTypes.default.func.isRequired,
5384 setControlValue: _propTypes.default.func.isRequired,
5385 additionalOptions: _propTypes.default.object,
5386 controlView: _propTypes.default.object
5387 };
5388 var _default = PageContent;
5389 exports["default"] = _default;
5390
5391 /***/ }),
5392
5393 /***/ "../modules/ai/assets/js/editor/pages/connect/index.js":
5394 /*!*************************************************************!*\
5395 !*** ../modules/ai/assets/js/editor/pages/connect/index.js ***!
5396 \*************************************************************/
5397 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5398
5399 "use strict";
5400
5401
5402 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5403 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
5404 Object.defineProperty(exports, "__esModule", ({
5405 value: true
5406 }));
5407 exports["default"] = void 0;
5408 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
5409 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
5410 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
5411 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
5412 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
5413 function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
5414 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; }
5415 var Connect = function Connect(_ref) {
5416 var connectUrl = _ref.connectUrl,
5417 onSuccess = _ref.onSuccess;
5418 var approveButtonRef = (0, _react.useRef)();
5419 (0, _react.useEffect)(function () {
5420 // On local dev (as a standalone app), the connect lib is not loaded.
5421 if (!jQuery.fn.elementorConnect) {
5422 return;
5423 }
5424 jQuery(approveButtonRef.current).elementorConnect({
5425 success: function success(_, data) {
5426 return onSuccess(data);
5427 },
5428 error: function error() {
5429 throw new Error('Elementor AI: Failed to connect.');
5430 }
5431 });
5432 }, []);
5433 return /*#__PURE__*/_react.default.createElement(_ui.Stack, {
5434 alignItems: "center",
5435 gap: 2
5436 }, /*#__PURE__*/_react.default.createElement(_icons.AIIcon, {
5437 sx: {
5438 color: 'text.primary',
5439 fontSize: '60px',
5440 mb: 1
5441 }
5442 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
5443 variant: "h4",
5444 sx: {
5445 color: 'text.primary'
5446 }
5447 }, (0, _i18n.__)('Step into the future with Elementor AI', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
5448 variant: "body2"
5449 }, (0, _i18n.__)('Create smarter with AI text and code generators built right into the editor.', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
5450 variant: "caption",
5451 sx: {
5452 maxWidth: 520,
5453 textAlign: 'center'
5454 }
5455 }, (0, _i18n.__)('By clicking "Connect", I approve the ', 'elementor'), /*#__PURE__*/_react.default.createElement(_ui.Link, {
5456 href: "https://go.elementor.com/ai-terms/",
5457 target: "_blank",
5458 color: "info.main"
5459 }, (0, _i18n.__)('Terms of Service', 'elementor')), ' & ', /*#__PURE__*/_react.default.createElement(_ui.Link, {
5460 href: "https://go.elementor.com/ai-privacy-policy/",
5461 target: "_blank",
5462 color: "info.main"
5463 }, (0, _i18n.__)('Privacy Policy', 'elementor')), (0, _i18n.__)(' of the Elementor AI service.', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Button, {
5464 ref: approveButtonRef,
5465 href: connectUrl,
5466 variant: "contained",
5467 sx: {
5468 mt: 1,
5469 '&:hover': {
5470 color: 'primary.contrastText'
5471 }
5472 }
5473 }, (0, _i18n.__)('Connect', 'elementor')));
5474 };
5475 Connect.propTypes = {
5476 connectUrl: _propTypes.default.string.isRequired,
5477 onSuccess: _propTypes.default.func.isRequired
5478 };
5479 var _default = Connect;
5480 exports["default"] = _default;
5481
5482 /***/ }),
5483
5484 /***/ "../modules/ai/assets/js/editor/pages/form-code/code-block.js":
5485 /*!********************************************************************!*\
5486 !*** ../modules/ai/assets/js/editor/pages/form-code/code-block.js ***!
5487 \********************************************************************/
5488 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5489
5490 "use strict";
5491
5492
5493 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5494 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
5495 Object.defineProperty(exports, "__esModule", ({
5496 value: true
5497 }));
5498 exports["default"] = void 0;
5499 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
5500 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
5501 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
5502 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
5503 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
5504 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
5505 var _textarea = _interopRequireDefault(__webpack_require__(/*! ../../components/textarea */ "../modules/ai/assets/js/editor/components/textarea.js"));
5506 var _excluded = ["node", "inline", "children", "defaultValue", "onInsert"];
5507 function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
5508 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; }
5509 var CodeBlock = function CodeBlock(_ref) {
5510 var node = _ref.node,
5511 inline = _ref.inline,
5512 children = _ref.children,
5513 defaultValue = _ref.defaultValue,
5514 onInsert = _ref.onInsert,
5515 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
5516 var codeBlockInput = (0, _react.useRef)(null);
5517 if (inline) {
5518 return /*#__PURE__*/_react.default.createElement("code", props);
5519 }
5520 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
5521 sx: {
5522 position: 'relative'
5523 },
5524 dir: "ltr"
5525 }, /*#__PURE__*/_react.default.createElement(_textarea.default, (0, _extends2.default)({
5526 fullWidth: true,
5527 ref: codeBlockInput,
5528 defaultValue: children[0],
5529 sx: {
5530 mb: 1
5531 },
5532 helperText: (0, _i18n.__)('Code generated by AI may be inaccurate.', 'elementor')
5533 }, props)), /*#__PURE__*/_react.default.createElement(_ui.Button, {
5534 size: "small",
5535 variant: "contained",
5536 onClick: function onClick() {
5537 return onInsert(defaultValue + '\n' + codeBlockInput.current.value);
5538 },
5539 sx: {
5540 position: 'absolute',
5541 right: '11px /* @noflip */',
5542 bottom: '44px'
5543 }
5544 }, (0, _i18n.__)('Insert', 'elementor')));
5545 };
5546 CodeBlock.propTypes = {
5547 node: _propTypes.default.object,
5548 inline: _propTypes.default.bool,
5549 children: _propTypes.default.arrayOf(_propTypes.default.node).isRequired,
5550 defaultValue: _propTypes.default.string,
5551 onInsert: _propTypes.default.func.isRequired
5552 };
5553 var _default = CodeBlock;
5554 exports["default"] = _default;
5555
5556 /***/ }),
5557
5558 /***/ "../modules/ai/assets/js/editor/pages/form-code/index.js":
5559 /*!***************************************************************!*\
5560 !*** ../modules/ai/assets/js/editor/pages/form-code/index.js ***!
5561 \***************************************************************/
5562 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5563
5564 "use strict";
5565
5566
5567 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5568 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
5569 Object.defineProperty(exports, "__esModule", ({
5570 value: true
5571 }));
5572 exports["default"] = void 0;
5573 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
5574 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
5575 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
5576 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
5577 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
5578 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
5579 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
5580 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
5581 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
5582 var _reactMarkdown = _interopRequireDefault(__webpack_require__(/*! react-markdown */ "../node_modules/react-markdown/index.js"));
5583 var _actionsData = __webpack_require__(/*! ../../actions-data */ "../modules/ai/assets/js/editor/actions-data.js");
5584 var _loader = _interopRequireDefault(__webpack_require__(/*! ../../components/loader */ "../modules/ai/assets/js/editor/components/loader.js"));
5585 var _promptSearch = _interopRequireDefault(__webpack_require__(/*! ../../components/prompt-search */ "../modules/ai/assets/js/editor/components/prompt-search.js"));
5586 var _promptSuggestions = _interopRequireDefault(__webpack_require__(/*! ../../components/prompt-suggestions */ "../modules/ai/assets/js/editor/components/prompt-suggestions.js"));
5587 var _generateButton = _interopRequireDefault(__webpack_require__(/*! ../../components/generate-button */ "../modules/ai/assets/js/editor/components/generate-button.js"));
5588 var _promptErrorMessage = _interopRequireDefault(__webpack_require__(/*! ../../components/prompt-error-message */ "../modules/ai/assets/js/editor/components/prompt-error-message.js"));
5589 var _codeBlock = _interopRequireDefault(__webpack_require__(/*! ./code-block */ "../modules/ai/assets/js/editor/pages/form-code/code-block.js"));
5590 var _useCodePrompt2 = _interopRequireDefault(__webpack_require__(/*! ../../hooks/use-code-prompt */ "../modules/ai/assets/js/editor/hooks/use-code-prompt.js"));
5591 var _promptHistoryActionContext = __webpack_require__(/*! ../../components/prompt-history/context/prompt-history-action-context */ "../modules/ai/assets/js/editor/components/prompt-history/context/prompt-history-action-context.js");
5592 var _promptLibraryLink = _interopRequireDefault(__webpack_require__(/*! ../../components/prompt-library-link */ "../modules/ai/assets/js/editor/components/prompt-library-link.js"));
5593 var _requestsIds = __webpack_require__(/*! ../../context/requests-ids */ "../modules/ai/assets/js/editor/context/requests-ids.js");
5594 var _voicePromotionAlert = __webpack_require__(/*! ../../components/voice-promotion-alert */ "../modules/ai/assets/js/editor/components/voice-promotion-alert.js");
5595 function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
5596 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; }
5597 function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
5598 function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
5599 var CodeDisplayWrapper = (0, _ui.styled)(_ui.Box)(function () {
5600 return {
5601 '& p': {
5602 mb: '10px',
5603 fontSize: '13px',
5604 lineHeight: '1.5'
5605 },
5606 '& pre': {
5607 position: 'relative'
5608 },
5609 '& textarea': {
5610 fontSize: '13px',
5611 lineHeight: '1.7'
5612 }
5613 };
5614 });
5615 var FormCode = function FormCode(_ref) {
5616 var onClose = _ref.onClose,
5617 getControlValue = _ref.getControlValue,
5618 setControlValue = _ref.setControlValue,
5619 additionalOptions = _ref.additionalOptions,
5620 credits = _ref.credits,
5621 children = _ref.children;
5622 var _useCodePrompt = (0, _useCodePrompt2.default)(_objectSpread(_objectSpread({}, additionalOptions), {}, {
5623 credits: credits
5624 })),
5625 data = _useCodePrompt.data,
5626 isLoading = _useCodePrompt.isLoading,
5627 error = _useCodePrompt.error,
5628 reset = _useCodePrompt.reset,
5629 send = _useCodePrompt.send,
5630 sendUsageData = _useCodePrompt.sendUsageData;
5631 var _useState = (0, _react.useState)(''),
5632 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
5633 prompt = _useState2[0],
5634 setPrompt = _useState2[1];
5635 var _useRequestIds = (0, _requestsIds.useRequestIds)(),
5636 setGenerate = _useRequestIds.setGenerate;
5637 (0, _promptHistoryActionContext.useSubscribeOnPromptHistoryAction)([{
5638 type: _promptHistoryActionContext.ACTION_TYPES.REUSE,
5639 handler: function handler(action) {
5640 reset();
5641 setPrompt(action.data);
5642 }
5643 }]);
5644 var lastRun = (0, _react.useRef)(function () {});
5645 var autocompleteItems = _actionsData.codeHtmlAutocomplete;
5646 var promptLibraryLink = '';
5647 if ('css' === (additionalOptions === null || additionalOptions === void 0 ? void 0 : additionalOptions.codeLanguage)) {
5648 autocompleteItems = _actionsData.codeCssAutocomplete;
5649 promptLibraryLink = 'https://go.elementor.com/ai-prompt-library-css/';
5650 } else if (additionalOptions !== null && additionalOptions !== void 0 && additionalOptions.htmlMarkup) {
5651 promptLibraryLink = 'https://go.elementor.com/ai-prompt-library-html/';
5652 } else {
5653 promptLibraryLink = 'https://go.elementor.com/ai-prompt-library-custom-code/';
5654 }
5655 var showSuggestions = !prompt;
5656 var handleSubmit = /*#__PURE__*/function () {
5657 var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(event) {
5658 return _regenerator.default.wrap(function _callee$(_context) {
5659 while (1) switch (_context.prev = _context.next) {
5660 case 0:
5661 event.preventDefault();
5662 setGenerate();
5663 lastRun.current = function () {
5664 return send({
5665 prompt: prompt
5666 });
5667 };
5668 lastRun.current();
5669 case 4:
5670 case "end":
5671 return _context.stop();
5672 }
5673 }, _callee);
5674 }));
5675 return function handleSubmit(_x) {
5676 return _ref2.apply(this, arguments);
5677 };
5678 }();
5679 var applyPrompt = function applyPrompt(inputText) {
5680 sendUsageData();
5681 setControlValue(inputText);
5682 onClose();
5683 };
5684 if (isLoading) {
5685 return /*#__PURE__*/_react.default.createElement(_loader.default, null);
5686 }
5687 return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, error && /*#__PURE__*/_react.default.createElement(_promptErrorMessage.default, {
5688 error: error,
5689 onRetry: lastRun.current,
5690 sx: {
5691 mb: 2.5
5692 }
5693 }), children, !data.result && /*#__PURE__*/_react.default.createElement(_ui.Box, {
5694 component: "form",
5695 onSubmit: handleSubmit
5696 }, /*#__PURE__*/_react.default.createElement(_ui.Box, {
5697 sx: {
5698 pb: 1.5
5699 }
5700 }, /*#__PURE__*/_react.default.createElement(_promptSearch.default, {
5701 placeholder: (0, _i18n.__)('Describe the code you want to use...', 'elementor'),
5702 name: "prompt",
5703 value: prompt,
5704 color: "secondary",
5705 onChange: function onChange(event) {
5706 return setPrompt(event.target.value);
5707 }
5708 })), showSuggestions && /*#__PURE__*/_react.default.createElement(_promptSuggestions.default, {
5709 suggestions: autocompleteItems,
5710 onSelect: setPrompt
5711 }, /*#__PURE__*/_react.default.createElement(_promptLibraryLink.default, {
5712 libraryLink: promptLibraryLink
5713 })), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
5714 direction: "row",
5715 alignItems: "center",
5716 sx: {
5717 py: 1.5,
5718 mt: 4
5719 }
5720 }, /*#__PURE__*/_react.default.createElement(_ui.Stack, {
5721 direction: "row",
5722 justifyContent: "flex-end",
5723 flexGrow: 1
5724 }, /*#__PURE__*/_react.default.createElement(_generateButton.default, null, (0, _i18n.__)('Generate code', 'elementor'))))), data.result && /*#__PURE__*/_react.default.createElement(CodeDisplayWrapper, null, /*#__PURE__*/_react.default.createElement(_reactMarkdown.default, {
5725 components: {
5726 code: function code(props) {
5727 return /*#__PURE__*/_react.default.createElement(_codeBlock.default, (0, _extends2.default)({}, props, {
5728 defaultValue: getControlValue(),
5729 onInsert: applyPrompt
5730 }));
5731 }
5732 }
5733 }, data.result), /*#__PURE__*/_react.default.createElement(_voicePromotionAlert.VoicePromotionAlert, {
5734 introductionKey: "ai-context-code-promotion"
5735 }), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
5736 direction: "row",
5737 alignItems: "center",
5738 sx: {
5739 mt: 4
5740 }
5741 }, /*#__PURE__*/_react.default.createElement(_ui.Stack, {
5742 direction: "row",
5743 gap: 1,
5744 justifyContent: "flex-end",
5745 flexGrow: 1
5746 }, /*#__PURE__*/_react.default.createElement(_ui.Button, {
5747 size: "small",
5748 color: "secondary",
5749 variant: "text",
5750 onClick: reset
5751 }, (0, _i18n.__)('New prompt', 'elementor'))))));
5752 };
5753 FormCode.propTypes = {
5754 onClose: _propTypes.default.func.isRequired,
5755 getControlValue: _propTypes.default.func.isRequired,
5756 setControlValue: _propTypes.default.func.isRequired,
5757 additionalOptions: _propTypes.default.shape({
5758 codeLanguage: _propTypes.default.string,
5759 htmlMarkup: _propTypes.default.string,
5760 elementId: _propTypes.default.string,
5761 initialCredits: _propTypes.default.number
5762 }),
5763 credits: _propTypes.default.number,
5764 children: _propTypes.default.node
5765 };
5766 var _default = FormCode;
5767 exports["default"] = _default;
5768
5769 /***/ }),
5770
5771 /***/ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js":
5772 /*!**************************************************************************!*\
5773 !*** ../modules/ai/assets/js/editor/pages/form-layout/context/config.js ***!
5774 \**************************************************************************/
5775 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5776
5777 "use strict";
5778
5779
5780 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5781 Object.defineProperty(exports, "__esModule", ({
5782 value: true
5783 }));
5784 exports.useConfig = exports["default"] = exports.MODE_VARIATION = exports.MODE_LAYOUT = exports.LAYOUT_APP_MODES = exports.ConfigProvider = void 0;
5785 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
5786 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
5787 var MODE_LAYOUT = 'layout';
5788 exports.MODE_LAYOUT = MODE_LAYOUT;
5789 var MODE_VARIATION = 'variation';
5790 exports.MODE_VARIATION = MODE_VARIATION;
5791 var LAYOUT_APP_MODES = [MODE_LAYOUT, MODE_VARIATION];
5792 exports.LAYOUT_APP_MODES = LAYOUT_APP_MODES;
5793 var ConfigContext = _react.default.createContext({});
5794 var useConfig = function useConfig() {
5795 return _react.default.useContext(ConfigContext);
5796 };
5797 exports.useConfig = useConfig;
5798 var ConfigProvider = function ConfigProvider(props) {
5799 return /*#__PURE__*/_react.default.createElement(ConfigContext.Provider, {
5800 value: {
5801 mode: props.mode,
5802 attachmentsTypes: props.attachmentsTypes,
5803 onClose: props.onClose,
5804 onConnect: props.onConnect,
5805 onData: props.onData,
5806 onInsert: props.onInsert,
5807 onSelect: props.onSelect,
5808 onGenerate: props.onGenerate,
5809 currentContext: props.currentContext,
5810 hasPro: props.hasPro
5811 }
5812 }, props.children);
5813 };
5814 exports.ConfigProvider = ConfigProvider;
5815 ConfigProvider.propTypes = {
5816 mode: _propTypes.default.oneOf(LAYOUT_APP_MODES).isRequired,
5817 children: _propTypes.default.node.isRequired,
5818 attachmentsTypes: _propTypes.default.object.isRequired,
5819 onClose: _propTypes.default.func.isRequired,
5820 onConnect: _propTypes.default.func.isRequired,
5821 onData: _propTypes.default.func.isRequired,
5822 onInsert: _propTypes.default.func.isRequired,
5823 onSelect: _propTypes.default.func.isRequired,
5824 onGenerate: _propTypes.default.func.isRequired,
5825 currentContext: _propTypes.default.object,
5826 hasPro: _propTypes.default.bool
5827 };
5828 var _default = ConfigContext;
5829 exports["default"] = _default;
5830
5831 /***/ }),
5832
5833 /***/ "../modules/ai/assets/js/editor/pages/form-media/components/back-button.js":
5834 /*!*********************************************************************************!*\
5835 !*** ../modules/ai/assets/js/editor/pages/form-media/components/back-button.js ***!
5836 \*********************************************************************************/
5837 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5838
5839 "use strict";
5840
5841
5842 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5843 Object.defineProperty(exports, "__esModule", ({
5844 value: true
5845 }));
5846 exports["default"] = void 0;
5847 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
5848 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
5849 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
5850 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
5851 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
5852 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
5853 var _chevronLeftIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/chevron-left-icon */ "../modules/ai/assets/js/editor/icons/chevron-left-icon.js"));
5854 var _excluded = ["children"];
5855 var StyledChevronLeftIcon = (0, _ui.withDirection)(_chevronLeftIcon.default);
5856 var BackButton = function BackButton(_ref) {
5857 var children = _ref.children,
5858 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
5859 return /*#__PURE__*/_react.default.createElement(_ui.Button, (0, _extends2.default)({
5860 size: "small",
5861 variant: "text",
5862 color: "secondary",
5863 startIcon: /*#__PURE__*/_react.default.createElement(StyledChevronLeftIcon, null)
5864 }, props), children || (0, _i18n.__)('Back', 'elementor'));
5865 };
5866 BackButton.propTypes = {
5867 children: _propTypes.default.node
5868 };
5869 var _default = BackButton;
5870 exports["default"] = _default;
5871
5872 /***/ }),
5873
5874 /***/ "../modules/ai/assets/js/editor/pages/form-media/components/enhance-button.js":
5875 /*!************************************************************************************!*\
5876 !*** ../modules/ai/assets/js/editor/pages/form-media/components/enhance-button.js ***!
5877 \************************************************************************************/
5878 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5879
5880 "use strict";
5881
5882
5883 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5884 Object.defineProperty(exports, "__esModule", ({
5885 value: true
5886 }));
5887 exports["default"] = void 0;
5888 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
5889 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
5890 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
5891 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
5892 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
5893 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
5894 var _wandIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/wand-icon */ "../modules/ai/assets/js/editor/icons/wand-icon.js"));
5895 var _excluded = ["isLoading"];
5896 var StyledWandIcon = (0, _ui.withDirection)(_wandIcon.default);
5897 var EnhanceButton = function EnhanceButton(_ref) {
5898 var isLoading = _ref.isLoading,
5899 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
5900 return /*#__PURE__*/_react.default.createElement(_ui.Tooltip, {
5901 title: (0, _i18n.__)('Enhance prompt', 'elementor')
5902 }, /*#__PURE__*/_react.default.createElement(_ui.Box, {
5903 component: "span",
5904 sx: {
5905 cursor: props.disabled ? 'default' : 'pointer'
5906 }
5907 }, /*#__PURE__*/_react.default.createElement(_ui.IconButton, (0, _extends2.default)({
5908 size: "small",
5909 color: "secondary"
5910 }, props), isLoading ? /*#__PURE__*/_react.default.createElement(_ui.CircularProgress, {
5911 color: "secondary",
5912 size: 20
5913 }) : /*#__PURE__*/_react.default.createElement(StyledWandIcon, {
5914 fontSize: "small"
5915 }))));
5916 };
5917 EnhanceButton.propTypes = {
5918 disabled: _propTypes.default.bool,
5919 isLoading: _propTypes.default.bool
5920 };
5921 var _default = EnhanceButton;
5922 exports["default"] = _default;
5923
5924 /***/ }),
5925
5926 /***/ "../modules/ai/assets/js/editor/pages/form-media/components/gallery.js":
5927 /*!*****************************************************************************!*\
5928 !*** ../modules/ai/assets/js/editor/pages/form-media/components/gallery.js ***!
5929 \*****************************************************************************/
5930 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5931
5932 "use strict";
5933
5934
5935 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5936 Object.defineProperty(exports, "__esModule", ({
5937 value: true
5938 }));
5939 exports["default"] = void 0;
5940 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
5941 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
5942 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
5943 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
5944 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
5945 var _overlay = _interopRequireDefault(__webpack_require__(/*! ../../../components/ui/overlay */ "../modules/ai/assets/js/editor/components/ui/overlay.js"));
5946 var _overlayBar = _interopRequireDefault(__webpack_require__(/*! ../../../components/ui/overlay-bar */ "../modules/ai/assets/js/editor/components/ui/overlay-bar.js"));
5947 var _overlayBarText = _interopRequireDefault(__webpack_require__(/*! ../../../components/ui/overlay-bar-text */ "../modules/ai/assets/js/editor/components/ui/overlay-bar-text.js"));
5948 var _constants = __webpack_require__(/*! ../constants */ "../modules/ai/assets/js/editor/pages/form-media/constants/index.js");
5949 var _excluded = ["children"],
5950 _excluded2 = ["alt", "src", "text", "children", "aspectRatio", "variant", "OverlayBarProps"];
5951 var aspectRatios = Object.keys(_constants.IMAGE_ASPECT_RATIO);
5952 var Gallery = function Gallery(_ref) {
5953 var children = _ref.children,
5954 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
5955 return /*#__PURE__*/_react.default.createElement(_ui.ImageList, (0, _extends2.default)({
5956 width: "100%",
5957 cols: 2,
5958 gap: 24
5959 }, props), children);
5960 };
5961 Gallery.propTypes = {
5962 children: _propTypes.default.node
5963 };
5964 var GalleryImage = function GalleryImage(_ref2) {
5965 var alt = _ref2.alt,
5966 src = _ref2.src,
5967 text = _ref2.text,
5968 children = _ref2.children,
5969 _ref2$aspectRatio = _ref2.aspectRatio,
5970 aspectRatio = _ref2$aspectRatio === void 0 ? '1:1' : _ref2$aspectRatio,
5971 _ref2$variant = _ref2.variant,
5972 variant = _ref2$variant === void 0 ? 'contained' : _ref2$variant,
5973 _ref2$OverlayBarProps = _ref2.OverlayBarProps,
5974 OverlayBarProps = _ref2$OverlayBarProps === void 0 ? {} : _ref2$OverlayBarProps,
5975 props = (0, _objectWithoutProperties2.default)(_ref2, _excluded2);
5976 var style = {};
5977 if ('thumbnail' === variant) {
5978 style.width = '100%';
5979 style.maxHeight = '238px';
5980 style.minWidth = '230px';
5981 } else {
5982 style.width = 'auto';
5983 style.height = 'auto';
5984 style.maxWidth = '100%';
5985 style.maxHeight = '1:1' === aspectRatio ? 'initial' : '100%';
5986 style.objectFit = 'contain';
5987 style.aspectRatio = aspectRatio.replace(':', ' / ');
5988 }
5989 return /*#__PURE__*/_react.default.createElement(_ui.ImageListItem, props, /*#__PURE__*/_react.default.createElement(_ui.Box, {
5990 display: "flex",
5991 justifyContent: "center",
5992 alignItems: "center",
5993 sx: {
5994 bgcolor: 'action.selected',
5995 height: 'contained' === variant ? 336 : 'auto',
5996 position: 'relative',
5997 overflow: 'hidden'
5998 }
5999 }, /*#__PURE__*/_react.default.createElement("img", {
6000 alt: alt,
6001 src: src,
6002 style: style
6003 })), children && /*#__PURE__*/_react.default.createElement(_overlay.default, null, /*#__PURE__*/_react.default.createElement(_overlayBar.default, (0, _extends2.default)({
6004 gap: 1,
6005 position: "bottom"
6006 }, OverlayBarProps), text && /*#__PURE__*/_react.default.createElement(_overlayBarText.default, null, text), children)));
6007 };
6008 GalleryImage.propTypes = {
6009 alt: _propTypes.default.string,
6010 src: _propTypes.default.string,
6011 text: _propTypes.default.string,
6012 children: _propTypes.default.node,
6013 BoxProps: _propTypes.default.object,
6014 OverlayBarProps: _propTypes.default.object,
6015 aspectRatio: _propTypes.default.oneOf(aspectRatios),
6016 variant: _propTypes.default.oneOf(['contained', 'thumbnail'])
6017 };
6018 Gallery.Image = GalleryImage;
6019 var _default = Gallery;
6020 exports["default"] = _default;
6021
6022 /***/ }),
6023
6024 /***/ "../modules/ai/assets/js/editor/pages/form-media/components/generate-again-submit.js":
6025 /*!*******************************************************************************************!*\
6026 !*** ../modules/ai/assets/js/editor/pages/form-media/components/generate-again-submit.js ***!
6027 \*******************************************************************************************/
6028 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
6029
6030 "use strict";
6031
6032
6033 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
6034 Object.defineProperty(exports, "__esModule", ({
6035 value: true
6036 }));
6037 exports["default"] = void 0;
6038 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
6039 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
6040 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
6041 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
6042 var _refreshIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/refresh-icon */ "../modules/ai/assets/js/editor/icons/refresh-icon.js"));
6043 var GenerateAgainSubmit = function GenerateAgainSubmit(props) {
6044 return /*#__PURE__*/_react.default.createElement(_ui.Button, (0, _extends2.default)({
6045 fullWidth: true,
6046 type: "submit",
6047 variant: "contained",
6048 color: "secondary",
6049 startIcon: /*#__PURE__*/_react.default.createElement(_refreshIcon.default, null),
6050 sx: {
6051 // TODO: Remove on @elementor/ui 1.4.51.
6052 color: 'background.paper'
6053 }
6054 }, props), (0, _i18n.__)('Generate again', 'elementor'));
6055 };
6056 var _default = GenerateAgainSubmit;
6057 exports["default"] = _default;
6058
6059 /***/ }),
6060
6061 /***/ "../modules/ai/assets/js/editor/pages/form-media/components/generate-images-submit.js":
6062 /*!********************************************************************************************!*\
6063 !*** ../modules/ai/assets/js/editor/pages/form-media/components/generate-images-submit.js ***!
6064 \********************************************************************************************/
6065 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
6066
6067 "use strict";
6068
6069
6070 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
6071 Object.defineProperty(exports, "__esModule", ({
6072 value: true
6073 }));
6074 exports["default"] = void 0;
6075 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
6076 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
6077 var _generateButton = _interopRequireDefault(__webpack_require__(/*! ../../../components/generate-button */ "../modules/ai/assets/js/editor/components/generate-button.js"));
6078 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
6079 var _voicePromotionAlert = _interopRequireDefault(__webpack_require__(/*! ../../../components/voice-promotion-alert */ "../modules/ai/assets/js/editor/components/voice-promotion-alert.js"));
6080 var GenerateImagesSubmit = function GenerateImagesSubmit(props) {
6081 return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_generateButton.default, (0, _extends2.default)({
6082 size: "medium",
6083 fullWidth: true
6084 }, props), (0, _i18n.__)('Generate images', 'elementor')), /*#__PURE__*/_react.default.createElement(_voicePromotionAlert.default, {
6085 introductionKey: "ai-context-media-promotion"
6086 }));
6087 };
6088 var _default = GenerateImagesSubmit;
6089 exports["default"] = _default;
6090
6091 /***/ }),
6092
6093 /***/ "../modules/ai/assets/js/editor/pages/form-media/components/generate-loader.js":
6094 /*!*************************************************************************************!*\
6095 !*** ../modules/ai/assets/js/editor/pages/form-media/components/generate-loader.js ***!
6096 \*************************************************************************************/
6097 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
6098
6099 "use strict";
6100
6101
6102 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
6103 Object.defineProperty(exports, "__esModule", ({
6104 value: true
6105 }));
6106 exports["default"] = void 0;
6107 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
6108 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
6109 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
6110 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
6111 var GenerateLoader = function GenerateLoader() {
6112 return /*#__PURE__*/_react.default.createElement(_ui.Stack, {
6113 alignItems: "center",
6114 justifyContent: "center",
6115 gap: 2,
6116 width: "100%"
6117 }, /*#__PURE__*/_react.default.createElement(_icons.AIIcon, {
6118 sx: {
6119 color: 'text.primary',
6120 fontSize: '60px',
6121 mb: 1
6122 }
6123 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
6124 variant: "h5",
6125 sx: {
6126 color: 'text.primary'
6127 }
6128 }, (0, _i18n.__)('Bringing your vision to life...', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
6129 variant: "body1"
6130 }, (0, _i18n.__)('Hold tight, painting dreams might take a moment.', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Box, {
6131 sx: {
6132 px: 1.5,
6133 py: 2.5,
6134 width: '100%',
6135 maxWidth: 600
6136 }
6137 }, /*#__PURE__*/_react.default.createElement(_ui.LinearProgress, {
6138 color: "inherit"
6139 })));
6140 };
6141 var _default = GenerateLoader;
6142 exports["default"] = _default;
6143
6144 /***/ }),
6145
6146 /***/ "../modules/ai/assets/js/editor/pages/form-media/components/generate-submit.js":
6147 /*!*************************************************************************************!*\
6148 !*** ../modules/ai/assets/js/editor/pages/form-media/components/generate-submit.js ***!
6149 \*************************************************************************************/
6150 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
6151
6152 "use strict";
6153
6154
6155 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
6156 Object.defineProperty(exports, "__esModule", ({
6157 value: true
6158 }));
6159 exports["default"] = void 0;
6160 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
6161 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
6162 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
6163 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
6164 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
6165 var GenerateSubmit = function GenerateSubmit(props) {
6166 return /*#__PURE__*/_react.default.createElement(_ui.Button, (0, _extends2.default)({
6167 fullWidth: true,
6168 size: "medium",
6169 type: "submit",
6170 variant: "contained"
6171 }, props), props.children || (0, _i18n.__)('Generate', 'elementor'));
6172 };
6173 GenerateSubmit.propTypes = {
6174 children: _propTypes.default.node
6175 };
6176 var _default = GenerateSubmit;
6177 exports["default"] = _default;
6178
6179 /***/ }),
6180
6181 /***/ "../modules/ai/assets/js/editor/pages/form-media/components/image-actions.js":
6182 /*!***********************************************************************************!*\
6183 !*** ../modules/ai/assets/js/editor/pages/form-media/components/image-actions.js ***!
6184 \***********************************************************************************/
6185 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
6186
6187 "use strict";
6188
6189
6190 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
6191 Object.defineProperty(exports, "__esModule", ({
6192 value: true
6193 }));
6194 exports["default"] = void 0;
6195 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
6196 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
6197 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
6198 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
6199 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
6200 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
6201 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
6202 var _copyIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/copy-icon */ "../modules/ai/assets/js/editor/icons/copy-icon.js"));
6203 var _editIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/edit-icon */ "../modules/ai/assets/js/editor/icons/edit-icon.js"));
6204 var _downloadIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/download-icon */ "../modules/ai/assets/js/editor/icons/download-icon.js"));
6205 var _zoomInIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/zoom-in-icon */ "../modules/ai/assets/js/editor/icons/zoom-in-icon.js"));
6206 var _excluded = ["children"],
6207 _excluded2 = ["sx"],
6208 _excluded3 = ["sx"],
6209 _excluded4 = ["sx"],
6210 _excluded5 = ["sx"];
6211 function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
6212 function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
6213 var StyledEditSvgIcon = (0, _ui.withDirection)(_editIcon.default);
6214 var StyledCopySvgIcon = (0, _ui.withDirection)(_copyIcon.default);
6215 var StyledZoomInIcon = (0, _ui.withDirection)(_zoomInIcon.default);
6216 var Tooltip = function Tooltip(props) {
6217 return /*#__PURE__*/_react.default.createElement(_ui.Tooltip, (0, _extends2.default)({
6218 PopperProps: {
6219 sx: {
6220 '&.MuiTooltip-popper .MuiTooltip-tooltip.MuiTooltip-tooltipPlacementBottom': {
6221 mt: 1
6222 }
6223 }
6224 }
6225 }, props));
6226 };
6227 var ImageActions = function ImageActions(_ref) {
6228 var children = _ref.children,
6229 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
6230 return /*#__PURE__*/_react.default.createElement(_ui.Box, (0, _extends2.default)({
6231 display: "flex",
6232 justifyContent: "space-between",
6233 alignItems: "center",
6234 width: "100%",
6235 gap: 1
6236 }, props), children);
6237 };
6238 ImageActions.propTypes = {
6239 children: _propTypes.default.node
6240 };
6241 var UseImage = function UseImage(_ref2) {
6242 var sx = _ref2.sx,
6243 props = (0, _objectWithoutProperties2.default)(_ref2, _excluded2);
6244 return /*#__PURE__*/_react.default.createElement(_ui.Button, (0, _extends2.default)({
6245 size: "small",
6246 variant: "contained",
6247 startIcon: /*#__PURE__*/_react.default.createElement(_downloadIcon.default, null)
6248 }, props), (0, _i18n.__)('Use Image', 'elementor'));
6249 };
6250 UseImage.propTypes = {
6251 sx: _propTypes.default.object
6252 };
6253 var EditImage = function EditImage(props) {
6254 return /*#__PURE__*/_react.default.createElement(_ui.Button, (0, _extends2.default)({
6255 size: "small",
6256 color: "secondary",
6257 startIcon: /*#__PURE__*/_react.default.createElement(StyledEditSvgIcon, null)
6258 }, props), (0, _i18n.__)('Edit', 'elementor'));
6259 };
6260 var EditIcon = function EditIcon(_ref3) {
6261 var _ref3$sx = _ref3.sx,
6262 sx = _ref3$sx === void 0 ? {} : _ref3$sx,
6263 props = (0, _objectWithoutProperties2.default)(_ref3, _excluded3);
6264 return /*#__PURE__*/_react.default.createElement(Tooltip, {
6265 title: (0, _i18n.__)('Edit', 'elementor')
6266 }, /*#__PURE__*/_react.default.createElement(_ui.IconButton, (0, _extends2.default)({
6267 sx: _objectSpread({
6268 mr: -1.5,
6269 ml: 0.5,
6270 color: 'common.white',
6271 '&:hover': {
6272 color: 'common.white'
6273 }
6274 }, sx)
6275 }, props), /*#__PURE__*/_react.default.createElement(StyledEditSvgIcon, null)));
6276 };
6277 EditIcon.propTypes = {
6278 sx: _propTypes.default.object
6279 };
6280 var ZoomIcon = function ZoomIcon(_ref4) {
6281 var _ref4$sx = _ref4.sx,
6282 sx = _ref4$sx === void 0 ? {} : _ref4$sx,
6283 props = (0, _objectWithoutProperties2.default)(_ref4, _excluded4);
6284 return /*#__PURE__*/_react.default.createElement(Tooltip, {
6285 title: (0, _i18n.__)('Zoom', 'elementor')
6286 }, /*#__PURE__*/_react.default.createElement(_ui.IconButton, (0, _extends2.default)({
6287 color: "secondary",
6288 "aria-label": (0, _i18n.__)('Zoom', 'elementor'),
6289 sx: _objectSpread({
6290 color: 'common.white',
6291 '&:hover': {
6292 color: 'common.white'
6293 }
6294 }, sx)
6295 }, props), /*#__PURE__*/_react.default.createElement(StyledZoomInIcon, null)));
6296 };
6297 ZoomIcon.propTypes = {
6298 sx: _propTypes.default.object
6299 };
6300 var CopyIcon = function CopyIcon(_ref5) {
6301 var _ref5$sx = _ref5.sx,
6302 sx = _ref5$sx === void 0 ? {} : _ref5$sx,
6303 props = (0, _objectWithoutProperties2.default)(_ref5, _excluded5);
6304 return /*#__PURE__*/_react.default.createElement(Tooltip, {
6305 title: (0, _i18n.__)('Copy prompt', 'elementor')
6306 }, /*#__PURE__*/_react.default.createElement(_ui.IconButton, (0, _extends2.default)({
6307 sx: _objectSpread({
6308 mr: -1.5,
6309 ml: 0.5,
6310 color: 'common.white',
6311 '&:hover': {
6312 color: 'common.white'
6313 }
6314 }, sx)
6315 }, props), /*#__PURE__*/_react.default.createElement(StyledCopySvgIcon, null)));
6316 };
6317 CopyIcon.propTypes = {
6318 sx: _propTypes.default.object
6319 };
6320 ImageActions.UseImage = UseImage;
6321 ImageActions.EditImage = EditImage;
6322 ImageActions.EditIcon = EditIcon;
6323 ImageActions.ZoomIcon = ZoomIcon;
6324 ImageActions.CopyIcon = CopyIcon;
6325 var _default = ImageActions;
6326 exports["default"] = _default;
6327
6328 /***/ }),
6329
6330 /***/ "../modules/ai/assets/js/editor/pages/form-media/components/image-form.js":
6331 /*!********************************************************************************!*\
6332 !*** ../modules/ai/assets/js/editor/pages/form-media/components/image-form.js ***!
6333 \********************************************************************************/
6334 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
6335
6336 "use strict";
6337
6338
6339 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
6340 Object.defineProperty(exports, "__esModule", ({
6341 value: true
6342 }));
6343 exports["default"] = void 0;
6344 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
6345 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
6346 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
6347 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
6348 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
6349 var _excluded = ["children"];
6350 var ImageForm = function ImageForm(_ref) {
6351 var children = _ref.children,
6352 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
6353 return /*#__PURE__*/_react.default.createElement(_ui.Box, (0, _extends2.default)({
6354 component: "form"
6355 }, props), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
6356 spacing: 2.5
6357 }, children));
6358 };
6359 ImageForm.propTypes = {
6360 children: _propTypes.default.node
6361 };
6362 var _default = ImageForm;
6363 exports["default"] = _default;
6364
6365 /***/ }),
6366
6367 /***/ "../modules/ai/assets/js/editor/pages/form-media/components/image-ratio-select.js":
6368 /*!****************************************************************************************!*\
6369 !*** ../modules/ai/assets/js/editor/pages/form-media/components/image-ratio-select.js ***!
6370 \****************************************************************************************/
6371 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
6372
6373 "use strict";
6374
6375
6376 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
6377 Object.defineProperty(exports, "__esModule", ({
6378 value: true
6379 }));
6380 exports["default"] = void 0;
6381 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
6382 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
6383 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
6384 var _promptActionSelection = _interopRequireDefault(__webpack_require__(/*! ../../../components/prompt-action-selection */ "../modules/ai/assets/js/editor/components/prompt-action-selection.js"));
6385 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
6386 var _constants = __webpack_require__(/*! ../constants */ "../modules/ai/assets/js/editor/pages/form-media/constants/index.js");
6387 var imageRatios = Object.entries(_constants.IMAGE_ASPECT_RATIO).map(function (_ref) {
6388 var _ref2 = (0, _slicedToArray2.default)(_ref, 2),
6389 value = _ref2[0],
6390 label = _ref2[1].label;
6391 return {
6392 label: label,
6393 value: value
6394 };
6395 });
6396 var ImageRatioSelect = function ImageRatioSelect(props) {
6397 return /*#__PURE__*/_react.default.createElement(_promptActionSelection.default, (0, _extends2.default)({
6398 options: imageRatios,
6399 wrapperStyle: {
6400 width: '100%'
6401 },
6402 label: (0, _i18n.__)('Aspect ratio', 'elementor')
6403 }, props));
6404 };
6405 var _default = ImageRatioSelect;
6406 exports["default"] = _default;
6407
6408 /***/ }),
6409
6410 /***/ "../modules/ai/assets/js/editor/pages/form-media/components/image-slider.js":
6411 /*!**********************************************************************************!*\
6412 !*** ../modules/ai/assets/js/editor/pages/form-media/components/image-slider.js ***!
6413 \**********************************************************************************/
6414 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
6415
6416 "use strict";
6417
6418
6419 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
6420 Object.defineProperty(exports, "__esModule", ({
6421 value: true
6422 }));
6423 exports["default"] = void 0;
6424 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
6425 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
6426 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
6427 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
6428 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
6429 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
6430 var _chevronLeftIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/chevron-left-icon */ "../modules/ai/assets/js/editor/icons/chevron-left-icon.js"));
6431 var _chevronRightIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/chevron-right-icon */ "../modules/ai/assets/js/editor/icons/chevron-right-icon.js"));
6432 var _excluded = ["onPrev", "onNext", "children"],
6433 _excluded2 = ["children", "startAction", "sx"],
6434 _excluded3 = ["src", "alt"];
6435 function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
6436 function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
6437 var StyledChevronLeftIcon = (0, _ui.withDirection)(_chevronLeftIcon.default);
6438 var StyledChevronRightIcon = (0, _ui.withDirection)(_chevronRightIcon.default);
6439 var ImageSlider = function ImageSlider(_ref) {
6440 var onPrev = _ref.onPrev,
6441 onNext = _ref.onNext,
6442 children = _ref.children,
6443 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
6444 return /*#__PURE__*/_react.default.createElement(_ui.Stack, (0, _extends2.default)({
6445 alignItems: "flex-start",
6446 spacing: 0.5
6447 }, props), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
6448 direction: "row",
6449 spacing: 2.5,
6450 alignSelf: "center",
6451 alignItems: "center"
6452 }, /*#__PURE__*/_react.default.createElement(_ui.IconButton, {
6453 onClick: onPrev,
6454 size: "large",
6455 color: "secondary"
6456 }, /*#__PURE__*/_react.default.createElement(StyledChevronLeftIcon, null)), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
6457 spacing: 0.5,
6458 justifyContent: "space-around",
6459 alignItems: "center"
6460 }, children), /*#__PURE__*/_react.default.createElement(_ui.IconButton, {
6461 onClick: onNext,
6462 size: "large",
6463 color: "secondary"
6464 }, /*#__PURE__*/_react.default.createElement(StyledChevronRightIcon, null))));
6465 };
6466 ImageSlider.propTypes = {
6467 onPrev: _propTypes.default.func.isRequired,
6468 onNext: _propTypes.default.func.isRequired,
6469 children: _propTypes.default.node.isRequired
6470 };
6471 var Actions = function Actions(_ref2) {
6472 var children = _ref2.children,
6473 startAction = _ref2.startAction,
6474 _ref2$sx = _ref2.sx,
6475 sx = _ref2$sx === void 0 ? {} : _ref2$sx,
6476 props = (0, _objectWithoutProperties2.default)(_ref2, _excluded2);
6477 return /*#__PURE__*/_react.default.createElement(_ui.Box, (0, _extends2.default)({
6478 display: "flex",
6479 justifyContent: "flex-end",
6480 alignItems: "center",
6481 width: "100%"
6482 }, props, {
6483 sx: _objectSpread({
6484 mb: 1.5
6485 }, sx)
6486 }), startAction, /*#__PURE__*/_react.default.createElement(_ui.Stack, {
6487 direction: "row",
6488 spacing: 2,
6489 justifyContent: "flex-end",
6490 flexGrow: 1,
6491 width: "100%"
6492 }, children));
6493 };
6494 Actions.propTypes = {
6495 sx: _propTypes.default.object,
6496 startAction: _propTypes.default.node,
6497 children: _propTypes.default.node.isRequired
6498 };
6499 var Image = function Image(_ref3) {
6500 var src = _ref3.src,
6501 _ref3$alt = _ref3.alt,
6502 alt = _ref3$alt === void 0 ? '' : _ref3$alt,
6503 props = (0, _objectWithoutProperties2.default)(_ref3, _excluded3);
6504 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
6505 display: "flex",
6506 justifyContent: "center",
6507 alignItems: "center"
6508 }, /*#__PURE__*/_react.default.createElement("img", (0, _extends2.default)({
6509 src: src,
6510 alt: alt
6511 }, props)));
6512 };
6513 Image.propTypes = {
6514 alt: _propTypes.default.string,
6515 src: _propTypes.default.string.isRequired
6516 };
6517 ImageSlider.Actions = Actions;
6518 ImageSlider.Image = Image;
6519 var _default = ImageSlider;
6520 exports["default"] = _default;
6521
6522 /***/ }),
6523
6524 /***/ "../modules/ai/assets/js/editor/pages/form-media/components/image-strength-slider.js":
6525 /*!*******************************************************************************************!*\
6526 !*** ../modules/ai/assets/js/editor/pages/form-media/components/image-strength-slider.js ***!
6527 \*******************************************************************************************/
6528 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
6529
6530 "use strict";
6531
6532
6533 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
6534 Object.defineProperty(exports, "__esModule", ({
6535 value: true
6536 }));
6537 exports["default"] = void 0;
6538 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
6539 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
6540 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
6541 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
6542 var ImageStrengthSlider = function ImageStrengthSlider(props) {
6543 return /*#__PURE__*/_react.default.createElement(_ui.FormControl, {
6544 sx: {
6545 width: '100%'
6546 }
6547 }, /*#__PURE__*/_react.default.createElement(_ui.Slider, (0, _extends2.default)({
6548 marks: true,
6549 min: 0,
6550 step: 10,
6551 max: 100,
6552 color: "secondary",
6553 id: "image_strength",
6554 name: "image_strength",
6555 valueLabelDisplay: "auto",
6556 getAriaValueText: function getAriaValueText(value) {
6557 return "".concat(value, "%");
6558 },
6559 "aria-label": (0, _i18n.__)('Reference strength', 'elementor')
6560 }, props)), /*#__PURE__*/_react.default.createElement(_ui.Box, {
6561 display: "flex",
6562 justifyContent: "space-between",
6563 alignItems: "center"
6564 }, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
6565 variant: "caption"
6566 }, (0, _i18n.__)('Prompt', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
6567 variant: "caption"
6568 }, (0, _i18n.__)('Reference image', 'elementor'))));
6569 };
6570 var _default = ImageStrengthSlider;
6571 exports["default"] = _default;
6572
6573 /***/ }),
6574
6575 /***/ "../modules/ai/assets/js/editor/pages/form-media/components/image-style-select.js":
6576 /*!****************************************************************************************!*\
6577 !*** ../modules/ai/assets/js/editor/pages/form-media/components/image-style-select.js ***!
6578 \****************************************************************************************/
6579 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
6580
6581 "use strict";
6582
6583
6584 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
6585 Object.defineProperty(exports, "__esModule", ({
6586 value: true
6587 }));
6588 exports["default"] = void 0;
6589 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
6590 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
6591 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
6592 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
6593 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
6594 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
6595 var _promptActionSelection = _interopRequireDefault(__webpack_require__(/*! ../../../components/prompt-action-selection */ "../modules/ai/assets/js/editor/components/prompt-action-selection.js"));
6596 var _constants = __webpack_require__(/*! ../constants */ "../modules/ai/assets/js/editor/pages/form-media/constants/index.js");
6597 var _excluded = ["type"];
6598 var ImageStyleSelect = function ImageStyleSelect(_ref) {
6599 var _IMAGE_PROMPT_CATEGOR;
6600 var _ref$type = _ref.type,
6601 type = _ref$type === void 0 ? '' : _ref$type,
6602 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
6603 // The image styles are determined by the selected type.
6604 var imageStyles = Object.entries(((_IMAGE_PROMPT_CATEGOR = _constants.IMAGE_PROMPT_CATEGORIES[type]) === null || _IMAGE_PROMPT_CATEGOR === void 0 ? void 0 : _IMAGE_PROMPT_CATEGOR.subCategories) || {}).map(function (_ref2) {
6605 var _ref3 = (0, _slicedToArray2.default)(_ref2, 2),
6606 value = _ref3[0],
6607 label = _ref3[1];
6608 return {
6609 label: label,
6610 value: value
6611 };
6612 });
6613 return /*#__PURE__*/_react.default.createElement(_promptActionSelection.default, (0, _extends2.default)({
6614 options: imageStyles,
6615 wrapperStyle: {
6616 width: '100%'
6617 },
6618 label: (0, _i18n.__)('Style', 'elementor')
6619 }, props));
6620 };
6621 ImageStyleSelect.propTypes = {
6622 type: _propTypes.default.string.isRequired
6623 };
6624 var _default = ImageStyleSelect;
6625 exports["default"] = _default;
6626
6627 /***/ }),
6628
6629 /***/ "../modules/ai/assets/js/editor/pages/form-media/components/image-type-select.js":
6630 /*!***************************************************************************************!*\
6631 !*** ../modules/ai/assets/js/editor/pages/form-media/components/image-type-select.js ***!
6632 \***************************************************************************************/
6633 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
6634
6635 "use strict";
6636
6637
6638 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
6639 Object.defineProperty(exports, "__esModule", ({
6640 value: true
6641 }));
6642 exports["default"] = void 0;
6643 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
6644 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
6645 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
6646 var _promptActionSelection = _interopRequireDefault(__webpack_require__(/*! ../../../components/prompt-action-selection */ "../modules/ai/assets/js/editor/components/prompt-action-selection.js"));
6647 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
6648 var _constants = __webpack_require__(/*! ../constants */ "../modules/ai/assets/js/editor/pages/form-media/constants/index.js");
6649 var imageTypes = Object.entries(_constants.IMAGE_PROMPT_CATEGORIES).map(function (_ref) {
6650 var _ref2 = (0, _slicedToArray2.default)(_ref, 2),
6651 key = _ref2[0],
6652 label = _ref2[1].label;
6653 return {
6654 label: label,
6655 value: key
6656 };
6657 });
6658 var ImageTypeSelect = function ImageTypeSelect(props) {
6659 return /*#__PURE__*/_react.default.createElement(_promptActionSelection.default, (0, _extends2.default)({
6660 options: imageTypes,
6661 wrapperStyle: {
6662 width: '100%'
6663 },
6664 label: (0, _i18n.__)('Image type', 'elementor')
6665 }, props));
6666 };
6667 var _default = ImageTypeSelect;
6668 exports["default"] = _default;
6669
6670 /***/ }),
6671
6672 /***/ "../modules/ai/assets/js/editor/pages/form-media/components/images-display.js":
6673 /*!************************************************************************************!*\
6674 !*** ../modules/ai/assets/js/editor/pages/form-media/components/images-display.js ***!
6675 \************************************************************************************/
6676 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
6677
6678 "use strict";
6679
6680
6681 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
6682 Object.defineProperty(exports, "__esModule", ({
6683 value: true
6684 }));
6685 exports["default"] = void 0;
6686 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
6687 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
6688 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
6689 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
6690 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
6691 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
6692 var _useImageSize2 = _interopRequireDefault(__webpack_require__(/*! ../hooks/use-image-size */ "../modules/ai/assets/js/editor/pages/form-media/hooks/use-image-size.js"));
6693 var _useImageNavigation2 = _interopRequireDefault(__webpack_require__(/*! ../../../hooks/use-image-navigation */ "../modules/ai/assets/js/editor/hooks/use-image-navigation.js"));
6694 var _imageSlider = _interopRequireDefault(__webpack_require__(/*! ./image-slider */ "../modules/ai/assets/js/editor/pages/form-media/components/image-slider.js"));
6695 var _imageActions = _interopRequireDefault(__webpack_require__(/*! ./image-actions */ "../modules/ai/assets/js/editor/pages/form-media/components/image-actions.js"));
6696 var _gallery = _interopRequireDefault(__webpack_require__(/*! ./gallery */ "../modules/ai/assets/js/editor/pages/form-media/components/gallery.js"));
6697 var _backButton = _interopRequireDefault(__webpack_require__(/*! ./back-button */ "../modules/ai/assets/js/editor/pages/form-media/components/back-button.js"));
6698 var _singleImagePreview = _interopRequireDefault(__webpack_require__(/*! ./single-image-preview */ "../modules/ai/assets/js/editor/pages/form-media/components/single-image-preview.js"));
6699 var _excluded = ["children", "sx"];
6700 function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
6701 function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
6702 var Container = function Container(_ref) {
6703 var children = _ref.children,
6704 _ref$sx = _ref.sx,
6705 sx = _ref$sx === void 0 ? {} : _ref$sx,
6706 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
6707 return /*#__PURE__*/_react.default.createElement(_ui.Box, (0, _extends2.default)({
6708 flexGrow: 1
6709 }, props, {
6710 sx: _objectSpread({
6711 overflowY: 'scroll'
6712 }, sx)
6713 }), children);
6714 };
6715 Container.propTypes = {
6716 sx: _propTypes.default.object,
6717 children: _propTypes.default.node
6718 };
6719 var ImagesDisplay = function ImagesDisplay(_ref2) {
6720 var images = _ref2.images,
6721 aspectRatio = _ref2.aspectRatio,
6722 onUseImage = _ref2.onUseImage,
6723 onEditImage = _ref2.onEditImage,
6724 _ref2$transparentCont = _ref2.transparentContainer,
6725 transparentContainer = _ref2$transparentCont === void 0 ? false : _ref2$transparentCont;
6726 var _useImageNavigation = (0, _useImageNavigation2.default)(images),
6727 zoomIndex = _useImageNavigation.zoomIndex,
6728 setZoomIndex = _useImageNavigation.setZoomIndex,
6729 actions = _useImageNavigation.actions;
6730 var _useImageSize = (0, _useImageSize2.default)(aspectRatio),
6731 width = _useImageSize.width,
6732 height = _useImageSize.height;
6733 if (zoomIndex > -1) {
6734 var currentImage = images[zoomIndex];
6735 return /*#__PURE__*/_react.default.createElement(Container, null, /*#__PURE__*/_react.default.createElement(_imageSlider.default, {
6736 onPrev: actions.prev,
6737 onNext: actions.next
6738 }, /*#__PURE__*/_react.default.createElement(_imageSlider.default.Actions, {
6739 startAction: /*#__PURE__*/_react.default.createElement(_backButton.default, {
6740 onClick: actions.reset
6741 })
6742 }, /*#__PURE__*/_react.default.createElement(_imageActions.default.EditImage, {
6743 onClick: function onClick() {
6744 return onEditImage(currentImage);
6745 }
6746 }), /*#__PURE__*/_react.default.createElement(_imageActions.default.UseImage, {
6747 onClick: function onClick() {
6748 return onUseImage(currentImage);
6749 }
6750 })), /*#__PURE__*/_react.default.createElement(_imageSlider.default.Image, {
6751 src: currentImage.image_url,
6752 style: {
6753 maxWidth: '630px',
6754 width: '100%',
6755 height: 'auto'
6756 }
6757 })));
6758 }
6759 if (1 === images.length) {
6760 var image = images[0];
6761 var singleImageStyle = {
6762 width: width,
6763 height: height
6764 };
6765 if (transparentContainer) {
6766 singleImageStyle.backgroundImage = 'linear-gradient(45deg, #bbb 25%, transparent 25%), linear-gradient(-45deg, #bbb 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #bbb 75%), linear-gradient(-45deg, transparent 75%, #bbb 75%)';
6767 singleImageStyle.backgroundSize = '20px 20px';
6768 singleImageStyle.backgroundPosition = '0 0, 0 10px, 10px -10px, -10px 0px';
6769 }
6770 return /*#__PURE__*/_react.default.createElement(Container, {
6771 flexDirection: "column"
6772 }, /*#__PURE__*/_react.default.createElement(_singleImagePreview.default, null, /*#__PURE__*/_react.default.createElement(_singleImagePreview.default.Image, {
6773 src: image.image_url || image.url,
6774 style: singleImageStyle,
6775 alt: "generated-image"
6776 }, /*#__PURE__*/_react.default.createElement(_singleImagePreview.default.Actions, null, /*#__PURE__*/_react.default.createElement(_imageActions.default.EditImage, {
6777 onClick: function onClick() {
6778 return onEditImage(image);
6779 }
6780 }), /*#__PURE__*/_react.default.createElement(_imageActions.default.UseImage, {
6781 onClick: function onClick() {
6782 return onUseImage(image);
6783 }
6784 })))));
6785 }
6786 return /*#__PURE__*/_react.default.createElement(Container, null, /*#__PURE__*/_react.default.createElement(_gallery.default, null, images.map(function (image, index) {
6787 return /*#__PURE__*/_react.default.createElement(_gallery.default.Image, {
6788 key: "result-".concat(image.seed),
6789 alt: "generated-".concat(index),
6790 src: image.image_url,
6791 aspectRatio: aspectRatio,
6792 "data-testid": "e-gallery-image"
6793 }, /*#__PURE__*/_react.default.createElement(_imageActions.default, null, /*#__PURE__*/_react.default.createElement(_imageActions.default.UseImage, {
6794 onClick: function onClick() {
6795 return onUseImage(image);
6796 },
6797 size: "medium",
6798 fullWidth: true
6799 }), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
6800 direction: "row",
6801 spacing: 0.25,
6802 alignItems: "center"
6803 }, /*#__PURE__*/_react.default.createElement(_imageActions.default.ZoomIcon, {
6804 onClick: function onClick() {
6805 return setZoomIndex(index);
6806 },
6807 size: "medium"
6808 }), /*#__PURE__*/_react.default.createElement(_imageActions.default.EditIcon, {
6809 onClick: function onClick() {
6810 return onEditImage(image);
6811 },
6812 size: "medium"
6813 }))));
6814 })));
6815 };
6816 ImagesDisplay.propTypes = {
6817 images: _propTypes.default.array,
6818 aspectRatio: _propTypes.default.string,
6819 onUseImage: _propTypes.default.func,
6820 onEditImage: _propTypes.default.func,
6821 transparentContainer: _propTypes.default.bool
6822 };
6823 ImagesDisplay.Container = Container;
6824 var _default = ImagesDisplay;
6825 exports["default"] = _default;
6826
6827 /***/ }),
6828
6829 /***/ "../modules/ai/assets/js/editor/pages/form-media/components/new-prompt-button.js":
6830 /*!***************************************************************************************!*\
6831 !*** ../modules/ai/assets/js/editor/pages/form-media/components/new-prompt-button.js ***!
6832 \***************************************************************************************/
6833 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
6834
6835 "use strict";
6836
6837
6838 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
6839 Object.defineProperty(exports, "__esModule", ({
6840 value: true
6841 }));
6842 exports["default"] = void 0;
6843 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
6844 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
6845 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
6846 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
6847 var NewPromptButton = function NewPromptButton(props) {
6848 return /*#__PURE__*/_react.default.createElement(_ui.Button, (0, _extends2.default)({
6849 fullWidth: true,
6850 variant: "text",
6851 color: "secondary"
6852 }, props), (0, _i18n.__)('New prompt', 'elementor'));
6853 };
6854 var _default = NewPromptButton;
6855 exports["default"] = _default;
6856
6857 /***/ }),
6858
6859 /***/ "../modules/ai/assets/js/editor/pages/form-media/components/prompt-field.js":
6860 /*!**********************************************************************************!*\
6861 !*** ../modules/ai/assets/js/editor/pages/form-media/components/prompt-field.js ***!
6862 \**********************************************************************************/
6863 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
6864
6865 "use strict";
6866
6867
6868 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
6869 Object.defineProperty(exports, "__esModule", ({
6870 value: true
6871 }));
6872 exports["default"] = void 0;
6873 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
6874 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
6875 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
6876 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
6877 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
6878 var _textarea = _interopRequireDefault(__webpack_require__(/*! ../../../components/textarea */ "../modules/ai/assets/js/editor/components/textarea.js"));
6879 var _enhanceButton = _interopRequireDefault(__webpack_require__(/*! ./enhance-button */ "../modules/ai/assets/js/editor/pages/form-media/components/enhance-button.js"));
6880 var _usePromptEnhancer2 = _interopRequireDefault(__webpack_require__(/*! ../../../hooks/use-prompt-enhancer */ "../modules/ai/assets/js/editor/hooks/use-prompt-enhancer.js"));
6881 var _excluded = ["disabled", "onChange"];
6882 var PromptField = function PromptField(_ref) {
6883 var disabled = _ref.disabled,
6884 _onChange = _ref.onChange,
6885 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
6886 var _usePromptEnhancer = (0, _usePromptEnhancer2.default)(props.value, 'media'),
6887 enhance = _usePromptEnhancer.enhance,
6888 isEnhancing = _usePromptEnhancer.isEnhancing;
6889 return /*#__PURE__*/_react.default.createElement(_textarea.default, (0, _extends2.default)({
6890 minRows: 3,
6891 maxRows: 6,
6892 InputProps: {
6893 endAdornment: /*#__PURE__*/_react.default.createElement(_ui.InputAdornment, {
6894 position: "end",
6895 sx: {
6896 position: 'absolute',
6897 bottom: '24px',
6898 right: '8px'
6899 }
6900 }, /*#__PURE__*/_react.default.createElement(_enhanceButton.default, {
6901 isLoading: isEnhancing,
6902 disabled: disabled || isEnhancing || !props.value,
6903 onClick: function onClick() {
6904 enhance(prompt).then(function (_ref2) {
6905 var result = _ref2.result;
6906 return _onChange(result);
6907 });
6908 }
6909 }))
6910 },
6911 sx: {
6912 '& .MuiInputBase-input.MuiOutlinedInput-input.MuiInputBase-inputMultiline': {
6913 pb: 5,
6914 width: '89%'
6915 }
6916 },
6917 onKeyDown: function onKeyDown(event) {
6918 if ('Tab' === event.key) {
6919 event.preventDefault();
6920 _onChange(props.placeholder);
6921 }
6922 }
6923 }, props, {
6924 onChange: function onChange(event) {
6925 return _onChange(event.target.value);
6926 },
6927 disabled: disabled || isEnhancing
6928 }));
6929 };
6930 PromptField.propTypes = {
6931 value: _propTypes.default.string,
6932 disabled: _propTypes.default.bool,
6933 placeholder: _propTypes.default.string,
6934 onChange: _propTypes.default.func.isRequired
6935 };
6936 var _default = PromptField;
6937 exports["default"] = _default;
6938
6939 /***/ }),
6940
6941 /***/ "../modules/ai/assets/js/editor/pages/form-media/components/single-image-preview.js":
6942 /*!******************************************************************************************!*\
6943 !*** ../modules/ai/assets/js/editor/pages/form-media/components/single-image-preview.js ***!
6944 \******************************************************************************************/
6945 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
6946
6947 "use strict";
6948
6949
6950 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
6951 Object.defineProperty(exports, "__esModule", ({
6952 value: true
6953 }));
6954 exports["default"] = void 0;
6955 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
6956 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
6957 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
6958 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
6959 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
6960 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
6961 var _excluded = ["children"],
6962 _excluded2 = ["children", "sx"];
6963 function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
6964 function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
6965 var SingleImagePreview = function SingleImagePreview(_ref) {
6966 var children = _ref.children,
6967 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
6968 return /*#__PURE__*/_react.default.createElement(_ui.Box, (0, _extends2.default)({
6969 display: "flex"
6970 }, props), children);
6971 };
6972 SingleImagePreview.propTypes = {
6973 children: _propTypes.default.node.isRequired
6974 };
6975 var Actions = function Actions(_ref2) {
6976 var children = _ref2.children,
6977 _ref2$sx = _ref2.sx,
6978 sx = _ref2$sx === void 0 ? {} : _ref2$sx,
6979 props = (0, _objectWithoutProperties2.default)(_ref2, _excluded2);
6980 return /*#__PURE__*/_react.default.createElement(_ui.Box, (0, _extends2.default)({
6981 display: "flex",
6982 width: "100%",
6983 justifyContent: "flex-end",
6984 alignItems: "center"
6985 }, props, {
6986 sx: _objectSpread({
6987 mb: 1.5
6988 }, sx)
6989 }), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
6990 direction: "row",
6991 spacing: 2,
6992 justifyContent: "flex-end",
6993 width: "100%"
6994 }, children));
6995 };
6996 Actions.propTypes = {
6997 sx: _propTypes.default.object,
6998 children: _propTypes.default.node.isRequired
6999 };
7000 var Image = function Image(_ref3) {
7001 var src = _ref3.src,
7002 alt = _ref3.alt,
7003 _ref3$style = _ref3.style,
7004 style = _ref3$style === void 0 ? {} : _ref3$style,
7005 children = _ref3.children;
7006 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
7007 margin: "0 auto"
7008 }, children, /*#__PURE__*/_react.default.createElement("img", {
7009 src: src,
7010 alt: alt,
7011 style: _objectSpread({
7012 maxWidth: '100%',
7013 width: 'auto',
7014 maxHeight: '100%'
7015 }, style)
7016 }));
7017 };
7018 Image.propTypes = {
7019 style: _propTypes.default.object,
7020 children: _propTypes.default.node,
7021 src: _propTypes.default.string.isRequired,
7022 alt: _propTypes.default.string.isRequired
7023 };
7024 SingleImagePreview.Actions = Actions;
7025 SingleImagePreview.Image = Image;
7026 var _default = SingleImagePreview;
7027 exports["default"] = _default;
7028
7029 /***/ }),
7030
7031 /***/ "../modules/ai/assets/js/editor/pages/form-media/components/unsaved-changes-alert.js":
7032 /*!*******************************************************************************************!*\
7033 !*** ../modules/ai/assets/js/editor/pages/form-media/components/unsaved-changes-alert.js ***!
7034 \*******************************************************************************************/
7035 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
7036
7037 "use strict";
7038
7039
7040 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
7041 Object.defineProperty(exports, "__esModule", ({
7042 value: true
7043 }));
7044 exports["default"] = void 0;
7045 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
7046 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
7047 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
7048 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
7049 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
7050 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
7051 var _excluded = ["onClose", "onCancel"];
7052 var UnsavedChangesAlert = function UnsavedChangesAlert(_ref) {
7053 var onClose = _ref.onClose,
7054 onCancel = _ref.onCancel,
7055 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
7056 return /*#__PURE__*/_react.default.createElement(_ui.Dialog, (0, _extends2.default)({
7057 "aria-labelledby": "unsaved-changes-alert-title",
7058 "aria-describedby": "unsaved-changes-alert-description"
7059 }, props), /*#__PURE__*/_react.default.createElement(_ui.DialogTitle, {
7060 id: "unsaved-changes-alert-title"
7061 }, (0, _i18n.__)('Leave Elementor AI?', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.DialogContent, null, /*#__PURE__*/_react.default.createElement(_ui.DialogContentText, {
7062 id: "unsaved-changes-alert-description"
7063 }, (0, _i18n.__)('Images will be gone forever and we won’t be able to recover them.', 'elementor'))), /*#__PURE__*/_react.default.createElement(_ui.DialogActions, null, /*#__PURE__*/_react.default.createElement(_ui.Button, {
7064 onClick: onCancel,
7065 color: "secondary"
7066 }, (0, _i18n.__)('Cancel', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Button, {
7067 onClick: onClose,
7068 color: "error",
7069 variant: "contained"
7070 }, (0, _i18n.__)('Yes, leave', 'elementor'))));
7071 };
7072 UnsavedChangesAlert.propTypes = {
7073 onClose: _propTypes.default.func,
7074 onCancel: _propTypes.default.func
7075 };
7076 var _default = UnsavedChangesAlert;
7077 exports["default"] = _default;
7078
7079 /***/ }),
7080
7081 /***/ "../modules/ai/assets/js/editor/pages/form-media/components/view.js":
7082 /*!**************************************************************************!*\
7083 !*** ../modules/ai/assets/js/editor/pages/form-media/components/view.js ***!
7084 \**************************************************************************/
7085 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
7086
7087 "use strict";
7088
7089
7090 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
7091 Object.defineProperty(exports, "__esModule", ({
7092 value: true
7093 }));
7094 exports["default"] = void 0;
7095 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
7096 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
7097 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
7098 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
7099 var _panel = _interopRequireDefault(__webpack_require__(/*! ../../../components/ui/panel */ "../modules/ai/assets/js/editor/components/ui/panel.js"));
7100 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
7101 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
7102 var _loader = _interopRequireDefault(__webpack_require__(/*! ../../../components/loader */ "../modules/ai/assets/js/editor/components/loader.js"));
7103 var _generateLoader = _interopRequireDefault(__webpack_require__(/*! ./generate-loader */ "../modules/ai/assets/js/editor/pages/form-media/components/generate-loader.js"));
7104 var _promptErrorMessage = _interopRequireDefault(__webpack_require__(/*! ../../../components/prompt-error-message */ "../modules/ai/assets/js/editor/components/prompt-error-message.js"));
7105 var _backButton = _interopRequireDefault(__webpack_require__(/*! ./back-button */ "../modules/ai/assets/js/editor/pages/form-media/components/back-button.js"));
7106 var _locationContext = __webpack_require__(/*! ../context/location-context */ "../modules/ai/assets/js/editor/pages/form-media/context/location-context.js");
7107 var _globalSettingsContext = __webpack_require__(/*! ../context/global-settings-context */ "../modules/ai/assets/js/editor/pages/form-media/context/global-settings-context.js");
7108 var _usageMessages = _interopRequireDefault(__webpack_require__(/*! ../../../components/usage-messages */ "../modules/ai/assets/js/editor/components/usage-messages.js"));
7109 var _excluded = ["sx"],
7110 _excluded2 = ["primary", "secondary"],
7111 _excluded3 = ["primary", "secondary"],
7112 _excluded4 = ["children"],
7113 _excluded5 = ["isLoading", "isGenerating", "children"],
7114 _excluded6 = ["sx"];
7115 function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
7116 function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
7117 var ViewBackButton = function ViewBackButton(_ref) {
7118 var _ref$sx = _ref.sx,
7119 sx = _ref$sx === void 0 ? {} : _ref$sx,
7120 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
7121 var _useLocation = (0, _locationContext.useLocation)(),
7122 back = _useLocation.back;
7123 return /*#__PURE__*/_react.default.createElement(_backButton.default, (0, _extends2.default)({
7124 onClick: function onClick(e) {
7125 e.preventDefault();
7126 back();
7127 }
7128 }, props, {
7129 sx: _objectSpread({
7130 mb: 1,
7131 alignSelf: 'flex-start'
7132 }, sx)
7133 }));
7134 };
7135 ViewBackButton.propTypes = {
7136 sx: _propTypes.default.object
7137 };
7138 var PanelHeading = function PanelHeading(_ref2) {
7139 var primary = _ref2.primary,
7140 secondary = _ref2.secondary,
7141 props = (0, _objectWithoutProperties2.default)(_ref2, _excluded2);
7142 return /*#__PURE__*/_react.default.createElement(_ui.Stack, (0, _extends2.default)({
7143 spacing: 1,
7144 sx: {
7145 mb: 3
7146 }
7147 }, props), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
7148 variant: "h4"
7149 }, primary), secondary && /*#__PURE__*/_react.default.createElement(_ui.Typography, {
7150 variant: "body1",
7151 color: "secondary"
7152 }, secondary));
7153 };
7154 PanelHeading.propTypes = {
7155 primary: _propTypes.default.string.isRequired,
7156 secondary: _propTypes.default.string
7157 };
7158 var ContentHeading = function ContentHeading(_ref3) {
7159 var primary = _ref3.primary,
7160 secondary = _ref3.secondary,
7161 props = (0, _objectWithoutProperties2.default)(_ref3, _excluded3);
7162 return /*#__PURE__*/_react.default.createElement(_ui.Stack, (0, _extends2.default)({
7163 gap: 1.5,
7164 sx: {
7165 mb: 3
7166 }
7167 }, props), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
7168 variant: "h6"
7169 }, primary), secondary && /*#__PURE__*/_react.default.createElement(_ui.Typography, {
7170 variant: "subtitle1",
7171 color: "secondary"
7172 }, secondary));
7173 };
7174 ContentHeading.propTypes = {
7175 primary: _propTypes.default.string.isRequired,
7176 secondary: _propTypes.default.string
7177 };
7178 var View = function View(_ref4) {
7179 var children = _ref4.children,
7180 props = (0, _objectWithoutProperties2.default)(_ref4, _excluded4);
7181 return /*#__PURE__*/_react.default.createElement(_ui.Box, (0, _extends2.default)({
7182 className: "e-ai-dialog-content",
7183 display: "flex",
7184 sx: {
7185 overflowY: 'auto',
7186 position: 'relative'
7187 },
7188 height: "100%"
7189 }, props), children);
7190 };
7191 var Content = function Content(_ref5) {
7192 var _ref5$isLoading = _ref5.isLoading,
7193 isLoading = _ref5$isLoading === void 0 ? false : _ref5$isLoading,
7194 _ref5$isGenerating = _ref5.isGenerating,
7195 isGenerating = _ref5$isGenerating === void 0 ? false : _ref5$isGenerating,
7196 children = _ref5.children,
7197 props = (0, _objectWithoutProperties2.default)(_ref5, _excluded5);
7198 if (isGenerating) {
7199 return /*#__PURE__*/_react.default.createElement(_generateLoader.default, null);
7200 }
7201 if (isLoading) {
7202 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
7203 sx: {
7204 width: '100%',
7205 maxWidth: 600,
7206 margin: '0 auto',
7207 alignSelf: 'center'
7208 }
7209 }, /*#__PURE__*/_react.default.createElement(_loader.default, {
7210 color: "inherit"
7211 }));
7212 }
7213 return /*#__PURE__*/_react.default.createElement(_ui.Box, (0, _extends2.default)({
7214 sx: {
7215 overflowY: 'scroll',
7216 p: 4
7217 },
7218 flexGrow: 1
7219 }, props), children);
7220 };
7221 Content.propTypes = {
7222 children: _propTypes.default.node,
7223 isLoading: _propTypes.default.bool,
7224 isGenerating: _propTypes.default.bool
7225 };
7226 var ErrorMessage = function ErrorMessage(_ref6) {
7227 var _ref6$sx = _ref6.sx,
7228 sx = _ref6$sx === void 0 ? {} : _ref6$sx,
7229 props = (0, _objectWithoutProperties2.default)(_ref6, _excluded6);
7230 return /*#__PURE__*/_react.default.createElement(_promptErrorMessage.default, (0, _extends2.default)({
7231 actionPosition: "bottom"
7232 }, props, {
7233 sx: _objectSpread({
7234 mb: 2.5
7235 }, sx)
7236 }));
7237 };
7238 ErrorMessage.propTypes = {
7239 sx: _propTypes.default.object
7240 };
7241 var ViewPanel = function ViewPanel(props) {
7242 var _useGlobalSettings = (0, _globalSettingsContext.useGlobalSettings)(),
7243 hasSubscription = _useGlobalSettings.hasSubscription,
7244 usagePercentage = _useGlobalSettings.usagePercentage;
7245 return /*#__PURE__*/_react.default.createElement(_panel.default, null, /*#__PURE__*/_react.default.createElement(_usageMessages.default, {
7246 hasSubscription: hasSubscription,
7247 usagePercentage: usagePercentage,
7248 sx: {
7249 mb: 4
7250 }
7251 }), props.children);
7252 };
7253 ViewPanel.propTypes = {
7254 children: _propTypes.default.node
7255 };
7256 View.Panel = ViewPanel;
7257 View.Content = Content;
7258 View.BackButton = ViewBackButton;
7259 View.ErrorMessage = ErrorMessage;
7260 View.PanelHeading = PanelHeading;
7261 View.ContentHeading = ContentHeading;
7262 View.propTypes = {
7263 children: _propTypes.default.node
7264 };
7265 var _default = View;
7266 exports["default"] = _default;
7267
7268 /***/ }),
7269
7270 /***/ "../modules/ai/assets/js/editor/pages/form-media/constants/index.js":
7271 /*!**************************************************************************!*\
7272 !*** ../modules/ai/assets/js/editor/pages/form-media/constants/index.js ***!
7273 \**************************************************************************/
7274 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
7275
7276 "use strict";
7277
7278
7279 Object.defineProperty(exports, "__esModule", ({
7280 value: true
7281 }));
7282 exports.LOCATIONS = exports.IMAGE_PROMPT_SETTINGS = exports.IMAGE_PROMPT_CATEGORIES = exports.IMAGE_ASPECT_RATIO = void 0;
7283 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
7284 var LOCATIONS = {
7285 RESIZE: 'resize',
7286 GENERATE: 'generate',
7287 VARIATIONS: 'variations',
7288 IMAGE_TOOLS: 'image-tools',
7289 IN_PAINTING: 'in-painting',
7290 OUT_PAINTING: 'out-painting',
7291 REMOVE_BACKGROUND: 'remove-background',
7292 REPLACE_BACKGROUND: 'replace-background',
7293 REMOVE_TEXT: 'remove-text'
7294 };
7295 exports.LOCATIONS = LOCATIONS;
7296 var IMAGE_PROMPT_SETTINGS = {
7297 IMAGE_TYPE: 'image_type',
7298 IMAGE_STYLE: 'style_preset',
7299 IMAGE_STRENGTH: 'image_strength',
7300 IMAGE_RATIO: 'ratio',
7301 IMAGE_ZOOM: 'zoom',
7302 IMAGE_UPSCALE: 'upscale_to'
7303 };
7304 exports.IMAGE_PROMPT_SETTINGS = IMAGE_PROMPT_SETTINGS;
7305 var IMAGE_PROMPT_CATEGORIES = {
7306 '': {
7307 label: (0, _i18n.__)('None', 'elementor'),
7308 subCategories: {}
7309 },
7310 photographic: {
7311 label: (0, _i18n.__)('Photographic', 'elementor'),
7312 subCategories: {
7313 '': (0, _i18n.__)('None', 'elementor'),
7314 landscape: (0, _i18n.__)('Landscape', 'elementor'),
7315 macro: (0, _i18n.__)('Macro', 'elementor'),
7316 portrait: (0, _i18n.__)('Portrait', 'elementor'),
7317 'long-exposure': (0, _i18n.__)('Long Exposure', 'elementor')
7318 }
7319 },
7320 background: {
7321 label: (0, _i18n.__)('Background', 'elementor'),
7322 subCategories: {
7323 '': (0, _i18n.__)('None', 'elementor'),
7324 floral: (0, _i18n.__)('Floral', 'elementor'),
7325 gradient: (0, _i18n.__)('Gradient', 'elementor'),
7326 mosaic: (0, _i18n.__)('Mosaic', 'elementor'),
7327 neon: (0, _i18n.__)('Neon', 'elementor'),
7328 bokeh: (0, _i18n.__)('Bokeh', 'elementor')
7329 }
7330 },
7331 handmade: {
7332 label: (0, _i18n.__)('Handmade', 'elementor'),
7333 subCategories: {
7334 '': (0, _i18n.__)('None', 'elementor'),
7335 doodle: (0, _i18n.__)('Doodle', 'elementor'),
7336 'line-art': (0, _i18n.__)('Line Art', 'elementor'),
7337 'oil-painting': (0, _i18n.__)('Oil Painting', 'elementor'),
7338 'pencil-drawing': (0, _i18n.__)('Pencil Drawing', 'elementor'),
7339 watercolor: (0, _i18n.__)('Watercolor', 'elementor')
7340 }
7341 },
7342 'digital-art': {
7343 label: (0, _i18n.__)('Digital Art', 'elementor'),
7344 subCategories: {
7345 '': (0, _i18n.__)('None', 'elementor'),
7346 amine: (0, _i18n.__)('Anime', 'elementor'),
7347 cartoon: (0, _i18n.__)('Cartoon', 'elementor'),
7348 cinematic: (0, _i18n.__)('Cinematic', 'elementor'),
7349 'comic-book': (0, _i18n.__)('Comic Book', 'elementor'),
7350 'fantasy-art': (0, _i18n.__)('Fantasy Art', 'elementor'),
7351 isometric: (0, _i18n.__)('Isometric', 'elementor'),
7352 vector: (0, _i18n.__)('Vector', 'elementor'),
7353 'pixel-art': (0, _i18n.__)('Pixel Art', 'elementor'),
7354 'low-poly': (0, _i18n.__)('Low Poly', 'elementor'),
7355 'neon-punk': (0, _i18n.__)('Neon Punk', 'elementor')
7356 }
7357 },
7358 '3d': {
7359 label: (0, _i18n.__)('3D', 'elementor'),
7360 subCategories: {
7361 '': (0, _i18n.__)('None', 'elementor'),
7362 clay: (0, _i18n.__)('Clay', 'elementor'),
7363 digital: (0, _i18n.__)('Digital', 'elementor'),
7364 origami: (0, _i18n.__)('Origami', 'elementor'),
7365 stone: (0, _i18n.__)('Stone', 'elementor'),
7366 wood: (0, _i18n.__)('Wood', 'elementor')
7367 }
7368 }
7369 };
7370 exports.IMAGE_PROMPT_CATEGORIES = IMAGE_PROMPT_CATEGORIES;
7371 var IMAGE_ASPECT_RATIO = {
7372 '1:1': {
7373 width: 512,
7374 height: 512,
7375 label: (0, _i18n.__)('Square', 'elementor') + ' (1:1)'
7376 },
7377 '3:2': {
7378 width: 640,
7379 height: 448,
7380 label: (0, _i18n.__)('Landscape', 'elementor') + ' (3:2)'
7381 },
7382 '4:3': {
7383 width: 640,
7384 height: 448,
7385 label: (0, _i18n.__)('Landscape', 'elementor') + ' (4:3)'
7386 },
7387 '16:9': {
7388 width: 704,
7389 height: 384,
7390 label: (0, _i18n.__)('Landscape', 'elementor') + ' (16:9)'
7391 },
7392 '2:3': {
7393 width: 448,
7394 height: 640,
7395 label: (0, _i18n.__)('Portrait', 'elementor') + ' (2:3)'
7396 },
7397 '3:4': {
7398 width: 448,
7399 height: 640,
7400 label: (0, _i18n.__)('Portrait', 'elementor') + ' (3:4)'
7401 },
7402 '9:16': {
7403 width: 384,
7404 height: 704,
7405 label: (0, _i18n.__)('Portrait', 'elementor') + ' (9:16)'
7406 }
7407 };
7408 exports.IMAGE_ASPECT_RATIO = IMAGE_ASPECT_RATIO;
7409
7410 /***/ }),
7411
7412 /***/ "../modules/ai/assets/js/editor/pages/form-media/context/edit-image-context.js":
7413 /*!*************************************************************************************!*\
7414 !*** ../modules/ai/assets/js/editor/pages/form-media/context/edit-image-context.js ***!
7415 \*************************************************************************************/
7416 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
7417
7418 "use strict";
7419
7420
7421 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
7422 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
7423 Object.defineProperty(exports, "__esModule", ({
7424 value: true
7425 }));
7426 exports.useEditImage = exports.SET_LOADING = exports.SET_ASPECT_RATIO = exports.RESET = exports.EditImageProvider = exports.EditImageContext = void 0;
7427 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
7428 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
7429 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
7430 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
7431 var _useImageSize2 = _interopRequireDefault(__webpack_require__(/*! ../hooks/use-image-size */ "../modules/ai/assets/js/editor/pages/form-media/hooks/use-image-size.js"));
7432 var _utils = __webpack_require__(/*! ../utils */ "../modules/ai/assets/js/editor/pages/form-media/utils/index.js");
7433 function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
7434 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; }
7435 function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
7436 function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
7437 var EditImageContext = (0, _react.createContext)({});
7438 exports.EditImageContext = EditImageContext;
7439 var SET_STATE = 'SET_STATE';
7440 var SET_ASPECT_RATIO = 'SET_ASPECT_RATIO';
7441 exports.SET_ASPECT_RATIO = SET_ASPECT_RATIO;
7442 var SET_LOADING = 'SET_LOADING';
7443 exports.SET_LOADING = SET_LOADING;
7444 var RESET = 'RESET';
7445 exports.RESET = RESET;
7446 var initialValue = {
7447 id: '',
7448 url: '',
7449 isLoading: false,
7450 aspectRatio: '1:1'
7451 };
7452 var reducer = function reducer(state, _ref) {
7453 var type = _ref.type,
7454 payload = _ref.payload;
7455 switch (type) {
7456 case SET_STATE:
7457 return _objectSpread(_objectSpread({}, state), payload);
7458 case SET_ASPECT_RATIO:
7459 return _objectSpread(_objectSpread({}, state), {}, {
7460 aspectRatio: payload
7461 });
7462 case SET_LOADING:
7463 return _objectSpread(_objectSpread({}, state), {}, {
7464 isLoading: payload
7465 });
7466 case RESET:
7467 return initialValue;
7468 default:
7469 throw Error('Unknown action.');
7470 }
7471 };
7472 var EditImageProvider = function EditImageProvider(_ref2) {
7473 var children = _ref2.children,
7474 imageData = _ref2.imageData;
7475 var initialData = _objectSpread(_objectSpread({}, initialValue), imageData);
7476 var _useReducer = (0, _react.useReducer)(reducer, initialData),
7477 _useReducer2 = (0, _slicedToArray2.default)(_useReducer, 2),
7478 state = _useReducer2[0],
7479 dispatch = _useReducer2[1];
7480 return /*#__PURE__*/_react.default.createElement(EditImageContext.Provider, {
7481 value: {
7482 state: state,
7483 dispatch: dispatch
7484 }
7485 }, children);
7486 };
7487 exports.EditImageProvider = EditImageProvider;
7488 EditImageProvider.propTypes = {
7489 children: _propTypes.default.node,
7490 imageData: _propTypes.default.object
7491 };
7492 var useEditImage = function useEditImage() {
7493 var _useContext = (0, _react.useContext)(EditImageContext),
7494 state = _useContext.state,
7495 dispatch = _useContext.dispatch;
7496 var id = state.id,
7497 url = state.url,
7498 aspectRatio = state.aspectRatio,
7499 isLoading = state.isLoading;
7500 var _useImageSize = (0, _useImageSize2.default)(aspectRatio),
7501 width = _useImageSize.width,
7502 height = _useImageSize.height;
7503 var setEditImage = function setEditImage(payload) {
7504 return dispatch({
7505 type: SET_STATE,
7506 payload: payload
7507 });
7508 };
7509 var setAspectRatio = function setAspectRatio(payload) {
7510 return dispatch({
7511 type: SET_ASPECT_RATIO,
7512 payload: payload
7513 });
7514 };
7515 var reset = function reset() {
7516 return dispatch({
7517 type: RESET
7518 });
7519 };
7520
7521 // Getting the aspect ratio of the image.
7522 (0, _react.useEffect)(function () {
7523 if (!id) {
7524 return;
7525 }
7526 dispatch({
7527 type: SET_LOADING,
7528 payload: true
7529 });
7530 var img = new Image();
7531 img.src = url;
7532 img.onload = function () {
7533 var _getAspectRatioSizes = (0, _utils.getAspectRatioSizes)(img.width, img.height),
7534 ratio = _getAspectRatioSizes.ratio;
7535 dispatch({
7536 type: SET_STATE,
7537 payload: {
7538 aspectRatio: ratio,
7539 isLoading: false
7540 }
7541 });
7542 };
7543 }, [id]);
7544 return {
7545 editImage: state,
7546 isLoading: isLoading,
7547 aspectRatio: aspectRatio,
7548 width: width,
7549 height: height,
7550 setEditImage: setEditImage,
7551 setAspectRatio: setAspectRatio,
7552 reset: reset
7553 };
7554 };
7555 exports.useEditImage = useEditImage;
7556
7557 /***/ }),
7558
7559 /***/ "../modules/ai/assets/js/editor/pages/form-media/context/global-actions-context.js":
7560 /*!*****************************************************************************************!*\
7561 !*** ../modules/ai/assets/js/editor/pages/form-media/context/global-actions-context.js ***!
7562 \*****************************************************************************************/
7563 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
7564
7565 "use strict";
7566
7567
7568 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
7569 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
7570 Object.defineProperty(exports, "__esModule", ({
7571 value: true
7572 }));
7573 exports.useGlobalActions = exports.GlobalActionsProvider = exports.GlobalActionsContext = void 0;
7574 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
7575 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
7576 function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
7577 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; }
7578 var GlobalActionsContext = (0, _react.createContext)({});
7579 exports.GlobalActionsContext = GlobalActionsContext;
7580 var GlobalActionsProvider = function GlobalActionsProvider(_ref) {
7581 var actions = _ref.actions,
7582 children = _ref.children;
7583 return /*#__PURE__*/_react.default.createElement(GlobalActionsContext.Provider, {
7584 value: actions
7585 }, children);
7586 };
7587 exports.GlobalActionsProvider = GlobalActionsProvider;
7588 GlobalActionsProvider.propTypes = {
7589 actions: _propTypes.default.object,
7590 children: _propTypes.default.node
7591 };
7592 var useGlobalActions = function useGlobalActions() {
7593 return (0, _react.useContext)(GlobalActionsContext);
7594 };
7595 exports.useGlobalActions = useGlobalActions;
7596
7597 /***/ }),
7598
7599 /***/ "../modules/ai/assets/js/editor/pages/form-media/context/global-settings-context.js":
7600 /*!******************************************************************************************!*\
7601 !*** ../modules/ai/assets/js/editor/pages/form-media/context/global-settings-context.js ***!
7602 \******************************************************************************************/
7603 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
7604
7605 "use strict";
7606
7607
7608 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
7609 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
7610 Object.defineProperty(exports, "__esModule", ({
7611 value: true
7612 }));
7613 exports.useGlobalSettings = exports.GlobalSettingsProvider = exports.GlobalSettingsContext = void 0;
7614 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
7615 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
7616 function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
7617 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; }
7618 var GlobalSettingsContext = (0, _react.createContext)({});
7619 exports.GlobalSettingsContext = GlobalSettingsContext;
7620 var GlobalSettingsProvider = function GlobalSettingsProvider(_ref) {
7621 var settings = _ref.settings,
7622 children = _ref.children;
7623 return /*#__PURE__*/_react.default.createElement(GlobalSettingsContext.Provider, {
7624 value: settings
7625 }, children);
7626 };
7627 exports.GlobalSettingsProvider = GlobalSettingsProvider;
7628 GlobalSettingsProvider.propTypes = {
7629 settings: _propTypes.default.object,
7630 children: _propTypes.default.node
7631 };
7632 var useGlobalSettings = function useGlobalSettings() {
7633 return (0, _react.useContext)(GlobalSettingsContext);
7634 };
7635 exports.useGlobalSettings = useGlobalSettings;
7636
7637 /***/ }),
7638
7639 /***/ "../modules/ai/assets/js/editor/pages/form-media/context/location-context.js":
7640 /*!***********************************************************************************!*\
7641 !*** ../modules/ai/assets/js/editor/pages/form-media/context/location-context.js ***!
7642 \***********************************************************************************/
7643 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
7644
7645 "use strict";
7646
7647
7648 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
7649 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
7650 Object.defineProperty(exports, "__esModule", ({
7651 value: true
7652 }));
7653 exports.useLocation = exports.RoutesContext = exports.NAVIGATE = exports.LocationProvider = exports.BACK = void 0;
7654 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
7655 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
7656 var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "../node_modules/@babel/runtime/helpers/toConsumableArray.js"));
7657 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
7658 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
7659 function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
7660 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; }
7661 function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
7662 function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
7663 var RoutesContext = (0, _react.createContext)(null);
7664 exports.RoutesContext = RoutesContext;
7665 var NAVIGATE = 'NAVIGATE';
7666 exports.NAVIGATE = NAVIGATE;
7667 var BACK = 'BACK';
7668 exports.BACK = BACK;
7669 var initialValue = {
7670 current: '',
7671 history: []
7672 };
7673 var reducer = function reducer(state, _ref) {
7674 var type = _ref.type,
7675 payload = _ref.payload;
7676 switch (type) {
7677 case NAVIGATE:
7678 return _objectSpread(_objectSpread({}, state), {}, {
7679 current: payload,
7680 history: [].concat((0, _toConsumableArray2.default)(state.history), [payload])
7681 });
7682 case BACK:
7683 return _objectSpread(_objectSpread({}, state), {}, {
7684 current: state.history[state.history.length - 2],
7685 history: state.history.slice(0, state.history.length - 1)
7686 });
7687 default:
7688 return state;
7689 }
7690 };
7691 var LocationProvider = function LocationProvider(_ref2) {
7692 var children = _ref2.children;
7693 var _useReducer = (0, _react.useReducer)(reducer, initialValue),
7694 _useReducer2 = (0, _slicedToArray2.default)(_useReducer, 2),
7695 state = _useReducer2[0],
7696 dispatch = _useReducer2[1];
7697 return /*#__PURE__*/_react.default.createElement(RoutesContext.Provider, {
7698 value: {
7699 state: state,
7700 dispatch: dispatch
7701 }
7702 }, children);
7703 };
7704 exports.LocationProvider = LocationProvider;
7705 LocationProvider.propTypes = {
7706 children: _propTypes.default.node
7707 };
7708 var useLocation = function useLocation() {
7709 var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
7710 current = _ref3.current;
7711 var _useContext = (0, _react.useContext)(RoutesContext),
7712 state = _useContext.state,
7713 dispatch = _useContext.dispatch;
7714 var navigate = function navigate(location) {
7715 dispatch({
7716 type: NAVIGATE,
7717 payload: location
7718 });
7719 };
7720 var back = function back() {
7721 dispatch({
7722 type: BACK
7723 });
7724 };
7725 (0, _react.useEffect)(function () {
7726 if (current) {
7727 navigate(current);
7728 }
7729 }, []);
7730 return {
7731 current: state.current,
7732 history: state.history,
7733 navigate: navigate,
7734 back: back
7735 };
7736 };
7737 exports.useLocation = useLocation;
7738
7739 /***/ }),
7740
7741 /***/ "../modules/ai/assets/js/editor/pages/form-media/hooks/use-image-actions.js":
7742 /*!**********************************************************************************!*\
7743 !*** ../modules/ai/assets/js/editor/pages/form-media/hooks/use-image-actions.js ***!
7744 \**********************************************************************************/
7745 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
7746
7747 "use strict";
7748
7749
7750 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
7751 Object.defineProperty(exports, "__esModule", ({
7752 value: true
7753 }));
7754 exports["default"] = void 0;
7755 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
7756 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
7757 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
7758 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
7759 var _editImageContext = __webpack_require__(/*! ../context/edit-image-context */ "../modules/ai/assets/js/editor/pages/form-media/context/edit-image-context.js");
7760 var _useImageUpload2 = _interopRequireDefault(__webpack_require__(/*! ./use-image-upload */ "../modules/ai/assets/js/editor/pages/form-media/hooks/use-image-upload.js"));
7761 var _globalActionsContext = __webpack_require__(/*! ../context/global-actions-context */ "../modules/ai/assets/js/editor/pages/form-media/context/global-actions-context.js");
7762 var _excluded = ["image"];
7763 function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
7764 function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
7765 var normalizeImageData = function normalizeImageData(imageToUpload) {
7766 if (!(imageToUpload !== null && imageToUpload !== void 0 && imageToUpload.imageUrl)) {
7767 return imageToUpload;
7768 }
7769 return _objectSpread(_objectSpread({}, imageToUpload), {}, {
7770 image_url: imageToUpload.imageUrl,
7771 use_gallery_image: true
7772 });
7773 };
7774 var useImageActions = function useImageActions() {
7775 var _useEditImage = (0, _editImageContext.useEditImage)(),
7776 editImage = _useEditImage.editImage,
7777 setEditImage = _useEditImage.setEditImage;
7778 var _useGlobalActions = (0, _globalActionsContext.useGlobalActions)(),
7779 setControlImage = _useGlobalActions.setControlImage,
7780 saveAndClose = _useGlobalActions.saveAndClose;
7781 var _useImageUpload = (0, _useImageUpload2.default)(),
7782 attachmentData = _useImageUpload.attachmentData,
7783 isUploading = _useImageUpload.isUploading,
7784 uploadError = _useImageUpload.uploadError,
7785 uploadImage = _useImageUpload.upload,
7786 resetUpload = _useImageUpload.resetUpload;
7787 var upload = function upload(imageToUpload, prompt) {
7788 return uploadImage({
7789 image: normalizeImageData(imageToUpload),
7790 prompt: prompt || imageToUpload.prompt
7791 });
7792 };
7793 var getFinalImage = /*#__PURE__*/function () {
7794 var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(imageToUpload, prompt) {
7795 var isImageAlreadyUploaded, image, _result, result;
7796 return _regenerator.default.wrap(function _callee$(_context) {
7797 while (1) switch (_context.prev = _context.next) {
7798 case 0:
7799 isImageAlreadyUploaded = editImage.url === imageToUpload.url;
7800 if (!isImageAlreadyUploaded) {
7801 _context.next = 4;
7802 break;
7803 }
7804 // Removing inner image property to avoid duplicated uploads.
7805 image = editImage.image, _result = (0, _objectWithoutProperties2.default)(editImage, _excluded);
7806 return _context.abrupt("return", _result);
7807 case 4:
7808 _context.next = 6;
7809 return upload(imageToUpload, prompt);
7810 case 6:
7811 result = _context.sent;
7812 return _context.abrupt("return", result.image);
7813 case 8:
7814 case "end":
7815 return _context.stop();
7816 }
7817 }, _callee);
7818 }));
7819 return function getFinalImage(_x, _x2) {
7820 return _ref.apply(this, arguments);
7821 };
7822 }();
7823 var edit = /*#__PURE__*/function () {
7824 var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(imageToUpload, prompt) {
7825 var result;
7826 return _regenerator.default.wrap(function _callee2$(_context2) {
7827 while (1) switch (_context2.prev = _context2.next) {
7828 case 0:
7829 _context2.next = 2;
7830 return upload(imageToUpload, prompt);
7831 case 2:
7832 result = _context2.sent;
7833 setEditImage(result.image);
7834 case 4:
7835 case "end":
7836 return _context2.stop();
7837 }
7838 }, _callee2);
7839 }));
7840 return function edit(_x3, _x4) {
7841 return _ref2.apply(this, arguments);
7842 };
7843 }();
7844 var use = /*#__PURE__*/function () {
7845 var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(imageToUpload, prompt) {
7846 var result;
7847 return _regenerator.default.wrap(function _callee3$(_context3) {
7848 while (1) switch (_context3.prev = _context3.next) {
7849 case 0:
7850 _context3.next = 2;
7851 return getFinalImage(imageToUpload, prompt);
7852 case 2:
7853 result = _context3.sent;
7854 setControlImage(result);
7855 saveAndClose();
7856 case 5:
7857 case "end":
7858 return _context3.stop();
7859 }
7860 }, _callee3);
7861 }));
7862 return function use(_x5, _x6) {
7863 return _ref3.apply(this, arguments);
7864 };
7865 }();
7866 return {
7867 use: use,
7868 edit: edit,
7869 reset: resetUpload,
7870 error: uploadError,
7871 data: attachmentData,
7872 isLoading: isUploading
7873 };
7874 };
7875 var _default = useImageActions;
7876 exports["default"] = _default;
7877
7878 /***/ }),
7879
7880 /***/ "../modules/ai/assets/js/editor/pages/form-media/hooks/use-image-prompt.js":
7881 /*!*********************************************************************************!*\
7882 !*** ../modules/ai/assets/js/editor/pages/form-media/hooks/use-image-prompt.js ***!
7883 \*********************************************************************************/
7884 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
7885
7886 "use strict";
7887
7888
7889 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
7890 Object.defineProperty(exports, "__esModule", ({
7891 value: true
7892 }));
7893 exports["default"] = void 0;
7894 var _react = __webpack_require__(/*! react */ "react");
7895 var _usePrompt = _interopRequireDefault(__webpack_require__(/*! ../../../hooks/use-prompt */ "../modules/ai/assets/js/editor/hooks/use-prompt.js"));
7896 var _globalActionsContext = __webpack_require__(/*! ../context/global-actions-context */ "../modules/ai/assets/js/editor/pages/form-media/context/global-actions-context.js");
7897 var useImagePrompt = function useImagePrompt() {
7898 var promptData = _usePrompt.default.apply(void 0, arguments);
7899 var _useGlobalActions = (0, _globalActionsContext.useGlobalActions)(),
7900 setHasUnsavedChanges = _useGlobalActions.setHasUnsavedChanges,
7901 state = _useGlobalActions.state;
7902 (0, _react.useEffect)(function () {
7903 var _promptData$data;
7904 if ((_promptData$data = promptData.data) !== null && _promptData$data !== void 0 && _promptData$data.result) {
7905 // Updating the hasUnsavedChanges global state that will trigger the unsaved changes dialog.
7906 setHasUnsavedChanges(true);
7907 }
7908 }, [promptData.data]);
7909 (0, _react.useEffect)(function () {
7910 if (state.isAllSaved) {
7911 promptData.sendUsageData();
7912 }
7913 }, [state.isAllSaved]);
7914 return promptData;
7915 };
7916 var _default = useImagePrompt;
7917 exports["default"] = _default;
7918
7919 /***/ }),
7920
7921 /***/ "../modules/ai/assets/js/editor/pages/form-media/hooks/use-image-size.js":
7922 /*!*******************************************************************************!*\
7923 !*** ../modules/ai/assets/js/editor/pages/form-media/hooks/use-image-size.js ***!
7924 \*******************************************************************************/
7925 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
7926
7927 "use strict";
7928
7929
7930 Object.defineProperty(exports, "__esModule", ({
7931 value: true
7932 }));
7933 exports["default"] = void 0;
7934 var _constants = __webpack_require__(/*! ../constants */ "../modules/ai/assets/js/editor/pages/form-media/constants/index.js");
7935 var useImageSize = function useImageSize(aspectRatio) {
7936 var _IMAGE_ASPECT_RATIO$a = _constants.IMAGE_ASPECT_RATIO[aspectRatio],
7937 width = _IMAGE_ASPECT_RATIO$a.width,
7938 height = _IMAGE_ASPECT_RATIO$a.height;
7939 return {
7940 width: width,
7941 height: height
7942 };
7943 };
7944 var _default = useImageSize;
7945 exports["default"] = _default;
7946
7947 /***/ }),
7948
7949 /***/ "../modules/ai/assets/js/editor/pages/form-media/hooks/use-image-upload.js":
7950 /*!*********************************************************************************!*\
7951 !*** ../modules/ai/assets/js/editor/pages/form-media/hooks/use-image-upload.js ***!
7952 \*********************************************************************************/
7953 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
7954
7955 "use strict";
7956
7957
7958 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
7959 Object.defineProperty(exports, "__esModule", ({
7960 value: true
7961 }));
7962 exports["default"] = void 0;
7963 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
7964 var _react = __webpack_require__(/*! react */ "react");
7965 var _api = __webpack_require__(/*! ../../../api */ "../modules/ai/assets/js/editor/api/index.js");
7966 var useImageUpload = function useImageUpload() {
7967 var _useState = (0, _react.useState)(false),
7968 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
7969 isUploading = _useState2[0],
7970 setIsUploading = _useState2[1];
7971 var _useState3 = (0, _react.useState)(''),
7972 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
7973 uploadError = _useState4[0],
7974 setUploadError = _useState4[1];
7975 var _useState5 = (0, _react.useState)({}),
7976 _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
7977 attachmentData = _useState6[0],
7978 setAttachmentData = _useState6[1];
7979 var upload = function upload(_ref) {
7980 var image = _ref.image,
7981 prompt = _ref.prompt;
7982 return new Promise(function (resolve, reject) {
7983 setUploadError('');
7984 setAttachmentData({});
7985 setIsUploading(true);
7986 (0, _api.uploadImage)({
7987 image: image,
7988 prompt: prompt
7989 }).then(function (result) {
7990 setAttachmentData(result);
7991 resolve(result);
7992 }).catch(function (err) {
7993 var error = (err === null || err === void 0 ? void 0 : err.responseText) || err;
7994 setUploadError(error);
7995 reject(error);
7996 }).finally(function () {
7997 return setIsUploading(false);
7998 });
7999 });
8000 };
8001 var resetUpload = function resetUpload() {
8002 setUploadError('');
8003 setAttachmentData({});
8004 setIsUploading(false);
8005 };
8006 return {
8007 upload: upload,
8008 resetUpload: resetUpload,
8009 isUploading: isUploading,
8010 uploadError: uploadError,
8011 attachmentData: attachmentData
8012 };
8013 };
8014 var _default = useImageUpload;
8015 exports["default"] = _default;
8016
8017 /***/ }),
8018
8019 /***/ "../modules/ai/assets/js/editor/pages/form-media/hooks/use-prompt-settings.js":
8020 /*!************************************************************************************!*\
8021 !*** ../modules/ai/assets/js/editor/pages/form-media/hooks/use-prompt-settings.js ***!
8022 \************************************************************************************/
8023 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
8024
8025 "use strict";
8026
8027
8028 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
8029 Object.defineProperty(exports, "__esModule", ({
8030 value: true
8031 }));
8032 exports["default"] = exports.IMAGE_ZOOM = exports.IMAGE_UPSCALE = exports.IMAGE_TYPE = exports.IMAGE_STYLE = exports.IMAGE_STRENGTH = exports.IMAGE_RATIO = void 0;
8033 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
8034 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
8035 var _react = __webpack_require__(/*! react */ "react");
8036 var _constants = __webpack_require__(/*! ../constants */ "../modules/ai/assets/js/editor/pages/form-media/constants/index.js");
8037 function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
8038 function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
8039 var IMAGE_TYPE = _constants.IMAGE_PROMPT_SETTINGS.IMAGE_TYPE,
8040 IMAGE_STYLE = _constants.IMAGE_PROMPT_SETTINGS.IMAGE_STYLE,
8041 IMAGE_STRENGTH = _constants.IMAGE_PROMPT_SETTINGS.IMAGE_STRENGTH,
8042 IMAGE_RATIO = _constants.IMAGE_PROMPT_SETTINGS.IMAGE_RATIO,
8043 IMAGE_ZOOM = _constants.IMAGE_PROMPT_SETTINGS.IMAGE_ZOOM,
8044 IMAGE_UPSCALE = _constants.IMAGE_PROMPT_SETTINGS.IMAGE_UPSCALE;
8045 exports.IMAGE_UPSCALE = IMAGE_UPSCALE;
8046 exports.IMAGE_ZOOM = IMAGE_ZOOM;
8047 exports.IMAGE_RATIO = IMAGE_RATIO;
8048 exports.IMAGE_STRENGTH = IMAGE_STRENGTH;
8049 exports.IMAGE_STYLE = IMAGE_STYLE;
8050 exports.IMAGE_TYPE = IMAGE_TYPE;
8051 var DEFAULT_TYPE = '';
8052 var DEFAULT_STYLE = '';
8053 var DEFAULT_STRENGTH = 0;
8054 var DEFAULT_RATIO = '1:1';
8055 var DEFAULT_ZOOM = '1';
8056 var DEFAULT_UPSCALE = '512';
8057 var usePromptSettings = function usePromptSettings() {
8058 var _useState3;
8059 var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
8060 _ref$type = _ref.type,
8061 type = _ref$type === void 0 ? DEFAULT_TYPE : _ref$type,
8062 _ref$style = _ref.style,
8063 style = _ref$style === void 0 ? DEFAULT_STYLE : _ref$style,
8064 _ref$imageWeight = _ref.imageWeight,
8065 imageWeight = _ref$imageWeight === void 0 ? DEFAULT_STRENGTH : _ref$imageWeight,
8066 _ref$aspectRatio = _ref.aspectRatio,
8067 aspectRatio = _ref$aspectRatio === void 0 ? DEFAULT_RATIO : _ref$aspectRatio,
8068 _ref$zoom = _ref.zoom,
8069 zoom = _ref$zoom === void 0 ? DEFAULT_ZOOM : _ref$zoom,
8070 _ref$upScaleTo = _ref.upScaleTo,
8071 upScaleTo = _ref$upScaleTo === void 0 ? DEFAULT_UPSCALE : _ref$upScaleTo;
8072 var _useState = (0, _react.useState)((_useState3 = {}, (0, _defineProperty2.default)(_useState3, IMAGE_TYPE, type), (0, _defineProperty2.default)(_useState3, IMAGE_STYLE, style), (0, _defineProperty2.default)(_useState3, IMAGE_STRENGTH, imageWeight), (0, _defineProperty2.default)(_useState3, IMAGE_RATIO, aspectRatio), (0, _defineProperty2.default)(_useState3, IMAGE_ZOOM, zoom), (0, _defineProperty2.default)(_useState3, IMAGE_UPSCALE, upScaleTo), _useState3)),
8073 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
8074 settings = _useState2[0],
8075 setSettings = _useState2[1];
8076 var updateSettings = function updateSettings(updated) {
8077 return setSettings(function (prev) {
8078 return _objectSpread(_objectSpread({}, prev), updated);
8079 });
8080 };
8081 var resetSettings = function resetSettings() {
8082 var _setSettings;
8083 setSettings((_setSettings = {}, (0, _defineProperty2.default)(_setSettings, IMAGE_TYPE, type), (0, _defineProperty2.default)(_setSettings, IMAGE_STYLE, DEFAULT_STYLE), (0, _defineProperty2.default)(_setSettings, IMAGE_STRENGTH, DEFAULT_STRENGTH), (0, _defineProperty2.default)(_setSettings, IMAGE_RATIO, aspectRatio), (0, _defineProperty2.default)(_setSettings, IMAGE_ZOOM, DEFAULT_ZOOM), (0, _defineProperty2.default)(_setSettings, IMAGE_UPSCALE, DEFAULT_UPSCALE), _setSettings));
8084 };
8085 return {
8086 settings: settings,
8087 updateSettings: updateSettings,
8088 resetSettings: resetSettings
8089 };
8090 };
8091 var _default = usePromptSettings;
8092 exports["default"] = _default;
8093
8094 /***/ }),
8095
8096 /***/ "../modules/ai/assets/js/editor/pages/form-media/index.js":
8097 /*!****************************************************************!*\
8098 !*** ../modules/ai/assets/js/editor/pages/form-media/index.js ***!
8099 \****************************************************************/
8100 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
8101
8102 "use strict";
8103
8104
8105 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
8106 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
8107 Object.defineProperty(exports, "__esModule", ({
8108 value: true
8109 }));
8110 exports["default"] = void 0;
8111 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
8112 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
8113 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
8114 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
8115 var _locationContext = __webpack_require__(/*! ./context/location-context */ "../modules/ai/assets/js/editor/pages/form-media/context/location-context.js");
8116 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
8117 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
8118 var _promptDialog = _interopRequireDefault(__webpack_require__(/*! ../../components/prompt-dialog */ "../modules/ai/assets/js/editor/components/prompt-dialog.js"));
8119 var _mediaOutlet = _interopRequireDefault(__webpack_require__(/*! ./media-outlet */ "../modules/ai/assets/js/editor/pages/form-media/media-outlet.js"));
8120 var _unsavedChangesAlert = _interopRequireDefault(__webpack_require__(/*! ./components/unsaved-changes-alert */ "../modules/ai/assets/js/editor/pages/form-media/components/unsaved-changes-alert.js"));
8121 var _editImageContext = __webpack_require__(/*! ./context/edit-image-context */ "../modules/ai/assets/js/editor/pages/form-media/context/edit-image-context.js");
8122 var _globalActionsContext = __webpack_require__(/*! ./context/global-actions-context */ "../modules/ai/assets/js/editor/pages/form-media/context/global-actions-context.js");
8123 var _globalSettingsContext = __webpack_require__(/*! ./context/global-settings-context */ "../modules/ai/assets/js/editor/pages/form-media/context/global-settings-context.js");
8124 var _promptHistory = _interopRequireDefault(__webpack_require__(/*! ../../components/prompt-history */ "../modules/ai/assets/js/editor/components/prompt-history/index.js"));
8125 function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
8126 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; }
8127 function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
8128 function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
8129 var initialData = {
8130 isAllSaved: false,
8131 hasUnsavedChanges: false
8132 };
8133 var SET_UNSAVED_CHANGES = 'SET_UNSAVED_CHANGES';
8134 var SAVE_AND_CLOSE = 'SAVE_AND_CLOSE';
8135 var reducer = function reducer(state, _ref) {
8136 var type = _ref.type,
8137 payload = _ref.payload;
8138 switch (type) {
8139 case SET_UNSAVED_CHANGES:
8140 return _objectSpread(_objectSpread({}, state), {}, {
8141 hasUnsavedChanges: payload,
8142 isAllSaved: payload ? false : state.isAllSaved
8143 });
8144 case SAVE_AND_CLOSE:
8145 return _objectSpread(_objectSpread({}, state), {}, {
8146 isAllSaved: true,
8147 hasUnsavedChanges: false
8148 });
8149 default:
8150 throw Error('Unknown action.');
8151 }
8152 };
8153 var FormMedia = function FormMedia(_ref2) {
8154 var onClose = _ref2.onClose,
8155 DialogProps = _ref2.DialogProps,
8156 getControlValue = _ref2.getControlValue,
8157 controlView = _ref2.controlView,
8158 additionalOptions = _ref2.additionalOptions,
8159 maybeRenderUpgradeChip = _ref2.maybeRenderUpgradeChip,
8160 hasSubscription = _ref2.hasSubscription,
8161 usagePercentage = _ref2.usagePercentage;
8162 var _useReducer = (0, _react.useReducer)(reducer, initialData),
8163 _useReducer2 = (0, _slicedToArray2.default)(_useReducer, 2),
8164 state = _useReducer2[0],
8165 dispatch = _useReducer2[1];
8166 var _useState = (0, _react.useState)(false),
8167 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
8168 showUnsavedChangeAlert = _useState2[0],
8169 setShowUnsavedChangeAlert = _useState2[1];
8170 var setHasUnsavedChanges = function setHasUnsavedChanges(payload) {
8171 return dispatch({
8172 type: SET_UNSAVED_CHANGES,
8173 payload: payload
8174 });
8175 };
8176 var saveAndClose = function saveAndClose() {
8177 return dispatch({
8178 type: SAVE_AND_CLOSE
8179 });
8180 };
8181 var onCloseIntent = function onCloseIntent() {
8182 if (state.hasUnsavedChanges) {
8183 setShowUnsavedChangeAlert(true);
8184 return;
8185 }
8186 onClose();
8187 };
8188 var editImageInitialData = getControlValue() === (additionalOptions === null || additionalOptions === void 0 ? void 0 : additionalOptions.defaultValue) ? {} : getControlValue();
8189 var globalSettings = {
8190 initialImageType: (additionalOptions === null || additionalOptions === void 0 ? void 0 : additionalOptions.defaultImageType) || '',
8191 hasSubscription: hasSubscription,
8192 usagePercentage: usagePercentage
8193 };
8194 var globalActions = {
8195 state: state,
8196 getControlValue: getControlValue,
8197 saveAndClose: saveAndClose,
8198 close: onCloseIntent,
8199 setHasUnsavedChanges: setHasUnsavedChanges,
8200 setControlImage: function setControlImage(image) {
8201 controlView.setSettingsModel(image);
8202 controlView.applySavedValue();
8203 }
8204 };
8205 (0, _react.useEffect)(function () {
8206 if (state.isAllSaved) {
8207 // Closing the app only once the state was updated, to allow registered effects to take place before closing.
8208 onClose();
8209 }
8210 }, [state.isAllSaved]);
8211 return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_promptDialog.default, (0, _extends2.default)({
8212 id: "e-form-media",
8213 onClose: function onClose() {
8214 return onCloseIntent();
8215 },
8216 maxWidth: "lg"
8217 }, DialogProps), /*#__PURE__*/_react.default.createElement(_promptDialog.default.Header, {
8218 onClose: function onClose() {
8219 return onCloseIntent();
8220 }
8221 }, /*#__PURE__*/_react.default.createElement(_promptHistory.default, null), maybeRenderUpgradeChip()), /*#__PURE__*/_react.default.createElement(_ui.Divider, null), /*#__PURE__*/_react.default.createElement(_globalSettingsContext.GlobalSettingsProvider, {
8222 settings: globalSettings
8223 }, /*#__PURE__*/_react.default.createElement(_globalActionsContext.GlobalActionsProvider, {
8224 actions: globalActions
8225 }, /*#__PURE__*/_react.default.createElement(_locationContext.LocationProvider, null, /*#__PURE__*/_react.default.createElement(_editImageContext.EditImageProvider, {
8226 imageData: editImageInitialData
8227 }, /*#__PURE__*/_react.default.createElement(_mediaOutlet.default, null)))))), showUnsavedChangeAlert && /*#__PURE__*/_react.default.createElement(_unsavedChangesAlert.default, {
8228 onClose: onClose,
8229 onCancel: function onCancel() {
8230 return setShowUnsavedChangeAlert(false);
8231 },
8232 open: true
8233 }));
8234 };
8235 FormMedia.propTypes = {
8236 onClose: _propTypes.default.func.isRequired,
8237 DialogProps: _propTypes.default.object,
8238 getControlValue: _propTypes.default.func.isRequired,
8239 controlView: _propTypes.default.object,
8240 additionalOptions: _propTypes.default.object,
8241 credits: _propTypes.default.number,
8242 maybeRenderUpgradeChip: _propTypes.default.func,
8243 hasSubscription: _propTypes.default.bool,
8244 usagePercentage: _propTypes.default.number
8245 };
8246 var _default = FormMedia;
8247 exports["default"] = _default;
8248
8249 /***/ }),
8250
8251 /***/ "../modules/ai/assets/js/editor/pages/form-media/media-outlet.js":
8252 /*!***********************************************************************!*\
8253 !*** ../modules/ai/assets/js/editor/pages/form-media/media-outlet.js ***!
8254 \***********************************************************************/
8255 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
8256
8257 "use strict";
8258
8259
8260 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
8261 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
8262 Object.defineProperty(exports, "__esModule", ({
8263 value: true
8264 }));
8265 exports["default"] = void 0;
8266 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
8267 var _view = _interopRequireDefault(__webpack_require__(/*! ./components/view */ "../modules/ai/assets/js/editor/pages/form-media/components/view.js"));
8268 var _loader = _interopRequireDefault(__webpack_require__(/*! ../../components/loader */ "../modules/ai/assets/js/editor/components/loader.js"));
8269 var _constants = __webpack_require__(/*! ./constants */ "../modules/ai/assets/js/editor/pages/form-media/constants/index.js");
8270 var _generate = _interopRequireDefault(__webpack_require__(/*! ./views/generate */ "../modules/ai/assets/js/editor/pages/form-media/views/generate/index.js"));
8271 var _imageTools = _interopRequireDefault(__webpack_require__(/*! ./views/image-tools */ "../modules/ai/assets/js/editor/pages/form-media/views/image-tools/index.js"));
8272 var _resize = _interopRequireDefault(__webpack_require__(/*! ./views/resize */ "../modules/ai/assets/js/editor/pages/form-media/views/resize/index.js"));
8273 var _inPainting = _interopRequireDefault(__webpack_require__(/*! ./views/in-painting */ "../modules/ai/assets/js/editor/pages/form-media/views/in-painting/index.js"));
8274 var _outPainting = _interopRequireDefault(__webpack_require__(/*! ./views/out-painting */ "../modules/ai/assets/js/editor/pages/form-media/views/out-painting/index.js"));
8275 var _variations = _interopRequireDefault(__webpack_require__(/*! ./views/variations */ "../modules/ai/assets/js/editor/pages/form-media/views/variations/index.js"));
8276 var _replaceBackground = _interopRequireDefault(__webpack_require__(/*! ./views/replace-background */ "../modules/ai/assets/js/editor/pages/form-media/views/replace-background/index.js"));
8277 var _removeBackground = _interopRequireDefault(__webpack_require__(/*! ./views/remove-background */ "../modules/ai/assets/js/editor/pages/form-media/views/remove-background/index.js"));
8278 var _locationContext = __webpack_require__(/*! ./context/location-context */ "../modules/ai/assets/js/editor/pages/form-media/context/location-context.js");
8279 var _editImageContext = __webpack_require__(/*! ./context/edit-image-context */ "../modules/ai/assets/js/editor/pages/form-media/context/edit-image-context.js");
8280 var _promptHistoryActionContext = __webpack_require__(/*! ../../components/prompt-history/context/prompt-history-action-context */ "../modules/ai/assets/js/editor/components/prompt-history/context/prompt-history-action-context.js");
8281 function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
8282 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; }
8283 var MediaOutlet = function MediaOutlet() {
8284 var _useEditImage = (0, _editImageContext.useEditImage)(),
8285 editImage = _useEditImage.editImage;
8286 var _useLocation = (0, _locationContext.useLocation)({
8287 current: _constants.LOCATIONS.GENERATE
8288 }),
8289 current = _useLocation.current,
8290 navigate = _useLocation.navigate;
8291 (0, _react.useEffect)(function () {
8292 var isNotPlaceholderImage = editImage.id;
8293 if (isNotPlaceholderImage) {
8294 navigate(_constants.LOCATIONS.IMAGE_TOOLS);
8295 }
8296 }, [editImage.id]);
8297 (0, _promptHistoryActionContext.useSubscribeOnPromptHistoryAction)([{
8298 type: _promptHistoryActionContext.ACTION_TYPES.RESTORE,
8299 handler: function handler() {
8300 if (current !== _constants.LOCATIONS.GENERATE) {
8301 navigate(_constants.LOCATIONS.GENERATE);
8302 }
8303 }
8304 }]);
8305 if (!current) {
8306 return /*#__PURE__*/_react.default.createElement(_view.default, {
8307 alignItems: "center"
8308 }, /*#__PURE__*/_react.default.createElement(_loader.default, null));
8309 }
8310 return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, current === _constants.LOCATIONS.GENERATE && /*#__PURE__*/_react.default.createElement(_generate.default, null), current === _constants.LOCATIONS.IMAGE_TOOLS && /*#__PURE__*/_react.default.createElement(_imageTools.default, null), current === _constants.LOCATIONS.VARIATIONS && /*#__PURE__*/_react.default.createElement(_variations.default, null), current === _constants.LOCATIONS.IN_PAINTING && /*#__PURE__*/_react.default.createElement(_inPainting.default, null), current === _constants.LOCATIONS.OUT_PAINTING && /*#__PURE__*/_react.default.createElement(_outPainting.default, null), current === _constants.LOCATIONS.RESIZE && /*#__PURE__*/_react.default.createElement(_resize.default, null), current === _constants.LOCATIONS.REPLACE_BACKGROUND && /*#__PURE__*/_react.default.createElement(_replaceBackground.default, null), current === _constants.LOCATIONS.REMOVE_BACKGROUND && /*#__PURE__*/_react.default.createElement(_removeBackground.default, null));
8311 };
8312 var _default = MediaOutlet;
8313 exports["default"] = _default;
8314
8315 /***/ }),
8316
8317 /***/ "../modules/ai/assets/js/editor/pages/form-media/utils/index.js":
8318 /*!**********************************************************************!*\
8319 !*** ../modules/ai/assets/js/editor/pages/form-media/utils/index.js ***!
8320 \**********************************************************************/
8321 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
8322
8323 "use strict";
8324
8325
8326 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
8327 Object.defineProperty(exports, "__esModule", ({
8328 value: true
8329 }));
8330 exports.getAspectRatioSizes = void 0;
8331 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
8332 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
8333 var _constants = __webpack_require__(/*! ../constants */ "../modules/ai/assets/js/editor/pages/form-media/constants/index.js");
8334 function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
8335 function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
8336 var getAspectRatioSizes = function getAspectRatioSizes(width, height) {
8337 var aspectRatios = Object.keys(_constants.IMAGE_ASPECT_RATIO);
8338 var targetRatio = width / height;
8339 var closestRatio = aspectRatios[0];
8340 var minDiff = Infinity;
8341 aspectRatios.forEach(function (ratio) {
8342 var _ratio$split$map = ratio.split(':').map(Number),
8343 _ratio$split$map2 = (0, _slicedToArray2.default)(_ratio$split$map, 2),
8344 w = _ratio$split$map2[0],
8345 h = _ratio$split$map2[1];
8346 var diff = Math.abs(targetRatio - w / h);
8347 if (diff < minDiff) {
8348 minDiff = diff;
8349 closestRatio = ratio;
8350 }
8351 });
8352 return _objectSpread({
8353 ratio: closestRatio
8354 }, _constants.IMAGE_ASPECT_RATIO[closestRatio]);
8355 };
8356 exports.getAspectRatioSizes = getAspectRatioSizes;
8357
8358 /***/ }),
8359
8360 /***/ "../modules/ai/assets/js/editor/pages/form-media/views/generate/hooks/use-suggested-images.js":
8361 /*!****************************************************************************************************!*\
8362 !*** ../modules/ai/assets/js/editor/pages/form-media/views/generate/hooks/use-suggested-images.js ***!
8363 \****************************************************************************************************/
8364 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
8365
8366 "use strict";
8367
8368
8369 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
8370 Object.defineProperty(exports, "__esModule", ({
8371 value: true
8372 }));
8373 exports["default"] = void 0;
8374 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
8375 var _react = __webpack_require__(/*! react */ "react");
8376 var _useImagesPreload2 = _interopRequireDefault(__webpack_require__(/*! ../../../../../hooks/use-images-preload */ "../modules/ai/assets/js/editor/hooks/use-images-preload.js"));
8377 var shuffleImages = function shuffleImages(images) {
8378 return images.map(function (image) {
8379 return [Math.random(), image];
8380 }).sort(function (_ref, _ref2) {
8381 var _ref3 = (0, _slicedToArray2.default)(_ref, 1),
8382 a = _ref3[0];
8383 var _ref4 = (0, _slicedToArray2.default)(_ref2, 1),
8384 b = _ref4[0];
8385 return a - b;
8386 }).map(function (_ref5) {
8387 var _ref6 = (0, _slicedToArray2.default)(_ref5, 2),
8388 image = _ref6[1];
8389 return image;
8390 });
8391 };
8392 var useSuggestedImages = function useSuggestedImages(_ref7) {
8393 var selectedType = _ref7.selectedType;
8394 var _useState = (0, _react.useState)(false),
8395 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
8396 isLoading = _useState2[0],
8397 setIsLoading = _useState2[1];
8398 var _useState3 = (0, _react.useState)({
8399 images: []
8400 }),
8401 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
8402 data = _useState4[0],
8403 setImagesState = _useState4[1];
8404 var _useImagesPreload = (0, _useImagesPreload2.default)(),
8405 ready = _useImagesPreload.ready,
8406 preloadImages = _useImagesPreload.preloadImages;
8407 var imagesData = (0, _react.useMemo)(function () {
8408 var shuffledImages = shuffleImages(data.images);
8409 if (!selectedType) {
8410 return shuffledImages;
8411 }
8412 var categoryImages = shuffledImages.filter(function (_ref8) {
8413 var imageType = _ref8.imageType;
8414 return imageType.includes(selectedType);
8415 });
8416
8417 // Some categories don't have images, so we TEMPORARLY fallback to the shuffled images.
8418 return categoryImages.length ? categoryImages : shuffledImages;
8419 }, [selectedType, data]);
8420 var fetchImages = function fetchImages() {
8421 setIsLoading(true);
8422 fetch('https://my.elementor.com/ai/images-prompt-gallery/ai-gallery.json').then(function (response) {
8423 return response.json();
8424 }).then(function (json) {
8425 return setImagesState(json);
8426 })
8427 // eslint-disable-next-line no-console
8428 .catch(function (e) {
8429 return console.log(e.message);
8430 }).finally(function () {
8431 return setIsLoading(false);
8432 });
8433 };
8434 (0, _react.useEffect)(function () {
8435 if (0 === (data === null || data === void 0 ? void 0 : data.images.length)) {
8436 fetchImages();
8437 return;
8438 }
8439 preloadImages(data.images.map(function (_ref9) {
8440 var thumbnailUrl = _ref9.thumbnailUrl;
8441 return thumbnailUrl;
8442 }));
8443 }, [data]);
8444 return {
8445 imagesData: imagesData,
8446 isLoading: !ready || isLoading
8447 };
8448 };
8449 var _default = useSuggestedImages;
8450 exports["default"] = _default;
8451
8452 /***/ }),
8453
8454 /***/ "../modules/ai/assets/js/editor/pages/form-media/views/generate/hooks/use-text-to-image.js":
8455 /*!*************************************************************************************************!*\
8456 !*** ../modules/ai/assets/js/editor/pages/form-media/views/generate/hooks/use-text-to-image.js ***!
8457 \*************************************************************************************************/
8458 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
8459
8460 "use strict";
8461
8462
8463 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
8464 Object.defineProperty(exports, "__esModule", ({
8465 value: true
8466 }));
8467 exports["default"] = void 0;
8468 var _api = __webpack_require__(/*! ../../../../../api */ "../modules/ai/assets/js/editor/api/index.js");
8469 var _useImagePrompt = _interopRequireDefault(__webpack_require__(/*! ../../../hooks/use-image-prompt */ "../modules/ai/assets/js/editor/pages/form-media/hooks/use-image-prompt.js"));
8470 var useTextToImage = function useTextToImage(initialValue) {
8471 return (0, _useImagePrompt.default)(_api.getTextToImageGeneration, initialValue);
8472 };
8473 var _default = useTextToImage;
8474 exports["default"] = _default;
8475
8476 /***/ }),
8477
8478 /***/ "../modules/ai/assets/js/editor/pages/form-media/views/generate/index.js":
8479 /*!*******************************************************************************!*\
8480 !*** ../modules/ai/assets/js/editor/pages/form-media/views/generate/index.js ***!
8481 \*******************************************************************************/
8482 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
8483
8484 "use strict";
8485
8486
8487 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
8488 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
8489 Object.defineProperty(exports, "__esModule", ({
8490 value: true
8491 }));
8492 exports["default"] = void 0;
8493 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
8494 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
8495 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
8496 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
8497 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
8498 var _view = _interopRequireDefault(__webpack_require__(/*! ../../components/view */ "../modules/ai/assets/js/editor/pages/form-media/components/view.js"));
8499 var _gallery = _interopRequireDefault(__webpack_require__(/*! ../../components/gallery */ "../modules/ai/assets/js/editor/pages/form-media/components/gallery.js"));
8500 var _imageForm = _interopRequireDefault(__webpack_require__(/*! ../../components/image-form */ "../modules/ai/assets/js/editor/pages/form-media/components/image-form.js"));
8501 var _promptField = _interopRequireDefault(__webpack_require__(/*! ../../components/prompt-field */ "../modules/ai/assets/js/editor/pages/form-media/components/prompt-field.js"));
8502 var _imageTypeSelect = _interopRequireDefault(__webpack_require__(/*! ../../components/image-type-select */ "../modules/ai/assets/js/editor/pages/form-media/components/image-type-select.js"));
8503 var _imageStyleSelect = _interopRequireDefault(__webpack_require__(/*! ../../components/image-style-select */ "../modules/ai/assets/js/editor/pages/form-media/components/image-style-select.js"));
8504 var _imageRatioSelect = _interopRequireDefault(__webpack_require__(/*! ../../components/image-ratio-select */ "../modules/ai/assets/js/editor/pages/form-media/components/image-ratio-select.js"));
8505 var _generateAgainSubmit = _interopRequireDefault(__webpack_require__(/*! ../../components/generate-again-submit */ "../modules/ai/assets/js/editor/pages/form-media/components/generate-again-submit.js"));
8506 var _newPromptButton = _interopRequireDefault(__webpack_require__(/*! ../../components/new-prompt-button */ "../modules/ai/assets/js/editor/pages/form-media/components/new-prompt-button.js"));
8507 var _generateImagesSubmit = _interopRequireDefault(__webpack_require__(/*! ../../components/generate-images-submit */ "../modules/ai/assets/js/editor/pages/form-media/components/generate-images-submit.js"));
8508 var _imagesDisplay = _interopRequireDefault(__webpack_require__(/*! ../../components/images-display */ "../modules/ai/assets/js/editor/pages/form-media/components/images-display.js"));
8509 var _imageActions = _interopRequireDefault(__webpack_require__(/*! ../../components/image-actions */ "../modules/ai/assets/js/editor/pages/form-media/components/image-actions.js"));
8510 var _usePromptSettings2 = _interopRequireWildcard(__webpack_require__(/*! ../../hooks/use-prompt-settings */ "../modules/ai/assets/js/editor/pages/form-media/hooks/use-prompt-settings.js"));
8511 var _useSuggestedImages2 = _interopRequireDefault(__webpack_require__(/*! ./hooks/use-suggested-images */ "../modules/ai/assets/js/editor/pages/form-media/views/generate/hooks/use-suggested-images.js"));
8512 var _useTextToImage2 = _interopRequireDefault(__webpack_require__(/*! ./hooks/use-text-to-image */ "../modules/ai/assets/js/editor/pages/form-media/views/generate/hooks/use-text-to-image.js"));
8513 var _useImageActions2 = _interopRequireDefault(__webpack_require__(/*! ../../hooks/use-image-actions */ "../modules/ai/assets/js/editor/pages/form-media/hooks/use-image-actions.js"));
8514 var _globalSettingsContext = __webpack_require__(/*! ../../context/global-settings-context */ "../modules/ai/assets/js/editor/pages/form-media/context/global-settings-context.js");
8515 var _promptHistoryActionContext = __webpack_require__(/*! ../../../../components/prompt-history/context/prompt-history-action-context */ "../modules/ai/assets/js/editor/components/prompt-history/context/prompt-history-action-context.js");
8516 var _promptLibraryLink = _interopRequireDefault(__webpack_require__(/*! ../../../../components/prompt-library-link */ "../modules/ai/assets/js/editor/components/prompt-library-link.js"));
8517 var _requestsIds = __webpack_require__(/*! ../../../../context/requests-ids */ "../modules/ai/assets/js/editor/context/requests-ids.js");
8518 function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
8519 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; }
8520 var getPromptPlaceholder = function getPromptPlaceholder(images) {
8521 if (!(images !== null && images !== void 0 && images.length)) {
8522 return (0, _i18n.__)('describe your image', 'elementor');
8523 }
8524 var randomImage = images[Math.floor(Math.random() * images.length)];
8525 return randomImage.prompt;
8526 };
8527 var Generate = function Generate() {
8528 var _useState = (0, _react.useState)(''),
8529 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
8530 prompt = _useState2[0],
8531 setPrompt = _useState2[1];
8532 var _useRequestIds = (0, _requestsIds.useRequestIds)(),
8533 setGenerate = _useRequestIds.setGenerate;
8534 var _useGlobalSettings = (0, _globalSettingsContext.useGlobalSettings)(),
8535 initialImageType = _useGlobalSettings.initialImageType;
8536 var _usePromptSettings = (0, _usePromptSettings2.default)({
8537 type: initialImageType
8538 }),
8539 settings = _usePromptSettings.settings,
8540 updateSettings = _usePromptSettings.updateSettings,
8541 resetSettings = _usePromptSettings.resetSettings;
8542 var _useSuggestedImages = (0, _useSuggestedImages2.default)({
8543 selectedType: settings[_usePromptSettings2.IMAGE_TYPE]
8544 }),
8545 suggestedImages = _useSuggestedImages.imagesData,
8546 isPreloading = _useSuggestedImages.isLoading;
8547 var promptPlaceholder = getPromptPlaceholder(suggestedImages);
8548 var _useTextToImage = (0, _useTextToImage2.default)({}),
8549 generatedImages = _useTextToImage.data,
8550 setResult = _useTextToImage.setResult,
8551 send = _useTextToImage.send,
8552 isGenerating = _useTextToImage.isLoading,
8553 error = _useTextToImage.error,
8554 reset = _useTextToImage.reset;
8555 var _useImageActions = (0, _useImageActions2.default)(),
8556 use = _useImageActions.use,
8557 edit = _useImageActions.edit,
8558 isUploading = _useImageActions.isLoading;
8559 var isLoading = isPreloading || isGenerating || isUploading;
8560
8561 // The aspect ratio in the content view should only be updated when the generated images are updated.
8562 var generateAspectRatio = (0, _react.useMemo)(function () {
8563 return settings[_usePromptSettings2.IMAGE_RATIO];
8564 }, [generatedImages === null || generatedImages === void 0 ? void 0 : generatedImages.result]);
8565 var handleSubmit = function handleSubmit(event) {
8566 event.preventDefault();
8567 setGenerate();
8568 send({
8569 prompt: prompt,
8570 settings: settings
8571 });
8572 };
8573 var handleCopyPrompt = function handleCopyPrompt(_ref) {
8574 var _updateSettings;
8575 var selectedPrompt = _ref.prompt,
8576 imageType = _ref.imageType;
8577 setPrompt(selectedPrompt);
8578 var _imageType$split = imageType.split('/'),
8579 _imageType$split2 = (0, _slicedToArray2.default)(_imageType$split, 2),
8580 type = _imageType$split2[0],
8581 style = _imageType$split2[1];
8582 updateSettings((_updateSettings = {}, (0, _defineProperty2.default)(_updateSettings, _usePromptSettings2.IMAGE_TYPE, type), (0, _defineProperty2.default)(_updateSettings, _usePromptSettings2.IMAGE_STYLE, style), _updateSettings));
8583 };
8584 (0, _promptHistoryActionContext.useSubscribeOnPromptHistoryAction)([{
8585 type: _promptHistoryActionContext.ACTION_TYPES.RESTORE,
8586 handler: function handler(action) {
8587 var _action$data, _action$data2, _action$data3, _action$data4;
8588 handleCopyPrompt({
8589 prompt: (_action$data = action.data) === null || _action$data === void 0 ? void 0 : _action$data.prompt,
8590 imageType: ((_action$data2 = action.data) === null || _action$data2 === void 0 ? void 0 : _action$data2.imageType) || ''
8591 });
8592 updateSettings((0, _defineProperty2.default)({}, _usePromptSettings2.IMAGE_RATIO, (_action$data3 = action.data) === null || _action$data3 === void 0 ? void 0 : _action$data3.ratio));
8593 setResult((_action$data4 = action.data) === null || _action$data4 === void 0 ? void 0 : _action$data4.images, action.id);
8594 }
8595 }]);
8596 return /*#__PURE__*/_react.default.createElement(_view.default, null, /*#__PURE__*/_react.default.createElement(_view.default.Panel, null, /*#__PURE__*/_react.default.createElement(_view.default.PanelHeading, {
8597 primary: (0, _i18n.__)('Imagine anything create everything', 'elementor'),
8598 secondary: (0, _i18n.__)('Generate images by selecting the desired type and style, and entering a prompt.', 'elementor')
8599 }), error && /*#__PURE__*/_react.default.createElement(_view.default.ErrorMessage, {
8600 error: error,
8601 onRetry: handleSubmit
8602 }), /*#__PURE__*/_react.default.createElement(_imageForm.default, {
8603 onSubmit: handleSubmit
8604 }, /*#__PURE__*/_react.default.createElement(_promptField.default, {
8605 "data-testid": "e-image-prompt",
8606 value: prompt,
8607 disabled: isLoading,
8608 placeholder: promptPlaceholder,
8609 onChange: setPrompt
8610 }), /*#__PURE__*/_react.default.createElement(_imageTypeSelect.default, {
8611 disabled: isLoading,
8612 value: settings[_usePromptSettings2.IMAGE_TYPE],
8613 onChange: function onChange(event) {
8614 return updateSettings((0, _defineProperty2.default)({}, _usePromptSettings2.IMAGE_TYPE, event.target.value));
8615 }
8616 }), /*#__PURE__*/_react.default.createElement(_imageStyleSelect.default, {
8617 type: settings[_usePromptSettings2.IMAGE_TYPE],
8618 value: settings[_usePromptSettings2.IMAGE_STYLE],
8619 disabled: isLoading || !settings[_usePromptSettings2.IMAGE_TYPE] || false,
8620 onChange: function onChange(event) {
8621 return updateSettings((0, _defineProperty2.default)({}, _usePromptSettings2.IMAGE_STYLE, event.target.value));
8622 }
8623 }), /*#__PURE__*/_react.default.createElement(_imageRatioSelect.default, {
8624 disabled: isLoading,
8625 value: settings[_usePromptSettings2.IMAGE_RATIO],
8626 onChange: function onChange(event) {
8627 return updateSettings((0, _defineProperty2.default)({}, _usePromptSettings2.IMAGE_RATIO, event.target.value));
8628 }
8629 }), generatedImages !== null && generatedImages !== void 0 && generatedImages.result ? /*#__PURE__*/_react.default.createElement(_ui.Stack, {
8630 gap: 2,
8631 sx: {
8632 my: 2.5
8633 }
8634 }, /*#__PURE__*/_react.default.createElement(_generateAgainSubmit.default, {
8635 disabled: isLoading || '' === prompt
8636 }), /*#__PURE__*/_react.default.createElement(_newPromptButton.default, {
8637 disabled: isLoading,
8638 onClick: function onClick() {
8639 resetSettings();
8640 setPrompt('');
8641 reset();
8642 }
8643 })) : /*#__PURE__*/_react.default.createElement(_generateImagesSubmit.default, {
8644 disabled: isLoading || '' === prompt
8645 }))), /*#__PURE__*/_react.default.createElement(_view.default.Content, {
8646 isLoading: isPreloading || isUploading,
8647 isGenerating: isGenerating
8648 }, generatedImages !== null && generatedImages !== void 0 && generatedImages.result ? /*#__PURE__*/_react.default.createElement(_imagesDisplay.default, {
8649 images: generatedImages === null || generatedImages === void 0 ? void 0 : generatedImages.result,
8650 aspectRatio: generateAspectRatio,
8651 onUseImage: use,
8652 onEditImage: edit
8653 }) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_view.default.ContentHeading, {
8654 primary: (0, _i18n.__)('Spark your imagination with images generated by our community', 'elementor')
8655 }), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
8656 sx: {
8657 mb: 3
8658 }
8659 }, /*#__PURE__*/_react.default.createElement(_promptLibraryLink.default, {
8660 libraryLink: "https://go.elementor.com/ai-prompt-library-image/"
8661 })), /*#__PURE__*/_react.default.createElement(_gallery.default, {
8662 cols: 3
8663 }, suggestedImages === null || suggestedImages === void 0 ? void 0 : suggestedImages.map(function (suggestedPrompt) {
8664 return /*#__PURE__*/_react.default.createElement(_gallery.default.Image, {
8665 variant: "thumbnail",
8666 key: suggestedPrompt.prompt,
8667 alt: suggestedPrompt.prompt,
8668 text: suggestedPrompt.prompt,
8669 src: suggestedPrompt.thumbnailUrl
8670 }, /*#__PURE__*/_react.default.createElement(_imageActions.default, null, /*#__PURE__*/_react.default.createElement(_imageActions.default.UseImage, {
8671 onClick: function onClick() {
8672 return use(suggestedPrompt);
8673 },
8674 fullWidth: true
8675 }), /*#__PURE__*/_react.default.createElement(_imageActions.default.CopyIcon, {
8676 onClick: function onClick() {
8677 return handleCopyPrompt(suggestedPrompt);
8678 }
8679 }), /*#__PURE__*/_react.default.createElement(_imageActions.default.EditIcon, {
8680 onClick: function onClick() {
8681 return edit(suggestedPrompt);
8682 }
8683 })));
8684 })))));
8685 };
8686 var _default = Generate;
8687 exports["default"] = _default;
8688
8689 /***/ }),
8690
8691 /***/ "../modules/ai/assets/js/editor/pages/form-media/views/image-tools/image-tools-content.js":
8692 /*!************************************************************************************************!*\
8693 !*** ../modules/ai/assets/js/editor/pages/form-media/views/image-tools/image-tools-content.js ***!
8694 \************************************************************************************************/
8695 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
8696
8697 "use strict";
8698
8699
8700 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
8701 Object.defineProperty(exports, "__esModule", ({
8702 value: true
8703 }));
8704 exports["default"] = void 0;
8705 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
8706 var _singleImagePreview = _interopRequireDefault(__webpack_require__(/*! ../../components/single-image-preview */ "../modules/ai/assets/js/editor/pages/form-media/components/single-image-preview.js"));
8707 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
8708 var _imageActions = _interopRequireDefault(__webpack_require__(/*! ../../components/image-actions */ "../modules/ai/assets/js/editor/pages/form-media/components/image-actions.js"));
8709 var _editImageContext = __webpack_require__(/*! ../../context/edit-image-context */ "../modules/ai/assets/js/editor/pages/form-media/context/edit-image-context.js");
8710 var _useImageActions2 = _interopRequireDefault(__webpack_require__(/*! ../../hooks/use-image-actions */ "../modules/ai/assets/js/editor/pages/form-media/hooks/use-image-actions.js"));
8711 var ImageToolsContent = function ImageToolsContent() {
8712 var _useEditImage = (0, _editImageContext.useEditImage)(),
8713 editImage = _useEditImage.editImage,
8714 width = _useEditImage.width,
8715 height = _useEditImage.height;
8716 var _useImageActions = (0, _useImageActions2.default)(),
8717 use = _useImageActions.use;
8718 return /*#__PURE__*/_react.default.createElement(_singleImagePreview.default, null, /*#__PURE__*/_react.default.createElement(_singleImagePreview.default.Image, {
8719 src: editImage.url,
8720 style: {
8721 width: width,
8722 height: height
8723 },
8724 alt: editImage.alt || (0, _i18n.__)('Image preview', 'elementor')
8725 }, /*#__PURE__*/_react.default.createElement(_singleImagePreview.default.Actions, null, /*#__PURE__*/_react.default.createElement(_imageActions.default.UseImage, {
8726 onClick: function onClick() {
8727 return use(editImage);
8728 }
8729 }))));
8730 };
8731 var _default = ImageToolsContent;
8732 exports["default"] = _default;
8733
8734 /***/ }),
8735
8736 /***/ "../modules/ai/assets/js/editor/pages/form-media/views/image-tools/image-tools-panel.js":
8737 /*!**********************************************************************************************!*\
8738 !*** ../modules/ai/assets/js/editor/pages/form-media/views/image-tools/image-tools-panel.js ***!
8739 \**********************************************************************************************/
8740 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
8741
8742 "use strict";
8743
8744
8745 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
8746 Object.defineProperty(exports, "__esModule", ({
8747 value: true
8748 }));
8749 exports["default"] = void 0;
8750 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
8751 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
8752 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
8753 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
8754 var _expandIcon = _interopRequireDefault(__webpack_require__(/*! ../../../../icons/expand-icon */ "../modules/ai/assets/js/editor/icons/expand-icon.js"));
8755 var _brushIcon = _interopRequireDefault(__webpack_require__(/*! ../../../../icons/brush-icon */ "../modules/ai/assets/js/editor/icons/brush-icon.js"));
8756 var _evolveIcon = _interopRequireDefault(__webpack_require__(/*! ../../../../icons/evolve-icon */ "../modules/ai/assets/js/editor/icons/evolve-icon.js"));
8757 var _enlargerIcon = _interopRequireDefault(__webpack_require__(/*! ../../../../icons/enlarger-icon */ "../modules/ai/assets/js/editor/icons/enlarger-icon.js"));
8758 var _removeBg = _interopRequireDefault(__webpack_require__(/*! ../../../../icons/remove-bg */ "../modules/ai/assets/js/editor/icons/remove-bg.js"));
8759 var _replaceBg = _interopRequireDefault(__webpack_require__(/*! ../../../../icons/replace-bg */ "../modules/ai/assets/js/editor/icons/replace-bg.js"));
8760 var _constants = __webpack_require__(/*! ../../constants */ "../modules/ai/assets/js/editor/pages/form-media/constants/index.js");
8761 var _locationContext = __webpack_require__(/*! ../../context/location-context */ "../modules/ai/assets/js/editor/pages/form-media/context/location-context.js");
8762 var TeaserDrawing = function TeaserDrawing() {
8763 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, {
8764 viewBox: "0 0 184 80",
8765 sx: {
8766 width: 184,
8767 height: 80
8768 }
8769 }, /*#__PURE__*/_react.default.createElement("g", {
8770 clipPath: "url(#clip0_3127_96542)"
8771 }, /*#__PURE__*/_react.default.createElement("path", {
8772 fillRule: "evenodd",
8773 clipRule: "evenodd",
8774 d: "M49.6014 1.36364C49.6014 0.610521 48.9907 0 48.2373 0C47.4839 0 46.8731 0.610521 46.8731 1.36364C46.8731 1.9664 46.6336 2.54448 46.2072 2.9707C45.7808 3.39692 45.2025 3.63636 44.5995 3.63636C43.8461 3.63636 43.2354 4.24689 43.2354 5C43.2354 5.75311 43.8461 6.36364 44.5995 6.36364C45.2025 6.36364 45.7808 6.60308 46.2072 7.0293C46.6336 7.45552 46.8731 8.0336 46.8731 8.63636C46.8731 9.38948 47.4839 10 48.2373 10C48.9907 10 49.6014 9.38948 49.6014 8.63636C49.6014 8.0336 49.8409 7.45552 50.2673 7.0293C50.6937 6.60308 51.272 6.36364 51.875 6.36364C52.6284 6.36364 53.2392 5.75311 53.2392 5C53.2392 4.24689 52.6284 3.63636 51.875 3.63636C51.272 3.63636 50.6937 3.39692 50.2673 2.9707C49.8409 2.54448 49.6014 1.9664 49.6014 1.36364ZM48.1364 4.89917C48.1706 4.86501 48.2042 4.83041 48.2373 4.79538C48.2703 4.83041 48.304 4.86501 48.3381 4.89917C48.3723 4.93333 48.4069 4.96694 48.4419 5C48.4069 5.03306 48.3723 5.06667 48.3381 5.10083C48.304 5.13499 48.2703 5.16959 48.2373 5.20462C48.2042 5.16959 48.1706 5.13499 48.1364 5.10083C48.1022 5.06667 48.0676 5.03306 48.0326 5C48.0676 4.96694 48.1022 4.93333 48.1364 4.89917Z",
8775 fill: "#69727D"
8776 }), /*#__PURE__*/_react.default.createElement("path", {
8777 fillRule: "evenodd",
8778 clipRule: "evenodd",
8779 d: "M66.6927 22.3677C66.6927 21.6177 66.082 21.0098 65.3286 21.0098C64.5752 21.0098 63.9644 21.6177 63.9644 22.3677C63.9644 22.9679 63.7249 23.5436 63.2985 23.968C62.8721 24.3924 62.2938 24.6309 61.6908 24.6309C60.9374 24.6309 60.3267 25.2388 60.3267 25.9888C60.3267 26.7387 60.9374 27.3467 61.6908 27.3467C62.2938 27.3467 62.8721 27.5851 63.2985 28.0096C63.7249 28.434 63.9644 29.0096 63.9644 29.6099C63.9644 30.3598 64.5752 30.9678 65.3286 30.9678C66.082 30.9678 66.6927 30.3598 66.6927 29.6099C66.6927 29.0096 66.9323 28.434 67.3586 28.0096C67.785 27.5851 68.3633 27.3467 68.9663 27.3467C69.7197 27.3467 70.3305 26.7387 70.3305 25.9888C70.3305 25.2388 69.7197 24.6309 68.9663 24.6309C68.3633 24.6309 67.785 24.3924 67.3586 23.968C66.9323 23.5436 66.6927 22.9679 66.6927 22.3677ZM65.2277 25.8884C65.2619 25.8544 65.2955 25.8199 65.3286 25.785C65.3616 25.8199 65.3953 25.8544 65.4294 25.8884C65.4636 25.9224 65.4982 25.9559 65.5333 25.9888C65.4982 26.0217 65.4636 26.0552 65.4294 26.0892C65.3953 26.1232 65.3616 26.1577 65.3286 26.1925C65.2955 26.1577 65.2619 26.1232 65.2277 26.0892C65.1935 26.0552 65.1589 26.0217 65.1239 25.9888C65.1589 25.9559 65.1935 25.9224 65.2277 25.8884Z",
8780 fill: "#69727D"
8781 }), /*#__PURE__*/_react.default.createElement("path", {
8782 d: "M53.9717 12L57.2198 17.0456L3.24796 51.4731L-0.000164873 46.4275L53.9717 12Z",
8783 fill: "#69727D"
8784 }), /*#__PURE__*/_react.default.createElement("path", {
8785 d: "M64.9761 5L68.2242 10.0456L57.2612 17.0387L54.013 11.9931L64.9761 5Z",
8786 fill: "#E6E8EA"
8787 }), /*#__PURE__*/_react.default.createElement("path", {
8788 fillRule: "evenodd",
8789 clipRule: "evenodd",
8790 d: "M65.7284 9.49923L64.432 7.48537L56.5088 12.5394L57.8052 14.5533L65.7284 9.49923ZM64.9761 5L54.013 11.9931L57.2612 17.0387L68.2242 10.0456L64.9761 5Z",
8791 fill: "#69727D"
8792 }), /*#__PURE__*/_react.default.createElement("path", {
8793 fillRule: "evenodd",
8794 clipRule: "evenodd",
8795 d: "M128 41C128 43.7687 121.671 46.2089 112.052 47.6451L114.482 74.7976C114.494 74.8647 114.5 74.9322 114.5 75C114.5 75.0001 114.5 75.0002 114.5 75.0003C114.513 75.1456 114.487 75.2779 114.43 75.3982C113.514 77.9735 103.8 80 91.95 80C79.496 80 69.4 77.7614 69.4 75C69.4 74.8146 69.4456 74.6315 69.5343 74.4513L71.2141 47.5326C62.0087 46.0835 56 43.6977 56 41C56 36.5817 72.1177 33 92 33C111.882 33 128 36.5817 128 41Z",
8796 fill: "#69727D"
8797 }), /*#__PURE__*/_react.default.createElement("path", {
8798 d: "M106.685 3.08259C112.562 16.564 109.338 34.1761 106.713 41.4407C106.713 41.4407 105.151 41.9127 100.894 41.9715C96.6371 42.0303 95.0251 41.9866 95.0251 41.4558C95.0252 40.9249 94.6272 34.6461 96.4177 22.3308C98.0343 11.2116 102.692 5.02553 105.448 2.75675C105.865 2.4137 106.47 2.58777 106.685 3.08259Z",
8799 fill: "#E6E8EA"
8800 }), /*#__PURE__*/_react.default.createElement("path", {
8801 fillRule: "evenodd",
8802 clipRule: "evenodd",
8803 d: "M104.883 4.66783C105.347 4.17219 106.14 4.35208 106.38 4.9873C108.716 11.1748 109.254 18.1507 108.889 24.5355C108.513 31.1152 107.184 36.9856 105.954 40.5842C105.778 40.6166 105.55 40.6541 105.265 40.6927C104.388 40.8119 102.974 40.9423 100.88 40.9712C98.7385 41.0008 97.3196 41.0031 96.4377 40.9371C96.2614 40.9239 96.1203 40.9088 96.0088 40.8935C95.9567 39.0573 95.8782 32.9919 97.4073 22.4743C98.766 13.1288 102.302 7.42438 104.883 4.66783ZM106.713 41.4403L107.002 42.3975C107.305 42.3062 107.546 42.0773 107.653 41.7802C109 38.0524 110.481 31.7376 110.886 24.6496C111.29 17.5654 110.626 9.61894 107.602 2.68255C107.147 1.63949 105.792 1.17814 104.812 1.98425C101.838 4.43294 97.0752 10.8574 95.4281 22.1866C93.7715 33.5811 93.975 39.865 94.0187 41.2138C94.0225 41.3324 94.0251 41.4128 94.0251 41.4552C94.025 42.261 94.695 42.5983 95.0067 42.7098C95.3591 42.8358 95.8079 42.8956 96.2886 42.9316C97.2769 43.0055 98.7924 43.0002 100.908 42.971C103.071 42.9411 104.566 42.806 105.534 42.6745C106.018 42.6088 106.371 42.5438 106.61 42.4932C106.729 42.4679 106.82 42.4461 106.885 42.4296C106.917 42.4214 106.943 42.4144 106.962 42.409L106.987 42.4021L106.996 42.3995L106.999 42.3984L107.001 42.398C107.001 42.398 107.002 42.3975 106.713 41.4403ZM106.426 40.4822L106.428 40.4817L106.43 40.4812C106.43 40.4812 106.429 40.4814 106.426 40.4822Z",
8804 fill: "#69727D"
8805 }), /*#__PURE__*/_react.default.createElement("path", {
8806 fillRule: "evenodd",
8807 clipRule: "evenodd",
8808 d: "M104.22 13.8372C104.787 15.7536 104.996 18.3439 104.953 21.2589C104.907 24.4148 104.569 27.8559 104.134 31.0529C103.7 34.2469 103.172 37.1799 102.753 39.3152C102.544 40.3824 102.361 41.2491 102.232 41.8481C102.22 41.9009 102.209 41.9516 102.199 42.0001H100.503C100.526 38.5025 100.676 33.4168 101.183 28.2866C101.724 22.8227 102.66 17.4299 104.22 13.8372ZM103 43.0001C103.974 43.2266 103.974 43.2264 103.974 43.2262L103.978 43.2093L103.989 43.1613C103.999 43.1192 104.013 43.0571 104.031 42.976C104.067 42.814 104.12 42.5763 104.186 42.2713C104.318 41.6613 104.503 40.7819 104.716 39.7006C105.14 37.5391 105.675 34.5658 106.116 31.3223C106.556 28.0818 106.905 24.5541 106.953 21.2881C107 18.0456 106.753 14.9635 105.943 12.6671C105.815 12.3045 105.676 11.9539 105.512 11.6797C105.394 11.4809 105.045 10.9388 104.371 10.9076C103.702 10.8766 103.301 11.3772 103.156 11.5722C102.959 11.8385 102.774 12.1912 102.594 12.5778C100.767 16.4945 99.7565 22.3931 99.1929 28.0897C98.6258 33.8211 98.5 39.4812 98.5 43.0001V44.0001H103.794L103.974 43.2262L103 43.0001Z",
8809 fill: "#69727D"
8810 }), /*#__PURE__*/_react.default.createElement("path", {
8811 d: "M79.2952 3.08259C73.4181 16.564 76.6423 34.1761 79.2676 41.4407C79.2676 41.4407 80.8299 41.9127 85.0867 41.9715C89.3434 42.0303 90.9554 41.9866 90.9554 41.4558C90.9553 40.9249 91.3533 34.6461 89.5628 22.3308C87.9462 11.2116 83.2888 5.02553 80.5325 2.75675C80.1157 2.4137 79.511 2.58777 79.2952 3.08259Z",
8812 fill: "#E6E8EA"
8813 }), /*#__PURE__*/_react.default.createElement("path", {
8814 fillRule: "evenodd",
8815 clipRule: "evenodd",
8816 d: "M81.0978 4.66783C80.6337 4.17219 79.8403 4.35208 79.6005 4.9873C77.2644 11.1748 76.7267 18.1507 77.0914 24.5355C77.4671 31.1152 78.7963 36.9856 80.0267 40.5842C80.2028 40.6166 80.4308 40.6541 80.7155 40.6927C81.5929 40.8119 83.0069 40.9423 85.1005 40.9712C87.242 41.0008 88.6609 41.0031 89.5427 40.9371C89.7191 40.9239 89.8602 40.9088 89.9716 40.8935C90.0238 39.0573 90.1023 32.9919 88.5732 22.4743C87.2145 13.1288 83.6789 7.42438 81.0978 4.66783ZM79.2676 41.4403L78.9784 42.3975C78.676 42.3062 78.4345 42.0773 78.3271 41.7802C76.98 38.0524 75.4994 31.7376 75.0946 24.6496C74.69 17.5654 75.3547 9.61894 78.3786 2.68255C78.8333 1.63949 80.1887 1.17814 81.168 1.98425C84.1429 4.43294 88.9053 10.8574 90.5524 22.1866C92.209 33.5811 92.0055 39.865 91.9618 41.2138C91.958 41.3324 91.9554 41.4128 91.9554 41.4552C91.9554 42.261 91.2855 42.5983 90.9737 42.7098C90.6214 42.8358 90.1726 42.8956 89.6919 42.9316C88.7036 43.0055 87.1881 43.0002 85.0728 42.971C82.9096 42.9411 81.4141 42.806 80.4462 42.6745C79.9621 42.6088 79.6094 42.5438 79.3707 42.4932C79.2514 42.4679 79.1605 42.4461 79.0958 42.4296C79.0635 42.4214 79.0377 42.4144 79.0182 42.409L78.9937 42.4021L78.9849 42.3995L78.9814 42.3984L78.9798 42.398C78.9798 42.398 78.9784 42.3975 79.2676 41.4403ZM79.5541 40.4822L79.5526 40.4817L79.5507 40.4812C79.5507 40.4812 79.5514 40.4814 79.5541 40.4822Z",
8817 fill: "#69727D"
8818 }), /*#__PURE__*/_react.default.createElement("path", {
8819 fillRule: "evenodd",
8820 clipRule: "evenodd",
8821 d: "M81.7604 13.8372C81.1939 15.7536 80.9847 18.3439 81.0272 21.2589C81.0733 24.4148 81.4118 27.8559 81.8464 31.0529C82.2805 34.2469 82.8081 37.1799 83.2274 39.3152C83.4369 40.3824 83.6192 41.2491 83.7488 41.8481C83.7603 41.9009 83.7713 41.9516 83.7819 42.0001H85.4771C85.4542 38.5025 85.3049 33.4168 84.7973 28.2866C84.2567 22.8227 83.32 17.4299 81.7604 13.8372ZM82.9805 43.0001C82.0065 43.2266 82.0064 43.2264 82.0064 43.2262L82.0025 43.2093L81.9914 43.1613C81.9818 43.1192 81.9677 43.0571 81.9494 42.976C81.913 42.814 81.8602 42.5763 81.7941 42.2713C81.6621 41.6613 81.4772 40.7819 81.2648 39.7006C80.8404 37.5391 80.3054 34.5658 79.8646 31.3223C79.4241 28.0818 79.0751 24.5541 79.0275 21.2881C78.9801 18.0456 79.227 14.9635 80.0375 12.6671C80.1655 12.3045 80.305 11.9539 80.4683 11.6797C80.5868 11.4809 80.9351 10.9388 81.6092 10.9076C82.2782 10.8766 82.6793 11.3772 82.8241 11.5722C83.0217 11.8385 83.2064 12.1912 83.3867 12.5778C85.2136 16.4945 86.224 22.3931 86.7876 28.0897C87.3546 33.8211 87.4805 39.4812 87.4805 43.0001V44.0001H82.1863L82.0064 43.2262L82.9805 43.0001Z",
8822 fill: "#69727D"
8823 })), /*#__PURE__*/_react.default.createElement("defs", null, /*#__PURE__*/_react.default.createElement("clipPath", {
8824 id: "clip0_3127_96542"
8825 }, /*#__PURE__*/_react.default.createElement("rect", {
8826 width: "184",
8827 height: "80",
8828 fill: "white"
8829 }))));
8830 };
8831 var ImageToolsContainer = (0, _ui.styled)(_ui.Box)(function (_ref) {
8832 var theme = _ref.theme;
8833 return {
8834 height: "calc(100% - ".concat(theme.spacing(13), ")")
8835 };
8836 });
8837 var ToolsTeaserContainer = (0, _ui.styled)(_ui.Box)(function (_ref2) {
8838 var theme = _ref2.theme;
8839 return {
8840 position: 'sticky',
8841 top: '100%',
8842 padding: theme.spacing(4, 0, 1)
8843 };
8844 });
8845 var ImageToolsPanel = function ImageToolsPanel() {
8846 var _useLocation = (0, _locationContext.useLocation)(),
8847 navigate = _useLocation.navigate;
8848 var tools = [{
8849 label: (0, _i18n.__)('Expand Image', 'elementor'),
8850 Icon: _expandIcon.default,
8851 onClick: function onClick() {
8852 return navigate(_constants.LOCATIONS.OUT_PAINTING);
8853 }
8854 }, {
8855 label: (0, _i18n.__)('Generative Fill', 'elementor'),
8856 Icon: _brushIcon.default,
8857 onClick: function onClick() {
8858 return navigate(_constants.LOCATIONS.IN_PAINTING);
8859 }
8860 }, {
8861 label: (0, _i18n.__)('Resize', 'elementor'),
8862 Icon: _enlargerIcon.default,
8863 onClick: function onClick() {
8864 return navigate(_constants.LOCATIONS.RESIZE);
8865 }
8866 }, {
8867 label: (0, _i18n.__)('Variations', 'elementor'),
8868 Icon: _evolveIcon.default,
8869 onClick: function onClick() {
8870 return navigate(_constants.LOCATIONS.VARIATIONS);
8871 }
8872 }, {
8873 label: (0, _i18n.__)('Remove Background', 'elementor'),
8874 Icon: _removeBg.default,
8875 onClick: function onClick() {
8876 return navigate(_constants.LOCATIONS.REMOVE_BACKGROUND);
8877 }
8878 }, {
8879 label: (0, _i18n.__)('Replace Background', 'elementor'),
8880 Icon: _replaceBg.default,
8881 onClick: function onClick() {
8882 return navigate(_constants.LOCATIONS.REPLACE_BACKGROUND);
8883 }
8884 }];
8885 return /*#__PURE__*/_react.default.createElement(ImageToolsContainer, null, /*#__PURE__*/_react.default.createElement(_ui.Box, {
8886 display: "grid",
8887 gridTemplateColumns: "repeat(2, 1fr)",
8888 gap: 1,
8889 justifyContent: "center"
8890 }, tools.map(function (_ref3) {
8891 var label = _ref3.label,
8892 Icon = _ref3.Icon,
8893 onClick = _ref3.onClick;
8894 return /*#__PURE__*/_react.default.createElement(_ui.Button, {
8895 onClick: onClick,
8896 key: label,
8897 variant: "outlined",
8898 color: "secondary",
8899 disabled: false,
8900 sx: {
8901 py: 3,
8902 fontSize: '12px',
8903 height: 'auto',
8904 borderRadius: '4px'
8905 }
8906 }, /*#__PURE__*/_react.default.createElement(_ui.Box, {
8907 display: "flex",
8908 justifyContent: "center",
8909 alignItems: "center",
8910 flexDirection: "column"
8911 }, /*#__PURE__*/_react.default.createElement(Icon, {
8912 sx: {
8913 mb: 0.5
8914 }
8915 }), label));
8916 })), /*#__PURE__*/_react.default.createElement(ToolsTeaserContainer, {
8917 display: "flex",
8918 flexDirection: "column",
8919 alignItems: "center"
8920 }, /*#__PURE__*/_react.default.createElement(TeaserDrawing, null), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
8921 variant: "body2",
8922 align: "center",
8923 color: "secondary",
8924 sx: {
8925 mt: 2
8926 }
8927 }, (0, _i18n.__)('Stay tuned! More incredible AI tools are coming your way soon.', 'elementor'))));
8928 };
8929 ImageToolsPanel.propTypes = {
8930 generateNewPrompt: _propTypes.default.func,
8931 panelActive: _propTypes.default.bool
8932 };
8933 var _default = ImageToolsPanel;
8934 exports["default"] = _default;
8935
8936 /***/ }),
8937
8938 /***/ "../modules/ai/assets/js/editor/pages/form-media/views/image-tools/index.js":
8939 /*!**********************************************************************************!*\
8940 !*** ../modules/ai/assets/js/editor/pages/form-media/views/image-tools/index.js ***!
8941 \**********************************************************************************/
8942 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
8943
8944 "use strict";
8945
8946
8947 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
8948 Object.defineProperty(exports, "__esModule", ({
8949 value: true
8950 }));
8951 exports["default"] = void 0;
8952 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
8953 var _view = _interopRequireDefault(__webpack_require__(/*! ../../components/view */ "../modules/ai/assets/js/editor/pages/form-media/components/view.js"));
8954 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
8955 var _imageToolsPanel = _interopRequireDefault(__webpack_require__(/*! ./image-tools-panel */ "../modules/ai/assets/js/editor/pages/form-media/views/image-tools/image-tools-panel.js"));
8956 var _imageToolsContent = _interopRequireDefault(__webpack_require__(/*! ./image-tools-content */ "../modules/ai/assets/js/editor/pages/form-media/views/image-tools/image-tools-content.js"));
8957 var _locationContext = __webpack_require__(/*! ../../context/location-context */ "../modules/ai/assets/js/editor/pages/form-media/context/location-context.js");
8958 var _constants = __webpack_require__(/*! ../../constants */ "../modules/ai/assets/js/editor/pages/form-media/constants/index.js");
8959 var ImageTools = function ImageTools() {
8960 var _useLocation = (0, _locationContext.useLocation)(),
8961 navigate = _useLocation.navigate;
8962 return /*#__PURE__*/_react.default.createElement(_view.default, null, /*#__PURE__*/_react.default.createElement(_view.default.Panel, null, /*#__PURE__*/_react.default.createElement(_view.default.BackButton, {
8963 onClick: function onClick() {
8964 return navigate(_constants.LOCATIONS.GENERATE);
8965 }
8966 }, (0, _i18n.__)('Generate with a prompt', 'elementor')), /*#__PURE__*/_react.default.createElement(_view.default.PanelHeading, {
8967 primary: (0, _i18n.__)('Edit with AI', 'elementor')
8968 }), /*#__PURE__*/_react.default.createElement(_imageToolsPanel.default, null)), /*#__PURE__*/_react.default.createElement(_view.default.Content, null, /*#__PURE__*/_react.default.createElement(_imageToolsContent.default, null)));
8969 };
8970 var _default = ImageTools;
8971 exports["default"] = _default;
8972
8973 /***/ }),
8974
8975 /***/ "../modules/ai/assets/js/editor/pages/form-media/views/in-painting/hooks/use-in-painting.js":
8976 /*!**************************************************************************************************!*\
8977 !*** ../modules/ai/assets/js/editor/pages/form-media/views/in-painting/hooks/use-in-painting.js ***!
8978 \**************************************************************************************************/
8979 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
8980
8981 "use strict";
8982
8983
8984 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
8985 Object.defineProperty(exports, "__esModule", ({
8986 value: true
8987 }));
8988 exports["default"] = void 0;
8989 var _api = __webpack_require__(/*! ../../../../../api */ "../modules/ai/assets/js/editor/api/index.js");
8990 var _useImagePrompt = _interopRequireDefault(__webpack_require__(/*! ../../../hooks/use-image-prompt */ "../modules/ai/assets/js/editor/pages/form-media/hooks/use-image-prompt.js"));
8991 var useInPainting = function useInPainting(initialValue) {
8992 var fetchAction = function fetchAction(payload) {
8993 return (0, _api.getImageToImageMaskGeneration)(payload);
8994 };
8995 return (0, _useImagePrompt.default)(fetchAction, initialValue);
8996 };
8997 var _default = useInPainting;
8998 exports["default"] = _default;
8999
9000 /***/ }),
9001
9002 /***/ "../modules/ai/assets/js/editor/pages/form-media/views/in-painting/in-painting-content.js":
9003 /*!************************************************************************************************!*\
9004 !*** ../modules/ai/assets/js/editor/pages/form-media/views/in-painting/in-painting-content.js ***!
9005 \************************************************************************************************/
9006 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
9007
9008 "use strict";
9009
9010
9011 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
9012 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
9013 Object.defineProperty(exports, "__esModule", ({
9014 value: true
9015 }));
9016 exports["default"] = void 0;
9017 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
9018 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
9019 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
9020 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
9021 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
9022 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
9023 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
9024 var _reactSketchCanvas = __webpack_require__(/*! react-sketch-canvas */ "../node_modules/react-sketch-canvas/dist/react-sketch-canvas.esm.js");
9025 var _undoIcon = _interopRequireDefault(__webpack_require__(/*! ../../../../icons/undo-icon */ "../modules/ai/assets/js/editor/icons/undo-icon.js"));
9026 var _redoIcon = _interopRequireDefault(__webpack_require__(/*! ../../../../icons/redo-icon */ "../modules/ai/assets/js/editor/icons/redo-icon.js"));
9027 function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
9028 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; }
9029 var STROKE_SELECT_WIDTH = 120;
9030 var BRUSH_COLOR = 'rgba(0, 0, 0, 0.75)';
9031 var StyledUndoIcon = (0, _ui.withDirection)(_undoIcon.default);
9032 var StyledRedoIcon = (0, _ui.withDirection)(_redoIcon.default);
9033 var BrushCursor = (0, _ui.styled)(_ui.Box, {
9034 shouldForwardProp: function shouldForwardProp(prop) {
9035 return 'size' === prop;
9036 }
9037 })(function (_ref) {
9038 var theme = _ref.theme,
9039 size = _ref.size;
9040 return {
9041 position: 'absolute',
9042 width: size,
9043 height: size,
9044 borderRadius: '50%',
9045 backgroundColor: BRUSH_COLOR,
9046 pointerEvents: 'none',
9047 transform: "translate(".concat('rtl' === theme.direction ? '50%' : '-50%', ", -50%)"),
9048 border: "1px solid #fff"
9049 };
9050 });
9051 var BrishSizeIcon = (0, _ui.styled)(_ui.Box, {
9052 shouldForwardProp: function shouldForwardProp(prop) {
9053 return 'size' === prop;
9054 }
9055 })(function (_ref2) {
9056 var theme = _ref2.theme,
9057 size = _ref2.size;
9058 return {
9059 width: size / 2,
9060 height: size / 2,
9061 borderRadius: '50%',
9062 backgroundColor: theme.palette.secondary.main
9063 };
9064 });
9065 var InPaintingContent = function InPaintingContent(_ref3) {
9066 var editImage = _ref3.editImage,
9067 setMask = _ref3.setMask,
9068 canvasWidth = _ref3.width,
9069 canvasHeight = _ref3.height;
9070 var sketchRef = (0, _react.useRef)();
9071 var _useState = (0, _react.useState)(30),
9072 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
9073 stroke = _useState2[0],
9074 setStroke = _useState2[1];
9075 var brushCursorRef = (0, _react.useRef)();
9076 (0, _react.useEffect)(function () {
9077 var canvas = document.querySelector('.eui-in-painting-canvas');
9078
9079 // The BrushCursor should follow the mouse position but should stay only inside the canvas.
9080 var positionElement = function positionElement(e) {
9081 var _canvas$getBoundingCl = canvas.getBoundingClientRect(),
9082 left = _canvas$getBoundingCl.left,
9083 top = _canvas$getBoundingCl.top,
9084 width = _canvas$getBoundingCl.width,
9085 height = _canvas$getBoundingCl.height;
9086 var x = e.clientX - left;
9087 var y = e.clientY - top;
9088 if (x > 0 && x < width && y > 0 && y < height) {
9089 brushCursorRef.current.style.left = "".concat(x, "px");
9090 brushCursorRef.current.style.top = "".concat(y, "px");
9091 }
9092 };
9093 window.addEventListener('mousemove', positionElement);
9094 return function () {
9095 window.removeEventListener('mousemove', positionElement);
9096 };
9097 }, [stroke]);
9098 return /*#__PURE__*/_react.default.createElement(_ui.Stack, {
9099 alignItems: "flex-start",
9100 spacing: 0.5,
9101 flexGrow: 1
9102 }, /*#__PURE__*/_react.default.createElement(_ui.Stack, {
9103 width: "100%",
9104 direction: "row",
9105 spacing: 3,
9106 alignSelf: "center",
9107 justifyContent: "center",
9108 sx: {
9109 mb: 2.5
9110 }
9111 }, /*#__PURE__*/_react.default.createElement(_ui.Stack, {
9112 direction: "row",
9113 gap: 1
9114 }, /*#__PURE__*/_react.default.createElement(_ui.Tooltip, {
9115 title: (0, _i18n.__)('Undo', 'elementor')
9116 }, /*#__PURE__*/_react.default.createElement(_ui.Button, {
9117 variant: "outlined",
9118 color: "secondary",
9119 onClick: function onClick() {
9120 return sketchRef.current.undo();
9121 },
9122 sx: {
9123 px: 0
9124 }
9125 }, /*#__PURE__*/_react.default.createElement(StyledUndoIcon, null))), /*#__PURE__*/_react.default.createElement(_ui.Tooltip, {
9126 title: (0, _i18n.__)('Redo', 'elementor')
9127 }, /*#__PURE__*/_react.default.createElement(_ui.Button, {
9128 variant: "outlined",
9129 color: "secondary",
9130 onClick: function onClick() {
9131 return sketchRef.current.redo();
9132 },
9133 sx: {
9134 px: 0
9135 }
9136 }, /*#__PURE__*/_react.default.createElement(StyledRedoIcon, null)))), /*#__PURE__*/_react.default.createElement(_ui.FormControl, {
9137 size: "small",
9138 color: "secondary",
9139 sx: {
9140 minWidth: STROKE_SELECT_WIDTH
9141 }
9142 }, /*#__PURE__*/_react.default.createElement(_ui.InputLabel, {
9143 id: "stroke"
9144 }, "Stroke"), /*#__PURE__*/_react.default.createElement(_ui.Select, {
9145 autoWidth: true,
9146 label: "Stroke",
9147 value: stroke,
9148 id: "demo-simple-select",
9149 labelId: "demo-simple-select-label",
9150 onChange: function onChange(e) {
9151 return setStroke(e.target.value);
9152 },
9153 MenuProps: {
9154 PaperProps: {
9155 sx: {
9156 maxWidth: STROKE_SELECT_WIDTH
9157 }
9158 },
9159 MenuListProps: {
9160 sx: {
9161 minWidth: STROKE_SELECT_WIDTH
9162 }
9163 }
9164 },
9165 sx: {
9166 '& .MuiSelect-select .MuiListItemIcon-root': {
9167 mr: 0.25,
9168 width: 'initial',
9169 minWidth: 'initial',
9170 justifyContent: 'flex-start'
9171 }
9172 }
9173 }, [10, 20, 30, 40, 50].map(function (value) {
9174 return /*#__PURE__*/_react.default.createElement(_ui.MenuItem, {
9175 key: 'stroke-width-option-' + value,
9176 value: value
9177 }, /*#__PURE__*/_react.default.createElement(_ui.Stack, {
9178 direction: "row",
9179 alignItems: "center",
9180 gap: 1
9181 }, /*#__PURE__*/_react.default.createElement(_ui.ListItemIcon, {
9182 sx: {
9183 width: 30,
9184 display: 'flex',
9185 justifyContent: 'center'
9186 }
9187 }, /*#__PURE__*/_react.default.createElement(BrishSizeIcon, {
9188 size: value
9189 })), /*#__PURE__*/_react.default.createElement(_ui.ListItemText, null, value)));
9190 })))), /*#__PURE__*/_react.default.createElement("div", {
9191 style: {
9192 margin: '0 auto',
9193 position: 'relative',
9194 cursor: 'none',
9195 overflow: 'hidden'
9196 }
9197 }, /*#__PURE__*/_react.default.createElement(BrushCursor, {
9198 ref: brushCursorRef,
9199 size: stroke
9200 }), /*#__PURE__*/_react.default.createElement(_reactSketchCanvas.ReactSketchCanvas, {
9201 className: "eui-in-painting-canvas",
9202 withViewBox: true,
9203 ref: sketchRef,
9204 height: canvasHeight + 'px',
9205 width: canvasWidth + 'px',
9206 strokeWidth: stroke,
9207 strokeColor: BRUSH_COLOR,
9208 backgroundImage: editImage.url,
9209 onChange: /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
9210 var svg;
9211 return _regenerator.default.wrap(function _callee$(_context) {
9212 while (1) switch (_context.prev = _context.next) {
9213 case 0:
9214 _context.next = 2;
9215 return sketchRef.current.exportSvg();
9216 case 2:
9217 svg = _context.sent;
9218 setMask(svg);
9219 case 4:
9220 case "end":
9221 return _context.stop();
9222 }
9223 }, _callee);
9224 }))
9225 })));
9226 };
9227 InPaintingContent.propTypes = {
9228 setMask: _propTypes.default.func.isRequired,
9229 width: _propTypes.default.number.isRequired,
9230 height: _propTypes.default.number.isRequired,
9231 editImage: _propTypes.default.object.isRequired
9232 };
9233 var _default = InPaintingContent;
9234 exports["default"] = _default;
9235
9236 /***/ }),
9237
9238 /***/ "../modules/ai/assets/js/editor/pages/form-media/views/in-painting/index.js":
9239 /*!**********************************************************************************!*\
9240 !*** ../modules/ai/assets/js/editor/pages/form-media/views/in-painting/index.js ***!
9241 \**********************************************************************************/
9242 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
9243
9244 "use strict";
9245
9246
9247 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
9248 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
9249 Object.defineProperty(exports, "__esModule", ({
9250 value: true
9251 }));
9252 exports["default"] = void 0;
9253 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
9254 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
9255 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
9256 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
9257 var _view = _interopRequireDefault(__webpack_require__(/*! ../../components/view */ "../modules/ai/assets/js/editor/pages/form-media/components/view.js"));
9258 var _imageForm = _interopRequireDefault(__webpack_require__(/*! ../../components/image-form */ "../modules/ai/assets/js/editor/pages/form-media/components/image-form.js"));
9259 var _promptField = _interopRequireDefault(__webpack_require__(/*! ../../components/prompt-field */ "../modules/ai/assets/js/editor/pages/form-media/components/prompt-field.js"));
9260 var _inPaintingContent = _interopRequireDefault(__webpack_require__(/*! ./in-painting-content */ "../modules/ai/assets/js/editor/pages/form-media/views/in-painting/in-painting-content.js"));
9261 var _generateSubmit = _interopRequireDefault(__webpack_require__(/*! ../../components/generate-submit */ "../modules/ai/assets/js/editor/pages/form-media/components/generate-submit.js"));
9262 var _generateAgainSubmit = _interopRequireDefault(__webpack_require__(/*! ../../components/generate-again-submit */ "../modules/ai/assets/js/editor/pages/form-media/components/generate-again-submit.js"));
9263 var _newPromptButton = _interopRequireDefault(__webpack_require__(/*! ../../components/new-prompt-button */ "../modules/ai/assets/js/editor/pages/form-media/components/new-prompt-button.js"));
9264 var _imagesDisplay = _interopRequireDefault(__webpack_require__(/*! ../../components/images-display */ "../modules/ai/assets/js/editor/pages/form-media/components/images-display.js"));
9265 var _usePromptSettings2 = _interopRequireDefault(__webpack_require__(/*! ../../hooks/use-prompt-settings */ "../modules/ai/assets/js/editor/pages/form-media/hooks/use-prompt-settings.js"));
9266 var _useInPainting2 = _interopRequireDefault(__webpack_require__(/*! ./hooks/use-in-painting */ "../modules/ai/assets/js/editor/pages/form-media/views/in-painting/hooks/use-in-painting.js"));
9267 var _editImageContext = __webpack_require__(/*! ../../context/edit-image-context */ "../modules/ai/assets/js/editor/pages/form-media/context/edit-image-context.js");
9268 var _useImageActions2 = _interopRequireDefault(__webpack_require__(/*! ../../hooks/use-image-actions */ "../modules/ai/assets/js/editor/pages/form-media/hooks/use-image-actions.js"));
9269 var _requestsIds = __webpack_require__(/*! ../../../../context/requests-ids */ "../modules/ai/assets/js/editor/context/requests-ids.js");
9270 function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
9271 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; }
9272 var InPainting = function InPainting() {
9273 var _useState = (0, _react.useState)(''),
9274 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
9275 prompt = _useState2[0],
9276 setPrompt = _useState2[1];
9277 var _useRequestIds = (0, _requestsIds.useRequestIds)(),
9278 setGenerate = _useRequestIds.setGenerate;
9279 var _useState3 = (0, _react.useState)(''),
9280 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
9281 mask = _useState4[0],
9282 setMask = _useState4[1];
9283 var _usePromptSettings = (0, _usePromptSettings2.default)(),
9284 settings = _usePromptSettings.settings,
9285 resetSettings = _usePromptSettings.resetSettings;
9286 var _useEditImage = (0, _editImageContext.useEditImage)(),
9287 editImage = _useEditImage.editImage,
9288 width = _useEditImage.width,
9289 height = _useEditImage.height;
9290 var _useImageActions = (0, _useImageActions2.default)(),
9291 use = _useImageActions.use,
9292 edit = _useImageActions.edit,
9293 isUploading = _useImageActions.isLoading;
9294 var _useInPainting = (0, _useInPainting2.default)(),
9295 data = _useInPainting.data,
9296 send = _useInPainting.send,
9297 isGenerating = _useInPainting.isLoading,
9298 error = _useInPainting.error,
9299 reset = _useInPainting.reset;
9300 var isLoading = isGenerating || isUploading;
9301 var handleSubmit = function handleSubmit(event) {
9302 event.preventDefault();
9303
9304 // The fallback instruction should be hidden for the user.
9305 var finalPrompt = prompt || 'Remove object and fill based on the surroundings';
9306 setGenerate();
9307 send({
9308 prompt: finalPrompt,
9309 settings: settings,
9310 image: editImage,
9311 mask: mask
9312 });
9313 };
9314 return /*#__PURE__*/_react.default.createElement(_view.default, null, /*#__PURE__*/_react.default.createElement(_view.default.Panel, null, /*#__PURE__*/_react.default.createElement(_view.default.BackButton, null), /*#__PURE__*/_react.default.createElement(_view.default.PanelHeading, {
9315 primary: (0, _i18n.__)('Generative Fill', 'elementor'),
9316 secondary: (0, _i18n.__)('Mark an area and edit it with a prompt.', 'elementor')
9317 }), error && /*#__PURE__*/_react.default.createElement(_view.default.ErrorMessage, {
9318 error: error,
9319 onRetry: handleSubmit
9320 }), /*#__PURE__*/_react.default.createElement(_imageForm.default, {
9321 onSubmit: handleSubmit
9322 }, /*#__PURE__*/_react.default.createElement(_promptField.default, {
9323 value: prompt,
9324 disabled: isLoading,
9325 onChange: setPrompt,
9326 placeholder: (0, _i18n.__)('Describe what you want to generate in the marked area (English only)', 'elementor')
9327 }), data !== null && data !== void 0 && data.result ? /*#__PURE__*/_react.default.createElement(_ui.Stack, {
9328 gap: 2,
9329 sx: {
9330 my: 2.5
9331 }
9332 }, /*#__PURE__*/_react.default.createElement(_generateAgainSubmit.default, {
9333 disabled: isLoading
9334 }), /*#__PURE__*/_react.default.createElement(_newPromptButton.default, {
9335 disabled: isLoading,
9336 onClick: function onClick() {
9337 resetSettings();
9338 setPrompt('');
9339 reset();
9340 }
9341 })) : /*#__PURE__*/_react.default.createElement(_generateSubmit.default, {
9342 disabled: isLoading
9343 }))), /*#__PURE__*/_react.default.createElement(_view.default.Content, {
9344 isGenerating: isLoading
9345 }, data !== null && data !== void 0 && data.result ? /*#__PURE__*/_react.default.createElement(_imagesDisplay.default, {
9346 images: data.result,
9347 aspectRatio: editImage.aspectRatio,
9348 onUseImage: use,
9349 onEditImage: edit
9350 }) : /*#__PURE__*/_react.default.createElement(_inPaintingContent.default, {
9351 editImage: editImage,
9352 width: width,
9353 height: height,
9354 setMask: setMask
9355 })));
9356 };
9357 var _default = InPainting;
9358 exports["default"] = _default;
9359
9360 /***/ }),
9361
9362 /***/ "../modules/ai/assets/js/editor/pages/form-media/views/out-painting/hooks/use-out-painting.js":
9363 /*!****************************************************************************************************!*\
9364 !*** ../modules/ai/assets/js/editor/pages/form-media/views/out-painting/hooks/use-out-painting.js ***!
9365 \****************************************************************************************************/
9366 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
9367
9368 "use strict";
9369
9370
9371 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
9372 Object.defineProperty(exports, "__esModule", ({
9373 value: true
9374 }));
9375 exports["default"] = void 0;
9376 var _api = __webpack_require__(/*! ../../../../../api */ "../modules/ai/assets/js/editor/api/index.js");
9377 var _useImagePrompt = _interopRequireDefault(__webpack_require__(/*! ../../../hooks/use-image-prompt */ "../modules/ai/assets/js/editor/pages/form-media/hooks/use-image-prompt.js"));
9378 var useOutPainting = function useOutPainting(initialValue) {
9379 var fetchAction = function fetchAction(payload) {
9380 return (0, _api.getImageToImageOutPainting)(payload);
9381 };
9382 return (0, _useImagePrompt.default)(fetchAction, initialValue);
9383 };
9384 var _default = useOutPainting;
9385 exports["default"] = _default;
9386
9387 /***/ }),
9388
9389 /***/ "../modules/ai/assets/js/editor/pages/form-media/views/out-painting/index.js":
9390 /*!***********************************************************************************!*\
9391 !*** ../modules/ai/assets/js/editor/pages/form-media/views/out-painting/index.js ***!
9392 \***********************************************************************************/
9393 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
9394
9395 "use strict";
9396
9397
9398 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
9399 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
9400 Object.defineProperty(exports, "__esModule", ({
9401 value: true
9402 }));
9403 exports["default"] = void 0;
9404 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
9405 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
9406 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
9407 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
9408 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
9409 var _view = _interopRequireDefault(__webpack_require__(/*! ../../components/view */ "../modules/ai/assets/js/editor/pages/form-media/components/view.js"));
9410 var _imageForm = _interopRequireDefault(__webpack_require__(/*! ../../components/image-form */ "../modules/ai/assets/js/editor/pages/form-media/components/image-form.js"));
9411 var _imageRatioSelect = _interopRequireDefault(__webpack_require__(/*! ../../components/image-ratio-select */ "../modules/ai/assets/js/editor/pages/form-media/components/image-ratio-select.js"));
9412 var _generateSubmit = _interopRequireDefault(__webpack_require__(/*! ../../components/generate-submit */ "../modules/ai/assets/js/editor/pages/form-media/components/generate-submit.js"));
9413 var _generateAgainSubmit = _interopRequireDefault(__webpack_require__(/*! ../../components/generate-again-submit */ "../modules/ai/assets/js/editor/pages/form-media/components/generate-again-submit.js"));
9414 var _newPromptButton = _interopRequireDefault(__webpack_require__(/*! ../../components/new-prompt-button */ "../modules/ai/assets/js/editor/pages/form-media/components/new-prompt-button.js"));
9415 var _promptField = _interopRequireDefault(__webpack_require__(/*! ../../components/prompt-field */ "../modules/ai/assets/js/editor/pages/form-media/components/prompt-field.js"));
9416 var _outPaintingContent = _interopRequireDefault(__webpack_require__(/*! ./out-painting-content */ "../modules/ai/assets/js/editor/pages/form-media/views/out-painting/out-painting-content.js"));
9417 var _imagesDisplay = _interopRequireDefault(__webpack_require__(/*! ../../components/images-display */ "../modules/ai/assets/js/editor/pages/form-media/components/images-display.js"));
9418 var _editImageContext = __webpack_require__(/*! ../../context/edit-image-context */ "../modules/ai/assets/js/editor/pages/form-media/context/edit-image-context.js");
9419 var _useImageActions2 = _interopRequireDefault(__webpack_require__(/*! ../../hooks/use-image-actions */ "../modules/ai/assets/js/editor/pages/form-media/hooks/use-image-actions.js"));
9420 var _usePromptSettings2 = _interopRequireWildcard(__webpack_require__(/*! ../../hooks/use-prompt-settings */ "../modules/ai/assets/js/editor/pages/form-media/hooks/use-prompt-settings.js"));
9421 var _useOutPainting2 = _interopRequireDefault(__webpack_require__(/*! ./hooks/use-out-painting */ "../modules/ai/assets/js/editor/pages/form-media/views/out-painting/hooks/use-out-painting.js"));
9422 var _requestsIds = __webpack_require__(/*! ../../../../context/requests-ids */ "../modules/ai/assets/js/editor/context/requests-ids.js");
9423 function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
9424 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; }
9425 var OutPainting = function OutPainting() {
9426 var _useState = (0, _react.useState)(''),
9427 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
9428 prompt = _useState2[0],
9429 setPrompt = _useState2[1];
9430 var _useRequestIds = (0, _requestsIds.useRequestIds)(),
9431 setGenerate = _useRequestIds.setGenerate;
9432 var _useEditImage = (0, _editImageContext.useEditImage)(),
9433 editImage = _useEditImage.editImage,
9434 initialAspectRatio = _useEditImage.aspectRatio;
9435 var _useState3 = (0, _react.useState)(''),
9436 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
9437 mask = _useState4[0],
9438 setMask = _useState4[1];
9439 var _usePromptSettings = (0, _usePromptSettings2.default)({
9440 aspectRatio: initialAspectRatio
9441 }),
9442 settings = _usePromptSettings.settings,
9443 updateSettings = _usePromptSettings.updateSettings,
9444 resetSettings = _usePromptSettings.resetSettings;
9445 var _useImageActions = (0, _useImageActions2.default)(),
9446 use = _useImageActions.use,
9447 edit = _useImageActions.edit,
9448 isUploading = _useImageActions.isLoading;
9449 var _useOutPainting = (0, _useOutPainting2.default)(),
9450 data = _useOutPainting.data,
9451 send = _useOutPainting.send,
9452 isGenerating = _useOutPainting.isLoading,
9453 error = _useOutPainting.error,
9454 reset = _useOutPainting.reset;
9455 var isLoading = isGenerating || isUploading;
9456 var generatedAspectRatio = (0, _react.useMemo)(function () {
9457 return settings[_usePromptSettings2.IMAGE_RATIO];
9458 }, [data === null || data === void 0 ? void 0 : data.result]);
9459 var hasGeneratedResult = !!(data !== null && data !== void 0 && data.result);
9460 var handleSubmit = function handleSubmit(event) {
9461 event.preventDefault();
9462
9463 // The fallback instruction should be hidden for the user.
9464 var finalPrompt = prompt || 'Fill based on the surroundings';
9465 setGenerate();
9466 send({
9467 prompt: finalPrompt,
9468 settings: settings,
9469 image: editImage,
9470 mask: mask
9471 });
9472 };
9473 return /*#__PURE__*/_react.default.createElement(_view.default, null, /*#__PURE__*/_react.default.createElement(_view.default.Panel, null, /*#__PURE__*/_react.default.createElement(_view.default.BackButton, null), /*#__PURE__*/_react.default.createElement(_view.default.PanelHeading, {
9474 primary: (0, _i18n.__)('Expand Image', 'elementor'),
9475 secondary: (0, _i18n.__)('Position image in it’s new size to generate content around the edges.', 'elementor')
9476 }), error && /*#__PURE__*/_react.default.createElement(_view.default.ErrorMessage, {
9477 error: error,
9478 onRetry: handleSubmit
9479 }), /*#__PURE__*/_react.default.createElement(_imageForm.default, {
9480 onSubmit: handleSubmit
9481 }, /*#__PURE__*/_react.default.createElement(_imageRatioSelect.default, {
9482 disabled: isLoading || hasGeneratedResult,
9483 value: settings[_usePromptSettings2.IMAGE_RATIO],
9484 onChange: function onChange(event) {
9485 return updateSettings((0, _defineProperty2.default)({}, _usePromptSettings2.IMAGE_RATIO, event.target.value));
9486 }
9487 }), /*#__PURE__*/_react.default.createElement(_ui.FormControl, {
9488 sx: {
9489 width: '100%',
9490 mb: 2.5
9491 }
9492 }, /*#__PURE__*/_react.default.createElement(_ui.Slider, {
9493 marks: true,
9494 id: "zoom",
9495 name: "zoom",
9496 max: 2,
9497 min: 0.1,
9498 step: 0.1,
9499 color: "secondary",
9500 defaultValue: 1,
9501 disabled: isLoading || hasGeneratedResult,
9502 valueLabelDisplay: "auto",
9503 "aria-labelledby": "image-size-slider",
9504 "aria-label": (0, _i18n.__)('Reference strength', 'elementor'),
9505 onChange: function onChange(_, value) {
9506 return updateSettings((0, _defineProperty2.default)({}, _usePromptSettings2.IMAGE_ZOOM, value));
9507 }
9508 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
9509 id: "image-size-slider",
9510 variant: "caption",
9511 gutterBottom: true
9512 }, (0, _i18n.__)('Original image size', 'elementor'))), /*#__PURE__*/_react.default.createElement(_promptField.default, {
9513 value: prompt,
9514 disabled: isLoading,
9515 onChange: setPrompt,
9516 placeholder: (0, _i18n.__)('Describe what you want to generate in the expended area (English only)', 'elementor')
9517 }), data !== null && data !== void 0 && data.result ? /*#__PURE__*/_react.default.createElement(_ui.Stack, {
9518 gap: 2,
9519 sx: {
9520 my: 2.5
9521 }
9522 }, /*#__PURE__*/_react.default.createElement(_generateAgainSubmit.default, {
9523 disabled: isLoading
9524 }), /*#__PURE__*/_react.default.createElement(_newPromptButton.default, {
9525 disabled: isLoading,
9526 onClick: function onClick() {
9527 resetSettings();
9528 setPrompt('');
9529 reset();
9530 }
9531 })) : /*#__PURE__*/_react.default.createElement(_generateSubmit.default, {
9532 disabled: isLoading
9533 }))), /*#__PURE__*/_react.default.createElement(_view.default.Content, {
9534 isGenerating: isLoading
9535 }, hasGeneratedResult ? /*#__PURE__*/_react.default.createElement(_imagesDisplay.default, {
9536 onUseImage: use,
9537 onEditImage: edit,
9538 images: data.result,
9539 aspectRatio: generatedAspectRatio
9540 }) : /*#__PURE__*/_react.default.createElement(_outPaintingContent.default, {
9541 setMask: setMask,
9542 editImage: editImage,
9543 scale: settings[_usePromptSettings2.IMAGE_ZOOM],
9544 aspectRatio: settings[_usePromptSettings2.IMAGE_RATIO]
9545 })));
9546 };
9547 var _default = OutPainting;
9548 exports["default"] = _default;
9549
9550 /***/ }),
9551
9552 /***/ "../modules/ai/assets/js/editor/pages/form-media/views/out-painting/out-painting-content.js":
9553 /*!**************************************************************************************************!*\
9554 !*** ../modules/ai/assets/js/editor/pages/form-media/views/out-painting/out-painting-content.js ***!
9555 \**************************************************************************************************/
9556 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
9557
9558 "use strict";
9559
9560
9561 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
9562 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
9563 Object.defineProperty(exports, "__esModule", ({
9564 value: true
9565 }));
9566 exports["default"] = void 0;
9567 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
9568 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
9569 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
9570 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
9571 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
9572 var _reactAvatarEditor = _interopRequireDefault(__webpack_require__(/*! react-avatar-editor */ "../node_modules/react-avatar-editor/dist/index.js"));
9573 var _useImageSize2 = _interopRequireDefault(__webpack_require__(/*! ../../hooks/use-image-size */ "../modules/ai/assets/js/editor/pages/form-media/hooks/use-image-size.js"));
9574 function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
9575 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; }
9576 var OutPaintingContent = function OutPaintingContent(_ref) {
9577 var scale = _ref.scale,
9578 setMask = _ref.setMask,
9579 editImage = _ref.editImage,
9580 aspectRatio = _ref.aspectRatio;
9581 var cropperRef = (0, _react.useRef)();
9582 var _useImageSize = (0, _useImageSize2.default)(aspectRatio),
9583 width = _useImageSize.width,
9584 height = _useImageSize.height;
9585 var updateMask = /*#__PURE__*/function () {
9586 var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
9587 var imageDataURL;
9588 return _regenerator.default.wrap(function _callee$(_context) {
9589 while (1) switch (_context.prev = _context.next) {
9590 case 0:
9591 _context.next = 2;
9592 return cropperRef.current.getImageScaledToCanvas().toDataURL();
9593 case 2:
9594 imageDataURL = _context.sent;
9595 setMask(imageDataURL);
9596 case 4:
9597 case "end":
9598 return _context.stop();
9599 }
9600 }, _callee);
9601 }));
9602 return function updateMask() {
9603 return _ref2.apply(this, arguments);
9604 };
9605 }();
9606 return /*#__PURE__*/_react.default.createElement(_ui.Stack, {
9607 alignItems: 'center',
9608 spacing: 0.5,
9609 flexGrow: 1
9610 }, /*#__PURE__*/_react.default.createElement(_reactAvatarEditor.default, {
9611 ref: cropperRef,
9612 image: editImage.url,
9613 style: {
9614 backgroundImage: 'linear-gradient(45deg, #bbb 25%, transparent 25%), linear-gradient(-45deg, #bbb 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #bbb 75%), linear-gradient(-45deg, transparent 75%, #bbb 75%)',
9615 backgroundSize: '20px 20px',
9616 backgroundPosition: '0 0, 0 10px, 10px -10px, -10px 0px',
9617 outline: '2px dashed #000',
9618 marginTop: '12px'
9619 },
9620 color: [0, 0, 0, 0.9],
9621 rotate: 0,
9622 border: 0,
9623 allowZoomOut: true,
9624 backgroundColor: 'transparent',
9625 showGrid: true,
9626 onImageChange: function onImageChange() {
9627 return updateMask();
9628 },
9629 onPositionChange: function onPositionChange() {
9630 return updateMask();
9631 },
9632 width: width,
9633 height: height,
9634 scale: scale
9635 }));
9636 };
9637 OutPaintingContent.propTypes = {
9638 scale: _propTypes.default.number.isRequired,
9639 setMask: _propTypes.default.func.isRequired,
9640 editImage: _propTypes.default.object.isRequired,
9641 aspectRatio: _propTypes.default.string.isRequired
9642 };
9643 var _default = OutPaintingContent;
9644 exports["default"] = _default;
9645
9646 /***/ }),
9647
9648 /***/ "../modules/ai/assets/js/editor/pages/form-media/views/remove-background/hooks/use-remove-background.js":
9649 /*!**************************************************************************************************************!*\
9650 !*** ../modules/ai/assets/js/editor/pages/form-media/views/remove-background/hooks/use-remove-background.js ***!
9651 \**************************************************************************************************************/
9652 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
9653
9654 "use strict";
9655
9656
9657 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
9658 Object.defineProperty(exports, "__esModule", ({
9659 value: true
9660 }));
9661 exports["default"] = void 0;
9662 var _api = __webpack_require__(/*! ../../../../../api */ "../modules/ai/assets/js/editor/api/index.js");
9663 var _useImagePrompt = _interopRequireDefault(__webpack_require__(/*! ../../../hooks/use-image-prompt */ "../modules/ai/assets/js/editor/pages/form-media/hooks/use-image-prompt.js"));
9664 var useRemoveBackground = function useRemoveBackground(initialValue) {
9665 var fetchAction = function fetchAction(payload) {
9666 return (0, _api.getImageToImageRemoveBackground)(payload);
9667 };
9668 return (0, _useImagePrompt.default)(fetchAction, initialValue);
9669 };
9670 var _default = useRemoveBackground;
9671 exports["default"] = _default;
9672
9673 /***/ }),
9674
9675 /***/ "../modules/ai/assets/js/editor/pages/form-media/views/remove-background/index.js":
9676 /*!****************************************************************************************!*\
9677 !*** ../modules/ai/assets/js/editor/pages/form-media/views/remove-background/index.js ***!
9678 \****************************************************************************************/
9679 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
9680
9681 "use strict";
9682
9683
9684 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
9685 Object.defineProperty(exports, "__esModule", ({
9686 value: true
9687 }));
9688 exports["default"] = void 0;
9689 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
9690 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
9691 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
9692 var _view = _interopRequireDefault(__webpack_require__(/*! ../../components/view */ "../modules/ai/assets/js/editor/pages/form-media/components/view.js"));
9693 var _generateSubmit = _interopRequireDefault(__webpack_require__(/*! ../../components/generate-submit */ "../modules/ai/assets/js/editor/pages/form-media/components/generate-submit.js"));
9694 var _imageForm = _interopRequireDefault(__webpack_require__(/*! ../../components/image-form */ "../modules/ai/assets/js/editor/pages/form-media/components/image-form.js"));
9695 var _imagesDisplay = _interopRequireDefault(__webpack_require__(/*! ../../components/images-display */ "../modules/ai/assets/js/editor/pages/form-media/components/images-display.js"));
9696 var _singleImagePreview = _interopRequireDefault(__webpack_require__(/*! ../../components/single-image-preview */ "../modules/ai/assets/js/editor/pages/form-media/components/single-image-preview.js"));
9697 var _editImageContext = __webpack_require__(/*! ../../context/edit-image-context */ "../modules/ai/assets/js/editor/pages/form-media/context/edit-image-context.js");
9698 var _useImageActions2 = _interopRequireDefault(__webpack_require__(/*! ../../hooks/use-image-actions */ "../modules/ai/assets/js/editor/pages/form-media/hooks/use-image-actions.js"));
9699 var _useRemoveBackground2 = _interopRequireDefault(__webpack_require__(/*! ./hooks/use-remove-background */ "../modules/ai/assets/js/editor/pages/form-media/views/remove-background/hooks/use-remove-background.js"));
9700 var _newPromptButton = _interopRequireDefault(__webpack_require__(/*! ../../components/new-prompt-button */ "../modules/ai/assets/js/editor/pages/form-media/components/new-prompt-button.js"));
9701 var _constants = __webpack_require__(/*! ../../constants */ "../modules/ai/assets/js/editor/pages/form-media/constants/index.js");
9702 var _locationContext = __webpack_require__(/*! ../../context/location-context */ "../modules/ai/assets/js/editor/pages/form-media/context/location-context.js");
9703 var _useImageSize2 = _interopRequireDefault(__webpack_require__(/*! ../../hooks/use-image-size */ "../modules/ai/assets/js/editor/pages/form-media/hooks/use-image-size.js"));
9704 var _requestsIds = __webpack_require__(/*! ../../../../context/requests-ids */ "../modules/ai/assets/js/editor/context/requests-ids.js");
9705 var RemoveBackground = function RemoveBackground() {
9706 var _useEditImage = (0, _editImageContext.useEditImage)(),
9707 editImage = _useEditImage.editImage;
9708 var _useRequestIds = (0, _requestsIds.useRequestIds)(),
9709 setGenerate = _useRequestIds.setGenerate;
9710 var _useImageActions = (0, _useImageActions2.default)(),
9711 use = _useImageActions.use,
9712 edit = _useImageActions.edit,
9713 isUploading = _useImageActions.isLoading;
9714 var _useRemoveBackground = (0, _useRemoveBackground2.default)(),
9715 data = _useRemoveBackground.data,
9716 send = _useRemoveBackground.send,
9717 isGenerating = _useRemoveBackground.isLoading,
9718 error = _useRemoveBackground.error;
9719 var _useLocation = (0, _locationContext.useLocation)(),
9720 navigate = _useLocation.navigate;
9721 var isLoading = isGenerating || isUploading;
9722 var _useImageSize = (0, _useImageSize2.default)(editImage.aspectRatio),
9723 width = _useImageSize.width,
9724 height = _useImageSize.height;
9725 var handleSubmit = function handleSubmit(event) {
9726 event.preventDefault();
9727 setGenerate();
9728 send({
9729 image: editImage
9730 });
9731 };
9732 return /*#__PURE__*/_react.default.createElement(_view.default, null, /*#__PURE__*/_react.default.createElement(_view.default.Panel, null, /*#__PURE__*/_react.default.createElement(_view.default.BackButton, null), /*#__PURE__*/_react.default.createElement(_view.default.PanelHeading, {
9733 primary: (0, _i18n.__)('Remove Background', 'elementor'),
9734 secondary: (0, _i18n.__)('Create an image of the subject with a transparent background', 'elementor')
9735 }), error && /*#__PURE__*/_react.default.createElement(_view.default.ErrorMessage, {
9736 error: error,
9737 onRetry: handleSubmit
9738 }), /*#__PURE__*/_react.default.createElement(_imageForm.default, {
9739 onSubmit: handleSubmit
9740 }, data !== null && data !== void 0 && data.result ? /*#__PURE__*/_react.default.createElement(_newPromptButton.default, {
9741 variant: "contained",
9742 disabled: isLoading,
9743 onClick: function onClick() {
9744 return navigate(_constants.LOCATIONS.GENERATE);
9745 }
9746 }) : /*#__PURE__*/_react.default.createElement(_generateSubmit.default, {
9747 disabled: isLoading
9748 }, (0, _i18n.__)('Remove Background', 'elementor')))), /*#__PURE__*/_react.default.createElement(_view.default.Content, {
9749 isGenerating: isLoading
9750 }, data !== null && data !== void 0 && data.result ? /*#__PURE__*/_react.default.createElement(_ui.Box, null, /*#__PURE__*/_react.default.createElement(_imagesDisplay.default, {
9751 transparentContainer: true,
9752 onUseImage: use,
9753 onEditImage: edit,
9754 images: data.result,
9755 aspectRatio: editImage.aspectRatio
9756 })) : /*#__PURE__*/_react.default.createElement(_ui.Box, null, /*#__PURE__*/_react.default.createElement(_singleImagePreview.default, null, /*#__PURE__*/_react.default.createElement(_singleImagePreview.default.Image, {
9757 src: editImage.url,
9758 alt: editImage.alt,
9759 style: {
9760 width: width,
9761 height: height
9762 }
9763 })))));
9764 };
9765 var _default = RemoveBackground;
9766 exports["default"] = _default;
9767
9768 /***/ }),
9769
9770 /***/ "../modules/ai/assets/js/editor/pages/form-media/views/replace-background/hooks/use-replace-background.js":
9771 /*!****************************************************************************************************************!*\
9772 !*** ../modules/ai/assets/js/editor/pages/form-media/views/replace-background/hooks/use-replace-background.js ***!
9773 \****************************************************************************************************************/
9774 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
9775
9776 "use strict";
9777
9778
9779 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
9780 Object.defineProperty(exports, "__esModule", ({
9781 value: true
9782 }));
9783 exports["default"] = void 0;
9784 var _api = __webpack_require__(/*! ../../../../../api */ "../modules/ai/assets/js/editor/api/index.js");
9785 var _useImagePrompt = _interopRequireDefault(__webpack_require__(/*! ../../../hooks/use-image-prompt */ "../modules/ai/assets/js/editor/pages/form-media/hooks/use-image-prompt.js"));
9786 var useReplaceBackground = function useReplaceBackground(initialValue) {
9787 var fetchAction = function fetchAction(payload) {
9788 return (0, _api.getImageToImageReplaceBackground)(payload);
9789 };
9790 return (0, _useImagePrompt.default)(fetchAction, initialValue);
9791 };
9792 var _default = useReplaceBackground;
9793 exports["default"] = _default;
9794
9795 /***/ }),
9796
9797 /***/ "../modules/ai/assets/js/editor/pages/form-media/views/replace-background/index.js":
9798 /*!*****************************************************************************************!*\
9799 !*** ../modules/ai/assets/js/editor/pages/form-media/views/replace-background/index.js ***!
9800 \*****************************************************************************************/
9801 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
9802
9803 "use strict";
9804
9805
9806 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
9807 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
9808 Object.defineProperty(exports, "__esModule", ({
9809 value: true
9810 }));
9811 exports["default"] = void 0;
9812 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
9813 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
9814 var _view = _interopRequireDefault(__webpack_require__(/*! ../../components/view */ "../modules/ai/assets/js/editor/pages/form-media/components/view.js"));
9815 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
9816 var _generateSubmit = _interopRequireDefault(__webpack_require__(/*! ../../components/generate-submit */ "../modules/ai/assets/js/editor/pages/form-media/components/generate-submit.js"));
9817 var _imageForm = _interopRequireDefault(__webpack_require__(/*! ../../components/image-form */ "../modules/ai/assets/js/editor/pages/form-media/components/image-form.js"));
9818 var _imagesDisplay = _interopRequireDefault(__webpack_require__(/*! ../../components/images-display */ "../modules/ai/assets/js/editor/pages/form-media/components/images-display.js"));
9819 var _singleImagePreview = _interopRequireDefault(__webpack_require__(/*! ../../components/single-image-preview */ "../modules/ai/assets/js/editor/pages/form-media/components/single-image-preview.js"));
9820 var _editImageContext = __webpack_require__(/*! ../../context/edit-image-context */ "../modules/ai/assets/js/editor/pages/form-media/context/edit-image-context.js");
9821 var _useImageActions2 = _interopRequireDefault(__webpack_require__(/*! ../../hooks/use-image-actions */ "../modules/ai/assets/js/editor/pages/form-media/hooks/use-image-actions.js"));
9822 var _useReplaceBackground2 = _interopRequireDefault(__webpack_require__(/*! ./hooks/use-replace-background */ "../modules/ai/assets/js/editor/pages/form-media/views/replace-background/hooks/use-replace-background.js"));
9823 var _promptField = _interopRequireDefault(__webpack_require__(/*! ../../components/prompt-field */ "../modules/ai/assets/js/editor/pages/form-media/components/prompt-field.js"));
9824 var _constants = __webpack_require__(/*! ../../constants */ "../modules/ai/assets/js/editor/pages/form-media/constants/index.js");
9825 var _newPromptButton = _interopRequireDefault(__webpack_require__(/*! ../../components/new-prompt-button */ "../modules/ai/assets/js/editor/pages/form-media/components/new-prompt-button.js"));
9826 var _locationContext = __webpack_require__(/*! ../../context/location-context */ "../modules/ai/assets/js/editor/pages/form-media/context/location-context.js");
9827 var _requestsIds = __webpack_require__(/*! ../../../../context/requests-ids */ "../modules/ai/assets/js/editor/context/requests-ids.js");
9828 function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
9829 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; }
9830 var ReplaceBackground = function ReplaceBackground() {
9831 var _useState = (0, _react.useState)(''),
9832 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
9833 prompt = _useState2[0],
9834 setPrompt = _useState2[1];
9835 var _useRequestIds = (0, _requestsIds.useRequestIds)(),
9836 setGenerate = _useRequestIds.setGenerate;
9837 var _useEditImage = (0, _editImageContext.useEditImage)(),
9838 editImage = _useEditImage.editImage;
9839 var _useImageActions = (0, _useImageActions2.default)(),
9840 use = _useImageActions.use,
9841 edit = _useImageActions.edit,
9842 isUploading = _useImageActions.isLoading;
9843 var _useReplaceBackground = (0, _useReplaceBackground2.default)(),
9844 data = _useReplaceBackground.data,
9845 send = _useReplaceBackground.send,
9846 isGenerating = _useReplaceBackground.isLoading,
9847 error = _useReplaceBackground.error;
9848 var _useLocation = (0, _locationContext.useLocation)(),
9849 navigate = _useLocation.navigate;
9850 var isLoading = isGenerating || isUploading;
9851 var handleSubmit = function handleSubmit(event) {
9852 event.preventDefault();
9853 setGenerate();
9854 send({
9855 prompt: prompt,
9856 image: editImage
9857 });
9858 };
9859 return /*#__PURE__*/_react.default.createElement(_view.default, null, /*#__PURE__*/_react.default.createElement(_view.default.Panel, null, /*#__PURE__*/_react.default.createElement(_view.default.BackButton, null), /*#__PURE__*/_react.default.createElement(_view.default.PanelHeading, {
9860 primary: (0, _i18n.__)('Replace Background', 'elementor'),
9861 secondary: (0, _i18n.__)('Generate a new background with a prompt.', 'elementor')
9862 }), error && /*#__PURE__*/_react.default.createElement(_view.default.ErrorMessage, {
9863 error: error,
9864 onRetry: handleSubmit
9865 }), /*#__PURE__*/_react.default.createElement(_imageForm.default, {
9866 onSubmit: handleSubmit
9867 }, /*#__PURE__*/_react.default.createElement(_promptField.default, {
9868 value: prompt,
9869 disabled: isLoading,
9870 onChange: setPrompt,
9871 placeholder: (0, _i18n.__)('Describe what you want to generate in the background (English only)', 'elementor')
9872 }), /*#__PURE__*/_react.default.createElement(_generateSubmit.default, {
9873 disabled: isLoading || '' === prompt,
9874 color: data !== null && data !== void 0 && data.result ? 'secondary' : 'primary'
9875 }, data !== null && data !== void 0 && data.result ? (0, _i18n.__)('Generate Again', 'elementor') : (0, _i18n.__)('Replace Background', 'elementor')), (data === null || data === void 0 ? void 0 : data.result) && /*#__PURE__*/_react.default.createElement(_newPromptButton.default, {
9876 disabled: isLoading,
9877 onClick: function onClick() {
9878 return navigate(_constants.LOCATIONS.GENERATE);
9879 }
9880 }))), /*#__PURE__*/_react.default.createElement(_view.default.Content, {
9881 isGenerating: isLoading
9882 }, data !== null && data !== void 0 && data.result ? /*#__PURE__*/_react.default.createElement(_imagesDisplay.default, {
9883 onUseImage: use,
9884 onEditImage: edit,
9885 images: data.result,
9886 aspectRatio: editImage.aspectRatio
9887 }) : /*#__PURE__*/_react.default.createElement(_singleImagePreview.default, null, /*#__PURE__*/_react.default.createElement(_singleImagePreview.default.Image, {
9888 src: editImage.url,
9889 alt: editImage.alt,
9890 style: {
9891 width: editImage.width,
9892 height: editImage.height
9893 }
9894 }))));
9895 };
9896 var _default = ReplaceBackground;
9897 exports["default"] = _default;
9898
9899 /***/ }),
9900
9901 /***/ "../modules/ai/assets/js/editor/pages/form-media/views/resize/hooks/use-resize.js":
9902 /*!****************************************************************************************!*\
9903 !*** ../modules/ai/assets/js/editor/pages/form-media/views/resize/hooks/use-resize.js ***!
9904 \****************************************************************************************/
9905 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
9906
9907 "use strict";
9908
9909
9910 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
9911 Object.defineProperty(exports, "__esModule", ({
9912 value: true
9913 }));
9914 exports["default"] = void 0;
9915 var _api = __webpack_require__(/*! ../../../../../api */ "../modules/ai/assets/js/editor/api/index.js");
9916 var _useImagePrompt = _interopRequireDefault(__webpack_require__(/*! ../../../hooks/use-image-prompt */ "../modules/ai/assets/js/editor/pages/form-media/hooks/use-image-prompt.js"));
9917 var useResize = function useResize(initialValue) {
9918 var fetchAction = function fetchAction(payload) {
9919 return (0, _api.getImageToImageUpscale)(payload);
9920 };
9921 return (0, _useImagePrompt.default)(fetchAction, initialValue);
9922 };
9923 var _default = useResize;
9924 exports["default"] = _default;
9925
9926 /***/ }),
9927
9928 /***/ "../modules/ai/assets/js/editor/pages/form-media/views/resize/index.js":
9929 /*!*****************************************************************************!*\
9930 !*** ../modules/ai/assets/js/editor/pages/form-media/views/resize/index.js ***!
9931 \*****************************************************************************/
9932 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
9933
9934 "use strict";
9935
9936
9937 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
9938 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
9939 Object.defineProperty(exports, "__esModule", ({
9940 value: true
9941 }));
9942 exports["default"] = void 0;
9943 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
9944 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
9945 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
9946 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
9947 var _view = _interopRequireDefault(__webpack_require__(/*! ../../components/view */ "../modules/ai/assets/js/editor/pages/form-media/components/view.js"));
9948 var _generateSubmit = _interopRequireDefault(__webpack_require__(/*! ../../components/generate-submit */ "../modules/ai/assets/js/editor/pages/form-media/components/generate-submit.js"));
9949 var _imageForm = _interopRequireDefault(__webpack_require__(/*! ../../components/image-form */ "../modules/ai/assets/js/editor/pages/form-media/components/image-form.js"));
9950 var _imagesDisplay = _interopRequireDefault(__webpack_require__(/*! ../../components/images-display */ "../modules/ai/assets/js/editor/pages/form-media/components/images-display.js"));
9951 var _singleImagePreview = _interopRequireDefault(__webpack_require__(/*! ../../components/single-image-preview */ "../modules/ai/assets/js/editor/pages/form-media/components/single-image-preview.js"));
9952 var _editImageContext = __webpack_require__(/*! ../../context/edit-image-context */ "../modules/ai/assets/js/editor/pages/form-media/context/edit-image-context.js");
9953 var _useResize2 = _interopRequireDefault(__webpack_require__(/*! ./hooks/use-resize */ "../modules/ai/assets/js/editor/pages/form-media/views/resize/hooks/use-resize.js"));
9954 var _useImageActions2 = _interopRequireDefault(__webpack_require__(/*! ../../hooks/use-image-actions */ "../modules/ai/assets/js/editor/pages/form-media/hooks/use-image-actions.js"));
9955 var _usePromptSettings2 = _interopRequireWildcard(__webpack_require__(/*! ../../hooks/use-prompt-settings */ "../modules/ai/assets/js/editor/pages/form-media/hooks/use-prompt-settings.js"));
9956 var _requestsIds = __webpack_require__(/*! ../../../../context/requests-ids */ "../modules/ai/assets/js/editor/context/requests-ids.js");
9957 function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
9958 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; }
9959 var Resize = function Resize() {
9960 var _useEditImage = (0, _editImageContext.useEditImage)(),
9961 editImage = _useEditImage.editImage,
9962 initialEditImageWidth = _useEditImage.width;
9963 var _useRequestIds = (0, _requestsIds.useRequestIds)(),
9964 setGenerate = _useRequestIds.setGenerate;
9965 var _useImageActions = (0, _useImageActions2.default)(),
9966 use = _useImageActions.use,
9967 edit = _useImageActions.edit,
9968 isUploading = _useImageActions.isLoading;
9969 var _usePromptSettings = (0, _usePromptSettings2.default)(),
9970 settings = _usePromptSettings.settings,
9971 updateSettings = _usePromptSettings.updateSettings;
9972 var _useResize = (0, _useResize2.default)(),
9973 data = _useResize.data,
9974 send = _useResize.send,
9975 isGenerating = _useResize.isLoading,
9976 error = _useResize.error;
9977 var isLoading = isGenerating || isUploading;
9978 var handleSubmit = function handleSubmit(event) {
9979 event.preventDefault();
9980 setGenerate();
9981 send({
9982 promptSettings: settings,
9983 image: editImage
9984 });
9985 };
9986 return /*#__PURE__*/_react.default.createElement(_view.default, null, /*#__PURE__*/_react.default.createElement(_view.default.Panel, null, /*#__PURE__*/_react.default.createElement(_view.default.BackButton, null), /*#__PURE__*/_react.default.createElement(_view.default.PanelHeading, {
9987 primary: (0, _i18n.__)('Resize', 'elementor'),
9988 secondary: (0, _i18n.__)('Make an image larger and improve it’s resolution.', 'elementor')
9989 }), error && /*#__PURE__*/_react.default.createElement(_view.default.ErrorMessage, {
9990 error: error,
9991 onRetry: handleSubmit
9992 }), /*#__PURE__*/_react.default.createElement(_imageForm.default, {
9993 onSubmit: handleSubmit
9994 }, /*#__PURE__*/_react.default.createElement(_ui.Stack, {
9995 spacing: 0.2
9996 }, /*#__PURE__*/_react.default.createElement(_ui.Box, {
9997 display: "flex",
9998 justifyContent: "space-between",
9999 alignItems: "center"
10000 }, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
10001 variant: "caption"
10002 }, "512px"), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
10003 variant: "caption"
10004 }, "2048px")), /*#__PURE__*/_react.default.createElement(_ui.Slider, {
10005 marks: true,
10006 step: 64,
10007 min: 512,
10008 max: 2048,
10009 id: "upscale_to",
10010 color: "secondary",
10011 name: "upscale_to",
10012 disabled: isLoading,
10013 defaultValue: initialEditImageWidth,
10014 valueLabelDisplay: "auto",
10015 "aria-label": (0, _i18n.__)('Upscale to', 'elementor'),
10016 onChange: function onChange(_, value) {
10017 return updateSettings((0, _defineProperty2.default)({}, _usePromptSettings2.IMAGE_UPSCALE, value));
10018 }
10019 }), /*#__PURE__*/_react.default.createElement(_ui.Box, {
10020 display: "flex",
10021 justifyContent: "space-between",
10022 alignItems: "center"
10023 }, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
10024 variant: "caption"
10025 }, (0, _i18n.__)('Current', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
10026 variant: "caption"
10027 }, (0, _i18n.__)('Output', 'elementor')))), /*#__PURE__*/_react.default.createElement(_generateSubmit.default, {
10028 disabled: isLoading
10029 }))), /*#__PURE__*/_react.default.createElement(_view.default.Content, {
10030 isGenerating: isLoading
10031 }, data !== null && data !== void 0 && data.result ? /*#__PURE__*/_react.default.createElement(_imagesDisplay.default, {
10032 onUseImage: use,
10033 onEditImage: edit,
10034 images: data.result,
10035 aspectRatio: editImage.aspectRatio
10036 }) : /*#__PURE__*/_react.default.createElement(_singleImagePreview.default, null, /*#__PURE__*/_react.default.createElement(_singleImagePreview.default.Image, {
10037 src: editImage.url,
10038 alt: editImage.alt,
10039 style: {
10040 width: editImage.width,
10041 height: editImage.height
10042 }
10043 }))));
10044 };
10045 var _default = Resize;
10046 exports["default"] = _default;
10047
10048 /***/ }),
10049
10050 /***/ "../modules/ai/assets/js/editor/pages/form-media/views/variations/components/variations-placeholder.js":
10051 /*!*************************************************************************************************************!*\
10052 !*** ../modules/ai/assets/js/editor/pages/form-media/views/variations/components/variations-placeholder.js ***!
10053 \*************************************************************************************************************/
10054 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
10055
10056 "use strict";
10057
10058
10059 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
10060 Object.defineProperty(exports, "__esModule", ({
10061 value: true
10062 }));
10063 exports["default"] = void 0;
10064 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
10065 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
10066 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
10067 var VariationsPlaceholder = function VariationsPlaceholder() {
10068 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
10069 sx: {
10070 overflowY: 'scroll'
10071 },
10072 flexGrow: 1
10073 }, /*#__PURE__*/_react.default.createElement(_ui.Box, {
10074 display: "grid",
10075 gridTemplateColumns: "repeat(2, 1fr)",
10076 gap: 3
10077 }, Array(4).fill(true).map(function (_, index) {
10078 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
10079 key: "placeholder-".concat(index),
10080 display: "flex",
10081 justifyContent: "center",
10082 alignItems: "center",
10083 sx: {
10084 bgcolor: 'action.selected',
10085 height: 336
10086 }
10087 }, /*#__PURE__*/_react.default.createElement(_icons.AIIcon, {
10088 color: "secondary",
10089 sx: {
10090 fontSize: 36
10091 }
10092 }));
10093 })));
10094 };
10095 VariationsPlaceholder.propTypes = {};
10096 var _default = VariationsPlaceholder;
10097 exports["default"] = _default;
10098
10099 /***/ }),
10100
10101 /***/ "../modules/ai/assets/js/editor/pages/form-media/views/variations/hooks/use-image-to-image.js":
10102 /*!****************************************************************************************************!*\
10103 !*** ../modules/ai/assets/js/editor/pages/form-media/views/variations/hooks/use-image-to-image.js ***!
10104 \****************************************************************************************************/
10105 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
10106
10107 "use strict";
10108
10109
10110 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
10111 Object.defineProperty(exports, "__esModule", ({
10112 value: true
10113 }));
10114 exports["default"] = void 0;
10115 var _api = __webpack_require__(/*! ../../../../../api */ "../modules/ai/assets/js/editor/api/index.js");
10116 var _useImagePrompt = _interopRequireDefault(__webpack_require__(/*! ../../../hooks/use-image-prompt */ "../modules/ai/assets/js/editor/pages/form-media/hooks/use-image-prompt.js"));
10117 var useImageToImage = function useImageToImage(initialValue) {
10118 var fetchAction = function fetchAction(payload) {
10119 return (0, _api.getImageToImageGeneration)(payload);
10120 };
10121 return (0, _useImagePrompt.default)(fetchAction, initialValue);
10122 };
10123 var _default = useImageToImage;
10124 exports["default"] = _default;
10125
10126 /***/ }),
10127
10128 /***/ "../modules/ai/assets/js/editor/pages/form-media/views/variations/index.js":
10129 /*!*********************************************************************************!*\
10130 !*** ../modules/ai/assets/js/editor/pages/form-media/views/variations/index.js ***!
10131 \*********************************************************************************/
10132 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
10133
10134 "use strict";
10135
10136
10137 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
10138 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
10139 Object.defineProperty(exports, "__esModule", ({
10140 value: true
10141 }));
10142 exports["default"] = void 0;
10143 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
10144 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
10145 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
10146 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
10147 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
10148 var _view = _interopRequireDefault(__webpack_require__(/*! ../../components/view */ "../modules/ai/assets/js/editor/pages/form-media/components/view.js"));
10149 var _imageForm = _interopRequireDefault(__webpack_require__(/*! ../../components/image-form */ "../modules/ai/assets/js/editor/pages/form-media/components/image-form.js"));
10150 var _imageStrengthSlider = _interopRequireDefault(__webpack_require__(/*! ../../components/image-strength-slider */ "../modules/ai/assets/js/editor/pages/form-media/components/image-strength-slider.js"));
10151 var _promptField = _interopRequireDefault(__webpack_require__(/*! ../../components/prompt-field */ "../modules/ai/assets/js/editor/pages/form-media/components/prompt-field.js"));
10152 var _imageTypeSelect = _interopRequireDefault(__webpack_require__(/*! ../../components/image-type-select */ "../modules/ai/assets/js/editor/pages/form-media/components/image-type-select.js"));
10153 var _imageStyleSelect = _interopRequireDefault(__webpack_require__(/*! ../../components/image-style-select */ "../modules/ai/assets/js/editor/pages/form-media/components/image-style-select.js"));
10154 var _imageRatioSelect = _interopRequireDefault(__webpack_require__(/*! ../../components/image-ratio-select */ "../modules/ai/assets/js/editor/pages/form-media/components/image-ratio-select.js"));
10155 var _generateAgainSubmit = _interopRequireDefault(__webpack_require__(/*! ../../components/generate-again-submit */ "../modules/ai/assets/js/editor/pages/form-media/components/generate-again-submit.js"));
10156 var _generateImagesSubmit = _interopRequireDefault(__webpack_require__(/*! ../../components/generate-images-submit */ "../modules/ai/assets/js/editor/pages/form-media/components/generate-images-submit.js"));
10157 var _imagesDisplay = _interopRequireDefault(__webpack_require__(/*! ../../components/images-display */ "../modules/ai/assets/js/editor/pages/form-media/components/images-display.js"));
10158 var _variationsPlaceholder = _interopRequireDefault(__webpack_require__(/*! ./components/variations-placeholder */ "../modules/ai/assets/js/editor/pages/form-media/views/variations/components/variations-placeholder.js"));
10159 var _useImageToImage2 = _interopRequireDefault(__webpack_require__(/*! ./hooks/use-image-to-image */ "../modules/ai/assets/js/editor/pages/form-media/views/variations/hooks/use-image-to-image.js"));
10160 var _useImageActions2 = _interopRequireDefault(__webpack_require__(/*! ../../hooks/use-image-actions */ "../modules/ai/assets/js/editor/pages/form-media/hooks/use-image-actions.js"));
10161 var _editImageContext = __webpack_require__(/*! ../../context/edit-image-context */ "../modules/ai/assets/js/editor/pages/form-media/context/edit-image-context.js");
10162 var _usePromptSettings2 = _interopRequireWildcard(__webpack_require__(/*! ../../hooks/use-prompt-settings */ "../modules/ai/assets/js/editor/pages/form-media/hooks/use-prompt-settings.js"));
10163 var _requestsIds = __webpack_require__(/*! ../../../../context/requests-ids */ "../modules/ai/assets/js/editor/context/requests-ids.js");
10164 function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
10165 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; }
10166 var IMAGE_WEIGHT_DEFAULT = 45;
10167 var Variations = function Variations() {
10168 var _data$result;
10169 var _useState = (0, _react.useState)(''),
10170 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
10171 prompt = _useState2[0],
10172 setPrompt = _useState2[1];
10173 var _useRequestIds = (0, _requestsIds.useRequestIds)(),
10174 setGenerate = _useRequestIds.setGenerate;
10175 var _useEditImage = (0, _editImageContext.useEditImage)(),
10176 editImage = _useEditImage.editImage,
10177 initialAspectRatio = _useEditImage.aspectRatio;
10178 var _usePromptSettings = (0, _usePromptSettings2.default)({
10179 aspectRatio: initialAspectRatio,
10180 imageWeight: IMAGE_WEIGHT_DEFAULT
10181 }),
10182 settings = _usePromptSettings.settings,
10183 updateSettings = _usePromptSettings.updateSettings;
10184 var _useImageToImage = (0, _useImageToImage2.default)(),
10185 data = _useImageToImage.data,
10186 send = _useImageToImage.send,
10187 isGenerating = _useImageToImage.isLoading,
10188 error = _useImageToImage.error;
10189 var _useImageActions = (0, _useImageActions2.default)(),
10190 use = _useImageActions.use,
10191 edit = _useImageActions.edit,
10192 isUploading = _useImageActions.isLoading;
10193 var isLoading = isGenerating || isUploading;
10194 var generatedAspectRatio = (0, _react.useMemo)(function () {
10195 return settings[_usePromptSettings2.IMAGE_RATIO];
10196 }, [data === null || data === void 0 ? void 0 : data.result]);
10197 var handleSubmit = function handleSubmit(event) {
10198 event.preventDefault();
10199 setGenerate();
10200 send({
10201 prompt: prompt,
10202 settings: settings,
10203 image: editImage
10204 });
10205 };
10206 return /*#__PURE__*/_react.default.createElement(_view.default, null, /*#__PURE__*/_react.default.createElement(_view.default.Panel, null, /*#__PURE__*/_react.default.createElement(_view.default.BackButton, null), /*#__PURE__*/_react.default.createElement(_view.default.PanelHeading, {
10207 primary: (0, _i18n.__)('Variations', 'elementor'),
10208 secondary: (0, _i18n.__)('Create new versions of the original image.', 'elementor')
10209 }), error && /*#__PURE__*/_react.default.createElement(_view.default.ErrorMessage, {
10210 error: error,
10211 onRetry: handleSubmit
10212 }), /*#__PURE__*/_react.default.createElement(_imageForm.default, {
10213 onSubmit: handleSubmit
10214 }, /*#__PURE__*/_react.default.createElement(_ui.Box, {
10215 sx: {
10216 display: 'flex',
10217 alignItems: 'center',
10218 justifyContent: 'center',
10219 bgcolor: 'action.selected'
10220 }
10221 }, /*#__PURE__*/_react.default.createElement("img", {
10222 src: (editImage === null || editImage === void 0 ? void 0 : editImage.image_url) || (editImage === null || editImage === void 0 ? void 0 : editImage.url),
10223 alt: prompt,
10224 style: {
10225 width: 'auto',
10226 height: 'auto',
10227 maxWidth: '100%',
10228 maxHeight: 166,
10229 objectFit: 'contained'
10230 }
10231 })), /*#__PURE__*/_react.default.createElement(_imageStrengthSlider.default, {
10232 disabled: isLoading,
10233 defaultValue: IMAGE_WEIGHT_DEFAULT,
10234 onChange: function onChange(event) {
10235 return updateSettings((0, _defineProperty2.default)({}, _usePromptSettings2.IMAGE_STRENGTH, event.target.value));
10236 }
10237 }), /*#__PURE__*/_react.default.createElement(_promptField.default, {
10238 value: prompt,
10239 disabled: isLoading,
10240 placeholder: (0, _i18n.__)('describe your image', 'elementor'),
10241 onChange: setPrompt
10242 }), /*#__PURE__*/_react.default.createElement(_imageTypeSelect.default, {
10243 disabled: isLoading,
10244 value: settings[_usePromptSettings2.IMAGE_TYPE],
10245 onChange: function onChange(event) {
10246 return updateSettings((0, _defineProperty2.default)({}, _usePromptSettings2.IMAGE_TYPE, event.target.value));
10247 }
10248 }), /*#__PURE__*/_react.default.createElement(_imageStyleSelect.default, {
10249 type: settings[_usePromptSettings2.IMAGE_TYPE],
10250 value: settings[_usePromptSettings2.IMAGE_STYLE],
10251 disabled: isLoading || !settings[_usePromptSettings2.IMAGE_TYPE] || false,
10252 onChange: function onChange(event) {
10253 return updateSettings((0, _defineProperty2.default)({}, _usePromptSettings2.IMAGE_STYLE, event.target.value));
10254 }
10255 }), /*#__PURE__*/_react.default.createElement(_imageRatioSelect.default, {
10256 disabled: isLoading,
10257 value: settings[_usePromptSettings2.IMAGE_RATIO],
10258 onChange: function onChange(event) {
10259 return updateSettings((0, _defineProperty2.default)({}, _usePromptSettings2.IMAGE_RATIO, event.target.value));
10260 }
10261 }), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
10262 gap: 2,
10263 sx: {
10264 my: 2.5
10265 }
10266 }, (data === null || data === void 0 ? void 0 : (_data$result = data.result) === null || _data$result === void 0 ? void 0 : _data$result.length) > 0 ? /*#__PURE__*/_react.default.createElement(_generateAgainSubmit.default, {
10267 disabled: isLoading || '' === prompt
10268 }) : /*#__PURE__*/_react.default.createElement(_generateImagesSubmit.default, {
10269 disabled: isLoading || '' === prompt
10270 })))), /*#__PURE__*/_react.default.createElement(_view.default.Content, {
10271 isGenerating: isLoading
10272 }, data !== null && data !== void 0 && data.result ? /*#__PURE__*/_react.default.createElement(_imagesDisplay.default, {
10273 images: data.result,
10274 aspectRatio: generatedAspectRatio,
10275 onUseImage: use,
10276 onEditImage: edit
10277 }) : /*#__PURE__*/_react.default.createElement(_variationsPlaceholder.default, null)));
10278 };
10279 Variations.propTypes = {};
10280 var _default = Variations;
10281 exports["default"] = _default;
10282
10283 /***/ }),
10284
10285 /***/ "../modules/ai/assets/js/editor/pages/form-text/index.js":
10286 /*!***************************************************************!*\
10287 !*** ../modules/ai/assets/js/editor/pages/form-text/index.js ***!
10288 \***************************************************************/
10289 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
10290
10291 "use strict";
10292
10293
10294 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
10295 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
10296 Object.defineProperty(exports, "__esModule", ({
10297 value: true
10298 }));
10299 exports["default"] = void 0;
10300 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
10301 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
10302 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
10303 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
10304 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
10305 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
10306 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
10307 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
10308 var _loader = _interopRequireDefault(__webpack_require__(/*! ../../components/loader */ "../modules/ai/assets/js/editor/components/loader.js"));
10309 var _promptSearch = _interopRequireDefault(__webpack_require__(/*! ../../components/prompt-search */ "../modules/ai/assets/js/editor/components/prompt-search.js"));
10310 var _textarea = _interopRequireDefault(__webpack_require__(/*! ../../components/textarea */ "../modules/ai/assets/js/editor/components/textarea.js"));
10311 var _promptSuggestions = _interopRequireDefault(__webpack_require__(/*! ../../components/prompt-suggestions */ "../modules/ai/assets/js/editor/components/prompt-suggestions.js"));
10312 var _promptLibraryLink = _interopRequireDefault(__webpack_require__(/*! ../../components/prompt-library-link */ "../modules/ai/assets/js/editor/components/prompt-library-link.js"));
10313 var _promptActionSelection = _interopRequireDefault(__webpack_require__(/*! ../../components/prompt-action-selection */ "../modules/ai/assets/js/editor/components/prompt-action-selection.js"));
10314 var _generateButton = _interopRequireDefault(__webpack_require__(/*! ../../components/generate-button */ "../modules/ai/assets/js/editor/components/generate-button.js"));
10315 var _promptAction = _interopRequireDefault(__webpack_require__(/*! ../../components/prompt-action */ "../modules/ai/assets/js/editor/components/prompt-action.js"));
10316 var _promptErrorMessage = _interopRequireDefault(__webpack_require__(/*! ../../components/prompt-error-message */ "../modules/ai/assets/js/editor/components/prompt-error-message.js"));
10317 var _useTextPrompt2 = _interopRequireDefault(__webpack_require__(/*! ../../hooks/use-text-prompt */ "../modules/ai/assets/js/editor/hooks/use-text-prompt.js"));
10318 var _actionsData = __webpack_require__(/*! ../../actions-data */ "../modules/ai/assets/js/editor/actions-data.js");
10319 var _promptHistoryActionContext = __webpack_require__(/*! ../../components/prompt-history/context/prompt-history-action-context */ "../modules/ai/assets/js/editor/components/prompt-history/context/prompt-history-action-context.js");
10320 var _requestsIds = __webpack_require__(/*! ../../context/requests-ids */ "../modules/ai/assets/js/editor/context/requests-ids.js");
10321 var _voicePromotionAlert = __webpack_require__(/*! ../../components/voice-promotion-alert */ "../modules/ai/assets/js/editor/components/voice-promotion-alert.js");
10322 function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
10323 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; }
10324 var promptActions = [{
10325 label: (0, _i18n.__)('Simplify language', 'elementor'),
10326 icon: /*#__PURE__*/_react.default.createElement(_icons.MessageIcon, {
10327 fontSize: "small"
10328 }),
10329 value: 'Simplify the language of the following message'
10330 }, {
10331 label: (0, _i18n.__)('Make it longer', 'elementor'),
10332 icon: /*#__PURE__*/_react.default.createElement(_icons.ExpandIcon, {
10333 fontSize: "small"
10334 }),
10335 value: 'Make the following message longer'
10336 }, {
10337 label: (0, _i18n.__)('Make it shorter', 'elementor'),
10338 icon: /*#__PURE__*/_react.default.createElement(_icons.ShrinkIcon, {
10339 fontSize: "small"
10340 }),
10341 value: 'Make the following message shorter'
10342 }, {
10343 label: (0, _i18n.__)('Fix spelling & grammar', 'elementor'),
10344 icon: /*#__PURE__*/_react.default.createElement(_icons.AIIcon, {
10345 fontSize: "small"
10346 }),
10347 value: 'Fix the spelling and grammar of the following message'
10348 }];
10349 var promptInstructions = [{
10350 label: (0, _i18n.__)('Change tone', 'elementor'),
10351 options: _actionsData.vocalTones,
10352 getInstruction: function getInstruction(value) {
10353 return "Change the tone of the following message to ".concat(value);
10354 }
10355 }, {
10356 label: (0, _i18n.__)('Translate to', 'elementor'),
10357 options: _actionsData.translateLanguages,
10358 getInstruction: function getInstruction(value) {
10359 return "Translate the following message to ".concat(value);
10360 }
10361 }];
10362 var FormText = function FormText(_ref) {
10363 var type = _ref.type,
10364 onClose = _ref.onClose,
10365 getControlValue = _ref.getControlValue,
10366 setControlValue = _ref.setControlValue,
10367 additionalOptions = _ref.additionalOptions,
10368 credits = _ref.credits,
10369 children = _ref.children;
10370 var initialValue = getControlValue() === (additionalOptions === null || additionalOptions === void 0 ? void 0 : additionalOptions.defaultValue) ? '' : getControlValue();
10371 var _useTextPrompt = (0, _useTextPrompt2.default)({
10372 result: initialValue,
10373 credits: credits
10374 }),
10375 data = _useTextPrompt.data,
10376 isLoading = _useTextPrompt.isLoading,
10377 error = _useTextPrompt.error,
10378 setResult = _useTextPrompt.setResult,
10379 reset = _useTextPrompt.reset,
10380 send = _useTextPrompt.send,
10381 sendUsageData = _useTextPrompt.sendUsageData;
10382 var _useState = (0, _react.useState)(''),
10383 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
10384 prompt = _useState2[0],
10385 setPrompt = _useState2[1];
10386 var _useRequestIds = (0, _requestsIds.useRequestIds)(),
10387 setGenerate = _useRequestIds.setGenerate;
10388 (0, _promptHistoryActionContext.useSubscribeOnPromptHistoryAction)([{
10389 type: _promptHistoryActionContext.ACTION_TYPES.REUSE,
10390 handler: function handler(action) {
10391 reset();
10392 setPrompt(action.data);
10393 }
10394 }, {
10395 type: _promptHistoryActionContext.ACTION_TYPES.EDIT,
10396 handler: function handler(action) {
10397 setResult(action.data);
10398 }
10399 }]);
10400 var searchField = (0, _react.useRef)(null);
10401 var resultField = (0, _react.useRef)(null);
10402 var lastRun = (0, _react.useRef)(function () {});
10403 var autocompleteItems = 'textarea' === type ? _actionsData.textareaAutocomplete : _actionsData.textAutocomplete;
10404 var showSuggestions = !prompt;
10405 var handleSubmit = function handleSubmit(event) {
10406 event.preventDefault();
10407 setGenerate();
10408 lastRun.current = function () {
10409 return send({
10410 prompt: prompt
10411 });
10412 };
10413 lastRun.current();
10414 };
10415 var handleCustomInstruction = /*#__PURE__*/function () {
10416 var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(instruction) {
10417 return _regenerator.default.wrap(function _callee$(_context) {
10418 while (1) switch (_context.prev = _context.next) {
10419 case 0:
10420 setGenerate();
10421 lastRun.current = function () {
10422 return send({
10423 input: resultField.current.value,
10424 instruction: instruction
10425 });
10426 };
10427 lastRun.current();
10428 case 3:
10429 case "end":
10430 return _context.stop();
10431 }
10432 }, _callee);
10433 }));
10434 return function handleCustomInstruction(_x) {
10435 return _ref2.apply(this, arguments);
10436 };
10437 }();
10438 var handleSuggestion = function handleSuggestion(suggestion) {
10439 setPrompt(suggestion + ' ');
10440 searchField.current.focus();
10441 };
10442 var applyPrompt = function applyPrompt() {
10443 sendUsageData();
10444 setControlValue(resultField.current.value);
10445 onClose();
10446 };
10447 if (isLoading) {
10448 return /*#__PURE__*/_react.default.createElement(_loader.default, null);
10449 }
10450 return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, error && /*#__PURE__*/_react.default.createElement(_promptErrorMessage.default, {
10451 error: error,
10452 onRetry: lastRun.current,
10453 sx: {
10454 mb: 2.5
10455 }
10456 }), children, !data.result && /*#__PURE__*/_react.default.createElement(_ui.Box, {
10457 component: "form",
10458 onSubmit: handleSubmit
10459 }, /*#__PURE__*/_react.default.createElement(_ui.Box, {
10460 sx: {
10461 mb: 2.5
10462 }
10463 }, /*#__PURE__*/_react.default.createElement(_promptSearch.default, {
10464 ref: searchField,
10465 placeholder: (0, _i18n.__)('Describe the text and tone you want to use...', 'elementor'),
10466 name: "prompt",
10467 value: prompt,
10468 onChange: function onChange(event) {
10469 return setPrompt(event.target.value);
10470 }
10471 })), showSuggestions && /*#__PURE__*/_react.default.createElement(_promptSuggestions.default, {
10472 suggestions: autocompleteItems,
10473 onSelect: handleSuggestion,
10474 suggestionFilter: function suggestionFilter(suggestion) {
10475 return suggestion + '...';
10476 }
10477 }, /*#__PURE__*/_react.default.createElement(_promptLibraryLink.default, {
10478 libraryLink: "https://go.elementor.com/ai-prompt-library-text/"
10479 })), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
10480 direction: "row",
10481 alignItems: "center",
10482 sx: {
10483 py: 1.5,
10484 mt: 4
10485 }
10486 }, /*#__PURE__*/_react.default.createElement(_ui.Stack, {
10487 direction: "row",
10488 justifyContent: "flex-end",
10489 flexGrow: 1
10490 }, /*#__PURE__*/_react.default.createElement(_generateButton.default, null, (0, _i18n.__)('Generate text', 'elementor'))))), data.result && /*#__PURE__*/_react.default.createElement(_ui.Box, {
10491 sx: {
10492 mt: 1
10493 }
10494 }, /*#__PURE__*/_react.default.createElement(_textarea.default, {
10495 fullWidth: true,
10496 ref: resultField,
10497 value: data.result,
10498 helperText: (0, _i18n.__)('Text generated by AI may be inaccurate or offensive.', 'elementor'),
10499 onChange: function onChange(event) {
10500 return setResult(event.target.value);
10501 }
10502 }), /*#__PURE__*/_react.default.createElement(_ui.Grid, {
10503 container: true,
10504 spacing: 1,
10505 sx: {
10506 mt: 2.5
10507 }
10508 }, promptActions.map(function (_ref3) {
10509 var label = _ref3.label,
10510 icon = _ref3.icon,
10511 value = _ref3.value;
10512 return /*#__PURE__*/_react.default.createElement(_ui.Grid, {
10513 item: true,
10514 key: label
10515 }, /*#__PURE__*/_react.default.createElement(_promptAction.default, {
10516 label: label,
10517 icon: icon,
10518 onClick: function onClick() {
10519 return handleCustomInstruction(value);
10520 }
10521 }));
10522 })), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
10523 direction: "row",
10524 alignItems: "center",
10525 spacing: 1,
10526 sx: {
10527 mt: 2.5
10528 }
10529 }, promptInstructions.map(function (_ref4) {
10530 var label = _ref4.label,
10531 options = _ref4.options,
10532 getInstruction = _ref4.getInstruction;
10533 return /*#__PURE__*/_react.default.createElement(_promptActionSelection.default, {
10534 key: label,
10535 label: label,
10536 options: options,
10537 onChange: function onChange(event) {
10538 return handleCustomInstruction(getInstruction(event.target.value));
10539 }
10540 });
10541 })), /*#__PURE__*/_react.default.createElement(_voicePromotionAlert.VoicePromotionAlert, {
10542 introductionKey: "ai-context-text-promotion",
10543 sx: {
10544 mb: 2
10545 }
10546 }), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
10547 direction: "row",
10548 alignItems: "center",
10549 sx: {
10550 my: 1
10551 }
10552 }, /*#__PURE__*/_react.default.createElement(_ui.Stack, {
10553 direction: "row",
10554 gap: 1,
10555 justifyContent: "flex-end",
10556 flexGrow: 1
10557 }, /*#__PURE__*/_react.default.createElement(_ui.Button, {
10558 size: "small",
10559 color: "secondary",
10560 variant: "text",
10561 onClick: reset
10562 }, (0, _i18n.__)('New prompt', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Button, {
10563 size: "small",
10564 variant: "contained",
10565 color: "primary",
10566 onClick: applyPrompt
10567 }, (0, _i18n.__)('Use text', 'elementor'))))));
10568 };
10569 FormText.propTypes = {
10570 type: _propTypes.default.string.isRequired,
10571 controlType: _propTypes.default.string,
10572 onClose: _propTypes.default.func.isRequired,
10573 getControlValue: _propTypes.default.func.isRequired,
10574 setControlValue: _propTypes.default.func.isRequired,
10575 additionalOptions: _propTypes.default.object,
10576 credits: _propTypes.default.number,
10577 usagePercentage: _propTypes.default.number,
10578 children: _propTypes.default.node
10579 };
10580 var _default = FormText;
10581 exports["default"] = _default;
10582
10583 /***/ }),
10584
10585 /***/ "../modules/ai/assets/js/editor/pages/get-started/index.js":
10586 /*!*****************************************************************!*\
10587 !*** ../modules/ai/assets/js/editor/pages/get-started/index.js ***!
10588 \*****************************************************************/
10589 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
10590
10591 "use strict";
10592
10593
10594 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
10595 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
10596 Object.defineProperty(exports, "__esModule", ({
10597 value: true
10598 }));
10599 exports["default"] = void 0;
10600 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
10601 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
10602 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
10603 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
10604 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
10605 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
10606 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
10607 var _api = __webpack_require__(/*! ../../api */ "../modules/ai/assets/js/editor/api/index.js");
10608 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
10609 function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
10610 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; }
10611 var GetStarted = function GetStarted(_ref) {
10612 var onSuccess = _ref.onSuccess;
10613 var _useState = (0, _react.useState)(false),
10614 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
10615 isTermsChecked = _useState2[0],
10616 setIsTermsChecked = _useState2[1];
10617 var onGetStartedClick = /*#__PURE__*/function () {
10618 var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
10619 return _regenerator.default.wrap(function _callee$(_context) {
10620 while (1) switch (_context.prev = _context.next) {
10621 case 0:
10622 _context.next = 2;
10623 return (0, _api.setGetStarted)();
10624 case 2:
10625 onSuccess();
10626 case 3:
10627 case "end":
10628 return _context.stop();
10629 }
10630 }, _callee);
10631 }));
10632 return function onGetStartedClick() {
10633 return _ref2.apply(this, arguments);
10634 };
10635 }();
10636 return /*#__PURE__*/_react.default.createElement(_ui.Stack, {
10637 alignItems: "center",
10638 gap: 1.5
10639 }, /*#__PURE__*/_react.default.createElement(_icons.AIIcon, {
10640 sx: {
10641 color: 'text.primary',
10642 fontSize: '60px',
10643 mb: 1
10644 }
10645 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
10646 variant: "h4",
10647 sx: {
10648 color: 'text.primary'
10649 }
10650 }, (0, _i18n.__)('Step into the future with Elementor AI', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
10651 variant: "body2"
10652 }, (0, _i18n.__)('Create smarter with AI text and code generators built right into the editor.', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
10653 direction: "row",
10654 gap: 1.5,
10655 alignItems: "flex-start"
10656 }, /*#__PURE__*/_react.default.createElement(_ui.Checkbox, {
10657 id: "e-ai-terms-approval",
10658 color: "secondary",
10659 sx: {
10660 p: 0
10661 },
10662 onChange: function onChange() {
10663 return setIsTermsChecked(function (prevState) {
10664 return !prevState;
10665 });
10666 }
10667 }), /*#__PURE__*/_react.default.createElement(_ui.Stack, null, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
10668 variant: "caption",
10669 sx: {
10670 maxWidth: 520
10671 },
10672 component: "label",
10673 htmlFor: "e-ai-terms-approval"
10674 }, (0, _i18n.__)('I approve the ', 'elementor'), /*#__PURE__*/_react.default.createElement(_ui.Link, {
10675 href: "https://go.elementor.com/ai-terms/",
10676 target: "_blank",
10677 color: "info.main"
10678 }, (0, _i18n.__)('Terms of Service', 'elementor')), ' & ', /*#__PURE__*/_react.default.createElement(_ui.Link, {
10679 href: "https://go.elementor.com/ai-privacy-policy/",
10680 target: "_blank",
10681 color: "info.main"
10682 }, (0, _i18n.__)('Privacy Policy', 'elementor')), (0, _i18n.__)(' of the Elementor AI service.', 'elementor'), /*#__PURE__*/_react.default.createElement("br", null), (0, _i18n.__)('This includes consenting to the collection and use of data to improve user experience.', 'elementor')))), /*#__PURE__*/_react.default.createElement(_ui.Button, {
10683 disabled: !isTermsChecked,
10684 variant: "contained",
10685 onClick: onGetStartedClick,
10686 sx: {
10687 mt: 1,
10688 '&:hover': {
10689 color: 'primary.contrastText'
10690 }
10691 }
10692 }, (0, _i18n.__)('Get Started', 'elementor')));
10693 };
10694 GetStarted.propTypes = {
10695 onSuccess: _propTypes.default.func.isRequired
10696 };
10697 var _default = GetStarted;
10698 exports["default"] = _default;
10699
10700 /***/ }),
10701
10702 /***/ "../node_modules/clsx/dist/clsx.m.js":
10703 /*!*******************************************!*\
10704 !*** ../node_modules/clsx/dist/clsx.m.js ***!
10705 \*******************************************/
10706 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
10707
10708 "use strict";
10709 __webpack_require__.r(__webpack_exports__);
10710 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
10711 /* harmony export */ clsx: () => (/* binding */ clsx),
10712 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
10713 /* harmony export */ });
10714 function r(e){var t,f,n="";if("string"==typeof e||"number"==typeof e)n+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;t<e.length;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=" "),n+=f);else for(t in e)e[t]&&(n&&(n+=" "),n+=t);return n}function clsx(){for(var e,t,f=0,n="";f<arguments.length;)(e=arguments[f++])&&(t=r(e))&&(n&&(n+=" "),n+=t);return n}/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (clsx);
10715
10716 /***/ }),
10717
10718 /***/ "../node_modules/debug/src/browser.js":
10719 /*!********************************************!*\
10720 !*** ../node_modules/debug/src/browser.js ***!
10721 \********************************************/
10722 /***/ ((module, exports, __webpack_require__) => {
10723
10724 /* eslint-env browser */
10725
10726 /**
10727 * This is the web browser implementation of `debug()`.
10728 */
10729
10730 exports.formatArgs = formatArgs;
10731 exports.save = save;
10732 exports.load = load;
10733 exports.useColors = useColors;
10734 exports.storage = localstorage();
10735 exports.destroy = (() => {
10736 let warned = false;
10737
10738 return () => {
10739 if (!warned) {
10740 warned = true;
10741 console.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');
10742 }
10743 };
10744 })();
10745
10746 /**
10747 * Colors.
10748 */
10749
10750 exports.colors = [
10751 '#0000CC',
10752 '#0000FF',
10753 '#0033CC',
10754 '#0033FF',
10755 '#0066CC',
10756 '#0066FF',
10757 '#0099CC',
10758 '#0099FF',
10759 '#00CC00',
10760 '#00CC33',
10761 '#00CC66',
10762 '#00CC99',
10763 '#00CCCC',
10764 '#00CCFF',
10765 '#3300CC',
10766 '#3300FF',
10767 '#3333CC',
10768 '#3333FF',
10769 '#3366CC',
10770 '#3366FF',
10771 '#3399CC',
10772 '#3399FF',
10773 '#33CC00',
10774 '#33CC33',
10775 '#33CC66',
10776 '#33CC99',
10777 '#33CCCC',
10778 '#33CCFF',
10779 '#6600CC',
10780 '#6600FF',
10781 '#6633CC',
10782 '#6633FF',
10783 '#66CC00',
10784 '#66CC33',
10785 '#9900CC',
10786 '#9900FF',
10787 '#9933CC',
10788 '#9933FF',
10789 '#99CC00',
10790 '#99CC33',
10791 '#CC0000',
10792 '#CC0033',
10793 '#CC0066',
10794 '#CC0099',
10795 '#CC00CC',
10796 '#CC00FF',
10797 '#CC3300',
10798 '#CC3333',
10799 '#CC3366',
10800 '#CC3399',
10801 '#CC33CC',
10802 '#CC33FF',
10803 '#CC6600',
10804 '#CC6633',
10805 '#CC9900',
10806 '#CC9933',
10807 '#CCCC00',
10808 '#CCCC33',
10809 '#FF0000',
10810 '#FF0033',
10811 '#FF0066',
10812 '#FF0099',
10813 '#FF00CC',
10814 '#FF00FF',
10815 '#FF3300',
10816 '#FF3333',
10817 '#FF3366',
10818 '#FF3399',
10819 '#FF33CC',
10820 '#FF33FF',
10821 '#FF6600',
10822 '#FF6633',
10823 '#FF9900',
10824 '#FF9933',
10825 '#FFCC00',
10826 '#FFCC33'
10827 ];
10828
10829 /**
10830 * Currently only WebKit-based Web Inspectors, Firefox >= v31,
10831 * and the Firebug extension (any Firefox version) are known
10832 * to support "%c" CSS customizations.
10833 *
10834 * TODO: add a `localStorage` variable to explicitly enable/disable colors
10835 */
10836
10837 // eslint-disable-next-line complexity
10838 function useColors() {
10839 // NB: In an Electron preload script, document will be defined but not fully
10840 // initialized. Since we know we're in Chrome, we'll just detect this case
10841 // explicitly
10842 if (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {
10843 return true;
10844 }
10845
10846 // Internet Explorer and Edge do not support colors.
10847 if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) {
10848 return false;
10849 }
10850
10851 // Is webkit? http://stackoverflow.com/a/16459606/376773
10852 // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632
10853 return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||
10854 // Is firebug? http://stackoverflow.com/a/398120/376773
10855 (typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||
10856 // Is firefox >= v31?
10857 // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages
10858 (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31) ||
10859 // Double check webkit in userAgent just in case we are in a worker
10860 (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/));
10861 }
10862
10863 /**
10864 * Colorize log arguments if enabled.
10865 *
10866 * @api public
10867 */
10868
10869 function formatArgs(args) {
10870 args[0] = (this.useColors ? '%c' : '') +
10871 this.namespace +
10872 (this.useColors ? ' %c' : ' ') +
10873 args[0] +
10874 (this.useColors ? '%c ' : ' ') +
10875 '+' + module.exports.humanize(this.diff);
10876
10877 if (!this.useColors) {
10878 return;
10879 }
10880
10881 const c = 'color: ' + this.color;
10882 args.splice(1, 0, c, 'color: inherit');
10883
10884 // The final "%c" is somewhat tricky, because there could be other
10885 // arguments passed either before or after the %c, so we need to
10886 // figure out the correct index to insert the CSS into
10887 let index = 0;
10888 let lastC = 0;
10889 args[0].replace(/%[a-zA-Z%]/g, match => {
10890 if (match === '%%') {
10891 return;
10892 }
10893 index++;
10894 if (match === '%c') {
10895 // We only are interested in the *last* %c
10896 // (the user may have provided their own)
10897 lastC = index;
10898 }
10899 });
10900
10901 args.splice(lastC, 0, c);
10902 }
10903
10904 /**
10905 * Invokes `console.debug()` when available.
10906 * No-op when `console.debug` is not a "function".
10907 * If `console.debug` is not available, falls back
10908 * to `console.log`.
10909 *
10910 * @api public
10911 */
10912 exports.log = console.debug || console.log || (() => {});
10913
10914 /**
10915 * Save `namespaces`.
10916 *
10917 * @param {String} namespaces
10918 * @api private
10919 */
10920 function save(namespaces) {
10921 try {
10922 if (namespaces) {
10923 exports.storage.setItem('debug', namespaces);
10924 } else {
10925 exports.storage.removeItem('debug');
10926 }
10927 } catch (error) {
10928 // Swallow
10929 // XXX (@Qix-) should we be logging these?
10930 }
10931 }
10932
10933 /**
10934 * Load `namespaces`.
10935 *
10936 * @return {String} returns the previously persisted debug modes
10937 * @api private
10938 */
10939 function load() {
10940 let r;
10941 try {
10942 r = exports.storage.getItem('debug');
10943 } catch (error) {
10944 // Swallow
10945 // XXX (@Qix-) should we be logging these?
10946 }
10947
10948 // If debug isn't set in LS, and we're in Electron, try to load $DEBUG
10949 if (!r && typeof process !== 'undefined' && 'env' in process) {
10950 r = process.env.DEBUG;
10951 }
10952
10953 return r;
10954 }
10955
10956 /**
10957 * Localstorage attempts to return the localstorage.
10958 *
10959 * This is necessary because safari throws
10960 * when a user disables cookies/localstorage
10961 * and you attempt to access it.
10962 *
10963 * @return {LocalStorage}
10964 * @api private
10965 */
10966
10967 function localstorage() {
10968 try {
10969 // TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context
10970 // The Browser also has localStorage in the global context.
10971 return localStorage;
10972 } catch (error) {
10973 // Swallow
10974 // XXX (@Qix-) should we be logging these?
10975 }
10976 }
10977
10978 module.exports = __webpack_require__(/*! ./common */ "../node_modules/debug/src/common.js")(exports);
10979
10980 const {formatters} = module.exports;
10981
10982 /**
10983 * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.
10984 */
10985
10986 formatters.j = function (v) {
10987 try {
10988 return JSON.stringify(v);
10989 } catch (error) {
10990 return '[UnexpectedJSONParseError]: ' + error.message;
10991 }
10992 };
10993
10994
10995 /***/ }),
10996
10997 /***/ "../node_modules/debug/src/common.js":
10998 /*!*******************************************!*\
10999 !*** ../node_modules/debug/src/common.js ***!
11000 \*******************************************/
11001 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
11002
11003
11004 /**
11005 * This is the common logic for both the Node.js and web browser
11006 * implementations of `debug()`.
11007 */
11008
11009 function setup(env) {
11010 createDebug.debug = createDebug;
11011 createDebug.default = createDebug;
11012 createDebug.coerce = coerce;
11013 createDebug.disable = disable;
11014 createDebug.enable = enable;
11015 createDebug.enabled = enabled;
11016 createDebug.humanize = __webpack_require__(/*! ms */ "../node_modules/ms/index.js");
11017 createDebug.destroy = destroy;
11018
11019 Object.keys(env).forEach(key => {
11020 createDebug[key] = env[key];
11021 });
11022
11023 /**
11024 * The currently active debug mode names, and names to skip.
11025 */
11026
11027 createDebug.names = [];
11028 createDebug.skips = [];
11029
11030 /**
11031 * Map of special "%n" handling functions, for the debug "format" argument.
11032 *
11033 * Valid key names are a single, lower or upper-case letter, i.e. "n" and "N".
11034 */
11035 createDebug.formatters = {};
11036
11037 /**
11038 * Selects a color for a debug namespace
11039 * @param {String} namespace The namespace string for the debug instance to be colored
11040 * @return {Number|String} An ANSI color code for the given namespace
11041 * @api private
11042 */
11043 function selectColor(namespace) {
11044 let hash = 0;
11045
11046 for (let i = 0; i < namespace.length; i++) {
11047 hash = ((hash << 5) - hash) + namespace.charCodeAt(i);
11048 hash |= 0; // Convert to 32bit integer
11049 }
11050
11051 return createDebug.colors[Math.abs(hash) % createDebug.colors.length];
11052 }
11053 createDebug.selectColor = selectColor;
11054
11055 /**
11056 * Create a debugger with the given `namespace`.
11057 *
11058 * @param {String} namespace
11059 * @return {Function}
11060 * @api public
11061 */
11062 function createDebug(namespace) {
11063 let prevTime;
11064 let enableOverride = null;
11065 let namespacesCache;
11066 let enabledCache;
11067
11068 function debug(...args) {
11069 // Disabled?
11070 if (!debug.enabled) {
11071 return;
11072 }
11073
11074 const self = debug;
11075
11076 // Set `diff` timestamp
11077 const curr = Number(new Date());
11078 const ms = curr - (prevTime || curr);
11079 self.diff = ms;
11080 self.prev = prevTime;
11081 self.curr = curr;
11082 prevTime = curr;
11083
11084 args[0] = createDebug.coerce(args[0]);
11085
11086 if (typeof args[0] !== 'string') {
11087 // Anything else let's inspect with %O
11088 args.unshift('%O');
11089 }
11090
11091 // Apply any `formatters` transformations
11092 let index = 0;
11093 args[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {
11094 // If we encounter an escaped % then don't increase the array index
11095 if (match === '%%') {
11096 return '%';
11097 }
11098 index++;
11099 const formatter = createDebug.formatters[format];
11100 if (typeof formatter === 'function') {
11101 const val = args[index];
11102 match = formatter.call(self, val);
11103
11104 // Now we need to remove `args[index]` since it's inlined in the `format`
11105 args.splice(index, 1);
11106 index--;
11107 }
11108 return match;
11109 });
11110
11111 // Apply env-specific formatting (colors, etc.)
11112 createDebug.formatArgs.call(self, args);
11113
11114 const logFn = self.log || createDebug.log;
11115 logFn.apply(self, args);
11116 }
11117
11118 debug.namespace = namespace;
11119 debug.useColors = createDebug.useColors();
11120 debug.color = createDebug.selectColor(namespace);
11121 debug.extend = extend;
11122 debug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release.
11123
11124 Object.defineProperty(debug, 'enabled', {
11125 enumerable: true,
11126 configurable: false,
11127 get: () => {
11128 if (enableOverride !== null) {
11129 return enableOverride;
11130 }
11131 if (namespacesCache !== createDebug.namespaces) {
11132 namespacesCache = createDebug.namespaces;
11133 enabledCache = createDebug.enabled(namespace);
11134 }
11135
11136 return enabledCache;
11137 },
11138 set: v => {
11139 enableOverride = v;
11140 }
11141 });
11142
11143 // Env-specific initialization logic for debug instances
11144 if (typeof createDebug.init === 'function') {
11145 createDebug.init(debug);
11146 }
11147
11148 return debug;
11149 }
11150
11151 function extend(namespace, delimiter) {
11152 const newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);
11153 newDebug.log = this.log;
11154 return newDebug;
11155 }
11156
11157 /**
11158 * Enables a debug mode by namespaces. This can include modes
11159 * separated by a colon and wildcards.
11160 *
11161 * @param {String} namespaces
11162 * @api public
11163 */
11164 function enable(namespaces) {
11165 createDebug.save(namespaces);
11166 createDebug.namespaces = namespaces;
11167
11168 createDebug.names = [];
11169 createDebug.skips = [];
11170
11171 let i;
11172 const split = (typeof namespaces === 'string' ? namespaces : '').split(/[\s,]+/);
11173 const len = split.length;
11174
11175 for (i = 0; i < len; i++) {
11176 if (!split[i]) {
11177 // ignore empty strings
11178 continue;
11179 }
11180
11181 namespaces = split[i].replace(/\*/g, '.*?');
11182
11183 if (namespaces[0] === '-') {
11184 createDebug.skips.push(new RegExp('^' + namespaces.slice(1) + '$'));
11185 } else {
11186 createDebug.names.push(new RegExp('^' + namespaces + '$'));
11187 }
11188 }
11189 }
11190
11191 /**
11192 * Disable debug output.
11193 *
11194 * @return {String} namespaces
11195 * @api public
11196 */
11197 function disable() {
11198 const namespaces = [
11199 ...createDebug.names.map(toNamespace),
11200 ...createDebug.skips.map(toNamespace).map(namespace => '-' + namespace)
11201 ].join(',');
11202 createDebug.enable('');
11203 return namespaces;
11204 }
11205
11206 /**
11207 * Returns true if the given mode name is enabled, false otherwise.
11208 *
11209 * @param {String} name
11210 * @return {Boolean}
11211 * @api public
11212 */
11213 function enabled(name) {
11214 if (name[name.length - 1] === '*') {
11215 return true;
11216 }
11217
11218 let i;
11219 let len;
11220
11221 for (i = 0, len = createDebug.skips.length; i < len; i++) {
11222 if (createDebug.skips[i].test(name)) {
11223 return false;
11224 }
11225 }
11226
11227 for (i = 0, len = createDebug.names.length; i < len; i++) {
11228 if (createDebug.names[i].test(name)) {
11229 return true;
11230 }
11231 }
11232
11233 return false;
11234 }
11235
11236 /**
11237 * Convert regexp to namespace
11238 *
11239 * @param {RegExp} regxep
11240 * @return {String} namespace
11241 * @api private
11242 */
11243 function toNamespace(regexp) {
11244 return regexp.toString()
11245 .substring(2, regexp.toString().length - 2)
11246 .replace(/\.\*\?$/, '*');
11247 }
11248
11249 /**
11250 * Coerce `val`.
11251 *
11252 * @param {Mixed} val
11253 * @return {Mixed}
11254 * @api private
11255 */
11256 function coerce(val) {
11257 if (val instanceof Error) {
11258 return val.stack || val.message;
11259 }
11260 return val;
11261 }
11262
11263 /**
11264 * XXX DO NOT USE. This is a temporary stub function.
11265 * XXX It WILL be removed in the next major release.
11266 */
11267 function destroy() {
11268 console.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');
11269 }
11270
11271 createDebug.enable(createDebug.load());
11272
11273 return createDebug;
11274 }
11275
11276 module.exports = setup;
11277
11278
11279 /***/ }),
11280
11281 /***/ "../node_modules/extend/index.js":
11282 /*!***************************************!*\
11283 !*** ../node_modules/extend/index.js ***!
11284 \***************************************/
11285 /***/ ((module) => {
11286
11287 "use strict";
11288
11289
11290 var hasOwn = Object.prototype.hasOwnProperty;
11291 var toStr = Object.prototype.toString;
11292 var defineProperty = Object.defineProperty;
11293 var gOPD = Object.getOwnPropertyDescriptor;
11294
11295 var isArray = function isArray(arr) {
11296 if (typeof Array.isArray === 'function') {
11297 return Array.isArray(arr);
11298 }
11299
11300 return toStr.call(arr) === '[object Array]';
11301 };
11302
11303 var isPlainObject = function isPlainObject(obj) {
11304 if (!obj || toStr.call(obj) !== '[object Object]') {
11305 return false;
11306 }
11307
11308 var hasOwnConstructor = hasOwn.call(obj, 'constructor');
11309 var hasIsPrototypeOf = obj.constructor && obj.constructor.prototype && hasOwn.call(obj.constructor.prototype, 'isPrototypeOf');
11310 // Not own constructor property must be Object
11311 if (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) {
11312 return false;
11313 }
11314
11315 // Own properties are enumerated firstly, so to speed up,
11316 // if last one is own, then all properties are own.
11317 var key;
11318 for (key in obj) { /**/ }
11319
11320 return typeof key === 'undefined' || hasOwn.call(obj, key);
11321 };
11322
11323 // If name is '__proto__', and Object.defineProperty is available, define __proto__ as an own property on target
11324 var setProperty = function setProperty(target, options) {
11325 if (defineProperty && options.name === '__proto__') {
11326 defineProperty(target, options.name, {
11327 enumerable: true,
11328 configurable: true,
11329 value: options.newValue,
11330 writable: true
11331 });
11332 } else {
11333 target[options.name] = options.newValue;
11334 }
11335 };
11336
11337 // Return undefined instead of __proto__ if '__proto__' is not an own property
11338 var getProperty = function getProperty(obj, name) {
11339 if (name === '__proto__') {
11340 if (!hasOwn.call(obj, name)) {
11341 return void 0;
11342 } else if (gOPD) {
11343 // In early versions of node, obj['__proto__'] is buggy when obj has
11344 // __proto__ as an own property. Object.getOwnPropertyDescriptor() works.
11345 return gOPD(obj, name).value;
11346 }
11347 }
11348
11349 return obj[name];
11350 };
11351
11352 module.exports = function extend() {
11353 var options, name, src, copy, copyIsArray, clone;
11354 var target = arguments[0];
11355 var i = 1;
11356 var length = arguments.length;
11357 var deep = false;
11358
11359 // Handle a deep copy situation
11360 if (typeof target === 'boolean') {
11361 deep = target;
11362 target = arguments[1] || {};
11363 // skip the boolean and the target
11364 i = 2;
11365 }
11366 if (target == null || (typeof target !== 'object' && typeof target !== 'function')) {
11367 target = {};
11368 }
11369
11370 for (; i < length; ++i) {
11371 options = arguments[i];
11372 // Only deal with non-null/undefined values
11373 if (options != null) {
11374 // Extend the base object
11375 for (name in options) {
11376 src = getProperty(target, name);
11377 copy = getProperty(options, name);
11378
11379 // Prevent never-ending loop
11380 if (target !== copy) {
11381 // Recurse if we're merging plain objects or arrays
11382 if (deep && copy && (isPlainObject(copy) || (copyIsArray = isArray(copy)))) {
11383 if (copyIsArray) {
11384 copyIsArray = false;
11385 clone = src && isArray(src) ? src : [];
11386 } else {
11387 clone = src && isPlainObject(src) ? src : {};
11388 }
11389
11390 // Never move original objects, clone them
11391 setProperty(target, { name: name, newValue: extend(deep, clone, copy) });
11392
11393 // Don't bring in undefined values
11394 } else if (typeof copy !== 'undefined') {
11395 setProperty(target, { name: name, newValue: copy });
11396 }
11397 }
11398 }
11399 }
11400 }
11401
11402 // Return the modified object
11403 return target;
11404 };
11405
11406
11407 /***/ }),
11408
11409 /***/ "../node_modules/inline-style-parser/index.js":
11410 /*!****************************************************!*\
11411 !*** ../node_modules/inline-style-parser/index.js ***!
11412 \****************************************************/
11413 /***/ ((module) => {
11414
11415 // http://www.w3.org/TR/CSS21/grammar.html
11416 // https://github.com/visionmedia/css-parse/pull/49#issuecomment-30088027
11417 var COMMENT_REGEX = /\/\*[^*]*\*+([^/*][^*]*\*+)*\//g;
11418
11419 var NEWLINE_REGEX = /\n/g;
11420 var WHITESPACE_REGEX = /^\s*/;
11421
11422 // declaration
11423 var PROPERTY_REGEX = /^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/;
11424 var COLON_REGEX = /^:\s*/;
11425 var VALUE_REGEX = /^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/;
11426 var SEMICOLON_REGEX = /^[;\s]*/;
11427
11428 // https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String/Trim#Polyfill
11429 var TRIM_REGEX = /^\s+|\s+$/g;
11430
11431 // strings
11432 var NEWLINE = '\n';
11433 var FORWARD_SLASH = '/';
11434 var ASTERISK = '*';
11435 var EMPTY_STRING = '';
11436
11437 // types
11438 var TYPE_COMMENT = 'comment';
11439 var TYPE_DECLARATION = 'declaration';
11440
11441 /**
11442 * @param {String} style
11443 * @param {Object} [options]
11444 * @return {Object[]}
11445 * @throws {TypeError}
11446 * @throws {Error}
11447 */
11448 module.exports = function(style, options) {
11449 if (typeof style !== 'string') {
11450 throw new TypeError('First argument must be a string');
11451 }
11452
11453 if (!style) return [];
11454
11455 options = options || {};
11456
11457 /**
11458 * Positional.
11459 */
11460 var lineno = 1;
11461 var column = 1;
11462
11463 /**
11464 * Update lineno and column based on `str`.
11465 *
11466 * @param {String} str
11467 */
11468 function updatePosition(str) {
11469 var lines = str.match(NEWLINE_REGEX);
11470 if (lines) lineno += lines.length;
11471 var i = str.lastIndexOf(NEWLINE);
11472 column = ~i ? str.length - i : column + str.length;
11473 }
11474
11475 /**
11476 * Mark position and patch `node.position`.
11477 *
11478 * @return {Function}
11479 */
11480 function position() {
11481 var start = { line: lineno, column: column };
11482 return function(node) {
11483 node.position = new Position(start);
11484 whitespace();
11485 return node;
11486 };
11487 }
11488
11489 /**
11490 * Store position information for a node.
11491 *
11492 * @constructor
11493 * @property {Object} start
11494 * @property {Object} end
11495 * @property {undefined|String} source
11496 */
11497 function Position(start) {
11498 this.start = start;
11499 this.end = { line: lineno, column: column };
11500 this.source = options.source;
11501 }
11502
11503 /**
11504 * Non-enumerable source string.
11505 */
11506 Position.prototype.content = style;
11507
11508 var errorsList = [];
11509
11510 /**
11511 * Error `msg`.
11512 *
11513 * @param {String} msg
11514 * @throws {Error}
11515 */
11516 function error(msg) {
11517 var err = new Error(
11518 options.source + ':' + lineno + ':' + column + ': ' + msg
11519 );
11520 err.reason = msg;
11521 err.filename = options.source;
11522 err.line = lineno;
11523 err.column = column;
11524 err.source = style;
11525
11526 if (options.silent) {
11527 errorsList.push(err);
11528 } else {
11529 throw err;
11530 }
11531 }
11532
11533 /**
11534 * Match `re` and return captures.
11535 *
11536 * @param {RegExp} re
11537 * @return {undefined|Array}
11538 */
11539 function match(re) {
11540 var m = re.exec(style);
11541 if (!m) return;
11542 var str = m[0];
11543 updatePosition(str);
11544 style = style.slice(str.length);
11545 return m;
11546 }
11547
11548 /**
11549 * Parse whitespace.
11550 */
11551 function whitespace() {
11552 match(WHITESPACE_REGEX);
11553 }
11554
11555 /**
11556 * Parse comments.
11557 *
11558 * @param {Object[]} [rules]
11559 * @return {Object[]}
11560 */
11561 function comments(rules) {
11562 var c;
11563 rules = rules || [];
11564 while ((c = comment())) {
11565 if (c !== false) {
11566 rules.push(c);
11567 }
11568 }
11569 return rules;
11570 }
11571
11572 /**
11573 * Parse comment.
11574 *
11575 * @return {Object}
11576 * @throws {Error}
11577 */
11578 function comment() {
11579 var pos = position();
11580 if (FORWARD_SLASH != style.charAt(0) || ASTERISK != style.charAt(1)) return;
11581
11582 var i = 2;
11583 while (
11584 EMPTY_STRING != style.charAt(i) &&
11585 (ASTERISK != style.charAt(i) || FORWARD_SLASH != style.charAt(i + 1))
11586 ) {
11587 ++i;
11588 }
11589 i += 2;
11590
11591 if (EMPTY_STRING === style.charAt(i - 1)) {
11592 return error('End of comment missing');
11593 }
11594
11595 var str = style.slice(2, i - 2);
11596 column += 2;
11597 updatePosition(str);
11598 style = style.slice(i);
11599 column += 2;
11600
11601 return pos({
11602 type: TYPE_COMMENT,
11603 comment: str
11604 });
11605 }
11606
11607 /**
11608 * Parse declaration.
11609 *
11610 * @return {Object}
11611 * @throws {Error}
11612 */
11613 function declaration() {
11614 var pos = position();
11615
11616 // prop
11617 var prop = match(PROPERTY_REGEX);
11618 if (!prop) return;
11619 comment();
11620
11621 // :
11622 if (!match(COLON_REGEX)) return error("property missing ':'");
11623
11624 // val
11625 var val = match(VALUE_REGEX);
11626
11627 var ret = pos({
11628 type: TYPE_DECLARATION,
11629 property: trim(prop[0].replace(COMMENT_REGEX, EMPTY_STRING)),
11630 value: val
11631 ? trim(val[0].replace(COMMENT_REGEX, EMPTY_STRING))
11632 : EMPTY_STRING
11633 });
11634
11635 // ;
11636 match(SEMICOLON_REGEX);
11637
11638 return ret;
11639 }
11640
11641 /**
11642 * Parse declarations.
11643 *
11644 * @return {Object[]}
11645 */
11646 function declarations() {
11647 var decls = [];
11648
11649 comments(decls);
11650
11651 // declarations
11652 var decl;
11653 while ((decl = declaration())) {
11654 if (decl !== false) {
11655 decls.push(decl);
11656 comments(decls);
11657 }
11658 }
11659
11660 return decls;
11661 }
11662
11663 whitespace();
11664 return declarations();
11665 };
11666
11667 /**
11668 * Trim `str`.
11669 *
11670 * @param {String} str
11671 * @return {String}
11672 */
11673 function trim(str) {
11674 return str ? str.replace(TRIM_REGEX, EMPTY_STRING) : EMPTY_STRING;
11675 }
11676
11677
11678 /***/ }),
11679
11680 /***/ "../node_modules/is-buffer/index.js":
11681 /*!******************************************!*\
11682 !*** ../node_modules/is-buffer/index.js ***!
11683 \******************************************/
11684 /***/ ((module) => {
11685
11686 /*!
11687 * Determine if an object is a Buffer
11688 *
11689 * @author Feross Aboukhadijeh <https://feross.org>
11690 * @license MIT
11691 */
11692
11693 module.exports = function isBuffer (obj) {
11694 return obj != null && obj.constructor != null &&
11695 typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)
11696 }
11697
11698
11699 /***/ }),
11700
11701 /***/ "../node_modules/ms/index.js":
11702 /*!***********************************!*\
11703 !*** ../node_modules/ms/index.js ***!
11704 \***********************************/
11705 /***/ ((module) => {
11706
11707 /**
11708 * Helpers.
11709 */
11710
11711 var s = 1000;
11712 var m = s * 60;
11713 var h = m * 60;
11714 var d = h * 24;
11715 var w = d * 7;
11716 var y = d * 365.25;
11717
11718 /**
11719 * Parse or format the given `val`.
11720 *
11721 * Options:
11722 *
11723 * - `long` verbose formatting [false]
11724 *
11725 * @param {String|Number} val
11726 * @param {Object} [options]
11727 * @throws {Error} throw an error if val is not a non-empty string or a number
11728 * @return {String|Number}
11729 * @api public
11730 */
11731
11732 module.exports = function(val, options) {
11733 options = options || {};
11734 var type = typeof val;
11735 if (type === 'string' && val.length > 0) {
11736 return parse(val);
11737 } else if (type === 'number' && isFinite(val)) {
11738 return options.long ? fmtLong(val) : fmtShort(val);
11739 }
11740 throw new Error(
11741 'val is not a non-empty string or a valid number. val=' +
11742 JSON.stringify(val)
11743 );
11744 };
11745
11746 /**
11747 * Parse the given `str` and return milliseconds.
11748 *
11749 * @param {String} str
11750 * @return {Number}
11751 * @api private
11752 */
11753
11754 function parse(str) {
11755 str = String(str);
11756 if (str.length > 100) {
11757 return;
11758 }
11759 var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(
11760 str
11761 );
11762 if (!match) {
11763 return;
11764 }
11765 var n = parseFloat(match[1]);
11766 var type = (match[2] || 'ms').toLowerCase();
11767 switch (type) {
11768 case 'years':
11769 case 'year':
11770 case 'yrs':
11771 case 'yr':
11772 case 'y':
11773 return n * y;
11774 case 'weeks':
11775 case 'week':
11776 case 'w':
11777 return n * w;
11778 case 'days':
11779 case 'day':
11780 case 'd':
11781 return n * d;
11782 case 'hours':
11783 case 'hour':
11784 case 'hrs':
11785 case 'hr':
11786 case 'h':
11787 return n * h;
11788 case 'minutes':
11789 case 'minute':
11790 case 'mins':
11791 case 'min':
11792 case 'm':
11793 return n * m;
11794 case 'seconds':
11795 case 'second':
11796 case 'secs':
11797 case 'sec':
11798 case 's':
11799 return n * s;
11800 case 'milliseconds':
11801 case 'millisecond':
11802 case 'msecs':
11803 case 'msec':
11804 case 'ms':
11805 return n;
11806 default:
11807 return undefined;
11808 }
11809 }
11810
11811 /**
11812 * Short format for `ms`.
11813 *
11814 * @param {Number} ms
11815 * @return {String}
11816 * @api private
11817 */
11818
11819 function fmtShort(ms) {
11820 var msAbs = Math.abs(ms);
11821 if (msAbs >= d) {
11822 return Math.round(ms / d) + 'd';
11823 }
11824 if (msAbs >= h) {
11825 return Math.round(ms / h) + 'h';
11826 }
11827 if (msAbs >= m) {
11828 return Math.round(ms / m) + 'm';
11829 }
11830 if (msAbs >= s) {
11831 return Math.round(ms / s) + 's';
11832 }
11833 return ms + 'ms';
11834 }
11835
11836 /**
11837 * Long format for `ms`.
11838 *
11839 * @param {Number} ms
11840 * @return {String}
11841 * @api private
11842 */
11843
11844 function fmtLong(ms) {
11845 var msAbs = Math.abs(ms);
11846 if (msAbs >= d) {
11847 return plural(ms, msAbs, d, 'day');
11848 }
11849 if (msAbs >= h) {
11850 return plural(ms, msAbs, h, 'hour');
11851 }
11852 if (msAbs >= m) {
11853 return plural(ms, msAbs, m, 'minute');
11854 }
11855 if (msAbs >= s) {
11856 return plural(ms, msAbs, s, 'second');
11857 }
11858 return ms + ' ms';
11859 }
11860
11861 /**
11862 * Pluralization helper.
11863 */
11864
11865 function plural(ms, msAbs, n, name) {
11866 var isPlural = msAbs >= n * 1.5;
11867 return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');
11868 }
11869
11870
11871 /***/ }),
11872
11873 /***/ "../node_modules/object-assign/index.js":
11874 /*!**********************************************!*\
11875 !*** ../node_modules/object-assign/index.js ***!
11876 \**********************************************/
11877 /***/ ((module) => {
11878
11879 "use strict";
11880 /*
11881 object-assign
11882 (c) Sindre Sorhus
11883 @license MIT
11884 */
11885
11886
11887 /* eslint-disable no-unused-vars */
11888 var getOwnPropertySymbols = Object.getOwnPropertySymbols;
11889 var hasOwnProperty = Object.prototype.hasOwnProperty;
11890 var propIsEnumerable = Object.prototype.propertyIsEnumerable;
11891
11892 function toObject(val) {
11893 if (val === null || val === undefined) {
11894 throw new TypeError('Object.assign cannot be called with null or undefined');
11895 }
11896
11897 return Object(val);
11898 }
11899
11900 function shouldUseNative() {
11901 try {
11902 if (!Object.assign) {
11903 return false;
11904 }
11905
11906 // Detect buggy property enumeration order in older V8 versions.
11907
11908 // https://bugs.chromium.org/p/v8/issues/detail?id=4118
11909 var test1 = new String('abc'); // eslint-disable-line no-new-wrappers
11910 test1[5] = 'de';
11911 if (Object.getOwnPropertyNames(test1)[0] === '5') {
11912 return false;
11913 }
11914
11915 // https://bugs.chromium.org/p/v8/issues/detail?id=3056
11916 var test2 = {};
11917 for (var i = 0; i < 10; i++) {
11918 test2['_' + String.fromCharCode(i)] = i;
11919 }
11920 var order2 = Object.getOwnPropertyNames(test2).map(function (n) {
11921 return test2[n];
11922 });
11923 if (order2.join('') !== '0123456789') {
11924 return false;
11925 }
11926
11927 // https://bugs.chromium.org/p/v8/issues/detail?id=3056
11928 var test3 = {};
11929 'abcdefghijklmnopqrst'.split('').forEach(function (letter) {
11930 test3[letter] = letter;
11931 });
11932 if (Object.keys(Object.assign({}, test3)).join('') !==
11933 'abcdefghijklmnopqrst') {
11934 return false;
11935 }
11936
11937 return true;
11938 } catch (err) {
11939 // We don't expect any of the above to throw, but better to be safe.
11940 return false;
11941 }
11942 }
11943
11944 module.exports = shouldUseNative() ? Object.assign : function (target, source) {
11945 var from;
11946 var to = toObject(target);
11947 var symbols;
11948
11949 for (var s = 1; s < arguments.length; s++) {
11950 from = Object(arguments[s]);
11951
11952 for (var key in from) {
11953 if (hasOwnProperty.call(from, key)) {
11954 to[key] = from[key];
11955 }
11956 }
11957
11958 if (getOwnPropertySymbols) {
11959 symbols = getOwnPropertySymbols(from);
11960 for (var i = 0; i < symbols.length; i++) {
11961 if (propIsEnumerable.call(from, symbols[i])) {
11962 to[symbols[i]] = from[symbols[i]];
11963 }
11964 }
11965 }
11966 }
11967
11968 return to;
11969 };
11970
11971
11972 /***/ }),
11973
11974 /***/ "../node_modules/prop-types/checkPropTypes.js":
11975 /*!****************************************************!*\
11976 !*** ../node_modules/prop-types/checkPropTypes.js ***!
11977 \****************************************************/
11978 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
11979
11980 "use strict";
11981 /**
11982 * Copyright (c) 2013-present, Facebook, Inc.
11983 *
11984 * This source code is licensed under the MIT license found in the
11985 * LICENSE file in the root directory of this source tree.
11986 */
11987
11988
11989
11990 var printWarning = function() {};
11991
11992 if (true) {
11993 var ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ "../node_modules/prop-types/lib/ReactPropTypesSecret.js");
11994 var loggedTypeFailures = {};
11995 var has = __webpack_require__(/*! ./lib/has */ "../node_modules/prop-types/lib/has.js");
11996
11997 printWarning = function(text) {
11998 var message = 'Warning: ' + text;
11999 if (typeof console !== 'undefined') {
12000 console.error(message);
12001 }
12002 try {
12003 // --- Welcome to debugging React ---
12004 // This error was thrown as a convenience so that you can use this stack
12005 // to find the callsite that caused this warning to fire.
12006 throw new Error(message);
12007 } catch (x) { /**/ }
12008 };
12009 }
12010
12011 /**
12012 * Assert that the values match with the type specs.
12013 * Error messages are memorized and will only be shown once.
12014 *
12015 * @param {object} typeSpecs Map of name to a ReactPropType
12016 * @param {object} values Runtime values that need to be type-checked
12017 * @param {string} location e.g. "prop", "context", "child context"
12018 * @param {string} componentName Name of the component for error messages.
12019 * @param {?Function} getStack Returns the component stack.
12020 * @private
12021 */
12022 function checkPropTypes(typeSpecs, values, location, componentName, getStack) {
12023 if (true) {
12024 for (var typeSpecName in typeSpecs) {
12025 if (has(typeSpecs, typeSpecName)) {
12026 var error;
12027 // Prop type validation may throw. In case they do, we don't want to
12028 // fail the render phase where it didn't fail before. So we log it.
12029 // After these have been cleaned up, we'll let them throw.
12030 try {
12031 // This is intentionally an invariant that gets caught. It's the same
12032 // behavior as without this statement except with a better message.
12033 if (typeof typeSpecs[typeSpecName] !== 'function') {
12034 var err = Error(
12035 (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +
12036 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' +
12037 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.'
12038 );
12039 err.name = 'Invariant Violation';
12040 throw err;
12041 }
12042 error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);
12043 } catch (ex) {
12044 error = ex;
12045 }
12046 if (error && !(error instanceof Error)) {
12047 printWarning(
12048 (componentName || 'React class') + ': type specification of ' +
12049 location + ' `' + typeSpecName + '` is invalid; the type checker ' +
12050 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +
12051 'You may have forgotten to pass an argument to the type checker ' +
12052 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +
12053 'shape all require an argument).'
12054 );
12055 }
12056 if (error instanceof Error && !(error.message in loggedTypeFailures)) {
12057 // Only monitor this failure once because there tends to be a lot of the
12058 // same error.
12059 loggedTypeFailures[error.message] = true;
12060
12061 var stack = getStack ? getStack() : '';
12062
12063 printWarning(
12064 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')
12065 );
12066 }
12067 }
12068 }
12069 }
12070 }
12071
12072 /**
12073 * Resets warning cache when testing.
12074 *
12075 * @private
12076 */
12077 checkPropTypes.resetWarningCache = function() {
12078 if (true) {
12079 loggedTypeFailures = {};
12080 }
12081 }
12082
12083 module.exports = checkPropTypes;
12084
12085
12086 /***/ }),
12087
12088 /***/ "../node_modules/prop-types/factoryWithTypeCheckers.js":
12089 /*!*************************************************************!*\
12090 !*** ../node_modules/prop-types/factoryWithTypeCheckers.js ***!
12091 \*************************************************************/
12092 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12093
12094 "use strict";
12095 /**
12096 * Copyright (c) 2013-present, Facebook, Inc.
12097 *
12098 * This source code is licensed under the MIT license found in the
12099 * LICENSE file in the root directory of this source tree.
12100 */
12101
12102
12103
12104 var ReactIs = __webpack_require__(/*! react-is */ "../node_modules/prop-types/node_modules/react-is/index.js");
12105 var assign = __webpack_require__(/*! object-assign */ "../node_modules/object-assign/index.js");
12106
12107 var ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ "../node_modules/prop-types/lib/ReactPropTypesSecret.js");
12108 var has = __webpack_require__(/*! ./lib/has */ "../node_modules/prop-types/lib/has.js");
12109 var checkPropTypes = __webpack_require__(/*! ./checkPropTypes */ "../node_modules/prop-types/checkPropTypes.js");
12110
12111 var printWarning = function() {};
12112
12113 if (true) {
12114 printWarning = function(text) {
12115 var message = 'Warning: ' + text;
12116 if (typeof console !== 'undefined') {
12117 console.error(message);
12118 }
12119 try {
12120 // --- Welcome to debugging React ---
12121 // This error was thrown as a convenience so that you can use this stack
12122 // to find the callsite that caused this warning to fire.
12123 throw new Error(message);
12124 } catch (x) {}
12125 };
12126 }
12127
12128 function emptyFunctionThatReturnsNull() {
12129 return null;
12130 }
12131
12132 module.exports = function(isValidElement, throwOnDirectAccess) {
12133 /* global Symbol */
12134 var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;
12135 var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.
12136
12137 /**
12138 * Returns the iterator method function contained on the iterable object.
12139 *
12140 * Be sure to invoke the function with the iterable as context:
12141 *
12142 * var iteratorFn = getIteratorFn(myIterable);
12143 * if (iteratorFn) {
12144 * var iterator = iteratorFn.call(myIterable);
12145 * ...
12146 * }
12147 *
12148 * @param {?object} maybeIterable
12149 * @return {?function}
12150 */
12151 function getIteratorFn(maybeIterable) {
12152 var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);
12153 if (typeof iteratorFn === 'function') {
12154 return iteratorFn;
12155 }
12156 }
12157
12158 /**
12159 * Collection of methods that allow declaration and validation of props that are
12160 * supplied to React components. Example usage:
12161 *
12162 * var Props = require('ReactPropTypes');
12163 * var MyArticle = React.createClass({
12164 * propTypes: {
12165 * // An optional string prop named "description".
12166 * description: Props.string,
12167 *
12168 * // A required enum prop named "category".
12169 * category: Props.oneOf(['News','Photos']).isRequired,
12170 *
12171 * // A prop named "dialog" that requires an instance of Dialog.
12172 * dialog: Props.instanceOf(Dialog).isRequired
12173 * },
12174 * render: function() { ... }
12175 * });
12176 *
12177 * A more formal specification of how these methods are used:
12178 *
12179 * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)
12180 * decl := ReactPropTypes.{type}(.isRequired)?
12181 *
12182 * Each and every declaration produces a function with the same signature. This
12183 * allows the creation of custom validation functions. For example:
12184 *
12185 * var MyLink = React.createClass({
12186 * propTypes: {
12187 * // An optional string or URI prop named "href".
12188 * href: function(props, propName, componentName) {
12189 * var propValue = props[propName];
12190 * if (propValue != null && typeof propValue !== 'string' &&
12191 * !(propValue instanceof URI)) {
12192 * return new Error(
12193 * 'Expected a string or an URI for ' + propName + ' in ' +
12194 * componentName
12195 * );
12196 * }
12197 * }
12198 * },
12199 * render: function() {...}
12200 * });
12201 *
12202 * @internal
12203 */
12204
12205 var ANONYMOUS = '<<anonymous>>';
12206
12207 // Important!
12208 // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.
12209 var ReactPropTypes = {
12210 array: createPrimitiveTypeChecker('array'),
12211 bigint: createPrimitiveTypeChecker('bigint'),
12212 bool: createPrimitiveTypeChecker('boolean'),
12213 func: createPrimitiveTypeChecker('function'),
12214 number: createPrimitiveTypeChecker('number'),
12215 object: createPrimitiveTypeChecker('object'),
12216 string: createPrimitiveTypeChecker('string'),
12217 symbol: createPrimitiveTypeChecker('symbol'),
12218
12219 any: createAnyTypeChecker(),
12220 arrayOf: createArrayOfTypeChecker,
12221 element: createElementTypeChecker(),
12222 elementType: createElementTypeTypeChecker(),
12223 instanceOf: createInstanceTypeChecker,
12224 node: createNodeChecker(),
12225 objectOf: createObjectOfTypeChecker,
12226 oneOf: createEnumTypeChecker,
12227 oneOfType: createUnionTypeChecker,
12228 shape: createShapeTypeChecker,
12229 exact: createStrictShapeTypeChecker,
12230 };
12231
12232 /**
12233 * inlined Object.is polyfill to avoid requiring consumers ship their own
12234 * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is
12235 */
12236 /*eslint-disable no-self-compare*/
12237 function is(x, y) {
12238 // SameValue algorithm
12239 if (x === y) {
12240 // Steps 1-5, 7-10
12241 // Steps 6.b-6.e: +0 != -0
12242 return x !== 0 || 1 / x === 1 / y;
12243 } else {
12244 // Step 6.a: NaN == NaN
12245 return x !== x && y !== y;
12246 }
12247 }
12248 /*eslint-enable no-self-compare*/
12249
12250 /**
12251 * We use an Error-like object for backward compatibility as people may call
12252 * PropTypes directly and inspect their output. However, we don't use real
12253 * Errors anymore. We don't inspect their stack anyway, and creating them
12254 * is prohibitively expensive if they are created too often, such as what
12255 * happens in oneOfType() for any type before the one that matched.
12256 */
12257 function PropTypeError(message, data) {
12258 this.message = message;
12259 this.data = data && typeof data === 'object' ? data: {};
12260 this.stack = '';
12261 }
12262 // Make `instanceof Error` still work for returned errors.
12263 PropTypeError.prototype = Error.prototype;
12264
12265 function createChainableTypeChecker(validate) {
12266 if (true) {
12267 var manualPropTypeCallCache = {};
12268 var manualPropTypeWarningCount = 0;
12269 }
12270 function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {
12271 componentName = componentName || ANONYMOUS;
12272 propFullName = propFullName || propName;
12273
12274 if (secret !== ReactPropTypesSecret) {
12275 if (throwOnDirectAccess) {
12276 // New behavior only for users of `prop-types` package
12277 var err = new Error(
12278 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +
12279 'Use `PropTypes.checkPropTypes()` to call them. ' +
12280 'Read more at http://fb.me/use-check-prop-types'
12281 );
12282 err.name = 'Invariant Violation';
12283 throw err;
12284 } else if ( true && typeof console !== 'undefined') {
12285 // Old behavior for people using React.PropTypes
12286 var cacheKey = componentName + ':' + propName;
12287 if (
12288 !manualPropTypeCallCache[cacheKey] &&
12289 // Avoid spamming the console because they are often not actionable except for lib authors
12290 manualPropTypeWarningCount < 3
12291 ) {
12292 printWarning(
12293 'You are manually calling a React.PropTypes validation ' +
12294 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +
12295 'and will throw in the standalone `prop-types` package. ' +
12296 'You may be seeing this warning due to a third-party PropTypes ' +
12297 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'
12298 );
12299 manualPropTypeCallCache[cacheKey] = true;
12300 manualPropTypeWarningCount++;
12301 }
12302 }
12303 }
12304 if (props[propName] == null) {
12305 if (isRequired) {
12306 if (props[propName] === null) {
12307 return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));
12308 }
12309 return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));
12310 }
12311 return null;
12312 } else {
12313 return validate(props, propName, componentName, location, propFullName);
12314 }
12315 }
12316
12317 var chainedCheckType = checkType.bind(null, false);
12318 chainedCheckType.isRequired = checkType.bind(null, true);
12319
12320 return chainedCheckType;
12321 }
12322
12323 function createPrimitiveTypeChecker(expectedType) {
12324 function validate(props, propName, componentName, location, propFullName, secret) {
12325 var propValue = props[propName];
12326 var propType = getPropType(propValue);
12327 if (propType !== expectedType) {
12328 // `propValue` being instance of, say, date/regexp, pass the 'object'
12329 // check, but we can offer a more precise error message here rather than
12330 // 'of type `object`'.
12331 var preciseType = getPreciseType(propValue);
12332
12333 return new PropTypeError(
12334 'Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'),
12335 {expectedType: expectedType}
12336 );
12337 }
12338 return null;
12339 }
12340 return createChainableTypeChecker(validate);
12341 }
12342
12343 function createAnyTypeChecker() {
12344 return createChainableTypeChecker(emptyFunctionThatReturnsNull);
12345 }
12346
12347 function createArrayOfTypeChecker(typeChecker) {
12348 function validate(props, propName, componentName, location, propFullName) {
12349 if (typeof typeChecker !== 'function') {
12350 return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');
12351 }
12352 var propValue = props[propName];
12353 if (!Array.isArray(propValue)) {
12354 var propType = getPropType(propValue);
12355 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));
12356 }
12357 for (var i = 0; i < propValue.length; i++) {
12358 var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);
12359 if (error instanceof Error) {
12360 return error;
12361 }
12362 }
12363 return null;
12364 }
12365 return createChainableTypeChecker(validate);
12366 }
12367
12368 function createElementTypeChecker() {
12369 function validate(props, propName, componentName, location, propFullName) {
12370 var propValue = props[propName];
12371 if (!isValidElement(propValue)) {
12372 var propType = getPropType(propValue);
12373 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));
12374 }
12375 return null;
12376 }
12377 return createChainableTypeChecker(validate);
12378 }
12379
12380 function createElementTypeTypeChecker() {
12381 function validate(props, propName, componentName, location, propFullName) {
12382 var propValue = props[propName];
12383 if (!ReactIs.isValidElementType(propValue)) {
12384 var propType = getPropType(propValue);
12385 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));
12386 }
12387 return null;
12388 }
12389 return createChainableTypeChecker(validate);
12390 }
12391
12392 function createInstanceTypeChecker(expectedClass) {
12393 function validate(props, propName, componentName, location, propFullName) {
12394 if (!(props[propName] instanceof expectedClass)) {
12395 var expectedClassName = expectedClass.name || ANONYMOUS;
12396 var actualClassName = getClassName(props[propName]);
12397 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));
12398 }
12399 return null;
12400 }
12401 return createChainableTypeChecker(validate);
12402 }
12403
12404 function createEnumTypeChecker(expectedValues) {
12405 if (!Array.isArray(expectedValues)) {
12406 if (true) {
12407 if (arguments.length > 1) {
12408 printWarning(
12409 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +
12410 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'
12411 );
12412 } else {
12413 printWarning('Invalid argument supplied to oneOf, expected an array.');
12414 }
12415 }
12416 return emptyFunctionThatReturnsNull;
12417 }
12418
12419 function validate(props, propName, componentName, location, propFullName) {
12420 var propValue = props[propName];
12421 for (var i = 0; i < expectedValues.length; i++) {
12422 if (is(propValue, expectedValues[i])) {
12423 return null;
12424 }
12425 }
12426
12427 var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {
12428 var type = getPreciseType(value);
12429 if (type === 'symbol') {
12430 return String(value);
12431 }
12432 return value;
12433 });
12434 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));
12435 }
12436 return createChainableTypeChecker(validate);
12437 }
12438
12439 function createObjectOfTypeChecker(typeChecker) {
12440 function validate(props, propName, componentName, location, propFullName) {
12441 if (typeof typeChecker !== 'function') {
12442 return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');
12443 }
12444 var propValue = props[propName];
12445 var propType = getPropType(propValue);
12446 if (propType !== 'object') {
12447 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));
12448 }
12449 for (var key in propValue) {
12450 if (has(propValue, key)) {
12451 var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
12452 if (error instanceof Error) {
12453 return error;
12454 }
12455 }
12456 }
12457 return null;
12458 }
12459 return createChainableTypeChecker(validate);
12460 }
12461
12462 function createUnionTypeChecker(arrayOfTypeCheckers) {
12463 if (!Array.isArray(arrayOfTypeCheckers)) {
12464 true ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : 0;
12465 return emptyFunctionThatReturnsNull;
12466 }
12467
12468 for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
12469 var checker = arrayOfTypeCheckers[i];
12470 if (typeof checker !== 'function') {
12471 printWarning(
12472 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +
12473 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'
12474 );
12475 return emptyFunctionThatReturnsNull;
12476 }
12477 }
12478
12479 function validate(props, propName, componentName, location, propFullName) {
12480 var expectedTypes = [];
12481 for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
12482 var checker = arrayOfTypeCheckers[i];
12483 var checkerResult = checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret);
12484 if (checkerResult == null) {
12485 return null;
12486 }
12487 if (checkerResult.data && has(checkerResult.data, 'expectedType')) {
12488 expectedTypes.push(checkerResult.data.expectedType);
12489 }
12490 }
12491 var expectedTypesMessage = (expectedTypes.length > 0) ? ', expected one of type [' + expectedTypes.join(', ') + ']': '';
12492 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`' + expectedTypesMessage + '.'));
12493 }
12494 return createChainableTypeChecker(validate);
12495 }
12496
12497 function createNodeChecker() {
12498 function validate(props, propName, componentName, location, propFullName) {
12499 if (!isNode(props[propName])) {
12500 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));
12501 }
12502 return null;
12503 }
12504 return createChainableTypeChecker(validate);
12505 }
12506
12507 function invalidValidatorError(componentName, location, propFullName, key, type) {
12508 return new PropTypeError(
12509 (componentName || 'React class') + ': ' + location + ' type `' + propFullName + '.' + key + '` is invalid; ' +
12510 'it must be a function, usually from the `prop-types` package, but received `' + type + '`.'
12511 );
12512 }
12513
12514 function createShapeTypeChecker(shapeTypes) {
12515 function validate(props, propName, componentName, location, propFullName) {
12516 var propValue = props[propName];
12517 var propType = getPropType(propValue);
12518 if (propType !== 'object') {
12519 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));
12520 }
12521 for (var key in shapeTypes) {
12522 var checker = shapeTypes[key];
12523 if (typeof checker !== 'function') {
12524 return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));
12525 }
12526 var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
12527 if (error) {
12528 return error;
12529 }
12530 }
12531 return null;
12532 }
12533 return createChainableTypeChecker(validate);
12534 }
12535
12536 function createStrictShapeTypeChecker(shapeTypes) {
12537 function validate(props, propName, componentName, location, propFullName) {
12538 var propValue = props[propName];
12539 var propType = getPropType(propValue);
12540 if (propType !== 'object') {
12541 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));
12542 }
12543 // We need to check all keys in case some are required but missing from props.
12544 var allKeys = assign({}, props[propName], shapeTypes);
12545 for (var key in allKeys) {
12546 var checker = shapeTypes[key];
12547 if (has(shapeTypes, key) && typeof checker !== 'function') {
12548 return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));
12549 }
12550 if (!checker) {
12551 return new PropTypeError(
12552 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +
12553 '\nBad object: ' + JSON.stringify(props[propName], null, ' ') +
12554 '\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')
12555 );
12556 }
12557 var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
12558 if (error) {
12559 return error;
12560 }
12561 }
12562 return null;
12563 }
12564
12565 return createChainableTypeChecker(validate);
12566 }
12567
12568 function isNode(propValue) {
12569 switch (typeof propValue) {
12570 case 'number':
12571 case 'string':
12572 case 'undefined':
12573 return true;
12574 case 'boolean':
12575 return !propValue;
12576 case 'object':
12577 if (Array.isArray(propValue)) {
12578 return propValue.every(isNode);
12579 }
12580 if (propValue === null || isValidElement(propValue)) {
12581 return true;
12582 }
12583
12584 var iteratorFn = getIteratorFn(propValue);
12585 if (iteratorFn) {
12586 var iterator = iteratorFn.call(propValue);
12587 var step;
12588 if (iteratorFn !== propValue.entries) {
12589 while (!(step = iterator.next()).done) {
12590 if (!isNode(step.value)) {
12591 return false;
12592 }
12593 }
12594 } else {
12595 // Iterator will provide entry [k,v] tuples rather than values.
12596 while (!(step = iterator.next()).done) {
12597 var entry = step.value;
12598 if (entry) {
12599 if (!isNode(entry[1])) {
12600 return false;
12601 }
12602 }
12603 }
12604 }
12605 } else {
12606 return false;
12607 }
12608
12609 return true;
12610 default:
12611 return false;
12612 }
12613 }
12614
12615 function isSymbol(propType, propValue) {
12616 // Native Symbol.
12617 if (propType === 'symbol') {
12618 return true;
12619 }
12620
12621 // falsy value can't be a Symbol
12622 if (!propValue) {
12623 return false;
12624 }
12625
12626 // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'
12627 if (propValue['@@toStringTag'] === 'Symbol') {
12628 return true;
12629 }
12630
12631 // Fallback for non-spec compliant Symbols which are polyfilled.
12632 if (typeof Symbol === 'function' && propValue instanceof Symbol) {
12633 return true;
12634 }
12635
12636 return false;
12637 }
12638
12639 // Equivalent of `typeof` but with special handling for array and regexp.
12640 function getPropType(propValue) {
12641 var propType = typeof propValue;
12642 if (Array.isArray(propValue)) {
12643 return 'array';
12644 }
12645 if (propValue instanceof RegExp) {
12646 // Old webkits (at least until Android 4.0) return 'function' rather than
12647 // 'object' for typeof a RegExp. We'll normalize this here so that /bla/
12648 // passes PropTypes.object.
12649 return 'object';
12650 }
12651 if (isSymbol(propType, propValue)) {
12652 return 'symbol';
12653 }
12654 return propType;
12655 }
12656
12657 // This handles more types than `getPropType`. Only used for error messages.
12658 // See `createPrimitiveTypeChecker`.
12659 function getPreciseType(propValue) {
12660 if (typeof propValue === 'undefined' || propValue === null) {
12661 return '' + propValue;
12662 }
12663 var propType = getPropType(propValue);
12664 if (propType === 'object') {
12665 if (propValue instanceof Date) {
12666 return 'date';
12667 } else if (propValue instanceof RegExp) {
12668 return 'regexp';
12669 }
12670 }
12671 return propType;
12672 }
12673
12674 // Returns a string that is postfixed to a warning about an invalid type.
12675 // For example, "undefined" or "of type array"
12676 function getPostfixForTypeWarning(value) {
12677 var type = getPreciseType(value);
12678 switch (type) {
12679 case 'array':
12680 case 'object':
12681 return 'an ' + type;
12682 case 'boolean':
12683 case 'date':
12684 case 'regexp':
12685 return 'a ' + type;
12686 default:
12687 return type;
12688 }
12689 }
12690
12691 // Returns class name of the object, if any.
12692 function getClassName(propValue) {
12693 if (!propValue.constructor || !propValue.constructor.name) {
12694 return ANONYMOUS;
12695 }
12696 return propValue.constructor.name;
12697 }
12698
12699 ReactPropTypes.checkPropTypes = checkPropTypes;
12700 ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;
12701 ReactPropTypes.PropTypes = ReactPropTypes;
12702
12703 return ReactPropTypes;
12704 };
12705
12706
12707 /***/ }),
12708
12709 /***/ "../node_modules/prop-types/index.js":
12710 /*!*******************************************!*\
12711 !*** ../node_modules/prop-types/index.js ***!
12712 \*******************************************/
12713 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12714
12715 /**
12716 * Copyright (c) 2013-present, Facebook, Inc.
12717 *
12718 * This source code is licensed under the MIT license found in the
12719 * LICENSE file in the root directory of this source tree.
12720 */
12721
12722 if (true) {
12723 var ReactIs = __webpack_require__(/*! react-is */ "../node_modules/prop-types/node_modules/react-is/index.js");
12724
12725 // By explicitly using `prop-types` you are opting into new development behavior.
12726 // http://fb.me/prop-types-in-prod
12727 var throwOnDirectAccess = true;
12728 module.exports = __webpack_require__(/*! ./factoryWithTypeCheckers */ "../node_modules/prop-types/factoryWithTypeCheckers.js")(ReactIs.isElement, throwOnDirectAccess);
12729 } else {}
12730
12731
12732 /***/ }),
12733
12734 /***/ "../node_modules/prop-types/lib/ReactPropTypesSecret.js":
12735 /*!**************************************************************!*\
12736 !*** ../node_modules/prop-types/lib/ReactPropTypesSecret.js ***!
12737 \**************************************************************/
12738 /***/ ((module) => {
12739
12740 "use strict";
12741 /**
12742 * Copyright (c) 2013-present, Facebook, Inc.
12743 *
12744 * This source code is licensed under the MIT license found in the
12745 * LICENSE file in the root directory of this source tree.
12746 */
12747
12748
12749
12750 var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
12751
12752 module.exports = ReactPropTypesSecret;
12753
12754
12755 /***/ }),
12756
12757 /***/ "../node_modules/prop-types/lib/has.js":
12758 /*!*********************************************!*\
12759 !*** ../node_modules/prop-types/lib/has.js ***!
12760 \*********************************************/
12761 /***/ ((module) => {
12762
12763 module.exports = Function.call.bind(Object.prototype.hasOwnProperty);
12764
12765
12766 /***/ }),
12767
12768 /***/ "../node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js":
12769 /*!************************************************************************************!*\
12770 !*** ../node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js ***!
12771 \************************************************************************************/
12772 /***/ ((__unused_webpack_module, exports) => {
12773
12774 "use strict";
12775 /** @license React v16.13.1
12776 * react-is.development.js
12777 *
12778 * Copyright (c) Facebook, Inc. and its affiliates.
12779 *
12780 * This source code is licensed under the MIT license found in the
12781 * LICENSE file in the root directory of this source tree.
12782 */
12783
12784
12785
12786
12787
12788 if (true) {
12789 (function() {
12790 'use strict';
12791
12792 // The Symbol used to tag the ReactElement-like types. If there is no native Symbol
12793 // nor polyfill, then a plain number is used for performance.
12794 var hasSymbol = typeof Symbol === 'function' && Symbol.for;
12795 var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;
12796 var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;
12797 var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;
12798 var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;
12799 var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;
12800 var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;
12801 var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary
12802 // (unstable) APIs that have been removed. Can we remove the symbols?
12803
12804 var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;
12805 var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;
12806 var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;
12807 var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;
12808 var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;
12809 var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;
12810 var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;
12811 var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;
12812 var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;
12813 var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;
12814 var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;
12815
12816 function isValidElementType(type) {
12817 return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
12818 type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);
12819 }
12820
12821 function typeOf(object) {
12822 if (typeof object === 'object' && object !== null) {
12823 var $$typeof = object.$$typeof;
12824
12825 switch ($$typeof) {
12826 case REACT_ELEMENT_TYPE:
12827 var type = object.type;
12828
12829 switch (type) {
12830 case REACT_ASYNC_MODE_TYPE:
12831 case REACT_CONCURRENT_MODE_TYPE:
12832 case REACT_FRAGMENT_TYPE:
12833 case REACT_PROFILER_TYPE:
12834 case REACT_STRICT_MODE_TYPE:
12835 case REACT_SUSPENSE_TYPE:
12836 return type;
12837
12838 default:
12839 var $$typeofType = type && type.$$typeof;
12840
12841 switch ($$typeofType) {
12842 case REACT_CONTEXT_TYPE:
12843 case REACT_FORWARD_REF_TYPE:
12844 case REACT_LAZY_TYPE:
12845 case REACT_MEMO_TYPE:
12846 case REACT_PROVIDER_TYPE:
12847 return $$typeofType;
12848
12849 default:
12850 return $$typeof;
12851 }
12852
12853 }
12854
12855 case REACT_PORTAL_TYPE:
12856 return $$typeof;
12857 }
12858 }
12859
12860 return undefined;
12861 } // AsyncMode is deprecated along with isAsyncMode
12862
12863 var AsyncMode = REACT_ASYNC_MODE_TYPE;
12864 var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;
12865 var ContextConsumer = REACT_CONTEXT_TYPE;
12866 var ContextProvider = REACT_PROVIDER_TYPE;
12867 var Element = REACT_ELEMENT_TYPE;
12868 var ForwardRef = REACT_FORWARD_REF_TYPE;
12869 var Fragment = REACT_FRAGMENT_TYPE;
12870 var Lazy = REACT_LAZY_TYPE;
12871 var Memo = REACT_MEMO_TYPE;
12872 var Portal = REACT_PORTAL_TYPE;
12873 var Profiler = REACT_PROFILER_TYPE;
12874 var StrictMode = REACT_STRICT_MODE_TYPE;
12875 var Suspense = REACT_SUSPENSE_TYPE;
12876 var hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated
12877
12878 function isAsyncMode(object) {
12879 {
12880 if (!hasWarnedAboutDeprecatedIsAsyncMode) {
12881 hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint
12882
12883 console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');
12884 }
12885 }
12886
12887 return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;
12888 }
12889 function isConcurrentMode(object) {
12890 return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;
12891 }
12892 function isContextConsumer(object) {
12893 return typeOf(object) === REACT_CONTEXT_TYPE;
12894 }
12895 function isContextProvider(object) {
12896 return typeOf(object) === REACT_PROVIDER_TYPE;
12897 }
12898 function isElement(object) {
12899 return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
12900 }
12901 function isForwardRef(object) {
12902 return typeOf(object) === REACT_FORWARD_REF_TYPE;
12903 }
12904 function isFragment(object) {
12905 return typeOf(object) === REACT_FRAGMENT_TYPE;
12906 }
12907 function isLazy(object) {
12908 return typeOf(object) === REACT_LAZY_TYPE;
12909 }
12910 function isMemo(object) {
12911 return typeOf(object) === REACT_MEMO_TYPE;
12912 }
12913 function isPortal(object) {
12914 return typeOf(object) === REACT_PORTAL_TYPE;
12915 }
12916 function isProfiler(object) {
12917 return typeOf(object) === REACT_PROFILER_TYPE;
12918 }
12919 function isStrictMode(object) {
12920 return typeOf(object) === REACT_STRICT_MODE_TYPE;
12921 }
12922 function isSuspense(object) {
12923 return typeOf(object) === REACT_SUSPENSE_TYPE;
12924 }
12925
12926 exports.AsyncMode = AsyncMode;
12927 exports.ConcurrentMode = ConcurrentMode;
12928 exports.ContextConsumer = ContextConsumer;
12929 exports.ContextProvider = ContextProvider;
12930 exports.Element = Element;
12931 exports.ForwardRef = ForwardRef;
12932 exports.Fragment = Fragment;
12933 exports.Lazy = Lazy;
12934 exports.Memo = Memo;
12935 exports.Portal = Portal;
12936 exports.Profiler = Profiler;
12937 exports.StrictMode = StrictMode;
12938 exports.Suspense = Suspense;
12939 exports.isAsyncMode = isAsyncMode;
12940 exports.isConcurrentMode = isConcurrentMode;
12941 exports.isContextConsumer = isContextConsumer;
12942 exports.isContextProvider = isContextProvider;
12943 exports.isElement = isElement;
12944 exports.isForwardRef = isForwardRef;
12945 exports.isFragment = isFragment;
12946 exports.isLazy = isLazy;
12947 exports.isMemo = isMemo;
12948 exports.isPortal = isPortal;
12949 exports.isProfiler = isProfiler;
12950 exports.isStrictMode = isStrictMode;
12951 exports.isSuspense = isSuspense;
12952 exports.isValidElementType = isValidElementType;
12953 exports.typeOf = typeOf;
12954 })();
12955 }
12956
12957
12958 /***/ }),
12959
12960 /***/ "../node_modules/prop-types/node_modules/react-is/index.js":
12961 /*!*****************************************************************!*\
12962 !*** ../node_modules/prop-types/node_modules/react-is/index.js ***!
12963 \*****************************************************************/
12964 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12965
12966 "use strict";
12967
12968
12969 if (false) {} else {
12970 module.exports = __webpack_require__(/*! ./cjs/react-is.development.js */ "../node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js");
12971 }
12972
12973
12974 /***/ }),
12975
12976 /***/ "../node_modules/react-avatar-editor/dist/index.js":
12977 /*!*********************************************************!*\
12978 !*** ../node_modules/react-avatar-editor/dist/index.js ***!
12979 \*********************************************************/
12980 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
12981
12982 !function(e,t){ true?module.exports=t(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"),__webpack_require__(/*! react */ "react")):0}(this,function(e,t){"use strict";function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var n=o(e),i=o(t);function r(e,t){for(var o=0;o<t.length;o++){var n=t[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function s(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function u(){return(u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var o=arguments[t];for(var n in o)Object.prototype.hasOwnProperty.call(o,n)&&(e[n]=o[n])}return e}).apply(this,arguments)}function a(t,e){var o,n=Object.keys(t);return Object.getOwnPropertySymbols&&(o=Object.getOwnPropertySymbols(t),e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,o)),n}function y(t){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{};e%2?a(Object(o),!0).forEach(function(e){s(t,e,o[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(o)):a(Object(o)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(o,e))})}return t}function h(e){return(h=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function c(e,t){return(c=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function l(e,t){if(null==e)return{};var o,n=function(e,t){if(null==e)return{};for(var o,n={},a=Object.keys(e),r=0;r<a.length;r++)o=a[r],0<=t.indexOf(o)||(n[o]=e[o]);return n}(e,t);if(Object.getOwnPropertySymbols)for(var a=Object.getOwnPropertySymbols(e),r=0;r<a.length;r++)o=a[r],0<=t.indexOf(o)||Object.prototype.propertyIsEnumerable.call(e,o)&&(n[o]=e[o]);return n}function d(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function p(r){var i=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t,o,n,a=h(r);return t=i?(e=h(this).constructor,Reflect.construct(a,arguments,e)):a.apply(this,arguments),o=this,!(n=t)||"object"!=typeof n&&"function"!=typeof n?d(o):n}}function m(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var o=[],n=!0,a=!1,r=void 0;try{for(var i,s=e[Symbol.iterator]();!(n=(i=s.next()).done)&&(o.push(i.value),!t||o.length!==t);n=!0);}catch(e){a=!0,r=e}finally{try{n||null==s.return||s.return()}finally{if(a)throw r}}return o}(e,t)||g(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function g(e,t){if(e){if("string"==typeof e)return f(e,t);var o=Object.prototype.toString.call(e).slice(8,-1);return"Object"===o&&e.constructor&&(o=e.constructor.name),"Map"===o||"Set"===o?Array.from(e):"Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?f(e,t):void 0}}function f(e,t){(null==t||t>e.length)&&(t=e.length);for(var o=0,n=new Array(t);o<t;o++)n[o]=e[o];return n}function v(a,r){return new Promise(function(e,t){var o,n=new Image;n.onload=function(){return e(n)},n.onerror=t,!1==(null!==(o=a)&&!!o.match(/^\s*data:([a-z]+\/[a-z]+(;[a-z-]+=[a-z-]+)?)?(;base64)?,[a-z0-9!$&',()*+;=\-._~:@/?%\s]*\s*$/i))&&r&&(n.crossOrigin=r),n.src=a})}var b,w=!("undefined"==typeof window||"undefined"==typeof navigator||!("ontouchstart"in window||0<navigator.msMaxTouchPoints)),M="undefined"!=typeof File,O={touch:{react:{down:"onTouchStart",mouseDown:"onMouseDown",drag:"onTouchMove",move:"onTouchMove",mouseMove:"onMouseMove",up:"onTouchEnd",mouseUp:"onMouseUp"},native:{down:"touchstart",mouseDown:"mousedown",drag:"touchmove",move:"touchmove",mouseMove:"mousemove",up:"touchend",mouseUp:"mouseup"}},desktop:{react:{down:"onMouseDown",drag:"onDragOver",move:"onMouseMove",up:"onMouseUp"},native:{down:"mousedown",drag:"dragStart",move:"mousemove",up:"mouseup"}}},I=w?O.touch:O.desktop,P="undefined"!=typeof window&&window.devicePixelRatio?window.devicePixelRatio:1,C={x:.5,y:.5},x=function(){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&c(e,t)}(a,i["default"].Component);var e,t,o,n=p(a);function a(e){var v;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,a),s(d(v=n.call(this,e)),"state",{drag:!1,my:null,mx:null,image:C}),s(d(v),"handleImageReady",function(e){var t=v.getInitialSize(e.width,e.height);t.resource=e,t.x=.5,t.y=.5,t.backgroundColor=v.props.backgroundColor,v.setState({drag:!1,image:t},v.props.onImageReady),v.props.onLoadSuccess(t)}),s(d(v),"clearImage",function(){v.canvas.getContext("2d").clearRect(0,0,v.canvas.width,v.canvas.height),v.setState({image:C})}),s(d(v),"handleMouseDown",function(e){(e=e||window.event).preventDefault(),v.setState({drag:!0,mx:null,my:null})}),s(d(v),"handleMouseUp",function(){v.state.drag&&(v.setState({drag:!1}),v.props.onMouseUp())}),s(d(v),"handleMouseMove",function(e){var t,o,n,a,r,i,s,u,h,c,l,d,p,g,f,m;e=e||window.event,!1!==v.state.drag&&(e.preventDefault(),n={mx:t=e.targetTouches?e.targetTouches[0].pageX:e.clientX,my:o=e.targetTouches?e.targetTouches[0].pageY:e.clientY},m=v.props.rotate,m=(m%=360)<0?m+360:m,v.state.mx&&v.state.my&&(a=v.state.mx-t,r=v.state.my-o,i=v.state.image.width*v.props.scale,s=v.state.image.height*v.props.scale,h=(u=v.getCroppingRect()).x,c=u.y,h*=i,c*=s,l=function(e){return e*(Math.PI/180)},d=Math.cos(l(m)),g=c+-a*(p=Math.sin(l(m)))+r*d,f={x:(h+a*d+r*p)/i+1/v.props.scale*v.getXScale()/2,y:g/s+1/v.props.scale*v.getYScale()/2},v.props.onPositionChange(f),n.image=y(y({},v.state.image),f)),v.setState(n),v.props.onMouseMove(e))}),s(d(v),"setCanvas",function(e){v.canvas=e}),v.canvas=null,v}return e=a,(t=[{key:"componentDidMount",value:function(){this.props.disableHiDPIScaling&&(P=1);var e,t,o=this.canvas.getContext("2d");this.props.image&&this.loadImage(this.props.image),this.paint(o),document&&(e=!!function(){var t=!1;try{var e=Object.defineProperty({},"passive",{get:function(){t=!0}});window.addEventListener("test",e,e),window.removeEventListener("test",e,e)}catch(e){t=!1}return t}()&&{passive:!1},t=I.native,document.addEventListener(t.move,this.handleMouseMove,e),document.addEventListener(t.up,this.handleMouseUp,e),w&&(document.addEventListener(t.mouseMove,this.handleMouseMove,e),document.addEventListener(t.mouseUp,this.handleMouseUp,e)))}},{key:"componentDidUpdate",value:function(e,t){this.props.image&&this.props.image!==e.image||this.props.width!==e.width||this.props.height!==e.height||this.props.backgroundColor!==e.backgroundColor?this.loadImage(this.props.image):this.props.image||t.image===C||this.clearImage();var o=this.canvas.getContext("2d");o.clearRect(0,0,this.canvas.width,this.canvas.height),this.paint(o),this.paintImage(o,this.state.image,this.props.border),e.image===this.props.image&&e.width===this.props.width&&e.height===this.props.height&&e.position===this.props.position&&e.scale===this.props.scale&&e.rotate===this.props.rotate&&t.my===this.state.my&&t.mx===this.state.mx&&t.image.x===this.state.image.x&&t.image.y===this.state.image.y&&t.backgroundColor===this.state.backgroundColor||this.props.onImageChange()}},{key:"componentWillUnmount",value:function(){var e;document&&(e=I.native,document.removeEventListener(e.move,this.handleMouseMove,!1),document.removeEventListener(e.up,this.handleMouseUp,!1),w&&(document.removeEventListener(e.mouseMove,this.handleMouseMove,!1),document.removeEventListener(e.mouseUp,this.handleMouseUp,!1)))}},{key:"isVertical",value:function(){return!this.props.disableCanvasRotation&&this.props.rotate%180!=0}},{key:"getBorders",value:function(e){var t=0<arguments.length&&void 0!==e?e:this.props.border;return Array.isArray(t)?t:[t,t]}},{key:"getDimensions",value:function(){var e=this.props,t=e.width,o=e.height,n=e.rotate,a=e.border,r={},i=m(this.getBorders(a),2),s=i[0],u=i[1],h=t,c=o;return this.isVertical()?(r.width=c,r.height=h):(r.width=h,r.height=c),r.width+=2*s,r.height+=2*u,{canvas:r,rotate:n,width:t,height:o,border:a}}},{key:"getImage",value:function(){var e=this.getCroppingRect(),t=this.state.image;e.x*=t.resource.width,e.y*=t.resource.height,e.width*=t.resource.width,e.height*=t.resource.height;var o=document.createElement("canvas");this.isVertical()?(o.width=e.height,o.height=e.width):(o.width=e.width,o.height=e.height);var n=o.getContext("2d");return n.translate(o.width/2,o.height/2),n.rotate(this.props.rotate*Math.PI/180),n.translate(-o.width/2,-o.height/2),this.isVertical()&&n.translate((o.width-o.height)/2,(o.height-o.width)/2),t.backgroundColor&&(n.fillStyle=t.backgroundColor,n.fillRect(-e.x,-e.y,t.resource.width,t.resource.height)),n.drawImage(t.resource,-e.x,-e.y),o}},{key:"getImageScaledToCanvas",value:function(){var e=this.getDimensions(),t=e.width,o=e.height,n=document.createElement("canvas");return this.isVertical()?(n.width=o,n.height=t):(n.width=t,n.height=o),this.paintImage(n.getContext("2d"),this.state.image,0,1),n}},{key:"getXScale",value:function(){var e=this.props.width/this.props.height,t=this.state.image.width/this.state.image.height;return Math.min(1,e/t)}},{key:"getYScale",value:function(){var e=this.props.height/this.props.width,t=this.state.image.height/this.state.image.width;return Math.min(1,e/t)}},{key:"getCroppingRect",value:function(){var e=this.props.position||{x:this.state.image.x,y:this.state.image.y},t=1/this.props.scale*this.getXScale(),o=1/this.props.scale*this.getYScale(),n={x:e.x-t/2,y:e.y-o/2,width:t,height:o},a=0,r=1-n.width,i=0,s=1-n.height;return(this.props.disableBoundaryChecks||1<t||1<o)&&(a=-n.width,i=-n.height,s=r=1),y(y({},n),{},{x:Math.max(a,Math.min(n.x,r)),y:Math.max(i,Math.min(n.y,s))})}},{key:"loadImage",value:function(e){var t;M&&e instanceof File?this.loadingImage=(t=e,new Promise(function(o,n){var e=new FileReader;e.onload=function(e){try{var t=v(e.target.result);o(t)}catch(e){n(e)}},e.readAsDataURL(t)}).then(this.handleImageReady).catch(this.props.onLoadFailure)):"string"==typeof e&&(this.loadingImage=v(e,this.props.crossOrigin).then(this.handleImageReady).catch(this.props.onLoadFailure))}},{key:"getInitialSize",value:function(e,t){var o,n,a=this.getDimensions();return t/e<a.height/a.width?n=e*((o=this.getDimensions().height)/t):o=t*((n=this.getDimensions().width)/e),{height:o,width:n}}},{key:"paintImage",value:function(e,t,o,n){var a,r=3<arguments.length&&void 0!==n?n:P;t.resource&&(a=this.calculatePosition(t,o),e.save(),e.translate(e.canvas.width/2,e.canvas.height/2),e.rotate(this.props.rotate*Math.PI/180),e.translate(-e.canvas.width/2,-e.canvas.height/2),this.isVertical()&&e.translate((e.canvas.width-e.canvas.height)/2,(e.canvas.height-e.canvas.width)/2),e.scale(r,r),e.globalCompositeOperation="destination-over",e.drawImage(t.resource,a.x,a.y,a.width,a.height),t.backgroundColor&&(e.fillStyle=t.backgroundColor,e.fillRect(a.x,a.y,a.width,a.height)),e.restore())}},{key:"calculatePosition",value:function(e,t){e=e||this.state.image;var o=m(this.getBorders(t),2),n=o[0],a=o[1],r=this.getCroppingRect(),i=e.width*this.props.scale,s=e.height*this.props.scale,u=-r.x*i,h=-r.y*s;return this.isVertical()?(u+=a,h+=n):(u+=n,h+=a),{x:u,y:h,height:s,width:i}}},{key:"paint",value:function(e){e.save(),e.scale(P,P),e.translate(0,0),e.fillStyle="rgba("+this.props.color.slice(0,4).join(",")+")";var t,o,n,a,r,i,s,u,h=this.props.borderRadius,c=this.getDimensions(),l=m(this.getBorders(c.border),2),d=l[0],p=l[1],g=c.canvas.height,f=c.canvas.width,h=Math.max(h,0);h=Math.min(h,f/2-d,g/2-p),e.beginPath(),t=e,a=f-2*(o=d),r=g-2*(n=p),0===(i=h)?t.rect(o,n,a,r):(s=a-i,u=r-i,t.translate(o,n),t.arc(i,i,i,Math.PI,1.5*Math.PI),t.lineTo(s,0),t.arc(s,i,i,1.5*Math.PI,2*Math.PI),t.lineTo(a,u),t.arc(s,u,i,2*Math.PI,.5*Math.PI),t.lineTo(i,r),t.arc(i,u,i,.5*Math.PI,Math.PI),t.translate(-o,-n)),e.rect(f,0,-f,g),e.fill("evenodd"),e.restore()}},{key:"render",value:function(){var e=this.props,t=(e.scale,e.rotate,e.image,e.border,e.borderRadius,e.width,e.height,e.position,e.color,e.backgroundColor,e.style),o=(e.crossOrigin,e.onLoadFailure,e.onLoadSuccess,e.onImageReady,e.onImageChange,e.onMouseUp,e.onMouseMove,e.onPositionChange,e.disableBoundaryChecks,e.disableHiDPIScaling,e.disableCanvasRotation,l(e,["scale","rotate","image","border","borderRadius","width","height","position","color","backgroundColor","style","crossOrigin","onLoadFailure","onLoadSuccess","onImageReady","onImageChange","onMouseUp","onMouseMove","onPositionChange","disableBoundaryChecks","disableHiDPIScaling","disableCanvasRotation"])),n=this.getDimensions(),a={width:n.canvas.width,height:n.canvas.height,cursor:this.state.drag?"grabbing":"grab",touchAction:"none"},r={width:n.canvas.width*P,height:n.canvas.height*P,style:y(y({},a),t)};return r[I.react.down]=this.handleMouseDown,w&&(r[I.react.mouseDown]=this.handleMouseDown),i.default.createElement("canvas",u({ref:this.setCanvas},r,o))}}])&&r(e.prototype,t),o&&r(e,o),a}();return s(x,"propTypes",{scale:n.default.number,rotate:n.default.number,image:n.default.oneOfType([n.default.string].concat(function(e){if(Array.isArray(e))return f(e)}(b=M?[n.default.instanceOf(File)]:[])||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(b)||g(b)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())),border:n.default.oneOfType([n.default.number,n.default.arrayOf(n.default.number)]),borderRadius:n.default.number,width:n.default.number,height:n.default.number,position:n.default.shape({x:n.default.number,y:n.default.number}),color:n.default.arrayOf(n.default.number),backgroundColor:n.default.string,crossOrigin:n.default.oneOf(["","anonymous","use-credentials"]),onLoadFailure:n.default.func,onLoadSuccess:n.default.func,onImageReady:n.default.func,onImageChange:n.default.func,onMouseUp:n.default.func,onMouseMove:n.default.func,onPositionChange:n.default.func,disableBoundaryChecks:n.default.bool,disableHiDPIScaling:n.default.bool,disableCanvasRotation:n.default.bool}),s(x,"defaultProps",{scale:1,rotate:0,border:25,borderRadius:0,width:200,height:200,color:[0,0,0,.5],onLoadFailure:function(){},onLoadSuccess:function(){},onImageReady:function(){},onImageChange:function(){},onMouseUp:function(){},onMouseMove:function(){},onPositionChange:function(){},disableBoundaryChecks:!1,disableHiDPIScaling:!1,disableCanvasRotation:!0}),x});
12983
12984
12985 /***/ }),
12986
12987 /***/ "../node_modules/react-draggable/build/cjs/Draggable.js":
12988 /*!**************************************************************!*\
12989 !*** ../node_modules/react-draggable/build/cjs/Draggable.js ***!
12990 \**************************************************************/
12991 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
12992
12993 "use strict";
12994
12995
12996 function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
12997
12998 Object.defineProperty(exports, "__esModule", ({
12999 value: true
13000 }));
13001 Object.defineProperty(exports, "DraggableCore", ({
13002 enumerable: true,
13003 get: function get() {
13004 return _DraggableCore.default;
13005 }
13006 }));
13007 exports["default"] = void 0;
13008
13009 var React = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
13010
13011 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
13012
13013 var _reactDom = _interopRequireDefault(__webpack_require__(/*! react-dom */ "react-dom"));
13014
13015 var _clsx2 = _interopRequireDefault(__webpack_require__(/*! clsx */ "../node_modules/clsx/dist/clsx.m.js"));
13016
13017 var _domFns = __webpack_require__(/*! ./utils/domFns */ "../node_modules/react-draggable/build/cjs/utils/domFns.js");
13018
13019 var _positionFns = __webpack_require__(/*! ./utils/positionFns */ "../node_modules/react-draggable/build/cjs/utils/positionFns.js");
13020
13021 var _shims = __webpack_require__(/*! ./utils/shims */ "../node_modules/react-draggable/build/cjs/utils/shims.js");
13022
13023 var _DraggableCore = _interopRequireDefault(__webpack_require__(/*! ./DraggableCore */ "../node_modules/react-draggable/build/cjs/DraggableCore.js"));
13024
13025 var _log = _interopRequireDefault(__webpack_require__(/*! ./utils/log */ "../node_modules/react-draggable/build/cjs/utils/log.js"));
13026
13027 var _excluded = ["axis", "bounds", "children", "defaultPosition", "defaultClassName", "defaultClassNameDragging", "defaultClassNameDragged", "position", "positionOffset", "scale"];
13028
13029 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13030
13031 function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
13032
13033 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; }
13034
13035 function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
13036
13037 function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
13038
13039 function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
13040
13041 function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
13042
13043 function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
13044
13045 function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
13046
13047 function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
13048
13049 function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
13050
13051 function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
13052
13053 function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
13054
13055 function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
13056
13057 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
13058
13059 function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
13060
13061 function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
13062
13063 function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
13064
13065 function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
13066
13067 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); }; }
13068
13069 function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
13070
13071 function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
13072
13073 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; } }
13074
13075 function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
13076
13077 function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
13078
13079 //
13080 // Define <Draggable>
13081 //
13082 var Draggable = /*#__PURE__*/function (_React$Component) {
13083 _inherits(Draggable, _React$Component);
13084
13085 var _super = _createSuper(Draggable);
13086
13087 function Draggable(props
13088 /*: DraggableProps*/
13089 ) {
13090 var _this;
13091
13092 _classCallCheck(this, Draggable);
13093
13094 _this = _super.call(this, props);
13095
13096 _defineProperty(_assertThisInitialized(_this), "onDragStart", function (e, coreData) {
13097 (0, _log.default)('Draggable: onDragStart: %j', coreData); // Short-circuit if user's callback killed it.
13098
13099 var shouldStart = _this.props.onStart(e, (0, _positionFns.createDraggableData)(_assertThisInitialized(_this), coreData)); // Kills start event on core as well, so move handlers are never bound.
13100
13101
13102 if (shouldStart === false) return false;
13103
13104 _this.setState({
13105 dragging: true,
13106 dragged: true
13107 });
13108 });
13109
13110 _defineProperty(_assertThisInitialized(_this), "onDrag", function (e, coreData) {
13111 if (!_this.state.dragging) return false;
13112 (0, _log.default)('Draggable: onDrag: %j', coreData);
13113 var uiData = (0, _positionFns.createDraggableData)(_assertThisInitialized(_this), coreData);
13114 var newState
13115 /*: $Shape<DraggableState>*/
13116 = {
13117 x: uiData.x,
13118 y: uiData.y
13119 }; // Keep within bounds.
13120
13121 if (_this.props.bounds) {
13122 // Save original x and y.
13123 var x = newState.x,
13124 y = newState.y; // Add slack to the values used to calculate bound position. This will ensure that if
13125 // we start removing slack, the element won't react to it right away until it's been
13126 // completely removed.
13127
13128 newState.x += _this.state.slackX;
13129 newState.y += _this.state.slackY; // Get bound position. This will ceil/floor the x and y within the boundaries.
13130
13131 var _getBoundPosition = (0, _positionFns.getBoundPosition)(_assertThisInitialized(_this), newState.x, newState.y),
13132 _getBoundPosition2 = _slicedToArray(_getBoundPosition, 2),
13133 newStateX = _getBoundPosition2[0],
13134 newStateY = _getBoundPosition2[1];
13135
13136 newState.x = newStateX;
13137 newState.y = newStateY; // Recalculate slack by noting how much was shaved by the boundPosition handler.
13138
13139 newState.slackX = _this.state.slackX + (x - newState.x);
13140 newState.slackY = _this.state.slackY + (y - newState.y); // Update the event we fire to reflect what really happened after bounds took effect.
13141
13142 uiData.x = newState.x;
13143 uiData.y = newState.y;
13144 uiData.deltaX = newState.x - _this.state.x;
13145 uiData.deltaY = newState.y - _this.state.y;
13146 } // Short-circuit if user's callback killed it.
13147
13148
13149 var shouldUpdate = _this.props.onDrag(e, uiData);
13150
13151 if (shouldUpdate === false) return false;
13152
13153 _this.setState(newState);
13154 });
13155
13156 _defineProperty(_assertThisInitialized(_this), "onDragStop", function (e, coreData) {
13157 if (!_this.state.dragging) return false; // Short-circuit if user's callback killed it.
13158
13159 var shouldContinue = _this.props.onStop(e, (0, _positionFns.createDraggableData)(_assertThisInitialized(_this), coreData));
13160
13161 if (shouldContinue === false) return false;
13162 (0, _log.default)('Draggable: onDragStop: %j', coreData);
13163 var newState
13164 /*: $Shape<DraggableState>*/
13165 = {
13166 dragging: false,
13167 slackX: 0,
13168 slackY: 0
13169 }; // If this is a controlled component, the result of this operation will be to
13170 // revert back to the old position. We expect a handler on `onDragStop`, at the least.
13171
13172 var controlled = Boolean(_this.props.position);
13173
13174 if (controlled) {
13175 var _this$props$position = _this.props.position,
13176 x = _this$props$position.x,
13177 y = _this$props$position.y;
13178 newState.x = x;
13179 newState.y = y;
13180 }
13181
13182 _this.setState(newState);
13183 });
13184
13185 _this.state = {
13186 // Whether or not we are currently dragging.
13187 dragging: false,
13188 // Whether or not we have been dragged before.
13189 dragged: false,
13190 // Current transform x and y.
13191 x: props.position ? props.position.x : props.defaultPosition.x,
13192 y: props.position ? props.position.y : props.defaultPosition.y,
13193 prevPropsPosition: _objectSpread({}, props.position),
13194 // Used for compensating for out-of-bounds drags
13195 slackX: 0,
13196 slackY: 0,
13197 // Can only determine if SVG after mounting
13198 isElementSVG: false
13199 };
13200
13201 if (props.position && !(props.onDrag || props.onStop)) {
13202 // eslint-disable-next-line no-console
13203 console.warn('A `position` was applied to this <Draggable>, without drag handlers. This will make this ' + 'component effectively undraggable. Please attach `onDrag` or `onStop` handlers so you can adjust the ' + '`position` of this element.');
13204 }
13205
13206 return _this;
13207 }
13208
13209 _createClass(Draggable, [{
13210 key: "componentDidMount",
13211 value: function componentDidMount() {
13212 // Check to see if the element passed is an instanceof SVGElement
13213 if (typeof window.SVGElement !== 'undefined' && this.findDOMNode() instanceof window.SVGElement) {
13214 this.setState({
13215 isElementSVG: true
13216 });
13217 }
13218 }
13219 }, {
13220 key: "componentWillUnmount",
13221 value: function componentWillUnmount() {
13222 this.setState({
13223 dragging: false
13224 }); // prevents invariant if unmounted while dragging
13225 } // React Strict Mode compatibility: if `nodeRef` is passed, we will use it instead of trying to find
13226 // the underlying DOM node ourselves. See the README for more information.
13227
13228 }, {
13229 key: "findDOMNode",
13230 value: function findDOMNode()
13231 /*: ?HTMLElement*/
13232 {
13233 var _this$props$nodeRef$c, _this$props, _this$props$nodeRef;
13234
13235 return (_this$props$nodeRef$c = (_this$props = this.props) === null || _this$props === void 0 ? void 0 : (_this$props$nodeRef = _this$props.nodeRef) === null || _this$props$nodeRef === void 0 ? void 0 : _this$props$nodeRef.current) !== null && _this$props$nodeRef$c !== void 0 ? _this$props$nodeRef$c : _reactDom.default.findDOMNode(this);
13236 }
13237 }, {
13238 key: "render",
13239 value: function render()
13240 /*: ReactElement<any>*/
13241 {
13242 var _clsx;
13243
13244 var _this$props2 = this.props,
13245 axis = _this$props2.axis,
13246 bounds = _this$props2.bounds,
13247 children = _this$props2.children,
13248 defaultPosition = _this$props2.defaultPosition,
13249 defaultClassName = _this$props2.defaultClassName,
13250 defaultClassNameDragging = _this$props2.defaultClassNameDragging,
13251 defaultClassNameDragged = _this$props2.defaultClassNameDragged,
13252 position = _this$props2.position,
13253 positionOffset = _this$props2.positionOffset,
13254 scale = _this$props2.scale,
13255 draggableCoreProps = _objectWithoutProperties(_this$props2, _excluded);
13256
13257 var style = {};
13258 var svgTransform = null; // If this is controlled, we don't want to move it - unless it's dragging.
13259
13260 var controlled = Boolean(position);
13261 var draggable = !controlled || this.state.dragging;
13262 var validPosition = position || defaultPosition;
13263 var transformOpts = {
13264 // Set left if horizontal drag is enabled
13265 x: (0, _positionFns.canDragX)(this) && draggable ? this.state.x : validPosition.x,
13266 // Set top if vertical drag is enabled
13267 y: (0, _positionFns.canDragY)(this) && draggable ? this.state.y : validPosition.y
13268 }; // If this element was SVG, we use the `transform` attribute.
13269
13270 if (this.state.isElementSVG) {
13271 svgTransform = (0, _domFns.createSVGTransform)(transformOpts, positionOffset);
13272 } else {
13273 // Add a CSS transform to move the element around. This allows us to move the element around
13274 // without worrying about whether or not it is relatively or absolutely positioned.
13275 // If the item you are dragging already has a transform set, wrap it in a <span> so <Draggable>
13276 // has a clean slate.
13277 style = (0, _domFns.createCSSTransform)(transformOpts, positionOffset);
13278 } // Mark with class while dragging
13279
13280
13281 var className = (0, _clsx2.default)(children.props.className || '', defaultClassName, (_clsx = {}, _defineProperty(_clsx, defaultClassNameDragging, this.state.dragging), _defineProperty(_clsx, defaultClassNameDragged, this.state.dragged), _clsx)); // Reuse the child provided
13282 // This makes it flexible to use whatever element is wanted (div, ul, etc)
13283
13284 return /*#__PURE__*/React.createElement(_DraggableCore.default, _extends({}, draggableCoreProps, {
13285 onStart: this.onDragStart,
13286 onDrag: this.onDrag,
13287 onStop: this.onDragStop
13288 }), /*#__PURE__*/React.cloneElement(React.Children.only(children), {
13289 className: className,
13290 style: _objectSpread(_objectSpread({}, children.props.style), style),
13291 transform: svgTransform
13292 }));
13293 }
13294 }], [{
13295 key: "getDerivedStateFromProps",
13296 value: // React 16.3+
13297 // Arity (props, state)
13298 function getDerivedStateFromProps(_ref, _ref2)
13299 /*: ?$Shape<DraggableState>*/
13300 {
13301 var position = _ref.position;
13302 var prevPropsPosition = _ref2.prevPropsPosition;
13303
13304 // Set x/y if a new position is provided in props that is different than the previous.
13305 if (position && (!prevPropsPosition || position.x !== prevPropsPosition.x || position.y !== prevPropsPosition.y)) {
13306 (0, _log.default)('Draggable: getDerivedStateFromProps %j', {
13307 position: position,
13308 prevPropsPosition: prevPropsPosition
13309 });
13310 return {
13311 x: position.x,
13312 y: position.y,
13313 prevPropsPosition: _objectSpread({}, position)
13314 };
13315 }
13316
13317 return null;
13318 }
13319 }]);
13320
13321 return Draggable;
13322 }(React.Component);
13323
13324 exports["default"] = Draggable;
13325
13326 _defineProperty(Draggable, "displayName", 'Draggable');
13327
13328 _defineProperty(Draggable, "propTypes", _objectSpread(_objectSpread({}, _DraggableCore.default.propTypes), {}, {
13329 /**
13330 * `axis` determines which axis the draggable can move.
13331 *
13332 * Note that all callbacks will still return data as normal. This only
13333 * controls flushing to the DOM.
13334 *
13335 * 'both' allows movement horizontally and vertically.
13336 * 'x' limits movement to horizontal axis.
13337 * 'y' limits movement to vertical axis.
13338 * 'none' limits all movement.
13339 *
13340 * Defaults to 'both'.
13341 */
13342 axis: _propTypes.default.oneOf(['both', 'x', 'y', 'none']),
13343
13344 /**
13345 * `bounds` determines the range of movement available to the element.
13346 * Available values are:
13347 *
13348 * 'parent' restricts movement within the Draggable's parent node.
13349 *
13350 * Alternatively, pass an object with the following properties, all of which are optional:
13351 *
13352 * {left: LEFT_BOUND, right: RIGHT_BOUND, bottom: BOTTOM_BOUND, top: TOP_BOUND}
13353 *
13354 * All values are in px.
13355 *
13356 * Example:
13357 *
13358 * ```jsx
13359 * let App = React.createClass({
13360 * render: function () {
13361 * return (
13362 * <Draggable bounds={{right: 300, bottom: 300}}>
13363 * <div>Content</div>
13364 * </Draggable>
13365 * );
13366 * }
13367 * });
13368 * ```
13369 */
13370 bounds: _propTypes.default.oneOfType([_propTypes.default.shape({
13371 left: _propTypes.default.number,
13372 right: _propTypes.default.number,
13373 top: _propTypes.default.number,
13374 bottom: _propTypes.default.number
13375 }), _propTypes.default.string, _propTypes.default.oneOf([false])]),
13376 defaultClassName: _propTypes.default.string,
13377 defaultClassNameDragging: _propTypes.default.string,
13378 defaultClassNameDragged: _propTypes.default.string,
13379
13380 /**
13381 * `defaultPosition` specifies the x and y that the dragged item should start at
13382 *
13383 * Example:
13384 *
13385 * ```jsx
13386 * let App = React.createClass({
13387 * render: function () {
13388 * return (
13389 * <Draggable defaultPosition={{x: 25, y: 25}}>
13390 * <div>I start with transformX: 25px and transformY: 25px;</div>
13391 * </Draggable>
13392 * );
13393 * }
13394 * });
13395 * ```
13396 */
13397 defaultPosition: _propTypes.default.shape({
13398 x: _propTypes.default.number,
13399 y: _propTypes.default.number
13400 }),
13401 positionOffset: _propTypes.default.shape({
13402 x: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
13403 y: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string])
13404 }),
13405
13406 /**
13407 * `position`, if present, defines the current position of the element.
13408 *
13409 * This is similar to how form elements in React work - if no `position` is supplied, the component
13410 * is uncontrolled.
13411 *
13412 * Example:
13413 *
13414 * ```jsx
13415 * let App = React.createClass({
13416 * render: function () {
13417 * return (
13418 * <Draggable position={{x: 25, y: 25}}>
13419 * <div>I start with transformX: 25px and transformY: 25px;</div>
13420 * </Draggable>
13421 * );
13422 * }
13423 * });
13424 * ```
13425 */
13426 position: _propTypes.default.shape({
13427 x: _propTypes.default.number,
13428 y: _propTypes.default.number
13429 }),
13430
13431 /**
13432 * These properties should be defined on the child, not here.
13433 */
13434 className: _shims.dontSetMe,
13435 style: _shims.dontSetMe,
13436 transform: _shims.dontSetMe
13437 }));
13438
13439 _defineProperty(Draggable, "defaultProps", _objectSpread(_objectSpread({}, _DraggableCore.default.defaultProps), {}, {
13440 axis: 'both',
13441 bounds: false,
13442 defaultClassName: 'react-draggable',
13443 defaultClassNameDragging: 'react-draggable-dragging',
13444 defaultClassNameDragged: 'react-draggable-dragged',
13445 defaultPosition: {
13446 x: 0,
13447 y: 0
13448 },
13449 scale: 1
13450 }));
13451
13452 /***/ }),
13453
13454 /***/ "../node_modules/react-draggable/build/cjs/DraggableCore.js":
13455 /*!******************************************************************!*\
13456 !*** ../node_modules/react-draggable/build/cjs/DraggableCore.js ***!
13457 \******************************************************************/
13458 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
13459
13460 "use strict";
13461
13462
13463 function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
13464
13465 Object.defineProperty(exports, "__esModule", ({
13466 value: true
13467 }));
13468 exports["default"] = void 0;
13469
13470 var React = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
13471
13472 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
13473
13474 var _reactDom = _interopRequireDefault(__webpack_require__(/*! react-dom */ "react-dom"));
13475
13476 var _domFns = __webpack_require__(/*! ./utils/domFns */ "../node_modules/react-draggable/build/cjs/utils/domFns.js");
13477
13478 var _positionFns = __webpack_require__(/*! ./utils/positionFns */ "../node_modules/react-draggable/build/cjs/utils/positionFns.js");
13479
13480 var _shims = __webpack_require__(/*! ./utils/shims */ "../node_modules/react-draggable/build/cjs/utils/shims.js");
13481
13482 var _log = _interopRequireDefault(__webpack_require__(/*! ./utils/log */ "../node_modules/react-draggable/build/cjs/utils/log.js"));
13483
13484 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13485
13486 function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
13487
13488 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; }
13489
13490 function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
13491
13492 function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
13493
13494 function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
13495
13496 function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
13497
13498 function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
13499
13500 function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
13501
13502 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
13503
13504 function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
13505
13506 function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
13507
13508 function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
13509
13510 function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
13511
13512 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); }; }
13513
13514 function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
13515
13516 function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
13517
13518 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; } }
13519
13520 function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
13521
13522 function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
13523
13524 // Simple abstraction for dragging events names.
13525 var eventsFor = {
13526 touch: {
13527 start: 'touchstart',
13528 move: 'touchmove',
13529 stop: 'touchend'
13530 },
13531 mouse: {
13532 start: 'mousedown',
13533 move: 'mousemove',
13534 stop: 'mouseup'
13535 }
13536 }; // Default to mouse events.
13537
13538 var dragEventFor = eventsFor.mouse;
13539 /*:: type DraggableCoreState = {
13540 dragging: boolean,
13541 lastX: number,
13542 lastY: number,
13543 touchIdentifier: ?number
13544 };*/
13545
13546 /*:: export type DraggableData = {
13547 node: HTMLElement,
13548 x: number, y: number,
13549 deltaX: number, deltaY: number,
13550 lastX: number, lastY: number,
13551 };*/
13552
13553 /*:: export type DraggableEventHandler = (e: MouseEvent, data: DraggableData) => void | false;*/
13554
13555 /*:: export type ControlPosition = {x: number, y: number};*/
13556
13557 /*:: export type PositionOffsetControlPosition = {x: number|string, y: number|string};*/
13558
13559 /*:: export type DraggableCoreDefaultProps = {
13560 allowAnyClick: boolean,
13561 disabled: boolean,
13562 enableUserSelectHack: boolean,
13563 onStart: DraggableEventHandler,
13564 onDrag: DraggableEventHandler,
13565 onStop: DraggableEventHandler,
13566 onMouseDown: (e: MouseEvent) => void,
13567 scale: number,
13568 };*/
13569
13570 /*:: export type DraggableCoreProps = {
13571 ...DraggableCoreDefaultProps,
13572 cancel: string,
13573 children: ReactElement<any>,
13574 offsetParent: HTMLElement,
13575 grid: [number, number],
13576 handle: string,
13577 nodeRef?: ?React.ElementRef<any>,
13578 };*/
13579
13580 //
13581 // Define <DraggableCore>.
13582 //
13583 // <DraggableCore> is for advanced usage of <Draggable>. It maintains minimal internal state so it can
13584 // work well with libraries that require more control over the element.
13585 //
13586 var DraggableCore = /*#__PURE__*/function (_React$Component) {
13587 _inherits(DraggableCore, _React$Component);
13588
13589 var _super = _createSuper(DraggableCore);
13590
13591 function DraggableCore() {
13592 var _this;
13593
13594 _classCallCheck(this, DraggableCore);
13595
13596 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
13597 args[_key] = arguments[_key];
13598 }
13599
13600 _this = _super.call.apply(_super, [this].concat(args));
13601
13602 _defineProperty(_assertThisInitialized(_this), "state", {
13603 dragging: false,
13604 // Used while dragging to determine deltas.
13605 lastX: NaN,
13606 lastY: NaN,
13607 touchIdentifier: null
13608 });
13609
13610 _defineProperty(_assertThisInitialized(_this), "mounted", false);
13611
13612 _defineProperty(_assertThisInitialized(_this), "handleDragStart", function (e) {
13613 // Make it possible to attach event handlers on top of this one.
13614 _this.props.onMouseDown(e); // Only accept left-clicks.
13615
13616
13617 if (!_this.props.allowAnyClick && typeof e.button === 'number' && e.button !== 0) return false; // Get nodes. Be sure to grab relative document (could be iframed)
13618
13619 var thisNode = _this.findDOMNode();
13620
13621 if (!thisNode || !thisNode.ownerDocument || !thisNode.ownerDocument.body) {
13622 throw new Error('<DraggableCore> not mounted on DragStart!');
13623 }
13624
13625 var ownerDocument = thisNode.ownerDocument; // Short circuit if handle or cancel prop was provided and selector doesn't match.
13626
13627 if (_this.props.disabled || !(e.target instanceof ownerDocument.defaultView.Node) || _this.props.handle && !(0, _domFns.matchesSelectorAndParentsTo)(e.target, _this.props.handle, thisNode) || _this.props.cancel && (0, _domFns.matchesSelectorAndParentsTo)(e.target, _this.props.cancel, thisNode)) {
13628 return;
13629 } // Prevent scrolling on mobile devices, like ipad/iphone.
13630 // Important that this is after handle/cancel.
13631
13632
13633 if (e.type === 'touchstart') e.preventDefault(); // Set touch identifier in component state if this is a touch event. This allows us to
13634 // distinguish between individual touches on multitouch screens by identifying which
13635 // touchpoint was set to this element.
13636
13637 var touchIdentifier = (0, _domFns.getTouchIdentifier)(e);
13638
13639 _this.setState({
13640 touchIdentifier: touchIdentifier
13641 }); // Get the current drag point from the event. This is used as the offset.
13642
13643
13644 var position = (0, _positionFns.getControlPosition)(e, touchIdentifier, _assertThisInitialized(_this));
13645 if (position == null) return; // not possible but satisfies flow
13646
13647 var x = position.x,
13648 y = position.y; // Create an event object with all the data parents need to make a decision here.
13649
13650 var coreEvent = (0, _positionFns.createCoreData)(_assertThisInitialized(_this), x, y);
13651 (0, _log.default)('DraggableCore: handleDragStart: %j', coreEvent); // Call event handler. If it returns explicit false, cancel.
13652
13653 (0, _log.default)('calling', _this.props.onStart);
13654
13655 var shouldUpdate = _this.props.onStart(e, coreEvent);
13656
13657 if (shouldUpdate === false || _this.mounted === false) return; // Add a style to the body to disable user-select. This prevents text from
13658 // being selected all over the page.
13659
13660 if (_this.props.enableUserSelectHack) (0, _domFns.addUserSelectStyles)(ownerDocument); // Initiate dragging. Set the current x and y as offsets
13661 // so we know how much we've moved during the drag. This allows us
13662 // to drag elements around even if they have been moved, without issue.
13663
13664 _this.setState({
13665 dragging: true,
13666 lastX: x,
13667 lastY: y
13668 }); // Add events to the document directly so we catch when the user's mouse/touch moves outside of
13669 // this element. We use different events depending on whether or not we have detected that this
13670 // is a touch-capable device.
13671
13672
13673 (0, _domFns.addEvent)(ownerDocument, dragEventFor.move, _this.handleDrag);
13674 (0, _domFns.addEvent)(ownerDocument, dragEventFor.stop, _this.handleDragStop);
13675 });
13676
13677 _defineProperty(_assertThisInitialized(_this), "handleDrag", function (e) {
13678 // Get the current drag point from the event. This is used as the offset.
13679 var position = (0, _positionFns.getControlPosition)(e, _this.state.touchIdentifier, _assertThisInitialized(_this));
13680 if (position == null) return;
13681 var x = position.x,
13682 y = position.y; // Snap to grid if prop has been provided
13683
13684 if (Array.isArray(_this.props.grid)) {
13685 var deltaX = x - _this.state.lastX,
13686 deltaY = y - _this.state.lastY;
13687
13688 var _snapToGrid = (0, _positionFns.snapToGrid)(_this.props.grid, deltaX, deltaY);
13689
13690 var _snapToGrid2 = _slicedToArray(_snapToGrid, 2);
13691
13692 deltaX = _snapToGrid2[0];
13693 deltaY = _snapToGrid2[1];
13694 if (!deltaX && !deltaY) return; // skip useless drag
13695
13696 x = _this.state.lastX + deltaX, y = _this.state.lastY + deltaY;
13697 }
13698
13699 var coreEvent = (0, _positionFns.createCoreData)(_assertThisInitialized(_this), x, y);
13700 (0, _log.default)('DraggableCore: handleDrag: %j', coreEvent); // Call event handler. If it returns explicit false, trigger end.
13701
13702 var shouldUpdate = _this.props.onDrag(e, coreEvent);
13703
13704 if (shouldUpdate === false || _this.mounted === false) {
13705 try {
13706 // $FlowIgnore
13707 _this.handleDragStop(new MouseEvent('mouseup'));
13708 } catch (err) {
13709 // Old browsers
13710 var event = ((document.createEvent('MouseEvents')
13711 /*: any*/
13712 )
13713 /*: MouseTouchEvent*/
13714 ); // I see why this insanity was deprecated
13715 // $FlowIgnore
13716
13717 event.initMouseEvent('mouseup', true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
13718
13719 _this.handleDragStop(event);
13720 }
13721
13722 return;
13723 }
13724
13725 _this.setState({
13726 lastX: x,
13727 lastY: y
13728 });
13729 });
13730
13731 _defineProperty(_assertThisInitialized(_this), "handleDragStop", function (e) {
13732 if (!_this.state.dragging) return;
13733 var position = (0, _positionFns.getControlPosition)(e, _this.state.touchIdentifier, _assertThisInitialized(_this));
13734 if (position == null) return;
13735 var x = position.x,
13736 y = position.y; // Snap to grid if prop has been provided
13737
13738 if (Array.isArray(_this.props.grid)) {
13739 var deltaX = x - _this.state.lastX || 0;
13740 var deltaY = y - _this.state.lastY || 0;
13741
13742 var _snapToGrid3 = (0, _positionFns.snapToGrid)(_this.props.grid, deltaX, deltaY);
13743
13744 var _snapToGrid4 = _slicedToArray(_snapToGrid3, 2);
13745
13746 deltaX = _snapToGrid4[0];
13747 deltaY = _snapToGrid4[1];
13748 x = _this.state.lastX + deltaX, y = _this.state.lastY + deltaY;
13749 }
13750
13751 var coreEvent = (0, _positionFns.createCoreData)(_assertThisInitialized(_this), x, y); // Call event handler
13752
13753 var shouldContinue = _this.props.onStop(e, coreEvent);
13754
13755 if (shouldContinue === false || _this.mounted === false) return false;
13756
13757 var thisNode = _this.findDOMNode();
13758
13759 if (thisNode) {
13760 // Remove user-select hack
13761 if (_this.props.enableUserSelectHack) (0, _domFns.removeUserSelectStyles)(thisNode.ownerDocument);
13762 }
13763
13764 (0, _log.default)('DraggableCore: handleDragStop: %j', coreEvent); // Reset the el.
13765
13766 _this.setState({
13767 dragging: false,
13768 lastX: NaN,
13769 lastY: NaN
13770 });
13771
13772 if (thisNode) {
13773 // Remove event handlers
13774 (0, _log.default)('DraggableCore: Removing handlers');
13775 (0, _domFns.removeEvent)(thisNode.ownerDocument, dragEventFor.move, _this.handleDrag);
13776 (0, _domFns.removeEvent)(thisNode.ownerDocument, dragEventFor.stop, _this.handleDragStop);
13777 }
13778 });
13779
13780 _defineProperty(_assertThisInitialized(_this), "onMouseDown", function (e) {
13781 dragEventFor = eventsFor.mouse; // on touchscreen laptops we could switch back to mouse
13782
13783 return _this.handleDragStart(e);
13784 });
13785
13786 _defineProperty(_assertThisInitialized(_this), "onMouseUp", function (e) {
13787 dragEventFor = eventsFor.mouse;
13788 return _this.handleDragStop(e);
13789 });
13790
13791 _defineProperty(_assertThisInitialized(_this), "onTouchStart", function (e) {
13792 // We're on a touch device now, so change the event handlers
13793 dragEventFor = eventsFor.touch;
13794 return _this.handleDragStart(e);
13795 });
13796
13797 _defineProperty(_assertThisInitialized(_this), "onTouchEnd", function (e) {
13798 // We're on a touch device now, so change the event handlers
13799 dragEventFor = eventsFor.touch;
13800 return _this.handleDragStop(e);
13801 });
13802
13803 return _this;
13804 }
13805
13806 _createClass(DraggableCore, [{
13807 key: "componentDidMount",
13808 value: function componentDidMount() {
13809 this.mounted = true; // Touch handlers must be added with {passive: false} to be cancelable.
13810 // https://developers.google.com/web/updates/2017/01/scrolling-intervention
13811
13812 var thisNode = this.findDOMNode();
13813
13814 if (thisNode) {
13815 (0, _domFns.addEvent)(thisNode, eventsFor.touch.start, this.onTouchStart, {
13816 passive: false
13817 });
13818 }
13819 }
13820 }, {
13821 key: "componentWillUnmount",
13822 value: function componentWillUnmount() {
13823 this.mounted = false; // Remove any leftover event handlers. Remove both touch and mouse handlers in case
13824 // some browser quirk caused a touch event to fire during a mouse move, or vice versa.
13825
13826 var thisNode = this.findDOMNode();
13827
13828 if (thisNode) {
13829 var ownerDocument = thisNode.ownerDocument;
13830 (0, _domFns.removeEvent)(ownerDocument, eventsFor.mouse.move, this.handleDrag);
13831 (0, _domFns.removeEvent)(ownerDocument, eventsFor.touch.move, this.handleDrag);
13832 (0, _domFns.removeEvent)(ownerDocument, eventsFor.mouse.stop, this.handleDragStop);
13833 (0, _domFns.removeEvent)(ownerDocument, eventsFor.touch.stop, this.handleDragStop);
13834 (0, _domFns.removeEvent)(thisNode, eventsFor.touch.start, this.onTouchStart, {
13835 passive: false
13836 });
13837 if (this.props.enableUserSelectHack) (0, _domFns.removeUserSelectStyles)(ownerDocument);
13838 }
13839 } // React Strict Mode compatibility: if `nodeRef` is passed, we will use it instead of trying to find
13840 // the underlying DOM node ourselves. See the README for more information.
13841
13842 }, {
13843 key: "findDOMNode",
13844 value: function findDOMNode()
13845 /*: ?HTMLElement*/
13846 {
13847 var _this$props, _this$props2, _this$props2$nodeRef;
13848
13849 return (_this$props = this.props) !== null && _this$props !== void 0 && _this$props.nodeRef ? (_this$props2 = this.props) === null || _this$props2 === void 0 ? void 0 : (_this$props2$nodeRef = _this$props2.nodeRef) === null || _this$props2$nodeRef === void 0 ? void 0 : _this$props2$nodeRef.current : _reactDom.default.findDOMNode(this);
13850 }
13851 }, {
13852 key: "render",
13853 value: function render()
13854 /*: React.Element<any>*/
13855 {
13856 // Reuse the child provided
13857 // This makes it flexible to use whatever element is wanted (div, ul, etc)
13858 return /*#__PURE__*/React.cloneElement(React.Children.only(this.props.children), {
13859 // Note: mouseMove handler is attached to document so it will still function
13860 // when the user drags quickly and leaves the bounds of the element.
13861 onMouseDown: this.onMouseDown,
13862 onMouseUp: this.onMouseUp,
13863 // onTouchStart is added on `componentDidMount` so they can be added with
13864 // {passive: false}, which allows it to cancel. See
13865 // https://developers.google.com/web/updates/2017/01/scrolling-intervention
13866 onTouchEnd: this.onTouchEnd
13867 });
13868 }
13869 }]);
13870
13871 return DraggableCore;
13872 }(React.Component);
13873
13874 exports["default"] = DraggableCore;
13875
13876 _defineProperty(DraggableCore, "displayName", 'DraggableCore');
13877
13878 _defineProperty(DraggableCore, "propTypes", {
13879 /**
13880 * `allowAnyClick` allows dragging using any mouse button.
13881 * By default, we only accept the left button.
13882 *
13883 * Defaults to `false`.
13884 */
13885 allowAnyClick: _propTypes.default.bool,
13886
13887 /**
13888 * `disabled`, if true, stops the <Draggable> from dragging. All handlers,
13889 * with the exception of `onMouseDown`, will not fire.
13890 */
13891 disabled: _propTypes.default.bool,
13892
13893 /**
13894 * By default, we add 'user-select:none' attributes to the document body
13895 * to prevent ugly text selection during drag. If this is causing problems
13896 * for your app, set this to `false`.
13897 */
13898 enableUserSelectHack: _propTypes.default.bool,
13899
13900 /**
13901 * `offsetParent`, if set, uses the passed DOM node to compute drag offsets
13902 * instead of using the parent node.
13903 */
13904 offsetParent: function offsetParent(props
13905 /*: DraggableCoreProps*/
13906 , propName
13907 /*: $Keys<DraggableCoreProps>*/
13908 ) {
13909 if (props[propName] && props[propName].nodeType !== 1) {
13910 throw new Error('Draggable\'s offsetParent must be a DOM Node.');
13911 }
13912 },
13913
13914 /**
13915 * `grid` specifies the x and y that dragging should snap to.
13916 */
13917 grid: _propTypes.default.arrayOf(_propTypes.default.number),
13918
13919 /**
13920 * `handle` specifies a selector to be used as the handle that initiates drag.
13921 *
13922 * Example:
13923 *
13924 * ```jsx
13925 * let App = React.createClass({
13926 * render: function () {
13927 * return (
13928 * <Draggable handle=".handle">
13929 * <div>
13930 * <div className="handle">Click me to drag</div>
13931 * <div>This is some other content</div>
13932 * </div>
13933 * </Draggable>
13934 * );
13935 * }
13936 * });
13937 * ```
13938 */
13939 handle: _propTypes.default.string,
13940
13941 /**
13942 * `cancel` specifies a selector to be used to prevent drag initialization.
13943 *
13944 * Example:
13945 *
13946 * ```jsx
13947 * let App = React.createClass({
13948 * render: function () {
13949 * return(
13950 * <Draggable cancel=".cancel">
13951 * <div>
13952 * <div className="cancel">You can't drag from here</div>
13953 * <div>Dragging here works fine</div>
13954 * </div>
13955 * </Draggable>
13956 * );
13957 * }
13958 * });
13959 * ```
13960 */
13961 cancel: _propTypes.default.string,
13962
13963 /* If running in React Strict mode, ReactDOM.findDOMNode() is deprecated.
13964 * Unfortunately, in order for <Draggable> to work properly, we need raw access
13965 * to the underlying DOM node. If you want to avoid the warning, pass a `nodeRef`
13966 * as in this example:
13967 *
13968 * function MyComponent() {
13969 * const nodeRef = React.useRef(null);
13970 * return (
13971 * <Draggable nodeRef={nodeRef}>
13972 * <div ref={nodeRef}>Example Target</div>
13973 * </Draggable>
13974 * );
13975 * }
13976 *
13977 * This can be used for arbitrarily nested components, so long as the ref ends up
13978 * pointing to the actual child DOM node and not a custom component.
13979 */
13980 nodeRef: _propTypes.default.object,
13981
13982 /**
13983 * Called when dragging starts.
13984 * If this function returns the boolean false, dragging will be canceled.
13985 */
13986 onStart: _propTypes.default.func,
13987
13988 /**
13989 * Called while dragging.
13990 * If this function returns the boolean false, dragging will be canceled.
13991 */
13992 onDrag: _propTypes.default.func,
13993
13994 /**
13995 * Called when dragging stops.
13996 * If this function returns the boolean false, the drag will remain active.
13997 */
13998 onStop: _propTypes.default.func,
13999
14000 /**
14001 * A workaround option which can be passed if onMouseDown needs to be accessed,
14002 * since it'll always be blocked (as there is internal use of onMouseDown)
14003 */
14004 onMouseDown: _propTypes.default.func,
14005
14006 /**
14007 * `scale`, if set, applies scaling while dragging an element
14008 */
14009 scale: _propTypes.default.number,
14010
14011 /**
14012 * These properties should be defined on the child, not here.
14013 */
14014 className: _shims.dontSetMe,
14015 style: _shims.dontSetMe,
14016 transform: _shims.dontSetMe
14017 });
14018
14019 _defineProperty(DraggableCore, "defaultProps", {
14020 allowAnyClick: false,
14021 // by default only accept left click
14022 disabled: false,
14023 enableUserSelectHack: true,
14024 onStart: function onStart() {},
14025 onDrag: function onDrag() {},
14026 onStop: function onStop() {},
14027 onMouseDown: function onMouseDown() {},
14028 scale: 1
14029 });
14030
14031 /***/ }),
14032
14033 /***/ "../node_modules/react-draggable/build/cjs/cjs.js":
14034 /*!********************************************************!*\
14035 !*** ../node_modules/react-draggable/build/cjs/cjs.js ***!
14036 \********************************************************/
14037 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
14038
14039 "use strict";
14040
14041
14042 var _require = __webpack_require__(/*! ./Draggable */ "../node_modules/react-draggable/build/cjs/Draggable.js"),
14043 Draggable = _require.default,
14044 DraggableCore = _require.DraggableCore; // Previous versions of this lib exported <Draggable> as the root export. As to no-// them, or TypeScript, we export *both* as the root and as 'default'.
14045 // See https://github.com/mzabriskie/react-draggable/pull/254
14046 // and https://github.com/mzabriskie/react-draggable/issues/266
14047
14048
14049 module.exports = Draggable;
14050 module.exports["default"] = Draggable;
14051 module.exports.DraggableCore = DraggableCore;
14052
14053 /***/ }),
14054
14055 /***/ "../node_modules/react-draggable/build/cjs/utils/domFns.js":
14056 /*!*****************************************************************!*\
14057 !*** ../node_modules/react-draggable/build/cjs/utils/domFns.js ***!
14058 \*****************************************************************/
14059 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
14060
14061 "use strict";
14062
14063
14064 function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
14065
14066 Object.defineProperty(exports, "__esModule", ({
14067 value: true
14068 }));
14069 exports.addClassName = addClassName;
14070 exports.addEvent = addEvent;
14071 exports.addUserSelectStyles = addUserSelectStyles;
14072 exports.createCSSTransform = createCSSTransform;
14073 exports.createSVGTransform = createSVGTransform;
14074 exports.getTouch = getTouch;
14075 exports.getTouchIdentifier = getTouchIdentifier;
14076 exports.getTranslation = getTranslation;
14077 exports.innerHeight = innerHeight;
14078 exports.innerWidth = innerWidth;
14079 exports.matchesSelector = matchesSelector;
14080 exports.matchesSelectorAndParentsTo = matchesSelectorAndParentsTo;
14081 exports.offsetXYFromParent = offsetXYFromParent;
14082 exports.outerHeight = outerHeight;
14083 exports.outerWidth = outerWidth;
14084 exports.removeClassName = removeClassName;
14085 exports.removeEvent = removeEvent;
14086 exports.removeUserSelectStyles = removeUserSelectStyles;
14087
14088 var _shims = __webpack_require__(/*! ./shims */ "../node_modules/react-draggable/build/cjs/utils/shims.js");
14089
14090 var _getPrefix = _interopRequireWildcard(__webpack_require__(/*! ./getPrefix */ "../node_modules/react-draggable/build/cjs/utils/getPrefix.js"));
14091
14092 function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
14093
14094 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; }
14095
14096 function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
14097
14098 function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
14099
14100 function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
14101
14102 var matchesSelectorFunc = '';
14103
14104 function matchesSelector(el
14105 /*: Node*/
14106 , selector
14107 /*: string*/
14108 )
14109 /*: boolean*/
14110 {
14111 if (!matchesSelectorFunc) {
14112 matchesSelectorFunc = (0, _shims.findInArray)(['matches', 'webkitMatchesSelector', 'mozMatchesSelector', 'msMatchesSelector', 'oMatchesSelector'], function (method) {
14113 // $FlowIgnore: Doesn't think elements are indexable
14114 return (0, _shims.isFunction)(el[method]);
14115 });
14116 } // Might not be found entirely (not an Element?) - in that case, bail
14117 // $FlowIgnore: Doesn't think elements are indexable
14118
14119
14120 if (!(0, _shims.isFunction)(el[matchesSelectorFunc])) return false; // $FlowIgnore: Doesn't think elements are indexable
14121
14122 return el[matchesSelectorFunc](selector);
14123 } // Works up the tree to the draggable itself attempting to match selector.
14124
14125
14126 function matchesSelectorAndParentsTo(el
14127 /*: Node*/
14128 , selector
14129 /*: string*/
14130 , baseNode
14131 /*: Node*/
14132 )
14133 /*: boolean*/
14134 {
14135 var node = el;
14136
14137 do {
14138 if (matchesSelector(node, selector)) return true;
14139 if (node === baseNode) return false;
14140 node = node.parentNode;
14141 } while (node);
14142
14143 return false;
14144 }
14145
14146 function addEvent(el
14147 /*: ?Node*/
14148 , event
14149 /*: string*/
14150 , handler
14151 /*: Function*/
14152 , inputOptions
14153 /*: Object*/
14154 )
14155 /*: void*/
14156 {
14157 if (!el) return;
14158
14159 var options = _objectSpread({
14160 capture: true
14161 }, inputOptions); // $FlowIgnore[method-unbinding]
14162
14163
14164 if (el.addEventListener) {
14165 el.addEventListener(event, handler, options);
14166 } else if (el.attachEvent) {
14167 el.attachEvent('on' + event, handler);
14168 } else {
14169 // $FlowIgnore: Doesn't think elements are indexable
14170 el['on' + event] = handler;
14171 }
14172 }
14173
14174 function removeEvent(el
14175 /*: ?Node*/
14176 , event
14177 /*: string*/
14178 , handler
14179 /*: Function*/
14180 , inputOptions
14181 /*: Object*/
14182 )
14183 /*: void*/
14184 {
14185 if (!el) return;
14186
14187 var options = _objectSpread({
14188 capture: true
14189 }, inputOptions); // $FlowIgnore[method-unbinding]
14190
14191
14192 if (el.removeEventListener) {
14193 el.removeEventListener(event, handler, options);
14194 } else if (el.detachEvent) {
14195 el.detachEvent('on' + event, handler);
14196 } else {
14197 // $FlowIgnore: Doesn't think elements are indexable
14198 el['on' + event] = null;
14199 }
14200 }
14201
14202 function outerHeight(node
14203 /*: HTMLElement*/
14204 )
14205 /*: number*/
14206 {
14207 // This is deliberately excluding margin for our calculations, since we are using
14208 // offsetTop which is including margin. See getBoundPosition
14209 var height = node.clientHeight;
14210 var computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);
14211 height += (0, _shims.int)(computedStyle.borderTopWidth);
14212 height += (0, _shims.int)(computedStyle.borderBottomWidth);
14213 return height;
14214 }
14215
14216 function outerWidth(node
14217 /*: HTMLElement*/
14218 )
14219 /*: number*/
14220 {
14221 // This is deliberately excluding margin for our calculations, since we are using
14222 // offsetLeft which is including margin. See getBoundPosition
14223 var width = node.clientWidth;
14224 var computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);
14225 width += (0, _shims.int)(computedStyle.borderLeftWidth);
14226 width += (0, _shims.int)(computedStyle.borderRightWidth);
14227 return width;
14228 }
14229
14230 function innerHeight(node
14231 /*: HTMLElement*/
14232 )
14233 /*: number*/
14234 {
14235 var height = node.clientHeight;
14236 var computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);
14237 height -= (0, _shims.int)(computedStyle.paddingTop);
14238 height -= (0, _shims.int)(computedStyle.paddingBottom);
14239 return height;
14240 }
14241
14242 function innerWidth(node
14243 /*: HTMLElement*/
14244 )
14245 /*: number*/
14246 {
14247 var width = node.clientWidth;
14248 var computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);
14249 width -= (0, _shims.int)(computedStyle.paddingLeft);
14250 width -= (0, _shims.int)(computedStyle.paddingRight);
14251 return width;
14252 }
14253 /*:: interface EventWithOffset {
14254 clientX: number, clientY: number
14255 }*/
14256
14257
14258 // Get from offsetParent
14259 function offsetXYFromParent(evt
14260 /*: EventWithOffset*/
14261 , offsetParent
14262 /*: HTMLElement*/
14263 , scale
14264 /*: number*/
14265 )
14266 /*: ControlPosition*/
14267 {
14268 var isBody = offsetParent === offsetParent.ownerDocument.body;
14269 var offsetParentRect = isBody ? {
14270 left: 0,
14271 top: 0
14272 } : offsetParent.getBoundingClientRect();
14273 var x = (evt.clientX + offsetParent.scrollLeft - offsetParentRect.left) / scale;
14274 var y = (evt.clientY + offsetParent.scrollTop - offsetParentRect.top) / scale;
14275 return {
14276 x: x,
14277 y: y
14278 };
14279 }
14280
14281 function createCSSTransform(controlPos
14282 /*: ControlPosition*/
14283 , positionOffset
14284 /*: PositionOffsetControlPosition*/
14285 )
14286 /*: Object*/
14287 {
14288 var translation = getTranslation(controlPos, positionOffset, 'px');
14289 return _defineProperty({}, (0, _getPrefix.browserPrefixToKey)('transform', _getPrefix.default), translation);
14290 }
14291
14292 function createSVGTransform(controlPos
14293 /*: ControlPosition*/
14294 , positionOffset
14295 /*: PositionOffsetControlPosition*/
14296 )
14297 /*: string*/
14298 {
14299 var translation = getTranslation(controlPos, positionOffset, '');
14300 return translation;
14301 }
14302
14303 function getTranslation(_ref2, positionOffset
14304 /*: PositionOffsetControlPosition*/
14305 , unitSuffix
14306 /*: string*/
14307 )
14308 /*: string*/
14309 {
14310 var x = _ref2.x,
14311 y = _ref2.y;
14312 var translation = "translate(".concat(x).concat(unitSuffix, ",").concat(y).concat(unitSuffix, ")");
14313
14314 if (positionOffset) {
14315 var defaultX = "".concat(typeof positionOffset.x === 'string' ? positionOffset.x : positionOffset.x + unitSuffix);
14316 var defaultY = "".concat(typeof positionOffset.y === 'string' ? positionOffset.y : positionOffset.y + unitSuffix);
14317 translation = "translate(".concat(defaultX, ", ").concat(defaultY, ")") + translation;
14318 }
14319
14320 return translation;
14321 }
14322
14323 function getTouch(e
14324 /*: MouseTouchEvent*/
14325 , identifier
14326 /*: number*/
14327 )
14328 /*: ?{clientX: number, clientY: number}*/
14329 {
14330 return e.targetTouches && (0, _shims.findInArray)(e.targetTouches, function (t) {
14331 return identifier === t.identifier;
14332 }) || e.changedTouches && (0, _shims.findInArray)(e.changedTouches, function (t) {
14333 return identifier === t.identifier;
14334 });
14335 }
14336
14337 function getTouchIdentifier(e
14338 /*: MouseTouchEvent*/
14339 )
14340 /*: ?number*/
14341 {
14342 if (e.targetTouches && e.targetTouches[0]) return e.targetTouches[0].identifier;
14343 if (e.changedTouches && e.changedTouches[0]) return e.changedTouches[0].identifier;
14344 } // User-select Hacks:
14345 //
14346 // Useful for preventing blue highlights all over everything when dragging.
14347 // Note we're passing `document` b/c we could be iframed
14348
14349
14350 function addUserSelectStyles(doc
14351 /*: ?Document*/
14352 ) {
14353 if (!doc) return;
14354 var styleEl = doc.getElementById('react-draggable-style-el');
14355
14356 if (!styleEl) {
14357 styleEl = doc.createElement('style');
14358 styleEl.type = 'text/css';
14359 styleEl.id = 'react-draggable-style-el';
14360 styleEl.innerHTML = '.react-draggable-transparent-selection *::-moz-selection {all: inherit;}\n';
14361 styleEl.innerHTML += '.react-draggable-transparent-selection *::selection {all: inherit;}\n';
14362 doc.getElementsByTagName('head')[0].appendChild(styleEl);
14363 }
14364
14365 if (doc.body) addClassName(doc.body, 'react-draggable-transparent-selection');
14366 }
14367
14368 function removeUserSelectStyles(doc
14369 /*: ?Document*/
14370 ) {
14371 if (!doc) return;
14372
14373 try {
14374 if (doc.body) removeClassName(doc.body, 'react-draggable-transparent-selection'); // $FlowIgnore: IE
14375
14376 if (doc.selection) {
14377 // $FlowIgnore: IE
14378 doc.selection.empty();
14379 } else {
14380 // Remove selection caused by scroll, unless it's a focused input
14381 // (we use doc.defaultView in case we're in an iframe)
14382 var selection = (doc.defaultView || window).getSelection();
14383
14384 if (selection && selection.type !== 'Caret') {
14385 selection.removeAllRanges();
14386 }
14387 }
14388 } catch (e) {// probably IE
14389 }
14390 }
14391
14392 function addClassName(el
14393 /*: HTMLElement*/
14394 , className
14395 /*: string*/
14396 ) {
14397 if (el.classList) {
14398 el.classList.add(className);
14399 } else {
14400 if (!el.className.match(new RegExp("(?:^|\\s)".concat(className, "(?!\\S)")))) {
14401 el.className += " ".concat(className);
14402 }
14403 }
14404 }
14405
14406 function removeClassName(el
14407 /*: HTMLElement*/
14408 , className
14409 /*: string*/
14410 ) {
14411 if (el.classList) {
14412 el.classList.remove(className);
14413 } else {
14414 el.className = el.className.replace(new RegExp("(?:^|\\s)".concat(className, "(?!\\S)"), 'g'), '');
14415 }
14416 }
14417
14418 /***/ }),
14419
14420 /***/ "../node_modules/react-draggable/build/cjs/utils/getPrefix.js":
14421 /*!********************************************************************!*\
14422 !*** ../node_modules/react-draggable/build/cjs/utils/getPrefix.js ***!
14423 \********************************************************************/
14424 /***/ ((__unused_webpack_module, exports) => {
14425
14426 "use strict";
14427
14428
14429 Object.defineProperty(exports, "__esModule", ({
14430 value: true
14431 }));
14432 exports.browserPrefixToKey = browserPrefixToKey;
14433 exports.browserPrefixToStyle = browserPrefixToStyle;
14434 exports["default"] = void 0;
14435 exports.getPrefix = getPrefix;
14436 var prefixes = ['Moz', 'Webkit', 'O', 'ms'];
14437
14438 function getPrefix()
14439 /*: string*/
14440 {
14441 var _window$document, _window$document$docu;
14442
14443 var prop
14444 /*: string*/
14445 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'transform';
14446 // Ensure we're running in an environment where there is actually a global
14447 // `window` obj
14448 if (typeof window === 'undefined') return ''; // If we're in a pseudo-browser server-side environment, this access
14449 // path may not exist, so bail out if it doesn't.
14450
14451 var style = (_window$document = window.document) === null || _window$document === void 0 ? void 0 : (_window$document$docu = _window$document.documentElement) === null || _window$document$docu === void 0 ? void 0 : _window$document$docu.style;
14452 if (!style) return '';
14453 if (prop in style) return '';
14454
14455 for (var i = 0; i < prefixes.length; i++) {
14456 if (browserPrefixToKey(prop, prefixes[i]) in style) return prefixes[i];
14457 }
14458
14459 return '';
14460 }
14461
14462 function browserPrefixToKey(prop
14463 /*: string*/
14464 , prefix
14465 /*: string*/
14466 )
14467 /*: string*/
14468 {
14469 return prefix ? "".concat(prefix).concat(kebabToTitleCase(prop)) : prop;
14470 }
14471
14472 function browserPrefixToStyle(prop
14473 /*: string*/
14474 , prefix
14475 /*: string*/
14476 )
14477 /*: string*/
14478 {
14479 return prefix ? "-".concat(prefix.toLowerCase(), "-").concat(prop) : prop;
14480 }
14481
14482 function kebabToTitleCase(str
14483 /*: string*/
14484 )
14485 /*: string*/
14486 {
14487 var out = '';
14488 var shouldCapitalize = true;
14489
14490 for (var i = 0; i < str.length; i++) {
14491 if (shouldCapitalize) {
14492 out += str[i].toUpperCase();
14493 shouldCapitalize = false;
14494 } else if (str[i] === '-') {
14495 shouldCapitalize = true;
14496 } else {
14497 out += str[i];
14498 }
14499 }
14500
14501 return out;
14502 } // Default export is the prefix itself, like 'Moz', 'Webkit', etc
14503 // Note that you may have to re-test for certain things; for instance, Chrome 50
14504 // can handle unprefixed `transform`, but not unprefixed `user-select`
14505
14506
14507 var _default = (getPrefix()
14508 /*: string*/
14509 );
14510
14511 exports["default"] = _default;
14512
14513 /***/ }),
14514
14515 /***/ "../node_modules/react-draggable/build/cjs/utils/log.js":
14516 /*!**************************************************************!*\
14517 !*** ../node_modules/react-draggable/build/cjs/utils/log.js ***!
14518 \**************************************************************/
14519 /***/ ((__unused_webpack_module, exports) => {
14520
14521 "use strict";
14522
14523
14524 Object.defineProperty(exports, "__esModule", ({
14525 value: true
14526 }));
14527 exports["default"] = log;
14528
14529 /*eslint no-console:0*/
14530 function log() {
14531 var _console;
14532
14533 if (false) {}
14534 }
14535
14536 /***/ }),
14537
14538 /***/ "../node_modules/react-draggable/build/cjs/utils/positionFns.js":
14539 /*!**********************************************************************!*\
14540 !*** ../node_modules/react-draggable/build/cjs/utils/positionFns.js ***!
14541 \**********************************************************************/
14542 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
14543
14544 "use strict";
14545
14546
14547 Object.defineProperty(exports, "__esModule", ({
14548 value: true
14549 }));
14550 exports.canDragX = canDragX;
14551 exports.canDragY = canDragY;
14552 exports.createCoreData = createCoreData;
14553 exports.createDraggableData = createDraggableData;
14554 exports.getBoundPosition = getBoundPosition;
14555 exports.getControlPosition = getControlPosition;
14556 exports.snapToGrid = snapToGrid;
14557
14558 var _shims = __webpack_require__(/*! ./shims */ "../node_modules/react-draggable/build/cjs/utils/shims.js");
14559
14560 var _domFns = __webpack_require__(/*! ./domFns */ "../node_modules/react-draggable/build/cjs/utils/domFns.js");
14561
14562 function getBoundPosition(draggable
14563 /*: Draggable*/
14564 , x
14565 /*: number*/
14566 , y
14567 /*: number*/
14568 )
14569 /*: [number, number]*/
14570 {
14571 // If no bounds, short-circuit and move on
14572 if (!draggable.props.bounds) return [x, y]; // Clone new bounds
14573
14574 var bounds = draggable.props.bounds;
14575 bounds = typeof bounds === 'string' ? bounds : cloneBounds(bounds);
14576 var node = findDOMNode(draggable);
14577
14578 if (typeof bounds === 'string') {
14579 var ownerDocument = node.ownerDocument;
14580 var ownerWindow = ownerDocument.defaultView;
14581 var boundNode;
14582
14583 if (bounds === 'parent') {
14584 boundNode = node.parentNode;
14585 } else {
14586 boundNode = ownerDocument.querySelector(bounds);
14587 }
14588
14589 if (!(boundNode instanceof ownerWindow.HTMLElement)) {
14590 throw new Error('Bounds selector "' + bounds + '" could not find an element.');
14591 }
14592
14593 var boundNodeEl
14594 /*: HTMLElement*/
14595 = boundNode; // for Flow, can't seem to refine correctly
14596
14597 var nodeStyle = ownerWindow.getComputedStyle(node);
14598 var boundNodeStyle = ownerWindow.getComputedStyle(boundNodeEl); // Compute bounds. This is a pain with padding and offsets but this gets it exactly right.
14599
14600 bounds = {
14601 left: -node.offsetLeft + (0, _shims.int)(boundNodeStyle.paddingLeft) + (0, _shims.int)(nodeStyle.marginLeft),
14602 top: -node.offsetTop + (0, _shims.int)(boundNodeStyle.paddingTop) + (0, _shims.int)(nodeStyle.marginTop),
14603 right: (0, _domFns.innerWidth)(boundNodeEl) - (0, _domFns.outerWidth)(node) - node.offsetLeft + (0, _shims.int)(boundNodeStyle.paddingRight) - (0, _shims.int)(nodeStyle.marginRight),
14604 bottom: (0, _domFns.innerHeight)(boundNodeEl) - (0, _domFns.outerHeight)(node) - node.offsetTop + (0, _shims.int)(boundNodeStyle.paddingBottom) - (0, _shims.int)(nodeStyle.marginBottom)
14605 };
14606 } // Keep x and y below right and bottom limits...
14607
14608
14609 if ((0, _shims.isNum)(bounds.right)) x = Math.min(x, bounds.right);
14610 if ((0, _shims.isNum)(bounds.bottom)) y = Math.min(y, bounds.bottom); // But above left and top limits.
14611
14612 if ((0, _shims.isNum)(bounds.left)) x = Math.max(x, bounds.left);
14613 if ((0, _shims.isNum)(bounds.top)) y = Math.max(y, bounds.top);
14614 return [x, y];
14615 }
14616
14617 function snapToGrid(grid
14618 /*: [number, number]*/
14619 , pendingX
14620 /*: number*/
14621 , pendingY
14622 /*: number*/
14623 )
14624 /*: [number, number]*/
14625 {
14626 var x = Math.round(pendingX / grid[0]) * grid[0];
14627 var y = Math.round(pendingY / grid[1]) * grid[1];
14628 return [x, y];
14629 }
14630
14631 function canDragX(draggable
14632 /*: Draggable*/
14633 )
14634 /*: boolean*/
14635 {
14636 return draggable.props.axis === 'both' || draggable.props.axis === 'x';
14637 }
14638
14639 function canDragY(draggable
14640 /*: Draggable*/
14641 )
14642 /*: boolean*/
14643 {
14644 return draggable.props.axis === 'both' || draggable.props.axis === 'y';
14645 } // Get {x, y} positions from event.
14646
14647
14648 function getControlPosition(e
14649 /*: MouseTouchEvent*/
14650 , touchIdentifier
14651 /*: ?number*/
14652 , draggableCore
14653 /*: DraggableCore*/
14654 )
14655 /*: ?ControlPosition*/
14656 {
14657 var touchObj = typeof touchIdentifier === 'number' ? (0, _domFns.getTouch)(e, touchIdentifier) : null;
14658 if (typeof touchIdentifier === 'number' && !touchObj) return null; // not the right touch
14659
14660 var node = findDOMNode(draggableCore); // User can provide an offsetParent if desired.
14661
14662 var offsetParent = draggableCore.props.offsetParent || node.offsetParent || node.ownerDocument.body;
14663 return (0, _domFns.offsetXYFromParent)(touchObj || e, offsetParent, draggableCore.props.scale);
14664 } // Create an data object exposed by <DraggableCore>'s events
14665
14666
14667 function createCoreData(draggable
14668 /*: DraggableCore*/
14669 , x
14670 /*: number*/
14671 , y
14672 /*: number*/
14673 )
14674 /*: DraggableData*/
14675 {
14676 var state = draggable.state;
14677 var isStart = !(0, _shims.isNum)(state.lastX);
14678 var node = findDOMNode(draggable);
14679
14680 if (isStart) {
14681 // If this is our first move, use the x and y as last coords.
14682 return {
14683 node: node,
14684 deltaX: 0,
14685 deltaY: 0,
14686 lastX: x,
14687 lastY: y,
14688 x: x,
14689 y: y
14690 };
14691 } else {
14692 // Otherwise calculate proper values.
14693 return {
14694 node: node,
14695 deltaX: x - state.lastX,
14696 deltaY: y - state.lastY,
14697 lastX: state.lastX,
14698 lastY: state.lastY,
14699 x: x,
14700 y: y
14701 };
14702 }
14703 } // Create an data exposed by <Draggable>'s events
14704
14705
14706 function createDraggableData(draggable
14707 /*: Draggable*/
14708 , coreData
14709 /*: DraggableData*/
14710 )
14711 /*: DraggableData*/
14712 {
14713 var scale = draggable.props.scale;
14714 return {
14715 node: coreData.node,
14716 x: draggable.state.x + coreData.deltaX / scale,
14717 y: draggable.state.y + coreData.deltaY / scale,
14718 deltaX: coreData.deltaX / scale,
14719 deltaY: coreData.deltaY / scale,
14720 lastX: draggable.state.x,
14721 lastY: draggable.state.y
14722 };
14723 } // A lot faster than stringify/parse
14724
14725
14726 function cloneBounds(bounds
14727 /*: Bounds*/
14728 )
14729 /*: Bounds*/
14730 {
14731 return {
14732 left: bounds.left,
14733 top: bounds.top,
14734 right: bounds.right,
14735 bottom: bounds.bottom
14736 };
14737 }
14738
14739 function findDOMNode(draggable
14740 /*: Draggable | DraggableCore*/
14741 )
14742 /*: HTMLElement*/
14743 {
14744 var node = draggable.findDOMNode();
14745
14746 if (!node) {
14747 throw new Error('<DraggableCore>: Unmounted during event!');
14748 } // $FlowIgnore we can't assert on HTMLElement due to tests... FIXME
14749
14750
14751 return node;
14752 }
14753
14754 /***/ }),
14755
14756 /***/ "../node_modules/react-draggable/build/cjs/utils/shims.js":
14757 /*!****************************************************************!*\
14758 !*** ../node_modules/react-draggable/build/cjs/utils/shims.js ***!
14759 \****************************************************************/
14760 /***/ ((__unused_webpack_module, exports) => {
14761
14762 "use strict";
14763
14764
14765 Object.defineProperty(exports, "__esModule", ({
14766 value: true
14767 }));
14768 exports.dontSetMe = dontSetMe;
14769 exports.findInArray = findInArray;
14770 exports.int = int;
14771 exports.isFunction = isFunction;
14772 exports.isNum = isNum;
14773
14774 // @credits https://gist.github.com/rogozhnikoff/a43cfed27c41e4e68cdc
14775 function findInArray(array
14776 /*: Array<any> | TouchList*/
14777 , callback
14778 /*: Function*/
14779 )
14780 /*: any*/
14781 {
14782 for (var i = 0, length = array.length; i < length; i++) {
14783 if (callback.apply(callback, [array[i], i, array])) return array[i];
14784 }
14785 }
14786
14787 function isFunction(func
14788 /*: any*/
14789 )
14790 /*: boolean %checks*/
14791 {
14792 // $FlowIgnore[method-unbinding]
14793 return typeof func === 'function' || Object.prototype.toString.call(func) === '[object Function]';
14794 }
14795
14796 function isNum(num
14797 /*: any*/
14798 )
14799 /*: boolean %checks*/
14800 {
14801 return typeof num === 'number' && !isNaN(num);
14802 }
14803
14804 function int(a
14805 /*: string*/
14806 )
14807 /*: number*/
14808 {
14809 return parseInt(a, 10);
14810 }
14811
14812 function dontSetMe(props
14813 /*: Object*/
14814 , propName
14815 /*: string*/
14816 , componentName
14817 /*: string*/
14818 )
14819 /*: ?Error*/
14820 {
14821 if (props[propName]) {
14822 return new Error("Invalid prop ".concat(propName, " passed to ").concat(componentName, " - do not set this, set it on the child."));
14823 }
14824 }
14825
14826 /***/ }),
14827
14828 /***/ "../node_modules/react-infinite-scroller/dist/InfiniteScroll.js":
14829 /*!**********************************************************************!*\
14830 !*** ../node_modules/react-infinite-scroller/dist/InfiniteScroll.js ***!
14831 \**********************************************************************/
14832 /***/ ((module, exports, __webpack_require__) => {
14833
14834 "use strict";
14835
14836
14837 Object.defineProperty(exports, "__esModule", ({
14838 value: true
14839 }));
14840
14841 var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
14842
14843 var _react = __webpack_require__(/*! react */ "react");
14844
14845 var _react2 = _interopRequireDefault(_react);
14846
14847 var _propTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js");
14848
14849 var _propTypes2 = _interopRequireDefault(_propTypes);
14850
14851 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14852
14853 function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
14854
14855 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
14856
14857 function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
14858
14859 function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
14860
14861 var InfiniteScroll = function (_Component) {
14862 _inherits(InfiniteScroll, _Component);
14863
14864 function InfiniteScroll(props) {
14865 _classCallCheck(this, InfiniteScroll);
14866
14867 var _this = _possibleConstructorReturn(this, (InfiniteScroll.__proto__ || Object.getPrototypeOf(InfiniteScroll)).call(this, props));
14868
14869 _this.scrollListener = _this.scrollListener.bind(_this);
14870 _this.eventListenerOptions = _this.eventListenerOptions.bind(_this);
14871 _this.mousewheelListener = _this.mousewheelListener.bind(_this);
14872 return _this;
14873 }
14874
14875 _createClass(InfiniteScroll, [{
14876 key: 'componentDidMount',
14877 value: function componentDidMount() {
14878 this.pageLoaded = this.props.pageStart;
14879 this.options = this.eventListenerOptions();
14880 this.attachScrollListener();
14881 }
14882 }, {
14883 key: 'componentDidUpdate',
14884 value: function componentDidUpdate() {
14885 if (this.props.isReverse && this.loadMore) {
14886 var parentElement = this.getParentElement(this.scrollComponent);
14887 parentElement.scrollTop = parentElement.scrollHeight - this.beforeScrollHeight + this.beforeScrollTop;
14888 this.loadMore = false;
14889 }
14890 this.attachScrollListener();
14891 }
14892 }, {
14893 key: 'componentWillUnmount',
14894 value: function componentWillUnmount() {
14895 this.detachScrollListener();
14896 this.detachMousewheelListener();
14897 }
14898 }, {
14899 key: 'isPassiveSupported',
14900 value: function isPassiveSupported() {
14901 var passive = false;
14902
14903 var testOptions = {
14904 get passive() {
14905 passive = true;
14906 }
14907 };
14908
14909 try {
14910 document.addEventListener('test', null, testOptions);
14911 document.removeEventListener('test', null, testOptions);
14912 } catch (e) {
14913 // ignore
14914 }
14915 return passive;
14916 }
14917 }, {
14918 key: 'eventListenerOptions',
14919 value: function eventListenerOptions() {
14920 var options = this.props.useCapture;
14921
14922 if (this.isPassiveSupported()) {
14923 options = {
14924 useCapture: this.props.useCapture,
14925 passive: true
14926 };
14927 } else {
14928 options = {
14929 passive: false
14930 };
14931 }
14932 return options;
14933 }
14934
14935 // Set a defaut loader for all your `InfiniteScroll` components
14936
14937 }, {
14938 key: 'setDefaultLoader',
14939 value: function setDefaultLoader(loader) {
14940 this.defaultLoader = loader;
14941 }
14942 }, {
14943 key: 'detachMousewheelListener',
14944 value: function detachMousewheelListener() {
14945 var scrollEl = window;
14946 if (this.props.useWindow === false) {
14947 scrollEl = this.scrollComponent.parentNode;
14948 }
14949
14950 scrollEl.removeEventListener('mousewheel', this.mousewheelListener, this.options ? this.options : this.props.useCapture);
14951 }
14952 }, {
14953 key: 'detachScrollListener',
14954 value: function detachScrollListener() {
14955 var scrollEl = window;
14956 if (this.props.useWindow === false) {
14957 scrollEl = this.getParentElement(this.scrollComponent);
14958 }
14959
14960 scrollEl.removeEventListener('scroll', this.scrollListener, this.options ? this.options : this.props.useCapture);
14961 scrollEl.removeEventListener('resize', this.scrollListener, this.options ? this.options : this.props.useCapture);
14962 }
14963 }, {
14964 key: 'getParentElement',
14965 value: function getParentElement(el) {
14966 var scrollParent = this.props.getScrollParent && this.props.getScrollParent();
14967 if (scrollParent != null) {
14968 return scrollParent;
14969 }
14970 return el && el.parentNode;
14971 }
14972 }, {
14973 key: 'filterProps',
14974 value: function filterProps(props) {
14975 return props;
14976 }
14977 }, {
14978 key: 'attachScrollListener',
14979 value: function attachScrollListener() {
14980 var parentElement = this.getParentElement(this.scrollComponent);
14981
14982 if (!this.props.hasMore || !parentElement) {
14983 return;
14984 }
14985
14986 var scrollEl = window;
14987 if (this.props.useWindow === false) {
14988 scrollEl = parentElement;
14989 }
14990
14991 scrollEl.addEventListener('mousewheel', this.mousewheelListener, this.options ? this.options : this.props.useCapture);
14992 scrollEl.addEventListener('scroll', this.scrollListener, this.options ? this.options : this.props.useCapture);
14993 scrollEl.addEventListener('resize', this.scrollListener, this.options ? this.options : this.props.useCapture);
14994
14995 if (this.props.initialLoad) {
14996 this.scrollListener();
14997 }
14998 }
14999 }, {
15000 key: 'mousewheelListener',
15001 value: function mousewheelListener(e) {
15002 // Prevents Chrome hangups
15003 // See: https://stackoverflow.com/questions/47524205/random-high-content-download-time-in-chrome/47684257#47684257
15004 if (e.deltaY === 1 && !this.isPassiveSupported()) {
15005 e.preventDefault();
15006 }
15007 }
15008 }, {
15009 key: 'scrollListener',
15010 value: function scrollListener() {
15011 var el = this.scrollComponent;
15012 var scrollEl = window;
15013 var parentNode = this.getParentElement(el);
15014
15015 var offset = void 0;
15016 if (this.props.useWindow) {
15017 var doc = document.documentElement || document.body.parentNode || document.body;
15018 var scrollTop = scrollEl.pageYOffset !== undefined ? scrollEl.pageYOffset : doc.scrollTop;
15019 if (this.props.isReverse) {
15020 offset = scrollTop;
15021 } else {
15022 offset = this.calculateOffset(el, scrollTop);
15023 }
15024 } else if (this.props.isReverse) {
15025 offset = parentNode.scrollTop;
15026 } else {
15027 offset = el.scrollHeight - parentNode.scrollTop - parentNode.clientHeight;
15028 }
15029
15030 // Here we make sure the element is visible as well as checking the offset
15031 if (offset < Number(this.props.threshold) && el && el.offsetParent !== null) {
15032 this.detachScrollListener();
15033 this.beforeScrollHeight = parentNode.scrollHeight;
15034 this.beforeScrollTop = parentNode.scrollTop;
15035 // Call loadMore after detachScrollListener to allow for non-async loadMore functions
15036 if (typeof this.props.loadMore === 'function') {
15037 this.props.loadMore(this.pageLoaded += 1);
15038 this.loadMore = true;
15039 }
15040 }
15041 }
15042 }, {
15043 key: 'calculateOffset',
15044 value: function calculateOffset(el, scrollTop) {
15045 if (!el) {
15046 return 0;
15047 }
15048
15049 return this.calculateTopPosition(el) + (el.offsetHeight - scrollTop - window.innerHeight);
15050 }
15051 }, {
15052 key: 'calculateTopPosition',
15053 value: function calculateTopPosition(el) {
15054 if (!el) {
15055 return 0;
15056 }
15057 return el.offsetTop + this.calculateTopPosition(el.offsetParent);
15058 }
15059 }, {
15060 key: 'render',
15061 value: function render() {
15062 var _this2 = this;
15063
15064 var renderProps = this.filterProps(this.props);
15065
15066 var children = renderProps.children,
15067 element = renderProps.element,
15068 hasMore = renderProps.hasMore,
15069 initialLoad = renderProps.initialLoad,
15070 isReverse = renderProps.isReverse,
15071 loader = renderProps.loader,
15072 loadMore = renderProps.loadMore,
15073 pageStart = renderProps.pageStart,
15074 ref = renderProps.ref,
15075 threshold = renderProps.threshold,
15076 useCapture = renderProps.useCapture,
15077 useWindow = renderProps.useWindow,
15078 getScrollParent = renderProps.getScrollParent,
15079 props = _objectWithoutProperties(renderProps, ['children', 'element', 'hasMore', 'initialLoad', 'isReverse', 'loader', 'loadMore', 'pageStart', 'ref', 'threshold', 'useCapture', 'useWindow', 'getScrollParent']);
15080
15081 props.ref = function (node) {
15082 _this2.scrollComponent = node;
15083 if (ref) {
15084 ref(node);
15085 }
15086 };
15087
15088 var childrenArray = [children];
15089 if (hasMore) {
15090 if (loader) {
15091 isReverse ? childrenArray.unshift(loader) : childrenArray.push(loader);
15092 } else if (this.defaultLoader) {
15093 isReverse ? childrenArray.unshift(this.defaultLoader) : childrenArray.push(this.defaultLoader);
15094 }
15095 }
15096 return _react2.default.createElement(element, props, childrenArray);
15097 }
15098 }]);
15099
15100 return InfiniteScroll;
15101 }(_react.Component);
15102
15103 InfiniteScroll.propTypes = {
15104 children: _propTypes2.default.node.isRequired,
15105 element: _propTypes2.default.node,
15106 hasMore: _propTypes2.default.bool,
15107 initialLoad: _propTypes2.default.bool,
15108 isReverse: _propTypes2.default.bool,
15109 loader: _propTypes2.default.node,
15110 loadMore: _propTypes2.default.func.isRequired,
15111 pageStart: _propTypes2.default.number,
15112 ref: _propTypes2.default.func,
15113 getScrollParent: _propTypes2.default.func,
15114 threshold: _propTypes2.default.number,
15115 useCapture: _propTypes2.default.bool,
15116 useWindow: _propTypes2.default.bool
15117 };
15118 InfiniteScroll.defaultProps = {
15119 element: 'div',
15120 hasMore: false,
15121 initialLoad: true,
15122 pageStart: 0,
15123 ref: null,
15124 threshold: 250,
15125 useWindow: true,
15126 isReverse: false,
15127 useCapture: false,
15128 loader: null,
15129 getScrollParent: null
15130 };
15131 exports["default"] = InfiniteScroll;
15132 module.exports = exports['default'];
15133
15134
15135 /***/ }),
15136
15137 /***/ "../node_modules/react-infinite-scroller/index.js":
15138 /*!********************************************************!*\
15139 !*** ../node_modules/react-infinite-scroller/index.js ***!
15140 \********************************************************/
15141 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
15142
15143 module.exports = __webpack_require__(/*! ./dist/InfiniteScroll */ "../node_modules/react-infinite-scroller/dist/InfiniteScroll.js")
15144
15145
15146 /***/ }),
15147
15148 /***/ "../node_modules/react-is/cjs/react-is.development.js":
15149 /*!************************************************************!*\
15150 !*** ../node_modules/react-is/cjs/react-is.development.js ***!
15151 \************************************************************/
15152 /***/ ((__unused_webpack_module, exports) => {
15153
15154 "use strict";
15155 /**
15156 * @license React
15157 * react-is.development.js
15158 *
15159 * Copyright (c) Facebook, Inc. and its affiliates.
15160 *
15161 * This source code is licensed under the MIT license found in the
15162 * LICENSE file in the root directory of this source tree.
15163 */
15164
15165
15166
15167 if (true) {
15168 (function() {
15169 'use strict';
15170
15171 // ATTENTION
15172 // When adding new symbols to this file,
15173 // Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'
15174 // The Symbol used to tag the ReactElement-like types.
15175 var REACT_ELEMENT_TYPE = Symbol.for('react.element');
15176 var REACT_PORTAL_TYPE = Symbol.for('react.portal');
15177 var REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');
15178 var REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');
15179 var REACT_PROFILER_TYPE = Symbol.for('react.profiler');
15180 var REACT_PROVIDER_TYPE = Symbol.for('react.provider');
15181 var REACT_CONTEXT_TYPE = Symbol.for('react.context');
15182 var REACT_SERVER_CONTEXT_TYPE = Symbol.for('react.server_context');
15183 var REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');
15184 var REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');
15185 var REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');
15186 var REACT_MEMO_TYPE = Symbol.for('react.memo');
15187 var REACT_LAZY_TYPE = Symbol.for('react.lazy');
15188 var REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');
15189
15190 // -----------------------------------------------------------------------------
15191
15192 var enableScopeAPI = false; // Experimental Create Event Handle API.
15193 var enableCacheElement = false;
15194 var enableTransitionTracing = false; // No known bugs, but needs performance testing
15195
15196 var enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber
15197 // stuff. Intended to enable React core members to more easily debug scheduling
15198 // issues in DEV builds.
15199
15200 var enableDebugTracing = false; // Track which Fiber(s) schedule render work.
15201
15202 var REACT_MODULE_REFERENCE;
15203
15204 {
15205 REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');
15206 }
15207
15208 function isValidElementType(type) {
15209 if (typeof type === 'string' || typeof type === 'function') {
15210 return true;
15211 } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).
15212
15213
15214 if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {
15215 return true;
15216 }
15217
15218 if (typeof type === 'object' && type !== null) {
15219 if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object
15220 // types supported by any Flight configuration anywhere since
15221 // we don't know which Flight build this will end up being used
15222 // with.
15223 type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {
15224 return true;
15225 }
15226 }
15227
15228 return false;
15229 }
15230
15231 function typeOf(object) {
15232 if (typeof object === 'object' && object !== null) {
15233 var $$typeof = object.$$typeof;
15234
15235 switch ($$typeof) {
15236 case REACT_ELEMENT_TYPE:
15237 var type = object.type;
15238
15239 switch (type) {
15240 case REACT_FRAGMENT_TYPE:
15241 case REACT_PROFILER_TYPE:
15242 case REACT_STRICT_MODE_TYPE:
15243 case REACT_SUSPENSE_TYPE:
15244 case REACT_SUSPENSE_LIST_TYPE:
15245 return type;
15246
15247 default:
15248 var $$typeofType = type && type.$$typeof;
15249
15250 switch ($$typeofType) {
15251 case REACT_SERVER_CONTEXT_TYPE:
15252 case REACT_CONTEXT_TYPE:
15253 case REACT_FORWARD_REF_TYPE:
15254 case REACT_LAZY_TYPE:
15255 case REACT_MEMO_TYPE:
15256 case REACT_PROVIDER_TYPE:
15257 return $$typeofType;
15258
15259 default:
15260 return $$typeof;
15261 }
15262
15263 }
15264
15265 case REACT_PORTAL_TYPE:
15266 return $$typeof;
15267 }
15268 }
15269
15270 return undefined;
15271 }
15272 var ContextConsumer = REACT_CONTEXT_TYPE;
15273 var ContextProvider = REACT_PROVIDER_TYPE;
15274 var Element = REACT_ELEMENT_TYPE;
15275 var ForwardRef = REACT_FORWARD_REF_TYPE;
15276 var Fragment = REACT_FRAGMENT_TYPE;
15277 var Lazy = REACT_LAZY_TYPE;
15278 var Memo = REACT_MEMO_TYPE;
15279 var Portal = REACT_PORTAL_TYPE;
15280 var Profiler = REACT_PROFILER_TYPE;
15281 var StrictMode = REACT_STRICT_MODE_TYPE;
15282 var Suspense = REACT_SUSPENSE_TYPE;
15283 var SuspenseList = REACT_SUSPENSE_LIST_TYPE;
15284 var hasWarnedAboutDeprecatedIsAsyncMode = false;
15285 var hasWarnedAboutDeprecatedIsConcurrentMode = false; // AsyncMode should be deprecated
15286
15287 function isAsyncMode(object) {
15288 {
15289 if (!hasWarnedAboutDeprecatedIsAsyncMode) {
15290 hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint
15291
15292 console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 18+.');
15293 }
15294 }
15295
15296 return false;
15297 }
15298 function isConcurrentMode(object) {
15299 {
15300 if (!hasWarnedAboutDeprecatedIsConcurrentMode) {
15301 hasWarnedAboutDeprecatedIsConcurrentMode = true; // Using console['warn'] to evade Babel and ESLint
15302
15303 console['warn']('The ReactIs.isConcurrentMode() alias has been deprecated, ' + 'and will be removed in React 18+.');
15304 }
15305 }
15306
15307 return false;
15308 }
15309 function isContextConsumer(object) {
15310 return typeOf(object) === REACT_CONTEXT_TYPE;
15311 }
15312 function isContextProvider(object) {
15313 return typeOf(object) === REACT_PROVIDER_TYPE;
15314 }
15315 function isElement(object) {
15316 return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
15317 }
15318 function isForwardRef(object) {
15319 return typeOf(object) === REACT_FORWARD_REF_TYPE;
15320 }
15321 function isFragment(object) {
15322 return typeOf(object) === REACT_FRAGMENT_TYPE;
15323 }
15324 function isLazy(object) {
15325 return typeOf(object) === REACT_LAZY_TYPE;
15326 }
15327 function isMemo(object) {
15328 return typeOf(object) === REACT_MEMO_TYPE;
15329 }
15330 function isPortal(object) {
15331 return typeOf(object) === REACT_PORTAL_TYPE;
15332 }
15333 function isProfiler(object) {
15334 return typeOf(object) === REACT_PROFILER_TYPE;
15335 }
15336 function isStrictMode(object) {
15337 return typeOf(object) === REACT_STRICT_MODE_TYPE;
15338 }
15339 function isSuspense(object) {
15340 return typeOf(object) === REACT_SUSPENSE_TYPE;
15341 }
15342 function isSuspenseList(object) {
15343 return typeOf(object) === REACT_SUSPENSE_LIST_TYPE;
15344 }
15345
15346 exports.ContextConsumer = ContextConsumer;
15347 exports.ContextProvider = ContextProvider;
15348 exports.Element = Element;
15349 exports.ForwardRef = ForwardRef;
15350 exports.Fragment = Fragment;
15351 exports.Lazy = Lazy;
15352 exports.Memo = Memo;
15353 exports.Portal = Portal;
15354 exports.Profiler = Profiler;
15355 exports.StrictMode = StrictMode;
15356 exports.Suspense = Suspense;
15357 exports.SuspenseList = SuspenseList;
15358 exports.isAsyncMode = isAsyncMode;
15359 exports.isConcurrentMode = isConcurrentMode;
15360 exports.isContextConsumer = isContextConsumer;
15361 exports.isContextProvider = isContextProvider;
15362 exports.isElement = isElement;
15363 exports.isForwardRef = isForwardRef;
15364 exports.isFragment = isFragment;
15365 exports.isLazy = isLazy;
15366 exports.isMemo = isMemo;
15367 exports.isPortal = isPortal;
15368 exports.isProfiler = isProfiler;
15369 exports.isStrictMode = isStrictMode;
15370 exports.isSuspense = isSuspense;
15371 exports.isSuspenseList = isSuspenseList;
15372 exports.isValidElementType = isValidElementType;
15373 exports.typeOf = typeOf;
15374 })();
15375 }
15376
15377
15378 /***/ }),
15379
15380 /***/ "../node_modules/react-is/index.js":
15381 /*!*****************************************!*\
15382 !*** ../node_modules/react-is/index.js ***!
15383 \*****************************************/
15384 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
15385
15386 "use strict";
15387
15388
15389 if (false) {} else {
15390 module.exports = __webpack_require__(/*! ./cjs/react-is.development.js */ "../node_modules/react-is/cjs/react-is.development.js");
15391 }
15392
15393
15394 /***/ }),
15395
15396 /***/ "../node_modules/react-sketch-canvas/dist/react-sketch-canvas.esm.js":
15397 /*!***************************************************************************!*\
15398 !*** ../node_modules/react-sketch-canvas/dist/react-sketch-canvas.esm.js ***!
15399 \***************************************************************************/
15400 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
15401
15402 "use strict";
15403 __webpack_require__.r(__webpack_exports__);
15404 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
15405 /* harmony export */ Canvas: () => (/* binding */ Canvas),
15406 /* harmony export */ ReactSketchCanvas: () => (/* binding */ ReactSketchCanvas)
15407 /* harmony export */ });
15408 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
15409 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
15410
15411
15412 function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
15413 try {
15414 var info = gen[key](arg);
15415 var value = info.value;
15416 } catch (error) {
15417 reject(error);
15418 return;
15419 }
15420
15421 if (info.done) {
15422 resolve(value);
15423 } else {
15424 Promise.resolve(value).then(_next, _throw);
15425 }
15426 }
15427
15428 function _asyncToGenerator(fn) {
15429 return function () {
15430 var self = this,
15431 args = arguments;
15432 return new Promise(function (resolve, reject) {
15433 var gen = fn.apply(self, args);
15434
15435 function _next(value) {
15436 asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
15437 }
15438
15439 function _throw(err) {
15440 asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
15441 }
15442
15443 _next(undefined);
15444 });
15445 };
15446 }
15447
15448 function _extends() {
15449 _extends = Object.assign || function (target) {
15450 for (var i = 1; i < arguments.length; i++) {
15451 var source = arguments[i];
15452
15453 for (var key in source) {
15454 if (Object.prototype.hasOwnProperty.call(source, key)) {
15455 target[key] = source[key];
15456 }
15457 }
15458 }
15459
15460 return target;
15461 };
15462
15463 return _extends.apply(this, arguments);
15464 }
15465
15466 var runtime = {exports: {}};
15467
15468 /**
15469 * Copyright (c) 2014-present, Facebook, Inc.
15470 *
15471 * This source code is licensed under the MIT license found in the
15472 * LICENSE file in the root directory of this source tree.
15473 */
15474
15475 (function (module) {
15476 var runtime = (function (exports) {
15477
15478 var Op = Object.prototype;
15479 var hasOwn = Op.hasOwnProperty;
15480 var undefined$1; // More compressible than void 0.
15481 var $Symbol = typeof Symbol === "function" ? Symbol : {};
15482 var iteratorSymbol = $Symbol.iterator || "@@iterator";
15483 var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator";
15484 var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag";
15485
15486 function define(obj, key, value) {
15487 Object.defineProperty(obj, key, {
15488 value: value,
15489 enumerable: true,
15490 configurable: true,
15491 writable: true
15492 });
15493 return obj[key];
15494 }
15495 try {
15496 // IE 8 has a broken Object.defineProperty that only works on DOM objects.
15497 define({}, "");
15498 } catch (err) {
15499 define = function(obj, key, value) {
15500 return obj[key] = value;
15501 };
15502 }
15503
15504 function wrap(innerFn, outerFn, self, tryLocsList) {
15505 // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.
15506 var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;
15507 var generator = Object.create(protoGenerator.prototype);
15508 var context = new Context(tryLocsList || []);
15509
15510 // The ._invoke method unifies the implementations of the .next,
15511 // .throw, and .return methods.
15512 generator._invoke = makeInvokeMethod(innerFn, self, context);
15513
15514 return generator;
15515 }
15516 exports.wrap = wrap;
15517
15518 // Try/catch helper to minimize deoptimizations. Returns a completion
15519 // record like context.tryEntries[i].completion. This interface could
15520 // have been (and was previously) designed to take a closure to be
15521 // invoked without arguments, but in all the cases we care about we
15522 // already have an existing method we want to call, so there's no need
15523 // to create a new function object. We can even get away with assuming
15524 // the method takes exactly one argument, since that happens to be true
15525 // in every case, so we don't have to touch the arguments object. The
15526 // only additional allocation required is the completion record, which
15527 // has a stable shape and so hopefully should be cheap to allocate.
15528 function tryCatch(fn, obj, arg) {
15529 try {
15530 return { type: "normal", arg: fn.call(obj, arg) };
15531 } catch (err) {
15532 return { type: "throw", arg: err };
15533 }
15534 }
15535
15536 var GenStateSuspendedStart = "suspendedStart";
15537 var GenStateSuspendedYield = "suspendedYield";
15538 var GenStateExecuting = "executing";
15539 var GenStateCompleted = "completed";
15540
15541 // Returning this object from the innerFn has the same effect as
15542 // breaking out of the dispatch switch statement.
15543 var ContinueSentinel = {};
15544
15545 // Dummy constructor functions that we use as the .constructor and
15546 // .constructor.prototype properties for functions that return Generator
15547 // objects. For full spec compliance, you may wish to configure your
15548 // minifier not to mangle the names of these two functions.
15549 function Generator() {}
15550 function GeneratorFunction() {}
15551 function GeneratorFunctionPrototype() {}
15552
15553 // This is a polyfill for %IteratorPrototype% for environments that
15554 // don't natively support it.
15555 var IteratorPrototype = {};
15556 define(IteratorPrototype, iteratorSymbol, function () {
15557 return this;
15558 });
15559
15560 var getProto = Object.getPrototypeOf;
15561 var NativeIteratorPrototype = getProto && getProto(getProto(values([])));
15562 if (NativeIteratorPrototype &&
15563 NativeIteratorPrototype !== Op &&
15564 hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {
15565 // This environment has a native %IteratorPrototype%; use it instead
15566 // of the polyfill.
15567 IteratorPrototype = NativeIteratorPrototype;
15568 }
15569
15570 var Gp = GeneratorFunctionPrototype.prototype =
15571 Generator.prototype = Object.create(IteratorPrototype);
15572 GeneratorFunction.prototype = GeneratorFunctionPrototype;
15573 define(Gp, "constructor", GeneratorFunctionPrototype);
15574 define(GeneratorFunctionPrototype, "constructor", GeneratorFunction);
15575 GeneratorFunction.displayName = define(
15576 GeneratorFunctionPrototype,
15577 toStringTagSymbol,
15578 "GeneratorFunction"
15579 );
15580
15581 // Helper for defining the .next, .throw, and .return methods of the
15582 // Iterator interface in terms of a single ._invoke method.
15583 function defineIteratorMethods(prototype) {
15584 ["next", "throw", "return"].forEach(function(method) {
15585 define(prototype, method, function(arg) {
15586 return this._invoke(method, arg);
15587 });
15588 });
15589 }
15590
15591 exports.isGeneratorFunction = function(genFun) {
15592 var ctor = typeof genFun === "function" && genFun.constructor;
15593 return ctor
15594 ? ctor === GeneratorFunction ||
15595 // For the native GeneratorFunction constructor, the best we can
15596 // do is to check its .name property.
15597 (ctor.displayName || ctor.name) === "GeneratorFunction"
15598 : false;
15599 };
15600
15601 exports.mark = function(genFun) {
15602 if (Object.setPrototypeOf) {
15603 Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);
15604 } else {
15605 genFun.__proto__ = GeneratorFunctionPrototype;
15606 define(genFun, toStringTagSymbol, "GeneratorFunction");
15607 }
15608 genFun.prototype = Object.create(Gp);
15609 return genFun;
15610 };
15611
15612 // Within the body of any async function, `await x` is transformed to
15613 // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test
15614 // `hasOwn.call(value, "__await")` to determine if the yielded value is
15615 // meant to be awaited.
15616 exports.awrap = function(arg) {
15617 return { __await: arg };
15618 };
15619
15620 function AsyncIterator(generator, PromiseImpl) {
15621 function invoke(method, arg, resolve, reject) {
15622 var record = tryCatch(generator[method], generator, arg);
15623 if (record.type === "throw") {
15624 reject(record.arg);
15625 } else {
15626 var result = record.arg;
15627 var value = result.value;
15628 if (value &&
15629 typeof value === "object" &&
15630 hasOwn.call(value, "__await")) {
15631 return PromiseImpl.resolve(value.__await).then(function(value) {
15632 invoke("next", value, resolve, reject);
15633 }, function(err) {
15634 invoke("throw", err, resolve, reject);
15635 });
15636 }
15637
15638 return PromiseImpl.resolve(value).then(function(unwrapped) {
15639 // When a yielded Promise is resolved, its final value becomes
15640 // the .value of the Promise<{value,done}> result for the
15641 // current iteration.
15642 result.value = unwrapped;
15643 resolve(result);
15644 }, function(error) {
15645 // If a rejected Promise was yielded, throw the rejection back
15646 // into the async generator function so it can be handled there.
15647 return invoke("throw", error, resolve, reject);
15648 });
15649 }
15650 }
15651
15652 var previousPromise;
15653
15654 function enqueue(method, arg) {
15655 function callInvokeWithMethodAndArg() {
15656 return new PromiseImpl(function(resolve, reject) {
15657 invoke(method, arg, resolve, reject);
15658 });
15659 }
15660
15661 return previousPromise =
15662 // If enqueue has been called before, then we want to wait until
15663 // all previous Promises have been resolved before calling invoke,
15664 // so that results are always delivered in the correct order. If
15665 // enqueue has not been called before, then it is important to
15666 // call invoke immediately, without waiting on a callback to fire,
15667 // so that the async generator function has the opportunity to do
15668 // any necessary setup in a predictable way. This predictability
15669 // is why the Promise constructor synchronously invokes its
15670 // executor callback, and why async functions synchronously
15671 // execute code before the first await. Since we implement simple
15672 // async functions in terms of async generators, it is especially
15673 // important to get this right, even though it requires care.
15674 previousPromise ? previousPromise.then(
15675 callInvokeWithMethodAndArg,
15676 // Avoid propagating failures to Promises returned by later
15677 // invocations of the iterator.
15678 callInvokeWithMethodAndArg
15679 ) : callInvokeWithMethodAndArg();
15680 }
15681
15682 // Define the unified helper method that is used to implement .next,
15683 // .throw, and .return (see defineIteratorMethods).
15684 this._invoke = enqueue;
15685 }
15686
15687 defineIteratorMethods(AsyncIterator.prototype);
15688 define(AsyncIterator.prototype, asyncIteratorSymbol, function () {
15689 return this;
15690 });
15691 exports.AsyncIterator = AsyncIterator;
15692
15693 // Note that simple async functions are implemented on top of
15694 // AsyncIterator objects; they just return a Promise for the value of
15695 // the final result produced by the iterator.
15696 exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {
15697 if (PromiseImpl === void 0) PromiseImpl = Promise;
15698
15699 var iter = new AsyncIterator(
15700 wrap(innerFn, outerFn, self, tryLocsList),
15701 PromiseImpl
15702 );
15703
15704 return exports.isGeneratorFunction(outerFn)
15705 ? iter // If outerFn is a generator, return the full iterator.
15706 : iter.next().then(function(result) {
15707 return result.done ? result.value : iter.next();
15708 });
15709 };
15710
15711 function makeInvokeMethod(innerFn, self, context) {
15712 var state = GenStateSuspendedStart;
15713
15714 return function invoke(method, arg) {
15715 if (state === GenStateExecuting) {
15716 throw new Error("Generator is already running");
15717 }
15718
15719 if (state === GenStateCompleted) {
15720 if (method === "throw") {
15721 throw arg;
15722 }
15723
15724 // Be forgiving, per 25.3.3.3.3 of the spec:
15725 // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume
15726 return doneResult();
15727 }
15728
15729 context.method = method;
15730 context.arg = arg;
15731
15732 while (true) {
15733 var delegate = context.delegate;
15734 if (delegate) {
15735 var delegateResult = maybeInvokeDelegate(delegate, context);
15736 if (delegateResult) {
15737 if (delegateResult === ContinueSentinel) continue;
15738 return delegateResult;
15739 }
15740 }
15741
15742 if (context.method === "next") {
15743 // Setting context._sent for legacy support of Babel's
15744 // function.sent implementation.
15745 context.sent = context._sent = context.arg;
15746
15747 } else if (context.method === "throw") {
15748 if (state === GenStateSuspendedStart) {
15749 state = GenStateCompleted;
15750 throw context.arg;
15751 }
15752
15753 context.dispatchException(context.arg);
15754
15755 } else if (context.method === "return") {
15756 context.abrupt("return", context.arg);
15757 }
15758
15759 state = GenStateExecuting;
15760
15761 var record = tryCatch(innerFn, self, context);
15762 if (record.type === "normal") {
15763 // If an exception is thrown from innerFn, we leave state ===
15764 // GenStateExecuting and loop back for another invocation.
15765 state = context.done
15766 ? GenStateCompleted
15767 : GenStateSuspendedYield;
15768
15769 if (record.arg === ContinueSentinel) {
15770 continue;
15771 }
15772
15773 return {
15774 value: record.arg,
15775 done: context.done
15776 };
15777
15778 } else if (record.type === "throw") {
15779 state = GenStateCompleted;
15780 // Dispatch the exception by looping back around to the
15781 // context.dispatchException(context.arg) call above.
15782 context.method = "throw";
15783 context.arg = record.arg;
15784 }
15785 }
15786 };
15787 }
15788
15789 // Call delegate.iterator[context.method](context.arg) and handle the
15790 // result, either by returning a { value, done } result from the
15791 // delegate iterator, or by modifying context.method and context.arg,
15792 // setting context.delegate to null, and returning the ContinueSentinel.
15793 function maybeInvokeDelegate(delegate, context) {
15794 var method = delegate.iterator[context.method];
15795 if (method === undefined$1) {
15796 // A .throw or .return when the delegate iterator has no .throw
15797 // method always terminates the yield* loop.
15798 context.delegate = null;
15799
15800 if (context.method === "throw") {
15801 // Note: ["return"] must be used for ES3 parsing compatibility.
15802 if (delegate.iterator["return"]) {
15803 // If the delegate iterator has a return method, give it a
15804 // chance to clean up.
15805 context.method = "return";
15806 context.arg = undefined$1;
15807 maybeInvokeDelegate(delegate, context);
15808
15809 if (context.method === "throw") {
15810 // If maybeInvokeDelegate(context) changed context.method from
15811 // "return" to "throw", let that override the TypeError below.
15812 return ContinueSentinel;
15813 }
15814 }
15815
15816 context.method = "throw";
15817 context.arg = new TypeError(
15818 "The iterator does not provide a 'throw' method");
15819 }
15820
15821 return ContinueSentinel;
15822 }
15823
15824 var record = tryCatch(method, delegate.iterator, context.arg);
15825
15826 if (record.type === "throw") {
15827 context.method = "throw";
15828 context.arg = record.arg;
15829 context.delegate = null;
15830 return ContinueSentinel;
15831 }
15832
15833 var info = record.arg;
15834
15835 if (! info) {
15836 context.method = "throw";
15837 context.arg = new TypeError("iterator result is not an object");
15838 context.delegate = null;
15839 return ContinueSentinel;
15840 }
15841
15842 if (info.done) {
15843 // Assign the result of the finished delegate to the temporary
15844 // variable specified by delegate.resultName (see delegateYield).
15845 context[delegate.resultName] = info.value;
15846
15847 // Resume execution at the desired location (see delegateYield).
15848 context.next = delegate.nextLoc;
15849
15850 // If context.method was "throw" but the delegate handled the
15851 // exception, let the outer generator proceed normally. If
15852 // context.method was "next", forget context.arg since it has been
15853 // "consumed" by the delegate iterator. If context.method was
15854 // "return", allow the original .return call to continue in the
15855 // outer generator.
15856 if (context.method !== "return") {
15857 context.method = "next";
15858 context.arg = undefined$1;
15859 }
15860
15861 } else {
15862 // Re-yield the result returned by the delegate method.
15863 return info;
15864 }
15865
15866 // The delegate iterator is finished, so forget it and continue with
15867 // the outer generator.
15868 context.delegate = null;
15869 return ContinueSentinel;
15870 }
15871
15872 // Define Generator.prototype.{next,throw,return} in terms of the
15873 // unified ._invoke helper method.
15874 defineIteratorMethods(Gp);
15875
15876 define(Gp, toStringTagSymbol, "Generator");
15877
15878 // A Generator should always return itself as the iterator object when the
15879 // @@iterator function is called on it. Some browsers' implementations of the
15880 // iterator prototype chain incorrectly implement this, causing the Generator
15881 // object to not be returned from this call. This ensures that doesn't happen.
15882 // See https://github.com/facebook/regenerator/issues/274 for more details.
15883 define(Gp, iteratorSymbol, function() {
15884 return this;
15885 });
15886
15887 define(Gp, "toString", function() {
15888 return "[object Generator]";
15889 });
15890
15891 function pushTryEntry(locs) {
15892 var entry = { tryLoc: locs[0] };
15893
15894 if (1 in locs) {
15895 entry.catchLoc = locs[1];
15896 }
15897
15898 if (2 in locs) {
15899 entry.finallyLoc = locs[2];
15900 entry.afterLoc = locs[3];
15901 }
15902
15903 this.tryEntries.push(entry);
15904 }
15905
15906 function resetTryEntry(entry) {
15907 var record = entry.completion || {};
15908 record.type = "normal";
15909 delete record.arg;
15910 entry.completion = record;
15911 }
15912
15913 function Context(tryLocsList) {
15914 // The root entry object (effectively a try statement without a catch
15915 // or a finally block) gives us a place to store values thrown from
15916 // locations where there is no enclosing try statement.
15917 this.tryEntries = [{ tryLoc: "root" }];
15918 tryLocsList.forEach(pushTryEntry, this);
15919 this.reset(true);
15920 }
15921
15922 exports.keys = function(object) {
15923 var keys = [];
15924 for (var key in object) {
15925 keys.push(key);
15926 }
15927 keys.reverse();
15928
15929 // Rather than returning an object with a next method, we keep
15930 // things simple and return the next function itself.
15931 return function next() {
15932 while (keys.length) {
15933 var key = keys.pop();
15934 if (key in object) {
15935 next.value = key;
15936 next.done = false;
15937 return next;
15938 }
15939 }
15940
15941 // To avoid creating an additional object, we just hang the .value
15942 // and .done properties off the next function object itself. This
15943 // also ensures that the minifier will not anonymize the function.
15944 next.done = true;
15945 return next;
15946 };
15947 };
15948
15949 function values(iterable) {
15950 if (iterable) {
15951 var iteratorMethod = iterable[iteratorSymbol];
15952 if (iteratorMethod) {
15953 return iteratorMethod.call(iterable);
15954 }
15955
15956 if (typeof iterable.next === "function") {
15957 return iterable;
15958 }
15959
15960 if (!isNaN(iterable.length)) {
15961 var i = -1, next = function next() {
15962 while (++i < iterable.length) {
15963 if (hasOwn.call(iterable, i)) {
15964 next.value = iterable[i];
15965 next.done = false;
15966 return next;
15967 }
15968 }
15969
15970 next.value = undefined$1;
15971 next.done = true;
15972
15973 return next;
15974 };
15975
15976 return next.next = next;
15977 }
15978 }
15979
15980 // Return an iterator with no values.
15981 return { next: doneResult };
15982 }
15983 exports.values = values;
15984
15985 function doneResult() {
15986 return { value: undefined$1, done: true };
15987 }
15988
15989 Context.prototype = {
15990 constructor: Context,
15991
15992 reset: function(skipTempReset) {
15993 this.prev = 0;
15994 this.next = 0;
15995 // Resetting context._sent for legacy support of Babel's
15996 // function.sent implementation.
15997 this.sent = this._sent = undefined$1;
15998 this.done = false;
15999 this.delegate = null;
16000
16001 this.method = "next";
16002 this.arg = undefined$1;
16003
16004 this.tryEntries.forEach(resetTryEntry);
16005
16006 if (!skipTempReset) {
16007 for (var name in this) {
16008 // Not sure about the optimal order of these conditions:
16009 if (name.charAt(0) === "t" &&
16010 hasOwn.call(this, name) &&
16011 !isNaN(+name.slice(1))) {
16012 this[name] = undefined$1;
16013 }
16014 }
16015 }
16016 },
16017
16018 stop: function() {
16019 this.done = true;
16020
16021 var rootEntry = this.tryEntries[0];
16022 var rootRecord = rootEntry.completion;
16023 if (rootRecord.type === "throw") {
16024 throw rootRecord.arg;
16025 }
16026
16027 return this.rval;
16028 },
16029
16030 dispatchException: function(exception) {
16031 if (this.done) {
16032 throw exception;
16033 }
16034
16035 var context = this;
16036 function handle(loc, caught) {
16037 record.type = "throw";
16038 record.arg = exception;
16039 context.next = loc;
16040
16041 if (caught) {
16042 // If the dispatched exception was caught by a catch block,
16043 // then let that catch block handle the exception normally.
16044 context.method = "next";
16045 context.arg = undefined$1;
16046 }
16047
16048 return !! caught;
16049 }
16050
16051 for (var i = this.tryEntries.length - 1; i >= 0; --i) {
16052 var entry = this.tryEntries[i];
16053 var record = entry.completion;
16054
16055 if (entry.tryLoc === "root") {
16056 // Exception thrown outside of any try block that could handle
16057 // it, so set the completion value of the entire function to
16058 // throw the exception.
16059 return handle("end");
16060 }
16061
16062 if (entry.tryLoc <= this.prev) {
16063 var hasCatch = hasOwn.call(entry, "catchLoc");
16064 var hasFinally = hasOwn.call(entry, "finallyLoc");
16065
16066 if (hasCatch && hasFinally) {
16067 if (this.prev < entry.catchLoc) {
16068 return handle(entry.catchLoc, true);
16069 } else if (this.prev < entry.finallyLoc) {
16070 return handle(entry.finallyLoc);
16071 }
16072
16073 } else if (hasCatch) {
16074 if (this.prev < entry.catchLoc) {
16075 return handle(entry.catchLoc, true);
16076 }
16077
16078 } else if (hasFinally) {
16079 if (this.prev < entry.finallyLoc) {
16080 return handle(entry.finallyLoc);
16081 }
16082
16083 } else {
16084 throw new Error("try statement without catch or finally");
16085 }
16086 }
16087 }
16088 },
16089
16090 abrupt: function(type, arg) {
16091 for (var i = this.tryEntries.length - 1; i >= 0; --i) {
16092 var entry = this.tryEntries[i];
16093 if (entry.tryLoc <= this.prev &&
16094 hasOwn.call(entry, "finallyLoc") &&
16095 this.prev < entry.finallyLoc) {
16096 var finallyEntry = entry;
16097 break;
16098 }
16099 }
16100
16101 if (finallyEntry &&
16102 (type === "break" ||
16103 type === "continue") &&
16104 finallyEntry.tryLoc <= arg &&
16105 arg <= finallyEntry.finallyLoc) {
16106 // Ignore the finally entry if control is not jumping to a
16107 // location outside the try/catch block.
16108 finallyEntry = null;
16109 }
16110
16111 var record = finallyEntry ? finallyEntry.completion : {};
16112 record.type = type;
16113 record.arg = arg;
16114
16115 if (finallyEntry) {
16116 this.method = "next";
16117 this.next = finallyEntry.finallyLoc;
16118 return ContinueSentinel;
16119 }
16120
16121 return this.complete(record);
16122 },
16123
16124 complete: function(record, afterLoc) {
16125 if (record.type === "throw") {
16126 throw record.arg;
16127 }
16128
16129 if (record.type === "break" ||
16130 record.type === "continue") {
16131 this.next = record.arg;
16132 } else if (record.type === "return") {
16133 this.rval = this.arg = record.arg;
16134 this.method = "return";
16135 this.next = "end";
16136 } else if (record.type === "normal" && afterLoc) {
16137 this.next = afterLoc;
16138 }
16139
16140 return ContinueSentinel;
16141 },
16142
16143 finish: function(finallyLoc) {
16144 for (var i = this.tryEntries.length - 1; i >= 0; --i) {
16145 var entry = this.tryEntries[i];
16146 if (entry.finallyLoc === finallyLoc) {
16147 this.complete(entry.completion, entry.afterLoc);
16148 resetTryEntry(entry);
16149 return ContinueSentinel;
16150 }
16151 }
16152 },
16153
16154 "catch": function(tryLoc) {
16155 for (var i = this.tryEntries.length - 1; i >= 0; --i) {
16156 var entry = this.tryEntries[i];
16157 if (entry.tryLoc === tryLoc) {
16158 var record = entry.completion;
16159 if (record.type === "throw") {
16160 var thrown = record.arg;
16161 resetTryEntry(entry);
16162 }
16163 return thrown;
16164 }
16165 }
16166
16167 // The context.catch method must only be called with a location
16168 // argument that corresponds to a known catch block.
16169 throw new Error("illegal catch attempt");
16170 },
16171
16172 delegateYield: function(iterable, resultName, nextLoc) {
16173 this.delegate = {
16174 iterator: values(iterable),
16175 resultName: resultName,
16176 nextLoc: nextLoc
16177 };
16178
16179 if (this.method === "next") {
16180 // Deliberately forget the last sent value so that we don't
16181 // accidentally pass it on to the delegate.
16182 this.arg = undefined$1;
16183 }
16184
16185 return ContinueSentinel;
16186 }
16187 };
16188
16189 // Regardless of whether this script is executing as a CommonJS module
16190 // or not, return the runtime object so that we can declare the variable
16191 // regeneratorRuntime in the outer scope, which allows this module to be
16192 // injected easily by `bin/regenerator --include-runtime script.js`.
16193 return exports;
16194
16195 }(
16196 // If this script is executing as a CommonJS module, use module.exports
16197 // as the regeneratorRuntime namespace. Otherwise create a new empty
16198 // object. Either way, the resulting object will be used to initialize
16199 // the regeneratorRuntime variable at the top of this file.
16200 module.exports
16201 ));
16202
16203 try {
16204 regeneratorRuntime = runtime;
16205 } catch (accidentalStrictMode) {
16206 // This module should not be running in strict mode, so the above
16207 // assignment should always work unless something is misconfigured. Just
16208 // in case runtime.js accidentally runs in strict mode, in modern engines
16209 // we can explicitly access globalThis. In older engines we can escape
16210 // strict mode using a global Function call. This could conceivably fail
16211 // if a Content Security Policy forbids using Function, but in that case
16212 // the proper solution is to fix the accidental strict mode problem. If
16213 // you've misconfigured your bundler to force strict mode and applied a
16214 // CSP to forbid Function, and you're not willing to fix either of those
16215 // problems, please detail your unique predicament in a GitHub issue.
16216 if (typeof globalThis === "object") {
16217 globalThis.regeneratorRuntime = runtime;
16218 } else {
16219 Function("r", "regeneratorRuntime = r")(runtime);
16220 }
16221 }
16222 }(runtime));
16223
16224 var _regeneratorRuntime = runtime.exports;
16225
16226 /**
16227 * Generate SVG Path tag from the given points
16228 */
16229
16230 var SvgPath = function SvgPath(_ref) {
16231 var paths = _ref.paths,
16232 id = _ref.id,
16233 strokeWidth = _ref.strokeWidth,
16234 strokeColor = _ref.strokeColor,
16235 _ref$command = _ref.command,
16236 command = _ref$command === void 0 ? bezierCommand : _ref$command;
16237
16238 if (paths.length === 1) {
16239 var _paths$ = paths[0],
16240 x = _paths$.x,
16241 y = _paths$.y;
16242 var radius = strokeWidth / 2;
16243 return react__WEBPACK_IMPORTED_MODULE_0__.createElement("circle", {
16244 key: id,
16245 id: id,
16246 cx: x,
16247 cy: y,
16248 r: radius,
16249 stroke: strokeColor,
16250 fill: strokeColor
16251 });
16252 }
16253
16254 var d = paths.reduce(function (acc, point, i, a) {
16255 return i === 0 ? "M " + point.x + "," + point.y : acc + " " + command(point, i, a);
16256 }, '');
16257 return react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
16258 key: id,
16259 id: id,
16260 d: d,
16261 fill: "none",
16262 strokeLinecap: "round",
16263 stroke: strokeColor,
16264 strokeWidth: strokeWidth
16265 });
16266 };
16267 var line = function line(pointA, pointB) {
16268 var lengthX = pointB.x - pointA.x;
16269 var lengthY = pointB.y - pointA.y;
16270 return {
16271 length: Math.sqrt(Math.pow(lengthX, 2) + Math.pow(lengthY, 2)),
16272 angle: Math.atan2(lengthY, lengthX)
16273 };
16274 };
16275
16276 var controlPoint = function controlPoint(controlPoints) {
16277 var current = controlPoints.current,
16278 next = controlPoints.next,
16279 previous = controlPoints.previous,
16280 reverse = controlPoints.reverse;
16281 var p = previous || current;
16282 var n = next || current;
16283 var smoothing = 0.2;
16284 var o = line(p, n);
16285 var angle = o.angle + (reverse ? Math.PI : 0);
16286 var length = o.length * smoothing;
16287 var x = current.x + Math.cos(angle) * length;
16288 var y = current.y + Math.sin(angle) * length;
16289 return [x, y];
16290 };
16291
16292 var bezierCommand = function bezierCommand(point, i, a) {
16293 var cpsX = null;
16294 var cpsY = null;
16295
16296 switch (i) {
16297 case 0:
16298 var _controlPoint = controlPoint({
16299 current: point
16300 });
16301
16302 cpsX = _controlPoint[0];
16303 cpsY = _controlPoint[1];
16304 break;
16305
16306 case 1:
16307 var _controlPoint2 = controlPoint({
16308 current: a[i - 1],
16309 next: point
16310 });
16311
16312 cpsX = _controlPoint2[0];
16313 cpsY = _controlPoint2[1];
16314 break;
16315
16316 default:
16317 var _controlPoint3 = controlPoint({
16318 current: a[i - 1],
16319 previous: a[i - 2],
16320 next: point
16321 });
16322
16323 cpsX = _controlPoint3[0];
16324 cpsY = _controlPoint3[1];
16325 break;
16326 }
16327
16328 var _controlPoint4 = controlPoint({
16329 current: point,
16330 previous: a[i - 1],
16331 next: a[i + 1],
16332 reverse: true
16333 }),
16334 cpeX = _controlPoint4[0],
16335 cpeY = _controlPoint4[1];
16336
16337 return "C " + cpsX + "," + cpsY + " " + cpeX + "," + cpeY + " " + point.x + ", " + point.y;
16338 };
16339
16340 var Paths = function Paths(_ref2) {
16341 var id = _ref2.id,
16342 paths = _ref2.paths;
16343 return react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, paths.map(function (path, index) {
16344 return react__WEBPACK_IMPORTED_MODULE_0__.createElement(SvgPath, {
16345 key: id + "__" + index,
16346 paths: path.paths,
16347 id: id + "__" + index,
16348 strokeWidth: path.strokeWidth,
16349 strokeColor: path.strokeColor,
16350 command: bezierCommand
16351 });
16352 }));
16353 };
16354
16355 var loadImage = function loadImage(url) {
16356 return new Promise(function (resolve, reject) {
16357 var img = new Image();
16358 img.addEventListener('load', function () {
16359 if (img.width > 0) {
16360 resolve(img);
16361 }
16362
16363 reject('Image not found');
16364 });
16365 img.addEventListener('error', function (err) {
16366 return reject(err);
16367 });
16368 img.src = url;
16369 img.setAttribute('crossorigin', 'anonymous');
16370 });
16371 };
16372
16373 function getCanvasWithViewBox(canvas) {
16374 var _canvas$firstChild;
16375
16376 var svgCanvas = (_canvas$firstChild = canvas.firstChild) == null ? void 0 : _canvas$firstChild.cloneNode(true);
16377 var width = canvas.offsetWidth;
16378 var height = canvas.offsetHeight;
16379 svgCanvas.setAttribute('viewBox', "0 0 " + width + " " + height);
16380 svgCanvas.setAttribute('width', width.toString());
16381 svgCanvas.setAttribute('height', height.toString());
16382 return {
16383 svgCanvas: svgCanvas,
16384 width: width,
16385 height: height
16386 };
16387 }
16388
16389 var Canvas = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(function (props, ref) {
16390 var paths = props.paths,
16391 isDrawing = props.isDrawing,
16392 onPointerDown = props.onPointerDown,
16393 onPointerMove = props.onPointerMove,
16394 onPointerUp = props.onPointerUp,
16395 _props$id = props.id,
16396 id = _props$id === void 0 ? 'react-sketch-canvas' : _props$id,
16397 _props$width = props.width,
16398 width = _props$width === void 0 ? '100%' : _props$width,
16399 _props$height = props.height,
16400 height = _props$height === void 0 ? '100%' : _props$height,
16401 _props$className = props.className,
16402 className = _props$className === void 0 ? 'react-sketch-canvas' : _props$className,
16403 _props$canvasColor = props.canvasColor,
16404 canvasColor = _props$canvasColor === void 0 ? 'red' : _props$canvasColor,
16405 _props$backgroundImag = props.backgroundImage,
16406 backgroundImage = _props$backgroundImag === void 0 ? '' : _props$backgroundImag,
16407 _props$exportWithBack = props.exportWithBackgroundImage,
16408 exportWithBackgroundImage = _props$exportWithBack === void 0 ? false : _props$exportWithBack,
16409 _props$preserveBackgr = props.preserveBackgroundImageAspectRatio,
16410 preserveBackgroundImageAspectRatio = _props$preserveBackgr === void 0 ? 'none' : _props$preserveBackgr,
16411 _props$allowOnlyPoint = props.allowOnlyPointerType,
16412 allowOnlyPointerType = _props$allowOnlyPoint === void 0 ? 'all' : _props$allowOnlyPoint,
16413 _props$style = props.style,
16414 style = _props$style === void 0 ? {
16415 border: '0.0625rem solid #9c9c9c',
16416 borderRadius: '0.25rem'
16417 } : _props$style,
16418 _props$svgStyle = props.svgStyle,
16419 svgStyle = _props$svgStyle === void 0 ? {} : _props$svgStyle;
16420 var canvasRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null); // Converts mouse coordinates to relative coordinate based on the absolute position of svg
16421
16422 var getCoordinates = function getCoordinates(pointerEvent) {
16423 var _canvasRef$current, _window$scrollX, _window$scrollY;
16424
16425 var boundingArea = (_canvasRef$current = canvasRef.current) == null ? void 0 : _canvasRef$current.getBoundingClientRect();
16426 var scrollLeft = (_window$scrollX = window.scrollX) != null ? _window$scrollX : 0;
16427 var scrollTop = (_window$scrollY = window.scrollY) != null ? _window$scrollY : 0;
16428
16429 if (!boundingArea) {
16430 return {
16431 x: 0,
16432 y: 0
16433 };
16434 }
16435
16436 var point = {
16437 x: pointerEvent.pageX - boundingArea.left - scrollLeft,
16438 y: pointerEvent.pageY - boundingArea.top - scrollTop
16439 };
16440 return point;
16441 };
16442 /* Mouse Handlers - Mouse down, move and up */
16443
16444
16445 var handlePointerDown = function handlePointerDown(event) {
16446 // Allow only chosen pointer type
16447 if (allowOnlyPointerType !== 'all' && event.pointerType !== allowOnlyPointerType) {
16448 return;
16449 }
16450
16451 if (event.pointerType === 'mouse' && event.button !== 0) return;
16452 var point = getCoordinates(event);
16453 onPointerDown(point);
16454 };
16455
16456 var handlePointerMove = function handlePointerMove(event) {
16457 if (!isDrawing) return; // Allow only chosen pointer type
16458
16459 if (allowOnlyPointerType !== 'all' && event.pointerType !== allowOnlyPointerType) {
16460 return;
16461 }
16462
16463 var point = getCoordinates(event);
16464 onPointerMove(point);
16465 };
16466
16467 var handlePointerUp = function handlePointerUp(event) {
16468 if (event.pointerType === 'mouse' && event.button !== 0) return; // Allow only chosen pointer type
16469
16470 if (allowOnlyPointerType !== 'all' && event.pointerType !== allowOnlyPointerType) {
16471 return;
16472 }
16473
16474 onPointerUp();
16475 };
16476 /* Mouse Handlers ends */
16477
16478
16479 react__WEBPACK_IMPORTED_MODULE_0__.useImperativeHandle(ref, function () {
16480 return {
16481 exportImage: function exportImage(imageType) {
16482 return new Promise( /*#__PURE__*/function () {
16483 var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(resolve, reject) {
16484 var canvas, _getCanvasWithViewBox, svgCanvas, _width, _height, canvasSketch, loadImagePromises, img;
16485
16486 return _regeneratorRuntime.wrap(function _callee$(_context) {
16487 while (1) {
16488 switch (_context.prev = _context.next) {
16489 case 0:
16490 _context.prev = 0;
16491 canvas = canvasRef.current;
16492
16493 if (canvas) {
16494 _context.next = 4;
16495 break;
16496 }
16497
16498 throw Error('Canvas not rendered yet');
16499
16500 case 4:
16501 _getCanvasWithViewBox = getCanvasWithViewBox(canvas), svgCanvas = _getCanvasWithViewBox.svgCanvas, _width = _getCanvasWithViewBox.width, _height = _getCanvasWithViewBox.height;
16502 canvasSketch = "data:image/svg+xml;base64," + btoa(svgCanvas.outerHTML);
16503 _context.next = 8;
16504 return loadImage(canvasSketch);
16505
16506 case 8:
16507 _context.t0 = _context.sent;
16508 loadImagePromises = [_context.t0];
16509
16510 if (!exportWithBackgroundImage) {
16511 _context.next = 21;
16512 break;
16513 }
16514
16515 _context.prev = 11;
16516 _context.next = 14;
16517 return loadImage(backgroundImage);
16518
16519 case 14:
16520 img = _context.sent;
16521 loadImagePromises.push(img);
16522 _context.next = 21;
16523 break;
16524
16525 case 18:
16526 _context.prev = 18;
16527 _context.t1 = _context["catch"](11);
16528 console.warn('exportWithBackgroundImage props is set without a valid background image URL. This option is ignored');
16529
16530 case 21:
16531 Promise.all(loadImagePromises).then(function (images) {
16532 var renderCanvas = document.createElement('canvas');
16533 renderCanvas.setAttribute('width', _width.toString());
16534 renderCanvas.setAttribute('height', _height.toString());
16535 var context = renderCanvas.getContext('2d');
16536
16537 if (!context) {
16538 throw Error('Canvas not rendered yet');
16539 }
16540
16541 images.reverse().forEach(function (image) {
16542 context.drawImage(image, 0, 0);
16543 });
16544 resolve(renderCanvas.toDataURL("image/" + imageType));
16545 })["catch"](function (e) {
16546 throw e;
16547 });
16548 _context.next = 27;
16549 break;
16550
16551 case 24:
16552 _context.prev = 24;
16553 _context.t2 = _context["catch"](0);
16554 reject(_context.t2);
16555
16556 case 27:
16557 case "end":
16558 return _context.stop();
16559 }
16560 }
16561 }, _callee, null, [[0, 24], [11, 18]]);
16562 }));
16563
16564 return function (_x, _x2) {
16565 return _ref.apply(this, arguments);
16566 };
16567 }());
16568 },
16569 exportSvg: function exportSvg() {
16570 return new Promise(function (resolve, reject) {
16571 try {
16572 var _canvasRef$current2;
16573
16574 var canvas = (_canvasRef$current2 = canvasRef.current) != null ? _canvasRef$current2 : null;
16575
16576 if (canvas !== null) {
16577 var _svgCanvas$querySelec, _svgCanvas$querySelec2;
16578
16579 var _getCanvasWithViewBox2 = getCanvasWithViewBox(canvas),
16580 svgCanvas = _getCanvasWithViewBox2.svgCanvas;
16581
16582 if (exportWithBackgroundImage) {
16583 resolve(svgCanvas.outerHTML);
16584 return;
16585 }
16586
16587 (_svgCanvas$querySelec = svgCanvas.querySelector("#" + id + "__background")) == null ? void 0 : _svgCanvas$querySelec.remove();
16588 (_svgCanvas$querySelec2 = svgCanvas.querySelector("#" + id + "__canvas-background")) == null ? void 0 : _svgCanvas$querySelec2.setAttribute('fill', canvasColor);
16589 resolve(svgCanvas.outerHTML);
16590 }
16591
16592 reject(new Error('Canvas not loaded'));
16593 } catch (e) {
16594 reject(e);
16595 }
16596 });
16597 }
16598 };
16599 });
16600 /* Add event listener to Mouse up and Touch up to
16601 release drawing even when point goes out of canvas */
16602
16603 react__WEBPACK_IMPORTED_MODULE_0__.useEffect(function () {
16604 document.addEventListener('pointerup', handlePointerUp);
16605 return function () {
16606 document.removeEventListener('pointerup', handlePointerUp);
16607 };
16608 }, [handlePointerUp]);
16609 var eraserPaths = paths.filter(function (path) {
16610 return !path.drawMode;
16611 });
16612 var currentGroup = 0;
16613 var pathGroups = paths.reduce(function (arrayGroup, path) {
16614 if (!path.drawMode) {
16615 currentGroup += 1;
16616 return arrayGroup;
16617 }
16618
16619 if (arrayGroup[currentGroup] === undefined) {
16620 arrayGroup[currentGroup] = [];
16621 }
16622
16623 arrayGroup[currentGroup].push(path);
16624 return arrayGroup;
16625 }, [[]]);
16626 return react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", {
16627 role: "presentation",
16628 ref: canvasRef,
16629 className: className,
16630 style: _extends({
16631 touchAction: 'none',
16632 width: width,
16633 height: height
16634 }, style),
16635 "touch-action": "none",
16636 onPointerDown: handlePointerDown,
16637 onPointerMove: handlePointerMove,
16638 onPointerUp: handlePointerUp
16639 }, react__WEBPACK_IMPORTED_MODULE_0__.createElement("svg", {
16640 version: "1.1",
16641 baseProfile: "full",
16642 xmlns: "http://www.w3.org/2000/svg",
16643 xmlnsXlink: "http://www.w3.org/1999/xlink",
16644 style: _extends({
16645 width: '100%',
16646 height: '100%'
16647 }, svgStyle),
16648 id: id
16649 }, react__WEBPACK_IMPORTED_MODULE_0__.createElement("g", {
16650 id: id + "__eraser-stroke-group",
16651 display: "none"
16652 }, react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", {
16653 id: id + "__mask-background",
16654 x: "0",
16655 y: "0",
16656 width: "100%",
16657 height: "100%",
16658 fill: "white"
16659 }), eraserPaths.map(function (eraserPath, i) {
16660 return react__WEBPACK_IMPORTED_MODULE_0__.createElement(SvgPath, {
16661 key: id + "__eraser-" + i,
16662 id: id + "__eraser-" + i,
16663 paths: eraserPath.paths,
16664 strokeColor: "#000000",
16665 strokeWidth: eraserPath.strokeWidth
16666 });
16667 })), react__WEBPACK_IMPORTED_MODULE_0__.createElement("defs", null, backgroundImage && react__WEBPACK_IMPORTED_MODULE_0__.createElement("pattern", {
16668 id: id + "__background",
16669 x: "0",
16670 y: "0",
16671 width: "100%",
16672 height: "100%",
16673 patternUnits: "userSpaceOnUse"
16674 }, react__WEBPACK_IMPORTED_MODULE_0__.createElement("image", {
16675 x: "0",
16676 y: "0",
16677 width: "100%",
16678 height: "100%",
16679 xlinkHref: backgroundImage,
16680 preserveAspectRatio: preserveBackgroundImageAspectRatio
16681 })), eraserPaths.map(function (_, i) {
16682 return react__WEBPACK_IMPORTED_MODULE_0__.createElement("mask", {
16683 id: id + "__eraser-mask-" + i,
16684 key: id + "__eraser-mask-" + i,
16685 maskUnits: "userSpaceOnUse"
16686 }, react__WEBPACK_IMPORTED_MODULE_0__.createElement("use", {
16687 href: "#" + id + "__mask-background"
16688 }), Array.from({
16689 length: eraserPaths.length - i
16690 }, function (_, j) {
16691 return j + i;
16692 }).map(function (k) {
16693 return react__WEBPACK_IMPORTED_MODULE_0__.createElement("use", {
16694 key: k.toString(),
16695 href: "#" + id + "__eraser-" + k.toString()
16696 });
16697 }));
16698 })), react__WEBPACK_IMPORTED_MODULE_0__.createElement("g", {
16699 id: id + "__canvas-background-group"
16700 }, react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", {
16701 id: id + "__canvas-background",
16702 x: "0",
16703 y: "0",
16704 width: "100%",
16705 height: "100%",
16706 fill: backgroundImage ? "url(#" + id + "__background)" : canvasColor
16707 })), pathGroups.map(function (pathGroup, i) {
16708 return react__WEBPACK_IMPORTED_MODULE_0__.createElement("g", {
16709 id: id + "__stroke-group-" + i,
16710 key: id + "__stroke-group-" + i,
16711 mask: "url(#" + id + "__eraser-mask-" + i + ")"
16712 }, react__WEBPACK_IMPORTED_MODULE_0__.createElement(Paths, {
16713 id: id,
16714 paths: pathGroup
16715 }));
16716 })));
16717 });
16718
16719 var ReactSketchCanvas = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(function (props, ref) {
16720 var _props$id = props.id,
16721 id = _props$id === void 0 ? 'react-sketch-canvas' : _props$id,
16722 _props$width = props.width,
16723 width = _props$width === void 0 ? '100%' : _props$width,
16724 _props$height = props.height,
16725 height = _props$height === void 0 ? '100%' : _props$height,
16726 _props$className = props.className,
16727 className = _props$className === void 0 ? '' : _props$className,
16728 _props$canvasColor = props.canvasColor,
16729 canvasColor = _props$canvasColor === void 0 ? 'white' : _props$canvasColor,
16730 _props$strokeColor = props.strokeColor,
16731 strokeColor = _props$strokeColor === void 0 ? 'red' : _props$strokeColor,
16732 _props$backgroundImag = props.backgroundImage,
16733 backgroundImage = _props$backgroundImag === void 0 ? '' : _props$backgroundImag,
16734 _props$exportWithBack = props.exportWithBackgroundImage,
16735 exportWithBackgroundImage = _props$exportWithBack === void 0 ? false : _props$exportWithBack,
16736 _props$preserveBackgr = props.preserveBackgroundImageAspectRatio,
16737 preserveBackgroundImageAspectRatio = _props$preserveBackgr === void 0 ? 'none' : _props$preserveBackgr,
16738 _props$strokeWidth = props.strokeWidth,
16739 strokeWidth = _props$strokeWidth === void 0 ? 4 : _props$strokeWidth,
16740 _props$eraserWidth = props.eraserWidth,
16741 eraserWidth = _props$eraserWidth === void 0 ? 8 : _props$eraserWidth,
16742 _props$allowOnlyPoint = props.allowOnlyPointerType,
16743 allowOnlyPointerType = _props$allowOnlyPoint === void 0 ? 'all' : _props$allowOnlyPoint,
16744 _props$style = props.style,
16745 style = _props$style === void 0 ? {
16746 border: '0.0625rem solid #9c9c9c',
16747 borderRadius: '0.25rem'
16748 } : _props$style,
16749 _props$svgStyle = props.svgStyle,
16750 svgStyle = _props$svgStyle === void 0 ? {} : _props$svgStyle,
16751 _props$onChange = props.onChange,
16752 onChange = _props$onChange === void 0 ? function (_paths) {} : _props$onChange,
16753 _props$onStroke = props.onStroke,
16754 onStroke = _props$onStroke === void 0 ? function (_path, _isEraser) {} : _props$onStroke,
16755 _props$withTimestamp = props.withTimestamp,
16756 withTimestamp = _props$withTimestamp === void 0 ? false : _props$withTimestamp;
16757 var svgCanvas = react__WEBPACK_IMPORTED_MODULE_0__.createRef();
16758
16759 var _React$useState = react__WEBPACK_IMPORTED_MODULE_0__.useState(true),
16760 drawMode = _React$useState[0],
16761 setDrawMode = _React$useState[1];
16762
16763 var _React$useState2 = react__WEBPACK_IMPORTED_MODULE_0__.useState(false),
16764 isDrawing = _React$useState2[0],
16765 setIsDrawing = _React$useState2[1];
16766
16767 var _React$useState3 = react__WEBPACK_IMPORTED_MODULE_0__.useState([]),
16768 resetStack = _React$useState3[0],
16769 setResetStack = _React$useState3[1];
16770
16771 var _React$useState4 = react__WEBPACK_IMPORTED_MODULE_0__.useState([]),
16772 undoStack = _React$useState4[0],
16773 setUndoStack = _React$useState4[1];
16774
16775 var _React$useState5 = react__WEBPACK_IMPORTED_MODULE_0__.useState([]),
16776 currentPaths = _React$useState5[0],
16777 setCurrentPaths = _React$useState5[1];
16778
16779 var liftStrokeUp = react__WEBPACK_IMPORTED_MODULE_0__.useCallback(function () {
16780 var _currentPaths$slice$, _currentPaths$slice;
16781
16782 var lastStroke = (_currentPaths$slice$ = (_currentPaths$slice = currentPaths.slice(-1)) == null ? void 0 : _currentPaths$slice[0]) != null ? _currentPaths$slice$ : null;
16783
16784 if (lastStroke === null) {
16785 console.warn('No stroke found!');
16786 return;
16787 }
16788
16789 onStroke(lastStroke, !lastStroke.drawMode);
16790 }, [isDrawing]);
16791 react__WEBPACK_IMPORTED_MODULE_0__.useEffect(function () {
16792 liftStrokeUp();
16793 }, [isDrawing]);
16794 react__WEBPACK_IMPORTED_MODULE_0__.useEffect(function () {
16795 onChange(currentPaths);
16796 }, [currentPaths]);
16797 react__WEBPACK_IMPORTED_MODULE_0__.useImperativeHandle(ref, function () {
16798 return {
16799 eraseMode: function eraseMode(erase) {
16800 setDrawMode(!erase);
16801 },
16802 clearCanvas: function clearCanvas() {
16803 setResetStack([].concat(currentPaths));
16804 setCurrentPaths([]);
16805 },
16806 undo: function undo() {
16807 // If there was a last reset then
16808 if (resetStack.length !== 0) {
16809 setCurrentPaths([].concat(resetStack));
16810 setResetStack([]);
16811 return;
16812 }
16813
16814 setUndoStack(function (undoStack) {
16815 return [].concat(undoStack, currentPaths.slice(-1));
16816 });
16817 setCurrentPaths(function (currentPaths) {
16818 return currentPaths.slice(0, -1);
16819 });
16820 },
16821 redo: function redo() {
16822 // Nothing to Redo
16823 if (undoStack.length === 0) return;
16824 setCurrentPaths(function (currentPaths) {
16825 return [].concat(currentPaths, undoStack.slice(-1));
16826 });
16827 setUndoStack(function (undoStack) {
16828 return undoStack.slice(0, -1);
16829 });
16830 },
16831 exportImage: function exportImage(imageType) {
16832 var _svgCanvas$current;
16833
16834 var exportImage = (_svgCanvas$current = svgCanvas.current) == null ? void 0 : _svgCanvas$current.exportImage;
16835
16836 if (!exportImage) {
16837 throw Error('Export function called before canvas loaded');
16838 } else {
16839 return exportImage(imageType);
16840 }
16841 },
16842 exportSvg: function exportSvg() {
16843 return new Promise(function (resolve, reject) {
16844 var _svgCanvas$current2;
16845
16846 var exportSvg = (_svgCanvas$current2 = svgCanvas.current) == null ? void 0 : _svgCanvas$current2.exportSvg;
16847
16848 if (!exportSvg) {
16849 reject(Error('Export function called before canvas loaded'));
16850 } else {
16851 exportSvg().then(function (data) {
16852 resolve(data);
16853 })["catch"](function (e) {
16854 reject(e);
16855 });
16856 }
16857 });
16858 },
16859 exportPaths: function exportPaths() {
16860 return new Promise(function (resolve, reject) {
16861 try {
16862 resolve(currentPaths);
16863 } catch (e) {
16864 reject(e);
16865 }
16866 });
16867 },
16868 loadPaths: function loadPaths(paths) {
16869 setCurrentPaths(function (currentPaths) {
16870 return [].concat(currentPaths, paths);
16871 });
16872 },
16873 getSketchingTime: function getSketchingTime() {
16874 return new Promise(function (resolve, reject) {
16875 if (!withTimestamp) {
16876 reject(new Error("Set 'withTimestamp' prop to get sketching time"));
16877 }
16878
16879 try {
16880 var sketchingTime = currentPaths.reduce(function (totalSketchingTime, path) {
16881 var _path$startTimestamp, _path$endTimestamp;
16882
16883 var startTimestamp = (_path$startTimestamp = path.startTimestamp) != null ? _path$startTimestamp : 0;
16884 var endTimestamp = (_path$endTimestamp = path.endTimestamp) != null ? _path$endTimestamp : 0;
16885 return totalSketchingTime + (endTimestamp - startTimestamp);
16886 }, 0);
16887 resolve(sketchingTime);
16888 } catch (e) {
16889 reject(e);
16890 }
16891 });
16892 },
16893 resetCanvas: function resetCanvas() {
16894 setResetStack([]);
16895 setUndoStack([]);
16896 setCurrentPaths([]);
16897 }
16898 };
16899 });
16900
16901 var handlePointerDown = function handlePointerDown(point) {
16902 setIsDrawing(true);
16903 setUndoStack([]);
16904 var stroke = {
16905 drawMode: drawMode,
16906 strokeColor: drawMode ? strokeColor : '#000000',
16907 strokeWidth: drawMode ? strokeWidth : eraserWidth,
16908 paths: [point]
16909 };
16910
16911 if (withTimestamp) {
16912 stroke = _extends({}, stroke, {
16913 startTimestamp: Date.now(),
16914 endTimestamp: 0
16915 });
16916 }
16917
16918 setCurrentPaths(function (currentPaths) {
16919 return [].concat(currentPaths, [stroke]);
16920 });
16921 };
16922
16923 var handlePointerMove = function handlePointerMove(point) {
16924 if (!isDrawing) return;
16925 var currentStroke = currentPaths.slice(-1)[0];
16926
16927 var updatedStroke = _extends({}, currentStroke, {
16928 paths: [].concat(currentStroke.paths, [point])
16929 });
16930
16931 setCurrentPaths(function (currentPaths) {
16932 return [].concat(currentPaths.slice(0, -1), [updatedStroke]);
16933 });
16934 };
16935
16936 var handlePointerUp = function handlePointerUp() {
16937 var _currentPaths$slice$2, _currentPaths$slice2;
16938
16939 if (!isDrawing) {
16940 return;
16941 }
16942
16943 setIsDrawing(false);
16944
16945 if (!withTimestamp) {
16946 return;
16947 }
16948
16949 var currentStroke = (_currentPaths$slice$2 = (_currentPaths$slice2 = currentPaths.slice(-1)) == null ? void 0 : _currentPaths$slice2[0]) != null ? _currentPaths$slice$2 : null;
16950
16951 if (currentStroke === null) {
16952 return;
16953 }
16954
16955 var updatedStroke = _extends({}, currentStroke, {
16956 endTimestamp: Date.now()
16957 });
16958
16959 setCurrentPaths(function (currentPaths) {
16960 return [].concat(currentPaths.slice(0, -1), [updatedStroke]);
16961 });
16962 };
16963
16964 return react__WEBPACK_IMPORTED_MODULE_0__.createElement(Canvas, {
16965 ref: svgCanvas,
16966 id: id,
16967 width: width,
16968 height: height,
16969 className: className,
16970 canvasColor: canvasColor,
16971 backgroundImage: backgroundImage,
16972 exportWithBackgroundImage: exportWithBackgroundImage,
16973 preserveBackgroundImageAspectRatio: preserveBackgroundImageAspectRatio,
16974 allowOnlyPointerType: allowOnlyPointerType,
16975 style: style,
16976 svgStyle: svgStyle,
16977 paths: currentPaths,
16978 isDrawing: isDrawing,
16979 onPointerDown: handlePointerDown,
16980 onPointerMove: handlePointerMove,
16981 onPointerUp: handlePointerUp
16982 });
16983 });
16984
16985
16986 //# sourceMappingURL=react-sketch-canvas.esm.js.map
16987
16988
16989 /***/ }),
16990
16991 /***/ "../node_modules/style-to-object/index.js":
16992 /*!************************************************!*\
16993 !*** ../node_modules/style-to-object/index.js ***!
16994 \************************************************/
16995 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
16996
16997 var parse = __webpack_require__(/*! inline-style-parser */ "../node_modules/inline-style-parser/index.js");
16998
16999 /**
17000 * Parses inline style to object.
17001 *
17002 * @example
17003 * // returns { 'line-height': '42' }
17004 * StyleToObject('line-height: 42;');
17005 *
17006 * @param {String} style - The inline style.
17007 * @param {Function} [iterator] - The iterator function.
17008 * @return {null|Object}
17009 */
17010 function StyleToObject(style, iterator) {
17011 var output = null;
17012 if (!style || typeof style !== 'string') {
17013 return output;
17014 }
17015
17016 var declaration;
17017 var declarations = parse(style);
17018 var hasIterator = typeof iterator === 'function';
17019 var property;
17020 var value;
17021
17022 for (var i = 0, len = declarations.length; i < len; i++) {
17023 declaration = declarations[i];
17024 property = declaration.property;
17025 value = declaration.value;
17026
17027 if (hasIterator) {
17028 iterator(property, value, declaration);
17029 } else if (value) {
17030 output || (output = {});
17031 output[property] = value;
17032 }
17033 }
17034
17035 return output;
17036 }
17037
17038 module.exports = StyleToObject;
17039 module.exports["default"] = StyleToObject; // ESM support
17040
17041
17042 /***/ }),
17043
17044 /***/ "react":
17045 /*!************************!*\
17046 !*** external "React" ***!
17047 \************************/
17048 /***/ ((module) => {
17049
17050 "use strict";
17051 module.exports = React;
17052
17053 /***/ }),
17054
17055 /***/ "react-dom":
17056 /*!***************************!*\
17057 !*** external "ReactDOM" ***!
17058 \***************************/
17059 /***/ ((module) => {
17060
17061 "use strict";
17062 module.exports = ReactDOM;
17063
17064 /***/ }),
17065
17066 /***/ "@elementor/icons":
17067 /*!************************************!*\
17068 !*** external "elementorV2.icons" ***!
17069 \************************************/
17070 /***/ ((module) => {
17071
17072 "use strict";
17073 module.exports = elementorV2.icons;
17074
17075 /***/ }),
17076
17077 /***/ "@elementor/ui":
17078 /*!*********************************!*\
17079 !*** external "elementorV2.ui" ***!
17080 \*********************************/
17081 /***/ ((module) => {
17082
17083 "use strict";
17084 module.exports = elementorV2.ui;
17085
17086 /***/ }),
17087
17088 /***/ "@wordpress/i18n":
17089 /*!**************************!*\
17090 !*** external "wp.i18n" ***!
17091 \**************************/
17092 /***/ ((module) => {
17093
17094 "use strict";
17095 module.exports = wp.i18n;
17096
17097 /***/ }),
17098
17099 /***/ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js":
17100 /*!******************************************************************!*\
17101 !*** ../node_modules/@babel/runtime/helpers/arrayLikeToArray.js ***!
17102 \******************************************************************/
17103 /***/ ((module) => {
17104
17105 function _arrayLikeToArray(arr, len) {
17106 if (len == null || len > arr.length) len = arr.length;
17107 for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
17108 return arr2;
17109 }
17110 module.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
17111
17112 /***/ }),
17113
17114 /***/ "../node_modules/@babel/runtime/helpers/arrayWithHoles.js":
17115 /*!****************************************************************!*\
17116 !*** ../node_modules/@babel/runtime/helpers/arrayWithHoles.js ***!
17117 \****************************************************************/
17118 /***/ ((module) => {
17119
17120 function _arrayWithHoles(arr) {
17121 if (Array.isArray(arr)) return arr;
17122 }
17123 module.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports["default"] = module.exports;
17124
17125 /***/ }),
17126
17127 /***/ "../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js":
17128 /*!*******************************************************************!*\
17129 !*** ../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js ***!
17130 \*******************************************************************/
17131 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
17132
17133 var arrayLikeToArray = __webpack_require__(/*! ./arrayLikeToArray.js */ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js");
17134 function _arrayWithoutHoles(arr) {
17135 if (Array.isArray(arr)) return arrayLikeToArray(arr);
17136 }
17137 module.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports["default"] = module.exports;
17138
17139 /***/ }),
17140
17141 /***/ "../node_modules/@babel/runtime/helpers/assertThisInitialized.js":
17142 /*!***********************************************************************!*\
17143 !*** ../node_modules/@babel/runtime/helpers/assertThisInitialized.js ***!
17144 \***********************************************************************/
17145 /***/ ((module) => {
17146
17147 function _assertThisInitialized(self) {
17148 if (self === void 0) {
17149 throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
17150 }
17151 return self;
17152 }
17153 module.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports["default"] = module.exports;
17154
17155 /***/ }),
17156
17157 /***/ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js":
17158 /*!******************************************************************!*\
17159 !*** ../node_modules/@babel/runtime/helpers/asyncToGenerator.js ***!
17160 \******************************************************************/
17161 /***/ ((module) => {
17162
17163 function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
17164 try {
17165 var info = gen[key](arg);
17166 var value = info.value;
17167 } catch (error) {
17168 reject(error);
17169 return;
17170 }
17171 if (info.done) {
17172 resolve(value);
17173 } else {
17174 Promise.resolve(value).then(_next, _throw);
17175 }
17176 }
17177 function _asyncToGenerator(fn) {
17178 return function () {
17179 var self = this,
17180 args = arguments;
17181 return new Promise(function (resolve, reject) {
17182 var gen = fn.apply(self, args);
17183 function _next(value) {
17184 asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
17185 }
17186 function _throw(err) {
17187 asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
17188 }
17189 _next(undefined);
17190 });
17191 };
17192 }
17193 module.exports = _asyncToGenerator, module.exports.__esModule = true, module.exports["default"] = module.exports;
17194
17195 /***/ }),
17196
17197 /***/ "../node_modules/@babel/runtime/helpers/classCallCheck.js":
17198 /*!****************************************************************!*\
17199 !*** ../node_modules/@babel/runtime/helpers/classCallCheck.js ***!
17200 \****************************************************************/
17201 /***/ ((module) => {
17202
17203 function _classCallCheck(instance, Constructor) {
17204 if (!(instance instanceof Constructor)) {
17205 throw new TypeError("Cannot call a class as a function");
17206 }
17207 }
17208 module.exports = _classCallCheck, module.exports.__esModule = true, module.exports["default"] = module.exports;
17209
17210 /***/ }),
17211
17212 /***/ "../node_modules/@babel/runtime/helpers/createClass.js":
17213 /*!*************************************************************!*\
17214 !*** ../node_modules/@babel/runtime/helpers/createClass.js ***!
17215 \*************************************************************/
17216 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
17217
17218 var toPropertyKey = __webpack_require__(/*! ./toPropertyKey.js */ "../node_modules/@babel/runtime/helpers/toPropertyKey.js");
17219 function _defineProperties(target, props) {
17220 for (var i = 0; i < props.length; i++) {
17221 var descriptor = props[i];
17222 descriptor.enumerable = descriptor.enumerable || false;
17223 descriptor.configurable = true;
17224 if ("value" in descriptor) descriptor.writable = true;
17225 Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);
17226 }
17227 }
17228 function _createClass(Constructor, protoProps, staticProps) {
17229 if (protoProps) _defineProperties(Constructor.prototype, protoProps);
17230 if (staticProps) _defineProperties(Constructor, staticProps);
17231 Object.defineProperty(Constructor, "prototype", {
17232 writable: false
17233 });
17234 return Constructor;
17235 }
17236 module.exports = _createClass, module.exports.__esModule = true, module.exports["default"] = module.exports;
17237
17238 /***/ }),
17239
17240 /***/ "../node_modules/@babel/runtime/helpers/defineProperty.js":
17241 /*!****************************************************************!*\
17242 !*** ../node_modules/@babel/runtime/helpers/defineProperty.js ***!
17243 \****************************************************************/
17244 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
17245
17246 var toPropertyKey = __webpack_require__(/*! ./toPropertyKey.js */ "../node_modules/@babel/runtime/helpers/toPropertyKey.js");
17247 function _defineProperty(obj, key, value) {
17248 key = toPropertyKey(key);
17249 if (key in obj) {
17250 Object.defineProperty(obj, key, {
17251 value: value,
17252 enumerable: true,
17253 configurable: true,
17254 writable: true
17255 });
17256 } else {
17257 obj[key] = value;
17258 }
17259 return obj;
17260 }
17261 module.exports = _defineProperty, module.exports.__esModule = true, module.exports["default"] = module.exports;
17262
17263 /***/ }),
17264
17265 /***/ "../node_modules/@babel/runtime/helpers/extends.js":
17266 /*!*********************************************************!*\
17267 !*** ../node_modules/@babel/runtime/helpers/extends.js ***!
17268 \*********************************************************/
17269 /***/ ((module) => {
17270
17271 function _extends() {
17272 module.exports = _extends = Object.assign ? Object.assign.bind() : function (target) {
17273 for (var i = 1; i < arguments.length; i++) {
17274 var source = arguments[i];
17275 for (var key in source) {
17276 if (Object.prototype.hasOwnProperty.call(source, key)) {
17277 target[key] = source[key];
17278 }
17279 }
17280 }
17281 return target;
17282 }, module.exports.__esModule = true, module.exports["default"] = module.exports;
17283 return _extends.apply(this, arguments);
17284 }
17285 module.exports = _extends, module.exports.__esModule = true, module.exports["default"] = module.exports;
17286
17287 /***/ }),
17288
17289 /***/ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js":
17290 /*!****************************************************************!*\
17291 !*** ../node_modules/@babel/runtime/helpers/getPrototypeOf.js ***!
17292 \****************************************************************/
17293 /***/ ((module) => {
17294
17295 function _getPrototypeOf(o) {
17296 module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {
17297 return o.__proto__ || Object.getPrototypeOf(o);
17298 }, module.exports.__esModule = true, module.exports["default"] = module.exports;
17299 return _getPrototypeOf(o);
17300 }
17301 module.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports;
17302
17303 /***/ }),
17304
17305 /***/ "../node_modules/@babel/runtime/helpers/inherits.js":
17306 /*!**********************************************************!*\
17307 !*** ../node_modules/@babel/runtime/helpers/inherits.js ***!
17308 \**********************************************************/
17309 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
17310
17311 var setPrototypeOf = __webpack_require__(/*! ./setPrototypeOf.js */ "../node_modules/@babel/runtime/helpers/setPrototypeOf.js");
17312 function _inherits(subClass, superClass) {
17313 if (typeof superClass !== "function" && superClass !== null) {
17314 throw new TypeError("Super expression must either be null or a function");
17315 }
17316 subClass.prototype = Object.create(superClass && superClass.prototype, {
17317 constructor: {
17318 value: subClass,
17319 writable: true,
17320 configurable: true
17321 }
17322 });
17323 Object.defineProperty(subClass, "prototype", {
17324 writable: false
17325 });
17326 if (superClass) setPrototypeOf(subClass, superClass);
17327 }
17328 module.exports = _inherits, module.exports.__esModule = true, module.exports["default"] = module.exports;
17329
17330 /***/ }),
17331
17332 /***/ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js":
17333 /*!***********************************************************************!*\
17334 !*** ../node_modules/@babel/runtime/helpers/interopRequireDefault.js ***!
17335 \***********************************************************************/
17336 /***/ ((module) => {
17337
17338 function _interopRequireDefault(obj) {
17339 return obj && obj.__esModule ? obj : {
17340 "default": obj
17341 };
17342 }
17343 module.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports["default"] = module.exports;
17344
17345 /***/ }),
17346
17347 /***/ "../node_modules/@babel/runtime/helpers/iterableToArray.js":
17348 /*!*****************************************************************!*\
17349 !*** ../node_modules/@babel/runtime/helpers/iterableToArray.js ***!
17350 \*****************************************************************/
17351 /***/ ((module) => {
17352
17353 function _iterableToArray(iter) {
17354 if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
17355 }
17356 module.exports = _iterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
17357
17358 /***/ }),
17359
17360 /***/ "../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js":
17361 /*!**********************************************************************!*\
17362 !*** ../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js ***!
17363 \**********************************************************************/
17364 /***/ ((module) => {
17365
17366 function _iterableToArrayLimit(r, l) {
17367 var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
17368 if (null != t) {
17369 var e,
17370 n,
17371 i,
17372 u,
17373 a = [],
17374 f = !0,
17375 o = !1;
17376 try {
17377 if (i = (t = t.call(r)).next, 0 === l) {
17378 if (Object(t) !== t) return;
17379 f = !1;
17380 } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
17381 } catch (r) {
17382 o = !0, n = r;
17383 } finally {
17384 try {
17385 if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
17386 } finally {
17387 if (o) throw n;
17388 }
17389 }
17390 return a;
17391 }
17392 }
17393 module.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports["default"] = module.exports;
17394
17395 /***/ }),
17396
17397 /***/ "../node_modules/@babel/runtime/helpers/nonIterableRest.js":
17398 /*!*****************************************************************!*\
17399 !*** ../node_modules/@babel/runtime/helpers/nonIterableRest.js ***!
17400 \*****************************************************************/
17401 /***/ ((module) => {
17402
17403 function _nonIterableRest() {
17404 throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
17405 }
17406 module.exports = _nonIterableRest, module.exports.__esModule = true, module.exports["default"] = module.exports;
17407
17408 /***/ }),
17409
17410 /***/ "../node_modules/@babel/runtime/helpers/nonIterableSpread.js":
17411 /*!*******************************************************************!*\
17412 !*** ../node_modules/@babel/runtime/helpers/nonIterableSpread.js ***!
17413 \*******************************************************************/
17414 /***/ ((module) => {
17415
17416 function _nonIterableSpread() {
17417 throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
17418 }
17419 module.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports["default"] = module.exports;
17420
17421 /***/ }),
17422
17423 /***/ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js":
17424 /*!*************************************************************************!*\
17425 !*** ../node_modules/@babel/runtime/helpers/objectWithoutProperties.js ***!
17426 \*************************************************************************/
17427 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
17428
17429 var objectWithoutPropertiesLoose = __webpack_require__(/*! ./objectWithoutPropertiesLoose.js */ "../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js");
17430 function _objectWithoutProperties(source, excluded) {
17431 if (source == null) return {};
17432 var target = objectWithoutPropertiesLoose(source, excluded);
17433 var key, i;
17434 if (Object.getOwnPropertySymbols) {
17435 var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
17436 for (i = 0; i < sourceSymbolKeys.length; i++) {
17437 key = sourceSymbolKeys[i];
17438 if (excluded.indexOf(key) >= 0) continue;
17439 if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
17440 target[key] = source[key];
17441 }
17442 }
17443 return target;
17444 }
17445 module.exports = _objectWithoutProperties, module.exports.__esModule = true, module.exports["default"] = module.exports;
17446
17447 /***/ }),
17448
17449 /***/ "../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js":
17450 /*!******************************************************************************!*\
17451 !*** ../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js ***!
17452 \******************************************************************************/
17453 /***/ ((module) => {
17454
17455 function _objectWithoutPropertiesLoose(source, excluded) {
17456 if (source == null) return {};
17457 var target = {};
17458 var sourceKeys = Object.keys(source);
17459 var key, i;
17460 for (i = 0; i < sourceKeys.length; i++) {
17461 key = sourceKeys[i];
17462 if (excluded.indexOf(key) >= 0) continue;
17463 target[key] = source[key];
17464 }
17465 return target;
17466 }
17467 module.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports["default"] = module.exports;
17468
17469 /***/ }),
17470
17471 /***/ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js":
17472 /*!***************************************************************************!*\
17473 !*** ../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js ***!
17474 \***************************************************************************/
17475 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
17476
17477 var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]);
17478 var assertThisInitialized = __webpack_require__(/*! ./assertThisInitialized.js */ "../node_modules/@babel/runtime/helpers/assertThisInitialized.js");
17479 function _possibleConstructorReturn(self, call) {
17480 if (call && (_typeof(call) === "object" || typeof call === "function")) {
17481 return call;
17482 } else if (call !== void 0) {
17483 throw new TypeError("Derived constructors may only return object or undefined");
17484 }
17485 return assertThisInitialized(self);
17486 }
17487 module.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports["default"] = module.exports;
17488
17489 /***/ }),
17490
17491 /***/ "../node_modules/@babel/runtime/helpers/regeneratorRuntime.js":
17492 /*!********************************************************************!*\
17493 !*** ../node_modules/@babel/runtime/helpers/regeneratorRuntime.js ***!
17494 \********************************************************************/
17495 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
17496
17497 var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]);
17498 function _regeneratorRuntime() {
17499 "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
17500 module.exports = _regeneratorRuntime = function _regeneratorRuntime() {
17501 return e;
17502 }, module.exports.__esModule = true, module.exports["default"] = module.exports;
17503 var t,
17504 e = {},
17505 r = Object.prototype,
17506 n = r.hasOwnProperty,
17507 o = Object.defineProperty || function (t, e, r) {
17508 t[e] = r.value;
17509 },
17510 i = "function" == typeof Symbol ? Symbol : {},
17511 a = i.iterator || "@@iterator",
17512 c = i.asyncIterator || "@@asyncIterator",
17513 u = i.toStringTag || "@@toStringTag";
17514 function define(t, e, r) {
17515 return Object.defineProperty(t, e, {
17516 value: r,
17517 enumerable: !0,
17518 configurable: !0,
17519 writable: !0
17520 }), t[e];
17521 }
17522 try {
17523 define({}, "");
17524 } catch (t) {
17525 define = function define(t, e, r) {
17526 return t[e] = r;
17527 };
17528 }
17529 function wrap(t, e, r, n) {
17530 var i = e && e.prototype instanceof Generator ? e : Generator,
17531 a = Object.create(i.prototype),
17532 c = new Context(n || []);
17533 return o(a, "_invoke", {
17534 value: makeInvokeMethod(t, r, c)
17535 }), a;
17536 }
17537 function tryCatch(t, e, r) {
17538 try {
17539 return {
17540 type: "normal",
17541 arg: t.call(e, r)
17542 };
17543 } catch (t) {
17544 return {
17545 type: "throw",
17546 arg: t
17547 };
17548 }
17549 }
17550 e.wrap = wrap;
17551 var h = "suspendedStart",
17552 l = "suspendedYield",
17553 f = "executing",
17554 s = "completed",
17555 y = {};
17556 function Generator() {}
17557 function GeneratorFunction() {}
17558 function GeneratorFunctionPrototype() {}
17559 var p = {};
17560 define(p, a, function () {
17561 return this;
17562 });
17563 var d = Object.getPrototypeOf,
17564 v = d && d(d(values([])));
17565 v && v !== r && n.call(v, a) && (p = v);
17566 var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);
17567 function defineIteratorMethods(t) {
17568 ["next", "throw", "return"].forEach(function (e) {
17569 define(t, e, function (t) {
17570 return this._invoke(e, t);
17571 });
17572 });
17573 }
17574 function AsyncIterator(t, e) {
17575 function invoke(r, o, i, a) {
17576 var c = tryCatch(t[r], t, o);
17577 if ("throw" !== c.type) {
17578 var u = c.arg,
17579 h = u.value;
17580 return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) {
17581 invoke("next", t, i, a);
17582 }, function (t) {
17583 invoke("throw", t, i, a);
17584 }) : e.resolve(h).then(function (t) {
17585 u.value = t, i(u);
17586 }, function (t) {
17587 return invoke("throw", t, i, a);
17588 });
17589 }
17590 a(c.arg);
17591 }
17592 var r;
17593 o(this, "_invoke", {
17594 value: function value(t, n) {
17595 function callInvokeWithMethodAndArg() {
17596 return new e(function (e, r) {
17597 invoke(t, n, e, r);
17598 });
17599 }
17600 return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();
17601 }
17602 });
17603 }
17604 function makeInvokeMethod(e, r, n) {
17605 var o = h;
17606 return function (i, a) {
17607 if (o === f) throw new Error("Generator is already running");
17608 if (o === s) {
17609 if ("throw" === i) throw a;
17610 return {
17611 value: t,
17612 done: !0
17613 };
17614 }
17615 for (n.method = i, n.arg = a;;) {
17616 var c = n.delegate;
17617 if (c) {
17618 var u = maybeInvokeDelegate(c, n);
17619 if (u) {
17620 if (u === y) continue;
17621 return u;
17622 }
17623 }
17624 if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) {
17625 if (o === h) throw o = s, n.arg;
17626 n.dispatchException(n.arg);
17627 } else "return" === n.method && n.abrupt("return", n.arg);
17628 o = f;
17629 var p = tryCatch(e, r, n);
17630 if ("normal" === p.type) {
17631 if (o = n.done ? s : l, p.arg === y) continue;
17632 return {
17633 value: p.arg,
17634 done: n.done
17635 };
17636 }
17637 "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg);
17638 }
17639 };
17640 }
17641 function maybeInvokeDelegate(e, r) {
17642 var n = r.method,
17643 o = e.iterator[n];
17644 if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y;
17645 var i = tryCatch(o, e.iterator, r.arg);
17646 if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y;
17647 var a = i.arg;
17648 return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y);
17649 }
17650 function pushTryEntry(t) {
17651 var e = {
17652 tryLoc: t[0]
17653 };
17654 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);
17655 }
17656 function resetTryEntry(t) {
17657 var e = t.completion || {};
17658 e.type = "normal", delete e.arg, t.completion = e;
17659 }
17660 function Context(t) {
17661 this.tryEntries = [{
17662 tryLoc: "root"
17663 }], t.forEach(pushTryEntry, this), this.reset(!0);
17664 }
17665 function values(e) {
17666 if (e || "" === e) {
17667 var r = e[a];
17668 if (r) return r.call(e);
17669 if ("function" == typeof e.next) return e;
17670 if (!isNaN(e.length)) {
17671 var o = -1,
17672 i = function next() {
17673 for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;
17674 return next.value = t, next.done = !0, next;
17675 };
17676 return i.next = i;
17677 }
17678 }
17679 throw new TypeError(_typeof(e) + " is not iterable");
17680 }
17681 return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", {
17682 value: GeneratorFunctionPrototype,
17683 configurable: !0
17684 }), o(GeneratorFunctionPrototype, "constructor", {
17685 value: GeneratorFunction,
17686 configurable: !0
17687 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) {
17688 var e = "function" == typeof t && t.constructor;
17689 return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name));
17690 }, e.mark = function (t) {
17691 return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t;
17692 }, e.awrap = function (t) {
17693 return {
17694 __await: t
17695 };
17696 }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {
17697 return this;
17698 }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {
17699 void 0 === i && (i = Promise);
17700 var a = new AsyncIterator(wrap(t, r, n, o), i);
17701 return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {
17702 return t.done ? t.value : a.next();
17703 });
17704 }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () {
17705 return this;
17706 }), define(g, "toString", function () {
17707 return "[object Generator]";
17708 }), e.keys = function (t) {
17709 var e = Object(t),
17710 r = [];
17711 for (var n in e) r.push(n);
17712 return r.reverse(), function next() {
17713 for (; r.length;) {
17714 var t = r.pop();
17715 if (t in e) return next.value = t, next.done = !1, next;
17716 }
17717 return next.done = !0, next;
17718 };
17719 }, e.values = values, Context.prototype = {
17720 constructor: Context,
17721 reset: function reset(e) {
17722 if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);
17723 },
17724 stop: function stop() {
17725 this.done = !0;
17726 var t = this.tryEntries[0].completion;
17727 if ("throw" === t.type) throw t.arg;
17728 return this.rval;
17729 },
17730 dispatchException: function dispatchException(e) {
17731 if (this.done) throw e;
17732 var r = this;
17733 function handle(n, o) {
17734 return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o;
17735 }
17736 for (var o = this.tryEntries.length - 1; o >= 0; --o) {
17737 var i = this.tryEntries[o],
17738 a = i.completion;
17739 if ("root" === i.tryLoc) return handle("end");
17740 if (i.tryLoc <= this.prev) {
17741 var c = n.call(i, "catchLoc"),
17742 u = n.call(i, "finallyLoc");
17743 if (c && u) {
17744 if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);
17745 if (this.prev < i.finallyLoc) return handle(i.finallyLoc);
17746 } else if (c) {
17747 if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);
17748 } else {
17749 if (!u) throw new Error("try statement without catch or finally");
17750 if (this.prev < i.finallyLoc) return handle(i.finallyLoc);
17751 }
17752 }
17753 }
17754 },
17755 abrupt: function abrupt(t, e) {
17756 for (var r = this.tryEntries.length - 1; r >= 0; --r) {
17757 var o = this.tryEntries[r];
17758 if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) {
17759 var i = o;
17760 break;
17761 }
17762 }
17763 i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);
17764 var a = i ? i.completion : {};
17765 return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a);
17766 },
17767 complete: function complete(t, e) {
17768 if ("throw" === t.type) throw t.arg;
17769 return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y;
17770 },
17771 finish: function finish(t) {
17772 for (var e = this.tryEntries.length - 1; e >= 0; --e) {
17773 var r = this.tryEntries[e];
17774 if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;
17775 }
17776 },
17777 "catch": function _catch(t) {
17778 for (var e = this.tryEntries.length - 1; e >= 0; --e) {
17779 var r = this.tryEntries[e];
17780 if (r.tryLoc === t) {
17781 var n = r.completion;
17782 if ("throw" === n.type) {
17783 var o = n.arg;
17784 resetTryEntry(r);
17785 }
17786 return o;
17787 }
17788 }
17789 throw new Error("illegal catch attempt");
17790 },
17791 delegateYield: function delegateYield(e, r, n) {
17792 return this.delegate = {
17793 iterator: values(e),
17794 resultName: r,
17795 nextLoc: n
17796 }, "next" === this.method && (this.arg = t), y;
17797 }
17798 }, e;
17799 }
17800 module.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports["default"] = module.exports;
17801
17802 /***/ }),
17803
17804 /***/ "../node_modules/@babel/runtime/helpers/setPrototypeOf.js":
17805 /*!****************************************************************!*\
17806 !*** ../node_modules/@babel/runtime/helpers/setPrototypeOf.js ***!
17807 \****************************************************************/
17808 /***/ ((module) => {
17809
17810 function _setPrototypeOf(o, p) {
17811 module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {
17812 o.__proto__ = p;
17813 return o;
17814 }, module.exports.__esModule = true, module.exports["default"] = module.exports;
17815 return _setPrototypeOf(o, p);
17816 }
17817 module.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports;
17818
17819 /***/ }),
17820
17821 /***/ "../node_modules/@babel/runtime/helpers/slicedToArray.js":
17822 /*!***************************************************************!*\
17823 !*** ../node_modules/@babel/runtime/helpers/slicedToArray.js ***!
17824 \***************************************************************/
17825 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
17826
17827 var arrayWithHoles = __webpack_require__(/*! ./arrayWithHoles.js */ "../node_modules/@babel/runtime/helpers/arrayWithHoles.js");
17828 var iterableToArrayLimit = __webpack_require__(/*! ./iterableToArrayLimit.js */ "../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js");
17829 var unsupportedIterableToArray = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js");
17830 var nonIterableRest = __webpack_require__(/*! ./nonIterableRest.js */ "../node_modules/@babel/runtime/helpers/nonIterableRest.js");
17831 function _slicedToArray(arr, i) {
17832 return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();
17833 }
17834 module.exports = _slicedToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
17835
17836 /***/ }),
17837
17838 /***/ "../node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js":
17839 /*!***********************************************************************!*\
17840 !*** ../node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js ***!
17841 \***********************************************************************/
17842 /***/ ((module) => {
17843
17844 function _taggedTemplateLiteral(strings, raw) {
17845 if (!raw) {
17846 raw = strings.slice(0);
17847 }
17848 return Object.freeze(Object.defineProperties(strings, {
17849 raw: {
17850 value: Object.freeze(raw)
17851 }
17852 }));
17853 }
17854 module.exports = _taggedTemplateLiteral, module.exports.__esModule = true, module.exports["default"] = module.exports;
17855
17856 /***/ }),
17857
17858 /***/ "../node_modules/@babel/runtime/helpers/toConsumableArray.js":
17859 /*!*******************************************************************!*\
17860 !*** ../node_modules/@babel/runtime/helpers/toConsumableArray.js ***!
17861 \*******************************************************************/
17862 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
17863
17864 var arrayWithoutHoles = __webpack_require__(/*! ./arrayWithoutHoles.js */ "../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js");
17865 var iterableToArray = __webpack_require__(/*! ./iterableToArray.js */ "../node_modules/@babel/runtime/helpers/iterableToArray.js");
17866 var unsupportedIterableToArray = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js");
17867 var nonIterableSpread = __webpack_require__(/*! ./nonIterableSpread.js */ "../node_modules/@babel/runtime/helpers/nonIterableSpread.js");
17868 function _toConsumableArray(arr) {
17869 return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();
17870 }
17871 module.exports = _toConsumableArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
17872
17873 /***/ }),
17874
17875 /***/ "../node_modules/@babel/runtime/helpers/toPrimitive.js":
17876 /*!*************************************************************!*\
17877 !*** ../node_modules/@babel/runtime/helpers/toPrimitive.js ***!
17878 \*************************************************************/
17879 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
17880
17881 var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]);
17882 function toPrimitive(t, r) {
17883 if ("object" != _typeof(t) || !t) return t;
17884 var e = t[Symbol.toPrimitive];
17885 if (void 0 !== e) {
17886 var i = e.call(t, r || "default");
17887 if ("object" != _typeof(i)) return i;
17888 throw new TypeError("@@toPrimitive must return a primitive value.");
17889 }
17890 return ("string" === r ? String : Number)(t);
17891 }
17892 module.exports = toPrimitive, module.exports.__esModule = true, module.exports["default"] = module.exports;
17893
17894 /***/ }),
17895
17896 /***/ "../node_modules/@babel/runtime/helpers/toPropertyKey.js":
17897 /*!***************************************************************!*\
17898 !*** ../node_modules/@babel/runtime/helpers/toPropertyKey.js ***!
17899 \***************************************************************/
17900 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
17901
17902 var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]);
17903 var toPrimitive = __webpack_require__(/*! ./toPrimitive.js */ "../node_modules/@babel/runtime/helpers/toPrimitive.js");
17904 function toPropertyKey(t) {
17905 var i = toPrimitive(t, "string");
17906 return "symbol" == _typeof(i) ? i : String(i);
17907 }
17908 module.exports = toPropertyKey, module.exports.__esModule = true, module.exports["default"] = module.exports;
17909
17910 /***/ }),
17911
17912 /***/ "../node_modules/@babel/runtime/helpers/typeof.js":
17913 /*!********************************************************!*\
17914 !*** ../node_modules/@babel/runtime/helpers/typeof.js ***!
17915 \********************************************************/
17916 /***/ ((module) => {
17917
17918 function _typeof(o) {
17919 "@babel/helpers - typeof";
17920
17921 return (module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
17922 return typeof o;
17923 } : function (o) {
17924 return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
17925 }, module.exports.__esModule = true, module.exports["default"] = module.exports), _typeof(o);
17926 }
17927 module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports;
17928
17929 /***/ }),
17930
17931 /***/ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js":
17932 /*!****************************************************************************!*\
17933 !*** ../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js ***!
17934 \****************************************************************************/
17935 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
17936
17937 var arrayLikeToArray = __webpack_require__(/*! ./arrayLikeToArray.js */ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js");
17938 function _unsupportedIterableToArray(o, minLen) {
17939 if (!o) return;
17940 if (typeof o === "string") return arrayLikeToArray(o, minLen);
17941 var n = Object.prototype.toString.call(o).slice(8, -1);
17942 if (n === "Object" && o.constructor) n = o.constructor.name;
17943 if (n === "Map" || n === "Set") return Array.from(o);
17944 if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);
17945 }
17946 module.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
17947
17948 /***/ }),
17949
17950 /***/ "../node_modules/@babel/runtime/regenerator/index.js":
17951 /*!***********************************************************!*\
17952 !*** ../node_modules/@babel/runtime/regenerator/index.js ***!
17953 \***********************************************************/
17954 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
17955
17956 // TODO(Babel 8): Remove this file.
17957
17958 var runtime = __webpack_require__(/*! ../helpers/regeneratorRuntime */ "../node_modules/@babel/runtime/helpers/regeneratorRuntime.js")();
17959 module.exports = runtime;
17960
17961 // Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=
17962 try {
17963 regeneratorRuntime = runtime;
17964 } catch (accidentalStrictMode) {
17965 if (typeof globalThis === "object") {
17966 globalThis.regeneratorRuntime = runtime;
17967 } else {
17968 Function("r", "regeneratorRuntime = r")(runtime);
17969 }
17970 }
17971
17972
17973 /***/ }),
17974
17975 /***/ "../node_modules/bail/index.js":
17976 /*!*************************************!*\
17977 !*** ../node_modules/bail/index.js ***!
17978 \*************************************/
17979 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
17980
17981 "use strict";
17982 __webpack_require__.r(__webpack_exports__);
17983 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
17984 /* harmony export */ bail: () => (/* binding */ bail)
17985 /* harmony export */ });
17986 /**
17987 * Throw a given error.
17988 *
17989 * @param {Error|null|undefined} [error]
17990 * Maybe error.
17991 * @returns {asserts error is null|undefined}
17992 */
17993 function bail(error) {
17994 if (error) {
17995 throw error
17996 }
17997 }
17998
17999
18000 /***/ }),
18001
18002 /***/ "../node_modules/comma-separated-tokens/index.js":
18003 /*!*******************************************************!*\
18004 !*** ../node_modules/comma-separated-tokens/index.js ***!
18005 \*******************************************************/
18006 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
18007
18008 "use strict";
18009 __webpack_require__.r(__webpack_exports__);
18010 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
18011 /* harmony export */ parse: () => (/* binding */ parse),
18012 /* harmony export */ stringify: () => (/* binding */ stringify)
18013 /* harmony export */ });
18014 /**
18015 * @typedef Options
18016 * Configuration for `stringify`.
18017 * @property {boolean} [padLeft=true]
18018 * Whether to pad a space before a token.
18019 * @property {boolean} [padRight=false]
18020 * Whether to pad a space after a token.
18021 */
18022
18023 /**
18024 * @typedef {Options} StringifyOptions
18025 * Please use `StringifyOptions` instead.
18026 */
18027
18028 /**
18029 * Parse comma-separated tokens to an array.
18030 *
18031 * @param {string} value
18032 * Comma-separated tokens.
18033 * @returns {Array<string>}
18034 * List of tokens.
18035 */
18036 function parse(value) {
18037 /** @type {Array<string>} */
18038 const tokens = []
18039 const input = String(value || '')
18040 let index = input.indexOf(',')
18041 let start = 0
18042 /** @type {boolean} */
18043 let end = false
18044
18045 while (!end) {
18046 if (index === -1) {
18047 index = input.length
18048 end = true
18049 }
18050
18051 const token = input.slice(start, index).trim()
18052
18053 if (token || !end) {
18054 tokens.push(token)
18055 }
18056
18057 start = index + 1
18058 index = input.indexOf(',', start)
18059 }
18060
18061 return tokens
18062 }
18063
18064 /**
18065 * Serialize an array of strings or numbers to comma-separated tokens.
18066 *
18067 * @param {Array<string|number>} values
18068 * List of tokens.
18069 * @param {Options} [options]
18070 * Configuration for `stringify` (optional).
18071 * @returns {string}
18072 * Comma-separated tokens.
18073 */
18074 function stringify(values, options) {
18075 const settings = options || {}
18076
18077 // Ensure the last empty entry is seen.
18078 const input = values[values.length - 1] === '' ? [...values, ''] : values
18079
18080 return input
18081 .join(
18082 (settings.padRight ? ' ' : '') +
18083 ',' +
18084 (settings.padLeft === false ? '' : ' ')
18085 )
18086 .trim()
18087 }
18088
18089
18090 /***/ }),
18091
18092 /***/ "../node_modules/decode-named-character-reference/index.dom.js":
18093 /*!*********************************************************************!*\
18094 !*** ../node_modules/decode-named-character-reference/index.dom.js ***!
18095 \*********************************************************************/
18096 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
18097
18098 "use strict";
18099 __webpack_require__.r(__webpack_exports__);
18100 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
18101 /* harmony export */ decodeNamedCharacterReference: () => (/* binding */ decodeNamedCharacterReference)
18102 /* harmony export */ });
18103 /// <reference lib="dom" />
18104
18105 /* eslint-env browser */
18106
18107 const element = document.createElement('i')
18108
18109 /**
18110 * @param {string} value
18111 * @returns {string|false}
18112 */
18113 function decodeNamedCharacterReference(value) {
18114 const characterReference = '&' + value + ';'
18115 element.innerHTML = characterReference
18116 const char = element.textContent
18117
18118 // Some named character references do not require the closing semicolon
18119 // (`&not`, for instance), which leads to situations where parsing the assumed
18120 // named reference of `&notit;` will result in the string `¬it;`.
18121 // When we encounter a trailing semicolon after parsing, and the character
18122 // reference to decode was not a semicolon (`&semi;`), we can assume that the
18123 // matching was not complete.
18124 // @ts-expect-error: TypeScript is wrong that `textContent` on elements can
18125 // yield `null`.
18126 if (char.charCodeAt(char.length - 1) === 59 /* `;` */ && value !== 'semi') {
18127 return false
18128 }
18129
18130 // If the decoded string is equal to the input, the character reference was
18131 // not valid.
18132 // @ts-expect-error: TypeScript is wrong that `textContent` on elements can
18133 // yield `null`.
18134 return char === characterReference ? false : char
18135 }
18136
18137
18138 /***/ }),
18139
18140 /***/ "../node_modules/dequal/dist/index.mjs":
18141 /*!*********************************************!*\
18142 !*** ../node_modules/dequal/dist/index.mjs ***!
18143 \*********************************************/
18144 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
18145
18146 "use strict";
18147 __webpack_require__.r(__webpack_exports__);
18148 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
18149 /* harmony export */ dequal: () => (/* binding */ dequal)
18150 /* harmony export */ });
18151 var has = Object.prototype.hasOwnProperty;
18152
18153 function find(iter, tar, key) {
18154 for (key of iter.keys()) {
18155 if (dequal(key, tar)) return key;
18156 }
18157 }
18158
18159 function dequal(foo, bar) {
18160 var ctor, len, tmp;
18161 if (foo === bar) return true;
18162
18163 if (foo && bar && (ctor=foo.constructor) === bar.constructor) {
18164 if (ctor === Date) return foo.getTime() === bar.getTime();
18165 if (ctor === RegExp) return foo.toString() === bar.toString();
18166
18167 if (ctor === Array) {
18168 if ((len=foo.length) === bar.length) {
18169 while (len-- && dequal(foo[len], bar[len]));
18170 }
18171 return len === -1;
18172 }
18173
18174 if (ctor === Set) {
18175 if (foo.size !== bar.size) {
18176 return false;
18177 }
18178 for (len of foo) {
18179 tmp = len;
18180 if (tmp && typeof tmp === 'object') {
18181 tmp = find(bar, tmp);
18182 if (!tmp) return false;
18183 }
18184 if (!bar.has(tmp)) return false;
18185 }
18186 return true;
18187 }
18188
18189 if (ctor === Map) {
18190 if (foo.size !== bar.size) {
18191 return false;
18192 }
18193 for (len of foo) {
18194 tmp = len[0];
18195 if (tmp && typeof tmp === 'object') {
18196 tmp = find(bar, tmp);
18197 if (!tmp) return false;
18198 }
18199 if (!dequal(len[1], bar.get(tmp))) {
18200 return false;
18201 }
18202 }
18203 return true;
18204 }
18205
18206 if (ctor === ArrayBuffer) {
18207 foo = new Uint8Array(foo);
18208 bar = new Uint8Array(bar);
18209 } else if (ctor === DataView) {
18210 if ((len=foo.byteLength) === bar.byteLength) {
18211 while (len-- && foo.getInt8(len) === bar.getInt8(len));
18212 }
18213 return len === -1;
18214 }
18215
18216 if (ArrayBuffer.isView(foo)) {
18217 if ((len=foo.byteLength) === bar.byteLength) {
18218 while (len-- && foo[len] === bar[len]);
18219 }
18220 return len === -1;
18221 }
18222
18223 if (!ctor || typeof foo === 'object') {
18224 len = 0;
18225 for (ctor in foo) {
18226 if (has.call(foo, ctor) && ++len && !has.call(bar, ctor)) return false;
18227 if (!(ctor in bar) || !dequal(foo[ctor], bar[ctor])) return false;
18228 }
18229 return Object.keys(bar).length === len;
18230 }
18231 }
18232
18233 return foo !== foo && bar !== bar;
18234 }
18235
18236
18237 /***/ }),
18238
18239 /***/ "../node_modules/diff/lib/index.mjs":
18240 /*!******************************************!*\
18241 !*** ../node_modules/diff/lib/index.mjs ***!
18242 \******************************************/
18243 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
18244
18245 "use strict";
18246 __webpack_require__.r(__webpack_exports__);
18247 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
18248 /* harmony export */ Diff: () => (/* binding */ Diff),
18249 /* harmony export */ applyPatch: () => (/* binding */ applyPatch),
18250 /* harmony export */ applyPatches: () => (/* binding */ applyPatches),
18251 /* harmony export */ canonicalize: () => (/* binding */ canonicalize),
18252 /* harmony export */ convertChangesToDMP: () => (/* binding */ convertChangesToDMP),
18253 /* harmony export */ convertChangesToXML: () => (/* binding */ convertChangesToXML),
18254 /* harmony export */ createPatch: () => (/* binding */ createPatch),
18255 /* harmony export */ createTwoFilesPatch: () => (/* binding */ createTwoFilesPatch),
18256 /* harmony export */ diffArrays: () => (/* binding */ diffArrays),
18257 /* harmony export */ diffChars: () => (/* binding */ diffChars),
18258 /* harmony export */ diffCss: () => (/* binding */ diffCss),
18259 /* harmony export */ diffJson: () => (/* binding */ diffJson),
18260 /* harmony export */ diffLines: () => (/* binding */ diffLines),
18261 /* harmony export */ diffSentences: () => (/* binding */ diffSentences),
18262 /* harmony export */ diffTrimmedLines: () => (/* binding */ diffTrimmedLines),
18263 /* harmony export */ diffWords: () => (/* binding */ diffWords),
18264 /* harmony export */ diffWordsWithSpace: () => (/* binding */ diffWordsWithSpace),
18265 /* harmony export */ merge: () => (/* binding */ merge),
18266 /* harmony export */ parsePatch: () => (/* binding */ parsePatch),
18267 /* harmony export */ structuredPatch: () => (/* binding */ structuredPatch)
18268 /* harmony export */ });
18269 function Diff() {}
18270 Diff.prototype = {
18271 diff: function diff(oldString, newString) {
18272 var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
18273 var callback = options.callback;
18274
18275 if (typeof options === 'function') {
18276 callback = options;
18277 options = {};
18278 }
18279
18280 this.options = options;
18281 var self = this;
18282
18283 function done(value) {
18284 if (callback) {
18285 setTimeout(function () {
18286 callback(undefined, value);
18287 }, 0);
18288 return true;
18289 } else {
18290 return value;
18291 }
18292 } // Allow subclasses to massage the input prior to running
18293
18294
18295 oldString = this.castInput(oldString);
18296 newString = this.castInput(newString);
18297 oldString = this.removeEmpty(this.tokenize(oldString));
18298 newString = this.removeEmpty(this.tokenize(newString));
18299 var newLen = newString.length,
18300 oldLen = oldString.length;
18301 var editLength = 1;
18302 var maxEditLength = newLen + oldLen;
18303
18304 if (options.maxEditLength) {
18305 maxEditLength = Math.min(maxEditLength, options.maxEditLength);
18306 }
18307
18308 var bestPath = [{
18309 newPos: -1,
18310 components: []
18311 }]; // Seed editLength = 0, i.e. the content starts with the same values
18312
18313 var oldPos = this.extractCommon(bestPath[0], newString, oldString, 0);
18314
18315 if (bestPath[0].newPos + 1 >= newLen && oldPos + 1 >= oldLen) {
18316 // Identity per the equality and tokenizer
18317 return done([{
18318 value: this.join(newString),
18319 count: newString.length
18320 }]);
18321 } // Main worker method. checks all permutations of a given edit length for acceptance.
18322
18323
18324 function execEditLength() {
18325 for (var diagonalPath = -1 * editLength; diagonalPath <= editLength; diagonalPath += 2) {
18326 var basePath = void 0;
18327
18328 var addPath = bestPath[diagonalPath - 1],
18329 removePath = bestPath[diagonalPath + 1],
18330 _oldPos = (removePath ? removePath.newPos : 0) - diagonalPath;
18331
18332 if (addPath) {
18333 // No one else is going to attempt to use this value, clear it
18334 bestPath[diagonalPath - 1] = undefined;
18335 }
18336
18337 var canAdd = addPath && addPath.newPos + 1 < newLen,
18338 canRemove = removePath && 0 <= _oldPos && _oldPos < oldLen;
18339
18340 if (!canAdd && !canRemove) {
18341 // If this path is a terminal then prune
18342 bestPath[diagonalPath] = undefined;
18343 continue;
18344 } // Select the diagonal that we want to branch from. We select the prior
18345 // path whose position in the new string is the farthest from the origin
18346 // and does not pass the bounds of the diff graph
18347
18348
18349 if (!canAdd || canRemove && addPath.newPos < removePath.newPos) {
18350 basePath = clonePath(removePath);
18351 self.pushComponent(basePath.components, undefined, true);
18352 } else {
18353 basePath = addPath; // No need to clone, we've pulled it from the list
18354
18355 basePath.newPos++;
18356 self.pushComponent(basePath.components, true, undefined);
18357 }
18358
18359 _oldPos = self.extractCommon(basePath, newString, oldString, diagonalPath); // If we have hit the end of both strings, then we are done
18360
18361 if (basePath.newPos + 1 >= newLen && _oldPos + 1 >= oldLen) {
18362 return done(buildValues(self, basePath.components, newString, oldString, self.useLongestToken));
18363 } else {
18364 // Otherwise track this path as a potential candidate and continue.
18365 bestPath[diagonalPath] = basePath;
18366 }
18367 }
18368
18369 editLength++;
18370 } // Performs the length of edit iteration. Is a bit fugly as this has to support the
18371 // sync and async mode which is never fun. Loops over execEditLength until a value
18372 // is produced, or until the edit length exceeds options.maxEditLength (if given),
18373 // in which case it will return undefined.
18374
18375
18376 if (callback) {
18377 (function exec() {
18378 setTimeout(function () {
18379 if (editLength > maxEditLength) {
18380 return callback();
18381 }
18382
18383 if (!execEditLength()) {
18384 exec();
18385 }
18386 }, 0);
18387 })();
18388 } else {
18389 while (editLength <= maxEditLength) {
18390 var ret = execEditLength();
18391
18392 if (ret) {
18393 return ret;
18394 }
18395 }
18396 }
18397 },
18398 pushComponent: function pushComponent(components, added, removed) {
18399 var last = components[components.length - 1];
18400
18401 if (last && last.added === added && last.removed === removed) {
18402 // We need to clone here as the component clone operation is just
18403 // as shallow array clone
18404 components[components.length - 1] = {
18405 count: last.count + 1,
18406 added: added,
18407 removed: removed
18408 };
18409 } else {
18410 components.push({
18411 count: 1,
18412 added: added,
18413 removed: removed
18414 });
18415 }
18416 },
18417 extractCommon: function extractCommon(basePath, newString, oldString, diagonalPath) {
18418 var newLen = newString.length,
18419 oldLen = oldString.length,
18420 newPos = basePath.newPos,
18421 oldPos = newPos - diagonalPath,
18422 commonCount = 0;
18423
18424 while (newPos + 1 < newLen && oldPos + 1 < oldLen && this.equals(newString[newPos + 1], oldString[oldPos + 1])) {
18425 newPos++;
18426 oldPos++;
18427 commonCount++;
18428 }
18429
18430 if (commonCount) {
18431 basePath.components.push({
18432 count: commonCount
18433 });
18434 }
18435
18436 basePath.newPos = newPos;
18437 return oldPos;
18438 },
18439 equals: function equals(left, right) {
18440 if (this.options.comparator) {
18441 return this.options.comparator(left, right);
18442 } else {
18443 return left === right || this.options.ignoreCase && left.toLowerCase() === right.toLowerCase();
18444 }
18445 },
18446 removeEmpty: function removeEmpty(array) {
18447 var ret = [];
18448
18449 for (var i = 0; i < array.length; i++) {
18450 if (array[i]) {
18451 ret.push(array[i]);
18452 }
18453 }
18454
18455 return ret;
18456 },
18457 castInput: function castInput(value) {
18458 return value;
18459 },
18460 tokenize: function tokenize(value) {
18461 return value.split('');
18462 },
18463 join: function join(chars) {
18464 return chars.join('');
18465 }
18466 };
18467
18468 function buildValues(diff, components, newString, oldString, useLongestToken) {
18469 var componentPos = 0,
18470 componentLen = components.length,
18471 newPos = 0,
18472 oldPos = 0;
18473
18474 for (; componentPos < componentLen; componentPos++) {
18475 var component = components[componentPos];
18476
18477 if (!component.removed) {
18478 if (!component.added && useLongestToken) {
18479 var value = newString.slice(newPos, newPos + component.count);
18480 value = value.map(function (value, i) {
18481 var oldValue = oldString[oldPos + i];
18482 return oldValue.length > value.length ? oldValue : value;
18483 });
18484 component.value = diff.join(value);
18485 } else {
18486 component.value = diff.join(newString.slice(newPos, newPos + component.count));
18487 }
18488
18489 newPos += component.count; // Common case
18490
18491 if (!component.added) {
18492 oldPos += component.count;
18493 }
18494 } else {
18495 component.value = diff.join(oldString.slice(oldPos, oldPos + component.count));
18496 oldPos += component.count; // Reverse add and remove so removes are output first to match common convention
18497 // The diffing algorithm is tied to add then remove output and this is the simplest
18498 // route to get the desired output with minimal overhead.
18499
18500 if (componentPos && components[componentPos - 1].added) {
18501 var tmp = components[componentPos - 1];
18502 components[componentPos - 1] = components[componentPos];
18503 components[componentPos] = tmp;
18504 }
18505 }
18506 } // Special case handle for when one terminal is ignored (i.e. whitespace).
18507 // For this case we merge the terminal into the prior string and drop the change.
18508 // This is only available for string mode.
18509
18510
18511 var lastComponent = components[componentLen - 1];
18512
18513 if (componentLen > 1 && typeof lastComponent.value === 'string' && (lastComponent.added || lastComponent.removed) && diff.equals('', lastComponent.value)) {
18514 components[componentLen - 2].value += lastComponent.value;
18515 components.pop();
18516 }
18517
18518 return components;
18519 }
18520
18521 function clonePath(path) {
18522 return {
18523 newPos: path.newPos,
18524 components: path.components.slice(0)
18525 };
18526 }
18527
18528 var characterDiff = new Diff();
18529 function diffChars(oldStr, newStr, options) {
18530 return characterDiff.diff(oldStr, newStr, options);
18531 }
18532
18533 function generateOptions(options, defaults) {
18534 if (typeof options === 'function') {
18535 defaults.callback = options;
18536 } else if (options) {
18537 for (var name in options) {
18538 /* istanbul ignore else */
18539 if (options.hasOwnProperty(name)) {
18540 defaults[name] = options[name];
18541 }
18542 }
18543 }
18544
18545 return defaults;
18546 }
18547
18548 //
18549 // Ranges and exceptions:
18550 // Latin-1 Supplement, 0080–00FF
18551 // - U+00D7 × Multiplication sign
18552 // - U+00F7 ÷ Division sign
18553 // Latin Extended-A, 0100–017F
18554 // Latin Extended-B, 0180–024F
18555 // IPA Extensions, 0250–02AF
18556 // Spacing Modifier Letters, 02B0–02FF
18557 // - U+02C7 ˇ &#711; Caron
18558 // - U+02D8 ˘ &#728; Breve
18559 // - U+02D9 ˙ &#729; Dot Above
18560 // - U+02DA ˚ &#730; Ring Above
18561 // - U+02DB ˛ &#731; Ogonek
18562 // - U+02DC ˜ &#732; Small Tilde
18563 // - U+02DD ˝ &#733; Double Acute Accent
18564 // Latin Extended Additional, 1E00–1EFF
18565
18566 var extendedWordChars = /^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/;
18567 var reWhitespace = /\S/;
18568 var wordDiff = new Diff();
18569
18570 wordDiff.equals = function (left, right) {
18571 if (this.options.ignoreCase) {
18572 left = left.toLowerCase();
18573 right = right.toLowerCase();
18574 }
18575
18576 return left === right || this.options.ignoreWhitespace && !reWhitespace.test(left) && !reWhitespace.test(right);
18577 };
18578
18579 wordDiff.tokenize = function (value) {
18580 // All whitespace symbols except newline group into one token, each newline - in separate token
18581 var tokens = value.split(/([^\S\r\n]+|[()[\]{}'"\r\n]|\b)/); // Join the boundary splits that we do not consider to be boundaries. This is primarily the extended Latin character set.
18582
18583 for (var i = 0; i < tokens.length - 1; i++) {
18584 // If we have an empty string in the next field and we have only word chars before and after, merge
18585 if (!tokens[i + 1] && tokens[i + 2] && extendedWordChars.test(tokens[i]) && extendedWordChars.test(tokens[i + 2])) {
18586 tokens[i] += tokens[i + 2];
18587 tokens.splice(i + 1, 2);
18588 i--;
18589 }
18590 }
18591
18592 return tokens;
18593 };
18594
18595 function diffWords(oldStr, newStr, options) {
18596 options = generateOptions(options, {
18597 ignoreWhitespace: true
18598 });
18599 return wordDiff.diff(oldStr, newStr, options);
18600 }
18601 function diffWordsWithSpace(oldStr, newStr, options) {
18602 return wordDiff.diff(oldStr, newStr, options);
18603 }
18604
18605 var lineDiff = new Diff();
18606
18607 lineDiff.tokenize = function (value) {
18608 var retLines = [],
18609 linesAndNewlines = value.split(/(\n|\r\n)/); // Ignore the final empty token that occurs if the string ends with a new line
18610
18611 if (!linesAndNewlines[linesAndNewlines.length - 1]) {
18612 linesAndNewlines.pop();
18613 } // Merge the content and line separators into single tokens
18614
18615
18616 for (var i = 0; i < linesAndNewlines.length; i++) {
18617 var line = linesAndNewlines[i];
18618
18619 if (i % 2 && !this.options.newlineIsToken) {
18620 retLines[retLines.length - 1] += line;
18621 } else {
18622 if (this.options.ignoreWhitespace) {
18623 line = line.trim();
18624 }
18625
18626 retLines.push(line);
18627 }
18628 }
18629
18630 return retLines;
18631 };
18632
18633 function diffLines(oldStr, newStr, callback) {
18634 return lineDiff.diff(oldStr, newStr, callback);
18635 }
18636 function diffTrimmedLines(oldStr, newStr, callback) {
18637 var options = generateOptions(callback, {
18638 ignoreWhitespace: true
18639 });
18640 return lineDiff.diff(oldStr, newStr, options);
18641 }
18642
18643 var sentenceDiff = new Diff();
18644
18645 sentenceDiff.tokenize = function (value) {
18646 return value.split(/(\S.+?[.!?])(?=\s+|$)/);
18647 };
18648
18649 function diffSentences(oldStr, newStr, callback) {
18650 return sentenceDiff.diff(oldStr, newStr, callback);
18651 }
18652
18653 var cssDiff = new Diff();
18654
18655 cssDiff.tokenize = function (value) {
18656 return value.split(/([{}:;,]|\s+)/);
18657 };
18658
18659 function diffCss(oldStr, newStr, callback) {
18660 return cssDiff.diff(oldStr, newStr, callback);
18661 }
18662
18663 function _typeof(obj) {
18664 "@babel/helpers - typeof";
18665
18666 if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
18667 _typeof = function (obj) {
18668 return typeof obj;
18669 };
18670 } else {
18671 _typeof = function (obj) {
18672 return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
18673 };
18674 }
18675
18676 return _typeof(obj);
18677 }
18678
18679 function _toConsumableArray(arr) {
18680 return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
18681 }
18682
18683 function _arrayWithoutHoles(arr) {
18684 if (Array.isArray(arr)) return _arrayLikeToArray(arr);
18685 }
18686
18687 function _iterableToArray(iter) {
18688 if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter);
18689 }
18690
18691 function _unsupportedIterableToArray(o, minLen) {
18692 if (!o) return;
18693 if (typeof o === "string") return _arrayLikeToArray(o, minLen);
18694 var n = Object.prototype.toString.call(o).slice(8, -1);
18695 if (n === "Object" && o.constructor) n = o.constructor.name;
18696 if (n === "Map" || n === "Set") return Array.from(o);
18697 if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
18698 }
18699
18700 function _arrayLikeToArray(arr, len) {
18701 if (len == null || len > arr.length) len = arr.length;
18702
18703 for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
18704
18705 return arr2;
18706 }
18707
18708 function _nonIterableSpread() {
18709 throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
18710 }
18711
18712 var objectPrototypeToString = Object.prototype.toString;
18713 var jsonDiff = new Diff(); // Discriminate between two lines of pretty-printed, serialized JSON where one of them has a
18714 // dangling comma and the other doesn't. Turns out including the dangling comma yields the nicest output:
18715
18716 jsonDiff.useLongestToken = true;
18717 jsonDiff.tokenize = lineDiff.tokenize;
18718
18719 jsonDiff.castInput = function (value) {
18720 var _this$options = this.options,
18721 undefinedReplacement = _this$options.undefinedReplacement,
18722 _this$options$stringi = _this$options.stringifyReplacer,
18723 stringifyReplacer = _this$options$stringi === void 0 ? function (k, v) {
18724 return typeof v === 'undefined' ? undefinedReplacement : v;
18725 } : _this$options$stringi;
18726 return typeof value === 'string' ? value : JSON.stringify(canonicalize(value, null, null, stringifyReplacer), stringifyReplacer, ' ');
18727 };
18728
18729 jsonDiff.equals = function (left, right) {
18730 return Diff.prototype.equals.call(jsonDiff, left.replace(/,([\r\n])/g, '$1'), right.replace(/,([\r\n])/g, '$1'));
18731 };
18732
18733 function diffJson(oldObj, newObj, options) {
18734 return jsonDiff.diff(oldObj, newObj, options);
18735 } // This function handles the presence of circular references by bailing out when encountering an
18736 // object that is already on the "stack" of items being processed. Accepts an optional replacer
18737
18738 function canonicalize(obj, stack, replacementStack, replacer, key) {
18739 stack = stack || [];
18740 replacementStack = replacementStack || [];
18741
18742 if (replacer) {
18743 obj = replacer(key, obj);
18744 }
18745
18746 var i;
18747
18748 for (i = 0; i < stack.length; i += 1) {
18749 if (stack[i] === obj) {
18750 return replacementStack[i];
18751 }
18752 }
18753
18754 var canonicalizedObj;
18755
18756 if ('[object Array]' === objectPrototypeToString.call(obj)) {
18757 stack.push(obj);
18758 canonicalizedObj = new Array(obj.length);
18759 replacementStack.push(canonicalizedObj);
18760
18761 for (i = 0; i < obj.length; i += 1) {
18762 canonicalizedObj[i] = canonicalize(obj[i], stack, replacementStack, replacer, key);
18763 }
18764
18765 stack.pop();
18766 replacementStack.pop();
18767 return canonicalizedObj;
18768 }
18769
18770 if (obj && obj.toJSON) {
18771 obj = obj.toJSON();
18772 }
18773
18774 if (_typeof(obj) === 'object' && obj !== null) {
18775 stack.push(obj);
18776 canonicalizedObj = {};
18777 replacementStack.push(canonicalizedObj);
18778
18779 var sortedKeys = [],
18780 _key;
18781
18782 for (_key in obj) {
18783 /* istanbul ignore else */
18784 if (obj.hasOwnProperty(_key)) {
18785 sortedKeys.push(_key);
18786 }
18787 }
18788
18789 sortedKeys.sort();
18790
18791 for (i = 0; i < sortedKeys.length; i += 1) {
18792 _key = sortedKeys[i];
18793 canonicalizedObj[_key] = canonicalize(obj[_key], stack, replacementStack, replacer, _key);
18794 }
18795
18796 stack.pop();
18797 replacementStack.pop();
18798 } else {
18799 canonicalizedObj = obj;
18800 }
18801
18802 return canonicalizedObj;
18803 }
18804
18805 var arrayDiff = new Diff();
18806
18807 arrayDiff.tokenize = function (value) {
18808 return value.slice();
18809 };
18810
18811 arrayDiff.join = arrayDiff.removeEmpty = function (value) {
18812 return value;
18813 };
18814
18815 function diffArrays(oldArr, newArr, callback) {
18816 return arrayDiff.diff(oldArr, newArr, callback);
18817 }
18818
18819 function parsePatch(uniDiff) {
18820 var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
18821 var diffstr = uniDiff.split(/\r\n|[\n\v\f\r\x85]/),
18822 delimiters = uniDiff.match(/\r\n|[\n\v\f\r\x85]/g) || [],
18823 list = [],
18824 i = 0;
18825
18826 function parseIndex() {
18827 var index = {};
18828 list.push(index); // Parse diff metadata
18829
18830 while (i < diffstr.length) {
18831 var line = diffstr[i]; // File header found, end parsing diff metadata
18832
18833 if (/^(\-\-\-|\+\+\+|@@)\s/.test(line)) {
18834 break;
18835 } // Diff index
18836
18837
18838 var header = /^(?:Index:|diff(?: -r \w+)+)\s+(.+?)\s*$/.exec(line);
18839
18840 if (header) {
18841 index.index = header[1];
18842 }
18843
18844 i++;
18845 } // Parse file headers if they are defined. Unified diff requires them, but
18846 // there's no technical issues to have an isolated hunk without file header
18847
18848
18849 parseFileHeader(index);
18850 parseFileHeader(index); // Parse hunks
18851
18852 index.hunks = [];
18853
18854 while (i < diffstr.length) {
18855 var _line = diffstr[i];
18856
18857 if (/^(Index:|diff|\-\-\-|\+\+\+)\s/.test(_line)) {
18858 break;
18859 } else if (/^@@/.test(_line)) {
18860 index.hunks.push(parseHunk());
18861 } else if (_line && options.strict) {
18862 // Ignore unexpected content unless in strict mode
18863 throw new Error('Unknown line ' + (i + 1) + ' ' + JSON.stringify(_line));
18864 } else {
18865 i++;
18866 }
18867 }
18868 } // Parses the --- and +++ headers, if none are found, no lines
18869 // are consumed.
18870
18871
18872 function parseFileHeader(index) {
18873 var fileHeader = /^(---|\+\+\+)\s+(.*)$/.exec(diffstr[i]);
18874
18875 if (fileHeader) {
18876 var keyPrefix = fileHeader[1] === '---' ? 'old' : 'new';
18877 var data = fileHeader[2].split('\t', 2);
18878 var fileName = data[0].replace(/\\\\/g, '\\');
18879
18880 if (/^".*"$/.test(fileName)) {
18881 fileName = fileName.substr(1, fileName.length - 2);
18882 }
18883
18884 index[keyPrefix + 'FileName'] = fileName;
18885 index[keyPrefix + 'Header'] = (data[1] || '').trim();
18886 i++;
18887 }
18888 } // Parses a hunk
18889 // This assumes that we are at the start of a hunk.
18890
18891
18892 function parseHunk() {
18893 var chunkHeaderIndex = i,
18894 chunkHeaderLine = diffstr[i++],
18895 chunkHeader = chunkHeaderLine.split(/@@ -(\d+)(?:,(\d+))? \+(\d+)(?:,(\d+))? @@/);
18896 var hunk = {
18897 oldStart: +chunkHeader[1],
18898 oldLines: typeof chunkHeader[2] === 'undefined' ? 1 : +chunkHeader[2],
18899 newStart: +chunkHeader[3],
18900 newLines: typeof chunkHeader[4] === 'undefined' ? 1 : +chunkHeader[4],
18901 lines: [],
18902 linedelimiters: []
18903 }; // Unified Diff Format quirk: If the chunk size is 0,
18904 // the first number is one lower than one would expect.
18905 // https://www.artima.com/weblogs/viewpost.jsp?thread=164293
18906
18907 if (hunk.oldLines === 0) {
18908 hunk.oldStart += 1;
18909 }
18910
18911 if (hunk.newLines === 0) {
18912 hunk.newStart += 1;
18913 }
18914
18915 var addCount = 0,
18916 removeCount = 0;
18917
18918 for (; i < diffstr.length; i++) {
18919 // Lines starting with '---' could be mistaken for the "remove line" operation
18920 // But they could be the header for the next file. Therefore prune such cases out.
18921 if (diffstr[i].indexOf('--- ') === 0 && i + 2 < diffstr.length && diffstr[i + 1].indexOf('+++ ') === 0 && diffstr[i + 2].indexOf('@@') === 0) {
18922 break;
18923 }
18924
18925 var operation = diffstr[i].length == 0 && i != diffstr.length - 1 ? ' ' : diffstr[i][0];
18926
18927 if (operation === '+' || operation === '-' || operation === ' ' || operation === '\\') {
18928 hunk.lines.push(diffstr[i]);
18929 hunk.linedelimiters.push(delimiters[i] || '\n');
18930
18931 if (operation === '+') {
18932 addCount++;
18933 } else if (operation === '-') {
18934 removeCount++;
18935 } else if (operation === ' ') {
18936 addCount++;
18937 removeCount++;
18938 }
18939 } else {
18940 break;
18941 }
18942 } // Handle the empty block count case
18943
18944
18945 if (!addCount && hunk.newLines === 1) {
18946 hunk.newLines = 0;
18947 }
18948
18949 if (!removeCount && hunk.oldLines === 1) {
18950 hunk.oldLines = 0;
18951 } // Perform optional sanity checking
18952
18953
18954 if (options.strict) {
18955 if (addCount !== hunk.newLines) {
18956 throw new Error('Added line count did not match for hunk at line ' + (chunkHeaderIndex + 1));
18957 }
18958
18959 if (removeCount !== hunk.oldLines) {
18960 throw new Error('Removed line count did not match for hunk at line ' + (chunkHeaderIndex + 1));
18961 }
18962 }
18963
18964 return hunk;
18965 }
18966
18967 while (i < diffstr.length) {
18968 parseIndex();
18969 }
18970
18971 return list;
18972 }
18973
18974 // Iterator that traverses in the range of [min, max], stepping
18975 // by distance from a given start position. I.e. for [0, 4], with
18976 // start of 2, this will iterate 2, 3, 1, 4, 0.
18977 function distanceIterator (start, minLine, maxLine) {
18978 var wantForward = true,
18979 backwardExhausted = false,
18980 forwardExhausted = false,
18981 localOffset = 1;
18982 return function iterator() {
18983 if (wantForward && !forwardExhausted) {
18984 if (backwardExhausted) {
18985 localOffset++;
18986 } else {
18987 wantForward = false;
18988 } // Check if trying to fit beyond text length, and if not, check it fits
18989 // after offset location (or desired location on first iteration)
18990
18991
18992 if (start + localOffset <= maxLine) {
18993 return localOffset;
18994 }
18995
18996 forwardExhausted = true;
18997 }
18998
18999 if (!backwardExhausted) {
19000 if (!forwardExhausted) {
19001 wantForward = true;
19002 } // Check if trying to fit before text beginning, and if not, check it fits
19003 // before offset location
19004
19005
19006 if (minLine <= start - localOffset) {
19007 return -localOffset++;
19008 }
19009
19010 backwardExhausted = true;
19011 return iterator();
19012 } // We tried to fit hunk before text beginning and beyond text length, then
19013 // hunk can't fit on the text. Return undefined
19014
19015 };
19016 }
19017
19018 function applyPatch(source, uniDiff) {
19019 var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
19020
19021 if (typeof uniDiff === 'string') {
19022 uniDiff = parsePatch(uniDiff);
19023 }
19024
19025 if (Array.isArray(uniDiff)) {
19026 if (uniDiff.length > 1) {
19027 throw new Error('applyPatch only works with a single input.');
19028 }
19029
19030 uniDiff = uniDiff[0];
19031 } // Apply the diff to the input
19032
19033
19034 var lines = source.split(/\r\n|[\n\v\f\r\x85]/),
19035 delimiters = source.match(/\r\n|[\n\v\f\r\x85]/g) || [],
19036 hunks = uniDiff.hunks,
19037 compareLine = options.compareLine || function (lineNumber, line, operation, patchContent) {
19038 return line === patchContent;
19039 },
19040 errorCount = 0,
19041 fuzzFactor = options.fuzzFactor || 0,
19042 minLine = 0,
19043 offset = 0,
19044 removeEOFNL,
19045 addEOFNL;
19046 /**
19047 * Checks if the hunk exactly fits on the provided location
19048 */
19049
19050
19051 function hunkFits(hunk, toPos) {
19052 for (var j = 0; j < hunk.lines.length; j++) {
19053 var line = hunk.lines[j],
19054 operation = line.length > 0 ? line[0] : ' ',
19055 content = line.length > 0 ? line.substr(1) : line;
19056
19057 if (operation === ' ' || operation === '-') {
19058 // Context sanity check
19059 if (!compareLine(toPos + 1, lines[toPos], operation, content)) {
19060 errorCount++;
19061
19062 if (errorCount > fuzzFactor) {
19063 return false;
19064 }
19065 }
19066
19067 toPos++;
19068 }
19069 }
19070
19071 return true;
19072 } // Search best fit offsets for each hunk based on the previous ones
19073
19074
19075 for (var i = 0; i < hunks.length; i++) {
19076 var hunk = hunks[i],
19077 maxLine = lines.length - hunk.oldLines,
19078 localOffset = 0,
19079 toPos = offset + hunk.oldStart - 1;
19080 var iterator = distanceIterator(toPos, minLine, maxLine);
19081
19082 for (; localOffset !== undefined; localOffset = iterator()) {
19083 if (hunkFits(hunk, toPos + localOffset)) {
19084 hunk.offset = offset += localOffset;
19085 break;
19086 }
19087 }
19088
19089 if (localOffset === undefined) {
19090 return false;
19091 } // Set lower text limit to end of the current hunk, so next ones don't try
19092 // to fit over already patched text
19093
19094
19095 minLine = hunk.offset + hunk.oldStart + hunk.oldLines;
19096 } // Apply patch hunks
19097
19098
19099 var diffOffset = 0;
19100
19101 for (var _i = 0; _i < hunks.length; _i++) {
19102 var _hunk = hunks[_i],
19103 _toPos = _hunk.oldStart + _hunk.offset + diffOffset - 1;
19104
19105 diffOffset += _hunk.newLines - _hunk.oldLines;
19106
19107 for (var j = 0; j < _hunk.lines.length; j++) {
19108 var line = _hunk.lines[j],
19109 operation = line.length > 0 ? line[0] : ' ',
19110 content = line.length > 0 ? line.substr(1) : line,
19111 delimiter = _hunk.linedelimiters[j];
19112
19113 if (operation === ' ') {
19114 _toPos++;
19115 } else if (operation === '-') {
19116 lines.splice(_toPos, 1);
19117 delimiters.splice(_toPos, 1);
19118 /* istanbul ignore else */
19119 } else if (operation === '+') {
19120 lines.splice(_toPos, 0, content);
19121 delimiters.splice(_toPos, 0, delimiter);
19122 _toPos++;
19123 } else if (operation === '\\') {
19124 var previousOperation = _hunk.lines[j - 1] ? _hunk.lines[j - 1][0] : null;
19125
19126 if (previousOperation === '+') {
19127 removeEOFNL = true;
19128 } else if (previousOperation === '-') {
19129 addEOFNL = true;
19130 }
19131 }
19132 }
19133 } // Handle EOFNL insertion/removal
19134
19135
19136 if (removeEOFNL) {
19137 while (!lines[lines.length - 1]) {
19138 lines.pop();
19139 delimiters.pop();
19140 }
19141 } else if (addEOFNL) {
19142 lines.push('');
19143 delimiters.push('\n');
19144 }
19145
19146 for (var _k = 0; _k < lines.length - 1; _k++) {
19147 lines[_k] = lines[_k] + delimiters[_k];
19148 }
19149
19150 return lines.join('');
19151 } // Wrapper that supports multiple file patches via callbacks.
19152
19153 function applyPatches(uniDiff, options) {
19154 if (typeof uniDiff === 'string') {
19155 uniDiff = parsePatch(uniDiff);
19156 }
19157
19158 var currentIndex = 0;
19159
19160 function processIndex() {
19161 var index = uniDiff[currentIndex++];
19162
19163 if (!index) {
19164 return options.complete();
19165 }
19166
19167 options.loadFile(index, function (err, data) {
19168 if (err) {
19169 return options.complete(err);
19170 }
19171
19172 var updatedContent = applyPatch(data, index, options);
19173 options.patched(index, updatedContent, function (err) {
19174 if (err) {
19175 return options.complete(err);
19176 }
19177
19178 processIndex();
19179 });
19180 });
19181 }
19182
19183 processIndex();
19184 }
19185
19186 function structuredPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader, options) {
19187 if (!options) {
19188 options = {};
19189 }
19190
19191 if (typeof options.context === 'undefined') {
19192 options.context = 4;
19193 }
19194
19195 var diff = diffLines(oldStr, newStr, options);
19196
19197 if (!diff) {
19198 return;
19199 }
19200
19201 diff.push({
19202 value: '',
19203 lines: []
19204 }); // Append an empty value to make cleanup easier
19205
19206 function contextLines(lines) {
19207 return lines.map(function (entry) {
19208 return ' ' + entry;
19209 });
19210 }
19211
19212 var hunks = [];
19213 var oldRangeStart = 0,
19214 newRangeStart = 0,
19215 curRange = [],
19216 oldLine = 1,
19217 newLine = 1;
19218
19219 var _loop = function _loop(i) {
19220 var current = diff[i],
19221 lines = current.lines || current.value.replace(/\n$/, '').split('\n');
19222 current.lines = lines;
19223
19224 if (current.added || current.removed) {
19225 var _curRange;
19226
19227 // If we have previous context, start with that
19228 if (!oldRangeStart) {
19229 var prev = diff[i - 1];
19230 oldRangeStart = oldLine;
19231 newRangeStart = newLine;
19232
19233 if (prev) {
19234 curRange = options.context > 0 ? contextLines(prev.lines.slice(-options.context)) : [];
19235 oldRangeStart -= curRange.length;
19236 newRangeStart -= curRange.length;
19237 }
19238 } // Output our changes
19239
19240
19241 (_curRange = curRange).push.apply(_curRange, _toConsumableArray(lines.map(function (entry) {
19242 return (current.added ? '+' : '-') + entry;
19243 }))); // Track the updated file position
19244
19245
19246 if (current.added) {
19247 newLine += lines.length;
19248 } else {
19249 oldLine += lines.length;
19250 }
19251 } else {
19252 // Identical context lines. Track line changes
19253 if (oldRangeStart) {
19254 // Close out any changes that have been output (or join overlapping)
19255 if (lines.length <= options.context * 2 && i < diff.length - 2) {
19256 var _curRange2;
19257
19258 // Overlapping
19259 (_curRange2 = curRange).push.apply(_curRange2, _toConsumableArray(contextLines(lines)));
19260 } else {
19261 var _curRange3;
19262
19263 // end the range and output
19264 var contextSize = Math.min(lines.length, options.context);
19265
19266 (_curRange3 = curRange).push.apply(_curRange3, _toConsumableArray(contextLines(lines.slice(0, contextSize))));
19267
19268 var hunk = {
19269 oldStart: oldRangeStart,
19270 oldLines: oldLine - oldRangeStart + contextSize,
19271 newStart: newRangeStart,
19272 newLines: newLine - newRangeStart + contextSize,
19273 lines: curRange
19274 };
19275
19276 if (i >= diff.length - 2 && lines.length <= options.context) {
19277 // EOF is inside this hunk
19278 var oldEOFNewline = /\n$/.test(oldStr);
19279 var newEOFNewline = /\n$/.test(newStr);
19280 var noNlBeforeAdds = lines.length == 0 && curRange.length > hunk.oldLines;
19281
19282 if (!oldEOFNewline && noNlBeforeAdds && oldStr.length > 0) {
19283 // special case: old has no eol and no trailing context; no-nl can end up before adds
19284 // however, if the old file is empty, do not output the no-nl line
19285 curRange.splice(hunk.oldLines, 0, '\\ No newline at end of file');
19286 }
19287
19288 if (!oldEOFNewline && !noNlBeforeAdds || !newEOFNewline) {
19289 curRange.push('\\ No newline at end of file');
19290 }
19291 }
19292
19293 hunks.push(hunk);
19294 oldRangeStart = 0;
19295 newRangeStart = 0;
19296 curRange = [];
19297 }
19298 }
19299
19300 oldLine += lines.length;
19301 newLine += lines.length;
19302 }
19303 };
19304
19305 for (var i = 0; i < diff.length; i++) {
19306 _loop(i);
19307 }
19308
19309 return {
19310 oldFileName: oldFileName,
19311 newFileName: newFileName,
19312 oldHeader: oldHeader,
19313 newHeader: newHeader,
19314 hunks: hunks
19315 };
19316 }
19317 function formatPatch(diff) {
19318 var ret = [];
19319
19320 if (diff.oldFileName == diff.newFileName) {
19321 ret.push('Index: ' + diff.oldFileName);
19322 }
19323
19324 ret.push('===================================================================');
19325 ret.push('--- ' + diff.oldFileName + (typeof diff.oldHeader === 'undefined' ? '' : '\t' + diff.oldHeader));
19326 ret.push('+++ ' + diff.newFileName + (typeof diff.newHeader === 'undefined' ? '' : '\t' + diff.newHeader));
19327
19328 for (var i = 0; i < diff.hunks.length; i++) {
19329 var hunk = diff.hunks[i]; // Unified Diff Format quirk: If the chunk size is 0,
19330 // the first number is one lower than one would expect.
19331 // https://www.artima.com/weblogs/viewpost.jsp?thread=164293
19332
19333 if (hunk.oldLines === 0) {
19334 hunk.oldStart -= 1;
19335 }
19336
19337 if (hunk.newLines === 0) {
19338 hunk.newStart -= 1;
19339 }
19340
19341 ret.push('@@ -' + hunk.oldStart + ',' + hunk.oldLines + ' +' + hunk.newStart + ',' + hunk.newLines + ' @@');
19342 ret.push.apply(ret, hunk.lines);
19343 }
19344
19345 return ret.join('\n') + '\n';
19346 }
19347 function createTwoFilesPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader, options) {
19348 return formatPatch(structuredPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader, options));
19349 }
19350 function createPatch(fileName, oldStr, newStr, oldHeader, newHeader, options) {
19351 return createTwoFilesPatch(fileName, fileName, oldStr, newStr, oldHeader, newHeader, options);
19352 }
19353
19354 function arrayEqual(a, b) {
19355 if (a.length !== b.length) {
19356 return false;
19357 }
19358
19359 return arrayStartsWith(a, b);
19360 }
19361 function arrayStartsWith(array, start) {
19362 if (start.length > array.length) {
19363 return false;
19364 }
19365
19366 for (var i = 0; i < start.length; i++) {
19367 if (start[i] !== array[i]) {
19368 return false;
19369 }
19370 }
19371
19372 return true;
19373 }
19374
19375 function calcLineCount(hunk) {
19376 var _calcOldNewLineCount = calcOldNewLineCount(hunk.lines),
19377 oldLines = _calcOldNewLineCount.oldLines,
19378 newLines = _calcOldNewLineCount.newLines;
19379
19380 if (oldLines !== undefined) {
19381 hunk.oldLines = oldLines;
19382 } else {
19383 delete hunk.oldLines;
19384 }
19385
19386 if (newLines !== undefined) {
19387 hunk.newLines = newLines;
19388 } else {
19389 delete hunk.newLines;
19390 }
19391 }
19392 function merge(mine, theirs, base) {
19393 mine = loadPatch(mine, base);
19394 theirs = loadPatch(theirs, base);
19395 var ret = {}; // For index we just let it pass through as it doesn't have any necessary meaning.
19396 // Leaving sanity checks on this to the API consumer that may know more about the
19397 // meaning in their own context.
19398
19399 if (mine.index || theirs.index) {
19400 ret.index = mine.index || theirs.index;
19401 }
19402
19403 if (mine.newFileName || theirs.newFileName) {
19404 if (!fileNameChanged(mine)) {
19405 // No header or no change in ours, use theirs (and ours if theirs does not exist)
19406 ret.oldFileName = theirs.oldFileName || mine.oldFileName;
19407 ret.newFileName = theirs.newFileName || mine.newFileName;
19408 ret.oldHeader = theirs.oldHeader || mine.oldHeader;
19409 ret.newHeader = theirs.newHeader || mine.newHeader;
19410 } else if (!fileNameChanged(theirs)) {
19411 // No header or no change in theirs, use ours
19412 ret.oldFileName = mine.oldFileName;
19413 ret.newFileName = mine.newFileName;
19414 ret.oldHeader = mine.oldHeader;
19415 ret.newHeader = mine.newHeader;
19416 } else {
19417 // Both changed... figure it out
19418 ret.oldFileName = selectField(ret, mine.oldFileName, theirs.oldFileName);
19419 ret.newFileName = selectField(ret, mine.newFileName, theirs.newFileName);
19420 ret.oldHeader = selectField(ret, mine.oldHeader, theirs.oldHeader);
19421 ret.newHeader = selectField(ret, mine.newHeader, theirs.newHeader);
19422 }
19423 }
19424
19425 ret.hunks = [];
19426 var mineIndex = 0,
19427 theirsIndex = 0,
19428 mineOffset = 0,
19429 theirsOffset = 0;
19430
19431 while (mineIndex < mine.hunks.length || theirsIndex < theirs.hunks.length) {
19432 var mineCurrent = mine.hunks[mineIndex] || {
19433 oldStart: Infinity
19434 },
19435 theirsCurrent = theirs.hunks[theirsIndex] || {
19436 oldStart: Infinity
19437 };
19438
19439 if (hunkBefore(mineCurrent, theirsCurrent)) {
19440 // This patch does not overlap with any of the others, yay.
19441 ret.hunks.push(cloneHunk(mineCurrent, mineOffset));
19442 mineIndex++;
19443 theirsOffset += mineCurrent.newLines - mineCurrent.oldLines;
19444 } else if (hunkBefore(theirsCurrent, mineCurrent)) {
19445 // This patch does not overlap with any of the others, yay.
19446 ret.hunks.push(cloneHunk(theirsCurrent, theirsOffset));
19447 theirsIndex++;
19448 mineOffset += theirsCurrent.newLines - theirsCurrent.oldLines;
19449 } else {
19450 // Overlap, merge as best we can
19451 var mergedHunk = {
19452 oldStart: Math.min(mineCurrent.oldStart, theirsCurrent.oldStart),
19453 oldLines: 0,
19454 newStart: Math.min(mineCurrent.newStart + mineOffset, theirsCurrent.oldStart + theirsOffset),
19455 newLines: 0,
19456 lines: []
19457 };
19458 mergeLines(mergedHunk, mineCurrent.oldStart, mineCurrent.lines, theirsCurrent.oldStart, theirsCurrent.lines);
19459 theirsIndex++;
19460 mineIndex++;
19461 ret.hunks.push(mergedHunk);
19462 }
19463 }
19464
19465 return ret;
19466 }
19467
19468 function loadPatch(param, base) {
19469 if (typeof param === 'string') {
19470 if (/^@@/m.test(param) || /^Index:/m.test(param)) {
19471 return parsePatch(param)[0];
19472 }
19473
19474 if (!base) {
19475 throw new Error('Must provide a base reference or pass in a patch');
19476 }
19477
19478 return structuredPatch(undefined, undefined, base, param);
19479 }
19480
19481 return param;
19482 }
19483
19484 function fileNameChanged(patch) {
19485 return patch.newFileName && patch.newFileName !== patch.oldFileName;
19486 }
19487
19488 function selectField(index, mine, theirs) {
19489 if (mine === theirs) {
19490 return mine;
19491 } else {
19492 index.conflict = true;
19493 return {
19494 mine: mine,
19495 theirs: theirs
19496 };
19497 }
19498 }
19499
19500 function hunkBefore(test, check) {
19501 return test.oldStart < check.oldStart && test.oldStart + test.oldLines < check.oldStart;
19502 }
19503
19504 function cloneHunk(hunk, offset) {
19505 return {
19506 oldStart: hunk.oldStart,
19507 oldLines: hunk.oldLines,
19508 newStart: hunk.newStart + offset,
19509 newLines: hunk.newLines,
19510 lines: hunk.lines
19511 };
19512 }
19513
19514 function mergeLines(hunk, mineOffset, mineLines, theirOffset, theirLines) {
19515 // This will generally result in a conflicted hunk, but there are cases where the context
19516 // is the only overlap where we can successfully merge the content here.
19517 var mine = {
19518 offset: mineOffset,
19519 lines: mineLines,
19520 index: 0
19521 },
19522 their = {
19523 offset: theirOffset,
19524 lines: theirLines,
19525 index: 0
19526 }; // Handle any leading content
19527
19528 insertLeading(hunk, mine, their);
19529 insertLeading(hunk, their, mine); // Now in the overlap content. Scan through and select the best changes from each.
19530
19531 while (mine.index < mine.lines.length && their.index < their.lines.length) {
19532 var mineCurrent = mine.lines[mine.index],
19533 theirCurrent = their.lines[their.index];
19534
19535 if ((mineCurrent[0] === '-' || mineCurrent[0] === '+') && (theirCurrent[0] === '-' || theirCurrent[0] === '+')) {
19536 // Both modified ...
19537 mutualChange(hunk, mine, their);
19538 } else if (mineCurrent[0] === '+' && theirCurrent[0] === ' ') {
19539 var _hunk$lines;
19540
19541 // Mine inserted
19542 (_hunk$lines = hunk.lines).push.apply(_hunk$lines, _toConsumableArray(collectChange(mine)));
19543 } else if (theirCurrent[0] === '+' && mineCurrent[0] === ' ') {
19544 var _hunk$lines2;
19545
19546 // Theirs inserted
19547 (_hunk$lines2 = hunk.lines).push.apply(_hunk$lines2, _toConsumableArray(collectChange(their)));
19548 } else if (mineCurrent[0] === '-' && theirCurrent[0] === ' ') {
19549 // Mine removed or edited
19550 removal(hunk, mine, their);
19551 } else if (theirCurrent[0] === '-' && mineCurrent[0] === ' ') {
19552 // Their removed or edited
19553 removal(hunk, their, mine, true);
19554 } else if (mineCurrent === theirCurrent) {
19555 // Context identity
19556 hunk.lines.push(mineCurrent);
19557 mine.index++;
19558 their.index++;
19559 } else {
19560 // Context mismatch
19561 conflict(hunk, collectChange(mine), collectChange(their));
19562 }
19563 } // Now push anything that may be remaining
19564
19565
19566 insertTrailing(hunk, mine);
19567 insertTrailing(hunk, their);
19568 calcLineCount(hunk);
19569 }
19570
19571 function mutualChange(hunk, mine, their) {
19572 var myChanges = collectChange(mine),
19573 theirChanges = collectChange(their);
19574
19575 if (allRemoves(myChanges) && allRemoves(theirChanges)) {
19576 // Special case for remove changes that are supersets of one another
19577 if (arrayStartsWith(myChanges, theirChanges) && skipRemoveSuperset(their, myChanges, myChanges.length - theirChanges.length)) {
19578 var _hunk$lines3;
19579
19580 (_hunk$lines3 = hunk.lines).push.apply(_hunk$lines3, _toConsumableArray(myChanges));
19581
19582 return;
19583 } else if (arrayStartsWith(theirChanges, myChanges) && skipRemoveSuperset(mine, theirChanges, theirChanges.length - myChanges.length)) {
19584 var _hunk$lines4;
19585
19586 (_hunk$lines4 = hunk.lines).push.apply(_hunk$lines4, _toConsumableArray(theirChanges));
19587
19588 return;
19589 }
19590 } else if (arrayEqual(myChanges, theirChanges)) {
19591 var _hunk$lines5;
19592
19593 (_hunk$lines5 = hunk.lines).push.apply(_hunk$lines5, _toConsumableArray(myChanges));
19594
19595 return;
19596 }
19597
19598 conflict(hunk, myChanges, theirChanges);
19599 }
19600
19601 function removal(hunk, mine, their, swap) {
19602 var myChanges = collectChange(mine),
19603 theirChanges = collectContext(their, myChanges);
19604
19605 if (theirChanges.merged) {
19606 var _hunk$lines6;
19607
19608 (_hunk$lines6 = hunk.lines).push.apply(_hunk$lines6, _toConsumableArray(theirChanges.merged));
19609 } else {
19610 conflict(hunk, swap ? theirChanges : myChanges, swap ? myChanges : theirChanges);
19611 }
19612 }
19613
19614 function conflict(hunk, mine, their) {
19615 hunk.conflict = true;
19616 hunk.lines.push({
19617 conflict: true,
19618 mine: mine,
19619 theirs: their
19620 });
19621 }
19622
19623 function insertLeading(hunk, insert, their) {
19624 while (insert.offset < their.offset && insert.index < insert.lines.length) {
19625 var line = insert.lines[insert.index++];
19626 hunk.lines.push(line);
19627 insert.offset++;
19628 }
19629 }
19630
19631 function insertTrailing(hunk, insert) {
19632 while (insert.index < insert.lines.length) {
19633 var line = insert.lines[insert.index++];
19634 hunk.lines.push(line);
19635 }
19636 }
19637
19638 function collectChange(state) {
19639 var ret = [],
19640 operation = state.lines[state.index][0];
19641
19642 while (state.index < state.lines.length) {
19643 var line = state.lines[state.index]; // Group additions that are immediately after subtractions and treat them as one "atomic" modify change.
19644
19645 if (operation === '-' && line[0] === '+') {
19646 operation = '+';
19647 }
19648
19649 if (operation === line[0]) {
19650 ret.push(line);
19651 state.index++;
19652 } else {
19653 break;
19654 }
19655 }
19656
19657 return ret;
19658 }
19659
19660 function collectContext(state, matchChanges) {
19661 var changes = [],
19662 merged = [],
19663 matchIndex = 0,
19664 contextChanges = false,
19665 conflicted = false;
19666
19667 while (matchIndex < matchChanges.length && state.index < state.lines.length) {
19668 var change = state.lines[state.index],
19669 match = matchChanges[matchIndex]; // Once we've hit our add, then we are done
19670
19671 if (match[0] === '+') {
19672 break;
19673 }
19674
19675 contextChanges = contextChanges || change[0] !== ' ';
19676 merged.push(match);
19677 matchIndex++; // Consume any additions in the other block as a conflict to attempt
19678 // to pull in the remaining context after this
19679
19680 if (change[0] === '+') {
19681 conflicted = true;
19682
19683 while (change[0] === '+') {
19684 changes.push(change);
19685 change = state.lines[++state.index];
19686 }
19687 }
19688
19689 if (match.substr(1) === change.substr(1)) {
19690 changes.push(change);
19691 state.index++;
19692 } else {
19693 conflicted = true;
19694 }
19695 }
19696
19697 if ((matchChanges[matchIndex] || '')[0] === '+' && contextChanges) {
19698 conflicted = true;
19699 }
19700
19701 if (conflicted) {
19702 return changes;
19703 }
19704
19705 while (matchIndex < matchChanges.length) {
19706 merged.push(matchChanges[matchIndex++]);
19707 }
19708
19709 return {
19710 merged: merged,
19711 changes: changes
19712 };
19713 }
19714
19715 function allRemoves(changes) {
19716 return changes.reduce(function (prev, change) {
19717 return prev && change[0] === '-';
19718 }, true);
19719 }
19720
19721 function skipRemoveSuperset(state, removeChanges, delta) {
19722 for (var i = 0; i < delta; i++) {
19723 var changeContent = removeChanges[removeChanges.length - delta + i].substr(1);
19724
19725 if (state.lines[state.index + i] !== ' ' + changeContent) {
19726 return false;
19727 }
19728 }
19729
19730 state.index += delta;
19731 return true;
19732 }
19733
19734 function calcOldNewLineCount(lines) {
19735 var oldLines = 0;
19736 var newLines = 0;
19737 lines.forEach(function (line) {
19738 if (typeof line !== 'string') {
19739 var myCount = calcOldNewLineCount(line.mine);
19740 var theirCount = calcOldNewLineCount(line.theirs);
19741
19742 if (oldLines !== undefined) {
19743 if (myCount.oldLines === theirCount.oldLines) {
19744 oldLines += myCount.oldLines;
19745 } else {
19746 oldLines = undefined;
19747 }
19748 }
19749
19750 if (newLines !== undefined) {
19751 if (myCount.newLines === theirCount.newLines) {
19752 newLines += myCount.newLines;
19753 } else {
19754 newLines = undefined;
19755 }
19756 }
19757 } else {
19758 if (newLines !== undefined && (line[0] === '+' || line[0] === ' ')) {
19759 newLines++;
19760 }
19761
19762 if (oldLines !== undefined && (line[0] === '-' || line[0] === ' ')) {
19763 oldLines++;
19764 }
19765 }
19766 });
19767 return {
19768 oldLines: oldLines,
19769 newLines: newLines
19770 };
19771 }
19772
19773 // See: http://code.google.com/p/google-diff-match-patch/wiki/API
19774 function convertChangesToDMP(changes) {
19775 var ret = [],
19776 change,
19777 operation;
19778
19779 for (var i = 0; i < changes.length; i++) {
19780 change = changes[i];
19781
19782 if (change.added) {
19783 operation = 1;
19784 } else if (change.removed) {
19785 operation = -1;
19786 } else {
19787 operation = 0;
19788 }
19789
19790 ret.push([operation, change.value]);
19791 }
19792
19793 return ret;
19794 }
19795
19796 function convertChangesToXML(changes) {
19797 var ret = [];
19798
19799 for (var i = 0; i < changes.length; i++) {
19800 var change = changes[i];
19801
19802 if (change.added) {
19803 ret.push('<ins>');
19804 } else if (change.removed) {
19805 ret.push('<del>');
19806 }
19807
19808 ret.push(escapeHTML(change.value));
19809
19810 if (change.added) {
19811 ret.push('</ins>');
19812 } else if (change.removed) {
19813 ret.push('</del>');
19814 }
19815 }
19816
19817 return ret.join('');
19818 }
19819
19820 function escapeHTML(s) {
19821 var n = s;
19822 n = n.replace(/&/g, '&amp;');
19823 n = n.replace(/</g, '&lt;');
19824 n = n.replace(/>/g, '&gt;');
19825 n = n.replace(/"/g, '&quot;');
19826 return n;
19827 }
19828
19829
19830
19831
19832 /***/ }),
19833
19834 /***/ "../node_modules/hast-util-whitespace/index.js":
19835 /*!*****************************************************!*\
19836 !*** ../node_modules/hast-util-whitespace/index.js ***!
19837 \*****************************************************/
19838 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
19839
19840 "use strict";
19841 __webpack_require__.r(__webpack_exports__);
19842 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
19843 /* harmony export */ whitespace: () => (/* binding */ whitespace)
19844 /* harmony export */ });
19845 /**
19846 * Check if the given value is *inter-element whitespace*.
19847 *
19848 * @param {unknown} thing
19849 * Thing to check (typically `Node` or `string`).
19850 * @returns {boolean}
19851 * Whether the `value` is inter-element whitespace (`boolean`): consisting of
19852 * zero or more of space, tab (`\t`), line feed (`\n`), carriage return
19853 * (`\r`), or form feed (`\f`).
19854 * If a node is passed it must be a `Text` node, whose `value` field is
19855 * checked.
19856 */
19857 function whitespace(thing) {
19858 /** @type {string} */
19859 const value =
19860 // @ts-expect-error looks like a node.
19861 thing && typeof thing === 'object' && thing.type === 'text'
19862 ? // @ts-expect-error looks like a text.
19863 thing.value || ''
19864 : thing
19865
19866 // HTML whitespace expression.
19867 // See <https://infra.spec.whatwg.org/#ascii-whitespace>.
19868 return typeof value === 'string' && value.replace(/[ \t\n\f\r]/g, '') === ''
19869 }
19870
19871
19872 /***/ }),
19873
19874 /***/ "../node_modules/is-plain-obj/index.js":
19875 /*!*********************************************!*\
19876 !*** ../node_modules/is-plain-obj/index.js ***!
19877 \*********************************************/
19878 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
19879
19880 "use strict";
19881 __webpack_require__.r(__webpack_exports__);
19882 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
19883 /* harmony export */ "default": () => (/* binding */ isPlainObject)
19884 /* harmony export */ });
19885 function isPlainObject(value) {
19886 if (typeof value !== 'object' || value === null) {
19887 return false;
19888 }
19889
19890 const prototype = Object.getPrototypeOf(value);
19891 return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in value) && !(Symbol.iterator in value);
19892 }
19893
19894
19895 /***/ }),
19896
19897 /***/ "../node_modules/mdast-util-definitions/lib/index.js":
19898 /*!***********************************************************!*\
19899 !*** ../node_modules/mdast-util-definitions/lib/index.js ***!
19900 \***********************************************************/
19901 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
19902
19903 "use strict";
19904 __webpack_require__.r(__webpack_exports__);
19905 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
19906 /* harmony export */ definitions: () => (/* binding */ definitions)
19907 /* harmony export */ });
19908 /* harmony import */ var unist_util_visit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! unist-util-visit */ "../node_modules/unist-util-visit/lib/index.js");
19909 /**
19910 * @typedef {import('mdast').Root} Root
19911 * @typedef {import('mdast').Content} Content
19912 * @typedef {import('mdast').Definition} Definition
19913 */
19914
19915 /**
19916 * @typedef {Root | Content} Node
19917 *
19918 * @callback GetDefinition
19919 * Get a definition by identifier.
19920 * @param {string | null | undefined} [identifier]
19921 * Identifier of definition.
19922 * @returns {Definition | null}
19923 * Definition corresponding to `identifier` or `null`.
19924 */
19925
19926
19927
19928 const own = {}.hasOwnProperty
19929
19930 /**
19931 * Find definitions in `tree`.
19932 *
19933 * Uses CommonMark precedence, which means that earlier definitions are
19934 * preferred over duplicate later definitions.
19935 *
19936 * @param {Node} tree
19937 * Tree to check.
19938 * @returns {GetDefinition}
19939 * Getter.
19940 */
19941 function definitions(tree) {
19942 /** @type {Record<string, Definition>} */
19943 const cache = Object.create(null)
19944
19945 if (!tree || !tree.type) {
19946 throw new Error('mdast-util-definitions expected node')
19947 }
19948
19949 (0,unist_util_visit__WEBPACK_IMPORTED_MODULE_0__.visit)(tree, 'definition', (definition) => {
19950 const id = clean(definition.identifier)
19951 if (id && !own.call(cache, id)) {
19952 cache[id] = definition
19953 }
19954 })
19955
19956 return definition
19957
19958 /** @type {GetDefinition} */
19959 function definition(identifier) {
19960 const id = clean(identifier)
19961 // To do: next major: return `undefined` when not found.
19962 return id && own.call(cache, id) ? cache[id] : null
19963 }
19964 }
19965
19966 /**
19967 * @param {string | null | undefined} [value]
19968 * @returns {string}
19969 */
19970 function clean(value) {
19971 return String(value || '').toUpperCase()
19972 }
19973
19974
19975 /***/ }),
19976
19977 /***/ "../node_modules/mdast-util-from-markdown/dev/lib/index.js":
19978 /*!*****************************************************************!*\
19979 !*** ../node_modules/mdast-util-from-markdown/dev/lib/index.js ***!
19980 \*****************************************************************/
19981 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
19982
19983 "use strict";
19984 __webpack_require__.r(__webpack_exports__);
19985 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
19986 /* harmony export */ fromMarkdown: () => (/* binding */ fromMarkdown)
19987 /* harmony export */ });
19988 /* harmony import */ var uvu_assert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uvu/assert */ "../node_modules/uvu/assert/index.mjs");
19989 /* harmony import */ var mdast_util_to_string__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! mdast-util-to-string */ "../node_modules/mdast-util-to-string/lib/index.js");
19990 /* harmony import */ var micromark_lib_parse_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! micromark/lib/parse.js */ "../node_modules/micromark/dev/lib/parse.js");
19991 /* harmony import */ var micromark_lib_preprocess_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! micromark/lib/preprocess.js */ "../node_modules/micromark/dev/lib/preprocess.js");
19992 /* harmony import */ var micromark_lib_postprocess_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark/lib/postprocess.js */ "../node_modules/micromark/dev/lib/postprocess.js");
19993 /* harmony import */ var micromark_util_decode_numeric_character_reference__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! micromark-util-decode-numeric-character-reference */ "../node_modules/micromark-util-decode-numeric-character-reference/dev/index.js");
19994 /* harmony import */ var micromark_util_decode_string__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! micromark-util-decode-string */ "../node_modules/micromark-util-decode-string/dev/index.js");
19995 /* harmony import */ var micromark_util_normalize_identifier__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! micromark-util-normalize-identifier */ "../node_modules/micromark-util-normalize-identifier/dev/index.js");
19996 /* harmony import */ var micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! micromark-util-symbol/codes.js */ "../node_modules/micromark-util-symbol/codes.js");
19997 /* harmony import */ var micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! micromark-util-symbol/constants.js */ "../node_modules/micromark-util-symbol/constants.js");
19998 /* harmony import */ var micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! micromark-util-symbol/types.js */ "../node_modules/micromark-util-symbol/types.js");
19999 /* harmony import */ var decode_named_character_reference__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! decode-named-character-reference */ "../node_modules/decode-named-character-reference/index.dom.js");
20000 /* harmony import */ var unist_util_stringify_position__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! unist-util-stringify-position */ "../node_modules/unist-util-stringify-position/lib/index.js");
20001 /**
20002 * @typedef {import('micromark-util-types').Encoding} Encoding
20003 * @typedef {import('micromark-util-types').Event} Event
20004 * @typedef {import('micromark-util-types').ParseOptions} ParseOptions
20005 * @typedef {import('micromark-util-types').Token} Token
20006 * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext
20007 * @typedef {import('micromark-util-types').Value} Value
20008 *
20009 * @typedef {import('unist').Parent} UnistParent
20010 * @typedef {import('unist').Point} Point
20011 *
20012 * @typedef {import('mdast').PhrasingContent} PhrasingContent
20013 * @typedef {import('mdast').StaticPhrasingContent} StaticPhrasingContent
20014 * @typedef {import('mdast').Content} Content
20015 * @typedef {import('mdast').Break} Break
20016 * @typedef {import('mdast').Blockquote} Blockquote
20017 * @typedef {import('mdast').Code} Code
20018 * @typedef {import('mdast').Definition} Definition
20019 * @typedef {import('mdast').Emphasis} Emphasis
20020 * @typedef {import('mdast').Heading} Heading
20021 * @typedef {import('mdast').HTML} HTML
20022 * @typedef {import('mdast').Image} Image
20023 * @typedef {import('mdast').ImageReference} ImageReference
20024 * @typedef {import('mdast').InlineCode} InlineCode
20025 * @typedef {import('mdast').Link} Link
20026 * @typedef {import('mdast').LinkReference} LinkReference
20027 * @typedef {import('mdast').List} List
20028 * @typedef {import('mdast').ListItem} ListItem
20029 * @typedef {import('mdast').Paragraph} Paragraph
20030 * @typedef {import('mdast').Root} Root
20031 * @typedef {import('mdast').Strong} Strong
20032 * @typedef {import('mdast').Text} Text
20033 * @typedef {import('mdast').ThematicBreak} ThematicBreak
20034 * @typedef {import('mdast').ReferenceType} ReferenceType
20035 * @typedef {import('../index.js').CompileData} CompileData
20036 */
20037
20038 /**
20039 * @typedef {Root | Content} Node
20040 * @typedef {Extract<Node, UnistParent>} Parent
20041 *
20042 * @typedef {Omit<UnistParent, 'type' | 'children'> & {type: 'fragment', children: Array<PhrasingContent>}} Fragment
20043 */
20044
20045 /**
20046 * @callback Transform
20047 * Extra transform, to change the AST afterwards.
20048 * @param {Root} tree
20049 * Tree to transform.
20050 * @returns {Root | undefined | null | void}
20051 * New tree or nothing (in which case the current tree is used).
20052 *
20053 * @callback Handle
20054 * Handle a token.
20055 * @param {CompileContext} this
20056 * Context.
20057 * @param {Token} token
20058 * Current token.
20059 * @returns {void}
20060 * Nothing.
20061 *
20062 * @typedef {Record<string, Handle>} Handles
20063 * Token types mapping to handles
20064 *
20065 * @callback OnEnterError
20066 * Handle the case where the `right` token is open, but it is closed (by the
20067 * `left` token) or because we reached the end of the document.
20068 * @param {Omit<CompileContext, 'sliceSerialize'>} this
20069 * Context.
20070 * @param {Token | undefined} left
20071 * Left token.
20072 * @param {Token} right
20073 * Right token.
20074 * @returns {void}
20075 * Nothing.
20076 *
20077 * @callback OnExitError
20078 * Handle the case where the `right` token is open but it is closed by
20079 * exiting the `left` token.
20080 * @param {Omit<CompileContext, 'sliceSerialize'>} this
20081 * Context.
20082 * @param {Token} left
20083 * Left token.
20084 * @param {Token} right
20085 * Right token.
20086 * @returns {void}
20087 * Nothing.
20088 *
20089 * @typedef {[Token, OnEnterError | undefined]} TokenTuple
20090 * Open token on the stack, with an optional error handler for when
20091 * that token isn’t closed properly.
20092 */
20093
20094 /**
20095 * @typedef Config
20096 * Configuration.
20097 *
20098 * We have our defaults, but extensions will add more.
20099 * @property {Array<string>} canContainEols
20100 * Token types where line endings are used.
20101 * @property {Handles} enter
20102 * Opening handles.
20103 * @property {Handles} exit
20104 * Closing handles.
20105 * @property {Array<Transform>} transforms
20106 * Tree transforms.
20107 *
20108 * @typedef {Partial<Config>} Extension
20109 * Change how markdown tokens from micromark are turned into mdast.
20110 *
20111 * @typedef CompileContext
20112 * mdast compiler context.
20113 * @property {Array<Node | Fragment>} stack
20114 * Stack of nodes.
20115 * @property {Array<TokenTuple>} tokenStack
20116 * Stack of tokens.
20117 * @property {<Key extends keyof CompileData>(key: Key) => CompileData[Key]} getData
20118 * Get data from the key/value store.
20119 * @property {<Key extends keyof CompileData>(key: Key, value?: CompileData[Key]) => void} setData
20120 * Set data into the key/value store.
20121 * @property {(this: CompileContext) => void} buffer
20122 * Capture some of the output data.
20123 * @property {(this: CompileContext) => string} resume
20124 * Stop capturing and access the output data.
20125 * @property {<Kind extends Node>(this: CompileContext, node: Kind, token: Token, onError?: OnEnterError) => Kind} enter
20126 * Enter a token.
20127 * @property {(this: CompileContext, token: Token, onError?: OnExitError) => Node} exit
20128 * Exit a token.
20129 * @property {TokenizeContext['sliceSerialize']} sliceSerialize
20130 * Get the string value of a token.
20131 * @property {Config} config
20132 * Configuration.
20133 *
20134 * @typedef FromMarkdownOptions
20135 * Configuration for how to build mdast.
20136 * @property {Array<Extension | Array<Extension>> | null | undefined} [mdastExtensions]
20137 * Extensions for this utility to change how tokens are turned into a tree.
20138 *
20139 * @typedef {ParseOptions & FromMarkdownOptions} Options
20140 * Configuration.
20141 */
20142
20143 // To do: micromark: create a registry of tokens?
20144 // To do: next major: don’t return given `Node` from `enter`.
20145 // To do: next major: remove setter/getter.
20146
20147
20148
20149
20150
20151
20152
20153
20154
20155
20156
20157
20158
20159
20160
20161 const own = {}.hasOwnProperty
20162
20163 /**
20164 * @param value
20165 * Markdown to parse.
20166 * @param encoding
20167 * Character encoding for when `value` is `Buffer`.
20168 * @param options
20169 * Configuration.
20170 * @returns
20171 * mdast tree.
20172 */
20173 const fromMarkdown =
20174 /**
20175 * @type {(
20176 * ((value: Value, encoding: Encoding, options?: Options | null | undefined) => Root) &
20177 * ((value: Value, options?: Options | null | undefined) => Root)
20178 * )}
20179 */
20180 (
20181 /**
20182 * @param {Value} value
20183 * @param {Encoding | Options | null | undefined} [encoding]
20184 * @param {Options | null | undefined} [options]
20185 * @returns {Root}
20186 */
20187 function (value, encoding, options) {
20188 if (typeof encoding !== 'string') {
20189 options = encoding
20190 encoding = undefined
20191 }
20192
20193 return compiler(options)(
20194 (0,micromark_lib_postprocess_js__WEBPACK_IMPORTED_MODULE_1__.postprocess)(
20195 (0,micromark_lib_parse_js__WEBPACK_IMPORTED_MODULE_2__.parse)(options).document().write((0,micromark_lib_preprocess_js__WEBPACK_IMPORTED_MODULE_3__.preprocess)()(value, encoding, true))
20196 )
20197 )
20198 }
20199 )
20200
20201 /**
20202 * Note this compiler only understand complete buffering, not streaming.
20203 *
20204 * @param {Options | null | undefined} [options]
20205 */
20206 function compiler(options) {
20207 /** @type {Config} */
20208 const config = {
20209 transforms: [],
20210 canContainEols: ['emphasis', 'fragment', 'heading', 'paragraph', 'strong'],
20211 enter: {
20212 autolink: opener(link),
20213 autolinkProtocol: onenterdata,
20214 autolinkEmail: onenterdata,
20215 atxHeading: opener(heading),
20216 blockQuote: opener(blockQuote),
20217 characterEscape: onenterdata,
20218 characterReference: onenterdata,
20219 codeFenced: opener(codeFlow),
20220 codeFencedFenceInfo: buffer,
20221 codeFencedFenceMeta: buffer,
20222 codeIndented: opener(codeFlow, buffer),
20223 codeText: opener(codeText, buffer),
20224 codeTextData: onenterdata,
20225 data: onenterdata,
20226 codeFlowValue: onenterdata,
20227 definition: opener(definition),
20228 definitionDestinationString: buffer,
20229 definitionLabelString: buffer,
20230 definitionTitleString: buffer,
20231 emphasis: opener(emphasis),
20232 hardBreakEscape: opener(hardBreak),
20233 hardBreakTrailing: opener(hardBreak),
20234 htmlFlow: opener(html, buffer),
20235 htmlFlowData: onenterdata,
20236 htmlText: opener(html, buffer),
20237 htmlTextData: onenterdata,
20238 image: opener(image),
20239 label: buffer,
20240 link: opener(link),
20241 listItem: opener(listItem),
20242 listItemValue: onenterlistitemvalue,
20243 listOrdered: opener(list, onenterlistordered),
20244 listUnordered: opener(list),
20245 paragraph: opener(paragraph),
20246 reference: onenterreference,
20247 referenceString: buffer,
20248 resourceDestinationString: buffer,
20249 resourceTitleString: buffer,
20250 setextHeading: opener(heading),
20251 strong: opener(strong),
20252 thematicBreak: opener(thematicBreak)
20253 },
20254 exit: {
20255 atxHeading: closer(),
20256 atxHeadingSequence: onexitatxheadingsequence,
20257 autolink: closer(),
20258 autolinkEmail: onexitautolinkemail,
20259 autolinkProtocol: onexitautolinkprotocol,
20260 blockQuote: closer(),
20261 characterEscapeValue: onexitdata,
20262 characterReferenceMarkerHexadecimal: onexitcharacterreferencemarker,
20263 characterReferenceMarkerNumeric: onexitcharacterreferencemarker,
20264 characterReferenceValue: onexitcharacterreferencevalue,
20265 codeFenced: closer(onexitcodefenced),
20266 codeFencedFence: onexitcodefencedfence,
20267 codeFencedFenceInfo: onexitcodefencedfenceinfo,
20268 codeFencedFenceMeta: onexitcodefencedfencemeta,
20269 codeFlowValue: onexitdata,
20270 codeIndented: closer(onexitcodeindented),
20271 codeText: closer(onexitcodetext),
20272 codeTextData: onexitdata,
20273 data: onexitdata,
20274 definition: closer(),
20275 definitionDestinationString: onexitdefinitiondestinationstring,
20276 definitionLabelString: onexitdefinitionlabelstring,
20277 definitionTitleString: onexitdefinitiontitlestring,
20278 emphasis: closer(),
20279 hardBreakEscape: closer(onexithardbreak),
20280 hardBreakTrailing: closer(onexithardbreak),
20281 htmlFlow: closer(onexithtmlflow),
20282 htmlFlowData: onexitdata,
20283 htmlText: closer(onexithtmltext),
20284 htmlTextData: onexitdata,
20285 image: closer(onexitimage),
20286 label: onexitlabel,
20287 labelText: onexitlabeltext,
20288 lineEnding: onexitlineending,
20289 link: closer(onexitlink),
20290 listItem: closer(),
20291 listOrdered: closer(),
20292 listUnordered: closer(),
20293 paragraph: closer(),
20294 referenceString: onexitreferencestring,
20295 resourceDestinationString: onexitresourcedestinationstring,
20296 resourceTitleString: onexitresourcetitlestring,
20297 resource: onexitresource,
20298 setextHeading: closer(onexitsetextheading),
20299 setextHeadingLineSequence: onexitsetextheadinglinesequence,
20300 setextHeadingText: onexitsetextheadingtext,
20301 strong: closer(),
20302 thematicBreak: closer()
20303 }
20304 }
20305
20306 configure(config, (options || {}).mdastExtensions || [])
20307
20308 /** @type {CompileData} */
20309 const data = {}
20310
20311 return compile
20312
20313 /**
20314 * Turn micromark events into an mdast tree.
20315 *
20316 * @param {Array<Event>} events
20317 * Events.
20318 * @returns {Root}
20319 * mdast tree.
20320 */
20321 function compile(events) {
20322 /** @type {Root} */
20323 let tree = {type: 'root', children: []}
20324 /** @type {Omit<CompileContext, 'sliceSerialize'>} */
20325 const context = {
20326 stack: [tree],
20327 tokenStack: [],
20328 config,
20329 enter,
20330 exit,
20331 buffer,
20332 resume,
20333 setData,
20334 getData
20335 }
20336 /** @type {Array<number>} */
20337 const listStack = []
20338 let index = -1
20339
20340 while (++index < events.length) {
20341 // We preprocess lists to add `listItem` tokens, and to infer whether
20342 // items the list itself are spread out.
20343 if (
20344 events[index][1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.listOrdered ||
20345 events[index][1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.listUnordered
20346 ) {
20347 if (events[index][0] === 'enter') {
20348 listStack.push(index)
20349 } else {
20350 const tail = listStack.pop()
20351 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(typeof tail === 'number', 'expected list ot be open')
20352 index = prepareList(events, tail, index)
20353 }
20354 }
20355 }
20356
20357 index = -1
20358
20359 while (++index < events.length) {
20360 const handler = config[events[index][0]]
20361
20362 if (own.call(handler, events[index][1].type)) {
20363 handler[events[index][1].type].call(
20364 Object.assign(
20365 {sliceSerialize: events[index][2].sliceSerialize},
20366 context
20367 ),
20368 events[index][1]
20369 )
20370 }
20371 }
20372
20373 // Handle tokens still being open.
20374 if (context.tokenStack.length > 0) {
20375 const tail = context.tokenStack[context.tokenStack.length - 1]
20376 const handler = tail[1] || defaultOnError
20377 handler.call(context, undefined, tail[0])
20378 }
20379
20380 // Figure out `root` position.
20381 tree.position = {
20382 start: point(
20383 events.length > 0 ? events[0][1].start : {line: 1, column: 1, offset: 0}
20384 ),
20385 end: point(
20386 events.length > 0
20387 ? events[events.length - 2][1].end
20388 : {line: 1, column: 1, offset: 0}
20389 )
20390 }
20391
20392 // Call transforms.
20393 index = -1
20394 while (++index < config.transforms.length) {
20395 tree = config.transforms[index](tree) || tree
20396 }
20397
20398 return tree
20399 }
20400
20401 /**
20402 * @param {Array<Event>} events
20403 * @param {number} start
20404 * @param {number} length
20405 * @returns {number}
20406 */
20407 function prepareList(events, start, length) {
20408 let index = start - 1
20409 let containerBalance = -1
20410 let listSpread = false
20411 /** @type {Token | undefined} */
20412 let listItem
20413 /** @type {number | undefined} */
20414 let lineIndex
20415 /** @type {number | undefined} */
20416 let firstBlankLineIndex
20417 /** @type {boolean | undefined} */
20418 let atMarker
20419
20420 while (++index <= length) {
20421 const event = events[index]
20422
20423 if (
20424 event[1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.listUnordered ||
20425 event[1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.listOrdered ||
20426 event[1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.blockQuote
20427 ) {
20428 if (event[0] === 'enter') {
20429 containerBalance++
20430 } else {
20431 containerBalance--
20432 }
20433
20434 atMarker = undefined
20435 } else if (event[1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.lineEndingBlank) {
20436 if (event[0] === 'enter') {
20437 if (
20438 listItem &&
20439 !atMarker &&
20440 !containerBalance &&
20441 !firstBlankLineIndex
20442 ) {
20443 firstBlankLineIndex = index
20444 }
20445
20446 atMarker = undefined
20447 }
20448 } else if (
20449 event[1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.linePrefix ||
20450 event[1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.listItemValue ||
20451 event[1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.listItemMarker ||
20452 event[1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.listItemPrefix ||
20453 event[1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.listItemPrefixWhitespace
20454 ) {
20455 // Empty.
20456 } else {
20457 atMarker = undefined
20458 }
20459
20460 if (
20461 (!containerBalance &&
20462 event[0] === 'enter' &&
20463 event[1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.listItemPrefix) ||
20464 (containerBalance === -1 &&
20465 event[0] === 'exit' &&
20466 (event[1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.listUnordered ||
20467 event[1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.listOrdered))
20468 ) {
20469 if (listItem) {
20470 let tailIndex = index
20471 lineIndex = undefined
20472
20473 while (tailIndex--) {
20474 const tailEvent = events[tailIndex]
20475
20476 if (
20477 tailEvent[1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.lineEnding ||
20478 tailEvent[1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.lineEndingBlank
20479 ) {
20480 if (tailEvent[0] === 'exit') continue
20481
20482 if (lineIndex) {
20483 events[lineIndex][1].type = micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.lineEndingBlank
20484 listSpread = true
20485 }
20486
20487 tailEvent[1].type = micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.lineEnding
20488 lineIndex = tailIndex
20489 } else if (
20490 tailEvent[1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.linePrefix ||
20491 tailEvent[1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.blockQuotePrefix ||
20492 tailEvent[1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.blockQuotePrefixWhitespace ||
20493 tailEvent[1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.blockQuoteMarker ||
20494 tailEvent[1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.listItemIndent
20495 ) {
20496 // Empty
20497 } else {
20498 break
20499 }
20500 }
20501
20502 if (
20503 firstBlankLineIndex &&
20504 (!lineIndex || firstBlankLineIndex < lineIndex)
20505 ) {
20506 listItem._spread = true
20507 }
20508
20509 // Fix position.
20510 listItem.end = Object.assign(
20511 {},
20512 lineIndex ? events[lineIndex][1].start : event[1].end
20513 )
20514
20515 events.splice(lineIndex || index, 0, ['exit', listItem, event[2]])
20516 index++
20517 length++
20518 }
20519
20520 // Create a new list item.
20521 if (event[1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.listItemPrefix) {
20522 listItem = {
20523 type: 'listItem',
20524 _spread: false,
20525 start: Object.assign({}, event[1].start),
20526 // @ts-expect-error: we’ll add `end` in a second.
20527 end: undefined
20528 }
20529 // @ts-expect-error: `listItem` is most definitely defined, TS...
20530 events.splice(index, 0, ['enter', listItem, event[2]])
20531 index++
20532 length++
20533 firstBlankLineIndex = undefined
20534 atMarker = true
20535 }
20536 }
20537 }
20538
20539 events[start][1]._spread = listSpread
20540 return length
20541 }
20542
20543 /**
20544 * Set data.
20545 *
20546 * @template {keyof CompileData} Key
20547 * Field type.
20548 * @param {Key} key
20549 * Key of field.
20550 * @param {CompileData[Key]} [value]
20551 * New value.
20552 * @returns {void}
20553 * Nothing.
20554 */
20555 function setData(key, value) {
20556 data[key] = value
20557 }
20558
20559 /**
20560 * Get data.
20561 *
20562 * @template {keyof CompileData} Key
20563 * Field type.
20564 * @param {Key} key
20565 * Key of field.
20566 * @returns {CompileData[Key]}
20567 * Value.
20568 */
20569 function getData(key) {
20570 return data[key]
20571 }
20572
20573 /**
20574 * Create an opener handle.
20575 *
20576 * @param {(token: Token) => Node} create
20577 * Create a node.
20578 * @param {Handle} [and]
20579 * Optional function to also run.
20580 * @returns {Handle}
20581 * Handle.
20582 */
20583 function opener(create, and) {
20584 return open
20585
20586 /**
20587 * @this {CompileContext}
20588 * @param {Token} token
20589 * @returns {void}
20590 */
20591 function open(token) {
20592 enter.call(this, create(token), token)
20593 if (and) and.call(this, token)
20594 }
20595 }
20596
20597 /**
20598 * @this {CompileContext}
20599 * @returns {void}
20600 */
20601 function buffer() {
20602 this.stack.push({type: 'fragment', children: []})
20603 }
20604
20605 /**
20606 * @template {Node} Kind
20607 * Node type.
20608 * @this {CompileContext}
20609 * Context.
20610 * @param {Kind} node
20611 * Node to enter.
20612 * @param {Token} token
20613 * Corresponding token.
20614 * @param {OnEnterError | undefined} [errorHandler]
20615 * Handle the case where this token is open, but it is closed by something else.
20616 * @returns {Kind}
20617 * The given node.
20618 */
20619 function enter(node, token, errorHandler) {
20620 const parent = this.stack[this.stack.length - 1]
20621 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(parent, 'expected `parent`')
20622 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)('children' in parent, 'expected `parent`')
20623 // @ts-expect-error: Assume `Node` can exist as a child of `parent`.
20624 parent.children.push(node)
20625 this.stack.push(node)
20626 this.tokenStack.push([token, errorHandler])
20627 // @ts-expect-error: `end` will be patched later.
20628 node.position = {start: point(token.start)}
20629 return node
20630 }
20631
20632 /**
20633 * Create a closer handle.
20634 *
20635 * @param {Handle} [and]
20636 * Optional function to also run.
20637 * @returns {Handle}
20638 * Handle.
20639 */
20640 function closer(and) {
20641 return close
20642
20643 /**
20644 * @this {CompileContext}
20645 * @param {Token} token
20646 * @returns {void}
20647 */
20648 function close(token) {
20649 if (and) and.call(this, token)
20650 exit.call(this, token)
20651 }
20652 }
20653
20654 /**
20655 * @this {CompileContext}
20656 * Context.
20657 * @param {Token} token
20658 * Corresponding token.
20659 * @param {OnExitError | undefined} [onExitError]
20660 * Handle the case where another token is open.
20661 * @returns {Node}
20662 * The closed node.
20663 */
20664 function exit(token, onExitError) {
20665 const node = this.stack.pop()
20666 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node, 'expected `node`')
20667 const open = this.tokenStack.pop()
20668
20669 if (!open) {
20670 throw new Error(
20671 'Cannot close `' +
20672 token.type +
20673 '` (' +
20674 (0,unist_util_stringify_position__WEBPACK_IMPORTED_MODULE_5__.stringifyPosition)({start: token.start, end: token.end}) +
20675 '): it’s not open'
20676 )
20677 } else if (open[0].type !== token.type) {
20678 if (onExitError) {
20679 onExitError.call(this, token, open[0])
20680 } else {
20681 const handler = open[1] || defaultOnError
20682 handler.call(this, token, open[0])
20683 }
20684 }
20685
20686 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node.type !== 'fragment', 'unexpected fragment `exit`ed')
20687 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node.position, 'expected `position` to be defined')
20688 node.position.end = point(token.end)
20689 return node
20690 }
20691
20692 /**
20693 * @this {CompileContext}
20694 * @returns {string}
20695 */
20696 function resume() {
20697 return (0,mdast_util_to_string__WEBPACK_IMPORTED_MODULE_6__.toString)(this.stack.pop())
20698 }
20699
20700 //
20701 // Handlers.
20702 //
20703
20704 /**
20705 * @this {CompileContext}
20706 * @type {Handle}
20707 */
20708 function onenterlistordered() {
20709 setData('expectingFirstListItemValue', true)
20710 }
20711
20712 /**
20713 * @this {CompileContext}
20714 * @type {Handle}
20715 */
20716 function onenterlistitemvalue(token) {
20717 if (getData('expectingFirstListItemValue')) {
20718 const ancestor = this.stack[this.stack.length - 2]
20719 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(ancestor, 'expected nodes on stack')
20720 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(ancestor.type === 'list', 'expected list on stack')
20721 ancestor.start = Number.parseInt(
20722 this.sliceSerialize(token),
20723 micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_7__.constants.numericBaseDecimal
20724 )
20725 setData('expectingFirstListItemValue')
20726 }
20727 }
20728
20729 /**
20730 * @this {CompileContext}
20731 * @type {Handle}
20732 */
20733 function onexitcodefencedfenceinfo() {
20734 const data = this.resume()
20735 const node = this.stack[this.stack.length - 1]
20736 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node, 'expected node on stack')
20737 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node.type === 'code', 'expected code on stack')
20738 node.lang = data
20739 }
20740
20741 /**
20742 * @this {CompileContext}
20743 * @type {Handle}
20744 */
20745 function onexitcodefencedfencemeta() {
20746 const data = this.resume()
20747 const node = this.stack[this.stack.length - 1]
20748 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node, 'expected node on stack')
20749 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node.type === 'code', 'expected code on stack')
20750 node.meta = data
20751 }
20752
20753 /**
20754 * @this {CompileContext}
20755 * @type {Handle}
20756 */
20757 function onexitcodefencedfence() {
20758 // Exit if this is the closing fence.
20759 if (getData('flowCodeInside')) return
20760 this.buffer()
20761 setData('flowCodeInside', true)
20762 }
20763
20764 /**
20765 * @this {CompileContext}
20766 * @type {Handle}
20767 */
20768 function onexitcodefenced() {
20769 const data = this.resume()
20770 const node = this.stack[this.stack.length - 1]
20771 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node, 'expected node on stack')
20772 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node.type === 'code', 'expected code on stack')
20773
20774 node.value = data.replace(/^(\r?\n|\r)|(\r?\n|\r)$/g, '')
20775 setData('flowCodeInside')
20776 }
20777
20778 /**
20779 * @this {CompileContext}
20780 * @type {Handle}
20781 */
20782 function onexitcodeindented() {
20783 const data = this.resume()
20784 const node = this.stack[this.stack.length - 1]
20785 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node, 'expected node on stack')
20786 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node.type === 'code', 'expected code on stack')
20787
20788 node.value = data.replace(/(\r?\n|\r)$/g, '')
20789 }
20790
20791 /**
20792 * @this {CompileContext}
20793 * @type {Handle}
20794 */
20795 function onexitdefinitionlabelstring(token) {
20796 const label = this.resume()
20797 const node = this.stack[this.stack.length - 1]
20798 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node, 'expected node on stack')
20799 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node.type === 'definition', 'expected definition on stack')
20800
20801 node.label = label
20802 node.identifier = (0,micromark_util_normalize_identifier__WEBPACK_IMPORTED_MODULE_8__.normalizeIdentifier)(
20803 this.sliceSerialize(token)
20804 ).toLowerCase()
20805 }
20806
20807 /**
20808 * @this {CompileContext}
20809 * @type {Handle}
20810 */
20811 function onexitdefinitiontitlestring() {
20812 const data = this.resume()
20813 const node = this.stack[this.stack.length - 1]
20814 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node, 'expected node on stack')
20815 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node.type === 'definition', 'expected definition on stack')
20816
20817 node.title = data
20818 }
20819
20820 /**
20821 * @this {CompileContext}
20822 * @type {Handle}
20823 */
20824 function onexitdefinitiondestinationstring() {
20825 const data = this.resume()
20826 const node = this.stack[this.stack.length - 1]
20827 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node, 'expected node on stack')
20828 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node.type === 'definition', 'expected definition on stack')
20829
20830 node.url = data
20831 }
20832
20833 /**
20834 * @this {CompileContext}
20835 * @type {Handle}
20836 */
20837 function onexitatxheadingsequence(token) {
20838 const node = this.stack[this.stack.length - 1]
20839 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node, 'expected node on stack')
20840 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node.type === 'heading', 'expected heading on stack')
20841
20842 if (!node.depth) {
20843 const depth = this.sliceSerialize(token).length
20844
20845 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(
20846 depth === 1 ||
20847 depth === 2 ||
20848 depth === 3 ||
20849 depth === 4 ||
20850 depth === 5 ||
20851 depth === 6,
20852 'expected `depth` between `1` and `6`'
20853 )
20854
20855 node.depth = depth
20856 }
20857 }
20858
20859 /**
20860 * @this {CompileContext}
20861 * @type {Handle}
20862 */
20863 function onexitsetextheadingtext() {
20864 setData('setextHeadingSlurpLineEnding', true)
20865 }
20866
20867 /**
20868 * @this {CompileContext}
20869 * @type {Handle}
20870 */
20871 function onexitsetextheadinglinesequence(token) {
20872 const node = this.stack[this.stack.length - 1]
20873 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node, 'expected node on stack')
20874 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node.type === 'heading', 'expected heading on stack')
20875
20876 node.depth =
20877 this.sliceSerialize(token).charCodeAt(0) === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_9__.codes.equalsTo ? 1 : 2
20878 }
20879
20880 /**
20881 * @this {CompileContext}
20882 * @type {Handle}
20883 */
20884 function onexitsetextheading() {
20885 setData('setextHeadingSlurpLineEnding')
20886 }
20887
20888 /**
20889 * @this {CompileContext}
20890 * @type {Handle}
20891 */
20892
20893 function onenterdata(token) {
20894 const node = this.stack[this.stack.length - 1]
20895 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node, 'expected node on stack')
20896 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)('children' in node, 'expected parent on stack')
20897
20898 let tail = node.children[node.children.length - 1]
20899
20900 if (!tail || tail.type !== 'text') {
20901 // Add a new text node.
20902 tail = text()
20903 // @ts-expect-error: we’ll add `end` later.
20904 tail.position = {start: point(token.start)}
20905 // @ts-expect-error: Assume `parent` accepts `text`.
20906 node.children.push(tail)
20907 }
20908
20909 this.stack.push(tail)
20910 }
20911
20912 /**
20913 * @this {CompileContext}
20914 * @type {Handle}
20915 */
20916
20917 function onexitdata(token) {
20918 const tail = this.stack.pop()
20919 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(tail, 'expected a `node` to be on the stack')
20920 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)('value' in tail, 'expected a `literal` to be on the stack')
20921 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(tail.position, 'expected `node` to have an open position')
20922 tail.value += this.sliceSerialize(token)
20923 tail.position.end = point(token.end)
20924 }
20925
20926 /**
20927 * @this {CompileContext}
20928 * @type {Handle}
20929 */
20930
20931 function onexitlineending(token) {
20932 const context = this.stack[this.stack.length - 1]
20933 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(context, 'expected `node`')
20934
20935 // If we’re at a hard break, include the line ending in there.
20936 if (getData('atHardBreak')) {
20937 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)('children' in context, 'expected `parent`')
20938 const tail = context.children[context.children.length - 1]
20939 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(tail.position, 'expected tail to have a starting position')
20940 tail.position.end = point(token.end)
20941 setData('atHardBreak')
20942 return
20943 }
20944
20945 if (
20946 !getData('setextHeadingSlurpLineEnding') &&
20947 config.canContainEols.includes(context.type)
20948 ) {
20949 onenterdata.call(this, token)
20950 onexitdata.call(this, token)
20951 }
20952 }
20953
20954 /**
20955 * @this {CompileContext}
20956 * @type {Handle}
20957 */
20958
20959 function onexithardbreak() {
20960 setData('atHardBreak', true)
20961 }
20962
20963 /**
20964 * @this {CompileContext}
20965 * @type {Handle}
20966 */
20967
20968 function onexithtmlflow() {
20969 const data = this.resume()
20970 const node = this.stack[this.stack.length - 1]
20971 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node, 'expected node on stack')
20972 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node.type === 'html', 'expected html on stack')
20973
20974 node.value = data
20975 }
20976
20977 /**
20978 * @this {CompileContext}
20979 * @type {Handle}
20980 */
20981
20982 function onexithtmltext() {
20983 const data = this.resume()
20984 const node = this.stack[this.stack.length - 1]
20985 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node, 'expected node on stack')
20986 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node.type === 'html', 'expected html on stack')
20987
20988 node.value = data
20989 }
20990
20991 /**
20992 * @this {CompileContext}
20993 * @type {Handle}
20994 */
20995
20996 function onexitcodetext() {
20997 const data = this.resume()
20998 const node = this.stack[this.stack.length - 1]
20999 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node, 'expected node on stack')
21000 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node.type === 'inlineCode', 'expected inline code on stack')
21001
21002 node.value = data
21003 }
21004
21005 /**
21006 * @this {CompileContext}
21007 * @type {Handle}
21008 */
21009
21010 function onexitlink() {
21011 const node = this.stack[this.stack.length - 1]
21012 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node, 'expected node on stack')
21013 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node.type === 'link', 'expected link on stack')
21014
21015 // Note: there are also `identifier` and `label` fields on this link node!
21016 // These are used / cleaned here.
21017
21018 // To do: clean.
21019 if (getData('inReference')) {
21020 /** @type {ReferenceType} */
21021 const referenceType = getData('referenceType') || 'shortcut'
21022
21023 node.type += 'Reference'
21024 // @ts-expect-error: mutate.
21025 node.referenceType = referenceType
21026 // @ts-expect-error: mutate.
21027 delete node.url
21028 delete node.title
21029 } else {
21030 // @ts-expect-error: mutate.
21031 delete node.identifier
21032 // @ts-expect-error: mutate.
21033 delete node.label
21034 }
21035
21036 setData('referenceType')
21037 }
21038
21039 /**
21040 * @this {CompileContext}
21041 * @type {Handle}
21042 */
21043
21044 function onexitimage() {
21045 const node = this.stack[this.stack.length - 1]
21046 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node, 'expected node on stack')
21047 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node.type === 'image', 'expected image on stack')
21048
21049 // Note: there are also `identifier` and `label` fields on this link node!
21050 // These are used / cleaned here.
21051
21052 // To do: clean.
21053 if (getData('inReference')) {
21054 /** @type {ReferenceType} */
21055 const referenceType = getData('referenceType') || 'shortcut'
21056
21057 node.type += 'Reference'
21058 // @ts-expect-error: mutate.
21059 node.referenceType = referenceType
21060 // @ts-expect-error: mutate.
21061 delete node.url
21062 delete node.title
21063 } else {
21064 // @ts-expect-error: mutate.
21065 delete node.identifier
21066 // @ts-expect-error: mutate.
21067 delete node.label
21068 }
21069
21070 setData('referenceType')
21071 }
21072
21073 /**
21074 * @this {CompileContext}
21075 * @type {Handle}
21076 */
21077
21078 function onexitlabeltext(token) {
21079 const string = this.sliceSerialize(token)
21080 const ancestor = this.stack[this.stack.length - 2]
21081 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(ancestor, 'expected ancestor on stack')
21082 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(
21083 ancestor.type === 'image' || ancestor.type === 'link',
21084 'expected image or link on stack'
21085 )
21086
21087 // @ts-expect-error: stash this on the node, as it might become a reference
21088 // later.
21089 ancestor.label = (0,micromark_util_decode_string__WEBPACK_IMPORTED_MODULE_10__.decodeString)(string)
21090 // @ts-expect-error: same as above.
21091 ancestor.identifier = (0,micromark_util_normalize_identifier__WEBPACK_IMPORTED_MODULE_8__.normalizeIdentifier)(string).toLowerCase()
21092 }
21093
21094 /**
21095 * @this {CompileContext}
21096 * @type {Handle}
21097 */
21098
21099 function onexitlabel() {
21100 const fragment = this.stack[this.stack.length - 1]
21101 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(fragment, 'expected node on stack')
21102 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(fragment.type === 'fragment', 'expected fragment on stack')
21103 const value = this.resume()
21104 const node = this.stack[this.stack.length - 1]
21105 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node, 'expected node on stack')
21106 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(
21107 node.type === 'image' || node.type === 'link',
21108 'expected image or link on stack'
21109 )
21110
21111 // Assume a reference.
21112 setData('inReference', true)
21113
21114 if (node.type === 'link') {
21115 /** @type {Array<StaticPhrasingContent>} */
21116 // @ts-expect-error: Assume static phrasing content.
21117 const children = fragment.children
21118
21119 node.children = children
21120 } else {
21121 node.alt = value
21122 }
21123 }
21124
21125 /**
21126 * @this {CompileContext}
21127 * @type {Handle}
21128 */
21129
21130 function onexitresourcedestinationstring() {
21131 const data = this.resume()
21132 const node = this.stack[this.stack.length - 1]
21133 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node, 'expected node on stack')
21134 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(
21135 node.type === 'image' || node.type === 'link',
21136 'expected image or link on stack'
21137 )
21138 node.url = data
21139 }
21140
21141 /**
21142 * @this {CompileContext}
21143 * @type {Handle}
21144 */
21145
21146 function onexitresourcetitlestring() {
21147 const data = this.resume()
21148 const node = this.stack[this.stack.length - 1]
21149 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node, 'expected node on stack')
21150 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(
21151 node.type === 'image' || node.type === 'link',
21152 'expected image or link on stack'
21153 )
21154 node.title = data
21155 }
21156
21157 /**
21158 * @this {CompileContext}
21159 * @type {Handle}
21160 */
21161
21162 function onexitresource() {
21163 setData('inReference')
21164 }
21165
21166 /**
21167 * @this {CompileContext}
21168 * @type {Handle}
21169 */
21170
21171 function onenterreference() {
21172 setData('referenceType', 'collapsed')
21173 }
21174
21175 /**
21176 * @this {CompileContext}
21177 * @type {Handle}
21178 */
21179
21180 function onexitreferencestring(token) {
21181 const label = this.resume()
21182 const node = this.stack[this.stack.length - 1]
21183 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node, 'expected node on stack')
21184 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(
21185 node.type === 'image' || node.type === 'link',
21186 'expected image reference or link reference on stack'
21187 )
21188
21189 // @ts-expect-error: stash this on the node, as it might become a reference
21190 // later.
21191 node.label = label
21192 // @ts-expect-error: same as above.
21193 node.identifier = (0,micromark_util_normalize_identifier__WEBPACK_IMPORTED_MODULE_8__.normalizeIdentifier)(
21194 this.sliceSerialize(token)
21195 ).toLowerCase()
21196 setData('referenceType', 'full')
21197 }
21198
21199 /**
21200 * @this {CompileContext}
21201 * @type {Handle}
21202 */
21203
21204 function onexitcharacterreferencemarker(token) {
21205 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(
21206 token.type === 'characterReferenceMarkerNumeric' ||
21207 token.type === 'characterReferenceMarkerHexadecimal'
21208 )
21209 setData('characterReferenceType', token.type)
21210 }
21211
21212 /**
21213 * @this {CompileContext}
21214 * @type {Handle}
21215 */
21216 function onexitcharacterreferencevalue(token) {
21217 const data = this.sliceSerialize(token)
21218 const type = getData('characterReferenceType')
21219 /** @type {string} */
21220 let value
21221
21222 if (type) {
21223 value = (0,micromark_util_decode_numeric_character_reference__WEBPACK_IMPORTED_MODULE_11__.decodeNumericCharacterReference)(
21224 data,
21225 type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.characterReferenceMarkerNumeric
21226 ? micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_7__.constants.numericBaseDecimal
21227 : micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_7__.constants.numericBaseHexadecimal
21228 )
21229 setData('characterReferenceType')
21230 } else {
21231 const result = (0,decode_named_character_reference__WEBPACK_IMPORTED_MODULE_12__.decodeNamedCharacterReference)(data)
21232 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(result !== false, 'expected reference to decode')
21233 value = result
21234 }
21235
21236 const tail = this.stack.pop()
21237 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(tail, 'expected `node`')
21238 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(tail.position, 'expected `node.position`')
21239 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)('value' in tail, 'expected `node.value`')
21240 tail.value += value
21241 tail.position.end = point(token.end)
21242 }
21243
21244 /**
21245 * @this {CompileContext}
21246 * @type {Handle}
21247 */
21248 function onexitautolinkprotocol(token) {
21249 onexitdata.call(this, token)
21250 const node = this.stack[this.stack.length - 1]
21251 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node, 'expected node on stack')
21252 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node.type === 'link', 'expected link on stack')
21253
21254 node.url = this.sliceSerialize(token)
21255 }
21256
21257 /**
21258 * @this {CompileContext}
21259 * @type {Handle}
21260 */
21261 function onexitautolinkemail(token) {
21262 onexitdata.call(this, token)
21263 const node = this.stack[this.stack.length - 1]
21264 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node, 'expected node on stack')
21265 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node.type === 'link', 'expected link on stack')
21266
21267 node.url = 'mailto:' + this.sliceSerialize(token)
21268 }
21269
21270 //
21271 // Creaters.
21272 //
21273
21274 /** @returns {Blockquote} */
21275 function blockQuote() {
21276 return {type: 'blockquote', children: []}
21277 }
21278
21279 /** @returns {Code} */
21280 function codeFlow() {
21281 return {type: 'code', lang: null, meta: null, value: ''}
21282 }
21283
21284 /** @returns {InlineCode} */
21285 function codeText() {
21286 return {type: 'inlineCode', value: ''}
21287 }
21288
21289 /** @returns {Definition} */
21290 function definition() {
21291 return {
21292 type: 'definition',
21293 identifier: '',
21294 label: null,
21295 title: null,
21296 url: ''
21297 }
21298 }
21299
21300 /** @returns {Emphasis} */
21301 function emphasis() {
21302 return {type: 'emphasis', children: []}
21303 }
21304
21305 /** @returns {Heading} */
21306 function heading() {
21307 // @ts-expect-error `depth` will be set later.
21308 return {type: 'heading', depth: undefined, children: []}
21309 }
21310
21311 /** @returns {Break} */
21312 function hardBreak() {
21313 return {type: 'break'}
21314 }
21315
21316 /** @returns {HTML} */
21317 function html() {
21318 return {type: 'html', value: ''}
21319 }
21320
21321 /** @returns {Image} */
21322 function image() {
21323 return {type: 'image', title: null, url: '', alt: null}
21324 }
21325
21326 /** @returns {Link} */
21327 function link() {
21328 return {type: 'link', title: null, url: '', children: []}
21329 }
21330
21331 /**
21332 * @param {Token} token
21333 * @returns {List}
21334 */
21335 function list(token) {
21336 return {
21337 type: 'list',
21338 ordered: token.type === 'listOrdered',
21339 start: null,
21340 spread: token._spread,
21341 children: []
21342 }
21343 }
21344
21345 /**
21346 * @param {Token} token
21347 * @returns {ListItem}
21348 */
21349 function listItem(token) {
21350 return {
21351 type: 'listItem',
21352 spread: token._spread,
21353 checked: null,
21354 children: []
21355 }
21356 }
21357
21358 /** @returns {Paragraph} */
21359 function paragraph() {
21360 return {type: 'paragraph', children: []}
21361 }
21362
21363 /** @returns {Strong} */
21364 function strong() {
21365 return {type: 'strong', children: []}
21366 }
21367
21368 /** @returns {Text} */
21369 function text() {
21370 return {type: 'text', value: ''}
21371 }
21372
21373 /** @returns {ThematicBreak} */
21374 function thematicBreak() {
21375 return {type: 'thematicBreak'}
21376 }
21377 }
21378
21379 /**
21380 * Copy a point-like value.
21381 *
21382 * @param {Point} d
21383 * Point-like value.
21384 * @returns {Point}
21385 * unist point.
21386 */
21387 function point(d) {
21388 return {line: d.line, column: d.column, offset: d.offset}
21389 }
21390
21391 /**
21392 * @param {Config} combined
21393 * @param {Array<Extension | Array<Extension>>} extensions
21394 * @returns {void}
21395 */
21396 function configure(combined, extensions) {
21397 let index = -1
21398
21399 while (++index < extensions.length) {
21400 const value = extensions[index]
21401
21402 if (Array.isArray(value)) {
21403 configure(combined, value)
21404 } else {
21405 extension(combined, value)
21406 }
21407 }
21408 }
21409
21410 /**
21411 * @param {Config} combined
21412 * @param {Extension} extension
21413 * @returns {void}
21414 */
21415 function extension(combined, extension) {
21416 /** @type {keyof Extension} */
21417 let key
21418
21419 for (key in extension) {
21420 if (own.call(extension, key)) {
21421 if (key === 'canContainEols') {
21422 const right = extension[key]
21423 if (right) {
21424 combined[key].push(...right)
21425 }
21426 } else if (key === 'transforms') {
21427 const right = extension[key]
21428 if (right) {
21429 combined[key].push(...right)
21430 }
21431 } else if (key === 'enter' || key === 'exit') {
21432 const right = extension[key]
21433 if (right) {
21434 Object.assign(combined[key], right)
21435 }
21436 }
21437 }
21438 }
21439 }
21440
21441 /** @type {OnEnterError} */
21442 function defaultOnError(left, right) {
21443 if (left) {
21444 throw new Error(
21445 'Cannot close `' +
21446 left.type +
21447 '` (' +
21448 (0,unist_util_stringify_position__WEBPACK_IMPORTED_MODULE_5__.stringifyPosition)({start: left.start, end: left.end}) +
21449 '): a different token (`' +
21450 right.type +
21451 '`, ' +
21452 (0,unist_util_stringify_position__WEBPACK_IMPORTED_MODULE_5__.stringifyPosition)({start: right.start, end: right.end}) +
21453 ') is open'
21454 )
21455 } else {
21456 throw new Error(
21457 'Cannot close document, a token (`' +
21458 right.type +
21459 '`, ' +
21460 (0,unist_util_stringify_position__WEBPACK_IMPORTED_MODULE_5__.stringifyPosition)({start: right.start, end: right.end}) +
21461 ') is still open'
21462 )
21463 }
21464 }
21465
21466
21467 /***/ }),
21468
21469 /***/ "../node_modules/mdast-util-to-hast/lib/footer.js":
21470 /*!********************************************************!*\
21471 !*** ../node_modules/mdast-util-to-hast/lib/footer.js ***!
21472 \********************************************************/
21473 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
21474
21475 "use strict";
21476 __webpack_require__.r(__webpack_exports__);
21477 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
21478 /* harmony export */ footer: () => (/* binding */ footer)
21479 /* harmony export */ });
21480 /* harmony import */ var micromark_util_sanitize_uri__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-util-sanitize-uri */ "../node_modules/micromark-util-sanitize-uri/dev/index.js");
21481 /**
21482 * @typedef {import('hast').Element} Element
21483 * @typedef {import('hast').ElementContent} ElementContent
21484 *
21485 * @typedef {import('./state.js').State} State
21486 */
21487
21488
21489
21490 /**
21491 * Generate a hast footer for called footnote definitions.
21492 *
21493 * @param {State} state
21494 * Info passed around.
21495 * @returns {Element | undefined}
21496 * `section` element or `undefined`.
21497 */
21498 function footer(state) {
21499 /** @type {Array<ElementContent>} */
21500 const listItems = []
21501 let index = -1
21502
21503 while (++index < state.footnoteOrder.length) {
21504 const def = state.footnoteById[state.footnoteOrder[index]]
21505
21506 if (!def) {
21507 continue
21508 }
21509
21510 const content = state.all(def)
21511 const id = String(def.identifier).toUpperCase()
21512 const safeId = (0,micromark_util_sanitize_uri__WEBPACK_IMPORTED_MODULE_0__.normalizeUri)(id.toLowerCase())
21513 let referenceIndex = 0
21514 /** @type {Array<ElementContent>} */
21515 const backReferences = []
21516
21517 while (++referenceIndex <= state.footnoteCounts[id]) {
21518 /** @type {Element} */
21519 const backReference = {
21520 type: 'element',
21521 tagName: 'a',
21522 properties: {
21523 href:
21524 '#' +
21525 state.clobberPrefix +
21526 'fnref-' +
21527 safeId +
21528 (referenceIndex > 1 ? '-' + referenceIndex : ''),
21529 dataFootnoteBackref: true,
21530 className: ['data-footnote-backref'],
21531 ariaLabel: state.footnoteBackLabel
21532 },
21533 children: [{type: 'text', value: '↩'}]
21534 }
21535
21536 if (referenceIndex > 1) {
21537 backReference.children.push({
21538 type: 'element',
21539 tagName: 'sup',
21540 children: [{type: 'text', value: String(referenceIndex)}]
21541 })
21542 }
21543
21544 if (backReferences.length > 0) {
21545 backReferences.push({type: 'text', value: ' '})
21546 }
21547
21548 backReferences.push(backReference)
21549 }
21550
21551 const tail = content[content.length - 1]
21552
21553 if (tail && tail.type === 'element' && tail.tagName === 'p') {
21554 const tailTail = tail.children[tail.children.length - 1]
21555 if (tailTail && tailTail.type === 'text') {
21556 tailTail.value += ' '
21557 } else {
21558 tail.children.push({type: 'text', value: ' '})
21559 }
21560
21561 tail.children.push(...backReferences)
21562 } else {
21563 content.push(...backReferences)
21564 }
21565
21566 /** @type {Element} */
21567 const listItem = {
21568 type: 'element',
21569 tagName: 'li',
21570 properties: {id: state.clobberPrefix + 'fn-' + safeId},
21571 children: state.wrap(content, true)
21572 }
21573
21574 state.patch(def, listItem)
21575
21576 listItems.push(listItem)
21577 }
21578
21579 if (listItems.length === 0) {
21580 return
21581 }
21582
21583 return {
21584 type: 'element',
21585 tagName: 'section',
21586 properties: {dataFootnotes: true, className: ['footnotes']},
21587 children: [
21588 {
21589 type: 'element',
21590 tagName: state.footnoteLabelTagName,
21591 properties: {
21592 // To do: use structured clone.
21593 ...JSON.parse(JSON.stringify(state.footnoteLabelProperties)),
21594 id: 'footnote-label'
21595 },
21596 children: [{type: 'text', value: state.footnoteLabel}]
21597 },
21598 {type: 'text', value: '\n'},
21599 {
21600 type: 'element',
21601 tagName: 'ol',
21602 properties: {},
21603 children: state.wrap(listItems, true)
21604 },
21605 {type: 'text', value: '\n'}
21606 ]
21607 }
21608 }
21609
21610
21611 /***/ }),
21612
21613 /***/ "../node_modules/mdast-util-to-hast/lib/handlers/blockquote.js":
21614 /*!*********************************************************************!*\
21615 !*** ../node_modules/mdast-util-to-hast/lib/handlers/blockquote.js ***!
21616 \*********************************************************************/
21617 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
21618
21619 "use strict";
21620 __webpack_require__.r(__webpack_exports__);
21621 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
21622 /* harmony export */ blockquote: () => (/* binding */ blockquote)
21623 /* harmony export */ });
21624 /**
21625 * @typedef {import('hast').Element} Element
21626 * @typedef {import('mdast').Blockquote} Blockquote
21627 * @typedef {import('../state.js').State} State
21628 */
21629
21630 /**
21631 * Turn an mdast `blockquote` node into hast.
21632 *
21633 * @param {State} state
21634 * Info passed around.
21635 * @param {Blockquote} node
21636 * mdast node.
21637 * @returns {Element}
21638 * hast node.
21639 */
21640 function blockquote(state, node) {
21641 /** @type {Element} */
21642 const result = {
21643 type: 'element',
21644 tagName: 'blockquote',
21645 properties: {},
21646 children: state.wrap(state.all(node), true)
21647 }
21648 state.patch(node, result)
21649 return state.applyData(node, result)
21650 }
21651
21652
21653 /***/ }),
21654
21655 /***/ "../node_modules/mdast-util-to-hast/lib/handlers/break.js":
21656 /*!****************************************************************!*\
21657 !*** ../node_modules/mdast-util-to-hast/lib/handlers/break.js ***!
21658 \****************************************************************/
21659 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
21660
21661 "use strict";
21662 __webpack_require__.r(__webpack_exports__);
21663 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
21664 /* harmony export */ hardBreak: () => (/* binding */ hardBreak)
21665 /* harmony export */ });
21666 /**
21667 * @typedef {import('hast').Element} Element
21668 * @typedef {import('hast').Text} Text
21669 * @typedef {import('mdast').Break} Break
21670 * @typedef {import('../state.js').State} State
21671 */
21672
21673 /**
21674 * Turn an mdast `break` node into hast.
21675 *
21676 * @param {State} state
21677 * Info passed around.
21678 * @param {Break} node
21679 * mdast node.
21680 * @returns {Array<Element | Text>}
21681 * hast element content.
21682 */
21683 function hardBreak(state, node) {
21684 /** @type {Element} */
21685 const result = {type: 'element', tagName: 'br', properties: {}, children: []}
21686 state.patch(node, result)
21687 return [state.applyData(node, result), {type: 'text', value: '\n'}]
21688 }
21689
21690
21691 /***/ }),
21692
21693 /***/ "../node_modules/mdast-util-to-hast/lib/handlers/code.js":
21694 /*!***************************************************************!*\
21695 !*** ../node_modules/mdast-util-to-hast/lib/handlers/code.js ***!
21696 \***************************************************************/
21697 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
21698
21699 "use strict";
21700 __webpack_require__.r(__webpack_exports__);
21701 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
21702 /* harmony export */ code: () => (/* binding */ code)
21703 /* harmony export */ });
21704 /**
21705 * @typedef {import('hast').Element} Element
21706 * @typedef {import('hast').Properties} Properties
21707 * @typedef {import('mdast').Code} Code
21708 * @typedef {import('../state.js').State} State
21709
21710 */
21711
21712 /**
21713 * Turn an mdast `code` node into hast.
21714 *
21715 * @param {State} state
21716 * Info passed around.
21717 * @param {Code} node
21718 * mdast node.
21719 * @returns {Element}
21720 * hast node.
21721 */
21722 function code(state, node) {
21723 const value = node.value ? node.value + '\n' : ''
21724 // To do: next major, use `node.lang` w/o regex, the splitting’s been going
21725 // on for years in remark now.
21726 const lang = node.lang ? node.lang.match(/^[^ \t]+(?=[ \t]|$)/) : null
21727 /** @type {Properties} */
21728 const properties = {}
21729
21730 if (lang) {
21731 properties.className = ['language-' + lang]
21732 }
21733
21734 // Create `<code>`.
21735 /** @type {Element} */
21736 let result = {
21737 type: 'element',
21738 tagName: 'code',
21739 properties,
21740 children: [{type: 'text', value}]
21741 }
21742
21743 if (node.meta) {
21744 result.data = {meta: node.meta}
21745 }
21746
21747 state.patch(node, result)
21748 result = state.applyData(node, result)
21749
21750 // Create `<pre>`.
21751 result = {type: 'element', tagName: 'pre', properties: {}, children: [result]}
21752 state.patch(node, result)
21753 return result
21754 }
21755
21756
21757 /***/ }),
21758
21759 /***/ "../node_modules/mdast-util-to-hast/lib/handlers/delete.js":
21760 /*!*****************************************************************!*\
21761 !*** ../node_modules/mdast-util-to-hast/lib/handlers/delete.js ***!
21762 \*****************************************************************/
21763 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
21764
21765 "use strict";
21766 __webpack_require__.r(__webpack_exports__);
21767 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
21768 /* harmony export */ strikethrough: () => (/* binding */ strikethrough)
21769 /* harmony export */ });
21770 /**
21771 * @typedef {import('hast').Element} Element
21772 * @typedef {import('mdast').Delete} Delete
21773 * @typedef {import('../state.js').State} State
21774
21775 */
21776
21777 /**
21778 * Turn an mdast `delete` node into hast.
21779 *
21780 * @param {State} state
21781 * Info passed around.
21782 * @param {Delete} node
21783 * mdast node.
21784 * @returns {Element}
21785 * hast node.
21786 */
21787 function strikethrough(state, node) {
21788 /** @type {Element} */
21789 const result = {
21790 type: 'element',
21791 tagName: 'del',
21792 properties: {},
21793 children: state.all(node)
21794 }
21795 state.patch(node, result)
21796 return state.applyData(node, result)
21797 }
21798
21799
21800 /***/ }),
21801
21802 /***/ "../node_modules/mdast-util-to-hast/lib/handlers/emphasis.js":
21803 /*!*******************************************************************!*\
21804 !*** ../node_modules/mdast-util-to-hast/lib/handlers/emphasis.js ***!
21805 \*******************************************************************/
21806 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
21807
21808 "use strict";
21809 __webpack_require__.r(__webpack_exports__);
21810 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
21811 /* harmony export */ emphasis: () => (/* binding */ emphasis)
21812 /* harmony export */ });
21813 /**
21814 * @typedef {import('hast').Element} Element
21815 * @typedef {import('mdast').Emphasis} Emphasis
21816 * @typedef {import('../state.js').State} State
21817 */
21818
21819 /**
21820 * Turn an mdast `emphasis` node into hast.
21821 *
21822 * @param {State} state
21823 * Info passed around.
21824 * @param {Emphasis} node
21825 * mdast node.
21826 * @returns {Element}
21827 * hast node.
21828 */
21829 function emphasis(state, node) {
21830 /** @type {Element} */
21831 const result = {
21832 type: 'element',
21833 tagName: 'em',
21834 properties: {},
21835 children: state.all(node)
21836 }
21837 state.patch(node, result)
21838 return state.applyData(node, result)
21839 }
21840
21841
21842 /***/ }),
21843
21844 /***/ "../node_modules/mdast-util-to-hast/lib/handlers/footnote-reference.js":
21845 /*!*****************************************************************************!*\
21846 !*** ../node_modules/mdast-util-to-hast/lib/handlers/footnote-reference.js ***!
21847 \*****************************************************************************/
21848 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
21849
21850 "use strict";
21851 __webpack_require__.r(__webpack_exports__);
21852 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
21853 /* harmony export */ footnoteReference: () => (/* binding */ footnoteReference)
21854 /* harmony export */ });
21855 /* harmony import */ var micromark_util_sanitize_uri__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-util-sanitize-uri */ "../node_modules/micromark-util-sanitize-uri/dev/index.js");
21856 /**
21857 * @typedef {import('mdast').FootnoteReference} FootnoteReference
21858 * @typedef {import('hast').Element} Element
21859 * @typedef {import('../state.js').State} State
21860 */
21861
21862
21863
21864 /**
21865 * Turn an mdast `footnoteReference` node into hast.
21866 *
21867 * @param {State} state
21868 * Info passed around.
21869 * @param {FootnoteReference} node
21870 * mdast node.
21871 * @returns {Element}
21872 * hast node.
21873 */
21874 function footnoteReference(state, node) {
21875 const id = String(node.identifier).toUpperCase()
21876 const safeId = (0,micromark_util_sanitize_uri__WEBPACK_IMPORTED_MODULE_0__.normalizeUri)(id.toLowerCase())
21877 const index = state.footnoteOrder.indexOf(id)
21878 /** @type {number} */
21879 let counter
21880
21881 if (index === -1) {
21882 state.footnoteOrder.push(id)
21883 state.footnoteCounts[id] = 1
21884 counter = state.footnoteOrder.length
21885 } else {
21886 state.footnoteCounts[id]++
21887 counter = index + 1
21888 }
21889
21890 const reuseCounter = state.footnoteCounts[id]
21891
21892 /** @type {Element} */
21893 const link = {
21894 type: 'element',
21895 tagName: 'a',
21896 properties: {
21897 href: '#' + state.clobberPrefix + 'fn-' + safeId,
21898 id:
21899 state.clobberPrefix +
21900 'fnref-' +
21901 safeId +
21902 (reuseCounter > 1 ? '-' + reuseCounter : ''),
21903 dataFootnoteRef: true,
21904 ariaDescribedBy: ['footnote-label']
21905 },
21906 children: [{type: 'text', value: String(counter)}]
21907 }
21908 state.patch(node, link)
21909
21910 /** @type {Element} */
21911 const sup = {
21912 type: 'element',
21913 tagName: 'sup',
21914 properties: {},
21915 children: [link]
21916 }
21917 state.patch(node, sup)
21918 return state.applyData(node, sup)
21919 }
21920
21921
21922 /***/ }),
21923
21924 /***/ "../node_modules/mdast-util-to-hast/lib/handlers/footnote.js":
21925 /*!*******************************************************************!*\
21926 !*** ../node_modules/mdast-util-to-hast/lib/handlers/footnote.js ***!
21927 \*******************************************************************/
21928 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
21929
21930 "use strict";
21931 __webpack_require__.r(__webpack_exports__);
21932 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
21933 /* harmony export */ footnote: () => (/* binding */ footnote)
21934 /* harmony export */ });
21935 /* harmony import */ var _footnote_reference_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./footnote-reference.js */ "../node_modules/mdast-util-to-hast/lib/handlers/footnote-reference.js");
21936 /**
21937 * @typedef {import('hast').Element} Element
21938 * @typedef {import('mdast').Footnote} Footnote
21939 * @typedef {import('../state.js').State} State
21940 */
21941
21942
21943
21944 // To do: when both:
21945 // * <https://github.com/micromark/micromark-extension-footnote>
21946 // * <https://github.com/syntax-tree/mdast-util-footnote>
21947 // …are archived, remove this (also from mdast).
21948 // These inline notes are not used in GFM.
21949
21950 /**
21951 * Turn an mdast `footnote` node into hast.
21952 *
21953 * @param {State} state
21954 * Info passed around.
21955 * @param {Footnote} node
21956 * mdast node.
21957 * @returns {Element}
21958 * hast node.
21959 */
21960 function footnote(state, node) {
21961 const footnoteById = state.footnoteById
21962 let no = 1
21963
21964 while (no in footnoteById) no++
21965
21966 const identifier = String(no)
21967
21968 footnoteById[identifier] = {
21969 type: 'footnoteDefinition',
21970 identifier,
21971 children: [{type: 'paragraph', children: node.children}],
21972 position: node.position
21973 }
21974
21975 return (0,_footnote_reference_js__WEBPACK_IMPORTED_MODULE_0__.footnoteReference)(state, {
21976 type: 'footnoteReference',
21977 identifier,
21978 position: node.position
21979 })
21980 }
21981
21982
21983 /***/ }),
21984
21985 /***/ "../node_modules/mdast-util-to-hast/lib/handlers/heading.js":
21986 /*!******************************************************************!*\
21987 !*** ../node_modules/mdast-util-to-hast/lib/handlers/heading.js ***!
21988 \******************************************************************/
21989 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
21990
21991 "use strict";
21992 __webpack_require__.r(__webpack_exports__);
21993 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
21994 /* harmony export */ heading: () => (/* binding */ heading)
21995 /* harmony export */ });
21996 /**
21997 * @typedef {import('hast').Element} Element
21998 * @typedef {import('mdast').Heading} Heading
21999 * @typedef {import('../state.js').State} State
22000 */
22001
22002 /**
22003 * Turn an mdast `heading` node into hast.
22004 *
22005 * @param {State} state
22006 * Info passed around.
22007 * @param {Heading} node
22008 * mdast node.
22009 * @returns {Element}
22010 * hast node.
22011 */
22012 function heading(state, node) {
22013 /** @type {Element} */
22014 const result = {
22015 type: 'element',
22016 tagName: 'h' + node.depth,
22017 properties: {},
22018 children: state.all(node)
22019 }
22020 state.patch(node, result)
22021 return state.applyData(node, result)
22022 }
22023
22024
22025 /***/ }),
22026
22027 /***/ "../node_modules/mdast-util-to-hast/lib/handlers/html.js":
22028 /*!***************************************************************!*\
22029 !*** ../node_modules/mdast-util-to-hast/lib/handlers/html.js ***!
22030 \***************************************************************/
22031 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
22032
22033 "use strict";
22034 __webpack_require__.r(__webpack_exports__);
22035 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
22036 /* harmony export */ html: () => (/* binding */ html)
22037 /* harmony export */ });
22038 /**
22039 * @typedef {import('hast').Element} Element
22040 * @typedef {import('mdast').HTML} Html
22041 * @typedef {import('../state.js').State} State
22042 * @typedef {import('../../index.js').Raw} Raw
22043 */
22044
22045 /**
22046 * Turn an mdast `html` node into hast (`raw` node in dangerous mode, otherwise
22047 * nothing).
22048 *
22049 * @param {State} state
22050 * Info passed around.
22051 * @param {Html} node
22052 * mdast node.
22053 * @returns {Raw | Element | null}
22054 * hast node.
22055 */
22056 function html(state, node) {
22057 if (state.dangerous) {
22058 /** @type {Raw} */
22059 const result = {type: 'raw', value: node.value}
22060 state.patch(node, result)
22061 return state.applyData(node, result)
22062 }
22063
22064 // To do: next major: return `undefined`.
22065 return null
22066 }
22067
22068
22069 /***/ }),
22070
22071 /***/ "../node_modules/mdast-util-to-hast/lib/handlers/image-reference.js":
22072 /*!**************************************************************************!*\
22073 !*** ../node_modules/mdast-util-to-hast/lib/handlers/image-reference.js ***!
22074 \**************************************************************************/
22075 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
22076
22077 "use strict";
22078 __webpack_require__.r(__webpack_exports__);
22079 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
22080 /* harmony export */ imageReference: () => (/* binding */ imageReference)
22081 /* harmony export */ });
22082 /* harmony import */ var micromark_util_sanitize_uri__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-util-sanitize-uri */ "../node_modules/micromark-util-sanitize-uri/dev/index.js");
22083 /* harmony import */ var _revert_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../revert.js */ "../node_modules/mdast-util-to-hast/lib/revert.js");
22084 /**
22085 * @typedef {import('hast').ElementContent} ElementContent
22086 * @typedef {import('hast').Element} Element
22087 * @typedef {import('hast').Properties} Properties
22088 * @typedef {import('mdast').ImageReference} ImageReference
22089 * @typedef {import('../state.js').State} State
22090 */
22091
22092
22093
22094
22095 /**
22096 * Turn an mdast `imageReference` node into hast.
22097 *
22098 * @param {State} state
22099 * Info passed around.
22100 * @param {ImageReference} node
22101 * mdast node.
22102 * @returns {ElementContent | Array<ElementContent>}
22103 * hast node.
22104 */
22105 function imageReference(state, node) {
22106 const def = state.definition(node.identifier)
22107
22108 if (!def) {
22109 return (0,_revert_js__WEBPACK_IMPORTED_MODULE_0__.revert)(state, node)
22110 }
22111
22112 /** @type {Properties} */
22113 const properties = {src: (0,micromark_util_sanitize_uri__WEBPACK_IMPORTED_MODULE_1__.normalizeUri)(def.url || ''), alt: node.alt}
22114
22115 if (def.title !== null && def.title !== undefined) {
22116 properties.title = def.title
22117 }
22118
22119 /** @type {Element} */
22120 const result = {type: 'element', tagName: 'img', properties, children: []}
22121 state.patch(node, result)
22122 return state.applyData(node, result)
22123 }
22124
22125
22126 /***/ }),
22127
22128 /***/ "../node_modules/mdast-util-to-hast/lib/handlers/image.js":
22129 /*!****************************************************************!*\
22130 !*** ../node_modules/mdast-util-to-hast/lib/handlers/image.js ***!
22131 \****************************************************************/
22132 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
22133
22134 "use strict";
22135 __webpack_require__.r(__webpack_exports__);
22136 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
22137 /* harmony export */ image: () => (/* binding */ image)
22138 /* harmony export */ });
22139 /* harmony import */ var micromark_util_sanitize_uri__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-util-sanitize-uri */ "../node_modules/micromark-util-sanitize-uri/dev/index.js");
22140 /**
22141 * @typedef {import('hast').Element} Element
22142 * @typedef {import('hast').Properties} Properties
22143 * @typedef {import('mdast').Image} Image
22144 * @typedef {import('../state.js').State} State
22145 */
22146
22147
22148
22149 /**
22150 * Turn an mdast `image` node into hast.
22151 *
22152 * @param {State} state
22153 * Info passed around.
22154 * @param {Image} node
22155 * mdast node.
22156 * @returns {Element}
22157 * hast node.
22158 */
22159 function image(state, node) {
22160 /** @type {Properties} */
22161 const properties = {src: (0,micromark_util_sanitize_uri__WEBPACK_IMPORTED_MODULE_0__.normalizeUri)(node.url)}
22162
22163 if (node.alt !== null && node.alt !== undefined) {
22164 properties.alt = node.alt
22165 }
22166
22167 if (node.title !== null && node.title !== undefined) {
22168 properties.title = node.title
22169 }
22170
22171 /** @type {Element} */
22172 const result = {type: 'element', tagName: 'img', properties, children: []}
22173 state.patch(node, result)
22174 return state.applyData(node, result)
22175 }
22176
22177
22178 /***/ }),
22179
22180 /***/ "../node_modules/mdast-util-to-hast/lib/handlers/index.js":
22181 /*!****************************************************************!*\
22182 !*** ../node_modules/mdast-util-to-hast/lib/handlers/index.js ***!
22183 \****************************************************************/
22184 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
22185
22186 "use strict";
22187 __webpack_require__.r(__webpack_exports__);
22188 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
22189 /* harmony export */ handlers: () => (/* binding */ handlers)
22190 /* harmony export */ });
22191 /* harmony import */ var _blockquote_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./blockquote.js */ "../node_modules/mdast-util-to-hast/lib/handlers/blockquote.js");
22192 /* harmony import */ var _break_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./break.js */ "../node_modules/mdast-util-to-hast/lib/handlers/break.js");
22193 /* harmony import */ var _code_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./code.js */ "../node_modules/mdast-util-to-hast/lib/handlers/code.js");
22194 /* harmony import */ var _delete_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./delete.js */ "../node_modules/mdast-util-to-hast/lib/handlers/delete.js");
22195 /* harmony import */ var _emphasis_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./emphasis.js */ "../node_modules/mdast-util-to-hast/lib/handlers/emphasis.js");
22196 /* harmony import */ var _footnote_reference_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./footnote-reference.js */ "../node_modules/mdast-util-to-hast/lib/handlers/footnote-reference.js");
22197 /* harmony import */ var _footnote_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./footnote.js */ "../node_modules/mdast-util-to-hast/lib/handlers/footnote.js");
22198 /* harmony import */ var _heading_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./heading.js */ "../node_modules/mdast-util-to-hast/lib/handlers/heading.js");
22199 /* harmony import */ var _html_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./html.js */ "../node_modules/mdast-util-to-hast/lib/handlers/html.js");
22200 /* harmony import */ var _image_reference_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./image-reference.js */ "../node_modules/mdast-util-to-hast/lib/handlers/image-reference.js");
22201 /* harmony import */ var _image_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./image.js */ "../node_modules/mdast-util-to-hast/lib/handlers/image.js");
22202 /* harmony import */ var _inline_code_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./inline-code.js */ "../node_modules/mdast-util-to-hast/lib/handlers/inline-code.js");
22203 /* harmony import */ var _link_reference_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./link-reference.js */ "../node_modules/mdast-util-to-hast/lib/handlers/link-reference.js");
22204 /* harmony import */ var _link_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./link.js */ "../node_modules/mdast-util-to-hast/lib/handlers/link.js");
22205 /* harmony import */ var _list_item_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./list-item.js */ "../node_modules/mdast-util-to-hast/lib/handlers/list-item.js");
22206 /* harmony import */ var _list_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./list.js */ "../node_modules/mdast-util-to-hast/lib/handlers/list.js");
22207 /* harmony import */ var _paragraph_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./paragraph.js */ "../node_modules/mdast-util-to-hast/lib/handlers/paragraph.js");
22208 /* harmony import */ var _root_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./root.js */ "../node_modules/mdast-util-to-hast/lib/handlers/root.js");
22209 /* harmony import */ var _strong_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./strong.js */ "../node_modules/mdast-util-to-hast/lib/handlers/strong.js");
22210 /* harmony import */ var _table_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./table.js */ "../node_modules/mdast-util-to-hast/lib/handlers/table.js");
22211 /* harmony import */ var _table_row_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./table-row.js */ "../node_modules/mdast-util-to-hast/lib/handlers/table-row.js");
22212 /* harmony import */ var _table_cell_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./table-cell.js */ "../node_modules/mdast-util-to-hast/lib/handlers/table-cell.js");
22213 /* harmony import */ var _text_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./text.js */ "../node_modules/mdast-util-to-hast/lib/handlers/text.js");
22214 /* harmony import */ var _thematic_break_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./thematic-break.js */ "../node_modules/mdast-util-to-hast/lib/handlers/thematic-break.js");
22215
22216
22217
22218
22219
22220
22221
22222
22223
22224
22225
22226
22227
22228
22229
22230
22231
22232
22233
22234
22235
22236
22237
22238
22239
22240 /**
22241 * Default handlers for nodes.
22242 */
22243 const handlers = {
22244 blockquote: _blockquote_js__WEBPACK_IMPORTED_MODULE_0__.blockquote,
22245 break: _break_js__WEBPACK_IMPORTED_MODULE_1__.hardBreak,
22246 code: _code_js__WEBPACK_IMPORTED_MODULE_2__.code,
22247 delete: _delete_js__WEBPACK_IMPORTED_MODULE_3__.strikethrough,
22248 emphasis: _emphasis_js__WEBPACK_IMPORTED_MODULE_4__.emphasis,
22249 footnoteReference: _footnote_reference_js__WEBPACK_IMPORTED_MODULE_5__.footnoteReference,
22250 footnote: _footnote_js__WEBPACK_IMPORTED_MODULE_6__.footnote,
22251 heading: _heading_js__WEBPACK_IMPORTED_MODULE_7__.heading,
22252 html: _html_js__WEBPACK_IMPORTED_MODULE_8__.html,
22253 imageReference: _image_reference_js__WEBPACK_IMPORTED_MODULE_9__.imageReference,
22254 image: _image_js__WEBPACK_IMPORTED_MODULE_10__.image,
22255 inlineCode: _inline_code_js__WEBPACK_IMPORTED_MODULE_11__.inlineCode,
22256 linkReference: _link_reference_js__WEBPACK_IMPORTED_MODULE_12__.linkReference,
22257 link: _link_js__WEBPACK_IMPORTED_MODULE_13__.link,
22258 listItem: _list_item_js__WEBPACK_IMPORTED_MODULE_14__.listItem,
22259 list: _list_js__WEBPACK_IMPORTED_MODULE_15__.list,
22260 paragraph: _paragraph_js__WEBPACK_IMPORTED_MODULE_16__.paragraph,
22261 root: _root_js__WEBPACK_IMPORTED_MODULE_17__.root,
22262 strong: _strong_js__WEBPACK_IMPORTED_MODULE_18__.strong,
22263 table: _table_js__WEBPACK_IMPORTED_MODULE_19__.table,
22264 tableCell: _table_cell_js__WEBPACK_IMPORTED_MODULE_20__.tableCell,
22265 tableRow: _table_row_js__WEBPACK_IMPORTED_MODULE_21__.tableRow,
22266 text: _text_js__WEBPACK_IMPORTED_MODULE_22__.text,
22267 thematicBreak: _thematic_break_js__WEBPACK_IMPORTED_MODULE_23__.thematicBreak,
22268 toml: ignore,
22269 yaml: ignore,
22270 definition: ignore,
22271 footnoteDefinition: ignore
22272 }
22273
22274 // Return nothing for nodes that are ignored.
22275 function ignore() {
22276 // To do: next major: return `undefined`.
22277 return null
22278 }
22279
22280
22281 /***/ }),
22282
22283 /***/ "../node_modules/mdast-util-to-hast/lib/handlers/inline-code.js":
22284 /*!**********************************************************************!*\
22285 !*** ../node_modules/mdast-util-to-hast/lib/handlers/inline-code.js ***!
22286 \**********************************************************************/
22287 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
22288
22289 "use strict";
22290 __webpack_require__.r(__webpack_exports__);
22291 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
22292 /* harmony export */ inlineCode: () => (/* binding */ inlineCode)
22293 /* harmony export */ });
22294 /**
22295 * @typedef {import('hast').Element} Element
22296 * @typedef {import('hast').Text} Text
22297 * @typedef {import('mdast').InlineCode} InlineCode
22298 * @typedef {import('../state.js').State} State
22299 */
22300
22301 /**
22302 * Turn an mdast `inlineCode` node into hast.
22303 *
22304 * @param {State} state
22305 * Info passed around.
22306 * @param {InlineCode} node
22307 * mdast node.
22308 * @returns {Element}
22309 * hast node.
22310 */
22311 function inlineCode(state, node) {
22312 /** @type {Text} */
22313 const text = {type: 'text', value: node.value.replace(/\r?\n|\r/g, ' ')}
22314 state.patch(node, text)
22315
22316 /** @type {Element} */
22317 const result = {
22318 type: 'element',
22319 tagName: 'code',
22320 properties: {},
22321 children: [text]
22322 }
22323 state.patch(node, result)
22324 return state.applyData(node, result)
22325 }
22326
22327
22328 /***/ }),
22329
22330 /***/ "../node_modules/mdast-util-to-hast/lib/handlers/link-reference.js":
22331 /*!*************************************************************************!*\
22332 !*** ../node_modules/mdast-util-to-hast/lib/handlers/link-reference.js ***!
22333 \*************************************************************************/
22334 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
22335
22336 "use strict";
22337 __webpack_require__.r(__webpack_exports__);
22338 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
22339 /* harmony export */ linkReference: () => (/* binding */ linkReference)
22340 /* harmony export */ });
22341 /* harmony import */ var micromark_util_sanitize_uri__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-util-sanitize-uri */ "../node_modules/micromark-util-sanitize-uri/dev/index.js");
22342 /* harmony import */ var _revert_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../revert.js */ "../node_modules/mdast-util-to-hast/lib/revert.js");
22343 /**
22344 * @typedef {import('hast').Element} Element
22345 * @typedef {import('hast').ElementContent} ElementContent
22346 * @typedef {import('hast').Properties} Properties
22347 * @typedef {import('mdast').LinkReference} LinkReference
22348 * @typedef {import('../state.js').State} State
22349 */
22350
22351
22352
22353
22354 /**
22355 * Turn an mdast `linkReference` node into hast.
22356 *
22357 * @param {State} state
22358 * Info passed around.
22359 * @param {LinkReference} node
22360 * mdast node.
22361 * @returns {ElementContent | Array<ElementContent>}
22362 * hast node.
22363 */
22364 function linkReference(state, node) {
22365 const def = state.definition(node.identifier)
22366
22367 if (!def) {
22368 return (0,_revert_js__WEBPACK_IMPORTED_MODULE_0__.revert)(state, node)
22369 }
22370
22371 /** @type {Properties} */
22372 const properties = {href: (0,micromark_util_sanitize_uri__WEBPACK_IMPORTED_MODULE_1__.normalizeUri)(def.url || '')}
22373
22374 if (def.title !== null && def.title !== undefined) {
22375 properties.title = def.title
22376 }
22377
22378 /** @type {Element} */
22379 const result = {
22380 type: 'element',
22381 tagName: 'a',
22382 properties,
22383 children: state.all(node)
22384 }
22385 state.patch(node, result)
22386 return state.applyData(node, result)
22387 }
22388
22389
22390 /***/ }),
22391
22392 /***/ "../node_modules/mdast-util-to-hast/lib/handlers/link.js":
22393 /*!***************************************************************!*\
22394 !*** ../node_modules/mdast-util-to-hast/lib/handlers/link.js ***!
22395 \***************************************************************/
22396 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
22397
22398 "use strict";
22399 __webpack_require__.r(__webpack_exports__);
22400 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
22401 /* harmony export */ link: () => (/* binding */ link)
22402 /* harmony export */ });
22403 /* harmony import */ var micromark_util_sanitize_uri__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-util-sanitize-uri */ "../node_modules/micromark-util-sanitize-uri/dev/index.js");
22404 /**
22405 * @typedef {import('hast').Element} Element
22406 * @typedef {import('hast').Properties} Properties
22407 * @typedef {import('mdast').Link} Link
22408 * @typedef {import('../state.js').State} State
22409 */
22410
22411
22412
22413 /**
22414 * Turn an mdast `link` node into hast.
22415 *
22416 * @param {State} state
22417 * Info passed around.
22418 * @param {Link} node
22419 * mdast node.
22420 * @returns {Element}
22421 * hast node.
22422 */
22423 function link(state, node) {
22424 /** @type {Properties} */
22425 const properties = {href: (0,micromark_util_sanitize_uri__WEBPACK_IMPORTED_MODULE_0__.normalizeUri)(node.url)}
22426
22427 if (node.title !== null && node.title !== undefined) {
22428 properties.title = node.title
22429 }
22430
22431 /** @type {Element} */
22432 const result = {
22433 type: 'element',
22434 tagName: 'a',
22435 properties,
22436 children: state.all(node)
22437 }
22438 state.patch(node, result)
22439 return state.applyData(node, result)
22440 }
22441
22442
22443 /***/ }),
22444
22445 /***/ "../node_modules/mdast-util-to-hast/lib/handlers/list-item.js":
22446 /*!********************************************************************!*\
22447 !*** ../node_modules/mdast-util-to-hast/lib/handlers/list-item.js ***!
22448 \********************************************************************/
22449 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
22450
22451 "use strict";
22452 __webpack_require__.r(__webpack_exports__);
22453 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
22454 /* harmony export */ listItem: () => (/* binding */ listItem)
22455 /* harmony export */ });
22456 /**
22457 * @typedef {import('hast').Element} Element
22458 * @typedef {import('hast').ElementContent} ElementContent
22459 * @typedef {import('hast').Properties} Properties
22460 * @typedef {import('mdast').Content} Content
22461 * @typedef {import('mdast').ListItem} ListItem
22462 * @typedef {import('mdast').Parent} Parent
22463 * @typedef {import('mdast').Root} Root
22464 * @typedef {import('../state.js').State} State
22465 */
22466
22467 /**
22468 * @typedef {Root | Content} Nodes
22469 * @typedef {Extract<Nodes, Parent>} Parents
22470 */
22471
22472 /**
22473 * Turn an mdast `listItem` node into hast.
22474 *
22475 * @param {State} state
22476 * Info passed around.
22477 * @param {ListItem} node
22478 * mdast node.
22479 * @param {Parents | null | undefined} parent
22480 * Parent of `node`.
22481 * @returns {Element}
22482 * hast node.
22483 */
22484 function listItem(state, node, parent) {
22485 const results = state.all(node)
22486 const loose = parent ? listLoose(parent) : listItemLoose(node)
22487 /** @type {Properties} */
22488 const properties = {}
22489 /** @type {Array<ElementContent>} */
22490 const children = []
22491
22492 if (typeof node.checked === 'boolean') {
22493 const head = results[0]
22494 /** @type {Element} */
22495 let paragraph
22496
22497 if (head && head.type === 'element' && head.tagName === 'p') {
22498 paragraph = head
22499 } else {
22500 paragraph = {type: 'element', tagName: 'p', properties: {}, children: []}
22501 results.unshift(paragraph)
22502 }
22503
22504 if (paragraph.children.length > 0) {
22505 paragraph.children.unshift({type: 'text', value: ' '})
22506 }
22507
22508 paragraph.children.unshift({
22509 type: 'element',
22510 tagName: 'input',
22511 properties: {type: 'checkbox', checked: node.checked, disabled: true},
22512 children: []
22513 })
22514
22515 // According to github-markdown-css, this class hides bullet.
22516 // See: <https://github.com/sindresorhus/github-markdown-css>.
22517 properties.className = ['task-list-item']
22518 }
22519
22520 let index = -1
22521
22522 while (++index < results.length) {
22523 const child = results[index]
22524
22525 // Add eols before nodes, except if this is a loose, first paragraph.
22526 if (
22527 loose ||
22528 index !== 0 ||
22529 child.type !== 'element' ||
22530 child.tagName !== 'p'
22531 ) {
22532 children.push({type: 'text', value: '\n'})
22533 }
22534
22535 if (child.type === 'element' && child.tagName === 'p' && !loose) {
22536 children.push(...child.children)
22537 } else {
22538 children.push(child)
22539 }
22540 }
22541
22542 const tail = results[results.length - 1]
22543
22544 // Add a final eol.
22545 if (tail && (loose || tail.type !== 'element' || tail.tagName !== 'p')) {
22546 children.push({type: 'text', value: '\n'})
22547 }
22548
22549 /** @type {Element} */
22550 const result = {type: 'element', tagName: 'li', properties, children}
22551 state.patch(node, result)
22552 return state.applyData(node, result)
22553 }
22554
22555 /**
22556 * @param {Parents} node
22557 * @return {Boolean}
22558 */
22559 function listLoose(node) {
22560 let loose = false
22561 if (node.type === 'list') {
22562 loose = node.spread || false
22563 const children = node.children
22564 let index = -1
22565
22566 while (!loose && ++index < children.length) {
22567 loose = listItemLoose(children[index])
22568 }
22569 }
22570
22571 return loose
22572 }
22573
22574 /**
22575 * @param {ListItem} node
22576 * @return {Boolean}
22577 */
22578 function listItemLoose(node) {
22579 const spread = node.spread
22580
22581 return spread === undefined || spread === null
22582 ? node.children.length > 1
22583 : spread
22584 }
22585
22586
22587 /***/ }),
22588
22589 /***/ "../node_modules/mdast-util-to-hast/lib/handlers/list.js":
22590 /*!***************************************************************!*\
22591 !*** ../node_modules/mdast-util-to-hast/lib/handlers/list.js ***!
22592 \***************************************************************/
22593 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
22594
22595 "use strict";
22596 __webpack_require__.r(__webpack_exports__);
22597 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
22598 /* harmony export */ list: () => (/* binding */ list)
22599 /* harmony export */ });
22600 /**
22601 * @typedef {import('hast').Element} Element
22602 * @typedef {import('hast').Properties} Properties
22603 * @typedef {import('mdast').List} List
22604 * @typedef {import('../state.js').State} State
22605 */
22606
22607 /**
22608 * Turn an mdast `list` node into hast.
22609 *
22610 * @param {State} state
22611 * Info passed around.
22612 * @param {List} node
22613 * mdast node.
22614 * @returns {Element}
22615 * hast node.
22616 */
22617 function list(state, node) {
22618 /** @type {Properties} */
22619 const properties = {}
22620 const results = state.all(node)
22621 let index = -1
22622
22623 if (typeof node.start === 'number' && node.start !== 1) {
22624 properties.start = node.start
22625 }
22626
22627 // Like GitHub, add a class for custom styling.
22628 while (++index < results.length) {
22629 const child = results[index]
22630
22631 if (
22632 child.type === 'element' &&
22633 child.tagName === 'li' &&
22634 child.properties &&
22635 Array.isArray(child.properties.className) &&
22636 child.properties.className.includes('task-list-item')
22637 ) {
22638 properties.className = ['contains-task-list']
22639 break
22640 }
22641 }
22642
22643 /** @type {Element} */
22644 const result = {
22645 type: 'element',
22646 tagName: node.ordered ? 'ol' : 'ul',
22647 properties,
22648 children: state.wrap(results, true)
22649 }
22650 state.patch(node, result)
22651 return state.applyData(node, result)
22652 }
22653
22654
22655 /***/ }),
22656
22657 /***/ "../node_modules/mdast-util-to-hast/lib/handlers/paragraph.js":
22658 /*!********************************************************************!*\
22659 !*** ../node_modules/mdast-util-to-hast/lib/handlers/paragraph.js ***!
22660 \********************************************************************/
22661 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
22662
22663 "use strict";
22664 __webpack_require__.r(__webpack_exports__);
22665 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
22666 /* harmony export */ paragraph: () => (/* binding */ paragraph)
22667 /* harmony export */ });
22668 /**
22669 * @typedef {import('hast').Element} Element
22670 * @typedef {import('mdast').Paragraph} Paragraph
22671 * @typedef {import('../state.js').State} State
22672 */
22673
22674 /**
22675 * Turn an mdast `paragraph` node into hast.
22676 *
22677 * @param {State} state
22678 * Info passed around.
22679 * @param {Paragraph} node
22680 * mdast node.
22681 * @returns {Element}
22682 * hast node.
22683 */
22684 function paragraph(state, node) {
22685 /** @type {Element} */
22686 const result = {
22687 type: 'element',
22688 tagName: 'p',
22689 properties: {},
22690 children: state.all(node)
22691 }
22692 state.patch(node, result)
22693 return state.applyData(node, result)
22694 }
22695
22696
22697 /***/ }),
22698
22699 /***/ "../node_modules/mdast-util-to-hast/lib/handlers/root.js":
22700 /*!***************************************************************!*\
22701 !*** ../node_modules/mdast-util-to-hast/lib/handlers/root.js ***!
22702 \***************************************************************/
22703 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
22704
22705 "use strict";
22706 __webpack_require__.r(__webpack_exports__);
22707 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
22708 /* harmony export */ root: () => (/* binding */ root)
22709 /* harmony export */ });
22710 /**
22711 * @typedef {import('hast').Root} HastRoot
22712 * @typedef {import('hast').Element} HastElement
22713 * @typedef {import('mdast').Root} MdastRoot
22714 * @typedef {import('../state.js').State} State
22715 */
22716
22717 /**
22718 * Turn an mdast `root` node into hast.
22719 *
22720 * @param {State} state
22721 * Info passed around.
22722 * @param {MdastRoot} node
22723 * mdast node.
22724 * @returns {HastRoot | HastElement}
22725 * hast node.
22726 */
22727 function root(state, node) {
22728 /** @type {HastRoot} */
22729 const result = {type: 'root', children: state.wrap(state.all(node))}
22730 state.patch(node, result)
22731 return state.applyData(node, result)
22732 }
22733
22734
22735 /***/ }),
22736
22737 /***/ "../node_modules/mdast-util-to-hast/lib/handlers/strong.js":
22738 /*!*****************************************************************!*\
22739 !*** ../node_modules/mdast-util-to-hast/lib/handlers/strong.js ***!
22740 \*****************************************************************/
22741 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
22742
22743 "use strict";
22744 __webpack_require__.r(__webpack_exports__);
22745 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
22746 /* harmony export */ strong: () => (/* binding */ strong)
22747 /* harmony export */ });
22748 /**
22749 * @typedef {import('hast').Element} Element
22750 * @typedef {import('mdast').Strong} Strong
22751 * @typedef {import('../state.js').State} State
22752 */
22753
22754 /**
22755 * Turn an mdast `strong` node into hast.
22756 *
22757 * @param {State} state
22758 * Info passed around.
22759 * @param {Strong} node
22760 * mdast node.
22761 * @returns {Element}
22762 * hast node.
22763 */
22764 function strong(state, node) {
22765 /** @type {Element} */
22766 const result = {
22767 type: 'element',
22768 tagName: 'strong',
22769 properties: {},
22770 children: state.all(node)
22771 }
22772 state.patch(node, result)
22773 return state.applyData(node, result)
22774 }
22775
22776
22777 /***/ }),
22778
22779 /***/ "../node_modules/mdast-util-to-hast/lib/handlers/table-cell.js":
22780 /*!*********************************************************************!*\
22781 !*** ../node_modules/mdast-util-to-hast/lib/handlers/table-cell.js ***!
22782 \*********************************************************************/
22783 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
22784
22785 "use strict";
22786 __webpack_require__.r(__webpack_exports__);
22787 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
22788 /* harmony export */ tableCell: () => (/* binding */ tableCell)
22789 /* harmony export */ });
22790 /**
22791 * @typedef {import('hast').Element} Element
22792 * @typedef {import('mdast').TableCell} TableCell
22793 * @typedef {import('../state.js').State} State
22794 */
22795
22796 /**
22797 * Turn an mdast `tableCell` node into hast.
22798 *
22799 * @param {State} state
22800 * Info passed around.
22801 * @param {TableCell} node
22802 * mdast node.
22803 * @returns {Element}
22804 * hast node.
22805 */
22806 function tableCell(state, node) {
22807 // Note: this function is normally not called: see `table-row` for how rows
22808 // and their cells are compiled.
22809 /** @type {Element} */
22810 const result = {
22811 type: 'element',
22812 tagName: 'td', // Assume body cell.
22813 properties: {},
22814 children: state.all(node)
22815 }
22816 state.patch(node, result)
22817 return state.applyData(node, result)
22818 }
22819
22820
22821 /***/ }),
22822
22823 /***/ "../node_modules/mdast-util-to-hast/lib/handlers/table-row.js":
22824 /*!********************************************************************!*\
22825 !*** ../node_modules/mdast-util-to-hast/lib/handlers/table-row.js ***!
22826 \********************************************************************/
22827 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
22828
22829 "use strict";
22830 __webpack_require__.r(__webpack_exports__);
22831 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
22832 /* harmony export */ tableRow: () => (/* binding */ tableRow)
22833 /* harmony export */ });
22834 /**
22835 * @typedef {import('hast').Properties} Properties
22836 * @typedef {import('hast').Element} Element
22837 * @typedef {import('hast').ElementContent} ElementContent
22838 * @typedef {import('mdast').Content} Content
22839 * @typedef {import('mdast').Parent} Parent
22840 * @typedef {import('mdast').Root} Root
22841 * @typedef {import('mdast').TableRow} TableRow
22842 * @typedef {import('../state.js').State} State
22843 */
22844
22845 /**
22846 * @typedef {Root | Content} Nodes
22847 * @typedef {Extract<Nodes, Parent>} Parents
22848 */
22849
22850 /**
22851 * Turn an mdast `tableRow` node into hast.
22852 *
22853 * @param {State} state
22854 * Info passed around.
22855 * @param {TableRow} node
22856 * mdast node.
22857 * @param {Parents | null | undefined} parent
22858 * Parent of `node`.
22859 * @returns {Element}
22860 * hast node.
22861 */
22862 function tableRow(state, node, parent) {
22863 const siblings = parent ? parent.children : undefined
22864 // Generate a body row when without parent.
22865 const rowIndex = siblings ? siblings.indexOf(node) : 1
22866 const tagName = rowIndex === 0 ? 'th' : 'td'
22867 const align = parent && parent.type === 'table' ? parent.align : undefined
22868 const length = align ? align.length : node.children.length
22869 let cellIndex = -1
22870 /** @type {Array<ElementContent>} */
22871 const cells = []
22872
22873 while (++cellIndex < length) {
22874 // Note: can also be undefined.
22875 const cell = node.children[cellIndex]
22876 /** @type {Properties} */
22877 const properties = {}
22878 const alignValue = align ? align[cellIndex] : undefined
22879
22880 if (alignValue) {
22881 properties.align = alignValue
22882 }
22883
22884 /** @type {Element} */
22885 let result = {type: 'element', tagName, properties, children: []}
22886
22887 if (cell) {
22888 result.children = state.all(cell)
22889 state.patch(cell, result)
22890 result = state.applyData(node, result)
22891 }
22892
22893 cells.push(result)
22894 }
22895
22896 /** @type {Element} */
22897 const result = {
22898 type: 'element',
22899 tagName: 'tr',
22900 properties: {},
22901 children: state.wrap(cells, true)
22902 }
22903 state.patch(node, result)
22904 return state.applyData(node, result)
22905 }
22906
22907
22908 /***/ }),
22909
22910 /***/ "../node_modules/mdast-util-to-hast/lib/handlers/table.js":
22911 /*!****************************************************************!*\
22912 !*** ../node_modules/mdast-util-to-hast/lib/handlers/table.js ***!
22913 \****************************************************************/
22914 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
22915
22916 "use strict";
22917 __webpack_require__.r(__webpack_exports__);
22918 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
22919 /* harmony export */ table: () => (/* binding */ table)
22920 /* harmony export */ });
22921 /* harmony import */ var unist_util_position__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! unist-util-position */ "../node_modules/unist-util-position/lib/index.js");
22922 /**
22923 * @typedef {import('hast').Element} Element
22924 * @typedef {import('mdast').Table} Table
22925 * @typedef {import('../state.js').State} State
22926 */
22927
22928
22929
22930 /**
22931 * Turn an mdast `table` node into hast.
22932 *
22933 * @param {State} state
22934 * Info passed around.
22935 * @param {Table} node
22936 * mdast node.
22937 * @returns {Element}
22938 * hast node.
22939 */
22940 function table(state, node) {
22941 const rows = state.all(node)
22942 const firstRow = rows.shift()
22943 /** @type {Array<Element>} */
22944 const tableContent = []
22945
22946 if (firstRow) {
22947 /** @type {Element} */
22948 const head = {
22949 type: 'element',
22950 tagName: 'thead',
22951 properties: {},
22952 children: state.wrap([firstRow], true)
22953 }
22954 state.patch(node.children[0], head)
22955 tableContent.push(head)
22956 }
22957
22958 if (rows.length > 0) {
22959 /** @type {Element} */
22960 const body = {
22961 type: 'element',
22962 tagName: 'tbody',
22963 properties: {},
22964 children: state.wrap(rows, true)
22965 }
22966
22967 const start = (0,unist_util_position__WEBPACK_IMPORTED_MODULE_0__.pointStart)(node.children[1])
22968 const end = (0,unist_util_position__WEBPACK_IMPORTED_MODULE_0__.pointEnd)(node.children[node.children.length - 1])
22969 if (start.line && end.line) body.position = {start, end}
22970 tableContent.push(body)
22971 }
22972
22973 /** @type {Element} */
22974 const result = {
22975 type: 'element',
22976 tagName: 'table',
22977 properties: {},
22978 children: state.wrap(tableContent, true)
22979 }
22980 state.patch(node, result)
22981 return state.applyData(node, result)
22982 }
22983
22984
22985 /***/ }),
22986
22987 /***/ "../node_modules/mdast-util-to-hast/lib/handlers/text.js":
22988 /*!***************************************************************!*\
22989 !*** ../node_modules/mdast-util-to-hast/lib/handlers/text.js ***!
22990 \***************************************************************/
22991 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
22992
22993 "use strict";
22994 __webpack_require__.r(__webpack_exports__);
22995 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
22996 /* harmony export */ text: () => (/* binding */ text)
22997 /* harmony export */ });
22998 /* harmony import */ var trim_lines__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! trim-lines */ "../node_modules/trim-lines/index.js");
22999 /**
23000 * @typedef {import('hast').Element} HastElement
23001 * @typedef {import('hast').Text} HastText
23002 * @typedef {import('mdast').Text} MdastText
23003 * @typedef {import('../state.js').State} State
23004 */
23005
23006
23007
23008 /**
23009 * Turn an mdast `text` node into hast.
23010 *
23011 * @param {State} state
23012 * Info passed around.
23013 * @param {MdastText} node
23014 * mdast node.
23015 * @returns {HastText | HastElement}
23016 * hast node.
23017 */
23018 function text(state, node) {
23019 /** @type {HastText} */
23020 const result = {type: 'text', value: (0,trim_lines__WEBPACK_IMPORTED_MODULE_0__.trimLines)(String(node.value))}
23021 state.patch(node, result)
23022 return state.applyData(node, result)
23023 }
23024
23025
23026 /***/ }),
23027
23028 /***/ "../node_modules/mdast-util-to-hast/lib/handlers/thematic-break.js":
23029 /*!*************************************************************************!*\
23030 !*** ../node_modules/mdast-util-to-hast/lib/handlers/thematic-break.js ***!
23031 \*************************************************************************/
23032 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
23033
23034 "use strict";
23035 __webpack_require__.r(__webpack_exports__);
23036 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
23037 /* harmony export */ thematicBreak: () => (/* binding */ thematicBreak)
23038 /* harmony export */ });
23039 /**
23040 * @typedef {import('hast').Element} Element
23041 * @typedef {import('mdast').ThematicBreak} ThematicBreak
23042 * @typedef {import('../state.js').State} State
23043 */
23044
23045 /**
23046 * Turn an mdast `thematicBreak` node into hast.
23047 *
23048 * @param {State} state
23049 * Info passed around.
23050 * @param {ThematicBreak} node
23051 * mdast node.
23052 * @returns {Element}
23053 * hast node.
23054 */
23055 function thematicBreak(state, node) {
23056 /** @type {Element} */
23057 const result = {
23058 type: 'element',
23059 tagName: 'hr',
23060 properties: {},
23061 children: []
23062 }
23063 state.patch(node, result)
23064 return state.applyData(node, result)
23065 }
23066
23067
23068 /***/ }),
23069
23070 /***/ "../node_modules/mdast-util-to-hast/lib/index.js":
23071 /*!*******************************************************!*\
23072 !*** ../node_modules/mdast-util-to-hast/lib/index.js ***!
23073 \*******************************************************/
23074 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
23075
23076 "use strict";
23077 __webpack_require__.r(__webpack_exports__);
23078 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
23079 /* harmony export */ toHast: () => (/* binding */ toHast)
23080 /* harmony export */ });
23081 /* harmony import */ var _footer_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./footer.js */ "../node_modules/mdast-util-to-hast/lib/footer.js");
23082 /* harmony import */ var _state_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./state.js */ "../node_modules/mdast-util-to-hast/lib/state.js");
23083 /**
23084 * @typedef {import('hast').Content} HastContent
23085 * @typedef {import('hast').Root} HastRoot
23086 *
23087 * @typedef {import('mdast').Content} MdastContent
23088 * @typedef {import('mdast').Root} MdastRoot
23089 *
23090 * @typedef {import('./state.js').Options} Options
23091 */
23092
23093 /**
23094 * @typedef {HastRoot | HastContent} HastNodes
23095 * @typedef {MdastRoot | MdastContent} MdastNodes
23096 */
23097
23098
23099
23100
23101 /**
23102 * Transform mdast to hast.
23103 *
23104 * ##### Notes
23105 *
23106 * ###### HTML
23107 *
23108 * Raw HTML is available in mdast as `html` nodes and can be embedded in hast
23109 * as semistandard `raw` nodes.
23110 * Most utilities ignore `raw` nodes but two notable ones don’t:
23111 *
23112 * * `hast-util-to-html` also has an option `allowDangerousHtml` which will
23113 * output the raw HTML.
23114 * This is typically discouraged as noted by the option name but is useful
23115 * if you completely trust authors
23116 * * `hast-util-raw` can handle the raw embedded HTML strings by parsing them
23117 * into standard hast nodes (`element`, `text`, etc).
23118 * This is a heavy task as it needs a full HTML parser, but it is the only
23119 * way to support untrusted content
23120 *
23121 * ###### Footnotes
23122 *
23123 * Many options supported here relate to footnotes.
23124 * Footnotes are not specified by CommonMark, which we follow by default.
23125 * They are supported by GitHub, so footnotes can be enabled in markdown with
23126 * `mdast-util-gfm`.
23127 *
23128 * The options `footnoteBackLabel` and `footnoteLabel` define natural language
23129 * that explains footnotes, which is hidden for sighted users but shown to
23130 * assistive technology.
23131 * When your page is not in English, you must define translated values.
23132 *
23133 * Back references use ARIA attributes, but the section label itself uses a
23134 * heading that is hidden with an `sr-only` class.
23135 * To show it to sighted users, define different attributes in
23136 * `footnoteLabelProperties`.
23137 *
23138 * ###### Clobbering
23139 *
23140 * Footnotes introduces a problem, as it links footnote calls to footnote
23141 * definitions on the page through `id` attributes generated from user content,
23142 * which results in DOM clobbering.
23143 *
23144 * DOM clobbering is this:
23145 *
23146 * ```html
23147 * <p id=x></p>
23148 * <script>alert(x) // `x` now refers to the DOM `p#x` element</script>
23149 * ```
23150 *
23151 * Elements by their ID are made available by browsers on the `window` object,
23152 * which is a security risk.
23153 * Using a prefix solves this problem.
23154 *
23155 * More information on how to handle clobbering and the prefix is explained in
23156 * Example: headings (DOM clobbering) in `rehype-sanitize`.
23157 *
23158 * ###### Unknown nodes
23159 *
23160 * Unknown nodes are nodes with a type that isn’t in `handlers` or `passThrough`.
23161 * The default behavior for unknown nodes is:
23162 *
23163 * * when the node has a `value` (and doesn’t have `data.hName`,
23164 * `data.hProperties`, or `data.hChildren`, see later), create a hast `text`
23165 * node
23166 * * otherwise, create a `<div>` element (which could be changed with
23167 * `data.hName`), with its children mapped from mdast to hast as well
23168 *
23169 * This behavior can be changed by passing an `unknownHandler`.
23170 *
23171 * @param {MdastNodes} tree
23172 * mdast tree.
23173 * @param {Options | null | undefined} [options]
23174 * Configuration.
23175 * @returns {HastNodes | null | undefined}
23176 * hast tree.
23177 */
23178 // To do: next major: always return a single `root`.
23179 function toHast(tree, options) {
23180 const state = (0,_state_js__WEBPACK_IMPORTED_MODULE_0__.createState)(tree, options)
23181 const node = state.one(tree, null)
23182 const foot = (0,_footer_js__WEBPACK_IMPORTED_MODULE_1__.footer)(state)
23183
23184 if (foot) {
23185 // @ts-expect-error If there’s a footer, there were definitions, meaning block
23186 // content.
23187 // So assume `node` is a parent node.
23188 node.children.push({type: 'text', value: '\n'}, foot)
23189 }
23190
23191 // To do: next major: always return root?
23192 return Array.isArray(node) ? {type: 'root', children: node} : node
23193 }
23194
23195
23196 /***/ }),
23197
23198 /***/ "../node_modules/mdast-util-to-hast/lib/revert.js":
23199 /*!********************************************************!*\
23200 !*** ../node_modules/mdast-util-to-hast/lib/revert.js ***!
23201 \********************************************************/
23202 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
23203
23204 "use strict";
23205 __webpack_require__.r(__webpack_exports__);
23206 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
23207 /* harmony export */ revert: () => (/* binding */ revert)
23208 /* harmony export */ });
23209 /**
23210 * @typedef {import('hast').ElementContent} ElementContent
23211 *
23212 * @typedef {import('mdast').Content} Content
23213 * @typedef {import('mdast').Reference} Reference
23214 * @typedef {import('mdast').Root} Root
23215 *
23216 * @typedef {import('./state.js').State} State
23217 */
23218
23219 /**
23220 * @typedef {Root | Content} Nodes
23221 * @typedef {Extract<Nodes, Reference>} References
23222 */
23223
23224 // To do: next major: always return array.
23225
23226 /**
23227 * Return the content of a reference without definition as plain text.
23228 *
23229 * @param {State} state
23230 * Info passed around.
23231 * @param {References} node
23232 * Reference node (image, link).
23233 * @returns {ElementContent | Array<ElementContent>}
23234 * hast content.
23235 */
23236 function revert(state, node) {
23237 const subtype = node.referenceType
23238 let suffix = ']'
23239
23240 if (subtype === 'collapsed') {
23241 suffix += '[]'
23242 } else if (subtype === 'full') {
23243 suffix += '[' + (node.label || node.identifier) + ']'
23244 }
23245
23246 if (node.type === 'imageReference') {
23247 return {type: 'text', value: '![' + node.alt + suffix}
23248 }
23249
23250 const contents = state.all(node)
23251 const head = contents[0]
23252
23253 if (head && head.type === 'text') {
23254 head.value = '[' + head.value
23255 } else {
23256 contents.unshift({type: 'text', value: '['})
23257 }
23258
23259 const tail = contents[contents.length - 1]
23260
23261 if (tail && tail.type === 'text') {
23262 tail.value += suffix
23263 } else {
23264 contents.push({type: 'text', value: suffix})
23265 }
23266
23267 return contents
23268 }
23269
23270
23271 /***/ }),
23272
23273 /***/ "../node_modules/mdast-util-to-hast/lib/state.js":
23274 /*!*******************************************************!*\
23275 !*** ../node_modules/mdast-util-to-hast/lib/state.js ***!
23276 \*******************************************************/
23277 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
23278
23279 "use strict";
23280 __webpack_require__.r(__webpack_exports__);
23281 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
23282 /* harmony export */ all: () => (/* binding */ all),
23283 /* harmony export */ createState: () => (/* binding */ createState),
23284 /* harmony export */ one: () => (/* binding */ one),
23285 /* harmony export */ wrap: () => (/* binding */ wrap)
23286 /* harmony export */ });
23287 /* harmony import */ var unist_util_visit__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! unist-util-visit */ "../node_modules/unist-util-visit/lib/index.js");
23288 /* harmony import */ var unist_util_position__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! unist-util-position */ "../node_modules/unist-util-position/lib/index.js");
23289 /* harmony import */ var unist_util_generated__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! unist-util-generated */ "../node_modules/unist-util-generated/lib/index.js");
23290 /* harmony import */ var mdast_util_definitions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! mdast-util-definitions */ "../node_modules/mdast-util-definitions/lib/index.js");
23291 /* harmony import */ var _handlers_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./handlers/index.js */ "../node_modules/mdast-util-to-hast/lib/handlers/index.js");
23292 /**
23293 * @typedef {import('hast').Content} HastContent
23294 * @typedef {import('hast').Element} HastElement
23295 * @typedef {import('hast').ElementContent} HastElementContent
23296 * @typedef {import('hast').Properties} HastProperties
23297 * @typedef {import('hast').Root} HastRoot
23298 * @typedef {import('hast').Text} HastText
23299 *
23300 * @typedef {import('mdast').Content} MdastContent
23301 * @typedef {import('mdast').Definition} MdastDefinition
23302 * @typedef {import('mdast').FootnoteDefinition} MdastFootnoteDefinition
23303 * @typedef {import('mdast').Parent} MdastParent
23304 * @typedef {import('mdast').Root} MdastRoot
23305 */
23306
23307 /**
23308 * @typedef {HastRoot | HastContent} HastNodes
23309 * @typedef {MdastRoot | MdastContent} MdastNodes
23310 * @typedef {Extract<MdastNodes, MdastParent>} MdastParents
23311 *
23312 * @typedef EmbeddedHastFields
23313 * hast fields.
23314 * @property {string | null | undefined} [hName]
23315 * Generate a specific element with this tag name instead.
23316 * @property {HastProperties | null | undefined} [hProperties]
23317 * Generate an element with these properties instead.
23318 * @property {Array<HastElementContent> | null | undefined} [hChildren]
23319 * Generate an element with this content instead.
23320 *
23321 * @typedef {Record<string, unknown> & EmbeddedHastFields} MdastData
23322 * mdast data with embedded hast fields.
23323 *
23324 * @typedef {MdastNodes & {data?: MdastData | null | undefined}} MdastNodeWithData
23325 * mdast node with embedded hast data.
23326 *
23327 * @typedef PointLike
23328 * Point-like value.
23329 * @property {number | null | undefined} [line]
23330 * Line.
23331 * @property {number | null | undefined} [column]
23332 * Column.
23333 * @property {number | null | undefined} [offset]
23334 * Offset.
23335 *
23336 * @typedef PositionLike
23337 * Position-like value.
23338 * @property {PointLike | null | undefined} [start]
23339 * Point-like value.
23340 * @property {PointLike | null | undefined} [end]
23341 * Point-like value.
23342 *
23343 * @callback Handler
23344 * Handle a node.
23345 * @param {State} state
23346 * Info passed around.
23347 * @param {any} node
23348 * mdast node to handle.
23349 * @param {MdastParents | null | undefined} parent
23350 * Parent of `node`.
23351 * @returns {HastElementContent | Array<HastElementContent> | null | undefined}
23352 * hast node.
23353 *
23354 * @callback HFunctionProps
23355 * Signature of `state` for when props are passed.
23356 * @param {MdastNodes | PositionLike | null | undefined} node
23357 * mdast node or unist position.
23358 * @param {string} tagName
23359 * HTML tag name.
23360 * @param {HastProperties} props
23361 * Properties.
23362 * @param {Array<HastElementContent> | null | undefined} [children]
23363 * hast content.
23364 * @returns {HastElement}
23365 * Compiled element.
23366 *
23367 * @callback HFunctionNoProps
23368 * Signature of `state` for when no props are passed.
23369 * @param {MdastNodes | PositionLike | null | undefined} node
23370 * mdast node or unist position.
23371 * @param {string} tagName
23372 * HTML tag name.
23373 * @param {Array<HastElementContent> | null | undefined} [children]
23374 * hast content.
23375 * @returns {HastElement}
23376 * Compiled element.
23377 *
23378 * @typedef HFields
23379 * Info on `state`.
23380 * @property {boolean} dangerous
23381 * Whether HTML is allowed.
23382 * @property {string} clobberPrefix
23383 * Prefix to use to prevent DOM clobbering.
23384 * @property {string} footnoteLabel
23385 * Label to use to introduce the footnote section.
23386 * @property {string} footnoteLabelTagName
23387 * HTML used for the footnote label.
23388 * @property {HastProperties} footnoteLabelProperties
23389 * Properties on the HTML tag used for the footnote label.
23390 * @property {string} footnoteBackLabel
23391 * Label to use from backreferences back to their footnote call.
23392 * @property {(identifier: string) => MdastDefinition | null} definition
23393 * Definition cache.
23394 * @property {Record<string, MdastFootnoteDefinition>} footnoteById
23395 * Footnote definitions by their identifier.
23396 * @property {Array<string>} footnoteOrder
23397 * Identifiers of order when footnote calls first appear in tree order.
23398 * @property {Record<string, number>} footnoteCounts
23399 * Counts for how often the same footnote was called.
23400 * @property {Handlers} handlers
23401 * Applied handlers.
23402 * @property {Handler} unknownHandler
23403 * Handler for any none not in `passThrough` or otherwise handled.
23404 * @property {(from: MdastNodes, node: HastNodes) => void} patch
23405 * Copy a node’s positional info.
23406 * @property {<Type extends HastNodes>(from: MdastNodes, to: Type) => Type | HastElement} applyData
23407 * Honor the `data` of `from`, and generate an element instead of `node`.
23408 * @property {(node: MdastNodes, parent: MdastParents | null | undefined) => HastElementContent | Array<HastElementContent> | null | undefined} one
23409 * Transform an mdast node to hast.
23410 * @property {(node: MdastNodes) => Array<HastElementContent>} all
23411 * Transform the children of an mdast parent to hast.
23412 * @property {<Type extends HastContent>(nodes: Array<Type>, loose?: boolean | null | undefined) => Array<Type | HastText>} wrap
23413 * Wrap `nodes` with line endings between each node, adds initial/final line endings when `loose`.
23414 * @property {(left: MdastNodeWithData | PositionLike | null | undefined, right: HastElementContent) => HastElementContent} augment
23415 * Like `state` but lower-level and usable on non-elements.
23416 * Deprecated: use `patch` and `applyData`.
23417 * @property {Array<string>} passThrough
23418 * List of node types to pass through untouched (except for their children).
23419 *
23420 * @typedef Options
23421 * Configuration (optional).
23422 * @property {boolean | null | undefined} [allowDangerousHtml=false]
23423 * Whether to persist raw HTML in markdown in the hast tree.
23424 * @property {string | null | undefined} [clobberPrefix='user-content-']
23425 * Prefix to use before the `id` attribute on footnotes to prevent it from
23426 * *clobbering*.
23427 * @property {string | null | undefined} [footnoteBackLabel='Back to content']
23428 * Label to use from backreferences back to their footnote call (affects
23429 * screen readers).
23430 * @property {string | null | undefined} [footnoteLabel='Footnotes']
23431 * Label to use for the footnotes section (affects screen readers).
23432 * @property {HastProperties | null | undefined} [footnoteLabelProperties={className: ['sr-only']}]
23433 * Properties to use on the footnote label (note that `id: 'footnote-label'`
23434 * is always added as footnote calls use it with `aria-describedby` to
23435 * provide an accessible label).
23436 * @property {string | null | undefined} [footnoteLabelTagName='h2']
23437 * Tag name to use for the footnote label.
23438 * @property {Handlers | null | undefined} [handlers]
23439 * Extra handlers for nodes.
23440 * @property {Array<string> | null | undefined} [passThrough]
23441 * List of custom mdast node types to pass through (keep) in hast (note that
23442 * the node itself is passed, but eventual children are transformed).
23443 * @property {Handler | null | undefined} [unknownHandler]
23444 * Handler for all unknown nodes.
23445 *
23446 * @typedef {Record<string, Handler>} Handlers
23447 * Handle nodes.
23448 *
23449 * @typedef {HFunctionProps & HFunctionNoProps & HFields} State
23450 * Info passed around.
23451 */
23452
23453
23454
23455
23456
23457
23458
23459 const own = {}.hasOwnProperty
23460
23461 /**
23462 * Create `state` from an mdast tree.
23463 *
23464 * @param {MdastNodes} tree
23465 * mdast node to transform.
23466 * @param {Options | null | undefined} [options]
23467 * Configuration.
23468 * @returns {State}
23469 * `state` function.
23470 */
23471 function createState(tree, options) {
23472 const settings = options || {}
23473 const dangerous = settings.allowDangerousHtml || false
23474 /** @type {Record<string, MdastFootnoteDefinition>} */
23475 const footnoteById = {}
23476
23477 // To do: next major: add `options` to state, remove:
23478 // `dangerous`, `clobberPrefix`, `footnoteLabel`, `footnoteLabelTagName`,
23479 // `footnoteLabelProperties`, `footnoteBackLabel`, `passThrough`,
23480 // `unknownHandler`.
23481
23482 // To do: next major: move to `state.options.allowDangerousHtml`.
23483 state.dangerous = dangerous
23484 // To do: next major: move to `state.options`.
23485 state.clobberPrefix =
23486 settings.clobberPrefix === undefined || settings.clobberPrefix === null
23487 ? 'user-content-'
23488 : settings.clobberPrefix
23489 // To do: next major: move to `state.options`.
23490 state.footnoteLabel = settings.footnoteLabel || 'Footnotes'
23491 // To do: next major: move to `state.options`.
23492 state.footnoteLabelTagName = settings.footnoteLabelTagName || 'h2'
23493 // To do: next major: move to `state.options`.
23494 state.footnoteLabelProperties = settings.footnoteLabelProperties || {
23495 className: ['sr-only']
23496 }
23497 // To do: next major: move to `state.options`.
23498 state.footnoteBackLabel = settings.footnoteBackLabel || 'Back to content'
23499 // To do: next major: move to `state.options`.
23500 state.unknownHandler = settings.unknownHandler
23501 // To do: next major: move to `state.options`.
23502 state.passThrough = settings.passThrough
23503
23504 state.handlers = {..._handlers_index_js__WEBPACK_IMPORTED_MODULE_0__.handlers, ...settings.handlers}
23505
23506 // To do: next major: replace utility with `definitionById` object, so we
23507 // only walk once (as we need footnotes too).
23508 state.definition = (0,mdast_util_definitions__WEBPACK_IMPORTED_MODULE_1__.definitions)(tree)
23509 state.footnoteById = footnoteById
23510 /** @type {Array<string>} */
23511 state.footnoteOrder = []
23512 /** @type {Record<string, number>} */
23513 state.footnoteCounts = {}
23514
23515 state.patch = patch
23516 state.applyData = applyData
23517 state.one = oneBound
23518 state.all = allBound
23519 state.wrap = wrap
23520 // To do: next major: remove `augment`.
23521 state.augment = augment
23522
23523 ;(0,unist_util_visit__WEBPACK_IMPORTED_MODULE_2__.visit)(tree, 'footnoteDefinition', (definition) => {
23524 const id = String(definition.identifier).toUpperCase()
23525
23526 // Mimick CM behavior of link definitions.
23527 // See: <https://github.com/syntax-tree/mdast-util-definitions/blob/8290999/index.js#L26>.
23528 if (!own.call(footnoteById, id)) {
23529 footnoteById[id] = definition
23530 }
23531 })
23532
23533 // @ts-expect-error Hush, it’s fine!
23534 return state
23535
23536 /**
23537 * Finalise the created `right`, a hast node, from `left`, an mdast node.
23538 *
23539 * @param {MdastNodeWithData | PositionLike | null | undefined} left
23540 * @param {HastElementContent} right
23541 * @returns {HastElementContent}
23542 */
23543 /* c8 ignore start */
23544 // To do: next major: remove.
23545 function augment(left, right) {
23546 // Handle `data.hName`, `data.hProperties, `data.hChildren`.
23547 if (left && 'data' in left && left.data) {
23548 /** @type {MdastData} */
23549 const data = left.data
23550
23551 if (data.hName) {
23552 if (right.type !== 'element') {
23553 right = {
23554 type: 'element',
23555 tagName: '',
23556 properties: {},
23557 children: []
23558 }
23559 }
23560
23561 right.tagName = data.hName
23562 }
23563
23564 if (right.type === 'element' && data.hProperties) {
23565 right.properties = {...right.properties, ...data.hProperties}
23566 }
23567
23568 if ('children' in right && right.children && data.hChildren) {
23569 right.children = data.hChildren
23570 }
23571 }
23572
23573 if (left) {
23574 const ctx = 'type' in left ? left : {position: left}
23575
23576 if (!(0,unist_util_generated__WEBPACK_IMPORTED_MODULE_3__.generated)(ctx)) {
23577 // @ts-expect-error: fine.
23578 right.position = {start: (0,unist_util_position__WEBPACK_IMPORTED_MODULE_4__.pointStart)(ctx), end: (0,unist_util_position__WEBPACK_IMPORTED_MODULE_4__.pointEnd)(ctx)}
23579 }
23580 }
23581
23582 return right
23583 }
23584 /* c8 ignore stop */
23585
23586 /**
23587 * Create an element for `node`.
23588 *
23589 * @type {HFunctionProps}
23590 */
23591 /* c8 ignore start */
23592 // To do: next major: remove.
23593 function state(node, tagName, props, children) {
23594 if (Array.isArray(props)) {
23595 children = props
23596 props = {}
23597 }
23598
23599 // @ts-expect-error augmenting an element yields an element.
23600 return augment(node, {
23601 type: 'element',
23602 tagName,
23603 properties: props || {},
23604 children: children || []
23605 })
23606 }
23607 /* c8 ignore stop */
23608
23609 /**
23610 * Transform an mdast node into a hast node.
23611 *
23612 * @param {MdastNodes} node
23613 * mdast node.
23614 * @param {MdastParents | null | undefined} [parent]
23615 * Parent of `node`.
23616 * @returns {HastElementContent | Array<HastElementContent> | null | undefined}
23617 * Resulting hast node.
23618 */
23619 function oneBound(node, parent) {
23620 // @ts-expect-error: that’s a state :)
23621 return one(state, node, parent)
23622 }
23623
23624 /**
23625 * Transform the children of an mdast node into hast nodes.
23626 *
23627 * @param {MdastNodes} parent
23628 * mdast node to compile
23629 * @returns {Array<HastElementContent>}
23630 * Resulting hast nodes.
23631 */
23632 function allBound(parent) {
23633 // @ts-expect-error: that’s a state :)
23634 return all(state, parent)
23635 }
23636 }
23637
23638 /**
23639 * Copy a node’s positional info.
23640 *
23641 * @param {MdastNodes} from
23642 * mdast node to copy from.
23643 * @param {HastNodes} to
23644 * hast node to copy into.
23645 * @returns {void}
23646 * Nothing.
23647 */
23648 function patch(from, to) {
23649 if (from.position) to.position = (0,unist_util_position__WEBPACK_IMPORTED_MODULE_4__.position)(from)
23650 }
23651
23652 /**
23653 * Honor the `data` of `from` and maybe generate an element instead of `to`.
23654 *
23655 * @template {HastNodes} Type
23656 * Node type.
23657 * @param {MdastNodes} from
23658 * mdast node to use data from.
23659 * @param {Type} to
23660 * hast node to change.
23661 * @returns {Type | HastElement}
23662 * Nothing.
23663 */
23664 function applyData(from, to) {
23665 /** @type {Type | HastElement} */
23666 let result = to
23667
23668 // Handle `data.hName`, `data.hProperties, `data.hChildren`.
23669 if (from && from.data) {
23670 const hName = from.data.hName
23671 const hChildren = from.data.hChildren
23672 const hProperties = from.data.hProperties
23673
23674 if (typeof hName === 'string') {
23675 // Transforming the node resulted in an element with a different name
23676 // than wanted:
23677 if (result.type === 'element') {
23678 result.tagName = hName
23679 }
23680 // Transforming the node resulted in a non-element, which happens for
23681 // raw, text, and root nodes (unless custom handlers are passed).
23682 // The intent is likely to keep the content around (otherwise: pass
23683 // `hChildren`).
23684 else {
23685 result = {
23686 type: 'element',
23687 tagName: hName,
23688 properties: {},
23689 children: []
23690 }
23691
23692 // To do: next major: take the children from the `root`, or inject the
23693 // raw/text/comment or so into the element?
23694 // if ('children' in node) {
23695 // // @ts-expect-error: assume `children` are allowed in elements.
23696 // result.children = node.children
23697 // } else {
23698 // // @ts-expect-error: assume `node` is allowed in elements.
23699 // result.children.push(node)
23700 // }
23701 }
23702 }
23703
23704 if (result.type === 'element' && hProperties) {
23705 result.properties = {...result.properties, ...hProperties}
23706 }
23707
23708 if (
23709 'children' in result &&
23710 result.children &&
23711 hChildren !== null &&
23712 hChildren !== undefined
23713 ) {
23714 // @ts-expect-error: assume valid children are defined.
23715 result.children = hChildren
23716 }
23717 }
23718
23719 return result
23720 }
23721
23722 /**
23723 * Transform an mdast node into a hast node.
23724 *
23725 * @param {State} state
23726 * Info passed around.
23727 * @param {MdastNodes} node
23728 * mdast node.
23729 * @param {MdastParents | null | undefined} [parent]
23730 * Parent of `node`.
23731 * @returns {HastElementContent | Array<HastElementContent> | null | undefined}
23732 * Resulting hast node.
23733 */
23734 // To do: next major: do not expose, keep bound.
23735 function one(state, node, parent) {
23736 const type = node && node.type
23737
23738 // Fail on non-nodes.
23739 if (!type) {
23740 throw new Error('Expected node, got `' + node + '`')
23741 }
23742
23743 if (own.call(state.handlers, type)) {
23744 return state.handlers[type](state, node, parent)
23745 }
23746
23747 if (state.passThrough && state.passThrough.includes(type)) {
23748 // To do: next major: deep clone.
23749 // @ts-expect-error: types of passed through nodes are expected to be added manually.
23750 return 'children' in node ? {...node, children: all(state, node)} : node
23751 }
23752
23753 if (state.unknownHandler) {
23754 return state.unknownHandler(state, node, parent)
23755 }
23756
23757 return defaultUnknownHandler(state, node)
23758 }
23759
23760 /**
23761 * Transform the children of an mdast node into hast nodes.
23762 *
23763 * @param {State} state
23764 * Info passed around.
23765 * @param {MdastNodes} parent
23766 * mdast node to compile
23767 * @returns {Array<HastElementContent>}
23768 * Resulting hast nodes.
23769 */
23770 // To do: next major: do not expose, keep bound.
23771 function all(state, parent) {
23772 /** @type {Array<HastElementContent>} */
23773 const values = []
23774
23775 if ('children' in parent) {
23776 const nodes = parent.children
23777 let index = -1
23778 while (++index < nodes.length) {
23779 const result = one(state, nodes[index], parent)
23780
23781 // To do: see if we van clean this? Can we merge texts?
23782 if (result) {
23783 if (index && nodes[index - 1].type === 'break') {
23784 if (!Array.isArray(result) && result.type === 'text') {
23785 result.value = result.value.replace(/^\s+/, '')
23786 }
23787
23788 if (!Array.isArray(result) && result.type === 'element') {
23789 const head = result.children[0]
23790
23791 if (head && head.type === 'text') {
23792 head.value = head.value.replace(/^\s+/, '')
23793 }
23794 }
23795 }
23796
23797 if (Array.isArray(result)) {
23798 values.push(...result)
23799 } else {
23800 values.push(result)
23801 }
23802 }
23803 }
23804 }
23805
23806 return values
23807 }
23808
23809 /**
23810 * Transform an unknown node.
23811 *
23812 * @param {State} state
23813 * Info passed around.
23814 * @param {MdastNodes} node
23815 * Unknown mdast node.
23816 * @returns {HastText | HastElement}
23817 * Resulting hast node.
23818 */
23819 function defaultUnknownHandler(state, node) {
23820 const data = node.data || {}
23821 /** @type {HastText | HastElement} */
23822 const result =
23823 'value' in node &&
23824 !(own.call(data, 'hProperties') || own.call(data, 'hChildren'))
23825 ? {type: 'text', value: node.value}
23826 : {
23827 type: 'element',
23828 tagName: 'div',
23829 properties: {},
23830 children: all(state, node)
23831 }
23832
23833 state.patch(node, result)
23834 return state.applyData(node, result)
23835 }
23836
23837 /**
23838 * Wrap `nodes` with line endings between each node.
23839 *
23840 * @template {HastContent} Type
23841 * Node type.
23842 * @param {Array<Type>} nodes
23843 * List of nodes to wrap.
23844 * @param {boolean | null | undefined} [loose=false]
23845 * Whether to add line endings at start and end.
23846 * @returns {Array<Type | HastText>}
23847 * Wrapped nodes.
23848 */
23849 function wrap(nodes, loose) {
23850 /** @type {Array<Type | HastText>} */
23851 const result = []
23852 let index = -1
23853
23854 if (loose) {
23855 result.push({type: 'text', value: '\n'})
23856 }
23857
23858 while (++index < nodes.length) {
23859 if (index) result.push({type: 'text', value: '\n'})
23860 result.push(nodes[index])
23861 }
23862
23863 if (loose && nodes.length > 0) {
23864 result.push({type: 'text', value: '\n'})
23865 }
23866
23867 return result
23868 }
23869
23870
23871 /***/ }),
23872
23873 /***/ "../node_modules/mdast-util-to-string/lib/index.js":
23874 /*!*********************************************************!*\
23875 !*** ../node_modules/mdast-util-to-string/lib/index.js ***!
23876 \*********************************************************/
23877 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
23878
23879 "use strict";
23880 __webpack_require__.r(__webpack_exports__);
23881 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
23882 /* harmony export */ toString: () => (/* binding */ toString)
23883 /* harmony export */ });
23884 /**
23885 * @typedef {import('mdast').Root|import('mdast').Content} Node
23886 *
23887 * @typedef Options
23888 * Configuration (optional).
23889 * @property {boolean | null | undefined} [includeImageAlt=true]
23890 * Whether to use `alt` for `image`s.
23891 * @property {boolean | null | undefined} [includeHtml=true]
23892 * Whether to use `value` of HTML.
23893 */
23894
23895 /** @type {Options} */
23896 const emptyOptions = {}
23897
23898 /**
23899 * Get the text content of a node or list of nodes.
23900 *
23901 * Prefers the node’s plain-text fields, otherwise serializes its children,
23902 * and if the given value is an array, serialize the nodes in it.
23903 *
23904 * @param {unknown} value
23905 * Thing to serialize, typically `Node`.
23906 * @param {Options | null | undefined} [options]
23907 * Configuration (optional).
23908 * @returns {string}
23909 * Serialized `value`.
23910 */
23911 function toString(value, options) {
23912 const settings = options || emptyOptions
23913 const includeImageAlt =
23914 typeof settings.includeImageAlt === 'boolean'
23915 ? settings.includeImageAlt
23916 : true
23917 const includeHtml =
23918 typeof settings.includeHtml === 'boolean' ? settings.includeHtml : true
23919
23920 return one(value, includeImageAlt, includeHtml)
23921 }
23922
23923 /**
23924 * One node or several nodes.
23925 *
23926 * @param {unknown} value
23927 * Thing to serialize.
23928 * @param {boolean} includeImageAlt
23929 * Include image `alt`s.
23930 * @param {boolean} includeHtml
23931 * Include HTML.
23932 * @returns {string}
23933 * Serialized node.
23934 */
23935 function one(value, includeImageAlt, includeHtml) {
23936 if (node(value)) {
23937 if ('value' in value) {
23938 return value.type === 'html' && !includeHtml ? '' : value.value
23939 }
23940
23941 if (includeImageAlt && 'alt' in value && value.alt) {
23942 return value.alt
23943 }
23944
23945 if ('children' in value) {
23946 return all(value.children, includeImageAlt, includeHtml)
23947 }
23948 }
23949
23950 if (Array.isArray(value)) {
23951 return all(value, includeImageAlt, includeHtml)
23952 }
23953
23954 return ''
23955 }
23956
23957 /**
23958 * Serialize a list of nodes.
23959 *
23960 * @param {Array<unknown>} values
23961 * Thing to serialize.
23962 * @param {boolean} includeImageAlt
23963 * Include image `alt`s.
23964 * @param {boolean} includeHtml
23965 * Include HTML.
23966 * @returns {string}
23967 * Serialized nodes.
23968 */
23969 function all(values, includeImageAlt, includeHtml) {
23970 /** @type {Array<string>} */
23971 const result = []
23972 let index = -1
23973
23974 while (++index < values.length) {
23975 result[index] = one(values[index], includeImageAlt, includeHtml)
23976 }
23977
23978 return result.join('')
23979 }
23980
23981 /**
23982 * Check if `value` looks like a node.
23983 *
23984 * @param {unknown} value
23985 * Thing.
23986 * @returns {value is Node}
23987 * Whether `value` is a node.
23988 */
23989 function node(value) {
23990 return Boolean(value && typeof value === 'object')
23991 }
23992
23993
23994 /***/ }),
23995
23996 /***/ "../node_modules/micromark-core-commonmark/dev/lib/attention.js":
23997 /*!**********************************************************************!*\
23998 !*** ../node_modules/micromark-core-commonmark/dev/lib/attention.js ***!
23999 \**********************************************************************/
24000 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
24001
24002 "use strict";
24003 __webpack_require__.r(__webpack_exports__);
24004 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
24005 /* harmony export */ attention: () => (/* binding */ attention)
24006 /* harmony export */ });
24007 /* harmony import */ var micromark_util_chunked__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! micromark-util-chunked */ "../node_modules/micromark-util-chunked/dev/index.js");
24008 /* harmony import */ var micromark_util_classify_character__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! micromark-util-classify-character */ "../node_modules/micromark-util-classify-character/dev/index.js");
24009 /* harmony import */ var micromark_util_resolve_all__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! micromark-util-resolve-all */ "../node_modules/micromark-util-resolve-all/index.js");
24010 /* harmony import */ var micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! micromark-util-symbol/codes.js */ "../node_modules/micromark-util-symbol/codes.js");
24011 /* harmony import */ var micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! micromark-util-symbol/constants.js */ "../node_modules/micromark-util-symbol/constants.js");
24012 /* harmony import */ var micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-util-symbol/types.js */ "../node_modules/micromark-util-symbol/types.js");
24013 /* harmony import */ var uvu_assert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uvu/assert */ "../node_modules/uvu/assert/index.mjs");
24014 /**
24015 * @typedef {import('micromark-util-types').Code} Code
24016 * @typedef {import('micromark-util-types').Construct} Construct
24017 * @typedef {import('micromark-util-types').Event} Event
24018 * @typedef {import('micromark-util-types').Point} Point
24019 * @typedef {import('micromark-util-types').Resolver} Resolver
24020 * @typedef {import('micromark-util-types').State} State
24021 * @typedef {import('micromark-util-types').Token} Token
24022 * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext
24023 * @typedef {import('micromark-util-types').Tokenizer} Tokenizer
24024 */
24025
24026
24027
24028
24029
24030
24031
24032
24033
24034 /** @type {Construct} */
24035 const attention = {
24036 name: 'attention',
24037 tokenize: tokenizeAttention,
24038 resolveAll: resolveAllAttention
24039 }
24040
24041 /**
24042 * Take all events and resolve attention to emphasis or strong.
24043 *
24044 * @type {Resolver}
24045 */
24046 function resolveAllAttention(events, context) {
24047 let index = -1
24048 /** @type {number} */
24049 let open
24050 /** @type {Token} */
24051 let group
24052 /** @type {Token} */
24053 let text
24054 /** @type {Token} */
24055 let openingSequence
24056 /** @type {Token} */
24057 let closingSequence
24058 /** @type {number} */
24059 let use
24060 /** @type {Array<Event>} */
24061 let nextEvents
24062 /** @type {number} */
24063 let offset
24064
24065 // Walk through all events.
24066 //
24067 // Note: performance of this is fine on an mb of normal markdown, but it’s
24068 // a bottleneck for malicious stuff.
24069 while (++index < events.length) {
24070 // Find a token that can close.
24071 if (
24072 events[index][0] === 'enter' &&
24073 events[index][1].type === 'attentionSequence' &&
24074 events[index][1]._close
24075 ) {
24076 open = index
24077
24078 // Now walk back to find an opener.
24079 while (open--) {
24080 // Find a token that can open the closer.
24081 if (
24082 events[open][0] === 'exit' &&
24083 events[open][1].type === 'attentionSequence' &&
24084 events[open][1]._open &&
24085 // If the markers are the same:
24086 context.sliceSerialize(events[open][1]).charCodeAt(0) ===
24087 context.sliceSerialize(events[index][1]).charCodeAt(0)
24088 ) {
24089 // If the opening can close or the closing can open,
24090 // and the close size *is not* a multiple of three,
24091 // but the sum of the opening and closing size *is* multiple of three,
24092 // then don’t match.
24093 if (
24094 (events[open][1]._close || events[index][1]._open) &&
24095 (events[index][1].end.offset - events[index][1].start.offset) % 3 &&
24096 !(
24097 (events[open][1].end.offset -
24098 events[open][1].start.offset +
24099 events[index][1].end.offset -
24100 events[index][1].start.offset) %
24101 3
24102 )
24103 ) {
24104 continue
24105 }
24106
24107 // Number of markers to use from the sequence.
24108 use =
24109 events[open][1].end.offset - events[open][1].start.offset > 1 &&
24110 events[index][1].end.offset - events[index][1].start.offset > 1
24111 ? 2
24112 : 1
24113
24114 const start = Object.assign({}, events[open][1].end)
24115 const end = Object.assign({}, events[index][1].start)
24116 movePoint(start, -use)
24117 movePoint(end, use)
24118
24119 openingSequence = {
24120 type: use > 1 ? micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.strongSequence : micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.emphasisSequence,
24121 start,
24122 end: Object.assign({}, events[open][1].end)
24123 }
24124 closingSequence = {
24125 type: use > 1 ? micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.strongSequence : micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.emphasisSequence,
24126 start: Object.assign({}, events[index][1].start),
24127 end
24128 }
24129 text = {
24130 type: use > 1 ? micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.strongText : micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.emphasisText,
24131 start: Object.assign({}, events[open][1].end),
24132 end: Object.assign({}, events[index][1].start)
24133 }
24134 group = {
24135 type: use > 1 ? micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.strong : micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.emphasis,
24136 start: Object.assign({}, openingSequence.start),
24137 end: Object.assign({}, closingSequence.end)
24138 }
24139
24140 events[open][1].end = Object.assign({}, openingSequence.start)
24141 events[index][1].start = Object.assign({}, closingSequence.end)
24142
24143 nextEvents = []
24144
24145 // If there are more markers in the opening, add them before.
24146 if (events[open][1].end.offset - events[open][1].start.offset) {
24147 nextEvents = (0,micromark_util_chunked__WEBPACK_IMPORTED_MODULE_2__.push)(nextEvents, [
24148 ['enter', events[open][1], context],
24149 ['exit', events[open][1], context]
24150 ])
24151 }
24152
24153 // Opening.
24154 nextEvents = (0,micromark_util_chunked__WEBPACK_IMPORTED_MODULE_2__.push)(nextEvents, [
24155 ['enter', group, context],
24156 ['enter', openingSequence, context],
24157 ['exit', openingSequence, context],
24158 ['enter', text, context]
24159 ])
24160
24161 // Always populated by defaults.
24162 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(
24163 context.parser.constructs.insideSpan.null,
24164 'expected `insideSpan` to be populated'
24165 )
24166
24167 // Between.
24168 nextEvents = (0,micromark_util_chunked__WEBPACK_IMPORTED_MODULE_2__.push)(
24169 nextEvents,
24170 (0,micromark_util_resolve_all__WEBPACK_IMPORTED_MODULE_3__.resolveAll)(
24171 context.parser.constructs.insideSpan.null,
24172 events.slice(open + 1, index),
24173 context
24174 )
24175 )
24176
24177 // Closing.
24178 nextEvents = (0,micromark_util_chunked__WEBPACK_IMPORTED_MODULE_2__.push)(nextEvents, [
24179 ['exit', text, context],
24180 ['enter', closingSequence, context],
24181 ['exit', closingSequence, context],
24182 ['exit', group, context]
24183 ])
24184
24185 // If there are more markers in the closing, add them after.
24186 if (events[index][1].end.offset - events[index][1].start.offset) {
24187 offset = 2
24188 nextEvents = (0,micromark_util_chunked__WEBPACK_IMPORTED_MODULE_2__.push)(nextEvents, [
24189 ['enter', events[index][1], context],
24190 ['exit', events[index][1], context]
24191 ])
24192 } else {
24193 offset = 0
24194 }
24195
24196 (0,micromark_util_chunked__WEBPACK_IMPORTED_MODULE_2__.splice)(events, open - 1, index - open + 3, nextEvents)
24197
24198 index = open + nextEvents.length - offset - 2
24199 break
24200 }
24201 }
24202 }
24203 }
24204
24205 // Remove remaining sequences.
24206 index = -1
24207
24208 while (++index < events.length) {
24209 if (events[index][1].type === 'attentionSequence') {
24210 events[index][1].type = 'data'
24211 }
24212 }
24213
24214 return events
24215 }
24216
24217 /**
24218 * @this {TokenizeContext}
24219 * @type {Tokenizer}
24220 */
24221 function tokenizeAttention(effects, ok) {
24222 const attentionMarkers = this.parser.constructs.attentionMarkers.null
24223 const previous = this.previous
24224 const before = (0,micromark_util_classify_character__WEBPACK_IMPORTED_MODULE_4__.classifyCharacter)(previous)
24225
24226 /** @type {NonNullable<Code>} */
24227 let marker
24228
24229 return start
24230
24231 /**
24232 * Before a sequence.
24233 *
24234 * ```markdown
24235 * > | **
24236 * ^
24237 * ```
24238 *
24239 * @type {State}
24240 */
24241 function start(code) {
24242 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(
24243 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_5__.codes.asterisk || code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_5__.codes.underscore,
24244 'expected asterisk or underscore'
24245 )
24246 marker = code
24247 effects.enter('attentionSequence')
24248 return inside(code)
24249 }
24250
24251 /**
24252 * In a sequence.
24253 *
24254 * ```markdown
24255 * > | **
24256 * ^^
24257 * ```
24258 *
24259 * @type {State}
24260 */
24261 function inside(code) {
24262 if (code === marker) {
24263 effects.consume(code)
24264 return inside
24265 }
24266
24267 const token = effects.exit('attentionSequence')
24268
24269 // To do: next major: move this to resolver, just like `markdown-rs`.
24270 const after = (0,micromark_util_classify_character__WEBPACK_IMPORTED_MODULE_4__.classifyCharacter)(code)
24271
24272 // Always populated by defaults.
24273 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(attentionMarkers, 'expected `attentionMarkers` to be populated')
24274
24275 const open =
24276 !after ||
24277 (after === micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_6__.constants.characterGroupPunctuation && before) ||
24278 attentionMarkers.includes(code)
24279 const close =
24280 !before ||
24281 (before === micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_6__.constants.characterGroupPunctuation && after) ||
24282 attentionMarkers.includes(previous)
24283
24284 token._open = Boolean(
24285 marker === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_5__.codes.asterisk ? open : open && (before || !close)
24286 )
24287 token._close = Boolean(
24288 marker === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_5__.codes.asterisk ? close : close && (after || !open)
24289 )
24290 return ok(code)
24291 }
24292 }
24293
24294 /**
24295 * Move a point a bit.
24296 *
24297 * Note: `move` only works inside lines! It’s not possible to move past other
24298 * chunks (replacement characters, tabs, or line endings).
24299 *
24300 * @param {Point} point
24301 * @param {number} offset
24302 * @returns {void}
24303 */
24304 function movePoint(point, offset) {
24305 point.column += offset
24306 point.offset += offset
24307 point._bufferIndex += offset
24308 }
24309
24310
24311 /***/ }),
24312
24313 /***/ "../node_modules/micromark-core-commonmark/dev/lib/autolink.js":
24314 /*!*********************************************************************!*\
24315 !*** ../node_modules/micromark-core-commonmark/dev/lib/autolink.js ***!
24316 \*********************************************************************/
24317 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
24318
24319 "use strict";
24320 __webpack_require__.r(__webpack_exports__);
24321 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
24322 /* harmony export */ autolink: () => (/* binding */ autolink)
24323 /* harmony export */ });
24324 /* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! micromark-util-character */ "../node_modules/micromark-util-character/dev/index.js");
24325 /* harmony import */ var micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-util-symbol/codes.js */ "../node_modules/micromark-util-symbol/codes.js");
24326 /* harmony import */ var micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! micromark-util-symbol/constants.js */ "../node_modules/micromark-util-symbol/constants.js");
24327 /* harmony import */ var micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! micromark-util-symbol/types.js */ "../node_modules/micromark-util-symbol/types.js");
24328 /* harmony import */ var uvu_assert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uvu/assert */ "../node_modules/uvu/assert/index.mjs");
24329 /**
24330 * @typedef {import('micromark-util-types').Construct} Construct
24331 * @typedef {import('micromark-util-types').State} State
24332 * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext
24333 * @typedef {import('micromark-util-types').Tokenizer} Tokenizer
24334 */
24335
24336
24337
24338
24339
24340
24341
24342 /** @type {Construct} */
24343 const autolink = {name: 'autolink', tokenize: tokenizeAutolink}
24344
24345 /**
24346 * @this {TokenizeContext}
24347 * @type {Tokenizer}
24348 */
24349 function tokenizeAutolink(effects, ok, nok) {
24350 let size = 0
24351
24352 return start
24353
24354 /**
24355 * Start of an autolink.
24356 *
24357 * ```markdown
24358 * > | a<https://example.com>b
24359 * ^
24360 * > | a<user@example.com>b
24361 * ^
24362 * ```
24363 *
24364 * @type {State}
24365 */
24366 function start(code) {
24367 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.lessThan, 'expected `<`')
24368 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.autolink)
24369 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.autolinkMarker)
24370 effects.consume(code)
24371 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.autolinkMarker)
24372 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.autolinkProtocol)
24373 return open
24374 }
24375
24376 /**
24377 * After `<`, at protocol or atext.
24378 *
24379 * ```markdown
24380 * > | a<https://example.com>b
24381 * ^
24382 * > | a<user@example.com>b
24383 * ^
24384 * ```
24385 *
24386 * @type {State}
24387 */
24388 function open(code) {
24389 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.asciiAlpha)(code)) {
24390 effects.consume(code)
24391 return schemeOrEmailAtext
24392 }
24393
24394 return emailAtext(code)
24395 }
24396
24397 /**
24398 * At second byte of protocol or atext.
24399 *
24400 * ```markdown
24401 * > | a<https://example.com>b
24402 * ^
24403 * > | a<user@example.com>b
24404 * ^
24405 * ```
24406 *
24407 * @type {State}
24408 */
24409 function schemeOrEmailAtext(code) {
24410 // ASCII alphanumeric and `+`, `-`, and `.`.
24411 if (
24412 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.plusSign ||
24413 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.dash ||
24414 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.dot ||
24415 (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.asciiAlphanumeric)(code)
24416 ) {
24417 // Count the previous alphabetical from `open` too.
24418 size = 1
24419 return schemeInsideOrEmailAtext(code)
24420 }
24421
24422 return emailAtext(code)
24423 }
24424
24425 /**
24426 * In ambiguous protocol or atext.
24427 *
24428 * ```markdown
24429 * > | a<https://example.com>b
24430 * ^
24431 * > | a<user@example.com>b
24432 * ^
24433 * ```
24434 *
24435 * @type {State}
24436 */
24437 function schemeInsideOrEmailAtext(code) {
24438 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.colon) {
24439 effects.consume(code)
24440 size = 0
24441 return urlInside
24442 }
24443
24444 // ASCII alphanumeric and `+`, `-`, and `.`.
24445 if (
24446 (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.plusSign ||
24447 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.dash ||
24448 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.dot ||
24449 (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.asciiAlphanumeric)(code)) &&
24450 size++ < micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_4__.constants.autolinkSchemeSizeMax
24451 ) {
24452 effects.consume(code)
24453 return schemeInsideOrEmailAtext
24454 }
24455
24456 size = 0
24457 return emailAtext(code)
24458 }
24459
24460 /**
24461 * After protocol, in URL.
24462 *
24463 * ```markdown
24464 * > | a<https://example.com>b
24465 * ^
24466 * ```
24467 *
24468 * @type {State}
24469 */
24470 function urlInside(code) {
24471 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.greaterThan) {
24472 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.autolinkProtocol)
24473 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.autolinkMarker)
24474 effects.consume(code)
24475 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.autolinkMarker)
24476 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.autolink)
24477 return ok
24478 }
24479
24480 // ASCII control, space, or `<`.
24481 if (
24482 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.eof ||
24483 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.space ||
24484 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.lessThan ||
24485 (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.asciiControl)(code)
24486 ) {
24487 return nok(code)
24488 }
24489
24490 effects.consume(code)
24491 return urlInside
24492 }
24493
24494 /**
24495 * In email atext.
24496 *
24497 * ```markdown
24498 * > | a<user.name@example.com>b
24499 * ^
24500 * ```
24501 *
24502 * @type {State}
24503 */
24504 function emailAtext(code) {
24505 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.atSign) {
24506 effects.consume(code)
24507 return emailAtSignOrDot
24508 }
24509
24510 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.asciiAtext)(code)) {
24511 effects.consume(code)
24512 return emailAtext
24513 }
24514
24515 return nok(code)
24516 }
24517
24518 /**
24519 * In label, after at-sign or dot.
24520 *
24521 * ```markdown
24522 * > | a<user.name@example.com>b
24523 * ^ ^
24524 * ```
24525 *
24526 * @type {State}
24527 */
24528 function emailAtSignOrDot(code) {
24529 return (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.asciiAlphanumeric)(code) ? emailLabel(code) : nok(code)
24530 }
24531
24532 /**
24533 * In label, where `.` and `>` are allowed.
24534 *
24535 * ```markdown
24536 * > | a<user.name@example.com>b
24537 * ^
24538 * ```
24539 *
24540 * @type {State}
24541 */
24542 function emailLabel(code) {
24543 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.dot) {
24544 effects.consume(code)
24545 size = 0
24546 return emailAtSignOrDot
24547 }
24548
24549 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.greaterThan) {
24550 // Exit, then change the token type.
24551 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.autolinkProtocol).type = micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.autolinkEmail
24552 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.autolinkMarker)
24553 effects.consume(code)
24554 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.autolinkMarker)
24555 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.autolink)
24556 return ok
24557 }
24558
24559 return emailValue(code)
24560 }
24561
24562 /**
24563 * In label, where `.` and `>` are *not* allowed.
24564 *
24565 * Though, this is also used in `emailLabel` to parse other values.
24566 *
24567 * ```markdown
24568 * > | a<user.name@ex-ample.com>b
24569 * ^
24570 * ```
24571 *
24572 * @type {State}
24573 */
24574 function emailValue(code) {
24575 // ASCII alphanumeric or `-`.
24576 if (
24577 (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.dash || (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.asciiAlphanumeric)(code)) &&
24578 size++ < micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_4__.constants.autolinkDomainSizeMax
24579 ) {
24580 const next = code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.dash ? emailValue : emailLabel
24581 effects.consume(code)
24582 return next
24583 }
24584
24585 return nok(code)
24586 }
24587 }
24588
24589
24590 /***/ }),
24591
24592 /***/ "../node_modules/micromark-core-commonmark/dev/lib/blank-line.js":
24593 /*!***********************************************************************!*\
24594 !*** ../node_modules/micromark-core-commonmark/dev/lib/blank-line.js ***!
24595 \***********************************************************************/
24596 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
24597
24598 "use strict";
24599 __webpack_require__.r(__webpack_exports__);
24600 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
24601 /* harmony export */ blankLine: () => (/* binding */ blankLine)
24602 /* harmony export */ });
24603 /* harmony import */ var micromark_factory_space__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-factory-space */ "../node_modules/micromark-factory-space/dev/index.js");
24604 /* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-util-character */ "../node_modules/micromark-util-character/dev/index.js");
24605 /* harmony import */ var micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! micromark-util-symbol/codes.js */ "../node_modules/micromark-util-symbol/codes.js");
24606 /* harmony import */ var micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! micromark-util-symbol/types.js */ "../node_modules/micromark-util-symbol/types.js");
24607 /**
24608 * @typedef {import('micromark-util-types').Construct} Construct
24609 * @typedef {import('micromark-util-types').State} State
24610 * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext
24611 * @typedef {import('micromark-util-types').Tokenizer} Tokenizer
24612 */
24613
24614
24615
24616
24617
24618
24619 /** @type {Construct} */
24620 const blankLine = {tokenize: tokenizeBlankLine, partial: true}
24621
24622 /**
24623 * @this {TokenizeContext}
24624 * @type {Tokenizer}
24625 */
24626 function tokenizeBlankLine(effects, ok, nok) {
24627 return start
24628
24629 /**
24630 * Start of blank line.
24631 *
24632 * > 👉 **Note**: `␠` represents a space character.
24633 *
24634 * ```markdown
24635 * > | ␠␠␊
24636 * ^
24637 * > | ␊
24638 * ^
24639 * ```
24640 *
24641 * @type {State}
24642 */
24643 function start(code) {
24644 return (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_0__.markdownSpace)(code)
24645 ? (0,micromark_factory_space__WEBPACK_IMPORTED_MODULE_1__.factorySpace)(effects, after, micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.linePrefix)(code)
24646 : after(code)
24647 }
24648
24649 /**
24650 * At eof/eol, after optional whitespace.
24651 *
24652 * > 👉 **Note**: `␠` represents a space character.
24653 *
24654 * ```markdown
24655 * > | ␠␠␊
24656 * ^
24657 * > | ␊
24658 * ^
24659 * ```
24660 *
24661 * @type {State}
24662 */
24663 function after(code) {
24664 return code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_3__.codes.eof || (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_0__.markdownLineEnding)(code) ? ok(code) : nok(code)
24665 }
24666 }
24667
24668
24669 /***/ }),
24670
24671 /***/ "../node_modules/micromark-core-commonmark/dev/lib/block-quote.js":
24672 /*!************************************************************************!*\
24673 !*** ../node_modules/micromark-core-commonmark/dev/lib/block-quote.js ***!
24674 \************************************************************************/
24675 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
24676
24677 "use strict";
24678 __webpack_require__.r(__webpack_exports__);
24679 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
24680 /* harmony export */ blockQuote: () => (/* binding */ blockQuote)
24681 /* harmony export */ });
24682 /* harmony import */ var micromark_factory_space__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! micromark-factory-space */ "../node_modules/micromark-factory-space/dev/index.js");
24683 /* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! micromark-util-character */ "../node_modules/micromark-util-character/dev/index.js");
24684 /* harmony import */ var micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-util-symbol/codes.js */ "../node_modules/micromark-util-symbol/codes.js");
24685 /* harmony import */ var micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! micromark-util-symbol/constants.js */ "../node_modules/micromark-util-symbol/constants.js");
24686 /* harmony import */ var micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! micromark-util-symbol/types.js */ "../node_modules/micromark-util-symbol/types.js");
24687 /* harmony import */ var uvu_assert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uvu/assert */ "../node_modules/uvu/assert/index.mjs");
24688 /**
24689 * @typedef {import('micromark-util-types').Construct} Construct
24690 * @typedef {import('micromark-util-types').Exiter} Exiter
24691 * @typedef {import('micromark-util-types').State} State
24692 * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext
24693 * @typedef {import('micromark-util-types').Tokenizer} Tokenizer
24694 */
24695
24696
24697
24698
24699
24700
24701
24702
24703 /** @type {Construct} */
24704 const blockQuote = {
24705 name: 'blockQuote',
24706 tokenize: tokenizeBlockQuoteStart,
24707 continuation: {tokenize: tokenizeBlockQuoteContinuation},
24708 exit
24709 }
24710
24711 /**
24712 * @this {TokenizeContext}
24713 * @type {Tokenizer}
24714 */
24715 function tokenizeBlockQuoteStart(effects, ok, nok) {
24716 const self = this
24717
24718 return start
24719
24720 /**
24721 * Start of block quote.
24722 *
24723 * ```markdown
24724 * > | > a
24725 * ^
24726 * ```
24727 *
24728 * @type {State}
24729 */
24730 function start(code) {
24731 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.greaterThan) {
24732 const state = self.containerState
24733
24734 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(state, 'expected `containerState` to be defined in container')
24735
24736 if (!state.open) {
24737 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.blockQuote, {_container: true})
24738 state.open = true
24739 }
24740
24741 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.blockQuotePrefix)
24742 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.blockQuoteMarker)
24743 effects.consume(code)
24744 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.blockQuoteMarker)
24745 return after
24746 }
24747
24748 return nok(code)
24749 }
24750
24751 /**
24752 * After `>`, before optional whitespace.
24753 *
24754 * ```markdown
24755 * > | > a
24756 * ^
24757 * ```
24758 *
24759 * @type {State}
24760 */
24761 function after(code) {
24762 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.markdownSpace)(code)) {
24763 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.blockQuotePrefixWhitespace)
24764 effects.consume(code)
24765 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.blockQuotePrefixWhitespace)
24766 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.blockQuotePrefix)
24767 return ok
24768 }
24769
24770 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.blockQuotePrefix)
24771 return ok(code)
24772 }
24773 }
24774
24775 /**
24776 * Start of block quote continuation.
24777 *
24778 * ```markdown
24779 * | > a
24780 * > | > b
24781 * ^
24782 * ```
24783 *
24784 * @this {TokenizeContext}
24785 * @type {Tokenizer}
24786 */
24787 function tokenizeBlockQuoteContinuation(effects, ok, nok) {
24788 const self = this
24789
24790 return contStart
24791
24792 /**
24793 * Start of block quote continuation.
24794 *
24795 * Also used to parse the first block quote opening.
24796 *
24797 * ```markdown
24798 * | > a
24799 * > | > b
24800 * ^
24801 * ```
24802 *
24803 * @type {State}
24804 */
24805 function contStart(code) {
24806 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.markdownSpace)(code)) {
24807 // Always populated by defaults.
24808 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(
24809 self.parser.constructs.disable.null,
24810 'expected `disable.null` to be populated'
24811 )
24812
24813 return (0,micromark_factory_space__WEBPACK_IMPORTED_MODULE_4__.factorySpace)(
24814 effects,
24815 contBefore,
24816 micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.linePrefix,
24817 self.parser.constructs.disable.null.includes('codeIndented')
24818 ? undefined
24819 : micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_5__.constants.tabSize
24820 )(code)
24821 }
24822
24823 return contBefore(code)
24824 }
24825
24826 /**
24827 * At `>`, after optional whitespace.
24828 *
24829 * Also used to parse the first block quote opening.
24830 *
24831 * ```markdown
24832 * | > a
24833 * > | > b
24834 * ^
24835 * ```
24836 *
24837 * @type {State}
24838 */
24839 function contBefore(code) {
24840 return effects.attempt(blockQuote, ok, nok)(code)
24841 }
24842 }
24843
24844 /** @type {Exiter} */
24845 function exit(effects) {
24846 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.blockQuote)
24847 }
24848
24849
24850 /***/ }),
24851
24852 /***/ "../node_modules/micromark-core-commonmark/dev/lib/character-escape.js":
24853 /*!*****************************************************************************!*\
24854 !*** ../node_modules/micromark-core-commonmark/dev/lib/character-escape.js ***!
24855 \*****************************************************************************/
24856 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
24857
24858 "use strict";
24859 __webpack_require__.r(__webpack_exports__);
24860 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
24861 /* harmony export */ characterEscape: () => (/* binding */ characterEscape)
24862 /* harmony export */ });
24863 /* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! micromark-util-character */ "../node_modules/micromark-util-character/dev/index.js");
24864 /* harmony import */ var micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-util-symbol/codes.js */ "../node_modules/micromark-util-symbol/codes.js");
24865 /* harmony import */ var micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! micromark-util-symbol/types.js */ "../node_modules/micromark-util-symbol/types.js");
24866 /* harmony import */ var uvu_assert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uvu/assert */ "../node_modules/uvu/assert/index.mjs");
24867 /**
24868 * @typedef {import('micromark-util-types').Construct} Construct
24869 * @typedef {import('micromark-util-types').State} State
24870 * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext
24871 * @typedef {import('micromark-util-types').Tokenizer} Tokenizer
24872 */
24873
24874
24875
24876
24877
24878
24879 /** @type {Construct} */
24880 const characterEscape = {
24881 name: 'characterEscape',
24882 tokenize: tokenizeCharacterEscape
24883 }
24884
24885 /**
24886 * @this {TokenizeContext}
24887 * @type {Tokenizer}
24888 */
24889 function tokenizeCharacterEscape(effects, ok, nok) {
24890 return start
24891
24892 /**
24893 * Start of character escape.
24894 *
24895 * ```markdown
24896 * > | a\*b
24897 * ^
24898 * ```
24899 *
24900 * @type {State}
24901 */
24902 function start(code) {
24903 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.backslash, 'expected `\\`')
24904 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.characterEscape)
24905 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.escapeMarker)
24906 effects.consume(code)
24907 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.escapeMarker)
24908 return inside
24909 }
24910
24911 /**
24912 * After `\`, at punctuation.
24913 *
24914 * ```markdown
24915 * > | a\*b
24916 * ^
24917 * ```
24918 *
24919 * @type {State}
24920 */
24921 function inside(code) {
24922 // ASCII punctuation.
24923 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.asciiPunctuation)(code)) {
24924 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.characterEscapeValue)
24925 effects.consume(code)
24926 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.characterEscapeValue)
24927 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.characterEscape)
24928 return ok
24929 }
24930
24931 return nok(code)
24932 }
24933 }
24934
24935
24936 /***/ }),
24937
24938 /***/ "../node_modules/micromark-core-commonmark/dev/lib/character-reference.js":
24939 /*!********************************************************************************!*\
24940 !*** ../node_modules/micromark-core-commonmark/dev/lib/character-reference.js ***!
24941 \********************************************************************************/
24942 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
24943
24944 "use strict";
24945 __webpack_require__.r(__webpack_exports__);
24946 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
24947 /* harmony export */ characterReference: () => (/* binding */ characterReference)
24948 /* harmony export */ });
24949 /* harmony import */ var decode_named_character_reference__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! decode-named-character-reference */ "../node_modules/decode-named-character-reference/index.dom.js");
24950 /* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! micromark-util-character */ "../node_modules/micromark-util-character/dev/index.js");
24951 /* harmony import */ var micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-util-symbol/codes.js */ "../node_modules/micromark-util-symbol/codes.js");
24952 /* harmony import */ var micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! micromark-util-symbol/constants.js */ "../node_modules/micromark-util-symbol/constants.js");
24953 /* harmony import */ var micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! micromark-util-symbol/types.js */ "../node_modules/micromark-util-symbol/types.js");
24954 /* harmony import */ var uvu_assert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uvu/assert */ "../node_modules/uvu/assert/index.mjs");
24955 /**
24956 * @typedef {import('micromark-util-types').Code} Code
24957 * @typedef {import('micromark-util-types').Construct} Construct
24958 * @typedef {import('micromark-util-types').State} State
24959 * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext
24960 * @typedef {import('micromark-util-types').Tokenizer} Tokenizer
24961 */
24962
24963
24964
24965
24966
24967
24968
24969
24970 /** @type {Construct} */
24971 const characterReference = {
24972 name: 'characterReference',
24973 tokenize: tokenizeCharacterReference
24974 }
24975
24976 /**
24977 * @this {TokenizeContext}
24978 * @type {Tokenizer}
24979 */
24980 function tokenizeCharacterReference(effects, ok, nok) {
24981 const self = this
24982 let size = 0
24983 /** @type {number} */
24984 let max
24985 /** @type {(code: Code) => boolean} */
24986 let test
24987
24988 return start
24989
24990 /**
24991 * Start of character reference.
24992 *
24993 * ```markdown
24994 * > | a&amp;b
24995 * ^
24996 * > | a&#123;b
24997 * ^
24998 * > | a&#x9;b
24999 * ^
25000 * ```
25001 *
25002 * @type {State}
25003 */
25004 function start(code) {
25005 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.ampersand, 'expected `&`')
25006 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.characterReference)
25007 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.characterReferenceMarker)
25008 effects.consume(code)
25009 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.characterReferenceMarker)
25010 return open
25011 }
25012
25013 /**
25014 * After `&`, at `#` for numeric references or alphanumeric for named
25015 * references.
25016 *
25017 * ```markdown
25018 * > | a&amp;b
25019 * ^
25020 * > | a&#123;b
25021 * ^
25022 * > | a&#x9;b
25023 * ^
25024 * ```
25025 *
25026 * @type {State}
25027 */
25028 function open(code) {
25029 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.numberSign) {
25030 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.characterReferenceMarkerNumeric)
25031 effects.consume(code)
25032 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.characterReferenceMarkerNumeric)
25033 return numeric
25034 }
25035
25036 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.characterReferenceValue)
25037 max = micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_3__.constants.characterReferenceNamedSizeMax
25038 test = micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.asciiAlphanumeric
25039 return value(code)
25040 }
25041
25042 /**
25043 * After `#`, at `x` for hexadecimals or digit for decimals.
25044 *
25045 * ```markdown
25046 * > | a&#123;b
25047 * ^
25048 * > | a&#x9;b
25049 * ^
25050 * ```
25051 *
25052 * @type {State}
25053 */
25054 function numeric(code) {
25055 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.uppercaseX || code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.lowercaseX) {
25056 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.characterReferenceMarkerHexadecimal)
25057 effects.consume(code)
25058 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.characterReferenceMarkerHexadecimal)
25059 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.characterReferenceValue)
25060 max = micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_3__.constants.characterReferenceHexadecimalSizeMax
25061 test = micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.asciiHexDigit
25062 return value
25063 }
25064
25065 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.characterReferenceValue)
25066 max = micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_3__.constants.characterReferenceDecimalSizeMax
25067 test = micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.asciiDigit
25068 return value(code)
25069 }
25070
25071 /**
25072 * After markers (`&#x`, `&#`, or `&`), in value, before `;`.
25073 *
25074 * The character reference kind defines what and how many characters are
25075 * allowed.
25076 *
25077 * ```markdown
25078 * > | a&amp;b
25079 * ^^^
25080 * > | a&#123;b
25081 * ^^^
25082 * > | a&#x9;b
25083 * ^
25084 * ```
25085 *
25086 * @type {State}
25087 */
25088 function value(code) {
25089 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.semicolon && size) {
25090 const token = effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.characterReferenceValue)
25091
25092 if (
25093 test === micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.asciiAlphanumeric &&
25094 !(0,decode_named_character_reference__WEBPACK_IMPORTED_MODULE_5__.decodeNamedCharacterReference)(self.sliceSerialize(token))
25095 ) {
25096 return nok(code)
25097 }
25098
25099 // To do: `markdown-rs` uses a different name:
25100 // `CharacterReferenceMarkerSemi`.
25101 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.characterReferenceMarker)
25102 effects.consume(code)
25103 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.characterReferenceMarker)
25104 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.characterReference)
25105 return ok
25106 }
25107
25108 if (test(code) && size++ < max) {
25109 effects.consume(code)
25110 return value
25111 }
25112
25113 return nok(code)
25114 }
25115 }
25116
25117
25118 /***/ }),
25119
25120 /***/ "../node_modules/micromark-core-commonmark/dev/lib/code-fenced.js":
25121 /*!************************************************************************!*\
25122 !*** ../node_modules/micromark-core-commonmark/dev/lib/code-fenced.js ***!
25123 \************************************************************************/
25124 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
25125
25126 "use strict";
25127 __webpack_require__.r(__webpack_exports__);
25128 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
25129 /* harmony export */ codeFenced: () => (/* binding */ codeFenced)
25130 /* harmony export */ });
25131 /* harmony import */ var micromark_factory_space__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! micromark-factory-space */ "../node_modules/micromark-factory-space/dev/index.js");
25132 /* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! micromark-util-character */ "../node_modules/micromark-util-character/dev/index.js");
25133 /* harmony import */ var micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-util-symbol/codes.js */ "../node_modules/micromark-util-symbol/codes.js");
25134 /* harmony import */ var micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! micromark-util-symbol/constants.js */ "../node_modules/micromark-util-symbol/constants.js");
25135 /* harmony import */ var micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! micromark-util-symbol/types.js */ "../node_modules/micromark-util-symbol/types.js");
25136 /* harmony import */ var uvu_assert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uvu/assert */ "../node_modules/uvu/assert/index.mjs");
25137 /**
25138 * @typedef {import('micromark-util-types').Code} Code
25139 * @typedef {import('micromark-util-types').Construct} Construct
25140 * @typedef {import('micromark-util-types').State} State
25141 * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext
25142 * @typedef {import('micromark-util-types').Tokenizer} Tokenizer
25143 */
25144
25145
25146
25147
25148
25149
25150
25151
25152 /** @type {Construct} */
25153 const nonLazyContinuation = {
25154 tokenize: tokenizeNonLazyContinuation,
25155 partial: true
25156 }
25157
25158 /** @type {Construct} */
25159 const codeFenced = {
25160 name: 'codeFenced',
25161 tokenize: tokenizeCodeFenced,
25162 concrete: true
25163 }
25164
25165 /**
25166 * @this {TokenizeContext}
25167 * @type {Tokenizer}
25168 */
25169 function tokenizeCodeFenced(effects, ok, nok) {
25170 const self = this
25171 /** @type {Construct} */
25172 const closeStart = {tokenize: tokenizeCloseStart, partial: true}
25173 let initialPrefix = 0
25174 let sizeOpen = 0
25175 /** @type {NonNullable<Code>} */
25176 let marker
25177
25178 return start
25179
25180 /**
25181 * Start of code.
25182 *
25183 * ```markdown
25184 * > | ~~~js
25185 * ^
25186 * | alert(1)
25187 * | ~~~
25188 * ```
25189 *
25190 * @type {State}
25191 */
25192 function start(code) {
25193 // To do: parse whitespace like `markdown-rs`.
25194 return beforeSequenceOpen(code)
25195 }
25196
25197 /**
25198 * In opening fence, after prefix, at sequence.
25199 *
25200 * ```markdown
25201 * > | ~~~js
25202 * ^
25203 * | alert(1)
25204 * | ~~~
25205 * ```
25206 *
25207 * @type {State}
25208 */
25209 function beforeSequenceOpen(code) {
25210 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(
25211 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.graveAccent || code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.tilde,
25212 'expected `` ` `` or `~`'
25213 )
25214
25215 const tail = self.events[self.events.length - 1]
25216 initialPrefix =
25217 tail && tail[1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.linePrefix
25218 ? tail[2].sliceSerialize(tail[1], true).length
25219 : 0
25220
25221 marker = code
25222 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.codeFenced)
25223 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.codeFencedFence)
25224 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.codeFencedFenceSequence)
25225 return sequenceOpen(code)
25226 }
25227
25228 /**
25229 * In opening fence sequence.
25230 *
25231 * ```markdown
25232 * > | ~~~js
25233 * ^
25234 * | alert(1)
25235 * | ~~~
25236 * ```
25237 *
25238 * @type {State}
25239 */
25240 function sequenceOpen(code) {
25241 if (code === marker) {
25242 sizeOpen++
25243 effects.consume(code)
25244 return sequenceOpen
25245 }
25246
25247 if (sizeOpen < micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_3__.constants.codeFencedSequenceSizeMin) {
25248 return nok(code)
25249 }
25250
25251 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.codeFencedFenceSequence)
25252 return (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.markdownSpace)(code)
25253 ? (0,micromark_factory_space__WEBPACK_IMPORTED_MODULE_5__.factorySpace)(effects, infoBefore, micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.whitespace)(code)
25254 : infoBefore(code)
25255 }
25256
25257 /**
25258 * In opening fence, after the sequence (and optional whitespace), before info.
25259 *
25260 * ```markdown
25261 * > | ~~~js
25262 * ^
25263 * | alert(1)
25264 * | ~~~
25265 * ```
25266 *
25267 * @type {State}
25268 */
25269 function infoBefore(code) {
25270 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.eof || (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.markdownLineEnding)(code)) {
25271 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.codeFencedFence)
25272 return self.interrupt
25273 ? ok(code)
25274 : effects.check(nonLazyContinuation, atNonLazyBreak, after)(code)
25275 }
25276
25277 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.codeFencedFenceInfo)
25278 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.chunkString, {contentType: micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_3__.constants.contentTypeString})
25279 return info(code)
25280 }
25281
25282 /**
25283 * In info.
25284 *
25285 * ```markdown
25286 * > | ~~~js
25287 * ^
25288 * | alert(1)
25289 * | ~~~
25290 * ```
25291 *
25292 * @type {State}
25293 */
25294 function info(code) {
25295 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.eof || (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.markdownLineEnding)(code)) {
25296 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.chunkString)
25297 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.codeFencedFenceInfo)
25298 return infoBefore(code)
25299 }
25300
25301 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.markdownSpace)(code)) {
25302 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.chunkString)
25303 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.codeFencedFenceInfo)
25304 return (0,micromark_factory_space__WEBPACK_IMPORTED_MODULE_5__.factorySpace)(effects, metaBefore, micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.whitespace)(code)
25305 }
25306
25307 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.graveAccent && code === marker) {
25308 return nok(code)
25309 }
25310
25311 effects.consume(code)
25312 return info
25313 }
25314
25315 /**
25316 * In opening fence, after info and whitespace, before meta.
25317 *
25318 * ```markdown
25319 * > | ~~~js eval
25320 * ^
25321 * | alert(1)
25322 * | ~~~
25323 * ```
25324 *
25325 * @type {State}
25326 */
25327 function metaBefore(code) {
25328 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.eof || (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.markdownLineEnding)(code)) {
25329 return infoBefore(code)
25330 }
25331
25332 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.codeFencedFenceMeta)
25333 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.chunkString, {contentType: micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_3__.constants.contentTypeString})
25334 return meta(code)
25335 }
25336
25337 /**
25338 * In meta.
25339 *
25340 * ```markdown
25341 * > | ~~~js eval
25342 * ^
25343 * | alert(1)
25344 * | ~~~
25345 * ```
25346 *
25347 * @type {State}
25348 */
25349 function meta(code) {
25350 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.eof || (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.markdownLineEnding)(code)) {
25351 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.chunkString)
25352 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.codeFencedFenceMeta)
25353 return infoBefore(code)
25354 }
25355
25356 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.graveAccent && code === marker) {
25357 return nok(code)
25358 }
25359
25360 effects.consume(code)
25361 return meta
25362 }
25363
25364 /**
25365 * At eol/eof in code, before a non-lazy closing fence or content.
25366 *
25367 * ```markdown
25368 * > | ~~~js
25369 * ^
25370 * > | alert(1)
25371 * ^
25372 * | ~~~
25373 * ```
25374 *
25375 * @type {State}
25376 */
25377 function atNonLazyBreak(code) {
25378 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.markdownLineEnding)(code), 'expected eol')
25379 return effects.attempt(closeStart, after, contentBefore)(code)
25380 }
25381
25382 /**
25383 * Before code content, not a closing fence, at eol.
25384 *
25385 * ```markdown
25386 * | ~~~js
25387 * > | alert(1)
25388 * ^
25389 * | ~~~
25390 * ```
25391 *
25392 * @type {State}
25393 */
25394 function contentBefore(code) {
25395 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.markdownLineEnding)(code), 'expected eol')
25396 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.lineEnding)
25397 effects.consume(code)
25398 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.lineEnding)
25399 return contentStart
25400 }
25401
25402 /**
25403 * Before code content, not a closing fence.
25404 *
25405 * ```markdown
25406 * | ~~~js
25407 * > | alert(1)
25408 * ^
25409 * | ~~~
25410 * ```
25411 *
25412 * @type {State}
25413 */
25414 function contentStart(code) {
25415 return initialPrefix > 0 && (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.markdownSpace)(code)
25416 ? (0,micromark_factory_space__WEBPACK_IMPORTED_MODULE_5__.factorySpace)(
25417 effects,
25418 beforeContentChunk,
25419 micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.linePrefix,
25420 initialPrefix + 1
25421 )(code)
25422 : beforeContentChunk(code)
25423 }
25424
25425 /**
25426 * Before code content, after optional prefix.
25427 *
25428 * ```markdown
25429 * | ~~~js
25430 * > | alert(1)
25431 * ^
25432 * | ~~~
25433 * ```
25434 *
25435 * @type {State}
25436 */
25437 function beforeContentChunk(code) {
25438 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.eof || (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.markdownLineEnding)(code)) {
25439 return effects.check(nonLazyContinuation, atNonLazyBreak, after)(code)
25440 }
25441
25442 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.codeFlowValue)
25443 return contentChunk(code)
25444 }
25445
25446 /**
25447 * In code content.
25448 *
25449 * ```markdown
25450 * | ~~~js
25451 * > | alert(1)
25452 * ^^^^^^^^
25453 * | ~~~
25454 * ```
25455 *
25456 * @type {State}
25457 */
25458 function contentChunk(code) {
25459 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.eof || (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.markdownLineEnding)(code)) {
25460 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.codeFlowValue)
25461 return beforeContentChunk(code)
25462 }
25463
25464 effects.consume(code)
25465 return contentChunk
25466 }
25467
25468 /**
25469 * After code.
25470 *
25471 * ```markdown
25472 * | ~~~js
25473 * | alert(1)
25474 * > | ~~~
25475 * ^
25476 * ```
25477 *
25478 * @type {State}
25479 */
25480 function after(code) {
25481 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.codeFenced)
25482 return ok(code)
25483 }
25484
25485 /**
25486 * @this {TokenizeContext}
25487 * @type {Tokenizer}
25488 */
25489 function tokenizeCloseStart(effects, ok, nok) {
25490 let size = 0
25491
25492 return startBefore
25493
25494 /**
25495 *
25496 *
25497 * @type {State}
25498 */
25499 function startBefore(code) {
25500 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.markdownLineEnding)(code), 'expected eol')
25501 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.lineEnding)
25502 effects.consume(code)
25503 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.lineEnding)
25504 return start
25505 }
25506
25507 /**
25508 * Before closing fence, at optional whitespace.
25509 *
25510 * ```markdown
25511 * | ~~~js
25512 * | alert(1)
25513 * > | ~~~
25514 * ^
25515 * ```
25516 *
25517 * @type {State}
25518 */
25519 function start(code) {
25520 // Always populated by defaults.
25521 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(
25522 self.parser.constructs.disable.null,
25523 'expected `disable.null` to be populated'
25524 )
25525
25526 // To do: `enter` here or in next state?
25527 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.codeFencedFence)
25528 return (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.markdownSpace)(code)
25529 ? (0,micromark_factory_space__WEBPACK_IMPORTED_MODULE_5__.factorySpace)(
25530 effects,
25531 beforeSequenceClose,
25532 micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.linePrefix,
25533 self.parser.constructs.disable.null.includes('codeIndented')
25534 ? undefined
25535 : micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_3__.constants.tabSize
25536 )(code)
25537 : beforeSequenceClose(code)
25538 }
25539
25540 /**
25541 * In closing fence, after optional whitespace, at sequence.
25542 *
25543 * ```markdown
25544 * | ~~~js
25545 * | alert(1)
25546 * > | ~~~
25547 * ^
25548 * ```
25549 *
25550 * @type {State}
25551 */
25552 function beforeSequenceClose(code) {
25553 if (code === marker) {
25554 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.codeFencedFenceSequence)
25555 return sequenceClose(code)
25556 }
25557
25558 return nok(code)
25559 }
25560
25561 /**
25562 * In closing fence sequence.
25563 *
25564 * ```markdown
25565 * | ~~~js
25566 * | alert(1)
25567 * > | ~~~
25568 * ^
25569 * ```
25570 *
25571 * @type {State}
25572 */
25573 function sequenceClose(code) {
25574 if (code === marker) {
25575 size++
25576 effects.consume(code)
25577 return sequenceClose
25578 }
25579
25580 if (size >= sizeOpen) {
25581 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.codeFencedFenceSequence)
25582 return (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.markdownSpace)(code)
25583 ? (0,micromark_factory_space__WEBPACK_IMPORTED_MODULE_5__.factorySpace)(effects, sequenceCloseAfter, micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.whitespace)(code)
25584 : sequenceCloseAfter(code)
25585 }
25586
25587 return nok(code)
25588 }
25589
25590 /**
25591 * After closing fence sequence, after optional whitespace.
25592 *
25593 * ```markdown
25594 * | ~~~js
25595 * | alert(1)
25596 * > | ~~~
25597 * ^
25598 * ```
25599 *
25600 * @type {State}
25601 */
25602 function sequenceCloseAfter(code) {
25603 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.eof || (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.markdownLineEnding)(code)) {
25604 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.codeFencedFence)
25605 return ok(code)
25606 }
25607
25608 return nok(code)
25609 }
25610 }
25611 }
25612
25613 /**
25614 * @this {TokenizeContext}
25615 * @type {Tokenizer}
25616 */
25617 function tokenizeNonLazyContinuation(effects, ok, nok) {
25618 const self = this
25619
25620 return start
25621
25622 /**
25623 *
25624 *
25625 * @type {State}
25626 */
25627 function start(code) {
25628 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.eof) {
25629 return nok(code)
25630 }
25631
25632 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.markdownLineEnding)(code), 'expected eol')
25633 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.lineEnding)
25634 effects.consume(code)
25635 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.lineEnding)
25636 return lineStart
25637 }
25638
25639 /**
25640 *
25641 *
25642 * @type {State}
25643 */
25644 function lineStart(code) {
25645 return self.parser.lazy[self.now().line] ? nok(code) : ok(code)
25646 }
25647 }
25648
25649
25650 /***/ }),
25651
25652 /***/ "../node_modules/micromark-core-commonmark/dev/lib/code-indented.js":
25653 /*!**************************************************************************!*\
25654 !*** ../node_modules/micromark-core-commonmark/dev/lib/code-indented.js ***!
25655 \**************************************************************************/
25656 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
25657
25658 "use strict";
25659 __webpack_require__.r(__webpack_exports__);
25660 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
25661 /* harmony export */ codeIndented: () => (/* binding */ codeIndented)
25662 /* harmony export */ });
25663 /* harmony import */ var micromark_factory_space__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! micromark-factory-space */ "../node_modules/micromark-factory-space/dev/index.js");
25664 /* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-util-character */ "../node_modules/micromark-util-character/dev/index.js");
25665 /* harmony import */ var micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! micromark-util-symbol/codes.js */ "../node_modules/micromark-util-symbol/codes.js");
25666 /* harmony import */ var micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! micromark-util-symbol/constants.js */ "../node_modules/micromark-util-symbol/constants.js");
25667 /* harmony import */ var micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! micromark-util-symbol/types.js */ "../node_modules/micromark-util-symbol/types.js");
25668 /* harmony import */ var uvu_assert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uvu/assert */ "../node_modules/uvu/assert/index.mjs");
25669 /**
25670 * @typedef {import('micromark-util-types').Construct} Construct
25671 * @typedef {import('micromark-util-types').State} State
25672 * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext
25673 * @typedef {import('micromark-util-types').Tokenizer} Tokenizer
25674 */
25675
25676
25677
25678
25679
25680
25681
25682
25683 /** @type {Construct} */
25684 const codeIndented = {
25685 name: 'codeIndented',
25686 tokenize: tokenizeCodeIndented
25687 }
25688
25689 /** @type {Construct} */
25690 const furtherStart = {tokenize: tokenizeFurtherStart, partial: true}
25691
25692 /**
25693 * @this {TokenizeContext}
25694 * @type {Tokenizer}
25695 */
25696 function tokenizeCodeIndented(effects, ok, nok) {
25697 const self = this
25698 return start
25699
25700 /**
25701 * Start of code (indented).
25702 *
25703 * > **Parsing note**: it is not needed to check if this first line is a
25704 * > filled line (that it has a non-whitespace character), because blank lines
25705 * > are parsed already, so we never run into that.
25706 *
25707 * ```markdown
25708 * > | aaa
25709 * ^
25710 * ```
25711 *
25712 * @type {State}
25713 */
25714 function start(code) {
25715 // To do: manually check if interrupting like `markdown-rs`.
25716 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_1__.markdownSpace)(code))
25717 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.codeIndented)
25718 // To do: use an improved `space_or_tab` function like `markdown-rs`,
25719 // so that we can drop the next state.
25720 return (0,micromark_factory_space__WEBPACK_IMPORTED_MODULE_3__.factorySpace)(
25721 effects,
25722 afterPrefix,
25723 micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.linePrefix,
25724 micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_4__.constants.tabSize + 1
25725 )(code)
25726 }
25727
25728 /**
25729 * At start, after 1 or 4 spaces.
25730 *
25731 * ```markdown
25732 * > | aaa
25733 * ^
25734 * ```
25735 *
25736 * @type {State}
25737 */
25738 function afterPrefix(code) {
25739 const tail = self.events[self.events.length - 1]
25740 return tail &&
25741 tail[1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.linePrefix &&
25742 tail[2].sliceSerialize(tail[1], true).length >= micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_4__.constants.tabSize
25743 ? atBreak(code)
25744 : nok(code)
25745 }
25746
25747 /**
25748 * At a break.
25749 *
25750 * ```markdown
25751 * > | aaa
25752 * ^ ^
25753 * ```
25754 *
25755 * @type {State}
25756 */
25757 function atBreak(code) {
25758 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_5__.codes.eof) {
25759 return after(code)
25760 }
25761
25762 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_1__.markdownLineEnding)(code)) {
25763 return effects.attempt(furtherStart, atBreak, after)(code)
25764 }
25765
25766 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.codeFlowValue)
25767 return inside(code)
25768 }
25769
25770 /**
25771 * In code content.
25772 *
25773 * ```markdown
25774 * > | aaa
25775 * ^^^^
25776 * ```
25777 *
25778 * @type {State}
25779 */
25780 function inside(code) {
25781 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_5__.codes.eof || (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_1__.markdownLineEnding)(code)) {
25782 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.codeFlowValue)
25783 return atBreak(code)
25784 }
25785
25786 effects.consume(code)
25787 return inside
25788 }
25789
25790 /** @type {State} */
25791 function after(code) {
25792 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.codeIndented)
25793 // To do: allow interrupting like `markdown-rs`.
25794 // Feel free to interrupt.
25795 // tokenizer.interrupt = false
25796 return ok(code)
25797 }
25798 }
25799
25800 /**
25801 * @this {TokenizeContext}
25802 * @type {Tokenizer}
25803 */
25804 function tokenizeFurtherStart(effects, ok, nok) {
25805 const self = this
25806
25807 return furtherStart
25808
25809 /**
25810 * At eol, trying to parse another indent.
25811 *
25812 * ```markdown
25813 * > | aaa
25814 * ^
25815 * | bbb
25816 * ```
25817 *
25818 * @type {State}
25819 */
25820 function furtherStart(code) {
25821 // To do: improve `lazy` / `pierce` handling.
25822 // If this is a lazy line, it can’t be code.
25823 if (self.parser.lazy[self.now().line]) {
25824 return nok(code)
25825 }
25826
25827 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_1__.markdownLineEnding)(code)) {
25828 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.lineEnding)
25829 effects.consume(code)
25830 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.lineEnding)
25831 return furtherStart
25832 }
25833
25834 // To do: the code here in `micromark-js` is a bit different from
25835 // `markdown-rs` because there it can attempt spaces.
25836 // We can’t yet.
25837 //
25838 // To do: use an improved `space_or_tab` function like `markdown-rs`,
25839 // so that we can drop the next state.
25840 return (0,micromark_factory_space__WEBPACK_IMPORTED_MODULE_3__.factorySpace)(
25841 effects,
25842 afterPrefix,
25843 micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.linePrefix,
25844 micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_4__.constants.tabSize + 1
25845 )(code)
25846 }
25847
25848 /**
25849 * At start, after 1 or 4 spaces.
25850 *
25851 * ```markdown
25852 * > | aaa
25853 * ^
25854 * ```
25855 *
25856 * @type {State}
25857 */
25858 function afterPrefix(code) {
25859 const tail = self.events[self.events.length - 1]
25860 return tail &&
25861 tail[1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.linePrefix &&
25862 tail[2].sliceSerialize(tail[1], true).length >= micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_4__.constants.tabSize
25863 ? ok(code)
25864 : (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_1__.markdownLineEnding)(code)
25865 ? furtherStart(code)
25866 : nok(code)
25867 }
25868 }
25869
25870
25871 /***/ }),
25872
25873 /***/ "../node_modules/micromark-core-commonmark/dev/lib/code-text.js":
25874 /*!**********************************************************************!*\
25875 !*** ../node_modules/micromark-core-commonmark/dev/lib/code-text.js ***!
25876 \**********************************************************************/
25877 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
25878
25879 "use strict";
25880 __webpack_require__.r(__webpack_exports__);
25881 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
25882 /* harmony export */ codeText: () => (/* binding */ codeText)
25883 /* harmony export */ });
25884 /* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! micromark-util-character */ "../node_modules/micromark-util-character/dev/index.js");
25885 /* harmony import */ var micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! micromark-util-symbol/codes.js */ "../node_modules/micromark-util-symbol/codes.js");
25886 /* harmony import */ var micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-util-symbol/types.js */ "../node_modules/micromark-util-symbol/types.js");
25887 /* harmony import */ var uvu_assert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uvu/assert */ "../node_modules/uvu/assert/index.mjs");
25888 /**
25889 * @typedef {import('micromark-util-types').Construct} Construct
25890 * @typedef {import('micromark-util-types').Previous} Previous
25891 * @typedef {import('micromark-util-types').Resolver} Resolver
25892 * @typedef {import('micromark-util-types').State} State
25893 * @typedef {import('micromark-util-types').Token} Token
25894 * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext
25895 * @typedef {import('micromark-util-types').Tokenizer} Tokenizer
25896 */
25897
25898
25899
25900
25901
25902
25903 /** @type {Construct} */
25904 const codeText = {
25905 name: 'codeText',
25906 tokenize: tokenizeCodeText,
25907 resolve: resolveCodeText,
25908 previous
25909 }
25910
25911 // To do: next major: don’t resolve, like `markdown-rs`.
25912 /** @type {Resolver} */
25913 function resolveCodeText(events) {
25914 let tailExitIndex = events.length - 4
25915 let headEnterIndex = 3
25916 /** @type {number} */
25917 let index
25918 /** @type {number | undefined} */
25919 let enter
25920
25921 // If we start and end with an EOL or a space.
25922 if (
25923 (events[headEnterIndex][1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.lineEnding ||
25924 events[headEnterIndex][1].type === 'space') &&
25925 (events[tailExitIndex][1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.lineEnding ||
25926 events[tailExitIndex][1].type === 'space')
25927 ) {
25928 index = headEnterIndex
25929
25930 // And we have data.
25931 while (++index < tailExitIndex) {
25932 if (events[index][1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.codeTextData) {
25933 // Then we have padding.
25934 events[headEnterIndex][1].type = micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.codeTextPadding
25935 events[tailExitIndex][1].type = micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.codeTextPadding
25936 headEnterIndex += 2
25937 tailExitIndex -= 2
25938 break
25939 }
25940 }
25941 }
25942
25943 // Merge adjacent spaces and data.
25944 index = headEnterIndex - 1
25945 tailExitIndex++
25946
25947 while (++index <= tailExitIndex) {
25948 if (enter === undefined) {
25949 if (
25950 index !== tailExitIndex &&
25951 events[index][1].type !== micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.lineEnding
25952 ) {
25953 enter = index
25954 }
25955 } else if (
25956 index === tailExitIndex ||
25957 events[index][1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.lineEnding
25958 ) {
25959 events[enter][1].type = micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.codeTextData
25960
25961 if (index !== enter + 2) {
25962 events[enter][1].end = events[index - 1][1].end
25963 events.splice(enter + 2, index - enter - 2)
25964 tailExitIndex -= index - enter - 2
25965 index = enter + 2
25966 }
25967
25968 enter = undefined
25969 }
25970 }
25971
25972 return events
25973 }
25974
25975 /**
25976 * @this {TokenizeContext}
25977 * @type {Previous}
25978 */
25979 function previous(code) {
25980 // If there is a previous code, there will always be a tail.
25981 return (
25982 code !== micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.graveAccent ||
25983 this.events[this.events.length - 1][1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.characterEscape
25984 )
25985 }
25986
25987 /**
25988 * @this {TokenizeContext}
25989 * @type {Tokenizer}
25990 */
25991 function tokenizeCodeText(effects, ok, nok) {
25992 const self = this
25993 let sizeOpen = 0
25994 /** @type {number} */
25995 let size
25996 /** @type {Token} */
25997 let token
25998
25999 return start
26000
26001 /**
26002 * Start of code (text).
26003 *
26004 * ```markdown
26005 * > | `a`
26006 * ^
26007 * > | \`a`
26008 * ^
26009 * ```
26010 *
26011 * @type {State}
26012 */
26013 function start(code) {
26014 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.graveAccent, 'expected `` ` ``')
26015 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(previous.call(self, self.previous), 'expected correct previous')
26016 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.codeText)
26017 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.codeTextSequence)
26018 return sequenceOpen(code)
26019 }
26020
26021 /**
26022 * In opening sequence.
26023 *
26024 * ```markdown
26025 * > | `a`
26026 * ^
26027 * ```
26028 *
26029 * @type {State}
26030 */
26031 function sequenceOpen(code) {
26032 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.graveAccent) {
26033 effects.consume(code)
26034 sizeOpen++
26035 return sequenceOpen
26036 }
26037
26038 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.codeTextSequence)
26039 return between(code)
26040 }
26041
26042 /**
26043 * Between something and something else.
26044 *
26045 * ```markdown
26046 * > | `a`
26047 * ^^
26048 * ```
26049 *
26050 * @type {State}
26051 */
26052 function between(code) {
26053 // EOF.
26054 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.eof) {
26055 return nok(code)
26056 }
26057
26058 // To do: next major: don’t do spaces in resolve, but when compiling,
26059 // like `markdown-rs`.
26060 // Tabs don’t work, and virtual spaces don’t make sense.
26061 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.space) {
26062 effects.enter('space')
26063 effects.consume(code)
26064 effects.exit('space')
26065 return between
26066 }
26067
26068 // Closing fence? Could also be data.
26069 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.graveAccent) {
26070 token = effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.codeTextSequence)
26071 size = 0
26072 return sequenceClose(code)
26073 }
26074
26075 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.markdownLineEnding)(code)) {
26076 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.lineEnding)
26077 effects.consume(code)
26078 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.lineEnding)
26079 return between
26080 }
26081
26082 // Data.
26083 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.codeTextData)
26084 return data(code)
26085 }
26086
26087 /**
26088 * In data.
26089 *
26090 * ```markdown
26091 * > | `a`
26092 * ^
26093 * ```
26094 *
26095 * @type {State}
26096 */
26097 function data(code) {
26098 if (
26099 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.eof ||
26100 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.space ||
26101 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.graveAccent ||
26102 (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.markdownLineEnding)(code)
26103 ) {
26104 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.codeTextData)
26105 return between(code)
26106 }
26107
26108 effects.consume(code)
26109 return data
26110 }
26111
26112 /**
26113 * In closing sequence.
26114 *
26115 * ```markdown
26116 * > | `a`
26117 * ^
26118 * ```
26119 *
26120 * @type {State}
26121 */
26122 function sequenceClose(code) {
26123 // More.
26124 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.graveAccent) {
26125 effects.consume(code)
26126 size++
26127 return sequenceClose
26128 }
26129
26130 // Done!
26131 if (size === sizeOpen) {
26132 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.codeTextSequence)
26133 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.codeText)
26134 return ok(code)
26135 }
26136
26137 // More or less accents: mark as data.
26138 token.type = micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.codeTextData
26139 return data(code)
26140 }
26141 }
26142
26143
26144 /***/ }),
26145
26146 /***/ "../node_modules/micromark-core-commonmark/dev/lib/content.js":
26147 /*!********************************************************************!*\
26148 !*** ../node_modules/micromark-core-commonmark/dev/lib/content.js ***!
26149 \********************************************************************/
26150 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
26151
26152 "use strict";
26153 __webpack_require__.r(__webpack_exports__);
26154 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
26155 /* harmony export */ content: () => (/* binding */ content)
26156 /* harmony export */ });
26157 /* harmony import */ var micromark_factory_space__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! micromark-factory-space */ "../node_modules/micromark-factory-space/dev/index.js");
26158 /* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! micromark-util-character */ "../node_modules/micromark-util-character/dev/index.js");
26159 /* harmony import */ var micromark_util_subtokenize__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-util-subtokenize */ "../node_modules/micromark-util-subtokenize/dev/index.js");
26160 /* harmony import */ var micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! micromark-util-symbol/codes.js */ "../node_modules/micromark-util-symbol/codes.js");
26161 /* harmony import */ var micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! micromark-util-symbol/constants.js */ "../node_modules/micromark-util-symbol/constants.js");
26162 /* harmony import */ var micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! micromark-util-symbol/types.js */ "../node_modules/micromark-util-symbol/types.js");
26163 /* harmony import */ var uvu_assert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uvu/assert */ "../node_modules/uvu/assert/index.mjs");
26164 /**
26165 * @typedef {import('micromark-util-types').Construct} Construct
26166 * @typedef {import('micromark-util-types').Resolver} Resolver
26167 * @typedef {import('micromark-util-types').State} State
26168 * @typedef {import('micromark-util-types').Token} Token
26169 * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext
26170 * @typedef {import('micromark-util-types').Tokenizer} Tokenizer
26171 */
26172
26173
26174
26175
26176
26177
26178
26179
26180
26181 /**
26182 * No name because it must not be turned off.
26183 * @type {Construct}
26184 */
26185 const content = {tokenize: tokenizeContent, resolve: resolveContent}
26186
26187 /** @type {Construct} */
26188 const continuationConstruct = {tokenize: tokenizeContinuation, partial: true}
26189
26190 /**
26191 * Content is transparent: it’s parsed right now. That way, definitions are also
26192 * parsed right now: before text in paragraphs (specifically, media) are parsed.
26193 *
26194 * @type {Resolver}
26195 */
26196 function resolveContent(events) {
26197 ;(0,micromark_util_subtokenize__WEBPACK_IMPORTED_MODULE_1__.subtokenize)(events)
26198 return events
26199 }
26200
26201 /**
26202 * @this {TokenizeContext}
26203 * @type {Tokenizer}
26204 */
26205 function tokenizeContent(effects, ok) {
26206 /** @type {Token | undefined} */
26207 let previous
26208
26209 return chunkStart
26210
26211 /**
26212 * Before a content chunk.
26213 *
26214 * ```markdown
26215 * > | abc
26216 * ^
26217 * ```
26218 *
26219 * @type {State}
26220 */
26221 function chunkStart(code) {
26222 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(
26223 code !== micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.eof && !(0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.markdownLineEnding)(code),
26224 'expected no eof or eol'
26225 )
26226
26227 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.content)
26228 previous = effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.chunkContent, {
26229 contentType: micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_5__.constants.contentTypeContent
26230 })
26231 return chunkInside(code)
26232 }
26233
26234 /**
26235 * In a content chunk.
26236 *
26237 * ```markdown
26238 * > | abc
26239 * ^^^
26240 * ```
26241 *
26242 * @type {State}
26243 */
26244 function chunkInside(code) {
26245 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.eof) {
26246 return contentEnd(code)
26247 }
26248
26249 // To do: in `markdown-rs`, each line is parsed on its own, and everything
26250 // is stitched together resolving.
26251 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.markdownLineEnding)(code)) {
26252 return effects.check(
26253 continuationConstruct,
26254 contentContinue,
26255 contentEnd
26256 )(code)
26257 }
26258
26259 // Data.
26260 effects.consume(code)
26261 return chunkInside
26262 }
26263
26264 /**
26265 *
26266 *
26267 * @type {State}
26268 */
26269 function contentEnd(code) {
26270 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.chunkContent)
26271 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.content)
26272 return ok(code)
26273 }
26274
26275 /**
26276 *
26277 *
26278 * @type {State}
26279 */
26280 function contentContinue(code) {
26281 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.markdownLineEnding)(code), 'expected eol')
26282 effects.consume(code)
26283 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.chunkContent)
26284 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(previous, 'expected previous token')
26285 previous.next = effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.chunkContent, {
26286 contentType: micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_5__.constants.contentTypeContent,
26287 previous
26288 })
26289 previous = previous.next
26290 return chunkInside
26291 }
26292 }
26293
26294 /**
26295 * @this {TokenizeContext}
26296 * @type {Tokenizer}
26297 */
26298 function tokenizeContinuation(effects, ok, nok) {
26299 const self = this
26300
26301 return startLookahead
26302
26303 /**
26304 *
26305 *
26306 * @type {State}
26307 */
26308 function startLookahead(code) {
26309 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.markdownLineEnding)(code), 'expected a line ending')
26310 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.chunkContent)
26311 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.lineEnding)
26312 effects.consume(code)
26313 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.lineEnding)
26314 return (0,micromark_factory_space__WEBPACK_IMPORTED_MODULE_6__.factorySpace)(effects, prefixed, micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.linePrefix)
26315 }
26316
26317 /**
26318 *
26319 *
26320 * @type {State}
26321 */
26322 function prefixed(code) {
26323 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.eof || (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.markdownLineEnding)(code)) {
26324 return nok(code)
26325 }
26326
26327 // Always populated by defaults.
26328 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(
26329 self.parser.constructs.disable.null,
26330 'expected `disable.null` to be populated'
26331 )
26332
26333 const tail = self.events[self.events.length - 1]
26334
26335 if (
26336 !self.parser.constructs.disable.null.includes('codeIndented') &&
26337 tail &&
26338 tail[1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.linePrefix &&
26339 tail[2].sliceSerialize(tail[1], true).length >= micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_5__.constants.tabSize
26340 ) {
26341 return ok(code)
26342 }
26343
26344 return effects.interrupt(self.parser.constructs.flow, nok, ok)(code)
26345 }
26346 }
26347
26348
26349 /***/ }),
26350
26351 /***/ "../node_modules/micromark-core-commonmark/dev/lib/definition.js":
26352 /*!***********************************************************************!*\
26353 !*** ../node_modules/micromark-core-commonmark/dev/lib/definition.js ***!
26354 \***********************************************************************/
26355 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
26356
26357 "use strict";
26358 __webpack_require__.r(__webpack_exports__);
26359 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
26360 /* harmony export */ definition: () => (/* binding */ definition)
26361 /* harmony export */ });
26362 /* harmony import */ var micromark_factory_destination__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! micromark-factory-destination */ "../node_modules/micromark-factory-destination/dev/index.js");
26363 /* harmony import */ var micromark_factory_label__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! micromark-factory-label */ "../node_modules/micromark-factory-label/dev/index.js");
26364 /* harmony import */ var micromark_factory_space__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! micromark-factory-space */ "../node_modules/micromark-factory-space/dev/index.js");
26365 /* harmony import */ var micromark_factory_title__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! micromark-factory-title */ "../node_modules/micromark-factory-title/dev/index.js");
26366 /* harmony import */ var micromark_factory_whitespace__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! micromark-factory-whitespace */ "../node_modules/micromark-factory-whitespace/dev/index.js");
26367 /* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! micromark-util-character */ "../node_modules/micromark-util-character/dev/index.js");
26368 /* harmony import */ var micromark_util_normalize_identifier__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! micromark-util-normalize-identifier */ "../node_modules/micromark-util-normalize-identifier/dev/index.js");
26369 /* harmony import */ var micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! micromark-util-symbol/codes.js */ "../node_modules/micromark-util-symbol/codes.js");
26370 /* harmony import */ var micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-util-symbol/types.js */ "../node_modules/micromark-util-symbol/types.js");
26371 /* harmony import */ var uvu_assert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uvu/assert */ "../node_modules/uvu/assert/index.mjs");
26372 /**
26373 * @typedef {import('micromark-util-types').Construct} Construct
26374 * @typedef {import('micromark-util-types').State} State
26375 * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext
26376 * @typedef {import('micromark-util-types').Tokenizer} Tokenizer
26377 */
26378
26379
26380
26381
26382
26383
26384
26385
26386
26387
26388
26389
26390 /** @type {Construct} */
26391 const definition = {name: 'definition', tokenize: tokenizeDefinition}
26392
26393 /** @type {Construct} */
26394 const titleBefore = {tokenize: tokenizeTitleBefore, partial: true}
26395
26396 /**
26397 * @this {TokenizeContext}
26398 * @type {Tokenizer}
26399 */
26400 function tokenizeDefinition(effects, ok, nok) {
26401 const self = this
26402 /** @type {string} */
26403 let identifier
26404
26405 return start
26406
26407 /**
26408 * At start of a definition.
26409 *
26410 * ```markdown
26411 * > | [a]: b "c"
26412 * ^
26413 * ```
26414 *
26415 * @type {State}
26416 */
26417 function start(code) {
26418 // Do not interrupt paragraphs (but do follow definitions).
26419 // To do: do `interrupt` the way `markdown-rs` does.
26420 // To do: parse whitespace the way `markdown-rs` does.
26421 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.definition)
26422 return before(code)
26423 }
26424
26425 /**
26426 * After optional whitespace, at `[`.
26427 *
26428 * ```markdown
26429 * > | [a]: b "c"
26430 * ^
26431 * ```
26432 *
26433 * @type {State}
26434 */
26435 function before(code) {
26436 // To do: parse whitespace the way `markdown-rs` does.
26437 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.leftSquareBracket, 'expected `[`')
26438 return micromark_factory_label__WEBPACK_IMPORTED_MODULE_3__.factoryLabel.call(
26439 self,
26440 effects,
26441 labelAfter,
26442 // Note: we don’t need to reset the way `markdown-rs` does.
26443 nok,
26444 micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.definitionLabel,
26445 micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.definitionLabelMarker,
26446 micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.definitionLabelString
26447 )(code)
26448 }
26449
26450 /**
26451 * After label.
26452 *
26453 * ```markdown
26454 * > | [a]: b "c"
26455 * ^
26456 * ```
26457 *
26458 * @type {State}
26459 */
26460 function labelAfter(code) {
26461 identifier = (0,micromark_util_normalize_identifier__WEBPACK_IMPORTED_MODULE_4__.normalizeIdentifier)(
26462 self.sliceSerialize(self.events[self.events.length - 1][1]).slice(1, -1)
26463 )
26464
26465 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.colon) {
26466 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.definitionMarker)
26467 effects.consume(code)
26468 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.definitionMarker)
26469 return markerAfter
26470 }
26471
26472 return nok(code)
26473 }
26474
26475 /**
26476 * After marker.
26477 *
26478 * ```markdown
26479 * > | [a]: b "c"
26480 * ^
26481 * ```
26482 *
26483 * @type {State}
26484 */
26485 function markerAfter(code) {
26486 // Note: whitespace is optional.
26487 return (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_5__.markdownLineEndingOrSpace)(code)
26488 ? (0,micromark_factory_whitespace__WEBPACK_IMPORTED_MODULE_6__.factoryWhitespace)(effects, destinationBefore)(code)
26489 : destinationBefore(code)
26490 }
26491
26492 /**
26493 * Before destination.
26494 *
26495 * ```markdown
26496 * > | [a]: b "c"
26497 * ^
26498 * ```
26499 *
26500 * @type {State}
26501 */
26502 function destinationBefore(code) {
26503 return (0,micromark_factory_destination__WEBPACK_IMPORTED_MODULE_7__.factoryDestination)(
26504 effects,
26505 destinationAfter,
26506 // Note: we don’t need to reset the way `markdown-rs` does.
26507 nok,
26508 micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.definitionDestination,
26509 micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.definitionDestinationLiteral,
26510 micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.definitionDestinationLiteralMarker,
26511 micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.definitionDestinationRaw,
26512 micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.definitionDestinationString
26513 )(code)
26514 }
26515
26516 /**
26517 * After destination.
26518 *
26519 * ```markdown
26520 * > | [a]: b "c"
26521 * ^
26522 * ```
26523 *
26524 * @type {State}
26525 */
26526 function destinationAfter(code) {
26527 return effects.attempt(titleBefore, after, after)(code)
26528 }
26529
26530 /**
26531 * After definition.
26532 *
26533 * ```markdown
26534 * > | [a]: b
26535 * ^
26536 * > | [a]: b "c"
26537 * ^
26538 * ```
26539 *
26540 * @type {State}
26541 */
26542 function after(code) {
26543 return (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_5__.markdownSpace)(code)
26544 ? (0,micromark_factory_space__WEBPACK_IMPORTED_MODULE_8__.factorySpace)(effects, afterWhitespace, micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.whitespace)(code)
26545 : afterWhitespace(code)
26546 }
26547
26548 /**
26549 * After definition, after optional whitespace.
26550 *
26551 * ```markdown
26552 * > | [a]: b
26553 * ^
26554 * > | [a]: b "c"
26555 * ^
26556 * ```
26557 *
26558 * @type {State}
26559 */
26560 function afterWhitespace(code) {
26561 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.eof || (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_5__.markdownLineEnding)(code)) {
26562 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.definition)
26563
26564 // Note: we don’t care about uniqueness.
26565 // It’s likely that that doesn’t happen very frequently.
26566 // It is more likely that it wastes precious time.
26567 self.parser.defined.push(identifier)
26568
26569 // To do: `markdown-rs` interrupt.
26570 // // You’d be interrupting.
26571 // tokenizer.interrupt = true
26572 return ok(code)
26573 }
26574
26575 return nok(code)
26576 }
26577 }
26578
26579 /**
26580 * @this {TokenizeContext}
26581 * @type {Tokenizer}
26582 */
26583 function tokenizeTitleBefore(effects, ok, nok) {
26584 return titleBefore
26585
26586 /**
26587 * After destination, at whitespace.
26588 *
26589 * ```markdown
26590 * > | [a]: b
26591 * ^
26592 * > | [a]: b "c"
26593 * ^
26594 * ```
26595 *
26596 * @type {State}
26597 */
26598 function titleBefore(code) {
26599 return (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_5__.markdownLineEndingOrSpace)(code)
26600 ? (0,micromark_factory_whitespace__WEBPACK_IMPORTED_MODULE_6__.factoryWhitespace)(effects, beforeMarker)(code)
26601 : nok(code)
26602 }
26603
26604 /**
26605 * At title.
26606 *
26607 * ```markdown
26608 * | [a]: b
26609 * > | "c"
26610 * ^
26611 * ```
26612 *
26613 * @type {State}
26614 */
26615 function beforeMarker(code) {
26616 return (0,micromark_factory_title__WEBPACK_IMPORTED_MODULE_9__.factoryTitle)(
26617 effects,
26618 titleAfter,
26619 nok,
26620 micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.definitionTitle,
26621 micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.definitionTitleMarker,
26622 micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.definitionTitleString
26623 )(code)
26624 }
26625
26626 /**
26627 * After title.
26628 *
26629 * ```markdown
26630 * > | [a]: b "c"
26631 * ^
26632 * ```
26633 *
26634 * @type {State}
26635 */
26636 function titleAfter(code) {
26637 return (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_5__.markdownSpace)(code)
26638 ? (0,micromark_factory_space__WEBPACK_IMPORTED_MODULE_8__.factorySpace)(
26639 effects,
26640 titleAfterOptionalWhitespace,
26641 micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.whitespace
26642 )(code)
26643 : titleAfterOptionalWhitespace(code)
26644 }
26645
26646 /**
26647 * After title, after optional whitespace.
26648 *
26649 * ```markdown
26650 * > | [a]: b "c"
26651 * ^
26652 * ```
26653 *
26654 * @type {State}
26655 */
26656 function titleAfterOptionalWhitespace(code) {
26657 return code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.eof || (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_5__.markdownLineEnding)(code) ? ok(code) : nok(code)
26658 }
26659 }
26660
26661
26662 /***/ }),
26663
26664 /***/ "../node_modules/micromark-core-commonmark/dev/lib/hard-break-escape.js":
26665 /*!******************************************************************************!*\
26666 !*** ../node_modules/micromark-core-commonmark/dev/lib/hard-break-escape.js ***!
26667 \******************************************************************************/
26668 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
26669
26670 "use strict";
26671 __webpack_require__.r(__webpack_exports__);
26672 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
26673 /* harmony export */ hardBreakEscape: () => (/* binding */ hardBreakEscape)
26674 /* harmony export */ });
26675 /* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! micromark-util-character */ "../node_modules/micromark-util-character/dev/index.js");
26676 /* harmony import */ var micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-util-symbol/codes.js */ "../node_modules/micromark-util-symbol/codes.js");
26677 /* harmony import */ var micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! micromark-util-symbol/types.js */ "../node_modules/micromark-util-symbol/types.js");
26678 /* harmony import */ var uvu_assert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uvu/assert */ "../node_modules/uvu/assert/index.mjs");
26679 /**
26680 * @typedef {import('micromark-util-types').Construct} Construct
26681 * @typedef {import('micromark-util-types').State} State
26682 * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext
26683 * @typedef {import('micromark-util-types').Tokenizer} Tokenizer
26684 */
26685
26686
26687
26688
26689
26690
26691 /** @type {Construct} */
26692 const hardBreakEscape = {
26693 name: 'hardBreakEscape',
26694 tokenize: tokenizeHardBreakEscape
26695 }
26696
26697 /**
26698 * @this {TokenizeContext}
26699 * @type {Tokenizer}
26700 */
26701 function tokenizeHardBreakEscape(effects, ok, nok) {
26702 return start
26703
26704 /**
26705 * Start of a hard break (escape).
26706 *
26707 * ```markdown
26708 * > | a\
26709 * ^
26710 * | b
26711 * ```
26712 *
26713 * @type {State}
26714 */
26715 function start(code) {
26716 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.backslash, 'expected `\\`')
26717 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.hardBreakEscape)
26718 effects.consume(code)
26719 return after
26720 }
26721
26722 /**
26723 * After `\`, at eol.
26724 *
26725 * ```markdown
26726 * > | a\
26727 * ^
26728 * | b
26729 * ```
26730 *
26731 * @type {State}
26732 */
26733 function after(code) {
26734 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.markdownLineEnding)(code)) {
26735 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.hardBreakEscape)
26736 return ok(code)
26737 }
26738
26739 return nok(code)
26740 }
26741 }
26742
26743
26744 /***/ }),
26745
26746 /***/ "../node_modules/micromark-core-commonmark/dev/lib/heading-atx.js":
26747 /*!************************************************************************!*\
26748 !*** ../node_modules/micromark-core-commonmark/dev/lib/heading-atx.js ***!
26749 \************************************************************************/
26750 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
26751
26752 "use strict";
26753 __webpack_require__.r(__webpack_exports__);
26754 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
26755 /* harmony export */ headingAtx: () => (/* binding */ headingAtx)
26756 /* harmony export */ });
26757 /* harmony import */ var micromark_factory_space__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! micromark-factory-space */ "../node_modules/micromark-factory-space/dev/index.js");
26758 /* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! micromark-util-character */ "../node_modules/micromark-util-character/dev/index.js");
26759 /* harmony import */ var micromark_util_chunked__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! micromark-util-chunked */ "../node_modules/micromark-util-chunked/dev/index.js");
26760 /* harmony import */ var micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! micromark-util-symbol/codes.js */ "../node_modules/micromark-util-symbol/codes.js");
26761 /* harmony import */ var micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! micromark-util-symbol/constants.js */ "../node_modules/micromark-util-symbol/constants.js");
26762 /* harmony import */ var micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-util-symbol/types.js */ "../node_modules/micromark-util-symbol/types.js");
26763 /* harmony import */ var uvu_assert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uvu/assert */ "../node_modules/uvu/assert/index.mjs");
26764 /**
26765 * @typedef {import('micromark-util-types').Construct} Construct
26766 * @typedef {import('micromark-util-types').Resolver} Resolver
26767 * @typedef {import('micromark-util-types').State} State
26768 * @typedef {import('micromark-util-types').Token} Token
26769 * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext
26770 * @typedef {import('micromark-util-types').Tokenizer} Tokenizer
26771 */
26772
26773
26774
26775
26776
26777
26778
26779
26780
26781 /** @type {Construct} */
26782 const headingAtx = {
26783 name: 'headingAtx',
26784 tokenize: tokenizeHeadingAtx,
26785 resolve: resolveHeadingAtx
26786 }
26787
26788 /** @type {Resolver} */
26789 function resolveHeadingAtx(events, context) {
26790 let contentEnd = events.length - 2
26791 let contentStart = 3
26792 /** @type {Token} */
26793 let content
26794 /** @type {Token} */
26795 let text
26796
26797 // Prefix whitespace, part of the opening.
26798 if (events[contentStart][1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.whitespace) {
26799 contentStart += 2
26800 }
26801
26802 // Suffix whitespace, part of the closing.
26803 if (
26804 contentEnd - 2 > contentStart &&
26805 events[contentEnd][1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.whitespace
26806 ) {
26807 contentEnd -= 2
26808 }
26809
26810 if (
26811 events[contentEnd][1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.atxHeadingSequence &&
26812 (contentStart === contentEnd - 1 ||
26813 (contentEnd - 4 > contentStart &&
26814 events[contentEnd - 2][1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.whitespace))
26815 ) {
26816 contentEnd -= contentStart + 1 === contentEnd ? 2 : 4
26817 }
26818
26819 if (contentEnd > contentStart) {
26820 content = {
26821 type: micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.atxHeadingText,
26822 start: events[contentStart][1].start,
26823 end: events[contentEnd][1].end
26824 }
26825 text = {
26826 type: micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.chunkText,
26827 start: events[contentStart][1].start,
26828 end: events[contentEnd][1].end,
26829 contentType: micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_2__.constants.contentTypeText
26830 }
26831
26832 ;(0,micromark_util_chunked__WEBPACK_IMPORTED_MODULE_3__.splice)(events, contentStart, contentEnd - contentStart + 1, [
26833 ['enter', content, context],
26834 ['enter', text, context],
26835 ['exit', text, context],
26836 ['exit', content, context]
26837 ])
26838 }
26839
26840 return events
26841 }
26842
26843 /**
26844 * @this {TokenizeContext}
26845 * @type {Tokenizer}
26846 */
26847 function tokenizeHeadingAtx(effects, ok, nok) {
26848 let size = 0
26849
26850 return start
26851
26852 /**
26853 * Start of a heading (atx).
26854 *
26855 * ```markdown
26856 * > | ## aa
26857 * ^
26858 * ```
26859 *
26860 * @type {State}
26861 */
26862 function start(code) {
26863 // To do: parse indent like `markdown-rs`.
26864 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.atxHeading)
26865 return before(code)
26866 }
26867
26868 /**
26869 * After optional whitespace, at `#`.
26870 *
26871 * ```markdown
26872 * > | ## aa
26873 * ^
26874 * ```
26875 *
26876 * @type {State}
26877 */
26878 function before(code) {
26879 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_4__.codes.numberSign, 'expected `#`')
26880 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.atxHeadingSequence)
26881 return sequenceOpen(code)
26882 }
26883
26884 /**
26885 * In opening sequence.
26886 *
26887 * ```markdown
26888 * > | ## aa
26889 * ^
26890 * ```
26891 *
26892 * @type {State}
26893 */
26894 function sequenceOpen(code) {
26895 if (
26896 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_4__.codes.numberSign &&
26897 size++ < micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_2__.constants.atxHeadingOpeningFenceSizeMax
26898 ) {
26899 effects.consume(code)
26900 return sequenceOpen
26901 }
26902
26903 // Always at least one `#`.
26904 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_4__.codes.eof || (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_5__.markdownLineEndingOrSpace)(code)) {
26905 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.atxHeadingSequence)
26906 return atBreak(code)
26907 }
26908
26909 return nok(code)
26910 }
26911
26912 /**
26913 * After something, before something else.
26914 *
26915 * ```markdown
26916 * > | ## aa
26917 * ^
26918 * ```
26919 *
26920 * @type {State}
26921 */
26922 function atBreak(code) {
26923 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_4__.codes.numberSign) {
26924 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.atxHeadingSequence)
26925 return sequenceFurther(code)
26926 }
26927
26928 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_4__.codes.eof || (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_5__.markdownLineEnding)(code)) {
26929 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.atxHeading)
26930 // To do: interrupt like `markdown-rs`.
26931 // // Feel free to interrupt.
26932 // tokenizer.interrupt = false
26933 return ok(code)
26934 }
26935
26936 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_5__.markdownSpace)(code)) {
26937 return (0,micromark_factory_space__WEBPACK_IMPORTED_MODULE_6__.factorySpace)(effects, atBreak, micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.whitespace)(code)
26938 }
26939
26940 // To do: generate `data` tokens, add the `text` token later.
26941 // Needs edit map, see: `markdown.rs`.
26942 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.atxHeadingText)
26943 return data(code)
26944 }
26945
26946 /**
26947 * In further sequence (after whitespace).
26948 *
26949 * Could be normal “visible” hashes in the heading or a final sequence.
26950 *
26951 * ```markdown
26952 * > | ## aa ##
26953 * ^
26954 * ```
26955 *
26956 * @type {State}
26957 */
26958 function sequenceFurther(code) {
26959 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_4__.codes.numberSign) {
26960 effects.consume(code)
26961 return sequenceFurther
26962 }
26963
26964 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.atxHeadingSequence)
26965 return atBreak(code)
26966 }
26967
26968 /**
26969 * In text.
26970 *
26971 * ```markdown
26972 * > | ## aa
26973 * ^
26974 * ```
26975 *
26976 * @type {State}
26977 */
26978 function data(code) {
26979 if (
26980 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_4__.codes.eof ||
26981 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_4__.codes.numberSign ||
26982 (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_5__.markdownLineEndingOrSpace)(code)
26983 ) {
26984 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.atxHeadingText)
26985 return atBreak(code)
26986 }
26987
26988 effects.consume(code)
26989 return data
26990 }
26991 }
26992
26993
26994 /***/ }),
26995
26996 /***/ "../node_modules/micromark-core-commonmark/dev/lib/html-flow.js":
26997 /*!**********************************************************************!*\
26998 !*** ../node_modules/micromark-core-commonmark/dev/lib/html-flow.js ***!
26999 \**********************************************************************/
27000 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
27001
27002 "use strict";
27003 __webpack_require__.r(__webpack_exports__);
27004 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
27005 /* harmony export */ htmlFlow: () => (/* binding */ htmlFlow)
27006 /* harmony export */ });
27007 /* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! micromark-util-character */ "../node_modules/micromark-util-character/dev/index.js");
27008 /* harmony import */ var micromark_util_html_tag_name__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! micromark-util-html-tag-name */ "../node_modules/micromark-util-html-tag-name/index.js");
27009 /* harmony import */ var micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! micromark-util-symbol/codes.js */ "../node_modules/micromark-util-symbol/codes.js");
27010 /* harmony import */ var micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! micromark-util-symbol/constants.js */ "../node_modules/micromark-util-symbol/constants.js");
27011 /* harmony import */ var micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-util-symbol/types.js */ "../node_modules/micromark-util-symbol/types.js");
27012 /* harmony import */ var uvu_assert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uvu/assert */ "../node_modules/uvu/assert/index.mjs");
27013 /* harmony import */ var _blank_line_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./blank-line.js */ "../node_modules/micromark-core-commonmark/dev/lib/blank-line.js");
27014 /**
27015 * @typedef {import('micromark-util-types').Code} Code
27016 * @typedef {import('micromark-util-types').Construct} Construct
27017 * @typedef {import('micromark-util-types').Resolver} Resolver
27018 * @typedef {import('micromark-util-types').State} State
27019 * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext
27020 * @typedef {import('micromark-util-types').Tokenizer} Tokenizer
27021 */
27022
27023
27024
27025
27026
27027
27028
27029
27030
27031 /** @type {Construct} */
27032 const htmlFlow = {
27033 name: 'htmlFlow',
27034 tokenize: tokenizeHtmlFlow,
27035 resolveTo: resolveToHtmlFlow,
27036 concrete: true
27037 }
27038
27039 /** @type {Construct} */
27040 const blankLineBefore = {tokenize: tokenizeBlankLineBefore, partial: true}
27041 const nonLazyContinuationStart = {
27042 tokenize: tokenizeNonLazyContinuationStart,
27043 partial: true
27044 }
27045
27046 /** @type {Resolver} */
27047 function resolveToHtmlFlow(events) {
27048 let index = events.length
27049
27050 while (index--) {
27051 if (
27052 events[index][0] === 'enter' &&
27053 events[index][1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.htmlFlow
27054 ) {
27055 break
27056 }
27057 }
27058
27059 if (index > 1 && events[index - 2][1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.linePrefix) {
27060 // Add the prefix start to the HTML token.
27061 events[index][1].start = events[index - 2][1].start
27062 // Add the prefix start to the HTML line token.
27063 events[index + 1][1].start = events[index - 2][1].start
27064 // Remove the line prefix.
27065 events.splice(index - 2, 2)
27066 }
27067
27068 return events
27069 }
27070
27071 /**
27072 * @this {TokenizeContext}
27073 * @type {Tokenizer}
27074 */
27075 function tokenizeHtmlFlow(effects, ok, nok) {
27076 const self = this
27077 /** @type {number} */
27078 let marker
27079 /** @type {boolean} */
27080 let closingTag
27081 /** @type {string} */
27082 let buffer
27083 /** @type {number} */
27084 let index
27085 /** @type {Code} */
27086 let markerB
27087
27088 return start
27089
27090 /**
27091 * Start of HTML (flow).
27092 *
27093 * ```markdown
27094 * > | <x />
27095 * ^
27096 * ```
27097 *
27098 * @type {State}
27099 */
27100 function start(code) {
27101 // To do: parse indent like `markdown-rs`.
27102 return before(code)
27103 }
27104
27105 /**
27106 * At `<`, after optional whitespace.
27107 *
27108 * ```markdown
27109 * > | <x />
27110 * ^
27111 * ```
27112 *
27113 * @type {State}
27114 */
27115 function before(code) {
27116 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.lessThan, 'expected `<`')
27117 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.htmlFlow)
27118 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.htmlFlowData)
27119 effects.consume(code)
27120 return open
27121 }
27122
27123 /**
27124 * After `<`, at tag name or other stuff.
27125 *
27126 * ```markdown
27127 * > | <x />
27128 * ^
27129 * > | <!doctype>
27130 * ^
27131 * > | <!--xxx-->
27132 * ^
27133 * ```
27134 *
27135 * @type {State}
27136 */
27137 function open(code) {
27138 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.exclamationMark) {
27139 effects.consume(code)
27140 return declarationOpen
27141 }
27142
27143 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.slash) {
27144 effects.consume(code)
27145 closingTag = true
27146 return tagCloseStart
27147 }
27148
27149 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.questionMark) {
27150 effects.consume(code)
27151 marker = micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_3__.constants.htmlInstruction
27152 // To do:
27153 // tokenizer.concrete = true
27154 // To do: use `markdown-rs` style interrupt.
27155 // While we’re in an instruction instead of a declaration, we’re on a `?`
27156 // right now, so we do need to search for `>`, similar to declarations.
27157 return self.interrupt ? ok : continuationDeclarationInside
27158 }
27159
27160 // ASCII alphabetical.
27161 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.asciiAlpha)(code)) {
27162 effects.consume(code)
27163 // @ts-expect-error: not null.
27164 buffer = String.fromCharCode(code)
27165 return tagName
27166 }
27167
27168 return nok(code)
27169 }
27170
27171 /**
27172 * After `<!`, at declaration, comment, or CDATA.
27173 *
27174 * ```markdown
27175 * > | <!doctype>
27176 * ^
27177 * > | <!--xxx-->
27178 * ^
27179 * > | <![CDATA[>&<]]>
27180 * ^
27181 * ```
27182 *
27183 * @type {State}
27184 */
27185 function declarationOpen(code) {
27186 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.dash) {
27187 effects.consume(code)
27188 marker = micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_3__.constants.htmlComment
27189 return commentOpenInside
27190 }
27191
27192 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.leftSquareBracket) {
27193 effects.consume(code)
27194 marker = micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_3__.constants.htmlCdata
27195 index = 0
27196 return cdataOpenInside
27197 }
27198
27199 // ASCII alphabetical.
27200 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.asciiAlpha)(code)) {
27201 effects.consume(code)
27202 marker = micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_3__.constants.htmlDeclaration
27203 // // Do not form containers.
27204 // tokenizer.concrete = true
27205 return self.interrupt ? ok : continuationDeclarationInside
27206 }
27207
27208 return nok(code)
27209 }
27210
27211 /**
27212 * After `<!-`, inside a comment, at another `-`.
27213 *
27214 * ```markdown
27215 * > | <!--xxx-->
27216 * ^
27217 * ```
27218 *
27219 * @type {State}
27220 */
27221 function commentOpenInside(code) {
27222 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.dash) {
27223 effects.consume(code)
27224 // // Do not form containers.
27225 // tokenizer.concrete = true
27226 return self.interrupt ? ok : continuationDeclarationInside
27227 }
27228
27229 return nok(code)
27230 }
27231
27232 /**
27233 * After `<![`, inside CDATA, expecting `CDATA[`.
27234 *
27235 * ```markdown
27236 * > | <![CDATA[>&<]]>
27237 * ^^^^^^
27238 * ```
27239 *
27240 * @type {State}
27241 */
27242 function cdataOpenInside(code) {
27243 const value = micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_3__.constants.cdataOpeningString
27244
27245 if (code === value.charCodeAt(index++)) {
27246 effects.consume(code)
27247
27248 if (index === value.length) {
27249 // // Do not form containers.
27250 // tokenizer.concrete = true
27251 return self.interrupt ? ok : continuation
27252 }
27253
27254 return cdataOpenInside
27255 }
27256
27257 return nok(code)
27258 }
27259
27260 /**
27261 * After `</`, in closing tag, at tag name.
27262 *
27263 * ```markdown
27264 * > | </x>
27265 * ^
27266 * ```
27267 *
27268 * @type {State}
27269 */
27270 function tagCloseStart(code) {
27271 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.asciiAlpha)(code)) {
27272 effects.consume(code)
27273 // @ts-expect-error: not null.
27274 buffer = String.fromCharCode(code)
27275 return tagName
27276 }
27277
27278 return nok(code)
27279 }
27280
27281 /**
27282 * In tag name.
27283 *
27284 * ```markdown
27285 * > | <ab>
27286 * ^^
27287 * > | </ab>
27288 * ^^
27289 * ```
27290 *
27291 * @type {State}
27292 */
27293 function tagName(code) {
27294 if (
27295 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.eof ||
27296 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.slash ||
27297 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.greaterThan ||
27298 (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.markdownLineEndingOrSpace)(code)
27299 ) {
27300 const slash = code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.slash
27301 const name = buffer.toLowerCase()
27302
27303 if (!slash && !closingTag && micromark_util_html_tag_name__WEBPACK_IMPORTED_MODULE_5__.htmlRawNames.includes(name)) {
27304 marker = micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_3__.constants.htmlRaw
27305 // // Do not form containers.
27306 // tokenizer.concrete = true
27307 return self.interrupt ? ok(code) : continuation(code)
27308 }
27309
27310 if (micromark_util_html_tag_name__WEBPACK_IMPORTED_MODULE_5__.htmlBlockNames.includes(buffer.toLowerCase())) {
27311 marker = micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_3__.constants.htmlBasic
27312
27313 if (slash) {
27314 effects.consume(code)
27315 return basicSelfClosing
27316 }
27317
27318 // // Do not form containers.
27319 // tokenizer.concrete = true
27320 return self.interrupt ? ok(code) : continuation(code)
27321 }
27322
27323 marker = micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_3__.constants.htmlComplete
27324 // Do not support complete HTML when interrupting.
27325 return self.interrupt && !self.parser.lazy[self.now().line]
27326 ? nok(code)
27327 : closingTag
27328 ? completeClosingTagAfter(code)
27329 : completeAttributeNameBefore(code)
27330 }
27331
27332 // ASCII alphanumerical and `-`.
27333 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.dash || (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.asciiAlphanumeric)(code)) {
27334 effects.consume(code)
27335 buffer += String.fromCharCode(code)
27336 return tagName
27337 }
27338
27339 return nok(code)
27340 }
27341
27342 /**
27343 * After closing slash of a basic tag name.
27344 *
27345 * ```markdown
27346 * > | <div/>
27347 * ^
27348 * ```
27349 *
27350 * @type {State}
27351 */
27352 function basicSelfClosing(code) {
27353 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.greaterThan) {
27354 effects.consume(code)
27355 // // Do not form containers.
27356 // tokenizer.concrete = true
27357 return self.interrupt ? ok : continuation
27358 }
27359
27360 return nok(code)
27361 }
27362
27363 /**
27364 * After closing slash of a complete tag name.
27365 *
27366 * ```markdown
27367 * > | <x/>
27368 * ^
27369 * ```
27370 *
27371 * @type {State}
27372 */
27373 function completeClosingTagAfter(code) {
27374 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.markdownSpace)(code)) {
27375 effects.consume(code)
27376 return completeClosingTagAfter
27377 }
27378
27379 return completeEnd(code)
27380 }
27381
27382 /**
27383 * At an attribute name.
27384 *
27385 * At first, this state is used after a complete tag name, after whitespace,
27386 * where it expects optional attributes or the end of the tag.
27387 * It is also reused after attributes, when expecting more optional
27388 * attributes.
27389 *
27390 * ```markdown
27391 * > | <a />
27392 * ^
27393 * > | <a :b>
27394 * ^
27395 * > | <a _b>
27396 * ^
27397 * > | <a b>
27398 * ^
27399 * > | <a >
27400 * ^
27401 * ```
27402 *
27403 * @type {State}
27404 */
27405 function completeAttributeNameBefore(code) {
27406 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.slash) {
27407 effects.consume(code)
27408 return completeEnd
27409 }
27410
27411 // ASCII alphanumerical and `:` and `_`.
27412 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.colon || code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.underscore || (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.asciiAlpha)(code)) {
27413 effects.consume(code)
27414 return completeAttributeName
27415 }
27416
27417 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.markdownSpace)(code)) {
27418 effects.consume(code)
27419 return completeAttributeNameBefore
27420 }
27421
27422 return completeEnd(code)
27423 }
27424
27425 /**
27426 * In attribute name.
27427 *
27428 * ```markdown
27429 * > | <a :b>
27430 * ^
27431 * > | <a _b>
27432 * ^
27433 * > | <a b>
27434 * ^
27435 * ```
27436 *
27437 * @type {State}
27438 */
27439 function completeAttributeName(code) {
27440 // ASCII alphanumerical and `-`, `.`, `:`, and `_`.
27441 if (
27442 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.dash ||
27443 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.dot ||
27444 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.colon ||
27445 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.underscore ||
27446 (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.asciiAlphanumeric)(code)
27447 ) {
27448 effects.consume(code)
27449 return completeAttributeName
27450 }
27451
27452 return completeAttributeNameAfter(code)
27453 }
27454
27455 /**
27456 * After attribute name, at an optional initializer, the end of the tag, or
27457 * whitespace.
27458 *
27459 * ```markdown
27460 * > | <a b>
27461 * ^
27462 * > | <a b=c>
27463 * ^
27464 * ```
27465 *
27466 * @type {State}
27467 */
27468 function completeAttributeNameAfter(code) {
27469 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.equalsTo) {
27470 effects.consume(code)
27471 return completeAttributeValueBefore
27472 }
27473
27474 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.markdownSpace)(code)) {
27475 effects.consume(code)
27476 return completeAttributeNameAfter
27477 }
27478
27479 return completeAttributeNameBefore(code)
27480 }
27481
27482 /**
27483 * Before unquoted, double quoted, or single quoted attribute value, allowing
27484 * whitespace.
27485 *
27486 * ```markdown
27487 * > | <a b=c>
27488 * ^
27489 * > | <a b="c">
27490 * ^
27491 * ```
27492 *
27493 * @type {State}
27494 */
27495 function completeAttributeValueBefore(code) {
27496 if (
27497 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.eof ||
27498 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.lessThan ||
27499 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.equalsTo ||
27500 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.greaterThan ||
27501 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.graveAccent
27502 ) {
27503 return nok(code)
27504 }
27505
27506 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.quotationMark || code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.apostrophe) {
27507 effects.consume(code)
27508 markerB = code
27509 return completeAttributeValueQuoted
27510 }
27511
27512 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.markdownSpace)(code)) {
27513 effects.consume(code)
27514 return completeAttributeValueBefore
27515 }
27516
27517 return completeAttributeValueUnquoted(code)
27518 }
27519
27520 /**
27521 * In double or single quoted attribute value.
27522 *
27523 * ```markdown
27524 * > | <a b="c">
27525 * ^
27526 * > | <a b='c'>
27527 * ^
27528 * ```
27529 *
27530 * @type {State}
27531 */
27532 function completeAttributeValueQuoted(code) {
27533 if (code === markerB) {
27534 effects.consume(code)
27535 markerB = null
27536 return completeAttributeValueQuotedAfter
27537 }
27538
27539 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.eof || (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.markdownLineEnding)(code)) {
27540 return nok(code)
27541 }
27542
27543 effects.consume(code)
27544 return completeAttributeValueQuoted
27545 }
27546
27547 /**
27548 * In unquoted attribute value.
27549 *
27550 * ```markdown
27551 * > | <a b=c>
27552 * ^
27553 * ```
27554 *
27555 * @type {State}
27556 */
27557 function completeAttributeValueUnquoted(code) {
27558 if (
27559 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.eof ||
27560 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.quotationMark ||
27561 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.apostrophe ||
27562 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.slash ||
27563 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.lessThan ||
27564 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.equalsTo ||
27565 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.greaterThan ||
27566 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.graveAccent ||
27567 (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.markdownLineEndingOrSpace)(code)
27568 ) {
27569 return completeAttributeNameAfter(code)
27570 }
27571
27572 effects.consume(code)
27573 return completeAttributeValueUnquoted
27574 }
27575
27576 /**
27577 * After double or single quoted attribute value, before whitespace or the
27578 * end of the tag.
27579 *
27580 * ```markdown
27581 * > | <a b="c">
27582 * ^
27583 * ```
27584 *
27585 * @type {State}
27586 */
27587 function completeAttributeValueQuotedAfter(code) {
27588 if (
27589 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.slash ||
27590 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.greaterThan ||
27591 (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.markdownSpace)(code)
27592 ) {
27593 return completeAttributeNameBefore(code)
27594 }
27595
27596 return nok(code)
27597 }
27598
27599 /**
27600 * In certain circumstances of a complete tag where only an `>` is allowed.
27601 *
27602 * ```markdown
27603 * > | <a b="c">
27604 * ^
27605 * ```
27606 *
27607 * @type {State}
27608 */
27609 function completeEnd(code) {
27610 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.greaterThan) {
27611 effects.consume(code)
27612 return completeAfter
27613 }
27614
27615 return nok(code)
27616 }
27617
27618 /**
27619 * After `>` in a complete tag.
27620 *
27621 * ```markdown
27622 * > | <x>
27623 * ^
27624 * ```
27625 *
27626 * @type {State}
27627 */
27628 function completeAfter(code) {
27629 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.eof || (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.markdownLineEnding)(code)) {
27630 // // Do not form containers.
27631 // tokenizer.concrete = true
27632 return continuation(code)
27633 }
27634
27635 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.markdownSpace)(code)) {
27636 effects.consume(code)
27637 return completeAfter
27638 }
27639
27640 return nok(code)
27641 }
27642
27643 /**
27644 * In continuation of any HTML kind.
27645 *
27646 * ```markdown
27647 * > | <!--xxx-->
27648 * ^
27649 * ```
27650 *
27651 * @type {State}
27652 */
27653 function continuation(code) {
27654 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.dash && marker === micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_3__.constants.htmlComment) {
27655 effects.consume(code)
27656 return continuationCommentInside
27657 }
27658
27659 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.lessThan && marker === micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_3__.constants.htmlRaw) {
27660 effects.consume(code)
27661 return continuationRawTagOpen
27662 }
27663
27664 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.greaterThan && marker === micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_3__.constants.htmlDeclaration) {
27665 effects.consume(code)
27666 return continuationClose
27667 }
27668
27669 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.questionMark && marker === micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_3__.constants.htmlInstruction) {
27670 effects.consume(code)
27671 return continuationDeclarationInside
27672 }
27673
27674 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.rightSquareBracket && marker === micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_3__.constants.htmlCdata) {
27675 effects.consume(code)
27676 return continuationCdataInside
27677 }
27678
27679 if (
27680 (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.markdownLineEnding)(code) &&
27681 (marker === micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_3__.constants.htmlBasic || marker === micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_3__.constants.htmlComplete)
27682 ) {
27683 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.htmlFlowData)
27684 return effects.check(
27685 blankLineBefore,
27686 continuationAfter,
27687 continuationStart
27688 )(code)
27689 }
27690
27691 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.eof || (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.markdownLineEnding)(code)) {
27692 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.htmlFlowData)
27693 return continuationStart(code)
27694 }
27695
27696 effects.consume(code)
27697 return continuation
27698 }
27699
27700 /**
27701 * In continuation, at eol.
27702 *
27703 * ```markdown
27704 * > | <x>
27705 * ^
27706 * | asd
27707 * ```
27708 *
27709 * @type {State}
27710 */
27711 function continuationStart(code) {
27712 return effects.check(
27713 nonLazyContinuationStart,
27714 continuationStartNonLazy,
27715 continuationAfter
27716 )(code)
27717 }
27718
27719 /**
27720 * In continuation, at eol, before non-lazy content.
27721 *
27722 * ```markdown
27723 * > | <x>
27724 * ^
27725 * | asd
27726 * ```
27727 *
27728 * @type {State}
27729 */
27730 function continuationStartNonLazy(code) {
27731 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.markdownLineEnding)(code))
27732 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.lineEnding)
27733 effects.consume(code)
27734 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.lineEnding)
27735 return continuationBefore
27736 }
27737
27738 /**
27739 * In continuation, before non-lazy content.
27740 *
27741 * ```markdown
27742 * | <x>
27743 * > | asd
27744 * ^
27745 * ```
27746 *
27747 * @type {State}
27748 */
27749 function continuationBefore(code) {
27750 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.eof || (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.markdownLineEnding)(code)) {
27751 return continuationStart(code)
27752 }
27753
27754 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.htmlFlowData)
27755 return continuation(code)
27756 }
27757
27758 /**
27759 * In comment continuation, after one `-`, expecting another.
27760 *
27761 * ```markdown
27762 * > | <!--xxx-->
27763 * ^
27764 * ```
27765 *
27766 * @type {State}
27767 */
27768 function continuationCommentInside(code) {
27769 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.dash) {
27770 effects.consume(code)
27771 return continuationDeclarationInside
27772 }
27773
27774 return continuation(code)
27775 }
27776
27777 /**
27778 * In raw continuation, after `<`, at `/`.
27779 *
27780 * ```markdown
27781 * > | <script>console.log(1)</script>
27782 * ^
27783 * ```
27784 *
27785 * @type {State}
27786 */
27787 function continuationRawTagOpen(code) {
27788 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.slash) {
27789 effects.consume(code)
27790 buffer = ''
27791 return continuationRawEndTag
27792 }
27793
27794 return continuation(code)
27795 }
27796
27797 /**
27798 * In raw continuation, after `</`, in a raw tag name.
27799 *
27800 * ```markdown
27801 * > | <script>console.log(1)</script>
27802 * ^^^^^^
27803 * ```
27804 *
27805 * @type {State}
27806 */
27807 function continuationRawEndTag(code) {
27808 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.greaterThan) {
27809 const name = buffer.toLowerCase()
27810
27811 if (micromark_util_html_tag_name__WEBPACK_IMPORTED_MODULE_5__.htmlRawNames.includes(name)) {
27812 effects.consume(code)
27813 return continuationClose
27814 }
27815
27816 return continuation(code)
27817 }
27818
27819 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.asciiAlpha)(code) && buffer.length < micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_3__.constants.htmlRawSizeMax) {
27820 effects.consume(code)
27821 // @ts-expect-error: not null.
27822 buffer += String.fromCharCode(code)
27823 return continuationRawEndTag
27824 }
27825
27826 return continuation(code)
27827 }
27828
27829 /**
27830 * In cdata continuation, after `]`, expecting `]>`.
27831 *
27832 * ```markdown
27833 * > | <![CDATA[>&<]]>
27834 * ^
27835 * ```
27836 *
27837 * @type {State}
27838 */
27839 function continuationCdataInside(code) {
27840 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.rightSquareBracket) {
27841 effects.consume(code)
27842 return continuationDeclarationInside
27843 }
27844
27845 return continuation(code)
27846 }
27847
27848 /**
27849 * In declaration or instruction continuation, at `>`.
27850 *
27851 * ```markdown
27852 * > | <!-->
27853 * ^
27854 * > | <?>
27855 * ^
27856 * > | <!q>
27857 * ^
27858 * > | <!--ab-->
27859 * ^
27860 * > | <![CDATA[>&<]]>
27861 * ^
27862 * ```
27863 *
27864 * @type {State}
27865 */
27866 function continuationDeclarationInside(code) {
27867 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.greaterThan) {
27868 effects.consume(code)
27869 return continuationClose
27870 }
27871
27872 // More dashes.
27873 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.dash && marker === micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_3__.constants.htmlComment) {
27874 effects.consume(code)
27875 return continuationDeclarationInside
27876 }
27877
27878 return continuation(code)
27879 }
27880
27881 /**
27882 * In closed continuation: everything we get until the eol/eof is part of it.
27883 *
27884 * ```markdown
27885 * > | <!doctype>
27886 * ^
27887 * ```
27888 *
27889 * @type {State}
27890 */
27891 function continuationClose(code) {
27892 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.eof || (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.markdownLineEnding)(code)) {
27893 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.htmlFlowData)
27894 return continuationAfter(code)
27895 }
27896
27897 effects.consume(code)
27898 return continuationClose
27899 }
27900
27901 /**
27902 * Done.
27903 *
27904 * ```markdown
27905 * > | <!doctype>
27906 * ^
27907 * ```
27908 *
27909 * @type {State}
27910 */
27911 function continuationAfter(code) {
27912 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.htmlFlow)
27913 // // Feel free to interrupt.
27914 // tokenizer.interrupt = false
27915 // // No longer concrete.
27916 // tokenizer.concrete = false
27917 return ok(code)
27918 }
27919 }
27920
27921 /**
27922 * @this {TokenizeContext}
27923 * @type {Tokenizer}
27924 */
27925 function tokenizeNonLazyContinuationStart(effects, ok, nok) {
27926 const self = this
27927
27928 return start
27929
27930 /**
27931 * At eol, before continuation.
27932 *
27933 * ```markdown
27934 * > | * ```js
27935 * ^
27936 * | b
27937 * ```
27938 *
27939 * @type {State}
27940 */
27941 function start(code) {
27942 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.markdownLineEnding)(code)) {
27943 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.lineEnding)
27944 effects.consume(code)
27945 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.lineEnding)
27946 return after
27947 }
27948
27949 return nok(code)
27950 }
27951
27952 /**
27953 * A continuation.
27954 *
27955 * ```markdown
27956 * | * ```js
27957 * > | b
27958 * ^
27959 * ```
27960 *
27961 * @type {State}
27962 */
27963 function after(code) {
27964 return self.parser.lazy[self.now().line] ? nok(code) : ok(code)
27965 }
27966 }
27967
27968 /**
27969 * @this {TokenizeContext}
27970 * @type {Tokenizer}
27971 */
27972 function tokenizeBlankLineBefore(effects, ok, nok) {
27973 return start
27974
27975 /**
27976 * Before eol, expecting blank line.
27977 *
27978 * ```markdown
27979 * > | <div>
27980 * ^
27981 * |
27982 * ```
27983 *
27984 * @type {State}
27985 */
27986 function start(code) {
27987 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.markdownLineEnding)(code), 'expected a line ending')
27988 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.lineEnding)
27989 effects.consume(code)
27990 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.lineEnding)
27991 return effects.attempt(_blank_line_js__WEBPACK_IMPORTED_MODULE_6__.blankLine, ok, nok)
27992 }
27993 }
27994
27995
27996 /***/ }),
27997
27998 /***/ "../node_modules/micromark-core-commonmark/dev/lib/html-text.js":
27999 /*!**********************************************************************!*\
28000 !*** ../node_modules/micromark-core-commonmark/dev/lib/html-text.js ***!
28001 \**********************************************************************/
28002 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
28003
28004 "use strict";
28005 __webpack_require__.r(__webpack_exports__);
28006 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
28007 /* harmony export */ htmlText: () => (/* binding */ htmlText)
28008 /* harmony export */ });
28009 /* harmony import */ var micromark_factory_space__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! micromark-factory-space */ "../node_modules/micromark-factory-space/dev/index.js");
28010 /* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! micromark-util-character */ "../node_modules/micromark-util-character/dev/index.js");
28011 /* harmony import */ var micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-util-symbol/codes.js */ "../node_modules/micromark-util-symbol/codes.js");
28012 /* harmony import */ var micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! micromark-util-symbol/constants.js */ "../node_modules/micromark-util-symbol/constants.js");
28013 /* harmony import */ var micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! micromark-util-symbol/types.js */ "../node_modules/micromark-util-symbol/types.js");
28014 /* harmony import */ var uvu_assert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uvu/assert */ "../node_modules/uvu/assert/index.mjs");
28015 /**
28016 * @typedef {import('micromark-util-types').Code} Code
28017 * @typedef {import('micromark-util-types').Construct} Construct
28018 * @typedef {import('micromark-util-types').State} State
28019 * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext
28020 * @typedef {import('micromark-util-types').Tokenizer} Tokenizer
28021 */
28022
28023
28024
28025
28026
28027
28028
28029
28030 /** @type {Construct} */
28031 const htmlText = {name: 'htmlText', tokenize: tokenizeHtmlText}
28032
28033 /**
28034 * @this {TokenizeContext}
28035 * @type {Tokenizer}
28036 */
28037 function tokenizeHtmlText(effects, ok, nok) {
28038 const self = this
28039 /** @type {NonNullable<Code> | undefined} */
28040 let marker
28041 /** @type {number} */
28042 let index
28043 /** @type {State} */
28044 let returnState
28045
28046 return start
28047
28048 /**
28049 * Start of HTML (text).
28050 *
28051 * ```markdown
28052 * > | a <b> c
28053 * ^
28054 * ```
28055 *
28056 * @type {State}
28057 */
28058 function start(code) {
28059 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.lessThan, 'expected `<`')
28060 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.htmlText)
28061 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.htmlTextData)
28062 effects.consume(code)
28063 return open
28064 }
28065
28066 /**
28067 * After `<`, at tag name or other stuff.
28068 *
28069 * ```markdown
28070 * > | a <b> c
28071 * ^
28072 * > | a <!doctype> c
28073 * ^
28074 * > | a <!--b--> c
28075 * ^
28076 * ```
28077 *
28078 * @type {State}
28079 */
28080 function open(code) {
28081 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.exclamationMark) {
28082 effects.consume(code)
28083 return declarationOpen
28084 }
28085
28086 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.slash) {
28087 effects.consume(code)
28088 return tagCloseStart
28089 }
28090
28091 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.questionMark) {
28092 effects.consume(code)
28093 return instruction
28094 }
28095
28096 // ASCII alphabetical.
28097 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.asciiAlpha)(code)) {
28098 effects.consume(code)
28099 return tagOpen
28100 }
28101
28102 return nok(code)
28103 }
28104
28105 /**
28106 * After `<!`, at declaration, comment, or CDATA.
28107 *
28108 * ```markdown
28109 * > | a <!doctype> c
28110 * ^
28111 * > | a <!--b--> c
28112 * ^
28113 * > | a <![CDATA[>&<]]> c
28114 * ^
28115 * ```
28116 *
28117 * @type {State}
28118 */
28119 function declarationOpen(code) {
28120 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.dash) {
28121 effects.consume(code)
28122 return commentOpenInside
28123 }
28124
28125 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.leftSquareBracket) {
28126 effects.consume(code)
28127 index = 0
28128 return cdataOpenInside
28129 }
28130
28131 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.asciiAlpha)(code)) {
28132 effects.consume(code)
28133 return declaration
28134 }
28135
28136 return nok(code)
28137 }
28138
28139 /**
28140 * In a comment, after `<!-`, at another `-`.
28141 *
28142 * ```markdown
28143 * > | a <!--b--> c
28144 * ^
28145 * ```
28146 *
28147 * @type {State}
28148 */
28149 function commentOpenInside(code) {
28150 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.dash) {
28151 effects.consume(code)
28152 return commentEnd
28153 }
28154
28155 return nok(code)
28156 }
28157
28158 /**
28159 * In comment.
28160 *
28161 * ```markdown
28162 * > | a <!--b--> c
28163 * ^
28164 * ```
28165 *
28166 * @type {State}
28167 */
28168 function comment(code) {
28169 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.eof) {
28170 return nok(code)
28171 }
28172
28173 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.dash) {
28174 effects.consume(code)
28175 return commentClose
28176 }
28177
28178 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.markdownLineEnding)(code)) {
28179 returnState = comment
28180 return lineEndingBefore(code)
28181 }
28182
28183 effects.consume(code)
28184 return comment
28185 }
28186
28187 /**
28188 * In comment, after `-`.
28189 *
28190 * ```markdown
28191 * > | a <!--b--> c
28192 * ^
28193 * ```
28194 *
28195 * @type {State}
28196 */
28197 function commentClose(code) {
28198 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.dash) {
28199 effects.consume(code)
28200 return commentEnd
28201 }
28202
28203 return comment(code)
28204 }
28205
28206 /**
28207 * In comment, after `--`.
28208 *
28209 * ```markdown
28210 * > | a <!--b--> c
28211 * ^
28212 * ```
28213 *
28214 * @type {State}
28215 */
28216 function commentEnd(code) {
28217 return code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.greaterThan
28218 ? end(code)
28219 : code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.dash
28220 ? commentClose(code)
28221 : comment(code)
28222 }
28223
28224 /**
28225 * After `<![`, in CDATA, expecting `CDATA[`.
28226 *
28227 * ```markdown
28228 * > | a <![CDATA[>&<]]> b
28229 * ^^^^^^
28230 * ```
28231 *
28232 * @type {State}
28233 */
28234 function cdataOpenInside(code) {
28235 const value = micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_4__.constants.cdataOpeningString
28236
28237 if (code === value.charCodeAt(index++)) {
28238 effects.consume(code)
28239 return index === value.length ? cdata : cdataOpenInside
28240 }
28241
28242 return nok(code)
28243 }
28244
28245 /**
28246 * In CDATA.
28247 *
28248 * ```markdown
28249 * > | a <![CDATA[>&<]]> b
28250 * ^^^
28251 * ```
28252 *
28253 * @type {State}
28254 */
28255 function cdata(code) {
28256 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.eof) {
28257 return nok(code)
28258 }
28259
28260 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.rightSquareBracket) {
28261 effects.consume(code)
28262 return cdataClose
28263 }
28264
28265 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.markdownLineEnding)(code)) {
28266 returnState = cdata
28267 return lineEndingBefore(code)
28268 }
28269
28270 effects.consume(code)
28271 return cdata
28272 }
28273
28274 /**
28275 * In CDATA, after `]`, at another `]`.
28276 *
28277 * ```markdown
28278 * > | a <![CDATA[>&<]]> b
28279 * ^
28280 * ```
28281 *
28282 * @type {State}
28283 */
28284 function cdataClose(code) {
28285 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.rightSquareBracket) {
28286 effects.consume(code)
28287 return cdataEnd
28288 }
28289
28290 return cdata(code)
28291 }
28292
28293 /**
28294 * In CDATA, after `]]`, at `>`.
28295 *
28296 * ```markdown
28297 * > | a <![CDATA[>&<]]> b
28298 * ^
28299 * ```
28300 *
28301 * @type {State}
28302 */
28303 function cdataEnd(code) {
28304 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.greaterThan) {
28305 return end(code)
28306 }
28307
28308 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.rightSquareBracket) {
28309 effects.consume(code)
28310 return cdataEnd
28311 }
28312
28313 return cdata(code)
28314 }
28315
28316 /**
28317 * In declaration.
28318 *
28319 * ```markdown
28320 * > | a <!b> c
28321 * ^
28322 * ```
28323 *
28324 * @type {State}
28325 */
28326 function declaration(code) {
28327 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.eof || code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.greaterThan) {
28328 return end(code)
28329 }
28330
28331 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.markdownLineEnding)(code)) {
28332 returnState = declaration
28333 return lineEndingBefore(code)
28334 }
28335
28336 effects.consume(code)
28337 return declaration
28338 }
28339
28340 /**
28341 * In instruction.
28342 *
28343 * ```markdown
28344 * > | a <?b?> c
28345 * ^
28346 * ```
28347 *
28348 * @type {State}
28349 */
28350 function instruction(code) {
28351 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.eof) {
28352 return nok(code)
28353 }
28354
28355 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.questionMark) {
28356 effects.consume(code)
28357 return instructionClose
28358 }
28359
28360 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.markdownLineEnding)(code)) {
28361 returnState = instruction
28362 return lineEndingBefore(code)
28363 }
28364
28365 effects.consume(code)
28366 return instruction
28367 }
28368
28369 /**
28370 * In instruction, after `?`, at `>`.
28371 *
28372 * ```markdown
28373 * > | a <?b?> c
28374 * ^
28375 * ```
28376 *
28377 * @type {State}
28378 */
28379 function instructionClose(code) {
28380 return code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.greaterThan ? end(code) : instruction(code)
28381 }
28382
28383 /**
28384 * After `</`, in closing tag, at tag name.
28385 *
28386 * ```markdown
28387 * > | a </b> c
28388 * ^
28389 * ```
28390 *
28391 * @type {State}
28392 */
28393 function tagCloseStart(code) {
28394 // ASCII alphabetical.
28395 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.asciiAlpha)(code)) {
28396 effects.consume(code)
28397 return tagClose
28398 }
28399
28400 return nok(code)
28401 }
28402
28403 /**
28404 * After `</x`, in a tag name.
28405 *
28406 * ```markdown
28407 * > | a </b> c
28408 * ^
28409 * ```
28410 *
28411 * @type {State}
28412 */
28413 function tagClose(code) {
28414 // ASCII alphanumerical and `-`.
28415 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.dash || (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.asciiAlphanumeric)(code)) {
28416 effects.consume(code)
28417 return tagClose
28418 }
28419
28420 return tagCloseBetween(code)
28421 }
28422
28423 /**
28424 * In closing tag, after tag name.
28425 *
28426 * ```markdown
28427 * > | a </b> c
28428 * ^
28429 * ```
28430 *
28431 * @type {State}
28432 */
28433 function tagCloseBetween(code) {
28434 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.markdownLineEnding)(code)) {
28435 returnState = tagCloseBetween
28436 return lineEndingBefore(code)
28437 }
28438
28439 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.markdownSpace)(code)) {
28440 effects.consume(code)
28441 return tagCloseBetween
28442 }
28443
28444 return end(code)
28445 }
28446
28447 /**
28448 * After `<x`, in opening tag name.
28449 *
28450 * ```markdown
28451 * > | a <b> c
28452 * ^
28453 * ```
28454 *
28455 * @type {State}
28456 */
28457 function tagOpen(code) {
28458 // ASCII alphanumerical and `-`.
28459 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.dash || (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.asciiAlphanumeric)(code)) {
28460 effects.consume(code)
28461 return tagOpen
28462 }
28463
28464 if (
28465 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.slash ||
28466 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.greaterThan ||
28467 (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.markdownLineEndingOrSpace)(code)
28468 ) {
28469 return tagOpenBetween(code)
28470 }
28471
28472 return nok(code)
28473 }
28474
28475 /**
28476 * In opening tag, after tag name.
28477 *
28478 * ```markdown
28479 * > | a <b> c
28480 * ^
28481 * ```
28482 *
28483 * @type {State}
28484 */
28485 function tagOpenBetween(code) {
28486 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.slash) {
28487 effects.consume(code)
28488 return end
28489 }
28490
28491 // ASCII alphabetical and `:` and `_`.
28492 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.colon || code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.underscore || (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.asciiAlpha)(code)) {
28493 effects.consume(code)
28494 return tagOpenAttributeName
28495 }
28496
28497 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.markdownLineEnding)(code)) {
28498 returnState = tagOpenBetween
28499 return lineEndingBefore(code)
28500 }
28501
28502 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.markdownSpace)(code)) {
28503 effects.consume(code)
28504 return tagOpenBetween
28505 }
28506
28507 return end(code)
28508 }
28509
28510 /**
28511 * In attribute name.
28512 *
28513 * ```markdown
28514 * > | a <b c> d
28515 * ^
28516 * ```
28517 *
28518 * @type {State}
28519 */
28520 function tagOpenAttributeName(code) {
28521 // ASCII alphabetical and `-`, `.`, `:`, and `_`.
28522 if (
28523 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.dash ||
28524 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.dot ||
28525 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.colon ||
28526 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.underscore ||
28527 (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.asciiAlphanumeric)(code)
28528 ) {
28529 effects.consume(code)
28530 return tagOpenAttributeName
28531 }
28532
28533 return tagOpenAttributeNameAfter(code)
28534 }
28535
28536 /**
28537 * After attribute name, before initializer, the end of the tag, or
28538 * whitespace.
28539 *
28540 * ```markdown
28541 * > | a <b c> d
28542 * ^
28543 * ```
28544 *
28545 * @type {State}
28546 */
28547 function tagOpenAttributeNameAfter(code) {
28548 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.equalsTo) {
28549 effects.consume(code)
28550 return tagOpenAttributeValueBefore
28551 }
28552
28553 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.markdownLineEnding)(code)) {
28554 returnState = tagOpenAttributeNameAfter
28555 return lineEndingBefore(code)
28556 }
28557
28558 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.markdownSpace)(code)) {
28559 effects.consume(code)
28560 return tagOpenAttributeNameAfter
28561 }
28562
28563 return tagOpenBetween(code)
28564 }
28565
28566 /**
28567 * Before unquoted, double quoted, or single quoted attribute value, allowing
28568 * whitespace.
28569 *
28570 * ```markdown
28571 * > | a <b c=d> e
28572 * ^
28573 * ```
28574 *
28575 * @type {State}
28576 */
28577 function tagOpenAttributeValueBefore(code) {
28578 if (
28579 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.eof ||
28580 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.lessThan ||
28581 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.equalsTo ||
28582 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.greaterThan ||
28583 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.graveAccent
28584 ) {
28585 return nok(code)
28586 }
28587
28588 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.quotationMark || code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.apostrophe) {
28589 effects.consume(code)
28590 marker = code
28591 return tagOpenAttributeValueQuoted
28592 }
28593
28594 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.markdownLineEnding)(code)) {
28595 returnState = tagOpenAttributeValueBefore
28596 return lineEndingBefore(code)
28597 }
28598
28599 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.markdownSpace)(code)) {
28600 effects.consume(code)
28601 return tagOpenAttributeValueBefore
28602 }
28603
28604 effects.consume(code)
28605 return tagOpenAttributeValueUnquoted
28606 }
28607
28608 /**
28609 * In double or single quoted attribute value.
28610 *
28611 * ```markdown
28612 * > | a <b c="d"> e
28613 * ^
28614 * ```
28615 *
28616 * @type {State}
28617 */
28618 function tagOpenAttributeValueQuoted(code) {
28619 if (code === marker) {
28620 effects.consume(code)
28621 marker = undefined
28622 return tagOpenAttributeValueQuotedAfter
28623 }
28624
28625 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.eof) {
28626 return nok(code)
28627 }
28628
28629 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.markdownLineEnding)(code)) {
28630 returnState = tagOpenAttributeValueQuoted
28631 return lineEndingBefore(code)
28632 }
28633
28634 effects.consume(code)
28635 return tagOpenAttributeValueQuoted
28636 }
28637
28638 /**
28639 * In unquoted attribute value.
28640 *
28641 * ```markdown
28642 * > | a <b c=d> e
28643 * ^
28644 * ```
28645 *
28646 * @type {State}
28647 */
28648 function tagOpenAttributeValueUnquoted(code) {
28649 if (
28650 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.eof ||
28651 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.quotationMark ||
28652 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.apostrophe ||
28653 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.lessThan ||
28654 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.equalsTo ||
28655 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.graveAccent
28656 ) {
28657 return nok(code)
28658 }
28659
28660 if (
28661 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.slash ||
28662 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.greaterThan ||
28663 (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.markdownLineEndingOrSpace)(code)
28664 ) {
28665 return tagOpenBetween(code)
28666 }
28667
28668 effects.consume(code)
28669 return tagOpenAttributeValueUnquoted
28670 }
28671
28672 /**
28673 * After double or single quoted attribute value, before whitespace or the end
28674 * of the tag.
28675 *
28676 * ```markdown
28677 * > | a <b c="d"> e
28678 * ^
28679 * ```
28680 *
28681 * @type {State}
28682 */
28683 function tagOpenAttributeValueQuotedAfter(code) {
28684 if (
28685 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.slash ||
28686 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.greaterThan ||
28687 (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.markdownLineEndingOrSpace)(code)
28688 ) {
28689 return tagOpenBetween(code)
28690 }
28691
28692 return nok(code)
28693 }
28694
28695 /**
28696 * In certain circumstances of a tag where only an `>` is allowed.
28697 *
28698 * ```markdown
28699 * > | a <b c="d"> e
28700 * ^
28701 * ```
28702 *
28703 * @type {State}
28704 */
28705 function end(code) {
28706 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.greaterThan) {
28707 effects.consume(code)
28708 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.htmlTextData)
28709 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.htmlText)
28710 return ok
28711 }
28712
28713 return nok(code)
28714 }
28715
28716 /**
28717 * At eol.
28718 *
28719 * > 👉 **Note**: we can’t have blank lines in text, so no need to worry about
28720 * > empty tokens.
28721 *
28722 * ```markdown
28723 * > | a <!--a
28724 * ^
28725 * | b-->
28726 * ```
28727 *
28728 * @type {State}
28729 */
28730 function lineEndingBefore(code) {
28731 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(returnState, 'expected return state')
28732 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.markdownLineEnding)(code), 'expected eol')
28733 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.htmlTextData)
28734 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.lineEnding)
28735 effects.consume(code)
28736 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.lineEnding)
28737 return lineEndingAfter
28738 }
28739
28740 /**
28741 * After eol, at optional whitespace.
28742 *
28743 * > 👉 **Note**: we can’t have blank lines in text, so no need to worry about
28744 * > empty tokens.
28745 *
28746 * ```markdown
28747 * | a <!--a
28748 * > | b-->
28749 * ^
28750 * ```
28751 *
28752 * @type {State}
28753 */
28754 function lineEndingAfter(code) {
28755 // Always populated by defaults.
28756 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(
28757 self.parser.constructs.disable.null,
28758 'expected `disable.null` to be populated'
28759 )
28760 return (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.markdownSpace)(code)
28761 ? (0,micromark_factory_space__WEBPACK_IMPORTED_MODULE_5__.factorySpace)(
28762 effects,
28763 lineEndingAfterPrefix,
28764 micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.linePrefix,
28765 self.parser.constructs.disable.null.includes('codeIndented')
28766 ? undefined
28767 : micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_4__.constants.tabSize
28768 )(code)
28769 : lineEndingAfterPrefix(code)
28770 }
28771
28772 /**
28773 * After eol, after optional whitespace.
28774 *
28775 * > 👉 **Note**: we can’t have blank lines in text, so no need to worry about
28776 * > empty tokens.
28777 *
28778 * ```markdown
28779 * | a <!--a
28780 * > | b-->
28781 * ^
28782 * ```
28783 *
28784 * @type {State}
28785 */
28786 function lineEndingAfterPrefix(code) {
28787 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.htmlTextData)
28788 return returnState(code)
28789 }
28790 }
28791
28792
28793 /***/ }),
28794
28795 /***/ "../node_modules/micromark-core-commonmark/dev/lib/label-end.js":
28796 /*!**********************************************************************!*\
28797 !*** ../node_modules/micromark-core-commonmark/dev/lib/label-end.js ***!
28798 \**********************************************************************/
28799 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
28800
28801 "use strict";
28802 __webpack_require__.r(__webpack_exports__);
28803 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
28804 /* harmony export */ labelEnd: () => (/* binding */ labelEnd)
28805 /* harmony export */ });
28806 /* harmony import */ var micromark_factory_destination__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! micromark-factory-destination */ "../node_modules/micromark-factory-destination/dev/index.js");
28807 /* harmony import */ var micromark_factory_label__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! micromark-factory-label */ "../node_modules/micromark-factory-label/dev/index.js");
28808 /* harmony import */ var micromark_factory_title__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! micromark-factory-title */ "../node_modules/micromark-factory-title/dev/index.js");
28809 /* harmony import */ var micromark_factory_whitespace__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! micromark-factory-whitespace */ "../node_modules/micromark-factory-whitespace/dev/index.js");
28810 /* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! micromark-util-character */ "../node_modules/micromark-util-character/dev/index.js");
28811 /* harmony import */ var micromark_util_chunked__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! micromark-util-chunked */ "../node_modules/micromark-util-chunked/dev/index.js");
28812 /* harmony import */ var micromark_util_normalize_identifier__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! micromark-util-normalize-identifier */ "../node_modules/micromark-util-normalize-identifier/dev/index.js");
28813 /* harmony import */ var micromark_util_resolve_all__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! micromark-util-resolve-all */ "../node_modules/micromark-util-resolve-all/index.js");
28814 /* harmony import */ var micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! micromark-util-symbol/codes.js */ "../node_modules/micromark-util-symbol/codes.js");
28815 /* harmony import */ var micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! micromark-util-symbol/constants.js */ "../node_modules/micromark-util-symbol/constants.js");
28816 /* harmony import */ var micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-util-symbol/types.js */ "../node_modules/micromark-util-symbol/types.js");
28817 /* harmony import */ var uvu_assert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uvu/assert */ "../node_modules/uvu/assert/index.mjs");
28818 /**
28819 * @typedef {import('micromark-util-types').Construct} Construct
28820 * @typedef {import('micromark-util-types').Event} Event
28821 * @typedef {import('micromark-util-types').Resolver} Resolver
28822 * @typedef {import('micromark-util-types').State} State
28823 * @typedef {import('micromark-util-types').Token} Token
28824 * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext
28825 * @typedef {import('micromark-util-types').Tokenizer} Tokenizer
28826 */
28827
28828
28829
28830
28831
28832
28833
28834
28835
28836
28837
28838
28839
28840
28841 /** @type {Construct} */
28842 const labelEnd = {
28843 name: 'labelEnd',
28844 tokenize: tokenizeLabelEnd,
28845 resolveTo: resolveToLabelEnd,
28846 resolveAll: resolveAllLabelEnd
28847 }
28848
28849 /** @type {Construct} */
28850 const resourceConstruct = {tokenize: tokenizeResource}
28851 /** @type {Construct} */
28852 const referenceFullConstruct = {tokenize: tokenizeReferenceFull}
28853 /** @type {Construct} */
28854 const referenceCollapsedConstruct = {tokenize: tokenizeReferenceCollapsed}
28855
28856 /** @type {Resolver} */
28857 function resolveAllLabelEnd(events) {
28858 let index = -1
28859
28860 while (++index < events.length) {
28861 const token = events[index][1]
28862
28863 if (
28864 token.type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.labelImage ||
28865 token.type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.labelLink ||
28866 token.type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.labelEnd
28867 ) {
28868 // Remove the marker.
28869 events.splice(index + 1, token.type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.labelImage ? 4 : 2)
28870 token.type = micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.data
28871 index++
28872 }
28873 }
28874
28875 return events
28876 }
28877
28878 /** @type {Resolver} */
28879 function resolveToLabelEnd(events, context) {
28880 let index = events.length
28881 let offset = 0
28882 /** @type {Token} */
28883 let token
28884 /** @type {number | undefined} */
28885 let open
28886 /** @type {number | undefined} */
28887 let close
28888 /** @type {Array<Event>} */
28889 let media
28890
28891 // Find an opening.
28892 while (index--) {
28893 token = events[index][1]
28894
28895 if (open) {
28896 // If we see another link, or inactive link label, we’ve been here before.
28897 if (
28898 token.type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.link ||
28899 (token.type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.labelLink && token._inactive)
28900 ) {
28901 break
28902 }
28903
28904 // Mark other link openings as inactive, as we can’t have links in
28905 // links.
28906 if (events[index][0] === 'enter' && token.type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.labelLink) {
28907 token._inactive = true
28908 }
28909 } else if (close) {
28910 if (
28911 events[index][0] === 'enter' &&
28912 (token.type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.labelImage || token.type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.labelLink) &&
28913 !token._balanced
28914 ) {
28915 open = index
28916
28917 if (token.type !== micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.labelLink) {
28918 offset = 2
28919 break
28920 }
28921 }
28922 } else if (token.type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.labelEnd) {
28923 close = index
28924 }
28925 }
28926
28927 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(open !== undefined, '`open` is supposed to be found')
28928 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(close !== undefined, '`close` is supposed to be found')
28929
28930 const group = {
28931 type: events[open][1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.labelLink ? micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.link : micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.image,
28932 start: Object.assign({}, events[open][1].start),
28933 end: Object.assign({}, events[events.length - 1][1].end)
28934 }
28935
28936 const label = {
28937 type: micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.label,
28938 start: Object.assign({}, events[open][1].start),
28939 end: Object.assign({}, events[close][1].end)
28940 }
28941
28942 const text = {
28943 type: micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.labelText,
28944 start: Object.assign({}, events[open + offset + 2][1].end),
28945 end: Object.assign({}, events[close - 2][1].start)
28946 }
28947
28948 media = [
28949 ['enter', group, context],
28950 ['enter', label, context]
28951 ]
28952
28953 // Opening marker.
28954 media = (0,micromark_util_chunked__WEBPACK_IMPORTED_MODULE_2__.push)(media, events.slice(open + 1, open + offset + 3))
28955
28956 // Text open.
28957 media = (0,micromark_util_chunked__WEBPACK_IMPORTED_MODULE_2__.push)(media, [['enter', text, context]])
28958
28959 // Always populated by defaults.
28960 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(
28961 context.parser.constructs.insideSpan.null,
28962 'expected `insideSpan.null` to be populated'
28963 )
28964 // Between.
28965 media = (0,micromark_util_chunked__WEBPACK_IMPORTED_MODULE_2__.push)(
28966 media,
28967 (0,micromark_util_resolve_all__WEBPACK_IMPORTED_MODULE_3__.resolveAll)(
28968 context.parser.constructs.insideSpan.null,
28969 events.slice(open + offset + 4, close - 3),
28970 context
28971 )
28972 )
28973
28974 // Text close, marker close, label close.
28975 media = (0,micromark_util_chunked__WEBPACK_IMPORTED_MODULE_2__.push)(media, [
28976 ['exit', text, context],
28977 events[close - 2],
28978 events[close - 1],
28979 ['exit', label, context]
28980 ])
28981
28982 // Reference, resource, or so.
28983 media = (0,micromark_util_chunked__WEBPACK_IMPORTED_MODULE_2__.push)(media, events.slice(close + 1))
28984
28985 // Media close.
28986 media = (0,micromark_util_chunked__WEBPACK_IMPORTED_MODULE_2__.push)(media, [['exit', group, context]])
28987
28988 ;(0,micromark_util_chunked__WEBPACK_IMPORTED_MODULE_2__.splice)(events, open, events.length, media)
28989
28990 return events
28991 }
28992
28993 /**
28994 * @this {TokenizeContext}
28995 * @type {Tokenizer}
28996 */
28997 function tokenizeLabelEnd(effects, ok, nok) {
28998 const self = this
28999 let index = self.events.length
29000 /** @type {Token} */
29001 let labelStart
29002 /** @type {boolean} */
29003 let defined
29004
29005 // Find an opening.
29006 while (index--) {
29007 if (
29008 (self.events[index][1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.labelImage ||
29009 self.events[index][1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.labelLink) &&
29010 !self.events[index][1]._balanced
29011 ) {
29012 labelStart = self.events[index][1]
29013 break
29014 }
29015 }
29016
29017 return start
29018
29019 /**
29020 * Start of label end.
29021 *
29022 * ```markdown
29023 * > | [a](b) c
29024 * ^
29025 * > | [a][b] c
29026 * ^
29027 * > | [a][] b
29028 * ^
29029 * > | [a] b
29030 * ```
29031 *
29032 * @type {State}
29033 */
29034 function start(code) {
29035 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_4__.codes.rightSquareBracket, 'expected `]`')
29036
29037 // If there is not an okay opening.
29038 if (!labelStart) {
29039 return nok(code)
29040 }
29041
29042 // If the corresponding label (link) start is marked as inactive,
29043 // it means we’d be wrapping a link, like this:
29044 //
29045 // ```markdown
29046 // > | a [b [c](d) e](f) g.
29047 // ^
29048 // ```
29049 //
29050 // We can’t have that, so it’s just balanced brackets.
29051 if (labelStart._inactive) {
29052 return labelEndNok(code)
29053 }
29054
29055 defined = self.parser.defined.includes(
29056 (0,micromark_util_normalize_identifier__WEBPACK_IMPORTED_MODULE_5__.normalizeIdentifier)(
29057 self.sliceSerialize({start: labelStart.end, end: self.now()})
29058 )
29059 )
29060 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.labelEnd)
29061 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.labelMarker)
29062 effects.consume(code)
29063 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.labelMarker)
29064 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.labelEnd)
29065 return after
29066 }
29067
29068 /**
29069 * After `]`.
29070 *
29071 * ```markdown
29072 * > | [a](b) c
29073 * ^
29074 * > | [a][b] c
29075 * ^
29076 * > | [a][] b
29077 * ^
29078 * > | [a] b
29079 * ^
29080 * ```
29081 *
29082 * @type {State}
29083 */
29084 function after(code) {
29085 // Note: `markdown-rs` also parses GFM footnotes here, which for us is in
29086 // an extension.
29087
29088 // Resource (`[asd](fgh)`)?
29089 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_4__.codes.leftParenthesis) {
29090 return effects.attempt(
29091 resourceConstruct,
29092 labelEndOk,
29093 defined ? labelEndOk : labelEndNok
29094 )(code)
29095 }
29096
29097 // Full (`[asd][fgh]`) or collapsed (`[asd][]`) reference?
29098 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_4__.codes.leftSquareBracket) {
29099 return effects.attempt(
29100 referenceFullConstruct,
29101 labelEndOk,
29102 defined ? referenceNotFull : labelEndNok
29103 )(code)
29104 }
29105
29106 // Shortcut (`[asd]`) reference?
29107 return defined ? labelEndOk(code) : labelEndNok(code)
29108 }
29109
29110 /**
29111 * After `]`, at `[`, but not at a full reference.
29112 *
29113 * > 👉 **Note**: we only get here if the label is defined.
29114 *
29115 * ```markdown
29116 * > | [a][] b
29117 * ^
29118 * > | [a] b
29119 * ^
29120 * ```
29121 *
29122 * @type {State}
29123 */
29124 function referenceNotFull(code) {
29125 return effects.attempt(
29126 referenceCollapsedConstruct,
29127 labelEndOk,
29128 labelEndNok
29129 )(code)
29130 }
29131
29132 /**
29133 * Done, we found something.
29134 *
29135 * ```markdown
29136 * > | [a](b) c
29137 * ^
29138 * > | [a][b] c
29139 * ^
29140 * > | [a][] b
29141 * ^
29142 * > | [a] b
29143 * ^
29144 * ```
29145 *
29146 * @type {State}
29147 */
29148 function labelEndOk(code) {
29149 // Note: `markdown-rs` does a bunch of stuff here.
29150 return ok(code)
29151 }
29152
29153 /**
29154 * Done, it’s nothing.
29155 *
29156 * There was an okay opening, but we didn’t match anything.
29157 *
29158 * ```markdown
29159 * > | [a](b c
29160 * ^
29161 * > | [a][b c
29162 * ^
29163 * > | [a] b
29164 * ^
29165 * ```
29166 *
29167 * @type {State}
29168 */
29169 function labelEndNok(code) {
29170 labelStart._balanced = true
29171 return nok(code)
29172 }
29173 }
29174
29175 /**
29176 * @this {TokenizeContext}
29177 * @type {Tokenizer}
29178 */
29179 function tokenizeResource(effects, ok, nok) {
29180 return resourceStart
29181
29182 /**
29183 * At a resource.
29184 *
29185 * ```markdown
29186 * > | [a](b) c
29187 * ^
29188 * ```
29189 *
29190 * @type {State}
29191 */
29192 function resourceStart(code) {
29193 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_4__.codes.leftParenthesis, 'expected left paren')
29194 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.resource)
29195 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.resourceMarker)
29196 effects.consume(code)
29197 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.resourceMarker)
29198 return resourceBefore
29199 }
29200
29201 /**
29202 * In resource, after `(`, at optional whitespace.
29203 *
29204 * ```markdown
29205 * > | [a](b) c
29206 * ^
29207 * ```
29208 *
29209 * @type {State}
29210 */
29211 function resourceBefore(code) {
29212 return (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_6__.markdownLineEndingOrSpace)(code)
29213 ? (0,micromark_factory_whitespace__WEBPACK_IMPORTED_MODULE_7__.factoryWhitespace)(effects, resourceOpen)(code)
29214 : resourceOpen(code)
29215 }
29216
29217 /**
29218 * In resource, after optional whitespace, at `)` or a destination.
29219 *
29220 * ```markdown
29221 * > | [a](b) c
29222 * ^
29223 * ```
29224 *
29225 * @type {State}
29226 */
29227 function resourceOpen(code) {
29228 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_4__.codes.rightParenthesis) {
29229 return resourceEnd(code)
29230 }
29231
29232 return (0,micromark_factory_destination__WEBPACK_IMPORTED_MODULE_8__.factoryDestination)(
29233 effects,
29234 resourceDestinationAfter,
29235 resourceDestinationMissing,
29236 micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.resourceDestination,
29237 micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.resourceDestinationLiteral,
29238 micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.resourceDestinationLiteralMarker,
29239 micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.resourceDestinationRaw,
29240 micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.resourceDestinationString,
29241 micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_9__.constants.linkResourceDestinationBalanceMax
29242 )(code)
29243 }
29244
29245 /**
29246 * In resource, after destination, at optional whitespace.
29247 *
29248 * ```markdown
29249 * > | [a](b) c
29250 * ^
29251 * ```
29252 *
29253 * @type {State}
29254 */
29255 function resourceDestinationAfter(code) {
29256 return (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_6__.markdownLineEndingOrSpace)(code)
29257 ? (0,micromark_factory_whitespace__WEBPACK_IMPORTED_MODULE_7__.factoryWhitespace)(effects, resourceBetween)(code)
29258 : resourceEnd(code)
29259 }
29260
29261 /**
29262 * At invalid destination.
29263 *
29264 * ```markdown
29265 * > | [a](<<) b
29266 * ^
29267 * ```
29268 *
29269 * @type {State}
29270 */
29271 function resourceDestinationMissing(code) {
29272 return nok(code)
29273 }
29274
29275 /**
29276 * In resource, after destination and whitespace, at `(` or title.
29277 *
29278 * ```markdown
29279 * > | [a](b ) c
29280 * ^
29281 * ```
29282 *
29283 * @type {State}
29284 */
29285 function resourceBetween(code) {
29286 if (
29287 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_4__.codes.quotationMark ||
29288 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_4__.codes.apostrophe ||
29289 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_4__.codes.leftParenthesis
29290 ) {
29291 return (0,micromark_factory_title__WEBPACK_IMPORTED_MODULE_10__.factoryTitle)(
29292 effects,
29293 resourceTitleAfter,
29294 nok,
29295 micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.resourceTitle,
29296 micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.resourceTitleMarker,
29297 micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.resourceTitleString
29298 )(code)
29299 }
29300
29301 return resourceEnd(code)
29302 }
29303
29304 /**
29305 * In resource, after title, at optional whitespace.
29306 *
29307 * ```markdown
29308 * > | [a](b "c") d
29309 * ^
29310 * ```
29311 *
29312 * @type {State}
29313 */
29314 function resourceTitleAfter(code) {
29315 return (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_6__.markdownLineEndingOrSpace)(code)
29316 ? (0,micromark_factory_whitespace__WEBPACK_IMPORTED_MODULE_7__.factoryWhitespace)(effects, resourceEnd)(code)
29317 : resourceEnd(code)
29318 }
29319
29320 /**
29321 * In resource, at `)`.
29322 *
29323 * ```markdown
29324 * > | [a](b) d
29325 * ^
29326 * ```
29327 *
29328 * @type {State}
29329 */
29330 function resourceEnd(code) {
29331 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_4__.codes.rightParenthesis) {
29332 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.resourceMarker)
29333 effects.consume(code)
29334 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.resourceMarker)
29335 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.resource)
29336 return ok
29337 }
29338
29339 return nok(code)
29340 }
29341 }
29342
29343 /**
29344 * @this {TokenizeContext}
29345 * @type {Tokenizer}
29346 */
29347 function tokenizeReferenceFull(effects, ok, nok) {
29348 const self = this
29349
29350 return referenceFull
29351
29352 /**
29353 * In a reference (full), at the `[`.
29354 *
29355 * ```markdown
29356 * > | [a][b] d
29357 * ^
29358 * ```
29359 *
29360 * @type {State}
29361 */
29362 function referenceFull(code) {
29363 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_4__.codes.leftSquareBracket, 'expected left bracket')
29364 return micromark_factory_label__WEBPACK_IMPORTED_MODULE_11__.factoryLabel.call(
29365 self,
29366 effects,
29367 referenceFullAfter,
29368 referenceFullMissing,
29369 micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.reference,
29370 micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.referenceMarker,
29371 micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.referenceString
29372 )(code)
29373 }
29374
29375 /**
29376 * In a reference (full), after `]`.
29377 *
29378 * ```markdown
29379 * > | [a][b] d
29380 * ^
29381 * ```
29382 *
29383 * @type {State}
29384 */
29385 function referenceFullAfter(code) {
29386 return self.parser.defined.includes(
29387 (0,micromark_util_normalize_identifier__WEBPACK_IMPORTED_MODULE_5__.normalizeIdentifier)(
29388 self.sliceSerialize(self.events[self.events.length - 1][1]).slice(1, -1)
29389 )
29390 )
29391 ? ok(code)
29392 : nok(code)
29393 }
29394
29395 /**
29396 * In reference (full) that was missing.
29397 *
29398 * ```markdown
29399 * > | [a][b d
29400 * ^
29401 * ```
29402 *
29403 * @type {State}
29404 */
29405 function referenceFullMissing(code) {
29406 return nok(code)
29407 }
29408 }
29409
29410 /**
29411 * @this {TokenizeContext}
29412 * @type {Tokenizer}
29413 */
29414 function tokenizeReferenceCollapsed(effects, ok, nok) {
29415 return referenceCollapsedStart
29416
29417 /**
29418 * In reference (collapsed), at `[`.
29419 *
29420 * > 👉 **Note**: we only get here if the label is defined.
29421 *
29422 * ```markdown
29423 * > | [a][] d
29424 * ^
29425 * ```
29426 *
29427 * @type {State}
29428 */
29429 function referenceCollapsedStart(code) {
29430 // We only attempt a collapsed label if there’s a `[`.
29431 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_4__.codes.leftSquareBracket, 'expected left bracket')
29432 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.reference)
29433 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.referenceMarker)
29434 effects.consume(code)
29435 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.referenceMarker)
29436 return referenceCollapsedOpen
29437 }
29438
29439 /**
29440 * In reference (collapsed), at `]`.
29441 *
29442 * > 👉 **Note**: we only get here if the label is defined.
29443 *
29444 * ```markdown
29445 * > | [a][] d
29446 * ^
29447 * ```
29448 *
29449 * @type {State}
29450 */
29451 function referenceCollapsedOpen(code) {
29452 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_4__.codes.rightSquareBracket) {
29453 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.referenceMarker)
29454 effects.consume(code)
29455 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.referenceMarker)
29456 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.reference)
29457 return ok
29458 }
29459
29460 return nok(code)
29461 }
29462 }
29463
29464
29465 /***/ }),
29466
29467 /***/ "../node_modules/micromark-core-commonmark/dev/lib/label-start-image.js":
29468 /*!******************************************************************************!*\
29469 !*** ../node_modules/micromark-core-commonmark/dev/lib/label-start-image.js ***!
29470 \******************************************************************************/
29471 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
29472
29473 "use strict";
29474 __webpack_require__.r(__webpack_exports__);
29475 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
29476 /* harmony export */ labelStartImage: () => (/* binding */ labelStartImage)
29477 /* harmony export */ });
29478 /* harmony import */ var micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! micromark-util-symbol/codes.js */ "../node_modules/micromark-util-symbol/codes.js");
29479 /* harmony import */ var micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! micromark-util-symbol/types.js */ "../node_modules/micromark-util-symbol/types.js");
29480 /* harmony import */ var uvu_assert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uvu/assert */ "../node_modules/uvu/assert/index.mjs");
29481 /* harmony import */ var _label_end_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./label-end.js */ "../node_modules/micromark-core-commonmark/dev/lib/label-end.js");
29482 /**
29483 * @typedef {import('micromark-util-types').Construct} Construct
29484 * @typedef {import('micromark-util-types').State} State
29485 * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext
29486 * @typedef {import('micromark-util-types').Tokenizer} Tokenizer
29487 */
29488
29489
29490
29491
29492
29493
29494 /** @type {Construct} */
29495 const labelStartImage = {
29496 name: 'labelStartImage',
29497 tokenize: tokenizeLabelStartImage,
29498 resolveAll: _label_end_js__WEBPACK_IMPORTED_MODULE_1__.labelEnd.resolveAll
29499 }
29500
29501 /**
29502 * @this {TokenizeContext}
29503 * @type {Tokenizer}
29504 */
29505 function tokenizeLabelStartImage(effects, ok, nok) {
29506 const self = this
29507
29508 return start
29509
29510 /**
29511 * Start of label (image) start.
29512 *
29513 * ```markdown
29514 * > | a ![b] c
29515 * ^
29516 * ```
29517 *
29518 * @type {State}
29519 */
29520 function start(code) {
29521 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.exclamationMark, 'expected `!`')
29522 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_3__.types.labelImage)
29523 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_3__.types.labelImageMarker)
29524 effects.consume(code)
29525 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_3__.types.labelImageMarker)
29526 return open
29527 }
29528
29529 /**
29530 * After `!`, at `[`.
29531 *
29532 * ```markdown
29533 * > | a ![b] c
29534 * ^
29535 * ```
29536 *
29537 * @type {State}
29538 */
29539 function open(code) {
29540 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.leftSquareBracket) {
29541 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_3__.types.labelMarker)
29542 effects.consume(code)
29543 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_3__.types.labelMarker)
29544 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_3__.types.labelImage)
29545 return after
29546 }
29547
29548 return nok(code)
29549 }
29550
29551 /**
29552 * After `![`.
29553 *
29554 * ```markdown
29555 * > | a ![b] c
29556 * ^
29557 * ```
29558 *
29559 * This is needed in because, when GFM footnotes are enabled, images never
29560 * form when started with a `^`.
29561 * Instead, links form:
29562 *
29563 * ```markdown
29564 * ![^a](b)
29565 *
29566 * ![^a][b]
29567 *
29568 * [b]: c
29569 * ```
29570 *
29571 * ```html
29572 * <p>!<a href=\"b\">^a</a></p>
29573 * <p>!<a href=\"c\">^a</a></p>
29574 * ```
29575 *
29576 * @type {State}
29577 */
29578 function after(code) {
29579 // To do: use a new field to do this, this is still needed for
29580 // `micromark-extension-gfm-footnote`, but the `label-start-link`
29581 // behavior isn’t.
29582 // Hidden footnotes hook.
29583 /* c8 ignore next 3 */
29584 return code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.caret &&
29585 '_hiddenFootnoteSupport' in self.parser.constructs
29586 ? nok(code)
29587 : ok(code)
29588 }
29589 }
29590
29591
29592 /***/ }),
29593
29594 /***/ "../node_modules/micromark-core-commonmark/dev/lib/label-start-link.js":
29595 /*!*****************************************************************************!*\
29596 !*** ../node_modules/micromark-core-commonmark/dev/lib/label-start-link.js ***!
29597 \*****************************************************************************/
29598 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
29599
29600 "use strict";
29601 __webpack_require__.r(__webpack_exports__);
29602 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
29603 /* harmony export */ labelStartLink: () => (/* binding */ labelStartLink)
29604 /* harmony export */ });
29605 /* harmony import */ var micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! micromark-util-symbol/codes.js */ "../node_modules/micromark-util-symbol/codes.js");
29606 /* harmony import */ var micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! micromark-util-symbol/types.js */ "../node_modules/micromark-util-symbol/types.js");
29607 /* harmony import */ var uvu_assert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uvu/assert */ "../node_modules/uvu/assert/index.mjs");
29608 /* harmony import */ var _label_end_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./label-end.js */ "../node_modules/micromark-core-commonmark/dev/lib/label-end.js");
29609 /**
29610 * @typedef {import('micromark-util-types').Construct} Construct
29611 * @typedef {import('micromark-util-types').State} State
29612 * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext
29613 * @typedef {import('micromark-util-types').Tokenizer} Tokenizer
29614 */
29615
29616
29617
29618
29619
29620
29621 /** @type {Construct} */
29622 const labelStartLink = {
29623 name: 'labelStartLink',
29624 tokenize: tokenizeLabelStartLink,
29625 resolveAll: _label_end_js__WEBPACK_IMPORTED_MODULE_1__.labelEnd.resolveAll
29626 }
29627
29628 /**
29629 * @this {TokenizeContext}
29630 * @type {Tokenizer}
29631 */
29632 function tokenizeLabelStartLink(effects, ok, nok) {
29633 const self = this
29634
29635 return start
29636
29637 /**
29638 * Start of label (link) start.
29639 *
29640 * ```markdown
29641 * > | a [b] c
29642 * ^
29643 * ```
29644 *
29645 * @type {State}
29646 */
29647 function start(code) {
29648 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.leftSquareBracket, 'expected `[`')
29649 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_3__.types.labelLink)
29650 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_3__.types.labelMarker)
29651 effects.consume(code)
29652 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_3__.types.labelMarker)
29653 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_3__.types.labelLink)
29654 return after
29655 }
29656
29657 /** @type {State} */
29658 function after(code) {
29659 // To do: this isn’t needed in `micromark-extension-gfm-footnote`,
29660 // remove.
29661 // Hidden footnotes hook.
29662 /* c8 ignore next 3 */
29663 return code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.caret &&
29664 '_hiddenFootnoteSupport' in self.parser.constructs
29665 ? nok(code)
29666 : ok(code)
29667 }
29668 }
29669
29670
29671 /***/ }),
29672
29673 /***/ "../node_modules/micromark-core-commonmark/dev/lib/line-ending.js":
29674 /*!************************************************************************!*\
29675 !*** ../node_modules/micromark-core-commonmark/dev/lib/line-ending.js ***!
29676 \************************************************************************/
29677 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
29678
29679 "use strict";
29680 __webpack_require__.r(__webpack_exports__);
29681 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
29682 /* harmony export */ lineEnding: () => (/* binding */ lineEnding)
29683 /* harmony export */ });
29684 /* harmony import */ var micromark_factory_space__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! micromark-factory-space */ "../node_modules/micromark-factory-space/dev/index.js");
29685 /* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-util-character */ "../node_modules/micromark-util-character/dev/index.js");
29686 /* harmony import */ var micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! micromark-util-symbol/types.js */ "../node_modules/micromark-util-symbol/types.js");
29687 /* harmony import */ var uvu_assert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uvu/assert */ "../node_modules/uvu/assert/index.mjs");
29688 /**
29689 * @typedef {import('micromark-util-types').Construct} Construct
29690 * @typedef {import('micromark-util-types').State} State
29691 * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext
29692 * @typedef {import('micromark-util-types').Tokenizer} Tokenizer
29693 */
29694
29695
29696
29697
29698
29699
29700 /** @type {Construct} */
29701 const lineEnding = {name: 'lineEnding', tokenize: tokenizeLineEnding}
29702
29703 /**
29704 * @this {TokenizeContext}
29705 * @type {Tokenizer}
29706 */
29707 function tokenizeLineEnding(effects, ok) {
29708 return start
29709
29710 /** @type {State} */
29711 function start(code) {
29712 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_1__.markdownLineEnding)(code), 'expected eol')
29713 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.lineEnding)
29714 effects.consume(code)
29715 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.lineEnding)
29716 return (0,micromark_factory_space__WEBPACK_IMPORTED_MODULE_3__.factorySpace)(effects, ok, micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.linePrefix)
29717 }
29718 }
29719
29720
29721 /***/ }),
29722
29723 /***/ "../node_modules/micromark-core-commonmark/dev/lib/list.js":
29724 /*!*****************************************************************!*\
29725 !*** ../node_modules/micromark-core-commonmark/dev/lib/list.js ***!
29726 \*****************************************************************/
29727 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
29728
29729 "use strict";
29730 __webpack_require__.r(__webpack_exports__);
29731 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
29732 /* harmony export */ list: () => (/* binding */ list)
29733 /* harmony export */ });
29734 /* harmony import */ var micromark_factory_space__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! micromark-factory-space */ "../node_modules/micromark-factory-space/dev/index.js");
29735 /* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! micromark-util-character */ "../node_modules/micromark-util-character/dev/index.js");
29736 /* harmony import */ var micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! micromark-util-symbol/codes.js */ "../node_modules/micromark-util-symbol/codes.js");
29737 /* harmony import */ var micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! micromark-util-symbol/constants.js */ "../node_modules/micromark-util-symbol/constants.js");
29738 /* harmony import */ var micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-util-symbol/types.js */ "../node_modules/micromark-util-symbol/types.js");
29739 /* harmony import */ var uvu_assert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uvu/assert */ "../node_modules/uvu/assert/index.mjs");
29740 /* harmony import */ var _blank_line_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./blank-line.js */ "../node_modules/micromark-core-commonmark/dev/lib/blank-line.js");
29741 /* harmony import */ var _thematic_break_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./thematic-break.js */ "../node_modules/micromark-core-commonmark/dev/lib/thematic-break.js");
29742 /**
29743 * @typedef {import('micromark-util-types').Code} Code
29744 * @typedef {import('micromark-util-types').Construct} Construct
29745 * @typedef {import('micromark-util-types').ContainerState} ContainerState
29746 * @typedef {import('micromark-util-types').Exiter} Exiter
29747 * @typedef {import('micromark-util-types').State} State
29748 * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext
29749 * @typedef {import('micromark-util-types').Tokenizer} Tokenizer
29750 */
29751
29752
29753
29754
29755
29756
29757
29758
29759
29760
29761 /** @type {Construct} */
29762 const list = {
29763 name: 'list',
29764 tokenize: tokenizeListStart,
29765 continuation: {tokenize: tokenizeListContinuation},
29766 exit: tokenizeListEnd
29767 }
29768
29769 /** @type {Construct} */
29770 const listItemPrefixWhitespaceConstruct = {
29771 tokenize: tokenizeListItemPrefixWhitespace,
29772 partial: true
29773 }
29774
29775 /** @type {Construct} */
29776 const indentConstruct = {tokenize: tokenizeIndent, partial: true}
29777
29778 // To do: `markdown-rs` parses list items on their own and later stitches them
29779 // together.
29780
29781 /**
29782 * @type {Tokenizer}
29783 * @this {TokenizeContext}
29784 */
29785 function tokenizeListStart(effects, ok, nok) {
29786 const self = this
29787 const tail = self.events[self.events.length - 1]
29788 let initialSize =
29789 tail && tail[1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.linePrefix
29790 ? tail[2].sliceSerialize(tail[1], true).length
29791 : 0
29792 let size = 0
29793
29794 return start
29795
29796 /** @type {State} */
29797 function start(code) {
29798 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(self.containerState, 'expected state')
29799 const kind =
29800 self.containerState.type ||
29801 (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.asterisk || code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.plusSign || code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.dash
29802 ? micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.listUnordered
29803 : micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.listOrdered)
29804
29805 if (
29806 kind === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.listUnordered
29807 ? !self.containerState.marker || code === self.containerState.marker
29808 : (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.asciiDigit)(code)
29809 ) {
29810 if (!self.containerState.type) {
29811 self.containerState.type = kind
29812 effects.enter(kind, {_container: true})
29813 }
29814
29815 if (kind === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.listUnordered) {
29816 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.listItemPrefix)
29817 return code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.asterisk || code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.dash
29818 ? effects.check(_thematic_break_js__WEBPACK_IMPORTED_MODULE_4__.thematicBreak, nok, atMarker)(code)
29819 : atMarker(code)
29820 }
29821
29822 if (!self.interrupt || code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.digit1) {
29823 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.listItemPrefix)
29824 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.listItemValue)
29825 return inside(code)
29826 }
29827 }
29828
29829 return nok(code)
29830 }
29831
29832 /** @type {State} */
29833 function inside(code) {
29834 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(self.containerState, 'expected state')
29835 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.asciiDigit)(code) && ++size < micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_5__.constants.listItemValueSizeMax) {
29836 effects.consume(code)
29837 return inside
29838 }
29839
29840 if (
29841 (!self.interrupt || size < 2) &&
29842 (self.containerState.marker
29843 ? code === self.containerState.marker
29844 : code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.rightParenthesis || code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.dot)
29845 ) {
29846 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.listItemValue)
29847 return atMarker(code)
29848 }
29849
29850 return nok(code)
29851 }
29852
29853 /**
29854 * @type {State}
29855 **/
29856 function atMarker(code) {
29857 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(self.containerState, 'expected state')
29858 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(code !== micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.eof, 'eof (`null`) is not a marker')
29859 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.listItemMarker)
29860 effects.consume(code)
29861 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.listItemMarker)
29862 self.containerState.marker = self.containerState.marker || code
29863 return effects.check(
29864 _blank_line_js__WEBPACK_IMPORTED_MODULE_6__.blankLine,
29865 // Can’t be empty when interrupting.
29866 self.interrupt ? nok : onBlank,
29867 effects.attempt(
29868 listItemPrefixWhitespaceConstruct,
29869 endOfPrefix,
29870 otherPrefix
29871 )
29872 )
29873 }
29874
29875 /** @type {State} */
29876 function onBlank(code) {
29877 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(self.containerState, 'expected state')
29878 self.containerState.initialBlankLine = true
29879 initialSize++
29880 return endOfPrefix(code)
29881 }
29882
29883 /** @type {State} */
29884 function otherPrefix(code) {
29885 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.markdownSpace)(code)) {
29886 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.listItemPrefixWhitespace)
29887 effects.consume(code)
29888 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.listItemPrefixWhitespace)
29889 return endOfPrefix
29890 }
29891
29892 return nok(code)
29893 }
29894
29895 /** @type {State} */
29896 function endOfPrefix(code) {
29897 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(self.containerState, 'expected state')
29898 self.containerState.size =
29899 initialSize +
29900 self.sliceSerialize(effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.listItemPrefix), true).length
29901 return ok(code)
29902 }
29903 }
29904
29905 /**
29906 * @type {Tokenizer}
29907 * @this {TokenizeContext}
29908 */
29909 function tokenizeListContinuation(effects, ok, nok) {
29910 const self = this
29911
29912 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(self.containerState, 'expected state')
29913 self.containerState._closeFlow = undefined
29914
29915 return effects.check(_blank_line_js__WEBPACK_IMPORTED_MODULE_6__.blankLine, onBlank, notBlank)
29916
29917 /** @type {State} */
29918 function onBlank(code) {
29919 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(self.containerState, 'expected state')
29920 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(typeof self.containerState.size === 'number', 'expected size')
29921 self.containerState.furtherBlankLines =
29922 self.containerState.furtherBlankLines ||
29923 self.containerState.initialBlankLine
29924
29925 // We have a blank line.
29926 // Still, try to consume at most the items size.
29927 return (0,micromark_factory_space__WEBPACK_IMPORTED_MODULE_7__.factorySpace)(
29928 effects,
29929 ok,
29930 micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.listItemIndent,
29931 self.containerState.size + 1
29932 )(code)
29933 }
29934
29935 /** @type {State} */
29936 function notBlank(code) {
29937 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(self.containerState, 'expected state')
29938 if (self.containerState.furtherBlankLines || !(0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.markdownSpace)(code)) {
29939 self.containerState.furtherBlankLines = undefined
29940 self.containerState.initialBlankLine = undefined
29941 return notInCurrentItem(code)
29942 }
29943
29944 self.containerState.furtherBlankLines = undefined
29945 self.containerState.initialBlankLine = undefined
29946 return effects.attempt(indentConstruct, ok, notInCurrentItem)(code)
29947 }
29948
29949 /** @type {State} */
29950 function notInCurrentItem(code) {
29951 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(self.containerState, 'expected state')
29952 // While we do continue, we signal that the flow should be closed.
29953 self.containerState._closeFlow = true
29954 // As we’re closing flow, we’re no longer interrupting.
29955 self.interrupt = undefined
29956 // Always populated by defaults.
29957 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(
29958 self.parser.constructs.disable.null,
29959 'expected `disable.null` to be populated'
29960 )
29961 return (0,micromark_factory_space__WEBPACK_IMPORTED_MODULE_7__.factorySpace)(
29962 effects,
29963 effects.attempt(list, ok, nok),
29964 micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.linePrefix,
29965 self.parser.constructs.disable.null.includes('codeIndented')
29966 ? undefined
29967 : micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_5__.constants.tabSize
29968 )(code)
29969 }
29970 }
29971
29972 /**
29973 * @type {Tokenizer}
29974 * @this {TokenizeContext}
29975 */
29976 function tokenizeIndent(effects, ok, nok) {
29977 const self = this
29978
29979 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(self.containerState, 'expected state')
29980 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(typeof self.containerState.size === 'number', 'expected size')
29981
29982 return (0,micromark_factory_space__WEBPACK_IMPORTED_MODULE_7__.factorySpace)(
29983 effects,
29984 afterPrefix,
29985 micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.listItemIndent,
29986 self.containerState.size + 1
29987 )
29988
29989 /** @type {State} */
29990 function afterPrefix(code) {
29991 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(self.containerState, 'expected state')
29992 const tail = self.events[self.events.length - 1]
29993 return tail &&
29994 tail[1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.listItemIndent &&
29995 tail[2].sliceSerialize(tail[1], true).length === self.containerState.size
29996 ? ok(code)
29997 : nok(code)
29998 }
29999 }
30000
30001 /**
30002 * @type {Exiter}
30003 * @this {TokenizeContext}
30004 */
30005 function tokenizeListEnd(effects) {
30006 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(this.containerState, 'expected state')
30007 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(typeof this.containerState.type === 'string', 'expected type')
30008 effects.exit(this.containerState.type)
30009 }
30010
30011 /**
30012 * @type {Tokenizer}
30013 * @this {TokenizeContext}
30014 */
30015 function tokenizeListItemPrefixWhitespace(effects, ok, nok) {
30016 const self = this
30017
30018 // Always populated by defaults.
30019 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(
30020 self.parser.constructs.disable.null,
30021 'expected `disable.null` to be populated'
30022 )
30023
30024 return (0,micromark_factory_space__WEBPACK_IMPORTED_MODULE_7__.factorySpace)(
30025 effects,
30026 afterPrefix,
30027 micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.listItemPrefixWhitespace,
30028 self.parser.constructs.disable.null.includes('codeIndented')
30029 ? undefined
30030 : micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_5__.constants.tabSize + 1
30031 )
30032
30033 /** @type {State} */
30034 function afterPrefix(code) {
30035 const tail = self.events[self.events.length - 1]
30036
30037 return !(0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.markdownSpace)(code) &&
30038 tail &&
30039 tail[1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.listItemPrefixWhitespace
30040 ? ok(code)
30041 : nok(code)
30042 }
30043 }
30044
30045
30046 /***/ }),
30047
30048 /***/ "../node_modules/micromark-core-commonmark/dev/lib/setext-underline.js":
30049 /*!*****************************************************************************!*\
30050 !*** ../node_modules/micromark-core-commonmark/dev/lib/setext-underline.js ***!
30051 \*****************************************************************************/
30052 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
30053
30054 "use strict";
30055 __webpack_require__.r(__webpack_exports__);
30056 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
30057 /* harmony export */ setextUnderline: () => (/* binding */ setextUnderline)
30058 /* harmony export */ });
30059 /* harmony import */ var micromark_factory_space__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! micromark-factory-space */ "../node_modules/micromark-factory-space/dev/index.js");
30060 /* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! micromark-util-character */ "../node_modules/micromark-util-character/dev/index.js");
30061 /* harmony import */ var micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! micromark-util-symbol/codes.js */ "../node_modules/micromark-util-symbol/codes.js");
30062 /* harmony import */ var micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-util-symbol/types.js */ "../node_modules/micromark-util-symbol/types.js");
30063 /* harmony import */ var uvu_assert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uvu/assert */ "../node_modules/uvu/assert/index.mjs");
30064 /**
30065 * @typedef {import('micromark-util-types').Code} Code
30066 * @typedef {import('micromark-util-types').Construct} Construct
30067 * @typedef {import('micromark-util-types').Resolver} Resolver
30068 * @typedef {import('micromark-util-types').State} State
30069 * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext
30070 * @typedef {import('micromark-util-types').Tokenizer} Tokenizer
30071 */
30072
30073
30074
30075
30076
30077
30078
30079 /** @type {Construct} */
30080 const setextUnderline = {
30081 name: 'setextUnderline',
30082 tokenize: tokenizeSetextUnderline,
30083 resolveTo: resolveToSetextUnderline
30084 }
30085
30086 /** @type {Resolver} */
30087 function resolveToSetextUnderline(events, context) {
30088 // To do: resolve like `markdown-rs`.
30089 let index = events.length
30090 /** @type {number | undefined} */
30091 let content
30092 /** @type {number | undefined} */
30093 let text
30094 /** @type {number | undefined} */
30095 let definition
30096
30097 // Find the opening of the content.
30098 // It’ll always exist: we don’t tokenize if it isn’t there.
30099 while (index--) {
30100 if (events[index][0] === 'enter') {
30101 if (events[index][1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.content) {
30102 content = index
30103 break
30104 }
30105
30106 if (events[index][1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.paragraph) {
30107 text = index
30108 }
30109 }
30110 // Exit
30111 else {
30112 if (events[index][1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.content) {
30113 // Remove the content end (if needed we’ll add it later)
30114 events.splice(index, 1)
30115 }
30116
30117 if (!definition && events[index][1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.definition) {
30118 definition = index
30119 }
30120 }
30121 }
30122
30123 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(text !== undefined, 'expected a `text` index to be found')
30124 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(content !== undefined, 'expected a `text` index to be found')
30125
30126 const heading = {
30127 type: micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.setextHeading,
30128 start: Object.assign({}, events[text][1].start),
30129 end: Object.assign({}, events[events.length - 1][1].end)
30130 }
30131
30132 // Change the paragraph to setext heading text.
30133 events[text][1].type = micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.setextHeadingText
30134
30135 // If we have definitions in the content, we’ll keep on having content,
30136 // but we need move it.
30137 if (definition) {
30138 events.splice(text, 0, ['enter', heading, context])
30139 events.splice(definition + 1, 0, ['exit', events[content][1], context])
30140 events[content][1].end = Object.assign({}, events[definition][1].end)
30141 } else {
30142 events[content][1] = heading
30143 }
30144
30145 // Add the heading exit at the end.
30146 events.push(['exit', heading, context])
30147
30148 return events
30149 }
30150
30151 /**
30152 * @this {TokenizeContext}
30153 * @type {Tokenizer}
30154 */
30155 function tokenizeSetextUnderline(effects, ok, nok) {
30156 const self = this
30157 /** @type {NonNullable<Code>} */
30158 let marker
30159
30160 return start
30161
30162 /**
30163 * At start of heading (setext) underline.
30164 *
30165 * ```markdown
30166 * | aa
30167 * > | ==
30168 * ^
30169 * ```
30170 *
30171 * @type {State}
30172 */
30173 function start(code) {
30174 let index = self.events.length
30175 /** @type {boolean | undefined} */
30176 let paragraph
30177
30178 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(
30179 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.dash || code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.equalsTo,
30180 'expected `=` or `-`'
30181 )
30182
30183 // Find an opening.
30184 while (index--) {
30185 // Skip enter/exit of line ending, line prefix, and content.
30186 // We can now either have a definition or a paragraph.
30187 if (
30188 self.events[index][1].type !== micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.lineEnding &&
30189 self.events[index][1].type !== micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.linePrefix &&
30190 self.events[index][1].type !== micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.content
30191 ) {
30192 paragraph = self.events[index][1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.paragraph
30193 break
30194 }
30195 }
30196
30197 // To do: handle lazy/pierce like `markdown-rs`.
30198 // To do: parse indent like `markdown-rs`.
30199 if (!self.parser.lazy[self.now().line] && (self.interrupt || paragraph)) {
30200 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.setextHeadingLine)
30201 marker = code
30202 return before(code)
30203 }
30204
30205 return nok(code)
30206 }
30207
30208 /**
30209 * After optional whitespace, at `-` or `=`.
30210 *
30211 * ```markdown
30212 * | aa
30213 * > | ==
30214 * ^
30215 * ```
30216 *
30217 * @type {State}
30218 */
30219 function before(code) {
30220 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.setextHeadingLineSequence)
30221 return inside(code)
30222 }
30223
30224 /**
30225 * In sequence.
30226 *
30227 * ```markdown
30228 * | aa
30229 * > | ==
30230 * ^
30231 * ```
30232 *
30233 * @type {State}
30234 */
30235 function inside(code) {
30236 if (code === marker) {
30237 effects.consume(code)
30238 return inside
30239 }
30240
30241 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.setextHeadingLineSequence)
30242
30243 return (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.markdownSpace)(code)
30244 ? (0,micromark_factory_space__WEBPACK_IMPORTED_MODULE_4__.factorySpace)(effects, after, micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.lineSuffix)(code)
30245 : after(code)
30246 }
30247
30248 /**
30249 * After sequence, after optional whitespace.
30250 *
30251 * ```markdown
30252 * | aa
30253 * > | ==
30254 * ^
30255 * ```
30256 *
30257 * @type {State}
30258 */
30259 function after(code) {
30260 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.eof || (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.markdownLineEnding)(code)) {
30261 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.setextHeadingLine)
30262 return ok(code)
30263 }
30264
30265 return nok(code)
30266 }
30267 }
30268
30269
30270 /***/ }),
30271
30272 /***/ "../node_modules/micromark-core-commonmark/dev/lib/thematic-break.js":
30273 /*!***************************************************************************!*\
30274 !*** ../node_modules/micromark-core-commonmark/dev/lib/thematic-break.js ***!
30275 \***************************************************************************/
30276 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
30277
30278 "use strict";
30279 __webpack_require__.r(__webpack_exports__);
30280 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
30281 /* harmony export */ thematicBreak: () => (/* binding */ thematicBreak)
30282 /* harmony export */ });
30283 /* harmony import */ var micromark_factory_space__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! micromark-factory-space */ "../node_modules/micromark-factory-space/dev/index.js");
30284 /* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! micromark-util-character */ "../node_modules/micromark-util-character/dev/index.js");
30285 /* harmony import */ var micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! micromark-util-symbol/codes.js */ "../node_modules/micromark-util-symbol/codes.js");
30286 /* harmony import */ var micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! micromark-util-symbol/constants.js */ "../node_modules/micromark-util-symbol/constants.js");
30287 /* harmony import */ var micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-util-symbol/types.js */ "../node_modules/micromark-util-symbol/types.js");
30288 /* harmony import */ var uvu_assert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uvu/assert */ "../node_modules/uvu/assert/index.mjs");
30289 /**
30290 * @typedef {import('micromark-util-types').Code} Code
30291 * @typedef {import('micromark-util-types').Construct} Construct
30292 * @typedef {import('micromark-util-types').State} State
30293 * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext
30294 * @typedef {import('micromark-util-types').Tokenizer} Tokenizer
30295 */
30296
30297
30298
30299
30300
30301
30302
30303
30304 /** @type {Construct} */
30305 const thematicBreak = {
30306 name: 'thematicBreak',
30307 tokenize: tokenizeThematicBreak
30308 }
30309
30310 /**
30311 * @this {TokenizeContext}
30312 * @type {Tokenizer}
30313 */
30314 function tokenizeThematicBreak(effects, ok, nok) {
30315 let size = 0
30316 /** @type {NonNullable<Code>} */
30317 let marker
30318
30319 return start
30320
30321 /**
30322 * Start of thematic break.
30323 *
30324 * ```markdown
30325 * > | ***
30326 * ^
30327 * ```
30328 *
30329 * @type {State}
30330 */
30331 function start(code) {
30332 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.thematicBreak)
30333 // To do: parse indent like `markdown-rs`.
30334 return before(code)
30335 }
30336
30337 /**
30338 * After optional whitespace, at marker.
30339 *
30340 * ```markdown
30341 * > | ***
30342 * ^
30343 * ```
30344 *
30345 * @type {State}
30346 */
30347 function before(code) {
30348 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(
30349 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.asterisk ||
30350 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.dash ||
30351 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.underscore,
30352 'expected `*`, `-`, or `_`'
30353 )
30354 marker = code
30355 return atBreak(code)
30356 }
30357
30358 /**
30359 * After something, before something else.
30360 *
30361 * ```markdown
30362 * > | ***
30363 * ^
30364 * ```
30365 *
30366 * @type {State}
30367 */
30368 function atBreak(code) {
30369 if (code === marker) {
30370 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.thematicBreakSequence)
30371 return sequence(code)
30372 }
30373
30374 if (
30375 size >= micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_3__.constants.thematicBreakMarkerCountMin &&
30376 (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.eof || (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.markdownLineEnding)(code))
30377 ) {
30378 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.thematicBreak)
30379 return ok(code)
30380 }
30381
30382 return nok(code)
30383 }
30384
30385 /**
30386 * In sequence.
30387 *
30388 * ```markdown
30389 * > | ***
30390 * ^
30391 * ```
30392 *
30393 * @type {State}
30394 */
30395 function sequence(code) {
30396 if (code === marker) {
30397 effects.consume(code)
30398 size++
30399 return sequence
30400 }
30401
30402 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.thematicBreakSequence)
30403 return (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.markdownSpace)(code)
30404 ? (0,micromark_factory_space__WEBPACK_IMPORTED_MODULE_5__.factorySpace)(effects, atBreak, micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.whitespace)(code)
30405 : atBreak(code)
30406 }
30407 }
30408
30409
30410 /***/ }),
30411
30412 /***/ "../node_modules/micromark-factory-destination/dev/index.js":
30413 /*!******************************************************************!*\
30414 !*** ../node_modules/micromark-factory-destination/dev/index.js ***!
30415 \******************************************************************/
30416 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
30417
30418 "use strict";
30419 __webpack_require__.r(__webpack_exports__);
30420 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
30421 /* harmony export */ factoryDestination: () => (/* binding */ factoryDestination)
30422 /* harmony export */ });
30423 /* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-util-character */ "../node_modules/micromark-util-character/dev/index.js");
30424 /* harmony import */ var micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-util-symbol/codes.js */ "../node_modules/micromark-util-symbol/codes.js");
30425 /* harmony import */ var micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! micromark-util-symbol/constants.js */ "../node_modules/micromark-util-symbol/constants.js");
30426 /* harmony import */ var micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! micromark-util-symbol/types.js */ "../node_modules/micromark-util-symbol/types.js");
30427 /**
30428 * @typedef {import('micromark-util-types').Effects} Effects
30429 * @typedef {import('micromark-util-types').State} State
30430 * @typedef {import('micromark-util-types').TokenType} TokenType
30431 */
30432
30433
30434
30435
30436
30437
30438 /**
30439 * Parse destinations.
30440 *
30441 * ###### Examples
30442 *
30443 * ```markdown
30444 * <a>
30445 * <a\>b>
30446 * <a b>
30447 * <a)>
30448 * a
30449 * a\)b
30450 * a(b)c
30451 * a(b)
30452 * ```
30453 *
30454 * @param {Effects} effects
30455 * Context.
30456 * @param {State} ok
30457 * State switched to when successful.
30458 * @param {State} nok
30459 * State switched to when unsuccessful.
30460 * @param {TokenType} type
30461 * Type for whole (`<a>` or `b`).
30462 * @param {TokenType} literalType
30463 * Type when enclosed (`<a>`).
30464 * @param {TokenType} literalMarkerType
30465 * Type for enclosing (`<` and `>`).
30466 * @param {TokenType} rawType
30467 * Type when not enclosed (`b`).
30468 * @param {TokenType} stringType
30469 * Type for the value (`a` or `b`).
30470 * @param {number | undefined} [max=Infinity]
30471 * Depth of nested parens (inclusive).
30472 * @returns {State}
30473 * Start state.
30474 */
30475 // eslint-disable-next-line max-params
30476 function factoryDestination(
30477 effects,
30478 ok,
30479 nok,
30480 type,
30481 literalType,
30482 literalMarkerType,
30483 rawType,
30484 stringType,
30485 max
30486 ) {
30487 const limit = max || Number.POSITIVE_INFINITY
30488 let balance = 0
30489
30490 return start
30491
30492 /**
30493 * Start of destination.
30494 *
30495 * ```markdown
30496 * > | <aa>
30497 * ^
30498 * > | aa
30499 * ^
30500 * ```
30501 *
30502 * @type {State}
30503 */
30504 function start(code) {
30505 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.lessThan) {
30506 effects.enter(type)
30507 effects.enter(literalType)
30508 effects.enter(literalMarkerType)
30509 effects.consume(code)
30510 effects.exit(literalMarkerType)
30511 return enclosedBefore
30512 }
30513
30514 // ASCII control, space, closing paren.
30515 if (
30516 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.eof ||
30517 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.space ||
30518 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.rightParenthesis ||
30519 (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_1__.asciiControl)(code)
30520 ) {
30521 return nok(code)
30522 }
30523
30524 effects.enter(type)
30525 effects.enter(rawType)
30526 effects.enter(stringType)
30527 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.chunkString, {contentType: micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_3__.constants.contentTypeString})
30528 return raw(code)
30529 }
30530
30531 /**
30532 * After `<`, at an enclosed destination.
30533 *
30534 * ```markdown
30535 * > | <aa>
30536 * ^
30537 * ```
30538 *
30539 * @type {State}
30540 */
30541 function enclosedBefore(code) {
30542 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.greaterThan) {
30543 effects.enter(literalMarkerType)
30544 effects.consume(code)
30545 effects.exit(literalMarkerType)
30546 effects.exit(literalType)
30547 effects.exit(type)
30548 return ok
30549 }
30550
30551 effects.enter(stringType)
30552 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.chunkString, {contentType: micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_3__.constants.contentTypeString})
30553 return enclosed(code)
30554 }
30555
30556 /**
30557 * In enclosed destination.
30558 *
30559 * ```markdown
30560 * > | <aa>
30561 * ^
30562 * ```
30563 *
30564 * @type {State}
30565 */
30566 function enclosed(code) {
30567 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.greaterThan) {
30568 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.chunkString)
30569 effects.exit(stringType)
30570 return enclosedBefore(code)
30571 }
30572
30573 if (
30574 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.eof ||
30575 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.lessThan ||
30576 (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_1__.markdownLineEnding)(code)
30577 ) {
30578 return nok(code)
30579 }
30580
30581 effects.consume(code)
30582 return code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.backslash ? enclosedEscape : enclosed
30583 }
30584
30585 /**
30586 * After `\`, at a special character.
30587 *
30588 * ```markdown
30589 * > | <a\*a>
30590 * ^
30591 * ```
30592 *
30593 * @type {State}
30594 */
30595 function enclosedEscape(code) {
30596 if (
30597 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.lessThan ||
30598 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.greaterThan ||
30599 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.backslash
30600 ) {
30601 effects.consume(code)
30602 return enclosed
30603 }
30604
30605 return enclosed(code)
30606 }
30607
30608 /**
30609 * In raw destination.
30610 *
30611 * ```markdown
30612 * > | aa
30613 * ^
30614 * ```
30615 *
30616 * @type {State}
30617 */
30618 function raw(code) {
30619 if (
30620 !balance &&
30621 (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.eof ||
30622 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.rightParenthesis ||
30623 (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_1__.markdownLineEndingOrSpace)(code))
30624 ) {
30625 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.chunkString)
30626 effects.exit(stringType)
30627 effects.exit(rawType)
30628 effects.exit(type)
30629 return ok(code)
30630 }
30631
30632 if (balance < limit && code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.leftParenthesis) {
30633 effects.consume(code)
30634 balance++
30635 return raw
30636 }
30637
30638 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.rightParenthesis) {
30639 effects.consume(code)
30640 balance--
30641 return raw
30642 }
30643
30644 // ASCII control (but *not* `\0`) and space and `(`.
30645 // Note: in `markdown-rs`, `\0` exists in codes, in `micromark-js` it
30646 // doesn’t.
30647 if (
30648 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.eof ||
30649 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.space ||
30650 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.leftParenthesis ||
30651 (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_1__.asciiControl)(code)
30652 ) {
30653 return nok(code)
30654 }
30655
30656 effects.consume(code)
30657 return code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.backslash ? rawEscape : raw
30658 }
30659
30660 /**
30661 * After `\`, at special character.
30662 *
30663 * ```markdown
30664 * > | a\*a
30665 * ^
30666 * ```
30667 *
30668 * @type {State}
30669 */
30670 function rawEscape(code) {
30671 if (
30672 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.leftParenthesis ||
30673 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.rightParenthesis ||
30674 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.backslash
30675 ) {
30676 effects.consume(code)
30677 return raw
30678 }
30679
30680 return raw(code)
30681 }
30682 }
30683
30684
30685 /***/ }),
30686
30687 /***/ "../node_modules/micromark-factory-label/dev/index.js":
30688 /*!************************************************************!*\
30689 !*** ../node_modules/micromark-factory-label/dev/index.js ***!
30690 \************************************************************/
30691 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
30692
30693 "use strict";
30694 __webpack_require__.r(__webpack_exports__);
30695 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
30696 /* harmony export */ factoryLabel: () => (/* binding */ factoryLabel)
30697 /* harmony export */ });
30698 /* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! micromark-util-character */ "../node_modules/micromark-util-character/dev/index.js");
30699 /* harmony import */ var micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-util-symbol/codes.js */ "../node_modules/micromark-util-symbol/codes.js");
30700 /* harmony import */ var micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! micromark-util-symbol/constants.js */ "../node_modules/micromark-util-symbol/constants.js");
30701 /* harmony import */ var micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! micromark-util-symbol/types.js */ "../node_modules/micromark-util-symbol/types.js");
30702 /* harmony import */ var uvu_assert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uvu/assert */ "../node_modules/uvu/assert/index.mjs");
30703 /**
30704 * @typedef {import('micromark-util-types').Effects} Effects
30705 * @typedef {import('micromark-util-types').State} State
30706 * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext
30707 * @typedef {import('micromark-util-types').TokenType} TokenType
30708 */
30709
30710
30711
30712
30713
30714
30715
30716 /**
30717 * Parse labels.
30718 *
30719 * > 👉 **Note**: labels in markdown are capped at 999 characters in the string.
30720 *
30721 * ###### Examples
30722 *
30723 * ```markdown
30724 * [a]
30725 * [a
30726 * b]
30727 * [a\]b]
30728 * ```
30729 *
30730 * @this {TokenizeContext}
30731 * Tokenize context.
30732 * @param {Effects} effects
30733 * Context.
30734 * @param {State} ok
30735 * State switched to when successful.
30736 * @param {State} nok
30737 * State switched to when unsuccessful.
30738 * @param {TokenType} type
30739 * Type of the whole label (`[a]`).
30740 * @param {TokenType} markerType
30741 * Type for the markers (`[` and `]`).
30742 * @param {TokenType} stringType
30743 * Type for the identifier (`a`).
30744 * @returns {State}
30745 * Start state.
30746 */
30747 // eslint-disable-next-line max-params
30748 function factoryLabel(effects, ok, nok, type, markerType, stringType) {
30749 const self = this
30750 let size = 0
30751 /** @type {boolean} */
30752 let seen
30753
30754 return start
30755
30756 /**
30757 * Start of label.
30758 *
30759 * ```markdown
30760 * > | [a]
30761 * ^
30762 * ```
30763 *
30764 * @type {State}
30765 */
30766 function start(code) {
30767 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.leftSquareBracket, 'expected `[`')
30768 effects.enter(type)
30769 effects.enter(markerType)
30770 effects.consume(code)
30771 effects.exit(markerType)
30772 effects.enter(stringType)
30773 return atBreak
30774 }
30775
30776 /**
30777 * In label, at something, before something else.
30778 *
30779 * ```markdown
30780 * > | [a]
30781 * ^
30782 * ```
30783 *
30784 * @type {State}
30785 */
30786 function atBreak(code) {
30787 if (
30788 size > micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_2__.constants.linkReferenceSizeMax ||
30789 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.eof ||
30790 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.leftSquareBracket ||
30791 (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.rightSquareBracket && !seen) ||
30792 // To do: remove in the future once we’ve switched from
30793 // `micromark-extension-footnote` to `micromark-extension-gfm-footnote`,
30794 // which doesn’t need this.
30795 // Hidden footnotes hook.
30796 /* c8 ignore next 3 */
30797 (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.caret &&
30798 !size &&
30799 '_hiddenFootnoteSupport' in self.parser.constructs)
30800 ) {
30801 return nok(code)
30802 }
30803
30804 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.rightSquareBracket) {
30805 effects.exit(stringType)
30806 effects.enter(markerType)
30807 effects.consume(code)
30808 effects.exit(markerType)
30809 effects.exit(type)
30810 return ok
30811 }
30812
30813 // To do: indent? Link chunks and EOLs together?
30814 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.markdownLineEnding)(code)) {
30815 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.lineEnding)
30816 effects.consume(code)
30817 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.lineEnding)
30818 return atBreak
30819 }
30820
30821 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.chunkString, {contentType: micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_2__.constants.contentTypeString})
30822 return labelInside(code)
30823 }
30824
30825 /**
30826 * In label, in text.
30827 *
30828 * ```markdown
30829 * > | [a]
30830 * ^
30831 * ```
30832 *
30833 * @type {State}
30834 */
30835 function labelInside(code) {
30836 if (
30837 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.eof ||
30838 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.leftSquareBracket ||
30839 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.rightSquareBracket ||
30840 (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.markdownLineEnding)(code) ||
30841 size++ > micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_2__.constants.linkReferenceSizeMax
30842 ) {
30843 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.chunkString)
30844 return atBreak(code)
30845 }
30846
30847 effects.consume(code)
30848 if (!seen) seen = !(0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.markdownSpace)(code)
30849 return code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.backslash ? labelEscape : labelInside
30850 }
30851
30852 /**
30853 * After `\`, at a special character.
30854 *
30855 * ```markdown
30856 * > | [a\*a]
30857 * ^
30858 * ```
30859 *
30860 * @type {State}
30861 */
30862 function labelEscape(code) {
30863 if (
30864 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.leftSquareBracket ||
30865 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.backslash ||
30866 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.rightSquareBracket
30867 ) {
30868 effects.consume(code)
30869 size++
30870 return labelInside
30871 }
30872
30873 return labelInside(code)
30874 }
30875 }
30876
30877
30878 /***/ }),
30879
30880 /***/ "../node_modules/micromark-factory-space/dev/index.js":
30881 /*!************************************************************!*\
30882 !*** ../node_modules/micromark-factory-space/dev/index.js ***!
30883 \************************************************************/
30884 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
30885
30886 "use strict";
30887 __webpack_require__.r(__webpack_exports__);
30888 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
30889 /* harmony export */ factorySpace: () => (/* binding */ factorySpace)
30890 /* harmony export */ });
30891 /* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-util-character */ "../node_modules/micromark-util-character/dev/index.js");
30892 /**
30893 * @typedef {import('micromark-util-types').Effects} Effects
30894 * @typedef {import('micromark-util-types').State} State
30895 * @typedef {import('micromark-util-types').TokenType} TokenType
30896 */
30897
30898
30899
30900 // To do: implement `spaceOrTab`, `spaceOrTabMinMax`, `spaceOrTabWithOptions`.
30901
30902 /**
30903 * Parse spaces and tabs.
30904 *
30905 * There is no `nok` parameter:
30906 *
30907 * * spaces in markdown are often optional, in which case this factory can be
30908 * used and `ok` will be switched to whether spaces were found or not
30909 * * one line ending or space can be detected with `markdownSpace(code)` right
30910 * before using `factorySpace`
30911 *
30912 * ###### Examples
30913 *
30914 * Where `␉` represents a tab (plus how much it expands) and `␠` represents a
30915 * single space.
30916 *
30917 * ```markdown
30918 * ␉
30919 * ␠␠␠␠
30920 * ␉␠
30921 * ```
30922 *
30923 * @param {Effects} effects
30924 * Context.
30925 * @param {State} ok
30926 * State switched to when successful.
30927 * @param {TokenType} type
30928 * Type (`' \t'`).
30929 * @param {number | undefined} [max=Infinity]
30930 * Max (exclusive).
30931 * @returns
30932 * Start state.
30933 */
30934 function factorySpace(effects, ok, type, max) {
30935 const limit = max ? max - 1 : Number.POSITIVE_INFINITY
30936 let size = 0
30937
30938 return start
30939
30940 /** @type {State} */
30941 function start(code) {
30942 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_0__.markdownSpace)(code)) {
30943 effects.enter(type)
30944 return prefix(code)
30945 }
30946
30947 return ok(code)
30948 }
30949
30950 /** @type {State} */
30951 function prefix(code) {
30952 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_0__.markdownSpace)(code) && size++ < limit) {
30953 effects.consume(code)
30954 return prefix
30955 }
30956
30957 effects.exit(type)
30958 return ok(code)
30959 }
30960 }
30961
30962
30963 /***/ }),
30964
30965 /***/ "../node_modules/micromark-factory-title/dev/index.js":
30966 /*!************************************************************!*\
30967 !*** ../node_modules/micromark-factory-title/dev/index.js ***!
30968 \************************************************************/
30969 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
30970
30971 "use strict";
30972 __webpack_require__.r(__webpack_exports__);
30973 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
30974 /* harmony export */ factoryTitle: () => (/* binding */ factoryTitle)
30975 /* harmony export */ });
30976 /* harmony import */ var micromark_factory_space__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! micromark-factory-space */ "../node_modules/micromark-factory-space/dev/index.js");
30977 /* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-util-character */ "../node_modules/micromark-util-character/dev/index.js");
30978 /* harmony import */ var micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-util-symbol/codes.js */ "../node_modules/micromark-util-symbol/codes.js");
30979 /* harmony import */ var micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! micromark-util-symbol/constants.js */ "../node_modules/micromark-util-symbol/constants.js");
30980 /* harmony import */ var micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! micromark-util-symbol/types.js */ "../node_modules/micromark-util-symbol/types.js");
30981 /**
30982 * @typedef {import('micromark-util-types').Code} Code
30983 * @typedef {import('micromark-util-types').Effects} Effects
30984 * @typedef {import('micromark-util-types').State} State
30985 * @typedef {import('micromark-util-types').TokenType} TokenType
30986 */
30987
30988
30989
30990
30991
30992
30993
30994 /**
30995 * Parse titles.
30996 *
30997 * ###### Examples
30998 *
30999 * ```markdown
31000 * "a"
31001 * 'b'
31002 * (c)
31003 * "a
31004 * b"
31005 * 'a
31006 * b'
31007 * (a\)b)
31008 * ```
31009 *
31010 * @param {Effects} effects
31011 * Context.
31012 * @param {State} ok
31013 * State switched to when successful.
31014 * @param {State} nok
31015 * State switched to when unsuccessful.
31016 * @param {TokenType} type
31017 * Type of the whole title (`"a"`, `'b'`, `(c)`).
31018 * @param {TokenType} markerType
31019 * Type for the markers (`"`, `'`, `(`, and `)`).
31020 * @param {TokenType} stringType
31021 * Type for the value (`a`).
31022 * @returns {State}
31023 * Start state.
31024 */
31025 // eslint-disable-next-line max-params
31026 function factoryTitle(effects, ok, nok, type, markerType, stringType) {
31027 /** @type {NonNullable<Code>} */
31028 let marker
31029
31030 return start
31031
31032 /**
31033 * Start of title.
31034 *
31035 * ```markdown
31036 * > | "a"
31037 * ^
31038 * ```
31039 *
31040 * @type {State}
31041 */
31042 function start(code) {
31043 if (
31044 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.quotationMark ||
31045 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.apostrophe ||
31046 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.leftParenthesis
31047 ) {
31048 effects.enter(type)
31049 effects.enter(markerType)
31050 effects.consume(code)
31051 effects.exit(markerType)
31052 marker = code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.leftParenthesis ? micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.rightParenthesis : code
31053 return begin
31054 }
31055
31056 return nok(code)
31057 }
31058
31059 /**
31060 * After opening marker.
31061 *
31062 * This is also used at the closing marker.
31063 *
31064 * ```markdown
31065 * > | "a"
31066 * ^
31067 * ```
31068 *
31069 * @type {State}
31070 */
31071 function begin(code) {
31072 if (code === marker) {
31073 effects.enter(markerType)
31074 effects.consume(code)
31075 effects.exit(markerType)
31076 effects.exit(type)
31077 return ok
31078 }
31079
31080 effects.enter(stringType)
31081 return atBreak(code)
31082 }
31083
31084 /**
31085 * At something, before something else.
31086 *
31087 * ```markdown
31088 * > | "a"
31089 * ^
31090 * ```
31091 *
31092 * @type {State}
31093 */
31094 function atBreak(code) {
31095 if (code === marker) {
31096 effects.exit(stringType)
31097 return begin(marker)
31098 }
31099
31100 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.eof) {
31101 return nok(code)
31102 }
31103
31104 // Note: blank lines can’t exist in content.
31105 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_1__.markdownLineEnding)(code)) {
31106 // To do: use `space_or_tab_eol_with_options`, connect.
31107 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.lineEnding)
31108 effects.consume(code)
31109 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.lineEnding)
31110 return (0,micromark_factory_space__WEBPACK_IMPORTED_MODULE_3__.factorySpace)(effects, atBreak, micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.linePrefix)
31111 }
31112
31113 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.chunkString, {contentType: micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_4__.constants.contentTypeString})
31114 return inside(code)
31115 }
31116
31117 /**
31118 *
31119 *
31120 * @type {State}
31121 */
31122 function inside(code) {
31123 if (code === marker || code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.eof || (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_1__.markdownLineEnding)(code)) {
31124 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.chunkString)
31125 return atBreak(code)
31126 }
31127
31128 effects.consume(code)
31129 return code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.backslash ? escape : inside
31130 }
31131
31132 /**
31133 * After `\`, at a special character.
31134 *
31135 * ```markdown
31136 * > | "a\*b"
31137 * ^
31138 * ```
31139 *
31140 * @type {State}
31141 */
31142 function escape(code) {
31143 if (code === marker || code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.backslash) {
31144 effects.consume(code)
31145 return inside
31146 }
31147
31148 return inside(code)
31149 }
31150 }
31151
31152
31153 /***/ }),
31154
31155 /***/ "../node_modules/micromark-factory-whitespace/dev/index.js":
31156 /*!*****************************************************************!*\
31157 !*** ../node_modules/micromark-factory-whitespace/dev/index.js ***!
31158 \*****************************************************************/
31159 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
31160
31161 "use strict";
31162 __webpack_require__.r(__webpack_exports__);
31163 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
31164 /* harmony export */ factoryWhitespace: () => (/* binding */ factoryWhitespace)
31165 /* harmony export */ });
31166 /* harmony import */ var micromark_factory_space__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! micromark-factory-space */ "../node_modules/micromark-factory-space/dev/index.js");
31167 /* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-util-character */ "../node_modules/micromark-util-character/dev/index.js");
31168 /* harmony import */ var micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-util-symbol/types.js */ "../node_modules/micromark-util-symbol/types.js");
31169 /**
31170 * @typedef {import('micromark-util-types').Effects} Effects
31171 * @typedef {import('micromark-util-types').State} State
31172 */
31173
31174
31175
31176
31177
31178 /**
31179 * Parse spaces and tabs.
31180 *
31181 * There is no `nok` parameter:
31182 *
31183 * * line endings or spaces in markdown are often optional, in which case this
31184 * factory can be used and `ok` will be switched to whether spaces were found
31185 * or not
31186 * * one line ending or space can be detected with
31187 * `markdownLineEndingOrSpace(code)` right before using `factoryWhitespace`
31188 *
31189 * @param {Effects} effects
31190 * Context.
31191 * @param {State} ok
31192 * State switched to when successful.
31193 * @returns
31194 * Start state.
31195 */
31196 function factoryWhitespace(effects, ok) {
31197 /** @type {boolean} */
31198 let seen
31199
31200 return start
31201
31202 /** @type {State} */
31203 function start(code) {
31204 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_0__.markdownLineEnding)(code)) {
31205 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.lineEnding)
31206 effects.consume(code)
31207 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.lineEnding)
31208 seen = true
31209 return start
31210 }
31211
31212 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_0__.markdownSpace)(code)) {
31213 return (0,micromark_factory_space__WEBPACK_IMPORTED_MODULE_2__.factorySpace)(
31214 effects,
31215 start,
31216 seen ? micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.linePrefix : micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.lineSuffix
31217 )(code)
31218 }
31219
31220 return ok(code)
31221 }
31222 }
31223
31224
31225 /***/ }),
31226
31227 /***/ "../node_modules/micromark-util-character/dev/index.js":
31228 /*!*************************************************************!*\
31229 !*** ../node_modules/micromark-util-character/dev/index.js ***!
31230 \*************************************************************/
31231 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
31232
31233 "use strict";
31234 __webpack_require__.r(__webpack_exports__);
31235 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
31236 /* harmony export */ asciiAlpha: () => (/* binding */ asciiAlpha),
31237 /* harmony export */ asciiAlphanumeric: () => (/* binding */ asciiAlphanumeric),
31238 /* harmony export */ asciiAtext: () => (/* binding */ asciiAtext),
31239 /* harmony export */ asciiControl: () => (/* binding */ asciiControl),
31240 /* harmony export */ asciiDigit: () => (/* binding */ asciiDigit),
31241 /* harmony export */ asciiHexDigit: () => (/* binding */ asciiHexDigit),
31242 /* harmony export */ asciiPunctuation: () => (/* binding */ asciiPunctuation),
31243 /* harmony export */ markdownLineEnding: () => (/* binding */ markdownLineEnding),
31244 /* harmony export */ markdownLineEndingOrSpace: () => (/* binding */ markdownLineEndingOrSpace),
31245 /* harmony export */ markdownSpace: () => (/* binding */ markdownSpace),
31246 /* harmony export */ unicodePunctuation: () => (/* binding */ unicodePunctuation),
31247 /* harmony export */ unicodeWhitespace: () => (/* binding */ unicodeWhitespace)
31248 /* harmony export */ });
31249 /* harmony import */ var micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-util-symbol/codes.js */ "../node_modules/micromark-util-symbol/codes.js");
31250 /* harmony import */ var _lib_unicode_punctuation_regex_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./lib/unicode-punctuation-regex.js */ "../node_modules/micromark-util-character/dev/lib/unicode-punctuation-regex.js");
31251 /**
31252 * @typedef {import('micromark-util-types').Code} Code
31253 */
31254
31255
31256
31257
31258 /**
31259 * Check whether the character code represents an ASCII alpha (`a` through `z`,
31260 * case insensitive).
31261 *
31262 * An **ASCII alpha** is an ASCII upper alpha or ASCII lower alpha.
31263 *
31264 * An **ASCII upper alpha** is a character in the inclusive range U+0041 (`A`)
31265 * to U+005A (`Z`).
31266 *
31267 * An **ASCII lower alpha** is a character in the inclusive range U+0061 (`a`)
31268 * to U+007A (`z`).
31269 *
31270 * @param code
31271 * Code.
31272 * @returns
31273 * Whether it matches.
31274 */
31275 const asciiAlpha = regexCheck(/[A-Za-z]/)
31276
31277 /**
31278 * Check whether the character code represents an ASCII alphanumeric (`a`
31279 * through `z`, case insensitive, or `0` through `9`).
31280 *
31281 * An **ASCII alphanumeric** is an ASCII digit (see `asciiDigit`) or ASCII alpha
31282 * (see `asciiAlpha`).
31283 *
31284 * @param code
31285 * Code.
31286 * @returns
31287 * Whether it matches.
31288 */
31289 const asciiAlphanumeric = regexCheck(/[\dA-Za-z]/)
31290
31291 /**
31292 * Check whether the character code represents an ASCII atext.
31293 *
31294 * atext is an ASCII alphanumeric (see `asciiAlphanumeric`), or a character in
31295 * the inclusive ranges U+0023 NUMBER SIGN (`#`) to U+0027 APOSTROPHE (`'`),
31296 * U+002A ASTERISK (`*`), U+002B PLUS SIGN (`+`), U+002D DASH (`-`), U+002F
31297 * SLASH (`/`), U+003D EQUALS TO (`=`), U+003F QUESTION MARK (`?`), U+005E
31298 * CARET (`^`) to U+0060 GRAVE ACCENT (`` ` ``), or U+007B LEFT CURLY BRACE
31299 * (`{`) to U+007E TILDE (`~`).
31300 *
31301 * See:
31302 * **\[RFC5322]**:
31303 * [Internet Message Format](https://tools.ietf.org/html/rfc5322).
31304 * P. Resnick.
31305 * IETF.
31306 *
31307 * @param code
31308 * Code.
31309 * @returns
31310 * Whether it matches.
31311 */
31312 const asciiAtext = regexCheck(/[#-'*+\--9=?A-Z^-~]/)
31313
31314 /**
31315 * Check whether a character code is an ASCII control character.
31316 *
31317 * An **ASCII control** is a character in the inclusive range U+0000 NULL (NUL)
31318 * to U+001F (US), or U+007F (DEL).
31319 *
31320 * @param {Code} code
31321 * Code.
31322 * @returns {boolean}
31323 * Whether it matches.
31324 */
31325 function asciiControl(code) {
31326 return (
31327 // Special whitespace codes (which have negative values), C0 and Control
31328 // character DEL
31329 code !== null && (code < micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.space || code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.del)
31330 )
31331 }
31332
31333 /**
31334 * Check whether the character code represents an ASCII digit (`0` through `9`).
31335 *
31336 * An **ASCII digit** is a character in the inclusive range U+0030 (`0`) to
31337 * U+0039 (`9`).
31338 *
31339 * @param code
31340 * Code.
31341 * @returns
31342 * Whether it matches.
31343 */
31344 const asciiDigit = regexCheck(/\d/)
31345
31346 /**
31347 * Check whether the character code represents an ASCII hex digit (`a` through
31348 * `f`, case insensitive, or `0` through `9`).
31349 *
31350 * An **ASCII hex digit** is an ASCII digit (see `asciiDigit`), ASCII upper hex
31351 * digit, or an ASCII lower hex digit.
31352 *
31353 * An **ASCII upper hex digit** is a character in the inclusive range U+0041
31354 * (`A`) to U+0046 (`F`).
31355 *
31356 * An **ASCII lower hex digit** is a character in the inclusive range U+0061
31357 * (`a`) to U+0066 (`f`).
31358 *
31359 * @param code
31360 * Code.
31361 * @returns
31362 * Whether it matches.
31363 */
31364 const asciiHexDigit = regexCheck(/[\dA-Fa-f]/)
31365
31366 /**
31367 * Check whether the character code represents ASCII punctuation.
31368 *
31369 * An **ASCII punctuation** is a character in the inclusive ranges U+0021
31370 * EXCLAMATION MARK (`!`) to U+002F SLASH (`/`), U+003A COLON (`:`) to U+0040 AT
31371 * SIGN (`@`), U+005B LEFT SQUARE BRACKET (`[`) to U+0060 GRAVE ACCENT
31372 * (`` ` ``), or U+007B LEFT CURLY BRACE (`{`) to U+007E TILDE (`~`).
31373 *
31374 * @param code
31375 * Code.
31376 * @returns
31377 * Whether it matches.
31378 */
31379 const asciiPunctuation = regexCheck(/[!-/:-@[-`{-~]/)
31380
31381 /**
31382 * Check whether a character code is a markdown line ending.
31383 *
31384 * A **markdown line ending** is the virtual characters M-0003 CARRIAGE RETURN
31385 * LINE FEED (CRLF), M-0004 LINE FEED (LF) and M-0005 CARRIAGE RETURN (CR).
31386 *
31387 * In micromark, the actual character U+000A LINE FEED (LF) and U+000D CARRIAGE
31388 * RETURN (CR) are replaced by these virtual characters depending on whether
31389 * they occurred together.
31390 *
31391 * @param {Code} code
31392 * Code.
31393 * @returns {boolean}
31394 * Whether it matches.
31395 */
31396 function markdownLineEnding(code) {
31397 return code !== null && code < micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.horizontalTab
31398 }
31399
31400 /**
31401 * Check whether a character code is a markdown line ending (see
31402 * `markdownLineEnding`) or markdown space (see `markdownSpace`).
31403 *
31404 * @param {Code} code
31405 * Code.
31406 * @returns {boolean}
31407 * Whether it matches.
31408 */
31409 function markdownLineEndingOrSpace(code) {
31410 return code !== null && (code < micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.nul || code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.space)
31411 }
31412
31413 /**
31414 * Check whether a character code is a markdown space.
31415 *
31416 * A **markdown space** is the concrete character U+0020 SPACE (SP) and the
31417 * virtual characters M-0001 VIRTUAL SPACE (VS) and M-0002 HORIZONTAL TAB (HT).
31418 *
31419 * In micromark, the actual character U+0009 CHARACTER TABULATION (HT) is
31420 * replaced by one M-0002 HORIZONTAL TAB (HT) and between 0 and 3 M-0001 VIRTUAL
31421 * SPACE (VS) characters, depending on the column at which the tab occurred.
31422 *
31423 * @param {Code} code
31424 * Code.
31425 * @returns {boolean}
31426 * Whether it matches.
31427 */
31428 function markdownSpace(code) {
31429 return (
31430 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.horizontalTab ||
31431 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.virtualSpace ||
31432 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.space
31433 )
31434 }
31435
31436 // Size note: removing ASCII from the regex and using `asciiPunctuation` here
31437 // In fact adds to the bundle size.
31438 /**
31439 * Check whether the character code represents Unicode punctuation.
31440 *
31441 * A **Unicode punctuation** is a character in the Unicode `Pc` (Punctuation,
31442 * Connector), `Pd` (Punctuation, Dash), `Pe` (Punctuation, Close), `Pf`
31443 * (Punctuation, Final quote), `Pi` (Punctuation, Initial quote), `Po`
31444 * (Punctuation, Other), or `Ps` (Punctuation, Open) categories, or an ASCII
31445 * punctuation (see `asciiPunctuation`).
31446 *
31447 * See:
31448 * **\[UNICODE]**:
31449 * [The Unicode Standard](https://www.unicode.org/versions/).
31450 * Unicode Consortium.
31451 *
31452 * @param code
31453 * Code.
31454 * @returns
31455 * Whether it matches.
31456 */
31457 const unicodePunctuation = regexCheck(_lib_unicode_punctuation_regex_js__WEBPACK_IMPORTED_MODULE_1__.unicodePunctuationRegex)
31458
31459 /**
31460 * Check whether the character code represents Unicode whitespace.
31461 *
31462 * Note that this does handle micromark specific markdown whitespace characters.
31463 * See `markdownLineEndingOrSpace` to check that.
31464 *
31465 * A **Unicode whitespace** is a character in the Unicode `Zs` (Separator,
31466 * Space) category, or U+0009 CHARACTER TABULATION (HT), U+000A LINE FEED (LF),
31467 * U+000C (FF), or U+000D CARRIAGE RETURN (CR) (**\[UNICODE]**).
31468 *
31469 * See:
31470 * **\[UNICODE]**:
31471 * [The Unicode Standard](https://www.unicode.org/versions/).
31472 * Unicode Consortium.
31473 *
31474 * @param code
31475 * Code.
31476 * @returns
31477 * Whether it matches.
31478 */
31479 const unicodeWhitespace = regexCheck(/\s/)
31480
31481 /**
31482 * Create a code check from a regex.
31483 *
31484 * @param {RegExp} regex
31485 * @returns {(code: Code) => boolean}
31486 */
31487 function regexCheck(regex) {
31488 return check
31489
31490 /**
31491 * Check whether a code matches the bound regex.
31492 *
31493 * @param {Code} code
31494 * Character code.
31495 * @returns {boolean}
31496 * Whether the character code matches the bound regex.
31497 */
31498 function check(code) {
31499 return code !== null && regex.test(String.fromCharCode(code))
31500 }
31501 }
31502
31503
31504 /***/ }),
31505
31506 /***/ "../node_modules/micromark-util-character/dev/lib/unicode-punctuation-regex.js":
31507 /*!*************************************************************************************!*\
31508 !*** ../node_modules/micromark-util-character/dev/lib/unicode-punctuation-regex.js ***!
31509 \*************************************************************************************/
31510 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
31511
31512 "use strict";
31513 __webpack_require__.r(__webpack_exports__);
31514 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
31515 /* harmony export */ unicodePunctuationRegex: () => (/* binding */ unicodePunctuationRegex)
31516 /* harmony export */ });
31517 // This module is generated by `script/`.
31518 //
31519 // CommonMark handles attention (emphasis, strong) markers based on what comes
31520 // before or after them.
31521 // One such difference is if those characters are Unicode punctuation.
31522 // This script is generated from the Unicode data.
31523
31524 /**
31525 * Regular expression that matches a unicode punctuation character.
31526 */
31527 const unicodePunctuationRegex =
31528 /[!-/:-@[-`{-~\u00A1\u00A7\u00AB\u00B6\u00B7\u00BB\u00BF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061D-\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1B7D\u1B7E\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u2E52-\u2E5D\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]/
31529
31530
31531 /***/ }),
31532
31533 /***/ "../node_modules/micromark-util-chunked/dev/index.js":
31534 /*!***********************************************************!*\
31535 !*** ../node_modules/micromark-util-chunked/dev/index.js ***!
31536 \***********************************************************/
31537 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
31538
31539 "use strict";
31540 __webpack_require__.r(__webpack_exports__);
31541 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
31542 /* harmony export */ push: () => (/* binding */ push),
31543 /* harmony export */ splice: () => (/* binding */ splice)
31544 /* harmony export */ });
31545 /* harmony import */ var micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-util-symbol/constants.js */ "../node_modules/micromark-util-symbol/constants.js");
31546
31547
31548 /**
31549 * Like `Array#splice`, but smarter for giant arrays.
31550 *
31551 * `Array#splice` takes all items to be inserted as individual argument which
31552 * causes a stack overflow in V8 when trying to insert 100k items for instance.
31553 *
31554 * Otherwise, this does not return the removed items, and takes `items` as an
31555 * array instead of rest parameters.
31556 *
31557 * @template {unknown} T
31558 * Item type.
31559 * @param {Array<T>} list
31560 * List to operate on.
31561 * @param {number} start
31562 * Index to remove/insert at (can be negative).
31563 * @param {number} remove
31564 * Number of items to remove.
31565 * @param {Array<T>} items
31566 * Items to inject into `list`.
31567 * @returns {void}
31568 * Nothing.
31569 */
31570 function splice(list, start, remove, items) {
31571 const end = list.length
31572 let chunkStart = 0
31573 /** @type {Array<unknown>} */
31574 let parameters
31575
31576 // Make start between zero and `end` (included).
31577 if (start < 0) {
31578 start = -start > end ? 0 : end + start
31579 } else {
31580 start = start > end ? end : start
31581 }
31582
31583 remove = remove > 0 ? remove : 0
31584
31585 // No need to chunk the items if there’s only a couple (10k) items.
31586 if (items.length < micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_0__.constants.v8MaxSafeChunkSize) {
31587 parameters = Array.from(items)
31588 parameters.unshift(start, remove)
31589 // @ts-expect-error Hush, it’s fine.
31590 list.splice(...parameters)
31591 } else {
31592 // Delete `remove` items starting from `start`
31593 if (remove) list.splice(start, remove)
31594
31595 // Insert the items in chunks to not cause stack overflows.
31596 while (chunkStart < items.length) {
31597 parameters = items.slice(
31598 chunkStart,
31599 chunkStart + micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_0__.constants.v8MaxSafeChunkSize
31600 )
31601 parameters.unshift(start, 0)
31602 // @ts-expect-error Hush, it’s fine.
31603 list.splice(...parameters)
31604
31605 chunkStart += micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_0__.constants.v8MaxSafeChunkSize
31606 start += micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_0__.constants.v8MaxSafeChunkSize
31607 }
31608 }
31609 }
31610
31611 /**
31612 * Append `items` (an array) at the end of `list` (another array).
31613 * When `list` was empty, returns `items` instead.
31614 *
31615 * This prevents a potentially expensive operation when `list` is empty,
31616 * and adds items in batches to prevent V8 from hanging.
31617 *
31618 * @template {unknown} T
31619 * Item type.
31620 * @param {Array<T>} list
31621 * List to operate on.
31622 * @param {Array<T>} items
31623 * Items to add to `list`.
31624 * @returns {Array<T>}
31625 * Either `list` or `items`.
31626 */
31627 function push(list, items) {
31628 if (list.length > 0) {
31629 splice(list, list.length, 0, items)
31630 return list
31631 }
31632
31633 return items
31634 }
31635
31636
31637 /***/ }),
31638
31639 /***/ "../node_modules/micromark-util-classify-character/dev/index.js":
31640 /*!**********************************************************************!*\
31641 !*** ../node_modules/micromark-util-classify-character/dev/index.js ***!
31642 \**********************************************************************/
31643 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
31644
31645 "use strict";
31646 __webpack_require__.r(__webpack_exports__);
31647 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
31648 /* harmony export */ classifyCharacter: () => (/* binding */ classifyCharacter)
31649 /* harmony export */ });
31650 /* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-util-character */ "../node_modules/micromark-util-character/dev/index.js");
31651 /* harmony import */ var micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-util-symbol/codes.js */ "../node_modules/micromark-util-symbol/codes.js");
31652 /* harmony import */ var micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! micromark-util-symbol/constants.js */ "../node_modules/micromark-util-symbol/constants.js");
31653 /**
31654 * @typedef {import('micromark-util-types').Code} Code
31655 */
31656
31657
31658
31659
31660
31661 /**
31662 * Classify whether a code represents whitespace, punctuation, or something
31663 * else.
31664 *
31665 * Used for attention (emphasis, strong), whose sequences can open or close
31666 * based on the class of surrounding characters.
31667 *
31668 * > 👉 **Note**: eof (`null`) is seen as whitespace.
31669 *
31670 * @param {Code} code
31671 * Code.
31672 * @returns {typeof constants.characterGroupWhitespace | typeof constants.characterGroupPunctuation | undefined}
31673 * Group.
31674 */
31675 function classifyCharacter(code) {
31676 if (
31677 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.eof ||
31678 (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_1__.markdownLineEndingOrSpace)(code) ||
31679 (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_1__.unicodeWhitespace)(code)
31680 ) {
31681 return micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_2__.constants.characterGroupWhitespace
31682 }
31683
31684 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_1__.unicodePunctuation)(code)) {
31685 return micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_2__.constants.characterGroupPunctuation
31686 }
31687 }
31688
31689
31690 /***/ }),
31691
31692 /***/ "../node_modules/micromark-util-combine-extensions/index.js":
31693 /*!******************************************************************!*\
31694 !*** ../node_modules/micromark-util-combine-extensions/index.js ***!
31695 \******************************************************************/
31696 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
31697
31698 "use strict";
31699 __webpack_require__.r(__webpack_exports__);
31700 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
31701 /* harmony export */ combineExtensions: () => (/* binding */ combineExtensions),
31702 /* harmony export */ combineHtmlExtensions: () => (/* binding */ combineHtmlExtensions)
31703 /* harmony export */ });
31704 /* harmony import */ var micromark_util_chunked__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-util-chunked */ "../node_modules/micromark-util-chunked/dev/index.js");
31705 /**
31706 * @typedef {import('micromark-util-types').Extension} Extension
31707 * @typedef {import('micromark-util-types').Handles} Handles
31708 * @typedef {import('micromark-util-types').HtmlExtension} HtmlExtension
31709 * @typedef {import('micromark-util-types').NormalizedExtension} NormalizedExtension
31710 */
31711
31712
31713
31714 const hasOwnProperty = {}.hasOwnProperty
31715
31716 /**
31717 * Combine multiple syntax extensions into one.
31718 *
31719 * @param {Array<Extension>} extensions
31720 * List of syntax extensions.
31721 * @returns {NormalizedExtension}
31722 * A single combined extension.
31723 */
31724 function combineExtensions(extensions) {
31725 /** @type {NormalizedExtension} */
31726 const all = {}
31727 let index = -1
31728
31729 while (++index < extensions.length) {
31730 syntaxExtension(all, extensions[index])
31731 }
31732
31733 return all
31734 }
31735
31736 /**
31737 * Merge `extension` into `all`.
31738 *
31739 * @param {NormalizedExtension} all
31740 * Extension to merge into.
31741 * @param {Extension} extension
31742 * Extension to merge.
31743 * @returns {void}
31744 */
31745 function syntaxExtension(all, extension) {
31746 /** @type {keyof Extension} */
31747 let hook
31748
31749 for (hook in extension) {
31750 const maybe = hasOwnProperty.call(all, hook) ? all[hook] : undefined
31751 /** @type {Record<string, unknown>} */
31752 const left = maybe || (all[hook] = {})
31753 /** @type {Record<string, unknown> | undefined} */
31754 const right = extension[hook]
31755 /** @type {string} */
31756 let code
31757
31758 if (right) {
31759 for (code in right) {
31760 if (!hasOwnProperty.call(left, code)) left[code] = []
31761 const value = right[code]
31762 constructs(
31763 // @ts-expect-error Looks like a list.
31764 left[code],
31765 Array.isArray(value) ? value : value ? [value] : []
31766 )
31767 }
31768 }
31769 }
31770 }
31771
31772 /**
31773 * Merge `list` into `existing` (both lists of constructs).
31774 * Mutates `existing`.
31775 *
31776 * @param {Array<unknown>} existing
31777 * @param {Array<unknown>} list
31778 * @returns {void}
31779 */
31780 function constructs(existing, list) {
31781 let index = -1
31782 /** @type {Array<unknown>} */
31783 const before = []
31784
31785 while (++index < list.length) {
31786 // @ts-expect-error Looks like an object.
31787 ;(list[index].add === 'after' ? existing : before).push(list[index])
31788 }
31789
31790 (0,micromark_util_chunked__WEBPACK_IMPORTED_MODULE_0__.splice)(existing, 0, 0, before)
31791 }
31792
31793 /**
31794 * Combine multiple HTML extensions into one.
31795 *
31796 * @param {Array<HtmlExtension>} htmlExtensions
31797 * List of HTML extensions.
31798 * @returns {HtmlExtension}
31799 * A single combined HTML extension.
31800 */
31801 function combineHtmlExtensions(htmlExtensions) {
31802 /** @type {HtmlExtension} */
31803 const handlers = {}
31804 let index = -1
31805
31806 while (++index < htmlExtensions.length) {
31807 htmlExtension(handlers, htmlExtensions[index])
31808 }
31809
31810 return handlers
31811 }
31812
31813 /**
31814 * Merge `extension` into `all`.
31815 *
31816 * @param {HtmlExtension} all
31817 * Extension to merge into.
31818 * @param {HtmlExtension} extension
31819 * Extension to merge.
31820 * @returns {void}
31821 */
31822 function htmlExtension(all, extension) {
31823 /** @type {keyof HtmlExtension} */
31824 let hook
31825
31826 for (hook in extension) {
31827 const maybe = hasOwnProperty.call(all, hook) ? all[hook] : undefined
31828 const left = maybe || (all[hook] = {})
31829 const right = extension[hook]
31830 /** @type {keyof Handles} */
31831 let type
31832
31833 if (right) {
31834 for (type in right) {
31835 // @ts-expect-error assume document vs regular handler are managed correctly.
31836 left[type] = right[type]
31837 }
31838 }
31839 }
31840 }
31841
31842
31843 /***/ }),
31844
31845 /***/ "../node_modules/micromark-util-decode-numeric-character-reference/dev/index.js":
31846 /*!**************************************************************************************!*\
31847 !*** ../node_modules/micromark-util-decode-numeric-character-reference/dev/index.js ***!
31848 \**************************************************************************************/
31849 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
31850
31851 "use strict";
31852 __webpack_require__.r(__webpack_exports__);
31853 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
31854 /* harmony export */ decodeNumericCharacterReference: () => (/* binding */ decodeNumericCharacterReference)
31855 /* harmony export */ });
31856 /* harmony import */ var micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-util-symbol/codes.js */ "../node_modules/micromark-util-symbol/codes.js");
31857 /* harmony import */ var micromark_util_symbol_values_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-util-symbol/values.js */ "../node_modules/micromark-util-symbol/values.js");
31858
31859
31860
31861 /**
31862 * Turn the number (in string form as either hexa- or plain decimal) coming from
31863 * a numeric character reference into a character.
31864 *
31865 * Sort of like `String.fromCharCode(Number.parseInt(value, base))`, but makes
31866 * non-characters and control characters safe.
31867 *
31868 * @param {string} value
31869 * Value to decode.
31870 * @param {number} base
31871 * Numeric base.
31872 * @returns {string}
31873 * Character.
31874 */
31875 function decodeNumericCharacterReference(value, base) {
31876 const code = Number.parseInt(value, base)
31877
31878 if (
31879 // C0 except for HT, LF, FF, CR, space.
31880 code < micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.ht ||
31881 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.vt ||
31882 (code > micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.cr && code < micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.space) ||
31883 // Control character (DEL) of C0, and C1 controls.
31884 (code > micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.tilde && code < 160) ||
31885 // Lone high surrogates and low surrogates.
31886 (code > 55295 && code < 57344) ||
31887 // Noncharacters.
31888 (code > 64975 && code < 65008) ||
31889 /* eslint-disable no-bitwise */
31890 (code & 65535) === 65535 ||
31891 (code & 65535) === 65534 ||
31892 /* eslint-enable no-bitwise */
31893 // Out of range
31894 code > 1114111
31895 ) {
31896 return micromark_util_symbol_values_js__WEBPACK_IMPORTED_MODULE_1__.values.replacementCharacter
31897 }
31898
31899 return String.fromCharCode(code)
31900 }
31901
31902
31903 /***/ }),
31904
31905 /***/ "../node_modules/micromark-util-decode-string/dev/index.js":
31906 /*!*****************************************************************!*\
31907 !*** ../node_modules/micromark-util-decode-string/dev/index.js ***!
31908 \*****************************************************************/
31909 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
31910
31911 "use strict";
31912 __webpack_require__.r(__webpack_exports__);
31913 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
31914 /* harmony export */ decodeString: () => (/* binding */ decodeString)
31915 /* harmony export */ });
31916 /* harmony import */ var decode_named_character_reference__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! decode-named-character-reference */ "../node_modules/decode-named-character-reference/index.dom.js");
31917 /* harmony import */ var micromark_util_decode_numeric_character_reference__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-util-decode-numeric-character-reference */ "../node_modules/micromark-util-decode-numeric-character-reference/dev/index.js");
31918 /* harmony import */ var micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-util-symbol/codes.js */ "../node_modules/micromark-util-symbol/codes.js");
31919 /* harmony import */ var micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! micromark-util-symbol/constants.js */ "../node_modules/micromark-util-symbol/constants.js");
31920
31921
31922
31923
31924
31925 const characterEscapeOrReference =
31926 /\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi
31927
31928 /**
31929 * Decode markdown strings (which occur in places such as fenced code info
31930 * strings, destinations, labels, and titles).
31931 *
31932 * The “string” content type allows character escapes and -references.
31933 * This decodes those.
31934 *
31935 * @param {string} value
31936 * Value to decode.
31937 * @returns {string}
31938 * Decoded value.
31939 */
31940 function decodeString(value) {
31941 return value.replace(characterEscapeOrReference, decode)
31942 }
31943
31944 /**
31945 * @param {string} $0
31946 * @param {string} $1
31947 * @param {string} $2
31948 * @returns {string}
31949 */
31950 function decode($0, $1, $2) {
31951 if ($1) {
31952 // Escape.
31953 return $1
31954 }
31955
31956 // Reference.
31957 const head = $2.charCodeAt(0)
31958
31959 if (head === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.numberSign) {
31960 const head = $2.charCodeAt(1)
31961 const hex = head === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.lowercaseX || head === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.uppercaseX
31962 return (0,micromark_util_decode_numeric_character_reference__WEBPACK_IMPORTED_MODULE_1__.decodeNumericCharacterReference)(
31963 $2.slice(hex ? 2 : 1),
31964 hex ? micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_2__.constants.numericBaseHexadecimal : micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_2__.constants.numericBaseDecimal
31965 )
31966 }
31967
31968 return (0,decode_named_character_reference__WEBPACK_IMPORTED_MODULE_3__.decodeNamedCharacterReference)($2) || $0
31969 }
31970
31971
31972 /***/ }),
31973
31974 /***/ "../node_modules/micromark-util-encode/index.js":
31975 /*!******************************************************!*\
31976 !*** ../node_modules/micromark-util-encode/index.js ***!
31977 \******************************************************/
31978 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
31979
31980 "use strict";
31981 __webpack_require__.r(__webpack_exports__);
31982 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
31983 /* harmony export */ encode: () => (/* binding */ encode)
31984 /* harmony export */ });
31985 const characterReferences = {'"': 'quot', '&': 'amp', '<': 'lt', '>': 'gt'}
31986
31987 /**
31988 * Encode only the dangerous HTML characters.
31989 *
31990 * This ensures that certain characters which have special meaning in HTML are
31991 * dealt with.
31992 * Technically, we can skip `>` and `"` in many cases, but CM includes them.
31993 *
31994 * @param {string} value
31995 * Value to encode.
31996 * @returns {string}
31997 * Encoded value.
31998 */
31999 function encode(value) {
32000 return value.replace(/["&<>]/g, replace)
32001
32002 /**
32003 * @param {string} value
32004 * @returns {string}
32005 */
32006 function replace(value) {
32007 // @ts-expect-error Hush, it’s fine.
32008 return '&' + characterReferences[value] + ';'
32009 }
32010 }
32011
32012
32013 /***/ }),
32014
32015 /***/ "../node_modules/micromark-util-html-tag-name/index.js":
32016 /*!*************************************************************!*\
32017 !*** ../node_modules/micromark-util-html-tag-name/index.js ***!
32018 \*************************************************************/
32019 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
32020
32021 "use strict";
32022 __webpack_require__.r(__webpack_exports__);
32023 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
32024 /* harmony export */ htmlBlockNames: () => (/* binding */ htmlBlockNames),
32025 /* harmony export */ htmlRawNames: () => (/* binding */ htmlRawNames)
32026 /* harmony export */ });
32027 /**
32028 * List of lowercase HTML “block” tag names.
32029 *
32030 * The list, when parsing HTML (flow), results in more relaxed rules (condition
32031 * 6).
32032 * Because they are known blocks, the HTML-like syntax doesn’t have to be
32033 * strictly parsed.
32034 * For tag names not in this list, a more strict algorithm (condition 7) is used
32035 * to detect whether the HTML-like syntax is seen as HTML (flow) or not.
32036 *
32037 * This is copied from:
32038 * <https://spec.commonmark.org/0.30/#html-blocks>.
32039 *
32040 * > 👉 **Note**: `search` was added in `CommonMark@0.31`.
32041 */
32042 const htmlBlockNames = [
32043 'address',
32044 'article',
32045 'aside',
32046 'base',
32047 'basefont',
32048 'blockquote',
32049 'body',
32050 'caption',
32051 'center',
32052 'col',
32053 'colgroup',
32054 'dd',
32055 'details',
32056 'dialog',
32057 'dir',
32058 'div',
32059 'dl',
32060 'dt',
32061 'fieldset',
32062 'figcaption',
32063 'figure',
32064 'footer',
32065 'form',
32066 'frame',
32067 'frameset',
32068 'h1',
32069 'h2',
32070 'h3',
32071 'h4',
32072 'h5',
32073 'h6',
32074 'head',
32075 'header',
32076 'hr',
32077 'html',
32078 'iframe',
32079 'legend',
32080 'li',
32081 'link',
32082 'main',
32083 'menu',
32084 'menuitem',
32085 'nav',
32086 'noframes',
32087 'ol',
32088 'optgroup',
32089 'option',
32090 'p',
32091 'param',
32092 'search',
32093 'section',
32094 'summary',
32095 'table',
32096 'tbody',
32097 'td',
32098 'tfoot',
32099 'th',
32100 'thead',
32101 'title',
32102 'tr',
32103 'track',
32104 'ul'
32105 ]
32106
32107 /**
32108 * List of lowercase HTML “raw” tag names.
32109 *
32110 * The list, when parsing HTML (flow), results in HTML that can include lines
32111 * without exiting, until a closing tag also in this list is found (condition
32112 * 1).
32113 *
32114 * This module is copied from:
32115 * <https://spec.commonmark.org/0.30/#html-blocks>.
32116 *
32117 * > 👉 **Note**: `textarea` was added in `CommonMark@0.30`.
32118 */
32119 const htmlRawNames = ['pre', 'script', 'style', 'textarea']
32120
32121
32122 /***/ }),
32123
32124 /***/ "../node_modules/micromark-util-normalize-identifier/dev/index.js":
32125 /*!************************************************************************!*\
32126 !*** ../node_modules/micromark-util-normalize-identifier/dev/index.js ***!
32127 \************************************************************************/
32128 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
32129
32130 "use strict";
32131 __webpack_require__.r(__webpack_exports__);
32132 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
32133 /* harmony export */ normalizeIdentifier: () => (/* binding */ normalizeIdentifier)
32134 /* harmony export */ });
32135 /* harmony import */ var micromark_util_symbol_values_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-util-symbol/values.js */ "../node_modules/micromark-util-symbol/values.js");
32136
32137
32138 /**
32139 * Normalize an identifier (as found in references, definitions).
32140 *
32141 * Collapses markdown whitespace, trim, and then lower- and uppercase.
32142 *
32143 * Some characters are considered “uppercase”, such as U+03F4 (`ϴ`), but if their
32144 * lowercase counterpart (U+03B8 (`θ`)) is uppercased will result in a different
32145 * uppercase character (U+0398 (`Θ`)).
32146 * So, to get a canonical form, we perform both lower- and uppercase.
32147 *
32148 * Using uppercase last makes sure keys will never interact with default
32149 * prototypal values (such as `constructor`): nothing in the prototype of
32150 * `Object` is uppercase.
32151 *
32152 * @param {string} value
32153 * Identifier to normalize.
32154 * @returns {string}
32155 * Normalized identifier.
32156 */
32157 function normalizeIdentifier(value) {
32158 return (
32159 value
32160 // Collapse markdown whitespace.
32161 .replace(/[\t\n\r ]+/g, micromark_util_symbol_values_js__WEBPACK_IMPORTED_MODULE_0__.values.space)
32162 // Trim.
32163 .replace(/^ | $/g, '')
32164 // Some characters are considered “uppercase”, but if their lowercase
32165 // counterpart is uppercased will result in a different uppercase
32166 // character.
32167 // Hence, to get that form, we perform both lower- and uppercase.
32168 // Upper case makes sure keys will not interact with default prototypal
32169 // methods: no method is uppercase.
32170 .toLowerCase()
32171 .toUpperCase()
32172 )
32173 }
32174
32175
32176 /***/ }),
32177
32178 /***/ "../node_modules/micromark-util-resolve-all/index.js":
32179 /*!***********************************************************!*\
32180 !*** ../node_modules/micromark-util-resolve-all/index.js ***!
32181 \***********************************************************/
32182 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
32183
32184 "use strict";
32185 __webpack_require__.r(__webpack_exports__);
32186 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
32187 /* harmony export */ resolveAll: () => (/* binding */ resolveAll)
32188 /* harmony export */ });
32189 /**
32190 * @typedef {import('micromark-util-types').Event} Event
32191 * @typedef {import('micromark-util-types').Resolver} Resolver
32192 * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext
32193 */
32194
32195 /**
32196 * Call all `resolveAll`s.
32197 *
32198 * @param {Array<{resolveAll?: Resolver | undefined}>} constructs
32199 * List of constructs, optionally with `resolveAll`s.
32200 * @param {Array<Event>} events
32201 * List of events.
32202 * @param {TokenizeContext} context
32203 * Context used by `tokenize`.
32204 * @returns {Array<Event>}
32205 * Changed events.
32206 */
32207 function resolveAll(constructs, events, context) {
32208 /** @type {Array<Resolver>} */
32209 const called = []
32210 let index = -1
32211
32212 while (++index < constructs.length) {
32213 const resolve = constructs[index].resolveAll
32214
32215 if (resolve && !called.includes(resolve)) {
32216 events = resolve(events, context)
32217 called.push(resolve)
32218 }
32219 }
32220
32221 return events
32222 }
32223
32224
32225 /***/ }),
32226
32227 /***/ "../node_modules/micromark-util-sanitize-uri/dev/index.js":
32228 /*!****************************************************************!*\
32229 !*** ../node_modules/micromark-util-sanitize-uri/dev/index.js ***!
32230 \****************************************************************/
32231 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
32232
32233 "use strict";
32234 __webpack_require__.r(__webpack_exports__);
32235 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
32236 /* harmony export */ normalizeUri: () => (/* binding */ normalizeUri),
32237 /* harmony export */ sanitizeUri: () => (/* binding */ sanitizeUri)
32238 /* harmony export */ });
32239 /* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! micromark-util-character */ "../node_modules/micromark-util-character/dev/index.js");
32240 /* harmony import */ var micromark_util_encode__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-util-encode */ "../node_modules/micromark-util-encode/index.js");
32241 /* harmony import */ var micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-util-symbol/codes.js */ "../node_modules/micromark-util-symbol/codes.js");
32242 /* harmony import */ var micromark_util_symbol_values_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! micromark-util-symbol/values.js */ "../node_modules/micromark-util-symbol/values.js");
32243
32244
32245
32246
32247
32248 /**
32249 * Make a value safe for injection as a URL.
32250 *
32251 * This encodes unsafe characters with percent-encoding and skips already
32252 * encoded sequences (see `normalizeUri`).
32253 * Further unsafe characters are encoded as character references (see
32254 * `micromark-util-encode`).
32255 *
32256 * A regex of allowed protocols can be given, in which case the URL is
32257 * sanitized.
32258 * For example, `/^(https?|ircs?|mailto|xmpp)$/i` can be used for `a[href]`, or
32259 * `/^https?$/i` for `img[src]` (this is what `github.com` allows).
32260 * If the URL includes an unknown protocol (one not matched by `protocol`, such
32261 * as a dangerous example, `javascript:`), the value is ignored.
32262 *
32263 * @param {string | undefined} url
32264 * URI to sanitize.
32265 * @param {RegExp | null | undefined} [protocol]
32266 * Allowed protocols.
32267 * @returns {string}
32268 * Sanitized URI.
32269 */
32270 function sanitizeUri(url, protocol) {
32271 const value = (0,micromark_util_encode__WEBPACK_IMPORTED_MODULE_0__.encode)(normalizeUri(url || ''))
32272
32273 if (!protocol) {
32274 return value
32275 }
32276
32277 const colon = value.indexOf(':')
32278 const questionMark = value.indexOf('?')
32279 const numberSign = value.indexOf('#')
32280 const slash = value.indexOf('/')
32281
32282 if (
32283 // If there is no protocol, it’s relative.
32284 colon < 0 ||
32285 // If the first colon is after a `?`, `#`, or `/`, it’s not a protocol.
32286 (slash > -1 && colon > slash) ||
32287 (questionMark > -1 && colon > questionMark) ||
32288 (numberSign > -1 && colon > numberSign) ||
32289 // It is a protocol, it should be allowed.
32290 protocol.test(value.slice(0, colon))
32291 ) {
32292 return value
32293 }
32294
32295 return ''
32296 }
32297
32298 /**
32299 * Normalize a URL.
32300 *
32301 * Encode unsafe characters with percent-encoding, skipping already encoded
32302 * sequences.
32303 *
32304 * @param {string} value
32305 * URI to normalize.
32306 * @returns {string}
32307 * Normalized URI.
32308 */
32309 function normalizeUri(value) {
32310 /** @type {Array<string>} */
32311 const result = []
32312 let index = -1
32313 let start = 0
32314 let skip = 0
32315
32316 while (++index < value.length) {
32317 const code = value.charCodeAt(index)
32318 /** @type {string} */
32319 let replace = ''
32320
32321 // A correct percent encoded value.
32322 if (
32323 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.percentSign &&
32324 (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_2__.asciiAlphanumeric)(value.charCodeAt(index + 1)) &&
32325 (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_2__.asciiAlphanumeric)(value.charCodeAt(index + 2))
32326 ) {
32327 skip = 2
32328 }
32329 // ASCII.
32330 else if (code < 128) {
32331 if (!/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(code))) {
32332 replace = String.fromCharCode(code)
32333 }
32334 }
32335 // Astral.
32336 else if (code > 55295 && code < 57344) {
32337 const next = value.charCodeAt(index + 1)
32338
32339 // A correct surrogate pair.
32340 if (code < 56320 && next > 56319 && next < 57344) {
32341 replace = String.fromCharCode(code, next)
32342 skip = 1
32343 }
32344 // Lone surrogate.
32345 else {
32346 replace = micromark_util_symbol_values_js__WEBPACK_IMPORTED_MODULE_3__.values.replacementCharacter
32347 }
32348 }
32349 // Unicode.
32350 else {
32351 replace = String.fromCharCode(code)
32352 }
32353
32354 if (replace) {
32355 result.push(value.slice(start, index), encodeURIComponent(replace))
32356 start = index + skip + 1
32357 replace = ''
32358 }
32359
32360 if (skip) {
32361 index += skip
32362 skip = 0
32363 }
32364 }
32365
32366 return result.join('') + value.slice(start)
32367 }
32368
32369
32370 /***/ }),
32371
32372 /***/ "../node_modules/micromark-util-subtokenize/dev/index.js":
32373 /*!***************************************************************!*\
32374 !*** ../node_modules/micromark-util-subtokenize/dev/index.js ***!
32375 \***************************************************************/
32376 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
32377
32378 "use strict";
32379 __webpack_require__.r(__webpack_exports__);
32380 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
32381 /* harmony export */ subtokenize: () => (/* binding */ subtokenize)
32382 /* harmony export */ });
32383 /* harmony import */ var micromark_util_chunked__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! micromark-util-chunked */ "../node_modules/micromark-util-chunked/dev/index.js");
32384 /* harmony import */ var micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! micromark-util-symbol/codes.js */ "../node_modules/micromark-util-symbol/codes.js");
32385 /* harmony import */ var micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-util-symbol/types.js */ "../node_modules/micromark-util-symbol/types.js");
32386 /* harmony import */ var uvu_assert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uvu/assert */ "../node_modules/uvu/assert/index.mjs");
32387 /**
32388 * @typedef {import('micromark-util-types').Chunk} Chunk
32389 * @typedef {import('micromark-util-types').Event} Event
32390 * @typedef {import('micromark-util-types').Token} Token
32391 */
32392
32393
32394
32395
32396
32397
32398 /**
32399 * Tokenize subcontent.
32400 *
32401 * @param {Array<Event>} events
32402 * List of events.
32403 * @returns {boolean}
32404 * Whether subtokens were found.
32405 */
32406 function subtokenize(events) {
32407 /** @type {Record<string, number>} */
32408 const jumps = {}
32409 let index = -1
32410 /** @type {Event} */
32411 let event
32412 /** @type {number | undefined} */
32413 let lineIndex
32414 /** @type {number} */
32415 let otherIndex
32416 /** @type {Event} */
32417 let otherEvent
32418 /** @type {Array<Event>} */
32419 let parameters
32420 /** @type {Array<Event>} */
32421 let subevents
32422 /** @type {boolean | undefined} */
32423 let more
32424
32425 while (++index < events.length) {
32426 while (index in jumps) {
32427 index = jumps[index]
32428 }
32429
32430 event = events[index]
32431
32432 // Add a hook for the GFM tasklist extension, which needs to know if text
32433 // is in the first content of a list item.
32434 if (
32435 index &&
32436 event[1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.chunkFlow &&
32437 events[index - 1][1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.listItemPrefix
32438 ) {
32439 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(event[1]._tokenizer, 'expected `_tokenizer` on subtokens')
32440 subevents = event[1]._tokenizer.events
32441 otherIndex = 0
32442
32443 if (
32444 otherIndex < subevents.length &&
32445 subevents[otherIndex][1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.lineEndingBlank
32446 ) {
32447 otherIndex += 2
32448 }
32449
32450 if (
32451 otherIndex < subevents.length &&
32452 subevents[otherIndex][1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.content
32453 ) {
32454 while (++otherIndex < subevents.length) {
32455 if (subevents[otherIndex][1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.content) {
32456 break
32457 }
32458
32459 if (subevents[otherIndex][1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.chunkText) {
32460 subevents[otherIndex][1]._isInFirstContentOfListItem = true
32461 otherIndex++
32462 }
32463 }
32464 }
32465 }
32466
32467 // Enter.
32468 if (event[0] === 'enter') {
32469 if (event[1].contentType) {
32470 Object.assign(jumps, subcontent(events, index))
32471 index = jumps[index]
32472 more = true
32473 }
32474 }
32475 // Exit.
32476 else if (event[1]._container) {
32477 otherIndex = index
32478 lineIndex = undefined
32479
32480 while (otherIndex--) {
32481 otherEvent = events[otherIndex]
32482
32483 if (
32484 otherEvent[1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.lineEnding ||
32485 otherEvent[1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.lineEndingBlank
32486 ) {
32487 if (otherEvent[0] === 'enter') {
32488 if (lineIndex) {
32489 events[lineIndex][1].type = micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.lineEndingBlank
32490 }
32491
32492 otherEvent[1].type = micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.lineEnding
32493 lineIndex = otherIndex
32494 }
32495 } else {
32496 break
32497 }
32498 }
32499
32500 if (lineIndex) {
32501 // Fix position.
32502 event[1].end = Object.assign({}, events[lineIndex][1].start)
32503
32504 // Switch container exit w/ line endings.
32505 parameters = events.slice(lineIndex, index)
32506 parameters.unshift(event)
32507 ;(0,micromark_util_chunked__WEBPACK_IMPORTED_MODULE_2__.splice)(events, lineIndex, index - lineIndex + 1, parameters)
32508 }
32509 }
32510 }
32511
32512 return !more
32513 }
32514
32515 /**
32516 * Tokenize embedded tokens.
32517 *
32518 * @param {Array<Event>} events
32519 * @param {number} eventIndex
32520 * @returns {Record<string, number>}
32521 */
32522 function subcontent(events, eventIndex) {
32523 const token = events[eventIndex][1]
32524 const context = events[eventIndex][2]
32525 let startPosition = eventIndex - 1
32526 /** @type {Array<number>} */
32527 const startPositions = []
32528 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(token.contentType, 'expected `contentType` on subtokens')
32529 const tokenizer =
32530 token._tokenizer || context.parser[token.contentType](token.start)
32531 const childEvents = tokenizer.events
32532 /** @type {Array<[number, number]>} */
32533 const jumps = []
32534 /** @type {Record<string, number>} */
32535 const gaps = {}
32536 /** @type {Array<Chunk>} */
32537 let stream
32538 /** @type {Token | undefined} */
32539 let previous
32540 let index = -1
32541 /** @type {Token | undefined} */
32542 let current = token
32543 let adjust = 0
32544 let start = 0
32545 const breaks = [start]
32546
32547 // Loop forward through the linked tokens to pass them in order to the
32548 // subtokenizer.
32549 while (current) {
32550 // Find the position of the event for this token.
32551 while (events[++startPosition][1] !== current) {
32552 // Empty.
32553 }
32554
32555 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(
32556 !previous || current.previous === previous,
32557 'expected previous to match'
32558 )
32559 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(!previous || previous.next === current, 'expected next to match')
32560
32561 startPositions.push(startPosition)
32562
32563 if (!current._tokenizer) {
32564 stream = context.sliceStream(current)
32565
32566 if (!current.next) {
32567 stream.push(micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_3__.codes.eof)
32568 }
32569
32570 if (previous) {
32571 tokenizer.defineSkip(current.start)
32572 }
32573
32574 if (current._isInFirstContentOfListItem) {
32575 tokenizer._gfmTasklistFirstContentOfListItem = true
32576 }
32577
32578 tokenizer.write(stream)
32579
32580 if (current._isInFirstContentOfListItem) {
32581 tokenizer._gfmTasklistFirstContentOfListItem = undefined
32582 }
32583 }
32584
32585 // Unravel the next token.
32586 previous = current
32587 current = current.next
32588 }
32589
32590 // Now, loop back through all events (and linked tokens), to figure out which
32591 // parts belong where.
32592 current = token
32593
32594 while (++index < childEvents.length) {
32595 if (
32596 // Find a void token that includes a break.
32597 childEvents[index][0] === 'exit' &&
32598 childEvents[index - 1][0] === 'enter' &&
32599 childEvents[index][1].type === childEvents[index - 1][1].type &&
32600 childEvents[index][1].start.line !== childEvents[index][1].end.line
32601 ) {
32602 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(current, 'expected a current token')
32603 start = index + 1
32604 breaks.push(start)
32605 // Help GC.
32606 current._tokenizer = undefined
32607 current.previous = undefined
32608 current = current.next
32609 }
32610 }
32611
32612 // Help GC.
32613 tokenizer.events = []
32614
32615 // If there’s one more token (which is the cases for lines that end in an
32616 // EOF), that’s perfect: the last point we found starts it.
32617 // If there isn’t then make sure any remaining content is added to it.
32618 if (current) {
32619 // Help GC.
32620 current._tokenizer = undefined
32621 current.previous = undefined
32622 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(!current.next, 'expected no next token')
32623 } else {
32624 breaks.pop()
32625 }
32626
32627 // Now splice the events from the subtokenizer into the current events,
32628 // moving back to front so that splice indices aren’t affected.
32629 index = breaks.length
32630
32631 while (index--) {
32632 const slice = childEvents.slice(breaks[index], breaks[index + 1])
32633 const start = startPositions.pop()
32634 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(start !== undefined, 'expected a start position when splicing')
32635 jumps.unshift([start, start + slice.length - 1])
32636 ;(0,micromark_util_chunked__WEBPACK_IMPORTED_MODULE_2__.splice)(events, start, 2, slice)
32637 }
32638
32639 index = -1
32640
32641 while (++index < jumps.length) {
32642 gaps[adjust + jumps[index][0]] = adjust + jumps[index][1]
32643 adjust += jumps[index][1] - jumps[index][0] - 1
32644 }
32645
32646 return gaps
32647 }
32648
32649
32650 /***/ }),
32651
32652 /***/ "../node_modules/micromark-util-symbol/codes.js":
32653 /*!******************************************************!*\
32654 !*** ../node_modules/micromark-util-symbol/codes.js ***!
32655 \******************************************************/
32656 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
32657
32658 "use strict";
32659 __webpack_require__.r(__webpack_exports__);
32660 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
32661 /* harmony export */ codes: () => (/* binding */ codes)
32662 /* harmony export */ });
32663 /**
32664 * Character codes.
32665 *
32666 * This module is compiled away!
32667 *
32668 * micromark works based on character codes.
32669 * This module contains constants for the ASCII block and the replacement
32670 * character.
32671 * A couple of them are handled in a special way, such as the line endings
32672 * (CR, LF, and CR+LF, commonly known as end-of-line: EOLs), the tab (horizontal
32673 * tab) and its expansion based on what column it’s at (virtual space),
32674 * and the end-of-file (eof) character.
32675 * As values are preprocessed before handling them, the actual characters LF,
32676 * CR, HT, and NUL (which is present as the replacement character), are
32677 * guaranteed to not exist.
32678 *
32679 * Unicode basic latin block.
32680 */
32681 const codes = /** @type {const} */ ({
32682 carriageReturn: -5,
32683 lineFeed: -4,
32684 carriageReturnLineFeed: -3,
32685 horizontalTab: -2,
32686 virtualSpace: -1,
32687 eof: null,
32688 nul: 0,
32689 soh: 1,
32690 stx: 2,
32691 etx: 3,
32692 eot: 4,
32693 enq: 5,
32694 ack: 6,
32695 bel: 7,
32696 bs: 8,
32697 ht: 9, // `\t`
32698 lf: 10, // `\n`
32699 vt: 11, // `\v`
32700 ff: 12, // `\f`
32701 cr: 13, // `\r`
32702 so: 14,
32703 si: 15,
32704 dle: 16,
32705 dc1: 17,
32706 dc2: 18,
32707 dc3: 19,
32708 dc4: 20,
32709 nak: 21,
32710 syn: 22,
32711 etb: 23,
32712 can: 24,
32713 em: 25,
32714 sub: 26,
32715 esc: 27,
32716 fs: 28,
32717 gs: 29,
32718 rs: 30,
32719 us: 31,
32720 space: 32,
32721 exclamationMark: 33, // `!`
32722 quotationMark: 34, // `"`
32723 numberSign: 35, // `#`
32724 dollarSign: 36, // `$`
32725 percentSign: 37, // `%`
32726 ampersand: 38, // `&`
32727 apostrophe: 39, // `'`
32728 leftParenthesis: 40, // `(`
32729 rightParenthesis: 41, // `)`
32730 asterisk: 42, // `*`
32731 plusSign: 43, // `+`
32732 comma: 44, // `,`
32733 dash: 45, // `-`
32734 dot: 46, // `.`
32735 slash: 47, // `/`
32736 digit0: 48, // `0`
32737 digit1: 49, // `1`
32738 digit2: 50, // `2`
32739 digit3: 51, // `3`
32740 digit4: 52, // `4`
32741 digit5: 53, // `5`
32742 digit6: 54, // `6`
32743 digit7: 55, // `7`
32744 digit8: 56, // `8`
32745 digit9: 57, // `9`
32746 colon: 58, // `:`
32747 semicolon: 59, // `;`
32748 lessThan: 60, // `<`
32749 equalsTo: 61, // `=`
32750 greaterThan: 62, // `>`
32751 questionMark: 63, // `?`
32752 atSign: 64, // `@`
32753 uppercaseA: 65, // `A`
32754 uppercaseB: 66, // `B`
32755 uppercaseC: 67, // `C`
32756 uppercaseD: 68, // `D`
32757 uppercaseE: 69, // `E`
32758 uppercaseF: 70, // `F`
32759 uppercaseG: 71, // `G`
32760 uppercaseH: 72, // `H`
32761 uppercaseI: 73, // `I`
32762 uppercaseJ: 74, // `J`
32763 uppercaseK: 75, // `K`
32764 uppercaseL: 76, // `L`
32765 uppercaseM: 77, // `M`
32766 uppercaseN: 78, // `N`
32767 uppercaseO: 79, // `O`
32768 uppercaseP: 80, // `P`
32769 uppercaseQ: 81, // `Q`
32770 uppercaseR: 82, // `R`
32771 uppercaseS: 83, // `S`
32772 uppercaseT: 84, // `T`
32773 uppercaseU: 85, // `U`
32774 uppercaseV: 86, // `V`
32775 uppercaseW: 87, // `W`
32776 uppercaseX: 88, // `X`
32777 uppercaseY: 89, // `Y`
32778 uppercaseZ: 90, // `Z`
32779 leftSquareBracket: 91, // `[`
32780 backslash: 92, // `\`
32781 rightSquareBracket: 93, // `]`
32782 caret: 94, // `^`
32783 underscore: 95, // `_`
32784 graveAccent: 96, // `` ` ``
32785 lowercaseA: 97, // `a`
32786 lowercaseB: 98, // `b`
32787 lowercaseC: 99, // `c`
32788 lowercaseD: 100, // `d`
32789 lowercaseE: 101, // `e`
32790 lowercaseF: 102, // `f`
32791 lowercaseG: 103, // `g`
32792 lowercaseH: 104, // `h`
32793 lowercaseI: 105, // `i`
32794 lowercaseJ: 106, // `j`
32795 lowercaseK: 107, // `k`
32796 lowercaseL: 108, // `l`
32797 lowercaseM: 109, // `m`
32798 lowercaseN: 110, // `n`
32799 lowercaseO: 111, // `o`
32800 lowercaseP: 112, // `p`
32801 lowercaseQ: 113, // `q`
32802 lowercaseR: 114, // `r`
32803 lowercaseS: 115, // `s`
32804 lowercaseT: 116, // `t`
32805 lowercaseU: 117, // `u`
32806 lowercaseV: 118, // `v`
32807 lowercaseW: 119, // `w`
32808 lowercaseX: 120, // `x`
32809 lowercaseY: 121, // `y`
32810 lowercaseZ: 122, // `z`
32811 leftCurlyBrace: 123, // `{`
32812 verticalBar: 124, // `|`
32813 rightCurlyBrace: 125, // `}`
32814 tilde: 126, // `~`
32815 del: 127,
32816 // Unicode Specials block.
32817 byteOrderMarker: 65279,
32818 // Unicode Specials block.
32819 replacementCharacter: 65533 // ``
32820 })
32821
32822
32823 /***/ }),
32824
32825 /***/ "../node_modules/micromark-util-symbol/constants.js":
32826 /*!**********************************************************!*\
32827 !*** ../node_modules/micromark-util-symbol/constants.js ***!
32828 \**********************************************************/
32829 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
32830
32831 "use strict";
32832 __webpack_require__.r(__webpack_exports__);
32833 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
32834 /* harmony export */ constants: () => (/* binding */ constants)
32835 /* harmony export */ });
32836 /**
32837 * This module is compiled away!
32838 *
32839 * Parsing markdown comes with a couple of constants, such as minimum or maximum
32840 * sizes of certain sequences.
32841 * Additionally, there are a couple symbols used inside micromark.
32842 * These are all defined here, but compiled away by scripts.
32843 */
32844 const constants = /** @type {const} */ ({
32845 attentionSideBefore: 1, // Symbol to mark an attention sequence as before content: `*a`
32846 attentionSideAfter: 2, // Symbol to mark an attention sequence as after content: `a*`
32847 atxHeadingOpeningFenceSizeMax: 6, // 6 number signs is fine, 7 isn’t.
32848 autolinkDomainSizeMax: 63, // 63 characters is fine, 64 is too many.
32849 autolinkSchemeSizeMax: 32, // 32 characters is fine, 33 is too many.
32850 cdataOpeningString: 'CDATA[', // And preceded by `<![`.
32851 characterGroupWhitespace: 1, // Symbol used to indicate a character is whitespace
32852 characterGroupPunctuation: 2, // Symbol used to indicate a character is punctuation
32853 characterReferenceDecimalSizeMax: 7, // `&#9999999;`.
32854 characterReferenceHexadecimalSizeMax: 6, // `&#xff9999;`.
32855 characterReferenceNamedSizeMax: 31, // `&CounterClockwiseContourIntegral;`.
32856 codeFencedSequenceSizeMin: 3, // At least 3 ticks or tildes are needed.
32857 contentTypeDocument: 'document',
32858 contentTypeFlow: 'flow',
32859 contentTypeContent: 'content',
32860 contentTypeString: 'string',
32861 contentTypeText: 'text',
32862 hardBreakPrefixSizeMin: 2, // At least 2 trailing spaces are needed.
32863 htmlRaw: 1, // Symbol for `<script>`
32864 htmlComment: 2, // Symbol for `<!---->`
32865 htmlInstruction: 3, // Symbol for `<?php?>`
32866 htmlDeclaration: 4, // Symbol for `<!doctype>`
32867 htmlCdata: 5, // Symbol for `<![CDATA[]]>`
32868 htmlBasic: 6, // Symbol for `<div`
32869 htmlComplete: 7, // Symbol for `<x>`
32870 htmlRawSizeMax: 8, // Length of `textarea`.
32871 linkResourceDestinationBalanceMax: 32, // See: <https://spec.commonmark.org/0.30/#link-destination>, <https://github.com/remarkjs/react-markdown/issues/658#issuecomment-984345577>
32872 linkReferenceSizeMax: 999, // See: <https://spec.commonmark.org/0.30/#link-label>
32873 listItemValueSizeMax: 10, // See: <https://spec.commonmark.org/0.30/#ordered-list-marker>
32874 numericBaseDecimal: 10,
32875 numericBaseHexadecimal: 0x10,
32876 tabSize: 4, // Tabs have a hard-coded size of 4, per CommonMark.
32877 thematicBreakMarkerCountMin: 3, // At least 3 asterisks, dashes, or underscores are needed.
32878 v8MaxSafeChunkSize: 10000 // V8 (and potentially others) have problems injecting giant arrays into other arrays, hence we operate in chunks.
32879 })
32880
32881
32882 /***/ }),
32883
32884 /***/ "../node_modules/micromark-util-symbol/types.js":
32885 /*!******************************************************!*\
32886 !*** ../node_modules/micromark-util-symbol/types.js ***!
32887 \******************************************************/
32888 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
32889
32890 "use strict";
32891 __webpack_require__.r(__webpack_exports__);
32892 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
32893 /* harmony export */ types: () => (/* binding */ types)
32894 /* harmony export */ });
32895 /**
32896 * This module is compiled away!
32897 *
32898 * Here is the list of all types of tokens exposed by micromark, with a short
32899 * explanation of what they include and where they are found.
32900 * In picking names, generally, the rule is to be as explicit as possible
32901 * instead of reusing names.
32902 * For example, there is a `definitionDestination` and a `resourceDestination`,
32903 * instead of one shared name.
32904 */
32905
32906 // Note: when changing the next record, you must also change `TokenTypeMap`
32907 // in `micromark-util-types/index.d.ts`.
32908 const types = /** @type {const} */ ({
32909 // Generic type for data, such as in a title, a destination, etc.
32910 data: 'data',
32911
32912 // Generic type for syntactic whitespace (tabs, virtual spaces, spaces).
32913 // Such as, between a fenced code fence and an info string.
32914 whitespace: 'whitespace',
32915
32916 // Generic type for line endings (line feed, carriage return, carriage return +
32917 // line feed).
32918 lineEnding: 'lineEnding',
32919
32920 // A line ending, but ending a blank line.
32921 lineEndingBlank: 'lineEndingBlank',
32922
32923 // Generic type for whitespace (tabs, virtual spaces, spaces) at the start of a
32924 // line.
32925 linePrefix: 'linePrefix',
32926
32927 // Generic type for whitespace (tabs, virtual spaces, spaces) at the end of a
32928 // line.
32929 lineSuffix: 'lineSuffix',
32930
32931 // Whole ATX heading:
32932 //
32933 // ```markdown
32934 // #
32935 // ## Alpha
32936 // ### Bravo ###
32937 // ```
32938 //
32939 // Includes `atxHeadingSequence`, `whitespace`, `atxHeadingText`.
32940 atxHeading: 'atxHeading',
32941
32942 // Sequence of number signs in an ATX heading (`###`).
32943 atxHeadingSequence: 'atxHeadingSequence',
32944
32945 // Content in an ATX heading (`alpha`).
32946 // Includes text.
32947 atxHeadingText: 'atxHeadingText',
32948
32949 // Whole autolink (`<https://example.com>` or `<admin@example.com>`)
32950 // Includes `autolinkMarker` and `autolinkProtocol` or `autolinkEmail`.
32951 autolink: 'autolink',
32952
32953 // Email autolink w/o markers (`admin@example.com`)
32954 autolinkEmail: 'autolinkEmail',
32955
32956 // Marker around an `autolinkProtocol` or `autolinkEmail` (`<` or `>`).
32957 autolinkMarker: 'autolinkMarker',
32958
32959 // Protocol autolink w/o markers (`https://example.com`)
32960 autolinkProtocol: 'autolinkProtocol',
32961
32962 // A whole character escape (`\-`).
32963 // Includes `escapeMarker` and `characterEscapeValue`.
32964 characterEscape: 'characterEscape',
32965
32966 // The escaped character (`-`).
32967 characterEscapeValue: 'characterEscapeValue',
32968
32969 // A whole character reference (`&amp;`, `&#8800;`, or `&#x1D306;`).
32970 // Includes `characterReferenceMarker`, an optional
32971 // `characterReferenceMarkerNumeric`, in which case an optional
32972 // `characterReferenceMarkerHexadecimal`, and a `characterReferenceValue`.
32973 characterReference: 'characterReference',
32974
32975 // The start or end marker (`&` or `;`).
32976 characterReferenceMarker: 'characterReferenceMarker',
32977
32978 // Mark reference as numeric (`#`).
32979 characterReferenceMarkerNumeric: 'characterReferenceMarkerNumeric',
32980
32981 // Mark reference as numeric (`x` or `X`).
32982 characterReferenceMarkerHexadecimal: 'characterReferenceMarkerHexadecimal',
32983
32984 // Value of character reference w/o markers (`amp`, `8800`, or `1D306`).
32985 characterReferenceValue: 'characterReferenceValue',
32986
32987 // Whole fenced code:
32988 //
32989 // ````markdown
32990 // ```js
32991 // alert(1)
32992 // ```
32993 // ````
32994 codeFenced: 'codeFenced',
32995
32996 // A fenced code fence, including whitespace, sequence, info, and meta
32997 // (` ```js `).
32998 codeFencedFence: 'codeFencedFence',
32999
33000 // Sequence of grave accent or tilde characters (` ``` `) in a fence.
33001 codeFencedFenceSequence: 'codeFencedFenceSequence',
33002
33003 // Info word (`js`) in a fence.
33004 // Includes string.
33005 codeFencedFenceInfo: 'codeFencedFenceInfo',
33006
33007 // Meta words (`highlight="1"`) in a fence.
33008 // Includes string.
33009 codeFencedFenceMeta: 'codeFencedFenceMeta',
33010
33011 // A line of code.
33012 codeFlowValue: 'codeFlowValue',
33013
33014 // Whole indented code:
33015 //
33016 // ```markdown
33017 // alert(1)
33018 // ```
33019 //
33020 // Includes `lineEnding`, `linePrefix`, and `codeFlowValue`.
33021 codeIndented: 'codeIndented',
33022
33023 // A text code (``` `alpha` ```).
33024 // Includes `codeTextSequence`, `codeTextData`, `lineEnding`, and can include
33025 // `codeTextPadding`.
33026 codeText: 'codeText',
33027
33028 codeTextData: 'codeTextData',
33029
33030 // A space or line ending right after or before a tick.
33031 codeTextPadding: 'codeTextPadding',
33032
33033 // A text code fence (` `` `).
33034 codeTextSequence: 'codeTextSequence',
33035
33036 // Whole content:
33037 //
33038 // ```markdown
33039 // [a]: b
33040 // c
33041 // =
33042 // d
33043 // ```
33044 //
33045 // Includes `paragraph` and `definition`.
33046 content: 'content',
33047 // Whole definition:
33048 //
33049 // ```markdown
33050 // [micromark]: https://github.com/micromark/micromark
33051 // ```
33052 //
33053 // Includes `definitionLabel`, `definitionMarker`, `whitespace`,
33054 // `definitionDestination`, and optionally `lineEnding` and `definitionTitle`.
33055 definition: 'definition',
33056
33057 // Destination of a definition (`https://github.com/micromark/micromark` or
33058 // `<https://github.com/micromark/micromark>`).
33059 // Includes `definitionDestinationLiteral` or `definitionDestinationRaw`.
33060 definitionDestination: 'definitionDestination',
33061
33062 // Enclosed destination of a definition
33063 // (`<https://github.com/micromark/micromark>`).
33064 // Includes `definitionDestinationLiteralMarker` and optionally
33065 // `definitionDestinationString`.
33066 definitionDestinationLiteral: 'definitionDestinationLiteral',
33067
33068 // Markers of an enclosed definition destination (`<` or `>`).
33069 definitionDestinationLiteralMarker: 'definitionDestinationLiteralMarker',
33070
33071 // Unenclosed destination of a definition
33072 // (`https://github.com/micromark/micromark`).
33073 // Includes `definitionDestinationString`.
33074 definitionDestinationRaw: 'definitionDestinationRaw',
33075
33076 // Text in an destination (`https://github.com/micromark/micromark`).
33077 // Includes string.
33078 definitionDestinationString: 'definitionDestinationString',
33079
33080 // Label of a definition (`[micromark]`).
33081 // Includes `definitionLabelMarker` and `definitionLabelString`.
33082 definitionLabel: 'definitionLabel',
33083
33084 // Markers of a definition label (`[` or `]`).
33085 definitionLabelMarker: 'definitionLabelMarker',
33086
33087 // Value of a definition label (`micromark`).
33088 // Includes string.
33089 definitionLabelString: 'definitionLabelString',
33090
33091 // Marker between a label and a destination (`:`).
33092 definitionMarker: 'definitionMarker',
33093
33094 // Title of a definition (`"x"`, `'y'`, or `(z)`).
33095 // Includes `definitionTitleMarker` and optionally `definitionTitleString`.
33096 definitionTitle: 'definitionTitle',
33097
33098 // Marker around a title of a definition (`"`, `'`, `(`, or `)`).
33099 definitionTitleMarker: 'definitionTitleMarker',
33100
33101 // Data without markers in a title (`z`).
33102 // Includes string.
33103 definitionTitleString: 'definitionTitleString',
33104
33105 // Emphasis (`*alpha*`).
33106 // Includes `emphasisSequence` and `emphasisText`.
33107 emphasis: 'emphasis',
33108
33109 // Sequence of emphasis markers (`*` or `_`).
33110 emphasisSequence: 'emphasisSequence',
33111
33112 // Emphasis text (`alpha`).
33113 // Includes text.
33114 emphasisText: 'emphasisText',
33115
33116 // The character escape marker (`\`).
33117 escapeMarker: 'escapeMarker',
33118
33119 // A hard break created with a backslash (`\\n`).
33120 // Note: does not include the line ending.
33121 hardBreakEscape: 'hardBreakEscape',
33122
33123 // A hard break created with trailing spaces (` \n`).
33124 // Does not include the line ending.
33125 hardBreakTrailing: 'hardBreakTrailing',
33126
33127 // Flow HTML:
33128 //
33129 // ```markdown
33130 // <div
33131 // ```
33132 //
33133 // Inlcudes `lineEnding`, `htmlFlowData`.
33134 htmlFlow: 'htmlFlow',
33135
33136 htmlFlowData: 'htmlFlowData',
33137
33138 // HTML in text (the tag in `a <i> b`).
33139 // Includes `lineEnding`, `htmlTextData`.
33140 htmlText: 'htmlText',
33141
33142 htmlTextData: 'htmlTextData',
33143
33144 // Whole image (`![alpha](bravo)`, `![alpha][bravo]`, `![alpha][]`, or
33145 // `![alpha]`).
33146 // Includes `label` and an optional `resource` or `reference`.
33147 image: 'image',
33148
33149 // Whole link label (`[*alpha*]`).
33150 // Includes `labelLink` or `labelImage`, `labelText`, and `labelEnd`.
33151 label: 'label',
33152
33153 // Text in an label (`*alpha*`).
33154 // Includes text.
33155 labelText: 'labelText',
33156
33157 // Start a link label (`[`).
33158 // Includes a `labelMarker`.
33159 labelLink: 'labelLink',
33160
33161 // Start an image label (`![`).
33162 // Includes `labelImageMarker` and `labelMarker`.
33163 labelImage: 'labelImage',
33164
33165 // Marker of a label (`[` or `]`).
33166 labelMarker: 'labelMarker',
33167
33168 // Marker to start an image (`!`).
33169 labelImageMarker: 'labelImageMarker',
33170
33171 // End a label (`]`).
33172 // Includes `labelMarker`.
33173 labelEnd: 'labelEnd',
33174
33175 // Whole link (`[alpha](bravo)`, `[alpha][bravo]`, `[alpha][]`, or `[alpha]`).
33176 // Includes `label` and an optional `resource` or `reference`.
33177 link: 'link',
33178
33179 // Whole paragraph:
33180 //
33181 // ```markdown
33182 // alpha
33183 // bravo.
33184 // ```
33185 //
33186 // Includes text.
33187 paragraph: 'paragraph',
33188
33189 // A reference (`[alpha]` or `[]`).
33190 // Includes `referenceMarker` and an optional `referenceString`.
33191 reference: 'reference',
33192
33193 // A reference marker (`[` or `]`).
33194 referenceMarker: 'referenceMarker',
33195
33196 // Reference text (`alpha`).
33197 // Includes string.
33198 referenceString: 'referenceString',
33199
33200 // A resource (`(https://example.com "alpha")`).
33201 // Includes `resourceMarker`, an optional `resourceDestination` with an optional
33202 // `whitespace` and `resourceTitle`.
33203 resource: 'resource',
33204
33205 // A resource destination (`https://example.com`).
33206 // Includes `resourceDestinationLiteral` or `resourceDestinationRaw`.
33207 resourceDestination: 'resourceDestination',
33208
33209 // A literal resource destination (`<https://example.com>`).
33210 // Includes `resourceDestinationLiteralMarker` and optionally
33211 // `resourceDestinationString`.
33212 resourceDestinationLiteral: 'resourceDestinationLiteral',
33213
33214 // A resource destination marker (`<` or `>`).
33215 resourceDestinationLiteralMarker: 'resourceDestinationLiteralMarker',
33216
33217 // A raw resource destination (`https://example.com`).
33218 // Includes `resourceDestinationString`.
33219 resourceDestinationRaw: 'resourceDestinationRaw',
33220
33221 // Resource destination text (`https://example.com`).
33222 // Includes string.
33223 resourceDestinationString: 'resourceDestinationString',
33224
33225 // A resource marker (`(` or `)`).
33226 resourceMarker: 'resourceMarker',
33227
33228 // A resource title (`"alpha"`, `'alpha'`, or `(alpha)`).
33229 // Includes `resourceTitleMarker` and optionally `resourceTitleString`.
33230 resourceTitle: 'resourceTitle',
33231
33232 // A resource title marker (`"`, `'`, `(`, or `)`).
33233 resourceTitleMarker: 'resourceTitleMarker',
33234
33235 // Resource destination title (`alpha`).
33236 // Includes string.
33237 resourceTitleString: 'resourceTitleString',
33238
33239 // Whole setext heading:
33240 //
33241 // ```markdown
33242 // alpha
33243 // bravo
33244 // =====
33245 // ```
33246 //
33247 // Includes `setextHeadingText`, `lineEnding`, `linePrefix`, and
33248 // `setextHeadingLine`.
33249 setextHeading: 'setextHeading',
33250
33251 // Content in a setext heading (`alpha\nbravo`).
33252 // Includes text.
33253 setextHeadingText: 'setextHeadingText',
33254
33255 // Underline in a setext heading, including whitespace suffix (`==`).
33256 // Includes `setextHeadingLineSequence`.
33257 setextHeadingLine: 'setextHeadingLine',
33258
33259 // Sequence of equals or dash characters in underline in a setext heading (`-`).
33260 setextHeadingLineSequence: 'setextHeadingLineSequence',
33261
33262 // Strong (`**alpha**`).
33263 // Includes `strongSequence` and `strongText`.
33264 strong: 'strong',
33265
33266 // Sequence of strong markers (`**` or `__`).
33267 strongSequence: 'strongSequence',
33268
33269 // Strong text (`alpha`).
33270 // Includes text.
33271 strongText: 'strongText',
33272
33273 // Whole thematic break:
33274 //
33275 // ```markdown
33276 // * * *
33277 // ```
33278 //
33279 // Includes `thematicBreakSequence` and `whitespace`.
33280 thematicBreak: 'thematicBreak',
33281
33282 // A sequence of one or more thematic break markers (`***`).
33283 thematicBreakSequence: 'thematicBreakSequence',
33284
33285 // Whole block quote:
33286 //
33287 // ```markdown
33288 // > a
33289 // >
33290 // > b
33291 // ```
33292 //
33293 // Includes `blockQuotePrefix` and flow.
33294 blockQuote: 'blockQuote',
33295 // The `>` or `> ` of a block quote.
33296 blockQuotePrefix: 'blockQuotePrefix',
33297 // The `>` of a block quote prefix.
33298 blockQuoteMarker: 'blockQuoteMarker',
33299 // The optional ` ` of a block quote prefix.
33300 blockQuotePrefixWhitespace: 'blockQuotePrefixWhitespace',
33301
33302 // Whole unordered list:
33303 //
33304 // ```markdown
33305 // - a
33306 // b
33307 // ```
33308 //
33309 // Includes `listItemPrefix`, flow, and optionally `listItemIndent` on further
33310 // lines.
33311 listOrdered: 'listOrdered',
33312
33313 // Whole ordered list:
33314 //
33315 // ```markdown
33316 // 1. a
33317 // b
33318 // ```
33319 //
33320 // Includes `listItemPrefix`, flow, and optionally `listItemIndent` on further
33321 // lines.
33322 listUnordered: 'listUnordered',
33323
33324 // The indent of further list item lines.
33325 listItemIndent: 'listItemIndent',
33326
33327 // A marker, as in, `*`, `+`, `-`, `.`, or `)`.
33328 listItemMarker: 'listItemMarker',
33329
33330 // The thing that starts a list item, such as `1. `.
33331 // Includes `listItemValue` if ordered, `listItemMarker`, and
33332 // `listItemPrefixWhitespace` (unless followed by a line ending).
33333 listItemPrefix: 'listItemPrefix',
33334
33335 // The whitespace after a marker.
33336 listItemPrefixWhitespace: 'listItemPrefixWhitespace',
33337
33338 // The numerical value of an ordered item.
33339 listItemValue: 'listItemValue',
33340
33341 // Internal types used for subtokenizers, compiled away
33342 chunkDocument: 'chunkDocument',
33343 chunkContent: 'chunkContent',
33344 chunkFlow: 'chunkFlow',
33345 chunkText: 'chunkText',
33346 chunkString: 'chunkString'
33347 })
33348
33349
33350 /***/ }),
33351
33352 /***/ "../node_modules/micromark-util-symbol/values.js":
33353 /*!*******************************************************!*\
33354 !*** ../node_modules/micromark-util-symbol/values.js ***!
33355 \*******************************************************/
33356 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
33357
33358 "use strict";
33359 __webpack_require__.r(__webpack_exports__);
33360 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
33361 /* harmony export */ values: () => (/* binding */ values)
33362 /* harmony export */ });
33363 /**
33364 * This module is compiled away!
33365 *
33366 * While micromark works based on character codes, this module includes the
33367 * string versions of ’em.
33368 * The C0 block, except for LF, CR, HT, and w/ the replacement character added,
33369 * are available here.
33370 */
33371 const values = /** @type {const} */ ({
33372 ht: '\t',
33373 lf: '\n',
33374 cr: '\r',
33375 space: ' ',
33376 exclamationMark: '!',
33377 quotationMark: '"',
33378 numberSign: '#',
33379 dollarSign: '$',
33380 percentSign: '%',
33381 ampersand: '&',
33382 apostrophe: "'",
33383 leftParenthesis: '(',
33384 rightParenthesis: ')',
33385 asterisk: '*',
33386 plusSign: '+',
33387 comma: ',',
33388 dash: '-',
33389 dot: '.',
33390 slash: '/',
33391 digit0: '0',
33392 digit1: '1',
33393 digit2: '2',
33394 digit3: '3',
33395 digit4: '4',
33396 digit5: '5',
33397 digit6: '6',
33398 digit7: '7',
33399 digit8: '8',
33400 digit9: '9',
33401 colon: ':',
33402 semicolon: ';',
33403 lessThan: '<',
33404 equalsTo: '=',
33405 greaterThan: '>',
33406 questionMark: '?',
33407 atSign: '@',
33408 uppercaseA: 'A',
33409 uppercaseB: 'B',
33410 uppercaseC: 'C',
33411 uppercaseD: 'D',
33412 uppercaseE: 'E',
33413 uppercaseF: 'F',
33414 uppercaseG: 'G',
33415 uppercaseH: 'H',
33416 uppercaseI: 'I',
33417 uppercaseJ: 'J',
33418 uppercaseK: 'K',
33419 uppercaseL: 'L',
33420 uppercaseM: 'M',
33421 uppercaseN: 'N',
33422 uppercaseO: 'O',
33423 uppercaseP: 'P',
33424 uppercaseQ: 'Q',
33425 uppercaseR: 'R',
33426 uppercaseS: 'S',
33427 uppercaseT: 'T',
33428 uppercaseU: 'U',
33429 uppercaseV: 'V',
33430 uppercaseW: 'W',
33431 uppercaseX: 'X',
33432 uppercaseY: 'Y',
33433 uppercaseZ: 'Z',
33434 leftSquareBracket: '[',
33435 backslash: '\\',
33436 rightSquareBracket: ']',
33437 caret: '^',
33438 underscore: '_',
33439 graveAccent: '`',
33440 lowercaseA: 'a',
33441 lowercaseB: 'b',
33442 lowercaseC: 'c',
33443 lowercaseD: 'd',
33444 lowercaseE: 'e',
33445 lowercaseF: 'f',
33446 lowercaseG: 'g',
33447 lowercaseH: 'h',
33448 lowercaseI: 'i',
33449 lowercaseJ: 'j',
33450 lowercaseK: 'k',
33451 lowercaseL: 'l',
33452 lowercaseM: 'm',
33453 lowercaseN: 'n',
33454 lowercaseO: 'o',
33455 lowercaseP: 'p',
33456 lowercaseQ: 'q',
33457 lowercaseR: 'r',
33458 lowercaseS: 's',
33459 lowercaseT: 't',
33460 lowercaseU: 'u',
33461 lowercaseV: 'v',
33462 lowercaseW: 'w',
33463 lowercaseX: 'x',
33464 lowercaseY: 'y',
33465 lowercaseZ: 'z',
33466 leftCurlyBrace: '{',
33467 verticalBar: '|',
33468 rightCurlyBrace: '}',
33469 tilde: '~',
33470 replacementCharacter: ''
33471 })
33472
33473
33474 /***/ }),
33475
33476 /***/ "../node_modules/micromark/dev/lib/constructs.js":
33477 /*!*******************************************************!*\
33478 !*** ../node_modules/micromark/dev/lib/constructs.js ***!
33479 \*******************************************************/
33480 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
33481
33482 "use strict";
33483 __webpack_require__.r(__webpack_exports__);
33484 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
33485 /* harmony export */ attentionMarkers: () => (/* binding */ attentionMarkers),
33486 /* harmony export */ contentInitial: () => (/* binding */ contentInitial),
33487 /* harmony export */ disable: () => (/* binding */ disable),
33488 /* harmony export */ document: () => (/* binding */ document),
33489 /* harmony export */ flow: () => (/* binding */ flow),
33490 /* harmony export */ flowInitial: () => (/* binding */ flowInitial),
33491 /* harmony export */ insideSpan: () => (/* binding */ insideSpan),
33492 /* harmony export */ string: () => (/* binding */ string),
33493 /* harmony export */ text: () => (/* binding */ text)
33494 /* harmony export */ });
33495 /* harmony import */ var micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-core-commonmark */ "../node_modules/micromark-core-commonmark/dev/lib/list.js");
33496 /* harmony import */ var micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! micromark-core-commonmark */ "../node_modules/micromark-core-commonmark/dev/lib/block-quote.js");
33497 /* harmony import */ var micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! micromark-core-commonmark */ "../node_modules/micromark-core-commonmark/dev/lib/definition.js");
33498 /* harmony import */ var micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! micromark-core-commonmark */ "../node_modules/micromark-core-commonmark/dev/lib/code-indented.js");
33499 /* harmony import */ var micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! micromark-core-commonmark */ "../node_modules/micromark-core-commonmark/dev/lib/heading-atx.js");
33500 /* harmony import */ var micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! micromark-core-commonmark */ "../node_modules/micromark-core-commonmark/dev/lib/thematic-break.js");
33501 /* harmony import */ var micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! micromark-core-commonmark */ "../node_modules/micromark-core-commonmark/dev/lib/setext-underline.js");
33502 /* harmony import */ var micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! micromark-core-commonmark */ "../node_modules/micromark-core-commonmark/dev/lib/html-flow.js");
33503 /* harmony import */ var micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! micromark-core-commonmark */ "../node_modules/micromark-core-commonmark/dev/lib/code-fenced.js");
33504 /* harmony import */ var micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! micromark-core-commonmark */ "../node_modules/micromark-core-commonmark/dev/lib/character-reference.js");
33505 /* harmony import */ var micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! micromark-core-commonmark */ "../node_modules/micromark-core-commonmark/dev/lib/character-escape.js");
33506 /* harmony import */ var micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! micromark-core-commonmark */ "../node_modules/micromark-core-commonmark/dev/lib/line-ending.js");
33507 /* harmony import */ var micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! micromark-core-commonmark */ "../node_modules/micromark-core-commonmark/dev/lib/label-start-image.js");
33508 /* harmony import */ var micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! micromark-core-commonmark */ "../node_modules/micromark-core-commonmark/dev/lib/attention.js");
33509 /* harmony import */ var micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! micromark-core-commonmark */ "../node_modules/micromark-core-commonmark/dev/lib/autolink.js");
33510 /* harmony import */ var micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! micromark-core-commonmark */ "../node_modules/micromark-core-commonmark/dev/lib/html-text.js");
33511 /* harmony import */ var micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! micromark-core-commonmark */ "../node_modules/micromark-core-commonmark/dev/lib/label-start-link.js");
33512 /* harmony import */ var micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! micromark-core-commonmark */ "../node_modules/micromark-core-commonmark/dev/lib/hard-break-escape.js");
33513 /* harmony import */ var micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! micromark-core-commonmark */ "../node_modules/micromark-core-commonmark/dev/lib/label-end.js");
33514 /* harmony import */ var micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! micromark-core-commonmark */ "../node_modules/micromark-core-commonmark/dev/lib/code-text.js");
33515 /* harmony import */ var micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-util-symbol/codes.js */ "../node_modules/micromark-util-symbol/codes.js");
33516 /* harmony import */ var _initialize_text_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./initialize/text.js */ "../node_modules/micromark/dev/lib/initialize/text.js");
33517 /**
33518 * @typedef {import('micromark-util-types').Extension} Extension
33519 */
33520
33521
33522
33523
33524
33525 /** @satisfies {Extension['document']} */
33526 const document = {
33527 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.asterisk]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_1__.list,
33528 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.plusSign]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_1__.list,
33529 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.dash]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_1__.list,
33530 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.digit0]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_1__.list,
33531 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.digit1]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_1__.list,
33532 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.digit2]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_1__.list,
33533 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.digit3]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_1__.list,
33534 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.digit4]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_1__.list,
33535 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.digit5]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_1__.list,
33536 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.digit6]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_1__.list,
33537 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.digit7]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_1__.list,
33538 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.digit8]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_1__.list,
33539 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.digit9]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_1__.list,
33540 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.greaterThan]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_2__.blockQuote
33541 }
33542
33543 /** @satisfies {Extension['contentInitial']} */
33544 const contentInitial = {
33545 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.leftSquareBracket]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_3__.definition
33546 }
33547
33548 /** @satisfies {Extension['flowInitial']} */
33549 const flowInitial = {
33550 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.horizontalTab]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_4__.codeIndented,
33551 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.virtualSpace]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_4__.codeIndented,
33552 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.space]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_4__.codeIndented
33553 }
33554
33555 /** @satisfies {Extension['flow']} */
33556 const flow = {
33557 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.numberSign]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_5__.headingAtx,
33558 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.asterisk]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_6__.thematicBreak,
33559 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.dash]: [micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_7__.setextUnderline, micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_6__.thematicBreak],
33560 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.lessThan]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_8__.htmlFlow,
33561 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.equalsTo]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_7__.setextUnderline,
33562 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.underscore]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_6__.thematicBreak,
33563 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.graveAccent]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_9__.codeFenced,
33564 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.tilde]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_9__.codeFenced
33565 }
33566
33567 /** @satisfies {Extension['string']} */
33568 const string = {
33569 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.ampersand]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_10__.characterReference,
33570 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.backslash]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_11__.characterEscape
33571 }
33572
33573 /** @satisfies {Extension['text']} */
33574 const text = {
33575 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.carriageReturn]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_12__.lineEnding,
33576 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.lineFeed]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_12__.lineEnding,
33577 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.carriageReturnLineFeed]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_12__.lineEnding,
33578 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.exclamationMark]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_13__.labelStartImage,
33579 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.ampersand]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_10__.characterReference,
33580 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.asterisk]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_14__.attention,
33581 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.lessThan]: [micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_15__.autolink, micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_16__.htmlText],
33582 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.leftSquareBracket]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_17__.labelStartLink,
33583 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.backslash]: [micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_18__.hardBreakEscape, micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_11__.characterEscape],
33584 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.rightSquareBracket]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_19__.labelEnd,
33585 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.underscore]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_14__.attention,
33586 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.graveAccent]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_20__.codeText
33587 }
33588
33589 /** @satisfies {Extension['insideSpan']} */
33590 const insideSpan = {null: [micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_14__.attention, _initialize_text_js__WEBPACK_IMPORTED_MODULE_21__.resolver]}
33591
33592 /** @satisfies {Extension['attentionMarkers']} */
33593 const attentionMarkers = {null: [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.asterisk, micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.underscore]}
33594
33595 /** @satisfies {Extension['disable']} */
33596 const disable = {null: []}
33597
33598
33599 /***/ }),
33600
33601 /***/ "../node_modules/micromark/dev/lib/create-tokenizer.js":
33602 /*!*************************************************************!*\
33603 !*** ../node_modules/micromark/dev/lib/create-tokenizer.js ***!
33604 \*************************************************************/
33605 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
33606
33607 "use strict";
33608 __webpack_require__.r(__webpack_exports__);
33609 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
33610 /* harmony export */ createTokenizer: () => (/* binding */ createTokenizer)
33611 /* harmony export */ });
33612 /* harmony import */ var debug__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! debug */ "../node_modules/debug/src/browser.js");
33613 /* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! micromark-util-character */ "../node_modules/micromark-util-character/dev/index.js");
33614 /* harmony import */ var micromark_util_chunked__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! micromark-util-chunked */ "../node_modules/micromark-util-chunked/dev/index.js");
33615 /* harmony import */ var micromark_util_resolve_all__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! micromark-util-resolve-all */ "../node_modules/micromark-util-resolve-all/index.js");
33616 /* harmony import */ var micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! micromark-util-symbol/codes.js */ "../node_modules/micromark-util-symbol/codes.js");
33617 /* harmony import */ var micromark_util_symbol_values_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! micromark-util-symbol/values.js */ "../node_modules/micromark-util-symbol/values.js");
33618 /* harmony import */ var uvu_assert__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! uvu/assert */ "../node_modules/uvu/assert/index.mjs");
33619 /**
33620 * @typedef {import('micromark-util-types').Chunk} Chunk
33621 * @typedef {import('micromark-util-types').Code} Code
33622 * @typedef {import('micromark-util-types').Construct} Construct
33623 * @typedef {import('micromark-util-types').ConstructRecord} ConstructRecord
33624 * @typedef {import('micromark-util-types').Effects} Effects
33625 * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct
33626 * @typedef {import('micromark-util-types').ParseContext} ParseContext
33627 * @typedef {import('micromark-util-types').Point} Point
33628 * @typedef {import('micromark-util-types').State} State
33629 * @typedef {import('micromark-util-types').Token} Token
33630 * @typedef {import('micromark-util-types').TokenType} TokenType
33631 * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext
33632 */
33633
33634 /**
33635 * @callback Restore
33636 * @returns {void}
33637 *
33638 * @typedef Info
33639 * @property {Restore} restore
33640 * @property {number} from
33641 *
33642 * @callback ReturnHandle
33643 * Handle a successful run.
33644 * @param {Construct} construct
33645 * @param {Info} info
33646 * @returns {void}
33647 */
33648
33649
33650
33651
33652
33653
33654
33655
33656
33657 const debug = debug__WEBPACK_IMPORTED_MODULE_0__('micromark')
33658
33659 /**
33660 * Create a tokenizer.
33661 * Tokenizers deal with one type of data (e.g., containers, flow, text).
33662 * The parser is the object dealing with it all.
33663 * `initialize` works like other constructs, except that only its `tokenize`
33664 * function is used, in which case it doesn’t receive an `ok` or `nok`.
33665 * `from` can be given to set the point before the first character, although
33666 * when further lines are indented, they must be set with `defineSkip`.
33667 *
33668 * @param {ParseContext} parser
33669 * @param {InitialConstruct} initialize
33670 * @param {Omit<Point, '_bufferIndex' | '_index'> | undefined} [from]
33671 * @returns {TokenizeContext}
33672 */
33673 function createTokenizer(parser, initialize, from) {
33674 /** @type {Point} */
33675 let point = Object.assign(
33676 from ? Object.assign({}, from) : {line: 1, column: 1, offset: 0},
33677 {_index: 0, _bufferIndex: -1}
33678 )
33679 /** @type {Record<string, number>} */
33680 const columnStart = {}
33681 /** @type {Array<Construct>} */
33682 const resolveAllConstructs = []
33683 /** @type {Array<Chunk>} */
33684 let chunks = []
33685 /** @type {Array<Token>} */
33686 let stack = []
33687 /** @type {boolean | undefined} */
33688 let consumed = true
33689
33690 /**
33691 * Tools used for tokenizing.
33692 *
33693 * @type {Effects}
33694 */
33695 const effects = {
33696 consume,
33697 enter,
33698 exit,
33699 attempt: constructFactory(onsuccessfulconstruct),
33700 check: constructFactory(onsuccessfulcheck),
33701 interrupt: constructFactory(onsuccessfulcheck, {interrupt: true})
33702 }
33703
33704 /**
33705 * State and tools for resolving and serializing.
33706 *
33707 * @type {TokenizeContext}
33708 */
33709 const context = {
33710 previous: micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.eof,
33711 code: micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.eof,
33712 containerState: {},
33713 events: [],
33714 parser,
33715 sliceStream,
33716 sliceSerialize,
33717 now,
33718 defineSkip,
33719 write
33720 }
33721
33722 /**
33723 * The state function.
33724 *
33725 * @type {State | void}
33726 */
33727 let state = initialize.tokenize.call(context, effects)
33728
33729 /**
33730 * Track which character we expect to be consumed, to catch bugs.
33731 *
33732 * @type {Code}
33733 */
33734 let expectedCode
33735
33736 if (initialize.resolveAll) {
33737 resolveAllConstructs.push(initialize)
33738 }
33739
33740 return context
33741
33742 /** @type {TokenizeContext['write']} */
33743 function write(slice) {
33744 chunks = (0,micromark_util_chunked__WEBPACK_IMPORTED_MODULE_3__.push)(chunks, slice)
33745
33746 main()
33747
33748 // Exit if we’re not done, resolve might change stuff.
33749 if (chunks[chunks.length - 1] !== micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.eof) {
33750 return []
33751 }
33752
33753 addResult(initialize, 0)
33754
33755 // Otherwise, resolve, and exit.
33756 context.events = (0,micromark_util_resolve_all__WEBPACK_IMPORTED_MODULE_4__.resolveAll)(resolveAllConstructs, context.events, context)
33757
33758 return context.events
33759 }
33760
33761 //
33762 // Tools.
33763 //
33764
33765 /** @type {TokenizeContext['sliceSerialize']} */
33766 function sliceSerialize(token, expandTabs) {
33767 return serializeChunks(sliceStream(token), expandTabs)
33768 }
33769
33770 /** @type {TokenizeContext['sliceStream']} */
33771 function sliceStream(token) {
33772 return sliceChunks(chunks, token)
33773 }
33774
33775 /** @type {TokenizeContext['now']} */
33776 function now() {
33777 // This is a hot path, so we clone manually instead of `Object.assign({}, point)`
33778 const {line, column, offset, _index, _bufferIndex} = point
33779 return {line, column, offset, _index, _bufferIndex}
33780 }
33781
33782 /** @type {TokenizeContext['defineSkip']} */
33783 function defineSkip(value) {
33784 columnStart[value.line] = value.column
33785 accountForPotentialSkip()
33786 debug('position: define skip: `%j`', point)
33787 }
33788
33789 //
33790 // State management.
33791 //
33792
33793 /**
33794 * Main loop (note that `_index` and `_bufferIndex` in `point` are modified by
33795 * `consume`).
33796 * Here is where we walk through the chunks, which either include strings of
33797 * several characters, or numerical character codes.
33798 * The reason to do this in a loop instead of a call is so the stack can
33799 * drain.
33800 *
33801 * @returns {void}
33802 */
33803 function main() {
33804 /** @type {number} */
33805 let chunkIndex
33806
33807 while (point._index < chunks.length) {
33808 const chunk = chunks[point._index]
33809
33810 // If we’re in a buffer chunk, loop through it.
33811 if (typeof chunk === 'string') {
33812 chunkIndex = point._index
33813
33814 if (point._bufferIndex < 0) {
33815 point._bufferIndex = 0
33816 }
33817
33818 while (
33819 point._index === chunkIndex &&
33820 point._bufferIndex < chunk.length
33821 ) {
33822 go(chunk.charCodeAt(point._bufferIndex))
33823 }
33824 } else {
33825 go(chunk)
33826 }
33827 }
33828 }
33829
33830 /**
33831 * Deal with one code.
33832 *
33833 * @param {Code} code
33834 * @returns {void}
33835 */
33836 function go(code) {
33837 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_1__.ok)(consumed === true, 'expected character to be consumed')
33838 consumed = undefined
33839 debug('main: passing `%s` to %s', code, state && state.name)
33840 expectedCode = code
33841 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_1__.ok)(typeof state === 'function', 'expected state')
33842 state = state(code)
33843 }
33844
33845 /** @type {Effects['consume']} */
33846 function consume(code) {
33847 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_1__.ok)(code === expectedCode, 'expected given code to equal expected code')
33848
33849 debug('consume: `%s`', code)
33850
33851 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_1__.ok)(
33852 consumed === undefined,
33853 'expected code to not have been consumed: this might be because `return x(code)` instead of `return x` was used'
33854 )
33855 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_1__.ok)(
33856 code === null
33857 ? context.events.length === 0 ||
33858 context.events[context.events.length - 1][0] === 'exit'
33859 : context.events[context.events.length - 1][0] === 'enter',
33860 'expected last token to be open'
33861 )
33862
33863 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_5__.markdownLineEnding)(code)) {
33864 point.line++
33865 point.column = 1
33866 point.offset += code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.carriageReturnLineFeed ? 2 : 1
33867 accountForPotentialSkip()
33868 debug('position: after eol: `%j`', point)
33869 } else if (code !== micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.virtualSpace) {
33870 point.column++
33871 point.offset++
33872 }
33873
33874 // Not in a string chunk.
33875 if (point._bufferIndex < 0) {
33876 point._index++
33877 } else {
33878 point._bufferIndex++
33879
33880 // At end of string chunk.
33881 // @ts-expect-error Points w/ non-negative `_bufferIndex` reference
33882 // strings.
33883 if (point._bufferIndex === chunks[point._index].length) {
33884 point._bufferIndex = -1
33885 point._index++
33886 }
33887 }
33888
33889 // Expose the previous character.
33890 context.previous = code
33891
33892 // Mark as consumed.
33893 consumed = true
33894 }
33895
33896 /** @type {Effects['enter']} */
33897 function enter(type, fields) {
33898 /** @type {Token} */
33899 // @ts-expect-error Patch instead of assign required fields to help GC.
33900 const token = fields || {}
33901 token.type = type
33902 token.start = now()
33903
33904 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_1__.ok)(typeof type === 'string', 'expected string type')
33905 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_1__.ok)(type.length > 0, 'expected non-empty string')
33906 debug('enter: `%s`', type)
33907
33908 context.events.push(['enter', token, context])
33909
33910 stack.push(token)
33911
33912 return token
33913 }
33914
33915 /** @type {Effects['exit']} */
33916 function exit(type) {
33917 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_1__.ok)(typeof type === 'string', 'expected string type')
33918 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_1__.ok)(type.length > 0, 'expected non-empty string')
33919
33920 const token = stack.pop()
33921 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_1__.ok)(token, 'cannot close w/o open tokens')
33922 token.end = now()
33923
33924 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_1__.ok)(type === token.type, 'expected exit token to match current token')
33925
33926 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_1__.ok)(
33927 !(
33928 token.start._index === token.end._index &&
33929 token.start._bufferIndex === token.end._bufferIndex
33930 ),
33931 'expected non-empty token (`' + type + '`)'
33932 )
33933
33934 debug('exit: `%s`', token.type)
33935 context.events.push(['exit', token, context])
33936
33937 return token
33938 }
33939
33940 /**
33941 * Use results.
33942 *
33943 * @type {ReturnHandle}
33944 */
33945 function onsuccessfulconstruct(construct, info) {
33946 addResult(construct, info.from)
33947 }
33948
33949 /**
33950 * Discard results.
33951 *
33952 * @type {ReturnHandle}
33953 */
33954 function onsuccessfulcheck(_, info) {
33955 info.restore()
33956 }
33957
33958 /**
33959 * Factory to attempt/check/interrupt.
33960 *
33961 * @param {ReturnHandle} onreturn
33962 * @param {{interrupt?: boolean | undefined} | undefined} [fields]
33963 */
33964 function constructFactory(onreturn, fields) {
33965 return hook
33966
33967 /**
33968 * Handle either an object mapping codes to constructs, a list of
33969 * constructs, or a single construct.
33970 *
33971 * @param {Array<Construct> | Construct | ConstructRecord} constructs
33972 * @param {State} returnState
33973 * @param {State | undefined} [bogusState]
33974 * @returns {State}
33975 */
33976 function hook(constructs, returnState, bogusState) {
33977 /** @type {Array<Construct>} */
33978 let listOfConstructs
33979 /** @type {number} */
33980 let constructIndex
33981 /** @type {Construct} */
33982 let currentConstruct
33983 /** @type {Info} */
33984 let info
33985
33986 return Array.isArray(constructs)
33987 ? /* c8 ignore next 1 */
33988 handleListOfConstructs(constructs)
33989 : 'tokenize' in constructs
33990 ? // @ts-expect-error Looks like a construct.
33991 handleListOfConstructs([constructs])
33992 : handleMapOfConstructs(constructs)
33993
33994 /**
33995 * Handle a list of construct.
33996 *
33997 * @param {ConstructRecord} map
33998 * @returns {State}
33999 */
34000 function handleMapOfConstructs(map) {
34001 return start
34002
34003 /** @type {State} */
34004 function start(code) {
34005 const def = code !== null && map[code]
34006 const all = code !== null && map.null
34007 const list = [
34008 // To do: add more extension tests.
34009 /* c8 ignore next 2 */
34010 ...(Array.isArray(def) ? def : def ? [def] : []),
34011 ...(Array.isArray(all) ? all : all ? [all] : [])
34012 ]
34013
34014 return handleListOfConstructs(list)(code)
34015 }
34016 }
34017
34018 /**
34019 * Handle a list of construct.
34020 *
34021 * @param {Array<Construct>} list
34022 * @returns {State}
34023 */
34024 function handleListOfConstructs(list) {
34025 listOfConstructs = list
34026 constructIndex = 0
34027
34028 if (list.length === 0) {
34029 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_1__.ok)(bogusState, 'expected `bogusState` to be given')
34030 return bogusState
34031 }
34032
34033 return handleConstruct(list[constructIndex])
34034 }
34035
34036 /**
34037 * Handle a single construct.
34038 *
34039 * @param {Construct} construct
34040 * @returns {State}
34041 */
34042 function handleConstruct(construct) {
34043 return start
34044
34045 /** @type {State} */
34046 function start(code) {
34047 // To do: not needed to store if there is no bogus state, probably?
34048 // Currently doesn’t work because `inspect` in document does a check
34049 // w/o a bogus, which doesn’t make sense. But it does seem to help perf
34050 // by not storing.
34051 info = store()
34052 currentConstruct = construct
34053
34054 if (!construct.partial) {
34055 context.currentConstruct = construct
34056 }
34057
34058 // Always populated by defaults.
34059 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_1__.ok)(
34060 context.parser.constructs.disable.null,
34061 'expected `disable.null` to be populated'
34062 )
34063
34064 if (
34065 construct.name &&
34066 context.parser.constructs.disable.null.includes(construct.name)
34067 ) {
34068 return nok(code)
34069 }
34070
34071 return construct.tokenize.call(
34072 // If we do have fields, create an object w/ `context` as its
34073 // prototype.
34074 // This allows a “live binding”, which is needed for `interrupt`.
34075 fields ? Object.assign(Object.create(context), fields) : context,
34076 effects,
34077 ok,
34078 nok
34079 )(code)
34080 }
34081 }
34082
34083 /** @type {State} */
34084 function ok(code) {
34085 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_1__.ok)(code === expectedCode, 'expected code')
34086 consumed = true
34087 onreturn(currentConstruct, info)
34088 return returnState
34089 }
34090
34091 /** @type {State} */
34092 function nok(code) {
34093 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_1__.ok)(code === expectedCode, 'expected code')
34094 consumed = true
34095 info.restore()
34096
34097 if (++constructIndex < listOfConstructs.length) {
34098 return handleConstruct(listOfConstructs[constructIndex])
34099 }
34100
34101 return bogusState
34102 }
34103 }
34104 }
34105
34106 /**
34107 * @param {Construct} construct
34108 * @param {number} from
34109 * @returns {void}
34110 */
34111 function addResult(construct, from) {
34112 if (construct.resolveAll && !resolveAllConstructs.includes(construct)) {
34113 resolveAllConstructs.push(construct)
34114 }
34115
34116 if (construct.resolve) {
34117 (0,micromark_util_chunked__WEBPACK_IMPORTED_MODULE_3__.splice)(
34118 context.events,
34119 from,
34120 context.events.length - from,
34121 construct.resolve(context.events.slice(from), context)
34122 )
34123 }
34124
34125 if (construct.resolveTo) {
34126 context.events = construct.resolveTo(context.events, context)
34127 }
34128
34129 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_1__.ok)(
34130 construct.partial ||
34131 context.events.length === 0 ||
34132 context.events[context.events.length - 1][0] === 'exit',
34133 'expected last token to end'
34134 )
34135 }
34136
34137 /**
34138 * Store state.
34139 *
34140 * @returns {Info}
34141 */
34142 function store() {
34143 const startPoint = now()
34144 const startPrevious = context.previous
34145 const startCurrentConstruct = context.currentConstruct
34146 const startEventsIndex = context.events.length
34147 const startStack = Array.from(stack)
34148
34149 return {restore, from: startEventsIndex}
34150
34151 /**
34152 * Restore state.
34153 *
34154 * @returns {void}
34155 */
34156 function restore() {
34157 point = startPoint
34158 context.previous = startPrevious
34159 context.currentConstruct = startCurrentConstruct
34160 context.events.length = startEventsIndex
34161 stack = startStack
34162 accountForPotentialSkip()
34163 debug('position: restore: `%j`', point)
34164 }
34165 }
34166
34167 /**
34168 * Move the current point a bit forward in the line when it’s on a column
34169 * skip.
34170 *
34171 * @returns {void}
34172 */
34173 function accountForPotentialSkip() {
34174 if (point.line in columnStart && point.column < 2) {
34175 point.column = columnStart[point.line]
34176 point.offset += columnStart[point.line] - 1
34177 }
34178 }
34179 }
34180
34181 /**
34182 * Get the chunks from a slice of chunks in the range of a token.
34183 *
34184 * @param {Array<Chunk>} chunks
34185 * @param {Pick<Token, 'end' | 'start'>} token
34186 * @returns {Array<Chunk>}
34187 */
34188 function sliceChunks(chunks, token) {
34189 const startIndex = token.start._index
34190 const startBufferIndex = token.start._bufferIndex
34191 const endIndex = token.end._index
34192 const endBufferIndex = token.end._bufferIndex
34193 /** @type {Array<Chunk>} */
34194 let view
34195
34196 if (startIndex === endIndex) {
34197 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_1__.ok)(endBufferIndex > -1, 'expected non-negative end buffer index')
34198 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_1__.ok)(startBufferIndex > -1, 'expected non-negative start buffer index')
34199 // @ts-expect-error `_bufferIndex` is used on string chunks.
34200 view = [chunks[startIndex].slice(startBufferIndex, endBufferIndex)]
34201 } else {
34202 view = chunks.slice(startIndex, endIndex)
34203
34204 if (startBufferIndex > -1) {
34205 const head = view[0]
34206 if (typeof head === 'string') {
34207 view[0] = head.slice(startBufferIndex)
34208 } else {
34209 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_1__.ok)(startBufferIndex === 0, 'expected `startBufferIndex` to be `0`')
34210 view.shift()
34211 }
34212 }
34213
34214 if (endBufferIndex > 0) {
34215 // @ts-expect-error `_bufferIndex` is used on string chunks.
34216 view.push(chunks[endIndex].slice(0, endBufferIndex))
34217 }
34218 }
34219
34220 return view
34221 }
34222
34223 /**
34224 * Get the string value of a slice of chunks.
34225 *
34226 * @param {Array<Chunk>} chunks
34227 * @param {boolean | undefined} [expandTabs=false]
34228 * @returns {string}
34229 */
34230 function serializeChunks(chunks, expandTabs) {
34231 let index = -1
34232 /** @type {Array<string>} */
34233 const result = []
34234 /** @type {boolean | undefined} */
34235 let atTab
34236
34237 while (++index < chunks.length) {
34238 const chunk = chunks[index]
34239 /** @type {string} */
34240 let value
34241
34242 if (typeof chunk === 'string') {
34243 value = chunk
34244 } else
34245 switch (chunk) {
34246 case micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.carriageReturn: {
34247 value = micromark_util_symbol_values_js__WEBPACK_IMPORTED_MODULE_6__.values.cr
34248
34249 break
34250 }
34251
34252 case micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.lineFeed: {
34253 value = micromark_util_symbol_values_js__WEBPACK_IMPORTED_MODULE_6__.values.lf
34254
34255 break
34256 }
34257
34258 case micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.carriageReturnLineFeed: {
34259 value = micromark_util_symbol_values_js__WEBPACK_IMPORTED_MODULE_6__.values.cr + micromark_util_symbol_values_js__WEBPACK_IMPORTED_MODULE_6__.values.lf
34260
34261 break
34262 }
34263
34264 case micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.horizontalTab: {
34265 value = expandTabs ? micromark_util_symbol_values_js__WEBPACK_IMPORTED_MODULE_6__.values.space : micromark_util_symbol_values_js__WEBPACK_IMPORTED_MODULE_6__.values.ht
34266
34267 break
34268 }
34269
34270 case micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.virtualSpace: {
34271 if (!expandTabs && atTab) continue
34272 value = micromark_util_symbol_values_js__WEBPACK_IMPORTED_MODULE_6__.values.space
34273
34274 break
34275 }
34276
34277 default: {
34278 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_1__.ok)(typeof chunk === 'number', 'expected number')
34279 // Currently only replacement character.
34280 value = String.fromCharCode(chunk)
34281 }
34282 }
34283
34284 atTab = chunk === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.horizontalTab
34285 result.push(value)
34286 }
34287
34288 return result.join('')
34289 }
34290
34291
34292 /***/ }),
34293
34294 /***/ "../node_modules/micromark/dev/lib/initialize/content.js":
34295 /*!***************************************************************!*\
34296 !*** ../node_modules/micromark/dev/lib/initialize/content.js ***!
34297 \***************************************************************/
34298 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
34299
34300 "use strict";
34301 __webpack_require__.r(__webpack_exports__);
34302 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
34303 /* harmony export */ content: () => (/* binding */ content)
34304 /* harmony export */ });
34305 /* harmony import */ var micromark_factory_space__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! micromark-factory-space */ "../node_modules/micromark-factory-space/dev/index.js");
34306 /* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! micromark-util-character */ "../node_modules/micromark-util-character/dev/index.js");
34307 /* harmony import */ var micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-util-symbol/codes.js */ "../node_modules/micromark-util-symbol/codes.js");
34308 /* harmony import */ var micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! micromark-util-symbol/constants.js */ "../node_modules/micromark-util-symbol/constants.js");
34309 /* harmony import */ var micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! micromark-util-symbol/types.js */ "../node_modules/micromark-util-symbol/types.js");
34310 /* harmony import */ var uvu_assert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uvu/assert */ "../node_modules/uvu/assert/index.mjs");
34311 /**
34312 * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct
34313 * @typedef {import('micromark-util-types').Initializer} Initializer
34314 * @typedef {import('micromark-util-types').State} State
34315 * @typedef {import('micromark-util-types').Token} Token
34316 * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext
34317 */
34318
34319
34320
34321
34322
34323
34324
34325
34326 /** @type {InitialConstruct} */
34327 const content = {tokenize: initializeContent}
34328
34329 /**
34330 * @this {TokenizeContext}
34331 * @type {Initializer}
34332 */
34333 function initializeContent(effects) {
34334 const contentStart = effects.attempt(
34335 this.parser.constructs.contentInitial,
34336 afterContentStartConstruct,
34337 paragraphInitial
34338 )
34339 /** @type {Token} */
34340 let previous
34341
34342 return contentStart
34343
34344 /** @type {State} */
34345 function afterContentStartConstruct(code) {
34346 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(
34347 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.eof || (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_2__.markdownLineEnding)(code),
34348 'expected eol or eof'
34349 )
34350
34351 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.eof) {
34352 effects.consume(code)
34353 return
34354 }
34355
34356 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_3__.types.lineEnding)
34357 effects.consume(code)
34358 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_3__.types.lineEnding)
34359 return (0,micromark_factory_space__WEBPACK_IMPORTED_MODULE_4__.factorySpace)(effects, contentStart, micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_3__.types.linePrefix)
34360 }
34361
34362 /** @type {State} */
34363 function paragraphInitial(code) {
34364 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(
34365 code !== micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.eof && !(0,micromark_util_character__WEBPACK_IMPORTED_MODULE_2__.markdownLineEnding)(code),
34366 'expected anything other than a line ending or EOF'
34367 )
34368 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_3__.types.paragraph)
34369 return lineStart(code)
34370 }
34371
34372 /** @type {State} */
34373 function lineStart(code) {
34374 const token = effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_3__.types.chunkText, {
34375 contentType: micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_5__.constants.contentTypeText,
34376 previous
34377 })
34378
34379 if (previous) {
34380 previous.next = token
34381 }
34382
34383 previous = token
34384
34385 return data(code)
34386 }
34387
34388 /** @type {State} */
34389 function data(code) {
34390 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.eof) {
34391 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_3__.types.chunkText)
34392 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_3__.types.paragraph)
34393 effects.consume(code)
34394 return
34395 }
34396
34397 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_2__.markdownLineEnding)(code)) {
34398 effects.consume(code)
34399 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_3__.types.chunkText)
34400 return lineStart
34401 }
34402
34403 // Data.
34404 effects.consume(code)
34405 return data
34406 }
34407 }
34408
34409
34410 /***/ }),
34411
34412 /***/ "../node_modules/micromark/dev/lib/initialize/document.js":
34413 /*!****************************************************************!*\
34414 !*** ../node_modules/micromark/dev/lib/initialize/document.js ***!
34415 \****************************************************************/
34416 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
34417
34418 "use strict";
34419 __webpack_require__.r(__webpack_exports__);
34420 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
34421 /* harmony export */ document: () => (/* binding */ document)
34422 /* harmony export */ });
34423 /* harmony import */ var micromark_factory_space__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! micromark-factory-space */ "../node_modules/micromark-factory-space/dev/index.js");
34424 /* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! micromark-util-character */ "../node_modules/micromark-util-character/dev/index.js");
34425 /* harmony import */ var micromark_util_chunked__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! micromark-util-chunked */ "../node_modules/micromark-util-chunked/dev/index.js");
34426 /* harmony import */ var micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! micromark-util-symbol/codes.js */ "../node_modules/micromark-util-symbol/codes.js");
34427 /* harmony import */ var micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! micromark-util-symbol/constants.js */ "../node_modules/micromark-util-symbol/constants.js");
34428 /* harmony import */ var micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-util-symbol/types.js */ "../node_modules/micromark-util-symbol/types.js");
34429 /* harmony import */ var uvu_assert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uvu/assert */ "../node_modules/uvu/assert/index.mjs");
34430 /**
34431 * @typedef {import('micromark-util-types').Construct} Construct
34432 * @typedef {import('micromark-util-types').ContainerState} ContainerState
34433 * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct
34434 * @typedef {import('micromark-util-types').Initializer} Initializer
34435 * @typedef {import('micromark-util-types').Point} Point
34436 * @typedef {import('micromark-util-types').State} State
34437 * @typedef {import('micromark-util-types').Token} Token
34438 * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext
34439 * @typedef {import('micromark-util-types').Tokenizer} Tokenizer
34440 */
34441
34442 /**
34443 * @typedef {[Construct, ContainerState]} StackItem
34444 */
34445
34446
34447
34448
34449
34450
34451
34452
34453
34454 /** @type {InitialConstruct} */
34455 const document = {tokenize: initializeDocument}
34456
34457 /** @type {Construct} */
34458 const containerConstruct = {tokenize: tokenizeContainer}
34459
34460 /**
34461 * @this {TokenizeContext}
34462 * @type {Initializer}
34463 */
34464 function initializeDocument(effects) {
34465 const self = this
34466 /** @type {Array<StackItem>} */
34467 const stack = []
34468 let continued = 0
34469 /** @type {TokenizeContext | undefined} */
34470 let childFlow
34471 /** @type {Token | undefined} */
34472 let childToken
34473 /** @type {number} */
34474 let lineStartOffset
34475
34476 return start
34477
34478 /** @type {State} */
34479 function start(code) {
34480 // First we iterate through the open blocks, starting with the root
34481 // document, and descending through last children down to the last open
34482 // block.
34483 // Each block imposes a condition that the line must satisfy if the block is
34484 // to remain open.
34485 // For example, a block quote requires a `>` character.
34486 // A paragraph requires a non-blank line.
34487 // In this phase we may match all or just some of the open blocks.
34488 // But we cannot close unmatched blocks yet, because we may have a lazy
34489 // continuation line.
34490 if (continued < stack.length) {
34491 const item = stack[continued]
34492 self.containerState = item[1]
34493 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(
34494 item[0].continuation,
34495 'expected `continuation` to be defined on container construct'
34496 )
34497 return effects.attempt(
34498 item[0].continuation,
34499 documentContinue,
34500 checkNewContainers
34501 )(code)
34502 }
34503
34504 // Done.
34505 return checkNewContainers(code)
34506 }
34507
34508 /** @type {State} */
34509 function documentContinue(code) {
34510 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(
34511 self.containerState,
34512 'expected `containerState` to be defined after continuation'
34513 )
34514
34515 continued++
34516
34517 // Note: this field is called `_closeFlow` but it also closes containers.
34518 // Perhaps a good idea to rename it but it’s already used in the wild by
34519 // extensions.
34520 if (self.containerState._closeFlow) {
34521 self.containerState._closeFlow = undefined
34522
34523 if (childFlow) {
34524 closeFlow()
34525 }
34526
34527 // Note: this algorithm for moving events around is similar to the
34528 // algorithm when dealing with lazy lines in `writeToChild`.
34529 const indexBeforeExits = self.events.length
34530 let indexBeforeFlow = indexBeforeExits
34531 /** @type {Point | undefined} */
34532 let point
34533
34534 // Find the flow chunk.
34535 while (indexBeforeFlow--) {
34536 if (
34537 self.events[indexBeforeFlow][0] === 'exit' &&
34538 self.events[indexBeforeFlow][1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.chunkFlow
34539 ) {
34540 point = self.events[indexBeforeFlow][1].end
34541 break
34542 }
34543 }
34544
34545 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(point, 'could not find previous flow chunk')
34546
34547 exitContainers(continued)
34548
34549 // Fix positions.
34550 let index = indexBeforeExits
34551
34552 while (index < self.events.length) {
34553 self.events[index][1].end = Object.assign({}, point)
34554 index++
34555 }
34556
34557 // Inject the exits earlier (they’re still also at the end).
34558 (0,micromark_util_chunked__WEBPACK_IMPORTED_MODULE_2__.splice)(
34559 self.events,
34560 indexBeforeFlow + 1,
34561 0,
34562 self.events.slice(indexBeforeExits)
34563 )
34564
34565 // Discard the duplicate exits.
34566 self.events.length = index
34567
34568 return checkNewContainers(code)
34569 }
34570
34571 return start(code)
34572 }
34573
34574 /** @type {State} */
34575 function checkNewContainers(code) {
34576 // Next, after consuming the continuation markers for existing blocks, we
34577 // look for new block starts (e.g. `>` for a block quote).
34578 // If we encounter a new block start, we close any blocks unmatched in
34579 // step 1 before creating the new block as a child of the last matched
34580 // block.
34581 if (continued === stack.length) {
34582 // No need to `check` whether there’s a container, of `exitContainers`
34583 // would be moot.
34584 // We can instead immediately `attempt` to parse one.
34585 if (!childFlow) {
34586 return documentContinued(code)
34587 }
34588
34589 // If we have concrete content, such as block HTML or fenced code,
34590 // we can’t have containers “pierce” into them, so we can immediately
34591 // start.
34592 if (childFlow.currentConstruct && childFlow.currentConstruct.concrete) {
34593 return flowStart(code)
34594 }
34595
34596 // If we do have flow, it could still be a blank line,
34597 // but we’d be interrupting it w/ a new container if there’s a current
34598 // construct.
34599 // To do: next major: remove `_gfmTableDynamicInterruptHack` (no longer
34600 // needed in micromark-extension-gfm-table@1.0.6).
34601 self.interrupt = Boolean(
34602 childFlow.currentConstruct && !childFlow._gfmTableDynamicInterruptHack
34603 )
34604 }
34605
34606 // Check if there is a new container.
34607 self.containerState = {}
34608 return effects.check(
34609 containerConstruct,
34610 thereIsANewContainer,
34611 thereIsNoNewContainer
34612 )(code)
34613 }
34614
34615 /** @type {State} */
34616 function thereIsANewContainer(code) {
34617 if (childFlow) closeFlow()
34618 exitContainers(continued)
34619 return documentContinued(code)
34620 }
34621
34622 /** @type {State} */
34623 function thereIsNoNewContainer(code) {
34624 self.parser.lazy[self.now().line] = continued !== stack.length
34625 lineStartOffset = self.now().offset
34626 return flowStart(code)
34627 }
34628
34629 /** @type {State} */
34630 function documentContinued(code) {
34631 // Try new containers.
34632 self.containerState = {}
34633 return effects.attempt(
34634 containerConstruct,
34635 containerContinue,
34636 flowStart
34637 )(code)
34638 }
34639
34640 /** @type {State} */
34641 function containerContinue(code) {
34642 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(
34643 self.currentConstruct,
34644 'expected `currentConstruct` to be defined on tokenizer'
34645 )
34646 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(
34647 self.containerState,
34648 'expected `containerState` to be defined on tokenizer'
34649 )
34650 continued++
34651 stack.push([self.currentConstruct, self.containerState])
34652 // Try another.
34653 return documentContinued(code)
34654 }
34655
34656 /** @type {State} */
34657 function flowStart(code) {
34658 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_3__.codes.eof) {
34659 if (childFlow) closeFlow()
34660 exitContainers(0)
34661 effects.consume(code)
34662 return
34663 }
34664
34665 childFlow = childFlow || self.parser.flow(self.now())
34666 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.chunkFlow, {
34667 contentType: micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_4__.constants.contentTypeFlow,
34668 previous: childToken,
34669 _tokenizer: childFlow
34670 })
34671
34672 return flowContinue(code)
34673 }
34674
34675 /** @type {State} */
34676 function flowContinue(code) {
34677 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_3__.codes.eof) {
34678 writeToChild(effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.chunkFlow), true)
34679 exitContainers(0)
34680 effects.consume(code)
34681 return
34682 }
34683
34684 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_5__.markdownLineEnding)(code)) {
34685 effects.consume(code)
34686 writeToChild(effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.chunkFlow))
34687 // Get ready for the next line.
34688 continued = 0
34689 self.interrupt = undefined
34690 return start
34691 }
34692
34693 effects.consume(code)
34694 return flowContinue
34695 }
34696
34697 /**
34698 * @param {Token} token
34699 * @param {boolean | undefined} [eof]
34700 * @returns {void}
34701 */
34702 function writeToChild(token, eof) {
34703 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(childFlow, 'expected `childFlow` to be defined when continuing')
34704 const stream = self.sliceStream(token)
34705 if (eof) stream.push(null)
34706 token.previous = childToken
34707 if (childToken) childToken.next = token
34708 childToken = token
34709 childFlow.defineSkip(token.start)
34710 childFlow.write(stream)
34711
34712 // Alright, so we just added a lazy line:
34713 //
34714 // ```markdown
34715 // > a
34716 // b.
34717 //
34718 // Or:
34719 //
34720 // > ~~~c
34721 // d
34722 //
34723 // Or:
34724 //
34725 // > | e |
34726 // f
34727 // ```
34728 //
34729 // The construct in the second example (fenced code) does not accept lazy
34730 // lines, so it marked itself as done at the end of its first line, and
34731 // then the content construct parses `d`.
34732 // Most constructs in markdown match on the first line: if the first line
34733 // forms a construct, a non-lazy line can’t “unmake” it.
34734 //
34735 // The construct in the third example is potentially a GFM table, and
34736 // those are *weird*.
34737 // It *could* be a table, from the first line, if the following line
34738 // matches a condition.
34739 // In this case, that second line is lazy, which “unmakes” the first line
34740 // and turns the whole into one content block.
34741 //
34742 // We’ve now parsed the non-lazy and the lazy line, and can figure out
34743 // whether the lazy line started a new flow block.
34744 // If it did, we exit the current containers between the two flow blocks.
34745 if (self.parser.lazy[token.start.line]) {
34746 let index = childFlow.events.length
34747
34748 while (index--) {
34749 if (
34750 // The token starts before the line ending…
34751 childFlow.events[index][1].start.offset < lineStartOffset &&
34752 // …and either is not ended yet…
34753 (!childFlow.events[index][1].end ||
34754 // …or ends after it.
34755 childFlow.events[index][1].end.offset > lineStartOffset)
34756 ) {
34757 // Exit: there’s still something open, which means it’s a lazy line
34758 // part of something.
34759 return
34760 }
34761 }
34762
34763 // Note: this algorithm for moving events around is similar to the
34764 // algorithm when closing flow in `documentContinue`.
34765 const indexBeforeExits = self.events.length
34766 let indexBeforeFlow = indexBeforeExits
34767 /** @type {boolean | undefined} */
34768 let seen
34769 /** @type {Point | undefined} */
34770 let point
34771
34772 // Find the previous chunk (the one before the lazy line).
34773 while (indexBeforeFlow--) {
34774 if (
34775 self.events[indexBeforeFlow][0] === 'exit' &&
34776 self.events[indexBeforeFlow][1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.chunkFlow
34777 ) {
34778 if (seen) {
34779 point = self.events[indexBeforeFlow][1].end
34780 break
34781 }
34782
34783 seen = true
34784 }
34785 }
34786
34787 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(point, 'could not find previous flow chunk')
34788
34789 exitContainers(continued)
34790
34791 // Fix positions.
34792 index = indexBeforeExits
34793
34794 while (index < self.events.length) {
34795 self.events[index][1].end = Object.assign({}, point)
34796 index++
34797 }
34798
34799 // Inject the exits earlier (they’re still also at the end).
34800 (0,micromark_util_chunked__WEBPACK_IMPORTED_MODULE_2__.splice)(
34801 self.events,
34802 indexBeforeFlow + 1,
34803 0,
34804 self.events.slice(indexBeforeExits)
34805 )
34806
34807 // Discard the duplicate exits.
34808 self.events.length = index
34809 }
34810 }
34811
34812 /**
34813 * @param {number} size
34814 * @returns {void}
34815 */
34816 function exitContainers(size) {
34817 let index = stack.length
34818
34819 // Exit open containers.
34820 while (index-- > size) {
34821 const entry = stack[index]
34822 self.containerState = entry[1]
34823 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(
34824 entry[0].exit,
34825 'expected `exit` to be defined on container construct'
34826 )
34827 entry[0].exit.call(self, effects)
34828 }
34829
34830 stack.length = size
34831 }
34832
34833 function closeFlow() {
34834 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(
34835 self.containerState,
34836 'expected `containerState` to be defined when closing flow'
34837 )
34838 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(childFlow, 'expected `childFlow` to be defined when closing it')
34839 childFlow.write([micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_3__.codes.eof])
34840 childToken = undefined
34841 childFlow = undefined
34842 self.containerState._closeFlow = undefined
34843 }
34844 }
34845
34846 /**
34847 * @this {TokenizeContext}
34848 * @type {Tokenizer}
34849 */
34850 function tokenizeContainer(effects, ok, nok) {
34851 // Always populated by defaults.
34852 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(
34853 this.parser.constructs.disable.null,
34854 'expected `disable.null` to be populated'
34855 )
34856 return (0,micromark_factory_space__WEBPACK_IMPORTED_MODULE_6__.factorySpace)(
34857 effects,
34858 effects.attempt(this.parser.constructs.document, ok, nok),
34859 micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.linePrefix,
34860 this.parser.constructs.disable.null.includes('codeIndented')
34861 ? undefined
34862 : micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_4__.constants.tabSize
34863 )
34864 }
34865
34866
34867 /***/ }),
34868
34869 /***/ "../node_modules/micromark/dev/lib/initialize/flow.js":
34870 /*!************************************************************!*\
34871 !*** ../node_modules/micromark/dev/lib/initialize/flow.js ***!
34872 \************************************************************/
34873 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
34874
34875 "use strict";
34876 __webpack_require__.r(__webpack_exports__);
34877 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
34878 /* harmony export */ flow: () => (/* binding */ flow)
34879 /* harmony export */ });
34880 /* harmony import */ var micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-core-commonmark */ "../node_modules/micromark-core-commonmark/dev/lib/blank-line.js");
34881 /* harmony import */ var micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! micromark-core-commonmark */ "../node_modules/micromark-core-commonmark/dev/lib/content.js");
34882 /* harmony import */ var micromark_factory_space__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! micromark-factory-space */ "../node_modules/micromark-factory-space/dev/index.js");
34883 /* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! micromark-util-character */ "../node_modules/micromark-util-character/dev/index.js");
34884 /* harmony import */ var micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! micromark-util-symbol/codes.js */ "../node_modules/micromark-util-symbol/codes.js");
34885 /* harmony import */ var micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! micromark-util-symbol/types.js */ "../node_modules/micromark-util-symbol/types.js");
34886 /* harmony import */ var uvu_assert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uvu/assert */ "../node_modules/uvu/assert/index.mjs");
34887 /**
34888 * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct
34889 * @typedef {import('micromark-util-types').Initializer} Initializer
34890 * @typedef {import('micromark-util-types').State} State
34891 * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext
34892 */
34893
34894
34895
34896
34897
34898
34899
34900
34901 /** @type {InitialConstruct} */
34902 const flow = {tokenize: initializeFlow}
34903
34904 /**
34905 * @this {TokenizeContext}
34906 * @type {Initializer}
34907 */
34908 function initializeFlow(effects) {
34909 const self = this
34910 const initial = effects.attempt(
34911 // Try to parse a blank line.
34912 micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_1__.blankLine,
34913 atBlankEnding,
34914 // Try to parse initial flow (essentially, only code).
34915 effects.attempt(
34916 this.parser.constructs.flowInitial,
34917 afterConstruct,
34918 (0,micromark_factory_space__WEBPACK_IMPORTED_MODULE_2__.factorySpace)(
34919 effects,
34920 effects.attempt(
34921 this.parser.constructs.flow,
34922 afterConstruct,
34923 effects.attempt(micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_3__.content, afterConstruct)
34924 ),
34925 micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.linePrefix
34926 )
34927 )
34928 )
34929
34930 return initial
34931
34932 /** @type {State} */
34933 function atBlankEnding(code) {
34934 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(
34935 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_5__.codes.eof || (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_6__.markdownLineEnding)(code),
34936 'expected eol or eof'
34937 )
34938
34939 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_5__.codes.eof) {
34940 effects.consume(code)
34941 return
34942 }
34943
34944 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.lineEndingBlank)
34945 effects.consume(code)
34946 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.lineEndingBlank)
34947 self.currentConstruct = undefined
34948 return initial
34949 }
34950
34951 /** @type {State} */
34952 function afterConstruct(code) {
34953 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(
34954 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_5__.codes.eof || (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_6__.markdownLineEnding)(code),
34955 'expected eol or eof'
34956 )
34957
34958 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_5__.codes.eof) {
34959 effects.consume(code)
34960 return
34961 }
34962
34963 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.lineEnding)
34964 effects.consume(code)
34965 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.lineEnding)
34966 self.currentConstruct = undefined
34967 return initial
34968 }
34969 }
34970
34971
34972 /***/ }),
34973
34974 /***/ "../node_modules/micromark/dev/lib/initialize/text.js":
34975 /*!************************************************************!*\
34976 !*** ../node_modules/micromark/dev/lib/initialize/text.js ***!
34977 \************************************************************/
34978 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
34979
34980 "use strict";
34981 __webpack_require__.r(__webpack_exports__);
34982 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
34983 /* harmony export */ resolver: () => (/* binding */ resolver),
34984 /* harmony export */ string: () => (/* binding */ string),
34985 /* harmony export */ text: () => (/* binding */ text)
34986 /* harmony export */ });
34987 /* harmony import */ var micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-util-symbol/codes.js */ "../node_modules/micromark-util-symbol/codes.js");
34988 /* harmony import */ var micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! micromark-util-symbol/constants.js */ "../node_modules/micromark-util-symbol/constants.js");
34989 /* harmony import */ var micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! micromark-util-symbol/types.js */ "../node_modules/micromark-util-symbol/types.js");
34990 /* harmony import */ var uvu_assert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uvu/assert */ "../node_modules/uvu/assert/index.mjs");
34991 /**
34992 * @typedef {import('micromark-util-types').Code} Code
34993 * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct
34994 * @typedef {import('micromark-util-types').Initializer} Initializer
34995 * @typedef {import('micromark-util-types').Resolver} Resolver
34996 * @typedef {import('micromark-util-types').State} State
34997 * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext
34998 */
34999
35000
35001
35002
35003
35004
35005 const resolver = {resolveAll: createResolver()}
35006 const string = initializeFactory('string')
35007 const text = initializeFactory('text')
35008
35009 /**
35010 * @param {'string' | 'text'} field
35011 * @returns {InitialConstruct}
35012 */
35013 function initializeFactory(field) {
35014 return {
35015 tokenize: initializeText,
35016 resolveAll: createResolver(
35017 field === 'text' ? resolveAllLineSuffixes : undefined
35018 )
35019 }
35020
35021 /**
35022 * @this {TokenizeContext}
35023 * @type {Initializer}
35024 */
35025 function initializeText(effects) {
35026 const self = this
35027 const constructs = this.parser.constructs[field]
35028 const text = effects.attempt(constructs, start, notText)
35029
35030 return start
35031
35032 /** @type {State} */
35033 function start(code) {
35034 return atBreak(code) ? text(code) : notText(code)
35035 }
35036
35037 /** @type {State} */
35038 function notText(code) {
35039 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.eof) {
35040 effects.consume(code)
35041 return
35042 }
35043
35044 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.data)
35045 effects.consume(code)
35046 return data
35047 }
35048
35049 /** @type {State} */
35050 function data(code) {
35051 if (atBreak(code)) {
35052 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.data)
35053 return text(code)
35054 }
35055
35056 // Data.
35057 effects.consume(code)
35058 return data
35059 }
35060
35061 /**
35062 * @param {Code} code
35063 * @returns {boolean}
35064 */
35065 function atBreak(code) {
35066 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.eof) {
35067 return true
35068 }
35069
35070 const list = constructs[code]
35071 let index = -1
35072
35073 if (list) {
35074 // Always populated by defaults.
35075 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(Array.isArray(list), 'expected `disable.null` to be populated')
35076
35077 while (++index < list.length) {
35078 const item = list[index]
35079 if (!item.previous || item.previous.call(self, self.previous)) {
35080 return true
35081 }
35082 }
35083 }
35084
35085 return false
35086 }
35087 }
35088 }
35089
35090 /**
35091 * @param {Resolver | undefined} [extraResolver]
35092 * @returns {Resolver}
35093 */
35094 function createResolver(extraResolver) {
35095 return resolveAllText
35096
35097 /** @type {Resolver} */
35098 function resolveAllText(events, context) {
35099 let index = -1
35100 /** @type {number | undefined} */
35101 let enter
35102
35103 // A rather boring computation (to merge adjacent `data` events) which
35104 // improves mm performance by 29%.
35105 while (++index <= events.length) {
35106 if (enter === undefined) {
35107 if (events[index] && events[index][1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.data) {
35108 enter = index
35109 index++
35110 }
35111 } else if (!events[index] || events[index][1].type !== micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.data) {
35112 // Don’t do anything if there is one data token.
35113 if (index !== enter + 2) {
35114 events[enter][1].end = events[index - 1][1].end
35115 events.splice(enter + 2, index - enter - 2)
35116 index = enter + 2
35117 }
35118
35119 enter = undefined
35120 }
35121 }
35122
35123 return extraResolver ? extraResolver(events, context) : events
35124 }
35125 }
35126
35127 /**
35128 * A rather ugly set of instructions which again looks at chunks in the input
35129 * stream.
35130 * The reason to do this here is that it is *much* faster to parse in reverse.
35131 * And that we can’t hook into `null` to split the line suffix before an EOF.
35132 * To do: figure out if we can make this into a clean utility, or even in core.
35133 * As it will be useful for GFMs literal autolink extension (and maybe even
35134 * tables?)
35135 *
35136 * @type {Resolver}
35137 */
35138 function resolveAllLineSuffixes(events, context) {
35139 let eventIndex = 0 // Skip first.
35140
35141 while (++eventIndex <= events.length) {
35142 if (
35143 (eventIndex === events.length ||
35144 events[eventIndex][1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.lineEnding) &&
35145 events[eventIndex - 1][1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.data
35146 ) {
35147 const data = events[eventIndex - 1][1]
35148 const chunks = context.sliceStream(data)
35149 let index = chunks.length
35150 let bufferIndex = -1
35151 let size = 0
35152 /** @type {boolean | undefined} */
35153 let tabs
35154
35155 while (index--) {
35156 const chunk = chunks[index]
35157
35158 if (typeof chunk === 'string') {
35159 bufferIndex = chunk.length
35160
35161 while (chunk.charCodeAt(bufferIndex - 1) === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.space) {
35162 size++
35163 bufferIndex--
35164 }
35165
35166 if (bufferIndex) break
35167 bufferIndex = -1
35168 }
35169 // Number
35170 else if (chunk === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.horizontalTab) {
35171 tabs = true
35172 size++
35173 } else if (chunk === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.virtualSpace) {
35174 // Empty
35175 } else {
35176 // Replacement character, exit.
35177 index++
35178 break
35179 }
35180 }
35181
35182 if (size) {
35183 const token = {
35184 type:
35185 eventIndex === events.length ||
35186 tabs ||
35187 size < micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_3__.constants.hardBreakPrefixSizeMin
35188 ? micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.lineSuffix
35189 : micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.hardBreakTrailing,
35190 start: {
35191 line: data.end.line,
35192 column: data.end.column - size,
35193 offset: data.end.offset - size,
35194 _index: data.start._index + index,
35195 _bufferIndex: index
35196 ? bufferIndex
35197 : data.start._bufferIndex + bufferIndex
35198 },
35199 end: Object.assign({}, data.end)
35200 }
35201
35202 data.end = Object.assign({}, token.start)
35203
35204 if (data.start.offset === data.end.offset) {
35205 Object.assign(data, token)
35206 } else {
35207 events.splice(
35208 eventIndex,
35209 0,
35210 ['enter', token, context],
35211 ['exit', token, context]
35212 )
35213 eventIndex += 2
35214 }
35215 }
35216
35217 eventIndex++
35218 }
35219 }
35220
35221 return events
35222 }
35223
35224
35225 /***/ }),
35226
35227 /***/ "../node_modules/micromark/dev/lib/parse.js":
35228 /*!**************************************************!*\
35229 !*** ../node_modules/micromark/dev/lib/parse.js ***!
35230 \**************************************************/
35231 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
35232
35233 "use strict";
35234 __webpack_require__.r(__webpack_exports__);
35235 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
35236 /* harmony export */ parse: () => (/* binding */ parse)
35237 /* harmony export */ });
35238 /* harmony import */ var micromark_util_combine_extensions__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-util-combine-extensions */ "../node_modules/micromark-util-combine-extensions/index.js");
35239 /* harmony import */ var _initialize_content_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./initialize/content.js */ "../node_modules/micromark/dev/lib/initialize/content.js");
35240 /* harmony import */ var _initialize_document_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./initialize/document.js */ "../node_modules/micromark/dev/lib/initialize/document.js");
35241 /* harmony import */ var _initialize_flow_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./initialize/flow.js */ "../node_modules/micromark/dev/lib/initialize/flow.js");
35242 /* harmony import */ var _initialize_text_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./initialize/text.js */ "../node_modules/micromark/dev/lib/initialize/text.js");
35243 /* harmony import */ var _create_tokenizer_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./create-tokenizer.js */ "../node_modules/micromark/dev/lib/create-tokenizer.js");
35244 /* harmony import */ var _constructs_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constructs.js */ "../node_modules/micromark/dev/lib/constructs.js");
35245 /**
35246 * @typedef {import('micromark-util-types').Create} Create
35247 * @typedef {import('micromark-util-types').FullNormalizedExtension} FullNormalizedExtension
35248 * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct
35249 * @typedef {import('micromark-util-types').ParseContext} ParseContext
35250 * @typedef {import('micromark-util-types').ParseOptions} ParseOptions
35251 */
35252
35253
35254
35255
35256
35257
35258
35259
35260
35261 /**
35262 * @param {ParseOptions | null | undefined} [options]
35263 * @returns {ParseContext}
35264 */
35265 function parse(options) {
35266 const settings = options || {}
35267 const constructs = /** @type {FullNormalizedExtension} */ (
35268 (0,micromark_util_combine_extensions__WEBPACK_IMPORTED_MODULE_0__.combineExtensions)([_constructs_js__WEBPACK_IMPORTED_MODULE_1__, ...(settings.extensions || [])])
35269 )
35270
35271 /** @type {ParseContext} */
35272 const parser = {
35273 defined: [],
35274 lazy: {},
35275 constructs,
35276 content: create(_initialize_content_js__WEBPACK_IMPORTED_MODULE_2__.content),
35277 document: create(_initialize_document_js__WEBPACK_IMPORTED_MODULE_3__.document),
35278 flow: create(_initialize_flow_js__WEBPACK_IMPORTED_MODULE_4__.flow),
35279 string: create(_initialize_text_js__WEBPACK_IMPORTED_MODULE_5__.string),
35280 text: create(_initialize_text_js__WEBPACK_IMPORTED_MODULE_5__.text)
35281 }
35282
35283 return parser
35284
35285 /**
35286 * @param {InitialConstruct} initial
35287 */
35288 function create(initial) {
35289 return creator
35290 /** @type {Create} */
35291 function creator(from) {
35292 return (0,_create_tokenizer_js__WEBPACK_IMPORTED_MODULE_6__.createTokenizer)(parser, initial, from)
35293 }
35294 }
35295 }
35296
35297
35298 /***/ }),
35299
35300 /***/ "../node_modules/micromark/dev/lib/postprocess.js":
35301 /*!********************************************************!*\
35302 !*** ../node_modules/micromark/dev/lib/postprocess.js ***!
35303 \********************************************************/
35304 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
35305
35306 "use strict";
35307 __webpack_require__.r(__webpack_exports__);
35308 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
35309 /* harmony export */ postprocess: () => (/* binding */ postprocess)
35310 /* harmony export */ });
35311 /* harmony import */ var micromark_util_subtokenize__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-util-subtokenize */ "../node_modules/micromark-util-subtokenize/dev/index.js");
35312 /**
35313 * @typedef {import('micromark-util-types').Event} Event
35314 */
35315
35316
35317
35318 /**
35319 * @param {Array<Event>} events
35320 * @returns {Array<Event>}
35321 */
35322 function postprocess(events) {
35323 while (!(0,micromark_util_subtokenize__WEBPACK_IMPORTED_MODULE_0__.subtokenize)(events)) {
35324 // Empty
35325 }
35326
35327 return events
35328 }
35329
35330
35331 /***/ }),
35332
35333 /***/ "../node_modules/micromark/dev/lib/preprocess.js":
35334 /*!*******************************************************!*\
35335 !*** ../node_modules/micromark/dev/lib/preprocess.js ***!
35336 \*******************************************************/
35337 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
35338
35339 "use strict";
35340 __webpack_require__.r(__webpack_exports__);
35341 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
35342 /* harmony export */ preprocess: () => (/* binding */ preprocess)
35343 /* harmony export */ });
35344 /* harmony import */ var micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-util-symbol/codes.js */ "../node_modules/micromark-util-symbol/codes.js");
35345 /* harmony import */ var micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-util-symbol/constants.js */ "../node_modules/micromark-util-symbol/constants.js");
35346 /**
35347 * @typedef {import('micromark-util-types').Chunk} Chunk
35348 * @typedef {import('micromark-util-types').Code} Code
35349 * @typedef {import('micromark-util-types').Encoding} Encoding
35350 * @typedef {import('micromark-util-types').Value} Value
35351 */
35352
35353 /**
35354 * @callback Preprocessor
35355 * @param {Value} value
35356 * @param {Encoding | null | undefined} [encoding]
35357 * @param {boolean | null | undefined} [end=false]
35358 * @returns {Array<Chunk>}
35359 */
35360
35361
35362
35363
35364 const search = /[\0\t\n\r]/g
35365
35366 /**
35367 * @returns {Preprocessor}
35368 */
35369 function preprocess() {
35370 let column = 1
35371 let buffer = ''
35372 /** @type {boolean | undefined} */
35373 let start = true
35374 /** @type {boolean | undefined} */
35375 let atCarriageReturn
35376
35377 return preprocessor
35378
35379 /** @type {Preprocessor} */
35380 function preprocessor(value, encoding, end) {
35381 /** @type {Array<Chunk>} */
35382 const chunks = []
35383 /** @type {RegExpMatchArray | null} */
35384 let match
35385 /** @type {number} */
35386 let next
35387 /** @type {number} */
35388 let startPosition
35389 /** @type {number} */
35390 let endPosition
35391 /** @type {Code} */
35392 let code
35393
35394 // @ts-expect-error `Buffer` does allow an encoding.
35395 value = buffer + value.toString(encoding)
35396 startPosition = 0
35397 buffer = ''
35398
35399 if (start) {
35400 // To do: `markdown-rs` actually parses BOMs (byte order mark).
35401 if (value.charCodeAt(0) === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.byteOrderMarker) {
35402 startPosition++
35403 }
35404
35405 start = undefined
35406 }
35407
35408 while (startPosition < value.length) {
35409 search.lastIndex = startPosition
35410 match = search.exec(value)
35411 endPosition =
35412 match && match.index !== undefined ? match.index : value.length
35413 code = value.charCodeAt(endPosition)
35414
35415 if (!match) {
35416 buffer = value.slice(startPosition)
35417 break
35418 }
35419
35420 if (
35421 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.lf &&
35422 startPosition === endPosition &&
35423 atCarriageReturn
35424 ) {
35425 chunks.push(micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.carriageReturnLineFeed)
35426 atCarriageReturn = undefined
35427 } else {
35428 if (atCarriageReturn) {
35429 chunks.push(micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.carriageReturn)
35430 atCarriageReturn = undefined
35431 }
35432
35433 if (startPosition < endPosition) {
35434 chunks.push(value.slice(startPosition, endPosition))
35435 column += endPosition - startPosition
35436 }
35437
35438 switch (code) {
35439 case micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.nul: {
35440 chunks.push(micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.replacementCharacter)
35441 column++
35442
35443 break
35444 }
35445
35446 case micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.ht: {
35447 next = Math.ceil(column / micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_1__.constants.tabSize) * micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_1__.constants.tabSize
35448 chunks.push(micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.horizontalTab)
35449 while (column++ < next) chunks.push(micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.virtualSpace)
35450
35451 break
35452 }
35453
35454 case micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.lf: {
35455 chunks.push(micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.lineFeed)
35456 column = 1
35457
35458 break
35459 }
35460
35461 default: {
35462 atCarriageReturn = true
35463 column = 1
35464 }
35465 }
35466 }
35467
35468 startPosition = endPosition + 1
35469 }
35470
35471 if (end) {
35472 if (atCarriageReturn) chunks.push(micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.carriageReturn)
35473 if (buffer) chunks.push(buffer)
35474 chunks.push(micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.eof)
35475 }
35476
35477 return chunks
35478 }
35479 }
35480
35481
35482 /***/ }),
35483
35484 /***/ "../node_modules/property-information/index.js":
35485 /*!*****************************************************!*\
35486 !*** ../node_modules/property-information/index.js ***!
35487 \*****************************************************/
35488 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
35489
35490 "use strict";
35491 __webpack_require__.r(__webpack_exports__);
35492 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
35493 /* harmony export */ find: () => (/* reexport safe */ _lib_find_js__WEBPACK_IMPORTED_MODULE_0__.find),
35494 /* harmony export */ hastToReact: () => (/* reexport safe */ _lib_hast_to_react_js__WEBPACK_IMPORTED_MODULE_1__.hastToReact),
35495 /* harmony export */ html: () => (/* binding */ html),
35496 /* harmony export */ normalize: () => (/* reexport safe */ _lib_normalize_js__WEBPACK_IMPORTED_MODULE_2__.normalize),
35497 /* harmony export */ svg: () => (/* binding */ svg)
35498 /* harmony export */ });
35499 /* harmony import */ var _lib_util_merge_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./lib/util/merge.js */ "../node_modules/property-information/lib/util/merge.js");
35500 /* harmony import */ var _lib_xlink_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./lib/xlink.js */ "../node_modules/property-information/lib/xlink.js");
35501 /* harmony import */ var _lib_xml_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./lib/xml.js */ "../node_modules/property-information/lib/xml.js");
35502 /* harmony import */ var _lib_xmlns_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./lib/xmlns.js */ "../node_modules/property-information/lib/xmlns.js");
35503 /* harmony import */ var _lib_aria_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./lib/aria.js */ "../node_modules/property-information/lib/aria.js");
35504 /* harmony import */ var _lib_html_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./lib/html.js */ "../node_modules/property-information/lib/html.js");
35505 /* harmony import */ var _lib_svg_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./lib/svg.js */ "../node_modules/property-information/lib/svg.js");
35506 /* harmony import */ var _lib_find_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lib/find.js */ "../node_modules/property-information/lib/find.js");
35507 /* harmony import */ var _lib_hast_to_react_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./lib/hast-to-react.js */ "../node_modules/property-information/lib/hast-to-react.js");
35508 /* harmony import */ var _lib_normalize_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./lib/normalize.js */ "../node_modules/property-information/lib/normalize.js");
35509 /**
35510 * @typedef {import('./lib/util/info.js').Info} Info
35511 * @typedef {import('./lib/util/schema.js').Schema} Schema
35512 */
35513
35514
35515
35516
35517
35518
35519
35520
35521
35522
35523
35524
35525 const html = (0,_lib_util_merge_js__WEBPACK_IMPORTED_MODULE_3__.merge)([_lib_xml_js__WEBPACK_IMPORTED_MODULE_4__.xml, _lib_xlink_js__WEBPACK_IMPORTED_MODULE_5__.xlink, _lib_xmlns_js__WEBPACK_IMPORTED_MODULE_6__.xmlns, _lib_aria_js__WEBPACK_IMPORTED_MODULE_7__.aria, _lib_html_js__WEBPACK_IMPORTED_MODULE_8__.html], 'html')
35526 const svg = (0,_lib_util_merge_js__WEBPACK_IMPORTED_MODULE_3__.merge)([_lib_xml_js__WEBPACK_IMPORTED_MODULE_4__.xml, _lib_xlink_js__WEBPACK_IMPORTED_MODULE_5__.xlink, _lib_xmlns_js__WEBPACK_IMPORTED_MODULE_6__.xmlns, _lib_aria_js__WEBPACK_IMPORTED_MODULE_7__.aria, _lib_svg_js__WEBPACK_IMPORTED_MODULE_9__.svg], 'svg')
35527
35528
35529 /***/ }),
35530
35531 /***/ "../node_modules/property-information/lib/aria.js":
35532 /*!********************************************************!*\
35533 !*** ../node_modules/property-information/lib/aria.js ***!
35534 \********************************************************/
35535 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
35536
35537 "use strict";
35538 __webpack_require__.r(__webpack_exports__);
35539 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
35540 /* harmony export */ aria: () => (/* binding */ aria)
35541 /* harmony export */ });
35542 /* harmony import */ var _util_types_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./util/types.js */ "../node_modules/property-information/lib/util/types.js");
35543 /* harmony import */ var _util_create_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util/create.js */ "../node_modules/property-information/lib/util/create.js");
35544
35545
35546
35547 const aria = (0,_util_create_js__WEBPACK_IMPORTED_MODULE_0__.create)({
35548 transform(_, prop) {
35549 return prop === 'role' ? prop : 'aria-' + prop.slice(4).toLowerCase()
35550 },
35551 properties: {
35552 ariaActiveDescendant: null,
35553 ariaAtomic: _util_types_js__WEBPACK_IMPORTED_MODULE_1__.booleanish,
35554 ariaAutoComplete: null,
35555 ariaBusy: _util_types_js__WEBPACK_IMPORTED_MODULE_1__.booleanish,
35556 ariaChecked: _util_types_js__WEBPACK_IMPORTED_MODULE_1__.booleanish,
35557 ariaColCount: _util_types_js__WEBPACK_IMPORTED_MODULE_1__.number,
35558 ariaColIndex: _util_types_js__WEBPACK_IMPORTED_MODULE_1__.number,
35559 ariaColSpan: _util_types_js__WEBPACK_IMPORTED_MODULE_1__.number,
35560 ariaControls: _util_types_js__WEBPACK_IMPORTED_MODULE_1__.spaceSeparated,
35561 ariaCurrent: null,
35562 ariaDescribedBy: _util_types_js__WEBPACK_IMPORTED_MODULE_1__.spaceSeparated,
35563 ariaDetails: null,
35564 ariaDisabled: _util_types_js__WEBPACK_IMPORTED_MODULE_1__.booleanish,
35565 ariaDropEffect: _util_types_js__WEBPACK_IMPORTED_MODULE_1__.spaceSeparated,
35566 ariaErrorMessage: null,
35567 ariaExpanded: _util_types_js__WEBPACK_IMPORTED_MODULE_1__.booleanish,
35568 ariaFlowTo: _util_types_js__WEBPACK_IMPORTED_MODULE_1__.spaceSeparated,
35569 ariaGrabbed: _util_types_js__WEBPACK_IMPORTED_MODULE_1__.booleanish,
35570 ariaHasPopup: null,
35571 ariaHidden: _util_types_js__WEBPACK_IMPORTED_MODULE_1__.booleanish,
35572 ariaInvalid: null,
35573 ariaKeyShortcuts: null,
35574 ariaLabel: null,
35575 ariaLabelledBy: _util_types_js__WEBPACK_IMPORTED_MODULE_1__.spaceSeparated,
35576 ariaLevel: _util_types_js__WEBPACK_IMPORTED_MODULE_1__.number,
35577 ariaLive: null,
35578 ariaModal: _util_types_js__WEBPACK_IMPORTED_MODULE_1__.booleanish,
35579 ariaMultiLine: _util_types_js__WEBPACK_IMPORTED_MODULE_1__.booleanish,
35580 ariaMultiSelectable: _util_types_js__WEBPACK_IMPORTED_MODULE_1__.booleanish,
35581 ariaOrientation: null,
35582 ariaOwns: _util_types_js__WEBPACK_IMPORTED_MODULE_1__.spaceSeparated,
35583 ariaPlaceholder: null,
35584 ariaPosInSet: _util_types_js__WEBPACK_IMPORTED_MODULE_1__.number,
35585 ariaPressed: _util_types_js__WEBPACK_IMPORTED_MODULE_1__.booleanish,
35586 ariaReadOnly: _util_types_js__WEBPACK_IMPORTED_MODULE_1__.booleanish,
35587 ariaRelevant: null,
35588 ariaRequired: _util_types_js__WEBPACK_IMPORTED_MODULE_1__.booleanish,
35589 ariaRoleDescription: _util_types_js__WEBPACK_IMPORTED_MODULE_1__.spaceSeparated,
35590 ariaRowCount: _util_types_js__WEBPACK_IMPORTED_MODULE_1__.number,
35591 ariaRowIndex: _util_types_js__WEBPACK_IMPORTED_MODULE_1__.number,
35592 ariaRowSpan: _util_types_js__WEBPACK_IMPORTED_MODULE_1__.number,
35593 ariaSelected: _util_types_js__WEBPACK_IMPORTED_MODULE_1__.booleanish,
35594 ariaSetSize: _util_types_js__WEBPACK_IMPORTED_MODULE_1__.number,
35595 ariaSort: null,
35596 ariaValueMax: _util_types_js__WEBPACK_IMPORTED_MODULE_1__.number,
35597 ariaValueMin: _util_types_js__WEBPACK_IMPORTED_MODULE_1__.number,
35598 ariaValueNow: _util_types_js__WEBPACK_IMPORTED_MODULE_1__.number,
35599 ariaValueText: null,
35600 role: null
35601 }
35602 })
35603
35604
35605 /***/ }),
35606
35607 /***/ "../node_modules/property-information/lib/find.js":
35608 /*!********************************************************!*\
35609 !*** ../node_modules/property-information/lib/find.js ***!
35610 \********************************************************/
35611 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
35612
35613 "use strict";
35614 __webpack_require__.r(__webpack_exports__);
35615 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
35616 /* harmony export */ find: () => (/* binding */ find)
35617 /* harmony export */ });
35618 /* harmony import */ var _normalize_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./normalize.js */ "../node_modules/property-information/lib/normalize.js");
35619 /* harmony import */ var _util_defined_info_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./util/defined-info.js */ "../node_modules/property-information/lib/util/defined-info.js");
35620 /* harmony import */ var _util_info_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./util/info.js */ "../node_modules/property-information/lib/util/info.js");
35621 /**
35622 * @typedef {import('./util/schema.js').Schema} Schema
35623 */
35624
35625
35626
35627
35628
35629 const valid = /^data[-\w.:]+$/i
35630 const dash = /-[a-z]/g
35631 const cap = /[A-Z]/g
35632
35633 /**
35634 * @param {Schema} schema
35635 * @param {string} value
35636 * @returns {Info}
35637 */
35638 function find(schema, value) {
35639 const normal = (0,_normalize_js__WEBPACK_IMPORTED_MODULE_0__.normalize)(value)
35640 let prop = value
35641 let Type = _util_info_js__WEBPACK_IMPORTED_MODULE_1__.Info
35642
35643 if (normal in schema.normal) {
35644 return schema.property[schema.normal[normal]]
35645 }
35646
35647 if (normal.length > 4 && normal.slice(0, 4) === 'data' && valid.test(value)) {
35648 // Attribute or property.
35649 if (value.charAt(4) === '-') {
35650 // Turn it into a property.
35651 const rest = value.slice(5).replace(dash, camelcase)
35652 prop = 'data' + rest.charAt(0).toUpperCase() + rest.slice(1)
35653 } else {
35654 // Turn it into an attribute.
35655 const rest = value.slice(4)
35656
35657 if (!dash.test(rest)) {
35658 let dashes = rest.replace(cap, kebab)
35659
35660 if (dashes.charAt(0) !== '-') {
35661 dashes = '-' + dashes
35662 }
35663
35664 value = 'data' + dashes
35665 }
35666 }
35667
35668 Type = _util_defined_info_js__WEBPACK_IMPORTED_MODULE_2__.DefinedInfo
35669 }
35670
35671 return new Type(prop, value)
35672 }
35673
35674 /**
35675 * @param {string} $0
35676 * @returns {string}
35677 */
35678 function kebab($0) {
35679 return '-' + $0.toLowerCase()
35680 }
35681
35682 /**
35683 * @param {string} $0
35684 * @returns {string}
35685 */
35686 function camelcase($0) {
35687 return $0.charAt(1).toUpperCase()
35688 }
35689
35690
35691 /***/ }),
35692
35693 /***/ "../node_modules/property-information/lib/hast-to-react.js":
35694 /*!*****************************************************************!*\
35695 !*** ../node_modules/property-information/lib/hast-to-react.js ***!
35696 \*****************************************************************/
35697 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
35698
35699 "use strict";
35700 __webpack_require__.r(__webpack_exports__);
35701 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
35702 /* harmony export */ hastToReact: () => (/* binding */ hastToReact)
35703 /* harmony export */ });
35704 /**
35705 * `hast` is close to `React`, but differs in a couple of cases.
35706 *
35707 * To get a React property from a hast property, check if it is in
35708 * `hastToReact`, if it is, then use the corresponding value,
35709 * otherwise, use the hast property.
35710 *
35711 * @type {Record<string, string>}
35712 */
35713 const hastToReact = {
35714 classId: 'classID',
35715 dataType: 'datatype',
35716 itemId: 'itemID',
35717 strokeDashArray: 'strokeDasharray',
35718 strokeDashOffset: 'strokeDashoffset',
35719 strokeLineCap: 'strokeLinecap',
35720 strokeLineJoin: 'strokeLinejoin',
35721 strokeMiterLimit: 'strokeMiterlimit',
35722 typeOf: 'typeof',
35723 xLinkActuate: 'xlinkActuate',
35724 xLinkArcRole: 'xlinkArcrole',
35725 xLinkHref: 'xlinkHref',
35726 xLinkRole: 'xlinkRole',
35727 xLinkShow: 'xlinkShow',
35728 xLinkTitle: 'xlinkTitle',
35729 xLinkType: 'xlinkType',
35730 xmlnsXLink: 'xmlnsXlink'
35731 }
35732
35733
35734 /***/ }),
35735
35736 /***/ "../node_modules/property-information/lib/html.js":
35737 /*!********************************************************!*\
35738 !*** ../node_modules/property-information/lib/html.js ***!
35739 \********************************************************/
35740 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
35741
35742 "use strict";
35743 __webpack_require__.r(__webpack_exports__);
35744 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
35745 /* harmony export */ html: () => (/* binding */ html)
35746 /* harmony export */ });
35747 /* harmony import */ var _util_types_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./util/types.js */ "../node_modules/property-information/lib/util/types.js");
35748 /* harmony import */ var _util_create_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util/create.js */ "../node_modules/property-information/lib/util/create.js");
35749 /* harmony import */ var _util_case_insensitive_transform_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./util/case-insensitive-transform.js */ "../node_modules/property-information/lib/util/case-insensitive-transform.js");
35750
35751
35752
35753
35754 const html = (0,_util_create_js__WEBPACK_IMPORTED_MODULE_0__.create)({
35755 space: 'html',
35756 attributes: {
35757 acceptcharset: 'accept-charset',
35758 classname: 'class',
35759 htmlfor: 'for',
35760 httpequiv: 'http-equiv'
35761 },
35762 transform: _util_case_insensitive_transform_js__WEBPACK_IMPORTED_MODULE_1__.caseInsensitiveTransform,
35763 mustUseProperty: ['checked', 'multiple', 'muted', 'selected'],
35764 properties: {
35765 // Standard Properties.
35766 abbr: null,
35767 accept: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.commaSeparated,
35768 acceptCharset: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.spaceSeparated,
35769 accessKey: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.spaceSeparated,
35770 action: null,
35771 allow: null,
35772 allowFullScreen: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean,
35773 allowPaymentRequest: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean,
35774 allowUserMedia: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean,
35775 alt: null,
35776 as: null,
35777 async: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean,
35778 autoCapitalize: null,
35779 autoComplete: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.spaceSeparated,
35780 autoFocus: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean,
35781 autoPlay: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean,
35782 capture: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean,
35783 charSet: null,
35784 checked: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean,
35785 cite: null,
35786 className: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.spaceSeparated,
35787 cols: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
35788 colSpan: null,
35789 content: null,
35790 contentEditable: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.booleanish,
35791 controls: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean,
35792 controlsList: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.spaceSeparated,
35793 coords: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number | _util_types_js__WEBPACK_IMPORTED_MODULE_2__.commaSeparated,
35794 crossOrigin: null,
35795 data: null,
35796 dateTime: null,
35797 decoding: null,
35798 default: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean,
35799 defer: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean,
35800 dir: null,
35801 dirName: null,
35802 disabled: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean,
35803 download: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.overloadedBoolean,
35804 draggable: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.booleanish,
35805 encType: null,
35806 enterKeyHint: null,
35807 form: null,
35808 formAction: null,
35809 formEncType: null,
35810 formMethod: null,
35811 formNoValidate: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean,
35812 formTarget: null,
35813 headers: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.spaceSeparated,
35814 height: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
35815 hidden: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean,
35816 high: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
35817 href: null,
35818 hrefLang: null,
35819 htmlFor: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.spaceSeparated,
35820 httpEquiv: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.spaceSeparated,
35821 id: null,
35822 imageSizes: null,
35823 imageSrcSet: null,
35824 inputMode: null,
35825 integrity: null,
35826 is: null,
35827 isMap: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean,
35828 itemId: null,
35829 itemProp: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.spaceSeparated,
35830 itemRef: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.spaceSeparated,
35831 itemScope: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean,
35832 itemType: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.spaceSeparated,
35833 kind: null,
35834 label: null,
35835 lang: null,
35836 language: null,
35837 list: null,
35838 loading: null,
35839 loop: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean,
35840 low: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
35841 manifest: null,
35842 max: null,
35843 maxLength: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
35844 media: null,
35845 method: null,
35846 min: null,
35847 minLength: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
35848 multiple: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean,
35849 muted: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean,
35850 name: null,
35851 nonce: null,
35852 noModule: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean,
35853 noValidate: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean,
35854 onAbort: null,
35855 onAfterPrint: null,
35856 onAuxClick: null,
35857 onBeforeMatch: null,
35858 onBeforePrint: null,
35859 onBeforeUnload: null,
35860 onBlur: null,
35861 onCancel: null,
35862 onCanPlay: null,
35863 onCanPlayThrough: null,
35864 onChange: null,
35865 onClick: null,
35866 onClose: null,
35867 onContextLost: null,
35868 onContextMenu: null,
35869 onContextRestored: null,
35870 onCopy: null,
35871 onCueChange: null,
35872 onCut: null,
35873 onDblClick: null,
35874 onDrag: null,
35875 onDragEnd: null,
35876 onDragEnter: null,
35877 onDragExit: null,
35878 onDragLeave: null,
35879 onDragOver: null,
35880 onDragStart: null,
35881 onDrop: null,
35882 onDurationChange: null,
35883 onEmptied: null,
35884 onEnded: null,
35885 onError: null,
35886 onFocus: null,
35887 onFormData: null,
35888 onHashChange: null,
35889 onInput: null,
35890 onInvalid: null,
35891 onKeyDown: null,
35892 onKeyPress: null,
35893 onKeyUp: null,
35894 onLanguageChange: null,
35895 onLoad: null,
35896 onLoadedData: null,
35897 onLoadedMetadata: null,
35898 onLoadEnd: null,
35899 onLoadStart: null,
35900 onMessage: null,
35901 onMessageError: null,
35902 onMouseDown: null,
35903 onMouseEnter: null,
35904 onMouseLeave: null,
35905 onMouseMove: null,
35906 onMouseOut: null,
35907 onMouseOver: null,
35908 onMouseUp: null,
35909 onOffline: null,
35910 onOnline: null,
35911 onPageHide: null,
35912 onPageShow: null,
35913 onPaste: null,
35914 onPause: null,
35915 onPlay: null,
35916 onPlaying: null,
35917 onPopState: null,
35918 onProgress: null,
35919 onRateChange: null,
35920 onRejectionHandled: null,
35921 onReset: null,
35922 onResize: null,
35923 onScroll: null,
35924 onScrollEnd: null,
35925 onSecurityPolicyViolation: null,
35926 onSeeked: null,
35927 onSeeking: null,
35928 onSelect: null,
35929 onSlotChange: null,
35930 onStalled: null,
35931 onStorage: null,
35932 onSubmit: null,
35933 onSuspend: null,
35934 onTimeUpdate: null,
35935 onToggle: null,
35936 onUnhandledRejection: null,
35937 onUnload: null,
35938 onVolumeChange: null,
35939 onWaiting: null,
35940 onWheel: null,
35941 open: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean,
35942 optimum: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
35943 pattern: null,
35944 ping: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.spaceSeparated,
35945 placeholder: null,
35946 playsInline: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean,
35947 poster: null,
35948 preload: null,
35949 readOnly: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean,
35950 referrerPolicy: null,
35951 rel: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.spaceSeparated,
35952 required: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean,
35953 reversed: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean,
35954 rows: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
35955 rowSpan: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
35956 sandbox: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.spaceSeparated,
35957 scope: null,
35958 scoped: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean,
35959 seamless: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean,
35960 selected: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean,
35961 shape: null,
35962 size: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
35963 sizes: null,
35964 slot: null,
35965 span: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
35966 spellCheck: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.booleanish,
35967 src: null,
35968 srcDoc: null,
35969 srcLang: null,
35970 srcSet: null,
35971 start: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
35972 step: null,
35973 style: null,
35974 tabIndex: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
35975 target: null,
35976 title: null,
35977 translate: null,
35978 type: null,
35979 typeMustMatch: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean,
35980 useMap: null,
35981 value: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.booleanish,
35982 width: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
35983 wrap: null,
35984
35985 // Legacy.
35986 // See: https://html.spec.whatwg.org/#other-elements,-attributes-and-apis
35987 align: null, // Several. Use CSS `text-align` instead,
35988 aLink: null, // `<body>`. Use CSS `a:active {color}` instead
35989 archive: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.spaceSeparated, // `<object>`. List of URIs to archives
35990 axis: null, // `<td>` and `<th>`. Use `scope` on `<th>`
35991 background: null, // `<body>`. Use CSS `background-image` instead
35992 bgColor: null, // `<body>` and table elements. Use CSS `background-color` instead
35993 border: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number, // `<table>`. Use CSS `border-width` instead,
35994 borderColor: null, // `<table>`. Use CSS `border-color` instead,
35995 bottomMargin: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number, // `<body>`
35996 cellPadding: null, // `<table>`
35997 cellSpacing: null, // `<table>`
35998 char: null, // Several table elements. When `align=char`, sets the character to align on
35999 charOff: null, // Several table elements. When `char`, offsets the alignment
36000 classId: null, // `<object>`
36001 clear: null, // `<br>`. Use CSS `clear` instead
36002 code: null, // `<object>`
36003 codeBase: null, // `<object>`
36004 codeType: null, // `<object>`
36005 color: null, // `<font>` and `<hr>`. Use CSS instead
36006 compact: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean, // Lists. Use CSS to reduce space between items instead
36007 declare: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean, // `<object>`
36008 event: null, // `<script>`
36009 face: null, // `<font>`. Use CSS instead
36010 frame: null, // `<table>`
36011 frameBorder: null, // `<iframe>`. Use CSS `border` instead
36012 hSpace: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number, // `<img>` and `<object>`
36013 leftMargin: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number, // `<body>`
36014 link: null, // `<body>`. Use CSS `a:link {color: *}` instead
36015 longDesc: null, // `<frame>`, `<iframe>`, and `<img>`. Use an `<a>`
36016 lowSrc: null, // `<img>`. Use a `<picture>`
36017 marginHeight: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number, // `<body>`
36018 marginWidth: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number, // `<body>`
36019 noResize: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean, // `<frame>`
36020 noHref: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean, // `<area>`. Use no href instead of an explicit `nohref`
36021 noShade: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean, // `<hr>`. Use background-color and height instead of borders
36022 noWrap: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean, // `<td>` and `<th>`
36023 object: null, // `<applet>`
36024 profile: null, // `<head>`
36025 prompt: null, // `<isindex>`
36026 rev: null, // `<link>`
36027 rightMargin: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number, // `<body>`
36028 rules: null, // `<table>`
36029 scheme: null, // `<meta>`
36030 scrolling: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.booleanish, // `<frame>`. Use overflow in the child context
36031 standby: null, // `<object>`
36032 summary: null, // `<table>`
36033 text: null, // `<body>`. Use CSS `color` instead
36034 topMargin: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number, // `<body>`
36035 valueType: null, // `<param>`
36036 version: null, // `<html>`. Use a doctype.
36037 vAlign: null, // Several. Use CSS `vertical-align` instead
36038 vLink: null, // `<body>`. Use CSS `a:visited {color}` instead
36039 vSpace: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number, // `<img>` and `<object>`
36040
36041 // Non-standard Properties.
36042 allowTransparency: null,
36043 autoCorrect: null,
36044 autoSave: null,
36045 disablePictureInPicture: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean,
36046 disableRemotePlayback: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean,
36047 prefix: null,
36048 property: null,
36049 results: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36050 security: null,
36051 unselectable: null
36052 }
36053 })
36054
36055
36056 /***/ }),
36057
36058 /***/ "../node_modules/property-information/lib/normalize.js":
36059 /*!*************************************************************!*\
36060 !*** ../node_modules/property-information/lib/normalize.js ***!
36061 \*************************************************************/
36062 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
36063
36064 "use strict";
36065 __webpack_require__.r(__webpack_exports__);
36066 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
36067 /* harmony export */ normalize: () => (/* binding */ normalize)
36068 /* harmony export */ });
36069 /**
36070 * @param {string} value
36071 * @returns {string}
36072 */
36073 function normalize(value) {
36074 return value.toLowerCase()
36075 }
36076
36077
36078 /***/ }),
36079
36080 /***/ "../node_modules/property-information/lib/svg.js":
36081 /*!*******************************************************!*\
36082 !*** ../node_modules/property-information/lib/svg.js ***!
36083 \*******************************************************/
36084 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
36085
36086 "use strict";
36087 __webpack_require__.r(__webpack_exports__);
36088 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
36089 /* harmony export */ svg: () => (/* binding */ svg)
36090 /* harmony export */ });
36091 /* harmony import */ var _util_types_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./util/types.js */ "../node_modules/property-information/lib/util/types.js");
36092 /* harmony import */ var _util_create_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util/create.js */ "../node_modules/property-information/lib/util/create.js");
36093 /* harmony import */ var _util_case_sensitive_transform_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./util/case-sensitive-transform.js */ "../node_modules/property-information/lib/util/case-sensitive-transform.js");
36094
36095
36096
36097
36098 const svg = (0,_util_create_js__WEBPACK_IMPORTED_MODULE_0__.create)({
36099 space: 'svg',
36100 attributes: {
36101 accentHeight: 'accent-height',
36102 alignmentBaseline: 'alignment-baseline',
36103 arabicForm: 'arabic-form',
36104 baselineShift: 'baseline-shift',
36105 capHeight: 'cap-height',
36106 className: 'class',
36107 clipPath: 'clip-path',
36108 clipRule: 'clip-rule',
36109 colorInterpolation: 'color-interpolation',
36110 colorInterpolationFilters: 'color-interpolation-filters',
36111 colorProfile: 'color-profile',
36112 colorRendering: 'color-rendering',
36113 crossOrigin: 'crossorigin',
36114 dataType: 'datatype',
36115 dominantBaseline: 'dominant-baseline',
36116 enableBackground: 'enable-background',
36117 fillOpacity: 'fill-opacity',
36118 fillRule: 'fill-rule',
36119 floodColor: 'flood-color',
36120 floodOpacity: 'flood-opacity',
36121 fontFamily: 'font-family',
36122 fontSize: 'font-size',
36123 fontSizeAdjust: 'font-size-adjust',
36124 fontStretch: 'font-stretch',
36125 fontStyle: 'font-style',
36126 fontVariant: 'font-variant',
36127 fontWeight: 'font-weight',
36128 glyphName: 'glyph-name',
36129 glyphOrientationHorizontal: 'glyph-orientation-horizontal',
36130 glyphOrientationVertical: 'glyph-orientation-vertical',
36131 hrefLang: 'hreflang',
36132 horizAdvX: 'horiz-adv-x',
36133 horizOriginX: 'horiz-origin-x',
36134 horizOriginY: 'horiz-origin-y',
36135 imageRendering: 'image-rendering',
36136 letterSpacing: 'letter-spacing',
36137 lightingColor: 'lighting-color',
36138 markerEnd: 'marker-end',
36139 markerMid: 'marker-mid',
36140 markerStart: 'marker-start',
36141 navDown: 'nav-down',
36142 navDownLeft: 'nav-down-left',
36143 navDownRight: 'nav-down-right',
36144 navLeft: 'nav-left',
36145 navNext: 'nav-next',
36146 navPrev: 'nav-prev',
36147 navRight: 'nav-right',
36148 navUp: 'nav-up',
36149 navUpLeft: 'nav-up-left',
36150 navUpRight: 'nav-up-right',
36151 onAbort: 'onabort',
36152 onActivate: 'onactivate',
36153 onAfterPrint: 'onafterprint',
36154 onBeforePrint: 'onbeforeprint',
36155 onBegin: 'onbegin',
36156 onCancel: 'oncancel',
36157 onCanPlay: 'oncanplay',
36158 onCanPlayThrough: 'oncanplaythrough',
36159 onChange: 'onchange',
36160 onClick: 'onclick',
36161 onClose: 'onclose',
36162 onCopy: 'oncopy',
36163 onCueChange: 'oncuechange',
36164 onCut: 'oncut',
36165 onDblClick: 'ondblclick',
36166 onDrag: 'ondrag',
36167 onDragEnd: 'ondragend',
36168 onDragEnter: 'ondragenter',
36169 onDragExit: 'ondragexit',
36170 onDragLeave: 'ondragleave',
36171 onDragOver: 'ondragover',
36172 onDragStart: 'ondragstart',
36173 onDrop: 'ondrop',
36174 onDurationChange: 'ondurationchange',
36175 onEmptied: 'onemptied',
36176 onEnd: 'onend',
36177 onEnded: 'onended',
36178 onError: 'onerror',
36179 onFocus: 'onfocus',
36180 onFocusIn: 'onfocusin',
36181 onFocusOut: 'onfocusout',
36182 onHashChange: 'onhashchange',
36183 onInput: 'oninput',
36184 onInvalid: 'oninvalid',
36185 onKeyDown: 'onkeydown',
36186 onKeyPress: 'onkeypress',
36187 onKeyUp: 'onkeyup',
36188 onLoad: 'onload',
36189 onLoadedData: 'onloadeddata',
36190 onLoadedMetadata: 'onloadedmetadata',
36191 onLoadStart: 'onloadstart',
36192 onMessage: 'onmessage',
36193 onMouseDown: 'onmousedown',
36194 onMouseEnter: 'onmouseenter',
36195 onMouseLeave: 'onmouseleave',
36196 onMouseMove: 'onmousemove',
36197 onMouseOut: 'onmouseout',
36198 onMouseOver: 'onmouseover',
36199 onMouseUp: 'onmouseup',
36200 onMouseWheel: 'onmousewheel',
36201 onOffline: 'onoffline',
36202 onOnline: 'ononline',
36203 onPageHide: 'onpagehide',
36204 onPageShow: 'onpageshow',
36205 onPaste: 'onpaste',
36206 onPause: 'onpause',
36207 onPlay: 'onplay',
36208 onPlaying: 'onplaying',
36209 onPopState: 'onpopstate',
36210 onProgress: 'onprogress',
36211 onRateChange: 'onratechange',
36212 onRepeat: 'onrepeat',
36213 onReset: 'onreset',
36214 onResize: 'onresize',
36215 onScroll: 'onscroll',
36216 onSeeked: 'onseeked',
36217 onSeeking: 'onseeking',
36218 onSelect: 'onselect',
36219 onShow: 'onshow',
36220 onStalled: 'onstalled',
36221 onStorage: 'onstorage',
36222 onSubmit: 'onsubmit',
36223 onSuspend: 'onsuspend',
36224 onTimeUpdate: 'ontimeupdate',
36225 onToggle: 'ontoggle',
36226 onUnload: 'onunload',
36227 onVolumeChange: 'onvolumechange',
36228 onWaiting: 'onwaiting',
36229 onZoom: 'onzoom',
36230 overlinePosition: 'overline-position',
36231 overlineThickness: 'overline-thickness',
36232 paintOrder: 'paint-order',
36233 panose1: 'panose-1',
36234 pointerEvents: 'pointer-events',
36235 referrerPolicy: 'referrerpolicy',
36236 renderingIntent: 'rendering-intent',
36237 shapeRendering: 'shape-rendering',
36238 stopColor: 'stop-color',
36239 stopOpacity: 'stop-opacity',
36240 strikethroughPosition: 'strikethrough-position',
36241 strikethroughThickness: 'strikethrough-thickness',
36242 strokeDashArray: 'stroke-dasharray',
36243 strokeDashOffset: 'stroke-dashoffset',
36244 strokeLineCap: 'stroke-linecap',
36245 strokeLineJoin: 'stroke-linejoin',
36246 strokeMiterLimit: 'stroke-miterlimit',
36247 strokeOpacity: 'stroke-opacity',
36248 strokeWidth: 'stroke-width',
36249 tabIndex: 'tabindex',
36250 textAnchor: 'text-anchor',
36251 textDecoration: 'text-decoration',
36252 textRendering: 'text-rendering',
36253 typeOf: 'typeof',
36254 underlinePosition: 'underline-position',
36255 underlineThickness: 'underline-thickness',
36256 unicodeBidi: 'unicode-bidi',
36257 unicodeRange: 'unicode-range',
36258 unitsPerEm: 'units-per-em',
36259 vAlphabetic: 'v-alphabetic',
36260 vHanging: 'v-hanging',
36261 vIdeographic: 'v-ideographic',
36262 vMathematical: 'v-mathematical',
36263 vectorEffect: 'vector-effect',
36264 vertAdvY: 'vert-adv-y',
36265 vertOriginX: 'vert-origin-x',
36266 vertOriginY: 'vert-origin-y',
36267 wordSpacing: 'word-spacing',
36268 writingMode: 'writing-mode',
36269 xHeight: 'x-height',
36270 // These were camelcased in Tiny. Now lowercased in SVG 2
36271 playbackOrder: 'playbackorder',
36272 timelineBegin: 'timelinebegin'
36273 },
36274 transform: _util_case_sensitive_transform_js__WEBPACK_IMPORTED_MODULE_1__.caseSensitiveTransform,
36275 properties: {
36276 about: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.commaOrSpaceSeparated,
36277 accentHeight: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36278 accumulate: null,
36279 additive: null,
36280 alignmentBaseline: null,
36281 alphabetic: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36282 amplitude: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36283 arabicForm: null,
36284 ascent: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36285 attributeName: null,
36286 attributeType: null,
36287 azimuth: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36288 bandwidth: null,
36289 baselineShift: null,
36290 baseFrequency: null,
36291 baseProfile: null,
36292 bbox: null,
36293 begin: null,
36294 bias: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36295 by: null,
36296 calcMode: null,
36297 capHeight: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36298 className: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.spaceSeparated,
36299 clip: null,
36300 clipPath: null,
36301 clipPathUnits: null,
36302 clipRule: null,
36303 color: null,
36304 colorInterpolation: null,
36305 colorInterpolationFilters: null,
36306 colorProfile: null,
36307 colorRendering: null,
36308 content: null,
36309 contentScriptType: null,
36310 contentStyleType: null,
36311 crossOrigin: null,
36312 cursor: null,
36313 cx: null,
36314 cy: null,
36315 d: null,
36316 dataType: null,
36317 defaultAction: null,
36318 descent: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36319 diffuseConstant: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36320 direction: null,
36321 display: null,
36322 dur: null,
36323 divisor: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36324 dominantBaseline: null,
36325 download: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean,
36326 dx: null,
36327 dy: null,
36328 edgeMode: null,
36329 editable: null,
36330 elevation: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36331 enableBackground: null,
36332 end: null,
36333 event: null,
36334 exponent: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36335 externalResourcesRequired: null,
36336 fill: null,
36337 fillOpacity: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36338 fillRule: null,
36339 filter: null,
36340 filterRes: null,
36341 filterUnits: null,
36342 floodColor: null,
36343 floodOpacity: null,
36344 focusable: null,
36345 focusHighlight: null,
36346 fontFamily: null,
36347 fontSize: null,
36348 fontSizeAdjust: null,
36349 fontStretch: null,
36350 fontStyle: null,
36351 fontVariant: null,
36352 fontWeight: null,
36353 format: null,
36354 fr: null,
36355 from: null,
36356 fx: null,
36357 fy: null,
36358 g1: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.commaSeparated,
36359 g2: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.commaSeparated,
36360 glyphName: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.commaSeparated,
36361 glyphOrientationHorizontal: null,
36362 glyphOrientationVertical: null,
36363 glyphRef: null,
36364 gradientTransform: null,
36365 gradientUnits: null,
36366 handler: null,
36367 hanging: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36368 hatchContentUnits: null,
36369 hatchUnits: null,
36370 height: null,
36371 href: null,
36372 hrefLang: null,
36373 horizAdvX: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36374 horizOriginX: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36375 horizOriginY: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36376 id: null,
36377 ideographic: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36378 imageRendering: null,
36379 initialVisibility: null,
36380 in: null,
36381 in2: null,
36382 intercept: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36383 k: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36384 k1: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36385 k2: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36386 k3: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36387 k4: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36388 kernelMatrix: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.commaOrSpaceSeparated,
36389 kernelUnitLength: null,
36390 keyPoints: null, // SEMI_COLON_SEPARATED
36391 keySplines: null, // SEMI_COLON_SEPARATED
36392 keyTimes: null, // SEMI_COLON_SEPARATED
36393 kerning: null,
36394 lang: null,
36395 lengthAdjust: null,
36396 letterSpacing: null,
36397 lightingColor: null,
36398 limitingConeAngle: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36399 local: null,
36400 markerEnd: null,
36401 markerMid: null,
36402 markerStart: null,
36403 markerHeight: null,
36404 markerUnits: null,
36405 markerWidth: null,
36406 mask: null,
36407 maskContentUnits: null,
36408 maskUnits: null,
36409 mathematical: null,
36410 max: null,
36411 media: null,
36412 mediaCharacterEncoding: null,
36413 mediaContentEncodings: null,
36414 mediaSize: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36415 mediaTime: null,
36416 method: null,
36417 min: null,
36418 mode: null,
36419 name: null,
36420 navDown: null,
36421 navDownLeft: null,
36422 navDownRight: null,
36423 navLeft: null,
36424 navNext: null,
36425 navPrev: null,
36426 navRight: null,
36427 navUp: null,
36428 navUpLeft: null,
36429 navUpRight: null,
36430 numOctaves: null,
36431 observer: null,
36432 offset: null,
36433 onAbort: null,
36434 onActivate: null,
36435 onAfterPrint: null,
36436 onBeforePrint: null,
36437 onBegin: null,
36438 onCancel: null,
36439 onCanPlay: null,
36440 onCanPlayThrough: null,
36441 onChange: null,
36442 onClick: null,
36443 onClose: null,
36444 onCopy: null,
36445 onCueChange: null,
36446 onCut: null,
36447 onDblClick: null,
36448 onDrag: null,
36449 onDragEnd: null,
36450 onDragEnter: null,
36451 onDragExit: null,
36452 onDragLeave: null,
36453 onDragOver: null,
36454 onDragStart: null,
36455 onDrop: null,
36456 onDurationChange: null,
36457 onEmptied: null,
36458 onEnd: null,
36459 onEnded: null,
36460 onError: null,
36461 onFocus: null,
36462 onFocusIn: null,
36463 onFocusOut: null,
36464 onHashChange: null,
36465 onInput: null,
36466 onInvalid: null,
36467 onKeyDown: null,
36468 onKeyPress: null,
36469 onKeyUp: null,
36470 onLoad: null,
36471 onLoadedData: null,
36472 onLoadedMetadata: null,
36473 onLoadStart: null,
36474 onMessage: null,
36475 onMouseDown: null,
36476 onMouseEnter: null,
36477 onMouseLeave: null,
36478 onMouseMove: null,
36479 onMouseOut: null,
36480 onMouseOver: null,
36481 onMouseUp: null,
36482 onMouseWheel: null,
36483 onOffline: null,
36484 onOnline: null,
36485 onPageHide: null,
36486 onPageShow: null,
36487 onPaste: null,
36488 onPause: null,
36489 onPlay: null,
36490 onPlaying: null,
36491 onPopState: null,
36492 onProgress: null,
36493 onRateChange: null,
36494 onRepeat: null,
36495 onReset: null,
36496 onResize: null,
36497 onScroll: null,
36498 onSeeked: null,
36499 onSeeking: null,
36500 onSelect: null,
36501 onShow: null,
36502 onStalled: null,
36503 onStorage: null,
36504 onSubmit: null,
36505 onSuspend: null,
36506 onTimeUpdate: null,
36507 onToggle: null,
36508 onUnload: null,
36509 onVolumeChange: null,
36510 onWaiting: null,
36511 onZoom: null,
36512 opacity: null,
36513 operator: null,
36514 order: null,
36515 orient: null,
36516 orientation: null,
36517 origin: null,
36518 overflow: null,
36519 overlay: null,
36520 overlinePosition: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36521 overlineThickness: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36522 paintOrder: null,
36523 panose1: null,
36524 path: null,
36525 pathLength: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36526 patternContentUnits: null,
36527 patternTransform: null,
36528 patternUnits: null,
36529 phase: null,
36530 ping: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.spaceSeparated,
36531 pitch: null,
36532 playbackOrder: null,
36533 pointerEvents: null,
36534 points: null,
36535 pointsAtX: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36536 pointsAtY: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36537 pointsAtZ: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36538 preserveAlpha: null,
36539 preserveAspectRatio: null,
36540 primitiveUnits: null,
36541 propagate: null,
36542 property: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.commaOrSpaceSeparated,
36543 r: null,
36544 radius: null,
36545 referrerPolicy: null,
36546 refX: null,
36547 refY: null,
36548 rel: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.commaOrSpaceSeparated,
36549 rev: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.commaOrSpaceSeparated,
36550 renderingIntent: null,
36551 repeatCount: null,
36552 repeatDur: null,
36553 requiredExtensions: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.commaOrSpaceSeparated,
36554 requiredFeatures: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.commaOrSpaceSeparated,
36555 requiredFonts: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.commaOrSpaceSeparated,
36556 requiredFormats: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.commaOrSpaceSeparated,
36557 resource: null,
36558 restart: null,
36559 result: null,
36560 rotate: null,
36561 rx: null,
36562 ry: null,
36563 scale: null,
36564 seed: null,
36565 shapeRendering: null,
36566 side: null,
36567 slope: null,
36568 snapshotTime: null,
36569 specularConstant: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36570 specularExponent: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36571 spreadMethod: null,
36572 spacing: null,
36573 startOffset: null,
36574 stdDeviation: null,
36575 stemh: null,
36576 stemv: null,
36577 stitchTiles: null,
36578 stopColor: null,
36579 stopOpacity: null,
36580 strikethroughPosition: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36581 strikethroughThickness: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36582 string: null,
36583 stroke: null,
36584 strokeDashArray: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.commaOrSpaceSeparated,
36585 strokeDashOffset: null,
36586 strokeLineCap: null,
36587 strokeLineJoin: null,
36588 strokeMiterLimit: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36589 strokeOpacity: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36590 strokeWidth: null,
36591 style: null,
36592 surfaceScale: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36593 syncBehavior: null,
36594 syncBehaviorDefault: null,
36595 syncMaster: null,
36596 syncTolerance: null,
36597 syncToleranceDefault: null,
36598 systemLanguage: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.commaOrSpaceSeparated,
36599 tabIndex: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36600 tableValues: null,
36601 target: null,
36602 targetX: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36603 targetY: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36604 textAnchor: null,
36605 textDecoration: null,
36606 textRendering: null,
36607 textLength: null,
36608 timelineBegin: null,
36609 title: null,
36610 transformBehavior: null,
36611 type: null,
36612 typeOf: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.commaOrSpaceSeparated,
36613 to: null,
36614 transform: null,
36615 u1: null,
36616 u2: null,
36617 underlinePosition: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36618 underlineThickness: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36619 unicode: null,
36620 unicodeBidi: null,
36621 unicodeRange: null,
36622 unitsPerEm: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36623 values: null,
36624 vAlphabetic: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36625 vMathematical: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36626 vectorEffect: null,
36627 vHanging: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36628 vIdeographic: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36629 version: null,
36630 vertAdvY: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36631 vertOriginX: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36632 vertOriginY: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36633 viewBox: null,
36634 viewTarget: null,
36635 visibility: null,
36636 width: null,
36637 widths: null,
36638 wordSpacing: null,
36639 writingMode: null,
36640 x: null,
36641 x1: null,
36642 x2: null,
36643 xChannelSelector: null,
36644 xHeight: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36645 y: null,
36646 y1: null,
36647 y2: null,
36648 yChannelSelector: null,
36649 z: null,
36650 zoomAndPan: null
36651 }
36652 })
36653
36654
36655 /***/ }),
36656
36657 /***/ "../node_modules/property-information/lib/util/case-insensitive-transform.js":
36658 /*!***********************************************************************************!*\
36659 !*** ../node_modules/property-information/lib/util/case-insensitive-transform.js ***!
36660 \***********************************************************************************/
36661 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
36662
36663 "use strict";
36664 __webpack_require__.r(__webpack_exports__);
36665 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
36666 /* harmony export */ caseInsensitiveTransform: () => (/* binding */ caseInsensitiveTransform)
36667 /* harmony export */ });
36668 /* harmony import */ var _case_sensitive_transform_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./case-sensitive-transform.js */ "../node_modules/property-information/lib/util/case-sensitive-transform.js");
36669
36670
36671 /**
36672 * @param {Record<string, string>} attributes
36673 * @param {string} property
36674 * @returns {string}
36675 */
36676 function caseInsensitiveTransform(attributes, property) {
36677 return (0,_case_sensitive_transform_js__WEBPACK_IMPORTED_MODULE_0__.caseSensitiveTransform)(attributes, property.toLowerCase())
36678 }
36679
36680
36681 /***/ }),
36682
36683 /***/ "../node_modules/property-information/lib/util/case-sensitive-transform.js":
36684 /*!*********************************************************************************!*\
36685 !*** ../node_modules/property-information/lib/util/case-sensitive-transform.js ***!
36686 \*********************************************************************************/
36687 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
36688
36689 "use strict";
36690 __webpack_require__.r(__webpack_exports__);
36691 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
36692 /* harmony export */ caseSensitiveTransform: () => (/* binding */ caseSensitiveTransform)
36693 /* harmony export */ });
36694 /**
36695 * @param {Record<string, string>} attributes
36696 * @param {string} attribute
36697 * @returns {string}
36698 */
36699 function caseSensitiveTransform(attributes, attribute) {
36700 return attribute in attributes ? attributes[attribute] : attribute
36701 }
36702
36703
36704 /***/ }),
36705
36706 /***/ "../node_modules/property-information/lib/util/create.js":
36707 /*!***************************************************************!*\
36708 !*** ../node_modules/property-information/lib/util/create.js ***!
36709 \***************************************************************/
36710 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
36711
36712 "use strict";
36713 __webpack_require__.r(__webpack_exports__);
36714 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
36715 /* harmony export */ create: () => (/* binding */ create)
36716 /* harmony export */ });
36717 /* harmony import */ var _normalize_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../normalize.js */ "../node_modules/property-information/lib/normalize.js");
36718 /* harmony import */ var _schema_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./schema.js */ "../node_modules/property-information/lib/util/schema.js");
36719 /* harmony import */ var _defined_info_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./defined-info.js */ "../node_modules/property-information/lib/util/defined-info.js");
36720 /**
36721 * @typedef {import('./schema.js').Properties} Properties
36722 * @typedef {import('./schema.js').Normal} Normal
36723 *
36724 * @typedef {Record<string, string>} Attributes
36725 *
36726 * @typedef {Object} Definition
36727 * @property {Record<string, number|null>} properties
36728 * @property {(attributes: Attributes, property: string) => string} transform
36729 * @property {string} [space]
36730 * @property {Attributes} [attributes]
36731 * @property {Array<string>} [mustUseProperty]
36732 */
36733
36734
36735
36736
36737
36738 const own = {}.hasOwnProperty
36739
36740 /**
36741 * @param {Definition} definition
36742 * @returns {Schema}
36743 */
36744 function create(definition) {
36745 /** @type {Properties} */
36746 const property = {}
36747 /** @type {Normal} */
36748 const normal = {}
36749 /** @type {string} */
36750 let prop
36751
36752 for (prop in definition.properties) {
36753 if (own.call(definition.properties, prop)) {
36754 const value = definition.properties[prop]
36755 const info = new _defined_info_js__WEBPACK_IMPORTED_MODULE_0__.DefinedInfo(
36756 prop,
36757 definition.transform(definition.attributes || {}, prop),
36758 value,
36759 definition.space
36760 )
36761
36762 if (
36763 definition.mustUseProperty &&
36764 definition.mustUseProperty.includes(prop)
36765 ) {
36766 info.mustUseProperty = true
36767 }
36768
36769 property[prop] = info
36770
36771 normal[(0,_normalize_js__WEBPACK_IMPORTED_MODULE_1__.normalize)(prop)] = prop
36772 normal[(0,_normalize_js__WEBPACK_IMPORTED_MODULE_1__.normalize)(info.attribute)] = prop
36773 }
36774 }
36775
36776 return new _schema_js__WEBPACK_IMPORTED_MODULE_2__.Schema(property, normal, definition.space)
36777 }
36778
36779
36780 /***/ }),
36781
36782 /***/ "../node_modules/property-information/lib/util/defined-info.js":
36783 /*!*********************************************************************!*\
36784 !*** ../node_modules/property-information/lib/util/defined-info.js ***!
36785 \*********************************************************************/
36786 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
36787
36788 "use strict";
36789 __webpack_require__.r(__webpack_exports__);
36790 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
36791 /* harmony export */ DefinedInfo: () => (/* binding */ DefinedInfo)
36792 /* harmony export */ });
36793 /* harmony import */ var _info_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./info.js */ "../node_modules/property-information/lib/util/info.js");
36794 /* harmony import */ var _types_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./types.js */ "../node_modules/property-information/lib/util/types.js");
36795
36796
36797
36798 /** @type {Array<keyof types>} */
36799 // @ts-expect-error: hush.
36800 const checks = Object.keys(_types_js__WEBPACK_IMPORTED_MODULE_0__)
36801
36802 class DefinedInfo extends _info_js__WEBPACK_IMPORTED_MODULE_1__.Info {
36803 /**
36804 * @constructor
36805 * @param {string} property
36806 * @param {string} attribute
36807 * @param {number|null} [mask]
36808 * @param {string} [space]
36809 */
36810 constructor(property, attribute, mask, space) {
36811 let index = -1
36812
36813 super(property, attribute)
36814
36815 mark(this, 'space', space)
36816
36817 if (typeof mask === 'number') {
36818 while (++index < checks.length) {
36819 const check = checks[index]
36820 mark(this, checks[index], (mask & _types_js__WEBPACK_IMPORTED_MODULE_0__[check]) === _types_js__WEBPACK_IMPORTED_MODULE_0__[check])
36821 }
36822 }
36823 }
36824 }
36825
36826 DefinedInfo.prototype.defined = true
36827
36828 /**
36829 * @param {DefinedInfo} values
36830 * @param {string} key
36831 * @param {unknown} value
36832 */
36833 function mark(values, key, value) {
36834 if (value) {
36835 // @ts-expect-error: assume `value` matches the expected value of `key`.
36836 values[key] = value
36837 }
36838 }
36839
36840
36841 /***/ }),
36842
36843 /***/ "../node_modules/property-information/lib/util/info.js":
36844 /*!*************************************************************!*\
36845 !*** ../node_modules/property-information/lib/util/info.js ***!
36846 \*************************************************************/
36847 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
36848
36849 "use strict";
36850 __webpack_require__.r(__webpack_exports__);
36851 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
36852 /* harmony export */ Info: () => (/* binding */ Info)
36853 /* harmony export */ });
36854 class Info {
36855 /**
36856 * @constructor
36857 * @param {string} property
36858 * @param {string} attribute
36859 */
36860 constructor(property, attribute) {
36861 /** @type {string} */
36862 this.property = property
36863 /** @type {string} */
36864 this.attribute = attribute
36865 }
36866 }
36867
36868 /** @type {string|null} */
36869 Info.prototype.space = null
36870 Info.prototype.boolean = false
36871 Info.prototype.booleanish = false
36872 Info.prototype.overloadedBoolean = false
36873 Info.prototype.number = false
36874 Info.prototype.commaSeparated = false
36875 Info.prototype.spaceSeparated = false
36876 Info.prototype.commaOrSpaceSeparated = false
36877 Info.prototype.mustUseProperty = false
36878 Info.prototype.defined = false
36879
36880
36881 /***/ }),
36882
36883 /***/ "../node_modules/property-information/lib/util/merge.js":
36884 /*!**************************************************************!*\
36885 !*** ../node_modules/property-information/lib/util/merge.js ***!
36886 \**************************************************************/
36887 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
36888
36889 "use strict";
36890 __webpack_require__.r(__webpack_exports__);
36891 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
36892 /* harmony export */ merge: () => (/* binding */ merge)
36893 /* harmony export */ });
36894 /* harmony import */ var _schema_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./schema.js */ "../node_modules/property-information/lib/util/schema.js");
36895 /**
36896 * @typedef {import('./schema.js').Properties} Properties
36897 * @typedef {import('./schema.js').Normal} Normal
36898 */
36899
36900
36901
36902 /**
36903 * @param {Schema[]} definitions
36904 * @param {string} [space]
36905 * @returns {Schema}
36906 */
36907 function merge(definitions, space) {
36908 /** @type {Properties} */
36909 const property = {}
36910 /** @type {Normal} */
36911 const normal = {}
36912 let index = -1
36913
36914 while (++index < definitions.length) {
36915 Object.assign(property, definitions[index].property)
36916 Object.assign(normal, definitions[index].normal)
36917 }
36918
36919 return new _schema_js__WEBPACK_IMPORTED_MODULE_0__.Schema(property, normal, space)
36920 }
36921
36922
36923 /***/ }),
36924
36925 /***/ "../node_modules/property-information/lib/util/schema.js":
36926 /*!***************************************************************!*\
36927 !*** ../node_modules/property-information/lib/util/schema.js ***!
36928 \***************************************************************/
36929 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
36930
36931 "use strict";
36932 __webpack_require__.r(__webpack_exports__);
36933 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
36934 /* harmony export */ Schema: () => (/* binding */ Schema)
36935 /* harmony export */ });
36936 /**
36937 * @typedef {import('./info.js').Info} Info
36938 * @typedef {Record<string, Info>} Properties
36939 * @typedef {Record<string, string>} Normal
36940 */
36941
36942 class Schema {
36943 /**
36944 * @constructor
36945 * @param {Properties} property
36946 * @param {Normal} normal
36947 * @param {string} [space]
36948 */
36949 constructor(property, normal, space) {
36950 this.property = property
36951 this.normal = normal
36952 if (space) {
36953 this.space = space
36954 }
36955 }
36956 }
36957
36958 /** @type {Properties} */
36959 Schema.prototype.property = {}
36960 /** @type {Normal} */
36961 Schema.prototype.normal = {}
36962 /** @type {string|null} */
36963 Schema.prototype.space = null
36964
36965
36966 /***/ }),
36967
36968 /***/ "../node_modules/property-information/lib/util/types.js":
36969 /*!**************************************************************!*\
36970 !*** ../node_modules/property-information/lib/util/types.js ***!
36971 \**************************************************************/
36972 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
36973
36974 "use strict";
36975 __webpack_require__.r(__webpack_exports__);
36976 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
36977 /* harmony export */ boolean: () => (/* binding */ boolean),
36978 /* harmony export */ booleanish: () => (/* binding */ booleanish),
36979 /* harmony export */ commaOrSpaceSeparated: () => (/* binding */ commaOrSpaceSeparated),
36980 /* harmony export */ commaSeparated: () => (/* binding */ commaSeparated),
36981 /* harmony export */ number: () => (/* binding */ number),
36982 /* harmony export */ overloadedBoolean: () => (/* binding */ overloadedBoolean),
36983 /* harmony export */ spaceSeparated: () => (/* binding */ spaceSeparated)
36984 /* harmony export */ });
36985 let powers = 0
36986
36987 const boolean = increment()
36988 const booleanish = increment()
36989 const overloadedBoolean = increment()
36990 const number = increment()
36991 const spaceSeparated = increment()
36992 const commaSeparated = increment()
36993 const commaOrSpaceSeparated = increment()
36994
36995 function increment() {
36996 return 2 ** ++powers
36997 }
36998
36999
37000 /***/ }),
37001
37002 /***/ "../node_modules/property-information/lib/xlink.js":
37003 /*!*********************************************************!*\
37004 !*** ../node_modules/property-information/lib/xlink.js ***!
37005 \*********************************************************/
37006 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
37007
37008 "use strict";
37009 __webpack_require__.r(__webpack_exports__);
37010 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
37011 /* harmony export */ xlink: () => (/* binding */ xlink)
37012 /* harmony export */ });
37013 /* harmony import */ var _util_create_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util/create.js */ "../node_modules/property-information/lib/util/create.js");
37014
37015
37016 const xlink = (0,_util_create_js__WEBPACK_IMPORTED_MODULE_0__.create)({
37017 space: 'xlink',
37018 transform(_, prop) {
37019 return 'xlink:' + prop.slice(5).toLowerCase()
37020 },
37021 properties: {
37022 xLinkActuate: null,
37023 xLinkArcRole: null,
37024 xLinkHref: null,
37025 xLinkRole: null,
37026 xLinkShow: null,
37027 xLinkTitle: null,
37028 xLinkType: null
37029 }
37030 })
37031
37032
37033 /***/ }),
37034
37035 /***/ "../node_modules/property-information/lib/xml.js":
37036 /*!*******************************************************!*\
37037 !*** ../node_modules/property-information/lib/xml.js ***!
37038 \*******************************************************/
37039 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
37040
37041 "use strict";
37042 __webpack_require__.r(__webpack_exports__);
37043 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
37044 /* harmony export */ xml: () => (/* binding */ xml)
37045 /* harmony export */ });
37046 /* harmony import */ var _util_create_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util/create.js */ "../node_modules/property-information/lib/util/create.js");
37047
37048
37049 const xml = (0,_util_create_js__WEBPACK_IMPORTED_MODULE_0__.create)({
37050 space: 'xml',
37051 transform(_, prop) {
37052 return 'xml:' + prop.slice(3).toLowerCase()
37053 },
37054 properties: {xmlLang: null, xmlBase: null, xmlSpace: null}
37055 })
37056
37057
37058 /***/ }),
37059
37060 /***/ "../node_modules/property-information/lib/xmlns.js":
37061 /*!*********************************************************!*\
37062 !*** ../node_modules/property-information/lib/xmlns.js ***!
37063 \*********************************************************/
37064 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
37065
37066 "use strict";
37067 __webpack_require__.r(__webpack_exports__);
37068 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
37069 /* harmony export */ xmlns: () => (/* binding */ xmlns)
37070 /* harmony export */ });
37071 /* harmony import */ var _util_create_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util/create.js */ "../node_modules/property-information/lib/util/create.js");
37072 /* harmony import */ var _util_case_insensitive_transform_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./util/case-insensitive-transform.js */ "../node_modules/property-information/lib/util/case-insensitive-transform.js");
37073
37074
37075
37076 const xmlns = (0,_util_create_js__WEBPACK_IMPORTED_MODULE_0__.create)({
37077 space: 'xmlns',
37078 attributes: {xmlnsxlink: 'xmlns:xlink'},
37079 transform: _util_case_insensitive_transform_js__WEBPACK_IMPORTED_MODULE_1__.caseInsensitiveTransform,
37080 properties: {xmlns: null, xmlnsXLink: null}
37081 })
37082
37083
37084 /***/ }),
37085
37086 /***/ "../node_modules/react-markdown/index.js":
37087 /*!***********************************************!*\
37088 !*** ../node_modules/react-markdown/index.js ***!
37089 \***********************************************/
37090 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
37091
37092 "use strict";
37093 __webpack_require__.r(__webpack_exports__);
37094 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
37095 /* harmony export */ "default": () => (/* reexport safe */ _lib_react_markdown_js__WEBPACK_IMPORTED_MODULE_1__.ReactMarkdown),
37096 /* harmony export */ uriTransformer: () => (/* reexport safe */ _lib_uri_transformer_js__WEBPACK_IMPORTED_MODULE_0__.uriTransformer)
37097 /* harmony export */ });
37098 /* harmony import */ var _lib_uri_transformer_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lib/uri-transformer.js */ "../node_modules/react-markdown/lib/uri-transformer.js");
37099 /* harmony import */ var _lib_react_markdown_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./lib/react-markdown.js */ "../node_modules/react-markdown/lib/react-markdown.js");
37100 /**
37101 * @typedef {import('./lib/react-markdown.js').ReactMarkdownOptions} Options
37102 * @typedef {import('./lib/ast-to-react.js').Components} Components
37103 */
37104
37105
37106
37107
37108
37109
37110 /***/ }),
37111
37112 /***/ "../node_modules/react-markdown/lib/ast-to-react.js":
37113 /*!**********************************************************!*\
37114 !*** ../node_modules/react-markdown/lib/ast-to-react.js ***!
37115 \**********************************************************/
37116 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
37117
37118 "use strict";
37119 __webpack_require__.r(__webpack_exports__);
37120 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
37121 /* harmony export */ childrenToReact: () => (/* binding */ childrenToReact)
37122 /* harmony export */ });
37123 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
37124 /* harmony import */ var react_is__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-is */ "../node_modules/react-is/index.js");
37125 /* harmony import */ var hast_util_whitespace__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! hast-util-whitespace */ "../node_modules/hast-util-whitespace/index.js");
37126 /* harmony import */ var property_information__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! property-information */ "../node_modules/property-information/index.js");
37127 /* harmony import */ var property_information__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! property-information */ "../node_modules/property-information/lib/find.js");
37128 /* harmony import */ var property_information__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! property-information */ "../node_modules/property-information/lib/hast-to-react.js");
37129 /* harmony import */ var space_separated_tokens__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! space-separated-tokens */ "../node_modules/space-separated-tokens/index.js");
37130 /* harmony import */ var comma_separated_tokens__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! comma-separated-tokens */ "../node_modules/comma-separated-tokens/index.js");
37131 /* harmony import */ var style_to_object__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! style-to-object */ "../node_modules/style-to-object/index.mjs");
37132 /* harmony import */ var _uri_transformer_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./uri-transformer.js */ "../node_modules/react-markdown/lib/uri-transformer.js");
37133 /**
37134 * @template T
37135 * @typedef {import('react').ComponentType<T>} ComponentType<T>
37136 */
37137
37138 /**
37139 * @template {import('react').ElementType} T
37140 * @typedef {import('react').ComponentPropsWithoutRef<T>} ComponentPropsWithoutRef<T>
37141 */
37142
37143 /**
37144 * @typedef {import('react').ReactNode} ReactNode
37145 * @typedef {import('unist').Position} Position
37146 * @typedef {import('hast').Element} Element
37147 * @typedef {import('hast').ElementContent} ElementContent
37148 * @typedef {import('hast').Root} Root
37149 * @typedef {import('hast').Text} Text
37150 * @typedef {import('hast').Comment} Comment
37151 * @typedef {import('hast').DocType} Doctype
37152 * @typedef {import('property-information').Info} Info
37153 * @typedef {import('property-information').Schema} Schema
37154 * @typedef {import('./complex-types.js').ReactMarkdownProps} ReactMarkdownProps
37155 *
37156 * @typedef Raw
37157 * @property {'raw'} type
37158 * @property {string} value
37159 *
37160 * @typedef Context
37161 * @property {Options} options
37162 * @property {Schema} schema
37163 * @property {number} listDepth
37164 *
37165 * @callback TransformLink
37166 * @param {string} href
37167 * @param {Array<ElementContent>} children
37168 * @param {string?} title
37169 * @returns {string}
37170 *
37171 * @callback TransformImage
37172 * @param {string} src
37173 * @param {string} alt
37174 * @param {string?} title
37175 * @returns {string}
37176 *
37177 * @typedef {import('react').HTMLAttributeAnchorTarget} TransformLinkTargetType
37178 *
37179 * @callback TransformLinkTarget
37180 * @param {string} href
37181 * @param {Array<ElementContent>} children
37182 * @param {string?} title
37183 * @returns {TransformLinkTargetType|undefined}
37184 *
37185 * @typedef {keyof JSX.IntrinsicElements} ReactMarkdownNames
37186 *
37187 * To do: is `data-sourcepos` typeable?
37188 *
37189 * @typedef {ComponentPropsWithoutRef<'code'> & ReactMarkdownProps & {inline?: boolean}} CodeProps
37190 * @typedef {ComponentPropsWithoutRef<'h1'> & ReactMarkdownProps & {level: number}} HeadingProps
37191 * @typedef {ComponentPropsWithoutRef<'li'> & ReactMarkdownProps & {checked: boolean|null, index: number, ordered: boolean}} LiProps
37192 * @typedef {ComponentPropsWithoutRef<'ol'> & ReactMarkdownProps & {depth: number, ordered: true}} OrderedListProps
37193 * @typedef {ComponentPropsWithoutRef<'td'> & ReactMarkdownProps & {style?: Record<string, unknown>, isHeader: false}} TableDataCellProps
37194 * @typedef {ComponentPropsWithoutRef<'th'> & ReactMarkdownProps & {style?: Record<string, unknown>, isHeader: true}} TableHeaderCellProps
37195 * @typedef {ComponentPropsWithoutRef<'tr'> & ReactMarkdownProps & {isHeader: boolean}} TableRowProps
37196 * @typedef {ComponentPropsWithoutRef<'ul'> & ReactMarkdownProps & {depth: number, ordered: false}} UnorderedListProps
37197 *
37198 * @typedef {ComponentType<CodeProps>} CodeComponent
37199 * @typedef {ComponentType<HeadingProps>} HeadingComponent
37200 * @typedef {ComponentType<LiProps>} LiComponent
37201 * @typedef {ComponentType<OrderedListProps>} OrderedListComponent
37202 * @typedef {ComponentType<TableDataCellProps>} TableDataCellComponent
37203 * @typedef {ComponentType<TableHeaderCellProps>} TableHeaderCellComponent
37204 * @typedef {ComponentType<TableRowProps>} TableRowComponent
37205 * @typedef {ComponentType<UnorderedListProps>} UnorderedListComponent
37206 *
37207 * @typedef SpecialComponents
37208 * @property {CodeComponent|ReactMarkdownNames} code
37209 * @property {HeadingComponent|ReactMarkdownNames} h1
37210 * @property {HeadingComponent|ReactMarkdownNames} h2
37211 * @property {HeadingComponent|ReactMarkdownNames} h3
37212 * @property {HeadingComponent|ReactMarkdownNames} h4
37213 * @property {HeadingComponent|ReactMarkdownNames} h5
37214 * @property {HeadingComponent|ReactMarkdownNames} h6
37215 * @property {LiComponent|ReactMarkdownNames} li
37216 * @property {OrderedListComponent|ReactMarkdownNames} ol
37217 * @property {TableDataCellComponent|ReactMarkdownNames} td
37218 * @property {TableHeaderCellComponent|ReactMarkdownNames} th
37219 * @property {TableRowComponent|ReactMarkdownNames} tr
37220 * @property {UnorderedListComponent|ReactMarkdownNames} ul
37221 *
37222 * @typedef {Partial<Omit<import('./complex-types.js').NormalComponents, keyof SpecialComponents> & SpecialComponents>} Components
37223 *
37224 * @typedef Options
37225 * @property {boolean} [sourcePos=false]
37226 * @property {boolean} [rawSourcePos=false]
37227 * @property {boolean} [skipHtml=false]
37228 * @property {boolean} [includeElementIndex=false]
37229 * @property {null|false|TransformLink} [transformLinkUri]
37230 * @property {TransformImage} [transformImageUri]
37231 * @property {TransformLinkTargetType|TransformLinkTarget} [linkTarget]
37232 * @property {Components} [components]
37233 */
37234
37235
37236
37237
37238
37239
37240
37241
37242
37243
37244 const own = {}.hasOwnProperty
37245
37246 // The table-related elements that must not contain whitespace text according
37247 // to React.
37248 const tableElements = new Set(['table', 'thead', 'tbody', 'tfoot', 'tr'])
37249
37250 /**
37251 * @param {Context} context
37252 * @param {Element|Root} node
37253 */
37254 function childrenToReact(context, node) {
37255 /** @type {Array<ReactNode>} */
37256 const children = []
37257 let childIndex = -1
37258 /** @type {Comment|Doctype|Element|Raw|Text} */
37259 let child
37260
37261 while (++childIndex < node.children.length) {
37262 child = node.children[childIndex]
37263
37264 if (child.type === 'element') {
37265 children.push(toReact(context, child, childIndex, node))
37266 } else if (child.type === 'text') {
37267 // Currently, a warning is triggered by react for *any* white space in
37268 // tables.
37269 // So we drop it.
37270 // See: <https://github.com/facebook/react/pull/7081>.
37271 // See: <https://github.com/facebook/react/pull/7515>.
37272 // See: <https://github.com/remarkjs/remark-react/issues/64>.
37273 // See: <https://github.com/remarkjs/react-markdown/issues/576>.
37274 if (
37275 node.type !== 'element' ||
37276 !tableElements.has(node.tagName) ||
37277 !(0,hast_util_whitespace__WEBPACK_IMPORTED_MODULE_3__.whitespace)(child)
37278 ) {
37279 children.push(child.value)
37280 }
37281 } else if (child.type === 'raw' && !context.options.skipHtml) {
37282 // Default behavior is to show (encoded) HTML.
37283 children.push(child.value)
37284 }
37285 }
37286
37287 return children
37288 }
37289
37290 /**
37291 * @param {Context} context
37292 * @param {Element} node
37293 * @param {number} index
37294 * @param {Element|Root} parent
37295 */
37296 function toReact(context, node, index, parent) {
37297 const options = context.options
37298 const transform =
37299 options.transformLinkUri === undefined
37300 ? _uri_transformer_js__WEBPACK_IMPORTED_MODULE_4__.uriTransformer
37301 : options.transformLinkUri
37302 const parentSchema = context.schema
37303 /** @type {ReactMarkdownNames} */
37304 // @ts-expect-error assume a known HTML/SVG element.
37305 const name = node.tagName
37306 /** @type {Record<string, unknown>} */
37307 const properties = {}
37308 let schema = parentSchema
37309 /** @type {string} */
37310 let property
37311
37312 if (parentSchema.space === 'html' && name === 'svg') {
37313 schema = property_information__WEBPACK_IMPORTED_MODULE_5__.svg
37314 context.schema = schema
37315 }
37316
37317 if (node.properties) {
37318 for (property in node.properties) {
37319 if (own.call(node.properties, property)) {
37320 addProperty(properties, property, node.properties[property], context)
37321 }
37322 }
37323 }
37324
37325 if (name === 'ol' || name === 'ul') {
37326 context.listDepth++
37327 }
37328
37329 const children = childrenToReact(context, node)
37330
37331 if (name === 'ol' || name === 'ul') {
37332 context.listDepth--
37333 }
37334
37335 // Restore parent schema.
37336 context.schema = parentSchema
37337
37338 // Nodes created by plugins do not have positional info, in which case we use
37339 // an object that matches the position interface.
37340 const position = node.position || {
37341 start: {line: null, column: null, offset: null},
37342 end: {line: null, column: null, offset: null}
37343 }
37344 const component =
37345 options.components && own.call(options.components, name)
37346 ? options.components[name]
37347 : name
37348 const basic = typeof component === 'string' || component === react__WEBPACK_IMPORTED_MODULE_0__.Fragment
37349
37350 if (!react_is__WEBPACK_IMPORTED_MODULE_1__.isValidElementType(component)) {
37351 throw new TypeError(
37352 `Component for name \`${name}\` not defined or is not renderable`
37353 )
37354 }
37355
37356 properties.key = index
37357
37358 if (name === 'a' && options.linkTarget) {
37359 properties.target =
37360 typeof options.linkTarget === 'function'
37361 ? options.linkTarget(
37362 String(properties.href || ''),
37363 node.children,
37364 typeof properties.title === 'string' ? properties.title : null
37365 )
37366 : options.linkTarget
37367 }
37368
37369 if (name === 'a' && transform) {
37370 properties.href = transform(
37371 String(properties.href || ''),
37372 node.children,
37373 typeof properties.title === 'string' ? properties.title : null
37374 )
37375 }
37376
37377 if (
37378 !basic &&
37379 name === 'code' &&
37380 parent.type === 'element' &&
37381 parent.tagName !== 'pre'
37382 ) {
37383 properties.inline = true
37384 }
37385
37386 if (
37387 !basic &&
37388 (name === 'h1' ||
37389 name === 'h2' ||
37390 name === 'h3' ||
37391 name === 'h4' ||
37392 name === 'h5' ||
37393 name === 'h6')
37394 ) {
37395 properties.level = Number.parseInt(name.charAt(1), 10)
37396 }
37397
37398 if (name === 'img' && options.transformImageUri) {
37399 properties.src = options.transformImageUri(
37400 String(properties.src || ''),
37401 String(properties.alt || ''),
37402 typeof properties.title === 'string' ? properties.title : null
37403 )
37404 }
37405
37406 if (!basic && name === 'li' && parent.type === 'element') {
37407 const input = getInputElement(node)
37408 properties.checked =
37409 input && input.properties ? Boolean(input.properties.checked) : null
37410 properties.index = getElementsBeforeCount(parent, node)
37411 properties.ordered = parent.tagName === 'ol'
37412 }
37413
37414 if (!basic && (name === 'ol' || name === 'ul')) {
37415 properties.ordered = name === 'ol'
37416 properties.depth = context.listDepth
37417 }
37418
37419 if (name === 'td' || name === 'th') {
37420 if (properties.align) {
37421 if (!properties.style) properties.style = {}
37422 // @ts-expect-error assume `style` is an object
37423 properties.style.textAlign = properties.align
37424 delete properties.align
37425 }
37426
37427 if (!basic) {
37428 properties.isHeader = name === 'th'
37429 }
37430 }
37431
37432 if (!basic && name === 'tr' && parent.type === 'element') {
37433 properties.isHeader = Boolean(parent.tagName === 'thead')
37434 }
37435
37436 // If `sourcePos` is given, pass source information (line/column info from markdown source).
37437 if (options.sourcePos) {
37438 properties['data-sourcepos'] = flattenPosition(position)
37439 }
37440
37441 if (!basic && options.rawSourcePos) {
37442 properties.sourcePosition = node.position
37443 }
37444
37445 // If `includeElementIndex` is given, pass node index info to components.
37446 if (!basic && options.includeElementIndex) {
37447 properties.index = getElementsBeforeCount(parent, node)
37448 properties.siblingCount = getElementsBeforeCount(parent)
37449 }
37450
37451 if (!basic) {
37452 properties.node = node
37453 }
37454
37455 // Ensure no React warnings are emitted for void elements w/ children.
37456 return children.length > 0
37457 ? react__WEBPACK_IMPORTED_MODULE_0__.createElement(component, properties, children)
37458 : react__WEBPACK_IMPORTED_MODULE_0__.createElement(component, properties)
37459 }
37460
37461 /**
37462 * @param {Element|Root} node
37463 * @returns {Element?}
37464 */
37465 function getInputElement(node) {
37466 let index = -1
37467
37468 while (++index < node.children.length) {
37469 const child = node.children[index]
37470
37471 if (child.type === 'element' && child.tagName === 'input') {
37472 return child
37473 }
37474 }
37475
37476 return null
37477 }
37478
37479 /**
37480 * @param {Element|Root} parent
37481 * @param {Element} [node]
37482 * @returns {number}
37483 */
37484 function getElementsBeforeCount(parent, node) {
37485 let index = -1
37486 let count = 0
37487
37488 while (++index < parent.children.length) {
37489 if (parent.children[index] === node) break
37490 if (parent.children[index].type === 'element') count++
37491 }
37492
37493 return count
37494 }
37495
37496 /**
37497 * @param {Record<string, unknown>} props
37498 * @param {string} prop
37499 * @param {unknown} value
37500 * @param {Context} ctx
37501 */
37502 function addProperty(props, prop, value, ctx) {
37503 const info = (0,property_information__WEBPACK_IMPORTED_MODULE_6__.find)(ctx.schema, prop)
37504 let result = value
37505
37506 // Ignore nullish and `NaN` values.
37507 // eslint-disable-next-line no-self-compare
37508 if (result === null || result === undefined || result !== result) {
37509 return
37510 }
37511
37512 // Accept `array`.
37513 // Most props are space-separated.
37514 if (Array.isArray(result)) {
37515 result = info.commaSeparated ? (0,comma_separated_tokens__WEBPACK_IMPORTED_MODULE_7__.stringify)(result) : (0,space_separated_tokens__WEBPACK_IMPORTED_MODULE_8__.stringify)(result)
37516 }
37517
37518 if (info.property === 'style' && typeof result === 'string') {
37519 result = parseStyle(result)
37520 }
37521
37522 if (info.space && info.property) {
37523 props[
37524 own.call(property_information__WEBPACK_IMPORTED_MODULE_9__.hastToReact, info.property)
37525 ? property_information__WEBPACK_IMPORTED_MODULE_9__.hastToReact[info.property]
37526 : info.property
37527 ] = result
37528 } else if (info.attribute) {
37529 props[info.attribute] = result
37530 }
37531 }
37532
37533 /**
37534 * @param {string} value
37535 * @returns {Record<string, string>}
37536 */
37537 function parseStyle(value) {
37538 /** @type {Record<string, string>} */
37539 const result = {}
37540
37541 try {
37542 ;(0,style_to_object__WEBPACK_IMPORTED_MODULE_2__["default"])(value, iterator)
37543 } catch {
37544 // Silent.
37545 }
37546
37547 return result
37548
37549 /**
37550 * @param {string} name
37551 * @param {string} v
37552 */
37553 function iterator(name, v) {
37554 const k = name.slice(0, 4) === '-ms-' ? `ms-${name.slice(4)}` : name
37555 result[k.replace(/-([a-z])/g, styleReplacer)] = v
37556 }
37557 }
37558
37559 /**
37560 * @param {unknown} _
37561 * @param {string} $1
37562 */
37563 function styleReplacer(_, $1) {
37564 return $1.toUpperCase()
37565 }
37566
37567 /**
37568 * @param {Position|{start: {line: null, column: null, offset: null}, end: {line: null, column: null, offset: null}}} pos
37569 * @returns {string}
37570 */
37571 function flattenPosition(pos) {
37572 return [
37573 pos.start.line,
37574 ':',
37575 pos.start.column,
37576 '-',
37577 pos.end.line,
37578 ':',
37579 pos.end.column
37580 ]
37581 .map(String)
37582 .join('')
37583 }
37584
37585
37586 /***/ }),
37587
37588 /***/ "../node_modules/react-markdown/lib/react-markdown.js":
37589 /*!************************************************************!*\
37590 !*** ../node_modules/react-markdown/lib/react-markdown.js ***!
37591 \************************************************************/
37592 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
37593
37594 "use strict";
37595 __webpack_require__.r(__webpack_exports__);
37596 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
37597 /* harmony export */ ReactMarkdown: () => (/* binding */ ReactMarkdown)
37598 /* harmony export */ });
37599 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
37600 /* harmony import */ var vfile__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! vfile */ "../node_modules/vfile/lib/index.js");
37601 /* harmony import */ var unified__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! unified */ "../node_modules/unified/lib/index.js");
37602 /* harmony import */ var remark_parse__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! remark-parse */ "../node_modules/remark-parse/lib/index.js");
37603 /* harmony import */ var remark_rehype__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! remark-rehype */ "../node_modules/remark-rehype/lib/index.js");
37604 /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js");
37605 /* harmony import */ var property_information__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! property-information */ "../node_modules/property-information/index.js");
37606 /* harmony import */ var _rehype_filter_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./rehype-filter.js */ "../node_modules/react-markdown/lib/rehype-filter.js");
37607 /* harmony import */ var _ast_to_react_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./ast-to-react.js */ "../node_modules/react-markdown/lib/ast-to-react.js");
37608 /**
37609 * @typedef {import('react').ReactNode} ReactNode
37610 * @typedef {import('react').ReactElement<{}>} ReactElement
37611 * @typedef {import('unified').PluggableList} PluggableList
37612 * @typedef {import('hast').Root} Root
37613 * @typedef {import('./rehype-filter.js').Options} FilterOptions
37614 * @typedef {import('./ast-to-react.js').Options} TransformOptions
37615 *
37616 * @typedef CoreOptions
37617 * @property {string} children
37618 *
37619 * @typedef PluginOptions
37620 * @property {PluggableList} [remarkPlugins=[]]
37621 * @property {PluggableList} [rehypePlugins=[]]
37622 * @property {import('remark-rehype').Options | undefined} [remarkRehypeOptions={}]
37623 *
37624 * @typedef LayoutOptions
37625 * @property {string} [className]
37626 *
37627 * @typedef {CoreOptions & PluginOptions & LayoutOptions & FilterOptions & TransformOptions} ReactMarkdownOptions
37628 *
37629 * @typedef Deprecation
37630 * @property {string} id
37631 * @property {string} [to]
37632 */
37633
37634
37635
37636
37637
37638
37639
37640
37641
37642
37643
37644 const own = {}.hasOwnProperty
37645 const changelog =
37646 'https://github.com/remarkjs/react-markdown/blob/main/changelog.md'
37647
37648 /** @type {Record<string, Deprecation>} */
37649 const deprecated = {
37650 plugins: {to: 'remarkPlugins', id: 'change-plugins-to-remarkplugins'},
37651 renderers: {to: 'components', id: 'change-renderers-to-components'},
37652 astPlugins: {id: 'remove-buggy-html-in-markdown-parser'},
37653 allowDangerousHtml: {id: 'remove-buggy-html-in-markdown-parser'},
37654 escapeHtml: {id: 'remove-buggy-html-in-markdown-parser'},
37655 source: {to: 'children', id: 'change-source-to-children'},
37656 allowNode: {
37657 to: 'allowElement',
37658 id: 'replace-allownode-allowedtypes-and-disallowedtypes'
37659 },
37660 allowedTypes: {
37661 to: 'allowedElements',
37662 id: 'replace-allownode-allowedtypes-and-disallowedtypes'
37663 },
37664 disallowedTypes: {
37665 to: 'disallowedElements',
37666 id: 'replace-allownode-allowedtypes-and-disallowedtypes'
37667 },
37668 includeNodeIndex: {
37669 to: 'includeElementIndex',
37670 id: 'change-includenodeindex-to-includeelementindex'
37671 }
37672 }
37673
37674 /**
37675 * React component to render markdown.
37676 *
37677 * @param {ReactMarkdownOptions} options
37678 * @returns {ReactElement}
37679 */
37680 function ReactMarkdown(options) {
37681 for (const key in deprecated) {
37682 if (own.call(deprecated, key) && own.call(options, key)) {
37683 const deprecation = deprecated[key]
37684 console.warn(
37685 `[react-markdown] Warning: please ${
37686 deprecation.to ? `use \`${deprecation.to}\` instead of` : 'remove'
37687 } \`${key}\` (see <${changelog}#${deprecation.id}> for more info)`
37688 )
37689 delete deprecated[key]
37690 }
37691 }
37692
37693 const processor = (0,unified__WEBPACK_IMPORTED_MODULE_1__.unified)()
37694 .use(remark_parse__WEBPACK_IMPORTED_MODULE_2__["default"])
37695 .use(options.remarkPlugins || [])
37696 .use(remark_rehype__WEBPACK_IMPORTED_MODULE_3__["default"], {
37697 ...options.remarkRehypeOptions,
37698 allowDangerousHtml: true
37699 })
37700 .use(options.rehypePlugins || [])
37701 .use(_rehype_filter_js__WEBPACK_IMPORTED_MODULE_4__["default"], options)
37702
37703 const file = new vfile__WEBPACK_IMPORTED_MODULE_5__.VFile()
37704
37705 if (typeof options.children === 'string') {
37706 file.value = options.children
37707 } else if (options.children !== undefined && options.children !== null) {
37708 console.warn(
37709 `[react-markdown] Warning: please pass a string as \`children\` (not: \`${options.children}\`)`
37710 )
37711 }
37712
37713 const hastNode = processor.runSync(processor.parse(file), file)
37714
37715 if (hastNode.type !== 'root') {
37716 throw new TypeError('Expected a `root` node')
37717 }
37718
37719 /** @type {ReactElement} */
37720 let result = react__WEBPACK_IMPORTED_MODULE_0__.createElement(
37721 react__WEBPACK_IMPORTED_MODULE_0__.Fragment,
37722 {},
37723 (0,_ast_to_react_js__WEBPACK_IMPORTED_MODULE_6__.childrenToReact)({options, schema: property_information__WEBPACK_IMPORTED_MODULE_7__.html, listDepth: 0}, hastNode)
37724 )
37725
37726 if (options.className) {
37727 result = react__WEBPACK_IMPORTED_MODULE_0__.createElement('div', {className: options.className}, result)
37728 }
37729
37730 return result
37731 }
37732
37733 ReactMarkdown.propTypes = {
37734 // Core options:
37735 children: prop_types__WEBPACK_IMPORTED_MODULE_8__.string,
37736 // Layout options:
37737 className: prop_types__WEBPACK_IMPORTED_MODULE_8__.string,
37738 // Filter options:
37739 allowElement: prop_types__WEBPACK_IMPORTED_MODULE_8__.func,
37740 allowedElements: prop_types__WEBPACK_IMPORTED_MODULE_8__.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_8__.string),
37741 disallowedElements: prop_types__WEBPACK_IMPORTED_MODULE_8__.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_8__.string),
37742 unwrapDisallowed: prop_types__WEBPACK_IMPORTED_MODULE_8__.bool,
37743 // Plugin options:
37744 remarkPlugins: prop_types__WEBPACK_IMPORTED_MODULE_8__.arrayOf(
37745 prop_types__WEBPACK_IMPORTED_MODULE_8__.oneOfType([
37746 prop_types__WEBPACK_IMPORTED_MODULE_8__.object,
37747 prop_types__WEBPACK_IMPORTED_MODULE_8__.func,
37748 prop_types__WEBPACK_IMPORTED_MODULE_8__.arrayOf(
37749 prop_types__WEBPACK_IMPORTED_MODULE_8__.oneOfType([
37750 prop_types__WEBPACK_IMPORTED_MODULE_8__.bool,
37751 prop_types__WEBPACK_IMPORTED_MODULE_8__.string,
37752 prop_types__WEBPACK_IMPORTED_MODULE_8__.object,
37753 prop_types__WEBPACK_IMPORTED_MODULE_8__.func,
37754 prop_types__WEBPACK_IMPORTED_MODULE_8__.arrayOf(
37755 // prettier-ignore
37756 // type-coverage:ignore-next-line
37757 prop_types__WEBPACK_IMPORTED_MODULE_8__.any
37758 )
37759 ])
37760 )
37761 ])
37762 ),
37763 rehypePlugins: prop_types__WEBPACK_IMPORTED_MODULE_8__.arrayOf(
37764 prop_types__WEBPACK_IMPORTED_MODULE_8__.oneOfType([
37765 prop_types__WEBPACK_IMPORTED_MODULE_8__.object,
37766 prop_types__WEBPACK_IMPORTED_MODULE_8__.func,
37767 prop_types__WEBPACK_IMPORTED_MODULE_8__.arrayOf(
37768 prop_types__WEBPACK_IMPORTED_MODULE_8__.oneOfType([
37769 prop_types__WEBPACK_IMPORTED_MODULE_8__.bool,
37770 prop_types__WEBPACK_IMPORTED_MODULE_8__.string,
37771 prop_types__WEBPACK_IMPORTED_MODULE_8__.object,
37772 prop_types__WEBPACK_IMPORTED_MODULE_8__.func,
37773 prop_types__WEBPACK_IMPORTED_MODULE_8__.arrayOf(
37774 // prettier-ignore
37775 // type-coverage:ignore-next-line
37776 prop_types__WEBPACK_IMPORTED_MODULE_8__.any
37777 )
37778 ])
37779 )
37780 ])
37781 ),
37782 // Transform options:
37783 sourcePos: prop_types__WEBPACK_IMPORTED_MODULE_8__.bool,
37784 rawSourcePos: prop_types__WEBPACK_IMPORTED_MODULE_8__.bool,
37785 skipHtml: prop_types__WEBPACK_IMPORTED_MODULE_8__.bool,
37786 includeElementIndex: prop_types__WEBPACK_IMPORTED_MODULE_8__.bool,
37787 transformLinkUri: prop_types__WEBPACK_IMPORTED_MODULE_8__.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_8__.func, prop_types__WEBPACK_IMPORTED_MODULE_8__.bool]),
37788 linkTarget: prop_types__WEBPACK_IMPORTED_MODULE_8__.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_8__.func, prop_types__WEBPACK_IMPORTED_MODULE_8__.string]),
37789 transformImageUri: prop_types__WEBPACK_IMPORTED_MODULE_8__.func,
37790 components: prop_types__WEBPACK_IMPORTED_MODULE_8__.object
37791 }
37792
37793
37794 /***/ }),
37795
37796 /***/ "../node_modules/react-markdown/lib/rehype-filter.js":
37797 /*!***********************************************************!*\
37798 !*** ../node_modules/react-markdown/lib/rehype-filter.js ***!
37799 \***********************************************************/
37800 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
37801
37802 "use strict";
37803 __webpack_require__.r(__webpack_exports__);
37804 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
37805 /* harmony export */ "default": () => (/* binding */ rehypeFilter)
37806 /* harmony export */ });
37807 /* harmony import */ var unist_util_visit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! unist-util-visit */ "../node_modules/unist-util-visit/lib/index.js");
37808
37809
37810 /**
37811 * @typedef {import('unist').Node} Node
37812 * @typedef {import('hast').Root} Root
37813 * @typedef {import('hast').Element} Element
37814 *
37815 * @callback AllowElement
37816 * @param {Element} element
37817 * @param {number} index
37818 * @param {Element|Root} parent
37819 * @returns {boolean|undefined}
37820 *
37821 * @typedef Options
37822 * @property {Array<string>} [allowedElements]
37823 * @property {Array<string>} [disallowedElements=[]]
37824 * @property {AllowElement} [allowElement]
37825 * @property {boolean} [unwrapDisallowed=false]
37826 */
37827
37828 /**
37829 * @type {import('unified').Plugin<[Options], Root>}
37830 */
37831 function rehypeFilter(options) {
37832 if (options.allowedElements && options.disallowedElements) {
37833 throw new TypeError(
37834 'Only one of `allowedElements` and `disallowedElements` should be defined'
37835 )
37836 }
37837
37838 if (
37839 options.allowedElements ||
37840 options.disallowedElements ||
37841 options.allowElement
37842 ) {
37843 return (tree) => {
37844 (0,unist_util_visit__WEBPACK_IMPORTED_MODULE_0__.visit)(tree, 'element', (node, index, parent_) => {
37845 const parent = /** @type {Element|Root} */ (parent_)
37846 /** @type {boolean|undefined} */
37847 let remove
37848
37849 if (options.allowedElements) {
37850 remove = !options.allowedElements.includes(node.tagName)
37851 } else if (options.disallowedElements) {
37852 remove = options.disallowedElements.includes(node.tagName)
37853 }
37854
37855 if (!remove && options.allowElement && typeof index === 'number') {
37856 remove = !options.allowElement(node, index, parent)
37857 }
37858
37859 if (remove && typeof index === 'number') {
37860 if (options.unwrapDisallowed && node.children) {
37861 parent.children.splice(index, 1, ...node.children)
37862 } else {
37863 parent.children.splice(index, 1)
37864 }
37865
37866 return index
37867 }
37868
37869 return undefined
37870 })
37871 }
37872 }
37873 }
37874
37875
37876 /***/ }),
37877
37878 /***/ "../node_modules/react-markdown/lib/uri-transformer.js":
37879 /*!*************************************************************!*\
37880 !*** ../node_modules/react-markdown/lib/uri-transformer.js ***!
37881 \*************************************************************/
37882 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
37883
37884 "use strict";
37885 __webpack_require__.r(__webpack_exports__);
37886 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
37887 /* harmony export */ uriTransformer: () => (/* binding */ uriTransformer)
37888 /* harmony export */ });
37889 const protocols = ['http', 'https', 'mailto', 'tel']
37890
37891 /**
37892 * @param {string} uri
37893 * @returns {string}
37894 */
37895 function uriTransformer(uri) {
37896 const url = (uri || '').trim()
37897 const first = url.charAt(0)
37898
37899 if (first === '#' || first === '/') {
37900 return url
37901 }
37902
37903 const colon = url.indexOf(':')
37904 if (colon === -1) {
37905 return url
37906 }
37907
37908 let index = -1
37909
37910 while (++index < protocols.length) {
37911 const protocol = protocols[index]
37912
37913 if (
37914 colon === protocol.length &&
37915 url.slice(0, protocol.length).toLowerCase() === protocol
37916 ) {
37917 return url
37918 }
37919 }
37920
37921 index = url.indexOf('?')
37922 if (index !== -1 && colon > index) {
37923 return url
37924 }
37925
37926 index = url.indexOf('#')
37927 if (index !== -1 && colon > index) {
37928 return url
37929 }
37930
37931 // eslint-disable-next-line no-script-url
37932 return 'javascript:void(0)'
37933 }
37934
37935
37936 /***/ }),
37937
37938 /***/ "../node_modules/remark-parse/lib/index.js":
37939 /*!*************************************************!*\
37940 !*** ../node_modules/remark-parse/lib/index.js ***!
37941 \*************************************************/
37942 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
37943
37944 "use strict";
37945 __webpack_require__.r(__webpack_exports__);
37946 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
37947 /* harmony export */ "default": () => (/* binding */ remarkParse)
37948 /* harmony export */ });
37949 /* harmony import */ var mdast_util_from_markdown__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! mdast-util-from-markdown */ "../node_modules/mdast-util-from-markdown/dev/lib/index.js");
37950 /**
37951 * @typedef {import('mdast').Root} Root
37952 * @typedef {import('mdast-util-from-markdown').Options} Options
37953 */
37954
37955
37956
37957 /**
37958 * @this {import('unified').Processor}
37959 * @type {import('unified').Plugin<[Options?] | void[], string, Root>}
37960 */
37961 function remarkParse(options) {
37962 /** @type {import('unified').ParserFunction<Root>} */
37963 const parser = (doc) => {
37964 // Assume options.
37965 const settings = /** @type {Options} */ (this.data('settings'))
37966
37967 return (0,mdast_util_from_markdown__WEBPACK_IMPORTED_MODULE_0__.fromMarkdown)(
37968 doc,
37969 Object.assign({}, settings, options, {
37970 // Note: these options are not in the readme.
37971 // The goal is for them to be set by plugins on `data` instead of being
37972 // passed by users.
37973 extensions: this.data('micromarkExtensions') || [],
37974 mdastExtensions: this.data('fromMarkdownExtensions') || []
37975 })
37976 )
37977 }
37978
37979 Object.assign(this, {Parser: parser})
37980 }
37981
37982
37983 /***/ }),
37984
37985 /***/ "../node_modules/remark-rehype/lib/index.js":
37986 /*!**************************************************!*\
37987 !*** ../node_modules/remark-rehype/lib/index.js ***!
37988 \**************************************************/
37989 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
37990
37991 "use strict";
37992 __webpack_require__.r(__webpack_exports__);
37993 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
37994 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
37995 /* harmony export */ });
37996 /* harmony import */ var mdast_util_to_hast__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! mdast-util-to-hast */ "../node_modules/mdast-util-to-hast/lib/index.js");
37997 /**
37998 * @typedef {import('hast').Root} HastRoot
37999 * @typedef {import('mdast').Root} MdastRoot
38000 * @typedef {import('mdast-util-to-hast').Options} Options
38001 * @typedef {import('unified').Processor<any, any, any, any>} Processor
38002 *
38003 * @typedef {import('mdast-util-to-hast')} DoNotTouchAsThisImportIncludesRawInTree
38004 */
38005
38006
38007
38008 // Note: the `<MdastRoot, HastRoot>` overload doesn’t seem to work :'(
38009
38010 /**
38011 * Plugin that turns markdown into HTML to support rehype.
38012 *
38013 * * If a destination processor is given, that processor runs with a new HTML
38014 * (hast) tree (bridge-mode).
38015 * As the given processor runs with a hast tree, and rehype plugins support
38016 * hast, that means rehype plugins can be used with the given processor.
38017 * The hast tree is discarded in the end.
38018 * It’s highly unlikely that you want to do this.
38019 * * The common case is to not pass a destination processor, in which case the
38020 * current processor continues running with a new HTML (hast) tree
38021 * (mutate-mode).
38022 * As the current processor continues with a hast tree, and rehype plugins
38023 * support hast, that means rehype plugins can be used after
38024 * `remark-rehype`.
38025 * It’s likely that this is what you want to do.
38026 *
38027 * @param destination
38028 * Optional unified processor.
38029 * @param options
38030 * Options passed to `mdast-util-to-hast`.
38031 */
38032 const remarkRehype =
38033 /** @type {(import('unified').Plugin<[Processor, Options?]|[null|undefined, Options?]|[Options]|[], MdastRoot>)} */
38034 (
38035 function (destination, options) {
38036 return destination && 'run' in destination
38037 ? bridge(destination, options)
38038 : mutate(destination || options)
38039 }
38040 )
38041
38042 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (remarkRehype);
38043
38044 /**
38045 * Bridge-mode.
38046 * Runs the destination with the new hast tree.
38047 *
38048 * @type {import('unified').Plugin<[Processor, Options?], MdastRoot>}
38049 */
38050 function bridge(destination, options) {
38051 return (node, file, next) => {
38052 destination.run((0,mdast_util_to_hast__WEBPACK_IMPORTED_MODULE_0__.toHast)(node, options), file, (error) => {
38053 next(error)
38054 })
38055 }
38056 }
38057
38058 /**
38059 * Mutate-mode.
38060 * Further plugins run on the hast tree.
38061 *
38062 * @type {import('unified').Plugin<[Options?]|void[], MdastRoot, HastRoot>}
38063 */
38064 function mutate(options) {
38065 // @ts-expect-error: assume a corresponding node is returned by `toHast`.
38066 return (node) => (0,mdast_util_to_hast__WEBPACK_IMPORTED_MODULE_0__.toHast)(node, options)
38067 }
38068
38069
38070 /***/ }),
38071
38072 /***/ "../node_modules/space-separated-tokens/index.js":
38073 /*!*******************************************************!*\
38074 !*** ../node_modules/space-separated-tokens/index.js ***!
38075 \*******************************************************/
38076 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
38077
38078 "use strict";
38079 __webpack_require__.r(__webpack_exports__);
38080 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
38081 /* harmony export */ parse: () => (/* binding */ parse),
38082 /* harmony export */ stringify: () => (/* binding */ stringify)
38083 /* harmony export */ });
38084 /**
38085 * Parse space-separated tokens to an array of strings.
38086 *
38087 * @param {string} value
38088 * Space-separated tokens.
38089 * @returns {Array<string>}
38090 * List of tokens.
38091 */
38092 function parse(value) {
38093 const input = String(value || '').trim()
38094 return input ? input.split(/[ \t\n\r\f]+/g) : []
38095 }
38096
38097 /**
38098 * Serialize an array of strings as space separated-tokens.
38099 *
38100 * @param {Array<string|number>} values
38101 * List of tokens.
38102 * @returns {string}
38103 * Space-separated tokens.
38104 */
38105 function stringify(values) {
38106 return values.join(' ').trim()
38107 }
38108
38109
38110 /***/ }),
38111
38112 /***/ "../node_modules/style-to-object/index.mjs":
38113 /*!*************************************************!*\
38114 !*** ../node_modules/style-to-object/index.mjs ***!
38115 \*************************************************/
38116 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
38117
38118 "use strict";
38119 __webpack_require__.r(__webpack_exports__);
38120 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
38121 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
38122 /* harmony export */ });
38123 /* harmony import */ var _index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index.js */ "../node_modules/style-to-object/index.js");
38124
38125
38126 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_index_js__WEBPACK_IMPORTED_MODULE_0__);
38127
38128
38129 /***/ }),
38130
38131 /***/ "../node_modules/trim-lines/index.js":
38132 /*!*******************************************!*\
38133 !*** ../node_modules/trim-lines/index.js ***!
38134 \*******************************************/
38135 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
38136
38137 "use strict";
38138 __webpack_require__.r(__webpack_exports__);
38139 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
38140 /* harmony export */ trimLines: () => (/* binding */ trimLines)
38141 /* harmony export */ });
38142 const tab = 9 /* `\t` */
38143 const space = 32 /* ` ` */
38144
38145 /**
38146 * Remove initial and final spaces and tabs at the line breaks in `value`.
38147 * Does not trim initial and final spaces and tabs of the value itself.
38148 *
38149 * @param {string} value
38150 * Value to trim.
38151 * @returns {string}
38152 * Trimmed value.
38153 */
38154 function trimLines(value) {
38155 const source = String(value)
38156 const search = /\r?\n|\r/g
38157 let match = search.exec(source)
38158 let last = 0
38159 /** @type {Array<string>} */
38160 const lines = []
38161
38162 while (match) {
38163 lines.push(
38164 trimLine(source.slice(last, match.index), last > 0, true),
38165 match[0]
38166 )
38167
38168 last = match.index + match[0].length
38169 match = search.exec(source)
38170 }
38171
38172 lines.push(trimLine(source.slice(last), last > 0, false))
38173
38174 return lines.join('')
38175 }
38176
38177 /**
38178 * @param {string} value
38179 * Line to trim.
38180 * @param {boolean} start
38181 * Whether to trim the start of the line.
38182 * @param {boolean} end
38183 * Whether to trim the end of the line.
38184 * @returns {string}
38185 * Trimmed line.
38186 */
38187 function trimLine(value, start, end) {
38188 let startIndex = 0
38189 let endIndex = value.length
38190
38191 if (start) {
38192 let code = value.codePointAt(startIndex)
38193
38194 while (code === tab || code === space) {
38195 startIndex++
38196 code = value.codePointAt(startIndex)
38197 }
38198 }
38199
38200 if (end) {
38201 let code = value.codePointAt(endIndex - 1)
38202
38203 while (code === tab || code === space) {
38204 endIndex--
38205 code = value.codePointAt(endIndex - 1)
38206 }
38207 }
38208
38209 return endIndex > startIndex ? value.slice(startIndex, endIndex) : ''
38210 }
38211
38212
38213 /***/ }),
38214
38215 /***/ "../node_modules/trough/index.js":
38216 /*!***************************************!*\
38217 !*** ../node_modules/trough/index.js ***!
38218 \***************************************/
38219 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
38220
38221 "use strict";
38222 __webpack_require__.r(__webpack_exports__);
38223 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
38224 /* harmony export */ trough: () => (/* binding */ trough),
38225 /* harmony export */ wrap: () => (/* binding */ wrap)
38226 /* harmony export */ });
38227 /**
38228 * @typedef {(error?: Error|null|undefined, ...output: Array<any>) => void} Callback
38229 * @typedef {(...input: Array<any>) => any} Middleware
38230 *
38231 * @typedef {(...input: Array<any>) => void} Run
38232 * Call all middleware.
38233 * @typedef {(fn: Middleware) => Pipeline} Use
38234 * Add `fn` (middleware) to the list.
38235 * @typedef {{run: Run, use: Use}} Pipeline
38236 * Middleware.
38237 */
38238
38239 /**
38240 * Create new middleware.
38241 *
38242 * @returns {Pipeline}
38243 */
38244 function trough() {
38245 /** @type {Array<Middleware>} */
38246 const fns = []
38247 /** @type {Pipeline} */
38248 const pipeline = {run, use}
38249
38250 return pipeline
38251
38252 /** @type {Run} */
38253 function run(...values) {
38254 let middlewareIndex = -1
38255 /** @type {Callback} */
38256 const callback = values.pop()
38257
38258 if (typeof callback !== 'function') {
38259 throw new TypeError('Expected function as last argument, not ' + callback)
38260 }
38261
38262 next(null, ...values)
38263
38264 /**
38265 * Run the next `fn`, or we’re done.
38266 *
38267 * @param {Error|null|undefined} error
38268 * @param {Array<any>} output
38269 */
38270 function next(error, ...output) {
38271 const fn = fns[++middlewareIndex]
38272 let index = -1
38273
38274 if (error) {
38275 callback(error)
38276 return
38277 }
38278
38279 // Copy non-nullish input into values.
38280 while (++index < values.length) {
38281 if (output[index] === null || output[index] === undefined) {
38282 output[index] = values[index]
38283 }
38284 }
38285
38286 // Save the newly created `output` for the next call.
38287 values = output
38288
38289 // Next or done.
38290 if (fn) {
38291 wrap(fn, next)(...output)
38292 } else {
38293 callback(null, ...output)
38294 }
38295 }
38296 }
38297
38298 /** @type {Use} */
38299 function use(middelware) {
38300 if (typeof middelware !== 'function') {
38301 throw new TypeError(
38302 'Expected `middelware` to be a function, not ' + middelware
38303 )
38304 }
38305
38306 fns.push(middelware)
38307 return pipeline
38308 }
38309 }
38310
38311 /**
38312 * Wrap `middleware`.
38313 * Can be sync or async; return a promise, receive a callback, or return new
38314 * values and errors.
38315 *
38316 * @param {Middleware} middleware
38317 * @param {Callback} callback
38318 */
38319 function wrap(middleware, callback) {
38320 /** @type {boolean} */
38321 let called
38322
38323 return wrapped
38324
38325 /**
38326 * Call `middleware`.
38327 * @this {any}
38328 * @param {Array<any>} parameters
38329 * @returns {void}
38330 */
38331 function wrapped(...parameters) {
38332 const fnExpectsCallback = middleware.length > parameters.length
38333 /** @type {any} */
38334 let result
38335
38336 if (fnExpectsCallback) {
38337 parameters.push(done)
38338 }
38339
38340 try {
38341 result = middleware.apply(this, parameters)
38342 } catch (error) {
38343 const exception = /** @type {Error} */ (error)
38344
38345 // Well, this is quite the pickle.
38346 // `middleware` received a callback and called it synchronously, but that
38347 // threw an error.
38348 // The only thing left to do is to throw the thing instead.
38349 if (fnExpectsCallback && called) {
38350 throw exception
38351 }
38352
38353 return done(exception)
38354 }
38355
38356 if (!fnExpectsCallback) {
38357 if (result instanceof Promise) {
38358 result.then(then, done)
38359 } else if (result instanceof Error) {
38360 done(result)
38361 } else {
38362 then(result)
38363 }
38364 }
38365 }
38366
38367 /**
38368 * Call `callback`, only once.
38369 * @type {Callback}
38370 */
38371 function done(error, ...output) {
38372 if (!called) {
38373 called = true
38374 callback(error, ...output)
38375 }
38376 }
38377
38378 /**
38379 * Call `done` with one value.
38380 *
38381 * @param {any} [value]
38382 */
38383 function then(value) {
38384 done(null, value)
38385 }
38386 }
38387
38388
38389 /***/ }),
38390
38391 /***/ "../node_modules/unified/lib/index.js":
38392 /*!********************************************!*\
38393 !*** ../node_modules/unified/lib/index.js ***!
38394 \********************************************/
38395 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
38396
38397 "use strict";
38398 __webpack_require__.r(__webpack_exports__);
38399 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
38400 /* harmony export */ unified: () => (/* binding */ unified)
38401 /* harmony export */ });
38402 /* harmony import */ var bail__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! bail */ "../node_modules/bail/index.js");
38403 /* harmony import */ var is_buffer__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! is-buffer */ "../node_modules/is-buffer/index.js");
38404 /* harmony import */ var extend__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! extend */ "../node_modules/extend/index.js");
38405 /* harmony import */ var is_plain_obj__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! is-plain-obj */ "../node_modules/is-plain-obj/index.js");
38406 /* harmony import */ var trough__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! trough */ "../node_modules/trough/index.js");
38407 /* harmony import */ var vfile__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! vfile */ "../node_modules/vfile/lib/index.js");
38408 /**
38409 * @typedef {import('unist').Node} Node
38410 * @typedef {import('vfile').VFileCompatible} VFileCompatible
38411 * @typedef {import('vfile').VFileValue} VFileValue
38412 * @typedef {import('..').Processor} Processor
38413 * @typedef {import('..').Plugin} Plugin
38414 * @typedef {import('..').Preset} Preset
38415 * @typedef {import('..').Pluggable} Pluggable
38416 * @typedef {import('..').PluggableList} PluggableList
38417 * @typedef {import('..').Transformer} Transformer
38418 * @typedef {import('..').Parser} Parser
38419 * @typedef {import('..').Compiler} Compiler
38420 * @typedef {import('..').RunCallback} RunCallback
38421 * @typedef {import('..').ProcessCallback} ProcessCallback
38422 *
38423 * @typedef Context
38424 * @property {Node} tree
38425 * @property {VFile} file
38426 */
38427
38428
38429
38430
38431
38432
38433
38434
38435 // Expose a frozen processor.
38436 const unified = base().freeze()
38437
38438 const own = {}.hasOwnProperty
38439
38440 // Function to create the first processor.
38441 /**
38442 * @returns {Processor}
38443 */
38444 function base() {
38445 const transformers = (0,trough__WEBPACK_IMPORTED_MODULE_3__.trough)()
38446 /** @type {Processor['attachers']} */
38447 const attachers = []
38448 /** @type {Record<string, unknown>} */
38449 let namespace = {}
38450 /** @type {boolean|undefined} */
38451 let frozen
38452 let freezeIndex = -1
38453
38454 // Data management.
38455 // @ts-expect-error: overloads are handled.
38456 processor.data = data
38457 processor.Parser = undefined
38458 processor.Compiler = undefined
38459
38460 // Lock.
38461 processor.freeze = freeze
38462
38463 // Plugins.
38464 processor.attachers = attachers
38465 // @ts-expect-error: overloads are handled.
38466 processor.use = use
38467
38468 // API.
38469 processor.parse = parse
38470 processor.stringify = stringify
38471 // @ts-expect-error: overloads are handled.
38472 processor.run = run
38473 processor.runSync = runSync
38474 // @ts-expect-error: overloads are handled.
38475 processor.process = process
38476 processor.processSync = processSync
38477
38478 // Expose.
38479 return processor
38480
38481 // Create a new processor based on the processor in the current scope.
38482 /** @type {Processor} */
38483 function processor() {
38484 const destination = base()
38485 let index = -1
38486
38487 while (++index < attachers.length) {
38488 destination.use(...attachers[index])
38489 }
38490
38491 destination.data(extend__WEBPACK_IMPORTED_MODULE_1__(true, {}, namespace))
38492
38493 return destination
38494 }
38495
38496 /**
38497 * @param {string|Record<string, unknown>} [key]
38498 * @param {unknown} [value]
38499 * @returns {unknown}
38500 */
38501 function data(key, value) {
38502 if (typeof key === 'string') {
38503 // Set `key`.
38504 if (arguments.length === 2) {
38505 assertUnfrozen('data', frozen)
38506 namespace[key] = value
38507 return processor
38508 }
38509
38510 // Get `key`.
38511 return (own.call(namespace, key) && namespace[key]) || null
38512 }
38513
38514 // Set space.
38515 if (key) {
38516 assertUnfrozen('data', frozen)
38517 namespace = key
38518 return processor
38519 }
38520
38521 // Get space.
38522 return namespace
38523 }
38524
38525 /** @type {Processor['freeze']} */
38526 function freeze() {
38527 if (frozen) {
38528 return processor
38529 }
38530
38531 while (++freezeIndex < attachers.length) {
38532 const [attacher, ...options] = attachers[freezeIndex]
38533
38534 if (options[0] === false) {
38535 continue
38536 }
38537
38538 if (options[0] === true) {
38539 options[0] = undefined
38540 }
38541
38542 /** @type {Transformer|void} */
38543 const transformer = attacher.call(processor, ...options)
38544
38545 if (typeof transformer === 'function') {
38546 transformers.use(transformer)
38547 }
38548 }
38549
38550 frozen = true
38551 freezeIndex = Number.POSITIVE_INFINITY
38552
38553 return processor
38554 }
38555
38556 /**
38557 * @param {Pluggable|null|undefined} [value]
38558 * @param {...unknown} options
38559 * @returns {Processor}
38560 */
38561 function use(value, ...options) {
38562 /** @type {Record<string, unknown>|undefined} */
38563 let settings
38564
38565 assertUnfrozen('use', frozen)
38566
38567 if (value === null || value === undefined) {
38568 // Empty.
38569 } else if (typeof value === 'function') {
38570 addPlugin(value, ...options)
38571 } else if (typeof value === 'object') {
38572 if (Array.isArray(value)) {
38573 addList(value)
38574 } else {
38575 addPreset(value)
38576 }
38577 } else {
38578 throw new TypeError('Expected usable value, not `' + value + '`')
38579 }
38580
38581 if (settings) {
38582 namespace.settings = Object.assign(namespace.settings || {}, settings)
38583 }
38584
38585 return processor
38586
38587 /**
38588 * @param {import('..').Pluggable<unknown[]>} value
38589 * @returns {void}
38590 */
38591 function add(value) {
38592 if (typeof value === 'function') {
38593 addPlugin(value)
38594 } else if (typeof value === 'object') {
38595 if (Array.isArray(value)) {
38596 const [plugin, ...options] = value
38597 addPlugin(plugin, ...options)
38598 } else {
38599 addPreset(value)
38600 }
38601 } else {
38602 throw new TypeError('Expected usable value, not `' + value + '`')
38603 }
38604 }
38605
38606 /**
38607 * @param {Preset} result
38608 * @returns {void}
38609 */
38610 function addPreset(result) {
38611 addList(result.plugins)
38612
38613 if (result.settings) {
38614 settings = Object.assign(settings || {}, result.settings)
38615 }
38616 }
38617
38618 /**
38619 * @param {PluggableList|null|undefined} [plugins]
38620 * @returns {void}
38621 */
38622 function addList(plugins) {
38623 let index = -1
38624
38625 if (plugins === null || plugins === undefined) {
38626 // Empty.
38627 } else if (Array.isArray(plugins)) {
38628 while (++index < plugins.length) {
38629 const thing = plugins[index]
38630 add(thing)
38631 }
38632 } else {
38633 throw new TypeError('Expected a list of plugins, not `' + plugins + '`')
38634 }
38635 }
38636
38637 /**
38638 * @param {Plugin} plugin
38639 * @param {...unknown} [value]
38640 * @returns {void}
38641 */
38642 function addPlugin(plugin, value) {
38643 let index = -1
38644 /** @type {Processor['attachers'][number]|undefined} */
38645 let entry
38646
38647 while (++index < attachers.length) {
38648 if (attachers[index][0] === plugin) {
38649 entry = attachers[index]
38650 break
38651 }
38652 }
38653
38654 if (entry) {
38655 if ((0,is_plain_obj__WEBPACK_IMPORTED_MODULE_2__["default"])(entry[1]) && (0,is_plain_obj__WEBPACK_IMPORTED_MODULE_2__["default"])(value)) {
38656 value = extend__WEBPACK_IMPORTED_MODULE_1__(true, entry[1], value)
38657 }
38658
38659 entry[1] = value
38660 } else {
38661 // @ts-expect-error: fine.
38662 attachers.push([...arguments])
38663 }
38664 }
38665 }
38666
38667 /** @type {Processor['parse']} */
38668 function parse(doc) {
38669 processor.freeze()
38670 const file = vfile(doc)
38671 const Parser = processor.Parser
38672 assertParser('parse', Parser)
38673
38674 if (newable(Parser, 'parse')) {
38675 // @ts-expect-error: `newable` checks this.
38676 return new Parser(String(file), file).parse()
38677 }
38678
38679 // @ts-expect-error: `newable` checks this.
38680 return Parser(String(file), file) // eslint-disable-line new-cap
38681 }
38682
38683 /** @type {Processor['stringify']} */
38684 function stringify(node, doc) {
38685 processor.freeze()
38686 const file = vfile(doc)
38687 const Compiler = processor.Compiler
38688 assertCompiler('stringify', Compiler)
38689 assertNode(node)
38690
38691 if (newable(Compiler, 'compile')) {
38692 // @ts-expect-error: `newable` checks this.
38693 return new Compiler(node, file).compile()
38694 }
38695
38696 // @ts-expect-error: `newable` checks this.
38697 return Compiler(node, file) // eslint-disable-line new-cap
38698 }
38699
38700 /**
38701 * @param {Node} node
38702 * @param {VFileCompatible|RunCallback} [doc]
38703 * @param {RunCallback} [callback]
38704 * @returns {Promise<Node>|void}
38705 */
38706 function run(node, doc, callback) {
38707 assertNode(node)
38708 processor.freeze()
38709
38710 if (!callback && typeof doc === 'function') {
38711 callback = doc
38712 doc = undefined
38713 }
38714
38715 if (!callback) {
38716 return new Promise(executor)
38717 }
38718
38719 executor(null, callback)
38720
38721 /**
38722 * @param {null|((node: Node) => void)} resolve
38723 * @param {(error: Error) => void} reject
38724 * @returns {void}
38725 */
38726 function executor(resolve, reject) {
38727 // @ts-expect-error: `doc` can’t be a callback anymore, we checked.
38728 transformers.run(node, vfile(doc), done)
38729
38730 /**
38731 * @param {Error|null} error
38732 * @param {Node} tree
38733 * @param {VFile} file
38734 * @returns {void}
38735 */
38736 function done(error, tree, file) {
38737 tree = tree || node
38738 if (error) {
38739 reject(error)
38740 } else if (resolve) {
38741 resolve(tree)
38742 } else {
38743 // @ts-expect-error: `callback` is defined if `resolve` is not.
38744 callback(null, tree, file)
38745 }
38746 }
38747 }
38748 }
38749
38750 /** @type {Processor['runSync']} */
38751 function runSync(node, file) {
38752 /** @type {Node|undefined} */
38753 let result
38754 /** @type {boolean|undefined} */
38755 let complete
38756
38757 processor.run(node, file, done)
38758
38759 assertDone('runSync', 'run', complete)
38760
38761 // @ts-expect-error: we either bailed on an error or have a tree.
38762 return result
38763
38764 /**
38765 * @param {Error|null} [error]
38766 * @param {Node} [tree]
38767 * @returns {void}
38768 */
38769 function done(error, tree) {
38770 ;(0,bail__WEBPACK_IMPORTED_MODULE_4__.bail)(error)
38771 result = tree
38772 complete = true
38773 }
38774 }
38775
38776 /**
38777 * @param {VFileCompatible} doc
38778 * @param {ProcessCallback} [callback]
38779 * @returns {Promise<VFile>|undefined}
38780 */
38781 function process(doc, callback) {
38782 processor.freeze()
38783 assertParser('process', processor.Parser)
38784 assertCompiler('process', processor.Compiler)
38785
38786 if (!callback) {
38787 return new Promise(executor)
38788 }
38789
38790 executor(null, callback)
38791
38792 /**
38793 * @param {null|((file: VFile) => void)} resolve
38794 * @param {(error?: Error|null|undefined) => void} reject
38795 * @returns {void}
38796 */
38797 function executor(resolve, reject) {
38798 const file = vfile(doc)
38799
38800 processor.run(processor.parse(file), file, (error, tree, file) => {
38801 if (error || !tree || !file) {
38802 done(error)
38803 } else {
38804 /** @type {unknown} */
38805 const result = processor.stringify(tree, file)
38806
38807 if (result === undefined || result === null) {
38808 // Empty.
38809 } else if (looksLikeAVFileValue(result)) {
38810 file.value = result
38811 } else {
38812 file.result = result
38813 }
38814
38815 done(error, file)
38816 }
38817 })
38818
38819 /**
38820 * @param {Error|null|undefined} [error]
38821 * @param {VFile|undefined} [file]
38822 * @returns {void}
38823 */
38824 function done(error, file) {
38825 if (error || !file) {
38826 reject(error)
38827 } else if (resolve) {
38828 resolve(file)
38829 } else {
38830 // @ts-expect-error: `callback` is defined if `resolve` is not.
38831 callback(null, file)
38832 }
38833 }
38834 }
38835 }
38836
38837 /** @type {Processor['processSync']} */
38838 function processSync(doc) {
38839 /** @type {boolean|undefined} */
38840 let complete
38841
38842 processor.freeze()
38843 assertParser('processSync', processor.Parser)
38844 assertCompiler('processSync', processor.Compiler)
38845
38846 const file = vfile(doc)
38847
38848 processor.process(file, done)
38849
38850 assertDone('processSync', 'process', complete)
38851
38852 return file
38853
38854 /**
38855 * @param {Error|null|undefined} [error]
38856 * @returns {void}
38857 */
38858 function done(error) {
38859 complete = true
38860 ;(0,bail__WEBPACK_IMPORTED_MODULE_4__.bail)(error)
38861 }
38862 }
38863 }
38864
38865 /**
38866 * Check if `value` is a constructor.
38867 *
38868 * @param {unknown} value
38869 * @param {string} name
38870 * @returns {boolean}
38871 */
38872 function newable(value, name) {
38873 return (
38874 typeof value === 'function' &&
38875 // Prototypes do exist.
38876 // type-coverage:ignore-next-line
38877 value.prototype &&
38878 // A function with keys in its prototype is probably a constructor.
38879 // Classes’ prototype methods are not enumerable, so we check if some value
38880 // exists in the prototype.
38881 // type-coverage:ignore-next-line
38882 (keys(value.prototype) || name in value.prototype)
38883 )
38884 }
38885
38886 /**
38887 * Check if `value` is an object with keys.
38888 *
38889 * @param {Record<string, unknown>} value
38890 * @returns {boolean}
38891 */
38892 function keys(value) {
38893 /** @type {string} */
38894 let key
38895
38896 for (key in value) {
38897 if (own.call(value, key)) {
38898 return true
38899 }
38900 }
38901
38902 return false
38903 }
38904
38905 /**
38906 * Assert a parser is available.
38907 *
38908 * @param {string} name
38909 * @param {unknown} value
38910 * @returns {asserts value is Parser}
38911 */
38912 function assertParser(name, value) {
38913 if (typeof value !== 'function') {
38914 throw new TypeError('Cannot `' + name + '` without `Parser`')
38915 }
38916 }
38917
38918 /**
38919 * Assert a compiler is available.
38920 *
38921 * @param {string} name
38922 * @param {unknown} value
38923 * @returns {asserts value is Compiler}
38924 */
38925 function assertCompiler(name, value) {
38926 if (typeof value !== 'function') {
38927 throw new TypeError('Cannot `' + name + '` without `Compiler`')
38928 }
38929 }
38930
38931 /**
38932 * Assert the processor is not frozen.
38933 *
38934 * @param {string} name
38935 * @param {unknown} frozen
38936 * @returns {asserts frozen is false}
38937 */
38938 function assertUnfrozen(name, frozen) {
38939 if (frozen) {
38940 throw new Error(
38941 'Cannot call `' +
38942 name +
38943 '` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.'
38944 )
38945 }
38946 }
38947
38948 /**
38949 * Assert `node` is a unist node.
38950 *
38951 * @param {unknown} node
38952 * @returns {asserts node is Node}
38953 */
38954 function assertNode(node) {
38955 // `isPlainObj` unfortunately uses `any` instead of `unknown`.
38956 // type-coverage:ignore-next-line
38957 if (!(0,is_plain_obj__WEBPACK_IMPORTED_MODULE_2__["default"])(node) || typeof node.type !== 'string') {
38958 throw new TypeError('Expected node, got `' + node + '`')
38959 // Fine.
38960 }
38961 }
38962
38963 /**
38964 * Assert that `complete` is `true`.
38965 *
38966 * @param {string} name
38967 * @param {string} asyncName
38968 * @param {unknown} complete
38969 * @returns {asserts complete is true}
38970 */
38971 function assertDone(name, asyncName, complete) {
38972 if (!complete) {
38973 throw new Error(
38974 '`' + name + '` finished async. Use `' + asyncName + '` instead'
38975 )
38976 }
38977 }
38978
38979 /**
38980 * @param {VFileCompatible} [value]
38981 * @returns {VFile}
38982 */
38983 function vfile(value) {
38984 return looksLikeAVFile(value) ? value : new vfile__WEBPACK_IMPORTED_MODULE_5__.VFile(value)
38985 }
38986
38987 /**
38988 * @param {VFileCompatible} [value]
38989 * @returns {value is VFile}
38990 */
38991 function looksLikeAVFile(value) {
38992 return Boolean(
38993 value &&
38994 typeof value === 'object' &&
38995 'message' in value &&
38996 'messages' in value
38997 )
38998 }
38999
39000 /**
39001 * @param {unknown} [value]
39002 * @returns {value is VFileValue}
39003 */
39004 function looksLikeAVFileValue(value) {
39005 return typeof value === 'string' || is_buffer__WEBPACK_IMPORTED_MODULE_0__(value)
39006 }
39007
39008
39009 /***/ }),
39010
39011 /***/ "../node_modules/unist-util-generated/lib/index.js":
39012 /*!*********************************************************!*\
39013 !*** ../node_modules/unist-util-generated/lib/index.js ***!
39014 \*********************************************************/
39015 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
39016
39017 "use strict";
39018 __webpack_require__.r(__webpack_exports__);
39019 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
39020 /* harmony export */ generated: () => (/* binding */ generated)
39021 /* harmony export */ });
39022 /**
39023 * @typedef PointLike
39024 * @property {number | null | undefined} [line]
39025 * @property {number | null | undefined} [column]
39026 * @property {number | null | undefined} [offset]
39027 *
39028 * @typedef PositionLike
39029 * @property {PointLike | null | undefined} [start]
39030 * @property {PointLike | null | undefined} [end]
39031 *
39032 * @typedef NodeLike
39033 * @property {PositionLike | null | undefined} [position]
39034 */
39035
39036 /**
39037 * Check if `node` is generated.
39038 *
39039 * @param {NodeLike | null | undefined} [node]
39040 * Node to check.
39041 * @returns {boolean}
39042 * Whether `node` is generated (does not have positional info).
39043 */
39044 function generated(node) {
39045 return (
39046 !node ||
39047 !node.position ||
39048 !node.position.start ||
39049 !node.position.start.line ||
39050 !node.position.start.column ||
39051 !node.position.end ||
39052 !node.position.end.line ||
39053 !node.position.end.column
39054 )
39055 }
39056
39057
39058 /***/ }),
39059
39060 /***/ "../node_modules/unist-util-is/lib/index.js":
39061 /*!**************************************************!*\
39062 !*** ../node_modules/unist-util-is/lib/index.js ***!
39063 \**************************************************/
39064 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
39065
39066 "use strict";
39067 __webpack_require__.r(__webpack_exports__);
39068 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
39069 /* harmony export */ convert: () => (/* binding */ convert),
39070 /* harmony export */ is: () => (/* binding */ is)
39071 /* harmony export */ });
39072 /**
39073 * @typedef {import('unist').Node} Node
39074 * @typedef {import('unist').Parent} Parent
39075 */
39076
39077 /**
39078 * @typedef {Record<string, unknown>} Props
39079 * @typedef {null | undefined | string | Props | TestFunctionAnything | Array<string | Props | TestFunctionAnything>} Test
39080 * Check for an arbitrary node, unaware of TypeScript inferral.
39081 *
39082 * @callback TestFunctionAnything
39083 * Check if a node passes a test, unaware of TypeScript inferral.
39084 * @param {unknown} this
39085 * The given context.
39086 * @param {Node} node
39087 * A node.
39088 * @param {number | null | undefined} [index]
39089 * The node’s position in its parent.
39090 * @param {Parent | null | undefined} [parent]
39091 * The node’s parent.
39092 * @returns {boolean | void}
39093 * Whether this node passes the test.
39094 */
39095
39096 /**
39097 * @template {Node} Kind
39098 * Node type.
39099 * @typedef {Kind['type'] | Partial<Kind> | TestFunctionPredicate<Kind> | Array<Kind['type'] | Partial<Kind> | TestFunctionPredicate<Kind>>} PredicateTest
39100 * Check for a node that can be inferred by TypeScript.
39101 */
39102
39103 /**
39104 * Check if a node passes a certain test.
39105 *
39106 * @template {Node} Kind
39107 * Node type.
39108 * @callback TestFunctionPredicate
39109 * Complex test function for a node that can be inferred by TypeScript.
39110 * @param {Node} node
39111 * A node.
39112 * @param {number | null | undefined} [index]
39113 * The node’s position in its parent.
39114 * @param {Parent | null | undefined} [parent]
39115 * The node’s parent.
39116 * @returns {node is Kind}
39117 * Whether this node passes the test.
39118 */
39119
39120 /**
39121 * @callback AssertAnything
39122 * Check that an arbitrary value is a node, unaware of TypeScript inferral.
39123 * @param {unknown} [node]
39124 * Anything (typically a node).
39125 * @param {number | null | undefined} [index]
39126 * The node’s position in its parent.
39127 * @param {Parent | null | undefined} [parent]
39128 * The node’s parent.
39129 * @returns {boolean}
39130 * Whether this is a node and passes a test.
39131 */
39132
39133 /**
39134 * Check if a node is a node and passes a certain node test.
39135 *
39136 * @template {Node} Kind
39137 * Node type.
39138 * @callback AssertPredicate
39139 * Check that an arbitrary value is a specific node, aware of TypeScript.
39140 * @param {unknown} [node]
39141 * Anything (typically a node).
39142 * @param {number | null | undefined} [index]
39143 * The node’s position in its parent.
39144 * @param {Parent | null | undefined} [parent]
39145 * The node’s parent.
39146 * @returns {node is Kind}
39147 * Whether this is a node and passes a test.
39148 */
39149
39150 /**
39151 * Check if `node` is a `Node` and whether it passes the given test.
39152 *
39153 * @param node
39154 * Thing to check, typically `Node`.
39155 * @param test
39156 * A check for a specific node.
39157 * @param index
39158 * The node’s position in its parent.
39159 * @param parent
39160 * The node’s parent.
39161 * @returns
39162 * Whether `node` is a node and passes a test.
39163 */
39164 const is =
39165 /**
39166 * @type {(
39167 * (() => false) &
39168 * (<Kind extends Node = Node>(node: unknown, test: PredicateTest<Kind>, index: number, parent: Parent, context?: unknown) => node is Kind) &
39169 * (<Kind extends Node = Node>(node: unknown, test: PredicateTest<Kind>, index?: null | undefined, parent?: null | undefined, context?: unknown) => node is Kind) &
39170 * ((node: unknown, test: Test, index: number, parent: Parent, context?: unknown) => boolean) &
39171 * ((node: unknown, test?: Test, index?: null | undefined, parent?: null | undefined, context?: unknown) => boolean)
39172 * )}
39173 */
39174 (
39175 /**
39176 * @param {unknown} [node]
39177 * @param {Test} [test]
39178 * @param {number | null | undefined} [index]
39179 * @param {Parent | null | undefined} [parent]
39180 * @param {unknown} [context]
39181 * @returns {boolean}
39182 */
39183 // eslint-disable-next-line max-params
39184 function is(node, test, index, parent, context) {
39185 const check = convert(test)
39186
39187 if (
39188 index !== undefined &&
39189 index !== null &&
39190 (typeof index !== 'number' ||
39191 index < 0 ||
39192 index === Number.POSITIVE_INFINITY)
39193 ) {
39194 throw new Error('Expected positive finite index')
39195 }
39196
39197 if (
39198 parent !== undefined &&
39199 parent !== null &&
39200 (!is(parent) || !parent.children)
39201 ) {
39202 throw new Error('Expected parent node')
39203 }
39204
39205 if (
39206 (parent === undefined || parent === null) !==
39207 (index === undefined || index === null)
39208 ) {
39209 throw new Error('Expected both parent and index')
39210 }
39211
39212 // @ts-expect-error Looks like a node.
39213 return node && node.type && typeof node.type === 'string'
39214 ? Boolean(check.call(context, node, index, parent))
39215 : false
39216 }
39217 )
39218
39219 /**
39220 * Generate an assertion from a test.
39221 *
39222 * Useful if you’re going to test many nodes, for example when creating a
39223 * utility where something else passes a compatible test.
39224 *
39225 * The created function is a bit faster because it expects valid input only:
39226 * a `node`, `index`, and `parent`.
39227 *
39228 * @param test
39229 * * when nullish, checks if `node` is a `Node`.
39230 * * when `string`, works like passing `(node) => node.type === test`.
39231 * * when `function` checks if function passed the node is true.
39232 * * when `object`, checks that all keys in test are in node, and that they have (strictly) equal values.
39233 * * when `array`, checks if any one of the subtests pass.
39234 * @returns
39235 * An assertion.
39236 */
39237 const convert =
39238 /**
39239 * @type {(
39240 * (<Kind extends Node>(test: PredicateTest<Kind>) => AssertPredicate<Kind>) &
39241 * ((test?: Test) => AssertAnything)
39242 * )}
39243 */
39244 (
39245 /**
39246 * @param {Test} [test]
39247 * @returns {AssertAnything}
39248 */
39249 function (test) {
39250 if (test === undefined || test === null) {
39251 return ok
39252 }
39253
39254 if (typeof test === 'string') {
39255 return typeFactory(test)
39256 }
39257
39258 if (typeof test === 'object') {
39259 return Array.isArray(test) ? anyFactory(test) : propsFactory(test)
39260 }
39261
39262 if (typeof test === 'function') {
39263 return castFactory(test)
39264 }
39265
39266 throw new Error('Expected function, string, or object as test')
39267 }
39268 )
39269
39270 /**
39271 * @param {Array<string | Props | TestFunctionAnything>} tests
39272 * @returns {AssertAnything}
39273 */
39274 function anyFactory(tests) {
39275 /** @type {Array<AssertAnything>} */
39276 const checks = []
39277 let index = -1
39278
39279 while (++index < tests.length) {
39280 checks[index] = convert(tests[index])
39281 }
39282
39283 return castFactory(any)
39284
39285 /**
39286 * @this {unknown}
39287 * @param {Array<unknown>} parameters
39288 * @returns {boolean}
39289 */
39290 function any(...parameters) {
39291 let index = -1
39292
39293 while (++index < checks.length) {
39294 if (checks[index].call(this, ...parameters)) return true
39295 }
39296
39297 return false
39298 }
39299 }
39300
39301 /**
39302 * Turn an object into a test for a node with a certain fields.
39303 *
39304 * @param {Props} check
39305 * @returns {AssertAnything}
39306 */
39307 function propsFactory(check) {
39308 return castFactory(all)
39309
39310 /**
39311 * @param {Node} node
39312 * @returns {boolean}
39313 */
39314 function all(node) {
39315 /** @type {string} */
39316 let key
39317
39318 for (key in check) {
39319 // @ts-expect-error: hush, it sure works as an index.
39320 if (node[key] !== check[key]) return false
39321 }
39322
39323 return true
39324 }
39325 }
39326
39327 /**
39328 * Turn a string into a test for a node with a certain type.
39329 *
39330 * @param {string} check
39331 * @returns {AssertAnything}
39332 */
39333 function typeFactory(check) {
39334 return castFactory(type)
39335
39336 /**
39337 * @param {Node} node
39338 */
39339 function type(node) {
39340 return node && node.type === check
39341 }
39342 }
39343
39344 /**
39345 * Turn a custom test into a test for a node that passes that test.
39346 *
39347 * @param {TestFunctionAnything} check
39348 * @returns {AssertAnything}
39349 */
39350 function castFactory(check) {
39351 return assertion
39352
39353 /**
39354 * @this {unknown}
39355 * @param {unknown} node
39356 * @param {Array<unknown>} parameters
39357 * @returns {boolean}
39358 */
39359 function assertion(node, ...parameters) {
39360 return Boolean(
39361 node &&
39362 typeof node === 'object' &&
39363 'type' in node &&
39364 // @ts-expect-error: fine.
39365 Boolean(check.call(this, node, ...parameters))
39366 )
39367 }
39368 }
39369
39370 function ok() {
39371 return true
39372 }
39373
39374
39375 /***/ }),
39376
39377 /***/ "../node_modules/unist-util-position/lib/index.js":
39378 /*!********************************************************!*\
39379 !*** ../node_modules/unist-util-position/lib/index.js ***!
39380 \********************************************************/
39381 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
39382
39383 "use strict";
39384 __webpack_require__.r(__webpack_exports__);
39385 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
39386 /* harmony export */ pointEnd: () => (/* binding */ pointEnd),
39387 /* harmony export */ pointStart: () => (/* binding */ pointStart),
39388 /* harmony export */ position: () => (/* binding */ position)
39389 /* harmony export */ });
39390 /**
39391 * @typedef {import('unist').Position} Position
39392 * @typedef {import('unist').Node} Node
39393 * @typedef {import('unist').Point} Point
39394 */
39395
39396 /**
39397 * @typedef NodeLike
39398 * @property {string} type
39399 * @property {PositionLike | null | undefined} [position]
39400 *
39401 * @typedef PositionLike
39402 * @property {PointLike | null | undefined} [start]
39403 * @property {PointLike | null | undefined} [end]
39404 *
39405 * @typedef PointLike
39406 * @property {number | null | undefined} [line]
39407 * @property {number | null | undefined} [column]
39408 * @property {number | null | undefined} [offset]
39409 */
39410
39411 /**
39412 * Get the starting point of `node`.
39413 *
39414 * @param node
39415 * Node.
39416 * @returns
39417 * Point.
39418 */
39419 const pointStart = point('start')
39420
39421 /**
39422 * Get the ending point of `node`.
39423 *
39424 * @param node
39425 * Node.
39426 * @returns
39427 * Point.
39428 */
39429 const pointEnd = point('end')
39430
39431 /**
39432 * Get the positional info of `node`.
39433 *
39434 * @param {NodeLike | Node | null | undefined} [node]
39435 * Node.
39436 * @returns {Position}
39437 * Position.
39438 */
39439 function position(node) {
39440 return {start: pointStart(node), end: pointEnd(node)}
39441 }
39442
39443 /**
39444 * Get the positional info of `node`.
39445 *
39446 * @param {'start' | 'end'} type
39447 * Side.
39448 * @returns
39449 * Getter.
39450 */
39451 function point(type) {
39452 return point
39453
39454 /**
39455 * Get the point info of `node` at a bound side.
39456 *
39457 * @param {NodeLike | Node | null | undefined} [node]
39458 * @returns {Point}
39459 */
39460 function point(node) {
39461 const point = (node && node.position && node.position[type]) || {}
39462
39463 // To do: next major: don’t return points when invalid.
39464 return {
39465 // @ts-expect-error: in practice, null is allowed.
39466 line: point.line || null,
39467 // @ts-expect-error: in practice, null is allowed.
39468 column: point.column || null,
39469 // @ts-expect-error: in practice, null is allowed.
39470 offset: point.offset > -1 ? point.offset : null
39471 }
39472 }
39473 }
39474
39475
39476 /***/ }),
39477
39478 /***/ "../node_modules/unist-util-stringify-position/lib/index.js":
39479 /*!******************************************************************!*\
39480 !*** ../node_modules/unist-util-stringify-position/lib/index.js ***!
39481 \******************************************************************/
39482 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
39483
39484 "use strict";
39485 __webpack_require__.r(__webpack_exports__);
39486 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
39487 /* harmony export */ stringifyPosition: () => (/* binding */ stringifyPosition)
39488 /* harmony export */ });
39489 /**
39490 * @typedef {import('unist').Node} Node
39491 * @typedef {import('unist').Point} Point
39492 * @typedef {import('unist').Position} Position
39493 */
39494
39495 /**
39496 * @typedef NodeLike
39497 * @property {string} type
39498 * @property {PositionLike | null | undefined} [position]
39499 *
39500 * @typedef PositionLike
39501 * @property {PointLike | null | undefined} [start]
39502 * @property {PointLike | null | undefined} [end]
39503 *
39504 * @typedef PointLike
39505 * @property {number | null | undefined} [line]
39506 * @property {number | null | undefined} [column]
39507 * @property {number | null | undefined} [offset]
39508 */
39509
39510 /**
39511 * Serialize the positional info of a point, position (start and end points),
39512 * or node.
39513 *
39514 * @param {Node | NodeLike | Position | PositionLike | Point | PointLike | null | undefined} [value]
39515 * Node, position, or point.
39516 * @returns {string}
39517 * Pretty printed positional info of a node (`string`).
39518 *
39519 * In the format of a range `ls:cs-le:ce` (when given `node` or `position`)
39520 * or a point `l:c` (when given `point`), where `l` stands for line, `c` for
39521 * column, `s` for `start`, and `e` for end.
39522 * An empty string (`''`) is returned if the given value is neither `node`,
39523 * `position`, nor `point`.
39524 */
39525 function stringifyPosition(value) {
39526 // Nothing.
39527 if (!value || typeof value !== 'object') {
39528 return ''
39529 }
39530
39531 // Node.
39532 if ('position' in value || 'type' in value) {
39533 return position(value.position)
39534 }
39535
39536 // Position.
39537 if ('start' in value || 'end' in value) {
39538 return position(value)
39539 }
39540
39541 // Point.
39542 if ('line' in value || 'column' in value) {
39543 return point(value)
39544 }
39545
39546 // ?
39547 return ''
39548 }
39549
39550 /**
39551 * @param {Point | PointLike | null | undefined} point
39552 * @returns {string}
39553 */
39554 function point(point) {
39555 return index(point && point.line) + ':' + index(point && point.column)
39556 }
39557
39558 /**
39559 * @param {Position | PositionLike | null | undefined} pos
39560 * @returns {string}
39561 */
39562 function position(pos) {
39563 return point(pos && pos.start) + '-' + point(pos && pos.end)
39564 }
39565
39566 /**
39567 * @param {number | null | undefined} value
39568 * @returns {number}
39569 */
39570 function index(value) {
39571 return value && typeof value === 'number' ? value : 1
39572 }
39573
39574
39575 /***/ }),
39576
39577 /***/ "../node_modules/unist-util-visit-parents/lib/color.browser.js":
39578 /*!*********************************************************************!*\
39579 !*** ../node_modules/unist-util-visit-parents/lib/color.browser.js ***!
39580 \*********************************************************************/
39581 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
39582
39583 "use strict";
39584 __webpack_require__.r(__webpack_exports__);
39585 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
39586 /* harmony export */ color: () => (/* binding */ color)
39587 /* harmony export */ });
39588 /**
39589 * @param {string} d
39590 * @returns {string}
39591 */
39592 function color(d) {
39593 return d
39594 }
39595
39596
39597 /***/ }),
39598
39599 /***/ "../node_modules/unist-util-visit-parents/lib/index.js":
39600 /*!*************************************************************!*\
39601 !*** ../node_modules/unist-util-visit-parents/lib/index.js ***!
39602 \*************************************************************/
39603 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
39604
39605 "use strict";
39606 __webpack_require__.r(__webpack_exports__);
39607 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
39608 /* harmony export */ CONTINUE: () => (/* binding */ CONTINUE),
39609 /* harmony export */ EXIT: () => (/* binding */ EXIT),
39610 /* harmony export */ SKIP: () => (/* binding */ SKIP),
39611 /* harmony export */ visitParents: () => (/* binding */ visitParents)
39612 /* harmony export */ });
39613 /* harmony import */ var unist_util_is__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! unist-util-is */ "../node_modules/unist-util-is/lib/index.js");
39614 /* harmony import */ var _color_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./color.js */ "../node_modules/unist-util-visit-parents/lib/color.browser.js");
39615 /**
39616 * @typedef {import('unist').Node} Node
39617 * @typedef {import('unist').Parent} Parent
39618 * @typedef {import('unist-util-is').Test} Test
39619 */
39620
39621 /**
39622 * @typedef {boolean | 'skip'} Action
39623 * Union of the action types.
39624 *
39625 * @typedef {number} Index
39626 * Move to the sibling at `index` next (after node itself is completely
39627 * traversed).
39628 *
39629 * Useful if mutating the tree, such as removing the node the visitor is
39630 * currently on, or any of its previous siblings.
39631 * Results less than 0 or greater than or equal to `children.length` stop
39632 * traversing the parent.
39633 *
39634 * @typedef {[(Action | null | undefined | void)?, (Index | null | undefined)?]} ActionTuple
39635 * List with one or two values, the first an action, the second an index.
39636 *
39637 * @typedef {Action | ActionTuple | Index | null | undefined | void} VisitorResult
39638 * Any value that can be returned from a visitor.
39639 */
39640
39641 /**
39642 * @template {Node} [Visited=Node]
39643 * Visited node type.
39644 * @template {Parent} [Ancestor=Parent]
39645 * Ancestor type.
39646 * @callback Visitor
39647 * Handle a node (matching `test`, if given).
39648 *
39649 * Visitors are free to transform `node`.
39650 * They can also transform the parent of node (the last of `ancestors`).
39651 *
39652 * Replacing `node` itself, if `SKIP` is not returned, still causes its
39653 * descendants to be walked (which is a bug).
39654 *
39655 * When adding or removing previous siblings of `node` (or next siblings, in
39656 * case of reverse), the `Visitor` should return a new `Index` to specify the
39657 * sibling to traverse after `node` is traversed.
39658 * Adding or removing next siblings of `node` (or previous siblings, in case
39659 * of reverse) is handled as expected without needing to return a new `Index`.
39660 *
39661 * Removing the children property of an ancestor still results in them being
39662 * traversed.
39663 * @param {Visited} node
39664 * Found node.
39665 * @param {Array<Ancestor>} ancestors
39666 * Ancestors of `node`.
39667 * @returns {VisitorResult}
39668 * What to do next.
39669 *
39670 * An `Index` is treated as a tuple of `[CONTINUE, Index]`.
39671 * An `Action` is treated as a tuple of `[Action]`.
39672 *
39673 * Passing a tuple back only makes sense if the `Action` is `SKIP`.
39674 * When the `Action` is `EXIT`, that action can be returned.
39675 * When the `Action` is `CONTINUE`, `Index` can be returned.
39676 */
39677
39678 /**
39679 * @template {Node} [Tree=Node]
39680 * Tree type.
39681 * @template {Test} [Check=string]
39682 * Test type.
39683 * @typedef {Visitor<import('./complex-types.js').Matches<import('./complex-types.js').InclusiveDescendant<Tree>, Check>, Extract<import('./complex-types.js').InclusiveDescendant<Tree>, Parent>>} BuildVisitor
39684 * Build a typed `Visitor` function from a tree and a test.
39685 *
39686 * It will infer which values are passed as `node` and which as `parents`.
39687 */
39688
39689
39690
39691
39692 /**
39693 * Continue traversing as normal.
39694 */
39695 const CONTINUE = true
39696
39697 /**
39698 * Stop traversing immediately.
39699 */
39700 const EXIT = false
39701
39702 /**
39703 * Do not traverse this node’s children.
39704 */
39705 const SKIP = 'skip'
39706
39707 /**
39708 * Visit nodes, with ancestral information.
39709 *
39710 * This algorithm performs *depth-first* *tree traversal* in *preorder*
39711 * (**NLR**) or if `reverse` is given, in *reverse preorder* (**NRL**).
39712 *
39713 * You can choose for which nodes `visitor` is called by passing a `test`.
39714 * For complex tests, you should test yourself in `visitor`, as it will be
39715 * faster and will have improved type information.
39716 *
39717 * Walking the tree is an intensive task.
39718 * Make use of the return values of the visitor when possible.
39719 * Instead of walking a tree multiple times, walk it once, use `unist-util-is`
39720 * to check if a node matches, and then perform different operations.
39721 *
39722 * You can change the tree.
39723 * See `Visitor` for more info.
39724 *
39725 * @param tree
39726 * Tree to traverse.
39727 * @param test
39728 * `unist-util-is`-compatible test
39729 * @param visitor
39730 * Handle each node.
39731 * @param reverse
39732 * Traverse in reverse preorder (NRL) instead of the default preorder (NLR).
39733 * @returns
39734 * Nothing.
39735 */
39736 const visitParents =
39737 /**
39738 * @type {(
39739 * (<Tree extends Node, Check extends Test>(tree: Tree, test: Check, visitor: BuildVisitor<Tree, Check>, reverse?: boolean | null | undefined) => void) &
39740 * (<Tree extends Node>(tree: Tree, visitor: BuildVisitor<Tree>, reverse?: boolean | null | undefined) => void)
39741 * )}
39742 */
39743 (
39744 /**
39745 * @param {Node} tree
39746 * @param {Test} test
39747 * @param {Visitor<Node>} visitor
39748 * @param {boolean | null | undefined} [reverse]
39749 * @returns {void}
39750 */
39751 function (tree, test, visitor, reverse) {
39752 if (typeof test === 'function' && typeof visitor !== 'function') {
39753 reverse = visitor
39754 // @ts-expect-error no visitor given, so `visitor` is test.
39755 visitor = test
39756 test = null
39757 }
39758
39759 const is = (0,unist_util_is__WEBPACK_IMPORTED_MODULE_0__.convert)(test)
39760 const step = reverse ? -1 : 1
39761
39762 factory(tree, undefined, [])()
39763
39764 /**
39765 * @param {Node} node
39766 * @param {number | undefined} index
39767 * @param {Array<Parent>} parents
39768 */
39769 function factory(node, index, parents) {
39770 /** @type {Record<string, unknown>} */
39771 // @ts-expect-error: hush
39772 const value = node && typeof node === 'object' ? node : {}
39773
39774 if (typeof value.type === 'string') {
39775 const name =
39776 // `hast`
39777 typeof value.tagName === 'string'
39778 ? value.tagName
39779 : // `xast`
39780 typeof value.name === 'string'
39781 ? value.name
39782 : undefined
39783
39784 Object.defineProperty(visit, 'name', {
39785 value:
39786 'node (' + (0,_color_js__WEBPACK_IMPORTED_MODULE_1__.color)(node.type + (name ? '<' + name + '>' : '')) + ')'
39787 })
39788 }
39789
39790 return visit
39791
39792 function visit() {
39793 /** @type {ActionTuple} */
39794 let result = []
39795 /** @type {ActionTuple} */
39796 let subresult
39797 /** @type {number} */
39798 let offset
39799 /** @type {Array<Parent>} */
39800 let grandparents
39801
39802 if (!test || is(node, index, parents[parents.length - 1] || null)) {
39803 result = toResult(visitor(node, parents))
39804
39805 if (result[0] === EXIT) {
39806 return result
39807 }
39808 }
39809
39810 // @ts-expect-error looks like a parent.
39811 if (node.children && result[0] !== SKIP) {
39812 // @ts-expect-error looks like a parent.
39813 offset = (reverse ? node.children.length : -1) + step
39814 // @ts-expect-error looks like a parent.
39815 grandparents = parents.concat(node)
39816
39817 // @ts-expect-error looks like a parent.
39818 while (offset > -1 && offset < node.children.length) {
39819 // @ts-expect-error looks like a parent.
39820 subresult = factory(node.children[offset], offset, grandparents)()
39821
39822 if (subresult[0] === EXIT) {
39823 return subresult
39824 }
39825
39826 offset =
39827 typeof subresult[1] === 'number' ? subresult[1] : offset + step
39828 }
39829 }
39830
39831 return result
39832 }
39833 }
39834 }
39835 )
39836
39837 /**
39838 * Turn a return value into a clean result.
39839 *
39840 * @param {VisitorResult} value
39841 * Valid return values from visitors.
39842 * @returns {ActionTuple}
39843 * Clean result.
39844 */
39845 function toResult(value) {
39846 if (Array.isArray(value)) {
39847 return value
39848 }
39849
39850 if (typeof value === 'number') {
39851 return [CONTINUE, value]
39852 }
39853
39854 return [value]
39855 }
39856
39857
39858 /***/ }),
39859
39860 /***/ "../node_modules/unist-util-visit/lib/index.js":
39861 /*!*****************************************************!*\
39862 !*** ../node_modules/unist-util-visit/lib/index.js ***!
39863 \*****************************************************/
39864 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
39865
39866 "use strict";
39867 __webpack_require__.r(__webpack_exports__);
39868 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
39869 /* harmony export */ CONTINUE: () => (/* reexport safe */ unist_util_visit_parents__WEBPACK_IMPORTED_MODULE_0__.CONTINUE),
39870 /* harmony export */ EXIT: () => (/* reexport safe */ unist_util_visit_parents__WEBPACK_IMPORTED_MODULE_0__.EXIT),
39871 /* harmony export */ SKIP: () => (/* reexport safe */ unist_util_visit_parents__WEBPACK_IMPORTED_MODULE_0__.SKIP),
39872 /* harmony export */ visit: () => (/* binding */ visit)
39873 /* harmony export */ });
39874 /* harmony import */ var unist_util_visit_parents__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! unist-util-visit-parents */ "../node_modules/unist-util-visit-parents/lib/index.js");
39875 /**
39876 * @typedef {import('unist').Node} Node
39877 * @typedef {import('unist').Parent} Parent
39878 * @typedef {import('unist-util-is').Test} Test
39879 * @typedef {import('unist-util-visit-parents').VisitorResult} VisitorResult
39880 */
39881
39882 /**
39883 * Check if `Child` can be a child of `Ancestor`.
39884 *
39885 * Returns the ancestor when `Child` can be a child of `Ancestor`, or returns
39886 * `never`.
39887 *
39888 * @template {Node} Ancestor
39889 * Node type.
39890 * @template {Node} Child
39891 * Node type.
39892 * @typedef {(
39893 * Ancestor extends Parent
39894 * ? Child extends Ancestor['children'][number]
39895 * ? Ancestor
39896 * : never
39897 * : never
39898 * )} ParentsOf
39899 */
39900
39901 /**
39902 * @template {Node} [Visited=Node]
39903 * Visited node type.
39904 * @template {Parent} [Ancestor=Parent]
39905 * Ancestor type.
39906 * @callback Visitor
39907 * Handle a node (matching `test`, if given).
39908 *
39909 * Visitors are free to transform `node`.
39910 * They can also transform `parent`.
39911 *
39912 * Replacing `node` itself, if `SKIP` is not returned, still causes its
39913 * descendants to be walked (which is a bug).
39914 *
39915 * When adding or removing previous siblings of `node` (or next siblings, in
39916 * case of reverse), the `Visitor` should return a new `Index` to specify the
39917 * sibling to traverse after `node` is traversed.
39918 * Adding or removing next siblings of `node` (or previous siblings, in case
39919 * of reverse) is handled as expected without needing to return a new `Index`.
39920 *
39921 * Removing the children property of `parent` still results in them being
39922 * traversed.
39923 * @param {Visited} node
39924 * Found node.
39925 * @param {Visited extends Node ? number | null : never} index
39926 * Index of `node` in `parent`.
39927 * @param {Ancestor extends Node ? Ancestor | null : never} parent
39928 * Parent of `node`.
39929 * @returns {VisitorResult}
39930 * What to do next.
39931 *
39932 * An `Index` is treated as a tuple of `[CONTINUE, Index]`.
39933 * An `Action` is treated as a tuple of `[Action]`.
39934 *
39935 * Passing a tuple back only makes sense if the `Action` is `SKIP`.
39936 * When the `Action` is `EXIT`, that action can be returned.
39937 * When the `Action` is `CONTINUE`, `Index` can be returned.
39938 */
39939
39940 /**
39941 * Build a typed `Visitor` function from a node and all possible parents.
39942 *
39943 * It will infer which values are passed as `node` and which as `parent`.
39944 *
39945 * @template {Node} Visited
39946 * Node type.
39947 * @template {Parent} Ancestor
39948 * Parent type.
39949 * @typedef {Visitor<Visited, ParentsOf<Ancestor, Visited>>} BuildVisitorFromMatch
39950 */
39951
39952 /**
39953 * Build a typed `Visitor` function from a list of descendants and a test.
39954 *
39955 * It will infer which values are passed as `node` and which as `parent`.
39956 *
39957 * @template {Node} Descendant
39958 * Node type.
39959 * @template {Test} Check
39960 * Test type.
39961 * @typedef {(
39962 * BuildVisitorFromMatch<
39963 * import('unist-util-visit-parents/complex-types.js').Matches<Descendant, Check>,
39964 * Extract<Descendant, Parent>
39965 * >
39966 * )} BuildVisitorFromDescendants
39967 */
39968
39969 /**
39970 * Build a typed `Visitor` function from a tree and a test.
39971 *
39972 * It will infer which values are passed as `node` and which as `parent`.
39973 *
39974 * @template {Node} [Tree=Node]
39975 * Node type.
39976 * @template {Test} [Check=string]
39977 * Test type.
39978 * @typedef {(
39979 * BuildVisitorFromDescendants<
39980 * import('unist-util-visit-parents/complex-types.js').InclusiveDescendant<Tree>,
39981 * Check
39982 * >
39983 * )} BuildVisitor
39984 */
39985
39986
39987
39988 /**
39989 * Visit nodes.
39990 *
39991 * This algorithm performs *depth-first* *tree traversal* in *preorder*
39992 * (**NLR**) or if `reverse` is given, in *reverse preorder* (**NRL**).
39993 *
39994 * You can choose for which nodes `visitor` is called by passing a `test`.
39995 * For complex tests, you should test yourself in `visitor`, as it will be
39996 * faster and will have improved type information.
39997 *
39998 * Walking the tree is an intensive task.
39999 * Make use of the return values of the visitor when possible.
40000 * Instead of walking a tree multiple times, walk it once, use `unist-util-is`
40001 * to check if a node matches, and then perform different operations.
40002 *
40003 * You can change the tree.
40004 * See `Visitor` for more info.
40005 *
40006 * @param tree
40007 * Tree to traverse.
40008 * @param test
40009 * `unist-util-is`-compatible test
40010 * @param visitor
40011 * Handle each node.
40012 * @param reverse
40013 * Traverse in reverse preorder (NRL) instead of the default preorder (NLR).
40014 * @returns
40015 * Nothing.
40016 */
40017 const visit =
40018 /**
40019 * @type {(
40020 * (<Tree extends Node, Check extends Test>(tree: Tree, test: Check, visitor: BuildVisitor<Tree, Check>, reverse?: boolean | null | undefined) => void) &
40021 * (<Tree extends Node>(tree: Tree, visitor: BuildVisitor<Tree>, reverse?: boolean | null | undefined) => void)
40022 * )}
40023 */
40024 (
40025 /**
40026 * @param {Node} tree
40027 * @param {Test} test
40028 * @param {Visitor} visitor
40029 * @param {boolean | null | undefined} [reverse]
40030 * @returns {void}
40031 */
40032 function (tree, test, visitor, reverse) {
40033 if (typeof test === 'function' && typeof visitor !== 'function') {
40034 reverse = visitor
40035 visitor = test
40036 test = null
40037 }
40038
40039 (0,unist_util_visit_parents__WEBPACK_IMPORTED_MODULE_0__.visitParents)(tree, test, overload, reverse)
40040
40041 /**
40042 * @param {Node} node
40043 * @param {Array<Parent>} parents
40044 */
40045 function overload(node, parents) {
40046 const parent = parents[parents.length - 1]
40047 return visitor(
40048 node,
40049 parent ? parent.children.indexOf(node) : null,
40050 parent
40051 )
40052 }
40053 }
40054 )
40055
40056
40057
40058
40059 /***/ }),
40060
40061 /***/ "../node_modules/uvu/assert/index.mjs":
40062 /*!********************************************!*\
40063 !*** ../node_modules/uvu/assert/index.mjs ***!
40064 \********************************************/
40065 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
40066
40067 "use strict";
40068 __webpack_require__.r(__webpack_exports__);
40069 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
40070 /* harmony export */ Assertion: () => (/* binding */ Assertion),
40071 /* harmony export */ equal: () => (/* binding */ equal),
40072 /* harmony export */ fixture: () => (/* binding */ fixture),
40073 /* harmony export */ instance: () => (/* binding */ instance),
40074 /* harmony export */ is: () => (/* binding */ is),
40075 /* harmony export */ match: () => (/* binding */ match),
40076 /* harmony export */ not: () => (/* binding */ not),
40077 /* harmony export */ ok: () => (/* binding */ ok),
40078 /* harmony export */ snapshot: () => (/* binding */ snapshot),
40079 /* harmony export */ throws: () => (/* binding */ throws),
40080 /* harmony export */ type: () => (/* binding */ type),
40081 /* harmony export */ unreachable: () => (/* binding */ unreachable)
40082 /* harmony export */ });
40083 /* harmony import */ var dequal__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dequal */ "../node_modules/dequal/dist/index.mjs");
40084 /* harmony import */ var uvu_diff__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! uvu/diff */ "../node_modules/uvu/diff/index.mjs");
40085
40086
40087
40088 function dedent(str) {
40089 str = str.replace(/\r?\n/g, '\n');
40090 let arr = str.match(/^[ \t]*(?=\S)/gm);
40091 let i = 0, min = 1/0, len = (arr||[]).length;
40092 for (; i < len; i++) min = Math.min(min, arr[i].length);
40093 return len && min ? str.replace(new RegExp(`^[ \\t]{${min}}`, 'gm'), '') : str;
40094 }
40095
40096 class Assertion extends Error {
40097 constructor(opts={}) {
40098 super(opts.message);
40099 this.name = 'Assertion';
40100 this.code = 'ERR_ASSERTION';
40101 if (Error.captureStackTrace) {
40102 Error.captureStackTrace(this, this.constructor);
40103 }
40104 this.details = opts.details || false;
40105 this.generated = !!opts.generated;
40106 this.operator = opts.operator;
40107 this.expects = opts.expects;
40108 this.actual = opts.actual;
40109 }
40110 }
40111
40112 function assert(bool, actual, expects, operator, detailer, backup, msg) {
40113 if (bool) return;
40114 let message = msg || backup;
40115 if (msg instanceof Error) throw msg;
40116 let details = detailer && detailer(actual, expects);
40117 throw new Assertion({ actual, expects, operator, message, details, generated: !msg });
40118 }
40119
40120 function ok(val, msg) {
40121 assert(!!val, false, true, 'ok', false, 'Expected value to be truthy', msg);
40122 }
40123
40124 function is(val, exp, msg) {
40125 assert(val === exp, val, exp, 'is', uvu_diff__WEBPACK_IMPORTED_MODULE_1__.compare, 'Expected values to be strictly equal:', msg);
40126 }
40127
40128 function equal(val, exp, msg) {
40129 assert((0,dequal__WEBPACK_IMPORTED_MODULE_0__.dequal)(val, exp), val, exp, 'equal', uvu_diff__WEBPACK_IMPORTED_MODULE_1__.compare, 'Expected values to be deeply equal:', msg);
40130 }
40131
40132 function unreachable(msg) {
40133 assert(false, true, false, 'unreachable', false, 'Expected not to be reached!', msg);
40134 }
40135
40136 function type(val, exp, msg) {
40137 let tmp = typeof val;
40138 assert(tmp === exp, tmp, exp, 'type', false, `Expected "${tmp}" to be "${exp}"`, msg);
40139 }
40140
40141 function instance(val, exp, msg) {
40142 let name = '`' + (exp.name || exp.constructor.name) + '`';
40143 assert(val instanceof exp, val, exp, 'instance', false, `Expected value to be an instance of ${name}`, msg);
40144 }
40145
40146 function match(val, exp, msg) {
40147 if (typeof exp === 'string') {
40148 assert(val.includes(exp), val, exp, 'match', false, `Expected value to include "${exp}" substring`, msg);
40149 } else {
40150 assert(exp.test(val), val, exp, 'match', false, `Expected value to match \`${String(exp)}\` pattern`, msg);
40151 }
40152 }
40153
40154 function snapshot(val, exp, msg) {
40155 val=dedent(val); exp=dedent(exp);
40156 assert(val === exp, val, exp, 'snapshot', uvu_diff__WEBPACK_IMPORTED_MODULE_1__.lines, 'Expected value to match snapshot:', msg);
40157 }
40158
40159 const lineNums = (x, y) => (0,uvu_diff__WEBPACK_IMPORTED_MODULE_1__.lines)(x, y, 1);
40160 function fixture(val, exp, msg) {
40161 val=dedent(val); exp=dedent(exp);
40162 assert(val === exp, val, exp, 'fixture', lineNums, 'Expected value to match fixture:', msg);
40163 }
40164
40165 function throws(blk, exp, msg) {
40166 if (!msg && typeof exp === 'string') {
40167 msg = exp; exp = null;
40168 }
40169
40170 try {
40171 blk();
40172 assert(false, false, true, 'throws', false, 'Expected function to throw', msg);
40173 } catch (err) {
40174 if (err instanceof Assertion) throw err;
40175
40176 if (typeof exp === 'function') {
40177 assert(exp(err), false, true, 'throws', false, 'Expected function to throw matching exception', msg);
40178 } else if (exp instanceof RegExp) {
40179 assert(exp.test(err.message), false, true, 'throws', false, `Expected function to throw exception matching \`${String(exp)}\` pattern`, msg);
40180 }
40181 }
40182 }
40183
40184 // ---
40185
40186 function not(val, msg) {
40187 assert(!val, true, false, 'not', false, 'Expected value to be falsey', msg);
40188 }
40189
40190 not.ok = not;
40191
40192 is.not = function (val, exp, msg) {
40193 assert(val !== exp, val, exp, 'is.not', false, 'Expected values not to be strictly equal', msg);
40194 }
40195
40196 not.equal = function (val, exp, msg) {
40197 assert(!(0,dequal__WEBPACK_IMPORTED_MODULE_0__.dequal)(val, exp), val, exp, 'not.equal', false, 'Expected values not to be deeply equal', msg);
40198 }
40199
40200 not.type = function (val, exp, msg) {
40201 let tmp = typeof val;
40202 assert(tmp !== exp, tmp, exp, 'not.type', false, `Expected "${tmp}" not to be "${exp}"`, msg);
40203 }
40204
40205 not.instance = function (val, exp, msg) {
40206 let name = '`' + (exp.name || exp.constructor.name) + '`';
40207 assert(!(val instanceof exp), val, exp, 'not.instance', false, `Expected value not to be an instance of ${name}`, msg);
40208 }
40209
40210 not.snapshot = function (val, exp, msg) {
40211 val=dedent(val); exp=dedent(exp);
40212 assert(val !== exp, val, exp, 'not.snapshot', false, 'Expected value not to match snapshot', msg);
40213 }
40214
40215 not.fixture = function (val, exp, msg) {
40216 val=dedent(val); exp=dedent(exp);
40217 assert(val !== exp, val, exp, 'not.fixture', false, 'Expected value not to match fixture', msg);
40218 }
40219
40220 not.match = function (val, exp, msg) {
40221 if (typeof exp === 'string') {
40222 assert(!val.includes(exp), val, exp, 'not.match', false, `Expected value not to include "${exp}" substring`, msg);
40223 } else {
40224 assert(!exp.test(val), val, exp, 'not.match', false, `Expected value not to match \`${String(exp)}\` pattern`, msg);
40225 }
40226 }
40227
40228 not.throws = function (blk, exp, msg) {
40229 if (!msg && typeof exp === 'string') {
40230 msg = exp; exp = null;
40231 }
40232
40233 try {
40234 blk();
40235 } catch (err) {
40236 if (typeof exp === 'function') {
40237 assert(!exp(err), true, false, 'not.throws', false, 'Expected function not to throw matching exception', msg);
40238 } else if (exp instanceof RegExp) {
40239 assert(!exp.test(err.message), true, false, 'not.throws', false, `Expected function not to throw exception matching \`${String(exp)}\` pattern`, msg);
40240 } else if (!exp) {
40241 assert(false, true, false, 'not.throws', false, 'Expected function not to throw', msg);
40242 }
40243 }
40244 }
40245
40246
40247 /***/ }),
40248
40249 /***/ "../node_modules/uvu/diff/index.mjs":
40250 /*!******************************************!*\
40251 !*** ../node_modules/uvu/diff/index.mjs ***!
40252 \******************************************/
40253 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
40254
40255 "use strict";
40256 __webpack_require__.r(__webpack_exports__);
40257 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
40258 /* harmony export */ arrays: () => (/* binding */ arrays),
40259 /* harmony export */ chars: () => (/* binding */ chars),
40260 /* harmony export */ circular: () => (/* binding */ circular),
40261 /* harmony export */ compare: () => (/* binding */ compare),
40262 /* harmony export */ direct: () => (/* binding */ direct),
40263 /* harmony export */ lines: () => (/* binding */ lines),
40264 /* harmony export */ sort: () => (/* binding */ sort),
40265 /* harmony export */ stringify: () => (/* binding */ stringify)
40266 /* harmony export */ });
40267 /* harmony import */ var kleur__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! kleur */ "../node_modules/uvu/node_modules/kleur/index.mjs");
40268 /* harmony import */ var diff__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! diff */ "../node_modules/diff/lib/index.mjs");
40269
40270
40271
40272 const colors = {
40273 '--': kleur__WEBPACK_IMPORTED_MODULE_0__["default"].red,
40274 '··': kleur__WEBPACK_IMPORTED_MODULE_0__["default"].grey,
40275 '++': kleur__WEBPACK_IMPORTED_MODULE_0__["default"].green,
40276 };
40277
40278 const TITLE = kleur__WEBPACK_IMPORTED_MODULE_0__["default"].dim().italic;
40279 const TAB=kleur__WEBPACK_IMPORTED_MODULE_0__["default"].dim('→'), SPACE=kleur__WEBPACK_IMPORTED_MODULE_0__["default"].dim('·'), NL=kleur__WEBPACK_IMPORTED_MODULE_0__["default"].dim('↵');
40280 const LOG = (sym, str) => colors[sym](sym + PRETTY(str)) + '\n';
40281 const LINE = (num, x) => kleur__WEBPACK_IMPORTED_MODULE_0__["default"].dim('L' + String(num).padStart(x, '0') + ' ');
40282 const PRETTY = str => str.replace(/[ ]/g, SPACE).replace(/\t/g, TAB).replace(/(\r?\n)/g, NL);
40283
40284 function line(obj, prev, pad) {
40285 let char = obj.removed ? '--' : obj.added ? '++' : '··';
40286 let arr = obj.value.replace(/\r?\n$/, '').split('\n');
40287 let i=0, tmp, out='';
40288
40289 if (obj.added) out += colors[char]().underline(TITLE('Expected:')) + '\n';
40290 else if (obj.removed) out += colors[char]().underline(TITLE('Actual:')) + '\n';
40291
40292 for (; i < arr.length; i++) {
40293 tmp = arr[i];
40294 if (tmp != null) {
40295 if (prev) out += LINE(prev + i, pad);
40296 out += LOG(char, tmp || '\n');
40297 }
40298 }
40299
40300 return out;
40301 }
40302
40303 // TODO: want better diffing
40304 //~> complex items bail outright
40305 function arrays(input, expect) {
40306 let arr = diff__WEBPACK_IMPORTED_MODULE_1__.diffArrays(input, expect);
40307 let i=0, j=0, k=0, tmp, val, char, isObj, str;
40308 let out = LOG('··', '[');
40309
40310 for (; i < arr.length; i++) {
40311 char = (tmp = arr[i]).removed ? '--' : tmp.added ? '++' : '··';
40312
40313 if (tmp.added) {
40314 out += colors[char]().underline(TITLE('Expected:')) + '\n';
40315 } else if (tmp.removed) {
40316 out += colors[char]().underline(TITLE('Actual:')) + '\n';
40317 }
40318
40319 for (j=0; j < tmp.value.length; j++) {
40320 isObj = (tmp.value[j] && typeof tmp.value[j] === 'object');
40321 val = stringify(tmp.value[j]).split(/\r?\n/g);
40322 for (k=0; k < val.length;) {
40323 str = ' ' + val[k++] + (isObj ? '' : ',');
40324 if (isObj && k === val.length && (j + 1) < tmp.value.length) str += ',';
40325 out += LOG(char, str);
40326 }
40327 }
40328 }
40329
40330 return out + LOG('··', ']');
40331 }
40332
40333 function lines(input, expect, linenum = 0) {
40334 let i=0, tmp, output='';
40335 let arr = diff__WEBPACK_IMPORTED_MODULE_1__.diffLines(input, expect);
40336 let pad = String(expect.split(/\r?\n/g).length - linenum).length;
40337
40338 for (; i < arr.length; i++) {
40339 output += line(tmp = arr[i], linenum, pad);
40340 if (linenum && !tmp.removed) linenum += tmp.count;
40341 }
40342
40343 return output;
40344 }
40345
40346 function chars(input, expect) {
40347 let arr = diff__WEBPACK_IMPORTED_MODULE_1__.diffChars(input, expect);
40348 let i=0, output='', tmp;
40349
40350 let l1 = input.length;
40351 let l2 = expect.length;
40352
40353 let p1 = PRETTY(input);
40354 let p2 = PRETTY(expect);
40355
40356 tmp = arr[i];
40357
40358 if (l1 === l2) {
40359 // no length offsets
40360 } else if (tmp.removed && arr[i + 1]) {
40361 let del = tmp.count - arr[i + 1].count;
40362 if (del == 0) {
40363 // wash~
40364 } else if (del > 0) {
40365 expect = ' '.repeat(del) + expect;
40366 p2 = ' '.repeat(del) + p2;
40367 l2 += del;
40368 } else if (del < 0) {
40369 input = ' '.repeat(-del) + input;
40370 p1 = ' '.repeat(-del) + p1;
40371 l1 += -del;
40372 }
40373 }
40374
40375 output += direct(p1, p2, l1, l2);
40376
40377 if (l1 === l2) {
40378 for (tmp=' '; i < l1; i++) {
40379 tmp += input[i] === expect[i] ? ' ' : '^';
40380 }
40381 } else {
40382 for (tmp=' '; i < arr.length; i++) {
40383 tmp += ((arr[i].added || arr[i].removed) ? '^' : ' ').repeat(Math.max(arr[i].count, 0));
40384 if (i + 1 < arr.length && ((arr[i].added && arr[i+1].removed) || (arr[i].removed && arr[i+1].added))) {
40385 arr[i + 1].count -= arr[i].count;
40386 }
40387 }
40388 }
40389
40390 return output + kleur__WEBPACK_IMPORTED_MODULE_0__["default"].red(tmp);
40391 }
40392
40393 function direct(input, expect, lenA = String(input).length, lenB = String(expect).length) {
40394 let gutter = 4;
40395 let lenC = Math.max(lenA, lenB);
40396 let typeA=typeof input, typeB=typeof expect;
40397
40398 if (typeA !== typeB) {
40399 gutter = 2;
40400
40401 let delA = gutter + lenC - lenA;
40402 let delB = gutter + lenC - lenB;
40403
40404 input += ' '.repeat(delA) + kleur__WEBPACK_IMPORTED_MODULE_0__["default"].dim(`[${typeA}]`);
40405 expect += ' '.repeat(delB) + kleur__WEBPACK_IMPORTED_MODULE_0__["default"].dim(`[${typeB}]`);
40406
40407 lenA += delA + typeA.length + 2;
40408 lenB += delB + typeB.length + 2;
40409 lenC = Math.max(lenA, lenB);
40410 }
40411
40412 let output = colors['++']('++' + expect + ' '.repeat(gutter + lenC - lenB) + TITLE('(Expected)')) + '\n';
40413 return output + colors['--']('--' + input + ' '.repeat(gutter + lenC - lenA) + TITLE('(Actual)')) + '\n';
40414 }
40415
40416 function sort(input, expect) {
40417 var k, i=0, tmp, isArr = Array.isArray(input);
40418 var keys=[], out=isArr ? Array(input.length) : {};
40419
40420 if (isArr) {
40421 for (i=0; i < out.length; i++) {
40422 tmp = input[i];
40423 if (!tmp || typeof tmp !== 'object') out[i] = tmp;
40424 else out[i] = sort(tmp, expect[i]); // might not be right
40425 }
40426 } else {
40427 for (k in expect)
40428 keys.push(k);
40429
40430 for (; i < keys.length; i++) {
40431 if (Object.prototype.hasOwnProperty.call(input, k = keys[i])) {
40432 if (!(tmp = input[k]) || typeof tmp !== 'object') out[k] = tmp;
40433 else out[k] = sort(tmp, expect[k]);
40434 }
40435 }
40436
40437 for (k in input) {
40438 if (!out.hasOwnProperty(k)) {
40439 out[k] = input[k]; // expect didnt have
40440 }
40441 }
40442 }
40443
40444 return out;
40445 }
40446
40447 function circular() {
40448 var cache = new Set;
40449 return function print(key, val) {
40450 if (val === void 0) return '[__VOID__]';
40451 if (typeof val === 'number' && val !== val) return '[__NAN__]';
40452 if (typeof val === 'bigint') return val.toString();
40453 if (!val || typeof val !== 'object') return val;
40454 if (cache.has(val)) return '[Circular]';
40455 cache.add(val); return val;
40456 }
40457 }
40458
40459 function stringify(input) {
40460 return JSON.stringify(input, circular(), 2).replace(/"\[__NAN__\]"/g, 'NaN').replace(/"\[__VOID__\]"/g, 'undefined');
40461 }
40462
40463 function compare(input, expect) {
40464 if (Array.isArray(expect) && Array.isArray(input)) return arrays(input, expect);
40465 if (expect instanceof RegExp) return chars(''+input, ''+expect);
40466
40467 let isA = input && typeof input == 'object';
40468 let isB = expect && typeof expect == 'object';
40469
40470 if (isA && isB) input = sort(input, expect);
40471 if (isB) expect = stringify(expect);
40472 if (isA) input = stringify(input);
40473
40474 if (expect && typeof expect == 'object') {
40475 input = stringify(sort(input, expect));
40476 expect = stringify(expect);
40477 }
40478
40479 isA = typeof input == 'string';
40480 isB = typeof expect == 'string';
40481
40482 if (isA && /\r?\n/.test(input)) return lines(input, ''+expect);
40483 if (isB && /\r?\n/.test(expect)) return lines(''+input, expect);
40484 if (isA && isB) return chars(input, expect);
40485
40486 return direct(input, expect);
40487 }
40488
40489
40490 /***/ }),
40491
40492 /***/ "../node_modules/uvu/node_modules/kleur/index.mjs":
40493 /*!********************************************************!*\
40494 !*** ../node_modules/uvu/node_modules/kleur/index.mjs ***!
40495 \********************************************************/
40496 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
40497
40498 "use strict";
40499 __webpack_require__.r(__webpack_exports__);
40500 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
40501 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
40502 /* harmony export */ });
40503
40504
40505 let FORCE_COLOR, NODE_DISABLE_COLORS, NO_COLOR, TERM, isTTY=true;
40506 if (typeof process !== 'undefined') {
40507 ({ FORCE_COLOR, NODE_DISABLE_COLORS, NO_COLOR, TERM } = process.env || {});
40508 isTTY = process.stdout && process.stdout.isTTY;
40509 }
40510
40511 const $ = {
40512 enabled: !NODE_DISABLE_COLORS && NO_COLOR == null && TERM !== 'dumb' && (
40513 FORCE_COLOR != null && FORCE_COLOR !== '0' || isTTY
40514 ),
40515
40516 // modifiers
40517 reset: init(0, 0),
40518 bold: init(1, 22),
40519 dim: init(2, 22),
40520 italic: init(3, 23),
40521 underline: init(4, 24),
40522 inverse: init(7, 27),
40523 hidden: init(8, 28),
40524 strikethrough: init(9, 29),
40525
40526 // colors
40527 black: init(30, 39),
40528 red: init(31, 39),
40529 green: init(32, 39),
40530 yellow: init(33, 39),
40531 blue: init(34, 39),
40532 magenta: init(35, 39),
40533 cyan: init(36, 39),
40534 white: init(37, 39),
40535 gray: init(90, 39),
40536 grey: init(90, 39),
40537
40538 // background colors
40539 bgBlack: init(40, 49),
40540 bgRed: init(41, 49),
40541 bgGreen: init(42, 49),
40542 bgYellow: init(43, 49),
40543 bgBlue: init(44, 49),
40544 bgMagenta: init(45, 49),
40545 bgCyan: init(46, 49),
40546 bgWhite: init(47, 49)
40547 };
40548
40549 function run(arr, str) {
40550 let i=0, tmp, beg='', end='';
40551 for (; i < arr.length; i++) {
40552 tmp = arr[i];
40553 beg += tmp.open;
40554 end += tmp.close;
40555 if (!!~str.indexOf(tmp.close)) {
40556 str = str.replace(tmp.rgx, tmp.close + tmp.open);
40557 }
40558 }
40559 return beg + str + end;
40560 }
40561
40562 function chain(has, keys) {
40563 let ctx = { has, keys };
40564
40565 ctx.reset = $.reset.bind(ctx);
40566 ctx.bold = $.bold.bind(ctx);
40567 ctx.dim = $.dim.bind(ctx);
40568 ctx.italic = $.italic.bind(ctx);
40569 ctx.underline = $.underline.bind(ctx);
40570 ctx.inverse = $.inverse.bind(ctx);
40571 ctx.hidden = $.hidden.bind(ctx);
40572 ctx.strikethrough = $.strikethrough.bind(ctx);
40573
40574 ctx.black = $.black.bind(ctx);
40575 ctx.red = $.red.bind(ctx);
40576 ctx.green = $.green.bind(ctx);
40577 ctx.yellow = $.yellow.bind(ctx);
40578 ctx.blue = $.blue.bind(ctx);
40579 ctx.magenta = $.magenta.bind(ctx);
40580 ctx.cyan = $.cyan.bind(ctx);
40581 ctx.white = $.white.bind(ctx);
40582 ctx.gray = $.gray.bind(ctx);
40583 ctx.grey = $.grey.bind(ctx);
40584
40585 ctx.bgBlack = $.bgBlack.bind(ctx);
40586 ctx.bgRed = $.bgRed.bind(ctx);
40587 ctx.bgGreen = $.bgGreen.bind(ctx);
40588 ctx.bgYellow = $.bgYellow.bind(ctx);
40589 ctx.bgBlue = $.bgBlue.bind(ctx);
40590 ctx.bgMagenta = $.bgMagenta.bind(ctx);
40591 ctx.bgCyan = $.bgCyan.bind(ctx);
40592 ctx.bgWhite = $.bgWhite.bind(ctx);
40593
40594 return ctx;
40595 }
40596
40597 function init(open, close) {
40598 let blk = {
40599 open: `\x1b[${open}m`,
40600 close: `\x1b[${close}m`,
40601 rgx: new RegExp(`\\x1b\\[${close}m`, 'g')
40602 };
40603 return function (txt) {
40604 if (this !== void 0 && this.has !== void 0) {
40605 !!~this.has.indexOf(open) || (this.has.push(open),this.keys.push(blk));
40606 return txt === void 0 ? this : $.enabled ? run(this.keys, txt+'') : txt+'';
40607 }
40608 return txt === void 0 ? chain([open], [blk]) : $.enabled ? run([blk], txt+'') : txt+'';
40609 };
40610 }
40611
40612 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ($);
40613
40614
40615 /***/ }),
40616
40617 /***/ "../node_modules/vfile-message/lib/index.js":
40618 /*!**************************************************!*\
40619 !*** ../node_modules/vfile-message/lib/index.js ***!
40620 \**************************************************/
40621 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
40622
40623 "use strict";
40624 __webpack_require__.r(__webpack_exports__);
40625 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
40626 /* harmony export */ VFileMessage: () => (/* binding */ VFileMessage)
40627 /* harmony export */ });
40628 /* harmony import */ var unist_util_stringify_position__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! unist-util-stringify-position */ "../node_modules/unist-util-stringify-position/lib/index.js");
40629 /**
40630 * @typedef {import('unist').Node} Node
40631 * @typedef {import('unist').Position} Position
40632 * @typedef {import('unist').Point} Point
40633 * @typedef {object & {type: string, position?: Position | undefined}} NodeLike
40634 */
40635
40636
40637
40638 /**
40639 * Message.
40640 */
40641 class VFileMessage extends Error {
40642 /**
40643 * Create a message for `reason` at `place` from `origin`.
40644 *
40645 * When an error is passed in as `reason`, the `stack` is copied.
40646 *
40647 * @param {string | Error | VFileMessage} reason
40648 * Reason for message, uses the stack and message of the error if given.
40649 *
40650 * > 👉 **Note**: you should use markdown.
40651 * @param {Node | NodeLike | Position | Point | null | undefined} [place]
40652 * Place in file where the message occurred.
40653 * @param {string | null | undefined} [origin]
40654 * Place in code where the message originates (example:
40655 * `'my-package:my-rule'` or `'my-rule'`).
40656 * @returns
40657 * Instance of `VFileMessage`.
40658 */
40659 // To do: next major: expose `undefined` everywhere instead of `null`.
40660 constructor(reason, place, origin) {
40661 /** @type {[string | null, string | null]} */
40662 const parts = [null, null]
40663 /** @type {Position} */
40664 let position = {
40665 // @ts-expect-error: we always follows the structure of `position`.
40666 start: {line: null, column: null},
40667 // @ts-expect-error: "
40668 end: {line: null, column: null}
40669 }
40670
40671 super()
40672
40673 if (typeof place === 'string') {
40674 origin = place
40675 place = undefined
40676 }
40677
40678 if (typeof origin === 'string') {
40679 const index = origin.indexOf(':')
40680
40681 if (index === -1) {
40682 parts[1] = origin
40683 } else {
40684 parts[0] = origin.slice(0, index)
40685 parts[1] = origin.slice(index + 1)
40686 }
40687 }
40688
40689 if (place) {
40690 // Node.
40691 if ('type' in place || 'position' in place) {
40692 if (place.position) {
40693 // To do: next major: deep clone.
40694 // @ts-expect-error: looks like a position.
40695 position = place.position
40696 }
40697 }
40698 // Position.
40699 else if ('start' in place || 'end' in place) {
40700 // @ts-expect-error: looks like a position.
40701 // To do: next major: deep clone.
40702 position = place
40703 }
40704 // Point.
40705 else if ('line' in place || 'column' in place) {
40706 // To do: next major: deep clone.
40707 position.start = place
40708 }
40709 }
40710
40711 // Fields from `Error`.
40712 /**
40713 * Serialized positional info of error.
40714 *
40715 * On normal errors, this would be something like `ParseError`, buit in
40716 * `VFile` messages we use this space to show where an error happened.
40717 */
40718 this.name = (0,unist_util_stringify_position__WEBPACK_IMPORTED_MODULE_0__.stringifyPosition)(place) || '1:1'
40719
40720 /**
40721 * Reason for message.
40722 *
40723 * @type {string}
40724 */
40725 this.message = typeof reason === 'object' ? reason.message : reason
40726
40727 /**
40728 * Stack of message.
40729 *
40730 * This is used by normal errors to show where something happened in
40731 * programming code, irrelevant for `VFile` messages,
40732 *
40733 * @type {string}
40734 */
40735 this.stack = ''
40736
40737 if (typeof reason === 'object' && reason.stack) {
40738 this.stack = reason.stack
40739 }
40740
40741 /**
40742 * Reason for message.
40743 *
40744 * > 👉 **Note**: you should use markdown.
40745 *
40746 * @type {string}
40747 */
40748 this.reason = this.message
40749
40750 /* eslint-disable no-unused-expressions */
40751 /**
40752 * State of problem.
40753 *
40754 * * `true` — marks associated file as no longer processable (error)
40755 * * `false` — necessitates a (potential) change (warning)
40756 * * `null | undefined` — for things that might not need changing (info)
40757 *
40758 * @type {boolean | null | undefined}
40759 */
40760 this.fatal
40761
40762 /**
40763 * Starting line of error.
40764 *
40765 * @type {number | null}
40766 */
40767 this.line = position.start.line
40768
40769 /**
40770 * Starting column of error.
40771 *
40772 * @type {number | null}
40773 */
40774 this.column = position.start.column
40775
40776 /**
40777 * Full unist position.
40778 *
40779 * @type {Position | null}
40780 */
40781 this.position = position
40782
40783 /**
40784 * Namespace of message (example: `'my-package'`).
40785 *
40786 * @type {string | null}
40787 */
40788 this.source = parts[0]
40789
40790 /**
40791 * Category of message (example: `'my-rule'`).
40792 *
40793 * @type {string | null}
40794 */
40795 this.ruleId = parts[1]
40796
40797 /**
40798 * Path of a file (used throughout the `VFile` ecosystem).
40799 *
40800 * @type {string | null}
40801 */
40802 this.file
40803
40804 // The following fields are “well known”.
40805 // Not standard.
40806 // Feel free to add other non-standard fields to your messages.
40807
40808 /**
40809 * Specify the source value that’s being reported, which is deemed
40810 * incorrect.
40811 *
40812 * @type {string | null}
40813 */
40814 this.actual
40815
40816 /**
40817 * Suggest acceptable values that can be used instead of `actual`.
40818 *
40819 * @type {Array<string> | null}
40820 */
40821 this.expected
40822
40823 /**
40824 * Link to docs for the message.
40825 *
40826 * > 👉 **Note**: this must be an absolute URL that can be passed as `x`
40827 * > to `new URL(x)`.
40828 *
40829 * @type {string | null}
40830 */
40831 this.url
40832
40833 /**
40834 * Long form description of the message (you should use markdown).
40835 *
40836 * @type {string | null}
40837 */
40838 this.note
40839 /* eslint-enable no-unused-expressions */
40840 }
40841 }
40842
40843 VFileMessage.prototype.file = ''
40844 VFileMessage.prototype.name = ''
40845 VFileMessage.prototype.reason = ''
40846 VFileMessage.prototype.message = ''
40847 VFileMessage.prototype.stack = ''
40848 VFileMessage.prototype.fatal = null
40849 VFileMessage.prototype.column = null
40850 VFileMessage.prototype.line = null
40851 VFileMessage.prototype.source = null
40852 VFileMessage.prototype.ruleId = null
40853 VFileMessage.prototype.position = null
40854
40855
40856 /***/ }),
40857
40858 /***/ "../node_modules/vfile/lib/index.js":
40859 /*!******************************************!*\
40860 !*** ../node_modules/vfile/lib/index.js ***!
40861 \******************************************/
40862 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
40863
40864 "use strict";
40865 __webpack_require__.r(__webpack_exports__);
40866 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
40867 /* harmony export */ VFile: () => (/* binding */ VFile)
40868 /* harmony export */ });
40869 /* harmony import */ var is_buffer__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! is-buffer */ "../node_modules/is-buffer/index.js");
40870 /* harmony import */ var vfile_message__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! vfile-message */ "../node_modules/vfile-message/lib/index.js");
40871 /* harmony import */ var _minpath_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./minpath.js */ "../node_modules/vfile/lib/minpath.browser.js");
40872 /* harmony import */ var _minproc_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./minproc.js */ "../node_modules/vfile/lib/minproc.browser.js");
40873 /* harmony import */ var _minurl_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./minurl.js */ "../node_modules/vfile/lib/minurl.shared.js");
40874 /* harmony import */ var _minurl_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./minurl.js */ "../node_modules/vfile/lib/minurl.browser.js");
40875 /**
40876 * @typedef {import('unist').Node} Node
40877 * @typedef {import('unist').Position} Position
40878 * @typedef {import('unist').Point} Point
40879 * @typedef {import('./minurl.shared.js').URL} URL
40880 * @typedef {import('../index.js').Data} Data
40881 * @typedef {import('../index.js').Value} Value
40882 */
40883
40884 /**
40885 * @typedef {Record<string, unknown> & {type: string, position?: Position | undefined}} NodeLike
40886 *
40887 * @typedef {'ascii' | 'utf8' | 'utf-8' | 'utf16le' | 'ucs2' | 'ucs-2' | 'base64' | 'base64url' | 'latin1' | 'binary' | 'hex'} BufferEncoding
40888 * Encodings supported by the buffer class.
40889 *
40890 * This is a copy of the types from Node, copied to prevent Node globals from
40891 * being needed.
40892 * Copied from: <https://github.com/DefinitelyTyped/DefinitelyTyped/blob/90a4ec8/types/node/buffer.d.ts#L170>
40893 *
40894 * @typedef {Options | URL | Value | VFile} Compatible
40895 * Things that can be passed to the constructor.
40896 *
40897 * @typedef VFileCoreOptions
40898 * Set multiple values.
40899 * @property {Value | null | undefined} [value]
40900 * Set `value`.
40901 * @property {string | null | undefined} [cwd]
40902 * Set `cwd`.
40903 * @property {Array<string> | null | undefined} [history]
40904 * Set `history`.
40905 * @property {URL | string | null | undefined} [path]
40906 * Set `path`.
40907 * @property {string | null | undefined} [basename]
40908 * Set `basename`.
40909 * @property {string | null | undefined} [stem]
40910 * Set `stem`.
40911 * @property {string | null | undefined} [extname]
40912 * Set `extname`.
40913 * @property {string | null | undefined} [dirname]
40914 * Set `dirname`.
40915 * @property {Data | null | undefined} [data]
40916 * Set `data`.
40917 *
40918 * @typedef Map
40919 * Raw source map.
40920 *
40921 * See:
40922 * <https://github.com/mozilla/source-map/blob/58819f0/source-map.d.ts#L15-L23>.
40923 * @property {number} version
40924 * Which version of the source map spec this map is following.
40925 * @property {Array<string>} sources
40926 * An array of URLs to the original source files.
40927 * @property {Array<string>} names
40928 * An array of identifiers which can be referenced by individual mappings.
40929 * @property {string | undefined} [sourceRoot]
40930 * The URL root from which all sources are relative.
40931 * @property {Array<string> | undefined} [sourcesContent]
40932 * An array of contents of the original source files.
40933 * @property {string} mappings
40934 * A string of base64 VLQs which contain the actual mappings.
40935 * @property {string} file
40936 * The generated file this source map is associated with.
40937 *
40938 * @typedef {{[key: string]: unknown} & VFileCoreOptions} Options
40939 * Configuration.
40940 *
40941 * A bunch of keys that will be shallow copied over to the new file.
40942 *
40943 * @typedef {Record<string, unknown>} ReporterSettings
40944 * Configuration for reporters.
40945 */
40946
40947 /**
40948 * @template {ReporterSettings} Settings
40949 * Options type.
40950 * @callback Reporter
40951 * Type for a reporter.
40952 * @param {Array<VFile>} files
40953 * Files to report.
40954 * @param {Settings} options
40955 * Configuration.
40956 * @returns {string}
40957 * Report.
40958 */
40959
40960
40961
40962
40963
40964
40965
40966 /**
40967 * Order of setting (least specific to most), we need this because otherwise
40968 * `{stem: 'a', path: '~/b.js'}` would throw, as a path is needed before a
40969 * stem can be set.
40970 *
40971 * @type {Array<'basename' | 'dirname' | 'extname' | 'history' | 'path' | 'stem'>}
40972 */
40973 const order = ['history', 'path', 'basename', 'stem', 'extname', 'dirname']
40974
40975 class VFile {
40976 /**
40977 * Create a new virtual file.
40978 *
40979 * `options` is treated as:
40980 *
40981 * * `string` or `Buffer` — `{value: options}`
40982 * * `URL` — `{path: options}`
40983 * * `VFile` — shallow copies its data over to the new file
40984 * * `object` — all fields are shallow copied over to the new file
40985 *
40986 * Path related fields are set in the following order (least specific to
40987 * most specific): `history`, `path`, `basename`, `stem`, `extname`,
40988 * `dirname`.
40989 *
40990 * You cannot set `dirname` or `extname` without setting either `history`,
40991 * `path`, `basename`, or `stem` too.
40992 *
40993 * @param {Compatible | null | undefined} [value]
40994 * File value.
40995 * @returns
40996 * New instance.
40997 */
40998 constructor(value) {
40999 /** @type {Options | VFile} */
41000 let options
41001
41002 if (!value) {
41003 options = {}
41004 } else if (typeof value === 'string' || buffer(value)) {
41005 options = {value}
41006 } else if ((0,_minurl_js__WEBPACK_IMPORTED_MODULE_1__.isUrl)(value)) {
41007 options = {path: value}
41008 } else {
41009 options = value
41010 }
41011
41012 /**
41013 * Place to store custom information (default: `{}`).
41014 *
41015 * It’s OK to store custom data directly on the file but moving it to
41016 * `data` is recommended.
41017 *
41018 * @type {Data}
41019 */
41020 this.data = {}
41021
41022 /**
41023 * List of messages associated with the file.
41024 *
41025 * @type {Array<VFileMessage>}
41026 */
41027 this.messages = []
41028
41029 /**
41030 * List of filepaths the file moved between.
41031 *
41032 * The first is the original path and the last is the current path.
41033 *
41034 * @type {Array<string>}
41035 */
41036 this.history = []
41037
41038 /**
41039 * Base of `path` (default: `process.cwd()` or `'/'` in browsers).
41040 *
41041 * @type {string}
41042 */
41043 this.cwd = _minproc_js__WEBPACK_IMPORTED_MODULE_2__.proc.cwd()
41044
41045 /* eslint-disable no-unused-expressions */
41046 /**
41047 * Raw value.
41048 *
41049 * @type {Value}
41050 */
41051 this.value
41052
41053 // The below are non-standard, they are “well-known”.
41054 // As in, used in several tools.
41055
41056 /**
41057 * Whether a file was saved to disk.
41058 *
41059 * This is used by vfile reporters.
41060 *
41061 * @type {boolean}
41062 */
41063 this.stored
41064
41065 /**
41066 * Custom, non-string, compiled, representation.
41067 *
41068 * This is used by unified to store non-string results.
41069 * One example is when turning markdown into React nodes.
41070 *
41071 * @type {unknown}
41072 */
41073 this.result
41074
41075 /**
41076 * Source map.
41077 *
41078 * This type is equivalent to the `RawSourceMap` type from the `source-map`
41079 * module.
41080 *
41081 * @type {Map | null | undefined}
41082 */
41083 this.map
41084 /* eslint-enable no-unused-expressions */
41085
41086 // Set path related properties in the correct order.
41087 let index = -1
41088
41089 while (++index < order.length) {
41090 const prop = order[index]
41091
41092 // Note: we specifically use `in` instead of `hasOwnProperty` to accept
41093 // `vfile`s too.
41094 if (
41095 prop in options &&
41096 options[prop] !== undefined &&
41097 options[prop] !== null
41098 ) {
41099 // @ts-expect-error: TS doesn’t understand basic reality.
41100 this[prop] = prop === 'history' ? [...options[prop]] : options[prop]
41101 }
41102 }
41103
41104 /** @type {string} */
41105 let prop
41106
41107 // Set non-path related properties.
41108 for (prop in options) {
41109 // @ts-expect-error: fine to set other things.
41110 if (!order.includes(prop)) {
41111 // @ts-expect-error: fine to set other things.
41112 this[prop] = options[prop]
41113 }
41114 }
41115 }
41116
41117 /**
41118 * Get the full path (example: `'~/index.min.js'`).
41119 *
41120 * @returns {string}
41121 */
41122 get path() {
41123 return this.history[this.history.length - 1]
41124 }
41125
41126 /**
41127 * Set the full path (example: `'~/index.min.js'`).
41128 *
41129 * Cannot be nullified.
41130 * You can set a file URL (a `URL` object with a `file:` protocol) which will
41131 * be turned into a path with `url.fileURLToPath`.
41132 *
41133 * @param {string | URL} path
41134 */
41135 set path(path) {
41136 if ((0,_minurl_js__WEBPACK_IMPORTED_MODULE_1__.isUrl)(path)) {
41137 path = (0,_minurl_js__WEBPACK_IMPORTED_MODULE_3__.urlToPath)(path)
41138 }
41139
41140 assertNonEmpty(path, 'path')
41141
41142 if (this.path !== path) {
41143 this.history.push(path)
41144 }
41145 }
41146
41147 /**
41148 * Get the parent path (example: `'~'`).
41149 */
41150 get dirname() {
41151 return typeof this.path === 'string' ? _minpath_js__WEBPACK_IMPORTED_MODULE_4__.path.dirname(this.path) : undefined
41152 }
41153
41154 /**
41155 * Set the parent path (example: `'~'`).
41156 *
41157 * Cannot be set if there’s no `path` yet.
41158 */
41159 set dirname(dirname) {
41160 assertPath(this.basename, 'dirname')
41161 this.path = _minpath_js__WEBPACK_IMPORTED_MODULE_4__.path.join(dirname || '', this.basename)
41162 }
41163
41164 /**
41165 * Get the basename (including extname) (example: `'index.min.js'`).
41166 */
41167 get basename() {
41168 return typeof this.path === 'string' ? _minpath_js__WEBPACK_IMPORTED_MODULE_4__.path.basename(this.path) : undefined
41169 }
41170
41171 /**
41172 * Set basename (including extname) (`'index.min.js'`).
41173 *
41174 * Cannot contain path separators (`'/'` on unix, macOS, and browsers, `'\'`
41175 * on windows).
41176 * Cannot be nullified (use `file.path = file.dirname` instead).
41177 */
41178 set basename(basename) {
41179 assertNonEmpty(basename, 'basename')
41180 assertPart(basename, 'basename')
41181 this.path = _minpath_js__WEBPACK_IMPORTED_MODULE_4__.path.join(this.dirname || '', basename)
41182 }
41183
41184 /**
41185 * Get the extname (including dot) (example: `'.js'`).
41186 */
41187 get extname() {
41188 return typeof this.path === 'string' ? _minpath_js__WEBPACK_IMPORTED_MODULE_4__.path.extname(this.path) : undefined
41189 }
41190
41191 /**
41192 * Set the extname (including dot) (example: `'.js'`).
41193 *
41194 * Cannot contain path separators (`'/'` on unix, macOS, and browsers, `'\'`
41195 * on windows).
41196 * Cannot be set if there’s no `path` yet.
41197 */
41198 set extname(extname) {
41199 assertPart(extname, 'extname')
41200 assertPath(this.dirname, 'extname')
41201
41202 if (extname) {
41203 if (extname.charCodeAt(0) !== 46 /* `.` */) {
41204 throw new Error('`extname` must start with `.`')
41205 }
41206
41207 if (extname.includes('.', 1)) {
41208 throw new Error('`extname` cannot contain multiple dots')
41209 }
41210 }
41211
41212 this.path = _minpath_js__WEBPACK_IMPORTED_MODULE_4__.path.join(this.dirname, this.stem + (extname || ''))
41213 }
41214
41215 /**
41216 * Get the stem (basename w/o extname) (example: `'index.min'`).
41217 */
41218 get stem() {
41219 return typeof this.path === 'string'
41220 ? _minpath_js__WEBPACK_IMPORTED_MODULE_4__.path.basename(this.path, this.extname)
41221 : undefined
41222 }
41223
41224 /**
41225 * Set the stem (basename w/o extname) (example: `'index.min'`).
41226 *
41227 * Cannot contain path separators (`'/'` on unix, macOS, and browsers, `'\'`
41228 * on windows).
41229 * Cannot be nullified (use `file.path = file.dirname` instead).
41230 */
41231 set stem(stem) {
41232 assertNonEmpty(stem, 'stem')
41233 assertPart(stem, 'stem')
41234 this.path = _minpath_js__WEBPACK_IMPORTED_MODULE_4__.path.join(this.dirname || '', stem + (this.extname || ''))
41235 }
41236
41237 /**
41238 * Serialize the file.
41239 *
41240 * @param {BufferEncoding | null | undefined} [encoding='utf8']
41241 * Character encoding to understand `value` as when it’s a `Buffer`
41242 * (default: `'utf8'`).
41243 * @returns {string}
41244 * Serialized file.
41245 */
41246 toString(encoding) {
41247 return (this.value || '').toString(encoding || undefined)
41248 }
41249
41250 /**
41251 * Create a warning message associated with the file.
41252 *
41253 * Its `fatal` is set to `false` and `file` is set to the current file path.
41254 * Its added to `file.messages`.
41255 *
41256 * @param {string | Error | VFileMessage} reason
41257 * Reason for message, uses the stack and message of the error if given.
41258 * @param {Node | NodeLike | Position | Point | null | undefined} [place]
41259 * Place in file where the message occurred.
41260 * @param {string | null | undefined} [origin]
41261 * Place in code where the message originates (example:
41262 * `'my-package:my-rule'` or `'my-rule'`).
41263 * @returns {VFileMessage}
41264 * Message.
41265 */
41266 message(reason, place, origin) {
41267 const message = new vfile_message__WEBPACK_IMPORTED_MODULE_5__.VFileMessage(reason, place, origin)
41268
41269 if (this.path) {
41270 message.name = this.path + ':' + message.name
41271 message.file = this.path
41272 }
41273
41274 message.fatal = false
41275
41276 this.messages.push(message)
41277
41278 return message
41279 }
41280
41281 /**
41282 * Create an info message associated with the file.
41283 *
41284 * Its `fatal` is set to `null` and `file` is set to the current file path.
41285 * Its added to `file.messages`.
41286 *
41287 * @param {string | Error | VFileMessage} reason
41288 * Reason for message, uses the stack and message of the error if given.
41289 * @param {Node | NodeLike | Position | Point | null | undefined} [place]
41290 * Place in file where the message occurred.
41291 * @param {string | null | undefined} [origin]
41292 * Place in code where the message originates (example:
41293 * `'my-package:my-rule'` or `'my-rule'`).
41294 * @returns {VFileMessage}
41295 * Message.
41296 */
41297 info(reason, place, origin) {
41298 const message = this.message(reason, place, origin)
41299
41300 message.fatal = null
41301
41302 return message
41303 }
41304
41305 /**
41306 * Create a fatal error associated with the file.
41307 *
41308 * Its `fatal` is set to `true` and `file` is set to the current file path.
41309 * Its added to `file.messages`.
41310 *
41311 * > 👉 **Note**: a fatal error means that a file is no longer processable.
41312 *
41313 * @param {string | Error | VFileMessage} reason
41314 * Reason for message, uses the stack and message of the error if given.
41315 * @param {Node | NodeLike | Position | Point | null | undefined} [place]
41316 * Place in file where the message occurred.
41317 * @param {string | null | undefined} [origin]
41318 * Place in code where the message originates (example:
41319 * `'my-package:my-rule'` or `'my-rule'`).
41320 * @returns {never}
41321 * Message.
41322 * @throws {VFileMessage}
41323 * Message.
41324 */
41325 fail(reason, place, origin) {
41326 const message = this.message(reason, place, origin)
41327
41328 message.fatal = true
41329
41330 throw message
41331 }
41332 }
41333
41334 /**
41335 * Assert that `part` is not a path (as in, does not contain `path.sep`).
41336 *
41337 * @param {string | null | undefined} part
41338 * File path part.
41339 * @param {string} name
41340 * Part name.
41341 * @returns {void}
41342 * Nothing.
41343 */
41344 function assertPart(part, name) {
41345 if (part && part.includes(_minpath_js__WEBPACK_IMPORTED_MODULE_4__.path.sep)) {
41346 throw new Error(
41347 '`' + name + '` cannot be a path: did not expect `' + _minpath_js__WEBPACK_IMPORTED_MODULE_4__.path.sep + '`'
41348 )
41349 }
41350 }
41351
41352 /**
41353 * Assert that `part` is not empty.
41354 *
41355 * @param {string | undefined} part
41356 * Thing.
41357 * @param {string} name
41358 * Part name.
41359 * @returns {asserts part is string}
41360 * Nothing.
41361 */
41362 function assertNonEmpty(part, name) {
41363 if (!part) {
41364 throw new Error('`' + name + '` cannot be empty')
41365 }
41366 }
41367
41368 /**
41369 * Assert `path` exists.
41370 *
41371 * @param {string | undefined} path
41372 * Path.
41373 * @param {string} name
41374 * Dependency name.
41375 * @returns {asserts path is string}
41376 * Nothing.
41377 */
41378 function assertPath(path, name) {
41379 if (!path) {
41380 throw new Error('Setting `' + name + '` requires `path` to be set too')
41381 }
41382 }
41383
41384 /**
41385 * Assert `value` is a buffer.
41386 *
41387 * @param {unknown} value
41388 * thing.
41389 * @returns {value is Buffer}
41390 * Whether `value` is a Node.js buffer.
41391 */
41392 function buffer(value) {
41393 return is_buffer__WEBPACK_IMPORTED_MODULE_0__(value)
41394 }
41395
41396
41397 /***/ }),
41398
41399 /***/ "../node_modules/vfile/lib/minpath.browser.js":
41400 /*!****************************************************!*\
41401 !*** ../node_modules/vfile/lib/minpath.browser.js ***!
41402 \****************************************************/
41403 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
41404
41405 "use strict";
41406 __webpack_require__.r(__webpack_exports__);
41407 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
41408 /* harmony export */ path: () => (/* binding */ path)
41409 /* harmony export */ });
41410 // A derivative work based on:
41411 // <https://github.com/browserify/path-browserify>.
41412 // Which is licensed:
41413 //
41414 // MIT License
41415 //
41416 // Copyright (c) 2013 James Halliday
41417 //
41418 // Permission is hereby granted, free of charge, to any person obtaining a copy of
41419 // this software and associated documentation files (the "Software"), to deal in
41420 // the Software without restriction, including without limitation the rights to
41421 // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
41422 // the Software, and to permit persons to whom the Software is furnished to do so,
41423 // subject to the following conditions:
41424 //
41425 // The above copyright notice and this permission notice shall be included in all
41426 // copies or substantial portions of the Software.
41427 //
41428 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
41429 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
41430 // FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
41431 // COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
41432 // IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
41433 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
41434 // A derivative work based on:
41435 //
41436 // Parts of that are extracted from Node’s internal `path` module:
41437 // <https://github.com/nodejs/node/blob/master/lib/path.js>.
41438 // Which is licensed:
41439 //
41440 // Copyright Joyent, Inc. and other Node contributors.
41441 //
41442 // Permission is hereby granted, free of charge, to any person obtaining a
41443 // copy of this software and associated documentation files (the
41444 // "Software"), to deal in the Software without restriction, including
41445 // without limitation the rights to use, copy, modify, merge, publish,
41446 // distribute, sublicense, and/or sell copies of the Software, and to permit
41447 // persons to whom the Software is furnished to do so, subject to the
41448 // following conditions:
41449 //
41450 // The above copyright notice and this permission notice shall be included
41451 // in all copies or substantial portions of the Software.
41452 //
41453 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
41454 // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
41455 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
41456 // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
41457 // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
41458 // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
41459 // USE OR OTHER DEALINGS IN THE SOFTWARE.
41460
41461 const path = {basename, dirname, extname, join, sep: '/'}
41462
41463 /* eslint-disable max-depth, complexity */
41464
41465 /**
41466 * Get the basename from a path.
41467 *
41468 * @param {string} path
41469 * File path.
41470 * @param {string | undefined} [ext]
41471 * Extension to strip.
41472 * @returns {string}
41473 * Stem or basename.
41474 */
41475 function basename(path, ext) {
41476 if (ext !== undefined && typeof ext !== 'string') {
41477 throw new TypeError('"ext" argument must be a string')
41478 }
41479
41480 assertPath(path)
41481 let start = 0
41482 let end = -1
41483 let index = path.length
41484 /** @type {boolean | undefined} */
41485 let seenNonSlash
41486
41487 if (ext === undefined || ext.length === 0 || ext.length > path.length) {
41488 while (index--) {
41489 if (path.charCodeAt(index) === 47 /* `/` */) {
41490 // If we reached a path separator that was not part of a set of path
41491 // separators at the end of the string, stop now.
41492 if (seenNonSlash) {
41493 start = index + 1
41494 break
41495 }
41496 } else if (end < 0) {
41497 // We saw the first non-path separator, mark this as the end of our
41498 // path component.
41499 seenNonSlash = true
41500 end = index + 1
41501 }
41502 }
41503
41504 return end < 0 ? '' : path.slice(start, end)
41505 }
41506
41507 if (ext === path) {
41508 return ''
41509 }
41510
41511 let firstNonSlashEnd = -1
41512 let extIndex = ext.length - 1
41513
41514 while (index--) {
41515 if (path.charCodeAt(index) === 47 /* `/` */) {
41516 // If we reached a path separator that was not part of a set of path
41517 // separators at the end of the string, stop now.
41518 if (seenNonSlash) {
41519 start = index + 1
41520 break
41521 }
41522 } else {
41523 if (firstNonSlashEnd < 0) {
41524 // We saw the first non-path separator, remember this index in case
41525 // we need it if the extension ends up not matching.
41526 seenNonSlash = true
41527 firstNonSlashEnd = index + 1
41528 }
41529
41530 if (extIndex > -1) {
41531 // Try to match the explicit extension.
41532 if (path.charCodeAt(index) === ext.charCodeAt(extIndex--)) {
41533 if (extIndex < 0) {
41534 // We matched the extension, so mark this as the end of our path
41535 // component
41536 end = index
41537 }
41538 } else {
41539 // Extension does not match, so our result is the entire path
41540 // component
41541 extIndex = -1
41542 end = firstNonSlashEnd
41543 }
41544 }
41545 }
41546 }
41547
41548 if (start === end) {
41549 end = firstNonSlashEnd
41550 } else if (end < 0) {
41551 end = path.length
41552 }
41553
41554 return path.slice(start, end)
41555 }
41556
41557 /**
41558 * Get the dirname from a path.
41559 *
41560 * @param {string} path
41561 * File path.
41562 * @returns {string}
41563 * File path.
41564 */
41565 function dirname(path) {
41566 assertPath(path)
41567
41568 if (path.length === 0) {
41569 return '.'
41570 }
41571
41572 let end = -1
41573 let index = path.length
41574 /** @type {boolean | undefined} */
41575 let unmatchedSlash
41576
41577 // Prefix `--` is important to not run on `0`.
41578 while (--index) {
41579 if (path.charCodeAt(index) === 47 /* `/` */) {
41580 if (unmatchedSlash) {
41581 end = index
41582 break
41583 }
41584 } else if (!unmatchedSlash) {
41585 // We saw the first non-path separator
41586 unmatchedSlash = true
41587 }
41588 }
41589
41590 return end < 0
41591 ? path.charCodeAt(0) === 47 /* `/` */
41592 ? '/'
41593 : '.'
41594 : end === 1 && path.charCodeAt(0) === 47 /* `/` */
41595 ? '//'
41596 : path.slice(0, end)
41597 }
41598
41599 /**
41600 * Get an extname from a path.
41601 *
41602 * @param {string} path
41603 * File path.
41604 * @returns {string}
41605 * Extname.
41606 */
41607 function extname(path) {
41608 assertPath(path)
41609
41610 let index = path.length
41611
41612 let end = -1
41613 let startPart = 0
41614 let startDot = -1
41615 // Track the state of characters (if any) we see before our first dot and
41616 // after any path separator we find.
41617 let preDotState = 0
41618 /** @type {boolean | undefined} */
41619 let unmatchedSlash
41620
41621 while (index--) {
41622 const code = path.charCodeAt(index)
41623
41624 if (code === 47 /* `/` */) {
41625 // If we reached a path separator that was not part of a set of path
41626 // separators at the end of the string, stop now.
41627 if (unmatchedSlash) {
41628 startPart = index + 1
41629 break
41630 }
41631
41632 continue
41633 }
41634
41635 if (end < 0) {
41636 // We saw the first non-path separator, mark this as the end of our
41637 // extension.
41638 unmatchedSlash = true
41639 end = index + 1
41640 }
41641
41642 if (code === 46 /* `.` */) {
41643 // If this is our first dot, mark it as the start of our extension.
41644 if (startDot < 0) {
41645 startDot = index
41646 } else if (preDotState !== 1) {
41647 preDotState = 1
41648 }
41649 } else if (startDot > -1) {
41650 // We saw a non-dot and non-path separator before our dot, so we should
41651 // have a good chance at having a non-empty extension.
41652 preDotState = -1
41653 }
41654 }
41655
41656 if (
41657 startDot < 0 ||
41658 end < 0 ||
41659 // We saw a non-dot character immediately before the dot.
41660 preDotState === 0 ||
41661 // The (right-most) trimmed path component is exactly `..`.
41662 (preDotState === 1 && startDot === end - 1 && startDot === startPart + 1)
41663 ) {
41664 return ''
41665 }
41666
41667 return path.slice(startDot, end)
41668 }
41669
41670 /**
41671 * Join segments from a path.
41672 *
41673 * @param {Array<string>} segments
41674 * Path segments.
41675 * @returns {string}
41676 * File path.
41677 */
41678 function join(...segments) {
41679 let index = -1
41680 /** @type {string | undefined} */
41681 let joined
41682
41683 while (++index < segments.length) {
41684 assertPath(segments[index])
41685
41686 if (segments[index]) {
41687 joined =
41688 joined === undefined ? segments[index] : joined + '/' + segments[index]
41689 }
41690 }
41691
41692 return joined === undefined ? '.' : normalize(joined)
41693 }
41694
41695 /**
41696 * Normalize a basic file path.
41697 *
41698 * @param {string} path
41699 * File path.
41700 * @returns {string}
41701 * File path.
41702 */
41703 // Note: `normalize` is not exposed as `path.normalize`, so some code is
41704 // manually removed from it.
41705 function normalize(path) {
41706 assertPath(path)
41707
41708 const absolute = path.charCodeAt(0) === 47 /* `/` */
41709
41710 // Normalize the path according to POSIX rules.
41711 let value = normalizeString(path, !absolute)
41712
41713 if (value.length === 0 && !absolute) {
41714 value = '.'
41715 }
41716
41717 if (value.length > 0 && path.charCodeAt(path.length - 1) === 47 /* / */) {
41718 value += '/'
41719 }
41720
41721 return absolute ? '/' + value : value
41722 }
41723
41724 /**
41725 * Resolve `.` and `..` elements in a path with directory names.
41726 *
41727 * @param {string} path
41728 * File path.
41729 * @param {boolean} allowAboveRoot
41730 * Whether `..` can move above root.
41731 * @returns {string}
41732 * File path.
41733 */
41734 function normalizeString(path, allowAboveRoot) {
41735 let result = ''
41736 let lastSegmentLength = 0
41737 let lastSlash = -1
41738 let dots = 0
41739 let index = -1
41740 /** @type {number | undefined} */
41741 let code
41742 /** @type {number} */
41743 let lastSlashIndex
41744
41745 while (++index <= path.length) {
41746 if (index < path.length) {
41747 code = path.charCodeAt(index)
41748 } else if (code === 47 /* `/` */) {
41749 break
41750 } else {
41751 code = 47 /* `/` */
41752 }
41753
41754 if (code === 47 /* `/` */) {
41755 if (lastSlash === index - 1 || dots === 1) {
41756 // Empty.
41757 } else if (lastSlash !== index - 1 && dots === 2) {
41758 if (
41759 result.length < 2 ||
41760 lastSegmentLength !== 2 ||
41761 result.charCodeAt(result.length - 1) !== 46 /* `.` */ ||
41762 result.charCodeAt(result.length - 2) !== 46 /* `.` */
41763 ) {
41764 if (result.length > 2) {
41765 lastSlashIndex = result.lastIndexOf('/')
41766
41767 if (lastSlashIndex !== result.length - 1) {
41768 if (lastSlashIndex < 0) {
41769 result = ''
41770 lastSegmentLength = 0
41771 } else {
41772 result = result.slice(0, lastSlashIndex)
41773 lastSegmentLength = result.length - 1 - result.lastIndexOf('/')
41774 }
41775
41776 lastSlash = index
41777 dots = 0
41778 continue
41779 }
41780 } else if (result.length > 0) {
41781 result = ''
41782 lastSegmentLength = 0
41783 lastSlash = index
41784 dots = 0
41785 continue
41786 }
41787 }
41788
41789 if (allowAboveRoot) {
41790 result = result.length > 0 ? result + '/..' : '..'
41791 lastSegmentLength = 2
41792 }
41793 } else {
41794 if (result.length > 0) {
41795 result += '/' + path.slice(lastSlash + 1, index)
41796 } else {
41797 result = path.slice(lastSlash + 1, index)
41798 }
41799
41800 lastSegmentLength = index - lastSlash - 1
41801 }
41802
41803 lastSlash = index
41804 dots = 0
41805 } else if (code === 46 /* `.` */ && dots > -1) {
41806 dots++
41807 } else {
41808 dots = -1
41809 }
41810 }
41811
41812 return result
41813 }
41814
41815 /**
41816 * Make sure `path` is a string.
41817 *
41818 * @param {string} path
41819 * File path.
41820 * @returns {asserts path is string}
41821 * Nothing.
41822 */
41823 function assertPath(path) {
41824 if (typeof path !== 'string') {
41825 throw new TypeError(
41826 'Path must be a string. Received ' + JSON.stringify(path)
41827 )
41828 }
41829 }
41830
41831 /* eslint-enable max-depth, complexity */
41832
41833
41834 /***/ }),
41835
41836 /***/ "../node_modules/vfile/lib/minproc.browser.js":
41837 /*!****************************************************!*\
41838 !*** ../node_modules/vfile/lib/minproc.browser.js ***!
41839 \****************************************************/
41840 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
41841
41842 "use strict";
41843 __webpack_require__.r(__webpack_exports__);
41844 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
41845 /* harmony export */ proc: () => (/* binding */ proc)
41846 /* harmony export */ });
41847 // Somewhat based on:
41848 // <https://github.com/defunctzombie/node-process/blob/master/browser.js>.
41849 // But I don’t think one tiny line of code can be copyrighted. 😅
41850 const proc = {cwd}
41851
41852 function cwd() {
41853 return '/'
41854 }
41855
41856
41857 /***/ }),
41858
41859 /***/ "../node_modules/vfile/lib/minurl.browser.js":
41860 /*!***************************************************!*\
41861 !*** ../node_modules/vfile/lib/minurl.browser.js ***!
41862 \***************************************************/
41863 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
41864
41865 "use strict";
41866 __webpack_require__.r(__webpack_exports__);
41867 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
41868 /* harmony export */ isUrl: () => (/* reexport safe */ _minurl_shared_js__WEBPACK_IMPORTED_MODULE_0__.isUrl),
41869 /* harmony export */ urlToPath: () => (/* binding */ urlToPath)
41870 /* harmony export */ });
41871 /* harmony import */ var _minurl_shared_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./minurl.shared.js */ "../node_modules/vfile/lib/minurl.shared.js");
41872 /// <reference lib="dom" />
41873
41874
41875
41876 // See: <https://github.com/nodejs/node/blob/fcf8ba4/lib/internal/url.js>
41877
41878 /**
41879 * @param {string | URL} path
41880 * File URL.
41881 * @returns {string}
41882 * File URL.
41883 */
41884 function urlToPath(path) {
41885 if (typeof path === 'string') {
41886 path = new URL(path)
41887 } else if (!(0,_minurl_shared_js__WEBPACK_IMPORTED_MODULE_0__.isUrl)(path)) {
41888 /** @type {NodeJS.ErrnoException} */
41889 const error = new TypeError(
41890 'The "path" argument must be of type string or an instance of URL. Received `' +
41891 path +
41892 '`'
41893 )
41894 error.code = 'ERR_INVALID_ARG_TYPE'
41895 throw error
41896 }
41897
41898 if (path.protocol !== 'file:') {
41899 /** @type {NodeJS.ErrnoException} */
41900 const error = new TypeError('The URL must be of scheme file')
41901 error.code = 'ERR_INVALID_URL_SCHEME'
41902 throw error
41903 }
41904
41905 return getPathFromURLPosix(path)
41906 }
41907
41908 /**
41909 * Get a path from a POSIX URL.
41910 *
41911 * @param {URL} url
41912 * URL.
41913 * @returns {string}
41914 * File path.
41915 */
41916 function getPathFromURLPosix(url) {
41917 if (url.hostname !== '') {
41918 /** @type {NodeJS.ErrnoException} */
41919 const error = new TypeError(
41920 'File URL host must be "localhost" or empty on darwin'
41921 )
41922 error.code = 'ERR_INVALID_FILE_URL_HOST'
41923 throw error
41924 }
41925
41926 const pathname = url.pathname
41927 let index = -1
41928
41929 while (++index < pathname.length) {
41930 if (
41931 pathname.charCodeAt(index) === 37 /* `%` */ &&
41932 pathname.charCodeAt(index + 1) === 50 /* `2` */
41933 ) {
41934 const third = pathname.charCodeAt(index + 2)
41935 if (third === 70 /* `F` */ || third === 102 /* `f` */) {
41936 /** @type {NodeJS.ErrnoException} */
41937 const error = new TypeError(
41938 'File URL path must not include encoded / characters'
41939 )
41940 error.code = 'ERR_INVALID_FILE_URL_PATH'
41941 throw error
41942 }
41943 }
41944 }
41945
41946 return decodeURIComponent(pathname)
41947 }
41948
41949
41950
41951
41952 /***/ }),
41953
41954 /***/ "../node_modules/vfile/lib/minurl.shared.js":
41955 /*!**************************************************!*\
41956 !*** ../node_modules/vfile/lib/minurl.shared.js ***!
41957 \**************************************************/
41958 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
41959
41960 "use strict";
41961 __webpack_require__.r(__webpack_exports__);
41962 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
41963 /* harmony export */ isUrl: () => (/* binding */ isUrl)
41964 /* harmony export */ });
41965 /**
41966 * @typedef URL
41967 * @property {string} hash
41968 * @property {string} host
41969 * @property {string} hostname
41970 * @property {string} href
41971 * @property {string} origin
41972 * @property {string} password
41973 * @property {string} pathname
41974 * @property {string} port
41975 * @property {string} protocol
41976 * @property {string} search
41977 * @property {any} searchParams
41978 * @property {string} username
41979 * @property {() => string} toString
41980 * @property {() => string} toJSON
41981 */
41982
41983 /**
41984 * Check if `fileUrlOrPath` looks like a URL.
41985 *
41986 * @param {unknown} fileUrlOrPath
41987 * File path or URL.
41988 * @returns {fileUrlOrPath is URL}
41989 * Whether it’s a URL.
41990 */
41991 // From: <https://github.com/nodejs/node/blob/fcf8ba4/lib/internal/url.js#L1501>
41992 function isUrl(fileUrlOrPath) {
41993 return (
41994 fileUrlOrPath !== null &&
41995 typeof fileUrlOrPath === 'object' &&
41996 // @ts-expect-error: indexable.
41997 fileUrlOrPath.href &&
41998 // @ts-expect-error: indexable.
41999 fileUrlOrPath.origin
42000 )
42001 }
42002
42003
42004 /***/ })
42005
42006 /******/ });
42007 /************************************************************************/
42008 /******/ // The module cache
42009 /******/ var __webpack_module_cache__ = {};
42010 /******/
42011 /******/ // The require function
42012 /******/ function __webpack_require__(moduleId) {
42013 /******/ // Check if module is in cache
42014 /******/ var cachedModule = __webpack_module_cache__[moduleId];
42015 /******/ if (cachedModule !== undefined) {
42016 /******/ return cachedModule.exports;
42017 /******/ }
42018 /******/ // Create a new module (and put it into the cache)
42019 /******/ var module = __webpack_module_cache__[moduleId] = {
42020 /******/ // no module.id needed
42021 /******/ // no module.loaded needed
42022 /******/ exports: {}
42023 /******/ };
42024 /******/
42025 /******/ // Execute the module function
42026 /******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);
42027 /******/
42028 /******/ // Return the exports of the module
42029 /******/ return module.exports;
42030 /******/ }
42031 /******/
42032 /************************************************************************/
42033 /******/ /* webpack/runtime/compat get default export */
42034 /******/ (() => {
42035 /******/ // getDefaultExport function for compatibility with non-harmony modules
42036 /******/ __webpack_require__.n = (module) => {
42037 /******/ var getter = module && module.__esModule ?
42038 /******/ () => (module['default']) :
42039 /******/ () => (module);
42040 /******/ __webpack_require__.d(getter, { a: getter });
42041 /******/ return getter;
42042 /******/ };
42043 /******/ })();
42044 /******/
42045 /******/ /* webpack/runtime/define property getters */
42046 /******/ (() => {
42047 /******/ // define getter functions for harmony exports
42048 /******/ __webpack_require__.d = (exports, definition) => {
42049 /******/ for(var key in definition) {
42050 /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
42051 /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
42052 /******/ }
42053 /******/ }
42054 /******/ };
42055 /******/ })();
42056 /******/
42057 /******/ /* webpack/runtime/hasOwnProperty shorthand */
42058 /******/ (() => {
42059 /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
42060 /******/ })();
42061 /******/
42062 /******/ /* webpack/runtime/make namespace object */
42063 /******/ (() => {
42064 /******/ // define __esModule on exports
42065 /******/ __webpack_require__.r = (exports) => {
42066 /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
42067 /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
42068 /******/ }
42069 /******/ Object.defineProperty(exports, '__esModule', { value: true });
42070 /******/ };
42071 /******/ })();
42072 /******/
42073 /************************************************************************/
42074 var __webpack_exports__ = {};
42075 // This entry need to be wrapped in an IIFE because it need to be in strict mode.
42076 (() => {
42077 "use strict";
42078 /*!***********************************************!*\
42079 !*** ../modules/ai/assets/js/editor/index.js ***!
42080 \***********************************************/
42081
42082
42083 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
42084 var _module = _interopRequireDefault(__webpack_require__(/*! ./module.js */ "../modules/ai/assets/js/editor/module.js"));
42085 new _module.default();
42086 })();
42087
42088 /******/ })()
42089 ;
42090 //# sourceMappingURL=ai.js.map