PluginProbe
Elementor Website Builder – more than just a page builder / 3.21.0-beta2
Elementor Website Builder – more than just a page builder v3.21.0-beta2
4.3.4 4.3.3 4.3.2 4.3.1 4.3.0 4.3.0-beta3 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 All 457 releases
elementor / assets / js / ai.js

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

42,603 lines 1.6 MB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /*! elementor - v3.21.0 - 08-04-2024 */
2 /******/ (() => { // webpackBootstrap
3 /******/ var __webpack_modules__ = ({
4
5 /***/ "../assets/dev/js/utils/react.js":
6 /*!***************************************!*\
7 !*** ../assets/dev/js/utils/react.js ***!
8 \***************************************/
9 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
10
11 "use strict";
12
13
14 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
15 Object.defineProperty(exports, "__esModule", ({
16 value: true
17 }));
18 exports["default"] = void 0;
19 var React = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
20 var ReactDOM = _interopRequireWildcard(__webpack_require__(/*! react-dom */ "react-dom"));
21 var _client = __webpack_require__(/*! react-dom/client */ "../node_modules/react-dom/client.js");
22 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); }
23 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; }
24 /**
25 * Support conditional rendering of a React App to the DOM, based on the React version.
26 * We use `createRoot` when available, but fallback to `ReactDOM.render` for older versions.
27 *
28 * @param { React.ReactElement } app The app to render.
29 * @param { HTMLElement } domElement The DOM element to render the app into.
30 *
31 * @return {{ unmount: () => void }} The unmount function.
32 */
33 function render(app, domElement) {
34 var unmountFunction;
35 try {
36 var root = (0, _client.createRoot)(domElement);
37 root.render(app);
38 unmountFunction = function unmountFunction() {
39 root.unmount();
40 };
41 } catch (e) {
42 // eslint-disable-next-line react/no-deprecated
43 ReactDOM.render(app, domElement);
44 unmountFunction = function unmountFunction() {
45 // eslint-disable-next-line react/no-deprecated
46 ReactDOM.unmountComponentAtNode(domElement);
47 };
48 }
49 return {
50 unmount: unmountFunction
51 };
52 }
53 var _default = {
54 render: render
55 };
56 exports["default"] = _default;
57
58 /***/ }),
59
60 /***/ "../modules/ai/assets/js/editor/actions-data.js":
61 /*!******************************************************!*\
62 !*** ../modules/ai/assets/js/editor/actions-data.js ***!
63 \******************************************************/
64 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
65
66 "use strict";
67
68
69 Object.defineProperty(exports, "__esModule", ({
70 value: true
71 }));
72 exports.vocalTones = exports.translateLanguages = exports.textareaAutocomplete = exports.textAutocomplete = exports.codeHtmlAutocomplete = exports.codeCssAutocomplete = void 0;
73 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
74 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')];
75 exports.textAutocomplete = textAutocomplete;
76 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')];
77 exports.textareaAutocomplete = textareaAutocomplete;
78 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')];
79 exports.codeHtmlAutocomplete = codeHtmlAutocomplete;
80 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')];
81 exports.codeCssAutocomplete = codeCssAutocomplete;
82 var vocalTones = [{
83 label: (0, _i18n.__)('Casual', 'elementor')
84 }, {
85 label: (0, _i18n.__)('Confidence', 'elementor')
86 }, {
87 label: (0, _i18n.__)('Formal', 'elementor')
88 }, {
89 label: (0, _i18n.__)('Friendly', 'elementor')
90 }, {
91 label: (0, _i18n.__)('Inspirational', 'elementor')
92 }, {
93 label: (0, _i18n.__)('Motivational', 'elementor')
94 }, {
95 label: (0, _i18n.__)('Nostalgic', 'elementor')
96 }, {
97 label: (0, _i18n.__)('Playful', 'elementor')
98 }, {
99 label: (0, _i18n.__)('Professional', 'elementor')
100 }, {
101 label: (0, _i18n.__)('Scientific', 'elementor')
102 }, {
103 label: (0, _i18n.__)('Straightforward', 'elementor')
104 }, {
105 label: (0, _i18n.__)('Witty', 'elementor')
106 }];
107 exports.vocalTones = vocalTones;
108 var translateLanguages = [{
109 label: (0, _i18n.__)('Arabic', 'elementor'),
110 value: 'ar-SA'
111 }, {
112 label: (0, _i18n.__)('Chinese', 'elementor'),
113 value: 'zh-CN'
114 }, {
115 label: (0, _i18n.__)('Czech', 'elementor'),
116 value: 'cs-CZ'
117 }, {
118 label: (0, _i18n.__)('Danish', 'elementor'),
119 value: 'da-DK'
120 }, {
121 label: (0, _i18n.__)('Dutch', 'elementor'),
122 value: 'nl-NL'
123 }, {
124 label: (0, _i18n.__)('English', 'elementor'),
125 value: 'en-US'
126 }, {
127 label: (0, _i18n.__)('Finnish', 'elementor'),
128 value: 'fi-FI'
129 }, {
130 label: (0, _i18n.__)('French', 'elementor'),
131 value: 'fr-FR'
132 }, {
133 label: (0, _i18n.__)('German', 'elementor'),
134 value: 'de-DE'
135 }, {
136 label: (0, _i18n.__)('Greek', 'elementor'),
137 value: 'el-GR'
138 }, {
139 label: (0, _i18n.__)('Hebrew', 'elementor'),
140 value: 'he-IL'
141 }, {
142 label: (0, _i18n.__)('Hungarian', 'elementor'),
143 value: 'hu-HU'
144 }, {
145 label: (0, _i18n.__)('Indonesian', 'elementor'),
146 value: 'id-ID'
147 }, {
148 label: (0, _i18n.__)('Italian', 'elementor'),
149 value: 'it-IT'
150 }, {
151 label: (0, _i18n.__)('Japanese', 'elementor'),
152 value: 'ja-JP'
153 }, {
154 label: (0, _i18n.__)('Korean', 'elementor'),
155 value: 'ko-KR'
156 }, {
157 label: (0, _i18n.__)('Persian', 'elementor'),
158 value: 'fa-IR'
159 }, {
160 label: (0, _i18n.__)('Polish', 'elementor'),
161 value: 'pl-PL'
162 }, {
163 label: (0, _i18n.__)('Portuguese', 'elementor'),
164 value: 'pt-PT'
165 }, {
166 label: (0, _i18n.__)('Russian', 'elementor'),
167 value: 'ru-RU'
168 }, {
169 label: (0, _i18n.__)('Spanish', 'elementor'),
170 value: 'es-ES'
171 }, {
172 label: (0, _i18n.__)('Swedish', 'elementor'),
173 value: 'sv-SE'
174 }, {
175 label: (0, _i18n.__)('Thai', 'elementor'),
176 value: 'th-TH'
177 }, {
178 label: (0, _i18n.__)('Turkish', 'elementor'),
179 value: 'tr-TR'
180 }, {
181 label: (0, _i18n.__)('Vietnamese', 'elementor'),
182 value: 'vi-VN'
183 }];
184 exports.translateLanguages = translateLanguages;
185
186 /***/ }),
187
188 /***/ "../modules/ai/assets/js/editor/ai-behavior.js":
189 /*!*****************************************************!*\
190 !*** ../modules/ai/assets/js/editor/ai-behavior.js ***!
191 \*****************************************************/
192 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
193
194 "use strict";
195
196
197 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
198 Object.defineProperty(exports, "__esModule", ({
199 value: true
200 }));
201 exports["default"] = void 0;
202 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
203 var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
204 var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
205 var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
206 var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
207 var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
208 var _react2 = _interopRequireDefault(__webpack_require__(/*! elementor-utils/react */ "../assets/dev/js/utils/react.js"));
209 var _app = _interopRequireDefault(__webpack_require__(/*! ./app */ "../modules/ai/assets/js/editor/app.js"));
210 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
211 var _aiPromotionInfotipWrapper = _interopRequireDefault(__webpack_require__(/*! ./components/ai-promotion-infotip-wrapper */ "../modules/ai/assets/js/editor/components/ai-promotion-infotip-wrapper.js"));
212 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); }; }
213 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; } }
214 var AiBehavior = /*#__PURE__*/function (_Marionette$Behavior) {
215 (0, _inherits2.default)(AiBehavior, _Marionette$Behavior);
216 var _super = _createSuper(AiBehavior);
217 function AiBehavior() {
218 (0, _classCallCheck2.default)(this, AiBehavior);
219 return _super.apply(this, arguments);
220 }
221 (0, _createClass2.default)(AiBehavior, [{
222 key: "initialize",
223 value: function initialize() {
224 this.type = 'text';
225 this.controlType = 'text';
226 this.buttonLabel = (0, _i18n.__)('Write with AI', 'elementor');
227 this.editButtonLabel = (0, _i18n.__)('Edit with AI', 'elementor');
228 this.isLabelBlock = false;
229 this.additionalOptions = {};
230 this.context = {};
231 this.config = window.ElementorAiConfig;
232 }
233 }, {
234 key: "ui",
235 value: function ui() {
236 return {
237 aiButton: '.e-ai-button'
238 };
239 }
240 }, {
241 key: "events",
242 value: function events() {
243 return {
244 'click @ui.aiButton': 'onAiButtonClick'
245 };
246 }
247 }, {
248 key: "onAiButtonClick",
249 value: function onAiButtonClick(event) {
250 var _elementor, _elementor$getPrefere;
251 event.stopPropagation();
252 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';
253 var isRTL = elementorCommon.config.isRTL;
254 var rootElement = document.createElement('div');
255 document.body.append(rootElement);
256 window.elementorAiCurrentContext = this.getOption('context');
257 var _ReactUtils$render = _react2.default.render( /*#__PURE__*/_react.default.createElement(_app.default, {
258 type: this.getOption('type'),
259 controlType: this.getOption('controlType'),
260 getControlValue: this.getOption('getControlValue'),
261 setControlValue: this.getOption('setControlValue'),
262 additionalOptions: this.getOption('additionalOptions'),
263 controlView: this.getOption('controlView'),
264 onClose: function onClose() {
265 unmount();
266 rootElement.remove();
267 },
268 colorScheme: colorScheme,
269 isRTL: isRTL
270 }), rootElement),
271 unmount = _ReactUtils$render.unmount;
272 }
273 }, {
274 key: "getAiButtonLabel",
275 value: function getAiButtonLabel() {
276 var _this$getOption;
277 var defaultValue = (_this$getOption = this.getOption('additionalOptions')) === null || _this$getOption === void 0 ? void 0 : _this$getOption.defaultValue;
278 var currentValue = this.getOption('getControlValue')();
279 var isMedia = 'media' === this.getOption('type');
280 var isDefaultValue = !isMedia && defaultValue === currentValue || isMedia && (currentValue === null || currentValue === void 0 ? void 0 : currentValue.url) === (defaultValue === null || defaultValue === void 0 ? void 0 : defaultValue.url);
281 return isDefaultValue ? this.getOption('buttonLabel') : this.getOption('editButtonLabel');
282 }
283 }, {
284 key: "getPromotionTexts",
285 value: function getPromotionTexts(controlType) {
286 switch (controlType) {
287 case 'textarea':
288 return {
289 header: (0, _i18n.__)("Writer's block? Never again!", 'elementor'),
290 contentText: (0, _i18n.__)('Elementor AI can draft your initial content and help you beat the blank page.', 'elementor')
291 };
292 case 'media':
293 return {
294 header: (0, _i18n.__)('Unleash your creativity.', 'elementor'),
295 contentText: (0, _i18n.__)('With Elementor AI, you can generate any image you would like for your website.', 'elementor')
296 };
297 case 'media-edit':
298 return {
299 header: (0, _i18n.__)('Unleash your creativity.', 'elementor'),
300 contentText: (0, _i18n.__)('With Elementor AI, you can edit images for your website.', 'elementor')
301 };
302 case 'code':
303 return {
304 header: (0, _i18n.__)('Let the elves take care of it.', 'elementor'),
305 contentText: (0, _i18n.__)('Elementor AI can help you write code faster and more efficiently.', 'elementor')
306 };
307 default:
308 return null;
309 }
310 }
311 }, {
312 key: "isMediaPlaceholder",
313 value: function isMediaPlaceholder(controlType) {
314 var _this$view$options$co, _this$view$options$co2;
315 if (controlType !== 'media') {
316 return false;
317 }
318 return (_this$view$options$co = this.view.options.container.settings.get(this.view.model.get('name'))) === null || _this$view$options$co === void 0 ? void 0 : (_this$view$options$co2 = _this$view$options$co.url) === null || _this$view$options$co2 === void 0 ? void 0 : _this$view$options$co2.includes('elementor/assets/images/placeholder.png');
319 }
320 }, {
321 key: "onRender",
322 value: function onRender() {
323 var isPromotion = !this.config.is_get_started;
324 var buttonLabel = this.getAiButtonLabel();
325 var $button = jQuery('<button>', {
326 class: 'e-ai-button'
327 });
328 if (!isPromotion) {
329 $button.addClass('e-active');
330 }
331 $button.html('<i class="eicon-ai"></i>');
332 if (this.getOption('isLabelBlock') && isPromotion) {
333 $button.append(' ' + buttonLabel);
334 } else {
335 $button.tipsy({
336 gravity: 's',
337 title: function title() {
338 return buttonLabel;
339 }
340 });
341 }
342 var $wrap = this.$el.find('.elementor-control-responsive-switchers');
343 if (!$wrap.length) {
344 $wrap = this.$el.find('.elementor-control-title');
345 }
346 $wrap.after($button);
347 var controlType = this.view.model.get('type');
348 if ('media' === controlType && !this.isMediaPlaceholder(controlType)) {
349 controlType = 'media-edit';
350 }
351 var promotionTexts = this.getPromotionTexts(controlType);
352 if (!promotionTexts) {
353 return;
354 }
355 var editorSessionValue = sessionStorage.getItem('ai_promotion_introduction_editor_session_key');
356 if (!editorSessionValue || editorSessionValue !== EDITOR_SESSION_ID) {
357 sessionStorage.setItem('ai_promotion_introduction_editor_session_key', EDITOR_SESSION_ID);
358 } else {
359 return;
360 }
361 setTimeout(function () {
362 var _elementor2, _elementor2$getPrefer;
363 var rootBox = $button[0].getBoundingClientRect();
364 if (!rootBox || 0 === rootBox.width || 0 === rootBox.height) {
365 return;
366 }
367 var rootElement = document.createElement('div');
368 document.body.append(rootElement);
369 var _ReactUtils$render2 = _react2.default.render( /*#__PURE__*/_react.default.createElement(_aiPromotionInfotipWrapper.default, {
370 anchor: $button[0],
371 header: promotionTexts.header,
372 contentText: promotionTexts.contentText,
373 controlType: controlType,
374 unmountAction: function unmountAction() {
375 unmount();
376 },
377 colorScheme: ((_elementor2 = elementor) === null || _elementor2 === void 0 ? void 0 : (_elementor2$getPrefer = _elementor2.getPreferences) === null || _elementor2$getPrefer === void 0 ? void 0 : _elementor2$getPrefer.call(_elementor2, 'ui_theme')) || 'auto',
378 isRTL: elementorCommon.config.isRTL
379 }), rootElement),
380 unmount = _ReactUtils$render2.unmount;
381 }, 1000);
382 }
383 }]);
384 return AiBehavior;
385 }(Marionette.Behavior);
386 exports["default"] = AiBehavior;
387
388 /***/ }),
389
390 /***/ "../modules/ai/assets/js/editor/api/index.js":
391 /*!***************************************************!*\
392 !*** ../modules/ai/assets/js/editor/api/index.js ***!
393 \***************************************************/
394 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
395
396 "use strict";
397
398
399 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
400 Object.defineProperty(exports, "__esModule", ({
401 value: true
402 }));
403 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;
404 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
405 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; }
406 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; }
407 var request = function request(endpoint) {
408 var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
409 var immediately = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
410 var signal = arguments.length > 3 ? arguments[3] : undefined;
411 if (Object.keys(data).length) {
412 data.context = window.elementorAiCurrentContext;
413 }
414 return new Promise(function (resolve, reject) {
415 var ajaxData = elementorCommon.ajax.addRequest(endpoint, {
416 success: resolve,
417 error: reject,
418 data: data
419 }, immediately);
420 if (signal && ajaxData.jqXhr) {
421 signal.addEventListener('abort', ajaxData.jqXhr.abort);
422 }
423 });
424 };
425 var getUserInformation = function getUserInformation() {
426 return request('ai_get_user_information');
427 };
428 exports.getUserInformation = getUserInformation;
429 var getRemoteConfig = function getRemoteConfig() {
430 return request('ai_get_remote_config');
431 };
432 exports.getRemoteConfig = getRemoteConfig;
433 var getCompletionText = function getCompletionText(payload) {
434 return request('ai_get_completion_text', {
435 payload: payload
436 });
437 };
438 exports.getCompletionText = getCompletionText;
439 var getEditText = function getEditText(payload) {
440 return request('ai_get_edit_text', {
441 payload: payload
442 });
443 };
444 exports.getEditText = getEditText;
445 var getCustomCode = function getCustomCode(payload) {
446 return request('ai_get_custom_code', {
447 payload: payload
448 });
449 };
450 exports.getCustomCode = getCustomCode;
451 var getCustomCSS = function getCustomCSS(payload) {
452 return request('ai_get_custom_css', {
453 payload: payload
454 });
455 };
456 exports.getCustomCSS = getCustomCSS;
457 var setGetStarted = function setGetStarted() {
458 return request('ai_set_get_started');
459 };
460 exports.setGetStarted = setGetStarted;
461 var setStatusFeedback = function setStatusFeedback(responseId) {
462 return request('ai_set_status_feedback', {
463 response_id: responseId
464 });
465 };
466 exports.setStatusFeedback = setStatusFeedback;
467 var getTextToImageGeneration = function getTextToImageGeneration(payload) {
468 return request('ai_get_text_to_image', {
469 payload: payload
470 });
471 };
472 exports.getTextToImageGeneration = getTextToImageGeneration;
473 var getImageToImageGeneration = function getImageToImageGeneration(payload) {
474 return request('ai_get_image_to_image', {
475 payload: payload
476 });
477 };
478 exports.getImageToImageGeneration = getImageToImageGeneration;
479 var getImageToImageMaskGeneration = function getImageToImageMaskGeneration(payload) {
480 return request('ai_get_image_to_image_mask', {
481 payload: payload
482 });
483 };
484 exports.getImageToImageMaskGeneration = getImageToImageMaskGeneration;
485 var getImageToImageOutPainting = function getImageToImageOutPainting(payload) {
486 return request('ai_get_image_to_image_outpainting', {
487 payload: payload
488 });
489 };
490 exports.getImageToImageOutPainting = getImageToImageOutPainting;
491 var getImageToImageUpscale = function getImageToImageUpscale(payload) {
492 return request('ai_get_image_to_image_upscale', {
493 payload: payload
494 });
495 };
496 exports.getImageToImageUpscale = getImageToImageUpscale;
497 var getImageToImageRemoveBackground = function getImageToImageRemoveBackground(payload) {
498 return request('ai_get_image_to_image_remove_background', {
499 payload: payload
500 });
501 };
502 exports.getImageToImageRemoveBackground = getImageToImageRemoveBackground;
503 var getImageToImageReplaceBackground = function getImageToImageReplaceBackground(payload) {
504 return request('ai_get_image_to_image_replace_background', {
505 payload: payload
506 });
507 };
508 exports.getImageToImageReplaceBackground = getImageToImageReplaceBackground;
509 var getImageToImageRemoveText = function getImageToImageRemoveText(image) {
510 return request('ai_get_image_to_image_remove_text', {
511 image: image
512 });
513 };
514 exports.getImageToImageRemoveText = getImageToImageRemoveText;
515 var getImagePromptEnhanced = function getImagePromptEnhanced(prompt) {
516 return request('ai_get_image_prompt_enhancer', {
517 prompt: prompt
518 });
519 };
520 exports.getImagePromptEnhanced = getImagePromptEnhanced;
521 var uploadImage = function uploadImage(image) {
522 return request('ai_upload_image', _objectSpread({}, image));
523 };
524
525 /**
526 * @typedef {Object} AttachmentPropType - See ./types/attachment.js
527 * @typedef {Object} requestBody
528 * @property {string} prompt - Prompt to generate the layout from.
529 * @property {0|1|2} [variationType] - Type of the layout to generate (actually it's a position).
530 * @property {string[]} [prevGeneratedIds] - Previously generated ids for exclusion on regeneration.
531 * @property {AttachmentPropType[]} [attachments] - Attachments to use for the generation. currently only `json` type is supported - a container JSON to generate variations from.
532 */
533
534 /**
535 * @param {requestBody} requestBody
536 * @param {AbortSignal} [signal]
537 */
538 exports.uploadImage = uploadImage;
539 var generateLayout = function generateLayout(requestBody, signal) {
540 return request('ai_generate_layout', requestBody, true, signal);
541 };
542 exports.generateLayout = generateLayout;
543 var getLayoutPromptEnhanced = function getLayoutPromptEnhanced(prompt, enhanceType) {
544 return request('ai_get_layout_prompt_enhancer', {
545 prompt: prompt,
546 enhance_type: enhanceType
547 });
548 };
549 exports.getLayoutPromptEnhanced = getLayoutPromptEnhanced;
550 var getHistory = function getHistory(type, page, limit) {
551 return request('ai_get_history', {
552 type: type,
553 page: page,
554 limit: limit
555 });
556 };
557 exports.getHistory = getHistory;
558 var deleteHistoryItem = function deleteHistoryItem(id) {
559 return request('ai_delete_history_item', {
560 id: id
561 });
562 };
563 exports.deleteHistoryItem = deleteHistoryItem;
564 var toggleFavoriteHistoryItem = function toggleFavoriteHistoryItem(id) {
565 return request('ai_toggle_favorite_history_item', {
566 id: id
567 });
568 };
569 exports.toggleFavoriteHistoryItem = toggleFavoriteHistoryItem;
570
571 /***/ }),
572
573 /***/ "../modules/ai/assets/js/editor/app.js":
574 /*!*********************************************!*\
575 !*** ../modules/ai/assets/js/editor/app.js ***!
576 \*********************************************/
577 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
578
579 "use strict";
580
581
582 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
583 Object.defineProperty(exports, "__esModule", ({
584 value: true
585 }));
586 exports["default"] = void 0;
587 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
588 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
589 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
590 var _pageContent = _interopRequireDefault(__webpack_require__(/*! ./page-content */ "../modules/ai/assets/js/editor/page-content.js"));
591 var _helpers = __webpack_require__(/*! ./helpers */ "../modules/ai/assets/js/editor/helpers/index.js");
592 var _requestsIds = __webpack_require__(/*! ./context/requests-ids */ "../modules/ai/assets/js/editor/context/requests-ids.js");
593 var App = function App(props) {
594 return /*#__PURE__*/_react.default.createElement(_ui.DirectionProvider, {
595 rtl: props.isRTL
596 }, /*#__PURE__*/_react.default.createElement(_ui.ThemeProvider, {
597 colorScheme: props.colorScheme
598 }, /*#__PURE__*/_react.default.createElement(_requestsIds.RequestIdsProvider, null, /*#__PURE__*/_react.default.createElement(_pageContent.default, {
599 type: props.type,
600 controlType: props.controlType,
601 onClose: props.onClose,
602 onConnect: _helpers.onConnect,
603 getControlValue: props.getControlValue,
604 setControlValue: props.setControlValue,
605 controlView: props.controlView,
606 additionalOptions: props.additionalOptions
607 }))));
608 };
609 App.propTypes = {
610 colorScheme: _propTypes.default.oneOf(['auto', 'light', 'dark']),
611 type: _propTypes.default.string,
612 controlType: _propTypes.default.string,
613 onClose: _propTypes.default.func,
614 getControlValue: _propTypes.default.func,
615 setControlValue: _propTypes.default.func,
616 additionalOptions: _propTypes.default.object,
617 controlView: _propTypes.default.object,
618 isRTL: _propTypes.default.bool
619 };
620 var _default = App;
621 exports["default"] = _default;
622
623 /***/ }),
624
625 /***/ "../modules/ai/assets/js/editor/components/ai-promotion-infotip-content.js":
626 /*!*********************************************************************************!*\
627 !*** ../modules/ai/assets/js/editor/components/ai-promotion-infotip-content.js ***!
628 \*********************************************************************************/
629 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
630
631 "use strict";
632 /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js");
633
634
635 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
636 Object.defineProperty(exports, "__esModule", ({
637 value: true
638 }));
639 exports["default"] = void 0;
640 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
641 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
642 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
643 var AiPromotionInfotipContent = function AiPromotionInfotipContent(props) {
644 return /*#__PURE__*/_react.default.createElement(_ui.Card, {
645 sx: {
646 width: 300
647 },
648 elevation: 0
649 }, /*#__PURE__*/_react.default.createElement(_ui.CardHeader, {
650 subheader: "ELEMENTOR AI"
651 }), /*#__PURE__*/_react.default.createElement(_ui.CardContent, null, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
652 variant: "subtitle2",
653 color: "text.secondary"
654 }, props.header), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
655 color: "text.secondary"
656 }, props.contentText)), /*#__PURE__*/_react.default.createElement(_ui.CardActions, {
657 disableSpacing: true,
658 sx: {
659 justifyContent: 'flex-end',
660 gap: 1
661 }
662 }, /*#__PURE__*/_react.default.createElement(_ui.Button, {
663 onClick: function onClick() {
664 return props.onClose();
665 },
666 color: "secondary"
667 }, (0, _i18n.__)('Not Now', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Button, {
668 onClick: function onClick() {
669 return props.onClick();
670 },
671 variant: "contained"
672 }, (0, _i18n.__)('Try it now', 'elementor'))));
673 };
674 AiPromotionInfotipContent.propTypes = {
675 header: PropTypes.string,
676 contentText: PropTypes.string,
677 onClick: PropTypes.func,
678 onClose: PropTypes.func
679 };
680 var _default = AiPromotionInfotipContent;
681 exports["default"] = _default;
682
683 /***/ }),
684
685 /***/ "../modules/ai/assets/js/editor/components/ai-promotion-infotip-wrapper.js":
686 /*!*********************************************************************************!*\
687 !*** ../modules/ai/assets/js/editor/components/ai-promotion-infotip-wrapper.js ***!
688 \*********************************************************************************/
689 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
690
691 "use strict";
692 /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js");
693
694
695 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
696 Object.defineProperty(exports, "__esModule", ({
697 value: true
698 }));
699 exports["default"] = void 0;
700 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
701 var _aiPromotionInfotip = _interopRequireDefault(__webpack_require__(/*! ./ai-promotion-infotip */ "../modules/ai/assets/js/editor/components/ai-promotion-infotip.js"));
702 var _aiPromotionInfotipContent = _interopRequireDefault(__webpack_require__(/*! ./ai-promotion-infotip-content */ "../modules/ai/assets/js/editor/components/ai-promotion-infotip-content.js"));
703 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
704 var _useIntroduction2 = _interopRequireDefault(__webpack_require__(/*! ../hooks/use-introduction */ "../modules/ai/assets/js/editor/hooks/use-introduction.js"));
705 var _focusOutListener = __webpack_require__(/*! ../helpers/focus-out-listener */ "../modules/ai/assets/js/editor/helpers/focus-out-listener.js");
706 var AiPromotionInfotipWrapper = function AiPromotionInfotipWrapper(_ref) {
707 var anchor = _ref.anchor,
708 header = _ref.header,
709 contentText = _ref.contentText,
710 controlType = _ref.controlType,
711 unmountAction = _ref.unmountAction,
712 colorScheme = _ref.colorScheme,
713 isRTL = _ref.isRTL;
714 var focusOutListener = (0, _focusOutListener.useFocusOutListener)();
715 var _useIntroduction = (0, _useIntroduction2.default)("ai_promotion_introduction_".concat(controlType)),
716 isViewed = _useIntroduction.isViewed,
717 markAsViewed = _useIntroduction.markAsViewed;
718 if (isViewed) {
719 return;
720 }
721 return /*#__PURE__*/_react.default.createElement(_ui.DirectionProvider, {
722 rtl: isRTL
723 }, /*#__PURE__*/_react.default.createElement(_ui.ThemeProvider, {
724 colorScheme: colorScheme
725 }, /*#__PURE__*/_react.default.createElement(_focusOutListener.FocusOutListener, {
726 listener: focusOutListener,
727 onFocusOut: function onFocusOut() {
728 return unmountAction();
729 }
730 }, /*#__PURE__*/_react.default.createElement(_aiPromotionInfotip.default, {
731 anchor: anchor,
732 focusOutListener: focusOutListener,
733 content: /*#__PURE__*/_react.default.createElement(_aiPromotionInfotipContent.default, {
734 focusOutListener: focusOutListener,
735 header: header,
736 contentText: contentText,
737 onClose: function onClose() {
738 markAsViewed();
739 focusOutListener.remove();
740 unmountAction();
741 },
742 onClick: function onClick() {
743 markAsViewed();
744 focusOutListener.remove();
745 unmountAction();
746 anchor.click();
747 }
748 })
749 }))));
750 };
751 AiPromotionInfotipWrapper.propTypes = {
752 anchor: PropTypes.object,
753 header: PropTypes.string,
754 contentText: PropTypes.string,
755 controlType: PropTypes.string,
756 unmountAction: PropTypes.func,
757 colorScheme: PropTypes.string,
758 isRTL: PropTypes.bool
759 };
760 var _default = AiPromotionInfotipWrapper;
761 exports["default"] = _default;
762
763 /***/ }),
764
765 /***/ "../modules/ai/assets/js/editor/components/ai-promotion-infotip.js":
766 /*!*************************************************************************!*\
767 !*** ../modules/ai/assets/js/editor/components/ai-promotion-infotip.js ***!
768 \*************************************************************************/
769 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
770
771 "use strict";
772 /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js");
773
774
775 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
776 Object.defineProperty(exports, "__esModule", ({
777 value: true
778 }));
779 exports["default"] = AiPromotionInfotip;
780 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
781 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
782 var StyledPopper = (0, _ui.styled)(_ui.Popper)(function (_ref) {
783 var theme = _ref.theme;
784 return {
785 '& .MuiTooltip-tooltip': {
786 width: 500,
787 minHeight: 50,
788 padding: 0,
789 backgroundColor: theme.palette.background.paper,
790 color: theme.palette.text.primary,
791 // The shadow angle should guarantee that the arrow is visible clearly.
792 boxShadow: '0px -6px 10px 2px rgba(0,0,0,0.025),6px 0px 10px 2px rgba(0,0,0,0.025),-6px 0px 10px 2px rgba(0,0,0,0.025),0px 6px 10px 2px rgba(0,0,0,0.025)'
793 },
794 '& .MuiTooltip-arrow': {
795 color: theme.palette.background.paper,
796 // Arrow size.
797 fontSize: '1.2rem'
798 },
799 '&.MuiTooltip-popper .MuiTooltip-tooltip.MuiTooltip-tooltipPlacementBottom': {
800 marginTop: theme.spacing(2)
801 },
802 '&.MuiTooltip-popper .MuiTooltip-tooltip.MuiTooltip-tooltipPlacementRight': {
803 marginLeft: theme.spacing(2)
804 },
805 '&.MuiTooltip-popper .MuiTooltip-tooltip.MuiTooltip-tooltipPlacementLeft': {
806 marginRight: theme.spacing(2)
807 },
808 '&.MuiTooltip-popper .MuiTooltip-tooltip.MuiTooltip-tooltipPlacementTop': {
809 marginBottom: theme.spacing(2)
810 }
811 };
812 });
813 function AiPromotionInfotip(_ref2) {
814 var anchor = _ref2.anchor,
815 content = _ref2.content,
816 focusOutListener = _ref2.focusOutListener;
817 var positionRef = _react.default.useRef({
818 x: 0,
819 y: 0,
820 width: 0,
821 height: 0
822 });
823 var popperRef = _react.default.useRef(null);
824 var showTooltip = function showTooltip() {
825 var _anchor$getBoundingCl = anchor.getBoundingClientRect(),
826 x = _anchor$getBoundingCl.x,
827 y = _anchor$getBoundingCl.y,
828 width = _anchor$getBoundingCl.width,
829 height = _anchor$getBoundingCl.height;
830 positionRef.current = {
831 x: x,
832 y: y,
833 width: width,
834 height: height
835 };
836 if (null === popperRef.current) {
837 return;
838 }
839 popperRef.current.update();
840 };
841 _react.default.useEffect(function () {
842 showTooltip();
843 }, []);
844 return /*#__PURE__*/_react.default.createElement(_ui.Tooltip, {
845 arrow: true,
846 open: true,
847 title: content,
848 placement: "right",
849 PopperComponent: StyledPopper,
850 PopperProps: {
851 onClick: function onClick() {
852 return focusOutListener.reset();
853 },
854 popperRef: popperRef,
855 anchorEl: {
856 getBoundingClientRect: function getBoundingClientRect() {
857 return new DOMRect(positionRef.current.x, positionRef.current.y, positionRef.current.width, positionRef.current.height);
858 }
859 }
860 }
861 }, /*#__PURE__*/_react.default.createElement("div", {
862 style: {
863 display: 'none'
864 }
865 }));
866 }
867 AiPromotionInfotip.propTypes = {
868 anchor: PropTypes.element.isRequired,
869 content: PropTypes.object.isRequired,
870 focusOutListener: PropTypes.object.isRequired
871 };
872
873 /***/ }),
874
875 /***/ "../modules/ai/assets/js/editor/components/dialog-header.js":
876 /*!******************************************************************!*\
877 !*** ../modules/ai/assets/js/editor/components/dialog-header.js ***!
878 \******************************************************************/
879 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
880
881 "use strict";
882
883
884 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
885 Object.defineProperty(exports, "__esModule", ({
886 value: true
887 }));
888 exports["default"] = void 0;
889 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
890 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
891 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
892 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
893 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
894 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
895 var ElementorLogo = function ElementorLogo(props) {
896 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
897 viewBox: "0 0 32 32"
898 }, props), /*#__PURE__*/_react.default.createElement("path", {
899 fillRule: "evenodd",
900 clipRule: "evenodd",
901 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"
902 }));
903 };
904 var StyledElementorLogo = (0, _ui.styled)(ElementorLogo)(function (_ref) {
905 var theme = _ref.theme;
906 return {
907 width: theme.spacing(3),
908 height: theme.spacing(3),
909 '& path': {
910 fill: theme.palette.text.primary
911 }
912 };
913 });
914 var DialogHeader = function DialogHeader(props) {
915 return /*#__PURE__*/_react.default.createElement(_ui.AppBar, {
916 sx: {
917 fontWeight: 'normal'
918 },
919 color: "transparent",
920 position: "relative"
921 }, /*#__PURE__*/_react.default.createElement(_ui.Toolbar, {
922 variant: "dense"
923 }, /*#__PURE__*/_react.default.createElement(StyledElementorLogo, {
924 sx: {
925 mr: 1
926 }
927 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
928 component: "span",
929 variant: "subtitle2",
930 sx: {
931 fontWeight: 'bold',
932 textTransform: 'uppercase'
933 }
934 }, (0, _i18n.__)('AI', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Chip, {
935 label: (0, _i18n.__)('Beta', 'elementor'),
936 color: "default",
937 size: "small",
938 sx: {
939 ml: 1
940 }
941 }), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
942 direction: "row",
943 spacing: 1,
944 alignItems: "center",
945 sx: {
946 ml: 'auto'
947 }
948 }, props.children, /*#__PURE__*/_react.default.createElement(_ui.IconButton, {
949 size: "small",
950 "aria-label": "close",
951 onClick: props.onClose,
952 sx: {
953 '&.MuiButtonBase-root': {
954 mr: -1
955 }
956 }
957 }, /*#__PURE__*/_react.default.createElement(_icons.XIcon, null)))));
958 };
959 DialogHeader.propTypes = {
960 onClose: _propTypes.default.func.isRequired,
961 children: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.node), _propTypes.default.node])
962 };
963 var _default = DialogHeader;
964 exports["default"] = _default;
965
966 /***/ }),
967
968 /***/ "../modules/ai/assets/js/editor/components/generate-button.js":
969 /*!********************************************************************!*\
970 !*** ../modules/ai/assets/js/editor/components/generate-button.js ***!
971 \********************************************************************/
972 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
973
974 "use strict";
975
976
977 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
978 Object.defineProperty(exports, "__esModule", ({
979 value: true
980 }));
981 exports["default"] = void 0;
982 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
983 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
984 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
985 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
986 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
987 var GenerateButton = function GenerateButton(props) {
988 return /*#__PURE__*/_react.default.createElement(_ui.Button, (0, _extends2.default)({
989 variant: "contained",
990 endIcon: /*#__PURE__*/_react.default.createElement(_icons.AIIcon, {
991 fontSize: "small"
992 }),
993 disabled: !prompt,
994 "aria-label": (0, _i18n.__)('search', 'elementor'),
995 type: "submit",
996 size: "small"
997 }, props));
998 };
999 var _default = GenerateButton;
1000 exports["default"] = _default;
1001
1002 /***/ }),
1003
1004 /***/ "../modules/ai/assets/js/editor/components/loader.js":
1005 /*!***********************************************************!*\
1006 !*** ../modules/ai/assets/js/editor/components/loader.js ***!
1007 \***********************************************************/
1008 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1009
1010 "use strict";
1011
1012
1013 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1014 Object.defineProperty(exports, "__esModule", ({
1015 value: true
1016 }));
1017 exports["default"] = void 0;
1018 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1019 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
1020 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
1021 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
1022 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1023 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1024 var _excluded = ["sx", "BoxProps"];
1025 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; }
1026 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; }
1027 var Loader = function Loader(_ref) {
1028 var _ref$sx = _ref.sx,
1029 sx = _ref$sx === void 0 ? {} : _ref$sx,
1030 _ref$BoxProps = _ref.BoxProps,
1031 BoxProps = _ref$BoxProps === void 0 ? {} : _ref$BoxProps,
1032 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
1033 return /*#__PURE__*/_react.default.createElement(_ui.Box, (0, _extends2.default)({
1034 width: "100%",
1035 display: "flex",
1036 alignItems: "center"
1037 }, BoxProps, {
1038 sx: _objectSpread({
1039 px: 1.5,
1040 minHeight: function minHeight(theme) {
1041 return theme.spacing(5);
1042 }
1043 }, BoxProps.sx || {})
1044 }), /*#__PURE__*/_react.default.createElement(_ui.LinearProgress, (0, _extends2.default)({
1045 color: "secondary"
1046 }, props, {
1047 sx: _objectSpread({
1048 width: '100%'
1049 }, sx)
1050 })));
1051 };
1052 Loader.propTypes = {
1053 sx: _propTypes.default.object,
1054 BoxProps: _propTypes.default.object
1055 };
1056 var _default = Loader;
1057 exports["default"] = _default;
1058
1059 /***/ }),
1060
1061 /***/ "../modules/ai/assets/js/editor/components/prompt-action-selection.js":
1062 /*!****************************************************************************!*\
1063 !*** ../modules/ai/assets/js/editor/components/prompt-action-selection.js ***!
1064 \****************************************************************************/
1065 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1066
1067 "use strict";
1068
1069
1070 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1071 Object.defineProperty(exports, "__esModule", ({
1072 value: true
1073 }));
1074 exports["default"] = void 0;
1075 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1076 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1077 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1078 var labelToDashCash = function labelToDashCash(str) {
1079 return str.toLowerCase().replace(/ /g, '-');
1080 };
1081 var PromptActionSelection = function PromptActionSelection(props) {
1082 var actionId = labelToDashCash(props.label);
1083 var _props$wrapperStyle = props.wrapperStyle,
1084 wrapperStyle = _props$wrapperStyle === void 0 ? {
1085 maxWidth: 138
1086 } : _props$wrapperStyle;
1087 return /*#__PURE__*/_react.default.createElement(_ui.FormControl, {
1088 size: "small",
1089 color: "secondary",
1090 fullWidth: true,
1091 sx: wrapperStyle
1092 }, /*#__PURE__*/_react.default.createElement(_ui.InputLabel, {
1093 id: actionId
1094 }, props.label), /*#__PURE__*/_react.default.createElement(_ui.Select, {
1095 id: actionId,
1096 labelId: actionId,
1097 label: props.label,
1098 value: props.value || '',
1099 onChange: props.onChange,
1100 disabled: props.disabled,
1101 sx: {
1102 // Fixing global CSS of the editor that targets input[disabled] globally.
1103 '&.Mui-disabled .MuiSelect-nativeInput': {
1104 backgroundColor: 'initial',
1105 opacity: 0
1106 }
1107 }
1108 }, props.options.map(function (option) {
1109 var _option$value;
1110 return /*#__PURE__*/_react.default.createElement(_ui.MenuItem, {
1111 dense: true,
1112 key: option.label,
1113 value: (_option$value = option.value) !== null && _option$value !== void 0 ? _option$value : option.label
1114 }, option.label);
1115 })));
1116 };
1117 PromptActionSelection.propTypes = {
1118 label: _propTypes.default.string.isRequired,
1119 options: _propTypes.default.arrayOf(_propTypes.default.shape({
1120 label: _propTypes.default.string.isRequired,
1121 value: _propTypes.default.string
1122 })).isRequired,
1123 onChange: _propTypes.default.func.isRequired,
1124 value: _propTypes.default.string,
1125 wrapperStyle: _propTypes.default.object,
1126 disabled: _propTypes.default.bool
1127 };
1128 var _default = PromptActionSelection;
1129 exports["default"] = _default;
1130
1131 /***/ }),
1132
1133 /***/ "../modules/ai/assets/js/editor/components/prompt-action.js":
1134 /*!******************************************************************!*\
1135 !*** ../modules/ai/assets/js/editor/components/prompt-action.js ***!
1136 \******************************************************************/
1137 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1138
1139 "use strict";
1140
1141
1142 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1143 Object.defineProperty(exports, "__esModule", ({
1144 value: true
1145 }));
1146 exports["default"] = void 0;
1147 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1148 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
1149 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1150 var PromptAction = function PromptAction(props) {
1151 return /*#__PURE__*/_react.default.createElement(_ui.Chip, (0, _extends2.default)({
1152 size: "large",
1153 color: "secondary",
1154 variant: "outlined"
1155 }, props));
1156 };
1157 var _default = PromptAction;
1158 exports["default"] = _default;
1159
1160 /***/ }),
1161
1162 /***/ "../modules/ai/assets/js/editor/components/prompt-dialog.js":
1163 /*!******************************************************************!*\
1164 !*** ../modules/ai/assets/js/editor/components/prompt-dialog.js ***!
1165 \******************************************************************/
1166 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1167
1168 "use strict";
1169
1170
1171 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1172 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
1173 Object.defineProperty(exports, "__esModule", ({
1174 value: true
1175 }));
1176 exports["default"] = void 0;
1177 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
1178 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
1179 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
1180 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
1181 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1182 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1183 var _reactDraggable = _interopRequireDefault(__webpack_require__(/*! react-draggable */ "../node_modules/react-draggable/build/cjs/cjs.js"));
1184 var _dialogHeader = _interopRequireDefault(__webpack_require__(/*! ./dialog-header */ "../modules/ai/assets/js/editor/components/dialog-header.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 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; }
1188 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; }
1189 var DraggablePaper = function DraggablePaper(props) {
1190 var _useState = (0, _react.useState)({
1191 x: 0,
1192 y: 0
1193 }),
1194 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
1195 position = _useState2[0],
1196 setPosition = _useState2[1];
1197 var paperRef = (0, _react.useRef)(null);
1198 var timeout = (0, _react.useRef)(null);
1199 var onDrag = function onDrag(_e, _ref) {
1200 var x = _ref.x,
1201 y = _ref.y;
1202 return setPosition({
1203 x: x,
1204 y: y
1205 });
1206 };
1207 var handlePositionBoundaries = function handlePositionBoundaries() {
1208 clearTimeout(timeout.current);
1209
1210 // Ensuring the dialog header, which is used as the dialog dragging handle, does not exceed the screen.
1211 timeout.current = setTimeout(function () {
1212 var _paperRef$current;
1213 var dialogTop = (_paperRef$current = paperRef.current) === null || _paperRef$current === void 0 ? void 0 : _paperRef$current.getBoundingClientRect().top;
1214 if (dialogTop < 0) {
1215 setPosition(function (prev) {
1216 return _objectSpread(_objectSpread({}, prev), {}, {
1217 y: prev.y - dialogTop
1218 });
1219 });
1220 }
1221 }, 50);
1222 };
1223 (0, _react.useEffect)(function () {
1224 var resizeObserver = new ResizeObserver(handlePositionBoundaries);
1225 resizeObserver.observe(paperRef.current);
1226 return function () {
1227 resizeObserver.disconnect();
1228 };
1229 }, []);
1230 return /*#__PURE__*/_react.default.createElement(_reactDraggable.default, {
1231 position: position,
1232 onDrag: onDrag,
1233 handle: ".MuiAppBar-root",
1234 cancel: '[class*="MuiDialogContent-root"]',
1235 bounds: "parent"
1236 }, /*#__PURE__*/_react.default.createElement(_ui.Paper, (0, _extends2.default)({}, props, {
1237 ref: paperRef
1238 })));
1239 };
1240 var PromptDialog = function PromptDialog(props) {
1241 return /*#__PURE__*/_react.default.createElement(_ui.Dialog, (0, _extends2.default)({
1242 scroll: "paper",
1243 open: true,
1244 fullWidth: true,
1245 hideBackdrop: true,
1246 PaperComponent: DraggablePaper,
1247 disableScrollLock: true,
1248 sx: {
1249 '& .MuiDialog-container': {
1250 alignItems: 'flex-start',
1251 mt: '18vh'
1252 }
1253 },
1254 PaperProps: {
1255 sx: {
1256 m: 0,
1257 maxHeight: '76vh'
1258 }
1259 }
1260 }, props), props.children);
1261 };
1262 PromptDialog.propTypes = {
1263 onClose: _propTypes.default.func.isRequired,
1264 children: _propTypes.default.node,
1265 maxWidth: _propTypes.default.oneOf(['xs', 'sm', 'md', 'lg', 'xl', false])
1266 };
1267 PromptDialog.Header = _dialogHeader.default;
1268 PromptDialog.Content = _ui.DialogContent;
1269 var _default = PromptDialog;
1270 exports["default"] = _default;
1271
1272 /***/ }),
1273
1274 /***/ "../modules/ai/assets/js/editor/components/prompt-error-message.js":
1275 /*!*************************************************************************!*\
1276 !*** ../modules/ai/assets/js/editor/components/prompt-error-message.js ***!
1277 \*************************************************************************/
1278 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1279
1280 "use strict";
1281 /* provided dependency */ var sprintf = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["sprintf"];
1282
1283
1284 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1285 Object.defineProperty(exports, "__esModule", ({
1286 value: true
1287 }));
1288 exports["default"] = void 0;
1289 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1290 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
1291 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
1292 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1293 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1294 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1295 var _excluded = ["error", "onRetry", "actionPosition"];
1296 var PromptErrorMessage = function PromptErrorMessage(_ref) {
1297 var error = _ref.error,
1298 _ref$onRetry = _ref.onRetry,
1299 onRetry = _ref$onRetry === void 0 ? function () {} : _ref$onRetry,
1300 _ref$actionPosition = _ref.actionPosition,
1301 actionPosition = _ref$actionPosition === void 0 ? 'default' : _ref$actionPosition,
1302 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
1303 function getQuotaReachedTrailMessage(featureName) {
1304 if (!featureName) {
1305 return {
1306 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('It\'s time to upgrade.', 'elementor')),
1307 description: (0, _i18n.__)('Enjoy the free trial? Upgrade now for unlimited access to built-in image, text and custom code generators.', 'elementor'),
1308 buttonText: (0, _i18n.__)('Upgrade', 'elementor'),
1309 buttonAction: function buttonAction() {
1310 return window.open('https://go.elementor.com/ai-popup-purchase-limit-reached/', '_blank');
1311 }
1312 };
1313 }
1314 return {
1315 // Translators: %s is the feature name.
1316 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, sprintf((0, _i18n.__)('You\'ve used all AI credits for %s.', 'elementor'), featureName.toLowerCase())),
1317 description: (0, _i18n.__)('Upgrade now to keep using this feature. You still have credits for other AI features (Text, Code, Images, Containers, etc.)', 'elementor'),
1318 buttonText: (0, _i18n.__)('Upgrade now', 'elementor'),
1319 buttonAction: function buttonAction() {
1320 return window.open('https://go.elementor.com/ai-popup-purchase-limit-reached/', '_blank');
1321 }
1322 };
1323 }
1324 function getErrorMessage() {
1325 var _error$extra_data;
1326 var errMsg = error.message || error;
1327 var featureName = (_error$extra_data = error.extra_data) === null || _error$extra_data === void 0 ? void 0 : _error$extra_data.featureName;
1328 var messages = {
1329 default: {
1330 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('There was a glitch.', 'elementor')),
1331 description: (0, _i18n.__)('Wait a moment and give it another go, or try tweaking the prompt.', 'elementor'),
1332 buttonText: (0, _i18n.__)('Try again', 'elementor'),
1333 buttonAction: onRetry
1334 },
1335 service_outage_internal: {
1336 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('There was a glitch.', 'elementor')),
1337 description: (0, _i18n.__)('Wait a moment and give it another go.', 'elementor'),
1338 buttonText: (0, _i18n.__)('Try again', 'elementor'),
1339 buttonAction: onRetry
1340 },
1341 invalid_connect_data: {
1342 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('There was a glitch.', 'elementor')),
1343 description: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, (0, _i18n.__)('Try exiting Elementor and sign in again.', 'elementor'), ' ', /*#__PURE__*/_react.default.createElement("a", {
1344 href: "https://elementor.com/help/disconnecting-reconnecting-your-elementor-account/",
1345 target: "_blank",
1346 rel: "noreferrer"
1347 }, (0, _i18n.__)('Show me how', 'elementor'))),
1348 buttonText: (0, _i18n.__)('Reconnect', 'elementor'),
1349 buttonAction: function buttonAction() {
1350 return window.open(window.ElementorAiConfig.connect_url);
1351 }
1352 },
1353 not_connected: {
1354 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('You aren\'t connected to Elementor AI.', 'elementor')),
1355 description: (0, _i18n.__)('Elementor AI is just a few clicks away. Connect your account to instantly create texts and custom code.', 'elementor'),
1356 buttonText: (0, _i18n.__)('Connect', 'elementor'),
1357 buttonAction: function buttonAction() {
1358 return window.open(window.ElementorAiConfig.connect_url);
1359 }
1360 },
1361 quota_reached_trail: getQuotaReachedTrailMessage(featureName),
1362 quota_reached_subscription: {
1363 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('Looks like you\'re out of credits.', 'elementor')),
1364 description: (0, _i18n.__)('Ready to take it to the next level?', 'elementor'),
1365 buttonText: (0, _i18n.__)('Upgrade now', 'elementor'),
1366 buttonAction: function buttonAction() {
1367 return window.open('https://go.elementor.com/ai-popup-purchase-limit-reached/', '_blank');
1368 }
1369 },
1370 rate_limit_network: {
1371 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('Whoa! Slow down there.', 'elementor')),
1372 description: (0, _i18n.__)('We can’t process that many requests so fast. Try again in 15 minutes.', 'elementor')
1373 },
1374 invalid_prompts: {
1375 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('We were unable to generate that prompt.', 'elementor')),
1376 description: (0, _i18n.__)('Seems like the prompt contains words that could generate harmful content. Write a different prompt to continue.', 'elementor')
1377 },
1378 service_unavailable: {
1379 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('There was a glitch.', 'elementor')),
1380 description: (0, _i18n.__)('Wait a moment and give it another go, or try tweaking the prompt.', 'elementor'),
1381 buttonText: (0, _i18n.__)('Try again', 'elementor'),
1382 buttonAction: onRetry
1383 },
1384 request_timeout_error: {
1385 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('There was a glitch.', 'elementor')),
1386 description: (0, _i18n.__)('Wait a moment and give it another go, or try tweaking the prompt.', 'elementor'),
1387 buttonText: (0, _i18n.__)('Try again', 'elementor'),
1388 buttonAction: onRetry
1389 },
1390 invalid_token: {
1391 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('Try again', 'elementor')),
1392 description: (0, _i18n.__)('Try exiting Elementor and sign in again.', 'elementor'),
1393 buttonText: (0, _i18n.__)('Reconnect', 'elementor'),
1394 buttonAction: onRetry
1395 }
1396 };
1397 return messages[errMsg] || messages.default;
1398 }
1399 var message = getErrorMessage();
1400 var action = (message === null || message === void 0 ? void 0 : message.buttonText) && /*#__PURE__*/_react.default.createElement(_ui.Button, {
1401 color: "inherit",
1402 size: "small",
1403 variant: "outlined",
1404 onClick: message.buttonAction
1405 }, message.buttonText);
1406 return /*#__PURE__*/_react.default.createElement(_ui.Alert, (0, _extends2.default)({
1407 severity: message.severity || 'error',
1408 action: 'default' === actionPosition && action
1409 }, props), message.text, message.description, 'bottom' === actionPosition && /*#__PURE__*/_react.default.createElement(_ui.Box, {
1410 sx: {
1411 mt: 1
1412 }
1413 }, action));
1414 };
1415 PromptErrorMessage.propTypes = {
1416 error: _propTypes.default.string,
1417 onRetry: _propTypes.default.func,
1418 actionPosition: _propTypes.default.oneOf(['default', 'bottom'])
1419 };
1420 var _default = PromptErrorMessage;
1421 exports["default"] = _default;
1422
1423 /***/ }),
1424
1425 /***/ "../modules/ai/assets/js/editor/components/prompt-history/context/prompt-history-action-context.js":
1426 /*!*********************************************************************************************************!*\
1427 !*** ../modules/ai/assets/js/editor/components/prompt-history/context/prompt-history-action-context.js ***!
1428 \*********************************************************************************************************/
1429 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1430
1431 "use strict";
1432
1433
1434 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1435 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
1436 Object.defineProperty(exports, "__esModule", ({
1437 value: true
1438 }));
1439 exports.useSubscribeOnPromptHistoryAction = exports.usePromptHistoryAction = exports.PromptHistoryActionProvider = exports.PromptHistoryActionContext = exports.ACTION_TYPES = void 0;
1440 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
1441 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
1442 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
1443 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1444 var _historyTypes = __webpack_require__(/*! ../history-types */ "../modules/ai/assets/js/editor/components/prompt-history/history-types.js");
1445 var _promptHistoryContext = __webpack_require__(/*! ./prompt-history-context */ "../modules/ai/assets/js/editor/components/prompt-history/context/prompt-history-context.js");
1446 var _HISTORY_TYPES$TEXT, _HISTORY_TYPES$CODE, _HISTORY_TYPES$IMAGE, _ENABLED_ACTIONS_BY_T;
1447 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); }
1448 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; }
1449 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; } } }; }
1450 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); }
1451 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; }
1452 var PromptHistoryActionContext = (0, _react.createContext)({});
1453 exports.PromptHistoryActionContext = PromptHistoryActionContext;
1454 var initialActionValue = {
1455 type: '',
1456 id: '',
1457 data: null
1458 };
1459 var ACTION_TYPES = Object.freeze({
1460 REUSE: 'reuse',
1461 EDIT: 'edit',
1462 RESTORE: 'restore',
1463 REMOVE: 'remove'
1464 });
1465 exports.ACTION_TYPES = ACTION_TYPES;
1466 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);
1467 var PromptHistoryActionProvider = function PromptHistoryActionProvider(_ref) {
1468 var children = _ref.children;
1469 var _useState = (0, _react.useState)(initialActionValue),
1470 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
1471 state = _useState2[0],
1472 dispatch = _useState2[1];
1473 return /*#__PURE__*/_react.default.createElement(PromptHistoryActionContext.Provider, {
1474 value: {
1475 state: state,
1476 dispatch: dispatch
1477 }
1478 }, children);
1479 };
1480 exports.PromptHistoryActionProvider = PromptHistoryActionProvider;
1481 PromptHistoryActionProvider.propTypes = {
1482 children: _propTypes.default.node
1483 };
1484 var usePromptHistoryAction = function usePromptHistoryAction() {
1485 var _useContext = (0, _react.useContext)(PromptHistoryActionContext),
1486 state = _useContext.state,
1487 dispatch = _useContext.dispatch;
1488 var _usePromptHistoryCont = (0, _promptHistoryContext.usePromptHistoryContext)(),
1489 historyType = _usePromptHistoryCont.historyType,
1490 onClose = _usePromptHistoryCont.onClose;
1491 var closeModalAfterAction = function closeModalAfterAction(action) {
1492 return function () {
1493 action.apply(void 0, arguments);
1494 onClose();
1495 };
1496 };
1497 var getAllowedActions = function getAllowedActions() {
1498 return ENABLED_ACTIONS_BY_TYPE[historyType] || {};
1499 };
1500 var onPromptReuse = function onPromptReuse(id, data) {
1501 return dispatch({
1502 type: ACTION_TYPES.REUSE,
1503 id: id,
1504 data: data
1505 });
1506 };
1507 var onResultEdit = function onResultEdit(id, data) {
1508 return dispatch({
1509 type: ACTION_TYPES.EDIT,
1510 id: id,
1511 data: data
1512 });
1513 };
1514 var onImagesRestore = function onImagesRestore(id, data) {
1515 return dispatch({
1516 type: ACTION_TYPES.RESTORE,
1517 id: id,
1518 data: data
1519 });
1520 };
1521 return {
1522 promptHistoryAction: state,
1523 onPromptReuse: closeModalAfterAction(onPromptReuse),
1524 onResultEdit: closeModalAfterAction(onResultEdit),
1525 onImagesRestore: closeModalAfterAction(onImagesRestore),
1526 getAllowedActions: getAllowedActions
1527 };
1528 };
1529
1530 /**
1531 *
1532 * @param {{type: string, handler: Function}[]} actions
1533 */
1534 exports.usePromptHistoryAction = usePromptHistoryAction;
1535 var useSubscribeOnPromptHistoryAction = function useSubscribeOnPromptHistoryAction(actions) {
1536 var _useContext2 = (0, _react.useContext)(PromptHistoryActionContext),
1537 state = _useContext2.state;
1538 (0, _react.useEffect)(function () {
1539 if (!state.type) {
1540 return;
1541 }
1542 var _iterator = _createForOfIteratorHelper(actions),
1543 _step;
1544 try {
1545 for (_iterator.s(); !(_step = _iterator.n()).done;) {
1546 var action = _step.value;
1547 if (state.type === (action === null || action === void 0 ? void 0 : action.type)) {
1548 action === null || action === void 0 ? void 0 : action.handler(state);
1549 }
1550 }
1551 } catch (err) {
1552 _iterator.e(err);
1553 } finally {
1554 _iterator.f();
1555 }
1556 }, [state]);
1557 };
1558 exports.useSubscribeOnPromptHistoryAction = useSubscribeOnPromptHistoryAction;
1559
1560 /***/ }),
1561
1562 /***/ "../modules/ai/assets/js/editor/components/prompt-history/context/prompt-history-context.js":
1563 /*!**************************************************************************************************!*\
1564 !*** ../modules/ai/assets/js/editor/components/prompt-history/context/prompt-history-context.js ***!
1565 \**************************************************************************************************/
1566 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1567
1568 "use strict";
1569
1570
1571 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1572 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
1573 Object.defineProperty(exports, "__esModule", ({
1574 value: true
1575 }));
1576 exports.usePromptHistoryContext = exports.PromptHistoryProvider = exports.PromptHistoryContext = void 0;
1577 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
1578 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
1579 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1580 var _historyTypes = __webpack_require__(/*! ../history-types */ "../modules/ai/assets/js/editor/components/prompt-history/history-types.js");
1581 var _helpers = __webpack_require__(/*! ../../../helpers */ "../modules/ai/assets/js/editor/helpers/index.js");
1582 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); }
1583 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; }
1584 var PromptHistoryContext = (0, _react.createContext)({});
1585 exports.PromptHistoryContext = PromptHistoryContext;
1586 var DIALOG_CONTAINER_SELECTOR = '.e-ai-dialog-content';
1587 var getContainer = function getContainer() {
1588 return document.querySelector(DIALOG_CONTAINER_SELECTOR);
1589 };
1590 var getContainerHeight = function getContainerHeight() {
1591 var contentContainer = document.querySelector(DIALOG_CONTAINER_SELECTOR);
1592 return contentContainer === null || contentContainer === void 0 ? void 0 : contentContainer.clientHeight;
1593 };
1594 var getContentHeight = function getContentHeight() {
1595 var contentContainer = document.querySelector(DIALOG_CONTAINER_SELECTOR);
1596 return contentContainer.children[0].clientHeight + 50;
1597 };
1598 var setContentHeight = function setContentHeight(height) {
1599 var contentContainer = document.querySelector(DIALOG_CONTAINER_SELECTOR);
1600 if ('auto' === height) {
1601 contentContainer.style.height = 'auto';
1602 return;
1603 }
1604 contentContainer.style.height = "".concat(height, "px");
1605 };
1606 var PromptHistoryProvider = function PromptHistoryProvider(_ref) {
1607 var historyType = _ref.historyType,
1608 children = _ref.children;
1609 var showHistoryState = (0, _react.useState)(false);
1610 return /*#__PURE__*/_react.default.createElement(PromptHistoryContext.Provider, {
1611 value: {
1612 historyType: historyType,
1613 showHistoryState: showHistoryState
1614 }
1615 }, children);
1616 };
1617 exports.PromptHistoryProvider = PromptHistoryProvider;
1618 PromptHistoryProvider.propTypes = {
1619 historyType: _propTypes.default.oneOf(Object.values(_historyTypes.HISTORY_TYPES)).isRequired,
1620 children: _propTypes.default.node
1621 };
1622 var usePromptHistoryContext = function usePromptHistoryContext() {
1623 var _useContext = (0, _react.useContext)(PromptHistoryContext),
1624 historyType = _useContext.historyType,
1625 showHistoryState = _useContext.showHistoryState;
1626 var _showHistoryState = (0, _slicedToArray2.default)(showHistoryState, 2),
1627 showHistory = _showHistoryState[0],
1628 setShowHistory = _showHistoryState[1];
1629 var _useState = (0, _react.useState)(false),
1630 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
1631 showModalWrapper = _useState2[0],
1632 setShowModalWrapper = _useState2[1];
1633 var _useState3 = (0, _react.useState)(false),
1634 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
1635 showPromptHistory = _useState4[0],
1636 setShowPromptHistory = _useState4[1];
1637 var handleFullScreenHistoryState = function handleFullScreenHistoryState() {
1638 if (showHistory) {
1639 setShowModalWrapper(true);
1640 setTimeout(function () {
1641 return setShowPromptHistory(true);
1642 }, 200);
1643 return;
1644 }
1645 setShowPromptHistory(false);
1646 setTimeout(function () {
1647 return setShowModalWrapper(false);
1648 }, 500);
1649 };
1650 var handleDefaultHistoryState = function handleDefaultHistoryState() {
1651 if (showHistory) {
1652 var currentHeight = getContentHeight();
1653
1654 // Set initial state
1655 setContentHeight(currentHeight);
1656 setTimeout(function () {
1657 if (currentHeight < (0, _helpers.vh)(61)) {
1658 setContentHeight((0, _helpers.vh)(61));
1659 setTimeout(function () {
1660 return setShowModalWrapper(true);
1661 }, 200);
1662 setTimeout(function () {
1663 return setShowPromptHistory(true);
1664 }, 300);
1665 return;
1666 }
1667 setShowModalWrapper(true);
1668 setShowPromptHistory(true);
1669 }, 20);
1670 return;
1671 }
1672 setShowPromptHistory(false);
1673 setTimeout(function () {
1674 setShowModalWrapper(false);
1675 setContentHeight(getContentHeight());
1676 setTimeout(function () {
1677 return setContentHeight('auto');
1678 }, 300);
1679 }, 500);
1680 };
1681 (0, _react.useEffect)(function () {
1682 if (showHistory === showModalWrapper && showHistory === showPromptHistory) {
1683 return;
1684 }
1685 if (historyType === _historyTypes.HISTORY_TYPES.IMAGE) {
1686 return handleFullScreenHistoryState();
1687 }
1688 handleDefaultHistoryState();
1689 }, [showHistory]);
1690 var onOpen = function onOpen() {
1691 setShowHistory(true);
1692 };
1693 var onClose = function onClose() {
1694 setShowHistory(false);
1695 };
1696 return {
1697 historyType: historyType,
1698 isOpen: showPromptHistory,
1699 isModalOpen: showModalWrapper,
1700 showHistory: showHistory,
1701 onOpen: onOpen,
1702 onClose: onClose,
1703 getContainer: getContainer,
1704 getContainerHeight: getContainerHeight
1705 };
1706 };
1707 exports.usePromptHistoryContext = usePromptHistoryContext;
1708
1709 /***/ }),
1710
1711 /***/ "../modules/ai/assets/js/editor/components/prompt-history/helpers/history-period-helpers.js":
1712 /*!**************************************************************************************************!*\
1713 !*** ../modules/ai/assets/js/editor/components/prompt-history/helpers/history-period-helpers.js ***!
1714 \**************************************************************************************************/
1715 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1716
1717 "use strict";
1718
1719
1720 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1721 Object.defineProperty(exports, "__esModule", ({
1722 value: true
1723 }));
1724 exports.renderPeriods = exports.groupPromptHistoryData = exports.LAST_7_DAYS_KEY = exports.LAST_30_DAYS_KEY = void 0;
1725 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1726 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
1727 var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "../node_modules/@babel/runtime/helpers/toConsumableArray.js"));
1728 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1729 var _dateHelpers = __webpack_require__(/*! ../../../helpers/date-helpers */ "../modules/ai/assets/js/editor/helpers/date-helpers.js");
1730 var _modalPeriod = _interopRequireDefault(__webpack_require__(/*! ../parts/modal-period */ "../modules/ai/assets/js/editor/components/prompt-history/parts/modal-period.js"));
1731 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; } } }; }
1732 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); }
1733 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; }
1734 var DATE_KEY = 'date';
1735 var LAST_7_DAYS_KEY = '7-days';
1736 exports.LAST_7_DAYS_KEY = LAST_7_DAYS_KEY;
1737 var LAST_30_DAYS_KEY = '30-days';
1738 exports.LAST_30_DAYS_KEY = LAST_30_DAYS_KEY;
1739 var MONTH_FORMAT = (0, _i18n.__)('F', 'elementor');
1740
1741 /**
1742 * Sorts items in ascending order by date.
1743 *
1744 * @param {Array} historyData
1745 * @return {Array}
1746 */
1747 var sortPromptHistoryData = function sortPromptHistoryData(historyData) {
1748 var clone = (0, _toConsumableArray2.default)(historyData);
1749 return clone.sort(function (a, b) {
1750 return new Date(b[DATE_KEY]) - new Date(a[DATE_KEY]);
1751 });
1752 };
1753
1754 /**
1755 * Groups prompt history data by time periods.
1756 *
1757 * @param {Array} historyData
1758 * @return {Object.<string, {label: string, items: any[]}>}
1759 */
1760 var groupPromptHistoryData = function groupPromptHistoryData(historyData) {
1761 var _result;
1762 var data = sortPromptHistoryData(historyData);
1763 var currentDate = new Date();
1764 var result = (_result = {}, (0, _defineProperty2.default)(_result, LAST_7_DAYS_KEY, {
1765 label: (0, _i18n.__)('Last 7 days', 'elementor'),
1766 items: []
1767 }), (0, _defineProperty2.default)(_result, LAST_30_DAYS_KEY, {
1768 label: (0, _i18n.__)('Last 30 days', 'elementor'),
1769 items: []
1770 }), _result);
1771 var _iterator = _createForOfIteratorHelper(data),
1772 _step;
1773 try {
1774 for (_iterator.s(); !(_step = _iterator.n()).done;) {
1775 var item = _step.value;
1776 var date = new Date(item[DATE_KEY]);
1777 var diff = (0, _dateHelpers.daysDiff)(date, currentDate);
1778 if (diff <= 7) {
1779 result[LAST_7_DAYS_KEY].items.push(item);
1780 continue;
1781 }
1782 if (diff <= 30) {
1783 result[LAST_30_DAYS_KEY].items.push(item);
1784 continue;
1785 }
1786 var month = date.getMonth();
1787 if (!result[month]) {
1788 result[month] = {
1789 label: (0, _dateHelpers.translateDate)(MONTH_FORMAT, date),
1790 items: []
1791 };
1792 }
1793 result[month].items.push(item);
1794 }
1795 } catch (err) {
1796 _iterator.e(err);
1797 } finally {
1798 _iterator.f();
1799 }
1800 return result;
1801 };
1802 exports.groupPromptHistoryData = groupPromptHistoryData;
1803 var renderPeriods = function renderPeriods(_ref) {
1804 var _groupData$LAST_7_DAY, _groupData$LAST_7_DAY2, _groupData$LAST_30_DA, _groupData$LAST_30_DA2;
1805 var items = _ref.items,
1806 onDelete = _ref.onDelete;
1807 var groupData = groupPromptHistoryData(items);
1808 var periods = [];
1809 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) {
1810 periods.push( /*#__PURE__*/_react.default.createElement(_modalPeriod.default, {
1811 periodTitle: groupData[LAST_7_DAYS_KEY].label,
1812 onHistoryItemDelete: onDelete,
1813 historyItems: groupData[LAST_7_DAYS_KEY].items
1814 }));
1815 }
1816 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) {
1817 periods.push( /*#__PURE__*/_react.default.createElement(_modalPeriod.default, {
1818 periodTitle: groupData[LAST_30_DAYS_KEY].label,
1819 onHistoryItemDelete: onDelete,
1820 historyItems: groupData[LAST_30_DAYS_KEY].items
1821 }));
1822 }
1823 for (var i = _dateHelpers.MONTH_DECEMBER_INDEX; i >= _dateHelpers.MONTH_JANUARY_INDEX; i--) {
1824 if (groupData[i]) {
1825 periods.push( /*#__PURE__*/_react.default.createElement(_modalPeriod.default, {
1826 periodTitle: groupData[i].label,
1827 onHistoryItemDelete: onDelete,
1828 historyItems: groupData[i].items
1829 }));
1830 }
1831 }
1832 return periods;
1833 };
1834 exports.renderPeriods = renderPeriods;
1835
1836 /***/ }),
1837
1838 /***/ "../modules/ai/assets/js/editor/components/prompt-history/history-button.js":
1839 /*!**********************************************************************************!*\
1840 !*** ../modules/ai/assets/js/editor/components/prompt-history/history-button.js ***!
1841 \**********************************************************************************/
1842 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1843
1844 "use strict";
1845
1846
1847 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1848 Object.defineProperty(exports, "__esModule", ({
1849 value: true
1850 }));
1851 exports["default"] = void 0;
1852 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1853 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
1854 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
1855 var _taggedTemplateLiteral2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/taggedTemplateLiteral */ "../node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js"));
1856 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1857 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1858 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1859 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
1860 var _excluded = ["isActive"];
1861 var _templateObject;
1862 var StyledHistoryButton = (0, _ui.styled)(_ui.IconButton)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n margin-right: ", ";\n\n ", "\n"])), function (_ref) {
1863 var theme = _ref.theme;
1864 return theme.spacing(2);
1865 }, function (_ref2) {
1866 var isActive = _ref2.isActive,
1867 theme = _ref2.theme;
1868 return isActive && "\n background-color: ".concat(theme.palette.action.hover, ";\n color: ").concat(theme.palette.text.tertiary, ";\n ");
1869 });
1870 var PromptHistoryButton = function PromptHistoryButton(_ref3) {
1871 var isActive = _ref3.isActive,
1872 props = (0, _objectWithoutProperties2.default)(_ref3, _excluded);
1873 return /*#__PURE__*/_react.default.createElement(StyledHistoryButton, (0, _extends2.default)({
1874 "aria-label": (0, _i18n.__)('Show prompt history', 'elementor'),
1875 type: "button",
1876 size: "small",
1877 isActive: isActive
1878 }, props), /*#__PURE__*/_react.default.createElement(_icons.HistoryIcon, null));
1879 };
1880 PromptHistoryButton.propTypes = {
1881 isActive: _propTypes.default.bool.isRequired
1882 };
1883 var _default = PromptHistoryButton;
1884 exports["default"] = _default;
1885
1886 /***/ }),
1887
1888 /***/ "../modules/ai/assets/js/editor/components/prompt-history/history-modal.js":
1889 /*!*********************************************************************************!*\
1890 !*** ../modules/ai/assets/js/editor/components/prompt-history/history-modal.js ***!
1891 \*********************************************************************************/
1892 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1893
1894 "use strict";
1895
1896
1897 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1898 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
1899 Object.defineProperty(exports, "__esModule", ({
1900 value: true
1901 }));
1902 exports["default"] = void 0;
1903 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
1904 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
1905 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
1906 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1907 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1908 var _usePromptHistory2 = _interopRequireDefault(__webpack_require__(/*! ../../hooks/use-prompt-history */ "../modules/ai/assets/js/editor/hooks/use-prompt-history.js"));
1909 var _modalHeader = _interopRequireDefault(__webpack_require__(/*! ./parts/modal-header */ "../modules/ai/assets/js/editor/components/prompt-history/parts/modal-header.js"));
1910 var _useDeletePromptHistoryItem = _interopRequireDefault(__webpack_require__(/*! ../../hooks/use-delete-prompt-history-item */ "../modules/ai/assets/js/editor/hooks/use-delete-prompt-history-item.js"));
1911 var _promptErrorMessage = _interopRequireDefault(__webpack_require__(/*! ../prompt-error-message */ "../modules/ai/assets/js/editor/components/prompt-error-message.js"));
1912 var _historyPeriodHelpers = __webpack_require__(/*! ./helpers/history-period-helpers */ "../modules/ai/assets/js/editor/components/prompt-history/helpers/history-period-helpers.js");
1913 var _modalEmpty = _interopRequireDefault(__webpack_require__(/*! ./parts/modal-empty */ "../modules/ai/assets/js/editor/components/prompt-history/parts/modal-empty.js"));
1914 var _reactInfiniteScroller = _interopRequireDefault(__webpack_require__(/*! react-infinite-scroller */ "../node_modules/react-infinite-scroller/index.js"));
1915 var _modalUpgrade = _interopRequireDefault(__webpack_require__(/*! ./parts/modal-upgrade */ "../modules/ai/assets/js/editor/components/prompt-history/parts/modal-upgrade.js"));
1916 var _promptHistoryContext = __webpack_require__(/*! ./context/prompt-history-context */ "../modules/ai/assets/js/editor/components/prompt-history/context/prompt-history-context.js");
1917 var _modalContainer = _interopRequireDefault(__webpack_require__(/*! ./parts/modal-container */ "../modules/ai/assets/js/editor/components/prompt-history/parts/modal-container.js"));
1918 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); }
1919 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; }
1920 var ITEMS_LIMIT = 10;
1921 var FREE_PLAN_ERRORS = ['invalid_connect_data', 'no_subscription'];
1922 var PromptHistoryModal = function PromptHistoryModal(props) {
1923 var lastRun = (0, _react.useRef)(function () {});
1924 var scrollContainer = (0, _react.useRef)(null);
1925 var _usePromptHistoryCont = (0, _promptHistoryContext.usePromptHistoryContext)(),
1926 historyType = _usePromptHistoryCont.historyType,
1927 onClose = _usePromptHistoryCont.onClose;
1928 var _usePromptHistory = (0, _usePromptHistory2.default)(historyType),
1929 items = _usePromptHistory.items,
1930 meta = _usePromptHistory.meta,
1931 isHistoryFetchingInProgress = _usePromptHistory.isLoading,
1932 historyFetchingError = _usePromptHistory.error,
1933 fetchData = _usePromptHistory.fetchData,
1934 deleteItemFromState = _usePromptHistory.deleteItemById;
1935 var _useDeletePromptHisto = (0, _useDeletePromptHistoryItem.default)(),
1936 isDeletingInProgress = _useDeletePromptHisto.isLoading,
1937 historyDeletingError = _useDeletePromptHisto.error,
1938 deleteItem = _useDeletePromptHisto.deleteItem;
1939 var error = historyFetchingError || historyDeletingError;
1940 var isLoading = isHistoryFetchingInProgress || isDeletingInProgress;
1941 var isLastPage = meta && (meta === null || meta === void 0 ? void 0 : meta.currentPage) === (meta === null || meta === void 0 ? void 0 : meta.totalPages);
1942 var showUpgrade = (items === null || items === void 0 ? void 0 : items.length) > 0 && (meta === null || meta === void 0 ? void 0 : meta.allowedDays) < 90 && isLastPage;
1943 (0, _react.useEffect)(function () {
1944 lastRun.current = /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
1945 return _regenerator.default.wrap(function _callee$(_context) {
1946 while (1) switch (_context.prev = _context.next) {
1947 case 0:
1948 return _context.abrupt("return", fetchData({
1949 page: 1,
1950 limit: ITEMS_LIMIT
1951 }));
1952 case 1:
1953 case "end":
1954 return _context.stop();
1955 }
1956 }, _callee);
1957 }));
1958 lastRun.current();
1959 }, []);
1960 var loadNext = function loadNext() {
1961 if (isLoading || isLastPage) {
1962 return;
1963 }
1964 lastRun.current = /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
1965 return _regenerator.default.wrap(function _callee2$(_context2) {
1966 while (1) switch (_context2.prev = _context2.next) {
1967 case 0:
1968 return _context2.abrupt("return", fetchData({
1969 page: meta.currentPage + 1,
1970 limit: ITEMS_LIMIT
1971 }));
1972 case 1:
1973 case "end":
1974 return _context2.stop();
1975 }
1976 }, _callee2);
1977 }));
1978 lastRun.current();
1979 };
1980 var onHistoryItemDelete = /*#__PURE__*/function () {
1981 var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4(id) {
1982 return _regenerator.default.wrap(function _callee4$(_context4) {
1983 while (1) switch (_context4.prev = _context4.next) {
1984 case 0:
1985 lastRun.current = /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
1986 return _regenerator.default.wrap(function _callee3$(_context3) {
1987 while (1) switch (_context3.prev = _context3.next) {
1988 case 0:
1989 _context3.next = 2;
1990 return deleteItem(id);
1991 case 2:
1992 return _context3.abrupt("return", _context3.sent);
1993 case 3:
1994 case "end":
1995 return _context3.stop();
1996 }
1997 }, _callee3);
1998 }));
1999 _context4.next = 3;
2000 return lastRun.current();
2001 case 3:
2002 if (!historyDeletingError) {
2003 deleteItemFromState(id);
2004 }
2005 case 4:
2006 case "end":
2007 return _context4.stop();
2008 }
2009 }, _callee4);
2010 }));
2011 return function onHistoryItemDelete(_x) {
2012 return _ref3.apply(this, arguments);
2013 };
2014 }();
2015 return /*#__PURE__*/_react.default.createElement(_modalContainer.default, props, /*#__PURE__*/_react.default.createElement(_modalHeader.default, {
2016 onClose: onClose
2017 }), error && !FREE_PLAN_ERRORS.includes(error) && /*#__PURE__*/_react.default.createElement(_promptErrorMessage.default, {
2018 error: error,
2019 onRetry: lastRun.current,
2020 sx: {
2021 position: 'absolute',
2022 zIndex: 1,
2023 marginTop: isLoading ? 0.5 : 'revert'
2024 }
2025 }), isLoading && /*#__PURE__*/_react.default.createElement(_ui.LinearProgress, {
2026 role: "progressbar",
2027 "aria-label": (0, _i18n.__)('Loading', 'elementor'),
2028 color: "secondary"
2029 }), /*#__PURE__*/_react.default.createElement(_ui.Box, {
2030 sx: {
2031 overflowY: 'scroll',
2032 height: '85%'
2033 },
2034 ref: scrollContainer
2035 }, error && FREE_PLAN_ERRORS.includes(error) && /*#__PURE__*/_react.default.createElement(_modalUpgrade.default, {
2036 variant: "full",
2037 historyType: historyType
2038 }), !error && 0 === (items === null || items === void 0 ? void 0 : items.length) && /*#__PURE__*/_react.default.createElement(_modalEmpty.default, {
2039 historyType: historyType
2040 }), (items === null || items === void 0 ? void 0 : items.length) > 0 && /*#__PURE__*/_react.default.createElement(_reactInfiniteScroller.default, {
2041 loadMore: loadNext,
2042 getScrollParent: function getScrollParent() {
2043 return scrollContainer.current;
2044 },
2045 useWindow: false,
2046 isReverse: false,
2047 threshold: 30,
2048 initialLoad: false,
2049 hasMore: !isLastPage
2050 }, (0, _historyPeriodHelpers.renderPeriods)({
2051 items: items,
2052 onDelete: onHistoryItemDelete
2053 })), showUpgrade && /*#__PURE__*/_react.default.createElement(_modalUpgrade.default, {
2054 variant: "small",
2055 historyType: historyType
2056 })));
2057 };
2058 var _default = PromptHistoryModal;
2059 exports["default"] = _default;
2060
2061 /***/ }),
2062
2063 /***/ "../modules/ai/assets/js/editor/components/prompt-history/history-types.js":
2064 /*!*********************************************************************************!*\
2065 !*** ../modules/ai/assets/js/editor/components/prompt-history/history-types.js ***!
2066 \*********************************************************************************/
2067 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2068
2069 "use strict";
2070
2071
2072 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2073 Object.defineProperty(exports, "__esModule", ({
2074 value: true
2075 }));
2076 exports.getTranslatedPromptHistoryType = exports.TRANSLATED_HISTORY_TYPES_FALLBACK = exports.TRANSLATED_HISTORY_TYPES = exports.HISTORY_TYPES = void 0;
2077 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
2078 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
2079 var _Object$freeze;
2080 var HISTORY_TYPES = Object.freeze({
2081 ALL: 'all',
2082 TEXT: 'text',
2083 CODE: 'code',
2084 IMAGE: 'images',
2085 BLOCK: 'blocks'
2086 });
2087 exports.HISTORY_TYPES = HISTORY_TYPES;
2088 var TRANSLATED_HISTORY_TYPES_FALLBACK = (0, _i18n.__)('things', 'elementor');
2089 exports.TRANSLATED_HISTORY_TYPES_FALLBACK = TRANSLATED_HISTORY_TYPES_FALLBACK;
2090 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));
2091 exports.TRANSLATED_HISTORY_TYPES = TRANSLATED_HISTORY_TYPES;
2092 var getTranslatedPromptHistoryType = function getTranslatedPromptHistoryType(historyType) {
2093 if (TRANSLATED_HISTORY_TYPES[historyType]) {
2094 return TRANSLATED_HISTORY_TYPES[historyType];
2095 }
2096 return TRANSLATED_HISTORY_TYPES_FALLBACK;
2097 };
2098 exports.getTranslatedPromptHistoryType = getTranslatedPromptHistoryType;
2099
2100 /***/ }),
2101
2102 /***/ "../modules/ai/assets/js/editor/components/prompt-history/index.js":
2103 /*!*************************************************************************!*\
2104 !*** ../modules/ai/assets/js/editor/components/prompt-history/index.js ***!
2105 \*************************************************************************/
2106 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2107
2108 "use strict";
2109
2110
2111 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2112 Object.defineProperty(exports, "__esModule", ({
2113 value: true
2114 }));
2115 exports["default"] = void 0;
2116 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2117 var _historyButton = _interopRequireDefault(__webpack_require__(/*! ./history-button */ "../modules/ai/assets/js/editor/components/prompt-history/history-button.js"));
2118 var _historyModal = _interopRequireDefault(__webpack_require__(/*! ./history-modal */ "../modules/ai/assets/js/editor/components/prompt-history/history-modal.js"));
2119 var _promptHistoryContext = __webpack_require__(/*! ./context/prompt-history-context */ "../modules/ai/assets/js/editor/components/prompt-history/context/prompt-history-context.js");
2120 var PROMPT_HISTORY_MODAL_ID = 'prompt-history-modal';
2121 var PromptHistory = function PromptHistory() {
2122 var _usePromptHistoryCont = (0, _promptHistoryContext.usePromptHistoryContext)(),
2123 isOpen = _usePromptHistoryCont.isOpen,
2124 isModalOpen = _usePromptHistoryCont.isModalOpen,
2125 onOpen = _usePromptHistoryCont.onOpen,
2126 onClose = _usePromptHistoryCont.onClose;
2127 return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_historyButton.default, {
2128 isActive: isOpen,
2129 onClick: function onClick() {
2130 return isOpen ? onClose() : onOpen();
2131 },
2132 "aria-haspopup": "dialog",
2133 "aria-controls": PROMPT_HISTORY_MODAL_ID
2134 }), isModalOpen && /*#__PURE__*/_react.default.createElement(_historyModal.default, {
2135 id: PROMPT_HISTORY_MODAL_ID
2136 }));
2137 };
2138 var _default = PromptHistory;
2139 exports["default"] = _default;
2140
2141 /***/ }),
2142
2143 /***/ "../modules/ai/assets/js/editor/components/prompt-history/parts/action-icon.js":
2144 /*!*************************************************************************************!*\
2145 !*** ../modules/ai/assets/js/editor/components/prompt-history/parts/action-icon.js ***!
2146 \*************************************************************************************/
2147 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2148
2149 "use strict";
2150
2151
2152 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2153 Object.defineProperty(exports, "__esModule", ({
2154 value: true
2155 }));
2156 exports["default"] = void 0;
2157 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2158 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2159 var _textIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/text-icon */ "../modules/ai/assets/js/editor/icons/text-icon.js"));
2160 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
2161 var _codeIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/code-icon */ "../modules/ai/assets/js/editor/icons/code-icon.js"));
2162 var FALLBACK_ICON = /*#__PURE__*/_react.default.createElement(_icons.AIIcon, {
2163 "data-testid": "e-ph-fi"
2164 });
2165 var ICONS_BY_ACTIONS = Object.freeze({
2166 'enhance-image-prompt': /*#__PURE__*/_react.default.createElement(_textIcon.default, null),
2167 'get-text': /*#__PURE__*/_react.default.createElement(_textIcon.default, null),
2168 'edit-text': /*#__PURE__*/_react.default.createElement(_textIcon.default, null),
2169 'custom-css': /*#__PURE__*/_react.default.createElement(_codeIcon.default, null),
2170 'custom-code': /*#__PURE__*/_react.default.createElement(_codeIcon.default, null)
2171 });
2172 var PromptHistoryActionIcon = function PromptHistoryActionIcon(_ref) {
2173 var action = _ref.action;
2174 if (ICONS_BY_ACTIONS[action]) {
2175 return ICONS_BY_ACTIONS[action];
2176 }
2177 return FALLBACK_ICON;
2178 };
2179 PromptHistoryActionIcon.propTypes = {
2180 action: _propTypes.default.string.isRequired
2181 };
2182 var _default = PromptHistoryActionIcon;
2183 exports["default"] = _default;
2184
2185 /***/ }),
2186
2187 /***/ "../modules/ai/assets/js/editor/components/prompt-history/parts/modal-container.js":
2188 /*!*****************************************************************************************!*\
2189 !*** ../modules/ai/assets/js/editor/components/prompt-history/parts/modal-container.js ***!
2190 \*****************************************************************************************/
2191 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2192
2193 "use strict";
2194
2195
2196 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2197 Object.defineProperty(exports, "__esModule", ({
2198 value: true
2199 }));
2200 exports["default"] = void 0;
2201 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2202 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2203 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
2204 var _taggedTemplateLiteral2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/taggedTemplateLiteral */ "../node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js"));
2205 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2206 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
2207 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2208 var _promptHistoryContext = __webpack_require__(/*! ../context/prompt-history-context */ "../modules/ai/assets/js/editor/components/prompt-history/context/prompt-history-context.js");
2209 var _excluded = ["children"];
2210 var _templateObject;
2211 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) {
2212 var theme = _ref.theme;
2213 return theme.spacing(2);
2214 }, function (_ref2) {
2215 var theme = _ref2.theme;
2216 return theme.spacing(2);
2217 }, function (_ref3) {
2218 var theme = _ref3.theme;
2219 return theme.palette.background.paper;
2220 }, function (_ref4) {
2221 var theme = _ref4.theme;
2222 return "".concat(theme.shape.borderRadius, "px");
2223 }, function (_ref5) {
2224 var height = _ref5.height;
2225 return "calc( ".concat(height, "px - 32px )");
2226 });
2227 var ModalContainer = function ModalContainer(_ref6) {
2228 var children = _ref6.children,
2229 props = (0, _objectWithoutProperties2.default)(_ref6, _excluded);
2230 var _usePromptHistoryCont = (0, _promptHistoryContext.usePromptHistoryContext)(),
2231 isOpen = _usePromptHistoryCont.isOpen,
2232 isModalOpen = _usePromptHistoryCont.isModalOpen,
2233 onClose = _usePromptHistoryCont.onClose,
2234 getContainerHeight = _usePromptHistoryCont.getContainerHeight,
2235 getContainer = _usePromptHistoryCont.getContainer;
2236 return /*#__PURE__*/_react.default.createElement(_ui.Modal, (0, _extends2.default)({
2237 container: getContainer(),
2238 open: isModalOpen,
2239 hideBackdrop: true,
2240 onClose: onClose,
2241 sx: {
2242 position: 'absolute'
2243 }
2244 }, props), /*#__PURE__*/_react.default.createElement(_ui.Backdrop, {
2245 open: true,
2246 sx: {
2247 position: 'absolute',
2248 justifyContent: 'flex-end',
2249 alignItems: 'flex-start'
2250 },
2251 "aria-hidden": false
2252 }, /*#__PURE__*/_react.default.createElement(_ui.Slide, {
2253 direction: "left",
2254 in: isOpen,
2255 timeout: 500,
2256 easing: "ease-in-out"
2257 }, /*#__PURE__*/_react.default.createElement(StyledContent, {
2258 "aria-label": (0, _i18n.__)('Prompt history modal', 'elementor'),
2259 height: getContainerHeight()
2260 }, children))));
2261 };
2262 ModalContainer.propTypes = {
2263 isOpen: _propTypes.default.bool.isRequired,
2264 isModalOpen: _propTypes.default.bool.isRequired,
2265 onClose: _propTypes.default.func.isRequired,
2266 children: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.node), _propTypes.default.node])
2267 };
2268 var _default = ModalContainer;
2269 exports["default"] = _default;
2270
2271 /***/ }),
2272
2273 /***/ "../modules/ai/assets/js/editor/components/prompt-history/parts/modal-empty.js":
2274 /*!*************************************************************************************!*\
2275 !*** ../modules/ai/assets/js/editor/components/prompt-history/parts/modal-empty.js ***!
2276 \*************************************************************************************/
2277 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2278
2279 "use strict";
2280 /* provided dependency */ var sprintf = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["sprintf"];
2281
2282
2283 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2284 Object.defineProperty(exports, "__esModule", ({
2285 value: true
2286 }));
2287 exports["default"] = void 0;
2288 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2289 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2290 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
2291 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2292 var _historyTypes = __webpack_require__(/*! ../history-types */ "../modules/ai/assets/js/editor/components/prompt-history/history-types.js");
2293 var PromptHistoryEmpty = function PromptHistoryEmpty(_ref) {
2294 var historyType = _ref.historyType;
2295 return /*#__PURE__*/_react.default.createElement(_ui.Stack, {
2296 justifyContent: "center",
2297 sx: {
2298 height: '100%',
2299 textAlign: 'center'
2300 },
2301 "data-testid": "e-ph-empty"
2302 }, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
2303 variant: "h6"
2304 }, (0, _i18n.__)('Prepare to be amazed', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
2305 variant: "body1"
2306 }, sprintf(
2307 // Translators: %s: History type.
2308 (0, _i18n.__)('This is where you\'ll find all the %s you\'ve generated using Elementor AI.', 'elementor'), (0, _historyTypes.getTranslatedPromptHistoryType)(historyType))));
2309 };
2310 PromptHistoryEmpty.propTypes = {
2311 historyType: _propTypes.default.oneOf(Object.values(_historyTypes.HISTORY_TYPES)).isRequired
2312 };
2313 var _default = PromptHistoryEmpty;
2314 exports["default"] = _default;
2315
2316 /***/ }),
2317
2318 /***/ "../modules/ai/assets/js/editor/components/prompt-history/parts/modal-header.js":
2319 /*!**************************************************************************************!*\
2320 !*** ../modules/ai/assets/js/editor/components/prompt-history/parts/modal-header.js ***!
2321 \**************************************************************************************/
2322 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2323
2324 "use strict";
2325
2326
2327 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2328 Object.defineProperty(exports, "__esModule", ({
2329 value: true
2330 }));
2331 exports["default"] = void 0;
2332 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2333 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2334 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
2335 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2336 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
2337 var StyledContent = (0, _ui.styled)(_ui.Box)(function (_ref) {
2338 var theme = _ref.theme;
2339 return {
2340 marginTop: 0,
2341 padding: theme.spacing(1.5),
2342 borderBottom: "1px solid ".concat(theme.palette.action.focus),
2343 display: 'flex',
2344 alignItems: 'center',
2345 justifyContent: 'space-between'
2346 };
2347 });
2348 var PromptHistoryModalHeader = function PromptHistoryModalHeader(_ref2) {
2349 var onClose = _ref2.onClose;
2350 return /*#__PURE__*/_react.default.createElement(StyledContent, null, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
2351 fontWeight: "bolder",
2352 variant: "h6",
2353 sx: {
2354 userSelect: 'none'
2355 }
2356 }, (0, _i18n.__)('History', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.IconButton, {
2357 size: "small",
2358 "aria-label": (0, _i18n.__)('Hide prompt history', 'elementor'),
2359 onClick: onClose
2360 }, /*#__PURE__*/_react.default.createElement(_icons.XIcon, {
2361 fontSize: "small"
2362 })));
2363 };
2364 PromptHistoryModalHeader.propTypes = {
2365 onClose: _propTypes.default.func.isRequired
2366 };
2367 var _default = PromptHistoryModalHeader;
2368 exports["default"] = _default;
2369
2370 /***/ }),
2371
2372 /***/ "../modules/ai/assets/js/editor/components/prompt-history/parts/modal-item-action-button.js":
2373 /*!**************************************************************************************************!*\
2374 !*** ../modules/ai/assets/js/editor/components/prompt-history/parts/modal-item-action-button.js ***!
2375 \**************************************************************************************************/
2376 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2377
2378 "use strict";
2379
2380
2381 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2382 Object.defineProperty(exports, "__esModule", ({
2383 value: true
2384 }));
2385 exports["default"] = void 0;
2386 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2387 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2388 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
2389 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2390 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2391 var _tooltip = _interopRequireDefault(__webpack_require__(/*! ../../tooltip */ "../modules/ai/assets/js/editor/components/tooltip.js"));
2392 var _excluded = ["tooltipTitle"];
2393 var ActionButton = function ActionButton(_ref) {
2394 var tooltipTitle = _ref.tooltipTitle,
2395 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
2396 return /*#__PURE__*/_react.default.createElement(_tooltip.default, {
2397 title: tooltipTitle,
2398 placement: "top"
2399 }, /*#__PURE__*/_react.default.createElement(_ui.IconButton, (0, _extends2.default)({
2400 type: "button",
2401 size: "small",
2402 disableRipple: true,
2403 disableFocusRipple: true,
2404 disableTouchRipple: true
2405 }, props)));
2406 };
2407 ActionButton.propTypes = {
2408 tooltipTitle: _propTypes.default.string.isRequired
2409 };
2410 var _default = ActionButton;
2411 exports["default"] = _default;
2412
2413 /***/ }),
2414
2415 /***/ "../modules/ai/assets/js/editor/components/prompt-history/parts/modal-item-secondary-content.js":
2416 /*!******************************************************************************************************!*\
2417 !*** ../modules/ai/assets/js/editor/components/prompt-history/parts/modal-item-secondary-content.js ***!
2418 \******************************************************************************************************/
2419 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2420
2421 "use strict";
2422
2423
2424 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2425 Object.defineProperty(exports, "__esModule", ({
2426 value: true
2427 }));
2428 exports["default"] = void 0;
2429 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2430 var _taggedTemplateLiteral2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/taggedTemplateLiteral */ "../node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js"));
2431 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2432 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2433 var _templateObject, _templateObject2;
2434 var StyledDateSubtitle = (0, _ui.styled)(_ui.Typography)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n color: ", ";\n"])), function (_ref) {
2435 var theme = _ref.theme;
2436 return theme.palette.secondary.light;
2437 });
2438 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) {
2439 var theme = _ref2.theme;
2440 return theme.spacing(0.5);
2441 });
2442 var PromptHistoryItemSecondaryContent = function PromptHistoryItemSecondaryContent(_ref3) {
2443 var date = _ref3.date,
2444 thumbnails = _ref3.thumbnails;
2445 return /*#__PURE__*/_react.default.createElement(_ui.Stack, {
2446 direction: "column",
2447 width: "90%"
2448 }, /*#__PURE__*/_react.default.createElement(StyledDateSubtitle, {
2449 variant: "caption"
2450 }, date), (thumbnails === null || thumbnails === void 0 ? void 0 : thumbnails.length) > 0 && /*#__PURE__*/_react.default.createElement(_ui.Stack, {
2451 flexDirection: "row",
2452 mt: 1
2453 }, thumbnails.map(
2454 /**
2455 * @param {Object} thumb
2456 * @return {React.ReactNode}
2457 */
2458 function (thumb) {
2459 return /*#__PURE__*/_react.default.createElement(StyledImage, {
2460 key: "thumbnail-".concat(thumb.seed),
2461 alt: "",
2462 src: thumb.image_url
2463 });
2464 })));
2465 };
2466 PromptHistoryItemSecondaryContent.propTypes = {
2467 date: _propTypes.default.string.isRequired,
2468 thumbnails: _propTypes.default.array
2469 };
2470 var _default = PromptHistoryItemSecondaryContent;
2471 exports["default"] = _default;
2472
2473 /***/ }),
2474
2475 /***/ "../modules/ai/assets/js/editor/components/prompt-history/parts/modal-item-title.js":
2476 /*!******************************************************************************************!*\
2477 !*** ../modules/ai/assets/js/editor/components/prompt-history/parts/modal-item-title.js ***!
2478 \******************************************************************************************/
2479 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2480
2481 "use strict";
2482
2483
2484 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2485 Object.defineProperty(exports, "__esModule", ({
2486 value: true
2487 }));
2488 exports["default"] = void 0;
2489 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2490 var _taggedTemplateLiteral2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/taggedTemplateLiteral */ "../node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js"));
2491 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2492 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2493 var _tooltip = _interopRequireDefault(__webpack_require__(/*! ../../tooltip */ "../modules/ai/assets/js/editor/components/tooltip.js"));
2494 var _templateObject;
2495 var StyledTitle = (0, _ui.styled)(_ui.Typography)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n margin-bottom: ", ";\n"])), function (_ref) {
2496 var theme = _ref.theme;
2497 return theme.spacing(0.5);
2498 });
2499 var PromptHistoryItemTitle = function PromptHistoryItemTitle(_ref2) {
2500 var prompt = _ref2.prompt;
2501 return /*#__PURE__*/_react.default.createElement(_tooltip.default, {
2502 title: prompt,
2503 arrow: false,
2504 placement: "bottom-start"
2505 }, /*#__PURE__*/_react.default.createElement(StyledTitle, {
2506 variant: "body2",
2507 noWrap: true,
2508 paragraph: true
2509 }, prompt));
2510 };
2511 PromptHistoryItemTitle.propTypes = {
2512 prompt: _propTypes.default.string.isRequired
2513 };
2514 var _default = PromptHistoryItemTitle;
2515 exports["default"] = _default;
2516
2517 /***/ }),
2518
2519 /***/ "../modules/ai/assets/js/editor/components/prompt-history/parts/modal-item.js":
2520 /*!************************************************************************************!*\
2521 !*** ../modules/ai/assets/js/editor/components/prompt-history/parts/modal-item.js ***!
2522 \************************************************************************************/
2523 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2524
2525 "use strict";
2526
2527
2528 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2529 Object.defineProperty(exports, "__esModule", ({
2530 value: true
2531 }));
2532 exports["default"] = void 0;
2533 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2534 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
2535 var _taggedTemplateLiteral2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/taggedTemplateLiteral */ "../node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js"));
2536 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2537 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
2538 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2539 var _editIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/edit-icon */ "../modules/ai/assets/js/editor/icons/edit-icon.js"));
2540 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
2541 var _restoreIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/restore-icon */ "../modules/ai/assets/js/editor/icons/restore-icon.js"));
2542 var _modalItemActionButton = _interopRequireDefault(__webpack_require__(/*! ./modal-item-action-button */ "../modules/ai/assets/js/editor/components/prompt-history/parts/modal-item-action-button.js"));
2543 var _promptHistoryActionContext = __webpack_require__(/*! ../context/prompt-history-action-context */ "../modules/ai/assets/js/editor/components/prompt-history/context/prompt-history-action-context.js");
2544 var _actionIcon = _interopRequireDefault(__webpack_require__(/*! ./action-icon */ "../modules/ai/assets/js/editor/components/prompt-history/parts/action-icon.js"));
2545 var _refreshIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/refresh-icon */ "../modules/ai/assets/js/editor/icons/refresh-icon.js"));
2546 var _modalItemTitle = _interopRequireDefault(__webpack_require__(/*! ./modal-item-title */ "../modules/ai/assets/js/editor/components/prompt-history/parts/modal-item-title.js"));
2547 var _modalItemSecondaryContent = _interopRequireDefault(__webpack_require__(/*! ./modal-item-secondary-content */ "../modules/ai/assets/js/editor/components/prompt-history/parts/modal-item-secondary-content.js"));
2548 var _excluded = ["id", "date", "onHistoryItemDelete"];
2549 var _templateObject, _templateObject2, _templateObject3, _templateObject4;
2550 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) {
2551 var actionsCount = _ref.actionsCount;
2552 return "calc(100% - ".concat(actionsCount, " * 26px)");
2553 });
2554 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) {
2555 var theme = _ref2.theme;
2556 return theme.spacing(0.5, 2);
2557 });
2558 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) {
2559 var theme = _ref3.theme;
2560 return theme.spacing(1.5);
2561 }, function (_ref4) {
2562 var theme = _ref4.theme;
2563 return theme.spacing(0.5);
2564 });
2565 var StyledButtonsWrapper = (0, _ui.styled)(_ui.Box)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n & .MuiSvgIcon-root {\n font-size: 1rem;\n }\n"])));
2566 var PromptHistoryItem = function PromptHistoryItem(_ref5) {
2567 var id = _ref5.id,
2568 date = _ref5.date,
2569 onHistoryItemDelete = _ref5.onHistoryItemDelete,
2570 props = (0, _objectWithoutProperties2.default)(_ref5, _excluded);
2571 var _usePromptHistoryActi = (0, _promptHistoryActionContext.usePromptHistoryAction)(),
2572 getAllowedActions = _usePromptHistoryActi.getAllowedActions,
2573 onPromptReuse = _usePromptHistoryActi.onPromptReuse,
2574 onResultEdit = _usePromptHistoryActi.onResultEdit,
2575 onImagesRestore = _usePromptHistoryActi.onImagesRestore;
2576 var action = props.action,
2577 prompt = props.prompt,
2578 text = props.text,
2579 images = props.images,
2580 thumbnails = props.thumbnails,
2581 imageType = props.imageType,
2582 ratio = props.ratio;
2583 var allowedActions = getAllowedActions();
2584 return /*#__PURE__*/_react.default.createElement(StyledListItem, {
2585 tabIndex: "0",
2586 "data-testid": "e-ph-i",
2587 disableGutters: true,
2588 disablePadding: true,
2589 actionsCount: Object.keys(allowedActions).length
2590 }, /*#__PURE__*/_react.default.createElement(StyledListItemButton, {
2591 component: "div",
2592 role: undefined
2593 }, /*#__PURE__*/_react.default.createElement(StyledListItemIcon, null, /*#__PURE__*/_react.default.createElement(_actionIcon.default, {
2594 action: action
2595 })), /*#__PURE__*/_react.default.createElement(_ui.ListItemText, {
2596 disableTypography: true,
2597 primary: /*#__PURE__*/_react.default.createElement(_ui.Stack, {
2598 direction: "row",
2599 justifyContent: "space-between",
2600 alignItems: "center",
2601 height: "16px"
2602 }, /*#__PURE__*/_react.default.createElement(_modalItemTitle.default, {
2603 prompt: prompt
2604 }), /*#__PURE__*/_react.default.createElement(StyledButtonsWrapper, {
2605 className: "e-prompt-history-item-actions"
2606 }, allowedActions[_promptHistoryActionContext.ACTION_TYPES.REMOVE] && /*#__PURE__*/_react.default.createElement(_modalItemActionButton.default, {
2607 onClick: function onClick() {
2608 return onHistoryItemDelete(id);
2609 },
2610 "aria-label": (0, _i18n.__)('Remove item', 'elementor'),
2611 tooltipTitle: (0, _i18n.__)('Remove', 'elementor')
2612 }, /*#__PURE__*/_react.default.createElement(_icons.TrashIcon, null)), allowedActions[_promptHistoryActionContext.ACTION_TYPES.REUSE] && /*#__PURE__*/_react.default.createElement(_modalItemActionButton.default, {
2613 onClick: function onClick() {
2614 return onPromptReuse(id, prompt);
2615 },
2616 "aria-label": (0, _i18n.__)('Reuse prompt', 'elementor'),
2617 tooltipTitle: (0, _i18n.__)('Reuse prompt', 'elementor')
2618 }, /*#__PURE__*/_react.default.createElement(_refreshIcon.default, null)), allowedActions[_promptHistoryActionContext.ACTION_TYPES.RESTORE] && /*#__PURE__*/_react.default.createElement(_modalItemActionButton.default, {
2619 onClick: function onClick() {
2620 return onImagesRestore(id, {
2621 prompt: prompt,
2622 images: images,
2623 imageType: imageType,
2624 ratio: ratio
2625 });
2626 },
2627 "aria-label": (0, _i18n.__)('Restore', 'elementor'),
2628 tooltipTitle: (0, _i18n.__)('Restore', 'elementor')
2629 }, /*#__PURE__*/_react.default.createElement(_restoreIcon.default, null)), allowedActions[_promptHistoryActionContext.ACTION_TYPES.EDIT] && /*#__PURE__*/_react.default.createElement(_modalItemActionButton.default, {
2630 onClick: function onClick() {
2631 return onResultEdit(id, text);
2632 },
2633 "aria-label": (0, _i18n.__)('Edit result', 'elementor'),
2634 tooltipTitle: (0, _i18n.__)('Edit', 'elementor')
2635 }, /*#__PURE__*/_react.default.createElement(_editIcon.default, null)))),
2636 secondary: /*#__PURE__*/_react.default.createElement(_modalItemSecondaryContent.default, {
2637 date: date,
2638 thumbnails: thumbnails
2639 })
2640 })));
2641 };
2642 PromptHistoryItem.propTypes = {
2643 id: _propTypes.default.string.isRequired,
2644 action: _propTypes.default.string.isRequired,
2645 prompt: _propTypes.default.string.isRequired,
2646 date: _propTypes.default.string.isRequired,
2647 onHistoryItemDelete: _propTypes.default.func.isRequired,
2648 text: _propTypes.default.string,
2649 images: _propTypes.default.array,
2650 thumbnails: _propTypes.default.array,
2651 imageType: _propTypes.default.string,
2652 ratio: _propTypes.default.string
2653 };
2654 var _default = PromptHistoryItem;
2655 exports["default"] = _default;
2656
2657 /***/ }),
2658
2659 /***/ "../modules/ai/assets/js/editor/components/prompt-history/parts/modal-period.js":
2660 /*!**************************************************************************************!*\
2661 !*** ../modules/ai/assets/js/editor/components/prompt-history/parts/modal-period.js ***!
2662 \**************************************************************************************/
2663 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2664
2665 "use strict";
2666
2667
2668 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2669 Object.defineProperty(exports, "__esModule", ({
2670 value: true
2671 }));
2672 exports["default"] = void 0;
2673 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2674 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2675 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
2676 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2677 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
2678 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2679 var _modalItem = _interopRequireDefault(__webpack_require__(/*! ./modal-item */ "../modules/ai/assets/js/editor/components/prompt-history/parts/modal-item.js"));
2680 var _dateHelpers = __webpack_require__(/*! ../../../helpers/date-helpers */ "../modules/ai/assets/js/editor/helpers/date-helpers.js");
2681 var _excluded = ["id", "date"];
2682 var StyledPeriodList = (0, _ui.styled)(_ui.List)(function (_ref) {
2683 var theme = _ref.theme;
2684 return {
2685 borderBottom: "1px solid ".concat(theme.palette.action.focus)
2686 };
2687 });
2688 var StyledPeriodTitle = (0, _ui.styled)(_ui.Typography)(function (_ref2) {
2689 var theme = _ref2.theme;
2690 return {
2691 padding: theme.spacing(1.5, 2),
2692 color: theme.palette.secondary.light
2693 };
2694 });
2695 var DATE_FORMAT = (0, _i18n.__)('F j, g:i A', 'elementor');
2696 var PromptHistoryPeriod = function PromptHistoryPeriod(_ref3) {
2697 var periodTitle = _ref3.periodTitle,
2698 historyItems = _ref3.historyItems,
2699 _onHistoryItemDelete = _ref3.onHistoryItemDelete;
2700 return /*#__PURE__*/_react.default.createElement(StyledPeriodList, {
2701 "data-testid": "e-ph-p",
2702 subheader: /*#__PURE__*/_react.default.createElement(_ui.ListSubheader, {
2703 disableSticky: true,
2704 disableGutters: true
2705 }, /*#__PURE__*/_react.default.createElement(StyledPeriodTitle, {
2706 variant: "body2",
2707 role: "heading",
2708 "aria-level": "6"
2709 }, periodTitle))
2710 }, historyItems.map(function (_ref4) {
2711 var id = _ref4.id,
2712 date = _ref4.date,
2713 props = (0, _objectWithoutProperties2.default)(_ref4, _excluded);
2714 return /*#__PURE__*/_react.default.createElement(_modalItem.default, (0, _extends2.default)({
2715 key: id,
2716 date: (0, _dateHelpers.translateDate)(DATE_FORMAT, date),
2717 onHistoryItemDelete: function onHistoryItemDelete() {
2718 return _onHistoryItemDelete(id);
2719 },
2720 id: id
2721 }, props));
2722 }));
2723 };
2724 PromptHistoryPeriod.propTypes = {
2725 periodTitle: _propTypes.default.string.isRequired,
2726 historyItems: _propTypes.default.array.isRequired,
2727 onHistoryItemDelete: _propTypes.default.func.isRequired
2728 };
2729 var _default = PromptHistoryPeriod;
2730 exports["default"] = _default;
2731
2732 /***/ }),
2733
2734 /***/ "../modules/ai/assets/js/editor/components/prompt-history/parts/modal-upgrade.js":
2735 /*!***************************************************************************************!*\
2736 !*** ../modules/ai/assets/js/editor/components/prompt-history/parts/modal-upgrade.js ***!
2737 \***************************************************************************************/
2738 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2739
2740 "use strict";
2741 /* provided dependency */ var sprintf = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["sprintf"];
2742
2743
2744 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2745 Object.defineProperty(exports, "__esModule", ({
2746 value: true
2747 }));
2748 exports["default"] = void 0;
2749 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2750 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
2751 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2752 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
2753 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2754 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
2755 var _historyTypes = __webpack_require__(/*! ../history-types */ "../modules/ai/assets/js/editor/components/prompt-history/history-types.js");
2756 var _messages;
2757 var VARIANT_FULL = 'full';
2758 var VARIANT_SMALL = 'small';
2759 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);
2760 var actionUrl = 'https://go.elementor.com/ai-popup-purchase-dropdown/';
2761 var getMessage = function getMessage(variant, historyType) {
2762 var placeholder = messages[variant] || messages[VARIANT_FULL];
2763 var translatedHistoryType = (0, _historyTypes.getTranslatedPromptHistoryType)(historyType);
2764 return sprintf(placeholder, translatedHistoryType);
2765 };
2766 var PromptHistoryUpgrade = function PromptHistoryUpgrade(_ref) {
2767 var variant = _ref.variant,
2768 historyType = _ref.historyType;
2769 return /*#__PURE__*/_react.default.createElement(_ui.Stack, {
2770 justifyContent: "center",
2771 sx: {
2772 height: VARIANT_SMALL === variant ? 'auto' : '100%',
2773 textAlign: 'center',
2774 p: 2
2775 },
2776 "data-testid": "e-ph-upgrade-".concat(variant)
2777 }, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
2778 variant: "body1",
2779 sx: {
2780 marginBottom: 2
2781 }
2782 }, getMessage(variant, historyType)), /*#__PURE__*/_react.default.createElement(_ui.Button, {
2783 variant: "contained",
2784 color: "promotion",
2785 size: "small",
2786 href: actionUrl,
2787 target: "_blank",
2788 rel: "noopener noreferrer",
2789 startIcon: /*#__PURE__*/_react.default.createElement(_icons.UpgradeIcon, null),
2790 sx: {
2791 width: '50%',
2792 alignSelf: 'center',
2793 '&:hover': {
2794 color: 'promotion.contrastText'
2795 }
2796 }
2797 }, (0, _i18n.__)('Upgrade now', 'elementor')));
2798 };
2799 PromptHistoryUpgrade.propTypes = {
2800 variant: _propTypes.default.oneOf([VARIANT_FULL, VARIANT_SMALL]).isRequired,
2801 historyType: _propTypes.default.oneOf(Object.values(_historyTypes.HISTORY_TYPES)).isRequired
2802 };
2803 var _default = PromptHistoryUpgrade;
2804 exports["default"] = _default;
2805
2806 /***/ }),
2807
2808 /***/ "../modules/ai/assets/js/editor/components/prompt-library-link.js":
2809 /*!************************************************************************!*\
2810 !*** ../modules/ai/assets/js/editor/components/prompt-library-link.js ***!
2811 \************************************************************************/
2812 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2813
2814 "use strict";
2815
2816
2817 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2818 Object.defineProperty(exports, "__esModule", ({
2819 value: true
2820 }));
2821 exports["default"] = void 0;
2822 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2823 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2824 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
2825 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2826 var PromptLibraryLink = function PromptLibraryLink(props) {
2827 return /*#__PURE__*/_react.default.createElement(_ui.Typography, {
2828 variant: "body2",
2829 color: "text.secondary"
2830 }, (0, _i18n.__)('For more suggestions, explore our'), ' ', /*#__PURE__*/_react.default.createElement(_ui.Link, {
2831 href: props.libraryLink,
2832 className: "elementor-clickable",
2833 target: "_blank"
2834 }, (0, _i18n.__)('prompt library')));
2835 };
2836 PromptLibraryLink.propTypes = {
2837 libraryLink: _propTypes.default.string
2838 };
2839 var _default = PromptLibraryLink;
2840 exports["default"] = _default;
2841
2842 /***/ }),
2843
2844 /***/ "../modules/ai/assets/js/editor/components/prompt-search.js":
2845 /*!******************************************************************!*\
2846 !*** ../modules/ai/assets/js/editor/components/prompt-search.js ***!
2847 \******************************************************************/
2848 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2849
2850 "use strict";
2851
2852
2853 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2854 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
2855 Object.defineProperty(exports, "__esModule", ({
2856 value: true
2857 }));
2858 exports["default"] = void 0;
2859 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
2860 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2861 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
2862 var _searchField = _interopRequireDefault(__webpack_require__(/*! ./ui/search-field */ "../modules/ai/assets/js/editor/components/ui/search-field.js"));
2863 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); }
2864 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; }
2865 var PromptSearch = (0, _react.forwardRef)(function (props, ref) {
2866 return /*#__PURE__*/_react.default.createElement(_searchField.default, (0, _extends2.default)({
2867 name: "prompt",
2868 placeholder: (0, _i18n.__)('Describe the text and tone you want to use', 'elementor') + '...'
2869 }, props, {
2870 ref: ref
2871 }));
2872 });
2873 var _default = PromptSearch;
2874 exports["default"] = _default;
2875
2876 /***/ }),
2877
2878 /***/ "../modules/ai/assets/js/editor/components/prompt-suggestions.js":
2879 /*!***********************************************************************!*\
2880 !*** ../modules/ai/assets/js/editor/components/prompt-suggestions.js ***!
2881 \***********************************************************************/
2882 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2883
2884 "use strict";
2885
2886
2887 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2888 Object.defineProperty(exports, "__esModule", ({
2889 value: true
2890 }));
2891 exports["default"] = void 0;
2892 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2893 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2894 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
2895 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2896 var PromptSuggestions = function PromptSuggestions(props) {
2897 var _props$suggestions;
2898 return /*#__PURE__*/_react.default.createElement(_ui.Box, null, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
2899 variant: "subtitle1",
2900 color: "text.secondary"
2901 }, (0, _i18n.__)('Suggested prompts', 'elementor') + ':'), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
2902 direction: "column",
2903 alignItems: "flex-start",
2904 gap: 1,
2905 sx: {
2906 my: 1
2907 }
2908 }, (_props$suggestions = props.suggestions) === null || _props$suggestions === void 0 ? void 0 : _props$suggestions.map(function (option, index) {
2909 var _props$suggestionFilt;
2910 return /*#__PURE__*/_react.default.createElement(_ui.Chip, {
2911 key: index,
2912 variant: "outlined",
2913 size: "large",
2914 color: "secondary",
2915 label: ((_props$suggestionFilt = props.suggestionFilter) === null || _props$suggestionFilt === void 0 ? void 0 : _props$suggestionFilt.call(props, option)) || option,
2916 onClick: function onClick() {
2917 return props.onSelect(option);
2918 }
2919 });
2920 })), props.children);
2921 };
2922 PromptSuggestions.propTypes = {
2923 suggestions: _propTypes.default.arrayOf(_propTypes.default.string),
2924 onSelect: _propTypes.default.func.isRequired,
2925 suggestionFilter: _propTypes.default.func,
2926 children: _propTypes.default.node
2927 };
2928 var _default = PromptSuggestions;
2929 exports["default"] = _default;
2930
2931 /***/ }),
2932
2933 /***/ "../modules/ai/assets/js/editor/components/textarea.js":
2934 /*!*************************************************************!*\
2935 !*** ../modules/ai/assets/js/editor/components/textarea.js ***!
2936 \*************************************************************/
2937 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2938
2939 "use strict";
2940
2941
2942 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2943 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
2944 Object.defineProperty(exports, "__esModule", ({
2945 value: true
2946 }));
2947 exports["default"] = void 0;
2948 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
2949 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2950 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2951 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2952 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); }
2953 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; }
2954 var Textarea = (0, _react.forwardRef)(function (props, ref) {
2955 return /*#__PURE__*/_react.default.createElement(_ui.TextField, (0, _extends2.default)({
2956 inputRef: ref,
2957 multiline: true,
2958 minRows: 4,
2959 maxRows: 20,
2960 color: "secondary"
2961 }, props));
2962 });
2963 Textarea.propTypes = {
2964 value: _propTypes.default.string,
2965 onChange: _propTypes.default.func,
2966 helperText: _propTypes.default.string
2967 };
2968 var _default = Textarea;
2969 exports["default"] = _default;
2970
2971 /***/ }),
2972
2973 /***/ "../modules/ai/assets/js/editor/components/tooltip.js":
2974 /*!************************************************************!*\
2975 !*** ../modules/ai/assets/js/editor/components/tooltip.js ***!
2976 \************************************************************/
2977 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2978
2979 "use strict";
2980
2981
2982 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2983 Object.defineProperty(exports, "__esModule", ({
2984 value: true
2985 }));
2986 exports["default"] = void 0;
2987 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2988 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2989 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
2990 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2991 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2992 var _excluded = ["children"];
2993 var Tooltip = function Tooltip(_ref) {
2994 var children = _ref.children,
2995 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
2996 return /*#__PURE__*/_react.default.createElement(_ui.Tooltip, (0, _extends2.default)({
2997 componentsProps: {
2998 tooltip: {
2999 sx: {
3000 '&.MuiTooltip-tooltip[class*="MuiTooltip-tooltipPlacement"]': {
3001 m: 0,
3002 fontSize: '10px',
3003 fontWeight: 500,
3004 lineHeight: '1.4em'
3005 },
3006 py: 0.5,
3007 px: 1
3008 }
3009 }
3010 }
3011 }, props), children);
3012 };
3013 Tooltip.propTypes = {
3014 children: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.node), _propTypes.default.node])
3015 };
3016 var _default = Tooltip;
3017 exports["default"] = _default;
3018
3019 /***/ }),
3020
3021 /***/ "../modules/ai/assets/js/editor/components/ui/overlay-bar-text.js":
3022 /*!************************************************************************!*\
3023 !*** ../modules/ai/assets/js/editor/components/ui/overlay-bar-text.js ***!
3024 \************************************************************************/
3025 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3026
3027 "use strict";
3028
3029
3030 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3031 Object.defineProperty(exports, "__esModule", ({
3032 value: true
3033 }));
3034 exports["default"] = void 0;
3035 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
3036 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
3037 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
3038 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3039 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3040 var _excluded = ["children"];
3041 var OverlayBarText = function OverlayBarText(_ref) {
3042 var children = _ref.children,
3043 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
3044 return /*#__PURE__*/_react.default.createElement(_ui.Typography, (0, _extends2.default)({
3045 variant: "caption",
3046 color: "common.white"
3047 }, props), children);
3048 };
3049 OverlayBarText.propTypes = {
3050 children: _propTypes.default.node
3051 };
3052 var _default = OverlayBarText;
3053 exports["default"] = _default;
3054
3055 /***/ }),
3056
3057 /***/ "../modules/ai/assets/js/editor/components/ui/overlay-bar.js":
3058 /*!*******************************************************************!*\
3059 !*** ../modules/ai/assets/js/editor/components/ui/overlay-bar.js ***!
3060 \*******************************************************************/
3061 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3062
3063 "use strict";
3064
3065
3066 Object.defineProperty(exports, "__esModule", ({
3067 value: true
3068 }));
3069 exports["default"] = void 0;
3070 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3071 var OverlayBar = (0, _ui.styled)(_ui.Stack)(function (_ref) {
3072 var theme = _ref.theme,
3073 position = _ref.position;
3074 var style = {
3075 width: '100%',
3076 position: 'absolute',
3077 left: 0,
3078 padding: theme.spacing(2.5)
3079 };
3080 if ('top' === position) {
3081 style.top = 0;
3082 } else if ('bottom' === position) {
3083 style.bottom = 0;
3084 }
3085 return style;
3086 });
3087 var _default = OverlayBar;
3088 exports["default"] = _default;
3089
3090 /***/ }),
3091
3092 /***/ "../modules/ai/assets/js/editor/components/ui/overlay.js":
3093 /*!***************************************************************!*\
3094 !*** ../modules/ai/assets/js/editor/components/ui/overlay.js ***!
3095 \***************************************************************/
3096 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3097
3098 "use strict";
3099
3100
3101 Object.defineProperty(exports, "__esModule", ({
3102 value: true
3103 }));
3104 exports["default"] = void 0;
3105 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3106 var Overlay = (0, _ui.styled)(_ui.Box)(function (_ref) {
3107 var theme = _ref.theme;
3108 return {
3109 width: '100%',
3110 height: '100%',
3111 position: 'absolute',
3112 backgroundColor: 'rgba(0,0,0,0.5)',
3113 transition: "opacity ".concat(theme.transitions.duration.short, "ms ").concat(theme.transitions.easing.easeInOut),
3114 opacity: 0,
3115 '&:hover': {
3116 opacity: 1
3117 }
3118 };
3119 });
3120 var _default = Overlay;
3121 exports["default"] = _default;
3122
3123 /***/ }),
3124
3125 /***/ "../modules/ai/assets/js/editor/components/ui/panel.js":
3126 /*!*************************************************************!*\
3127 !*** ../modules/ai/assets/js/editor/components/ui/panel.js ***!
3128 \*************************************************************/
3129 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3130
3131 "use strict";
3132
3133
3134 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3135 Object.defineProperty(exports, "__esModule", ({
3136 value: true
3137 }));
3138 exports["default"] = void 0;
3139 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
3140 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
3141 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
3142 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
3143 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3144 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3145 var _excluded = ["sx"];
3146 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; }
3147 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; }
3148 var Panel = function Panel(_ref) {
3149 var _ref$sx = _ref.sx,
3150 sx = _ref$sx === void 0 ? {} : _ref$sx,
3151 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
3152 return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_ui.Box, (0, _extends2.default)({
3153 sx: _objectSpread({
3154 p: 4,
3155 width: 360,
3156 flexShrink: 0,
3157 height: '100%',
3158 overflowY: 'auto'
3159 }, sx)
3160 }, props), props.children), /*#__PURE__*/_react.default.createElement(_ui.Divider, {
3161 orientation: "vertical"
3162 }));
3163 };
3164 Panel.propTypes = {
3165 children: _propTypes.default.node,
3166 sx: _propTypes.default.object
3167 };
3168 var _default = Panel;
3169 exports["default"] = _default;
3170
3171 /***/ }),
3172
3173 /***/ "../modules/ai/assets/js/editor/components/ui/search-field.js":
3174 /*!********************************************************************!*\
3175 !*** ../modules/ai/assets/js/editor/components/ui/search-field.js ***!
3176 \********************************************************************/
3177 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3178
3179 "use strict";
3180
3181
3182 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3183 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
3184 Object.defineProperty(exports, "__esModule", ({
3185 value: true
3186 }));
3187 exports["default"] = void 0;
3188 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
3189 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
3190 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3191 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3192 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
3193 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); }
3194 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; }
3195 // Customization for the WP admin global CSS.
3196 var StyledTextField = (0, _ui.styled)(_ui.TextField)(function () {
3197 return {
3198 '.wp-admin & .MuiInputBase-input, & .MuiInputBase-input:focus': {
3199 backgroundColor: 'initial',
3200 boxShadow: 'none',
3201 border: 0,
3202 color: 'inherit',
3203 outline: 0,
3204 /**
3205 * TODO:
3206 * Find a better solution to get the component padding value dynamically or fix the global CSS override.
3207 * These values are taken from Material UI's source code (the left padding reset was added to match the component style).
3208 */
3209 padding: '16.5px 14px 16.5px 0',
3210 '&.MuiInputBase-inputSizeSmall': {
3211 padding: '8.5px 14px 8.5px 0'
3212 }
3213 }
3214 };
3215 });
3216 var SearchField = (0, _react.forwardRef)(function (props, ref) {
3217 return /*#__PURE__*/_react.default.createElement(StyledTextField
3218 // eslint-disable-next-line jsx-a11y/no-autofocus
3219 , (0, _extends2.default)({
3220 autoFocus: true,
3221 fullWidth: true,
3222 required: true,
3223 size: "small",
3224 color: "secondary",
3225 InputProps: {
3226 autoComplete: 'off',
3227 startAdornment: /*#__PURE__*/_react.default.createElement(_ui.InputAdornment, {
3228 position: "start"
3229 }, /*#__PURE__*/_react.default.createElement(_icons.SearchIcon, null))
3230 },
3231 placeholder: props.placeholder,
3232 name: props.name,
3233 value: props.value,
3234 onChange: props.onChange
3235 }, props, {
3236 inputRef: ref
3237 }));
3238 });
3239 SearchField.propTypes = {
3240 placeholder: _propTypes.default.string,
3241 name: _propTypes.default.string,
3242 value: _propTypes.default.string,
3243 onChange: _propTypes.default.func
3244 };
3245 var _default = SearchField;
3246 exports["default"] = _default;
3247
3248 /***/ }),
3249
3250 /***/ "../modules/ai/assets/js/editor/components/upgrade-banner.js":
3251 /*!*******************************************************************!*\
3252 !*** ../modules/ai/assets/js/editor/components/upgrade-banner.js ***!
3253 \*******************************************************************/
3254 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3255
3256 "use strict";
3257 /* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
3258 /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js");
3259
3260
3261 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3262 Object.defineProperty(exports, "__esModule", ({
3263 value: true
3264 }));
3265 exports["default"] = void 0;
3266 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
3267 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
3268 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
3269 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3270 var _excluded = ["onClose"];
3271 var UpgradeBanner = function UpgradeBanner(_ref) {
3272 var onClose = _ref.onClose,
3273 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
3274 return /*#__PURE__*/_react.default.createElement(_ui.Alert, (0, _extends2.default)({
3275 icon: false,
3276 action: /*#__PURE__*/_react.default.createElement(_ui.AlertAction, {
3277 onClick: function onClick() {
3278 return window.open('https://go.elementor.com/ai-banner-free-upgrade/', '_blank');
3279 }
3280 }, __('Upgrade', 'elementor')),
3281 variant: "filled",
3282 color: "promotion",
3283 onClose: onClose
3284 }, props), __('You’re using a limited license. Get maximum access to Elementor AI.', 'elementor'));
3285 };
3286 UpgradeBanner.propTypes = {
3287 onClose: PropTypes.func,
3288 sx: PropTypes.object
3289 };
3290 var _default = UpgradeBanner;
3291 exports["default"] = _default;
3292
3293 /***/ }),
3294
3295 /***/ "../modules/ai/assets/js/editor/components/upgrade-chip.js":
3296 /*!*****************************************************************!*\
3297 !*** ../modules/ai/assets/js/editor/components/upgrade-chip.js ***!
3298 \*****************************************************************/
3299 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3300
3301 "use strict";
3302
3303
3304 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3305 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
3306 Object.defineProperty(exports, "__esModule", ({
3307 value: true
3308 }));
3309 exports["default"] = void 0;
3310 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
3311 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
3312 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3313 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
3314 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3315 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
3316 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); }
3317 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; }
3318 var popoverId = 'e-ai-upgrade-popover';
3319 var StyledContent = (0, _ui.styled)(_ui.Paper)(function (_ref) {
3320 var theme = _ref.theme;
3321 return {
3322 position: 'relative',
3323 '[data-popper-placement="top"] &': {
3324 marginBottom: theme.spacing(2.5)
3325 },
3326 '[data-popper-placement="bottom"] &': {
3327 marginTop: theme.spacing(2.5)
3328 },
3329 padding: theme.spacing(3),
3330 boxShadow: theme.shadows[4],
3331 zIndex: '9999'
3332 };
3333 });
3334 var StyledArrow = (0, _ui.styled)(_ui.Box)(function (_ref2) {
3335 var theme = _ref2.theme;
3336 return {
3337 width: theme.spacing(5),
3338 height: theme.spacing(2.5),
3339 position: 'absolute',
3340 overflow: 'hidden',
3341 // Override Popper inline styles.
3342 left: '50% !important',
3343 transform: 'translateX(-50%) rotate(var(--rotate, 0deg)) !important',
3344 '[data-popper-placement="top"] &': {
3345 top: '100%'
3346 },
3347 '[data-popper-placement="bottom"] &': {
3348 '--rotate': '180deg',
3349 top: "calc(".concat(theme.spacing(2.5), " * -1)")
3350 },
3351 '&::after': {
3352 backgroundColor: theme.palette.background.paper,
3353 content: '""',
3354 display: 'block',
3355 position: 'absolute',
3356 width: theme.spacing(2.5),
3357 height: theme.spacing(2.5),
3358 top: 0,
3359 left: '50%',
3360 transform: 'translateX(-50%) translateY(-50%) rotate(45deg)',
3361 boxShadow: '1px 1px 5px 0px rgba(0, 0, 0, 0.2)',
3362 backgroundImage: 'linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.05))'
3363 }
3364 };
3365 });
3366 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')];
3367 var Chip = (0, _ui.styled)(_ui.Chip)(function () {
3368 return {
3369 '& .MuiChip-label': {
3370 lineHeight: 1.5
3371 },
3372 '& .MuiSvgIcon-root.MuiChip-icon': {
3373 fontSize: '1.25rem'
3374 }
3375 };
3376 });
3377 var UpgradeChip = function UpgradeChip(_ref3) {
3378 var _ref3$hasSubscription = _ref3.hasSubscription,
3379 hasSubscription = _ref3$hasSubscription === void 0 ? false : _ref3$hasSubscription,
3380 _ref3$usagePercentage = _ref3.usagePercentage,
3381 usagePercentage = _ref3$usagePercentage === void 0 ? 0 : _ref3$usagePercentage;
3382 var _useState = (0, _react.useState)(false),
3383 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
3384 isPopoverOpen = _useState2[0],
3385 setIsPopoverOpen = _useState2[1];
3386 var anchorEl = (0, _react.useRef)(null);
3387 var arrowEl = (0, _react.useRef)(null);
3388 var showPopover = function showPopover() {
3389 return setIsPopoverOpen(true);
3390 };
3391 var hidePopover = function hidePopover() {
3392 return setIsPopoverOpen(false);
3393 };
3394 var actionUrl = 'https://go.elementor.com/ai-popup-purchase-dropdown/';
3395 if (hasSubscription) {
3396 actionUrl = usagePercentage >= 100 ? 'https://go.elementor.com/ai-popup-upgrade-limit-reached/' : 'https://go.elementor.com/ai-popup-upgrade-limit-reached-80-percent/';
3397 }
3398 var actionLabel = hasSubscription ? (0, _i18n.__)('Upgrade Elementor AI', 'elementor') : (0, _i18n.__)('Get Elementor AI', 'elementor');
3399 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
3400 component: "span",
3401 "aria-owns": isPopoverOpen ? popoverId : undefined,
3402 "aria-haspopup": "true",
3403 onMouseEnter: showPopover,
3404 onMouseLeave: hidePopover,
3405 ref: anchorEl,
3406 display: "flex",
3407 alignItems: "center"
3408 }, /*#__PURE__*/_react.default.createElement(Chip, {
3409 color: "promotion",
3410 label: (0, _i18n.__)('Upgrade', 'elementor'),
3411 icon: /*#__PURE__*/_react.default.createElement(_icons.AIIcon, null),
3412 size: "small"
3413 }), /*#__PURE__*/_react.default.createElement(_ui.Popper, {
3414 open: isPopoverOpen,
3415 anchorEl: anchorEl.current,
3416 sx: {
3417 zIndex: '9999',
3418 maxWidth: 300
3419 },
3420 modifiers: [{
3421 name: 'arrow',
3422 enabled: true,
3423 options: {
3424 element: arrowEl.current
3425 }
3426 }]
3427 }, /*#__PURE__*/_react.default.createElement(StyledContent, null, /*#__PURE__*/_react.default.createElement(StyledArrow, {
3428 ref: arrowEl
3429 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
3430 variant: "h5",
3431 color: "text.primary"
3432 }, (0, _i18n.__)('Maximize Your Access to Elementor AI', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.List, {
3433 sx: {
3434 mb: 1
3435 }
3436 }, upgradeBullets.map(function (bullet, index) {
3437 return /*#__PURE__*/_react.default.createElement(_ui.ListItem, {
3438 key: index,
3439 disableGutters: true,
3440 sx: {
3441 alignItems: 'flex-start'
3442 }
3443 }, /*#__PURE__*/_react.default.createElement(_ui.ListItemIcon, null, /*#__PURE__*/_react.default.createElement(_icons.CheckedCircleIcon, null)), /*#__PURE__*/_react.default.createElement(_ui.ListItemText, {
3444 sx: {
3445 m: 0
3446 }
3447 }, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
3448 variant: "body2"
3449 }, bullet)));
3450 })), /*#__PURE__*/_react.default.createElement(_ui.Button, {
3451 variant: "contained",
3452 color: "promotion",
3453 size: "small",
3454 href: actionUrl,
3455 target: "_blank",
3456 startIcon: /*#__PURE__*/_react.default.createElement(_icons.AIIcon, null),
3457 sx: {
3458 '&:hover': {
3459 color: 'promotion.contrastText'
3460 }
3461 }
3462 }, actionLabel))));
3463 };
3464 var _default = UpgradeChip;
3465 exports["default"] = _default;
3466 UpgradeChip.propTypes = {
3467 hasSubscription: _propTypes.default.bool,
3468 usagePercentage: _propTypes.default.number
3469 };
3470
3471 /***/ }),
3472
3473 /***/ "../modules/ai/assets/js/editor/components/usage-limit-alert.js":
3474 /*!**********************************************************************!*\
3475 !*** ../modules/ai/assets/js/editor/components/usage-limit-alert.js ***!
3476 \**********************************************************************/
3477 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3478
3479 "use strict";
3480 /* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
3481 /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js");
3482
3483
3484 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3485 Object.defineProperty(exports, "__esModule", ({
3486 value: true
3487 }));
3488 exports["default"] = void 0;
3489 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
3490 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
3491 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
3492 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
3493 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3494 var _excluded = ["onClose", "usagePercentage", "hasSubscription"];
3495 var _title, _description, _url, _title2, _description2, _url2, _title3, _description3, _url3;
3496 var KEY_SUBSCRIPTION = 'subscription';
3497 var KEY_NO_SUBSCRIPTION = 'noSubscription';
3498 var alertConfigs = [{
3499 threshold: 95,
3500 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 95% of credits for this AI feature.', 'elementor')), _title),
3501 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 still have credits for other AI features (Text, Code, Images, Containers, etc.)', 'elementor')), _description),
3502 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),
3503 color: 'error'
3504 }, {
3505 threshold: 80,
3506 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 80% of credits for this AI feature.', 'elementor')), _title2),
3507 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 still have credits for other AI features (Text, Code, Images, Containers, etc.)', 'elementor')), _description2),
3508 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),
3509 color: 'warning'
3510 }, {
3511 threshold: 75,
3512 title: (_title3 = {}, (0, _defineProperty2.default)(_title3, KEY_SUBSCRIPTION, __('You’ve used over 75% of your Elementor AI plan.', 'elementor')), (0, _defineProperty2.default)(_title3, KEY_NO_SUBSCRIPTION, __(' You’ve used 75% of credits for this AI feature.', 'elementor')), _title3),
3513 description: (_description3 = {}, (0, _defineProperty2.default)(_description3, KEY_SUBSCRIPTION, __('Get maximum access.', 'elementor')), (0, _defineProperty2.default)(_description3, KEY_NO_SUBSCRIPTION, __('Upgrade now to keep using this feature. You still have credits for other AI features (Text, Code, Images, Containers, etc.)', 'elementor')), _description3),
3514 url: (_url3 = {}, (0, _defineProperty2.default)(_url3, KEY_SUBSCRIPTION, 'https://go.elementor.com/ai-banner-paid-80-limit-reach/'), (0, _defineProperty2.default)(_url3, KEY_NO_SUBSCRIPTION, 'https://go.elementor.com/ai-banner-free-80-limit-reach/'), _url3),
3515 color: 'warning'
3516 }];
3517 var UpgradeButton = function UpgradeButton(props) {
3518 return /*#__PURE__*/_react.default.createElement(_ui.Button, (0, _extends2.default)({
3519 color: "inherit",
3520 variant: "outlined",
3521 sx: {
3522 border: '2px solid'
3523 }
3524 }, props), __('Upgrade now', 'elementor'));
3525 };
3526 var UsageLimitAlert = function UsageLimitAlert(_ref) {
3527 var onClose = _ref.onClose,
3528 usagePercentage = _ref.usagePercentage,
3529 hasSubscription = _ref.hasSubscription,
3530 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
3531 var config = alertConfigs.find(function (_ref2) {
3532 var threshold = _ref2.threshold;
3533 return usagePercentage >= threshold;
3534 });
3535 if (!config) {
3536 return null;
3537 }
3538 var subscriptionType = hasSubscription ? KEY_SUBSCRIPTION : KEY_NO_SUBSCRIPTION;
3539 var title = config.title,
3540 description = config.description,
3541 url = config.url,
3542 color = config.color;
3543 var handleUpgradeClick = function handleUpgradeClick() {
3544 return window.open(url[subscriptionType], '_blank');
3545 };
3546 return /*#__PURE__*/_react.default.createElement(_ui.Alert, (0, _extends2.default)({
3547 severity: "warning",
3548 action: /*#__PURE__*/_react.default.createElement(UpgradeButton, {
3549 onClick: handleUpgradeClick
3550 }),
3551 color: color
3552 }, props), /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, title[subscriptionType]), description[subscriptionType]);
3553 };
3554 UsageLimitAlert.propTypes = {
3555 onClose: PropTypes.func,
3556 usagePercentage: PropTypes.number,
3557 hasSubscription: PropTypes.bool
3558 };
3559 var _default = UsageLimitAlert;
3560 exports["default"] = _default;
3561
3562 /***/ }),
3563
3564 /***/ "../modules/ai/assets/js/editor/components/usage-messages.js":
3565 /*!*******************************************************************!*\
3566 !*** ../modules/ai/assets/js/editor/components/usage-messages.js ***!
3567 \*******************************************************************/
3568 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3569
3570 "use strict";
3571 /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js");
3572
3573
3574 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3575 Object.defineProperty(exports, "__esModule", ({
3576 value: true
3577 }));
3578 exports["default"] = void 0;
3579 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
3580 var _upgradeBanner = _interopRequireDefault(__webpack_require__(/*! ./upgrade-banner */ "../modules/ai/assets/js/editor/components/upgrade-banner.js"));
3581 var _usageLimitAlert = _interopRequireDefault(__webpack_require__(/*! ./usage-limit-alert */ "../modules/ai/assets/js/editor/components/usage-limit-alert.js"));
3582 var _useUpgradeMessage2 = _interopRequireDefault(__webpack_require__(/*! ../hooks/use-upgrade-message */ "../modules/ai/assets/js/editor/hooks/use-upgrade-message.js"));
3583 var UsageMessages = function UsageMessages(_ref) {
3584 var hasSubscription = _ref.hasSubscription,
3585 usagePercentage = _ref.usagePercentage,
3586 sx = _ref.sx;
3587 var _useUpgradeMessage = (0, _useUpgradeMessage2.default)({
3588 usagePercentage: usagePercentage,
3589 hasSubscription: hasSubscription
3590 }),
3591 showBanner = _useUpgradeMessage.showBanner,
3592 markBannerAsViewed = _useUpgradeMessage.markBannerAsViewed;
3593 return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, showBanner && /*#__PURE__*/_react.default.createElement(_upgradeBanner.default, {
3594 onClose: markBannerAsViewed,
3595 sx: sx
3596 }), /*#__PURE__*/_react.default.createElement(_usageLimitAlert.default, {
3597 hasSubscription: hasSubscription,
3598 usagePercentage: usagePercentage,
3599 sx: sx
3600 }));
3601 };
3602 UsageMessages.propTypes = {
3603 hasSubscription: PropTypes.bool,
3604 usagePercentage: PropTypes.number,
3605 sx: PropTypes.object
3606 };
3607 var _default = UsageMessages;
3608 exports["default"] = _default;
3609
3610 /***/ }),
3611
3612 /***/ "../modules/ai/assets/js/editor/components/voice-promotion-alert.js":
3613 /*!**************************************************************************!*\
3614 !*** ../modules/ai/assets/js/editor/components/voice-promotion-alert.js ***!
3615 \**************************************************************************/
3616 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3617
3618 "use strict";
3619 /* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
3620 /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js");
3621
3622
3623 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3624 Object.defineProperty(exports, "__esModule", ({
3625 value: true
3626 }));
3627 exports["default"] = exports.VoicePromotionAlert = void 0;
3628 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
3629 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
3630 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3631 var _bulbIcon = _interopRequireDefault(__webpack_require__(/*! ../icons/bulb-icon */ "../modules/ai/assets/js/editor/icons/bulb-icon.js"));
3632 var _useIntroduction2 = _interopRequireDefault(__webpack_require__(/*! ../hooks/use-introduction */ "../modules/ai/assets/js/editor/hooks/use-introduction.js"));
3633 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; }
3634 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; }
3635 var VoicePromotionAlert = function VoicePromotionAlert(props) {
3636 var _useIntroduction = (0, _useIntroduction2.default)(props.introductionKey),
3637 isViewed = _useIntroduction.isViewed,
3638 markAsViewed = _useIntroduction.markAsViewed;
3639 if (isViewed) {
3640 return null;
3641 }
3642 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
3643 sx: _objectSpread({
3644 mt: 2
3645 }, props.sx),
3646 alignItems: "top"
3647 }, /*#__PURE__*/_react.default.createElement(_ui.Alert, {
3648 severity: "info",
3649 variant: "standard",
3650 icon: /*#__PURE__*/_react.default.createElement(_bulbIcon.default, {
3651 sx: {
3652 alignSelf: 'flex-start'
3653 }
3654 }),
3655 onClose: markAsViewed
3656 }, __('Get improved results from AI by adding some personal context. Go to Site Settings > AI Context to get started.')));
3657 };
3658 exports.VoicePromotionAlert = VoicePromotionAlert;
3659 VoicePromotionAlert.propTypes = {
3660 sx: PropTypes.object,
3661 introductionKey: PropTypes.string
3662 };
3663 var _default = VoicePromotionAlert;
3664 exports["default"] = _default;
3665
3666 /***/ }),
3667
3668 /***/ "../modules/ai/assets/js/editor/components/wizard-dialog.js":
3669 /*!******************************************************************!*\
3670 !*** ../modules/ai/assets/js/editor/components/wizard-dialog.js ***!
3671 \******************************************************************/
3672 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3673
3674 "use strict";
3675
3676
3677 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3678 Object.defineProperty(exports, "__esModule", ({
3679 value: true
3680 }));
3681 exports["default"] = void 0;
3682 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
3683 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
3684 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
3685 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
3686 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3687 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3688 var _dialogHeader = _interopRequireDefault(__webpack_require__(/*! ./dialog-header */ "../modules/ai/assets/js/editor/components/dialog-header.js"));
3689 var _excluded = ["sx"];
3690 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; }
3691 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; }
3692 var WizardDialog = function WizardDialog(props) {
3693 return /*#__PURE__*/_react.default.createElement(_ui.Dialog, {
3694 open: true,
3695 onClose: props.onClose,
3696 fullWidth: true,
3697 hideBackdrop: true,
3698 maxWidth: "lg",
3699 PaperProps: {
3700 sx: {
3701 height: '88vh'
3702 }
3703 },
3704 sx: {
3705 zIndex: 9999
3706 }
3707 }, props.children);
3708 };
3709 WizardDialog.propTypes = {
3710 onClose: _propTypes.default.func.isRequired,
3711 children: _propTypes.default.node.isRequired
3712 };
3713 var WizardDialogContent = function WizardDialogContent(_ref) {
3714 var _ref$sx = _ref.sx,
3715 sx = _ref$sx === void 0 ? {} : _ref$sx,
3716 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
3717 return /*#__PURE__*/_react.default.createElement(_ui.DialogContent, (0, _extends2.default)({}, props, {
3718 sx: _objectSpread({
3719 display: 'flex',
3720 flexDirection: 'column',
3721 justifyContent: 'center'
3722 }, sx)
3723 }));
3724 };
3725 WizardDialogContent.propTypes = {
3726 sx: _propTypes.default.object
3727 };
3728 WizardDialog.Header = _dialogHeader.default;
3729 WizardDialog.Content = WizardDialogContent;
3730 var _default = WizardDialog;
3731 exports["default"] = _default;
3732
3733 /***/ }),
3734
3735 /***/ "../modules/ai/assets/js/editor/context/requests-ids.js":
3736 /*!**************************************************************!*\
3737 !*** ../modules/ai/assets/js/editor/context/requests-ids.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 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
3746 Object.defineProperty(exports, "__esModule", ({
3747 value: true
3748 }));
3749 exports["default"] = exports.RequestIdsProvider = void 0;
3750 exports.generateIds = generateIds;
3751 exports.useRequestIds = exports.getUniqueId = void 0;
3752 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
3753 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3754 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); }
3755 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; }
3756 var Context = (0, _react.createContext)({});
3757 var useRequestIds = function useRequestIds() {
3758 var context = (0, _react.useContext)(Context);
3759 if (!context) {
3760 throw new Error('useRequestIds must be used within a RequestIdsProvider');
3761 }
3762 return context;
3763 };
3764 exports.useRequestIds = useRequestIds;
3765 var getUniqueId = function getUniqueId(prefix) {
3766 return prefix + '-' + Math.random().toString(16).substr(2, 7);
3767 };
3768 exports.getUniqueId = getUniqueId;
3769 window.EDITOR_SESSION_ID = window.EDITOR_SESSION_ID || getUniqueId('editor-session');
3770 function generateIds(template) {
3771 var _template$elements;
3772 template.id = getUniqueId().toString();
3773 if ((_template$elements = template.elements) !== null && _template$elements !== void 0 && _template$elements.length) {
3774 template.elements.map(function (child) {
3775 return generateIds(child);
3776 });
3777 }
3778 return template;
3779 }
3780 var RequestIdsProvider = function RequestIdsProvider(props) {
3781 var editorSessionId = (0, _react.useRef)(window.EDITOR_SESSION_ID);
3782 var sessionId = (0, _react.useRef)('');
3783 var generateId = (0, _react.useRef)('');
3784 var batchId = (0, _react.useRef)('');
3785 var requestId = (0, _react.useRef)('');
3786 sessionId.current = getUniqueId('session');
3787 var setGenerate = function setGenerate() {
3788 generateId.current = getUniqueId('generate');
3789 return generateId;
3790 };
3791 var setBatch = function setBatch() {
3792 batchId.current = getUniqueId('batch');
3793 return batchId;
3794 };
3795 var setRequest = function setRequest() {
3796 requestId.current = getUniqueId('request');
3797 return requestId;
3798 };
3799 return /*#__PURE__*/_react.default.createElement(Context.Provider, {
3800 value: {
3801 editorSessionId: editorSessionId,
3802 sessionId: sessionId,
3803 generateId: generateId,
3804 batchId: batchId,
3805 requestId: requestId,
3806 setGenerate: setGenerate,
3807 setBatch: setBatch,
3808 setRequest: setRequest
3809 }
3810 }, props.children);
3811 };
3812 exports.RequestIdsProvider = RequestIdsProvider;
3813 RequestIdsProvider.propTypes = {
3814 children: _propTypes.default.node.isRequired
3815 };
3816 var _default = Context;
3817 exports["default"] = _default;
3818
3819 /***/ }),
3820
3821 /***/ "../modules/ai/assets/js/editor/helpers/date-helpers.js":
3822 /*!**************************************************************!*\
3823 !*** ../modules/ai/assets/js/editor/helpers/date-helpers.js ***!
3824 \**************************************************************/
3825 /***/ ((__unused_webpack_module, exports) => {
3826
3827 "use strict";
3828
3829
3830 Object.defineProperty(exports, "__esModule", ({
3831 value: true
3832 }));
3833 exports.translateDate = exports.daysDiff = exports.MONTH_JANUARY_INDEX = exports.MONTH_DECEMBER_INDEX = void 0;
3834 var MONTH_DECEMBER_INDEX = 12;
3835 exports.MONTH_DECEMBER_INDEX = MONTH_DECEMBER_INDEX;
3836 var MONTH_JANUARY_INDEX = 0;
3837 /**
3838 * Formats a date (like wp_date() in PHP), translating it into site's locale.
3839 *
3840 * @param {string} format PHP-style formatting string.
3841 * @param {Date | string | undefined} date Date object
3842 * @param {string | number | undefined=} timezone Timezone to output result in or a UTC offset. Defaults to timezone from site.
3843 * @return {string}
3844 */
3845 exports.MONTH_JANUARY_INDEX = MONTH_JANUARY_INDEX;
3846 var translateDate = function translateDate(format, date, timezone) {
3847 var _window$wp;
3848 var _window$wp$date = (_window$wp = window.wp) === null || _window$wp === void 0 ? void 0 : _window$wp.date,
3849 dateI18n = _window$wp$date.dateI18n;
3850 return dateI18n(format, date, timezone);
3851 };
3852
3853 /**
3854 * Returns difference in days between two dates
3855 *
3856 * @param {Date} firstDate
3857 * @param {Date} secondDate
3858 * @return {number} Positive or negative number in days
3859 */
3860 exports.translateDate = translateDate;
3861 var daysDiff = function daysDiff(firstDate, secondDate) {
3862 var MS_PER_DAY = 1000 * 60 * 60 * 24;
3863 var firstUTC = Date.UTC(firstDate.getFullYear(), firstDate.getMonth(), firstDate.getDate());
3864 var secondUTC = Date.UTC(secondDate.getFullYear(), secondDate.getMonth(), secondDate.getDate());
3865 return Math.floor((secondUTC - firstUTC) / MS_PER_DAY);
3866 };
3867 exports.daysDiff = daysDiff;
3868
3869 /***/ }),
3870
3871 /***/ "../modules/ai/assets/js/editor/helpers/focus-out-listener.js":
3872 /*!********************************************************************!*\
3873 !*** ../modules/ai/assets/js/editor/helpers/focus-out-listener.js ***!
3874 \********************************************************************/
3875 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3876
3877 "use strict";
3878 /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js");
3879
3880
3881 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
3882 Object.defineProperty(exports, "__esModule", ({
3883 value: true
3884 }));
3885 exports.FocusOutListener = FocusOutListener;
3886 exports.useFocusOutListener = useFocusOutListener;
3887 var React = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
3888 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); }
3889 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; }
3890 function FocusOutListener(_ref) {
3891 var children = _ref.children,
3892 listener = _ref.listener,
3893 onFocusOut = _ref.onFocusOut;
3894 var indicatorRef = listener.indicatorRef,
3895 reset = listener.reset,
3896 remove = listener.remove,
3897 runAction = listener.runAction;
3898 React.useEffect(function () {
3899 reset();
3900 return remove();
3901 }, []);
3902 return /*#__PURE__*/React.createElement(React.Fragment, null, children, /*#__PURE__*/React.createElement("input", {
3903 style: {
3904 width: 0,
3905 height: 0,
3906 padding: 0,
3907 margin: 0,
3908 outline: 0,
3909 border: 0,
3910 opacity: 0,
3911 position: 'fixed'
3912 },
3913 onFocus: remove,
3914 onBlur: function onBlur() {
3915 return runAction(onFocusOut);
3916 },
3917 ref: indicatorRef
3918 }));
3919 }
3920 function useFocusOutListener() {
3921 var focusOutTimeout = React.useRef(null);
3922 var indicatorRef = React.useRef(null);
3923 var reset = function reset() {
3924 var _indicatorRef$current;
3925 return (_indicatorRef$current = indicatorRef.current) === null || _indicatorRef$current === void 0 ? void 0 : _indicatorRef$current.focus();
3926 };
3927 var remove = function remove() {
3928 return clearTimeout(focusOutTimeout.current);
3929 };
3930 var runAction = function runAction(callback) {
3931 focusOutTimeout.current = setTimeout(callback, 250);
3932 };
3933 return {
3934 indicatorRef: indicatorRef,
3935 reset: reset,
3936 remove: remove,
3937 runAction: runAction
3938 };
3939 }
3940 FocusOutListener.propTypes = {
3941 children: PropTypes.node,
3942 listener: PropTypes.object,
3943 onFocusOut: PropTypes.func
3944 };
3945
3946 /***/ }),
3947
3948 /***/ "../modules/ai/assets/js/editor/helpers/index.js":
3949 /*!*******************************************************!*\
3950 !*** ../modules/ai/assets/js/editor/helpers/index.js ***!
3951 \*******************************************************/
3952 /***/ ((__unused_webpack_module, exports) => {
3953
3954 "use strict";
3955
3956
3957 Object.defineProperty(exports, "__esModule", ({
3958 value: true
3959 }));
3960 exports.vh = void 0;
3961 var vh = function vh(value) {
3962 var h = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);
3963 return value * h / 100;
3964 };
3965 exports.vh = vh;
3966
3967 /***/ }),
3968
3969 /***/ "../modules/ai/assets/js/editor/hooks/use-code-prompt.js":
3970 /*!***************************************************************!*\
3971 !*** ../modules/ai/assets/js/editor/hooks/use-code-prompt.js ***!
3972 \***************************************************************/
3973 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3974
3975 "use strict";
3976
3977
3978 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3979 Object.defineProperty(exports, "__esModule", ({
3980 value: true
3981 }));
3982 exports["default"] = void 0;
3983 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
3984 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
3985 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
3986 var _api = __webpack_require__(/*! ../api */ "../modules/ai/assets/js/editor/api/index.js");
3987 var _usePrompt = _interopRequireDefault(__webpack_require__(/*! ./use-prompt */ "../modules/ai/assets/js/editor/hooks/use-prompt.js"));
3988 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; }
3989 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; }
3990 var getCodeResult = /*#__PURE__*/function () {
3991 var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(payload, _ref) {
3992 var codeLanguage, htmlMarkup, elementId;
3993 return _regenerator.default.wrap(function _callee$(_context) {
3994 while (1) switch (_context.prev = _context.next) {
3995 case 0:
3996 codeLanguage = _ref.codeLanguage, htmlMarkup = _ref.htmlMarkup, elementId = _ref.elementId;
3997 if (!('css' === codeLanguage)) {
3998 _context.next = 3;
3999 break;
4000 }
4001 return _context.abrupt("return", (0, _api.getCustomCSS)(_objectSpread(_objectSpread({}, payload), {}, {
4002 html_markup: htmlMarkup,
4003 element_id: elementId
4004 })));
4005 case 3:
4006 return _context.abrupt("return", (0, _api.getCustomCode)(_objectSpread(_objectSpread({}, payload), {}, {
4007 language: codeLanguage
4008 })));
4009 case 4:
4010 case "end":
4011 return _context.stop();
4012 }
4013 }, _callee);
4014 }));
4015 return function getCodeResult(_x, _x2) {
4016 return _ref2.apply(this, arguments);
4017 };
4018 }();
4019 var useCodePrompt = function useCodePrompt(_ref3) {
4020 var codeLanguage = _ref3.codeLanguage,
4021 htmlMarkup = _ref3.htmlMarkup,
4022 elementId = _ref3.elementId,
4023 credits = _ref3.initialCredits;
4024 var promptData = (0, _usePrompt.default)(function (payload) {
4025 return getCodeResult(payload, {
4026 codeLanguage: codeLanguage,
4027 htmlMarkup: htmlMarkup,
4028 elementId: elementId
4029 });
4030 }, {
4031 credits: credits
4032 });
4033 return promptData;
4034 };
4035 var _default = useCodePrompt;
4036 exports["default"] = _default;
4037
4038 /***/ }),
4039
4040 /***/ "../modules/ai/assets/js/editor/hooks/use-delete-prompt-history-item.js":
4041 /*!******************************************************************************!*\
4042 !*** ../modules/ai/assets/js/editor/hooks/use-delete-prompt-history-item.js ***!
4043 \******************************************************************************/
4044 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4045
4046 "use strict";
4047
4048
4049 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4050 Object.defineProperty(exports, "__esModule", ({
4051 value: true
4052 }));
4053 exports["default"] = void 0;
4054 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
4055 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
4056 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
4057 var _react = __webpack_require__(/*! react */ "react");
4058 var _api = __webpack_require__(/*! ../api */ "../modules/ai/assets/js/editor/api/index.js");
4059 var useDeletePromptHistoryItem = function useDeletePromptHistoryItem() {
4060 var _useState = (0, _react.useState)(false),
4061 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
4062 isLoading = _useState2[0],
4063 setIsLoading = _useState2[1];
4064 var _useState3 = (0, _react.useState)(''),
4065 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
4066 error = _useState4[0],
4067 setError = _useState4[1];
4068 var deleteItem = /*#__PURE__*/function () {
4069 var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(id) {
4070 return _regenerator.default.wrap(function _callee$(_context) {
4071 while (1) switch (_context.prev = _context.next) {
4072 case 0:
4073 return _context.abrupt("return", new Promise(function (resolve, reject) {
4074 setError('');
4075 setIsLoading(true);
4076 (0, _api.deleteHistoryItem)(id).then(function () {
4077 resolve(true);
4078 }).catch(function (err) {
4079 var finalError = (err === null || err === void 0 ? void 0 : err.responseText) || err;
4080 setError(finalError);
4081 reject(finalError);
4082 }).finally(function () {
4083 return setIsLoading(false);
4084 });
4085 }));
4086 case 1:
4087 case "end":
4088 return _context.stop();
4089 }
4090 }, _callee);
4091 }));
4092 return function deleteItem(_x) {
4093 return _ref.apply(this, arguments);
4094 };
4095 }();
4096 return {
4097 isLoading: isLoading,
4098 error: error,
4099 deleteItem: deleteItem
4100 };
4101 };
4102 var _default = useDeletePromptHistoryItem;
4103 exports["default"] = _default;
4104
4105 /***/ }),
4106
4107 /***/ "../modules/ai/assets/js/editor/hooks/use-image-navigation.js":
4108 /*!********************************************************************!*\
4109 !*** ../modules/ai/assets/js/editor/hooks/use-image-navigation.js ***!
4110 \********************************************************************/
4111 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4112
4113 "use strict";
4114
4115
4116 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4117 Object.defineProperty(exports, "__esModule", ({
4118 value: true
4119 }));
4120 exports["default"] = void 0;
4121 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
4122 var _react = __webpack_require__(/*! react */ "react");
4123 var initialIndex = -1;
4124 var useImageNavigation = function useImageNavigation(images) {
4125 var _useState = (0, _react.useState)(initialIndex),
4126 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
4127 zoomIndex = _useState2[0],
4128 setZoomIndex = _useState2[1];
4129 var actions = {
4130 reset: function reset() {
4131 return setZoomIndex(initialIndex);
4132 },
4133 prev: function prev() {
4134 var prevImage = zoomIndex + 1;
4135 if (prevImage >= images.length) {
4136 prevImage = 0;
4137 }
4138 setZoomIndex(prevImage);
4139 },
4140 next: function next() {
4141 var nextImage = zoomIndex - 1;
4142 if (nextImage < 0) {
4143 nextImage = images.length - 1;
4144 }
4145 setZoomIndex(nextImage);
4146 }
4147 };
4148 return {
4149 zoomIndex: zoomIndex,
4150 setZoomIndex: setZoomIndex,
4151 actions: actions
4152 };
4153 };
4154 var _default = useImageNavigation;
4155 exports["default"] = _default;
4156
4157 /***/ }),
4158
4159 /***/ "../modules/ai/assets/js/editor/hooks/use-images-preload.js":
4160 /*!******************************************************************!*\
4161 !*** ../modules/ai/assets/js/editor/hooks/use-images-preload.js ***!
4162 \******************************************************************/
4163 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4164
4165 "use strict";
4166
4167
4168 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4169 Object.defineProperty(exports, "__esModule", ({
4170 value: true
4171 }));
4172 exports["default"] = void 0;
4173 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
4174 var _react = __webpack_require__(/*! react */ "react");
4175 var loadImage = function loadImage(url) {
4176 return new Promise(function (resolve, reject) {
4177 var loadImg = new Image();
4178 loadImg.src = url;
4179 loadImg.onload = function () {
4180 return resolve(url);
4181 };
4182 loadImg.onerror = function (err) {
4183 return reject(err);
4184 };
4185 });
4186 };
4187 var useImagesPreload = function useImagesPreload() {
4188 var _useState = (0, _react.useState)(false),
4189 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
4190 ready = _useState2[0],
4191 setReady = _useState2[1];
4192 var preloadImages = function preloadImages(images) {
4193 setReady(false);
4194 Promise.all(images.map(function (url) {
4195 return loadImage(url);
4196 })).then(function () {
4197 return setReady(true);
4198 })
4199 // eslint-disable-next-line no-console
4200 .catch(function (err) {
4201 return console.log('Failed to load images', err);
4202 }); // Todo error better handling
4203 };
4204
4205 return {
4206 ready: ready,
4207 preloadImages: preloadImages
4208 };
4209 };
4210 var _default = useImagesPreload;
4211 exports["default"] = _default;
4212
4213 /***/ }),
4214
4215 /***/ "../modules/ai/assets/js/editor/hooks/use-introduction.js":
4216 /*!****************************************************************!*\
4217 !*** ../modules/ai/assets/js/editor/hooks/use-introduction.js ***!
4218 \****************************************************************/
4219 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4220
4221 "use strict";
4222
4223
4224 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4225 Object.defineProperty(exports, "__esModule", ({
4226 value: true
4227 }));
4228 exports["default"] = useIntroduction;
4229 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
4230 var _react = __webpack_require__(/*! react */ "react");
4231 function useIntroduction(key) {
4232 var _window$elementor$con, _window$elementorAdmi, _window$elementorAdmi2, _globalConfig$introdu;
4233 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;
4234 var _useState = (0, _react.useState)(!!(globalConfig !== null && globalConfig !== void 0 && (_globalConfig$introdu = globalConfig.introduction) !== null && _globalConfig$introdu !== void 0 && _globalConfig$introdu[key])),
4235 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
4236 isViewed = _useState2[0],
4237 setIsViewed = _useState2[1];
4238 function markAsViewed() {
4239 if (!key) {
4240 return Promise.reject();
4241 }
4242 return new Promise(function (resolve, reject) {
4243 if (isViewed) {
4244 reject();
4245 }
4246 setIsViewed(true);
4247 elementorCommon.ajax.addRequest('introduction_viewed', {
4248 data: {
4249 introductionKey: key
4250 },
4251 error: function error() {
4252 setIsViewed(false);
4253 reject();
4254 },
4255 success: function success() {
4256 setIsViewed(true);
4257 if (globalConfig !== null && globalConfig !== void 0 && globalConfig.introduction) {
4258 globalConfig.introduction[key] = true;
4259 }
4260 resolve();
4261 }
4262 });
4263 });
4264 }
4265 return {
4266 isViewed: isViewed,
4267 markAsViewed: markAsViewed
4268 };
4269 }
4270
4271 /***/ }),
4272
4273 /***/ "../modules/ai/assets/js/editor/hooks/use-prompt-enhancer.js":
4274 /*!*******************************************************************!*\
4275 !*** ../modules/ai/assets/js/editor/hooks/use-prompt-enhancer.js ***!
4276 \*******************************************************************/
4277 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4278
4279 "use strict";
4280
4281
4282 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4283 Object.defineProperty(exports, "__esModule", ({
4284 value: true
4285 }));
4286 exports["default"] = void 0;
4287 var _api = __webpack_require__(/*! ../api */ "../modules/ai/assets/js/editor/api/index.js");
4288 var _usePrompt2 = _interopRequireDefault(__webpack_require__(/*! ./use-prompt */ "../modules/ai/assets/js/editor/hooks/use-prompt.js"));
4289 var _config = __webpack_require__(/*! ../pages/form-layout/context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
4290 var enhancePromptMap = new Map([['media', _api.getImagePromptEnhanced], ['layout', _api.getLayoutPromptEnhanced]]);
4291 var getResult = function getResult(prompt, type, enhanceType) {
4292 if (!enhancePromptMap.has(type)) {
4293 throw new Error("Invalid prompt type: ".concat(type));
4294 }
4295 return enhancePromptMap.get(type)(prompt, enhanceType);
4296 };
4297
4298 /**
4299 * Hook to enhance a prompt.
4300 *
4301 * @param {string} prompt
4302 * @param {'media' | 'layout'} type
4303 * @return {{enhancedPrompt: string | undefined, isEnhancing: boolean, enhance: (function(...[*]): Promise)}}
4304 */
4305 var usePromptEnhancer = function usePromptEnhancer(prompt, type) {
4306 var _useConfig = (0, _config.useConfig)(),
4307 mode = _useConfig.mode;
4308 var _usePrompt = (0, _usePrompt2.default)(function () {
4309 return getResult(prompt, type, mode);
4310 }, prompt),
4311 enhancedData = _usePrompt.data,
4312 isEnhancing = _usePrompt.isLoading,
4313 enhance = _usePrompt.send;
4314 return {
4315 enhance: enhance,
4316 isEnhancing: isEnhancing,
4317 enhancedPrompt: enhancedData === null || enhancedData === void 0 ? void 0 : enhancedData.result
4318 };
4319 };
4320 var _default = usePromptEnhancer;
4321 exports["default"] = _default;
4322
4323 /***/ }),
4324
4325 /***/ "../modules/ai/assets/js/editor/hooks/use-prompt-history.js":
4326 /*!******************************************************************!*\
4327 !*** ../modules/ai/assets/js/editor/hooks/use-prompt-history.js ***!
4328 \******************************************************************/
4329 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4330
4331 "use strict";
4332
4333
4334 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4335 Object.defineProperty(exports, "__esModule", ({
4336 value: true
4337 }));
4338 exports["default"] = void 0;
4339 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
4340 var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "../node_modules/@babel/runtime/helpers/toConsumableArray.js"));
4341 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
4342 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
4343 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
4344 var _react = __webpack_require__(/*! react */ "react");
4345 var _api = __webpack_require__(/*! ../api */ "../modules/ai/assets/js/editor/api/index.js");
4346 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; }
4347 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; }
4348 var getImageThumbnailURL = function getImageThumbnailURL(base, imageURL) {
4349 if (!base) {
4350 return imageURL;
4351 }
4352 return "".concat(base, "/?o=").concat(btoa(imageURL, false));
4353 };
4354 var normalizeItems = function normalizeItems(response) {
4355 var meta = response.meta,
4356 items = response.items;
4357 return items === null || items === void 0 ? void 0 : items.map(function (item) {
4358 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;
4359 return {
4360 id: item === null || item === void 0 ? void 0 : item.elementorApiId,
4361 date: item === null || item === void 0 ? void 0 : item.createdAt,
4362 action: item === null || item === void 0 ? void 0 : item.action,
4363 prompt: item === null || item === void 0 ? void 0 : (_item$request = item.request) === null || _item$request === void 0 ? void 0 : _item$request.prompt,
4364 imageType: item === null || item === void 0 ? void 0 : (_item$request2 = item.request) === null || _item$request2 === void 0 ? void 0 : _item$request2.image_type,
4365 ratio: item === null || item === void 0 ? void 0 : (_item$request3 = item.request) === null || _item$request3 === void 0 ? void 0 : _item$request3.ratio,
4366 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,
4367 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,
4368 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) {
4369 return _objectSpread(_objectSpread({}, image), {}, {
4370 image_url: getImageThumbnailURL(meta.thumbnailUrl, image.image_url)
4371 });
4372 })
4373 };
4374 });
4375 };
4376 var usePromptHistory = function usePromptHistory(historyType) {
4377 var _useState = (0, _react.useState)(false),
4378 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
4379 isLoading = _useState2[0],
4380 setIsLoading = _useState2[1];
4381 var _useState3 = (0, _react.useState)({}),
4382 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
4383 data = _useState4[0],
4384 setData = _useState4[1];
4385 var _useState5 = (0, _react.useState)(''),
4386 _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
4387 error = _useState6[0],
4388 setError = _useState6[1];
4389 var fetchData = /*#__PURE__*/function () {
4390 var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(_ref) {
4391 var page, limit;
4392 return _regenerator.default.wrap(function _callee$(_context) {
4393 while (1) switch (_context.prev = _context.next) {
4394 case 0:
4395 page = _ref.page, limit = _ref.limit;
4396 return _context.abrupt("return", new Promise(function (resolve, reject) {
4397 setIsLoading(true);
4398 (0, _api.getHistory)(historyType, page, limit).then(function (response) {
4399 var clone = JSON.parse(JSON.stringify(data));
4400 clone.meta = response.meta;
4401 clone.items = [].concat((0, _toConsumableArray2.default)((clone === null || clone === void 0 ? void 0 : clone.items) || []), (0, _toConsumableArray2.default)(normalizeItems(response)));
4402 setData(clone);
4403 resolve(true);
4404 }).catch(function (err) {
4405 var finalError = (err === null || err === void 0 ? void 0 : err.responseText) || err;
4406 setError(finalError);
4407 reject(finalError);
4408 }).finally(function () {
4409 return setIsLoading(false);
4410 });
4411 }));
4412 case 2:
4413 case "end":
4414 return _context.stop();
4415 }
4416 }, _callee);
4417 }));
4418 return function fetchData(_x) {
4419 return _ref2.apply(this, arguments);
4420 };
4421 }();
4422 var deleteItemById = function deleteItemById(id) {
4423 var itemIndex = data.items.findIndex(function (item) {
4424 return item.id === id;
4425 });
4426 if (-1 === itemIndex) {
4427 return false;
4428 }
4429 var clone = JSON.parse(JSON.stringify(data));
4430 clone.items.splice(itemIndex, 1);
4431 setData(clone);
4432 return true;
4433 };
4434 return {
4435 isLoading: isLoading,
4436 error: error,
4437 items: data.items,
4438 meta: data.meta,
4439 fetchData: fetchData,
4440 deleteItemById: deleteItemById
4441 };
4442 };
4443 var _default = usePromptHistory;
4444 exports["default"] = _default;
4445
4446 /***/ }),
4447
4448 /***/ "../modules/ai/assets/js/editor/hooks/use-prompt.js":
4449 /*!**********************************************************!*\
4450 !*** ../modules/ai/assets/js/editor/hooks/use-prompt.js ***!
4451 \**********************************************************/
4452 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4453
4454 "use strict";
4455
4456
4457 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4458 Object.defineProperty(exports, "__esModule", ({
4459 value: true
4460 }));
4461 exports["default"] = void 0;
4462 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
4463 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
4464 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
4465 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
4466 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
4467 var _react = __webpack_require__(/*! react */ "react");
4468 var _api = __webpack_require__(/*! ../api */ "../modules/ai/assets/js/editor/api/index.js");
4469 var _requestsIds = __webpack_require__(/*! ../context/requests-ids */ "../modules/ai/assets/js/editor/context/requests-ids.js");
4470 var _excluded = ["text", "response_id", "usage", "images"];
4471 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; }
4472 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; }
4473 var normalizeResponse = function normalizeResponse(_ref) {
4474 var text = _ref.text,
4475 responseId = _ref.response_id,
4476 usage = _ref.usage,
4477 images = _ref.images,
4478 optional = (0, _objectWithoutProperties2.default)(_ref, _excluded);
4479 var creditsData = usage ? usage.quota - usage.usedQuota : 0;
4480 var credits = Math.max(creditsData, 0);
4481 var result = text || images;
4482 var normalized = {
4483 result: result,
4484 responseId: responseId,
4485 credits: credits
4486 };
4487 if (optional.base_template_id) {
4488 normalized.baseTemplateId = optional.base_template_id;
4489 }
4490 normalized.type = optional.template_type;
4491 return normalized;
4492 };
4493 var usePrompt = function usePrompt(fetchData, initialState) {
4494 var _useState = (0, _react.useState)(false),
4495 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
4496 isLoading = _useState2[0],
4497 setIsLoading = _useState2[1];
4498 var _useState3 = (0, _react.useState)(''),
4499 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
4500 error = _useState4[0],
4501 setError = _useState4[1];
4502 var _useState5 = (0, _react.useState)(initialState),
4503 _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
4504 data = _useState6[0],
4505 setData = _useState6[1];
4506 var _useRequestIds = (0, _requestsIds.useRequestIds)(),
4507 setRequest = _useRequestIds.setRequest,
4508 editorSessionId = _useRequestIds.editorSessionId,
4509 sessionId = _useRequestIds.sessionId,
4510 generateId = _useRequestIds.generateId,
4511 batchId = _useRequestIds.batchId;
4512 var send = /*#__PURE__*/function () {
4513 var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(payload) {
4514 return _regenerator.default.wrap(function _callee$(_context) {
4515 while (1) switch (_context.prev = _context.next) {
4516 case 0:
4517 return _context.abrupt("return", new Promise(function (resolve, reject) {
4518 setError('');
4519 setIsLoading(true);
4520 var requestId = setRequest();
4521 var requestIds = {
4522 editorSessionId: editorSessionId.current,
4523 sessionId: sessionId.current,
4524 generateId: generateId.current,
4525 batchId: batchId.current,
4526 requestId: requestId.current
4527 };
4528 payload = _objectSpread(_objectSpread({}, payload), {}, {
4529 requestIds: requestIds
4530 });
4531 fetchData(payload).then(function (result) {
4532 var normalizedData = normalizeResponse(result);
4533 setData(normalizedData);
4534 resolve(normalizedData);
4535 }).catch(function (err) {
4536 var finalError = (err === null || err === void 0 ? void 0 : err.responseText) || err;
4537 setError(finalError);
4538 reject(finalError);
4539 }).finally(function () {
4540 return setIsLoading(false);
4541 });
4542 }));
4543 case 1:
4544 case "end":
4545 return _context.stop();
4546 }
4547 }, _callee);
4548 }));
4549 return function send(_x) {
4550 return _ref2.apply(this, arguments);
4551 };
4552 }();
4553 var sendUsageData = function sendUsageData() {
4554 var usageData = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : data;
4555 return usageData.responseId && (0, _api.setStatusFeedback)(usageData.responseId);
4556 };
4557 var reset = function reset() {
4558 setData(function (_ref3) {
4559 var credits = _ref3.credits;
4560 return {
4561 credits: credits,
4562 result: '',
4563 responseId: ''
4564 };
4565 });
4566 setError('');
4567 setIsLoading(false);
4568 };
4569 var setResult = function setResult(result) {
4570 var responseId = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
4571 var updatedResult = _objectSpread({}, data);
4572 updatedResult.result = result;
4573 if (responseId) {
4574 updatedResult.responseId = responseId;
4575 }
4576 setData(updatedResult);
4577 };
4578 return {
4579 isLoading: isLoading,
4580 error: error,
4581 data: data,
4582 setResult: setResult,
4583 reset: reset,
4584 send: send,
4585 sendUsageData: sendUsageData
4586 };
4587 };
4588 var _default = usePrompt;
4589 exports["default"] = _default;
4590
4591 /***/ }),
4592
4593 /***/ "../modules/ai/assets/js/editor/hooks/use-text-prompt.js":
4594 /*!***************************************************************!*\
4595 !*** ../modules/ai/assets/js/editor/hooks/use-text-prompt.js ***!
4596 \***************************************************************/
4597 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4598
4599 "use strict";
4600
4601
4602 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4603 Object.defineProperty(exports, "__esModule", ({
4604 value: true
4605 }));
4606 exports["default"] = void 0;
4607 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
4608 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
4609 var _api = __webpack_require__(/*! ../api */ "../modules/ai/assets/js/editor/api/index.js");
4610 var _usePrompt = _interopRequireDefault(__webpack_require__(/*! ./use-prompt */ "../modules/ai/assets/js/editor/hooks/use-prompt.js"));
4611 var getTextResult = /*#__PURE__*/function () {
4612 var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(payload) {
4613 return _regenerator.default.wrap(function _callee$(_context) {
4614 while (1) switch (_context.prev = _context.next) {
4615 case 0:
4616 if (!(payload !== null && payload !== void 0 && payload.instruction)) {
4617 _context.next = 2;
4618 break;
4619 }
4620 return _context.abrupt("return", (0, _api.getEditText)(payload));
4621 case 2:
4622 return _context.abrupt("return", (0, _api.getCompletionText)(payload));
4623 case 3:
4624 case "end":
4625 return _context.stop();
4626 }
4627 }, _callee);
4628 }));
4629 return function getTextResult(_x) {
4630 return _ref.apply(this, arguments);
4631 };
4632 }();
4633 var useTextPrompt = function useTextPrompt(initialValue) {
4634 var promptData = (0, _usePrompt.default)(getTextResult, initialValue);
4635 return promptData;
4636 };
4637 var _default = useTextPrompt;
4638 exports["default"] = _default;
4639
4640 /***/ }),
4641
4642 /***/ "../modules/ai/assets/js/editor/hooks/use-upgrade-message.js":
4643 /*!*******************************************************************!*\
4644 !*** ../modules/ai/assets/js/editor/hooks/use-upgrade-message.js ***!
4645 \*******************************************************************/
4646 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4647
4648 "use strict";
4649
4650
4651 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4652 Object.defineProperty(exports, "__esModule", ({
4653 value: true
4654 }));
4655 exports["default"] = exports.USAGE_PERCENTAGE_THRESHOLD = void 0;
4656 var _useIntroduction2 = _interopRequireDefault(__webpack_require__(/*! ./use-introduction */ "../modules/ai/assets/js/editor/hooks/use-introduction.js"));
4657 var USAGE_PERCENTAGE_THRESHOLD = 80;
4658 exports.USAGE_PERCENTAGE_THRESHOLD = USAGE_PERCENTAGE_THRESHOLD;
4659 var useUpgradeMessage = function useUpgradeMessage(_ref) {
4660 var usagePercentage = _ref.usagePercentage,
4661 hasSubscription = _ref.hasSubscription;
4662 var _useIntroduction = (0, _useIntroduction2.default)('e-ai-upgrade-message'),
4663 isBannerViewed = _useIntroduction.isViewed,
4664 markBannerAsViewed = _useIntroduction.markAsViewed;
4665 var isFreeUser = !hasSubscription;
4666 var isBelowThreshold = usagePercentage < USAGE_PERCENTAGE_THRESHOLD;
4667 var isAboveThreshold = usagePercentage >= USAGE_PERCENTAGE_THRESHOLD;
4668 var showBadge = isAboveThreshold || isFreeUser && isBannerViewed;
4669 var showBanner = !isBannerViewed && isFreeUser && isBelowThreshold;
4670 return {
4671 showBadge: showBadge,
4672 showBanner: showBanner,
4673 markBannerAsViewed: markBannerAsViewed
4674 };
4675 };
4676 var _default = useUpgradeMessage;
4677 exports["default"] = _default;
4678
4679 /***/ }),
4680
4681 /***/ "../modules/ai/assets/js/editor/hooks/use-user-info.js":
4682 /*!*************************************************************!*\
4683 !*** ../modules/ai/assets/js/editor/hooks/use-user-info.js ***!
4684 \*************************************************************/
4685 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4686
4687 "use strict";
4688
4689
4690 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4691 Object.defineProperty(exports, "__esModule", ({
4692 value: true
4693 }));
4694 exports["default"] = void 0;
4695 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
4696 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
4697 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
4698 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
4699 var _react = __webpack_require__(/*! react */ "react");
4700 var _api = __webpack_require__(/*! ../api */ "../modules/ai/assets/js/editor/api/index.js");
4701 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; }
4702 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; }
4703 var useUserInfo = function useUserInfo() {
4704 var _useState = (0, _react.useState)(false),
4705 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
4706 isLoaded = _useState2[0],
4707 setIsLoaded = _useState2[1];
4708 var _useState3 = (0, _react.useState)(false),
4709 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
4710 isLoading = _useState4[0],
4711 setIsLoading = _useState4[1];
4712 var _useState5 = (0, _react.useState)({
4713 is_connected: false,
4714 is_get_started: false,
4715 connect_url: '',
4716 usage: {
4717 hasAiSubscription: false,
4718 quota: 0,
4719 usedQuota: 0
4720 }
4721 }),
4722 _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
4723 userInfo = _useState6[0],
4724 setUserInfo = _useState6[1];
4725 var credits = userInfo.usage.quota - userInfo.usage.usedQuota;
4726 var usagePercentage = userInfo.usage.usedQuota / userInfo.usage.quota * 100;
4727 var fetchData = /*#__PURE__*/function () {
4728 var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
4729 var userInfoResult;
4730 return _regenerator.default.wrap(function _callee$(_context) {
4731 while (1) switch (_context.prev = _context.next) {
4732 case 0:
4733 setIsLoading(true);
4734 _context.next = 3;
4735 return (0, _api.getUserInformation)();
4736 case 3:
4737 userInfoResult = _context.sent;
4738 setUserInfo(function (prevState) {
4739 return _objectSpread(_objectSpread({}, prevState), userInfoResult);
4740 });
4741 setIsLoaded(true);
4742 setIsLoading(false);
4743 case 7:
4744 case "end":
4745 return _context.stop();
4746 }
4747 }, _callee);
4748 }));
4749 return function fetchData() {
4750 return _ref.apply(this, arguments);
4751 };
4752 }();
4753 if (!isLoaded && !isLoading) {
4754 fetchData();
4755 }
4756 return {
4757 isLoading: isLoading,
4758 isLoaded: isLoaded,
4759 isConnected: userInfo.is_connected,
4760 isGetStarted: userInfo.is_get_started,
4761 connectUrl: userInfo.connect_url,
4762 builderUrl: userInfo.usage.builderUrl,
4763 hasSubscription: userInfo.usage.hasAiSubscription,
4764 credits: credits < 0 ? 0 : credits,
4765 usagePercentage: Math.round(usagePercentage),
4766 fetchData: fetchData
4767 };
4768 };
4769 var _default = useUserInfo;
4770 exports["default"] = _default;
4771
4772 /***/ }),
4773
4774 /***/ "../modules/ai/assets/js/editor/icons/brush-icon.js":
4775 /*!**********************************************************!*\
4776 !*** ../modules/ai/assets/js/editor/icons/brush-icon.js ***!
4777 \**********************************************************/
4778 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4779
4780 "use strict";
4781
4782
4783 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4784 Object.defineProperty(exports, "__esModule", ({
4785 value: true
4786 }));
4787 exports["default"] = void 0;
4788 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
4789 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4790 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4791 var BrushIcon = _react.default.forwardRef(function (props, ref) {
4792 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
4793 viewBox: "0 0 24 24"
4794 }, props, {
4795 ref: ref
4796 }), /*#__PURE__*/_react.default.createElement("path", {
4797 fillRule: "evenodd",
4798 clipRule: "evenodd",
4799 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"
4800 }));
4801 });
4802 var _default = BrushIcon;
4803 exports["default"] = _default;
4804
4805 /***/ }),
4806
4807 /***/ "../modules/ai/assets/js/editor/icons/bulb-icon.js":
4808 /*!*********************************************************!*\
4809 !*** ../modules/ai/assets/js/editor/icons/bulb-icon.js ***!
4810 \*********************************************************/
4811 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4812
4813 "use strict";
4814
4815
4816 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4817 Object.defineProperty(exports, "__esModule", ({
4818 value: true
4819 }));
4820 exports["default"] = void 0;
4821 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
4822 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4823 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4824 var BulbIcon = _react.default.forwardRef(function (props, ref) {
4825 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({}, props, {
4826 ref: ref
4827 }), /*#__PURE__*/_react.default.createElement("svg", {
4828 width: "22",
4829 height: "22",
4830 viewBox: "0 0 22 22",
4831 fill: "none",
4832 xmlns: "http://www.w3.org/2000/svg"
4833 }, /*#__PURE__*/_react.default.createElement("g", {
4834 clipPath: "url(#clip0_10743_8902)"
4835 }, /*#__PURE__*/_react.default.createElement("path", {
4836 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",
4837 stroke: "#2563EB",
4838 strokeWidth: "1.5",
4839 strokeLinecap: "round",
4840 strokeLinejoin: "round"
4841 }), /*#__PURE__*/_react.default.createElement("path", {
4842 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",
4843 stroke: "#2563EB",
4844 strokeWidth: "1.5",
4845 strokeLinecap: "round",
4846 strokeLinejoin: "round"
4847 }), /*#__PURE__*/_react.default.createElement("path", {
4848 d: "M10.0833 16.5H11.9166",
4849 stroke: "#2563EB",
4850 strokeWidth: "1.5",
4851 strokeLinecap: "round",
4852 strokeLinejoin: "round"
4853 })), /*#__PURE__*/_react.default.createElement("defs", null, /*#__PURE__*/_react.default.createElement("clipPath", {
4854 id: "clip0_10743_8902"
4855 }, /*#__PURE__*/_react.default.createElement("rect", {
4856 width: "22",
4857 height: "22",
4858 fill: "white"
4859 })))));
4860 });
4861 var _default = BulbIcon;
4862 exports["default"] = _default;
4863
4864 /***/ }),
4865
4866 /***/ "../modules/ai/assets/js/editor/icons/chevron-left-icon.js":
4867 /*!*****************************************************************!*\
4868 !*** ../modules/ai/assets/js/editor/icons/chevron-left-icon.js ***!
4869 \*****************************************************************/
4870 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4871
4872 "use strict";
4873
4874
4875 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4876 Object.defineProperty(exports, "__esModule", ({
4877 value: true
4878 }));
4879 exports["default"] = void 0;
4880 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
4881 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4882 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4883 var ChevronLeftIcon = _react.default.forwardRef(function (props, ref) {
4884 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
4885 viewBox: "0 0 24 24"
4886 }, props, {
4887 ref: ref
4888 }), /*#__PURE__*/_react.default.createElement("path", {
4889 fillRule: "evenodd",
4890 clipRule: "evenodd",
4891 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"
4892 }));
4893 });
4894 var _default = ChevronLeftIcon;
4895 exports["default"] = _default;
4896
4897 /***/ }),
4898
4899 /***/ "../modules/ai/assets/js/editor/icons/chevron-right-icon.js":
4900 /*!******************************************************************!*\
4901 !*** ../modules/ai/assets/js/editor/icons/chevron-right-icon.js ***!
4902 \******************************************************************/
4903 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4904
4905 "use strict";
4906
4907
4908 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4909 Object.defineProperty(exports, "__esModule", ({
4910 value: true
4911 }));
4912 exports["default"] = void 0;
4913 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
4914 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4915 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4916 var ChevronRightIcon = _react.default.forwardRef(function (props, ref) {
4917 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
4918 viewBox: "0 0 24 24"
4919 }, props, {
4920 ref: ref
4921 }), /*#__PURE__*/_react.default.createElement("path", {
4922 fillRule: "evenodd",
4923 clipRule: "evenodd",
4924 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"
4925 }));
4926 });
4927 var _default = ChevronRightIcon;
4928 exports["default"] = _default;
4929
4930 /***/ }),
4931
4932 /***/ "../modules/ai/assets/js/editor/icons/code-icon.js":
4933 /*!*********************************************************!*\
4934 !*** ../modules/ai/assets/js/editor/icons/code-icon.js ***!
4935 \*********************************************************/
4936 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4937
4938 "use strict";
4939
4940
4941 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4942 Object.defineProperty(exports, "__esModule", ({
4943 value: true
4944 }));
4945 exports["default"] = void 0;
4946 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
4947 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4948 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4949 var CodeIcon = _react.default.forwardRef(function (props, ref) {
4950 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
4951 viewBox: "0 0 24 24"
4952 }, props, {
4953 ref: ref
4954 }), /*#__PURE__*/_react.default.createElement("path", {
4955 fillRule: "evenodd",
4956 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",
4957 clipRule: "evenodd"
4958 }));
4959 });
4960 var _default = CodeIcon;
4961 exports["default"] = _default;
4962
4963 /***/ }),
4964
4965 /***/ "../modules/ai/assets/js/editor/icons/copy-icon.js":
4966 /*!*********************************************************!*\
4967 !*** ../modules/ai/assets/js/editor/icons/copy-icon.js ***!
4968 \*********************************************************/
4969 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4970
4971 "use strict";
4972
4973
4974 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4975 Object.defineProperty(exports, "__esModule", ({
4976 value: true
4977 }));
4978 exports["default"] = void 0;
4979 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
4980 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4981 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4982 var CopyIcon = _react.default.forwardRef(function (props, ref) {
4983 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
4984 viewBox: "0 0 24 24"
4985 }, props, {
4986 ref: ref
4987 }), /*#__PURE__*/_react.default.createElement("path", {
4988 fillRule: "evenodd",
4989 clipRule: "evenodd",
4990 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"
4991 }), /*#__PURE__*/_react.default.createElement("path", {
4992 fillRule: "evenodd",
4993 clipRule: "evenodd",
4994 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"
4995 }));
4996 });
4997 var _default = CopyIcon;
4998 exports["default"] = _default;
4999
5000 /***/ }),
5001
5002 /***/ "../modules/ai/assets/js/editor/icons/download-icon.js":
5003 /*!*************************************************************!*\
5004 !*** ../modules/ai/assets/js/editor/icons/download-icon.js ***!
5005 \*************************************************************/
5006 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5007
5008 "use strict";
5009
5010
5011 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5012 Object.defineProperty(exports, "__esModule", ({
5013 value: true
5014 }));
5015 exports["default"] = void 0;
5016 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
5017 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
5018 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
5019 var DownloadIcon = _react.default.forwardRef(function (props, ref) {
5020 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
5021 viewBox: "0 0 24 24"
5022 }, props, {
5023 ref: ref
5024 }), /*#__PURE__*/_react.default.createElement("path", {
5025 fillRule: "evenodd",
5026 clipRule: "evenodd",
5027 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"
5028 }), /*#__PURE__*/_react.default.createElement("path", {
5029 fillRule: "evenodd",
5030 clipRule: "evenodd",
5031 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"
5032 }), /*#__PURE__*/_react.default.createElement("path", {
5033 fillRule: "evenodd",
5034 clipRule: "evenodd",
5035 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"
5036 }));
5037 });
5038 var _default = DownloadIcon;
5039 exports["default"] = _default;
5040
5041 /***/ }),
5042
5043 /***/ "../modules/ai/assets/js/editor/icons/edit-icon.js":
5044 /*!*********************************************************!*\
5045 !*** ../modules/ai/assets/js/editor/icons/edit-icon.js ***!
5046 \*********************************************************/
5047 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5048
5049 "use strict";
5050
5051
5052 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5053 Object.defineProperty(exports, "__esModule", ({
5054 value: true
5055 }));
5056 exports["default"] = void 0;
5057 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
5058 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
5059 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
5060 var EditIcon = _react.default.forwardRef(function (props, ref) {
5061 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
5062 viewBox: "0 0 24 24"
5063 }, props, {
5064 ref: ref
5065 }), /*#__PURE__*/_react.default.createElement("path", {
5066 fillRule: "evenodd",
5067 clipRule: "evenodd",
5068 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"
5069 }), /*#__PURE__*/_react.default.createElement("path", {
5070 fillRule: "evenodd",
5071 clipRule: "evenodd",
5072 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"
5073 }));
5074 });
5075 var _default = EditIcon;
5076 exports["default"] = _default;
5077
5078 /***/ }),
5079
5080 /***/ "../modules/ai/assets/js/editor/icons/enlarger-icon.js":
5081 /*!*************************************************************!*\
5082 !*** ../modules/ai/assets/js/editor/icons/enlarger-icon.js ***!
5083 \*************************************************************/
5084 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5085
5086 "use strict";
5087
5088
5089 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5090 Object.defineProperty(exports, "__esModule", ({
5091 value: true
5092 }));
5093 exports["default"] = void 0;
5094 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
5095 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
5096 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
5097 var ExpandIcon = _react.default.forwardRef(function (props, ref) {
5098 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
5099 viewBox: "0 0 24 24"
5100 }, props, {
5101 ref: ref
5102 }), /*#__PURE__*/_react.default.createElement("path", {
5103 fillRule: "evenodd",
5104 clipRule: "evenodd",
5105 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"
5106 }));
5107 });
5108 var _default = ExpandIcon;
5109 exports["default"] = _default;
5110
5111 /***/ }),
5112
5113 /***/ "../modules/ai/assets/js/editor/icons/evolve-icon.js":
5114 /*!***********************************************************!*\
5115 !*** ../modules/ai/assets/js/editor/icons/evolve-icon.js ***!
5116 \***********************************************************/
5117 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5118
5119 "use strict";
5120
5121
5122 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5123 Object.defineProperty(exports, "__esModule", ({
5124 value: true
5125 }));
5126 exports["default"] = void 0;
5127 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
5128 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
5129 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
5130 var EvolveIcon = _react.default.forwardRef(function (props, ref) {
5131 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
5132 viewBox: "0 0 24 24"
5133 }, props, {
5134 ref: ref
5135 }), /*#__PURE__*/_react.default.createElement("path", {
5136 fillRule: "evenodd",
5137 clipRule: "evenodd",
5138 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"
5139 }));
5140 });
5141 var _default = EvolveIcon;
5142 exports["default"] = _default;
5143
5144 /***/ }),
5145
5146 /***/ "../modules/ai/assets/js/editor/icons/expand-icon.js":
5147 /*!***********************************************************!*\
5148 !*** ../modules/ai/assets/js/editor/icons/expand-icon.js ***!
5149 \***********************************************************/
5150 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5151
5152 "use strict";
5153
5154
5155 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5156 Object.defineProperty(exports, "__esModule", ({
5157 value: true
5158 }));
5159 exports["default"] = void 0;
5160 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
5161 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
5162 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
5163 var ExpandIcon = _react.default.forwardRef(function (props, ref) {
5164 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
5165 viewBox: "0 0 24 24"
5166 }, props, {
5167 ref: ref
5168 }), /*#__PURE__*/_react.default.createElement("path", {
5169 fillRule: "evenodd",
5170 clipRule: "evenodd",
5171 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"
5172 }));
5173 });
5174 var _default = ExpandIcon;
5175 exports["default"] = _default;
5176
5177 /***/ }),
5178
5179 /***/ "../modules/ai/assets/js/editor/icons/redo-icon.js":
5180 /*!*********************************************************!*\
5181 !*** ../modules/ai/assets/js/editor/icons/redo-icon.js ***!
5182 \*********************************************************/
5183 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5184
5185 "use strict";
5186
5187
5188 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5189 Object.defineProperty(exports, "__esModule", ({
5190 value: true
5191 }));
5192 exports["default"] = void 0;
5193 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
5194 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
5195 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
5196 var RedoIcon = _react.default.forwardRef(function (props, ref) {
5197 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
5198 viewBox: "0 0 24 24"
5199 }, props, {
5200 ref: ref
5201 }), /*#__PURE__*/_react.default.createElement("path", {
5202 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"
5203 }));
5204 });
5205 var _default = RedoIcon;
5206 exports["default"] = _default;
5207
5208 /***/ }),
5209
5210 /***/ "../modules/ai/assets/js/editor/icons/refresh-icon.js":
5211 /*!************************************************************!*\
5212 !*** ../modules/ai/assets/js/editor/icons/refresh-icon.js ***!
5213 \************************************************************/
5214 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5215
5216 "use strict";
5217
5218
5219 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5220 Object.defineProperty(exports, "__esModule", ({
5221 value: true
5222 }));
5223 exports["default"] = void 0;
5224 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
5225 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
5226 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
5227 var RefreshIcon = _react.default.forwardRef(function (props, ref) {
5228 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
5229 viewBox: "0 0 24 24"
5230 }, props, {
5231 ref: ref
5232 }), /*#__PURE__*/_react.default.createElement("path", {
5233 fillRule: "evenodd",
5234 clipRule: "evenodd",
5235 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"
5236 }), /*#__PURE__*/_react.default.createElement("path", {
5237 fillRule: "evenodd",
5238 clipRule: "evenodd",
5239 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"
5240 }));
5241 });
5242 var _default = RefreshIcon;
5243 exports["default"] = _default;
5244
5245 /***/ }),
5246
5247 /***/ "../modules/ai/assets/js/editor/icons/remove-bg.js":
5248 /*!*********************************************************!*\
5249 !*** ../modules/ai/assets/js/editor/icons/remove-bg.js ***!
5250 \*********************************************************/
5251 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5252
5253 "use strict";
5254
5255
5256 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5257 Object.defineProperty(exports, "__esModule", ({
5258 value: true
5259 }));
5260 exports["default"] = void 0;
5261 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
5262 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
5263 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
5264 var RemoveBackgroundIcon = _react.default.forwardRef(function (props, ref) {
5265 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
5266 viewBox: "0 0 16 16"
5267 }, props, {
5268 ref: ref
5269 }), /*#__PURE__*/_react.default.createElement("path", {
5270 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"
5271 }), /*#__PURE__*/_react.default.createElement("path", {
5272 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"
5273 }), /*#__PURE__*/_react.default.createElement("path", {
5274 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"
5275 }), /*#__PURE__*/_react.default.createElement("path", {
5276 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"
5277 }), /*#__PURE__*/_react.default.createElement("path", {
5278 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"
5279 }), /*#__PURE__*/_react.default.createElement("path", {
5280 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"
5281 }), /*#__PURE__*/_react.default.createElement("path", {
5282 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"
5283 }), /*#__PURE__*/_react.default.createElement("path", {
5284 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"
5285 }), /*#__PURE__*/_react.default.createElement("path", {
5286 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"
5287 }), /*#__PURE__*/_react.default.createElement("path", {
5288 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"
5289 }), /*#__PURE__*/_react.default.createElement("path", {
5290 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"
5291 }));
5292 });
5293 var _default = RemoveBackgroundIcon;
5294 exports["default"] = _default;
5295
5296 /***/ }),
5297
5298 /***/ "../modules/ai/assets/js/editor/icons/replace-bg.js":
5299 /*!**********************************************************!*\
5300 !*** ../modules/ai/assets/js/editor/icons/replace-bg.js ***!
5301 \**********************************************************/
5302 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5303
5304 "use strict";
5305
5306
5307 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5308 Object.defineProperty(exports, "__esModule", ({
5309 value: true
5310 }));
5311 exports["default"] = void 0;
5312 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
5313 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
5314 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
5315 var ReplaceBackgroundIcon = _react.default.forwardRef(function (props, ref) {
5316 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
5317 viewBox: "0 0 16 16"
5318 }, props, {
5319 ref: ref
5320 }), /*#__PURE__*/_react.default.createElement("path", {
5321 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"
5322 }), /*#__PURE__*/_react.default.createElement("path", {
5323 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"
5324 }), /*#__PURE__*/_react.default.createElement("path", {
5325 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"
5326 }), /*#__PURE__*/_react.default.createElement("path", {
5327 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"
5328 }), /*#__PURE__*/_react.default.createElement("path", {
5329 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"
5330 }), /*#__PURE__*/_react.default.createElement("path", {
5331 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"
5332 }), /*#__PURE__*/_react.default.createElement("path", {
5333 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"
5334 }), /*#__PURE__*/_react.default.createElement("path", {
5335 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"
5336 }), /*#__PURE__*/_react.default.createElement("path", {
5337 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"
5338 }));
5339 });
5340 var _default = ReplaceBackgroundIcon;
5341 exports["default"] = _default;
5342
5343 /***/ }),
5344
5345 /***/ "../modules/ai/assets/js/editor/icons/restore-icon.js":
5346 /*!************************************************************!*\
5347 !*** ../modules/ai/assets/js/editor/icons/restore-icon.js ***!
5348 \************************************************************/
5349 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5350
5351 "use strict";
5352
5353
5354 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5355 Object.defineProperty(exports, "__esModule", ({
5356 value: true
5357 }));
5358 exports["default"] = void 0;
5359 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
5360 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
5361 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
5362 var RestoreIcon = _react.default.forwardRef(function (props, ref) {
5363 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
5364 viewBox: "0 0 24 24"
5365 }, props, {
5366 ref: ref
5367 }), /*#__PURE__*/_react.default.createElement("path", {
5368 fillRule: "evenodd",
5369 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",
5370 clipRule: "evenodd"
5371 }));
5372 });
5373 var _default = RestoreIcon;
5374 exports["default"] = _default;
5375
5376 /***/ }),
5377
5378 /***/ "../modules/ai/assets/js/editor/icons/text-icon.js":
5379 /*!*********************************************************!*\
5380 !*** ../modules/ai/assets/js/editor/icons/text-icon.js ***!
5381 \*********************************************************/
5382 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5383
5384 "use strict";
5385
5386
5387 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5388 Object.defineProperty(exports, "__esModule", ({
5389 value: true
5390 }));
5391 exports["default"] = void 0;
5392 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
5393 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
5394 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
5395 var TextIcon = _react.default.forwardRef(function (props, ref) {
5396 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
5397 viewBox: "0 0 24 24"
5398 }, props, {
5399 ref: ref
5400 }), /*#__PURE__*/_react.default.createElement("path", {
5401 fillRule: "evenodd",
5402 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",
5403 clipRule: "evenodd"
5404 }), /*#__PURE__*/_react.default.createElement("path", {
5405 fillRule: "evenodd",
5406 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",
5407 clipRule: "evenodd"
5408 }), /*#__PURE__*/_react.default.createElement("path", {
5409 fillRule: "evenodd",
5410 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",
5411 clipRule: "evenodd"
5412 }));
5413 });
5414 var _default = TextIcon;
5415 exports["default"] = _default;
5416
5417 /***/ }),
5418
5419 /***/ "../modules/ai/assets/js/editor/icons/undo-icon.js":
5420 /*!*********************************************************!*\
5421 !*** ../modules/ai/assets/js/editor/icons/undo-icon.js ***!
5422 \*********************************************************/
5423 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5424
5425 "use strict";
5426
5427
5428 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5429 Object.defineProperty(exports, "__esModule", ({
5430 value: true
5431 }));
5432 exports["default"] = void 0;
5433 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
5434 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
5435 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
5436 var UndoIcon = _react.default.forwardRef(function (props, ref) {
5437 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
5438 viewBox: "0 0 24 24"
5439 }, props, {
5440 ref: ref
5441 }), /*#__PURE__*/_react.default.createElement("path", {
5442 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"
5443 }));
5444 });
5445 var _default = UndoIcon;
5446 exports["default"] = _default;
5447
5448 /***/ }),
5449
5450 /***/ "../modules/ai/assets/js/editor/icons/wand-icon.js":
5451 /*!*********************************************************!*\
5452 !*** ../modules/ai/assets/js/editor/icons/wand-icon.js ***!
5453 \*********************************************************/
5454 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5455
5456 "use strict";
5457
5458
5459 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5460 Object.defineProperty(exports, "__esModule", ({
5461 value: true
5462 }));
5463 exports["default"] = void 0;
5464 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
5465 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
5466 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
5467 var WandIcon = _react.default.forwardRef(function (props, ref) {
5468 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
5469 viewBox: "0 0 24 24"
5470 }, props, {
5471 ref: ref
5472 }), /*#__PURE__*/_react.default.createElement("path", {
5473 fillRule: "evenodd",
5474 clipRule: "evenodd",
5475 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"
5476 }), /*#__PURE__*/_react.default.createElement("path", {
5477 fillRule: "evenodd",
5478 clipRule: "evenodd",
5479 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"
5480 }), /*#__PURE__*/_react.default.createElement("path", {
5481 fillRule: "evenodd",
5482 clipRule: "evenodd",
5483 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"
5484 }));
5485 });
5486 var _default = WandIcon;
5487 exports["default"] = _default;
5488
5489 /***/ }),
5490
5491 /***/ "../modules/ai/assets/js/editor/icons/zoom-in-icon.js":
5492 /*!************************************************************!*\
5493 !*** ../modules/ai/assets/js/editor/icons/zoom-in-icon.js ***!
5494 \************************************************************/
5495 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5496
5497 "use strict";
5498
5499
5500 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5501 Object.defineProperty(exports, "__esModule", ({
5502 value: true
5503 }));
5504 exports["default"] = void 0;
5505 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
5506 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
5507 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
5508 var ZoomInIcon = _react.default.forwardRef(function (props, ref) {
5509 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
5510 viewBox: "0 0 24 24"
5511 }, props, {
5512 ref: ref
5513 }), /*#__PURE__*/_react.default.createElement("path", {
5514 fillRule: "evenodd",
5515 clipRule: "evenodd",
5516 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"
5517 }), /*#__PURE__*/_react.default.createElement("path", {
5518 fillRule: "evenodd",
5519 clipRule: "evenodd",
5520 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"
5521 }), /*#__PURE__*/_react.default.createElement("path", {
5522 fillRule: "evenodd",
5523 clipRule: "evenodd",
5524 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"
5525 }), /*#__PURE__*/_react.default.createElement("path", {
5526 fillRule: "evenodd",
5527 clipRule: "evenodd",
5528 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"
5529 }));
5530 });
5531 var _default = ZoomInIcon;
5532 exports["default"] = _default;
5533
5534 /***/ }),
5535
5536 /***/ "../modules/ai/assets/js/editor/module.js":
5537 /*!************************************************!*\
5538 !*** ../modules/ai/assets/js/editor/module.js ***!
5539 \************************************************/
5540 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5541
5542 "use strict";
5543
5544
5545 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5546 Object.defineProperty(exports, "__esModule", ({
5547 value: true
5548 }));
5549 exports["default"] = void 0;
5550 var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
5551 var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
5552 var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
5553 var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
5554 var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
5555 var _aiBehavior = _interopRequireDefault(__webpack_require__(/*! ./ai-behavior */ "../modules/ai/assets/js/editor/ai-behavior.js"));
5556 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
5557 var _constants = __webpack_require__(/*! ./pages/form-media/constants */ "../modules/ai/assets/js/editor/pages/form-media/constants/index.js");
5558 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); }; }
5559 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; } }
5560 var Module = /*#__PURE__*/function (_elementorModules$edi) {
5561 (0, _inherits2.default)(Module, _elementorModules$edi);
5562 var _super = _createSuper(Module);
5563 function Module() {
5564 (0, _classCallCheck2.default)(this, Module);
5565 return _super.apply(this, arguments);
5566 }
5567 (0, _createClass2.default)(Module, [{
5568 key: "onElementorInit",
5569 value: function onElementorInit() {
5570 elementor.hooks.addFilter('controls/base/behaviors', this.registerControlBehavior.bind(this));
5571 }
5572 }, {
5573 key: "registerControlBehavior",
5574 value: function registerControlBehavior(behaviors, view) {
5575 var aiOptions = view.options.model.get('ai');
5576 if (!(aiOptions !== null && aiOptions !== void 0 && aiOptions.active)) {
5577 return behaviors;
5578 }
5579 var controlType = view.options.model.get('type');
5580 var textControls = ['text', 'textarea'];
5581 if (textControls.includes(aiOptions.type)) {
5582 behaviors.ai = {
5583 behaviorClass: _aiBehavior.default,
5584 controlType: controlType,
5585 type: aiOptions.type,
5586 getControlValue: view.getControlValue.bind(view),
5587 setControlValue: function setControlValue(value) {
5588 if ('wysiwyg' === controlType) {
5589 value = value.replaceAll('\n', '<br>');
5590 }
5591 view.setSettingsModel(value);
5592 view.applySavedValue();
5593 },
5594 isLabelBlock: view.options.model.get('label_block'),
5595 additionalOptions: {
5596 defaultValue: view.options.model.get('default')
5597 },
5598 context: this.getContextData(view, controlType)
5599 };
5600 }
5601 var codeControls = ['code'];
5602 if (codeControls.includes(aiOptions.type)) {
5603 var _view$options, _view$options$contain, _view$options$contain2;
5604 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 : '';
5605 behaviors.ai = {
5606 behaviorClass: _aiBehavior.default,
5607 type: aiOptions.type,
5608 additionalOptions: {
5609 codeLanguage: (aiOptions === null || aiOptions === void 0 ? void 0 : aiOptions.language) || view.options.model.get('language'),
5610 htmlMarkup: htmlMarkup,
5611 elementId: view.options.container.id
5612 },
5613 buttonLabel: (0, _i18n.__)('Code with AI', 'elementor'),
5614 isLabelBlock: view.options.model.get('label_block'),
5615 getControlValue: view.getControlValue.bind(view),
5616 setControlValue: function setControlValue(value) {
5617 return view.editor.setValue(value, -1);
5618 },
5619 context: this.getContextData(view, controlType)
5620 };
5621 }
5622 var mediaControl = ['media'];
5623 if (mediaControl.includes(aiOptions.type)) {
5624 var mediaTypes = view.options.model.get('media_types');
5625 if (mediaTypes.length && mediaTypes.includes('image')) {
5626 behaviors.ai = {
5627 behaviorClass: _aiBehavior.default,
5628 type: aiOptions.type,
5629 buttonLabel: (0, _i18n.__)('Create with AI', 'elementor'),
5630 getControlValue: view.getControlValue.bind(view),
5631 setControlValue: function setControlValue() {},
5632 controlView: view,
5633 additionalOptions: {
5634 defaultValue: view.options.model.get('default'),
5635 defaultImageType: (aiOptions === null || aiOptions === void 0 ? void 0 : aiOptions.category) || _constants.IMAGE_PROMPT_CATEGORIES[1].key
5636 },
5637 context: this.getContextData(view, controlType)
5638 };
5639 }
5640 }
5641 return behaviors;
5642 }
5643 }, {
5644 key: "getContextData",
5645 value: function getContextData(view, controlType) {
5646 var controlName = view.options.model.get('name');
5647 if (!view.options.container) {
5648 return {
5649 controlName: controlName,
5650 controlType: controlType
5651 };
5652 }
5653 return {
5654 documentType: view.options.container.document.config.type,
5655 elementType: view.options.container.args.model.get('elType'),
5656 elementId: view.options.container.id,
5657 widgetType: view.options.container.args.model.get('widgetType'),
5658 controlName: controlName,
5659 controlType: controlType,
5660 controlValue: view.options.container.settings.get(controlName)
5661 };
5662 }
5663 }]);
5664 return Module;
5665 }(elementorModules.editor.utils.Module);
5666 exports["default"] = Module;
5667
5668 /***/ }),
5669
5670 /***/ "../modules/ai/assets/js/editor/page-content.js":
5671 /*!******************************************************!*\
5672 !*** ../modules/ai/assets/js/editor/page-content.js ***!
5673 \******************************************************/
5674 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5675
5676 "use strict";
5677
5678
5679 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5680 Object.defineProperty(exports, "__esModule", ({
5681 value: true
5682 }));
5683 exports["default"] = void 0;
5684 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
5685 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
5686 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
5687 var _formText = _interopRequireDefault(__webpack_require__(/*! ./pages/form-text */ "../modules/ai/assets/js/editor/pages/form-text/index.js"));
5688 var _connect = _interopRequireDefault(__webpack_require__(/*! ./pages/connect */ "../modules/ai/assets/js/editor/pages/connect/index.js"));
5689 var _formCode = _interopRequireDefault(__webpack_require__(/*! ./pages/form-code */ "../modules/ai/assets/js/editor/pages/form-code/index.js"));
5690 var _getStarted = _interopRequireDefault(__webpack_require__(/*! ./pages/get-started */ "../modules/ai/assets/js/editor/pages/get-started/index.js"));
5691 var _loader = _interopRequireDefault(__webpack_require__(/*! ./components/loader */ "../modules/ai/assets/js/editor/components/loader.js"));
5692 var _useUserInfo2 = _interopRequireDefault(__webpack_require__(/*! ./hooks/use-user-info */ "../modules/ai/assets/js/editor/hooks/use-user-info.js"));
5693 var _wizardDialog = _interopRequireDefault(__webpack_require__(/*! ./components/wizard-dialog */ "../modules/ai/assets/js/editor/components/wizard-dialog.js"));
5694 var _promptDialog = _interopRequireDefault(__webpack_require__(/*! ./components/prompt-dialog */ "../modules/ai/assets/js/editor/components/prompt-dialog.js"));
5695 var _upgradeChip = _interopRequireDefault(__webpack_require__(/*! ./components/upgrade-chip */ "../modules/ai/assets/js/editor/components/upgrade-chip.js"));
5696 var _formMedia = _interopRequireDefault(__webpack_require__(/*! ./pages/form-media */ "../modules/ai/assets/js/editor/pages/form-media/index.js"));
5697 var _promptHistory = _interopRequireDefault(__webpack_require__(/*! ./components/prompt-history */ "../modules/ai/assets/js/editor/components/prompt-history/index.js"));
5698 var _historyTypes = __webpack_require__(/*! ./components/prompt-history/history-types */ "../modules/ai/assets/js/editor/components/prompt-history/history-types.js");
5699 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");
5700 var _promptHistoryContext = __webpack_require__(/*! ./components/prompt-history/context/prompt-history-context */ "../modules/ai/assets/js/editor/components/prompt-history/context/prompt-history-context.js");
5701 var _useUpgradeMessage2 = _interopRequireDefault(__webpack_require__(/*! ./hooks/use-upgrade-message */ "../modules/ai/assets/js/editor/hooks/use-upgrade-message.js"));
5702 var _usageMessages = _interopRequireDefault(__webpack_require__(/*! ./components/usage-messages */ "../modules/ai/assets/js/editor/components/usage-messages.js"));
5703 var PageContent = function PageContent(_ref) {
5704 var type = _ref.type,
5705 controlType = _ref.controlType,
5706 onClose = _ref.onClose,
5707 onConnect = _ref.onConnect,
5708 getControlValue = _ref.getControlValue,
5709 setControlValue = _ref.setControlValue,
5710 controlView = _ref.controlView,
5711 additionalOptions = _ref.additionalOptions;
5712 var _useUserInfo = (0, _useUserInfo2.default)(),
5713 isLoading = _useUserInfo.isLoading,
5714 isConnected = _useUserInfo.isConnected,
5715 isGetStarted = _useUserInfo.isGetStarted,
5716 connectUrl = _useUserInfo.connectUrl,
5717 fetchData = _useUserInfo.fetchData,
5718 hasSubscription = _useUserInfo.hasSubscription,
5719 credits = _useUserInfo.credits,
5720 usagePercentage = _useUserInfo.usagePercentage;
5721 var _useUpgradeMessage = (0, _useUpgradeMessage2.default)({
5722 usagePercentage: usagePercentage,
5723 hasSubscription: hasSubscription
5724 }),
5725 showBadge = _useUpgradeMessage.showBadge;
5726 var promptDialogStyleProps = {
5727 sx: {
5728 '& .MuiDialog-container': {
5729 alignItems: 'flex-start',
5730 mt: 'media' === type ? '2.5vh' : '18vh'
5731 },
5732 '& .MuiDialogContent-root': {
5733 willChange: 'height',
5734 transition: 'height 300ms ease-in-out',
5735 position: 'relative'
5736 }
5737 },
5738 PaperProps: {
5739 sx: {
5740 m: 0,
5741 maxHeight: 'media' === type ? '95vh' : '76vh',
5742 height: !isLoading && 'media' === type ? '95vh' : 'auto'
5743 }
5744 }
5745 };
5746 var maybeRenderUpgradeChip = function maybeRenderUpgradeChip() {
5747 if (!showBadge) {
5748 return;
5749 }
5750 return /*#__PURE__*/_react.default.createElement(_upgradeChip.default, {
5751 hasSubscription: hasSubscription,
5752 usagePercentage: usagePercentage
5753 });
5754 };
5755 if (isLoading) {
5756 return /*#__PURE__*/_react.default.createElement(_promptDialog.default, (0, _extends2.default)({
5757 onClose: onClose
5758 }, promptDialogStyleProps, {
5759 maxWidth: 'media' === type ? 'lg' : 'sm'
5760 }), /*#__PURE__*/_react.default.createElement(_promptDialog.default.Header, {
5761 onClose: onClose
5762 }), /*#__PURE__*/_react.default.createElement(_promptDialog.default.Content, {
5763 dividers: true
5764 }, /*#__PURE__*/_react.default.createElement(_loader.default, null)));
5765 }
5766 if (!isConnected) {
5767 return /*#__PURE__*/_react.default.createElement(_wizardDialog.default, {
5768 onClose: onClose
5769 }, /*#__PURE__*/_react.default.createElement(_wizardDialog.default.Header, {
5770 onClose: onClose
5771 }), /*#__PURE__*/_react.default.createElement(_wizardDialog.default.Content, {
5772 dividers: true
5773 }, /*#__PURE__*/_react.default.createElement(_connect.default, {
5774 connectUrl: connectUrl,
5775 onSuccess: function onSuccess(data) {
5776 onConnect(data);
5777 fetchData();
5778 }
5779 })));
5780 }
5781 if (!isGetStarted) {
5782 return /*#__PURE__*/_react.default.createElement(_wizardDialog.default, {
5783 onClose: onClose
5784 }, /*#__PURE__*/_react.default.createElement(_wizardDialog.default.Header, {
5785 onClose: onClose
5786 }), /*#__PURE__*/_react.default.createElement(_wizardDialog.default.Content, {
5787 dividers: true
5788 }, /*#__PURE__*/_react.default.createElement(_getStarted.default, {
5789 onSuccess: fetchData
5790 })));
5791 }
5792 if ('media' === type) {
5793 return /*#__PURE__*/_react.default.createElement(_promptHistoryContext.PromptHistoryProvider, {
5794 historyType: _historyTypes.HISTORY_TYPES.IMAGE
5795 }, /*#__PURE__*/_react.default.createElement(_promptHistoryActionContext.PromptHistoryActionProvider, null, /*#__PURE__*/_react.default.createElement(_formMedia.default, {
5796 onClose: onClose,
5797 getControlValue: getControlValue,
5798 controlView: controlView,
5799 additionalOptions: additionalOptions,
5800 credits: credits,
5801 maybeRenderUpgradeChip: maybeRenderUpgradeChip,
5802 DialogProps: promptDialogStyleProps,
5803 hasSubscription: hasSubscription,
5804 usagePercentage: usagePercentage
5805 })));
5806 }
5807 if ('code' === type) {
5808 return /*#__PURE__*/_react.default.createElement(_promptDialog.default, (0, _extends2.default)({
5809 onClose: onClose
5810 }, promptDialogStyleProps), /*#__PURE__*/_react.default.createElement(_promptHistoryContext.PromptHistoryProvider, {
5811 historyType: _historyTypes.HISTORY_TYPES.CODE
5812 }, /*#__PURE__*/_react.default.createElement(_promptHistoryActionContext.PromptHistoryActionProvider, null, /*#__PURE__*/_react.default.createElement(_promptDialog.default.Header, {
5813 onClose: onClose
5814 }, /*#__PURE__*/_react.default.createElement(_promptHistory.default, null), maybeRenderUpgradeChip()), /*#__PURE__*/_react.default.createElement(_promptDialog.default.Content, {
5815 className: "e-ai-dialog-content",
5816 dividers: true
5817 }, /*#__PURE__*/_react.default.createElement(_formCode.default, {
5818 onClose: onClose,
5819 getControlValue: getControlValue,
5820 setControlValue: setControlValue,
5821 additionalOptions: additionalOptions,
5822 credits: credits,
5823 usagePercentage: usagePercentage
5824 }, /*#__PURE__*/_react.default.createElement(_usageMessages.default, {
5825 hasSubscription: hasSubscription,
5826 usagePercentage: usagePercentage,
5827 sx: {
5828 mb: 2
5829 }
5830 }))))));
5831 }
5832 return /*#__PURE__*/_react.default.createElement(_promptDialog.default, (0, _extends2.default)({
5833 onClose: onClose
5834 }, promptDialogStyleProps), /*#__PURE__*/_react.default.createElement(_promptHistoryContext.PromptHistoryProvider, {
5835 historyType: _historyTypes.HISTORY_TYPES.TEXT
5836 }, /*#__PURE__*/_react.default.createElement(_promptHistoryActionContext.PromptHistoryActionProvider, null, /*#__PURE__*/_react.default.createElement(_promptDialog.default.Header, {
5837 onClose: onClose
5838 }, /*#__PURE__*/_react.default.createElement(_promptHistory.default, null), maybeRenderUpgradeChip()), /*#__PURE__*/_react.default.createElement(_promptDialog.default.Content, {
5839 className: "e-ai-dialog-content",
5840 dividers: true
5841 }, /*#__PURE__*/_react.default.createElement(_formText.default, {
5842 type: type,
5843 controlType: controlType,
5844 onClose: onClose,
5845 getControlValue: getControlValue,
5846 setControlValue: setControlValue,
5847 additionalOptions: additionalOptions,
5848 credits: credits,
5849 usagePercentage: usagePercentage
5850 }, /*#__PURE__*/_react.default.createElement(_usageMessages.default, {
5851 hasSubscription: hasSubscription,
5852 usagePercentage: usagePercentage,
5853 sx: {
5854 mb: 2
5855 }
5856 }))))));
5857 };
5858 PageContent.propTypes = {
5859 type: _propTypes.default.string,
5860 controlType: _propTypes.default.string,
5861 onClose: _propTypes.default.func.isRequired,
5862 onConnect: _propTypes.default.func.isRequired,
5863 getControlValue: _propTypes.default.func.isRequired,
5864 setControlValue: _propTypes.default.func.isRequired,
5865 additionalOptions: _propTypes.default.object,
5866 controlView: _propTypes.default.object
5867 };
5868 var _default = PageContent;
5869 exports["default"] = _default;
5870
5871 /***/ }),
5872
5873 /***/ "../modules/ai/assets/js/editor/pages/connect/index.js":
5874 /*!*************************************************************!*\
5875 !*** ../modules/ai/assets/js/editor/pages/connect/index.js ***!
5876 \*************************************************************/
5877 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5878
5879 "use strict";
5880
5881
5882 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5883 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
5884 Object.defineProperty(exports, "__esModule", ({
5885 value: true
5886 }));
5887 exports["default"] = void 0;
5888 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
5889 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
5890 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
5891 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
5892 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
5893 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); }
5894 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; }
5895 var Connect = function Connect(_ref) {
5896 var connectUrl = _ref.connectUrl,
5897 onSuccess = _ref.onSuccess;
5898 var approveButtonRef = (0, _react.useRef)();
5899 (0, _react.useEffect)(function () {
5900 // On local dev (as a standalone app), the connect lib is not loaded.
5901 if (!jQuery.fn.elementorConnect) {
5902 return;
5903 }
5904 jQuery(approveButtonRef.current).elementorConnect({
5905 success: function success(_, data) {
5906 return onSuccess(data);
5907 },
5908 error: function error() {
5909 throw new Error('Elementor AI: Failed to connect.');
5910 }
5911 });
5912 }, []);
5913 return /*#__PURE__*/_react.default.createElement(_ui.Stack, {
5914 alignItems: "center",
5915 gap: 2
5916 }, /*#__PURE__*/_react.default.createElement(_icons.AIIcon, {
5917 sx: {
5918 color: 'text.primary',
5919 fontSize: '60px',
5920 mb: 1
5921 }
5922 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
5923 variant: "h4",
5924 sx: {
5925 color: 'text.primary'
5926 }
5927 }, (0, _i18n.__)('Step into the future with Elementor AI', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
5928 variant: "body2"
5929 }, (0, _i18n.__)('Create smarter with AI text and code generators built right into the editor.', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
5930 variant: "caption",
5931 sx: {
5932 maxWidth: 520,
5933 textAlign: 'center'
5934 }
5935 }, (0, _i18n.__)('By clicking "Connect", I approve the ', 'elementor'), /*#__PURE__*/_react.default.createElement(_ui.Link, {
5936 href: "https://go.elementor.com/ai-terms/",
5937 target: "_blank",
5938 color: "info.main"
5939 }, (0, _i18n.__)('Terms of Service', 'elementor')), ' & ', /*#__PURE__*/_react.default.createElement(_ui.Link, {
5940 href: "https://go.elementor.com/ai-privacy-policy/",
5941 target: "_blank",
5942 color: "info.main"
5943 }, (0, _i18n.__)('Privacy Policy', 'elementor')), (0, _i18n.__)(' of the Elementor AI service.', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Button, {
5944 ref: approveButtonRef,
5945 href: connectUrl,
5946 variant: "contained",
5947 sx: {
5948 mt: 1,
5949 '&:hover': {
5950 color: 'primary.contrastText'
5951 }
5952 }
5953 }, (0, _i18n.__)('Connect', 'elementor')));
5954 };
5955 Connect.propTypes = {
5956 connectUrl: _propTypes.default.string.isRequired,
5957 onSuccess: _propTypes.default.func.isRequired
5958 };
5959 var _default = Connect;
5960 exports["default"] = _default;
5961
5962 /***/ }),
5963
5964 /***/ "../modules/ai/assets/js/editor/pages/form-code/code-block.js":
5965 /*!********************************************************************!*\
5966 !*** ../modules/ai/assets/js/editor/pages/form-code/code-block.js ***!
5967 \********************************************************************/
5968 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5969
5970 "use strict";
5971
5972
5973 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5974 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
5975 Object.defineProperty(exports, "__esModule", ({
5976 value: true
5977 }));
5978 exports["default"] = void 0;
5979 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
5980 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
5981 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
5982 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
5983 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
5984 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
5985 var _textarea = _interopRequireDefault(__webpack_require__(/*! ../../components/textarea */ "../modules/ai/assets/js/editor/components/textarea.js"));
5986 var _excluded = ["node", "inline", "children", "defaultValue", "onInsert"];
5987 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); }
5988 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; }
5989 var CodeBlock = function CodeBlock(_ref) {
5990 var node = _ref.node,
5991 inline = _ref.inline,
5992 children = _ref.children,
5993 defaultValue = _ref.defaultValue,
5994 onInsert = _ref.onInsert,
5995 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
5996 var codeBlockInput = (0, _react.useRef)(null);
5997 if (inline) {
5998 return /*#__PURE__*/_react.default.createElement("code", props);
5999 }
6000 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
6001 sx: {
6002 position: 'relative'
6003 },
6004 dir: "ltr"
6005 }, /*#__PURE__*/_react.default.createElement(_textarea.default, (0, _extends2.default)({
6006 fullWidth: true,
6007 ref: codeBlockInput,
6008 defaultValue: children[0],
6009 sx: {
6010 mb: 1
6011 },
6012 helperText: (0, _i18n.__)('Code generated by AI may be inaccurate.', 'elementor')
6013 }, props)), /*#__PURE__*/_react.default.createElement(_ui.Button, {
6014 size: "small",
6015 variant: "contained",
6016 onClick: function onClick() {
6017 return onInsert(defaultValue + '\n' + codeBlockInput.current.value);
6018 },
6019 sx: {
6020 position: 'absolute',
6021 right: '11px /* @noflip */',
6022 bottom: '44px'
6023 }
6024 }, (0, _i18n.__)('Insert', 'elementor')));
6025 };
6026 CodeBlock.propTypes = {
6027 node: _propTypes.default.object,
6028 inline: _propTypes.default.bool,
6029 children: _propTypes.default.arrayOf(_propTypes.default.node).isRequired,
6030 defaultValue: _propTypes.default.string,
6031 onInsert: _propTypes.default.func.isRequired
6032 };
6033 var _default = CodeBlock;
6034 exports["default"] = _default;
6035
6036 /***/ }),
6037
6038 /***/ "../modules/ai/assets/js/editor/pages/form-code/index.js":
6039 /*!***************************************************************!*\
6040 !*** ../modules/ai/assets/js/editor/pages/form-code/index.js ***!
6041 \***************************************************************/
6042 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
6043
6044 "use strict";
6045
6046
6047 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
6048 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
6049 Object.defineProperty(exports, "__esModule", ({
6050 value: true
6051 }));
6052 exports["default"] = void 0;
6053 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
6054 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
6055 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
6056 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
6057 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
6058 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
6059 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
6060 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
6061 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
6062 var _reactMarkdown = _interopRequireDefault(__webpack_require__(/*! react-markdown */ "../node_modules/react-markdown/index.js"));
6063 var _actionsData = __webpack_require__(/*! ../../actions-data */ "../modules/ai/assets/js/editor/actions-data.js");
6064 var _loader = _interopRequireDefault(__webpack_require__(/*! ../../components/loader */ "../modules/ai/assets/js/editor/components/loader.js"));
6065 var _promptSearch = _interopRequireDefault(__webpack_require__(/*! ../../components/prompt-search */ "../modules/ai/assets/js/editor/components/prompt-search.js"));
6066 var _promptSuggestions = _interopRequireDefault(__webpack_require__(/*! ../../components/prompt-suggestions */ "../modules/ai/assets/js/editor/components/prompt-suggestions.js"));
6067 var _generateButton = _interopRequireDefault(__webpack_require__(/*! ../../components/generate-button */ "../modules/ai/assets/js/editor/components/generate-button.js"));
6068 var _promptErrorMessage = _interopRequireDefault(__webpack_require__(/*! ../../components/prompt-error-message */ "../modules/ai/assets/js/editor/components/prompt-error-message.js"));
6069 var _codeBlock = _interopRequireDefault(__webpack_require__(/*! ./code-block */ "../modules/ai/assets/js/editor/pages/form-code/code-block.js"));
6070 var _useCodePrompt2 = _interopRequireDefault(__webpack_require__(/*! ../../hooks/use-code-prompt */ "../modules/ai/assets/js/editor/hooks/use-code-prompt.js"));
6071 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");
6072 var _promptLibraryLink = _interopRequireDefault(__webpack_require__(/*! ../../components/prompt-library-link */ "../modules/ai/assets/js/editor/components/prompt-library-link.js"));
6073 var _requestsIds = __webpack_require__(/*! ../../context/requests-ids */ "../modules/ai/assets/js/editor/context/requests-ids.js");
6074 var _voicePromotionAlert = __webpack_require__(/*! ../../components/voice-promotion-alert */ "../modules/ai/assets/js/editor/components/voice-promotion-alert.js");
6075 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); }
6076 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; }
6077 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; }
6078 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; }
6079 var CodeDisplayWrapper = (0, _ui.styled)(_ui.Box)(function () {
6080 return {
6081 '& p': {
6082 mb: '10px',
6083 fontSize: '13px',
6084 lineHeight: '1.5'
6085 },
6086 '& pre': {
6087 position: 'relative'
6088 },
6089 '& textarea': {
6090 fontSize: '13px',
6091 lineHeight: '1.7'
6092 }
6093 };
6094 });
6095 var FormCode = function FormCode(_ref) {
6096 var onClose = _ref.onClose,
6097 getControlValue = _ref.getControlValue,
6098 setControlValue = _ref.setControlValue,
6099 additionalOptions = _ref.additionalOptions,
6100 credits = _ref.credits,
6101 children = _ref.children;
6102 var _useCodePrompt = (0, _useCodePrompt2.default)(_objectSpread(_objectSpread({}, additionalOptions), {}, {
6103 credits: credits
6104 })),
6105 data = _useCodePrompt.data,
6106 isLoading = _useCodePrompt.isLoading,
6107 error = _useCodePrompt.error,
6108 reset = _useCodePrompt.reset,
6109 send = _useCodePrompt.send,
6110 sendUsageData = _useCodePrompt.sendUsageData;
6111 var _useState = (0, _react.useState)(''),
6112 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
6113 prompt = _useState2[0],
6114 setPrompt = _useState2[1];
6115 var _useRequestIds = (0, _requestsIds.useRequestIds)(),
6116 setGenerate = _useRequestIds.setGenerate;
6117 (0, _promptHistoryActionContext.useSubscribeOnPromptHistoryAction)([{
6118 type: _promptHistoryActionContext.ACTION_TYPES.REUSE,
6119 handler: function handler(action) {
6120 reset();
6121 setPrompt(action.data);
6122 }
6123 }]);
6124 var lastRun = (0, _react.useRef)(function () {});
6125 var autocompleteItems = _actionsData.codeHtmlAutocomplete;
6126 var promptLibraryLink = '';
6127 if ('css' === (additionalOptions === null || additionalOptions === void 0 ? void 0 : additionalOptions.codeLanguage)) {
6128 autocompleteItems = _actionsData.codeCssAutocomplete;
6129 promptLibraryLink = 'https://go.elementor.com/ai-prompt-library-css/';
6130 } else if (additionalOptions !== null && additionalOptions !== void 0 && additionalOptions.htmlMarkup) {
6131 promptLibraryLink = 'https://go.elementor.com/ai-prompt-library-html/';
6132 } else {
6133 promptLibraryLink = 'https://go.elementor.com/ai-prompt-library-custom-code/';
6134 }
6135 var showSuggestions = !prompt;
6136 var handleSubmit = /*#__PURE__*/function () {
6137 var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(event) {
6138 return _regenerator.default.wrap(function _callee$(_context) {
6139 while (1) switch (_context.prev = _context.next) {
6140 case 0:
6141 event.preventDefault();
6142 setGenerate();
6143 lastRun.current = function () {
6144 return send({
6145 prompt: prompt
6146 });
6147 };
6148 lastRun.current();
6149 case 4:
6150 case "end":
6151 return _context.stop();
6152 }
6153 }, _callee);
6154 }));
6155 return function handleSubmit(_x) {
6156 return _ref2.apply(this, arguments);
6157 };
6158 }();
6159 var applyPrompt = function applyPrompt(inputText) {
6160 sendUsageData();
6161 setControlValue(inputText);
6162 onClose();
6163 };
6164 if (isLoading) {
6165 return /*#__PURE__*/_react.default.createElement(_loader.default, null);
6166 }
6167 return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, error && /*#__PURE__*/_react.default.createElement(_promptErrorMessage.default, {
6168 error: error,
6169 onRetry: lastRun.current,
6170 sx: {
6171 mb: 2.5
6172 }
6173 }), children, !data.result && /*#__PURE__*/_react.default.createElement(_ui.Box, {
6174 component: "form",
6175 onSubmit: handleSubmit
6176 }, /*#__PURE__*/_react.default.createElement(_ui.Box, {
6177 sx: {
6178 pb: 1.5
6179 }
6180 }, /*#__PURE__*/_react.default.createElement(_promptSearch.default, {
6181 placeholder: (0, _i18n.__)('Describe the code you want to use...', 'elementor'),
6182 name: "prompt",
6183 value: prompt,
6184 color: "secondary",
6185 onChange: function onChange(event) {
6186 return setPrompt(event.target.value);
6187 }
6188 })), showSuggestions && /*#__PURE__*/_react.default.createElement(_promptSuggestions.default, {
6189 suggestions: autocompleteItems,
6190 onSelect: setPrompt
6191 }, /*#__PURE__*/_react.default.createElement(_promptLibraryLink.default, {
6192 libraryLink: promptLibraryLink
6193 })), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
6194 direction: "row",
6195 alignItems: "center",
6196 sx: {
6197 py: 1.5,
6198 mt: 4
6199 }
6200 }, /*#__PURE__*/_react.default.createElement(_ui.Stack, {
6201 direction: "row",
6202 justifyContent: "flex-end",
6203 flexGrow: 1
6204 }, /*#__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, {
6205 components: {
6206 code: function code(props) {
6207 return /*#__PURE__*/_react.default.createElement(_codeBlock.default, (0, _extends2.default)({}, props, {
6208 defaultValue: getControlValue(),
6209 onInsert: applyPrompt
6210 }));
6211 }
6212 }
6213 }, data.result), /*#__PURE__*/_react.default.createElement(_voicePromotionAlert.VoicePromotionAlert, {
6214 introductionKey: "ai-context-code-promotion"
6215 }), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
6216 direction: "row",
6217 alignItems: "center",
6218 sx: {
6219 mt: 4
6220 }
6221 }, /*#__PURE__*/_react.default.createElement(_ui.Stack, {
6222 direction: "row",
6223 gap: 1,
6224 justifyContent: "flex-end",
6225 flexGrow: 1
6226 }, /*#__PURE__*/_react.default.createElement(_ui.Button, {
6227 size: "small",
6228 color: "secondary",
6229 variant: "text",
6230 onClick: reset
6231 }, (0, _i18n.__)('New prompt', 'elementor'))))));
6232 };
6233 FormCode.propTypes = {
6234 onClose: _propTypes.default.func.isRequired,
6235 getControlValue: _propTypes.default.func.isRequired,
6236 setControlValue: _propTypes.default.func.isRequired,
6237 additionalOptions: _propTypes.default.shape({
6238 codeLanguage: _propTypes.default.string,
6239 htmlMarkup: _propTypes.default.string,
6240 elementId: _propTypes.default.string,
6241 initialCredits: _propTypes.default.number
6242 }),
6243 credits: _propTypes.default.number,
6244 children: _propTypes.default.node
6245 };
6246 var _default = FormCode;
6247 exports["default"] = _default;
6248
6249 /***/ }),
6250
6251 /***/ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js":
6252 /*!**************************************************************************!*\
6253 !*** ../modules/ai/assets/js/editor/pages/form-layout/context/config.js ***!
6254 \**************************************************************************/
6255 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
6256
6257 "use strict";
6258
6259
6260 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
6261 Object.defineProperty(exports, "__esModule", ({
6262 value: true
6263 }));
6264 exports.useConfig = exports["default"] = exports.MODE_VARIATION = exports.MODE_LAYOUT = exports.LAYOUT_APP_MODES = exports.ConfigProvider = void 0;
6265 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
6266 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
6267 var MODE_LAYOUT = 'layout';
6268 exports.MODE_LAYOUT = MODE_LAYOUT;
6269 var MODE_VARIATION = 'variation';
6270 exports.MODE_VARIATION = MODE_VARIATION;
6271 var LAYOUT_APP_MODES = [MODE_LAYOUT, MODE_VARIATION];
6272 exports.LAYOUT_APP_MODES = LAYOUT_APP_MODES;
6273 var ConfigContext = _react.default.createContext({});
6274 var useConfig = function useConfig() {
6275 return _react.default.useContext(ConfigContext);
6276 };
6277 exports.useConfig = useConfig;
6278 var ConfigProvider = function ConfigProvider(props) {
6279 return /*#__PURE__*/_react.default.createElement(ConfigContext.Provider, {
6280 value: {
6281 mode: props.mode,
6282 attachmentsTypes: props.attachmentsTypes,
6283 onClose: props.onClose,
6284 onConnect: props.onConnect,
6285 onData: props.onData,
6286 onInsert: props.onInsert,
6287 onSelect: props.onSelect,
6288 onGenerate: props.onGenerate,
6289 currentContext: props.currentContext,
6290 hasPro: props.hasPro
6291 }
6292 }, props.children);
6293 };
6294 exports.ConfigProvider = ConfigProvider;
6295 ConfigProvider.propTypes = {
6296 mode: _propTypes.default.oneOf(LAYOUT_APP_MODES).isRequired,
6297 children: _propTypes.default.node.isRequired,
6298 attachmentsTypes: _propTypes.default.object.isRequired,
6299 onClose: _propTypes.default.func.isRequired,
6300 onConnect: _propTypes.default.func.isRequired,
6301 onData: _propTypes.default.func.isRequired,
6302 onInsert: _propTypes.default.func.isRequired,
6303 onSelect: _propTypes.default.func.isRequired,
6304 onGenerate: _propTypes.default.func.isRequired,
6305 currentContext: _propTypes.default.object,
6306 hasPro: _propTypes.default.bool
6307 };
6308 var _default = ConfigContext;
6309 exports["default"] = _default;
6310
6311 /***/ }),
6312
6313 /***/ "../modules/ai/assets/js/editor/pages/form-media/components/back-button.js":
6314 /*!*********************************************************************************!*\
6315 !*** ../modules/ai/assets/js/editor/pages/form-media/components/back-button.js ***!
6316 \*********************************************************************************/
6317 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
6318
6319 "use strict";
6320
6321
6322 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
6323 Object.defineProperty(exports, "__esModule", ({
6324 value: true
6325 }));
6326 exports["default"] = void 0;
6327 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
6328 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
6329 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
6330 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
6331 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
6332 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
6333 var _chevronLeftIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/chevron-left-icon */ "../modules/ai/assets/js/editor/icons/chevron-left-icon.js"));
6334 var _excluded = ["children"];
6335 var StyledChevronLeftIcon = (0, _ui.withDirection)(_chevronLeftIcon.default);
6336 var BackButton = function BackButton(_ref) {
6337 var children = _ref.children,
6338 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
6339 return /*#__PURE__*/_react.default.createElement(_ui.Button, (0, _extends2.default)({
6340 size: "small",
6341 variant: "text",
6342 color: "secondary",
6343 startIcon: /*#__PURE__*/_react.default.createElement(StyledChevronLeftIcon, null)
6344 }, props), children || (0, _i18n.__)('Back', 'elementor'));
6345 };
6346 BackButton.propTypes = {
6347 children: _propTypes.default.node
6348 };
6349 var _default = BackButton;
6350 exports["default"] = _default;
6351
6352 /***/ }),
6353
6354 /***/ "../modules/ai/assets/js/editor/pages/form-media/components/enhance-button.js":
6355 /*!************************************************************************************!*\
6356 !*** ../modules/ai/assets/js/editor/pages/form-media/components/enhance-button.js ***!
6357 \************************************************************************************/
6358 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
6359
6360 "use strict";
6361
6362
6363 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
6364 Object.defineProperty(exports, "__esModule", ({
6365 value: true
6366 }));
6367 exports["default"] = void 0;
6368 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
6369 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
6370 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
6371 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
6372 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
6373 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
6374 var _wandIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/wand-icon */ "../modules/ai/assets/js/editor/icons/wand-icon.js"));
6375 var _excluded = ["isLoading"];
6376 var StyledWandIcon = (0, _ui.withDirection)(_wandIcon.default);
6377 var EnhanceButton = function EnhanceButton(_ref) {
6378 var isLoading = _ref.isLoading,
6379 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
6380 return /*#__PURE__*/_react.default.createElement(_ui.Tooltip, {
6381 title: (0, _i18n.__)('Enhance prompt', 'elementor')
6382 }, /*#__PURE__*/_react.default.createElement(_ui.Box, {
6383 component: "span",
6384 sx: {
6385 cursor: props.disabled ? 'default' : 'pointer'
6386 }
6387 }, /*#__PURE__*/_react.default.createElement(_ui.IconButton, (0, _extends2.default)({
6388 size: "small",
6389 color: "secondary"
6390 }, props), isLoading ? /*#__PURE__*/_react.default.createElement(_ui.CircularProgress, {
6391 color: "secondary",
6392 size: 20
6393 }) : /*#__PURE__*/_react.default.createElement(StyledWandIcon, {
6394 fontSize: "small"
6395 }))));
6396 };
6397 EnhanceButton.propTypes = {
6398 disabled: _propTypes.default.bool,
6399 isLoading: _propTypes.default.bool
6400 };
6401 var _default = EnhanceButton;
6402 exports["default"] = _default;
6403
6404 /***/ }),
6405
6406 /***/ "../modules/ai/assets/js/editor/pages/form-media/components/gallery.js":
6407 /*!*****************************************************************************!*\
6408 !*** ../modules/ai/assets/js/editor/pages/form-media/components/gallery.js ***!
6409 \*****************************************************************************/
6410 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
6411
6412 "use strict";
6413
6414
6415 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
6416 Object.defineProperty(exports, "__esModule", ({
6417 value: true
6418 }));
6419 exports["default"] = void 0;
6420 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
6421 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
6422 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
6423 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
6424 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
6425 var _overlay = _interopRequireDefault(__webpack_require__(/*! ../../../components/ui/overlay */ "../modules/ai/assets/js/editor/components/ui/overlay.js"));
6426 var _overlayBar = _interopRequireDefault(__webpack_require__(/*! ../../../components/ui/overlay-bar */ "../modules/ai/assets/js/editor/components/ui/overlay-bar.js"));
6427 var _overlayBarText = _interopRequireDefault(__webpack_require__(/*! ../../../components/ui/overlay-bar-text */ "../modules/ai/assets/js/editor/components/ui/overlay-bar-text.js"));
6428 var _constants = __webpack_require__(/*! ../constants */ "../modules/ai/assets/js/editor/pages/form-media/constants/index.js");
6429 var _excluded = ["children"],
6430 _excluded2 = ["alt", "src", "text", "children", "aspectRatio", "variant", "OverlayBarProps"];
6431 var aspectRatios = Object.keys(_constants.IMAGE_ASPECT_RATIO);
6432 var Gallery = function Gallery(_ref) {
6433 var children = _ref.children,
6434 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
6435 return /*#__PURE__*/_react.default.createElement(_ui.ImageList, (0, _extends2.default)({
6436 width: "100%",
6437 cols: 2,
6438 gap: 24
6439 }, props), children);
6440 };
6441 Gallery.propTypes = {
6442 children: _propTypes.default.node
6443 };
6444 var GalleryImage = function GalleryImage(_ref2) {
6445 var alt = _ref2.alt,
6446 src = _ref2.src,
6447 text = _ref2.text,
6448 children = _ref2.children,
6449 _ref2$aspectRatio = _ref2.aspectRatio,
6450 aspectRatio = _ref2$aspectRatio === void 0 ? '1:1' : _ref2$aspectRatio,
6451 _ref2$variant = _ref2.variant,
6452 variant = _ref2$variant === void 0 ? 'contained' : _ref2$variant,
6453 _ref2$OverlayBarProps = _ref2.OverlayBarProps,
6454 OverlayBarProps = _ref2$OverlayBarProps === void 0 ? {} : _ref2$OverlayBarProps,
6455 props = (0, _objectWithoutProperties2.default)(_ref2, _excluded2);
6456 var style = {};
6457 if ('thumbnail' === variant) {
6458 style.width = '100%';
6459 style.maxHeight = '238px';
6460 style.minWidth = '230px';
6461 } else {
6462 style.width = 'auto';
6463 style.height = 'auto';
6464 style.maxWidth = '100%';
6465 style.maxHeight = '1:1' === aspectRatio ? 'initial' : '100%';
6466 style.objectFit = 'contain';
6467 style.aspectRatio = aspectRatio.replace(':', ' / ');
6468 }
6469 return /*#__PURE__*/_react.default.createElement(_ui.ImageListItem, props, /*#__PURE__*/_react.default.createElement(_ui.Box, {
6470 display: "flex",
6471 justifyContent: "center",
6472 alignItems: "center",
6473 sx: {
6474 bgcolor: 'action.selected',
6475 height: 'contained' === variant ? 336 : 'auto',
6476 position: 'relative',
6477 overflow: 'hidden'
6478 }
6479 }, /*#__PURE__*/_react.default.createElement("img", {
6480 alt: alt,
6481 src: src,
6482 style: style
6483 })), children && /*#__PURE__*/_react.default.createElement(_overlay.default, null, /*#__PURE__*/_react.default.createElement(_overlayBar.default, (0, _extends2.default)({
6484 gap: 1,
6485 position: "bottom"
6486 }, OverlayBarProps), text && /*#__PURE__*/_react.default.createElement(_overlayBarText.default, null, text), children)));
6487 };
6488 GalleryImage.propTypes = {
6489 alt: _propTypes.default.string,
6490 src: _propTypes.default.string,
6491 text: _propTypes.default.string,
6492 children: _propTypes.default.node,
6493 BoxProps: _propTypes.default.object,
6494 OverlayBarProps: _propTypes.default.object,
6495 aspectRatio: _propTypes.default.oneOf(aspectRatios),
6496 variant: _propTypes.default.oneOf(['contained', 'thumbnail'])
6497 };
6498 Gallery.Image = GalleryImage;
6499 var _default = Gallery;
6500 exports["default"] = _default;
6501
6502 /***/ }),
6503
6504 /***/ "../modules/ai/assets/js/editor/pages/form-media/components/generate-again-submit.js":
6505 /*!*******************************************************************************************!*\
6506 !*** ../modules/ai/assets/js/editor/pages/form-media/components/generate-again-submit.js ***!
6507 \*******************************************************************************************/
6508 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
6509
6510 "use strict";
6511
6512
6513 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
6514 Object.defineProperty(exports, "__esModule", ({
6515 value: true
6516 }));
6517 exports["default"] = void 0;
6518 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
6519 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
6520 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
6521 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
6522 var _refreshIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/refresh-icon */ "../modules/ai/assets/js/editor/icons/refresh-icon.js"));
6523 var GenerateAgainSubmit = function GenerateAgainSubmit(props) {
6524 return /*#__PURE__*/_react.default.createElement(_ui.Button, (0, _extends2.default)({
6525 fullWidth: true,
6526 type: "submit",
6527 variant: "contained",
6528 color: "secondary",
6529 startIcon: /*#__PURE__*/_react.default.createElement(_refreshIcon.default, null),
6530 sx: {
6531 // TODO: Remove on @elementor/ui 1.4.51.
6532 color: 'background.paper'
6533 }
6534 }, props), (0, _i18n.__)('Generate again', 'elementor'));
6535 };
6536 var _default = GenerateAgainSubmit;
6537 exports["default"] = _default;
6538
6539 /***/ }),
6540
6541 /***/ "../modules/ai/assets/js/editor/pages/form-media/components/generate-images-submit.js":
6542 /*!********************************************************************************************!*\
6543 !*** ../modules/ai/assets/js/editor/pages/form-media/components/generate-images-submit.js ***!
6544 \********************************************************************************************/
6545 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
6546
6547 "use strict";
6548
6549
6550 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
6551 Object.defineProperty(exports, "__esModule", ({
6552 value: true
6553 }));
6554 exports["default"] = void 0;
6555 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
6556 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
6557 var _generateButton = _interopRequireDefault(__webpack_require__(/*! ../../../components/generate-button */ "../modules/ai/assets/js/editor/components/generate-button.js"));
6558 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
6559 var _voicePromotionAlert = _interopRequireDefault(__webpack_require__(/*! ../../../components/voice-promotion-alert */ "../modules/ai/assets/js/editor/components/voice-promotion-alert.js"));
6560 var GenerateImagesSubmit = function GenerateImagesSubmit(props) {
6561 return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_generateButton.default, (0, _extends2.default)({
6562 size: "medium",
6563 fullWidth: true
6564 }, props), (0, _i18n.__)('Generate images', 'elementor')), /*#__PURE__*/_react.default.createElement(_voicePromotionAlert.default, {
6565 introductionKey: "ai-context-media-promotion"
6566 }));
6567 };
6568 var _default = GenerateImagesSubmit;
6569 exports["default"] = _default;
6570
6571 /***/ }),
6572
6573 /***/ "../modules/ai/assets/js/editor/pages/form-media/components/generate-loader.js":
6574 /*!*************************************************************************************!*\
6575 !*** ../modules/ai/assets/js/editor/pages/form-media/components/generate-loader.js ***!
6576 \*************************************************************************************/
6577 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
6578
6579 "use strict";
6580
6581
6582 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
6583 Object.defineProperty(exports, "__esModule", ({
6584 value: true
6585 }));
6586 exports["default"] = void 0;
6587 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
6588 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
6589 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
6590 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
6591 var GenerateLoader = function GenerateLoader() {
6592 return /*#__PURE__*/_react.default.createElement(_ui.Stack, {
6593 alignItems: "center",
6594 justifyContent: "center",
6595 gap: 2,
6596 width: "100%"
6597 }, /*#__PURE__*/_react.default.createElement(_icons.AIIcon, {
6598 sx: {
6599 color: 'text.primary',
6600 fontSize: '60px',
6601 mb: 1
6602 }
6603 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
6604 variant: "h5",
6605 sx: {
6606 color: 'text.primary'
6607 }
6608 }, (0, _i18n.__)('Bringing your vision to life...', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
6609 variant: "body1"
6610 }, (0, _i18n.__)('Hold tight, painting dreams might take a moment.', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Box, {
6611 sx: {
6612 px: 1.5,
6613 py: 2.5,
6614 width: '100%',
6615 maxWidth: 600
6616 }
6617 }, /*#__PURE__*/_react.default.createElement(_ui.LinearProgress, {
6618 color: "inherit"
6619 })));
6620 };
6621 var _default = GenerateLoader;
6622 exports["default"] = _default;
6623
6624 /***/ }),
6625
6626 /***/ "../modules/ai/assets/js/editor/pages/form-media/components/generate-submit.js":
6627 /*!*************************************************************************************!*\
6628 !*** ../modules/ai/assets/js/editor/pages/form-media/components/generate-submit.js ***!
6629 \*************************************************************************************/
6630 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
6631
6632 "use strict";
6633
6634
6635 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
6636 Object.defineProperty(exports, "__esModule", ({
6637 value: true
6638 }));
6639 exports["default"] = void 0;
6640 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
6641 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
6642 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
6643 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
6644 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
6645 var GenerateSubmit = function GenerateSubmit(props) {
6646 return /*#__PURE__*/_react.default.createElement(_ui.Button, (0, _extends2.default)({
6647 fullWidth: true,
6648 size: "medium",
6649 type: "submit",
6650 variant: "contained"
6651 }, props), props.children || (0, _i18n.__)('Generate', 'elementor'));
6652 };
6653 GenerateSubmit.propTypes = {
6654 children: _propTypes.default.node
6655 };
6656 var _default = GenerateSubmit;
6657 exports["default"] = _default;
6658
6659 /***/ }),
6660
6661 /***/ "../modules/ai/assets/js/editor/pages/form-media/components/image-actions.js":
6662 /*!***********************************************************************************!*\
6663 !*** ../modules/ai/assets/js/editor/pages/form-media/components/image-actions.js ***!
6664 \***********************************************************************************/
6665 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
6666
6667 "use strict";
6668
6669
6670 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
6671 Object.defineProperty(exports, "__esModule", ({
6672 value: true
6673 }));
6674 exports["default"] = void 0;
6675 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
6676 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
6677 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
6678 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
6679 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
6680 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
6681 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
6682 var _copyIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/copy-icon */ "../modules/ai/assets/js/editor/icons/copy-icon.js"));
6683 var _editIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/edit-icon */ "../modules/ai/assets/js/editor/icons/edit-icon.js"));
6684 var _downloadIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/download-icon */ "../modules/ai/assets/js/editor/icons/download-icon.js"));
6685 var _zoomInIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/zoom-in-icon */ "../modules/ai/assets/js/editor/icons/zoom-in-icon.js"));
6686 var _excluded = ["children"],
6687 _excluded2 = ["sx"],
6688 _excluded3 = ["sx"],
6689 _excluded4 = ["sx"],
6690 _excluded5 = ["sx"];
6691 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; }
6692 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; }
6693 var StyledEditSvgIcon = (0, _ui.withDirection)(_editIcon.default);
6694 var StyledCopySvgIcon = (0, _ui.withDirection)(_copyIcon.default);
6695 var StyledZoomInIcon = (0, _ui.withDirection)(_zoomInIcon.default);
6696 var Tooltip = function Tooltip(props) {
6697 return /*#__PURE__*/_react.default.createElement(_ui.Tooltip, (0, _extends2.default)({
6698 PopperProps: {
6699 sx: {
6700 '&.MuiTooltip-popper .MuiTooltip-tooltip.MuiTooltip-tooltipPlacementBottom': {
6701 mt: 1
6702 }
6703 }
6704 }
6705 }, props));
6706 };
6707 var ImageActions = function ImageActions(_ref) {
6708 var children = _ref.children,
6709 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
6710 return /*#__PURE__*/_react.default.createElement(_ui.Box, (0, _extends2.default)({
6711 display: "flex",
6712 justifyContent: "space-between",
6713 alignItems: "center",
6714 width: "100%",
6715 gap: 1
6716 }, props), children);
6717 };
6718 ImageActions.propTypes = {
6719 children: _propTypes.default.node
6720 };
6721 var UseImage = function UseImage(_ref2) {
6722 var sx = _ref2.sx,
6723 props = (0, _objectWithoutProperties2.default)(_ref2, _excluded2);
6724 return /*#__PURE__*/_react.default.createElement(_ui.Button, (0, _extends2.default)({
6725 size: "small",
6726 variant: "contained",
6727 startIcon: /*#__PURE__*/_react.default.createElement(_downloadIcon.default, null)
6728 }, props), (0, _i18n.__)('Use Image', 'elementor'));
6729 };
6730 UseImage.propTypes = {
6731 sx: _propTypes.default.object
6732 };
6733 var EditImage = function EditImage(props) {
6734 return /*#__PURE__*/_react.default.createElement(_ui.Button, (0, _extends2.default)({
6735 size: "small",
6736 color: "secondary",
6737 startIcon: /*#__PURE__*/_react.default.createElement(StyledEditSvgIcon, null)
6738 }, props), (0, _i18n.__)('Edit', 'elementor'));
6739 };
6740 var EditIcon = function EditIcon(_ref3) {
6741 var _ref3$sx = _ref3.sx,
6742 sx = _ref3$sx === void 0 ? {} : _ref3$sx,
6743 props = (0, _objectWithoutProperties2.default)(_ref3, _excluded3);
6744 return /*#__PURE__*/_react.default.createElement(Tooltip, {
6745 title: (0, _i18n.__)('Edit', 'elementor')
6746 }, /*#__PURE__*/_react.default.createElement(_ui.IconButton, (0, _extends2.default)({
6747 sx: _objectSpread({
6748 mr: -1.5,
6749 ml: 0.5,
6750 color: 'common.white',
6751 '&:hover': {
6752 color: 'common.white'
6753 }
6754 }, sx)
6755 }, props), /*#__PURE__*/_react.default.createElement(StyledEditSvgIcon, null)));
6756 };
6757 EditIcon.propTypes = {
6758 sx: _propTypes.default.object
6759 };
6760 var ZoomIcon = function ZoomIcon(_ref4) {
6761 var _ref4$sx = _ref4.sx,
6762 sx = _ref4$sx === void 0 ? {} : _ref4$sx,
6763 props = (0, _objectWithoutProperties2.default)(_ref4, _excluded4);
6764 return /*#__PURE__*/_react.default.createElement(Tooltip, {
6765 title: (0, _i18n.__)('Zoom', 'elementor')
6766 }, /*#__PURE__*/_react.default.createElement(_ui.IconButton, (0, _extends2.default)({
6767 color: "secondary",
6768 "aria-label": (0, _i18n.__)('Zoom', 'elementor'),
6769 sx: _objectSpread({
6770 color: 'common.white',
6771 '&:hover': {
6772 color: 'common.white'
6773 }
6774 }, sx)
6775 }, props), /*#__PURE__*/_react.default.createElement(StyledZoomInIcon, null)));
6776 };
6777 ZoomIcon.propTypes = {
6778 sx: _propTypes.default.object
6779 };
6780 var CopyIcon = function CopyIcon(_ref5) {
6781 var _ref5$sx = _ref5.sx,
6782 sx = _ref5$sx === void 0 ? {} : _ref5$sx,
6783 props = (0, _objectWithoutProperties2.default)(_ref5, _excluded5);
6784 return /*#__PURE__*/_react.default.createElement(Tooltip, {
6785 title: (0, _i18n.__)('Copy prompt', 'elementor')
6786 }, /*#__PURE__*/_react.default.createElement(_ui.IconButton, (0, _extends2.default)({
6787 sx: _objectSpread({
6788 mr: -1.5,
6789 ml: 0.5,
6790 color: 'common.white',
6791 '&:hover': {
6792 color: 'common.white'
6793 }
6794 }, sx)
6795 }, props), /*#__PURE__*/_react.default.createElement(StyledCopySvgIcon, null)));
6796 };
6797 CopyIcon.propTypes = {
6798 sx: _propTypes.default.object
6799 };
6800 ImageActions.UseImage = UseImage;
6801 ImageActions.EditImage = EditImage;
6802 ImageActions.EditIcon = EditIcon;
6803 ImageActions.ZoomIcon = ZoomIcon;
6804 ImageActions.CopyIcon = CopyIcon;
6805 var _default = ImageActions;
6806 exports["default"] = _default;
6807
6808 /***/ }),
6809
6810 /***/ "../modules/ai/assets/js/editor/pages/form-media/components/image-form.js":
6811 /*!********************************************************************************!*\
6812 !*** ../modules/ai/assets/js/editor/pages/form-media/components/image-form.js ***!
6813 \********************************************************************************/
6814 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
6815
6816 "use strict";
6817
6818
6819 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
6820 Object.defineProperty(exports, "__esModule", ({
6821 value: true
6822 }));
6823 exports["default"] = void 0;
6824 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
6825 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
6826 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
6827 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
6828 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
6829 var _excluded = ["children"];
6830 var ImageForm = function ImageForm(_ref) {
6831 var children = _ref.children,
6832 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
6833 return /*#__PURE__*/_react.default.createElement(_ui.Box, (0, _extends2.default)({
6834 component: "form"
6835 }, props), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
6836 spacing: 2.5
6837 }, children));
6838 };
6839 ImageForm.propTypes = {
6840 children: _propTypes.default.node
6841 };
6842 var _default = ImageForm;
6843 exports["default"] = _default;
6844
6845 /***/ }),
6846
6847 /***/ "../modules/ai/assets/js/editor/pages/form-media/components/image-ratio-select.js":
6848 /*!****************************************************************************************!*\
6849 !*** ../modules/ai/assets/js/editor/pages/form-media/components/image-ratio-select.js ***!
6850 \****************************************************************************************/
6851 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
6852
6853 "use strict";
6854
6855
6856 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
6857 Object.defineProperty(exports, "__esModule", ({
6858 value: true
6859 }));
6860 exports["default"] = void 0;
6861 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
6862 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
6863 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
6864 var _promptActionSelection = _interopRequireDefault(__webpack_require__(/*! ../../../components/prompt-action-selection */ "../modules/ai/assets/js/editor/components/prompt-action-selection.js"));
6865 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
6866 var _constants = __webpack_require__(/*! ../constants */ "../modules/ai/assets/js/editor/pages/form-media/constants/index.js");
6867 var imageRatios = Object.entries(_constants.IMAGE_ASPECT_RATIO).map(function (_ref) {
6868 var _ref2 = (0, _slicedToArray2.default)(_ref, 2),
6869 value = _ref2[0],
6870 label = _ref2[1].label;
6871 return {
6872 label: label,
6873 value: value
6874 };
6875 });
6876 var ImageRatioSelect = function ImageRatioSelect(props) {
6877 return /*#__PURE__*/_react.default.createElement(_promptActionSelection.default, (0, _extends2.default)({
6878 options: imageRatios,
6879 wrapperStyle: {
6880 width: '100%'
6881 },
6882 label: (0, _i18n.__)('Aspect ratio', 'elementor')
6883 }, props));
6884 };
6885 var _default = ImageRatioSelect;
6886 exports["default"] = _default;
6887
6888 /***/ }),
6889
6890 /***/ "../modules/ai/assets/js/editor/pages/form-media/components/image-slider.js":
6891 /*!**********************************************************************************!*\
6892 !*** ../modules/ai/assets/js/editor/pages/form-media/components/image-slider.js ***!
6893 \**********************************************************************************/
6894 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
6895
6896 "use strict";
6897
6898
6899 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
6900 Object.defineProperty(exports, "__esModule", ({
6901 value: true
6902 }));
6903 exports["default"] = void 0;
6904 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
6905 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
6906 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
6907 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
6908 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
6909 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
6910 var _chevronLeftIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/chevron-left-icon */ "../modules/ai/assets/js/editor/icons/chevron-left-icon.js"));
6911 var _chevronRightIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/chevron-right-icon */ "../modules/ai/assets/js/editor/icons/chevron-right-icon.js"));
6912 var _excluded = ["onPrev", "onNext", "children"],
6913 _excluded2 = ["children", "startAction", "sx"],
6914 _excluded3 = ["src", "alt"];
6915 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; }
6916 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; }
6917 var StyledChevronLeftIcon = (0, _ui.withDirection)(_chevronLeftIcon.default);
6918 var StyledChevronRightIcon = (0, _ui.withDirection)(_chevronRightIcon.default);
6919 var ImageSlider = function ImageSlider(_ref) {
6920 var onPrev = _ref.onPrev,
6921 onNext = _ref.onNext,
6922 children = _ref.children,
6923 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
6924 return /*#__PURE__*/_react.default.createElement(_ui.Stack, (0, _extends2.default)({
6925 alignItems: "flex-start",
6926 spacing: 0.5
6927 }, props), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
6928 direction: "row",
6929 spacing: 2.5,
6930 alignSelf: "center",
6931 alignItems: "center"
6932 }, /*#__PURE__*/_react.default.createElement(_ui.IconButton, {
6933 onClick: onPrev,
6934 size: "large",
6935 color: "secondary"
6936 }, /*#__PURE__*/_react.default.createElement(StyledChevronLeftIcon, null)), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
6937 spacing: 0.5,
6938 justifyContent: "space-around",
6939 alignItems: "center"
6940 }, children), /*#__PURE__*/_react.default.createElement(_ui.IconButton, {
6941 onClick: onNext,
6942 size: "large",
6943 color: "secondary"
6944 }, /*#__PURE__*/_react.default.createElement(StyledChevronRightIcon, null))));
6945 };
6946 ImageSlider.propTypes = {
6947 onPrev: _propTypes.default.func.isRequired,
6948 onNext: _propTypes.default.func.isRequired,
6949 children: _propTypes.default.node.isRequired
6950 };
6951 var Actions = function Actions(_ref2) {
6952 var children = _ref2.children,
6953 startAction = _ref2.startAction,
6954 _ref2$sx = _ref2.sx,
6955 sx = _ref2$sx === void 0 ? {} : _ref2$sx,
6956 props = (0, _objectWithoutProperties2.default)(_ref2, _excluded2);
6957 return /*#__PURE__*/_react.default.createElement(_ui.Box, (0, _extends2.default)({
6958 display: "flex",
6959 justifyContent: "flex-end",
6960 alignItems: "center",
6961 width: "100%"
6962 }, props, {
6963 sx: _objectSpread({
6964 mb: 1.5
6965 }, sx)
6966 }), startAction, /*#__PURE__*/_react.default.createElement(_ui.Stack, {
6967 direction: "row",
6968 spacing: 2,
6969 justifyContent: "flex-end",
6970 flexGrow: 1,
6971 width: "100%"
6972 }, children));
6973 };
6974 Actions.propTypes = {
6975 sx: _propTypes.default.object,
6976 startAction: _propTypes.default.node,
6977 children: _propTypes.default.node.isRequired
6978 };
6979 var Image = function Image(_ref3) {
6980 var src = _ref3.src,
6981 _ref3$alt = _ref3.alt,
6982 alt = _ref3$alt === void 0 ? '' : _ref3$alt,
6983 props = (0, _objectWithoutProperties2.default)(_ref3, _excluded3);
6984 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
6985 display: "flex",
6986 justifyContent: "center",
6987 alignItems: "center"
6988 }, /*#__PURE__*/_react.default.createElement("img", (0, _extends2.default)({
6989 src: src,
6990 alt: alt
6991 }, props)));
6992 };
6993 Image.propTypes = {
6994 alt: _propTypes.default.string,
6995 src: _propTypes.default.string.isRequired
6996 };
6997 ImageSlider.Actions = Actions;
6998 ImageSlider.Image = Image;
6999 var _default = ImageSlider;
7000 exports["default"] = _default;
7001
7002 /***/ }),
7003
7004 /***/ "../modules/ai/assets/js/editor/pages/form-media/components/image-strength-slider.js":
7005 /*!*******************************************************************************************!*\
7006 !*** ../modules/ai/assets/js/editor/pages/form-media/components/image-strength-slider.js ***!
7007 \*******************************************************************************************/
7008 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
7009
7010 "use strict";
7011
7012
7013 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
7014 Object.defineProperty(exports, "__esModule", ({
7015 value: true
7016 }));
7017 exports["default"] = void 0;
7018 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
7019 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
7020 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
7021 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
7022 var ImageStrengthSlider = function ImageStrengthSlider(props) {
7023 return /*#__PURE__*/_react.default.createElement(_ui.FormControl, {
7024 sx: {
7025 width: '100%'
7026 }
7027 }, /*#__PURE__*/_react.default.createElement(_ui.Slider, (0, _extends2.default)({
7028 marks: true,
7029 min: 0,
7030 step: 10,
7031 max: 100,
7032 color: "secondary",
7033 id: "image_strength",
7034 name: "image_strength",
7035 valueLabelDisplay: "auto",
7036 getAriaValueText: function getAriaValueText(value) {
7037 return "".concat(value, "%");
7038 },
7039 "aria-label": (0, _i18n.__)('Reference strength', 'elementor')
7040 }, props)), /*#__PURE__*/_react.default.createElement(_ui.Box, {
7041 display: "flex",
7042 justifyContent: "space-between",
7043 alignItems: "center"
7044 }, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
7045 variant: "caption"
7046 }, (0, _i18n.__)('Prompt', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
7047 variant: "caption"
7048 }, (0, _i18n.__)('Reference image', 'elementor'))));
7049 };
7050 var _default = ImageStrengthSlider;
7051 exports["default"] = _default;
7052
7053 /***/ }),
7054
7055 /***/ "../modules/ai/assets/js/editor/pages/form-media/components/image-style-select.js":
7056 /*!****************************************************************************************!*\
7057 !*** ../modules/ai/assets/js/editor/pages/form-media/components/image-style-select.js ***!
7058 \****************************************************************************************/
7059 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
7060
7061 "use strict";
7062
7063
7064 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
7065 Object.defineProperty(exports, "__esModule", ({
7066 value: true
7067 }));
7068 exports["default"] = void 0;
7069 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
7070 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
7071 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
7072 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
7073 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
7074 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
7075 var _promptActionSelection = _interopRequireDefault(__webpack_require__(/*! ../../../components/prompt-action-selection */ "../modules/ai/assets/js/editor/components/prompt-action-selection.js"));
7076 var _constants = __webpack_require__(/*! ../constants */ "../modules/ai/assets/js/editor/pages/form-media/constants/index.js");
7077 var _excluded = ["type"];
7078 var ImageStyleSelect = function ImageStyleSelect(_ref) {
7079 var _IMAGE_PROMPT_CATEGOR;
7080 var _ref$type = _ref.type,
7081 type = _ref$type === void 0 ? '' : _ref$type,
7082 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
7083 // The image styles are determined by the selected type.
7084 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) {
7085 var _ref3 = (0, _slicedToArray2.default)(_ref2, 2),
7086 value = _ref3[0],
7087 label = _ref3[1];
7088 return {
7089 label: label,
7090 value: value
7091 };
7092 });
7093 return /*#__PURE__*/_react.default.createElement(_promptActionSelection.default, (0, _extends2.default)({
7094 options: imageStyles,
7095 wrapperStyle: {
7096 width: '100%'
7097 },
7098 label: (0, _i18n.__)('Style', 'elementor')
7099 }, props));
7100 };
7101 ImageStyleSelect.propTypes = {
7102 type: _propTypes.default.string.isRequired
7103 };
7104 var _default = ImageStyleSelect;
7105 exports["default"] = _default;
7106
7107 /***/ }),
7108
7109 /***/ "../modules/ai/assets/js/editor/pages/form-media/components/image-type-select.js":
7110 /*!***************************************************************************************!*\
7111 !*** ../modules/ai/assets/js/editor/pages/form-media/components/image-type-select.js ***!
7112 \***************************************************************************************/
7113 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
7114
7115 "use strict";
7116
7117
7118 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
7119 Object.defineProperty(exports, "__esModule", ({
7120 value: true
7121 }));
7122 exports["default"] = void 0;
7123 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
7124 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
7125 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
7126 var _promptActionSelection = _interopRequireDefault(__webpack_require__(/*! ../../../components/prompt-action-selection */ "../modules/ai/assets/js/editor/components/prompt-action-selection.js"));
7127 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
7128 var _constants = __webpack_require__(/*! ../constants */ "../modules/ai/assets/js/editor/pages/form-media/constants/index.js");
7129 var imageTypes = Object.entries(_constants.IMAGE_PROMPT_CATEGORIES).map(function (_ref) {
7130 var _ref2 = (0, _slicedToArray2.default)(_ref, 2),
7131 key = _ref2[0],
7132 label = _ref2[1].label;
7133 return {
7134 label: label,
7135 value: key
7136 };
7137 });
7138 var ImageTypeSelect = function ImageTypeSelect(props) {
7139 return /*#__PURE__*/_react.default.createElement(_promptActionSelection.default, (0, _extends2.default)({
7140 options: imageTypes,
7141 wrapperStyle: {
7142 width: '100%'
7143 },
7144 label: (0, _i18n.__)('Image type', 'elementor')
7145 }, props));
7146 };
7147 var _default = ImageTypeSelect;
7148 exports["default"] = _default;
7149
7150 /***/ }),
7151
7152 /***/ "../modules/ai/assets/js/editor/pages/form-media/components/images-display.js":
7153 /*!************************************************************************************!*\
7154 !*** ../modules/ai/assets/js/editor/pages/form-media/components/images-display.js ***!
7155 \************************************************************************************/
7156 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
7157
7158 "use strict";
7159
7160
7161 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
7162 Object.defineProperty(exports, "__esModule", ({
7163 value: true
7164 }));
7165 exports["default"] = void 0;
7166 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
7167 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
7168 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
7169 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
7170 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
7171 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
7172 var _useImageSize2 = _interopRequireDefault(__webpack_require__(/*! ../hooks/use-image-size */ "../modules/ai/assets/js/editor/pages/form-media/hooks/use-image-size.js"));
7173 var _useImageNavigation2 = _interopRequireDefault(__webpack_require__(/*! ../../../hooks/use-image-navigation */ "../modules/ai/assets/js/editor/hooks/use-image-navigation.js"));
7174 var _imageSlider = _interopRequireDefault(__webpack_require__(/*! ./image-slider */ "../modules/ai/assets/js/editor/pages/form-media/components/image-slider.js"));
7175 var _imageActions = _interopRequireDefault(__webpack_require__(/*! ./image-actions */ "../modules/ai/assets/js/editor/pages/form-media/components/image-actions.js"));
7176 var _gallery = _interopRequireDefault(__webpack_require__(/*! ./gallery */ "../modules/ai/assets/js/editor/pages/form-media/components/gallery.js"));
7177 var _backButton = _interopRequireDefault(__webpack_require__(/*! ./back-button */ "../modules/ai/assets/js/editor/pages/form-media/components/back-button.js"));
7178 var _singleImagePreview = _interopRequireDefault(__webpack_require__(/*! ./single-image-preview */ "../modules/ai/assets/js/editor/pages/form-media/components/single-image-preview.js"));
7179 var _excluded = ["children", "sx"];
7180 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; }
7181 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; }
7182 var Container = function Container(_ref) {
7183 var children = _ref.children,
7184 _ref$sx = _ref.sx,
7185 sx = _ref$sx === void 0 ? {} : _ref$sx,
7186 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
7187 return /*#__PURE__*/_react.default.createElement(_ui.Box, (0, _extends2.default)({
7188 flexGrow: 1
7189 }, props, {
7190 sx: _objectSpread({
7191 overflowY: 'scroll'
7192 }, sx)
7193 }), children);
7194 };
7195 Container.propTypes = {
7196 sx: _propTypes.default.object,
7197 children: _propTypes.default.node
7198 };
7199 var ImagesDisplay = function ImagesDisplay(_ref2) {
7200 var images = _ref2.images,
7201 aspectRatio = _ref2.aspectRatio,
7202 onUseImage = _ref2.onUseImage,
7203 onEditImage = _ref2.onEditImage,
7204 _ref2$transparentCont = _ref2.transparentContainer,
7205 transparentContainer = _ref2$transparentCont === void 0 ? false : _ref2$transparentCont;
7206 var _useImageNavigation = (0, _useImageNavigation2.default)(images),
7207 zoomIndex = _useImageNavigation.zoomIndex,
7208 setZoomIndex = _useImageNavigation.setZoomIndex,
7209 actions = _useImageNavigation.actions;
7210 var _useImageSize = (0, _useImageSize2.default)(aspectRatio),
7211 width = _useImageSize.width,
7212 height = _useImageSize.height;
7213 if (zoomIndex > -1) {
7214 var currentImage = images[zoomIndex];
7215 return /*#__PURE__*/_react.default.createElement(Container, null, /*#__PURE__*/_react.default.createElement(_imageSlider.default, {
7216 onPrev: actions.prev,
7217 onNext: actions.next
7218 }, /*#__PURE__*/_react.default.createElement(_imageSlider.default.Actions, {
7219 startAction: /*#__PURE__*/_react.default.createElement(_backButton.default, {
7220 onClick: actions.reset
7221 })
7222 }, /*#__PURE__*/_react.default.createElement(_imageActions.default.EditImage, {
7223 onClick: function onClick() {
7224 return onEditImage(currentImage);
7225 }
7226 }), /*#__PURE__*/_react.default.createElement(_imageActions.default.UseImage, {
7227 onClick: function onClick() {
7228 return onUseImage(currentImage);
7229 }
7230 })), /*#__PURE__*/_react.default.createElement(_imageSlider.default.Image, {
7231 src: currentImage.image_url,
7232 style: {
7233 maxWidth: '630px',
7234 width: '100%',
7235 height: 'auto'
7236 }
7237 })));
7238 }
7239 if (1 === images.length) {
7240 var image = images[0];
7241 var singleImageStyle = {
7242 width: width,
7243 height: height
7244 };
7245 if (transparentContainer) {
7246 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%)';
7247 singleImageStyle.backgroundSize = '20px 20px';
7248 singleImageStyle.backgroundPosition = '0 0, 0 10px, 10px -10px, -10px 0px';
7249 }
7250 return /*#__PURE__*/_react.default.createElement(Container, {
7251 flexDirection: "column"
7252 }, /*#__PURE__*/_react.default.createElement(_singleImagePreview.default, null, /*#__PURE__*/_react.default.createElement(_singleImagePreview.default.Image, {
7253 src: image.image_url || image.url,
7254 style: singleImageStyle,
7255 alt: "generated-image"
7256 }, /*#__PURE__*/_react.default.createElement(_singleImagePreview.default.Actions, null, /*#__PURE__*/_react.default.createElement(_imageActions.default.EditImage, {
7257 onClick: function onClick() {
7258 return onEditImage(image);
7259 }
7260 }), /*#__PURE__*/_react.default.createElement(_imageActions.default.UseImage, {
7261 onClick: function onClick() {
7262 return onUseImage(image);
7263 }
7264 })))));
7265 }
7266 return /*#__PURE__*/_react.default.createElement(Container, null, /*#__PURE__*/_react.default.createElement(_gallery.default, null, images.map(function (image, index) {
7267 return /*#__PURE__*/_react.default.createElement(_gallery.default.Image, {
7268 key: "result-".concat(image.seed),
7269 alt: "generated-".concat(index),
7270 src: image.image_url,
7271 aspectRatio: aspectRatio,
7272 "data-testid": "e-gallery-image"
7273 }, /*#__PURE__*/_react.default.createElement(_imageActions.default, null, /*#__PURE__*/_react.default.createElement(_imageActions.default.UseImage, {
7274 onClick: function onClick() {
7275 return onUseImage(image);
7276 },
7277 size: "medium",
7278 fullWidth: true
7279 }), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
7280 direction: "row",
7281 spacing: 0.25,
7282 alignItems: "center"
7283 }, /*#__PURE__*/_react.default.createElement(_imageActions.default.ZoomIcon, {
7284 onClick: function onClick() {
7285 return setZoomIndex(index);
7286 },
7287 size: "medium"
7288 }), /*#__PURE__*/_react.default.createElement(_imageActions.default.EditIcon, {
7289 onClick: function onClick() {
7290 return onEditImage(image);
7291 },
7292 size: "medium"
7293 }))));
7294 })));
7295 };
7296 ImagesDisplay.propTypes = {
7297 images: _propTypes.default.array,
7298 aspectRatio: _propTypes.default.string,
7299 onUseImage: _propTypes.default.func,
7300 onEditImage: _propTypes.default.func,
7301 transparentContainer: _propTypes.default.bool
7302 };
7303 ImagesDisplay.Container = Container;
7304 var _default = ImagesDisplay;
7305 exports["default"] = _default;
7306
7307 /***/ }),
7308
7309 /***/ "../modules/ai/assets/js/editor/pages/form-media/components/new-prompt-button.js":
7310 /*!***************************************************************************************!*\
7311 !*** ../modules/ai/assets/js/editor/pages/form-media/components/new-prompt-button.js ***!
7312 \***************************************************************************************/
7313 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
7314
7315 "use strict";
7316
7317
7318 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
7319 Object.defineProperty(exports, "__esModule", ({
7320 value: true
7321 }));
7322 exports["default"] = void 0;
7323 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
7324 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
7325 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
7326 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
7327 var NewPromptButton = function NewPromptButton(props) {
7328 return /*#__PURE__*/_react.default.createElement(_ui.Button, (0, _extends2.default)({
7329 fullWidth: true,
7330 variant: "text",
7331 color: "secondary"
7332 }, props), (0, _i18n.__)('New prompt', 'elementor'));
7333 };
7334 var _default = NewPromptButton;
7335 exports["default"] = _default;
7336
7337 /***/ }),
7338
7339 /***/ "../modules/ai/assets/js/editor/pages/form-media/components/prompt-field.js":
7340 /*!**********************************************************************************!*\
7341 !*** ../modules/ai/assets/js/editor/pages/form-media/components/prompt-field.js ***!
7342 \**********************************************************************************/
7343 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
7344
7345 "use strict";
7346
7347
7348 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
7349 Object.defineProperty(exports, "__esModule", ({
7350 value: true
7351 }));
7352 exports["default"] = void 0;
7353 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
7354 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
7355 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
7356 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
7357 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
7358 var _textarea = _interopRequireDefault(__webpack_require__(/*! ../../../components/textarea */ "../modules/ai/assets/js/editor/components/textarea.js"));
7359 var _enhanceButton = _interopRequireDefault(__webpack_require__(/*! ./enhance-button */ "../modules/ai/assets/js/editor/pages/form-media/components/enhance-button.js"));
7360 var _usePromptEnhancer2 = _interopRequireDefault(__webpack_require__(/*! ../../../hooks/use-prompt-enhancer */ "../modules/ai/assets/js/editor/hooks/use-prompt-enhancer.js"));
7361 var _excluded = ["disabled", "onChange"];
7362 var PromptField = function PromptField(_ref) {
7363 var disabled = _ref.disabled,
7364 _onChange = _ref.onChange,
7365 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
7366 var _usePromptEnhancer = (0, _usePromptEnhancer2.default)(props.value, 'media'),
7367 enhance = _usePromptEnhancer.enhance,
7368 isEnhancing = _usePromptEnhancer.isEnhancing;
7369 return /*#__PURE__*/_react.default.createElement(_textarea.default, (0, _extends2.default)({
7370 minRows: 3,
7371 maxRows: 6,
7372 InputProps: {
7373 endAdornment: /*#__PURE__*/_react.default.createElement(_ui.InputAdornment, {
7374 position: "end",
7375 sx: {
7376 position: 'absolute',
7377 bottom: '24px',
7378 right: '8px'
7379 }
7380 }, /*#__PURE__*/_react.default.createElement(_enhanceButton.default, {
7381 isLoading: isEnhancing,
7382 disabled: disabled || isEnhancing || !props.value,
7383 onClick: function onClick() {
7384 enhance(prompt).then(function (_ref2) {
7385 var result = _ref2.result;
7386 return _onChange(result);
7387 });
7388 }
7389 }))
7390 },
7391 sx: {
7392 '& .MuiInputBase-input.MuiOutlinedInput-input.MuiInputBase-inputMultiline': {
7393 pb: 5,
7394 width: '89%'
7395 }
7396 },
7397 onKeyDown: function onKeyDown(event) {
7398 if ('Tab' === event.key) {
7399 event.preventDefault();
7400 _onChange(props.placeholder);
7401 }
7402 }
7403 }, props, {
7404 onChange: function onChange(event) {
7405 return _onChange(event.target.value);
7406 },
7407 disabled: disabled || isEnhancing
7408 }));
7409 };
7410 PromptField.propTypes = {
7411 value: _propTypes.default.string,
7412 disabled: _propTypes.default.bool,
7413 placeholder: _propTypes.default.string,
7414 onChange: _propTypes.default.func.isRequired
7415 };
7416 var _default = PromptField;
7417 exports["default"] = _default;
7418
7419 /***/ }),
7420
7421 /***/ "../modules/ai/assets/js/editor/pages/form-media/components/single-image-preview.js":
7422 /*!******************************************************************************************!*\
7423 !*** ../modules/ai/assets/js/editor/pages/form-media/components/single-image-preview.js ***!
7424 \******************************************************************************************/
7425 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
7426
7427 "use strict";
7428
7429
7430 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
7431 Object.defineProperty(exports, "__esModule", ({
7432 value: true
7433 }));
7434 exports["default"] = void 0;
7435 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
7436 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
7437 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
7438 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
7439 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
7440 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
7441 var _excluded = ["children"],
7442 _excluded2 = ["children", "sx"];
7443 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; }
7444 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; }
7445 var SingleImagePreview = function SingleImagePreview(_ref) {
7446 var children = _ref.children,
7447 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
7448 return /*#__PURE__*/_react.default.createElement(_ui.Box, (0, _extends2.default)({
7449 display: "flex"
7450 }, props), children);
7451 };
7452 SingleImagePreview.propTypes = {
7453 children: _propTypes.default.node.isRequired
7454 };
7455 var Actions = function Actions(_ref2) {
7456 var children = _ref2.children,
7457 _ref2$sx = _ref2.sx,
7458 sx = _ref2$sx === void 0 ? {} : _ref2$sx,
7459 props = (0, _objectWithoutProperties2.default)(_ref2, _excluded2);
7460 return /*#__PURE__*/_react.default.createElement(_ui.Box, (0, _extends2.default)({
7461 display: "flex",
7462 width: "100%",
7463 justifyContent: "flex-end",
7464 alignItems: "center"
7465 }, props, {
7466 sx: _objectSpread({
7467 mb: 1.5
7468 }, sx)
7469 }), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
7470 direction: "row",
7471 spacing: 2,
7472 justifyContent: "flex-end",
7473 width: "100%"
7474 }, children));
7475 };
7476 Actions.propTypes = {
7477 sx: _propTypes.default.object,
7478 children: _propTypes.default.node.isRequired
7479 };
7480 var Image = function Image(_ref3) {
7481 var src = _ref3.src,
7482 alt = _ref3.alt,
7483 _ref3$style = _ref3.style,
7484 style = _ref3$style === void 0 ? {} : _ref3$style,
7485 children = _ref3.children;
7486 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
7487 margin: "0 auto"
7488 }, children, /*#__PURE__*/_react.default.createElement("img", {
7489 src: src,
7490 alt: alt,
7491 style: _objectSpread({
7492 maxWidth: '100%',
7493 width: 'auto',
7494 maxHeight: '100%'
7495 }, style)
7496 }));
7497 };
7498 Image.propTypes = {
7499 style: _propTypes.default.object,
7500 children: _propTypes.default.node,
7501 src: _propTypes.default.string.isRequired,
7502 alt: _propTypes.default.string.isRequired
7503 };
7504 SingleImagePreview.Actions = Actions;
7505 SingleImagePreview.Image = Image;
7506 var _default = SingleImagePreview;
7507 exports["default"] = _default;
7508
7509 /***/ }),
7510
7511 /***/ "../modules/ai/assets/js/editor/pages/form-media/components/unsaved-changes-alert.js":
7512 /*!*******************************************************************************************!*\
7513 !*** ../modules/ai/assets/js/editor/pages/form-media/components/unsaved-changes-alert.js ***!
7514 \*******************************************************************************************/
7515 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
7516
7517 "use strict";
7518
7519
7520 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
7521 Object.defineProperty(exports, "__esModule", ({
7522 value: true
7523 }));
7524 exports["default"] = void 0;
7525 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
7526 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
7527 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
7528 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
7529 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
7530 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
7531 var _excluded = ["onClose", "onCancel"];
7532 var UnsavedChangesAlert = function UnsavedChangesAlert(_ref) {
7533 var onClose = _ref.onClose,
7534 onCancel = _ref.onCancel,
7535 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
7536 return /*#__PURE__*/_react.default.createElement(_ui.Dialog, (0, _extends2.default)({
7537 "aria-labelledby": "unsaved-changes-alert-title",
7538 "aria-describedby": "unsaved-changes-alert-description"
7539 }, props), /*#__PURE__*/_react.default.createElement(_ui.DialogTitle, {
7540 id: "unsaved-changes-alert-title"
7541 }, (0, _i18n.__)('Leave Elementor AI?', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.DialogContent, null, /*#__PURE__*/_react.default.createElement(_ui.DialogContentText, {
7542 id: "unsaved-changes-alert-description"
7543 }, (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, {
7544 onClick: onCancel,
7545 color: "secondary"
7546 }, (0, _i18n.__)('Cancel', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Button, {
7547 onClick: onClose,
7548 color: "error",
7549 variant: "contained"
7550 }, (0, _i18n.__)('Yes, leave', 'elementor'))));
7551 };
7552 UnsavedChangesAlert.propTypes = {
7553 onClose: _propTypes.default.func,
7554 onCancel: _propTypes.default.func
7555 };
7556 var _default = UnsavedChangesAlert;
7557 exports["default"] = _default;
7558
7559 /***/ }),
7560
7561 /***/ "../modules/ai/assets/js/editor/pages/form-media/components/view.js":
7562 /*!**************************************************************************!*\
7563 !*** ../modules/ai/assets/js/editor/pages/form-media/components/view.js ***!
7564 \**************************************************************************/
7565 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
7566
7567 "use strict";
7568
7569
7570 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
7571 Object.defineProperty(exports, "__esModule", ({
7572 value: true
7573 }));
7574 exports["default"] = void 0;
7575 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
7576 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
7577 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
7578 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
7579 var _panel = _interopRequireDefault(__webpack_require__(/*! ../../../components/ui/panel */ "../modules/ai/assets/js/editor/components/ui/panel.js"));
7580 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
7581 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
7582 var _loader = _interopRequireDefault(__webpack_require__(/*! ../../../components/loader */ "../modules/ai/assets/js/editor/components/loader.js"));
7583 var _generateLoader = _interopRequireDefault(__webpack_require__(/*! ./generate-loader */ "../modules/ai/assets/js/editor/pages/form-media/components/generate-loader.js"));
7584 var _promptErrorMessage = _interopRequireDefault(__webpack_require__(/*! ../../../components/prompt-error-message */ "../modules/ai/assets/js/editor/components/prompt-error-message.js"));
7585 var _backButton = _interopRequireDefault(__webpack_require__(/*! ./back-button */ "../modules/ai/assets/js/editor/pages/form-media/components/back-button.js"));
7586 var _locationContext = __webpack_require__(/*! ../context/location-context */ "../modules/ai/assets/js/editor/pages/form-media/context/location-context.js");
7587 var _globalSettingsContext = __webpack_require__(/*! ../context/global-settings-context */ "../modules/ai/assets/js/editor/pages/form-media/context/global-settings-context.js");
7588 var _usageMessages = _interopRequireDefault(__webpack_require__(/*! ../../../components/usage-messages */ "../modules/ai/assets/js/editor/components/usage-messages.js"));
7589 var _excluded = ["sx"],
7590 _excluded2 = ["primary", "secondary"],
7591 _excluded3 = ["primary", "secondary"],
7592 _excluded4 = ["children"],
7593 _excluded5 = ["isLoading", "isGenerating", "children"],
7594 _excluded6 = ["sx"];
7595 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; }
7596 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; }
7597 var ViewBackButton = function ViewBackButton(_ref) {
7598 var _ref$sx = _ref.sx,
7599 sx = _ref$sx === void 0 ? {} : _ref$sx,
7600 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
7601 var _useLocation = (0, _locationContext.useLocation)(),
7602 back = _useLocation.back;
7603 return /*#__PURE__*/_react.default.createElement(_backButton.default, (0, _extends2.default)({
7604 onClick: function onClick(e) {
7605 e.preventDefault();
7606 back();
7607 }
7608 }, props, {
7609 sx: _objectSpread({
7610 mb: 1,
7611 alignSelf: 'flex-start'
7612 }, sx)
7613 }));
7614 };
7615 ViewBackButton.propTypes = {
7616 sx: _propTypes.default.object
7617 };
7618 var PanelHeading = function PanelHeading(_ref2) {
7619 var primary = _ref2.primary,
7620 secondary = _ref2.secondary,
7621 props = (0, _objectWithoutProperties2.default)(_ref2, _excluded2);
7622 return /*#__PURE__*/_react.default.createElement(_ui.Stack, (0, _extends2.default)({
7623 spacing: 1,
7624 sx: {
7625 mb: 3
7626 }
7627 }, props), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
7628 variant: "h4"
7629 }, primary), secondary && /*#__PURE__*/_react.default.createElement(_ui.Typography, {
7630 variant: "body1",
7631 color: "secondary"
7632 }, secondary));
7633 };
7634 PanelHeading.propTypes = {
7635 primary: _propTypes.default.string.isRequired,
7636 secondary: _propTypes.default.string
7637 };
7638 var ContentHeading = function ContentHeading(_ref3) {
7639 var primary = _ref3.primary,
7640 secondary = _ref3.secondary,
7641 props = (0, _objectWithoutProperties2.default)(_ref3, _excluded3);
7642 return /*#__PURE__*/_react.default.createElement(_ui.Stack, (0, _extends2.default)({
7643 gap: 1.5,
7644 sx: {
7645 mb: 3
7646 }
7647 }, props), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
7648 variant: "h6"
7649 }, primary), secondary && /*#__PURE__*/_react.default.createElement(_ui.Typography, {
7650 variant: "subtitle1",
7651 color: "secondary"
7652 }, secondary));
7653 };
7654 ContentHeading.propTypes = {
7655 primary: _propTypes.default.string.isRequired,
7656 secondary: _propTypes.default.string
7657 };
7658 var View = function View(_ref4) {
7659 var children = _ref4.children,
7660 props = (0, _objectWithoutProperties2.default)(_ref4, _excluded4);
7661 return /*#__PURE__*/_react.default.createElement(_ui.Box, (0, _extends2.default)({
7662 className: "e-ai-dialog-content",
7663 display: "flex",
7664 sx: {
7665 overflowY: 'auto',
7666 position: 'relative'
7667 },
7668 height: "100%"
7669 }, props), children);
7670 };
7671 var Content = function Content(_ref5) {
7672 var _ref5$isLoading = _ref5.isLoading,
7673 isLoading = _ref5$isLoading === void 0 ? false : _ref5$isLoading,
7674 _ref5$isGenerating = _ref5.isGenerating,
7675 isGenerating = _ref5$isGenerating === void 0 ? false : _ref5$isGenerating,
7676 children = _ref5.children,
7677 props = (0, _objectWithoutProperties2.default)(_ref5, _excluded5);
7678 if (isGenerating) {
7679 return /*#__PURE__*/_react.default.createElement(_generateLoader.default, null);
7680 }
7681 if (isLoading) {
7682 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
7683 sx: {
7684 width: '100%',
7685 maxWidth: 600,
7686 margin: '0 auto',
7687 alignSelf: 'center'
7688 }
7689 }, /*#__PURE__*/_react.default.createElement(_loader.default, {
7690 color: "inherit"
7691 }));
7692 }
7693 return /*#__PURE__*/_react.default.createElement(_ui.Box, (0, _extends2.default)({
7694 sx: {
7695 overflowY: 'scroll',
7696 p: 4
7697 },
7698 flexGrow: 1
7699 }, props), children);
7700 };
7701 Content.propTypes = {
7702 children: _propTypes.default.node,
7703 isLoading: _propTypes.default.bool,
7704 isGenerating: _propTypes.default.bool
7705 };
7706 var ErrorMessage = function ErrorMessage(_ref6) {
7707 var _ref6$sx = _ref6.sx,
7708 sx = _ref6$sx === void 0 ? {} : _ref6$sx,
7709 props = (0, _objectWithoutProperties2.default)(_ref6, _excluded6);
7710 return /*#__PURE__*/_react.default.createElement(_promptErrorMessage.default, (0, _extends2.default)({
7711 actionPosition: "bottom"
7712 }, props, {
7713 sx: _objectSpread({
7714 mb: 2.5
7715 }, sx)
7716 }));
7717 };
7718 ErrorMessage.propTypes = {
7719 sx: _propTypes.default.object
7720 };
7721 var ViewPanel = function ViewPanel(props) {
7722 var _useGlobalSettings = (0, _globalSettingsContext.useGlobalSettings)(),
7723 hasSubscription = _useGlobalSettings.hasSubscription,
7724 usagePercentage = _useGlobalSettings.usagePercentage;
7725 return /*#__PURE__*/_react.default.createElement(_panel.default, null, /*#__PURE__*/_react.default.createElement(_usageMessages.default, {
7726 hasSubscription: hasSubscription,
7727 usagePercentage: usagePercentage,
7728 sx: {
7729 mb: 4
7730 }
7731 }), props.children);
7732 };
7733 ViewPanel.propTypes = {
7734 children: _propTypes.default.node
7735 };
7736 View.Panel = ViewPanel;
7737 View.Content = Content;
7738 View.BackButton = ViewBackButton;
7739 View.ErrorMessage = ErrorMessage;
7740 View.PanelHeading = PanelHeading;
7741 View.ContentHeading = ContentHeading;
7742 View.propTypes = {
7743 children: _propTypes.default.node
7744 };
7745 var _default = View;
7746 exports["default"] = _default;
7747
7748 /***/ }),
7749
7750 /***/ "../modules/ai/assets/js/editor/pages/form-media/constants/index.js":
7751 /*!**************************************************************************!*\
7752 !*** ../modules/ai/assets/js/editor/pages/form-media/constants/index.js ***!
7753 \**************************************************************************/
7754 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
7755
7756 "use strict";
7757
7758
7759 Object.defineProperty(exports, "__esModule", ({
7760 value: true
7761 }));
7762 exports.LOCATIONS = exports.IMAGE_PROMPT_SETTINGS = exports.IMAGE_PROMPT_CATEGORIES = exports.IMAGE_ASPECT_RATIO = void 0;
7763 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
7764 var LOCATIONS = {
7765 RESIZE: 'resize',
7766 GENERATE: 'generate',
7767 VARIATIONS: 'variations',
7768 IMAGE_TOOLS: 'image-tools',
7769 IN_PAINTING: 'in-painting',
7770 OUT_PAINTING: 'out-painting',
7771 REMOVE_BACKGROUND: 'remove-background',
7772 REPLACE_BACKGROUND: 'replace-background',
7773 REMOVE_TEXT: 'remove-text'
7774 };
7775 exports.LOCATIONS = LOCATIONS;
7776 var IMAGE_PROMPT_SETTINGS = {
7777 IMAGE_TYPE: 'image_type',
7778 IMAGE_STYLE: 'style_preset',
7779 IMAGE_STRENGTH: 'image_strength',
7780 IMAGE_RATIO: 'ratio',
7781 IMAGE_ZOOM: 'zoom',
7782 IMAGE_UPSCALE: 'upscale_to'
7783 };
7784 exports.IMAGE_PROMPT_SETTINGS = IMAGE_PROMPT_SETTINGS;
7785 var IMAGE_PROMPT_CATEGORIES = {
7786 '': {
7787 label: (0, _i18n.__)('None', 'elementor'),
7788 subCategories: {}
7789 },
7790 photographic: {
7791 label: (0, _i18n.__)('Photographic', 'elementor'),
7792 subCategories: {
7793 '': (0, _i18n.__)('None', 'elementor'),
7794 landscape: (0, _i18n.__)('Landscape', 'elementor'),
7795 macro: (0, _i18n.__)('Macro', 'elementor'),
7796 portrait: (0, _i18n.__)('Portrait', 'elementor'),
7797 'long-exposure': (0, _i18n.__)('Long Exposure', 'elementor')
7798 }
7799 },
7800 background: {
7801 label: (0, _i18n.__)('Background', 'elementor'),
7802 subCategories: {
7803 '': (0, _i18n.__)('None', 'elementor'),
7804 floral: (0, _i18n.__)('Floral', 'elementor'),
7805 gradient: (0, _i18n.__)('Gradient', 'elementor'),
7806 mosaic: (0, _i18n.__)('Mosaic', 'elementor'),
7807 neon: (0, _i18n.__)('Neon', 'elementor'),
7808 bokeh: (0, _i18n.__)('Bokeh', 'elementor')
7809 }
7810 },
7811 handmade: {
7812 label: (0, _i18n.__)('Handmade', 'elementor'),
7813 subCategories: {
7814 '': (0, _i18n.__)('None', 'elementor'),
7815 doodle: (0, _i18n.__)('Doodle', 'elementor'),
7816 'line-art': (0, _i18n.__)('Line Art', 'elementor'),
7817 'oil-painting': (0, _i18n.__)('Oil Painting', 'elementor'),
7818 'pencil-drawing': (0, _i18n.__)('Pencil Drawing', 'elementor'),
7819 watercolor: (0, _i18n.__)('Watercolor', 'elementor')
7820 }
7821 },
7822 'digital-art': {
7823 label: (0, _i18n.__)('Digital Art', 'elementor'),
7824 subCategories: {
7825 '': (0, _i18n.__)('None', 'elementor'),
7826 amine: (0, _i18n.__)('Anime', 'elementor'),
7827 cartoon: (0, _i18n.__)('Cartoon', 'elementor'),
7828 cinematic: (0, _i18n.__)('Cinematic', 'elementor'),
7829 'comic-book': (0, _i18n.__)('Comic Book', 'elementor'),
7830 'fantasy-art': (0, _i18n.__)('Fantasy Art', 'elementor'),
7831 isometric: (0, _i18n.__)('Isometric', 'elementor'),
7832 vector: (0, _i18n.__)('Vector', 'elementor'),
7833 'pixel-art': (0, _i18n.__)('Pixel Art', 'elementor'),
7834 'low-poly': (0, _i18n.__)('Low Poly', 'elementor'),
7835 'neon-punk': (0, _i18n.__)('Neon Punk', 'elementor')
7836 }
7837 },
7838 '3d': {
7839 label: (0, _i18n.__)('3D', 'elementor'),
7840 subCategories: {
7841 '': (0, _i18n.__)('None', 'elementor'),
7842 clay: (0, _i18n.__)('Clay', 'elementor'),
7843 digital: (0, _i18n.__)('Digital', 'elementor'),
7844 origami: (0, _i18n.__)('Origami', 'elementor'),
7845 stone: (0, _i18n.__)('Stone', 'elementor'),
7846 wood: (0, _i18n.__)('Wood', 'elementor')
7847 }
7848 }
7849 };
7850 exports.IMAGE_PROMPT_CATEGORIES = IMAGE_PROMPT_CATEGORIES;
7851 var IMAGE_ASPECT_RATIO = {
7852 '1:1': {
7853 width: 512,
7854 height: 512,
7855 label: (0, _i18n.__)('Square', 'elementor') + ' (1:1)'
7856 },
7857 '3:2': {
7858 width: 640,
7859 height: 448,
7860 label: (0, _i18n.__)('Landscape', 'elementor') + ' (3:2)'
7861 },
7862 '4:3': {
7863 width: 640,
7864 height: 448,
7865 label: (0, _i18n.__)('Landscape', 'elementor') + ' (4:3)'
7866 },
7867 '16:9': {
7868 width: 704,
7869 height: 384,
7870 label: (0, _i18n.__)('Landscape', 'elementor') + ' (16:9)'
7871 },
7872 '2:3': {
7873 width: 448,
7874 height: 640,
7875 label: (0, _i18n.__)('Portrait', 'elementor') + ' (2:3)'
7876 },
7877 '3:4': {
7878 width: 448,
7879 height: 640,
7880 label: (0, _i18n.__)('Portrait', 'elementor') + ' (3:4)'
7881 },
7882 '9:16': {
7883 width: 384,
7884 height: 704,
7885 label: (0, _i18n.__)('Portrait', 'elementor') + ' (9:16)'
7886 }
7887 };
7888 exports.IMAGE_ASPECT_RATIO = IMAGE_ASPECT_RATIO;
7889
7890 /***/ }),
7891
7892 /***/ "../modules/ai/assets/js/editor/pages/form-media/context/edit-image-context.js":
7893 /*!*************************************************************************************!*\
7894 !*** ../modules/ai/assets/js/editor/pages/form-media/context/edit-image-context.js ***!
7895 \*************************************************************************************/
7896 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
7897
7898 "use strict";
7899
7900
7901 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
7902 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
7903 Object.defineProperty(exports, "__esModule", ({
7904 value: true
7905 }));
7906 exports.useEditImage = exports.SET_LOADING = exports.SET_ASPECT_RATIO = exports.RESET = exports.EditImageProvider = exports.EditImageContext = void 0;
7907 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
7908 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
7909 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
7910 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
7911 var _useImageSize2 = _interopRequireDefault(__webpack_require__(/*! ../hooks/use-image-size */ "../modules/ai/assets/js/editor/pages/form-media/hooks/use-image-size.js"));
7912 var _utils = __webpack_require__(/*! ../utils */ "../modules/ai/assets/js/editor/pages/form-media/utils/index.js");
7913 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); }
7914 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; }
7915 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; }
7916 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; }
7917 var EditImageContext = (0, _react.createContext)({});
7918 exports.EditImageContext = EditImageContext;
7919 var SET_STATE = 'SET_STATE';
7920 var SET_ASPECT_RATIO = 'SET_ASPECT_RATIO';
7921 exports.SET_ASPECT_RATIO = SET_ASPECT_RATIO;
7922 var SET_LOADING = 'SET_LOADING';
7923 exports.SET_LOADING = SET_LOADING;
7924 var RESET = 'RESET';
7925 exports.RESET = RESET;
7926 var initialValue = {
7927 id: '',
7928 url: '',
7929 isLoading: false,
7930 aspectRatio: '1:1'
7931 };
7932 var reducer = function reducer(state, _ref) {
7933 var type = _ref.type,
7934 payload = _ref.payload;
7935 switch (type) {
7936 case SET_STATE:
7937 return _objectSpread(_objectSpread({}, state), payload);
7938 case SET_ASPECT_RATIO:
7939 return _objectSpread(_objectSpread({}, state), {}, {
7940 aspectRatio: payload
7941 });
7942 case SET_LOADING:
7943 return _objectSpread(_objectSpread({}, state), {}, {
7944 isLoading: payload
7945 });
7946 case RESET:
7947 return initialValue;
7948 default:
7949 throw Error('Unknown action.');
7950 }
7951 };
7952 var EditImageProvider = function EditImageProvider(_ref2) {
7953 var children = _ref2.children,
7954 imageData = _ref2.imageData;
7955 var initialData = _objectSpread(_objectSpread({}, initialValue), imageData);
7956 var _useReducer = (0, _react.useReducer)(reducer, initialData),
7957 _useReducer2 = (0, _slicedToArray2.default)(_useReducer, 2),
7958 state = _useReducer2[0],
7959 dispatch = _useReducer2[1];
7960 return /*#__PURE__*/_react.default.createElement(EditImageContext.Provider, {
7961 value: {
7962 state: state,
7963 dispatch: dispatch
7964 }
7965 }, children);
7966 };
7967 exports.EditImageProvider = EditImageProvider;
7968 EditImageProvider.propTypes = {
7969 children: _propTypes.default.node,
7970 imageData: _propTypes.default.object
7971 };
7972 var useEditImage = function useEditImage() {
7973 var _useContext = (0, _react.useContext)(EditImageContext),
7974 state = _useContext.state,
7975 dispatch = _useContext.dispatch;
7976 var id = state.id,
7977 url = state.url,
7978 aspectRatio = state.aspectRatio,
7979 isLoading = state.isLoading;
7980 var _useImageSize = (0, _useImageSize2.default)(aspectRatio),
7981 width = _useImageSize.width,
7982 height = _useImageSize.height;
7983 var setEditImage = function setEditImage(payload) {
7984 return dispatch({
7985 type: SET_STATE,
7986 payload: payload
7987 });
7988 };
7989 var setAspectRatio = function setAspectRatio(payload) {
7990 return dispatch({
7991 type: SET_ASPECT_RATIO,
7992 payload: payload
7993 });
7994 };
7995 var reset = function reset() {
7996 return dispatch({
7997 type: RESET
7998 });
7999 };
8000
8001 // Getting the aspect ratio of the image.
8002 (0, _react.useEffect)(function () {
8003 if (!id) {
8004 return;
8005 }
8006 dispatch({
8007 type: SET_LOADING,
8008 payload: true
8009 });
8010 var img = new Image();
8011 img.src = url;
8012 img.onload = function () {
8013 var _getAspectRatioSizes = (0, _utils.getAspectRatioSizes)(img.width, img.height),
8014 ratio = _getAspectRatioSizes.ratio;
8015 dispatch({
8016 type: SET_STATE,
8017 payload: {
8018 aspectRatio: ratio,
8019 isLoading: false
8020 }
8021 });
8022 };
8023 }, [id]);
8024 return {
8025 editImage: state,
8026 isLoading: isLoading,
8027 aspectRatio: aspectRatio,
8028 width: width,
8029 height: height,
8030 setEditImage: setEditImage,
8031 setAspectRatio: setAspectRatio,
8032 reset: reset
8033 };
8034 };
8035 exports.useEditImage = useEditImage;
8036
8037 /***/ }),
8038
8039 /***/ "../modules/ai/assets/js/editor/pages/form-media/context/global-actions-context.js":
8040 /*!*****************************************************************************************!*\
8041 !*** ../modules/ai/assets/js/editor/pages/form-media/context/global-actions-context.js ***!
8042 \*****************************************************************************************/
8043 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
8044
8045 "use strict";
8046
8047
8048 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
8049 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
8050 Object.defineProperty(exports, "__esModule", ({
8051 value: true
8052 }));
8053 exports.useGlobalActions = exports.GlobalActionsProvider = exports.GlobalActionsContext = void 0;
8054 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
8055 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
8056 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); }
8057 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; }
8058 var GlobalActionsContext = (0, _react.createContext)({});
8059 exports.GlobalActionsContext = GlobalActionsContext;
8060 var GlobalActionsProvider = function GlobalActionsProvider(_ref) {
8061 var actions = _ref.actions,
8062 children = _ref.children;
8063 return /*#__PURE__*/_react.default.createElement(GlobalActionsContext.Provider, {
8064 value: actions
8065 }, children);
8066 };
8067 exports.GlobalActionsProvider = GlobalActionsProvider;
8068 GlobalActionsProvider.propTypes = {
8069 actions: _propTypes.default.object,
8070 children: _propTypes.default.node
8071 };
8072 var useGlobalActions = function useGlobalActions() {
8073 return (0, _react.useContext)(GlobalActionsContext);
8074 };
8075 exports.useGlobalActions = useGlobalActions;
8076
8077 /***/ }),
8078
8079 /***/ "../modules/ai/assets/js/editor/pages/form-media/context/global-settings-context.js":
8080 /*!******************************************************************************************!*\
8081 !*** ../modules/ai/assets/js/editor/pages/form-media/context/global-settings-context.js ***!
8082 \******************************************************************************************/
8083 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
8084
8085 "use strict";
8086
8087
8088 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
8089 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
8090 Object.defineProperty(exports, "__esModule", ({
8091 value: true
8092 }));
8093 exports.useGlobalSettings = exports.GlobalSettingsProvider = exports.GlobalSettingsContext = void 0;
8094 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
8095 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
8096 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); }
8097 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; }
8098 var GlobalSettingsContext = (0, _react.createContext)({});
8099 exports.GlobalSettingsContext = GlobalSettingsContext;
8100 var GlobalSettingsProvider = function GlobalSettingsProvider(_ref) {
8101 var settings = _ref.settings,
8102 children = _ref.children;
8103 return /*#__PURE__*/_react.default.createElement(GlobalSettingsContext.Provider, {
8104 value: settings
8105 }, children);
8106 };
8107 exports.GlobalSettingsProvider = GlobalSettingsProvider;
8108 GlobalSettingsProvider.propTypes = {
8109 settings: _propTypes.default.object,
8110 children: _propTypes.default.node
8111 };
8112 var useGlobalSettings = function useGlobalSettings() {
8113 return (0, _react.useContext)(GlobalSettingsContext);
8114 };
8115 exports.useGlobalSettings = useGlobalSettings;
8116
8117 /***/ }),
8118
8119 /***/ "../modules/ai/assets/js/editor/pages/form-media/context/location-context.js":
8120 /*!***********************************************************************************!*\
8121 !*** ../modules/ai/assets/js/editor/pages/form-media/context/location-context.js ***!
8122 \***********************************************************************************/
8123 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
8124
8125 "use strict";
8126
8127
8128 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
8129 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
8130 Object.defineProperty(exports, "__esModule", ({
8131 value: true
8132 }));
8133 exports.useLocation = exports.RoutesContext = exports.NAVIGATE = exports.LocationProvider = exports.BACK = void 0;
8134 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
8135 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
8136 var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "../node_modules/@babel/runtime/helpers/toConsumableArray.js"));
8137 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
8138 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
8139 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); }
8140 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; }
8141 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; }
8142 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; }
8143 var RoutesContext = (0, _react.createContext)(null);
8144 exports.RoutesContext = RoutesContext;
8145 var NAVIGATE = 'NAVIGATE';
8146 exports.NAVIGATE = NAVIGATE;
8147 var BACK = 'BACK';
8148 exports.BACK = BACK;
8149 var initialValue = {
8150 current: '',
8151 history: []
8152 };
8153 var reducer = function reducer(state, _ref) {
8154 var type = _ref.type,
8155 payload = _ref.payload;
8156 switch (type) {
8157 case NAVIGATE:
8158 return _objectSpread(_objectSpread({}, state), {}, {
8159 current: payload,
8160 history: [].concat((0, _toConsumableArray2.default)(state.history), [payload])
8161 });
8162 case BACK:
8163 return _objectSpread(_objectSpread({}, state), {}, {
8164 current: state.history[state.history.length - 2],
8165 history: state.history.slice(0, state.history.length - 1)
8166 });
8167 default:
8168 return state;
8169 }
8170 };
8171 var LocationProvider = function LocationProvider(_ref2) {
8172 var children = _ref2.children;
8173 var _useReducer = (0, _react.useReducer)(reducer, initialValue),
8174 _useReducer2 = (0, _slicedToArray2.default)(_useReducer, 2),
8175 state = _useReducer2[0],
8176 dispatch = _useReducer2[1];
8177 return /*#__PURE__*/_react.default.createElement(RoutesContext.Provider, {
8178 value: {
8179 state: state,
8180 dispatch: dispatch
8181 }
8182 }, children);
8183 };
8184 exports.LocationProvider = LocationProvider;
8185 LocationProvider.propTypes = {
8186 children: _propTypes.default.node
8187 };
8188 var useLocation = function useLocation() {
8189 var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
8190 current = _ref3.current;
8191 var _useContext = (0, _react.useContext)(RoutesContext),
8192 state = _useContext.state,
8193 dispatch = _useContext.dispatch;
8194 var navigate = function navigate(location) {
8195 dispatch({
8196 type: NAVIGATE,
8197 payload: location
8198 });
8199 };
8200 var back = function back() {
8201 dispatch({
8202 type: BACK
8203 });
8204 };
8205 (0, _react.useEffect)(function () {
8206 if (current) {
8207 navigate(current);
8208 }
8209 }, []);
8210 return {
8211 current: state.current,
8212 history: state.history,
8213 navigate: navigate,
8214 back: back
8215 };
8216 };
8217 exports.useLocation = useLocation;
8218
8219 /***/ }),
8220
8221 /***/ "../modules/ai/assets/js/editor/pages/form-media/hooks/use-image-actions.js":
8222 /*!**********************************************************************************!*\
8223 !*** ../modules/ai/assets/js/editor/pages/form-media/hooks/use-image-actions.js ***!
8224 \**********************************************************************************/
8225 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
8226
8227 "use strict";
8228
8229
8230 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
8231 Object.defineProperty(exports, "__esModule", ({
8232 value: true
8233 }));
8234 exports["default"] = void 0;
8235 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
8236 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
8237 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
8238 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
8239 var _editImageContext = __webpack_require__(/*! ../context/edit-image-context */ "../modules/ai/assets/js/editor/pages/form-media/context/edit-image-context.js");
8240 var _useImageUpload2 = _interopRequireDefault(__webpack_require__(/*! ./use-image-upload */ "../modules/ai/assets/js/editor/pages/form-media/hooks/use-image-upload.js"));
8241 var _globalActionsContext = __webpack_require__(/*! ../context/global-actions-context */ "../modules/ai/assets/js/editor/pages/form-media/context/global-actions-context.js");
8242 var _excluded = ["image"];
8243 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; }
8244 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; }
8245 var normalizeImageData = function normalizeImageData(imageToUpload) {
8246 if (!(imageToUpload !== null && imageToUpload !== void 0 && imageToUpload.imageUrl)) {
8247 return imageToUpload;
8248 }
8249 return _objectSpread(_objectSpread({}, imageToUpload), {}, {
8250 image_url: imageToUpload.imageUrl,
8251 use_gallery_image: true
8252 });
8253 };
8254 var useImageActions = function useImageActions() {
8255 var _useEditImage = (0, _editImageContext.useEditImage)(),
8256 editImage = _useEditImage.editImage,
8257 setEditImage = _useEditImage.setEditImage;
8258 var _useGlobalActions = (0, _globalActionsContext.useGlobalActions)(),
8259 setControlImage = _useGlobalActions.setControlImage,
8260 saveAndClose = _useGlobalActions.saveAndClose;
8261 var _useImageUpload = (0, _useImageUpload2.default)(),
8262 attachmentData = _useImageUpload.attachmentData,
8263 isUploading = _useImageUpload.isUploading,
8264 uploadError = _useImageUpload.uploadError,
8265 uploadImage = _useImageUpload.upload,
8266 resetUpload = _useImageUpload.resetUpload;
8267 var upload = function upload(imageToUpload, prompt) {
8268 return uploadImage({
8269 image: normalizeImageData(imageToUpload),
8270 prompt: prompt || imageToUpload.prompt
8271 });
8272 };
8273 var getFinalImage = /*#__PURE__*/function () {
8274 var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(imageToUpload, prompt) {
8275 var isImageAlreadyUploaded, image, _result, result;
8276 return _regenerator.default.wrap(function _callee$(_context) {
8277 while (1) switch (_context.prev = _context.next) {
8278 case 0:
8279 isImageAlreadyUploaded = editImage.url === imageToUpload.url;
8280 if (!isImageAlreadyUploaded) {
8281 _context.next = 4;
8282 break;
8283 }
8284 // Removing inner image property to avoid duplicated uploads.
8285 image = editImage.image, _result = (0, _objectWithoutProperties2.default)(editImage, _excluded);
8286 return _context.abrupt("return", _result);
8287 case 4:
8288 _context.next = 6;
8289 return upload(imageToUpload, prompt);
8290 case 6:
8291 result = _context.sent;
8292 return _context.abrupt("return", result.image);
8293 case 8:
8294 case "end":
8295 return _context.stop();
8296 }
8297 }, _callee);
8298 }));
8299 return function getFinalImage(_x, _x2) {
8300 return _ref.apply(this, arguments);
8301 };
8302 }();
8303 var edit = /*#__PURE__*/function () {
8304 var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(imageToUpload, prompt) {
8305 var result;
8306 return _regenerator.default.wrap(function _callee2$(_context2) {
8307 while (1) switch (_context2.prev = _context2.next) {
8308 case 0:
8309 _context2.next = 2;
8310 return upload(imageToUpload, prompt);
8311 case 2:
8312 result = _context2.sent;
8313 setEditImage(result.image);
8314 case 4:
8315 case "end":
8316 return _context2.stop();
8317 }
8318 }, _callee2);
8319 }));
8320 return function edit(_x3, _x4) {
8321 return _ref2.apply(this, arguments);
8322 };
8323 }();
8324 var use = /*#__PURE__*/function () {
8325 var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(imageToUpload, prompt) {
8326 var result;
8327 return _regenerator.default.wrap(function _callee3$(_context3) {
8328 while (1) switch (_context3.prev = _context3.next) {
8329 case 0:
8330 _context3.next = 2;
8331 return getFinalImage(imageToUpload, prompt);
8332 case 2:
8333 result = _context3.sent;
8334 setControlImage(result);
8335 saveAndClose();
8336 case 5:
8337 case "end":
8338 return _context3.stop();
8339 }
8340 }, _callee3);
8341 }));
8342 return function use(_x5, _x6) {
8343 return _ref3.apply(this, arguments);
8344 };
8345 }();
8346 return {
8347 use: use,
8348 edit: edit,
8349 reset: resetUpload,
8350 error: uploadError,
8351 data: attachmentData,
8352 isLoading: isUploading
8353 };
8354 };
8355 var _default = useImageActions;
8356 exports["default"] = _default;
8357
8358 /***/ }),
8359
8360 /***/ "../modules/ai/assets/js/editor/pages/form-media/hooks/use-image-prompt.js":
8361 /*!*********************************************************************************!*\
8362 !*** ../modules/ai/assets/js/editor/pages/form-media/hooks/use-image-prompt.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 _react = __webpack_require__(/*! react */ "react");
8375 var _usePrompt = _interopRequireDefault(__webpack_require__(/*! ../../../hooks/use-prompt */ "../modules/ai/assets/js/editor/hooks/use-prompt.js"));
8376 var _globalActionsContext = __webpack_require__(/*! ../context/global-actions-context */ "../modules/ai/assets/js/editor/pages/form-media/context/global-actions-context.js");
8377 var useImagePrompt = function useImagePrompt() {
8378 var promptData = _usePrompt.default.apply(void 0, arguments);
8379 var _useGlobalActions = (0, _globalActionsContext.useGlobalActions)(),
8380 setHasUnsavedChanges = _useGlobalActions.setHasUnsavedChanges,
8381 state = _useGlobalActions.state;
8382 (0, _react.useEffect)(function () {
8383 var _promptData$data;
8384 if ((_promptData$data = promptData.data) !== null && _promptData$data !== void 0 && _promptData$data.result) {
8385 // Updating the hasUnsavedChanges global state that will trigger the unsaved changes dialog.
8386 setHasUnsavedChanges(true);
8387 }
8388 }, [promptData.data]);
8389 (0, _react.useEffect)(function () {
8390 if (state.isAllSaved) {
8391 promptData.sendUsageData();
8392 }
8393 }, [state.isAllSaved]);
8394 return promptData;
8395 };
8396 var _default = useImagePrompt;
8397 exports["default"] = _default;
8398
8399 /***/ }),
8400
8401 /***/ "../modules/ai/assets/js/editor/pages/form-media/hooks/use-image-size.js":
8402 /*!*******************************************************************************!*\
8403 !*** ../modules/ai/assets/js/editor/pages/form-media/hooks/use-image-size.js ***!
8404 \*******************************************************************************/
8405 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
8406
8407 "use strict";
8408
8409
8410 Object.defineProperty(exports, "__esModule", ({
8411 value: true
8412 }));
8413 exports["default"] = void 0;
8414 var _constants = __webpack_require__(/*! ../constants */ "../modules/ai/assets/js/editor/pages/form-media/constants/index.js");
8415 var useImageSize = function useImageSize(aspectRatio) {
8416 var _IMAGE_ASPECT_RATIO$a = _constants.IMAGE_ASPECT_RATIO[aspectRatio],
8417 width = _IMAGE_ASPECT_RATIO$a.width,
8418 height = _IMAGE_ASPECT_RATIO$a.height;
8419 return {
8420 width: width,
8421 height: height
8422 };
8423 };
8424 var _default = useImageSize;
8425 exports["default"] = _default;
8426
8427 /***/ }),
8428
8429 /***/ "../modules/ai/assets/js/editor/pages/form-media/hooks/use-image-upload.js":
8430 /*!*********************************************************************************!*\
8431 !*** ../modules/ai/assets/js/editor/pages/form-media/hooks/use-image-upload.js ***!
8432 \*********************************************************************************/
8433 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
8434
8435 "use strict";
8436
8437
8438 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
8439 Object.defineProperty(exports, "__esModule", ({
8440 value: true
8441 }));
8442 exports["default"] = void 0;
8443 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
8444 var _react = __webpack_require__(/*! react */ "react");
8445 var _api = __webpack_require__(/*! ../../../api */ "../modules/ai/assets/js/editor/api/index.js");
8446 var useImageUpload = function useImageUpload() {
8447 var _useState = (0, _react.useState)(false),
8448 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
8449 isUploading = _useState2[0],
8450 setIsUploading = _useState2[1];
8451 var _useState3 = (0, _react.useState)(''),
8452 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
8453 uploadError = _useState4[0],
8454 setUploadError = _useState4[1];
8455 var _useState5 = (0, _react.useState)({}),
8456 _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
8457 attachmentData = _useState6[0],
8458 setAttachmentData = _useState6[1];
8459 var upload = function upload(_ref) {
8460 var image = _ref.image,
8461 prompt = _ref.prompt;
8462 return new Promise(function (resolve, reject) {
8463 setUploadError('');
8464 setAttachmentData({});
8465 setIsUploading(true);
8466 (0, _api.uploadImage)({
8467 image: image,
8468 prompt: prompt
8469 }).then(function (result) {
8470 setAttachmentData(result);
8471 resolve(result);
8472 }).catch(function (err) {
8473 var error = (err === null || err === void 0 ? void 0 : err.responseText) || err;
8474 setUploadError(error);
8475 reject(error);
8476 }).finally(function () {
8477 return setIsUploading(false);
8478 });
8479 });
8480 };
8481 var resetUpload = function resetUpload() {
8482 setUploadError('');
8483 setAttachmentData({});
8484 setIsUploading(false);
8485 };
8486 return {
8487 upload: upload,
8488 resetUpload: resetUpload,
8489 isUploading: isUploading,
8490 uploadError: uploadError,
8491 attachmentData: attachmentData
8492 };
8493 };
8494 var _default = useImageUpload;
8495 exports["default"] = _default;
8496
8497 /***/ }),
8498
8499 /***/ "../modules/ai/assets/js/editor/pages/form-media/hooks/use-prompt-settings.js":
8500 /*!************************************************************************************!*\
8501 !*** ../modules/ai/assets/js/editor/pages/form-media/hooks/use-prompt-settings.js ***!
8502 \************************************************************************************/
8503 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
8504
8505 "use strict";
8506
8507
8508 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
8509 Object.defineProperty(exports, "__esModule", ({
8510 value: true
8511 }));
8512 exports["default"] = exports.IMAGE_ZOOM = exports.IMAGE_UPSCALE = exports.IMAGE_TYPE = exports.IMAGE_STYLE = exports.IMAGE_STRENGTH = exports.IMAGE_RATIO = void 0;
8513 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
8514 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
8515 var _react = __webpack_require__(/*! react */ "react");
8516 var _constants = __webpack_require__(/*! ../constants */ "../modules/ai/assets/js/editor/pages/form-media/constants/index.js");
8517 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; }
8518 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; }
8519 var IMAGE_TYPE = _constants.IMAGE_PROMPT_SETTINGS.IMAGE_TYPE,
8520 IMAGE_STYLE = _constants.IMAGE_PROMPT_SETTINGS.IMAGE_STYLE,
8521 IMAGE_STRENGTH = _constants.IMAGE_PROMPT_SETTINGS.IMAGE_STRENGTH,
8522 IMAGE_RATIO = _constants.IMAGE_PROMPT_SETTINGS.IMAGE_RATIO,
8523 IMAGE_ZOOM = _constants.IMAGE_PROMPT_SETTINGS.IMAGE_ZOOM,
8524 IMAGE_UPSCALE = _constants.IMAGE_PROMPT_SETTINGS.IMAGE_UPSCALE;
8525 exports.IMAGE_UPSCALE = IMAGE_UPSCALE;
8526 exports.IMAGE_ZOOM = IMAGE_ZOOM;
8527 exports.IMAGE_RATIO = IMAGE_RATIO;
8528 exports.IMAGE_STRENGTH = IMAGE_STRENGTH;
8529 exports.IMAGE_STYLE = IMAGE_STYLE;
8530 exports.IMAGE_TYPE = IMAGE_TYPE;
8531 var DEFAULT_TYPE = '';
8532 var DEFAULT_STYLE = '';
8533 var DEFAULT_STRENGTH = 0;
8534 var DEFAULT_RATIO = '1:1';
8535 var DEFAULT_ZOOM = '1';
8536 var DEFAULT_UPSCALE = '512';
8537 var usePromptSettings = function usePromptSettings() {
8538 var _useState3;
8539 var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
8540 _ref$type = _ref.type,
8541 type = _ref$type === void 0 ? DEFAULT_TYPE : _ref$type,
8542 _ref$style = _ref.style,
8543 style = _ref$style === void 0 ? DEFAULT_STYLE : _ref$style,
8544 _ref$imageWeight = _ref.imageWeight,
8545 imageWeight = _ref$imageWeight === void 0 ? DEFAULT_STRENGTH : _ref$imageWeight,
8546 _ref$aspectRatio = _ref.aspectRatio,
8547 aspectRatio = _ref$aspectRatio === void 0 ? DEFAULT_RATIO : _ref$aspectRatio,
8548 _ref$zoom = _ref.zoom,
8549 zoom = _ref$zoom === void 0 ? DEFAULT_ZOOM : _ref$zoom,
8550 _ref$upScaleTo = _ref.upScaleTo,
8551 upScaleTo = _ref$upScaleTo === void 0 ? DEFAULT_UPSCALE : _ref$upScaleTo;
8552 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)),
8553 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
8554 settings = _useState2[0],
8555 setSettings = _useState2[1];
8556 var updateSettings = function updateSettings(updated) {
8557 return setSettings(function (prev) {
8558 return _objectSpread(_objectSpread({}, prev), updated);
8559 });
8560 };
8561 var resetSettings = function resetSettings() {
8562 var _setSettings;
8563 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));
8564 };
8565 return {
8566 settings: settings,
8567 updateSettings: updateSettings,
8568 resetSettings: resetSettings
8569 };
8570 };
8571 var _default = usePromptSettings;
8572 exports["default"] = _default;
8573
8574 /***/ }),
8575
8576 /***/ "../modules/ai/assets/js/editor/pages/form-media/index.js":
8577 /*!****************************************************************!*\
8578 !*** ../modules/ai/assets/js/editor/pages/form-media/index.js ***!
8579 \****************************************************************/
8580 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
8581
8582 "use strict";
8583
8584
8585 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
8586 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
8587 Object.defineProperty(exports, "__esModule", ({
8588 value: true
8589 }));
8590 exports["default"] = void 0;
8591 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
8592 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
8593 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
8594 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
8595 var _locationContext = __webpack_require__(/*! ./context/location-context */ "../modules/ai/assets/js/editor/pages/form-media/context/location-context.js");
8596 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
8597 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
8598 var _promptDialog = _interopRequireDefault(__webpack_require__(/*! ../../components/prompt-dialog */ "../modules/ai/assets/js/editor/components/prompt-dialog.js"));
8599 var _mediaOutlet = _interopRequireDefault(__webpack_require__(/*! ./media-outlet */ "../modules/ai/assets/js/editor/pages/form-media/media-outlet.js"));
8600 var _unsavedChangesAlert = _interopRequireDefault(__webpack_require__(/*! ./components/unsaved-changes-alert */ "../modules/ai/assets/js/editor/pages/form-media/components/unsaved-changes-alert.js"));
8601 var _editImageContext = __webpack_require__(/*! ./context/edit-image-context */ "../modules/ai/assets/js/editor/pages/form-media/context/edit-image-context.js");
8602 var _globalActionsContext = __webpack_require__(/*! ./context/global-actions-context */ "../modules/ai/assets/js/editor/pages/form-media/context/global-actions-context.js");
8603 var _globalSettingsContext = __webpack_require__(/*! ./context/global-settings-context */ "../modules/ai/assets/js/editor/pages/form-media/context/global-settings-context.js");
8604 var _promptHistory = _interopRequireDefault(__webpack_require__(/*! ../../components/prompt-history */ "../modules/ai/assets/js/editor/components/prompt-history/index.js"));
8605 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); }
8606 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; }
8607 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; }
8608 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; }
8609 var initialData = {
8610 isAllSaved: false,
8611 hasUnsavedChanges: false
8612 };
8613 var SET_UNSAVED_CHANGES = 'SET_UNSAVED_CHANGES';
8614 var SAVE_AND_CLOSE = 'SAVE_AND_CLOSE';
8615 var reducer = function reducer(state, _ref) {
8616 var type = _ref.type,
8617 payload = _ref.payload;
8618 switch (type) {
8619 case SET_UNSAVED_CHANGES:
8620 return _objectSpread(_objectSpread({}, state), {}, {
8621 hasUnsavedChanges: payload,
8622 isAllSaved: payload ? false : state.isAllSaved
8623 });
8624 case SAVE_AND_CLOSE:
8625 return _objectSpread(_objectSpread({}, state), {}, {
8626 isAllSaved: true,
8627 hasUnsavedChanges: false
8628 });
8629 default:
8630 throw Error('Unknown action.');
8631 }
8632 };
8633 var FormMedia = function FormMedia(_ref2) {
8634 var onClose = _ref2.onClose,
8635 DialogProps = _ref2.DialogProps,
8636 getControlValue = _ref2.getControlValue,
8637 controlView = _ref2.controlView,
8638 additionalOptions = _ref2.additionalOptions,
8639 maybeRenderUpgradeChip = _ref2.maybeRenderUpgradeChip,
8640 hasSubscription = _ref2.hasSubscription,
8641 usagePercentage = _ref2.usagePercentage;
8642 var _useReducer = (0, _react.useReducer)(reducer, initialData),
8643 _useReducer2 = (0, _slicedToArray2.default)(_useReducer, 2),
8644 state = _useReducer2[0],
8645 dispatch = _useReducer2[1];
8646 var _useState = (0, _react.useState)(false),
8647 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
8648 showUnsavedChangeAlert = _useState2[0],
8649 setShowUnsavedChangeAlert = _useState2[1];
8650 var setHasUnsavedChanges = function setHasUnsavedChanges(payload) {
8651 return dispatch({
8652 type: SET_UNSAVED_CHANGES,
8653 payload: payload
8654 });
8655 };
8656 var saveAndClose = function saveAndClose() {
8657 return dispatch({
8658 type: SAVE_AND_CLOSE
8659 });
8660 };
8661 var onCloseIntent = function onCloseIntent() {
8662 if (state.hasUnsavedChanges) {
8663 setShowUnsavedChangeAlert(true);
8664 return;
8665 }
8666 onClose();
8667 };
8668 var editImageInitialData = getControlValue() === (additionalOptions === null || additionalOptions === void 0 ? void 0 : additionalOptions.defaultValue) ? {} : getControlValue();
8669 var globalSettings = {
8670 initialImageType: (additionalOptions === null || additionalOptions === void 0 ? void 0 : additionalOptions.defaultImageType) || '',
8671 hasSubscription: hasSubscription,
8672 usagePercentage: usagePercentage
8673 };
8674 var globalActions = {
8675 state: state,
8676 getControlValue: getControlValue,
8677 saveAndClose: saveAndClose,
8678 close: onCloseIntent,
8679 setHasUnsavedChanges: setHasUnsavedChanges,
8680 setControlImage: function setControlImage(image) {
8681 controlView.setSettingsModel(image);
8682 controlView.applySavedValue();
8683 }
8684 };
8685 (0, _react.useEffect)(function () {
8686 if (state.isAllSaved) {
8687 // Closing the app only once the state was updated, to allow registered effects to take place before closing.
8688 onClose();
8689 }
8690 }, [state.isAllSaved]);
8691 return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_promptDialog.default, (0, _extends2.default)({
8692 id: "e-form-media",
8693 onClose: function onClose() {
8694 return onCloseIntent();
8695 },
8696 maxWidth: "lg"
8697 }, DialogProps), /*#__PURE__*/_react.default.createElement(_promptDialog.default.Header, {
8698 onClose: function onClose() {
8699 return onCloseIntent();
8700 }
8701 }, /*#__PURE__*/_react.default.createElement(_promptHistory.default, null), maybeRenderUpgradeChip()), /*#__PURE__*/_react.default.createElement(_ui.Divider, null), /*#__PURE__*/_react.default.createElement(_globalSettingsContext.GlobalSettingsProvider, {
8702 settings: globalSettings
8703 }, /*#__PURE__*/_react.default.createElement(_globalActionsContext.GlobalActionsProvider, {
8704 actions: globalActions
8705 }, /*#__PURE__*/_react.default.createElement(_locationContext.LocationProvider, null, /*#__PURE__*/_react.default.createElement(_editImageContext.EditImageProvider, {
8706 imageData: editImageInitialData
8707 }, /*#__PURE__*/_react.default.createElement(_mediaOutlet.default, null)))))), showUnsavedChangeAlert && /*#__PURE__*/_react.default.createElement(_unsavedChangesAlert.default, {
8708 onClose: onClose,
8709 onCancel: function onCancel() {
8710 return setShowUnsavedChangeAlert(false);
8711 },
8712 open: true
8713 }));
8714 };
8715 FormMedia.propTypes = {
8716 onClose: _propTypes.default.func.isRequired,
8717 DialogProps: _propTypes.default.object,
8718 getControlValue: _propTypes.default.func.isRequired,
8719 controlView: _propTypes.default.object,
8720 additionalOptions: _propTypes.default.object,
8721 credits: _propTypes.default.number,
8722 maybeRenderUpgradeChip: _propTypes.default.func,
8723 hasSubscription: _propTypes.default.bool,
8724 usagePercentage: _propTypes.default.number
8725 };
8726 var _default = FormMedia;
8727 exports["default"] = _default;
8728
8729 /***/ }),
8730
8731 /***/ "../modules/ai/assets/js/editor/pages/form-media/media-outlet.js":
8732 /*!***********************************************************************!*\
8733 !*** ../modules/ai/assets/js/editor/pages/form-media/media-outlet.js ***!
8734 \***********************************************************************/
8735 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
8736
8737 "use strict";
8738
8739
8740 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
8741 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
8742 Object.defineProperty(exports, "__esModule", ({
8743 value: true
8744 }));
8745 exports["default"] = void 0;
8746 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
8747 var _view = _interopRequireDefault(__webpack_require__(/*! ./components/view */ "../modules/ai/assets/js/editor/pages/form-media/components/view.js"));
8748 var _loader = _interopRequireDefault(__webpack_require__(/*! ../../components/loader */ "../modules/ai/assets/js/editor/components/loader.js"));
8749 var _constants = __webpack_require__(/*! ./constants */ "../modules/ai/assets/js/editor/pages/form-media/constants/index.js");
8750 var _generate = _interopRequireDefault(__webpack_require__(/*! ./views/generate */ "../modules/ai/assets/js/editor/pages/form-media/views/generate/index.js"));
8751 var _imageTools = _interopRequireDefault(__webpack_require__(/*! ./views/image-tools */ "../modules/ai/assets/js/editor/pages/form-media/views/image-tools/index.js"));
8752 var _resize = _interopRequireDefault(__webpack_require__(/*! ./views/resize */ "../modules/ai/assets/js/editor/pages/form-media/views/resize/index.js"));
8753 var _inPainting = _interopRequireDefault(__webpack_require__(/*! ./views/in-painting */ "../modules/ai/assets/js/editor/pages/form-media/views/in-painting/index.js"));
8754 var _outPainting = _interopRequireDefault(__webpack_require__(/*! ./views/out-painting */ "../modules/ai/assets/js/editor/pages/form-media/views/out-painting/index.js"));
8755 var _variations = _interopRequireDefault(__webpack_require__(/*! ./views/variations */ "../modules/ai/assets/js/editor/pages/form-media/views/variations/index.js"));
8756 var _replaceBackground = _interopRequireDefault(__webpack_require__(/*! ./views/replace-background */ "../modules/ai/assets/js/editor/pages/form-media/views/replace-background/index.js"));
8757 var _removeBackground = _interopRequireDefault(__webpack_require__(/*! ./views/remove-background */ "../modules/ai/assets/js/editor/pages/form-media/views/remove-background/index.js"));
8758 var _locationContext = __webpack_require__(/*! ./context/location-context */ "../modules/ai/assets/js/editor/pages/form-media/context/location-context.js");
8759 var _editImageContext = __webpack_require__(/*! ./context/edit-image-context */ "../modules/ai/assets/js/editor/pages/form-media/context/edit-image-context.js");
8760 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");
8761 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); }
8762 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; }
8763 var MediaOutlet = function MediaOutlet() {
8764 var _useEditImage = (0, _editImageContext.useEditImage)(),
8765 editImage = _useEditImage.editImage;
8766 var _useLocation = (0, _locationContext.useLocation)({
8767 current: _constants.LOCATIONS.GENERATE
8768 }),
8769 current = _useLocation.current,
8770 navigate = _useLocation.navigate;
8771 (0, _react.useEffect)(function () {
8772 var isNotPlaceholderImage = editImage.id;
8773 if (isNotPlaceholderImage) {
8774 navigate(_constants.LOCATIONS.IMAGE_TOOLS);
8775 }
8776 }, [editImage.id]);
8777 (0, _promptHistoryActionContext.useSubscribeOnPromptHistoryAction)([{
8778 type: _promptHistoryActionContext.ACTION_TYPES.RESTORE,
8779 handler: function handler() {
8780 if (current !== _constants.LOCATIONS.GENERATE) {
8781 navigate(_constants.LOCATIONS.GENERATE);
8782 }
8783 }
8784 }]);
8785 if (!current) {
8786 return /*#__PURE__*/_react.default.createElement(_view.default, {
8787 alignItems: "center"
8788 }, /*#__PURE__*/_react.default.createElement(_loader.default, null));
8789 }
8790 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));
8791 };
8792 var _default = MediaOutlet;
8793 exports["default"] = _default;
8794
8795 /***/ }),
8796
8797 /***/ "../modules/ai/assets/js/editor/pages/form-media/utils/index.js":
8798 /*!**********************************************************************!*\
8799 !*** ../modules/ai/assets/js/editor/pages/form-media/utils/index.js ***!
8800 \**********************************************************************/
8801 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
8802
8803 "use strict";
8804
8805
8806 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
8807 Object.defineProperty(exports, "__esModule", ({
8808 value: true
8809 }));
8810 exports.getAspectRatioSizes = void 0;
8811 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
8812 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
8813 var _constants = __webpack_require__(/*! ../constants */ "../modules/ai/assets/js/editor/pages/form-media/constants/index.js");
8814 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; }
8815 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; }
8816 var getAspectRatioSizes = function getAspectRatioSizes(width, height) {
8817 var aspectRatios = Object.keys(_constants.IMAGE_ASPECT_RATIO);
8818 var targetRatio = width / height;
8819 var closestRatio = aspectRatios[0];
8820 var minDiff = Infinity;
8821 aspectRatios.forEach(function (ratio) {
8822 var _ratio$split$map = ratio.split(':').map(Number),
8823 _ratio$split$map2 = (0, _slicedToArray2.default)(_ratio$split$map, 2),
8824 w = _ratio$split$map2[0],
8825 h = _ratio$split$map2[1];
8826 var diff = Math.abs(targetRatio - w / h);
8827 if (diff < minDiff) {
8828 minDiff = diff;
8829 closestRatio = ratio;
8830 }
8831 });
8832 return _objectSpread({
8833 ratio: closestRatio
8834 }, _constants.IMAGE_ASPECT_RATIO[closestRatio]);
8835 };
8836 exports.getAspectRatioSizes = getAspectRatioSizes;
8837
8838 /***/ }),
8839
8840 /***/ "../modules/ai/assets/js/editor/pages/form-media/views/generate/hooks/use-suggested-images.js":
8841 /*!****************************************************************************************************!*\
8842 !*** ../modules/ai/assets/js/editor/pages/form-media/views/generate/hooks/use-suggested-images.js ***!
8843 \****************************************************************************************************/
8844 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
8845
8846 "use strict";
8847
8848
8849 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
8850 Object.defineProperty(exports, "__esModule", ({
8851 value: true
8852 }));
8853 exports["default"] = void 0;
8854 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
8855 var _react = __webpack_require__(/*! react */ "react");
8856 var _useImagesPreload2 = _interopRequireDefault(__webpack_require__(/*! ../../../../../hooks/use-images-preload */ "../modules/ai/assets/js/editor/hooks/use-images-preload.js"));
8857 var shuffleImages = function shuffleImages(images) {
8858 return images.map(function (image) {
8859 return [Math.random(), image];
8860 }).sort(function (_ref, _ref2) {
8861 var _ref3 = (0, _slicedToArray2.default)(_ref, 1),
8862 a = _ref3[0];
8863 var _ref4 = (0, _slicedToArray2.default)(_ref2, 1),
8864 b = _ref4[0];
8865 return a - b;
8866 }).map(function (_ref5) {
8867 var _ref6 = (0, _slicedToArray2.default)(_ref5, 2),
8868 image = _ref6[1];
8869 return image;
8870 });
8871 };
8872 var useSuggestedImages = function useSuggestedImages(_ref7) {
8873 var selectedType = _ref7.selectedType;
8874 var _useState = (0, _react.useState)(false),
8875 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
8876 isLoading = _useState2[0],
8877 setIsLoading = _useState2[1];
8878 var _useState3 = (0, _react.useState)({
8879 images: []
8880 }),
8881 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
8882 data = _useState4[0],
8883 setImagesState = _useState4[1];
8884 var _useImagesPreload = (0, _useImagesPreload2.default)(),
8885 ready = _useImagesPreload.ready,
8886 preloadImages = _useImagesPreload.preloadImages;
8887 var imagesData = (0, _react.useMemo)(function () {
8888 var shuffledImages = shuffleImages(data.images);
8889 if (!selectedType) {
8890 return shuffledImages;
8891 }
8892 var categoryImages = shuffledImages.filter(function (_ref8) {
8893 var imageType = _ref8.imageType;
8894 return imageType.includes(selectedType);
8895 });
8896
8897 // Some categories don't have images, so we TEMPORARLY fallback to the shuffled images.
8898 return categoryImages.length ? categoryImages : shuffledImages;
8899 }, [selectedType, data]);
8900 var fetchImages = function fetchImages() {
8901 setIsLoading(true);
8902 fetch('https://my.elementor.com/ai/images-prompt-gallery/ai-gallery.json').then(function (response) {
8903 return response.json();
8904 }).then(function (json) {
8905 return setImagesState(json);
8906 })
8907 // eslint-disable-next-line no-console
8908 .catch(function (e) {
8909 return console.log(e.message);
8910 }).finally(function () {
8911 return setIsLoading(false);
8912 });
8913 };
8914 (0, _react.useEffect)(function () {
8915 if (0 === (data === null || data === void 0 ? void 0 : data.images.length)) {
8916 fetchImages();
8917 return;
8918 }
8919 preloadImages(data.images.map(function (_ref9) {
8920 var thumbnailUrl = _ref9.thumbnailUrl;
8921 return thumbnailUrl;
8922 }));
8923 }, [data]);
8924 return {
8925 imagesData: imagesData,
8926 isLoading: !ready || isLoading
8927 };
8928 };
8929 var _default = useSuggestedImages;
8930 exports["default"] = _default;
8931
8932 /***/ }),
8933
8934 /***/ "../modules/ai/assets/js/editor/pages/form-media/views/generate/hooks/use-text-to-image.js":
8935 /*!*************************************************************************************************!*\
8936 !*** ../modules/ai/assets/js/editor/pages/form-media/views/generate/hooks/use-text-to-image.js ***!
8937 \*************************************************************************************************/
8938 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
8939
8940 "use strict";
8941
8942
8943 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
8944 Object.defineProperty(exports, "__esModule", ({
8945 value: true
8946 }));
8947 exports["default"] = void 0;
8948 var _api = __webpack_require__(/*! ../../../../../api */ "../modules/ai/assets/js/editor/api/index.js");
8949 var _useImagePrompt = _interopRequireDefault(__webpack_require__(/*! ../../../hooks/use-image-prompt */ "../modules/ai/assets/js/editor/pages/form-media/hooks/use-image-prompt.js"));
8950 var useTextToImage = function useTextToImage(initialValue) {
8951 return (0, _useImagePrompt.default)(_api.getTextToImageGeneration, initialValue);
8952 };
8953 var _default = useTextToImage;
8954 exports["default"] = _default;
8955
8956 /***/ }),
8957
8958 /***/ "../modules/ai/assets/js/editor/pages/form-media/views/generate/index.js":
8959 /*!*******************************************************************************!*\
8960 !*** ../modules/ai/assets/js/editor/pages/form-media/views/generate/index.js ***!
8961 \*******************************************************************************/
8962 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
8963
8964 "use strict";
8965
8966
8967 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
8968 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
8969 Object.defineProperty(exports, "__esModule", ({
8970 value: true
8971 }));
8972 exports["default"] = void 0;
8973 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
8974 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
8975 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
8976 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
8977 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
8978 var _view = _interopRequireDefault(__webpack_require__(/*! ../../components/view */ "../modules/ai/assets/js/editor/pages/form-media/components/view.js"));
8979 var _gallery = _interopRequireDefault(__webpack_require__(/*! ../../components/gallery */ "../modules/ai/assets/js/editor/pages/form-media/components/gallery.js"));
8980 var _imageForm = _interopRequireDefault(__webpack_require__(/*! ../../components/image-form */ "../modules/ai/assets/js/editor/pages/form-media/components/image-form.js"));
8981 var _promptField = _interopRequireDefault(__webpack_require__(/*! ../../components/prompt-field */ "../modules/ai/assets/js/editor/pages/form-media/components/prompt-field.js"));
8982 var _imageTypeSelect = _interopRequireDefault(__webpack_require__(/*! ../../components/image-type-select */ "../modules/ai/assets/js/editor/pages/form-media/components/image-type-select.js"));
8983 var _imageStyleSelect = _interopRequireDefault(__webpack_require__(/*! ../../components/image-style-select */ "../modules/ai/assets/js/editor/pages/form-media/components/image-style-select.js"));
8984 var _imageRatioSelect = _interopRequireDefault(__webpack_require__(/*! ../../components/image-ratio-select */ "../modules/ai/assets/js/editor/pages/form-media/components/image-ratio-select.js"));
8985 var _generateAgainSubmit = _interopRequireDefault(__webpack_require__(/*! ../../components/generate-again-submit */ "../modules/ai/assets/js/editor/pages/form-media/components/generate-again-submit.js"));
8986 var _newPromptButton = _interopRequireDefault(__webpack_require__(/*! ../../components/new-prompt-button */ "../modules/ai/assets/js/editor/pages/form-media/components/new-prompt-button.js"));
8987 var _generateImagesSubmit = _interopRequireDefault(__webpack_require__(/*! ../../components/generate-images-submit */ "../modules/ai/assets/js/editor/pages/form-media/components/generate-images-submit.js"));
8988 var _imagesDisplay = _interopRequireDefault(__webpack_require__(/*! ../../components/images-display */ "../modules/ai/assets/js/editor/pages/form-media/components/images-display.js"));
8989 var _imageActions = _interopRequireDefault(__webpack_require__(/*! ../../components/image-actions */ "../modules/ai/assets/js/editor/pages/form-media/components/image-actions.js"));
8990 var _usePromptSettings2 = _interopRequireWildcard(__webpack_require__(/*! ../../hooks/use-prompt-settings */ "../modules/ai/assets/js/editor/pages/form-media/hooks/use-prompt-settings.js"));
8991 var _useSuggestedImages2 = _interopRequireDefault(__webpack_require__(/*! ./hooks/use-suggested-images */ "../modules/ai/assets/js/editor/pages/form-media/views/generate/hooks/use-suggested-images.js"));
8992 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"));
8993 var _useImageActions2 = _interopRequireDefault(__webpack_require__(/*! ../../hooks/use-image-actions */ "../modules/ai/assets/js/editor/pages/form-media/hooks/use-image-actions.js"));
8994 var _globalSettingsContext = __webpack_require__(/*! ../../context/global-settings-context */ "../modules/ai/assets/js/editor/pages/form-media/context/global-settings-context.js");
8995 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");
8996 var _promptLibraryLink = _interopRequireDefault(__webpack_require__(/*! ../../../../components/prompt-library-link */ "../modules/ai/assets/js/editor/components/prompt-library-link.js"));
8997 var _requestsIds = __webpack_require__(/*! ../../../../context/requests-ids */ "../modules/ai/assets/js/editor/context/requests-ids.js");
8998 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); }
8999 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; }
9000 var getPromptPlaceholder = function getPromptPlaceholder(images) {
9001 if (!(images !== null && images !== void 0 && images.length)) {
9002 return (0, _i18n.__)('describe your image', 'elementor');
9003 }
9004 var randomImage = images[Math.floor(Math.random() * images.length)];
9005 return randomImage.prompt;
9006 };
9007 var Generate = function Generate() {
9008 var _useState = (0, _react.useState)(''),
9009 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
9010 prompt = _useState2[0],
9011 setPrompt = _useState2[1];
9012 var _useRequestIds = (0, _requestsIds.useRequestIds)(),
9013 setGenerate = _useRequestIds.setGenerate;
9014 var _useGlobalSettings = (0, _globalSettingsContext.useGlobalSettings)(),
9015 initialImageType = _useGlobalSettings.initialImageType;
9016 var _usePromptSettings = (0, _usePromptSettings2.default)({
9017 type: initialImageType
9018 }),
9019 settings = _usePromptSettings.settings,
9020 updateSettings = _usePromptSettings.updateSettings,
9021 resetSettings = _usePromptSettings.resetSettings;
9022 var _useSuggestedImages = (0, _useSuggestedImages2.default)({
9023 selectedType: settings[_usePromptSettings2.IMAGE_TYPE]
9024 }),
9025 suggestedImages = _useSuggestedImages.imagesData,
9026 isPreloading = _useSuggestedImages.isLoading;
9027 var promptPlaceholder = getPromptPlaceholder(suggestedImages);
9028 var _useTextToImage = (0, _useTextToImage2.default)({}),
9029 generatedImages = _useTextToImage.data,
9030 setResult = _useTextToImage.setResult,
9031 send = _useTextToImage.send,
9032 isGenerating = _useTextToImage.isLoading,
9033 error = _useTextToImage.error,
9034 reset = _useTextToImage.reset;
9035 var _useImageActions = (0, _useImageActions2.default)(),
9036 use = _useImageActions.use,
9037 edit = _useImageActions.edit,
9038 isUploading = _useImageActions.isLoading;
9039 var isLoading = isPreloading || isGenerating || isUploading;
9040
9041 // The aspect ratio in the content view should only be updated when the generated images are updated.
9042 var generateAspectRatio = (0, _react.useMemo)(function () {
9043 return settings[_usePromptSettings2.IMAGE_RATIO];
9044 }, [generatedImages === null || generatedImages === void 0 ? void 0 : generatedImages.result]);
9045 var handleSubmit = function handleSubmit(event) {
9046 event.preventDefault();
9047 setGenerate();
9048 send({
9049 prompt: prompt,
9050 settings: settings
9051 });
9052 };
9053 var handleCopyPrompt = function handleCopyPrompt(_ref) {
9054 var _updateSettings;
9055 var selectedPrompt = _ref.prompt,
9056 imageType = _ref.imageType;
9057 setPrompt(selectedPrompt);
9058 var _imageType$split = imageType.split('/'),
9059 _imageType$split2 = (0, _slicedToArray2.default)(_imageType$split, 2),
9060 type = _imageType$split2[0],
9061 style = _imageType$split2[1];
9062 updateSettings((_updateSettings = {}, (0, _defineProperty2.default)(_updateSettings, _usePromptSettings2.IMAGE_TYPE, type), (0, _defineProperty2.default)(_updateSettings, _usePromptSettings2.IMAGE_STYLE, style), _updateSettings));
9063 };
9064 (0, _promptHistoryActionContext.useSubscribeOnPromptHistoryAction)([{
9065 type: _promptHistoryActionContext.ACTION_TYPES.RESTORE,
9066 handler: function handler(action) {
9067 var _action$data, _action$data2, _action$data3, _action$data4;
9068 handleCopyPrompt({
9069 prompt: (_action$data = action.data) === null || _action$data === void 0 ? void 0 : _action$data.prompt,
9070 imageType: ((_action$data2 = action.data) === null || _action$data2 === void 0 ? void 0 : _action$data2.imageType) || ''
9071 });
9072 updateSettings((0, _defineProperty2.default)({}, _usePromptSettings2.IMAGE_RATIO, (_action$data3 = action.data) === null || _action$data3 === void 0 ? void 0 : _action$data3.ratio));
9073 setResult((_action$data4 = action.data) === null || _action$data4 === void 0 ? void 0 : _action$data4.images, action.id);
9074 }
9075 }]);
9076 return /*#__PURE__*/_react.default.createElement(_view.default, null, /*#__PURE__*/_react.default.createElement(_view.default.Panel, null, /*#__PURE__*/_react.default.createElement(_view.default.PanelHeading, {
9077 primary: (0, _i18n.__)('Imagine anything create everything', 'elementor'),
9078 secondary: (0, _i18n.__)('Generate images by selecting the desired type and style, and entering a prompt.', 'elementor')
9079 }), error && /*#__PURE__*/_react.default.createElement(_view.default.ErrorMessage, {
9080 error: error,
9081 onRetry: handleSubmit
9082 }), /*#__PURE__*/_react.default.createElement(_imageForm.default, {
9083 onSubmit: handleSubmit
9084 }, /*#__PURE__*/_react.default.createElement(_promptField.default, {
9085 "data-testid": "e-image-prompt",
9086 value: prompt,
9087 disabled: isLoading,
9088 placeholder: promptPlaceholder,
9089 onChange: setPrompt
9090 }), /*#__PURE__*/_react.default.createElement(_imageTypeSelect.default, {
9091 disabled: isLoading,
9092 value: settings[_usePromptSettings2.IMAGE_TYPE],
9093 onChange: function onChange(event) {
9094 return updateSettings((0, _defineProperty2.default)({}, _usePromptSettings2.IMAGE_TYPE, event.target.value));
9095 }
9096 }), /*#__PURE__*/_react.default.createElement(_imageStyleSelect.default, {
9097 type: settings[_usePromptSettings2.IMAGE_TYPE],
9098 value: settings[_usePromptSettings2.IMAGE_STYLE],
9099 disabled: isLoading || !settings[_usePromptSettings2.IMAGE_TYPE] || false,
9100 onChange: function onChange(event) {
9101 return updateSettings((0, _defineProperty2.default)({}, _usePromptSettings2.IMAGE_STYLE, event.target.value));
9102 }
9103 }), /*#__PURE__*/_react.default.createElement(_imageRatioSelect.default, {
9104 disabled: isLoading,
9105 value: settings[_usePromptSettings2.IMAGE_RATIO],
9106 onChange: function onChange(event) {
9107 return updateSettings((0, _defineProperty2.default)({}, _usePromptSettings2.IMAGE_RATIO, event.target.value));
9108 }
9109 }), generatedImages !== null && generatedImages !== void 0 && generatedImages.result ? /*#__PURE__*/_react.default.createElement(_ui.Stack, {
9110 gap: 2,
9111 sx: {
9112 my: 2.5
9113 }
9114 }, /*#__PURE__*/_react.default.createElement(_generateAgainSubmit.default, {
9115 disabled: isLoading || '' === prompt
9116 }), /*#__PURE__*/_react.default.createElement(_newPromptButton.default, {
9117 disabled: isLoading,
9118 onClick: function onClick() {
9119 resetSettings();
9120 setPrompt('');
9121 reset();
9122 }
9123 })) : /*#__PURE__*/_react.default.createElement(_generateImagesSubmit.default, {
9124 disabled: isLoading || '' === prompt
9125 }))), /*#__PURE__*/_react.default.createElement(_view.default.Content, {
9126 isLoading: isPreloading || isUploading,
9127 isGenerating: isGenerating
9128 }, generatedImages !== null && generatedImages !== void 0 && generatedImages.result ? /*#__PURE__*/_react.default.createElement(_imagesDisplay.default, {
9129 images: generatedImages === null || generatedImages === void 0 ? void 0 : generatedImages.result,
9130 aspectRatio: generateAspectRatio,
9131 onUseImage: use,
9132 onEditImage: edit
9133 }) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_view.default.ContentHeading, {
9134 primary: (0, _i18n.__)('Spark your imagination with images generated by our community', 'elementor')
9135 }), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
9136 sx: {
9137 mb: 3
9138 }
9139 }, /*#__PURE__*/_react.default.createElement(_promptLibraryLink.default, {
9140 libraryLink: "https://go.elementor.com/ai-prompt-library-image/"
9141 })), /*#__PURE__*/_react.default.createElement(_gallery.default, {
9142 cols: 3
9143 }, suggestedImages === null || suggestedImages === void 0 ? void 0 : suggestedImages.map(function (suggestedPrompt) {
9144 return /*#__PURE__*/_react.default.createElement(_gallery.default.Image, {
9145 variant: "thumbnail",
9146 key: suggestedPrompt.prompt,
9147 alt: suggestedPrompt.prompt,
9148 text: suggestedPrompt.prompt,
9149 src: suggestedPrompt.thumbnailUrl
9150 }, /*#__PURE__*/_react.default.createElement(_imageActions.default, null, /*#__PURE__*/_react.default.createElement(_imageActions.default.UseImage, {
9151 onClick: function onClick() {
9152 return use(suggestedPrompt);
9153 },
9154 fullWidth: true
9155 }), /*#__PURE__*/_react.default.createElement(_imageActions.default.CopyIcon, {
9156 onClick: function onClick() {
9157 return handleCopyPrompt(suggestedPrompt);
9158 }
9159 }), /*#__PURE__*/_react.default.createElement(_imageActions.default.EditIcon, {
9160 onClick: function onClick() {
9161 return edit(suggestedPrompt);
9162 }
9163 })));
9164 })))));
9165 };
9166 var _default = Generate;
9167 exports["default"] = _default;
9168
9169 /***/ }),
9170
9171 /***/ "../modules/ai/assets/js/editor/pages/form-media/views/image-tools/image-tools-content.js":
9172 /*!************************************************************************************************!*\
9173 !*** ../modules/ai/assets/js/editor/pages/form-media/views/image-tools/image-tools-content.js ***!
9174 \************************************************************************************************/
9175 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
9176
9177 "use strict";
9178
9179
9180 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
9181 Object.defineProperty(exports, "__esModule", ({
9182 value: true
9183 }));
9184 exports["default"] = void 0;
9185 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
9186 var _singleImagePreview = _interopRequireDefault(__webpack_require__(/*! ../../components/single-image-preview */ "../modules/ai/assets/js/editor/pages/form-media/components/single-image-preview.js"));
9187 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
9188 var _imageActions = _interopRequireDefault(__webpack_require__(/*! ../../components/image-actions */ "../modules/ai/assets/js/editor/pages/form-media/components/image-actions.js"));
9189 var _editImageContext = __webpack_require__(/*! ../../context/edit-image-context */ "../modules/ai/assets/js/editor/pages/form-media/context/edit-image-context.js");
9190 var _useImageActions2 = _interopRequireDefault(__webpack_require__(/*! ../../hooks/use-image-actions */ "../modules/ai/assets/js/editor/pages/form-media/hooks/use-image-actions.js"));
9191 var ImageToolsContent = function ImageToolsContent() {
9192 var _useEditImage = (0, _editImageContext.useEditImage)(),
9193 editImage = _useEditImage.editImage,
9194 width = _useEditImage.width,
9195 height = _useEditImage.height;
9196 var _useImageActions = (0, _useImageActions2.default)(),
9197 use = _useImageActions.use;
9198 return /*#__PURE__*/_react.default.createElement(_singleImagePreview.default, null, /*#__PURE__*/_react.default.createElement(_singleImagePreview.default.Image, {
9199 src: editImage.url,
9200 style: {
9201 width: width,
9202 height: height
9203 },
9204 alt: editImage.alt || (0, _i18n.__)('Image preview', 'elementor')
9205 }, /*#__PURE__*/_react.default.createElement(_singleImagePreview.default.Actions, null, /*#__PURE__*/_react.default.createElement(_imageActions.default.UseImage, {
9206 onClick: function onClick() {
9207 return use(editImage);
9208 }
9209 }))));
9210 };
9211 var _default = ImageToolsContent;
9212 exports["default"] = _default;
9213
9214 /***/ }),
9215
9216 /***/ "../modules/ai/assets/js/editor/pages/form-media/views/image-tools/image-tools-panel.js":
9217 /*!**********************************************************************************************!*\
9218 !*** ../modules/ai/assets/js/editor/pages/form-media/views/image-tools/image-tools-panel.js ***!
9219 \**********************************************************************************************/
9220 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
9221
9222 "use strict";
9223
9224
9225 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
9226 Object.defineProperty(exports, "__esModule", ({
9227 value: true
9228 }));
9229 exports["default"] = void 0;
9230 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
9231 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
9232 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
9233 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
9234 var _expandIcon = _interopRequireDefault(__webpack_require__(/*! ../../../../icons/expand-icon */ "../modules/ai/assets/js/editor/icons/expand-icon.js"));
9235 var _brushIcon = _interopRequireDefault(__webpack_require__(/*! ../../../../icons/brush-icon */ "../modules/ai/assets/js/editor/icons/brush-icon.js"));
9236 var _evolveIcon = _interopRequireDefault(__webpack_require__(/*! ../../../../icons/evolve-icon */ "../modules/ai/assets/js/editor/icons/evolve-icon.js"));
9237 var _enlargerIcon = _interopRequireDefault(__webpack_require__(/*! ../../../../icons/enlarger-icon */ "../modules/ai/assets/js/editor/icons/enlarger-icon.js"));
9238 var _removeBg = _interopRequireDefault(__webpack_require__(/*! ../../../../icons/remove-bg */ "../modules/ai/assets/js/editor/icons/remove-bg.js"));
9239 var _replaceBg = _interopRequireDefault(__webpack_require__(/*! ../../../../icons/replace-bg */ "../modules/ai/assets/js/editor/icons/replace-bg.js"));
9240 var _constants = __webpack_require__(/*! ../../constants */ "../modules/ai/assets/js/editor/pages/form-media/constants/index.js");
9241 var _locationContext = __webpack_require__(/*! ../../context/location-context */ "../modules/ai/assets/js/editor/pages/form-media/context/location-context.js");
9242 var TeaserDrawing = function TeaserDrawing() {
9243 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, {
9244 viewBox: "0 0 184 80",
9245 sx: {
9246 width: 184,
9247 height: 80
9248 }
9249 }, /*#__PURE__*/_react.default.createElement("g", {
9250 clipPath: "url(#clip0_3127_96542)"
9251 }, /*#__PURE__*/_react.default.createElement("path", {
9252 fillRule: "evenodd",
9253 clipRule: "evenodd",
9254 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",
9255 fill: "#69727D"
9256 }), /*#__PURE__*/_react.default.createElement("path", {
9257 fillRule: "evenodd",
9258 clipRule: "evenodd",
9259 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",
9260 fill: "#69727D"
9261 }), /*#__PURE__*/_react.default.createElement("path", {
9262 d: "M53.9717 12L57.2198 17.0456L3.24796 51.4731L-0.000164873 46.4275L53.9717 12Z",
9263 fill: "#69727D"
9264 }), /*#__PURE__*/_react.default.createElement("path", {
9265 d: "M64.9761 5L68.2242 10.0456L57.2612 17.0387L54.013 11.9931L64.9761 5Z",
9266 fill: "#E6E8EA"
9267 }), /*#__PURE__*/_react.default.createElement("path", {
9268 fillRule: "evenodd",
9269 clipRule: "evenodd",
9270 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",
9271 fill: "#69727D"
9272 }), /*#__PURE__*/_react.default.createElement("path", {
9273 fillRule: "evenodd",
9274 clipRule: "evenodd",
9275 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",
9276 fill: "#69727D"
9277 }), /*#__PURE__*/_react.default.createElement("path", {
9278 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",
9279 fill: "#E6E8EA"
9280 }), /*#__PURE__*/_react.default.createElement("path", {
9281 fillRule: "evenodd",
9282 clipRule: "evenodd",
9283 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",
9284 fill: "#69727D"
9285 }), /*#__PURE__*/_react.default.createElement("path", {
9286 fillRule: "evenodd",
9287 clipRule: "evenodd",
9288 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",
9289 fill: "#69727D"
9290 }), /*#__PURE__*/_react.default.createElement("path", {
9291 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",
9292 fill: "#E6E8EA"
9293 }), /*#__PURE__*/_react.default.createElement("path", {
9294 fillRule: "evenodd",
9295 clipRule: "evenodd",
9296 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",
9297 fill: "#69727D"
9298 }), /*#__PURE__*/_react.default.createElement("path", {
9299 fillRule: "evenodd",
9300 clipRule: "evenodd",
9301 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",
9302 fill: "#69727D"
9303 })), /*#__PURE__*/_react.default.createElement("defs", null, /*#__PURE__*/_react.default.createElement("clipPath", {
9304 id: "clip0_3127_96542"
9305 }, /*#__PURE__*/_react.default.createElement("rect", {
9306 width: "184",
9307 height: "80",
9308 fill: "white"
9309 }))));
9310 };
9311 var ImageToolsContainer = (0, _ui.styled)(_ui.Box)(function (_ref) {
9312 var theme = _ref.theme;
9313 return {
9314 height: "calc(100% - ".concat(theme.spacing(13), ")")
9315 };
9316 });
9317 var ToolsTeaserContainer = (0, _ui.styled)(_ui.Box)(function (_ref2) {
9318 var theme = _ref2.theme;
9319 return {
9320 position: 'sticky',
9321 top: '100%',
9322 padding: theme.spacing(4, 0, 1)
9323 };
9324 });
9325 var ImageToolsPanel = function ImageToolsPanel() {
9326 var _useLocation = (0, _locationContext.useLocation)(),
9327 navigate = _useLocation.navigate;
9328 var tools = [{
9329 label: (0, _i18n.__)('Expand Image', 'elementor'),
9330 Icon: _expandIcon.default,
9331 onClick: function onClick() {
9332 return navigate(_constants.LOCATIONS.OUT_PAINTING);
9333 }
9334 }, {
9335 label: (0, _i18n.__)('Generative Fill', 'elementor'),
9336 Icon: _brushIcon.default,
9337 onClick: function onClick() {
9338 return navigate(_constants.LOCATIONS.IN_PAINTING);
9339 }
9340 }, {
9341 label: (0, _i18n.__)('Resize', 'elementor'),
9342 Icon: _enlargerIcon.default,
9343 onClick: function onClick() {
9344 return navigate(_constants.LOCATIONS.RESIZE);
9345 }
9346 }, {
9347 label: (0, _i18n.__)('Variations', 'elementor'),
9348 Icon: _evolveIcon.default,
9349 onClick: function onClick() {
9350 return navigate(_constants.LOCATIONS.VARIATIONS);
9351 }
9352 }, {
9353 label: (0, _i18n.__)('Remove Background', 'elementor'),
9354 Icon: _removeBg.default,
9355 onClick: function onClick() {
9356 return navigate(_constants.LOCATIONS.REMOVE_BACKGROUND);
9357 }
9358 }, {
9359 label: (0, _i18n.__)('Replace Background', 'elementor'),
9360 Icon: _replaceBg.default,
9361 onClick: function onClick() {
9362 return navigate(_constants.LOCATIONS.REPLACE_BACKGROUND);
9363 }
9364 }];
9365 return /*#__PURE__*/_react.default.createElement(ImageToolsContainer, null, /*#__PURE__*/_react.default.createElement(_ui.Box, {
9366 display: "grid",
9367 gridTemplateColumns: "repeat(2, 1fr)",
9368 gap: 1,
9369 justifyContent: "center"
9370 }, tools.map(function (_ref3) {
9371 var label = _ref3.label,
9372 Icon = _ref3.Icon,
9373 onClick = _ref3.onClick;
9374 return /*#__PURE__*/_react.default.createElement(_ui.Button, {
9375 onClick: onClick,
9376 key: label,
9377 variant: "outlined",
9378 color: "secondary",
9379 disabled: false,
9380 sx: {
9381 py: 3,
9382 fontSize: '12px',
9383 height: 'auto',
9384 borderRadius: '4px'
9385 }
9386 }, /*#__PURE__*/_react.default.createElement(_ui.Box, {
9387 display: "flex",
9388 justifyContent: "center",
9389 alignItems: "center",
9390 flexDirection: "column"
9391 }, /*#__PURE__*/_react.default.createElement(Icon, {
9392 sx: {
9393 mb: 0.5
9394 }
9395 }), label));
9396 })), /*#__PURE__*/_react.default.createElement(ToolsTeaserContainer, {
9397 display: "flex",
9398 flexDirection: "column",
9399 alignItems: "center"
9400 }, /*#__PURE__*/_react.default.createElement(TeaserDrawing, null), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
9401 variant: "body2",
9402 align: "center",
9403 color: "secondary",
9404 sx: {
9405 mt: 2
9406 }
9407 }, (0, _i18n.__)('Stay tuned! More incredible AI tools are coming your way soon.', 'elementor'))));
9408 };
9409 ImageToolsPanel.propTypes = {
9410 generateNewPrompt: _propTypes.default.func,
9411 panelActive: _propTypes.default.bool
9412 };
9413 var _default = ImageToolsPanel;
9414 exports["default"] = _default;
9415
9416 /***/ }),
9417
9418 /***/ "../modules/ai/assets/js/editor/pages/form-media/views/image-tools/index.js":
9419 /*!**********************************************************************************!*\
9420 !*** ../modules/ai/assets/js/editor/pages/form-media/views/image-tools/index.js ***!
9421 \**********************************************************************************/
9422 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
9423
9424 "use strict";
9425
9426
9427 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
9428 Object.defineProperty(exports, "__esModule", ({
9429 value: true
9430 }));
9431 exports["default"] = void 0;
9432 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
9433 var _view = _interopRequireDefault(__webpack_require__(/*! ../../components/view */ "../modules/ai/assets/js/editor/pages/form-media/components/view.js"));
9434 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
9435 var _imageToolsPanel = _interopRequireDefault(__webpack_require__(/*! ./image-tools-panel */ "../modules/ai/assets/js/editor/pages/form-media/views/image-tools/image-tools-panel.js"));
9436 var _imageToolsContent = _interopRequireDefault(__webpack_require__(/*! ./image-tools-content */ "../modules/ai/assets/js/editor/pages/form-media/views/image-tools/image-tools-content.js"));
9437 var _locationContext = __webpack_require__(/*! ../../context/location-context */ "../modules/ai/assets/js/editor/pages/form-media/context/location-context.js");
9438 var _constants = __webpack_require__(/*! ../../constants */ "../modules/ai/assets/js/editor/pages/form-media/constants/index.js");
9439 var ImageTools = function ImageTools() {
9440 var _useLocation = (0, _locationContext.useLocation)(),
9441 navigate = _useLocation.navigate;
9442 return /*#__PURE__*/_react.default.createElement(_view.default, null, /*#__PURE__*/_react.default.createElement(_view.default.Panel, null, /*#__PURE__*/_react.default.createElement(_view.default.BackButton, {
9443 onClick: function onClick() {
9444 return navigate(_constants.LOCATIONS.GENERATE);
9445 }
9446 }, (0, _i18n.__)('Generate with a prompt', 'elementor')), /*#__PURE__*/_react.default.createElement(_view.default.PanelHeading, {
9447 primary: (0, _i18n.__)('Edit with AI', 'elementor')
9448 }), /*#__PURE__*/_react.default.createElement(_imageToolsPanel.default, null)), /*#__PURE__*/_react.default.createElement(_view.default.Content, null, /*#__PURE__*/_react.default.createElement(_imageToolsContent.default, null)));
9449 };
9450 var _default = ImageTools;
9451 exports["default"] = _default;
9452
9453 /***/ }),
9454
9455 /***/ "../modules/ai/assets/js/editor/pages/form-media/views/in-painting/hooks/use-in-painting.js":
9456 /*!**************************************************************************************************!*\
9457 !*** ../modules/ai/assets/js/editor/pages/form-media/views/in-painting/hooks/use-in-painting.js ***!
9458 \**************************************************************************************************/
9459 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
9460
9461 "use strict";
9462
9463
9464 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
9465 Object.defineProperty(exports, "__esModule", ({
9466 value: true
9467 }));
9468 exports["default"] = void 0;
9469 var _api = __webpack_require__(/*! ../../../../../api */ "../modules/ai/assets/js/editor/api/index.js");
9470 var _useImagePrompt = _interopRequireDefault(__webpack_require__(/*! ../../../hooks/use-image-prompt */ "../modules/ai/assets/js/editor/pages/form-media/hooks/use-image-prompt.js"));
9471 var useInPainting = function useInPainting(initialValue) {
9472 var fetchAction = function fetchAction(payload) {
9473 return (0, _api.getImageToImageMaskGeneration)(payload);
9474 };
9475 return (0, _useImagePrompt.default)(fetchAction, initialValue);
9476 };
9477 var _default = useInPainting;
9478 exports["default"] = _default;
9479
9480 /***/ }),
9481
9482 /***/ "../modules/ai/assets/js/editor/pages/form-media/views/in-painting/in-painting-content.js":
9483 /*!************************************************************************************************!*\
9484 !*** ../modules/ai/assets/js/editor/pages/form-media/views/in-painting/in-painting-content.js ***!
9485 \************************************************************************************************/
9486 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
9487
9488 "use strict";
9489
9490
9491 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
9492 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
9493 Object.defineProperty(exports, "__esModule", ({
9494 value: true
9495 }));
9496 exports["default"] = void 0;
9497 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
9498 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
9499 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
9500 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
9501 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
9502 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
9503 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
9504 var _reactSketchCanvas = __webpack_require__(/*! react-sketch-canvas */ "../node_modules/react-sketch-canvas/dist/react-sketch-canvas.esm.js");
9505 var _undoIcon = _interopRequireDefault(__webpack_require__(/*! ../../../../icons/undo-icon */ "../modules/ai/assets/js/editor/icons/undo-icon.js"));
9506 var _redoIcon = _interopRequireDefault(__webpack_require__(/*! ../../../../icons/redo-icon */ "../modules/ai/assets/js/editor/icons/redo-icon.js"));
9507 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); }
9508 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; }
9509 var STROKE_SELECT_WIDTH = 120;
9510 var BRUSH_COLOR = 'rgba(0, 0, 0, 0.75)';
9511 var StyledUndoIcon = (0, _ui.withDirection)(_undoIcon.default);
9512 var StyledRedoIcon = (0, _ui.withDirection)(_redoIcon.default);
9513 var BrushCursor = (0, _ui.styled)(_ui.Box, {
9514 shouldForwardProp: function shouldForwardProp(prop) {
9515 return 'size' === prop;
9516 }
9517 })(function (_ref) {
9518 var theme = _ref.theme,
9519 size = _ref.size;
9520 return {
9521 position: 'absolute',
9522 width: size,
9523 height: size,
9524 borderRadius: '50%',
9525 backgroundColor: BRUSH_COLOR,
9526 pointerEvents: 'none',
9527 transform: "translate(".concat('rtl' === theme.direction ? '50%' : '-50%', ", -50%)"),
9528 border: "1px solid #fff"
9529 };
9530 });
9531 var BrishSizeIcon = (0, _ui.styled)(_ui.Box, {
9532 shouldForwardProp: function shouldForwardProp(prop) {
9533 return 'size' === prop;
9534 }
9535 })(function (_ref2) {
9536 var theme = _ref2.theme,
9537 size = _ref2.size;
9538 return {
9539 width: size / 2,
9540 height: size / 2,
9541 borderRadius: '50%',
9542 backgroundColor: theme.palette.secondary.main
9543 };
9544 });
9545 var InPaintingContent = function InPaintingContent(_ref3) {
9546 var editImage = _ref3.editImage,
9547 setMask = _ref3.setMask,
9548 canvasWidth = _ref3.width,
9549 canvasHeight = _ref3.height;
9550 var sketchRef = (0, _react.useRef)();
9551 var _useState = (0, _react.useState)(30),
9552 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
9553 stroke = _useState2[0],
9554 setStroke = _useState2[1];
9555 var brushCursorRef = (0, _react.useRef)();
9556 (0, _react.useEffect)(function () {
9557 var canvas = document.querySelector('.eui-in-painting-canvas');
9558
9559 // The BrushCursor should follow the mouse position but should stay only inside the canvas.
9560 var positionElement = function positionElement(e) {
9561 var _canvas$getBoundingCl = canvas.getBoundingClientRect(),
9562 left = _canvas$getBoundingCl.left,
9563 top = _canvas$getBoundingCl.top,
9564 width = _canvas$getBoundingCl.width,
9565 height = _canvas$getBoundingCl.height;
9566 var x = e.clientX - left;
9567 var y = e.clientY - top;
9568 if (x > 0 && x < width && y > 0 && y < height) {
9569 brushCursorRef.current.style.left = "".concat(x, "px");
9570 brushCursorRef.current.style.top = "".concat(y, "px");
9571 }
9572 };
9573 window.addEventListener('mousemove', positionElement);
9574 return function () {
9575 window.removeEventListener('mousemove', positionElement);
9576 };
9577 }, [stroke]);
9578 return /*#__PURE__*/_react.default.createElement(_ui.Stack, {
9579 alignItems: "flex-start",
9580 spacing: 0.5,
9581 flexGrow: 1
9582 }, /*#__PURE__*/_react.default.createElement(_ui.Stack, {
9583 width: "100%",
9584 direction: "row",
9585 spacing: 3,
9586 alignSelf: "center",
9587 justifyContent: "center",
9588 sx: {
9589 mb: 2.5
9590 }
9591 }, /*#__PURE__*/_react.default.createElement(_ui.Stack, {
9592 direction: "row",
9593 gap: 1
9594 }, /*#__PURE__*/_react.default.createElement(_ui.Tooltip, {
9595 title: (0, _i18n.__)('Undo', 'elementor')
9596 }, /*#__PURE__*/_react.default.createElement(_ui.Button, {
9597 variant: "outlined",
9598 color: "secondary",
9599 onClick: function onClick() {
9600 return sketchRef.current.undo();
9601 },
9602 sx: {
9603 px: 0
9604 }
9605 }, /*#__PURE__*/_react.default.createElement(StyledUndoIcon, null))), /*#__PURE__*/_react.default.createElement(_ui.Tooltip, {
9606 title: (0, _i18n.__)('Redo', 'elementor')
9607 }, /*#__PURE__*/_react.default.createElement(_ui.Button, {
9608 variant: "outlined",
9609 color: "secondary",
9610 onClick: function onClick() {
9611 return sketchRef.current.redo();
9612 },
9613 sx: {
9614 px: 0
9615 }
9616 }, /*#__PURE__*/_react.default.createElement(StyledRedoIcon, null)))), /*#__PURE__*/_react.default.createElement(_ui.FormControl, {
9617 size: "small",
9618 color: "secondary",
9619 sx: {
9620 minWidth: STROKE_SELECT_WIDTH
9621 }
9622 }, /*#__PURE__*/_react.default.createElement(_ui.InputLabel, {
9623 id: "stroke"
9624 }, "Stroke"), /*#__PURE__*/_react.default.createElement(_ui.Select, {
9625 autoWidth: true,
9626 label: "Stroke",
9627 value: stroke,
9628 id: "demo-simple-select",
9629 labelId: "demo-simple-select-label",
9630 onChange: function onChange(e) {
9631 return setStroke(e.target.value);
9632 },
9633 MenuProps: {
9634 PaperProps: {
9635 sx: {
9636 maxWidth: STROKE_SELECT_WIDTH
9637 }
9638 },
9639 MenuListProps: {
9640 sx: {
9641 minWidth: STROKE_SELECT_WIDTH
9642 }
9643 }
9644 },
9645 sx: {
9646 '& .MuiSelect-select .MuiListItemIcon-root': {
9647 mr: 0.25,
9648 width: 'initial',
9649 minWidth: 'initial',
9650 justifyContent: 'flex-start'
9651 }
9652 }
9653 }, [10, 20, 30, 40, 50].map(function (value) {
9654 return /*#__PURE__*/_react.default.createElement(_ui.MenuItem, {
9655 key: 'stroke-width-option-' + value,
9656 value: value
9657 }, /*#__PURE__*/_react.default.createElement(_ui.Stack, {
9658 direction: "row",
9659 alignItems: "center",
9660 gap: 1
9661 }, /*#__PURE__*/_react.default.createElement(_ui.ListItemIcon, {
9662 sx: {
9663 width: 30,
9664 display: 'flex',
9665 justifyContent: 'center'
9666 }
9667 }, /*#__PURE__*/_react.default.createElement(BrishSizeIcon, {
9668 size: value
9669 })), /*#__PURE__*/_react.default.createElement(_ui.ListItemText, null, value)));
9670 })))), /*#__PURE__*/_react.default.createElement("div", {
9671 style: {
9672 margin: '0 auto',
9673 position: 'relative',
9674 cursor: 'none',
9675 overflow: 'hidden'
9676 }
9677 }, /*#__PURE__*/_react.default.createElement(BrushCursor, {
9678 ref: brushCursorRef,
9679 size: stroke
9680 }), /*#__PURE__*/_react.default.createElement(_reactSketchCanvas.ReactSketchCanvas, {
9681 className: "eui-in-painting-canvas",
9682 withViewBox: true,
9683 ref: sketchRef,
9684 height: canvasHeight + 'px',
9685 width: canvasWidth + 'px',
9686 strokeWidth: stroke,
9687 strokeColor: BRUSH_COLOR,
9688 backgroundImage: editImage.url,
9689 onChange: /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
9690 var svg;
9691 return _regenerator.default.wrap(function _callee$(_context) {
9692 while (1) switch (_context.prev = _context.next) {
9693 case 0:
9694 _context.next = 2;
9695 return sketchRef.current.exportSvg();
9696 case 2:
9697 svg = _context.sent;
9698 setMask(svg);
9699 case 4:
9700 case "end":
9701 return _context.stop();
9702 }
9703 }, _callee);
9704 }))
9705 })));
9706 };
9707 InPaintingContent.propTypes = {
9708 setMask: _propTypes.default.func.isRequired,
9709 width: _propTypes.default.number.isRequired,
9710 height: _propTypes.default.number.isRequired,
9711 editImage: _propTypes.default.object.isRequired
9712 };
9713 var _default = InPaintingContent;
9714 exports["default"] = _default;
9715
9716 /***/ }),
9717
9718 /***/ "../modules/ai/assets/js/editor/pages/form-media/views/in-painting/index.js":
9719 /*!**********************************************************************************!*\
9720 !*** ../modules/ai/assets/js/editor/pages/form-media/views/in-painting/index.js ***!
9721 \**********************************************************************************/
9722 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
9723
9724 "use strict";
9725
9726
9727 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
9728 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
9729 Object.defineProperty(exports, "__esModule", ({
9730 value: true
9731 }));
9732 exports["default"] = void 0;
9733 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
9734 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
9735 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
9736 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
9737 var _view = _interopRequireDefault(__webpack_require__(/*! ../../components/view */ "../modules/ai/assets/js/editor/pages/form-media/components/view.js"));
9738 var _imageForm = _interopRequireDefault(__webpack_require__(/*! ../../components/image-form */ "../modules/ai/assets/js/editor/pages/form-media/components/image-form.js"));
9739 var _promptField = _interopRequireDefault(__webpack_require__(/*! ../../components/prompt-field */ "../modules/ai/assets/js/editor/pages/form-media/components/prompt-field.js"));
9740 var _inPaintingContent = _interopRequireDefault(__webpack_require__(/*! ./in-painting-content */ "../modules/ai/assets/js/editor/pages/form-media/views/in-painting/in-painting-content.js"));
9741 var _generateSubmit = _interopRequireDefault(__webpack_require__(/*! ../../components/generate-submit */ "../modules/ai/assets/js/editor/pages/form-media/components/generate-submit.js"));
9742 var _generateAgainSubmit = _interopRequireDefault(__webpack_require__(/*! ../../components/generate-again-submit */ "../modules/ai/assets/js/editor/pages/form-media/components/generate-again-submit.js"));
9743 var _newPromptButton = _interopRequireDefault(__webpack_require__(/*! ../../components/new-prompt-button */ "../modules/ai/assets/js/editor/pages/form-media/components/new-prompt-button.js"));
9744 var _imagesDisplay = _interopRequireDefault(__webpack_require__(/*! ../../components/images-display */ "../modules/ai/assets/js/editor/pages/form-media/components/images-display.js"));
9745 var _usePromptSettings2 = _interopRequireDefault(__webpack_require__(/*! ../../hooks/use-prompt-settings */ "../modules/ai/assets/js/editor/pages/form-media/hooks/use-prompt-settings.js"));
9746 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"));
9747 var _editImageContext = __webpack_require__(/*! ../../context/edit-image-context */ "../modules/ai/assets/js/editor/pages/form-media/context/edit-image-context.js");
9748 var _useImageActions2 = _interopRequireDefault(__webpack_require__(/*! ../../hooks/use-image-actions */ "../modules/ai/assets/js/editor/pages/form-media/hooks/use-image-actions.js"));
9749 var _requestsIds = __webpack_require__(/*! ../../../../context/requests-ids */ "../modules/ai/assets/js/editor/context/requests-ids.js");
9750 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); }
9751 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; }
9752 var InPainting = function InPainting() {
9753 var _useState = (0, _react.useState)(''),
9754 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
9755 prompt = _useState2[0],
9756 setPrompt = _useState2[1];
9757 var _useRequestIds = (0, _requestsIds.useRequestIds)(),
9758 setGenerate = _useRequestIds.setGenerate;
9759 var _useState3 = (0, _react.useState)(''),
9760 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
9761 mask = _useState4[0],
9762 setMask = _useState4[1];
9763 var _usePromptSettings = (0, _usePromptSettings2.default)(),
9764 settings = _usePromptSettings.settings,
9765 resetSettings = _usePromptSettings.resetSettings;
9766 var _useEditImage = (0, _editImageContext.useEditImage)(),
9767 editImage = _useEditImage.editImage,
9768 width = _useEditImage.width,
9769 height = _useEditImage.height;
9770 var _useImageActions = (0, _useImageActions2.default)(),
9771 use = _useImageActions.use,
9772 edit = _useImageActions.edit,
9773 isUploading = _useImageActions.isLoading;
9774 var _useInPainting = (0, _useInPainting2.default)(),
9775 data = _useInPainting.data,
9776 send = _useInPainting.send,
9777 isGenerating = _useInPainting.isLoading,
9778 error = _useInPainting.error,
9779 reset = _useInPainting.reset;
9780 var isLoading = isGenerating || isUploading;
9781 var handleSubmit = function handleSubmit(event) {
9782 event.preventDefault();
9783
9784 // The fallback instruction should be hidden for the user.
9785 var finalPrompt = prompt || 'Remove object and fill based on the surroundings';
9786 setGenerate();
9787 send({
9788 prompt: finalPrompt,
9789 settings: settings,
9790 image: editImage,
9791 mask: mask
9792 });
9793 };
9794 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, {
9795 primary: (0, _i18n.__)('Generative Fill', 'elementor'),
9796 secondary: (0, _i18n.__)('Mark an area and edit it with a prompt.', 'elementor')
9797 }), error && /*#__PURE__*/_react.default.createElement(_view.default.ErrorMessage, {
9798 error: error,
9799 onRetry: handleSubmit
9800 }), /*#__PURE__*/_react.default.createElement(_imageForm.default, {
9801 onSubmit: handleSubmit
9802 }, /*#__PURE__*/_react.default.createElement(_promptField.default, {
9803 value: prompt,
9804 disabled: isLoading,
9805 onChange: setPrompt,
9806 placeholder: (0, _i18n.__)('Describe what you want to generate in the marked area (English only)', 'elementor')
9807 }), data !== null && data !== void 0 && data.result ? /*#__PURE__*/_react.default.createElement(_ui.Stack, {
9808 gap: 2,
9809 sx: {
9810 my: 2.5
9811 }
9812 }, /*#__PURE__*/_react.default.createElement(_generateAgainSubmit.default, {
9813 disabled: isLoading
9814 }), /*#__PURE__*/_react.default.createElement(_newPromptButton.default, {
9815 disabled: isLoading,
9816 onClick: function onClick() {
9817 resetSettings();
9818 setPrompt('');
9819 reset();
9820 }
9821 })) : /*#__PURE__*/_react.default.createElement(_generateSubmit.default, {
9822 disabled: isLoading
9823 }))), /*#__PURE__*/_react.default.createElement(_view.default.Content, {
9824 isGenerating: isLoading
9825 }, data !== null && data !== void 0 && data.result ? /*#__PURE__*/_react.default.createElement(_imagesDisplay.default, {
9826 images: data.result,
9827 aspectRatio: editImage.aspectRatio,
9828 onUseImage: use,
9829 onEditImage: edit
9830 }) : /*#__PURE__*/_react.default.createElement(_inPaintingContent.default, {
9831 editImage: editImage,
9832 width: width,
9833 height: height,
9834 setMask: setMask
9835 })));
9836 };
9837 var _default = InPainting;
9838 exports["default"] = _default;
9839
9840 /***/ }),
9841
9842 /***/ "../modules/ai/assets/js/editor/pages/form-media/views/out-painting/hooks/use-out-painting.js":
9843 /*!****************************************************************************************************!*\
9844 !*** ../modules/ai/assets/js/editor/pages/form-media/views/out-painting/hooks/use-out-painting.js ***!
9845 \****************************************************************************************************/
9846 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
9847
9848 "use strict";
9849
9850
9851 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
9852 Object.defineProperty(exports, "__esModule", ({
9853 value: true
9854 }));
9855 exports["default"] = void 0;
9856 var _api = __webpack_require__(/*! ../../../../../api */ "../modules/ai/assets/js/editor/api/index.js");
9857 var _useImagePrompt = _interopRequireDefault(__webpack_require__(/*! ../../../hooks/use-image-prompt */ "../modules/ai/assets/js/editor/pages/form-media/hooks/use-image-prompt.js"));
9858 var useOutPainting = function useOutPainting(initialValue) {
9859 var fetchAction = function fetchAction(payload) {
9860 return (0, _api.getImageToImageOutPainting)(payload);
9861 };
9862 return (0, _useImagePrompt.default)(fetchAction, initialValue);
9863 };
9864 var _default = useOutPainting;
9865 exports["default"] = _default;
9866
9867 /***/ }),
9868
9869 /***/ "../modules/ai/assets/js/editor/pages/form-media/views/out-painting/index.js":
9870 /*!***********************************************************************************!*\
9871 !*** ../modules/ai/assets/js/editor/pages/form-media/views/out-painting/index.js ***!
9872 \***********************************************************************************/
9873 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
9874
9875 "use strict";
9876
9877
9878 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
9879 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
9880 Object.defineProperty(exports, "__esModule", ({
9881 value: true
9882 }));
9883 exports["default"] = void 0;
9884 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
9885 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
9886 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
9887 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
9888 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
9889 var _view = _interopRequireDefault(__webpack_require__(/*! ../../components/view */ "../modules/ai/assets/js/editor/pages/form-media/components/view.js"));
9890 var _imageForm = _interopRequireDefault(__webpack_require__(/*! ../../components/image-form */ "../modules/ai/assets/js/editor/pages/form-media/components/image-form.js"));
9891 var _imageRatioSelect = _interopRequireDefault(__webpack_require__(/*! ../../components/image-ratio-select */ "../modules/ai/assets/js/editor/pages/form-media/components/image-ratio-select.js"));
9892 var _generateSubmit = _interopRequireDefault(__webpack_require__(/*! ../../components/generate-submit */ "../modules/ai/assets/js/editor/pages/form-media/components/generate-submit.js"));
9893 var _generateAgainSubmit = _interopRequireDefault(__webpack_require__(/*! ../../components/generate-again-submit */ "../modules/ai/assets/js/editor/pages/form-media/components/generate-again-submit.js"));
9894 var _newPromptButton = _interopRequireDefault(__webpack_require__(/*! ../../components/new-prompt-button */ "../modules/ai/assets/js/editor/pages/form-media/components/new-prompt-button.js"));
9895 var _promptField = _interopRequireDefault(__webpack_require__(/*! ../../components/prompt-field */ "../modules/ai/assets/js/editor/pages/form-media/components/prompt-field.js"));
9896 var _outPaintingContent = _interopRequireDefault(__webpack_require__(/*! ./out-painting-content */ "../modules/ai/assets/js/editor/pages/form-media/views/out-painting/out-painting-content.js"));
9897 var _imagesDisplay = _interopRequireDefault(__webpack_require__(/*! ../../components/images-display */ "../modules/ai/assets/js/editor/pages/form-media/components/images-display.js"));
9898 var _editImageContext = __webpack_require__(/*! ../../context/edit-image-context */ "../modules/ai/assets/js/editor/pages/form-media/context/edit-image-context.js");
9899 var _useImageActions2 = _interopRequireDefault(__webpack_require__(/*! ../../hooks/use-image-actions */ "../modules/ai/assets/js/editor/pages/form-media/hooks/use-image-actions.js"));
9900 var _usePromptSettings2 = _interopRequireWildcard(__webpack_require__(/*! ../../hooks/use-prompt-settings */ "../modules/ai/assets/js/editor/pages/form-media/hooks/use-prompt-settings.js"));
9901 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"));
9902 var _requestsIds = __webpack_require__(/*! ../../../../context/requests-ids */ "../modules/ai/assets/js/editor/context/requests-ids.js");
9903 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); }
9904 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; }
9905 var OutPainting = function OutPainting() {
9906 var _useState = (0, _react.useState)(''),
9907 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
9908 prompt = _useState2[0],
9909 setPrompt = _useState2[1];
9910 var _useRequestIds = (0, _requestsIds.useRequestIds)(),
9911 setGenerate = _useRequestIds.setGenerate;
9912 var _useEditImage = (0, _editImageContext.useEditImage)(),
9913 editImage = _useEditImage.editImage,
9914 initialAspectRatio = _useEditImage.aspectRatio;
9915 var _useState3 = (0, _react.useState)(''),
9916 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
9917 mask = _useState4[0],
9918 setMask = _useState4[1];
9919 var _usePromptSettings = (0, _usePromptSettings2.default)({
9920 aspectRatio: initialAspectRatio
9921 }),
9922 settings = _usePromptSettings.settings,
9923 updateSettings = _usePromptSettings.updateSettings,
9924 resetSettings = _usePromptSettings.resetSettings;
9925 var _useImageActions = (0, _useImageActions2.default)(),
9926 use = _useImageActions.use,
9927 edit = _useImageActions.edit,
9928 isUploading = _useImageActions.isLoading;
9929 var _useOutPainting = (0, _useOutPainting2.default)(),
9930 data = _useOutPainting.data,
9931 send = _useOutPainting.send,
9932 isGenerating = _useOutPainting.isLoading,
9933 error = _useOutPainting.error,
9934 reset = _useOutPainting.reset;
9935 var isLoading = isGenerating || isUploading;
9936 var generatedAspectRatio = (0, _react.useMemo)(function () {
9937 return settings[_usePromptSettings2.IMAGE_RATIO];
9938 }, [data === null || data === void 0 ? void 0 : data.result]);
9939 var hasGeneratedResult = !!(data !== null && data !== void 0 && data.result);
9940 var handleSubmit = function handleSubmit(event) {
9941 event.preventDefault();
9942
9943 // The fallback instruction should be hidden for the user.
9944 var finalPrompt = prompt || 'Fill based on the surroundings';
9945 setGenerate();
9946 send({
9947 prompt: finalPrompt,
9948 settings: settings,
9949 image: editImage,
9950 mask: mask
9951 });
9952 };
9953 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, {
9954 primary: (0, _i18n.__)('Expand Image', 'elementor'),
9955 secondary: (0, _i18n.__)('Position image in it’s new size to generate content around the edges.', 'elementor')
9956 }), error && /*#__PURE__*/_react.default.createElement(_view.default.ErrorMessage, {
9957 error: error,
9958 onRetry: handleSubmit
9959 }), /*#__PURE__*/_react.default.createElement(_imageForm.default, {
9960 onSubmit: handleSubmit
9961 }, /*#__PURE__*/_react.default.createElement(_imageRatioSelect.default, {
9962 disabled: isLoading || hasGeneratedResult,
9963 value: settings[_usePromptSettings2.IMAGE_RATIO],
9964 onChange: function onChange(event) {
9965 return updateSettings((0, _defineProperty2.default)({}, _usePromptSettings2.IMAGE_RATIO, event.target.value));
9966 }
9967 }), /*#__PURE__*/_react.default.createElement(_ui.FormControl, {
9968 sx: {
9969 width: '100%',
9970 mb: 2.5
9971 }
9972 }, /*#__PURE__*/_react.default.createElement(_ui.Slider, {
9973 marks: true,
9974 id: "zoom",
9975 name: "zoom",
9976 max: 2,
9977 min: 0.1,
9978 step: 0.1,
9979 color: "secondary",
9980 defaultValue: 1,
9981 disabled: isLoading || hasGeneratedResult,
9982 valueLabelDisplay: "auto",
9983 "aria-labelledby": "image-size-slider",
9984 "aria-label": (0, _i18n.__)('Reference strength', 'elementor'),
9985 onChange: function onChange(_, value) {
9986 return updateSettings((0, _defineProperty2.default)({}, _usePromptSettings2.IMAGE_ZOOM, value));
9987 }
9988 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
9989 id: "image-size-slider",
9990 variant: "caption",
9991 gutterBottom: true
9992 }, (0, _i18n.__)('Original image size', 'elementor'))), /*#__PURE__*/_react.default.createElement(_promptField.default, {
9993 value: prompt,
9994 disabled: isLoading,
9995 onChange: setPrompt,
9996 placeholder: (0, _i18n.__)('Describe what you want to generate in the expended area (English only)', 'elementor')
9997 }), data !== null && data !== void 0 && data.result ? /*#__PURE__*/_react.default.createElement(_ui.Stack, {
9998 gap: 2,
9999 sx: {
10000 my: 2.5
10001 }
10002 }, /*#__PURE__*/_react.default.createElement(_generateAgainSubmit.default, {
10003 disabled: isLoading
10004 }), /*#__PURE__*/_react.default.createElement(_newPromptButton.default, {
10005 disabled: isLoading,
10006 onClick: function onClick() {
10007 resetSettings();
10008 setPrompt('');
10009 reset();
10010 }
10011 })) : /*#__PURE__*/_react.default.createElement(_generateSubmit.default, {
10012 disabled: isLoading
10013 }))), /*#__PURE__*/_react.default.createElement(_view.default.Content, {
10014 isGenerating: isLoading
10015 }, hasGeneratedResult ? /*#__PURE__*/_react.default.createElement(_imagesDisplay.default, {
10016 onUseImage: use,
10017 onEditImage: edit,
10018 images: data.result,
10019 aspectRatio: generatedAspectRatio
10020 }) : /*#__PURE__*/_react.default.createElement(_outPaintingContent.default, {
10021 setMask: setMask,
10022 editImage: editImage,
10023 scale: settings[_usePromptSettings2.IMAGE_ZOOM],
10024 aspectRatio: settings[_usePromptSettings2.IMAGE_RATIO]
10025 })));
10026 };
10027 var _default = OutPainting;
10028 exports["default"] = _default;
10029
10030 /***/ }),
10031
10032 /***/ "../modules/ai/assets/js/editor/pages/form-media/views/out-painting/out-painting-content.js":
10033 /*!**************************************************************************************************!*\
10034 !*** ../modules/ai/assets/js/editor/pages/form-media/views/out-painting/out-painting-content.js ***!
10035 \**************************************************************************************************/
10036 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
10037
10038 "use strict";
10039
10040
10041 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
10042 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
10043 Object.defineProperty(exports, "__esModule", ({
10044 value: true
10045 }));
10046 exports["default"] = void 0;
10047 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
10048 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
10049 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
10050 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
10051 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
10052 var _reactAvatarEditor = _interopRequireDefault(__webpack_require__(/*! react-avatar-editor */ "../node_modules/react-avatar-editor/dist/index.js"));
10053 var _useImageSize2 = _interopRequireDefault(__webpack_require__(/*! ../../hooks/use-image-size */ "../modules/ai/assets/js/editor/pages/form-media/hooks/use-image-size.js"));
10054 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); }
10055 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; }
10056 var OutPaintingContent = function OutPaintingContent(_ref) {
10057 var scale = _ref.scale,
10058 setMask = _ref.setMask,
10059 editImage = _ref.editImage,
10060 aspectRatio = _ref.aspectRatio;
10061 var cropperRef = (0, _react.useRef)();
10062 var _useImageSize = (0, _useImageSize2.default)(aspectRatio),
10063 width = _useImageSize.width,
10064 height = _useImageSize.height;
10065 var updateMask = /*#__PURE__*/function () {
10066 var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
10067 var imageDataURL;
10068 return _regenerator.default.wrap(function _callee$(_context) {
10069 while (1) switch (_context.prev = _context.next) {
10070 case 0:
10071 _context.next = 2;
10072 return cropperRef.current.getImageScaledToCanvas().toDataURL();
10073 case 2:
10074 imageDataURL = _context.sent;
10075 setMask(imageDataURL);
10076 case 4:
10077 case "end":
10078 return _context.stop();
10079 }
10080 }, _callee);
10081 }));
10082 return function updateMask() {
10083 return _ref2.apply(this, arguments);
10084 };
10085 }();
10086 return /*#__PURE__*/_react.default.createElement(_ui.Stack, {
10087 alignItems: 'center',
10088 spacing: 0.5,
10089 flexGrow: 1
10090 }, /*#__PURE__*/_react.default.createElement(_reactAvatarEditor.default, {
10091 ref: cropperRef,
10092 image: editImage.url,
10093 style: {
10094 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%)',
10095 backgroundSize: '20px 20px',
10096 backgroundPosition: '0 0, 0 10px, 10px -10px, -10px 0px',
10097 outline: '2px dashed #000',
10098 marginTop: '12px'
10099 },
10100 color: [0, 0, 0, 0.9],
10101 rotate: 0,
10102 border: 0,
10103 allowZoomOut: true,
10104 backgroundColor: 'transparent',
10105 showGrid: true,
10106 onImageChange: function onImageChange() {
10107 return updateMask();
10108 },
10109 onPositionChange: function onPositionChange() {
10110 return updateMask();
10111 },
10112 width: width,
10113 height: height,
10114 scale: scale
10115 }));
10116 };
10117 OutPaintingContent.propTypes = {
10118 scale: _propTypes.default.number.isRequired,
10119 setMask: _propTypes.default.func.isRequired,
10120 editImage: _propTypes.default.object.isRequired,
10121 aspectRatio: _propTypes.default.string.isRequired
10122 };
10123 var _default = OutPaintingContent;
10124 exports["default"] = _default;
10125
10126 /***/ }),
10127
10128 /***/ "../modules/ai/assets/js/editor/pages/form-media/views/remove-background/hooks/use-remove-background.js":
10129 /*!**************************************************************************************************************!*\
10130 !*** ../modules/ai/assets/js/editor/pages/form-media/views/remove-background/hooks/use-remove-background.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 Object.defineProperty(exports, "__esModule", ({
10139 value: true
10140 }));
10141 exports["default"] = void 0;
10142 var _api = __webpack_require__(/*! ../../../../../api */ "../modules/ai/assets/js/editor/api/index.js");
10143 var _useImagePrompt = _interopRequireDefault(__webpack_require__(/*! ../../../hooks/use-image-prompt */ "../modules/ai/assets/js/editor/pages/form-media/hooks/use-image-prompt.js"));
10144 var useRemoveBackground = function useRemoveBackground(initialValue) {
10145 var fetchAction = function fetchAction(payload) {
10146 return (0, _api.getImageToImageRemoveBackground)(payload);
10147 };
10148 return (0, _useImagePrompt.default)(fetchAction, initialValue);
10149 };
10150 var _default = useRemoveBackground;
10151 exports["default"] = _default;
10152
10153 /***/ }),
10154
10155 /***/ "../modules/ai/assets/js/editor/pages/form-media/views/remove-background/index.js":
10156 /*!****************************************************************************************!*\
10157 !*** ../modules/ai/assets/js/editor/pages/form-media/views/remove-background/index.js ***!
10158 \****************************************************************************************/
10159 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
10160
10161 "use strict";
10162
10163
10164 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
10165 Object.defineProperty(exports, "__esModule", ({
10166 value: true
10167 }));
10168 exports["default"] = void 0;
10169 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
10170 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
10171 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
10172 var _view = _interopRequireDefault(__webpack_require__(/*! ../../components/view */ "../modules/ai/assets/js/editor/pages/form-media/components/view.js"));
10173 var _generateSubmit = _interopRequireDefault(__webpack_require__(/*! ../../components/generate-submit */ "../modules/ai/assets/js/editor/pages/form-media/components/generate-submit.js"));
10174 var _imageForm = _interopRequireDefault(__webpack_require__(/*! ../../components/image-form */ "../modules/ai/assets/js/editor/pages/form-media/components/image-form.js"));
10175 var _imagesDisplay = _interopRequireDefault(__webpack_require__(/*! ../../components/images-display */ "../modules/ai/assets/js/editor/pages/form-media/components/images-display.js"));
10176 var _singleImagePreview = _interopRequireDefault(__webpack_require__(/*! ../../components/single-image-preview */ "../modules/ai/assets/js/editor/pages/form-media/components/single-image-preview.js"));
10177 var _editImageContext = __webpack_require__(/*! ../../context/edit-image-context */ "../modules/ai/assets/js/editor/pages/form-media/context/edit-image-context.js");
10178 var _useImageActions2 = _interopRequireDefault(__webpack_require__(/*! ../../hooks/use-image-actions */ "../modules/ai/assets/js/editor/pages/form-media/hooks/use-image-actions.js"));
10179 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"));
10180 var _newPromptButton = _interopRequireDefault(__webpack_require__(/*! ../../components/new-prompt-button */ "../modules/ai/assets/js/editor/pages/form-media/components/new-prompt-button.js"));
10181 var _constants = __webpack_require__(/*! ../../constants */ "../modules/ai/assets/js/editor/pages/form-media/constants/index.js");
10182 var _locationContext = __webpack_require__(/*! ../../context/location-context */ "../modules/ai/assets/js/editor/pages/form-media/context/location-context.js");
10183 var _useImageSize2 = _interopRequireDefault(__webpack_require__(/*! ../../hooks/use-image-size */ "../modules/ai/assets/js/editor/pages/form-media/hooks/use-image-size.js"));
10184 var _requestsIds = __webpack_require__(/*! ../../../../context/requests-ids */ "../modules/ai/assets/js/editor/context/requests-ids.js");
10185 var RemoveBackground = function RemoveBackground() {
10186 var _useEditImage = (0, _editImageContext.useEditImage)(),
10187 editImage = _useEditImage.editImage;
10188 var _useRequestIds = (0, _requestsIds.useRequestIds)(),
10189 setGenerate = _useRequestIds.setGenerate;
10190 var _useImageActions = (0, _useImageActions2.default)(),
10191 use = _useImageActions.use,
10192 edit = _useImageActions.edit,
10193 isUploading = _useImageActions.isLoading;
10194 var _useRemoveBackground = (0, _useRemoveBackground2.default)(),
10195 data = _useRemoveBackground.data,
10196 send = _useRemoveBackground.send,
10197 isGenerating = _useRemoveBackground.isLoading,
10198 error = _useRemoveBackground.error;
10199 var _useLocation = (0, _locationContext.useLocation)(),
10200 navigate = _useLocation.navigate;
10201 var isLoading = isGenerating || isUploading;
10202 var _useImageSize = (0, _useImageSize2.default)(editImage.aspectRatio),
10203 width = _useImageSize.width,
10204 height = _useImageSize.height;
10205 var handleSubmit = function handleSubmit(event) {
10206 event.preventDefault();
10207 setGenerate();
10208 send({
10209 image: editImage
10210 });
10211 };
10212 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, {
10213 primary: (0, _i18n.__)('Remove Background', 'elementor'),
10214 secondary: (0, _i18n.__)('Create an image of the subject with a transparent background', 'elementor')
10215 }), error && /*#__PURE__*/_react.default.createElement(_view.default.ErrorMessage, {
10216 error: error,
10217 onRetry: handleSubmit
10218 }), /*#__PURE__*/_react.default.createElement(_imageForm.default, {
10219 onSubmit: handleSubmit
10220 }, data !== null && data !== void 0 && data.result ? /*#__PURE__*/_react.default.createElement(_newPromptButton.default, {
10221 variant: "contained",
10222 disabled: isLoading,
10223 onClick: function onClick() {
10224 return navigate(_constants.LOCATIONS.GENERATE);
10225 }
10226 }) : /*#__PURE__*/_react.default.createElement(_generateSubmit.default, {
10227 disabled: isLoading
10228 }, (0, _i18n.__)('Remove Background', 'elementor')))), /*#__PURE__*/_react.default.createElement(_view.default.Content, {
10229 isGenerating: isLoading
10230 }, data !== null && data !== void 0 && data.result ? /*#__PURE__*/_react.default.createElement(_ui.Box, null, /*#__PURE__*/_react.default.createElement(_imagesDisplay.default, {
10231 transparentContainer: true,
10232 onUseImage: use,
10233 onEditImage: edit,
10234 images: data.result,
10235 aspectRatio: editImage.aspectRatio
10236 })) : /*#__PURE__*/_react.default.createElement(_ui.Box, null, /*#__PURE__*/_react.default.createElement(_singleImagePreview.default, null, /*#__PURE__*/_react.default.createElement(_singleImagePreview.default.Image, {
10237 src: editImage.url,
10238 alt: editImage.alt,
10239 style: {
10240 width: width,
10241 height: height
10242 }
10243 })))));
10244 };
10245 var _default = RemoveBackground;
10246 exports["default"] = _default;
10247
10248 /***/ }),
10249
10250 /***/ "../modules/ai/assets/js/editor/pages/form-media/views/replace-background/hooks/use-replace-background.js":
10251 /*!****************************************************************************************************************!*\
10252 !*** ../modules/ai/assets/js/editor/pages/form-media/views/replace-background/hooks/use-replace-background.js ***!
10253 \****************************************************************************************************************/
10254 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
10255
10256 "use strict";
10257
10258
10259 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
10260 Object.defineProperty(exports, "__esModule", ({
10261 value: true
10262 }));
10263 exports["default"] = void 0;
10264 var _api = __webpack_require__(/*! ../../../../../api */ "../modules/ai/assets/js/editor/api/index.js");
10265 var _useImagePrompt = _interopRequireDefault(__webpack_require__(/*! ../../../hooks/use-image-prompt */ "../modules/ai/assets/js/editor/pages/form-media/hooks/use-image-prompt.js"));
10266 var useReplaceBackground = function useReplaceBackground(initialValue) {
10267 var fetchAction = function fetchAction(payload) {
10268 return (0, _api.getImageToImageReplaceBackground)(payload);
10269 };
10270 return (0, _useImagePrompt.default)(fetchAction, initialValue);
10271 };
10272 var _default = useReplaceBackground;
10273 exports["default"] = _default;
10274
10275 /***/ }),
10276
10277 /***/ "../modules/ai/assets/js/editor/pages/form-media/views/replace-background/index.js":
10278 /*!*****************************************************************************************!*\
10279 !*** ../modules/ai/assets/js/editor/pages/form-media/views/replace-background/index.js ***!
10280 \*****************************************************************************************/
10281 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
10282
10283 "use strict";
10284
10285
10286 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
10287 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
10288 Object.defineProperty(exports, "__esModule", ({
10289 value: true
10290 }));
10291 exports["default"] = void 0;
10292 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
10293 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
10294 var _view = _interopRequireDefault(__webpack_require__(/*! ../../components/view */ "../modules/ai/assets/js/editor/pages/form-media/components/view.js"));
10295 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
10296 var _generateSubmit = _interopRequireDefault(__webpack_require__(/*! ../../components/generate-submit */ "../modules/ai/assets/js/editor/pages/form-media/components/generate-submit.js"));
10297 var _imageForm = _interopRequireDefault(__webpack_require__(/*! ../../components/image-form */ "../modules/ai/assets/js/editor/pages/form-media/components/image-form.js"));
10298 var _imagesDisplay = _interopRequireDefault(__webpack_require__(/*! ../../components/images-display */ "../modules/ai/assets/js/editor/pages/form-media/components/images-display.js"));
10299 var _singleImagePreview = _interopRequireDefault(__webpack_require__(/*! ../../components/single-image-preview */ "../modules/ai/assets/js/editor/pages/form-media/components/single-image-preview.js"));
10300 var _editImageContext = __webpack_require__(/*! ../../context/edit-image-context */ "../modules/ai/assets/js/editor/pages/form-media/context/edit-image-context.js");
10301 var _useImageActions2 = _interopRequireDefault(__webpack_require__(/*! ../../hooks/use-image-actions */ "../modules/ai/assets/js/editor/pages/form-media/hooks/use-image-actions.js"));
10302 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"));
10303 var _promptField = _interopRequireDefault(__webpack_require__(/*! ../../components/prompt-field */ "../modules/ai/assets/js/editor/pages/form-media/components/prompt-field.js"));
10304 var _constants = __webpack_require__(/*! ../../constants */ "../modules/ai/assets/js/editor/pages/form-media/constants/index.js");
10305 var _newPromptButton = _interopRequireDefault(__webpack_require__(/*! ../../components/new-prompt-button */ "../modules/ai/assets/js/editor/pages/form-media/components/new-prompt-button.js"));
10306 var _locationContext = __webpack_require__(/*! ../../context/location-context */ "../modules/ai/assets/js/editor/pages/form-media/context/location-context.js");
10307 var _requestsIds = __webpack_require__(/*! ../../../../context/requests-ids */ "../modules/ai/assets/js/editor/context/requests-ids.js");
10308 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); }
10309 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; }
10310 var ReplaceBackground = function ReplaceBackground() {
10311 var _useState = (0, _react.useState)(''),
10312 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
10313 prompt = _useState2[0],
10314 setPrompt = _useState2[1];
10315 var _useRequestIds = (0, _requestsIds.useRequestIds)(),
10316 setGenerate = _useRequestIds.setGenerate;
10317 var _useEditImage = (0, _editImageContext.useEditImage)(),
10318 editImage = _useEditImage.editImage;
10319 var _useImageActions = (0, _useImageActions2.default)(),
10320 use = _useImageActions.use,
10321 edit = _useImageActions.edit,
10322 isUploading = _useImageActions.isLoading;
10323 var _useReplaceBackground = (0, _useReplaceBackground2.default)(),
10324 data = _useReplaceBackground.data,
10325 send = _useReplaceBackground.send,
10326 isGenerating = _useReplaceBackground.isLoading,
10327 error = _useReplaceBackground.error;
10328 var _useLocation = (0, _locationContext.useLocation)(),
10329 navigate = _useLocation.navigate;
10330 var isLoading = isGenerating || isUploading;
10331 var handleSubmit = function handleSubmit(event) {
10332 event.preventDefault();
10333 setGenerate();
10334 send({
10335 prompt: prompt,
10336 image: editImage
10337 });
10338 };
10339 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, {
10340 primary: (0, _i18n.__)('Replace Background', 'elementor'),
10341 secondary: (0, _i18n.__)('Generate a new background with a prompt.', 'elementor')
10342 }), error && /*#__PURE__*/_react.default.createElement(_view.default.ErrorMessage, {
10343 error: error,
10344 onRetry: handleSubmit
10345 }), /*#__PURE__*/_react.default.createElement(_imageForm.default, {
10346 onSubmit: handleSubmit
10347 }, /*#__PURE__*/_react.default.createElement(_promptField.default, {
10348 value: prompt,
10349 disabled: isLoading,
10350 onChange: setPrompt,
10351 placeholder: (0, _i18n.__)('Describe what you want to generate in the background (English only)', 'elementor')
10352 }), /*#__PURE__*/_react.default.createElement(_generateSubmit.default, {
10353 disabled: isLoading || '' === prompt,
10354 color: data !== null && data !== void 0 && data.result ? 'secondary' : 'primary'
10355 }, 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, {
10356 disabled: isLoading,
10357 onClick: function onClick() {
10358 return navigate(_constants.LOCATIONS.GENERATE);
10359 }
10360 }))), /*#__PURE__*/_react.default.createElement(_view.default.Content, {
10361 isGenerating: isLoading
10362 }, data !== null && data !== void 0 && data.result ? /*#__PURE__*/_react.default.createElement(_imagesDisplay.default, {
10363 onUseImage: use,
10364 onEditImage: edit,
10365 images: data.result,
10366 aspectRatio: editImage.aspectRatio
10367 }) : /*#__PURE__*/_react.default.createElement(_singleImagePreview.default, null, /*#__PURE__*/_react.default.createElement(_singleImagePreview.default.Image, {
10368 src: editImage.url,
10369 alt: editImage.alt,
10370 style: {
10371 width: editImage.width,
10372 height: editImage.height
10373 }
10374 }))));
10375 };
10376 var _default = ReplaceBackground;
10377 exports["default"] = _default;
10378
10379 /***/ }),
10380
10381 /***/ "../modules/ai/assets/js/editor/pages/form-media/views/resize/hooks/use-resize.js":
10382 /*!****************************************************************************************!*\
10383 !*** ../modules/ai/assets/js/editor/pages/form-media/views/resize/hooks/use-resize.js ***!
10384 \****************************************************************************************/
10385 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
10386
10387 "use strict";
10388
10389
10390 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
10391 Object.defineProperty(exports, "__esModule", ({
10392 value: true
10393 }));
10394 exports["default"] = void 0;
10395 var _api = __webpack_require__(/*! ../../../../../api */ "../modules/ai/assets/js/editor/api/index.js");
10396 var _useImagePrompt = _interopRequireDefault(__webpack_require__(/*! ../../../hooks/use-image-prompt */ "../modules/ai/assets/js/editor/pages/form-media/hooks/use-image-prompt.js"));
10397 var useResize = function useResize(initialValue) {
10398 var fetchAction = function fetchAction(payload) {
10399 return (0, _api.getImageToImageUpscale)(payload);
10400 };
10401 return (0, _useImagePrompt.default)(fetchAction, initialValue);
10402 };
10403 var _default = useResize;
10404 exports["default"] = _default;
10405
10406 /***/ }),
10407
10408 /***/ "../modules/ai/assets/js/editor/pages/form-media/views/resize/index.js":
10409 /*!*****************************************************************************!*\
10410 !*** ../modules/ai/assets/js/editor/pages/form-media/views/resize/index.js ***!
10411 \*****************************************************************************/
10412 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
10413
10414 "use strict";
10415
10416
10417 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
10418 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
10419 Object.defineProperty(exports, "__esModule", ({
10420 value: true
10421 }));
10422 exports["default"] = void 0;
10423 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
10424 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
10425 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
10426 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
10427 var _view = _interopRequireDefault(__webpack_require__(/*! ../../components/view */ "../modules/ai/assets/js/editor/pages/form-media/components/view.js"));
10428 var _generateSubmit = _interopRequireDefault(__webpack_require__(/*! ../../components/generate-submit */ "../modules/ai/assets/js/editor/pages/form-media/components/generate-submit.js"));
10429 var _imageForm = _interopRequireDefault(__webpack_require__(/*! ../../components/image-form */ "../modules/ai/assets/js/editor/pages/form-media/components/image-form.js"));
10430 var _imagesDisplay = _interopRequireDefault(__webpack_require__(/*! ../../components/images-display */ "../modules/ai/assets/js/editor/pages/form-media/components/images-display.js"));
10431 var _singleImagePreview = _interopRequireDefault(__webpack_require__(/*! ../../components/single-image-preview */ "../modules/ai/assets/js/editor/pages/form-media/components/single-image-preview.js"));
10432 var _editImageContext = __webpack_require__(/*! ../../context/edit-image-context */ "../modules/ai/assets/js/editor/pages/form-media/context/edit-image-context.js");
10433 var _useResize2 = _interopRequireDefault(__webpack_require__(/*! ./hooks/use-resize */ "../modules/ai/assets/js/editor/pages/form-media/views/resize/hooks/use-resize.js"));
10434 var _useImageActions2 = _interopRequireDefault(__webpack_require__(/*! ../../hooks/use-image-actions */ "../modules/ai/assets/js/editor/pages/form-media/hooks/use-image-actions.js"));
10435 var _usePromptSettings2 = _interopRequireWildcard(__webpack_require__(/*! ../../hooks/use-prompt-settings */ "../modules/ai/assets/js/editor/pages/form-media/hooks/use-prompt-settings.js"));
10436 var _requestsIds = __webpack_require__(/*! ../../../../context/requests-ids */ "../modules/ai/assets/js/editor/context/requests-ids.js");
10437 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); }
10438 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; }
10439 var Resize = function Resize() {
10440 var _useEditImage = (0, _editImageContext.useEditImage)(),
10441 editImage = _useEditImage.editImage,
10442 initialEditImageWidth = _useEditImage.width;
10443 var _useRequestIds = (0, _requestsIds.useRequestIds)(),
10444 setGenerate = _useRequestIds.setGenerate;
10445 var _useImageActions = (0, _useImageActions2.default)(),
10446 use = _useImageActions.use,
10447 edit = _useImageActions.edit,
10448 isUploading = _useImageActions.isLoading;
10449 var _usePromptSettings = (0, _usePromptSettings2.default)(),
10450 settings = _usePromptSettings.settings,
10451 updateSettings = _usePromptSettings.updateSettings;
10452 var _useResize = (0, _useResize2.default)(),
10453 data = _useResize.data,
10454 send = _useResize.send,
10455 isGenerating = _useResize.isLoading,
10456 error = _useResize.error;
10457 var isLoading = isGenerating || isUploading;
10458 var handleSubmit = function handleSubmit(event) {
10459 event.preventDefault();
10460 setGenerate();
10461 send({
10462 promptSettings: settings,
10463 image: editImage
10464 });
10465 };
10466 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, {
10467 primary: (0, _i18n.__)('Resize', 'elementor'),
10468 secondary: (0, _i18n.__)('Make an image larger and improve it’s resolution.', 'elementor')
10469 }), error && /*#__PURE__*/_react.default.createElement(_view.default.ErrorMessage, {
10470 error: error,
10471 onRetry: handleSubmit
10472 }), /*#__PURE__*/_react.default.createElement(_imageForm.default, {
10473 onSubmit: handleSubmit
10474 }, /*#__PURE__*/_react.default.createElement(_ui.Stack, {
10475 spacing: 0.2
10476 }, /*#__PURE__*/_react.default.createElement(_ui.Box, {
10477 display: "flex",
10478 justifyContent: "space-between",
10479 alignItems: "center"
10480 }, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
10481 variant: "caption"
10482 }, "512px"), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
10483 variant: "caption"
10484 }, "2048px")), /*#__PURE__*/_react.default.createElement(_ui.Slider, {
10485 marks: true,
10486 step: 64,
10487 min: 512,
10488 max: 2048,
10489 id: "upscale_to",
10490 color: "secondary",
10491 name: "upscale_to",
10492 disabled: isLoading,
10493 defaultValue: initialEditImageWidth,
10494 valueLabelDisplay: "auto",
10495 "aria-label": (0, _i18n.__)('Upscale to', 'elementor'),
10496 onChange: function onChange(_, value) {
10497 return updateSettings((0, _defineProperty2.default)({}, _usePromptSettings2.IMAGE_UPSCALE, value));
10498 }
10499 }), /*#__PURE__*/_react.default.createElement(_ui.Box, {
10500 display: "flex",
10501 justifyContent: "space-between",
10502 alignItems: "center"
10503 }, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
10504 variant: "caption"
10505 }, (0, _i18n.__)('Current', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
10506 variant: "caption"
10507 }, (0, _i18n.__)('Output', 'elementor')))), /*#__PURE__*/_react.default.createElement(_generateSubmit.default, {
10508 disabled: isLoading
10509 }))), /*#__PURE__*/_react.default.createElement(_view.default.Content, {
10510 isGenerating: isLoading
10511 }, data !== null && data !== void 0 && data.result ? /*#__PURE__*/_react.default.createElement(_imagesDisplay.default, {
10512 onUseImage: use,
10513 onEditImage: edit,
10514 images: data.result,
10515 aspectRatio: editImage.aspectRatio
10516 }) : /*#__PURE__*/_react.default.createElement(_singleImagePreview.default, null, /*#__PURE__*/_react.default.createElement(_singleImagePreview.default.Image, {
10517 src: editImage.url,
10518 alt: editImage.alt,
10519 style: {
10520 width: editImage.width,
10521 height: editImage.height
10522 }
10523 }))));
10524 };
10525 var _default = Resize;
10526 exports["default"] = _default;
10527
10528 /***/ }),
10529
10530 /***/ "../modules/ai/assets/js/editor/pages/form-media/views/variations/components/variations-placeholder.js":
10531 /*!*************************************************************************************************************!*\
10532 !*** ../modules/ai/assets/js/editor/pages/form-media/views/variations/components/variations-placeholder.js ***!
10533 \*************************************************************************************************************/
10534 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
10535
10536 "use strict";
10537
10538
10539 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
10540 Object.defineProperty(exports, "__esModule", ({
10541 value: true
10542 }));
10543 exports["default"] = void 0;
10544 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
10545 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
10546 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
10547 var VariationsPlaceholder = function VariationsPlaceholder() {
10548 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
10549 sx: {
10550 overflowY: 'scroll'
10551 },
10552 flexGrow: 1
10553 }, /*#__PURE__*/_react.default.createElement(_ui.Box, {
10554 display: "grid",
10555 gridTemplateColumns: "repeat(2, 1fr)",
10556 gap: 3
10557 }, Array(4).fill(true).map(function (_, index) {
10558 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
10559 key: "placeholder-".concat(index),
10560 display: "flex",
10561 justifyContent: "center",
10562 alignItems: "center",
10563 sx: {
10564 bgcolor: 'action.selected',
10565 height: 336
10566 }
10567 }, /*#__PURE__*/_react.default.createElement(_icons.AIIcon, {
10568 color: "secondary",
10569 sx: {
10570 fontSize: 36
10571 }
10572 }));
10573 })));
10574 };
10575 VariationsPlaceholder.propTypes = {};
10576 var _default = VariationsPlaceholder;
10577 exports["default"] = _default;
10578
10579 /***/ }),
10580
10581 /***/ "../modules/ai/assets/js/editor/pages/form-media/views/variations/hooks/use-image-to-image.js":
10582 /*!****************************************************************************************************!*\
10583 !*** ../modules/ai/assets/js/editor/pages/form-media/views/variations/hooks/use-image-to-image.js ***!
10584 \****************************************************************************************************/
10585 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
10586
10587 "use strict";
10588
10589
10590 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
10591 Object.defineProperty(exports, "__esModule", ({
10592 value: true
10593 }));
10594 exports["default"] = void 0;
10595 var _api = __webpack_require__(/*! ../../../../../api */ "../modules/ai/assets/js/editor/api/index.js");
10596 var _useImagePrompt = _interopRequireDefault(__webpack_require__(/*! ../../../hooks/use-image-prompt */ "../modules/ai/assets/js/editor/pages/form-media/hooks/use-image-prompt.js"));
10597 var useImageToImage = function useImageToImage(initialValue) {
10598 var fetchAction = function fetchAction(payload) {
10599 return (0, _api.getImageToImageGeneration)(payload);
10600 };
10601 return (0, _useImagePrompt.default)(fetchAction, initialValue);
10602 };
10603 var _default = useImageToImage;
10604 exports["default"] = _default;
10605
10606 /***/ }),
10607
10608 /***/ "../modules/ai/assets/js/editor/pages/form-media/views/variations/index.js":
10609 /*!*********************************************************************************!*\
10610 !*** ../modules/ai/assets/js/editor/pages/form-media/views/variations/index.js ***!
10611 \*********************************************************************************/
10612 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
10613
10614 "use strict";
10615
10616
10617 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
10618 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
10619 Object.defineProperty(exports, "__esModule", ({
10620 value: true
10621 }));
10622 exports["default"] = void 0;
10623 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
10624 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
10625 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
10626 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
10627 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
10628 var _view = _interopRequireDefault(__webpack_require__(/*! ../../components/view */ "../modules/ai/assets/js/editor/pages/form-media/components/view.js"));
10629 var _imageForm = _interopRequireDefault(__webpack_require__(/*! ../../components/image-form */ "../modules/ai/assets/js/editor/pages/form-media/components/image-form.js"));
10630 var _imageStrengthSlider = _interopRequireDefault(__webpack_require__(/*! ../../components/image-strength-slider */ "../modules/ai/assets/js/editor/pages/form-media/components/image-strength-slider.js"));
10631 var _promptField = _interopRequireDefault(__webpack_require__(/*! ../../components/prompt-field */ "../modules/ai/assets/js/editor/pages/form-media/components/prompt-field.js"));
10632 var _imageTypeSelect = _interopRequireDefault(__webpack_require__(/*! ../../components/image-type-select */ "../modules/ai/assets/js/editor/pages/form-media/components/image-type-select.js"));
10633 var _imageStyleSelect = _interopRequireDefault(__webpack_require__(/*! ../../components/image-style-select */ "../modules/ai/assets/js/editor/pages/form-media/components/image-style-select.js"));
10634 var _imageRatioSelect = _interopRequireDefault(__webpack_require__(/*! ../../components/image-ratio-select */ "../modules/ai/assets/js/editor/pages/form-media/components/image-ratio-select.js"));
10635 var _generateAgainSubmit = _interopRequireDefault(__webpack_require__(/*! ../../components/generate-again-submit */ "../modules/ai/assets/js/editor/pages/form-media/components/generate-again-submit.js"));
10636 var _generateImagesSubmit = _interopRequireDefault(__webpack_require__(/*! ../../components/generate-images-submit */ "../modules/ai/assets/js/editor/pages/form-media/components/generate-images-submit.js"));
10637 var _imagesDisplay = _interopRequireDefault(__webpack_require__(/*! ../../components/images-display */ "../modules/ai/assets/js/editor/pages/form-media/components/images-display.js"));
10638 var _variationsPlaceholder = _interopRequireDefault(__webpack_require__(/*! ./components/variations-placeholder */ "../modules/ai/assets/js/editor/pages/form-media/views/variations/components/variations-placeholder.js"));
10639 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"));
10640 var _useImageActions2 = _interopRequireDefault(__webpack_require__(/*! ../../hooks/use-image-actions */ "../modules/ai/assets/js/editor/pages/form-media/hooks/use-image-actions.js"));
10641 var _editImageContext = __webpack_require__(/*! ../../context/edit-image-context */ "../modules/ai/assets/js/editor/pages/form-media/context/edit-image-context.js");
10642 var _usePromptSettings2 = _interopRequireWildcard(__webpack_require__(/*! ../../hooks/use-prompt-settings */ "../modules/ai/assets/js/editor/pages/form-media/hooks/use-prompt-settings.js"));
10643 var _requestsIds = __webpack_require__(/*! ../../../../context/requests-ids */ "../modules/ai/assets/js/editor/context/requests-ids.js");
10644 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); }
10645 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; }
10646 var IMAGE_WEIGHT_DEFAULT = 45;
10647 var Variations = function Variations() {
10648 var _data$result;
10649 var _useState = (0, _react.useState)(''),
10650 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
10651 prompt = _useState2[0],
10652 setPrompt = _useState2[1];
10653 var _useRequestIds = (0, _requestsIds.useRequestIds)(),
10654 setGenerate = _useRequestIds.setGenerate;
10655 var _useEditImage = (0, _editImageContext.useEditImage)(),
10656 editImage = _useEditImage.editImage,
10657 initialAspectRatio = _useEditImage.aspectRatio;
10658 var _usePromptSettings = (0, _usePromptSettings2.default)({
10659 aspectRatio: initialAspectRatio,
10660 imageWeight: IMAGE_WEIGHT_DEFAULT
10661 }),
10662 settings = _usePromptSettings.settings,
10663 updateSettings = _usePromptSettings.updateSettings;
10664 var _useImageToImage = (0, _useImageToImage2.default)(),
10665 data = _useImageToImage.data,
10666 send = _useImageToImage.send,
10667 isGenerating = _useImageToImage.isLoading,
10668 error = _useImageToImage.error;
10669 var _useImageActions = (0, _useImageActions2.default)(),
10670 use = _useImageActions.use,
10671 edit = _useImageActions.edit,
10672 isUploading = _useImageActions.isLoading;
10673 var isLoading = isGenerating || isUploading;
10674 var generatedAspectRatio = (0, _react.useMemo)(function () {
10675 return settings[_usePromptSettings2.IMAGE_RATIO];
10676 }, [data === null || data === void 0 ? void 0 : data.result]);
10677 var handleSubmit = function handleSubmit(event) {
10678 event.preventDefault();
10679 setGenerate();
10680 send({
10681 prompt: prompt,
10682 settings: settings,
10683 image: editImage
10684 });
10685 };
10686 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, {
10687 primary: (0, _i18n.__)('Variations', 'elementor'),
10688 secondary: (0, _i18n.__)('Create new versions of the original image.', 'elementor')
10689 }), error && /*#__PURE__*/_react.default.createElement(_view.default.ErrorMessage, {
10690 error: error,
10691 onRetry: handleSubmit
10692 }), /*#__PURE__*/_react.default.createElement(_imageForm.default, {
10693 onSubmit: handleSubmit
10694 }, /*#__PURE__*/_react.default.createElement(_ui.Box, {
10695 sx: {
10696 display: 'flex',
10697 alignItems: 'center',
10698 justifyContent: 'center',
10699 bgcolor: 'action.selected'
10700 }
10701 }, /*#__PURE__*/_react.default.createElement("img", {
10702 src: (editImage === null || editImage === void 0 ? void 0 : editImage.image_url) || (editImage === null || editImage === void 0 ? void 0 : editImage.url),
10703 alt: prompt,
10704 style: {
10705 width: 'auto',
10706 height: 'auto',
10707 maxWidth: '100%',
10708 maxHeight: 166,
10709 objectFit: 'contained'
10710 }
10711 })), /*#__PURE__*/_react.default.createElement(_imageStrengthSlider.default, {
10712 disabled: isLoading,
10713 defaultValue: IMAGE_WEIGHT_DEFAULT,
10714 onChange: function onChange(event) {
10715 return updateSettings((0, _defineProperty2.default)({}, _usePromptSettings2.IMAGE_STRENGTH, event.target.value));
10716 }
10717 }), /*#__PURE__*/_react.default.createElement(_promptField.default, {
10718 value: prompt,
10719 disabled: isLoading,
10720 placeholder: (0, _i18n.__)('describe your image', 'elementor'),
10721 onChange: setPrompt
10722 }), /*#__PURE__*/_react.default.createElement(_imageTypeSelect.default, {
10723 disabled: isLoading,
10724 value: settings[_usePromptSettings2.IMAGE_TYPE],
10725 onChange: function onChange(event) {
10726 return updateSettings((0, _defineProperty2.default)({}, _usePromptSettings2.IMAGE_TYPE, event.target.value));
10727 }
10728 }), /*#__PURE__*/_react.default.createElement(_imageStyleSelect.default, {
10729 type: settings[_usePromptSettings2.IMAGE_TYPE],
10730 value: settings[_usePromptSettings2.IMAGE_STYLE],
10731 disabled: isLoading || !settings[_usePromptSettings2.IMAGE_TYPE] || false,
10732 onChange: function onChange(event) {
10733 return updateSettings((0, _defineProperty2.default)({}, _usePromptSettings2.IMAGE_STYLE, event.target.value));
10734 }
10735 }), /*#__PURE__*/_react.default.createElement(_imageRatioSelect.default, {
10736 disabled: isLoading,
10737 value: settings[_usePromptSettings2.IMAGE_RATIO],
10738 onChange: function onChange(event) {
10739 return updateSettings((0, _defineProperty2.default)({}, _usePromptSettings2.IMAGE_RATIO, event.target.value));
10740 }
10741 }), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
10742 gap: 2,
10743 sx: {
10744 my: 2.5
10745 }
10746 }, (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, {
10747 disabled: isLoading || '' === prompt
10748 }) : /*#__PURE__*/_react.default.createElement(_generateImagesSubmit.default, {
10749 disabled: isLoading || '' === prompt
10750 })))), /*#__PURE__*/_react.default.createElement(_view.default.Content, {
10751 isGenerating: isLoading
10752 }, data !== null && data !== void 0 && data.result ? /*#__PURE__*/_react.default.createElement(_imagesDisplay.default, {
10753 images: data.result,
10754 aspectRatio: generatedAspectRatio,
10755 onUseImage: use,
10756 onEditImage: edit
10757 }) : /*#__PURE__*/_react.default.createElement(_variationsPlaceholder.default, null)));
10758 };
10759 Variations.propTypes = {};
10760 var _default = Variations;
10761 exports["default"] = _default;
10762
10763 /***/ }),
10764
10765 /***/ "../modules/ai/assets/js/editor/pages/form-text/index.js":
10766 /*!***************************************************************!*\
10767 !*** ../modules/ai/assets/js/editor/pages/form-text/index.js ***!
10768 \***************************************************************/
10769 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
10770
10771 "use strict";
10772
10773
10774 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
10775 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
10776 Object.defineProperty(exports, "__esModule", ({
10777 value: true
10778 }));
10779 exports["default"] = void 0;
10780 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
10781 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
10782 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
10783 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
10784 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
10785 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
10786 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
10787 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
10788 var _loader = _interopRequireDefault(__webpack_require__(/*! ../../components/loader */ "../modules/ai/assets/js/editor/components/loader.js"));
10789 var _promptSearch = _interopRequireDefault(__webpack_require__(/*! ../../components/prompt-search */ "../modules/ai/assets/js/editor/components/prompt-search.js"));
10790 var _textarea = _interopRequireDefault(__webpack_require__(/*! ../../components/textarea */ "../modules/ai/assets/js/editor/components/textarea.js"));
10791 var _promptSuggestions = _interopRequireDefault(__webpack_require__(/*! ../../components/prompt-suggestions */ "../modules/ai/assets/js/editor/components/prompt-suggestions.js"));
10792 var _promptLibraryLink = _interopRequireDefault(__webpack_require__(/*! ../../components/prompt-library-link */ "../modules/ai/assets/js/editor/components/prompt-library-link.js"));
10793 var _promptActionSelection = _interopRequireDefault(__webpack_require__(/*! ../../components/prompt-action-selection */ "../modules/ai/assets/js/editor/components/prompt-action-selection.js"));
10794 var _generateButton = _interopRequireDefault(__webpack_require__(/*! ../../components/generate-button */ "../modules/ai/assets/js/editor/components/generate-button.js"));
10795 var _promptAction = _interopRequireDefault(__webpack_require__(/*! ../../components/prompt-action */ "../modules/ai/assets/js/editor/components/prompt-action.js"));
10796 var _promptErrorMessage = _interopRequireDefault(__webpack_require__(/*! ../../components/prompt-error-message */ "../modules/ai/assets/js/editor/components/prompt-error-message.js"));
10797 var _useTextPrompt2 = _interopRequireDefault(__webpack_require__(/*! ../../hooks/use-text-prompt */ "../modules/ai/assets/js/editor/hooks/use-text-prompt.js"));
10798 var _actionsData = __webpack_require__(/*! ../../actions-data */ "../modules/ai/assets/js/editor/actions-data.js");
10799 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");
10800 var _requestsIds = __webpack_require__(/*! ../../context/requests-ids */ "../modules/ai/assets/js/editor/context/requests-ids.js");
10801 var _voicePromotionAlert = __webpack_require__(/*! ../../components/voice-promotion-alert */ "../modules/ai/assets/js/editor/components/voice-promotion-alert.js");
10802 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); }
10803 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; }
10804 var promptActions = [{
10805 label: (0, _i18n.__)('Simplify language', 'elementor'),
10806 icon: /*#__PURE__*/_react.default.createElement(_icons.MessageIcon, {
10807 fontSize: "small"
10808 }),
10809 value: 'Simplify the language of the following message'
10810 }, {
10811 label: (0, _i18n.__)('Make it longer', 'elementor'),
10812 icon: /*#__PURE__*/_react.default.createElement(_icons.ExpandIcon, {
10813 fontSize: "small"
10814 }),
10815 value: 'Make the following message longer'
10816 }, {
10817 label: (0, _i18n.__)('Make it shorter', 'elementor'),
10818 icon: /*#__PURE__*/_react.default.createElement(_icons.ShrinkIcon, {
10819 fontSize: "small"
10820 }),
10821 value: 'Make the following message shorter'
10822 }, {
10823 label: (0, _i18n.__)('Fix spelling & grammar', 'elementor'),
10824 icon: /*#__PURE__*/_react.default.createElement(_icons.AIIcon, {
10825 fontSize: "small"
10826 }),
10827 value: 'Fix the spelling and grammar of the following message'
10828 }];
10829 var promptInstructions = [{
10830 label: (0, _i18n.__)('Change tone', 'elementor'),
10831 options: _actionsData.vocalTones,
10832 getInstruction: function getInstruction(value) {
10833 return "Change the tone of the following message to ".concat(value);
10834 }
10835 }, {
10836 label: (0, _i18n.__)('Translate to', 'elementor'),
10837 options: _actionsData.translateLanguages,
10838 getInstruction: function getInstruction(value) {
10839 return "Translate the following message to ".concat(value);
10840 }
10841 }];
10842 var FormText = function FormText(_ref) {
10843 var type = _ref.type,
10844 onClose = _ref.onClose,
10845 getControlValue = _ref.getControlValue,
10846 setControlValue = _ref.setControlValue,
10847 additionalOptions = _ref.additionalOptions,
10848 credits = _ref.credits,
10849 children = _ref.children;
10850 var initialValue = getControlValue() === (additionalOptions === null || additionalOptions === void 0 ? void 0 : additionalOptions.defaultValue) ? '' : getControlValue();
10851 var _useTextPrompt = (0, _useTextPrompt2.default)({
10852 result: initialValue,
10853 credits: credits
10854 }),
10855 data = _useTextPrompt.data,
10856 isLoading = _useTextPrompt.isLoading,
10857 error = _useTextPrompt.error,
10858 setResult = _useTextPrompt.setResult,
10859 reset = _useTextPrompt.reset,
10860 send = _useTextPrompt.send,
10861 sendUsageData = _useTextPrompt.sendUsageData;
10862 var _useState = (0, _react.useState)(''),
10863 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
10864 prompt = _useState2[0],
10865 setPrompt = _useState2[1];
10866 var _useRequestIds = (0, _requestsIds.useRequestIds)(),
10867 setGenerate = _useRequestIds.setGenerate;
10868 (0, _promptHistoryActionContext.useSubscribeOnPromptHistoryAction)([{
10869 type: _promptHistoryActionContext.ACTION_TYPES.REUSE,
10870 handler: function handler(action) {
10871 reset();
10872 setPrompt(action.data);
10873 }
10874 }, {
10875 type: _promptHistoryActionContext.ACTION_TYPES.EDIT,
10876 handler: function handler(action) {
10877 setResult(action.data);
10878 }
10879 }]);
10880 var searchField = (0, _react.useRef)(null);
10881 var resultField = (0, _react.useRef)(null);
10882 var lastRun = (0, _react.useRef)(function () {});
10883 var autocompleteItems = 'textarea' === type ? _actionsData.textareaAutocomplete : _actionsData.textAutocomplete;
10884 var showSuggestions = !prompt;
10885 var handleSubmit = function handleSubmit(event) {
10886 event.preventDefault();
10887 setGenerate();
10888 lastRun.current = function () {
10889 return send({
10890 prompt: prompt
10891 });
10892 };
10893 lastRun.current();
10894 };
10895 var handleCustomInstruction = /*#__PURE__*/function () {
10896 var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(instruction) {
10897 return _regenerator.default.wrap(function _callee$(_context) {
10898 while (1) switch (_context.prev = _context.next) {
10899 case 0:
10900 setGenerate();
10901 lastRun.current = function () {
10902 return send({
10903 input: resultField.current.value,
10904 instruction: instruction
10905 });
10906 };
10907 lastRun.current();
10908 case 3:
10909 case "end":
10910 return _context.stop();
10911 }
10912 }, _callee);
10913 }));
10914 return function handleCustomInstruction(_x) {
10915 return _ref2.apply(this, arguments);
10916 };
10917 }();
10918 var handleSuggestion = function handleSuggestion(suggestion) {
10919 setPrompt(suggestion + ' ');
10920 searchField.current.focus();
10921 };
10922 var applyPrompt = function applyPrompt() {
10923 sendUsageData();
10924 setControlValue(resultField.current.value);
10925 onClose();
10926 };
10927 if (isLoading) {
10928 return /*#__PURE__*/_react.default.createElement(_loader.default, null);
10929 }
10930 return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, error && /*#__PURE__*/_react.default.createElement(_promptErrorMessage.default, {
10931 error: error,
10932 onRetry: lastRun.current,
10933 sx: {
10934 mb: 2.5
10935 }
10936 }), children, !data.result && /*#__PURE__*/_react.default.createElement(_ui.Box, {
10937 component: "form",
10938 onSubmit: handleSubmit
10939 }, /*#__PURE__*/_react.default.createElement(_ui.Box, {
10940 sx: {
10941 mb: 2.5
10942 }
10943 }, /*#__PURE__*/_react.default.createElement(_promptSearch.default, {
10944 ref: searchField,
10945 placeholder: (0, _i18n.__)('Describe the text and tone you want to use...', 'elementor'),
10946 name: "prompt",
10947 value: prompt,
10948 onChange: function onChange(event) {
10949 return setPrompt(event.target.value);
10950 }
10951 })), showSuggestions && /*#__PURE__*/_react.default.createElement(_promptSuggestions.default, {
10952 suggestions: autocompleteItems,
10953 onSelect: handleSuggestion,
10954 suggestionFilter: function suggestionFilter(suggestion) {
10955 return suggestion + '...';
10956 }
10957 }, /*#__PURE__*/_react.default.createElement(_promptLibraryLink.default, {
10958 libraryLink: "https://go.elementor.com/ai-prompt-library-text/"
10959 })), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
10960 direction: "row",
10961 alignItems: "center",
10962 sx: {
10963 py: 1.5,
10964 mt: 4
10965 }
10966 }, /*#__PURE__*/_react.default.createElement(_ui.Stack, {
10967 direction: "row",
10968 justifyContent: "flex-end",
10969 flexGrow: 1
10970 }, /*#__PURE__*/_react.default.createElement(_generateButton.default, null, (0, _i18n.__)('Generate text', 'elementor'))))), data.result && /*#__PURE__*/_react.default.createElement(_ui.Box, {
10971 sx: {
10972 mt: 1
10973 }
10974 }, /*#__PURE__*/_react.default.createElement(_textarea.default, {
10975 fullWidth: true,
10976 ref: resultField,
10977 value: data.result,
10978 helperText: (0, _i18n.__)('Text generated by AI may be inaccurate or offensive.', 'elementor'),
10979 onChange: function onChange(event) {
10980 return setResult(event.target.value);
10981 }
10982 }), /*#__PURE__*/_react.default.createElement(_ui.Grid, {
10983 container: true,
10984 spacing: 1,
10985 sx: {
10986 mt: 2.5
10987 }
10988 }, promptActions.map(function (_ref3) {
10989 var label = _ref3.label,
10990 icon = _ref3.icon,
10991 value = _ref3.value;
10992 return /*#__PURE__*/_react.default.createElement(_ui.Grid, {
10993 item: true,
10994 key: label
10995 }, /*#__PURE__*/_react.default.createElement(_promptAction.default, {
10996 label: label,
10997 icon: icon,
10998 onClick: function onClick() {
10999 return handleCustomInstruction(value);
11000 }
11001 }));
11002 })), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
11003 direction: "row",
11004 alignItems: "center",
11005 spacing: 1,
11006 sx: {
11007 mt: 2.5
11008 }
11009 }, promptInstructions.map(function (_ref4) {
11010 var label = _ref4.label,
11011 options = _ref4.options,
11012 getInstruction = _ref4.getInstruction;
11013 return /*#__PURE__*/_react.default.createElement(_promptActionSelection.default, {
11014 key: label,
11015 label: label,
11016 options: options,
11017 onChange: function onChange(event) {
11018 return handleCustomInstruction(getInstruction(event.target.value));
11019 }
11020 });
11021 })), /*#__PURE__*/_react.default.createElement(_voicePromotionAlert.VoicePromotionAlert, {
11022 introductionKey: "ai-context-text-promotion",
11023 sx: {
11024 mb: 2
11025 }
11026 }), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
11027 direction: "row",
11028 alignItems: "center",
11029 sx: {
11030 my: 1
11031 }
11032 }, /*#__PURE__*/_react.default.createElement(_ui.Stack, {
11033 direction: "row",
11034 gap: 1,
11035 justifyContent: "flex-end",
11036 flexGrow: 1
11037 }, /*#__PURE__*/_react.default.createElement(_ui.Button, {
11038 size: "small",
11039 color: "secondary",
11040 variant: "text",
11041 onClick: reset
11042 }, (0, _i18n.__)('New prompt', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Button, {
11043 size: "small",
11044 variant: "contained",
11045 color: "primary",
11046 onClick: applyPrompt
11047 }, (0, _i18n.__)('Use text', 'elementor'))))));
11048 };
11049 FormText.propTypes = {
11050 type: _propTypes.default.string.isRequired,
11051 controlType: _propTypes.default.string,
11052 onClose: _propTypes.default.func.isRequired,
11053 getControlValue: _propTypes.default.func.isRequired,
11054 setControlValue: _propTypes.default.func.isRequired,
11055 additionalOptions: _propTypes.default.object,
11056 credits: _propTypes.default.number,
11057 usagePercentage: _propTypes.default.number,
11058 children: _propTypes.default.node
11059 };
11060 var _default = FormText;
11061 exports["default"] = _default;
11062
11063 /***/ }),
11064
11065 /***/ "../modules/ai/assets/js/editor/pages/get-started/index.js":
11066 /*!*****************************************************************!*\
11067 !*** ../modules/ai/assets/js/editor/pages/get-started/index.js ***!
11068 \*****************************************************************/
11069 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
11070
11071 "use strict";
11072
11073
11074 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
11075 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
11076 Object.defineProperty(exports, "__esModule", ({
11077 value: true
11078 }));
11079 exports["default"] = void 0;
11080 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
11081 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
11082 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
11083 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
11084 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
11085 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
11086 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
11087 var _api = __webpack_require__(/*! ../../api */ "../modules/ai/assets/js/editor/api/index.js");
11088 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
11089 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); }
11090 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; }
11091 var GetStarted = function GetStarted(_ref) {
11092 var onSuccess = _ref.onSuccess;
11093 var _useState = (0, _react.useState)(false),
11094 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
11095 isTermsChecked = _useState2[0],
11096 setIsTermsChecked = _useState2[1];
11097 var onGetStartedClick = /*#__PURE__*/function () {
11098 var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
11099 return _regenerator.default.wrap(function _callee$(_context) {
11100 while (1) switch (_context.prev = _context.next) {
11101 case 0:
11102 _context.next = 2;
11103 return (0, _api.setGetStarted)();
11104 case 2:
11105 onSuccess();
11106 case 3:
11107 case "end":
11108 return _context.stop();
11109 }
11110 }, _callee);
11111 }));
11112 return function onGetStartedClick() {
11113 return _ref2.apply(this, arguments);
11114 };
11115 }();
11116 return /*#__PURE__*/_react.default.createElement(_ui.Stack, {
11117 alignItems: "center",
11118 gap: 1.5
11119 }, /*#__PURE__*/_react.default.createElement(_icons.AIIcon, {
11120 sx: {
11121 color: 'text.primary',
11122 fontSize: '60px',
11123 mb: 1
11124 }
11125 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
11126 variant: "h4",
11127 sx: {
11128 color: 'text.primary'
11129 }
11130 }, (0, _i18n.__)('Step into the future with Elementor AI', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
11131 variant: "body2"
11132 }, (0, _i18n.__)('Create smarter with AI text and code generators built right into the editor.', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
11133 direction: "row",
11134 gap: 1.5,
11135 alignItems: "flex-start"
11136 }, /*#__PURE__*/_react.default.createElement(_ui.Checkbox, {
11137 id: "e-ai-terms-approval",
11138 color: "secondary",
11139 sx: {
11140 p: 0
11141 },
11142 onChange: function onChange() {
11143 return setIsTermsChecked(function (prevState) {
11144 return !prevState;
11145 });
11146 }
11147 }), /*#__PURE__*/_react.default.createElement(_ui.Stack, null, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
11148 variant: "caption",
11149 sx: {
11150 maxWidth: 520
11151 },
11152 component: "label",
11153 htmlFor: "e-ai-terms-approval"
11154 }, (0, _i18n.__)('I approve the ', 'elementor'), /*#__PURE__*/_react.default.createElement(_ui.Link, {
11155 href: "https://go.elementor.com/ai-terms/",
11156 target: "_blank",
11157 color: "info.main"
11158 }, (0, _i18n.__)('Terms of Service', 'elementor')), ' & ', /*#__PURE__*/_react.default.createElement(_ui.Link, {
11159 href: "https://go.elementor.com/ai-privacy-policy/",
11160 target: "_blank",
11161 color: "info.main"
11162 }, (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, {
11163 disabled: !isTermsChecked,
11164 variant: "contained",
11165 onClick: onGetStartedClick,
11166 sx: {
11167 mt: 1,
11168 '&:hover': {
11169 color: 'primary.contrastText'
11170 }
11171 }
11172 }, (0, _i18n.__)('Get Started', 'elementor')));
11173 };
11174 GetStarted.propTypes = {
11175 onSuccess: _propTypes.default.func.isRequired
11176 };
11177 var _default = GetStarted;
11178 exports["default"] = _default;
11179
11180 /***/ }),
11181
11182 /***/ "../node_modules/clsx/dist/clsx.m.js":
11183 /*!*******************************************!*\
11184 !*** ../node_modules/clsx/dist/clsx.m.js ***!
11185 \*******************************************/
11186 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
11187
11188 "use strict";
11189 __webpack_require__.r(__webpack_exports__);
11190 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
11191 /* harmony export */ clsx: () => (/* binding */ clsx),
11192 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
11193 /* harmony export */ });
11194 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);
11195
11196 /***/ }),
11197
11198 /***/ "../node_modules/debug/src/browser.js":
11199 /*!********************************************!*\
11200 !*** ../node_modules/debug/src/browser.js ***!
11201 \********************************************/
11202 /***/ ((module, exports, __webpack_require__) => {
11203
11204 /* eslint-env browser */
11205
11206 /**
11207 * This is the web browser implementation of `debug()`.
11208 */
11209
11210 exports.formatArgs = formatArgs;
11211 exports.save = save;
11212 exports.load = load;
11213 exports.useColors = useColors;
11214 exports.storage = localstorage();
11215 exports.destroy = (() => {
11216 let warned = false;
11217
11218 return () => {
11219 if (!warned) {
11220 warned = true;
11221 console.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');
11222 }
11223 };
11224 })();
11225
11226 /**
11227 * Colors.
11228 */
11229
11230 exports.colors = [
11231 '#0000CC',
11232 '#0000FF',
11233 '#0033CC',
11234 '#0033FF',
11235 '#0066CC',
11236 '#0066FF',
11237 '#0099CC',
11238 '#0099FF',
11239 '#00CC00',
11240 '#00CC33',
11241 '#00CC66',
11242 '#00CC99',
11243 '#00CCCC',
11244 '#00CCFF',
11245 '#3300CC',
11246 '#3300FF',
11247 '#3333CC',
11248 '#3333FF',
11249 '#3366CC',
11250 '#3366FF',
11251 '#3399CC',
11252 '#3399FF',
11253 '#33CC00',
11254 '#33CC33',
11255 '#33CC66',
11256 '#33CC99',
11257 '#33CCCC',
11258 '#33CCFF',
11259 '#6600CC',
11260 '#6600FF',
11261 '#6633CC',
11262 '#6633FF',
11263 '#66CC00',
11264 '#66CC33',
11265 '#9900CC',
11266 '#9900FF',
11267 '#9933CC',
11268 '#9933FF',
11269 '#99CC00',
11270 '#99CC33',
11271 '#CC0000',
11272 '#CC0033',
11273 '#CC0066',
11274 '#CC0099',
11275 '#CC00CC',
11276 '#CC00FF',
11277 '#CC3300',
11278 '#CC3333',
11279 '#CC3366',
11280 '#CC3399',
11281 '#CC33CC',
11282 '#CC33FF',
11283 '#CC6600',
11284 '#CC6633',
11285 '#CC9900',
11286 '#CC9933',
11287 '#CCCC00',
11288 '#CCCC33',
11289 '#FF0000',
11290 '#FF0033',
11291 '#FF0066',
11292 '#FF0099',
11293 '#FF00CC',
11294 '#FF00FF',
11295 '#FF3300',
11296 '#FF3333',
11297 '#FF3366',
11298 '#FF3399',
11299 '#FF33CC',
11300 '#FF33FF',
11301 '#FF6600',
11302 '#FF6633',
11303 '#FF9900',
11304 '#FF9933',
11305 '#FFCC00',
11306 '#FFCC33'
11307 ];
11308
11309 /**
11310 * Currently only WebKit-based Web Inspectors, Firefox >= v31,
11311 * and the Firebug extension (any Firefox version) are known
11312 * to support "%c" CSS customizations.
11313 *
11314 * TODO: add a `localStorage` variable to explicitly enable/disable colors
11315 */
11316
11317 // eslint-disable-next-line complexity
11318 function useColors() {
11319 // NB: In an Electron preload script, document will be defined but not fully
11320 // initialized. Since we know we're in Chrome, we'll just detect this case
11321 // explicitly
11322 if (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {
11323 return true;
11324 }
11325
11326 // Internet Explorer and Edge do not support colors.
11327 if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) {
11328 return false;
11329 }
11330
11331 // Is webkit? http://stackoverflow.com/a/16459606/376773
11332 // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632
11333 return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||
11334 // Is firebug? http://stackoverflow.com/a/398120/376773
11335 (typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||
11336 // Is firefox >= v31?
11337 // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages
11338 (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31) ||
11339 // Double check webkit in userAgent just in case we are in a worker
11340 (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/));
11341 }
11342
11343 /**
11344 * Colorize log arguments if enabled.
11345 *
11346 * @api public
11347 */
11348
11349 function formatArgs(args) {
11350 args[0] = (this.useColors ? '%c' : '') +
11351 this.namespace +
11352 (this.useColors ? ' %c' : ' ') +
11353 args[0] +
11354 (this.useColors ? '%c ' : ' ') +
11355 '+' + module.exports.humanize(this.diff);
11356
11357 if (!this.useColors) {
11358 return;
11359 }
11360
11361 const c = 'color: ' + this.color;
11362 args.splice(1, 0, c, 'color: inherit');
11363
11364 // The final "%c" is somewhat tricky, because there could be other
11365 // arguments passed either before or after the %c, so we need to
11366 // figure out the correct index to insert the CSS into
11367 let index = 0;
11368 let lastC = 0;
11369 args[0].replace(/%[a-zA-Z%]/g, match => {
11370 if (match === '%%') {
11371 return;
11372 }
11373 index++;
11374 if (match === '%c') {
11375 // We only are interested in the *last* %c
11376 // (the user may have provided their own)
11377 lastC = index;
11378 }
11379 });
11380
11381 args.splice(lastC, 0, c);
11382 }
11383
11384 /**
11385 * Invokes `console.debug()` when available.
11386 * No-op when `console.debug` is not a "function".
11387 * If `console.debug` is not available, falls back
11388 * to `console.log`.
11389 *
11390 * @api public
11391 */
11392 exports.log = console.debug || console.log || (() => {});
11393
11394 /**
11395 * Save `namespaces`.
11396 *
11397 * @param {String} namespaces
11398 * @api private
11399 */
11400 function save(namespaces) {
11401 try {
11402 if (namespaces) {
11403 exports.storage.setItem('debug', namespaces);
11404 } else {
11405 exports.storage.removeItem('debug');
11406 }
11407 } catch (error) {
11408 // Swallow
11409 // XXX (@Qix-) should we be logging these?
11410 }
11411 }
11412
11413 /**
11414 * Load `namespaces`.
11415 *
11416 * @return {String} returns the previously persisted debug modes
11417 * @api private
11418 */
11419 function load() {
11420 let r;
11421 try {
11422 r = exports.storage.getItem('debug');
11423 } catch (error) {
11424 // Swallow
11425 // XXX (@Qix-) should we be logging these?
11426 }
11427
11428 // If debug isn't set in LS, and we're in Electron, try to load $DEBUG
11429 if (!r && typeof process !== 'undefined' && 'env' in process) {
11430 r = process.env.DEBUG;
11431 }
11432
11433 return r;
11434 }
11435
11436 /**
11437 * Localstorage attempts to return the localstorage.
11438 *
11439 * This is necessary because safari throws
11440 * when a user disables cookies/localstorage
11441 * and you attempt to access it.
11442 *
11443 * @return {LocalStorage}
11444 * @api private
11445 */
11446
11447 function localstorage() {
11448 try {
11449 // TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context
11450 // The Browser also has localStorage in the global context.
11451 return localStorage;
11452 } catch (error) {
11453 // Swallow
11454 // XXX (@Qix-) should we be logging these?
11455 }
11456 }
11457
11458 module.exports = __webpack_require__(/*! ./common */ "../node_modules/debug/src/common.js")(exports);
11459
11460 const {formatters} = module.exports;
11461
11462 /**
11463 * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.
11464 */
11465
11466 formatters.j = function (v) {
11467 try {
11468 return JSON.stringify(v);
11469 } catch (error) {
11470 return '[UnexpectedJSONParseError]: ' + error.message;
11471 }
11472 };
11473
11474
11475 /***/ }),
11476
11477 /***/ "../node_modules/debug/src/common.js":
11478 /*!*******************************************!*\
11479 !*** ../node_modules/debug/src/common.js ***!
11480 \*******************************************/
11481 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
11482
11483
11484 /**
11485 * This is the common logic for both the Node.js and web browser
11486 * implementations of `debug()`.
11487 */
11488
11489 function setup(env) {
11490 createDebug.debug = createDebug;
11491 createDebug.default = createDebug;
11492 createDebug.coerce = coerce;
11493 createDebug.disable = disable;
11494 createDebug.enable = enable;
11495 createDebug.enabled = enabled;
11496 createDebug.humanize = __webpack_require__(/*! ms */ "../node_modules/ms/index.js");
11497 createDebug.destroy = destroy;
11498
11499 Object.keys(env).forEach(key => {
11500 createDebug[key] = env[key];
11501 });
11502
11503 /**
11504 * The currently active debug mode names, and names to skip.
11505 */
11506
11507 createDebug.names = [];
11508 createDebug.skips = [];
11509
11510 /**
11511 * Map of special "%n" handling functions, for the debug "format" argument.
11512 *
11513 * Valid key names are a single, lower or upper-case letter, i.e. "n" and "N".
11514 */
11515 createDebug.formatters = {};
11516
11517 /**
11518 * Selects a color for a debug namespace
11519 * @param {String} namespace The namespace string for the debug instance to be colored
11520 * @return {Number|String} An ANSI color code for the given namespace
11521 * @api private
11522 */
11523 function selectColor(namespace) {
11524 let hash = 0;
11525
11526 for (let i = 0; i < namespace.length; i++) {
11527 hash = ((hash << 5) - hash) + namespace.charCodeAt(i);
11528 hash |= 0; // Convert to 32bit integer
11529 }
11530
11531 return createDebug.colors[Math.abs(hash) % createDebug.colors.length];
11532 }
11533 createDebug.selectColor = selectColor;
11534
11535 /**
11536 * Create a debugger with the given `namespace`.
11537 *
11538 * @param {String} namespace
11539 * @return {Function}
11540 * @api public
11541 */
11542 function createDebug(namespace) {
11543 let prevTime;
11544 let enableOverride = null;
11545 let namespacesCache;
11546 let enabledCache;
11547
11548 function debug(...args) {
11549 // Disabled?
11550 if (!debug.enabled) {
11551 return;
11552 }
11553
11554 const self = debug;
11555
11556 // Set `diff` timestamp
11557 const curr = Number(new Date());
11558 const ms = curr - (prevTime || curr);
11559 self.diff = ms;
11560 self.prev = prevTime;
11561 self.curr = curr;
11562 prevTime = curr;
11563
11564 args[0] = createDebug.coerce(args[0]);
11565
11566 if (typeof args[0] !== 'string') {
11567 // Anything else let's inspect with %O
11568 args.unshift('%O');
11569 }
11570
11571 // Apply any `formatters` transformations
11572 let index = 0;
11573 args[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {
11574 // If we encounter an escaped % then don't increase the array index
11575 if (match === '%%') {
11576 return '%';
11577 }
11578 index++;
11579 const formatter = createDebug.formatters[format];
11580 if (typeof formatter === 'function') {
11581 const val = args[index];
11582 match = formatter.call(self, val);
11583
11584 // Now we need to remove `args[index]` since it's inlined in the `format`
11585 args.splice(index, 1);
11586 index--;
11587 }
11588 return match;
11589 });
11590
11591 // Apply env-specific formatting (colors, etc.)
11592 createDebug.formatArgs.call(self, args);
11593
11594 const logFn = self.log || createDebug.log;
11595 logFn.apply(self, args);
11596 }
11597
11598 debug.namespace = namespace;
11599 debug.useColors = createDebug.useColors();
11600 debug.color = createDebug.selectColor(namespace);
11601 debug.extend = extend;
11602 debug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release.
11603
11604 Object.defineProperty(debug, 'enabled', {
11605 enumerable: true,
11606 configurable: false,
11607 get: () => {
11608 if (enableOverride !== null) {
11609 return enableOverride;
11610 }
11611 if (namespacesCache !== createDebug.namespaces) {
11612 namespacesCache = createDebug.namespaces;
11613 enabledCache = createDebug.enabled(namespace);
11614 }
11615
11616 return enabledCache;
11617 },
11618 set: v => {
11619 enableOverride = v;
11620 }
11621 });
11622
11623 // Env-specific initialization logic for debug instances
11624 if (typeof createDebug.init === 'function') {
11625 createDebug.init(debug);
11626 }
11627
11628 return debug;
11629 }
11630
11631 function extend(namespace, delimiter) {
11632 const newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);
11633 newDebug.log = this.log;
11634 return newDebug;
11635 }
11636
11637 /**
11638 * Enables a debug mode by namespaces. This can include modes
11639 * separated by a colon and wildcards.
11640 *
11641 * @param {String} namespaces
11642 * @api public
11643 */
11644 function enable(namespaces) {
11645 createDebug.save(namespaces);
11646 createDebug.namespaces = namespaces;
11647
11648 createDebug.names = [];
11649 createDebug.skips = [];
11650
11651 let i;
11652 const split = (typeof namespaces === 'string' ? namespaces : '').split(/[\s,]+/);
11653 const len = split.length;
11654
11655 for (i = 0; i < len; i++) {
11656 if (!split[i]) {
11657 // ignore empty strings
11658 continue;
11659 }
11660
11661 namespaces = split[i].replace(/\*/g, '.*?');
11662
11663 if (namespaces[0] === '-') {
11664 createDebug.skips.push(new RegExp('^' + namespaces.slice(1) + '$'));
11665 } else {
11666 createDebug.names.push(new RegExp('^' + namespaces + '$'));
11667 }
11668 }
11669 }
11670
11671 /**
11672 * Disable debug output.
11673 *
11674 * @return {String} namespaces
11675 * @api public
11676 */
11677 function disable() {
11678 const namespaces = [
11679 ...createDebug.names.map(toNamespace),
11680 ...createDebug.skips.map(toNamespace).map(namespace => '-' + namespace)
11681 ].join(',');
11682 createDebug.enable('');
11683 return namespaces;
11684 }
11685
11686 /**
11687 * Returns true if the given mode name is enabled, false otherwise.
11688 *
11689 * @param {String} name
11690 * @return {Boolean}
11691 * @api public
11692 */
11693 function enabled(name) {
11694 if (name[name.length - 1] === '*') {
11695 return true;
11696 }
11697
11698 let i;
11699 let len;
11700
11701 for (i = 0, len = createDebug.skips.length; i < len; i++) {
11702 if (createDebug.skips[i].test(name)) {
11703 return false;
11704 }
11705 }
11706
11707 for (i = 0, len = createDebug.names.length; i < len; i++) {
11708 if (createDebug.names[i].test(name)) {
11709 return true;
11710 }
11711 }
11712
11713 return false;
11714 }
11715
11716 /**
11717 * Convert regexp to namespace
11718 *
11719 * @param {RegExp} regxep
11720 * @return {String} namespace
11721 * @api private
11722 */
11723 function toNamespace(regexp) {
11724 return regexp.toString()
11725 .substring(2, regexp.toString().length - 2)
11726 .replace(/\.\*\?$/, '*');
11727 }
11728
11729 /**
11730 * Coerce `val`.
11731 *
11732 * @param {Mixed} val
11733 * @return {Mixed}
11734 * @api private
11735 */
11736 function coerce(val) {
11737 if (val instanceof Error) {
11738 return val.stack || val.message;
11739 }
11740 return val;
11741 }
11742
11743 /**
11744 * XXX DO NOT USE. This is a temporary stub function.
11745 * XXX It WILL be removed in the next major release.
11746 */
11747 function destroy() {
11748 console.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');
11749 }
11750
11751 createDebug.enable(createDebug.load());
11752
11753 return createDebug;
11754 }
11755
11756 module.exports = setup;
11757
11758
11759 /***/ }),
11760
11761 /***/ "../node_modules/extend/index.js":
11762 /*!***************************************!*\
11763 !*** ../node_modules/extend/index.js ***!
11764 \***************************************/
11765 /***/ ((module) => {
11766
11767 "use strict";
11768
11769
11770 var hasOwn = Object.prototype.hasOwnProperty;
11771 var toStr = Object.prototype.toString;
11772 var defineProperty = Object.defineProperty;
11773 var gOPD = Object.getOwnPropertyDescriptor;
11774
11775 var isArray = function isArray(arr) {
11776 if (typeof Array.isArray === 'function') {
11777 return Array.isArray(arr);
11778 }
11779
11780 return toStr.call(arr) === '[object Array]';
11781 };
11782
11783 var isPlainObject = function isPlainObject(obj) {
11784 if (!obj || toStr.call(obj) !== '[object Object]') {
11785 return false;
11786 }
11787
11788 var hasOwnConstructor = hasOwn.call(obj, 'constructor');
11789 var hasIsPrototypeOf = obj.constructor && obj.constructor.prototype && hasOwn.call(obj.constructor.prototype, 'isPrototypeOf');
11790 // Not own constructor property must be Object
11791 if (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) {
11792 return false;
11793 }
11794
11795 // Own properties are enumerated firstly, so to speed up,
11796 // if last one is own, then all properties are own.
11797 var key;
11798 for (key in obj) { /**/ }
11799
11800 return typeof key === 'undefined' || hasOwn.call(obj, key);
11801 };
11802
11803 // If name is '__proto__', and Object.defineProperty is available, define __proto__ as an own property on target
11804 var setProperty = function setProperty(target, options) {
11805 if (defineProperty && options.name === '__proto__') {
11806 defineProperty(target, options.name, {
11807 enumerable: true,
11808 configurable: true,
11809 value: options.newValue,
11810 writable: true
11811 });
11812 } else {
11813 target[options.name] = options.newValue;
11814 }
11815 };
11816
11817 // Return undefined instead of __proto__ if '__proto__' is not an own property
11818 var getProperty = function getProperty(obj, name) {
11819 if (name === '__proto__') {
11820 if (!hasOwn.call(obj, name)) {
11821 return void 0;
11822 } else if (gOPD) {
11823 // In early versions of node, obj['__proto__'] is buggy when obj has
11824 // __proto__ as an own property. Object.getOwnPropertyDescriptor() works.
11825 return gOPD(obj, name).value;
11826 }
11827 }
11828
11829 return obj[name];
11830 };
11831
11832 module.exports = function extend() {
11833 var options, name, src, copy, copyIsArray, clone;
11834 var target = arguments[0];
11835 var i = 1;
11836 var length = arguments.length;
11837 var deep = false;
11838
11839 // Handle a deep copy situation
11840 if (typeof target === 'boolean') {
11841 deep = target;
11842 target = arguments[1] || {};
11843 // skip the boolean and the target
11844 i = 2;
11845 }
11846 if (target == null || (typeof target !== 'object' && typeof target !== 'function')) {
11847 target = {};
11848 }
11849
11850 for (; i < length; ++i) {
11851 options = arguments[i];
11852 // Only deal with non-null/undefined values
11853 if (options != null) {
11854 // Extend the base object
11855 for (name in options) {
11856 src = getProperty(target, name);
11857 copy = getProperty(options, name);
11858
11859 // Prevent never-ending loop
11860 if (target !== copy) {
11861 // Recurse if we're merging plain objects or arrays
11862 if (deep && copy && (isPlainObject(copy) || (copyIsArray = isArray(copy)))) {
11863 if (copyIsArray) {
11864 copyIsArray = false;
11865 clone = src && isArray(src) ? src : [];
11866 } else {
11867 clone = src && isPlainObject(src) ? src : {};
11868 }
11869
11870 // Never move original objects, clone them
11871 setProperty(target, { name: name, newValue: extend(deep, clone, copy) });
11872
11873 // Don't bring in undefined values
11874 } else if (typeof copy !== 'undefined') {
11875 setProperty(target, { name: name, newValue: copy });
11876 }
11877 }
11878 }
11879 }
11880 }
11881
11882 // Return the modified object
11883 return target;
11884 };
11885
11886
11887 /***/ }),
11888
11889 /***/ "../node_modules/inline-style-parser/index.js":
11890 /*!****************************************************!*\
11891 !*** ../node_modules/inline-style-parser/index.js ***!
11892 \****************************************************/
11893 /***/ ((module) => {
11894
11895 // http://www.w3.org/TR/CSS21/grammar.html
11896 // https://github.com/visionmedia/css-parse/pull/49#issuecomment-30088027
11897 var COMMENT_REGEX = /\/\*[^*]*\*+([^/*][^*]*\*+)*\//g;
11898
11899 var NEWLINE_REGEX = /\n/g;
11900 var WHITESPACE_REGEX = /^\s*/;
11901
11902 // declaration
11903 var PROPERTY_REGEX = /^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/;
11904 var COLON_REGEX = /^:\s*/;
11905 var VALUE_REGEX = /^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/;
11906 var SEMICOLON_REGEX = /^[;\s]*/;
11907
11908 // https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String/Trim#Polyfill
11909 var TRIM_REGEX = /^\s+|\s+$/g;
11910
11911 // strings
11912 var NEWLINE = '\n';
11913 var FORWARD_SLASH = '/';
11914 var ASTERISK = '*';
11915 var EMPTY_STRING = '';
11916
11917 // types
11918 var TYPE_COMMENT = 'comment';
11919 var TYPE_DECLARATION = 'declaration';
11920
11921 /**
11922 * @param {String} style
11923 * @param {Object} [options]
11924 * @return {Object[]}
11925 * @throws {TypeError}
11926 * @throws {Error}
11927 */
11928 module.exports = function(style, options) {
11929 if (typeof style !== 'string') {
11930 throw new TypeError('First argument must be a string');
11931 }
11932
11933 if (!style) return [];
11934
11935 options = options || {};
11936
11937 /**
11938 * Positional.
11939 */
11940 var lineno = 1;
11941 var column = 1;
11942
11943 /**
11944 * Update lineno and column based on `str`.
11945 *
11946 * @param {String} str
11947 */
11948 function updatePosition(str) {
11949 var lines = str.match(NEWLINE_REGEX);
11950 if (lines) lineno += lines.length;
11951 var i = str.lastIndexOf(NEWLINE);
11952 column = ~i ? str.length - i : column + str.length;
11953 }
11954
11955 /**
11956 * Mark position and patch `node.position`.
11957 *
11958 * @return {Function}
11959 */
11960 function position() {
11961 var start = { line: lineno, column: column };
11962 return function(node) {
11963 node.position = new Position(start);
11964 whitespace();
11965 return node;
11966 };
11967 }
11968
11969 /**
11970 * Store position information for a node.
11971 *
11972 * @constructor
11973 * @property {Object} start
11974 * @property {Object} end
11975 * @property {undefined|String} source
11976 */
11977 function Position(start) {
11978 this.start = start;
11979 this.end = { line: lineno, column: column };
11980 this.source = options.source;
11981 }
11982
11983 /**
11984 * Non-enumerable source string.
11985 */
11986 Position.prototype.content = style;
11987
11988 var errorsList = [];
11989
11990 /**
11991 * Error `msg`.
11992 *
11993 * @param {String} msg
11994 * @throws {Error}
11995 */
11996 function error(msg) {
11997 var err = new Error(
11998 options.source + ':' + lineno + ':' + column + ': ' + msg
11999 );
12000 err.reason = msg;
12001 err.filename = options.source;
12002 err.line = lineno;
12003 err.column = column;
12004 err.source = style;
12005
12006 if (options.silent) {
12007 errorsList.push(err);
12008 } else {
12009 throw err;
12010 }
12011 }
12012
12013 /**
12014 * Match `re` and return captures.
12015 *
12016 * @param {RegExp} re
12017 * @return {undefined|Array}
12018 */
12019 function match(re) {
12020 var m = re.exec(style);
12021 if (!m) return;
12022 var str = m[0];
12023 updatePosition(str);
12024 style = style.slice(str.length);
12025 return m;
12026 }
12027
12028 /**
12029 * Parse whitespace.
12030 */
12031 function whitespace() {
12032 match(WHITESPACE_REGEX);
12033 }
12034
12035 /**
12036 * Parse comments.
12037 *
12038 * @param {Object[]} [rules]
12039 * @return {Object[]}
12040 */
12041 function comments(rules) {
12042 var c;
12043 rules = rules || [];
12044 while ((c = comment())) {
12045 if (c !== false) {
12046 rules.push(c);
12047 }
12048 }
12049 return rules;
12050 }
12051
12052 /**
12053 * Parse comment.
12054 *
12055 * @return {Object}
12056 * @throws {Error}
12057 */
12058 function comment() {
12059 var pos = position();
12060 if (FORWARD_SLASH != style.charAt(0) || ASTERISK != style.charAt(1)) return;
12061
12062 var i = 2;
12063 while (
12064 EMPTY_STRING != style.charAt(i) &&
12065 (ASTERISK != style.charAt(i) || FORWARD_SLASH != style.charAt(i + 1))
12066 ) {
12067 ++i;
12068 }
12069 i += 2;
12070
12071 if (EMPTY_STRING === style.charAt(i - 1)) {
12072 return error('End of comment missing');
12073 }
12074
12075 var str = style.slice(2, i - 2);
12076 column += 2;
12077 updatePosition(str);
12078 style = style.slice(i);
12079 column += 2;
12080
12081 return pos({
12082 type: TYPE_COMMENT,
12083 comment: str
12084 });
12085 }
12086
12087 /**
12088 * Parse declaration.
12089 *
12090 * @return {Object}
12091 * @throws {Error}
12092 */
12093 function declaration() {
12094 var pos = position();
12095
12096 // prop
12097 var prop = match(PROPERTY_REGEX);
12098 if (!prop) return;
12099 comment();
12100
12101 // :
12102 if (!match(COLON_REGEX)) return error("property missing ':'");
12103
12104 // val
12105 var val = match(VALUE_REGEX);
12106
12107 var ret = pos({
12108 type: TYPE_DECLARATION,
12109 property: trim(prop[0].replace(COMMENT_REGEX, EMPTY_STRING)),
12110 value: val
12111 ? trim(val[0].replace(COMMENT_REGEX, EMPTY_STRING))
12112 : EMPTY_STRING
12113 });
12114
12115 // ;
12116 match(SEMICOLON_REGEX);
12117
12118 return ret;
12119 }
12120
12121 /**
12122 * Parse declarations.
12123 *
12124 * @return {Object[]}
12125 */
12126 function declarations() {
12127 var decls = [];
12128
12129 comments(decls);
12130
12131 // declarations
12132 var decl;
12133 while ((decl = declaration())) {
12134 if (decl !== false) {
12135 decls.push(decl);
12136 comments(decls);
12137 }
12138 }
12139
12140 return decls;
12141 }
12142
12143 whitespace();
12144 return declarations();
12145 };
12146
12147 /**
12148 * Trim `str`.
12149 *
12150 * @param {String} str
12151 * @return {String}
12152 */
12153 function trim(str) {
12154 return str ? str.replace(TRIM_REGEX, EMPTY_STRING) : EMPTY_STRING;
12155 }
12156
12157
12158 /***/ }),
12159
12160 /***/ "../node_modules/is-buffer/index.js":
12161 /*!******************************************!*\
12162 !*** ../node_modules/is-buffer/index.js ***!
12163 \******************************************/
12164 /***/ ((module) => {
12165
12166 /*!
12167 * Determine if an object is a Buffer
12168 *
12169 * @author Feross Aboukhadijeh <https://feross.org>
12170 * @license MIT
12171 */
12172
12173 module.exports = function isBuffer (obj) {
12174 return obj != null && obj.constructor != null &&
12175 typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)
12176 }
12177
12178
12179 /***/ }),
12180
12181 /***/ "../node_modules/ms/index.js":
12182 /*!***********************************!*\
12183 !*** ../node_modules/ms/index.js ***!
12184 \***********************************/
12185 /***/ ((module) => {
12186
12187 /**
12188 * Helpers.
12189 */
12190
12191 var s = 1000;
12192 var m = s * 60;
12193 var h = m * 60;
12194 var d = h * 24;
12195 var w = d * 7;
12196 var y = d * 365.25;
12197
12198 /**
12199 * Parse or format the given `val`.
12200 *
12201 * Options:
12202 *
12203 * - `long` verbose formatting [false]
12204 *
12205 * @param {String|Number} val
12206 * @param {Object} [options]
12207 * @throws {Error} throw an error if val is not a non-empty string or a number
12208 * @return {String|Number}
12209 * @api public
12210 */
12211
12212 module.exports = function(val, options) {
12213 options = options || {};
12214 var type = typeof val;
12215 if (type === 'string' && val.length > 0) {
12216 return parse(val);
12217 } else if (type === 'number' && isFinite(val)) {
12218 return options.long ? fmtLong(val) : fmtShort(val);
12219 }
12220 throw new Error(
12221 'val is not a non-empty string or a valid number. val=' +
12222 JSON.stringify(val)
12223 );
12224 };
12225
12226 /**
12227 * Parse the given `str` and return milliseconds.
12228 *
12229 * @param {String} str
12230 * @return {Number}
12231 * @api private
12232 */
12233
12234 function parse(str) {
12235 str = String(str);
12236 if (str.length > 100) {
12237 return;
12238 }
12239 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(
12240 str
12241 );
12242 if (!match) {
12243 return;
12244 }
12245 var n = parseFloat(match[1]);
12246 var type = (match[2] || 'ms').toLowerCase();
12247 switch (type) {
12248 case 'years':
12249 case 'year':
12250 case 'yrs':
12251 case 'yr':
12252 case 'y':
12253 return n * y;
12254 case 'weeks':
12255 case 'week':
12256 case 'w':
12257 return n * w;
12258 case 'days':
12259 case 'day':
12260 case 'd':
12261 return n * d;
12262 case 'hours':
12263 case 'hour':
12264 case 'hrs':
12265 case 'hr':
12266 case 'h':
12267 return n * h;
12268 case 'minutes':
12269 case 'minute':
12270 case 'mins':
12271 case 'min':
12272 case 'm':
12273 return n * m;
12274 case 'seconds':
12275 case 'second':
12276 case 'secs':
12277 case 'sec':
12278 case 's':
12279 return n * s;
12280 case 'milliseconds':
12281 case 'millisecond':
12282 case 'msecs':
12283 case 'msec':
12284 case 'ms':
12285 return n;
12286 default:
12287 return undefined;
12288 }
12289 }
12290
12291 /**
12292 * Short format for `ms`.
12293 *
12294 * @param {Number} ms
12295 * @return {String}
12296 * @api private
12297 */
12298
12299 function fmtShort(ms) {
12300 var msAbs = Math.abs(ms);
12301 if (msAbs >= d) {
12302 return Math.round(ms / d) + 'd';
12303 }
12304 if (msAbs >= h) {
12305 return Math.round(ms / h) + 'h';
12306 }
12307 if (msAbs >= m) {
12308 return Math.round(ms / m) + 'm';
12309 }
12310 if (msAbs >= s) {
12311 return Math.round(ms / s) + 's';
12312 }
12313 return ms + 'ms';
12314 }
12315
12316 /**
12317 * Long format for `ms`.
12318 *
12319 * @param {Number} ms
12320 * @return {String}
12321 * @api private
12322 */
12323
12324 function fmtLong(ms) {
12325 var msAbs = Math.abs(ms);
12326 if (msAbs >= d) {
12327 return plural(ms, msAbs, d, 'day');
12328 }
12329 if (msAbs >= h) {
12330 return plural(ms, msAbs, h, 'hour');
12331 }
12332 if (msAbs >= m) {
12333 return plural(ms, msAbs, m, 'minute');
12334 }
12335 if (msAbs >= s) {
12336 return plural(ms, msAbs, s, 'second');
12337 }
12338 return ms + ' ms';
12339 }
12340
12341 /**
12342 * Pluralization helper.
12343 */
12344
12345 function plural(ms, msAbs, n, name) {
12346 var isPlural = msAbs >= n * 1.5;
12347 return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');
12348 }
12349
12350
12351 /***/ }),
12352
12353 /***/ "../node_modules/object-assign/index.js":
12354 /*!**********************************************!*\
12355 !*** ../node_modules/object-assign/index.js ***!
12356 \**********************************************/
12357 /***/ ((module) => {
12358
12359 "use strict";
12360 /*
12361 object-assign
12362 (c) Sindre Sorhus
12363 @license MIT
12364 */
12365
12366
12367 /* eslint-disable no-unused-vars */
12368 var getOwnPropertySymbols = Object.getOwnPropertySymbols;
12369 var hasOwnProperty = Object.prototype.hasOwnProperty;
12370 var propIsEnumerable = Object.prototype.propertyIsEnumerable;
12371
12372 function toObject(val) {
12373 if (val === null || val === undefined) {
12374 throw new TypeError('Object.assign cannot be called with null or undefined');
12375 }
12376
12377 return Object(val);
12378 }
12379
12380 function shouldUseNative() {
12381 try {
12382 if (!Object.assign) {
12383 return false;
12384 }
12385
12386 // Detect buggy property enumeration order in older V8 versions.
12387
12388 // https://bugs.chromium.org/p/v8/issues/detail?id=4118
12389 var test1 = new String('abc'); // eslint-disable-line no-new-wrappers
12390 test1[5] = 'de';
12391 if (Object.getOwnPropertyNames(test1)[0] === '5') {
12392 return false;
12393 }
12394
12395 // https://bugs.chromium.org/p/v8/issues/detail?id=3056
12396 var test2 = {};
12397 for (var i = 0; i < 10; i++) {
12398 test2['_' + String.fromCharCode(i)] = i;
12399 }
12400 var order2 = Object.getOwnPropertyNames(test2).map(function (n) {
12401 return test2[n];
12402 });
12403 if (order2.join('') !== '0123456789') {
12404 return false;
12405 }
12406
12407 // https://bugs.chromium.org/p/v8/issues/detail?id=3056
12408 var test3 = {};
12409 'abcdefghijklmnopqrst'.split('').forEach(function (letter) {
12410 test3[letter] = letter;
12411 });
12412 if (Object.keys(Object.assign({}, test3)).join('') !==
12413 'abcdefghijklmnopqrst') {
12414 return false;
12415 }
12416
12417 return true;
12418 } catch (err) {
12419 // We don't expect any of the above to throw, but better to be safe.
12420 return false;
12421 }
12422 }
12423
12424 module.exports = shouldUseNative() ? Object.assign : function (target, source) {
12425 var from;
12426 var to = toObject(target);
12427 var symbols;
12428
12429 for (var s = 1; s < arguments.length; s++) {
12430 from = Object(arguments[s]);
12431
12432 for (var key in from) {
12433 if (hasOwnProperty.call(from, key)) {
12434 to[key] = from[key];
12435 }
12436 }
12437
12438 if (getOwnPropertySymbols) {
12439 symbols = getOwnPropertySymbols(from);
12440 for (var i = 0; i < symbols.length; i++) {
12441 if (propIsEnumerable.call(from, symbols[i])) {
12442 to[symbols[i]] = from[symbols[i]];
12443 }
12444 }
12445 }
12446 }
12447
12448 return to;
12449 };
12450
12451
12452 /***/ }),
12453
12454 /***/ "../node_modules/prop-types/checkPropTypes.js":
12455 /*!****************************************************!*\
12456 !*** ../node_modules/prop-types/checkPropTypes.js ***!
12457 \****************************************************/
12458 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12459
12460 "use strict";
12461 /**
12462 * Copyright (c) 2013-present, Facebook, Inc.
12463 *
12464 * This source code is licensed under the MIT license found in the
12465 * LICENSE file in the root directory of this source tree.
12466 */
12467
12468
12469
12470 var printWarning = function() {};
12471
12472 if (true) {
12473 var ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ "../node_modules/prop-types/lib/ReactPropTypesSecret.js");
12474 var loggedTypeFailures = {};
12475 var has = __webpack_require__(/*! ./lib/has */ "../node_modules/prop-types/lib/has.js");
12476
12477 printWarning = function(text) {
12478 var message = 'Warning: ' + text;
12479 if (typeof console !== 'undefined') {
12480 console.error(message);
12481 }
12482 try {
12483 // --- Welcome to debugging React ---
12484 // This error was thrown as a convenience so that you can use this stack
12485 // to find the callsite that caused this warning to fire.
12486 throw new Error(message);
12487 } catch (x) { /**/ }
12488 };
12489 }
12490
12491 /**
12492 * Assert that the values match with the type specs.
12493 * Error messages are memorized and will only be shown once.
12494 *
12495 * @param {object} typeSpecs Map of name to a ReactPropType
12496 * @param {object} values Runtime values that need to be type-checked
12497 * @param {string} location e.g. "prop", "context", "child context"
12498 * @param {string} componentName Name of the component for error messages.
12499 * @param {?Function} getStack Returns the component stack.
12500 * @private
12501 */
12502 function checkPropTypes(typeSpecs, values, location, componentName, getStack) {
12503 if (true) {
12504 for (var typeSpecName in typeSpecs) {
12505 if (has(typeSpecs, typeSpecName)) {
12506 var error;
12507 // Prop type validation may throw. In case they do, we don't want to
12508 // fail the render phase where it didn't fail before. So we log it.
12509 // After these have been cleaned up, we'll let them throw.
12510 try {
12511 // This is intentionally an invariant that gets caught. It's the same
12512 // behavior as without this statement except with a better message.
12513 if (typeof typeSpecs[typeSpecName] !== 'function') {
12514 var err = Error(
12515 (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +
12516 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' +
12517 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.'
12518 );
12519 err.name = 'Invariant Violation';
12520 throw err;
12521 }
12522 error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);
12523 } catch (ex) {
12524 error = ex;
12525 }
12526 if (error && !(error instanceof Error)) {
12527 printWarning(
12528 (componentName || 'React class') + ': type specification of ' +
12529 location + ' `' + typeSpecName + '` is invalid; the type checker ' +
12530 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +
12531 'You may have forgotten to pass an argument to the type checker ' +
12532 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +
12533 'shape all require an argument).'
12534 );
12535 }
12536 if (error instanceof Error && !(error.message in loggedTypeFailures)) {
12537 // Only monitor this failure once because there tends to be a lot of the
12538 // same error.
12539 loggedTypeFailures[error.message] = true;
12540
12541 var stack = getStack ? getStack() : '';
12542
12543 printWarning(
12544 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')
12545 );
12546 }
12547 }
12548 }
12549 }
12550 }
12551
12552 /**
12553 * Resets warning cache when testing.
12554 *
12555 * @private
12556 */
12557 checkPropTypes.resetWarningCache = function() {
12558 if (true) {
12559 loggedTypeFailures = {};
12560 }
12561 }
12562
12563 module.exports = checkPropTypes;
12564
12565
12566 /***/ }),
12567
12568 /***/ "../node_modules/prop-types/factoryWithTypeCheckers.js":
12569 /*!*************************************************************!*\
12570 !*** ../node_modules/prop-types/factoryWithTypeCheckers.js ***!
12571 \*************************************************************/
12572 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12573
12574 "use strict";
12575 /**
12576 * Copyright (c) 2013-present, Facebook, Inc.
12577 *
12578 * This source code is licensed under the MIT license found in the
12579 * LICENSE file in the root directory of this source tree.
12580 */
12581
12582
12583
12584 var ReactIs = __webpack_require__(/*! react-is */ "../node_modules/prop-types/node_modules/react-is/index.js");
12585 var assign = __webpack_require__(/*! object-assign */ "../node_modules/object-assign/index.js");
12586
12587 var ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ "../node_modules/prop-types/lib/ReactPropTypesSecret.js");
12588 var has = __webpack_require__(/*! ./lib/has */ "../node_modules/prop-types/lib/has.js");
12589 var checkPropTypes = __webpack_require__(/*! ./checkPropTypes */ "../node_modules/prop-types/checkPropTypes.js");
12590
12591 var printWarning = function() {};
12592
12593 if (true) {
12594 printWarning = function(text) {
12595 var message = 'Warning: ' + text;
12596 if (typeof console !== 'undefined') {
12597 console.error(message);
12598 }
12599 try {
12600 // --- Welcome to debugging React ---
12601 // This error was thrown as a convenience so that you can use this stack
12602 // to find the callsite that caused this warning to fire.
12603 throw new Error(message);
12604 } catch (x) {}
12605 };
12606 }
12607
12608 function emptyFunctionThatReturnsNull() {
12609 return null;
12610 }
12611
12612 module.exports = function(isValidElement, throwOnDirectAccess) {
12613 /* global Symbol */
12614 var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;
12615 var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.
12616
12617 /**
12618 * Returns the iterator method function contained on the iterable object.
12619 *
12620 * Be sure to invoke the function with the iterable as context:
12621 *
12622 * var iteratorFn = getIteratorFn(myIterable);
12623 * if (iteratorFn) {
12624 * var iterator = iteratorFn.call(myIterable);
12625 * ...
12626 * }
12627 *
12628 * @param {?object} maybeIterable
12629 * @return {?function}
12630 */
12631 function getIteratorFn(maybeIterable) {
12632 var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);
12633 if (typeof iteratorFn === 'function') {
12634 return iteratorFn;
12635 }
12636 }
12637
12638 /**
12639 * Collection of methods that allow declaration and validation of props that are
12640 * supplied to React components. Example usage:
12641 *
12642 * var Props = require('ReactPropTypes');
12643 * var MyArticle = React.createClass({
12644 * propTypes: {
12645 * // An optional string prop named "description".
12646 * description: Props.string,
12647 *
12648 * // A required enum prop named "category".
12649 * category: Props.oneOf(['News','Photos']).isRequired,
12650 *
12651 * // A prop named "dialog" that requires an instance of Dialog.
12652 * dialog: Props.instanceOf(Dialog).isRequired
12653 * },
12654 * render: function() { ... }
12655 * });
12656 *
12657 * A more formal specification of how these methods are used:
12658 *
12659 * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)
12660 * decl := ReactPropTypes.{type}(.isRequired)?
12661 *
12662 * Each and every declaration produces a function with the same signature. This
12663 * allows the creation of custom validation functions. For example:
12664 *
12665 * var MyLink = React.createClass({
12666 * propTypes: {
12667 * // An optional string or URI prop named "href".
12668 * href: function(props, propName, componentName) {
12669 * var propValue = props[propName];
12670 * if (propValue != null && typeof propValue !== 'string' &&
12671 * !(propValue instanceof URI)) {
12672 * return new Error(
12673 * 'Expected a string or an URI for ' + propName + ' in ' +
12674 * componentName
12675 * );
12676 * }
12677 * }
12678 * },
12679 * render: function() {...}
12680 * });
12681 *
12682 * @internal
12683 */
12684
12685 var ANONYMOUS = '<<anonymous>>';
12686
12687 // Important!
12688 // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.
12689 var ReactPropTypes = {
12690 array: createPrimitiveTypeChecker('array'),
12691 bigint: createPrimitiveTypeChecker('bigint'),
12692 bool: createPrimitiveTypeChecker('boolean'),
12693 func: createPrimitiveTypeChecker('function'),
12694 number: createPrimitiveTypeChecker('number'),
12695 object: createPrimitiveTypeChecker('object'),
12696 string: createPrimitiveTypeChecker('string'),
12697 symbol: createPrimitiveTypeChecker('symbol'),
12698
12699 any: createAnyTypeChecker(),
12700 arrayOf: createArrayOfTypeChecker,
12701 element: createElementTypeChecker(),
12702 elementType: createElementTypeTypeChecker(),
12703 instanceOf: createInstanceTypeChecker,
12704 node: createNodeChecker(),
12705 objectOf: createObjectOfTypeChecker,
12706 oneOf: createEnumTypeChecker,
12707 oneOfType: createUnionTypeChecker,
12708 shape: createShapeTypeChecker,
12709 exact: createStrictShapeTypeChecker,
12710 };
12711
12712 /**
12713 * inlined Object.is polyfill to avoid requiring consumers ship their own
12714 * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is
12715 */
12716 /*eslint-disable no-self-compare*/
12717 function is(x, y) {
12718 // SameValue algorithm
12719 if (x === y) {
12720 // Steps 1-5, 7-10
12721 // Steps 6.b-6.e: +0 != -0
12722 return x !== 0 || 1 / x === 1 / y;
12723 } else {
12724 // Step 6.a: NaN == NaN
12725 return x !== x && y !== y;
12726 }
12727 }
12728 /*eslint-enable no-self-compare*/
12729
12730 /**
12731 * We use an Error-like object for backward compatibility as people may call
12732 * PropTypes directly and inspect their output. However, we don't use real
12733 * Errors anymore. We don't inspect their stack anyway, and creating them
12734 * is prohibitively expensive if they are created too often, such as what
12735 * happens in oneOfType() for any type before the one that matched.
12736 */
12737 function PropTypeError(message, data) {
12738 this.message = message;
12739 this.data = data && typeof data === 'object' ? data: {};
12740 this.stack = '';
12741 }
12742 // Make `instanceof Error` still work for returned errors.
12743 PropTypeError.prototype = Error.prototype;
12744
12745 function createChainableTypeChecker(validate) {
12746 if (true) {
12747 var manualPropTypeCallCache = {};
12748 var manualPropTypeWarningCount = 0;
12749 }
12750 function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {
12751 componentName = componentName || ANONYMOUS;
12752 propFullName = propFullName || propName;
12753
12754 if (secret !== ReactPropTypesSecret) {
12755 if (throwOnDirectAccess) {
12756 // New behavior only for users of `prop-types` package
12757 var err = new Error(
12758 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +
12759 'Use `PropTypes.checkPropTypes()` to call them. ' +
12760 'Read more at http://fb.me/use-check-prop-types'
12761 );
12762 err.name = 'Invariant Violation';
12763 throw err;
12764 } else if ( true && typeof console !== 'undefined') {
12765 // Old behavior for people using React.PropTypes
12766 var cacheKey = componentName + ':' + propName;
12767 if (
12768 !manualPropTypeCallCache[cacheKey] &&
12769 // Avoid spamming the console because they are often not actionable except for lib authors
12770 manualPropTypeWarningCount < 3
12771 ) {
12772 printWarning(
12773 'You are manually calling a React.PropTypes validation ' +
12774 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +
12775 'and will throw in the standalone `prop-types` package. ' +
12776 'You may be seeing this warning due to a third-party PropTypes ' +
12777 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'
12778 );
12779 manualPropTypeCallCache[cacheKey] = true;
12780 manualPropTypeWarningCount++;
12781 }
12782 }
12783 }
12784 if (props[propName] == null) {
12785 if (isRequired) {
12786 if (props[propName] === null) {
12787 return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));
12788 }
12789 return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));
12790 }
12791 return null;
12792 } else {
12793 return validate(props, propName, componentName, location, propFullName);
12794 }
12795 }
12796
12797 var chainedCheckType = checkType.bind(null, false);
12798 chainedCheckType.isRequired = checkType.bind(null, true);
12799
12800 return chainedCheckType;
12801 }
12802
12803 function createPrimitiveTypeChecker(expectedType) {
12804 function validate(props, propName, componentName, location, propFullName, secret) {
12805 var propValue = props[propName];
12806 var propType = getPropType(propValue);
12807 if (propType !== expectedType) {
12808 // `propValue` being instance of, say, date/regexp, pass the 'object'
12809 // check, but we can offer a more precise error message here rather than
12810 // 'of type `object`'.
12811 var preciseType = getPreciseType(propValue);
12812
12813 return new PropTypeError(
12814 'Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'),
12815 {expectedType: expectedType}
12816 );
12817 }
12818 return null;
12819 }
12820 return createChainableTypeChecker(validate);
12821 }
12822
12823 function createAnyTypeChecker() {
12824 return createChainableTypeChecker(emptyFunctionThatReturnsNull);
12825 }
12826
12827 function createArrayOfTypeChecker(typeChecker) {
12828 function validate(props, propName, componentName, location, propFullName) {
12829 if (typeof typeChecker !== 'function') {
12830 return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');
12831 }
12832 var propValue = props[propName];
12833 if (!Array.isArray(propValue)) {
12834 var propType = getPropType(propValue);
12835 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));
12836 }
12837 for (var i = 0; i < propValue.length; i++) {
12838 var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);
12839 if (error instanceof Error) {
12840 return error;
12841 }
12842 }
12843 return null;
12844 }
12845 return createChainableTypeChecker(validate);
12846 }
12847
12848 function createElementTypeChecker() {
12849 function validate(props, propName, componentName, location, propFullName) {
12850 var propValue = props[propName];
12851 if (!isValidElement(propValue)) {
12852 var propType = getPropType(propValue);
12853 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));
12854 }
12855 return null;
12856 }
12857 return createChainableTypeChecker(validate);
12858 }
12859
12860 function createElementTypeTypeChecker() {
12861 function validate(props, propName, componentName, location, propFullName) {
12862 var propValue = props[propName];
12863 if (!ReactIs.isValidElementType(propValue)) {
12864 var propType = getPropType(propValue);
12865 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));
12866 }
12867 return null;
12868 }
12869 return createChainableTypeChecker(validate);
12870 }
12871
12872 function createInstanceTypeChecker(expectedClass) {
12873 function validate(props, propName, componentName, location, propFullName) {
12874 if (!(props[propName] instanceof expectedClass)) {
12875 var expectedClassName = expectedClass.name || ANONYMOUS;
12876 var actualClassName = getClassName(props[propName]);
12877 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));
12878 }
12879 return null;
12880 }
12881 return createChainableTypeChecker(validate);
12882 }
12883
12884 function createEnumTypeChecker(expectedValues) {
12885 if (!Array.isArray(expectedValues)) {
12886 if (true) {
12887 if (arguments.length > 1) {
12888 printWarning(
12889 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +
12890 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'
12891 );
12892 } else {
12893 printWarning('Invalid argument supplied to oneOf, expected an array.');
12894 }
12895 }
12896 return emptyFunctionThatReturnsNull;
12897 }
12898
12899 function validate(props, propName, componentName, location, propFullName) {
12900 var propValue = props[propName];
12901 for (var i = 0; i < expectedValues.length; i++) {
12902 if (is(propValue, expectedValues[i])) {
12903 return null;
12904 }
12905 }
12906
12907 var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {
12908 var type = getPreciseType(value);
12909 if (type === 'symbol') {
12910 return String(value);
12911 }
12912 return value;
12913 });
12914 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));
12915 }
12916 return createChainableTypeChecker(validate);
12917 }
12918
12919 function createObjectOfTypeChecker(typeChecker) {
12920 function validate(props, propName, componentName, location, propFullName) {
12921 if (typeof typeChecker !== 'function') {
12922 return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');
12923 }
12924 var propValue = props[propName];
12925 var propType = getPropType(propValue);
12926 if (propType !== 'object') {
12927 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));
12928 }
12929 for (var key in propValue) {
12930 if (has(propValue, key)) {
12931 var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
12932 if (error instanceof Error) {
12933 return error;
12934 }
12935 }
12936 }
12937 return null;
12938 }
12939 return createChainableTypeChecker(validate);
12940 }
12941
12942 function createUnionTypeChecker(arrayOfTypeCheckers) {
12943 if (!Array.isArray(arrayOfTypeCheckers)) {
12944 true ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : 0;
12945 return emptyFunctionThatReturnsNull;
12946 }
12947
12948 for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
12949 var checker = arrayOfTypeCheckers[i];
12950 if (typeof checker !== 'function') {
12951 printWarning(
12952 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +
12953 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'
12954 );
12955 return emptyFunctionThatReturnsNull;
12956 }
12957 }
12958
12959 function validate(props, propName, componentName, location, propFullName) {
12960 var expectedTypes = [];
12961 for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
12962 var checker = arrayOfTypeCheckers[i];
12963 var checkerResult = checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret);
12964 if (checkerResult == null) {
12965 return null;
12966 }
12967 if (checkerResult.data && has(checkerResult.data, 'expectedType')) {
12968 expectedTypes.push(checkerResult.data.expectedType);
12969 }
12970 }
12971 var expectedTypesMessage = (expectedTypes.length > 0) ? ', expected one of type [' + expectedTypes.join(', ') + ']': '';
12972 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`' + expectedTypesMessage + '.'));
12973 }
12974 return createChainableTypeChecker(validate);
12975 }
12976
12977 function createNodeChecker() {
12978 function validate(props, propName, componentName, location, propFullName) {
12979 if (!isNode(props[propName])) {
12980 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));
12981 }
12982 return null;
12983 }
12984 return createChainableTypeChecker(validate);
12985 }
12986
12987 function invalidValidatorError(componentName, location, propFullName, key, type) {
12988 return new PropTypeError(
12989 (componentName || 'React class') + ': ' + location + ' type `' + propFullName + '.' + key + '` is invalid; ' +
12990 'it must be a function, usually from the `prop-types` package, but received `' + type + '`.'
12991 );
12992 }
12993
12994 function createShapeTypeChecker(shapeTypes) {
12995 function validate(props, propName, componentName, location, propFullName) {
12996 var propValue = props[propName];
12997 var propType = getPropType(propValue);
12998 if (propType !== 'object') {
12999 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));
13000 }
13001 for (var key in shapeTypes) {
13002 var checker = shapeTypes[key];
13003 if (typeof checker !== 'function') {
13004 return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));
13005 }
13006 var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
13007 if (error) {
13008 return error;
13009 }
13010 }
13011 return null;
13012 }
13013 return createChainableTypeChecker(validate);
13014 }
13015
13016 function createStrictShapeTypeChecker(shapeTypes) {
13017 function validate(props, propName, componentName, location, propFullName) {
13018 var propValue = props[propName];
13019 var propType = getPropType(propValue);
13020 if (propType !== 'object') {
13021 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));
13022 }
13023 // We need to check all keys in case some are required but missing from props.
13024 var allKeys = assign({}, props[propName], shapeTypes);
13025 for (var key in allKeys) {
13026 var checker = shapeTypes[key];
13027 if (has(shapeTypes, key) && typeof checker !== 'function') {
13028 return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));
13029 }
13030 if (!checker) {
13031 return new PropTypeError(
13032 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +
13033 '\nBad object: ' + JSON.stringify(props[propName], null, ' ') +
13034 '\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')
13035 );
13036 }
13037 var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
13038 if (error) {
13039 return error;
13040 }
13041 }
13042 return null;
13043 }
13044
13045 return createChainableTypeChecker(validate);
13046 }
13047
13048 function isNode(propValue) {
13049 switch (typeof propValue) {
13050 case 'number':
13051 case 'string':
13052 case 'undefined':
13053 return true;
13054 case 'boolean':
13055 return !propValue;
13056 case 'object':
13057 if (Array.isArray(propValue)) {
13058 return propValue.every(isNode);
13059 }
13060 if (propValue === null || isValidElement(propValue)) {
13061 return true;
13062 }
13063
13064 var iteratorFn = getIteratorFn(propValue);
13065 if (iteratorFn) {
13066 var iterator = iteratorFn.call(propValue);
13067 var step;
13068 if (iteratorFn !== propValue.entries) {
13069 while (!(step = iterator.next()).done) {
13070 if (!isNode(step.value)) {
13071 return false;
13072 }
13073 }
13074 } else {
13075 // Iterator will provide entry [k,v] tuples rather than values.
13076 while (!(step = iterator.next()).done) {
13077 var entry = step.value;
13078 if (entry) {
13079 if (!isNode(entry[1])) {
13080 return false;
13081 }
13082 }
13083 }
13084 }
13085 } else {
13086 return false;
13087 }
13088
13089 return true;
13090 default:
13091 return false;
13092 }
13093 }
13094
13095 function isSymbol(propType, propValue) {
13096 // Native Symbol.
13097 if (propType === 'symbol') {
13098 return true;
13099 }
13100
13101 // falsy value can't be a Symbol
13102 if (!propValue) {
13103 return false;
13104 }
13105
13106 // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'
13107 if (propValue['@@toStringTag'] === 'Symbol') {
13108 return true;
13109 }
13110
13111 // Fallback for non-spec compliant Symbols which are polyfilled.
13112 if (typeof Symbol === 'function' && propValue instanceof Symbol) {
13113 return true;
13114 }
13115
13116 return false;
13117 }
13118
13119 // Equivalent of `typeof` but with special handling for array and regexp.
13120 function getPropType(propValue) {
13121 var propType = typeof propValue;
13122 if (Array.isArray(propValue)) {
13123 return 'array';
13124 }
13125 if (propValue instanceof RegExp) {
13126 // Old webkits (at least until Android 4.0) return 'function' rather than
13127 // 'object' for typeof a RegExp. We'll normalize this here so that /bla/
13128 // passes PropTypes.object.
13129 return 'object';
13130 }
13131 if (isSymbol(propType, propValue)) {
13132 return 'symbol';
13133 }
13134 return propType;
13135 }
13136
13137 // This handles more types than `getPropType`. Only used for error messages.
13138 // See `createPrimitiveTypeChecker`.
13139 function getPreciseType(propValue) {
13140 if (typeof propValue === 'undefined' || propValue === null) {
13141 return '' + propValue;
13142 }
13143 var propType = getPropType(propValue);
13144 if (propType === 'object') {
13145 if (propValue instanceof Date) {
13146 return 'date';
13147 } else if (propValue instanceof RegExp) {
13148 return 'regexp';
13149 }
13150 }
13151 return propType;
13152 }
13153
13154 // Returns a string that is postfixed to a warning about an invalid type.
13155 // For example, "undefined" or "of type array"
13156 function getPostfixForTypeWarning(value) {
13157 var type = getPreciseType(value);
13158 switch (type) {
13159 case 'array':
13160 case 'object':
13161 return 'an ' + type;
13162 case 'boolean':
13163 case 'date':
13164 case 'regexp':
13165 return 'a ' + type;
13166 default:
13167 return type;
13168 }
13169 }
13170
13171 // Returns class name of the object, if any.
13172 function getClassName(propValue) {
13173 if (!propValue.constructor || !propValue.constructor.name) {
13174 return ANONYMOUS;
13175 }
13176 return propValue.constructor.name;
13177 }
13178
13179 ReactPropTypes.checkPropTypes = checkPropTypes;
13180 ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;
13181 ReactPropTypes.PropTypes = ReactPropTypes;
13182
13183 return ReactPropTypes;
13184 };
13185
13186
13187 /***/ }),
13188
13189 /***/ "../node_modules/prop-types/index.js":
13190 /*!*******************************************!*\
13191 !*** ../node_modules/prop-types/index.js ***!
13192 \*******************************************/
13193 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
13194
13195 /**
13196 * Copyright (c) 2013-present, Facebook, Inc.
13197 *
13198 * This source code is licensed under the MIT license found in the
13199 * LICENSE file in the root directory of this source tree.
13200 */
13201
13202 if (true) {
13203 var ReactIs = __webpack_require__(/*! react-is */ "../node_modules/prop-types/node_modules/react-is/index.js");
13204
13205 // By explicitly using `prop-types` you are opting into new development behavior.
13206 // http://fb.me/prop-types-in-prod
13207 var throwOnDirectAccess = true;
13208 module.exports = __webpack_require__(/*! ./factoryWithTypeCheckers */ "../node_modules/prop-types/factoryWithTypeCheckers.js")(ReactIs.isElement, throwOnDirectAccess);
13209 } else {}
13210
13211
13212 /***/ }),
13213
13214 /***/ "../node_modules/prop-types/lib/ReactPropTypesSecret.js":
13215 /*!**************************************************************!*\
13216 !*** ../node_modules/prop-types/lib/ReactPropTypesSecret.js ***!
13217 \**************************************************************/
13218 /***/ ((module) => {
13219
13220 "use strict";
13221 /**
13222 * Copyright (c) 2013-present, Facebook, Inc.
13223 *
13224 * This source code is licensed under the MIT license found in the
13225 * LICENSE file in the root directory of this source tree.
13226 */
13227
13228
13229
13230 var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
13231
13232 module.exports = ReactPropTypesSecret;
13233
13234
13235 /***/ }),
13236
13237 /***/ "../node_modules/prop-types/lib/has.js":
13238 /*!*********************************************!*\
13239 !*** ../node_modules/prop-types/lib/has.js ***!
13240 \*********************************************/
13241 /***/ ((module) => {
13242
13243 module.exports = Function.call.bind(Object.prototype.hasOwnProperty);
13244
13245
13246 /***/ }),
13247
13248 /***/ "../node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js":
13249 /*!************************************************************************************!*\
13250 !*** ../node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js ***!
13251 \************************************************************************************/
13252 /***/ ((__unused_webpack_module, exports) => {
13253
13254 "use strict";
13255 /** @license React v16.13.1
13256 * react-is.development.js
13257 *
13258 * Copyright (c) Facebook, Inc. and its affiliates.
13259 *
13260 * This source code is licensed under the MIT license found in the
13261 * LICENSE file in the root directory of this source tree.
13262 */
13263
13264
13265
13266
13267
13268 if (true) {
13269 (function() {
13270 'use strict';
13271
13272 // The Symbol used to tag the ReactElement-like types. If there is no native Symbol
13273 // nor polyfill, then a plain number is used for performance.
13274 var hasSymbol = typeof Symbol === 'function' && Symbol.for;
13275 var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;
13276 var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;
13277 var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;
13278 var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;
13279 var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;
13280 var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;
13281 var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary
13282 // (unstable) APIs that have been removed. Can we remove the symbols?
13283
13284 var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;
13285 var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;
13286 var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;
13287 var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;
13288 var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;
13289 var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;
13290 var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;
13291 var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;
13292 var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;
13293 var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;
13294 var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;
13295
13296 function isValidElementType(type) {
13297 return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
13298 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);
13299 }
13300
13301 function typeOf(object) {
13302 if (typeof object === 'object' && object !== null) {
13303 var $$typeof = object.$$typeof;
13304
13305 switch ($$typeof) {
13306 case REACT_ELEMENT_TYPE:
13307 var type = object.type;
13308
13309 switch (type) {
13310 case REACT_ASYNC_MODE_TYPE:
13311 case REACT_CONCURRENT_MODE_TYPE:
13312 case REACT_FRAGMENT_TYPE:
13313 case REACT_PROFILER_TYPE:
13314 case REACT_STRICT_MODE_TYPE:
13315 case REACT_SUSPENSE_TYPE:
13316 return type;
13317
13318 default:
13319 var $$typeofType = type && type.$$typeof;
13320
13321 switch ($$typeofType) {
13322 case REACT_CONTEXT_TYPE:
13323 case REACT_FORWARD_REF_TYPE:
13324 case REACT_LAZY_TYPE:
13325 case REACT_MEMO_TYPE:
13326 case REACT_PROVIDER_TYPE:
13327 return $$typeofType;
13328
13329 default:
13330 return $$typeof;
13331 }
13332
13333 }
13334
13335 case REACT_PORTAL_TYPE:
13336 return $$typeof;
13337 }
13338 }
13339
13340 return undefined;
13341 } // AsyncMode is deprecated along with isAsyncMode
13342
13343 var AsyncMode = REACT_ASYNC_MODE_TYPE;
13344 var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;
13345 var ContextConsumer = REACT_CONTEXT_TYPE;
13346 var ContextProvider = REACT_PROVIDER_TYPE;
13347 var Element = REACT_ELEMENT_TYPE;
13348 var ForwardRef = REACT_FORWARD_REF_TYPE;
13349 var Fragment = REACT_FRAGMENT_TYPE;
13350 var Lazy = REACT_LAZY_TYPE;
13351 var Memo = REACT_MEMO_TYPE;
13352 var Portal = REACT_PORTAL_TYPE;
13353 var Profiler = REACT_PROFILER_TYPE;
13354 var StrictMode = REACT_STRICT_MODE_TYPE;
13355 var Suspense = REACT_SUSPENSE_TYPE;
13356 var hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated
13357
13358 function isAsyncMode(object) {
13359 {
13360 if (!hasWarnedAboutDeprecatedIsAsyncMode) {
13361 hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint
13362
13363 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.');
13364 }
13365 }
13366
13367 return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;
13368 }
13369 function isConcurrentMode(object) {
13370 return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;
13371 }
13372 function isContextConsumer(object) {
13373 return typeOf(object) === REACT_CONTEXT_TYPE;
13374 }
13375 function isContextProvider(object) {
13376 return typeOf(object) === REACT_PROVIDER_TYPE;
13377 }
13378 function isElement(object) {
13379 return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
13380 }
13381 function isForwardRef(object) {
13382 return typeOf(object) === REACT_FORWARD_REF_TYPE;
13383 }
13384 function isFragment(object) {
13385 return typeOf(object) === REACT_FRAGMENT_TYPE;
13386 }
13387 function isLazy(object) {
13388 return typeOf(object) === REACT_LAZY_TYPE;
13389 }
13390 function isMemo(object) {
13391 return typeOf(object) === REACT_MEMO_TYPE;
13392 }
13393 function isPortal(object) {
13394 return typeOf(object) === REACT_PORTAL_TYPE;
13395 }
13396 function isProfiler(object) {
13397 return typeOf(object) === REACT_PROFILER_TYPE;
13398 }
13399 function isStrictMode(object) {
13400 return typeOf(object) === REACT_STRICT_MODE_TYPE;
13401 }
13402 function isSuspense(object) {
13403 return typeOf(object) === REACT_SUSPENSE_TYPE;
13404 }
13405
13406 exports.AsyncMode = AsyncMode;
13407 exports.ConcurrentMode = ConcurrentMode;
13408 exports.ContextConsumer = ContextConsumer;
13409 exports.ContextProvider = ContextProvider;
13410 exports.Element = Element;
13411 exports.ForwardRef = ForwardRef;
13412 exports.Fragment = Fragment;
13413 exports.Lazy = Lazy;
13414 exports.Memo = Memo;
13415 exports.Portal = Portal;
13416 exports.Profiler = Profiler;
13417 exports.StrictMode = StrictMode;
13418 exports.Suspense = Suspense;
13419 exports.isAsyncMode = isAsyncMode;
13420 exports.isConcurrentMode = isConcurrentMode;
13421 exports.isContextConsumer = isContextConsumer;
13422 exports.isContextProvider = isContextProvider;
13423 exports.isElement = isElement;
13424 exports.isForwardRef = isForwardRef;
13425 exports.isFragment = isFragment;
13426 exports.isLazy = isLazy;
13427 exports.isMemo = isMemo;
13428 exports.isPortal = isPortal;
13429 exports.isProfiler = isProfiler;
13430 exports.isStrictMode = isStrictMode;
13431 exports.isSuspense = isSuspense;
13432 exports.isValidElementType = isValidElementType;
13433 exports.typeOf = typeOf;
13434 })();
13435 }
13436
13437
13438 /***/ }),
13439
13440 /***/ "../node_modules/prop-types/node_modules/react-is/index.js":
13441 /*!*****************************************************************!*\
13442 !*** ../node_modules/prop-types/node_modules/react-is/index.js ***!
13443 \*****************************************************************/
13444 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
13445
13446 "use strict";
13447
13448
13449 if (false) {} else {
13450 module.exports = __webpack_require__(/*! ./cjs/react-is.development.js */ "../node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js");
13451 }
13452
13453
13454 /***/ }),
13455
13456 /***/ "../node_modules/react-avatar-editor/dist/index.js":
13457 /*!*********************************************************!*\
13458 !*** ../node_modules/react-avatar-editor/dist/index.js ***!
13459 \*********************************************************/
13460 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
13461
13462 !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});
13463
13464
13465 /***/ }),
13466
13467 /***/ "../node_modules/react-dom/client.js":
13468 /*!*******************************************!*\
13469 !*** ../node_modules/react-dom/client.js ***!
13470 \*******************************************/
13471 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
13472
13473 "use strict";
13474
13475
13476 var m = __webpack_require__(/*! react-dom */ "react-dom");
13477 if (false) {} else {
13478 var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
13479 exports.createRoot = function(c, o) {
13480 i.usingClientEntryPoint = true;
13481 try {
13482 return m.createRoot(c, o);
13483 } finally {
13484 i.usingClientEntryPoint = false;
13485 }
13486 };
13487 exports.hydrateRoot = function(c, h, o) {
13488 i.usingClientEntryPoint = true;
13489 try {
13490 return m.hydrateRoot(c, h, o);
13491 } finally {
13492 i.usingClientEntryPoint = false;
13493 }
13494 };
13495 }
13496
13497
13498 /***/ }),
13499
13500 /***/ "../node_modules/react-draggable/build/cjs/Draggable.js":
13501 /*!**************************************************************!*\
13502 !*** ../node_modules/react-draggable/build/cjs/Draggable.js ***!
13503 \**************************************************************/
13504 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
13505
13506 "use strict";
13507
13508
13509 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); }
13510
13511 Object.defineProperty(exports, "__esModule", ({
13512 value: true
13513 }));
13514 Object.defineProperty(exports, "DraggableCore", ({
13515 enumerable: true,
13516 get: function get() {
13517 return _DraggableCore.default;
13518 }
13519 }));
13520 exports["default"] = void 0;
13521
13522 var React = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
13523
13524 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
13525
13526 var _reactDom = _interopRequireDefault(__webpack_require__(/*! react-dom */ "react-dom"));
13527
13528 var _clsx2 = _interopRequireDefault(__webpack_require__(/*! clsx */ "../node_modules/clsx/dist/clsx.m.js"));
13529
13530 var _domFns = __webpack_require__(/*! ./utils/domFns */ "../node_modules/react-draggable/build/cjs/utils/domFns.js");
13531
13532 var _positionFns = __webpack_require__(/*! ./utils/positionFns */ "../node_modules/react-draggable/build/cjs/utils/positionFns.js");
13533
13534 var _shims = __webpack_require__(/*! ./utils/shims */ "../node_modules/react-draggable/build/cjs/utils/shims.js");
13535
13536 var _DraggableCore = _interopRequireDefault(__webpack_require__(/*! ./DraggableCore */ "../node_modules/react-draggable/build/cjs/DraggableCore.js"));
13537
13538 var _log = _interopRequireDefault(__webpack_require__(/*! ./utils/log */ "../node_modules/react-draggable/build/cjs/utils/log.js"));
13539
13540 var _excluded = ["axis", "bounds", "children", "defaultPosition", "defaultClassName", "defaultClassNameDragging", "defaultClassNameDragged", "position", "positionOffset", "scale"];
13541
13542 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13543
13544 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); }
13545
13546 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; }
13547
13548 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); }
13549
13550 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; }
13551
13552 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; }
13553
13554 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; }
13555
13556 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; }
13557
13558 function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
13559
13560 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."); }
13561
13562 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); }
13563
13564 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; }
13565
13566 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; }
13567
13568 function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
13569
13570 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
13571
13572 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); } }
13573
13574 function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
13575
13576 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); }
13577
13578 function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
13579
13580 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); }; }
13581
13582 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); }
13583
13584 function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
13585
13586 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; } }
13587
13588 function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
13589
13590 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; }
13591
13592 //
13593 // Define <Draggable>
13594 //
13595 var Draggable = /*#__PURE__*/function (_React$Component) {
13596 _inherits(Draggable, _React$Component);
13597
13598 var _super = _createSuper(Draggable);
13599
13600 function Draggable(props
13601 /*: DraggableProps*/
13602 ) {
13603 var _this;
13604
13605 _classCallCheck(this, Draggable);
13606
13607 _this = _super.call(this, props);
13608
13609 _defineProperty(_assertThisInitialized(_this), "onDragStart", function (e, coreData) {
13610 (0, _log.default)('Draggable: onDragStart: %j', coreData); // Short-circuit if user's callback killed it.
13611
13612 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.
13613
13614
13615 if (shouldStart === false) return false;
13616
13617 _this.setState({
13618 dragging: true,
13619 dragged: true
13620 });
13621 });
13622
13623 _defineProperty(_assertThisInitialized(_this), "onDrag", function (e, coreData) {
13624 if (!_this.state.dragging) return false;
13625 (0, _log.default)('Draggable: onDrag: %j', coreData);
13626 var uiData = (0, _positionFns.createDraggableData)(_assertThisInitialized(_this), coreData);
13627 var newState
13628 /*: $Shape<DraggableState>*/
13629 = {
13630 x: uiData.x,
13631 y: uiData.y
13632 }; // Keep within bounds.
13633
13634 if (_this.props.bounds) {
13635 // Save original x and y.
13636 var x = newState.x,
13637 y = newState.y; // Add slack to the values used to calculate bound position. This will ensure that if
13638 // we start removing slack, the element won't react to it right away until it's been
13639 // completely removed.
13640
13641 newState.x += _this.state.slackX;
13642 newState.y += _this.state.slackY; // Get bound position. This will ceil/floor the x and y within the boundaries.
13643
13644 var _getBoundPosition = (0, _positionFns.getBoundPosition)(_assertThisInitialized(_this), newState.x, newState.y),
13645 _getBoundPosition2 = _slicedToArray(_getBoundPosition, 2),
13646 newStateX = _getBoundPosition2[0],
13647 newStateY = _getBoundPosition2[1];
13648
13649 newState.x = newStateX;
13650 newState.y = newStateY; // Recalculate slack by noting how much was shaved by the boundPosition handler.
13651
13652 newState.slackX = _this.state.slackX + (x - newState.x);
13653 newState.slackY = _this.state.slackY + (y - newState.y); // Update the event we fire to reflect what really happened after bounds took effect.
13654
13655 uiData.x = newState.x;
13656 uiData.y = newState.y;
13657 uiData.deltaX = newState.x - _this.state.x;
13658 uiData.deltaY = newState.y - _this.state.y;
13659 } // Short-circuit if user's callback killed it.
13660
13661
13662 var shouldUpdate = _this.props.onDrag(e, uiData);
13663
13664 if (shouldUpdate === false) return false;
13665
13666 _this.setState(newState);
13667 });
13668
13669 _defineProperty(_assertThisInitialized(_this), "onDragStop", function (e, coreData) {
13670 if (!_this.state.dragging) return false; // Short-circuit if user's callback killed it.
13671
13672 var shouldContinue = _this.props.onStop(e, (0, _positionFns.createDraggableData)(_assertThisInitialized(_this), coreData));
13673
13674 if (shouldContinue === false) return false;
13675 (0, _log.default)('Draggable: onDragStop: %j', coreData);
13676 var newState
13677 /*: $Shape<DraggableState>*/
13678 = {
13679 dragging: false,
13680 slackX: 0,
13681 slackY: 0
13682 }; // If this is a controlled component, the result of this operation will be to
13683 // revert back to the old position. We expect a handler on `onDragStop`, at the least.
13684
13685 var controlled = Boolean(_this.props.position);
13686
13687 if (controlled) {
13688 var _this$props$position = _this.props.position,
13689 x = _this$props$position.x,
13690 y = _this$props$position.y;
13691 newState.x = x;
13692 newState.y = y;
13693 }
13694
13695 _this.setState(newState);
13696 });
13697
13698 _this.state = {
13699 // Whether or not we are currently dragging.
13700 dragging: false,
13701 // Whether or not we have been dragged before.
13702 dragged: false,
13703 // Current transform x and y.
13704 x: props.position ? props.position.x : props.defaultPosition.x,
13705 y: props.position ? props.position.y : props.defaultPosition.y,
13706 prevPropsPosition: _objectSpread({}, props.position),
13707 // Used for compensating for out-of-bounds drags
13708 slackX: 0,
13709 slackY: 0,
13710 // Can only determine if SVG after mounting
13711 isElementSVG: false
13712 };
13713
13714 if (props.position && !(props.onDrag || props.onStop)) {
13715 // eslint-disable-next-line no-console
13716 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.');
13717 }
13718
13719 return _this;
13720 }
13721
13722 _createClass(Draggable, [{
13723 key: "componentDidMount",
13724 value: function componentDidMount() {
13725 // Check to see if the element passed is an instanceof SVGElement
13726 if (typeof window.SVGElement !== 'undefined' && this.findDOMNode() instanceof window.SVGElement) {
13727 this.setState({
13728 isElementSVG: true
13729 });
13730 }
13731 }
13732 }, {
13733 key: "componentWillUnmount",
13734 value: function componentWillUnmount() {
13735 this.setState({
13736 dragging: false
13737 }); // prevents invariant if unmounted while dragging
13738 } // React Strict Mode compatibility: if `nodeRef` is passed, we will use it instead of trying to find
13739 // the underlying DOM node ourselves. See the README for more information.
13740
13741 }, {
13742 key: "findDOMNode",
13743 value: function findDOMNode()
13744 /*: ?HTMLElement*/
13745 {
13746 var _this$props$nodeRef$c, _this$props, _this$props$nodeRef;
13747
13748 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);
13749 }
13750 }, {
13751 key: "render",
13752 value: function render()
13753 /*: ReactElement<any>*/
13754 {
13755 var _clsx;
13756
13757 var _this$props2 = this.props,
13758 axis = _this$props2.axis,
13759 bounds = _this$props2.bounds,
13760 children = _this$props2.children,
13761 defaultPosition = _this$props2.defaultPosition,
13762 defaultClassName = _this$props2.defaultClassName,
13763 defaultClassNameDragging = _this$props2.defaultClassNameDragging,
13764 defaultClassNameDragged = _this$props2.defaultClassNameDragged,
13765 position = _this$props2.position,
13766 positionOffset = _this$props2.positionOffset,
13767 scale = _this$props2.scale,
13768 draggableCoreProps = _objectWithoutProperties(_this$props2, _excluded);
13769
13770 var style = {};
13771 var svgTransform = null; // If this is controlled, we don't want to move it - unless it's dragging.
13772
13773 var controlled = Boolean(position);
13774 var draggable = !controlled || this.state.dragging;
13775 var validPosition = position || defaultPosition;
13776 var transformOpts = {
13777 // Set left if horizontal drag is enabled
13778 x: (0, _positionFns.canDragX)(this) && draggable ? this.state.x : validPosition.x,
13779 // Set top if vertical drag is enabled
13780 y: (0, _positionFns.canDragY)(this) && draggable ? this.state.y : validPosition.y
13781 }; // If this element was SVG, we use the `transform` attribute.
13782
13783 if (this.state.isElementSVG) {
13784 svgTransform = (0, _domFns.createSVGTransform)(transformOpts, positionOffset);
13785 } else {
13786 // Add a CSS transform to move the element around. This allows us to move the element around
13787 // without worrying about whether or not it is relatively or absolutely positioned.
13788 // If the item you are dragging already has a transform set, wrap it in a <span> so <Draggable>
13789 // has a clean slate.
13790 style = (0, _domFns.createCSSTransform)(transformOpts, positionOffset);
13791 } // Mark with class while dragging
13792
13793
13794 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
13795 // This makes it flexible to use whatever element is wanted (div, ul, etc)
13796
13797 return /*#__PURE__*/React.createElement(_DraggableCore.default, _extends({}, draggableCoreProps, {
13798 onStart: this.onDragStart,
13799 onDrag: this.onDrag,
13800 onStop: this.onDragStop
13801 }), /*#__PURE__*/React.cloneElement(React.Children.only(children), {
13802 className: className,
13803 style: _objectSpread(_objectSpread({}, children.props.style), style),
13804 transform: svgTransform
13805 }));
13806 }
13807 }], [{
13808 key: "getDerivedStateFromProps",
13809 value: // React 16.3+
13810 // Arity (props, state)
13811 function getDerivedStateFromProps(_ref, _ref2)
13812 /*: ?$Shape<DraggableState>*/
13813 {
13814 var position = _ref.position;
13815 var prevPropsPosition = _ref2.prevPropsPosition;
13816
13817 // Set x/y if a new position is provided in props that is different than the previous.
13818 if (position && (!prevPropsPosition || position.x !== prevPropsPosition.x || position.y !== prevPropsPosition.y)) {
13819 (0, _log.default)('Draggable: getDerivedStateFromProps %j', {
13820 position: position,
13821 prevPropsPosition: prevPropsPosition
13822 });
13823 return {
13824 x: position.x,
13825 y: position.y,
13826 prevPropsPosition: _objectSpread({}, position)
13827 };
13828 }
13829
13830 return null;
13831 }
13832 }]);
13833
13834 return Draggable;
13835 }(React.Component);
13836
13837 exports["default"] = Draggable;
13838
13839 _defineProperty(Draggable, "displayName", 'Draggable');
13840
13841 _defineProperty(Draggable, "propTypes", _objectSpread(_objectSpread({}, _DraggableCore.default.propTypes), {}, {
13842 /**
13843 * `axis` determines which axis the draggable can move.
13844 *
13845 * Note that all callbacks will still return data as normal. This only
13846 * controls flushing to the DOM.
13847 *
13848 * 'both' allows movement horizontally and vertically.
13849 * 'x' limits movement to horizontal axis.
13850 * 'y' limits movement to vertical axis.
13851 * 'none' limits all movement.
13852 *
13853 * Defaults to 'both'.
13854 */
13855 axis: _propTypes.default.oneOf(['both', 'x', 'y', 'none']),
13856
13857 /**
13858 * `bounds` determines the range of movement available to the element.
13859 * Available values are:
13860 *
13861 * 'parent' restricts movement within the Draggable's parent node.
13862 *
13863 * Alternatively, pass an object with the following properties, all of which are optional:
13864 *
13865 * {left: LEFT_BOUND, right: RIGHT_BOUND, bottom: BOTTOM_BOUND, top: TOP_BOUND}
13866 *
13867 * All values are in px.
13868 *
13869 * Example:
13870 *
13871 * ```jsx
13872 * let App = React.createClass({
13873 * render: function () {
13874 * return (
13875 * <Draggable bounds={{right: 300, bottom: 300}}>
13876 * <div>Content</div>
13877 * </Draggable>
13878 * );
13879 * }
13880 * });
13881 * ```
13882 */
13883 bounds: _propTypes.default.oneOfType([_propTypes.default.shape({
13884 left: _propTypes.default.number,
13885 right: _propTypes.default.number,
13886 top: _propTypes.default.number,
13887 bottom: _propTypes.default.number
13888 }), _propTypes.default.string, _propTypes.default.oneOf([false])]),
13889 defaultClassName: _propTypes.default.string,
13890 defaultClassNameDragging: _propTypes.default.string,
13891 defaultClassNameDragged: _propTypes.default.string,
13892
13893 /**
13894 * `defaultPosition` specifies the x and y that the dragged item should start at
13895 *
13896 * Example:
13897 *
13898 * ```jsx
13899 * let App = React.createClass({
13900 * render: function () {
13901 * return (
13902 * <Draggable defaultPosition={{x: 25, y: 25}}>
13903 * <div>I start with transformX: 25px and transformY: 25px;</div>
13904 * </Draggable>
13905 * );
13906 * }
13907 * });
13908 * ```
13909 */
13910 defaultPosition: _propTypes.default.shape({
13911 x: _propTypes.default.number,
13912 y: _propTypes.default.number
13913 }),
13914 positionOffset: _propTypes.default.shape({
13915 x: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
13916 y: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string])
13917 }),
13918
13919 /**
13920 * `position`, if present, defines the current position of the element.
13921 *
13922 * This is similar to how form elements in React work - if no `position` is supplied, the component
13923 * is uncontrolled.
13924 *
13925 * Example:
13926 *
13927 * ```jsx
13928 * let App = React.createClass({
13929 * render: function () {
13930 * return (
13931 * <Draggable position={{x: 25, y: 25}}>
13932 * <div>I start with transformX: 25px and transformY: 25px;</div>
13933 * </Draggable>
13934 * );
13935 * }
13936 * });
13937 * ```
13938 */
13939 position: _propTypes.default.shape({
13940 x: _propTypes.default.number,
13941 y: _propTypes.default.number
13942 }),
13943
13944 /**
13945 * These properties should be defined on the child, not here.
13946 */
13947 className: _shims.dontSetMe,
13948 style: _shims.dontSetMe,
13949 transform: _shims.dontSetMe
13950 }));
13951
13952 _defineProperty(Draggable, "defaultProps", _objectSpread(_objectSpread({}, _DraggableCore.default.defaultProps), {}, {
13953 axis: 'both',
13954 bounds: false,
13955 defaultClassName: 'react-draggable',
13956 defaultClassNameDragging: 'react-draggable-dragging',
13957 defaultClassNameDragged: 'react-draggable-dragged',
13958 defaultPosition: {
13959 x: 0,
13960 y: 0
13961 },
13962 scale: 1
13963 }));
13964
13965 /***/ }),
13966
13967 /***/ "../node_modules/react-draggable/build/cjs/DraggableCore.js":
13968 /*!******************************************************************!*\
13969 !*** ../node_modules/react-draggable/build/cjs/DraggableCore.js ***!
13970 \******************************************************************/
13971 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
13972
13973 "use strict";
13974
13975
13976 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); }
13977
13978 Object.defineProperty(exports, "__esModule", ({
13979 value: true
13980 }));
13981 exports["default"] = void 0;
13982
13983 var React = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
13984
13985 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
13986
13987 var _reactDom = _interopRequireDefault(__webpack_require__(/*! react-dom */ "react-dom"));
13988
13989 var _domFns = __webpack_require__(/*! ./utils/domFns */ "../node_modules/react-draggable/build/cjs/utils/domFns.js");
13990
13991 var _positionFns = __webpack_require__(/*! ./utils/positionFns */ "../node_modules/react-draggable/build/cjs/utils/positionFns.js");
13992
13993 var _shims = __webpack_require__(/*! ./utils/shims */ "../node_modules/react-draggable/build/cjs/utils/shims.js");
13994
13995 var _log = _interopRequireDefault(__webpack_require__(/*! ./utils/log */ "../node_modules/react-draggable/build/cjs/utils/log.js"));
13996
13997 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13998
13999 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); }
14000
14001 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; }
14002
14003 function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
14004
14005 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."); }
14006
14007 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); }
14008
14009 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; }
14010
14011 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; }
14012
14013 function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
14014
14015 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
14016
14017 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); } }
14018
14019 function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
14020
14021 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); }
14022
14023 function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
14024
14025 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); }; }
14026
14027 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); }
14028
14029 function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
14030
14031 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; } }
14032
14033 function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
14034
14035 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; }
14036
14037 // Simple abstraction for dragging events names.
14038 var eventsFor = {
14039 touch: {
14040 start: 'touchstart',
14041 move: 'touchmove',
14042 stop: 'touchend'
14043 },
14044 mouse: {
14045 start: 'mousedown',
14046 move: 'mousemove',
14047 stop: 'mouseup'
14048 }
14049 }; // Default to mouse events.
14050
14051 var dragEventFor = eventsFor.mouse;
14052 /*:: type DraggableCoreState = {
14053 dragging: boolean,
14054 lastX: number,
14055 lastY: number,
14056 touchIdentifier: ?number
14057 };*/
14058
14059 /*:: export type DraggableData = {
14060 node: HTMLElement,
14061 x: number, y: number,
14062 deltaX: number, deltaY: number,
14063 lastX: number, lastY: number,
14064 };*/
14065
14066 /*:: export type DraggableEventHandler = (e: MouseEvent, data: DraggableData) => void | false;*/
14067
14068 /*:: export type ControlPosition = {x: number, y: number};*/
14069
14070 /*:: export type PositionOffsetControlPosition = {x: number|string, y: number|string};*/
14071
14072 /*:: export type DraggableCoreDefaultProps = {
14073 allowAnyClick: boolean,
14074 disabled: boolean,
14075 enableUserSelectHack: boolean,
14076 onStart: DraggableEventHandler,
14077 onDrag: DraggableEventHandler,
14078 onStop: DraggableEventHandler,
14079 onMouseDown: (e: MouseEvent) => void,
14080 scale: number,
14081 };*/
14082
14083 /*:: export type DraggableCoreProps = {
14084 ...DraggableCoreDefaultProps,
14085 cancel: string,
14086 children: ReactElement<any>,
14087 offsetParent: HTMLElement,
14088 grid: [number, number],
14089 handle: string,
14090 nodeRef?: ?React.ElementRef<any>,
14091 };*/
14092
14093 //
14094 // Define <DraggableCore>.
14095 //
14096 // <DraggableCore> is for advanced usage of <Draggable>. It maintains minimal internal state so it can
14097 // work well with libraries that require more control over the element.
14098 //
14099 var DraggableCore = /*#__PURE__*/function (_React$Component) {
14100 _inherits(DraggableCore, _React$Component);
14101
14102 var _super = _createSuper(DraggableCore);
14103
14104 function DraggableCore() {
14105 var _this;
14106
14107 _classCallCheck(this, DraggableCore);
14108
14109 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
14110 args[_key] = arguments[_key];
14111 }
14112
14113 _this = _super.call.apply(_super, [this].concat(args));
14114
14115 _defineProperty(_assertThisInitialized(_this), "state", {
14116 dragging: false,
14117 // Used while dragging to determine deltas.
14118 lastX: NaN,
14119 lastY: NaN,
14120 touchIdentifier: null
14121 });
14122
14123 _defineProperty(_assertThisInitialized(_this), "mounted", false);
14124
14125 _defineProperty(_assertThisInitialized(_this), "handleDragStart", function (e) {
14126 // Make it possible to attach event handlers on top of this one.
14127 _this.props.onMouseDown(e); // Only accept left-clicks.
14128
14129
14130 if (!_this.props.allowAnyClick && typeof e.button === 'number' && e.button !== 0) return false; // Get nodes. Be sure to grab relative document (could be iframed)
14131
14132 var thisNode = _this.findDOMNode();
14133
14134 if (!thisNode || !thisNode.ownerDocument || !thisNode.ownerDocument.body) {
14135 throw new Error('<DraggableCore> not mounted on DragStart!');
14136 }
14137
14138 var ownerDocument = thisNode.ownerDocument; // Short circuit if handle or cancel prop was provided and selector doesn't match.
14139
14140 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)) {
14141 return;
14142 } // Prevent scrolling on mobile devices, like ipad/iphone.
14143 // Important that this is after handle/cancel.
14144
14145
14146 if (e.type === 'touchstart') e.preventDefault(); // Set touch identifier in component state if this is a touch event. This allows us to
14147 // distinguish between individual touches on multitouch screens by identifying which
14148 // touchpoint was set to this element.
14149
14150 var touchIdentifier = (0, _domFns.getTouchIdentifier)(e);
14151
14152 _this.setState({
14153 touchIdentifier: touchIdentifier
14154 }); // Get the current drag point from the event. This is used as the offset.
14155
14156
14157 var position = (0, _positionFns.getControlPosition)(e, touchIdentifier, _assertThisInitialized(_this));
14158 if (position == null) return; // not possible but satisfies flow
14159
14160 var x = position.x,
14161 y = position.y; // Create an event object with all the data parents need to make a decision here.
14162
14163 var coreEvent = (0, _positionFns.createCoreData)(_assertThisInitialized(_this), x, y);
14164 (0, _log.default)('DraggableCore: handleDragStart: %j', coreEvent); // Call event handler. If it returns explicit false, cancel.
14165
14166 (0, _log.default)('calling', _this.props.onStart);
14167
14168 var shouldUpdate = _this.props.onStart(e, coreEvent);
14169
14170 if (shouldUpdate === false || _this.mounted === false) return; // Add a style to the body to disable user-select. This prevents text from
14171 // being selected all over the page.
14172
14173 if (_this.props.enableUserSelectHack) (0, _domFns.addUserSelectStyles)(ownerDocument); // Initiate dragging. Set the current x and y as offsets
14174 // so we know how much we've moved during the drag. This allows us
14175 // to drag elements around even if they have been moved, without issue.
14176
14177 _this.setState({
14178 dragging: true,
14179 lastX: x,
14180 lastY: y
14181 }); // Add events to the document directly so we catch when the user's mouse/touch moves outside of
14182 // this element. We use different events depending on whether or not we have detected that this
14183 // is a touch-capable device.
14184
14185
14186 (0, _domFns.addEvent)(ownerDocument, dragEventFor.move, _this.handleDrag);
14187 (0, _domFns.addEvent)(ownerDocument, dragEventFor.stop, _this.handleDragStop);
14188 });
14189
14190 _defineProperty(_assertThisInitialized(_this), "handleDrag", function (e) {
14191 // Get the current drag point from the event. This is used as the offset.
14192 var position = (0, _positionFns.getControlPosition)(e, _this.state.touchIdentifier, _assertThisInitialized(_this));
14193 if (position == null) return;
14194 var x = position.x,
14195 y = position.y; // Snap to grid if prop has been provided
14196
14197 if (Array.isArray(_this.props.grid)) {
14198 var deltaX = x - _this.state.lastX,
14199 deltaY = y - _this.state.lastY;
14200
14201 var _snapToGrid = (0, _positionFns.snapToGrid)(_this.props.grid, deltaX, deltaY);
14202
14203 var _snapToGrid2 = _slicedToArray(_snapToGrid, 2);
14204
14205 deltaX = _snapToGrid2[0];
14206 deltaY = _snapToGrid2[1];
14207 if (!deltaX && !deltaY) return; // skip useless drag
14208
14209 x = _this.state.lastX + deltaX, y = _this.state.lastY + deltaY;
14210 }
14211
14212 var coreEvent = (0, _positionFns.createCoreData)(_assertThisInitialized(_this), x, y);
14213 (0, _log.default)('DraggableCore: handleDrag: %j', coreEvent); // Call event handler. If it returns explicit false, trigger end.
14214
14215 var shouldUpdate = _this.props.onDrag(e, coreEvent);
14216
14217 if (shouldUpdate === false || _this.mounted === false) {
14218 try {
14219 // $FlowIgnore
14220 _this.handleDragStop(new MouseEvent('mouseup'));
14221 } catch (err) {
14222 // Old browsers
14223 var event = ((document.createEvent('MouseEvents')
14224 /*: any*/
14225 )
14226 /*: MouseTouchEvent*/
14227 ); // I see why this insanity was deprecated
14228 // $FlowIgnore
14229
14230 event.initMouseEvent('mouseup', true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
14231
14232 _this.handleDragStop(event);
14233 }
14234
14235 return;
14236 }
14237
14238 _this.setState({
14239 lastX: x,
14240 lastY: y
14241 });
14242 });
14243
14244 _defineProperty(_assertThisInitialized(_this), "handleDragStop", function (e) {
14245 if (!_this.state.dragging) return;
14246 var position = (0, _positionFns.getControlPosition)(e, _this.state.touchIdentifier, _assertThisInitialized(_this));
14247 if (position == null) return;
14248 var x = position.x,
14249 y = position.y; // Snap to grid if prop has been provided
14250
14251 if (Array.isArray(_this.props.grid)) {
14252 var deltaX = x - _this.state.lastX || 0;
14253 var deltaY = y - _this.state.lastY || 0;
14254
14255 var _snapToGrid3 = (0, _positionFns.snapToGrid)(_this.props.grid, deltaX, deltaY);
14256
14257 var _snapToGrid4 = _slicedToArray(_snapToGrid3, 2);
14258
14259 deltaX = _snapToGrid4[0];
14260 deltaY = _snapToGrid4[1];
14261 x = _this.state.lastX + deltaX, y = _this.state.lastY + deltaY;
14262 }
14263
14264 var coreEvent = (0, _positionFns.createCoreData)(_assertThisInitialized(_this), x, y); // Call event handler
14265
14266 var shouldContinue = _this.props.onStop(e, coreEvent);
14267
14268 if (shouldContinue === false || _this.mounted === false) return false;
14269
14270 var thisNode = _this.findDOMNode();
14271
14272 if (thisNode) {
14273 // Remove user-select hack
14274 if (_this.props.enableUserSelectHack) (0, _domFns.removeUserSelectStyles)(thisNode.ownerDocument);
14275 }
14276
14277 (0, _log.default)('DraggableCore: handleDragStop: %j', coreEvent); // Reset the el.
14278
14279 _this.setState({
14280 dragging: false,
14281 lastX: NaN,
14282 lastY: NaN
14283 });
14284
14285 if (thisNode) {
14286 // Remove event handlers
14287 (0, _log.default)('DraggableCore: Removing handlers');
14288 (0, _domFns.removeEvent)(thisNode.ownerDocument, dragEventFor.move, _this.handleDrag);
14289 (0, _domFns.removeEvent)(thisNode.ownerDocument, dragEventFor.stop, _this.handleDragStop);
14290 }
14291 });
14292
14293 _defineProperty(_assertThisInitialized(_this), "onMouseDown", function (e) {
14294 dragEventFor = eventsFor.mouse; // on touchscreen laptops we could switch back to mouse
14295
14296 return _this.handleDragStart(e);
14297 });
14298
14299 _defineProperty(_assertThisInitialized(_this), "onMouseUp", function (e) {
14300 dragEventFor = eventsFor.mouse;
14301 return _this.handleDragStop(e);
14302 });
14303
14304 _defineProperty(_assertThisInitialized(_this), "onTouchStart", function (e) {
14305 // We're on a touch device now, so change the event handlers
14306 dragEventFor = eventsFor.touch;
14307 return _this.handleDragStart(e);
14308 });
14309
14310 _defineProperty(_assertThisInitialized(_this), "onTouchEnd", function (e) {
14311 // We're on a touch device now, so change the event handlers
14312 dragEventFor = eventsFor.touch;
14313 return _this.handleDragStop(e);
14314 });
14315
14316 return _this;
14317 }
14318
14319 _createClass(DraggableCore, [{
14320 key: "componentDidMount",
14321 value: function componentDidMount() {
14322 this.mounted = true; // Touch handlers must be added with {passive: false} to be cancelable.
14323 // https://developers.google.com/web/updates/2017/01/scrolling-intervention
14324
14325 var thisNode = this.findDOMNode();
14326
14327 if (thisNode) {
14328 (0, _domFns.addEvent)(thisNode, eventsFor.touch.start, this.onTouchStart, {
14329 passive: false
14330 });
14331 }
14332 }
14333 }, {
14334 key: "componentWillUnmount",
14335 value: function componentWillUnmount() {
14336 this.mounted = false; // Remove any leftover event handlers. Remove both touch and mouse handlers in case
14337 // some browser quirk caused a touch event to fire during a mouse move, or vice versa.
14338
14339 var thisNode = this.findDOMNode();
14340
14341 if (thisNode) {
14342 var ownerDocument = thisNode.ownerDocument;
14343 (0, _domFns.removeEvent)(ownerDocument, eventsFor.mouse.move, this.handleDrag);
14344 (0, _domFns.removeEvent)(ownerDocument, eventsFor.touch.move, this.handleDrag);
14345 (0, _domFns.removeEvent)(ownerDocument, eventsFor.mouse.stop, this.handleDragStop);
14346 (0, _domFns.removeEvent)(ownerDocument, eventsFor.touch.stop, this.handleDragStop);
14347 (0, _domFns.removeEvent)(thisNode, eventsFor.touch.start, this.onTouchStart, {
14348 passive: false
14349 });
14350 if (this.props.enableUserSelectHack) (0, _domFns.removeUserSelectStyles)(ownerDocument);
14351 }
14352 } // React Strict Mode compatibility: if `nodeRef` is passed, we will use it instead of trying to find
14353 // the underlying DOM node ourselves. See the README for more information.
14354
14355 }, {
14356 key: "findDOMNode",
14357 value: function findDOMNode()
14358 /*: ?HTMLElement*/
14359 {
14360 var _this$props, _this$props2, _this$props2$nodeRef;
14361
14362 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);
14363 }
14364 }, {
14365 key: "render",
14366 value: function render()
14367 /*: React.Element<any>*/
14368 {
14369 // Reuse the child provided
14370 // This makes it flexible to use whatever element is wanted (div, ul, etc)
14371 return /*#__PURE__*/React.cloneElement(React.Children.only(this.props.children), {
14372 // Note: mouseMove handler is attached to document so it will still function
14373 // when the user drags quickly and leaves the bounds of the element.
14374 onMouseDown: this.onMouseDown,
14375 onMouseUp: this.onMouseUp,
14376 // onTouchStart is added on `componentDidMount` so they can be added with
14377 // {passive: false}, which allows it to cancel. See
14378 // https://developers.google.com/web/updates/2017/01/scrolling-intervention
14379 onTouchEnd: this.onTouchEnd
14380 });
14381 }
14382 }]);
14383
14384 return DraggableCore;
14385 }(React.Component);
14386
14387 exports["default"] = DraggableCore;
14388
14389 _defineProperty(DraggableCore, "displayName", 'DraggableCore');
14390
14391 _defineProperty(DraggableCore, "propTypes", {
14392 /**
14393 * `allowAnyClick` allows dragging using any mouse button.
14394 * By default, we only accept the left button.
14395 *
14396 * Defaults to `false`.
14397 */
14398 allowAnyClick: _propTypes.default.bool,
14399
14400 /**
14401 * `disabled`, if true, stops the <Draggable> from dragging. All handlers,
14402 * with the exception of `onMouseDown`, will not fire.
14403 */
14404 disabled: _propTypes.default.bool,
14405
14406 /**
14407 * By default, we add 'user-select:none' attributes to the document body
14408 * to prevent ugly text selection during drag. If this is causing problems
14409 * for your app, set this to `false`.
14410 */
14411 enableUserSelectHack: _propTypes.default.bool,
14412
14413 /**
14414 * `offsetParent`, if set, uses the passed DOM node to compute drag offsets
14415 * instead of using the parent node.
14416 */
14417 offsetParent: function offsetParent(props
14418 /*: DraggableCoreProps*/
14419 , propName
14420 /*: $Keys<DraggableCoreProps>*/
14421 ) {
14422 if (props[propName] && props[propName].nodeType !== 1) {
14423 throw new Error('Draggable\'s offsetParent must be a DOM Node.');
14424 }
14425 },
14426
14427 /**
14428 * `grid` specifies the x and y that dragging should snap to.
14429 */
14430 grid: _propTypes.default.arrayOf(_propTypes.default.number),
14431
14432 /**
14433 * `handle` specifies a selector to be used as the handle that initiates drag.
14434 *
14435 * Example:
14436 *
14437 * ```jsx
14438 * let App = React.createClass({
14439 * render: function () {
14440 * return (
14441 * <Draggable handle=".handle">
14442 * <div>
14443 * <div className="handle">Click me to drag</div>
14444 * <div>This is some other content</div>
14445 * </div>
14446 * </Draggable>
14447 * );
14448 * }
14449 * });
14450 * ```
14451 */
14452 handle: _propTypes.default.string,
14453
14454 /**
14455 * `cancel` specifies a selector to be used to prevent drag initialization.
14456 *
14457 * Example:
14458 *
14459 * ```jsx
14460 * let App = React.createClass({
14461 * render: function () {
14462 * return(
14463 * <Draggable cancel=".cancel">
14464 * <div>
14465 * <div className="cancel">You can't drag from here</div>
14466 * <div>Dragging here works fine</div>
14467 * </div>
14468 * </Draggable>
14469 * );
14470 * }
14471 * });
14472 * ```
14473 */
14474 cancel: _propTypes.default.string,
14475
14476 /* If running in React Strict mode, ReactDOM.findDOMNode() is deprecated.
14477 * Unfortunately, in order for <Draggable> to work properly, we need raw access
14478 * to the underlying DOM node. If you want to avoid the warning, pass a `nodeRef`
14479 * as in this example:
14480 *
14481 * function MyComponent() {
14482 * const nodeRef = React.useRef(null);
14483 * return (
14484 * <Draggable nodeRef={nodeRef}>
14485 * <div ref={nodeRef}>Example Target</div>
14486 * </Draggable>
14487 * );
14488 * }
14489 *
14490 * This can be used for arbitrarily nested components, so long as the ref ends up
14491 * pointing to the actual child DOM node and not a custom component.
14492 */
14493 nodeRef: _propTypes.default.object,
14494
14495 /**
14496 * Called when dragging starts.
14497 * If this function returns the boolean false, dragging will be canceled.
14498 */
14499 onStart: _propTypes.default.func,
14500
14501 /**
14502 * Called while dragging.
14503 * If this function returns the boolean false, dragging will be canceled.
14504 */
14505 onDrag: _propTypes.default.func,
14506
14507 /**
14508 * Called when dragging stops.
14509 * If this function returns the boolean false, the drag will remain active.
14510 */
14511 onStop: _propTypes.default.func,
14512
14513 /**
14514 * A workaround option which can be passed if onMouseDown needs to be accessed,
14515 * since it'll always be blocked (as there is internal use of onMouseDown)
14516 */
14517 onMouseDown: _propTypes.default.func,
14518
14519 /**
14520 * `scale`, if set, applies scaling while dragging an element
14521 */
14522 scale: _propTypes.default.number,
14523
14524 /**
14525 * These properties should be defined on the child, not here.
14526 */
14527 className: _shims.dontSetMe,
14528 style: _shims.dontSetMe,
14529 transform: _shims.dontSetMe
14530 });
14531
14532 _defineProperty(DraggableCore, "defaultProps", {
14533 allowAnyClick: false,
14534 // by default only accept left click
14535 disabled: false,
14536 enableUserSelectHack: true,
14537 onStart: function onStart() {},
14538 onDrag: function onDrag() {},
14539 onStop: function onStop() {},
14540 onMouseDown: function onMouseDown() {},
14541 scale: 1
14542 });
14543
14544 /***/ }),
14545
14546 /***/ "../node_modules/react-draggable/build/cjs/cjs.js":
14547 /*!********************************************************!*\
14548 !*** ../node_modules/react-draggable/build/cjs/cjs.js ***!
14549 \********************************************************/
14550 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
14551
14552 "use strict";
14553
14554
14555 var _require = __webpack_require__(/*! ./Draggable */ "../node_modules/react-draggable/build/cjs/Draggable.js"),
14556 Draggable = _require.default,
14557 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'.
14558 // See https://github.com/mzabriskie/react-draggable/pull/254
14559 // and https://github.com/mzabriskie/react-draggable/issues/266
14560
14561
14562 module.exports = Draggable;
14563 module.exports["default"] = Draggable;
14564 module.exports.DraggableCore = DraggableCore;
14565
14566 /***/ }),
14567
14568 /***/ "../node_modules/react-draggable/build/cjs/utils/domFns.js":
14569 /*!*****************************************************************!*\
14570 !*** ../node_modules/react-draggable/build/cjs/utils/domFns.js ***!
14571 \*****************************************************************/
14572 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
14573
14574 "use strict";
14575
14576
14577 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); }
14578
14579 Object.defineProperty(exports, "__esModule", ({
14580 value: true
14581 }));
14582 exports.addClassName = addClassName;
14583 exports.addEvent = addEvent;
14584 exports.addUserSelectStyles = addUserSelectStyles;
14585 exports.createCSSTransform = createCSSTransform;
14586 exports.createSVGTransform = createSVGTransform;
14587 exports.getTouch = getTouch;
14588 exports.getTouchIdentifier = getTouchIdentifier;
14589 exports.getTranslation = getTranslation;
14590 exports.innerHeight = innerHeight;
14591 exports.innerWidth = innerWidth;
14592 exports.matchesSelector = matchesSelector;
14593 exports.matchesSelectorAndParentsTo = matchesSelectorAndParentsTo;
14594 exports.offsetXYFromParent = offsetXYFromParent;
14595 exports.outerHeight = outerHeight;
14596 exports.outerWidth = outerWidth;
14597 exports.removeClassName = removeClassName;
14598 exports.removeEvent = removeEvent;
14599 exports.removeUserSelectStyles = removeUserSelectStyles;
14600
14601 var _shims = __webpack_require__(/*! ./shims */ "../node_modules/react-draggable/build/cjs/utils/shims.js");
14602
14603 var _getPrefix = _interopRequireWildcard(__webpack_require__(/*! ./getPrefix */ "../node_modules/react-draggable/build/cjs/utils/getPrefix.js"));
14604
14605 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); }
14606
14607 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; }
14608
14609 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; }
14610
14611 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; }
14612
14613 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; }
14614
14615 var matchesSelectorFunc = '';
14616
14617 function matchesSelector(el
14618 /*: Node*/
14619 , selector
14620 /*: string*/
14621 )
14622 /*: boolean*/
14623 {
14624 if (!matchesSelectorFunc) {
14625 matchesSelectorFunc = (0, _shims.findInArray)(['matches', 'webkitMatchesSelector', 'mozMatchesSelector', 'msMatchesSelector', 'oMatchesSelector'], function (method) {
14626 // $FlowIgnore: Doesn't think elements are indexable
14627 return (0, _shims.isFunction)(el[method]);
14628 });
14629 } // Might not be found entirely (not an Element?) - in that case, bail
14630 // $FlowIgnore: Doesn't think elements are indexable
14631
14632
14633 if (!(0, _shims.isFunction)(el[matchesSelectorFunc])) return false; // $FlowIgnore: Doesn't think elements are indexable
14634
14635 return el[matchesSelectorFunc](selector);
14636 } // Works up the tree to the draggable itself attempting to match selector.
14637
14638
14639 function matchesSelectorAndParentsTo(el
14640 /*: Node*/
14641 , selector
14642 /*: string*/
14643 , baseNode
14644 /*: Node*/
14645 )
14646 /*: boolean*/
14647 {
14648 var node = el;
14649
14650 do {
14651 if (matchesSelector(node, selector)) return true;
14652 if (node === baseNode) return false;
14653 node = node.parentNode;
14654 } while (node);
14655
14656 return false;
14657 }
14658
14659 function addEvent(el
14660 /*: ?Node*/
14661 , event
14662 /*: string*/
14663 , handler
14664 /*: Function*/
14665 , inputOptions
14666 /*: Object*/
14667 )
14668 /*: void*/
14669 {
14670 if (!el) return;
14671
14672 var options = _objectSpread({
14673 capture: true
14674 }, inputOptions); // $FlowIgnore[method-unbinding]
14675
14676
14677 if (el.addEventListener) {
14678 el.addEventListener(event, handler, options);
14679 } else if (el.attachEvent) {
14680 el.attachEvent('on' + event, handler);
14681 } else {
14682 // $FlowIgnore: Doesn't think elements are indexable
14683 el['on' + event] = handler;
14684 }
14685 }
14686
14687 function removeEvent(el
14688 /*: ?Node*/
14689 , event
14690 /*: string*/
14691 , handler
14692 /*: Function*/
14693 , inputOptions
14694 /*: Object*/
14695 )
14696 /*: void*/
14697 {
14698 if (!el) return;
14699
14700 var options = _objectSpread({
14701 capture: true
14702 }, inputOptions); // $FlowIgnore[method-unbinding]
14703
14704
14705 if (el.removeEventListener) {
14706 el.removeEventListener(event, handler, options);
14707 } else if (el.detachEvent) {
14708 el.detachEvent('on' + event, handler);
14709 } else {
14710 // $FlowIgnore: Doesn't think elements are indexable
14711 el['on' + event] = null;
14712 }
14713 }
14714
14715 function outerHeight(node
14716 /*: HTMLElement*/
14717 )
14718 /*: number*/
14719 {
14720 // This is deliberately excluding margin for our calculations, since we are using
14721 // offsetTop which is including margin. See getBoundPosition
14722 var height = node.clientHeight;
14723 var computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);
14724 height += (0, _shims.int)(computedStyle.borderTopWidth);
14725 height += (0, _shims.int)(computedStyle.borderBottomWidth);
14726 return height;
14727 }
14728
14729 function outerWidth(node
14730 /*: HTMLElement*/
14731 )
14732 /*: number*/
14733 {
14734 // This is deliberately excluding margin for our calculations, since we are using
14735 // offsetLeft which is including margin. See getBoundPosition
14736 var width = node.clientWidth;
14737 var computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);
14738 width += (0, _shims.int)(computedStyle.borderLeftWidth);
14739 width += (0, _shims.int)(computedStyle.borderRightWidth);
14740 return width;
14741 }
14742
14743 function innerHeight(node
14744 /*: HTMLElement*/
14745 )
14746 /*: number*/
14747 {
14748 var height = node.clientHeight;
14749 var computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);
14750 height -= (0, _shims.int)(computedStyle.paddingTop);
14751 height -= (0, _shims.int)(computedStyle.paddingBottom);
14752 return height;
14753 }
14754
14755 function innerWidth(node
14756 /*: HTMLElement*/
14757 )
14758 /*: number*/
14759 {
14760 var width = node.clientWidth;
14761 var computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);
14762 width -= (0, _shims.int)(computedStyle.paddingLeft);
14763 width -= (0, _shims.int)(computedStyle.paddingRight);
14764 return width;
14765 }
14766 /*:: interface EventWithOffset {
14767 clientX: number, clientY: number
14768 }*/
14769
14770
14771 // Get from offsetParent
14772 function offsetXYFromParent(evt
14773 /*: EventWithOffset*/
14774 , offsetParent
14775 /*: HTMLElement*/
14776 , scale
14777 /*: number*/
14778 )
14779 /*: ControlPosition*/
14780 {
14781 var isBody = offsetParent === offsetParent.ownerDocument.body;
14782 var offsetParentRect = isBody ? {
14783 left: 0,
14784 top: 0
14785 } : offsetParent.getBoundingClientRect();
14786 var x = (evt.clientX + offsetParent.scrollLeft - offsetParentRect.left) / scale;
14787 var y = (evt.clientY + offsetParent.scrollTop - offsetParentRect.top) / scale;
14788 return {
14789 x: x,
14790 y: y
14791 };
14792 }
14793
14794 function createCSSTransform(controlPos
14795 /*: ControlPosition*/
14796 , positionOffset
14797 /*: PositionOffsetControlPosition*/
14798 )
14799 /*: Object*/
14800 {
14801 var translation = getTranslation(controlPos, positionOffset, 'px');
14802 return _defineProperty({}, (0, _getPrefix.browserPrefixToKey)('transform', _getPrefix.default), translation);
14803 }
14804
14805 function createSVGTransform(controlPos
14806 /*: ControlPosition*/
14807 , positionOffset
14808 /*: PositionOffsetControlPosition*/
14809 )
14810 /*: string*/
14811 {
14812 var translation = getTranslation(controlPos, positionOffset, '');
14813 return translation;
14814 }
14815
14816 function getTranslation(_ref2, positionOffset
14817 /*: PositionOffsetControlPosition*/
14818 , unitSuffix
14819 /*: string*/
14820 )
14821 /*: string*/
14822 {
14823 var x = _ref2.x,
14824 y = _ref2.y;
14825 var translation = "translate(".concat(x).concat(unitSuffix, ",").concat(y).concat(unitSuffix, ")");
14826
14827 if (positionOffset) {
14828 var defaultX = "".concat(typeof positionOffset.x === 'string' ? positionOffset.x : positionOffset.x + unitSuffix);
14829 var defaultY = "".concat(typeof positionOffset.y === 'string' ? positionOffset.y : positionOffset.y + unitSuffix);
14830 translation = "translate(".concat(defaultX, ", ").concat(defaultY, ")") + translation;
14831 }
14832
14833 return translation;
14834 }
14835
14836 function getTouch(e
14837 /*: MouseTouchEvent*/
14838 , identifier
14839 /*: number*/
14840 )
14841 /*: ?{clientX: number, clientY: number}*/
14842 {
14843 return e.targetTouches && (0, _shims.findInArray)(e.targetTouches, function (t) {
14844 return identifier === t.identifier;
14845 }) || e.changedTouches && (0, _shims.findInArray)(e.changedTouches, function (t) {
14846 return identifier === t.identifier;
14847 });
14848 }
14849
14850 function getTouchIdentifier(e
14851 /*: MouseTouchEvent*/
14852 )
14853 /*: ?number*/
14854 {
14855 if (e.targetTouches && e.targetTouches[0]) return e.targetTouches[0].identifier;
14856 if (e.changedTouches && e.changedTouches[0]) return e.changedTouches[0].identifier;
14857 } // User-select Hacks:
14858 //
14859 // Useful for preventing blue highlights all over everything when dragging.
14860 // Note we're passing `document` b/c we could be iframed
14861
14862
14863 function addUserSelectStyles(doc
14864 /*: ?Document*/
14865 ) {
14866 if (!doc) return;
14867 var styleEl = doc.getElementById('react-draggable-style-el');
14868
14869 if (!styleEl) {
14870 styleEl = doc.createElement('style');
14871 styleEl.type = 'text/css';
14872 styleEl.id = 'react-draggable-style-el';
14873 styleEl.innerHTML = '.react-draggable-transparent-selection *::-moz-selection {all: inherit;}\n';
14874 styleEl.innerHTML += '.react-draggable-transparent-selection *::selection {all: inherit;}\n';
14875 doc.getElementsByTagName('head')[0].appendChild(styleEl);
14876 }
14877
14878 if (doc.body) addClassName(doc.body, 'react-draggable-transparent-selection');
14879 }
14880
14881 function removeUserSelectStyles(doc
14882 /*: ?Document*/
14883 ) {
14884 if (!doc) return;
14885
14886 try {
14887 if (doc.body) removeClassName(doc.body, 'react-draggable-transparent-selection'); // $FlowIgnore: IE
14888
14889 if (doc.selection) {
14890 // $FlowIgnore: IE
14891 doc.selection.empty();
14892 } else {
14893 // Remove selection caused by scroll, unless it's a focused input
14894 // (we use doc.defaultView in case we're in an iframe)
14895 var selection = (doc.defaultView || window).getSelection();
14896
14897 if (selection && selection.type !== 'Caret') {
14898 selection.removeAllRanges();
14899 }
14900 }
14901 } catch (e) {// probably IE
14902 }
14903 }
14904
14905 function addClassName(el
14906 /*: HTMLElement*/
14907 , className
14908 /*: string*/
14909 ) {
14910 if (el.classList) {
14911 el.classList.add(className);
14912 } else {
14913 if (!el.className.match(new RegExp("(?:^|\\s)".concat(className, "(?!\\S)")))) {
14914 el.className += " ".concat(className);
14915 }
14916 }
14917 }
14918
14919 function removeClassName(el
14920 /*: HTMLElement*/
14921 , className
14922 /*: string*/
14923 ) {
14924 if (el.classList) {
14925 el.classList.remove(className);
14926 } else {
14927 el.className = el.className.replace(new RegExp("(?:^|\\s)".concat(className, "(?!\\S)"), 'g'), '');
14928 }
14929 }
14930
14931 /***/ }),
14932
14933 /***/ "../node_modules/react-draggable/build/cjs/utils/getPrefix.js":
14934 /*!********************************************************************!*\
14935 !*** ../node_modules/react-draggable/build/cjs/utils/getPrefix.js ***!
14936 \********************************************************************/
14937 /***/ ((__unused_webpack_module, exports) => {
14938
14939 "use strict";
14940
14941
14942 Object.defineProperty(exports, "__esModule", ({
14943 value: true
14944 }));
14945 exports.browserPrefixToKey = browserPrefixToKey;
14946 exports.browserPrefixToStyle = browserPrefixToStyle;
14947 exports["default"] = void 0;
14948 exports.getPrefix = getPrefix;
14949 var prefixes = ['Moz', 'Webkit', 'O', 'ms'];
14950
14951 function getPrefix()
14952 /*: string*/
14953 {
14954 var _window$document, _window$document$docu;
14955
14956 var prop
14957 /*: string*/
14958 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'transform';
14959 // Ensure we're running in an environment where there is actually a global
14960 // `window` obj
14961 if (typeof window === 'undefined') return ''; // If we're in a pseudo-browser server-side environment, this access
14962 // path may not exist, so bail out if it doesn't.
14963
14964 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;
14965 if (!style) return '';
14966 if (prop in style) return '';
14967
14968 for (var i = 0; i < prefixes.length; i++) {
14969 if (browserPrefixToKey(prop, prefixes[i]) in style) return prefixes[i];
14970 }
14971
14972 return '';
14973 }
14974
14975 function browserPrefixToKey(prop
14976 /*: string*/
14977 , prefix
14978 /*: string*/
14979 )
14980 /*: string*/
14981 {
14982 return prefix ? "".concat(prefix).concat(kebabToTitleCase(prop)) : prop;
14983 }
14984
14985 function browserPrefixToStyle(prop
14986 /*: string*/
14987 , prefix
14988 /*: string*/
14989 )
14990 /*: string*/
14991 {
14992 return prefix ? "-".concat(prefix.toLowerCase(), "-").concat(prop) : prop;
14993 }
14994
14995 function kebabToTitleCase(str
14996 /*: string*/
14997 )
14998 /*: string*/
14999 {
15000 var out = '';
15001 var shouldCapitalize = true;
15002
15003 for (var i = 0; i < str.length; i++) {
15004 if (shouldCapitalize) {
15005 out += str[i].toUpperCase();
15006 shouldCapitalize = false;
15007 } else if (str[i] === '-') {
15008 shouldCapitalize = true;
15009 } else {
15010 out += str[i];
15011 }
15012 }
15013
15014 return out;
15015 } // Default export is the prefix itself, like 'Moz', 'Webkit', etc
15016 // Note that you may have to re-test for certain things; for instance, Chrome 50
15017 // can handle unprefixed `transform`, but not unprefixed `user-select`
15018
15019
15020 var _default = (getPrefix()
15021 /*: string*/
15022 );
15023
15024 exports["default"] = _default;
15025
15026 /***/ }),
15027
15028 /***/ "../node_modules/react-draggable/build/cjs/utils/log.js":
15029 /*!**************************************************************!*\
15030 !*** ../node_modules/react-draggable/build/cjs/utils/log.js ***!
15031 \**************************************************************/
15032 /***/ ((__unused_webpack_module, exports) => {
15033
15034 "use strict";
15035
15036
15037 Object.defineProperty(exports, "__esModule", ({
15038 value: true
15039 }));
15040 exports["default"] = log;
15041
15042 /*eslint no-console:0*/
15043 function log() {
15044 var _console;
15045
15046 if (false) {}
15047 }
15048
15049 /***/ }),
15050
15051 /***/ "../node_modules/react-draggable/build/cjs/utils/positionFns.js":
15052 /*!**********************************************************************!*\
15053 !*** ../node_modules/react-draggable/build/cjs/utils/positionFns.js ***!
15054 \**********************************************************************/
15055 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
15056
15057 "use strict";
15058
15059
15060 Object.defineProperty(exports, "__esModule", ({
15061 value: true
15062 }));
15063 exports.canDragX = canDragX;
15064 exports.canDragY = canDragY;
15065 exports.createCoreData = createCoreData;
15066 exports.createDraggableData = createDraggableData;
15067 exports.getBoundPosition = getBoundPosition;
15068 exports.getControlPosition = getControlPosition;
15069 exports.snapToGrid = snapToGrid;
15070
15071 var _shims = __webpack_require__(/*! ./shims */ "../node_modules/react-draggable/build/cjs/utils/shims.js");
15072
15073 var _domFns = __webpack_require__(/*! ./domFns */ "../node_modules/react-draggable/build/cjs/utils/domFns.js");
15074
15075 function getBoundPosition(draggable
15076 /*: Draggable*/
15077 , x
15078 /*: number*/
15079 , y
15080 /*: number*/
15081 )
15082 /*: [number, number]*/
15083 {
15084 // If no bounds, short-circuit and move on
15085 if (!draggable.props.bounds) return [x, y]; // Clone new bounds
15086
15087 var bounds = draggable.props.bounds;
15088 bounds = typeof bounds === 'string' ? bounds : cloneBounds(bounds);
15089 var node = findDOMNode(draggable);
15090
15091 if (typeof bounds === 'string') {
15092 var ownerDocument = node.ownerDocument;
15093 var ownerWindow = ownerDocument.defaultView;
15094 var boundNode;
15095
15096 if (bounds === 'parent') {
15097 boundNode = node.parentNode;
15098 } else {
15099 boundNode = ownerDocument.querySelector(bounds);
15100 }
15101
15102 if (!(boundNode instanceof ownerWindow.HTMLElement)) {
15103 throw new Error('Bounds selector "' + bounds + '" could not find an element.');
15104 }
15105
15106 var boundNodeEl
15107 /*: HTMLElement*/
15108 = boundNode; // for Flow, can't seem to refine correctly
15109
15110 var nodeStyle = ownerWindow.getComputedStyle(node);
15111 var boundNodeStyle = ownerWindow.getComputedStyle(boundNodeEl); // Compute bounds. This is a pain with padding and offsets but this gets it exactly right.
15112
15113 bounds = {
15114 left: -node.offsetLeft + (0, _shims.int)(boundNodeStyle.paddingLeft) + (0, _shims.int)(nodeStyle.marginLeft),
15115 top: -node.offsetTop + (0, _shims.int)(boundNodeStyle.paddingTop) + (0, _shims.int)(nodeStyle.marginTop),
15116 right: (0, _domFns.innerWidth)(boundNodeEl) - (0, _domFns.outerWidth)(node) - node.offsetLeft + (0, _shims.int)(boundNodeStyle.paddingRight) - (0, _shims.int)(nodeStyle.marginRight),
15117 bottom: (0, _domFns.innerHeight)(boundNodeEl) - (0, _domFns.outerHeight)(node) - node.offsetTop + (0, _shims.int)(boundNodeStyle.paddingBottom) - (0, _shims.int)(nodeStyle.marginBottom)
15118 };
15119 } // Keep x and y below right and bottom limits...
15120
15121
15122 if ((0, _shims.isNum)(bounds.right)) x = Math.min(x, bounds.right);
15123 if ((0, _shims.isNum)(bounds.bottom)) y = Math.min(y, bounds.bottom); // But above left and top limits.
15124
15125 if ((0, _shims.isNum)(bounds.left)) x = Math.max(x, bounds.left);
15126 if ((0, _shims.isNum)(bounds.top)) y = Math.max(y, bounds.top);
15127 return [x, y];
15128 }
15129
15130 function snapToGrid(grid
15131 /*: [number, number]*/
15132 , pendingX
15133 /*: number*/
15134 , pendingY
15135 /*: number*/
15136 )
15137 /*: [number, number]*/
15138 {
15139 var x = Math.round(pendingX / grid[0]) * grid[0];
15140 var y = Math.round(pendingY / grid[1]) * grid[1];
15141 return [x, y];
15142 }
15143
15144 function canDragX(draggable
15145 /*: Draggable*/
15146 )
15147 /*: boolean*/
15148 {
15149 return draggable.props.axis === 'both' || draggable.props.axis === 'x';
15150 }
15151
15152 function canDragY(draggable
15153 /*: Draggable*/
15154 )
15155 /*: boolean*/
15156 {
15157 return draggable.props.axis === 'both' || draggable.props.axis === 'y';
15158 } // Get {x, y} positions from event.
15159
15160
15161 function getControlPosition(e
15162 /*: MouseTouchEvent*/
15163 , touchIdentifier
15164 /*: ?number*/
15165 , draggableCore
15166 /*: DraggableCore*/
15167 )
15168 /*: ?ControlPosition*/
15169 {
15170 var touchObj = typeof touchIdentifier === 'number' ? (0, _domFns.getTouch)(e, touchIdentifier) : null;
15171 if (typeof touchIdentifier === 'number' && !touchObj) return null; // not the right touch
15172
15173 var node = findDOMNode(draggableCore); // User can provide an offsetParent if desired.
15174
15175 var offsetParent = draggableCore.props.offsetParent || node.offsetParent || node.ownerDocument.body;
15176 return (0, _domFns.offsetXYFromParent)(touchObj || e, offsetParent, draggableCore.props.scale);
15177 } // Create an data object exposed by <DraggableCore>'s events
15178
15179
15180 function createCoreData(draggable
15181 /*: DraggableCore*/
15182 , x
15183 /*: number*/
15184 , y
15185 /*: number*/
15186 )
15187 /*: DraggableData*/
15188 {
15189 var state = draggable.state;
15190 var isStart = !(0, _shims.isNum)(state.lastX);
15191 var node = findDOMNode(draggable);
15192
15193 if (isStart) {
15194 // If this is our first move, use the x and y as last coords.
15195 return {
15196 node: node,
15197 deltaX: 0,
15198 deltaY: 0,
15199 lastX: x,
15200 lastY: y,
15201 x: x,
15202 y: y
15203 };
15204 } else {
15205 // Otherwise calculate proper values.
15206 return {
15207 node: node,
15208 deltaX: x - state.lastX,
15209 deltaY: y - state.lastY,
15210 lastX: state.lastX,
15211 lastY: state.lastY,
15212 x: x,
15213 y: y
15214 };
15215 }
15216 } // Create an data exposed by <Draggable>'s events
15217
15218
15219 function createDraggableData(draggable
15220 /*: Draggable*/
15221 , coreData
15222 /*: DraggableData*/
15223 )
15224 /*: DraggableData*/
15225 {
15226 var scale = draggable.props.scale;
15227 return {
15228 node: coreData.node,
15229 x: draggable.state.x + coreData.deltaX / scale,
15230 y: draggable.state.y + coreData.deltaY / scale,
15231 deltaX: coreData.deltaX / scale,
15232 deltaY: coreData.deltaY / scale,
15233 lastX: draggable.state.x,
15234 lastY: draggable.state.y
15235 };
15236 } // A lot faster than stringify/parse
15237
15238
15239 function cloneBounds(bounds
15240 /*: Bounds*/
15241 )
15242 /*: Bounds*/
15243 {
15244 return {
15245 left: bounds.left,
15246 top: bounds.top,
15247 right: bounds.right,
15248 bottom: bounds.bottom
15249 };
15250 }
15251
15252 function findDOMNode(draggable
15253 /*: Draggable | DraggableCore*/
15254 )
15255 /*: HTMLElement*/
15256 {
15257 var node = draggable.findDOMNode();
15258
15259 if (!node) {
15260 throw new Error('<DraggableCore>: Unmounted during event!');
15261 } // $FlowIgnore we can't assert on HTMLElement due to tests... FIXME
15262
15263
15264 return node;
15265 }
15266
15267 /***/ }),
15268
15269 /***/ "../node_modules/react-draggable/build/cjs/utils/shims.js":
15270 /*!****************************************************************!*\
15271 !*** ../node_modules/react-draggable/build/cjs/utils/shims.js ***!
15272 \****************************************************************/
15273 /***/ ((__unused_webpack_module, exports) => {
15274
15275 "use strict";
15276
15277
15278 Object.defineProperty(exports, "__esModule", ({
15279 value: true
15280 }));
15281 exports.dontSetMe = dontSetMe;
15282 exports.findInArray = findInArray;
15283 exports.int = int;
15284 exports.isFunction = isFunction;
15285 exports.isNum = isNum;
15286
15287 // @credits https://gist.github.com/rogozhnikoff/a43cfed27c41e4e68cdc
15288 function findInArray(array
15289 /*: Array<any> | TouchList*/
15290 , callback
15291 /*: Function*/
15292 )
15293 /*: any*/
15294 {
15295 for (var i = 0, length = array.length; i < length; i++) {
15296 if (callback.apply(callback, [array[i], i, array])) return array[i];
15297 }
15298 }
15299
15300 function isFunction(func
15301 /*: any*/
15302 )
15303 /*: boolean %checks*/
15304 {
15305 // $FlowIgnore[method-unbinding]
15306 return typeof func === 'function' || Object.prototype.toString.call(func) === '[object Function]';
15307 }
15308
15309 function isNum(num
15310 /*: any*/
15311 )
15312 /*: boolean %checks*/
15313 {
15314 return typeof num === 'number' && !isNaN(num);
15315 }
15316
15317 function int(a
15318 /*: string*/
15319 )
15320 /*: number*/
15321 {
15322 return parseInt(a, 10);
15323 }
15324
15325 function dontSetMe(props
15326 /*: Object*/
15327 , propName
15328 /*: string*/
15329 , componentName
15330 /*: string*/
15331 )
15332 /*: ?Error*/
15333 {
15334 if (props[propName]) {
15335 return new Error("Invalid prop ".concat(propName, " passed to ").concat(componentName, " - do not set this, set it on the child."));
15336 }
15337 }
15338
15339 /***/ }),
15340
15341 /***/ "../node_modules/react-infinite-scroller/dist/InfiniteScroll.js":
15342 /*!**********************************************************************!*\
15343 !*** ../node_modules/react-infinite-scroller/dist/InfiniteScroll.js ***!
15344 \**********************************************************************/
15345 /***/ ((module, exports, __webpack_require__) => {
15346
15347 "use strict";
15348
15349
15350 Object.defineProperty(exports, "__esModule", ({
15351 value: true
15352 }));
15353
15354 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; }; }();
15355
15356 var _react = __webpack_require__(/*! react */ "react");
15357
15358 var _react2 = _interopRequireDefault(_react);
15359
15360 var _propTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js");
15361
15362 var _propTypes2 = _interopRequireDefault(_propTypes);
15363
15364 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15365
15366 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; }
15367
15368 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
15369
15370 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; }
15371
15372 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; }
15373
15374 var InfiniteScroll = function (_Component) {
15375 _inherits(InfiniteScroll, _Component);
15376
15377 function InfiniteScroll(props) {
15378 _classCallCheck(this, InfiniteScroll);
15379
15380 var _this = _possibleConstructorReturn(this, (InfiniteScroll.__proto__ || Object.getPrototypeOf(InfiniteScroll)).call(this, props));
15381
15382 _this.scrollListener = _this.scrollListener.bind(_this);
15383 _this.eventListenerOptions = _this.eventListenerOptions.bind(_this);
15384 _this.mousewheelListener = _this.mousewheelListener.bind(_this);
15385 return _this;
15386 }
15387
15388 _createClass(InfiniteScroll, [{
15389 key: 'componentDidMount',
15390 value: function componentDidMount() {
15391 this.pageLoaded = this.props.pageStart;
15392 this.options = this.eventListenerOptions();
15393 this.attachScrollListener();
15394 }
15395 }, {
15396 key: 'componentDidUpdate',
15397 value: function componentDidUpdate() {
15398 if (this.props.isReverse && this.loadMore) {
15399 var parentElement = this.getParentElement(this.scrollComponent);
15400 parentElement.scrollTop = parentElement.scrollHeight - this.beforeScrollHeight + this.beforeScrollTop;
15401 this.loadMore = false;
15402 }
15403 this.attachScrollListener();
15404 }
15405 }, {
15406 key: 'componentWillUnmount',
15407 value: function componentWillUnmount() {
15408 this.detachScrollListener();
15409 this.detachMousewheelListener();
15410 }
15411 }, {
15412 key: 'isPassiveSupported',
15413 value: function isPassiveSupported() {
15414 var passive = false;
15415
15416 var testOptions = {
15417 get passive() {
15418 passive = true;
15419 }
15420 };
15421
15422 try {
15423 document.addEventListener('test', null, testOptions);
15424 document.removeEventListener('test', null, testOptions);
15425 } catch (e) {
15426 // ignore
15427 }
15428 return passive;
15429 }
15430 }, {
15431 key: 'eventListenerOptions',
15432 value: function eventListenerOptions() {
15433 var options = this.props.useCapture;
15434
15435 if (this.isPassiveSupported()) {
15436 options = {
15437 useCapture: this.props.useCapture,
15438 passive: true
15439 };
15440 } else {
15441 options = {
15442 passive: false
15443 };
15444 }
15445 return options;
15446 }
15447
15448 // Set a defaut loader for all your `InfiniteScroll` components
15449
15450 }, {
15451 key: 'setDefaultLoader',
15452 value: function setDefaultLoader(loader) {
15453 this.defaultLoader = loader;
15454 }
15455 }, {
15456 key: 'detachMousewheelListener',
15457 value: function detachMousewheelListener() {
15458 var scrollEl = window;
15459 if (this.props.useWindow === false) {
15460 scrollEl = this.scrollComponent.parentNode;
15461 }
15462
15463 scrollEl.removeEventListener('mousewheel', this.mousewheelListener, this.options ? this.options : this.props.useCapture);
15464 }
15465 }, {
15466 key: 'detachScrollListener',
15467 value: function detachScrollListener() {
15468 var scrollEl = window;
15469 if (this.props.useWindow === false) {
15470 scrollEl = this.getParentElement(this.scrollComponent);
15471 }
15472
15473 scrollEl.removeEventListener('scroll', this.scrollListener, this.options ? this.options : this.props.useCapture);
15474 scrollEl.removeEventListener('resize', this.scrollListener, this.options ? this.options : this.props.useCapture);
15475 }
15476 }, {
15477 key: 'getParentElement',
15478 value: function getParentElement(el) {
15479 var scrollParent = this.props.getScrollParent && this.props.getScrollParent();
15480 if (scrollParent != null) {
15481 return scrollParent;
15482 }
15483 return el && el.parentNode;
15484 }
15485 }, {
15486 key: 'filterProps',
15487 value: function filterProps(props) {
15488 return props;
15489 }
15490 }, {
15491 key: 'attachScrollListener',
15492 value: function attachScrollListener() {
15493 var parentElement = this.getParentElement(this.scrollComponent);
15494
15495 if (!this.props.hasMore || !parentElement) {
15496 return;
15497 }
15498
15499 var scrollEl = window;
15500 if (this.props.useWindow === false) {
15501 scrollEl = parentElement;
15502 }
15503
15504 scrollEl.addEventListener('mousewheel', this.mousewheelListener, this.options ? this.options : this.props.useCapture);
15505 scrollEl.addEventListener('scroll', this.scrollListener, this.options ? this.options : this.props.useCapture);
15506 scrollEl.addEventListener('resize', this.scrollListener, this.options ? this.options : this.props.useCapture);
15507
15508 if (this.props.initialLoad) {
15509 this.scrollListener();
15510 }
15511 }
15512 }, {
15513 key: 'mousewheelListener',
15514 value: function mousewheelListener(e) {
15515 // Prevents Chrome hangups
15516 // See: https://stackoverflow.com/questions/47524205/random-high-content-download-time-in-chrome/47684257#47684257
15517 if (e.deltaY === 1 && !this.isPassiveSupported()) {
15518 e.preventDefault();
15519 }
15520 }
15521 }, {
15522 key: 'scrollListener',
15523 value: function scrollListener() {
15524 var el = this.scrollComponent;
15525 var scrollEl = window;
15526 var parentNode = this.getParentElement(el);
15527
15528 var offset = void 0;
15529 if (this.props.useWindow) {
15530 var doc = document.documentElement || document.body.parentNode || document.body;
15531 var scrollTop = scrollEl.pageYOffset !== undefined ? scrollEl.pageYOffset : doc.scrollTop;
15532 if (this.props.isReverse) {
15533 offset = scrollTop;
15534 } else {
15535 offset = this.calculateOffset(el, scrollTop);
15536 }
15537 } else if (this.props.isReverse) {
15538 offset = parentNode.scrollTop;
15539 } else {
15540 offset = el.scrollHeight - parentNode.scrollTop - parentNode.clientHeight;
15541 }
15542
15543 // Here we make sure the element is visible as well as checking the offset
15544 if (offset < Number(this.props.threshold) && el && el.offsetParent !== null) {
15545 this.detachScrollListener();
15546 this.beforeScrollHeight = parentNode.scrollHeight;
15547 this.beforeScrollTop = parentNode.scrollTop;
15548 // Call loadMore after detachScrollListener to allow for non-async loadMore functions
15549 if (typeof this.props.loadMore === 'function') {
15550 this.props.loadMore(this.pageLoaded += 1);
15551 this.loadMore = true;
15552 }
15553 }
15554 }
15555 }, {
15556 key: 'calculateOffset',
15557 value: function calculateOffset(el, scrollTop) {
15558 if (!el) {
15559 return 0;
15560 }
15561
15562 return this.calculateTopPosition(el) + (el.offsetHeight - scrollTop - window.innerHeight);
15563 }
15564 }, {
15565 key: 'calculateTopPosition',
15566 value: function calculateTopPosition(el) {
15567 if (!el) {
15568 return 0;
15569 }
15570 return el.offsetTop + this.calculateTopPosition(el.offsetParent);
15571 }
15572 }, {
15573 key: 'render',
15574 value: function render() {
15575 var _this2 = this;
15576
15577 var renderProps = this.filterProps(this.props);
15578
15579 var children = renderProps.children,
15580 element = renderProps.element,
15581 hasMore = renderProps.hasMore,
15582 initialLoad = renderProps.initialLoad,
15583 isReverse = renderProps.isReverse,
15584 loader = renderProps.loader,
15585 loadMore = renderProps.loadMore,
15586 pageStart = renderProps.pageStart,
15587 ref = renderProps.ref,
15588 threshold = renderProps.threshold,
15589 useCapture = renderProps.useCapture,
15590 useWindow = renderProps.useWindow,
15591 getScrollParent = renderProps.getScrollParent,
15592 props = _objectWithoutProperties(renderProps, ['children', 'element', 'hasMore', 'initialLoad', 'isReverse', 'loader', 'loadMore', 'pageStart', 'ref', 'threshold', 'useCapture', 'useWindow', 'getScrollParent']);
15593
15594 props.ref = function (node) {
15595 _this2.scrollComponent = node;
15596 if (ref) {
15597 ref(node);
15598 }
15599 };
15600
15601 var childrenArray = [children];
15602 if (hasMore) {
15603 if (loader) {
15604 isReverse ? childrenArray.unshift(loader) : childrenArray.push(loader);
15605 } else if (this.defaultLoader) {
15606 isReverse ? childrenArray.unshift(this.defaultLoader) : childrenArray.push(this.defaultLoader);
15607 }
15608 }
15609 return _react2.default.createElement(element, props, childrenArray);
15610 }
15611 }]);
15612
15613 return InfiniteScroll;
15614 }(_react.Component);
15615
15616 InfiniteScroll.propTypes = {
15617 children: _propTypes2.default.node.isRequired,
15618 element: _propTypes2.default.node,
15619 hasMore: _propTypes2.default.bool,
15620 initialLoad: _propTypes2.default.bool,
15621 isReverse: _propTypes2.default.bool,
15622 loader: _propTypes2.default.node,
15623 loadMore: _propTypes2.default.func.isRequired,
15624 pageStart: _propTypes2.default.number,
15625 ref: _propTypes2.default.func,
15626 getScrollParent: _propTypes2.default.func,
15627 threshold: _propTypes2.default.number,
15628 useCapture: _propTypes2.default.bool,
15629 useWindow: _propTypes2.default.bool
15630 };
15631 InfiniteScroll.defaultProps = {
15632 element: 'div',
15633 hasMore: false,
15634 initialLoad: true,
15635 pageStart: 0,
15636 ref: null,
15637 threshold: 250,
15638 useWindow: true,
15639 isReverse: false,
15640 useCapture: false,
15641 loader: null,
15642 getScrollParent: null
15643 };
15644 exports["default"] = InfiniteScroll;
15645 module.exports = exports['default'];
15646
15647
15648 /***/ }),
15649
15650 /***/ "../node_modules/react-infinite-scroller/index.js":
15651 /*!********************************************************!*\
15652 !*** ../node_modules/react-infinite-scroller/index.js ***!
15653 \********************************************************/
15654 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
15655
15656 module.exports = __webpack_require__(/*! ./dist/InfiniteScroll */ "../node_modules/react-infinite-scroller/dist/InfiniteScroll.js")
15657
15658
15659 /***/ }),
15660
15661 /***/ "../node_modules/react-is/cjs/react-is.development.js":
15662 /*!************************************************************!*\
15663 !*** ../node_modules/react-is/cjs/react-is.development.js ***!
15664 \************************************************************/
15665 /***/ ((__unused_webpack_module, exports) => {
15666
15667 "use strict";
15668 /**
15669 * @license React
15670 * react-is.development.js
15671 *
15672 * Copyright (c) Facebook, Inc. and its affiliates.
15673 *
15674 * This source code is licensed under the MIT license found in the
15675 * LICENSE file in the root directory of this source tree.
15676 */
15677
15678
15679
15680 if (true) {
15681 (function() {
15682 'use strict';
15683
15684 // ATTENTION
15685 // When adding new symbols to this file,
15686 // Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'
15687 // The Symbol used to tag the ReactElement-like types.
15688 var REACT_ELEMENT_TYPE = Symbol.for('react.element');
15689 var REACT_PORTAL_TYPE = Symbol.for('react.portal');
15690 var REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');
15691 var REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');
15692 var REACT_PROFILER_TYPE = Symbol.for('react.profiler');
15693 var REACT_PROVIDER_TYPE = Symbol.for('react.provider');
15694 var REACT_CONTEXT_TYPE = Symbol.for('react.context');
15695 var REACT_SERVER_CONTEXT_TYPE = Symbol.for('react.server_context');
15696 var REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');
15697 var REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');
15698 var REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');
15699 var REACT_MEMO_TYPE = Symbol.for('react.memo');
15700 var REACT_LAZY_TYPE = Symbol.for('react.lazy');
15701 var REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');
15702
15703 // -----------------------------------------------------------------------------
15704
15705 var enableScopeAPI = false; // Experimental Create Event Handle API.
15706 var enableCacheElement = false;
15707 var enableTransitionTracing = false; // No known bugs, but needs performance testing
15708
15709 var enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber
15710 // stuff. Intended to enable React core members to more easily debug scheduling
15711 // issues in DEV builds.
15712
15713 var enableDebugTracing = false; // Track which Fiber(s) schedule render work.
15714
15715 var REACT_MODULE_REFERENCE;
15716
15717 {
15718 REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');
15719 }
15720
15721 function isValidElementType(type) {
15722 if (typeof type === 'string' || typeof type === 'function') {
15723 return true;
15724 } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).
15725
15726
15727 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 ) {
15728 return true;
15729 }
15730
15731 if (typeof type === 'object' && type !== null) {
15732 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
15733 // types supported by any Flight configuration anywhere since
15734 // we don't know which Flight build this will end up being used
15735 // with.
15736 type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {
15737 return true;
15738 }
15739 }
15740
15741 return false;
15742 }
15743
15744 function typeOf(object) {
15745 if (typeof object === 'object' && object !== null) {
15746 var $$typeof = object.$$typeof;
15747
15748 switch ($$typeof) {
15749 case REACT_ELEMENT_TYPE:
15750 var type = object.type;
15751
15752 switch (type) {
15753 case REACT_FRAGMENT_TYPE:
15754 case REACT_PROFILER_TYPE:
15755 case REACT_STRICT_MODE_TYPE:
15756 case REACT_SUSPENSE_TYPE:
15757 case REACT_SUSPENSE_LIST_TYPE:
15758 return type;
15759
15760 default:
15761 var $$typeofType = type && type.$$typeof;
15762
15763 switch ($$typeofType) {
15764 case REACT_SERVER_CONTEXT_TYPE:
15765 case REACT_CONTEXT_TYPE:
15766 case REACT_FORWARD_REF_TYPE:
15767 case REACT_LAZY_TYPE:
15768 case REACT_MEMO_TYPE:
15769 case REACT_PROVIDER_TYPE:
15770 return $$typeofType;
15771
15772 default:
15773 return $$typeof;
15774 }
15775
15776 }
15777
15778 case REACT_PORTAL_TYPE:
15779 return $$typeof;
15780 }
15781 }
15782
15783 return undefined;
15784 }
15785 var ContextConsumer = REACT_CONTEXT_TYPE;
15786 var ContextProvider = REACT_PROVIDER_TYPE;
15787 var Element = REACT_ELEMENT_TYPE;
15788 var ForwardRef = REACT_FORWARD_REF_TYPE;
15789 var Fragment = REACT_FRAGMENT_TYPE;
15790 var Lazy = REACT_LAZY_TYPE;
15791 var Memo = REACT_MEMO_TYPE;
15792 var Portal = REACT_PORTAL_TYPE;
15793 var Profiler = REACT_PROFILER_TYPE;
15794 var StrictMode = REACT_STRICT_MODE_TYPE;
15795 var Suspense = REACT_SUSPENSE_TYPE;
15796 var SuspenseList = REACT_SUSPENSE_LIST_TYPE;
15797 var hasWarnedAboutDeprecatedIsAsyncMode = false;
15798 var hasWarnedAboutDeprecatedIsConcurrentMode = false; // AsyncMode should be deprecated
15799
15800 function isAsyncMode(object) {
15801 {
15802 if (!hasWarnedAboutDeprecatedIsAsyncMode) {
15803 hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint
15804
15805 console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 18+.');
15806 }
15807 }
15808
15809 return false;
15810 }
15811 function isConcurrentMode(object) {
15812 {
15813 if (!hasWarnedAboutDeprecatedIsConcurrentMode) {
15814 hasWarnedAboutDeprecatedIsConcurrentMode = true; // Using console['warn'] to evade Babel and ESLint
15815
15816 console['warn']('The ReactIs.isConcurrentMode() alias has been deprecated, ' + 'and will be removed in React 18+.');
15817 }
15818 }
15819
15820 return false;
15821 }
15822 function isContextConsumer(object) {
15823 return typeOf(object) === REACT_CONTEXT_TYPE;
15824 }
15825 function isContextProvider(object) {
15826 return typeOf(object) === REACT_PROVIDER_TYPE;
15827 }
15828 function isElement(object) {
15829 return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
15830 }
15831 function isForwardRef(object) {
15832 return typeOf(object) === REACT_FORWARD_REF_TYPE;
15833 }
15834 function isFragment(object) {
15835 return typeOf(object) === REACT_FRAGMENT_TYPE;
15836 }
15837 function isLazy(object) {
15838 return typeOf(object) === REACT_LAZY_TYPE;
15839 }
15840 function isMemo(object) {
15841 return typeOf(object) === REACT_MEMO_TYPE;
15842 }
15843 function isPortal(object) {
15844 return typeOf(object) === REACT_PORTAL_TYPE;
15845 }
15846 function isProfiler(object) {
15847 return typeOf(object) === REACT_PROFILER_TYPE;
15848 }
15849 function isStrictMode(object) {
15850 return typeOf(object) === REACT_STRICT_MODE_TYPE;
15851 }
15852 function isSuspense(object) {
15853 return typeOf(object) === REACT_SUSPENSE_TYPE;
15854 }
15855 function isSuspenseList(object) {
15856 return typeOf(object) === REACT_SUSPENSE_LIST_TYPE;
15857 }
15858
15859 exports.ContextConsumer = ContextConsumer;
15860 exports.ContextProvider = ContextProvider;
15861 exports.Element = Element;
15862 exports.ForwardRef = ForwardRef;
15863 exports.Fragment = Fragment;
15864 exports.Lazy = Lazy;
15865 exports.Memo = Memo;
15866 exports.Portal = Portal;
15867 exports.Profiler = Profiler;
15868 exports.StrictMode = StrictMode;
15869 exports.Suspense = Suspense;
15870 exports.SuspenseList = SuspenseList;
15871 exports.isAsyncMode = isAsyncMode;
15872 exports.isConcurrentMode = isConcurrentMode;
15873 exports.isContextConsumer = isContextConsumer;
15874 exports.isContextProvider = isContextProvider;
15875 exports.isElement = isElement;
15876 exports.isForwardRef = isForwardRef;
15877 exports.isFragment = isFragment;
15878 exports.isLazy = isLazy;
15879 exports.isMemo = isMemo;
15880 exports.isPortal = isPortal;
15881 exports.isProfiler = isProfiler;
15882 exports.isStrictMode = isStrictMode;
15883 exports.isSuspense = isSuspense;
15884 exports.isSuspenseList = isSuspenseList;
15885 exports.isValidElementType = isValidElementType;
15886 exports.typeOf = typeOf;
15887 })();
15888 }
15889
15890
15891 /***/ }),
15892
15893 /***/ "../node_modules/react-is/index.js":
15894 /*!*****************************************!*\
15895 !*** ../node_modules/react-is/index.js ***!
15896 \*****************************************/
15897 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
15898
15899 "use strict";
15900
15901
15902 if (false) {} else {
15903 module.exports = __webpack_require__(/*! ./cjs/react-is.development.js */ "../node_modules/react-is/cjs/react-is.development.js");
15904 }
15905
15906
15907 /***/ }),
15908
15909 /***/ "../node_modules/react-sketch-canvas/dist/react-sketch-canvas.esm.js":
15910 /*!***************************************************************************!*\
15911 !*** ../node_modules/react-sketch-canvas/dist/react-sketch-canvas.esm.js ***!
15912 \***************************************************************************/
15913 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
15914
15915 "use strict";
15916 __webpack_require__.r(__webpack_exports__);
15917 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
15918 /* harmony export */ Canvas: () => (/* binding */ Canvas),
15919 /* harmony export */ ReactSketchCanvas: () => (/* binding */ ReactSketchCanvas)
15920 /* harmony export */ });
15921 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
15922 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
15923
15924
15925 function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
15926 try {
15927 var info = gen[key](arg);
15928 var value = info.value;
15929 } catch (error) {
15930 reject(error);
15931 return;
15932 }
15933
15934 if (info.done) {
15935 resolve(value);
15936 } else {
15937 Promise.resolve(value).then(_next, _throw);
15938 }
15939 }
15940
15941 function _asyncToGenerator(fn) {
15942 return function () {
15943 var self = this,
15944 args = arguments;
15945 return new Promise(function (resolve, reject) {
15946 var gen = fn.apply(self, args);
15947
15948 function _next(value) {
15949 asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
15950 }
15951
15952 function _throw(err) {
15953 asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
15954 }
15955
15956 _next(undefined);
15957 });
15958 };
15959 }
15960
15961 function _extends() {
15962 _extends = Object.assign || function (target) {
15963 for (var i = 1; i < arguments.length; i++) {
15964 var source = arguments[i];
15965
15966 for (var key in source) {
15967 if (Object.prototype.hasOwnProperty.call(source, key)) {
15968 target[key] = source[key];
15969 }
15970 }
15971 }
15972
15973 return target;
15974 };
15975
15976 return _extends.apply(this, arguments);
15977 }
15978
15979 var runtime = {exports: {}};
15980
15981 /**
15982 * Copyright (c) 2014-present, Facebook, Inc.
15983 *
15984 * This source code is licensed under the MIT license found in the
15985 * LICENSE file in the root directory of this source tree.
15986 */
15987
15988 (function (module) {
15989 var runtime = (function (exports) {
15990
15991 var Op = Object.prototype;
15992 var hasOwn = Op.hasOwnProperty;
15993 var undefined$1; // More compressible than void 0.
15994 var $Symbol = typeof Symbol === "function" ? Symbol : {};
15995 var iteratorSymbol = $Symbol.iterator || "@@iterator";
15996 var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator";
15997 var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag";
15998
15999 function define(obj, key, value) {
16000 Object.defineProperty(obj, key, {
16001 value: value,
16002 enumerable: true,
16003 configurable: true,
16004 writable: true
16005 });
16006 return obj[key];
16007 }
16008 try {
16009 // IE 8 has a broken Object.defineProperty that only works on DOM objects.
16010 define({}, "");
16011 } catch (err) {
16012 define = function(obj, key, value) {
16013 return obj[key] = value;
16014 };
16015 }
16016
16017 function wrap(innerFn, outerFn, self, tryLocsList) {
16018 // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.
16019 var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;
16020 var generator = Object.create(protoGenerator.prototype);
16021 var context = new Context(tryLocsList || []);
16022
16023 // The ._invoke method unifies the implementations of the .next,
16024 // .throw, and .return methods.
16025 generator._invoke = makeInvokeMethod(innerFn, self, context);
16026
16027 return generator;
16028 }
16029 exports.wrap = wrap;
16030
16031 // Try/catch helper to minimize deoptimizations. Returns a completion
16032 // record like context.tryEntries[i].completion. This interface could
16033 // have been (and was previously) designed to take a closure to be
16034 // invoked without arguments, but in all the cases we care about we
16035 // already have an existing method we want to call, so there's no need
16036 // to create a new function object. We can even get away with assuming
16037 // the method takes exactly one argument, since that happens to be true
16038 // in every case, so we don't have to touch the arguments object. The
16039 // only additional allocation required is the completion record, which
16040 // has a stable shape and so hopefully should be cheap to allocate.
16041 function tryCatch(fn, obj, arg) {
16042 try {
16043 return { type: "normal", arg: fn.call(obj, arg) };
16044 } catch (err) {
16045 return { type: "throw", arg: err };
16046 }
16047 }
16048
16049 var GenStateSuspendedStart = "suspendedStart";
16050 var GenStateSuspendedYield = "suspendedYield";
16051 var GenStateExecuting = "executing";
16052 var GenStateCompleted = "completed";
16053
16054 // Returning this object from the innerFn has the same effect as
16055 // breaking out of the dispatch switch statement.
16056 var ContinueSentinel = {};
16057
16058 // Dummy constructor functions that we use as the .constructor and
16059 // .constructor.prototype properties for functions that return Generator
16060 // objects. For full spec compliance, you may wish to configure your
16061 // minifier not to mangle the names of these two functions.
16062 function Generator() {}
16063 function GeneratorFunction() {}
16064 function GeneratorFunctionPrototype() {}
16065
16066 // This is a polyfill for %IteratorPrototype% for environments that
16067 // don't natively support it.
16068 var IteratorPrototype = {};
16069 define(IteratorPrototype, iteratorSymbol, function () {
16070 return this;
16071 });
16072
16073 var getProto = Object.getPrototypeOf;
16074 var NativeIteratorPrototype = getProto && getProto(getProto(values([])));
16075 if (NativeIteratorPrototype &&
16076 NativeIteratorPrototype !== Op &&
16077 hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {
16078 // This environment has a native %IteratorPrototype%; use it instead
16079 // of the polyfill.
16080 IteratorPrototype = NativeIteratorPrototype;
16081 }
16082
16083 var Gp = GeneratorFunctionPrototype.prototype =
16084 Generator.prototype = Object.create(IteratorPrototype);
16085 GeneratorFunction.prototype = GeneratorFunctionPrototype;
16086 define(Gp, "constructor", GeneratorFunctionPrototype);
16087 define(GeneratorFunctionPrototype, "constructor", GeneratorFunction);
16088 GeneratorFunction.displayName = define(
16089 GeneratorFunctionPrototype,
16090 toStringTagSymbol,
16091 "GeneratorFunction"
16092 );
16093
16094 // Helper for defining the .next, .throw, and .return methods of the
16095 // Iterator interface in terms of a single ._invoke method.
16096 function defineIteratorMethods(prototype) {
16097 ["next", "throw", "return"].forEach(function(method) {
16098 define(prototype, method, function(arg) {
16099 return this._invoke(method, arg);
16100 });
16101 });
16102 }
16103
16104 exports.isGeneratorFunction = function(genFun) {
16105 var ctor = typeof genFun === "function" && genFun.constructor;
16106 return ctor
16107 ? ctor === GeneratorFunction ||
16108 // For the native GeneratorFunction constructor, the best we can
16109 // do is to check its .name property.
16110 (ctor.displayName || ctor.name) === "GeneratorFunction"
16111 : false;
16112 };
16113
16114 exports.mark = function(genFun) {
16115 if (Object.setPrototypeOf) {
16116 Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);
16117 } else {
16118 genFun.__proto__ = GeneratorFunctionPrototype;
16119 define(genFun, toStringTagSymbol, "GeneratorFunction");
16120 }
16121 genFun.prototype = Object.create(Gp);
16122 return genFun;
16123 };
16124
16125 // Within the body of any async function, `await x` is transformed to
16126 // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test
16127 // `hasOwn.call(value, "__await")` to determine if the yielded value is
16128 // meant to be awaited.
16129 exports.awrap = function(arg) {
16130 return { __await: arg };
16131 };
16132
16133 function AsyncIterator(generator, PromiseImpl) {
16134 function invoke(method, arg, resolve, reject) {
16135 var record = tryCatch(generator[method], generator, arg);
16136 if (record.type === "throw") {
16137 reject(record.arg);
16138 } else {
16139 var result = record.arg;
16140 var value = result.value;
16141 if (value &&
16142 typeof value === "object" &&
16143 hasOwn.call(value, "__await")) {
16144 return PromiseImpl.resolve(value.__await).then(function(value) {
16145 invoke("next", value, resolve, reject);
16146 }, function(err) {
16147 invoke("throw", err, resolve, reject);
16148 });
16149 }
16150
16151 return PromiseImpl.resolve(value).then(function(unwrapped) {
16152 // When a yielded Promise is resolved, its final value becomes
16153 // the .value of the Promise<{value,done}> result for the
16154 // current iteration.
16155 result.value = unwrapped;
16156 resolve(result);
16157 }, function(error) {
16158 // If a rejected Promise was yielded, throw the rejection back
16159 // into the async generator function so it can be handled there.
16160 return invoke("throw", error, resolve, reject);
16161 });
16162 }
16163 }
16164
16165 var previousPromise;
16166
16167 function enqueue(method, arg) {
16168 function callInvokeWithMethodAndArg() {
16169 return new PromiseImpl(function(resolve, reject) {
16170 invoke(method, arg, resolve, reject);
16171 });
16172 }
16173
16174 return previousPromise =
16175 // If enqueue has been called before, then we want to wait until
16176 // all previous Promises have been resolved before calling invoke,
16177 // so that results are always delivered in the correct order. If
16178 // enqueue has not been called before, then it is important to
16179 // call invoke immediately, without waiting on a callback to fire,
16180 // so that the async generator function has the opportunity to do
16181 // any necessary setup in a predictable way. This predictability
16182 // is why the Promise constructor synchronously invokes its
16183 // executor callback, and why async functions synchronously
16184 // execute code before the first await. Since we implement simple
16185 // async functions in terms of async generators, it is especially
16186 // important to get this right, even though it requires care.
16187 previousPromise ? previousPromise.then(
16188 callInvokeWithMethodAndArg,
16189 // Avoid propagating failures to Promises returned by later
16190 // invocations of the iterator.
16191 callInvokeWithMethodAndArg
16192 ) : callInvokeWithMethodAndArg();
16193 }
16194
16195 // Define the unified helper method that is used to implement .next,
16196 // .throw, and .return (see defineIteratorMethods).
16197 this._invoke = enqueue;
16198 }
16199
16200 defineIteratorMethods(AsyncIterator.prototype);
16201 define(AsyncIterator.prototype, asyncIteratorSymbol, function () {
16202 return this;
16203 });
16204 exports.AsyncIterator = AsyncIterator;
16205
16206 // Note that simple async functions are implemented on top of
16207 // AsyncIterator objects; they just return a Promise for the value of
16208 // the final result produced by the iterator.
16209 exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {
16210 if (PromiseImpl === void 0) PromiseImpl = Promise;
16211
16212 var iter = new AsyncIterator(
16213 wrap(innerFn, outerFn, self, tryLocsList),
16214 PromiseImpl
16215 );
16216
16217 return exports.isGeneratorFunction(outerFn)
16218 ? iter // If outerFn is a generator, return the full iterator.
16219 : iter.next().then(function(result) {
16220 return result.done ? result.value : iter.next();
16221 });
16222 };
16223
16224 function makeInvokeMethod(innerFn, self, context) {
16225 var state = GenStateSuspendedStart;
16226
16227 return function invoke(method, arg) {
16228 if (state === GenStateExecuting) {
16229 throw new Error("Generator is already running");
16230 }
16231
16232 if (state === GenStateCompleted) {
16233 if (method === "throw") {
16234 throw arg;
16235 }
16236
16237 // Be forgiving, per 25.3.3.3.3 of the spec:
16238 // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume
16239 return doneResult();
16240 }
16241
16242 context.method = method;
16243 context.arg = arg;
16244
16245 while (true) {
16246 var delegate = context.delegate;
16247 if (delegate) {
16248 var delegateResult = maybeInvokeDelegate(delegate, context);
16249 if (delegateResult) {
16250 if (delegateResult === ContinueSentinel) continue;
16251 return delegateResult;
16252 }
16253 }
16254
16255 if (context.method === "next") {
16256 // Setting context._sent for legacy support of Babel's
16257 // function.sent implementation.
16258 context.sent = context._sent = context.arg;
16259
16260 } else if (context.method === "throw") {
16261 if (state === GenStateSuspendedStart) {
16262 state = GenStateCompleted;
16263 throw context.arg;
16264 }
16265
16266 context.dispatchException(context.arg);
16267
16268 } else if (context.method === "return") {
16269 context.abrupt("return", context.arg);
16270 }
16271
16272 state = GenStateExecuting;
16273
16274 var record = tryCatch(innerFn, self, context);
16275 if (record.type === "normal") {
16276 // If an exception is thrown from innerFn, we leave state ===
16277 // GenStateExecuting and loop back for another invocation.
16278 state = context.done
16279 ? GenStateCompleted
16280 : GenStateSuspendedYield;
16281
16282 if (record.arg === ContinueSentinel) {
16283 continue;
16284 }
16285
16286 return {
16287 value: record.arg,
16288 done: context.done
16289 };
16290
16291 } else if (record.type === "throw") {
16292 state = GenStateCompleted;
16293 // Dispatch the exception by looping back around to the
16294 // context.dispatchException(context.arg) call above.
16295 context.method = "throw";
16296 context.arg = record.arg;
16297 }
16298 }
16299 };
16300 }
16301
16302 // Call delegate.iterator[context.method](context.arg) and handle the
16303 // result, either by returning a { value, done } result from the
16304 // delegate iterator, or by modifying context.method and context.arg,
16305 // setting context.delegate to null, and returning the ContinueSentinel.
16306 function maybeInvokeDelegate(delegate, context) {
16307 var method = delegate.iterator[context.method];
16308 if (method === undefined$1) {
16309 // A .throw or .return when the delegate iterator has no .throw
16310 // method always terminates the yield* loop.
16311 context.delegate = null;
16312
16313 if (context.method === "throw") {
16314 // Note: ["return"] must be used for ES3 parsing compatibility.
16315 if (delegate.iterator["return"]) {
16316 // If the delegate iterator has a return method, give it a
16317 // chance to clean up.
16318 context.method = "return";
16319 context.arg = undefined$1;
16320 maybeInvokeDelegate(delegate, context);
16321
16322 if (context.method === "throw") {
16323 // If maybeInvokeDelegate(context) changed context.method from
16324 // "return" to "throw", let that override the TypeError below.
16325 return ContinueSentinel;
16326 }
16327 }
16328
16329 context.method = "throw";
16330 context.arg = new TypeError(
16331 "The iterator does not provide a 'throw' method");
16332 }
16333
16334 return ContinueSentinel;
16335 }
16336
16337 var record = tryCatch(method, delegate.iterator, context.arg);
16338
16339 if (record.type === "throw") {
16340 context.method = "throw";
16341 context.arg = record.arg;
16342 context.delegate = null;
16343 return ContinueSentinel;
16344 }
16345
16346 var info = record.arg;
16347
16348 if (! info) {
16349 context.method = "throw";
16350 context.arg = new TypeError("iterator result is not an object");
16351 context.delegate = null;
16352 return ContinueSentinel;
16353 }
16354
16355 if (info.done) {
16356 // Assign the result of the finished delegate to the temporary
16357 // variable specified by delegate.resultName (see delegateYield).
16358 context[delegate.resultName] = info.value;
16359
16360 // Resume execution at the desired location (see delegateYield).
16361 context.next = delegate.nextLoc;
16362
16363 // If context.method was "throw" but the delegate handled the
16364 // exception, let the outer generator proceed normally. If
16365 // context.method was "next", forget context.arg since it has been
16366 // "consumed" by the delegate iterator. If context.method was
16367 // "return", allow the original .return call to continue in the
16368 // outer generator.
16369 if (context.method !== "return") {
16370 context.method = "next";
16371 context.arg = undefined$1;
16372 }
16373
16374 } else {
16375 // Re-yield the result returned by the delegate method.
16376 return info;
16377 }
16378
16379 // The delegate iterator is finished, so forget it and continue with
16380 // the outer generator.
16381 context.delegate = null;
16382 return ContinueSentinel;
16383 }
16384
16385 // Define Generator.prototype.{next,throw,return} in terms of the
16386 // unified ._invoke helper method.
16387 defineIteratorMethods(Gp);
16388
16389 define(Gp, toStringTagSymbol, "Generator");
16390
16391 // A Generator should always return itself as the iterator object when the
16392 // @@iterator function is called on it. Some browsers' implementations of the
16393 // iterator prototype chain incorrectly implement this, causing the Generator
16394 // object to not be returned from this call. This ensures that doesn't happen.
16395 // See https://github.com/facebook/regenerator/issues/274 for more details.
16396 define(Gp, iteratorSymbol, function() {
16397 return this;
16398 });
16399
16400 define(Gp, "toString", function() {
16401 return "[object Generator]";
16402 });
16403
16404 function pushTryEntry(locs) {
16405 var entry = { tryLoc: locs[0] };
16406
16407 if (1 in locs) {
16408 entry.catchLoc = locs[1];
16409 }
16410
16411 if (2 in locs) {
16412 entry.finallyLoc = locs[2];
16413 entry.afterLoc = locs[3];
16414 }
16415
16416 this.tryEntries.push(entry);
16417 }
16418
16419 function resetTryEntry(entry) {
16420 var record = entry.completion || {};
16421 record.type = "normal";
16422 delete record.arg;
16423 entry.completion = record;
16424 }
16425
16426 function Context(tryLocsList) {
16427 // The root entry object (effectively a try statement without a catch
16428 // or a finally block) gives us a place to store values thrown from
16429 // locations where there is no enclosing try statement.
16430 this.tryEntries = [{ tryLoc: "root" }];
16431 tryLocsList.forEach(pushTryEntry, this);
16432 this.reset(true);
16433 }
16434
16435 exports.keys = function(object) {
16436 var keys = [];
16437 for (var key in object) {
16438 keys.push(key);
16439 }
16440 keys.reverse();
16441
16442 // Rather than returning an object with a next method, we keep
16443 // things simple and return the next function itself.
16444 return function next() {
16445 while (keys.length) {
16446 var key = keys.pop();
16447 if (key in object) {
16448 next.value = key;
16449 next.done = false;
16450 return next;
16451 }
16452 }
16453
16454 // To avoid creating an additional object, we just hang the .value
16455 // and .done properties off the next function object itself. This
16456 // also ensures that the minifier will not anonymize the function.
16457 next.done = true;
16458 return next;
16459 };
16460 };
16461
16462 function values(iterable) {
16463 if (iterable) {
16464 var iteratorMethod = iterable[iteratorSymbol];
16465 if (iteratorMethod) {
16466 return iteratorMethod.call(iterable);
16467 }
16468
16469 if (typeof iterable.next === "function") {
16470 return iterable;
16471 }
16472
16473 if (!isNaN(iterable.length)) {
16474 var i = -1, next = function next() {
16475 while (++i < iterable.length) {
16476 if (hasOwn.call(iterable, i)) {
16477 next.value = iterable[i];
16478 next.done = false;
16479 return next;
16480 }
16481 }
16482
16483 next.value = undefined$1;
16484 next.done = true;
16485
16486 return next;
16487 };
16488
16489 return next.next = next;
16490 }
16491 }
16492
16493 // Return an iterator with no values.
16494 return { next: doneResult };
16495 }
16496 exports.values = values;
16497
16498 function doneResult() {
16499 return { value: undefined$1, done: true };
16500 }
16501
16502 Context.prototype = {
16503 constructor: Context,
16504
16505 reset: function(skipTempReset) {
16506 this.prev = 0;
16507 this.next = 0;
16508 // Resetting context._sent for legacy support of Babel's
16509 // function.sent implementation.
16510 this.sent = this._sent = undefined$1;
16511 this.done = false;
16512 this.delegate = null;
16513
16514 this.method = "next";
16515 this.arg = undefined$1;
16516
16517 this.tryEntries.forEach(resetTryEntry);
16518
16519 if (!skipTempReset) {
16520 for (var name in this) {
16521 // Not sure about the optimal order of these conditions:
16522 if (name.charAt(0) === "t" &&
16523 hasOwn.call(this, name) &&
16524 !isNaN(+name.slice(1))) {
16525 this[name] = undefined$1;
16526 }
16527 }
16528 }
16529 },
16530
16531 stop: function() {
16532 this.done = true;
16533
16534 var rootEntry = this.tryEntries[0];
16535 var rootRecord = rootEntry.completion;
16536 if (rootRecord.type === "throw") {
16537 throw rootRecord.arg;
16538 }
16539
16540 return this.rval;
16541 },
16542
16543 dispatchException: function(exception) {
16544 if (this.done) {
16545 throw exception;
16546 }
16547
16548 var context = this;
16549 function handle(loc, caught) {
16550 record.type = "throw";
16551 record.arg = exception;
16552 context.next = loc;
16553
16554 if (caught) {
16555 // If the dispatched exception was caught by a catch block,
16556 // then let that catch block handle the exception normally.
16557 context.method = "next";
16558 context.arg = undefined$1;
16559 }
16560
16561 return !! caught;
16562 }
16563
16564 for (var i = this.tryEntries.length - 1; i >= 0; --i) {
16565 var entry = this.tryEntries[i];
16566 var record = entry.completion;
16567
16568 if (entry.tryLoc === "root") {
16569 // Exception thrown outside of any try block that could handle
16570 // it, so set the completion value of the entire function to
16571 // throw the exception.
16572 return handle("end");
16573 }
16574
16575 if (entry.tryLoc <= this.prev) {
16576 var hasCatch = hasOwn.call(entry, "catchLoc");
16577 var hasFinally = hasOwn.call(entry, "finallyLoc");
16578
16579 if (hasCatch && hasFinally) {
16580 if (this.prev < entry.catchLoc) {
16581 return handle(entry.catchLoc, true);
16582 } else if (this.prev < entry.finallyLoc) {
16583 return handle(entry.finallyLoc);
16584 }
16585
16586 } else if (hasCatch) {
16587 if (this.prev < entry.catchLoc) {
16588 return handle(entry.catchLoc, true);
16589 }
16590
16591 } else if (hasFinally) {
16592 if (this.prev < entry.finallyLoc) {
16593 return handle(entry.finallyLoc);
16594 }
16595
16596 } else {
16597 throw new Error("try statement without catch or finally");
16598 }
16599 }
16600 }
16601 },
16602
16603 abrupt: function(type, arg) {
16604 for (var i = this.tryEntries.length - 1; i >= 0; --i) {
16605 var entry = this.tryEntries[i];
16606 if (entry.tryLoc <= this.prev &&
16607 hasOwn.call(entry, "finallyLoc") &&
16608 this.prev < entry.finallyLoc) {
16609 var finallyEntry = entry;
16610 break;
16611 }
16612 }
16613
16614 if (finallyEntry &&
16615 (type === "break" ||
16616 type === "continue") &&
16617 finallyEntry.tryLoc <= arg &&
16618 arg <= finallyEntry.finallyLoc) {
16619 // Ignore the finally entry if control is not jumping to a
16620 // location outside the try/catch block.
16621 finallyEntry = null;
16622 }
16623
16624 var record = finallyEntry ? finallyEntry.completion : {};
16625 record.type = type;
16626 record.arg = arg;
16627
16628 if (finallyEntry) {
16629 this.method = "next";
16630 this.next = finallyEntry.finallyLoc;
16631 return ContinueSentinel;
16632 }
16633
16634 return this.complete(record);
16635 },
16636
16637 complete: function(record, afterLoc) {
16638 if (record.type === "throw") {
16639 throw record.arg;
16640 }
16641
16642 if (record.type === "break" ||
16643 record.type === "continue") {
16644 this.next = record.arg;
16645 } else if (record.type === "return") {
16646 this.rval = this.arg = record.arg;
16647 this.method = "return";
16648 this.next = "end";
16649 } else if (record.type === "normal" && afterLoc) {
16650 this.next = afterLoc;
16651 }
16652
16653 return ContinueSentinel;
16654 },
16655
16656 finish: function(finallyLoc) {
16657 for (var i = this.tryEntries.length - 1; i >= 0; --i) {
16658 var entry = this.tryEntries[i];
16659 if (entry.finallyLoc === finallyLoc) {
16660 this.complete(entry.completion, entry.afterLoc);
16661 resetTryEntry(entry);
16662 return ContinueSentinel;
16663 }
16664 }
16665 },
16666
16667 "catch": function(tryLoc) {
16668 for (var i = this.tryEntries.length - 1; i >= 0; --i) {
16669 var entry = this.tryEntries[i];
16670 if (entry.tryLoc === tryLoc) {
16671 var record = entry.completion;
16672 if (record.type === "throw") {
16673 var thrown = record.arg;
16674 resetTryEntry(entry);
16675 }
16676 return thrown;
16677 }
16678 }
16679
16680 // The context.catch method must only be called with a location
16681 // argument that corresponds to a known catch block.
16682 throw new Error("illegal catch attempt");
16683 },
16684
16685 delegateYield: function(iterable, resultName, nextLoc) {
16686 this.delegate = {
16687 iterator: values(iterable),
16688 resultName: resultName,
16689 nextLoc: nextLoc
16690 };
16691
16692 if (this.method === "next") {
16693 // Deliberately forget the last sent value so that we don't
16694 // accidentally pass it on to the delegate.
16695 this.arg = undefined$1;
16696 }
16697
16698 return ContinueSentinel;
16699 }
16700 };
16701
16702 // Regardless of whether this script is executing as a CommonJS module
16703 // or not, return the runtime object so that we can declare the variable
16704 // regeneratorRuntime in the outer scope, which allows this module to be
16705 // injected easily by `bin/regenerator --include-runtime script.js`.
16706 return exports;
16707
16708 }(
16709 // If this script is executing as a CommonJS module, use module.exports
16710 // as the regeneratorRuntime namespace. Otherwise create a new empty
16711 // object. Either way, the resulting object will be used to initialize
16712 // the regeneratorRuntime variable at the top of this file.
16713 module.exports
16714 ));
16715
16716 try {
16717 regeneratorRuntime = runtime;
16718 } catch (accidentalStrictMode) {
16719 // This module should not be running in strict mode, so the above
16720 // assignment should always work unless something is misconfigured. Just
16721 // in case runtime.js accidentally runs in strict mode, in modern engines
16722 // we can explicitly access globalThis. In older engines we can escape
16723 // strict mode using a global Function call. This could conceivably fail
16724 // if a Content Security Policy forbids using Function, but in that case
16725 // the proper solution is to fix the accidental strict mode problem. If
16726 // you've misconfigured your bundler to force strict mode and applied a
16727 // CSP to forbid Function, and you're not willing to fix either of those
16728 // problems, please detail your unique predicament in a GitHub issue.
16729 if (typeof globalThis === "object") {
16730 globalThis.regeneratorRuntime = runtime;
16731 } else {
16732 Function("r", "regeneratorRuntime = r")(runtime);
16733 }
16734 }
16735 }(runtime));
16736
16737 var _regeneratorRuntime = runtime.exports;
16738
16739 /**
16740 * Generate SVG Path tag from the given points
16741 */
16742
16743 var SvgPath = function SvgPath(_ref) {
16744 var paths = _ref.paths,
16745 id = _ref.id,
16746 strokeWidth = _ref.strokeWidth,
16747 strokeColor = _ref.strokeColor,
16748 _ref$command = _ref.command,
16749 command = _ref$command === void 0 ? bezierCommand : _ref$command;
16750
16751 if (paths.length === 1) {
16752 var _paths$ = paths[0],
16753 x = _paths$.x,
16754 y = _paths$.y;
16755 var radius = strokeWidth / 2;
16756 return react__WEBPACK_IMPORTED_MODULE_0__.createElement("circle", {
16757 key: id,
16758 id: id,
16759 cx: x,
16760 cy: y,
16761 r: radius,
16762 stroke: strokeColor,
16763 fill: strokeColor
16764 });
16765 }
16766
16767 var d = paths.reduce(function (acc, point, i, a) {
16768 return i === 0 ? "M " + point.x + "," + point.y : acc + " " + command(point, i, a);
16769 }, '');
16770 return react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
16771 key: id,
16772 id: id,
16773 d: d,
16774 fill: "none",
16775 strokeLinecap: "round",
16776 stroke: strokeColor,
16777 strokeWidth: strokeWidth
16778 });
16779 };
16780 var line = function line(pointA, pointB) {
16781 var lengthX = pointB.x - pointA.x;
16782 var lengthY = pointB.y - pointA.y;
16783 return {
16784 length: Math.sqrt(Math.pow(lengthX, 2) + Math.pow(lengthY, 2)),
16785 angle: Math.atan2(lengthY, lengthX)
16786 };
16787 };
16788
16789 var controlPoint = function controlPoint(controlPoints) {
16790 var current = controlPoints.current,
16791 next = controlPoints.next,
16792 previous = controlPoints.previous,
16793 reverse = controlPoints.reverse;
16794 var p = previous || current;
16795 var n = next || current;
16796 var smoothing = 0.2;
16797 var o = line(p, n);
16798 var angle = o.angle + (reverse ? Math.PI : 0);
16799 var length = o.length * smoothing;
16800 var x = current.x + Math.cos(angle) * length;
16801 var y = current.y + Math.sin(angle) * length;
16802 return [x, y];
16803 };
16804
16805 var bezierCommand = function bezierCommand(point, i, a) {
16806 var cpsX = null;
16807 var cpsY = null;
16808
16809 switch (i) {
16810 case 0:
16811 var _controlPoint = controlPoint({
16812 current: point
16813 });
16814
16815 cpsX = _controlPoint[0];
16816 cpsY = _controlPoint[1];
16817 break;
16818
16819 case 1:
16820 var _controlPoint2 = controlPoint({
16821 current: a[i - 1],
16822 next: point
16823 });
16824
16825 cpsX = _controlPoint2[0];
16826 cpsY = _controlPoint2[1];
16827 break;
16828
16829 default:
16830 var _controlPoint3 = controlPoint({
16831 current: a[i - 1],
16832 previous: a[i - 2],
16833 next: point
16834 });
16835
16836 cpsX = _controlPoint3[0];
16837 cpsY = _controlPoint3[1];
16838 break;
16839 }
16840
16841 var _controlPoint4 = controlPoint({
16842 current: point,
16843 previous: a[i - 1],
16844 next: a[i + 1],
16845 reverse: true
16846 }),
16847 cpeX = _controlPoint4[0],
16848 cpeY = _controlPoint4[1];
16849
16850 return "C " + cpsX + "," + cpsY + " " + cpeX + "," + cpeY + " " + point.x + ", " + point.y;
16851 };
16852
16853 var Paths = function Paths(_ref2) {
16854 var id = _ref2.id,
16855 paths = _ref2.paths;
16856 return react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, paths.map(function (path, index) {
16857 return react__WEBPACK_IMPORTED_MODULE_0__.createElement(SvgPath, {
16858 key: id + "__" + index,
16859 paths: path.paths,
16860 id: id + "__" + index,
16861 strokeWidth: path.strokeWidth,
16862 strokeColor: path.strokeColor,
16863 command: bezierCommand
16864 });
16865 }));
16866 };
16867
16868 var loadImage = function loadImage(url) {
16869 return new Promise(function (resolve, reject) {
16870 var img = new Image();
16871 img.addEventListener('load', function () {
16872 if (img.width > 0) {
16873 resolve(img);
16874 }
16875
16876 reject('Image not found');
16877 });
16878 img.addEventListener('error', function (err) {
16879 return reject(err);
16880 });
16881 img.src = url;
16882 img.setAttribute('crossorigin', 'anonymous');
16883 });
16884 };
16885
16886 function getCanvasWithViewBox(canvas) {
16887 var _canvas$firstChild;
16888
16889 var svgCanvas = (_canvas$firstChild = canvas.firstChild) == null ? void 0 : _canvas$firstChild.cloneNode(true);
16890 var width = canvas.offsetWidth;
16891 var height = canvas.offsetHeight;
16892 svgCanvas.setAttribute('viewBox', "0 0 " + width + " " + height);
16893 svgCanvas.setAttribute('width', width.toString());
16894 svgCanvas.setAttribute('height', height.toString());
16895 return {
16896 svgCanvas: svgCanvas,
16897 width: width,
16898 height: height
16899 };
16900 }
16901
16902 var Canvas = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(function (props, ref) {
16903 var paths = props.paths,
16904 isDrawing = props.isDrawing,
16905 onPointerDown = props.onPointerDown,
16906 onPointerMove = props.onPointerMove,
16907 onPointerUp = props.onPointerUp,
16908 _props$id = props.id,
16909 id = _props$id === void 0 ? 'react-sketch-canvas' : _props$id,
16910 _props$width = props.width,
16911 width = _props$width === void 0 ? '100%' : _props$width,
16912 _props$height = props.height,
16913 height = _props$height === void 0 ? '100%' : _props$height,
16914 _props$className = props.className,
16915 className = _props$className === void 0 ? 'react-sketch-canvas' : _props$className,
16916 _props$canvasColor = props.canvasColor,
16917 canvasColor = _props$canvasColor === void 0 ? 'red' : _props$canvasColor,
16918 _props$backgroundImag = props.backgroundImage,
16919 backgroundImage = _props$backgroundImag === void 0 ? '' : _props$backgroundImag,
16920 _props$exportWithBack = props.exportWithBackgroundImage,
16921 exportWithBackgroundImage = _props$exportWithBack === void 0 ? false : _props$exportWithBack,
16922 _props$preserveBackgr = props.preserveBackgroundImageAspectRatio,
16923 preserveBackgroundImageAspectRatio = _props$preserveBackgr === void 0 ? 'none' : _props$preserveBackgr,
16924 _props$allowOnlyPoint = props.allowOnlyPointerType,
16925 allowOnlyPointerType = _props$allowOnlyPoint === void 0 ? 'all' : _props$allowOnlyPoint,
16926 _props$style = props.style,
16927 style = _props$style === void 0 ? {
16928 border: '0.0625rem solid #9c9c9c',
16929 borderRadius: '0.25rem'
16930 } : _props$style,
16931 _props$svgStyle = props.svgStyle,
16932 svgStyle = _props$svgStyle === void 0 ? {} : _props$svgStyle;
16933 var canvasRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null); // Converts mouse coordinates to relative coordinate based on the absolute position of svg
16934
16935 var getCoordinates = function getCoordinates(pointerEvent) {
16936 var _canvasRef$current, _window$scrollX, _window$scrollY;
16937
16938 var boundingArea = (_canvasRef$current = canvasRef.current) == null ? void 0 : _canvasRef$current.getBoundingClientRect();
16939 var scrollLeft = (_window$scrollX = window.scrollX) != null ? _window$scrollX : 0;
16940 var scrollTop = (_window$scrollY = window.scrollY) != null ? _window$scrollY : 0;
16941
16942 if (!boundingArea) {
16943 return {
16944 x: 0,
16945 y: 0
16946 };
16947 }
16948
16949 var point = {
16950 x: pointerEvent.pageX - boundingArea.left - scrollLeft,
16951 y: pointerEvent.pageY - boundingArea.top - scrollTop
16952 };
16953 return point;
16954 };
16955 /* Mouse Handlers - Mouse down, move and up */
16956
16957
16958 var handlePointerDown = function handlePointerDown(event) {
16959 // Allow only chosen pointer type
16960 if (allowOnlyPointerType !== 'all' && event.pointerType !== allowOnlyPointerType) {
16961 return;
16962 }
16963
16964 if (event.pointerType === 'mouse' && event.button !== 0) return;
16965 var point = getCoordinates(event);
16966 onPointerDown(point);
16967 };
16968
16969 var handlePointerMove = function handlePointerMove(event) {
16970 if (!isDrawing) return; // Allow only chosen pointer type
16971
16972 if (allowOnlyPointerType !== 'all' && event.pointerType !== allowOnlyPointerType) {
16973 return;
16974 }
16975
16976 var point = getCoordinates(event);
16977 onPointerMove(point);
16978 };
16979
16980 var handlePointerUp = function handlePointerUp(event) {
16981 if (event.pointerType === 'mouse' && event.button !== 0) return; // Allow only chosen pointer type
16982
16983 if (allowOnlyPointerType !== 'all' && event.pointerType !== allowOnlyPointerType) {
16984 return;
16985 }
16986
16987 onPointerUp();
16988 };
16989 /* Mouse Handlers ends */
16990
16991
16992 react__WEBPACK_IMPORTED_MODULE_0__.useImperativeHandle(ref, function () {
16993 return {
16994 exportImage: function exportImage(imageType) {
16995 return new Promise( /*#__PURE__*/function () {
16996 var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(resolve, reject) {
16997 var canvas, _getCanvasWithViewBox, svgCanvas, _width, _height, canvasSketch, loadImagePromises, img;
16998
16999 return _regeneratorRuntime.wrap(function _callee$(_context) {
17000 while (1) {
17001 switch (_context.prev = _context.next) {
17002 case 0:
17003 _context.prev = 0;
17004 canvas = canvasRef.current;
17005
17006 if (canvas) {
17007 _context.next = 4;
17008 break;
17009 }
17010
17011 throw Error('Canvas not rendered yet');
17012
17013 case 4:
17014 _getCanvasWithViewBox = getCanvasWithViewBox(canvas), svgCanvas = _getCanvasWithViewBox.svgCanvas, _width = _getCanvasWithViewBox.width, _height = _getCanvasWithViewBox.height;
17015 canvasSketch = "data:image/svg+xml;base64," + btoa(svgCanvas.outerHTML);
17016 _context.next = 8;
17017 return loadImage(canvasSketch);
17018
17019 case 8:
17020 _context.t0 = _context.sent;
17021 loadImagePromises = [_context.t0];
17022
17023 if (!exportWithBackgroundImage) {
17024 _context.next = 21;
17025 break;
17026 }
17027
17028 _context.prev = 11;
17029 _context.next = 14;
17030 return loadImage(backgroundImage);
17031
17032 case 14:
17033 img = _context.sent;
17034 loadImagePromises.push(img);
17035 _context.next = 21;
17036 break;
17037
17038 case 18:
17039 _context.prev = 18;
17040 _context.t1 = _context["catch"](11);
17041 console.warn('exportWithBackgroundImage props is set without a valid background image URL. This option is ignored');
17042
17043 case 21:
17044 Promise.all(loadImagePromises).then(function (images) {
17045 var renderCanvas = document.createElement('canvas');
17046 renderCanvas.setAttribute('width', _width.toString());
17047 renderCanvas.setAttribute('height', _height.toString());
17048 var context = renderCanvas.getContext('2d');
17049
17050 if (!context) {
17051 throw Error('Canvas not rendered yet');
17052 }
17053
17054 images.reverse().forEach(function (image) {
17055 context.drawImage(image, 0, 0);
17056 });
17057 resolve(renderCanvas.toDataURL("image/" + imageType));
17058 })["catch"](function (e) {
17059 throw e;
17060 });
17061 _context.next = 27;
17062 break;
17063
17064 case 24:
17065 _context.prev = 24;
17066 _context.t2 = _context["catch"](0);
17067 reject(_context.t2);
17068
17069 case 27:
17070 case "end":
17071 return _context.stop();
17072 }
17073 }
17074 }, _callee, null, [[0, 24], [11, 18]]);
17075 }));
17076
17077 return function (_x, _x2) {
17078 return _ref.apply(this, arguments);
17079 };
17080 }());
17081 },
17082 exportSvg: function exportSvg() {
17083 return new Promise(function (resolve, reject) {
17084 try {
17085 var _canvasRef$current2;
17086
17087 var canvas = (_canvasRef$current2 = canvasRef.current) != null ? _canvasRef$current2 : null;
17088
17089 if (canvas !== null) {
17090 var _svgCanvas$querySelec, _svgCanvas$querySelec2;
17091
17092 var _getCanvasWithViewBox2 = getCanvasWithViewBox(canvas),
17093 svgCanvas = _getCanvasWithViewBox2.svgCanvas;
17094
17095 if (exportWithBackgroundImage) {
17096 resolve(svgCanvas.outerHTML);
17097 return;
17098 }
17099
17100 (_svgCanvas$querySelec = svgCanvas.querySelector("#" + id + "__background")) == null ? void 0 : _svgCanvas$querySelec.remove();
17101 (_svgCanvas$querySelec2 = svgCanvas.querySelector("#" + id + "__canvas-background")) == null ? void 0 : _svgCanvas$querySelec2.setAttribute('fill', canvasColor);
17102 resolve(svgCanvas.outerHTML);
17103 }
17104
17105 reject(new Error('Canvas not loaded'));
17106 } catch (e) {
17107 reject(e);
17108 }
17109 });
17110 }
17111 };
17112 });
17113 /* Add event listener to Mouse up and Touch up to
17114 release drawing even when point goes out of canvas */
17115
17116 react__WEBPACK_IMPORTED_MODULE_0__.useEffect(function () {
17117 document.addEventListener('pointerup', handlePointerUp);
17118 return function () {
17119 document.removeEventListener('pointerup', handlePointerUp);
17120 };
17121 }, [handlePointerUp]);
17122 var eraserPaths = paths.filter(function (path) {
17123 return !path.drawMode;
17124 });
17125 var currentGroup = 0;
17126 var pathGroups = paths.reduce(function (arrayGroup, path) {
17127 if (!path.drawMode) {
17128 currentGroup += 1;
17129 return arrayGroup;
17130 }
17131
17132 if (arrayGroup[currentGroup] === undefined) {
17133 arrayGroup[currentGroup] = [];
17134 }
17135
17136 arrayGroup[currentGroup].push(path);
17137 return arrayGroup;
17138 }, [[]]);
17139 return react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", {
17140 role: "presentation",
17141 ref: canvasRef,
17142 className: className,
17143 style: _extends({
17144 touchAction: 'none',
17145 width: width,
17146 height: height
17147 }, style),
17148 "touch-action": "none",
17149 onPointerDown: handlePointerDown,
17150 onPointerMove: handlePointerMove,
17151 onPointerUp: handlePointerUp
17152 }, react__WEBPACK_IMPORTED_MODULE_0__.createElement("svg", {
17153 version: "1.1",
17154 baseProfile: "full",
17155 xmlns: "http://www.w3.org/2000/svg",
17156 xmlnsXlink: "http://www.w3.org/1999/xlink",
17157 style: _extends({
17158 width: '100%',
17159 height: '100%'
17160 }, svgStyle),
17161 id: id
17162 }, react__WEBPACK_IMPORTED_MODULE_0__.createElement("g", {
17163 id: id + "__eraser-stroke-group",
17164 display: "none"
17165 }, react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", {
17166 id: id + "__mask-background",
17167 x: "0",
17168 y: "0",
17169 width: "100%",
17170 height: "100%",
17171 fill: "white"
17172 }), eraserPaths.map(function (eraserPath, i) {
17173 return react__WEBPACK_IMPORTED_MODULE_0__.createElement(SvgPath, {
17174 key: id + "__eraser-" + i,
17175 id: id + "__eraser-" + i,
17176 paths: eraserPath.paths,
17177 strokeColor: "#000000",
17178 strokeWidth: eraserPath.strokeWidth
17179 });
17180 })), react__WEBPACK_IMPORTED_MODULE_0__.createElement("defs", null, backgroundImage && react__WEBPACK_IMPORTED_MODULE_0__.createElement("pattern", {
17181 id: id + "__background",
17182 x: "0",
17183 y: "0",
17184 width: "100%",
17185 height: "100%",
17186 patternUnits: "userSpaceOnUse"
17187 }, react__WEBPACK_IMPORTED_MODULE_0__.createElement("image", {
17188 x: "0",
17189 y: "0",
17190 width: "100%",
17191 height: "100%",
17192 xlinkHref: backgroundImage,
17193 preserveAspectRatio: preserveBackgroundImageAspectRatio
17194 })), eraserPaths.map(function (_, i) {
17195 return react__WEBPACK_IMPORTED_MODULE_0__.createElement("mask", {
17196 id: id + "__eraser-mask-" + i,
17197 key: id + "__eraser-mask-" + i,
17198 maskUnits: "userSpaceOnUse"
17199 }, react__WEBPACK_IMPORTED_MODULE_0__.createElement("use", {
17200 href: "#" + id + "__mask-background"
17201 }), Array.from({
17202 length: eraserPaths.length - i
17203 }, function (_, j) {
17204 return j + i;
17205 }).map(function (k) {
17206 return react__WEBPACK_IMPORTED_MODULE_0__.createElement("use", {
17207 key: k.toString(),
17208 href: "#" + id + "__eraser-" + k.toString()
17209 });
17210 }));
17211 })), react__WEBPACK_IMPORTED_MODULE_0__.createElement("g", {
17212 id: id + "__canvas-background-group"
17213 }, react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", {
17214 id: id + "__canvas-background",
17215 x: "0",
17216 y: "0",
17217 width: "100%",
17218 height: "100%",
17219 fill: backgroundImage ? "url(#" + id + "__background)" : canvasColor
17220 })), pathGroups.map(function (pathGroup, i) {
17221 return react__WEBPACK_IMPORTED_MODULE_0__.createElement("g", {
17222 id: id + "__stroke-group-" + i,
17223 key: id + "__stroke-group-" + i,
17224 mask: "url(#" + id + "__eraser-mask-" + i + ")"
17225 }, react__WEBPACK_IMPORTED_MODULE_0__.createElement(Paths, {
17226 id: id,
17227 paths: pathGroup
17228 }));
17229 })));
17230 });
17231
17232 var ReactSketchCanvas = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(function (props, ref) {
17233 var _props$id = props.id,
17234 id = _props$id === void 0 ? 'react-sketch-canvas' : _props$id,
17235 _props$width = props.width,
17236 width = _props$width === void 0 ? '100%' : _props$width,
17237 _props$height = props.height,
17238 height = _props$height === void 0 ? '100%' : _props$height,
17239 _props$className = props.className,
17240 className = _props$className === void 0 ? '' : _props$className,
17241 _props$canvasColor = props.canvasColor,
17242 canvasColor = _props$canvasColor === void 0 ? 'white' : _props$canvasColor,
17243 _props$strokeColor = props.strokeColor,
17244 strokeColor = _props$strokeColor === void 0 ? 'red' : _props$strokeColor,
17245 _props$backgroundImag = props.backgroundImage,
17246 backgroundImage = _props$backgroundImag === void 0 ? '' : _props$backgroundImag,
17247 _props$exportWithBack = props.exportWithBackgroundImage,
17248 exportWithBackgroundImage = _props$exportWithBack === void 0 ? false : _props$exportWithBack,
17249 _props$preserveBackgr = props.preserveBackgroundImageAspectRatio,
17250 preserveBackgroundImageAspectRatio = _props$preserveBackgr === void 0 ? 'none' : _props$preserveBackgr,
17251 _props$strokeWidth = props.strokeWidth,
17252 strokeWidth = _props$strokeWidth === void 0 ? 4 : _props$strokeWidth,
17253 _props$eraserWidth = props.eraserWidth,
17254 eraserWidth = _props$eraserWidth === void 0 ? 8 : _props$eraserWidth,
17255 _props$allowOnlyPoint = props.allowOnlyPointerType,
17256 allowOnlyPointerType = _props$allowOnlyPoint === void 0 ? 'all' : _props$allowOnlyPoint,
17257 _props$style = props.style,
17258 style = _props$style === void 0 ? {
17259 border: '0.0625rem solid #9c9c9c',
17260 borderRadius: '0.25rem'
17261 } : _props$style,
17262 _props$svgStyle = props.svgStyle,
17263 svgStyle = _props$svgStyle === void 0 ? {} : _props$svgStyle,
17264 _props$onChange = props.onChange,
17265 onChange = _props$onChange === void 0 ? function (_paths) {} : _props$onChange,
17266 _props$onStroke = props.onStroke,
17267 onStroke = _props$onStroke === void 0 ? function (_path, _isEraser) {} : _props$onStroke,
17268 _props$withTimestamp = props.withTimestamp,
17269 withTimestamp = _props$withTimestamp === void 0 ? false : _props$withTimestamp;
17270 var svgCanvas = react__WEBPACK_IMPORTED_MODULE_0__.createRef();
17271
17272 var _React$useState = react__WEBPACK_IMPORTED_MODULE_0__.useState(true),
17273 drawMode = _React$useState[0],
17274 setDrawMode = _React$useState[1];
17275
17276 var _React$useState2 = react__WEBPACK_IMPORTED_MODULE_0__.useState(false),
17277 isDrawing = _React$useState2[0],
17278 setIsDrawing = _React$useState2[1];
17279
17280 var _React$useState3 = react__WEBPACK_IMPORTED_MODULE_0__.useState([]),
17281 resetStack = _React$useState3[0],
17282 setResetStack = _React$useState3[1];
17283
17284 var _React$useState4 = react__WEBPACK_IMPORTED_MODULE_0__.useState([]),
17285 undoStack = _React$useState4[0],
17286 setUndoStack = _React$useState4[1];
17287
17288 var _React$useState5 = react__WEBPACK_IMPORTED_MODULE_0__.useState([]),
17289 currentPaths = _React$useState5[0],
17290 setCurrentPaths = _React$useState5[1];
17291
17292 var liftStrokeUp = react__WEBPACK_IMPORTED_MODULE_0__.useCallback(function () {
17293 var _currentPaths$slice$, _currentPaths$slice;
17294
17295 var lastStroke = (_currentPaths$slice$ = (_currentPaths$slice = currentPaths.slice(-1)) == null ? void 0 : _currentPaths$slice[0]) != null ? _currentPaths$slice$ : null;
17296
17297 if (lastStroke === null) {
17298 console.warn('No stroke found!');
17299 return;
17300 }
17301
17302 onStroke(lastStroke, !lastStroke.drawMode);
17303 }, [isDrawing]);
17304 react__WEBPACK_IMPORTED_MODULE_0__.useEffect(function () {
17305 liftStrokeUp();
17306 }, [isDrawing]);
17307 react__WEBPACK_IMPORTED_MODULE_0__.useEffect(function () {
17308 onChange(currentPaths);
17309 }, [currentPaths]);
17310 react__WEBPACK_IMPORTED_MODULE_0__.useImperativeHandle(ref, function () {
17311 return {
17312 eraseMode: function eraseMode(erase) {
17313 setDrawMode(!erase);
17314 },
17315 clearCanvas: function clearCanvas() {
17316 setResetStack([].concat(currentPaths));
17317 setCurrentPaths([]);
17318 },
17319 undo: function undo() {
17320 // If there was a last reset then
17321 if (resetStack.length !== 0) {
17322 setCurrentPaths([].concat(resetStack));
17323 setResetStack([]);
17324 return;
17325 }
17326
17327 setUndoStack(function (undoStack) {
17328 return [].concat(undoStack, currentPaths.slice(-1));
17329 });
17330 setCurrentPaths(function (currentPaths) {
17331 return currentPaths.slice(0, -1);
17332 });
17333 },
17334 redo: function redo() {
17335 // Nothing to Redo
17336 if (undoStack.length === 0) return;
17337 setCurrentPaths(function (currentPaths) {
17338 return [].concat(currentPaths, undoStack.slice(-1));
17339 });
17340 setUndoStack(function (undoStack) {
17341 return undoStack.slice(0, -1);
17342 });
17343 },
17344 exportImage: function exportImage(imageType) {
17345 var _svgCanvas$current;
17346
17347 var exportImage = (_svgCanvas$current = svgCanvas.current) == null ? void 0 : _svgCanvas$current.exportImage;
17348
17349 if (!exportImage) {
17350 throw Error('Export function called before canvas loaded');
17351 } else {
17352 return exportImage(imageType);
17353 }
17354 },
17355 exportSvg: function exportSvg() {
17356 return new Promise(function (resolve, reject) {
17357 var _svgCanvas$current2;
17358
17359 var exportSvg = (_svgCanvas$current2 = svgCanvas.current) == null ? void 0 : _svgCanvas$current2.exportSvg;
17360
17361 if (!exportSvg) {
17362 reject(Error('Export function called before canvas loaded'));
17363 } else {
17364 exportSvg().then(function (data) {
17365 resolve(data);
17366 })["catch"](function (e) {
17367 reject(e);
17368 });
17369 }
17370 });
17371 },
17372 exportPaths: function exportPaths() {
17373 return new Promise(function (resolve, reject) {
17374 try {
17375 resolve(currentPaths);
17376 } catch (e) {
17377 reject(e);
17378 }
17379 });
17380 },
17381 loadPaths: function loadPaths(paths) {
17382 setCurrentPaths(function (currentPaths) {
17383 return [].concat(currentPaths, paths);
17384 });
17385 },
17386 getSketchingTime: function getSketchingTime() {
17387 return new Promise(function (resolve, reject) {
17388 if (!withTimestamp) {
17389 reject(new Error("Set 'withTimestamp' prop to get sketching time"));
17390 }
17391
17392 try {
17393 var sketchingTime = currentPaths.reduce(function (totalSketchingTime, path) {
17394 var _path$startTimestamp, _path$endTimestamp;
17395
17396 var startTimestamp = (_path$startTimestamp = path.startTimestamp) != null ? _path$startTimestamp : 0;
17397 var endTimestamp = (_path$endTimestamp = path.endTimestamp) != null ? _path$endTimestamp : 0;
17398 return totalSketchingTime + (endTimestamp - startTimestamp);
17399 }, 0);
17400 resolve(sketchingTime);
17401 } catch (e) {
17402 reject(e);
17403 }
17404 });
17405 },
17406 resetCanvas: function resetCanvas() {
17407 setResetStack([]);
17408 setUndoStack([]);
17409 setCurrentPaths([]);
17410 }
17411 };
17412 });
17413
17414 var handlePointerDown = function handlePointerDown(point) {
17415 setIsDrawing(true);
17416 setUndoStack([]);
17417 var stroke = {
17418 drawMode: drawMode,
17419 strokeColor: drawMode ? strokeColor : '#000000',
17420 strokeWidth: drawMode ? strokeWidth : eraserWidth,
17421 paths: [point]
17422 };
17423
17424 if (withTimestamp) {
17425 stroke = _extends({}, stroke, {
17426 startTimestamp: Date.now(),
17427 endTimestamp: 0
17428 });
17429 }
17430
17431 setCurrentPaths(function (currentPaths) {
17432 return [].concat(currentPaths, [stroke]);
17433 });
17434 };
17435
17436 var handlePointerMove = function handlePointerMove(point) {
17437 if (!isDrawing) return;
17438 var currentStroke = currentPaths.slice(-1)[0];
17439
17440 var updatedStroke = _extends({}, currentStroke, {
17441 paths: [].concat(currentStroke.paths, [point])
17442 });
17443
17444 setCurrentPaths(function (currentPaths) {
17445 return [].concat(currentPaths.slice(0, -1), [updatedStroke]);
17446 });
17447 };
17448
17449 var handlePointerUp = function handlePointerUp() {
17450 var _currentPaths$slice$2, _currentPaths$slice2;
17451
17452 if (!isDrawing) {
17453 return;
17454 }
17455
17456 setIsDrawing(false);
17457
17458 if (!withTimestamp) {
17459 return;
17460 }
17461
17462 var currentStroke = (_currentPaths$slice$2 = (_currentPaths$slice2 = currentPaths.slice(-1)) == null ? void 0 : _currentPaths$slice2[0]) != null ? _currentPaths$slice$2 : null;
17463
17464 if (currentStroke === null) {
17465 return;
17466 }
17467
17468 var updatedStroke = _extends({}, currentStroke, {
17469 endTimestamp: Date.now()
17470 });
17471
17472 setCurrentPaths(function (currentPaths) {
17473 return [].concat(currentPaths.slice(0, -1), [updatedStroke]);
17474 });
17475 };
17476
17477 return react__WEBPACK_IMPORTED_MODULE_0__.createElement(Canvas, {
17478 ref: svgCanvas,
17479 id: id,
17480 width: width,
17481 height: height,
17482 className: className,
17483 canvasColor: canvasColor,
17484 backgroundImage: backgroundImage,
17485 exportWithBackgroundImage: exportWithBackgroundImage,
17486 preserveBackgroundImageAspectRatio: preserveBackgroundImageAspectRatio,
17487 allowOnlyPointerType: allowOnlyPointerType,
17488 style: style,
17489 svgStyle: svgStyle,
17490 paths: currentPaths,
17491 isDrawing: isDrawing,
17492 onPointerDown: handlePointerDown,
17493 onPointerMove: handlePointerMove,
17494 onPointerUp: handlePointerUp
17495 });
17496 });
17497
17498
17499 //# sourceMappingURL=react-sketch-canvas.esm.js.map
17500
17501
17502 /***/ }),
17503
17504 /***/ "../node_modules/style-to-object/index.js":
17505 /*!************************************************!*\
17506 !*** ../node_modules/style-to-object/index.js ***!
17507 \************************************************/
17508 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
17509
17510 var parse = __webpack_require__(/*! inline-style-parser */ "../node_modules/inline-style-parser/index.js");
17511
17512 /**
17513 * Parses inline style to object.
17514 *
17515 * @example
17516 * // returns { 'line-height': '42' }
17517 * StyleToObject('line-height: 42;');
17518 *
17519 * @param {String} style - The inline style.
17520 * @param {Function} [iterator] - The iterator function.
17521 * @return {null|Object}
17522 */
17523 function StyleToObject(style, iterator) {
17524 var output = null;
17525 if (!style || typeof style !== 'string') {
17526 return output;
17527 }
17528
17529 var declaration;
17530 var declarations = parse(style);
17531 var hasIterator = typeof iterator === 'function';
17532 var property;
17533 var value;
17534
17535 for (var i = 0, len = declarations.length; i < len; i++) {
17536 declaration = declarations[i];
17537 property = declaration.property;
17538 value = declaration.value;
17539
17540 if (hasIterator) {
17541 iterator(property, value, declaration);
17542 } else if (value) {
17543 output || (output = {});
17544 output[property] = value;
17545 }
17546 }
17547
17548 return output;
17549 }
17550
17551 module.exports = StyleToObject;
17552 module.exports["default"] = StyleToObject; // ESM support
17553
17554
17555 /***/ }),
17556
17557 /***/ "react":
17558 /*!************************!*\
17559 !*** external "React" ***!
17560 \************************/
17561 /***/ ((module) => {
17562
17563 "use strict";
17564 module.exports = React;
17565
17566 /***/ }),
17567
17568 /***/ "react-dom":
17569 /*!***************************!*\
17570 !*** external "ReactDOM" ***!
17571 \***************************/
17572 /***/ ((module) => {
17573
17574 "use strict";
17575 module.exports = ReactDOM;
17576
17577 /***/ }),
17578
17579 /***/ "@elementor/icons":
17580 /*!************************************!*\
17581 !*** external "elementorV2.icons" ***!
17582 \************************************/
17583 /***/ ((module) => {
17584
17585 "use strict";
17586 module.exports = elementorV2.icons;
17587
17588 /***/ }),
17589
17590 /***/ "@elementor/ui":
17591 /*!*********************************!*\
17592 !*** external "elementorV2.ui" ***!
17593 \*********************************/
17594 /***/ ((module) => {
17595
17596 "use strict";
17597 module.exports = elementorV2.ui;
17598
17599 /***/ }),
17600
17601 /***/ "@wordpress/i18n":
17602 /*!**************************!*\
17603 !*** external "wp.i18n" ***!
17604 \**************************/
17605 /***/ ((module) => {
17606
17607 "use strict";
17608 module.exports = wp.i18n;
17609
17610 /***/ }),
17611
17612 /***/ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js":
17613 /*!******************************************************************!*\
17614 !*** ../node_modules/@babel/runtime/helpers/arrayLikeToArray.js ***!
17615 \******************************************************************/
17616 /***/ ((module) => {
17617
17618 function _arrayLikeToArray(arr, len) {
17619 if (len == null || len > arr.length) len = arr.length;
17620 for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
17621 return arr2;
17622 }
17623 module.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
17624
17625 /***/ }),
17626
17627 /***/ "../node_modules/@babel/runtime/helpers/arrayWithHoles.js":
17628 /*!****************************************************************!*\
17629 !*** ../node_modules/@babel/runtime/helpers/arrayWithHoles.js ***!
17630 \****************************************************************/
17631 /***/ ((module) => {
17632
17633 function _arrayWithHoles(arr) {
17634 if (Array.isArray(arr)) return arr;
17635 }
17636 module.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports["default"] = module.exports;
17637
17638 /***/ }),
17639
17640 /***/ "../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js":
17641 /*!*******************************************************************!*\
17642 !*** ../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js ***!
17643 \*******************************************************************/
17644 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
17645
17646 var arrayLikeToArray = __webpack_require__(/*! ./arrayLikeToArray.js */ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js");
17647 function _arrayWithoutHoles(arr) {
17648 if (Array.isArray(arr)) return arrayLikeToArray(arr);
17649 }
17650 module.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports["default"] = module.exports;
17651
17652 /***/ }),
17653
17654 /***/ "../node_modules/@babel/runtime/helpers/assertThisInitialized.js":
17655 /*!***********************************************************************!*\
17656 !*** ../node_modules/@babel/runtime/helpers/assertThisInitialized.js ***!
17657 \***********************************************************************/
17658 /***/ ((module) => {
17659
17660 function _assertThisInitialized(self) {
17661 if (self === void 0) {
17662 throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
17663 }
17664 return self;
17665 }
17666 module.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports["default"] = module.exports;
17667
17668 /***/ }),
17669
17670 /***/ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js":
17671 /*!******************************************************************!*\
17672 !*** ../node_modules/@babel/runtime/helpers/asyncToGenerator.js ***!
17673 \******************************************************************/
17674 /***/ ((module) => {
17675
17676 function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
17677 try {
17678 var info = gen[key](arg);
17679 var value = info.value;
17680 } catch (error) {
17681 reject(error);
17682 return;
17683 }
17684 if (info.done) {
17685 resolve(value);
17686 } else {
17687 Promise.resolve(value).then(_next, _throw);
17688 }
17689 }
17690 function _asyncToGenerator(fn) {
17691 return function () {
17692 var self = this,
17693 args = arguments;
17694 return new Promise(function (resolve, reject) {
17695 var gen = fn.apply(self, args);
17696 function _next(value) {
17697 asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
17698 }
17699 function _throw(err) {
17700 asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
17701 }
17702 _next(undefined);
17703 });
17704 };
17705 }
17706 module.exports = _asyncToGenerator, module.exports.__esModule = true, module.exports["default"] = module.exports;
17707
17708 /***/ }),
17709
17710 /***/ "../node_modules/@babel/runtime/helpers/classCallCheck.js":
17711 /*!****************************************************************!*\
17712 !*** ../node_modules/@babel/runtime/helpers/classCallCheck.js ***!
17713 \****************************************************************/
17714 /***/ ((module) => {
17715
17716 function _classCallCheck(instance, Constructor) {
17717 if (!(instance instanceof Constructor)) {
17718 throw new TypeError("Cannot call a class as a function");
17719 }
17720 }
17721 module.exports = _classCallCheck, module.exports.__esModule = true, module.exports["default"] = module.exports;
17722
17723 /***/ }),
17724
17725 /***/ "../node_modules/@babel/runtime/helpers/createClass.js":
17726 /*!*************************************************************!*\
17727 !*** ../node_modules/@babel/runtime/helpers/createClass.js ***!
17728 \*************************************************************/
17729 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
17730
17731 var toPropertyKey = __webpack_require__(/*! ./toPropertyKey.js */ "../node_modules/@babel/runtime/helpers/toPropertyKey.js");
17732 function _defineProperties(target, props) {
17733 for (var i = 0; i < props.length; i++) {
17734 var descriptor = props[i];
17735 descriptor.enumerable = descriptor.enumerable || false;
17736 descriptor.configurable = true;
17737 if ("value" in descriptor) descriptor.writable = true;
17738 Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);
17739 }
17740 }
17741 function _createClass(Constructor, protoProps, staticProps) {
17742 if (protoProps) _defineProperties(Constructor.prototype, protoProps);
17743 if (staticProps) _defineProperties(Constructor, staticProps);
17744 Object.defineProperty(Constructor, "prototype", {
17745 writable: false
17746 });
17747 return Constructor;
17748 }
17749 module.exports = _createClass, module.exports.__esModule = true, module.exports["default"] = module.exports;
17750
17751 /***/ }),
17752
17753 /***/ "../node_modules/@babel/runtime/helpers/defineProperty.js":
17754 /*!****************************************************************!*\
17755 !*** ../node_modules/@babel/runtime/helpers/defineProperty.js ***!
17756 \****************************************************************/
17757 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
17758
17759 var toPropertyKey = __webpack_require__(/*! ./toPropertyKey.js */ "../node_modules/@babel/runtime/helpers/toPropertyKey.js");
17760 function _defineProperty(obj, key, value) {
17761 key = toPropertyKey(key);
17762 if (key in obj) {
17763 Object.defineProperty(obj, key, {
17764 value: value,
17765 enumerable: true,
17766 configurable: true,
17767 writable: true
17768 });
17769 } else {
17770 obj[key] = value;
17771 }
17772 return obj;
17773 }
17774 module.exports = _defineProperty, module.exports.__esModule = true, module.exports["default"] = module.exports;
17775
17776 /***/ }),
17777
17778 /***/ "../node_modules/@babel/runtime/helpers/extends.js":
17779 /*!*********************************************************!*\
17780 !*** ../node_modules/@babel/runtime/helpers/extends.js ***!
17781 \*********************************************************/
17782 /***/ ((module) => {
17783
17784 function _extends() {
17785 module.exports = _extends = Object.assign ? Object.assign.bind() : function (target) {
17786 for (var i = 1; i < arguments.length; i++) {
17787 var source = arguments[i];
17788 for (var key in source) {
17789 if (Object.prototype.hasOwnProperty.call(source, key)) {
17790 target[key] = source[key];
17791 }
17792 }
17793 }
17794 return target;
17795 }, module.exports.__esModule = true, module.exports["default"] = module.exports;
17796 return _extends.apply(this, arguments);
17797 }
17798 module.exports = _extends, module.exports.__esModule = true, module.exports["default"] = module.exports;
17799
17800 /***/ }),
17801
17802 /***/ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js":
17803 /*!****************************************************************!*\
17804 !*** ../node_modules/@babel/runtime/helpers/getPrototypeOf.js ***!
17805 \****************************************************************/
17806 /***/ ((module) => {
17807
17808 function _getPrototypeOf(o) {
17809 module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {
17810 return o.__proto__ || Object.getPrototypeOf(o);
17811 }, module.exports.__esModule = true, module.exports["default"] = module.exports;
17812 return _getPrototypeOf(o);
17813 }
17814 module.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports;
17815
17816 /***/ }),
17817
17818 /***/ "../node_modules/@babel/runtime/helpers/inherits.js":
17819 /*!**********************************************************!*\
17820 !*** ../node_modules/@babel/runtime/helpers/inherits.js ***!
17821 \**********************************************************/
17822 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
17823
17824 var setPrototypeOf = __webpack_require__(/*! ./setPrototypeOf.js */ "../node_modules/@babel/runtime/helpers/setPrototypeOf.js");
17825 function _inherits(subClass, superClass) {
17826 if (typeof superClass !== "function" && superClass !== null) {
17827 throw new TypeError("Super expression must either be null or a function");
17828 }
17829 subClass.prototype = Object.create(superClass && superClass.prototype, {
17830 constructor: {
17831 value: subClass,
17832 writable: true,
17833 configurable: true
17834 }
17835 });
17836 Object.defineProperty(subClass, "prototype", {
17837 writable: false
17838 });
17839 if (superClass) setPrototypeOf(subClass, superClass);
17840 }
17841 module.exports = _inherits, module.exports.__esModule = true, module.exports["default"] = module.exports;
17842
17843 /***/ }),
17844
17845 /***/ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js":
17846 /*!***********************************************************************!*\
17847 !*** ../node_modules/@babel/runtime/helpers/interopRequireDefault.js ***!
17848 \***********************************************************************/
17849 /***/ ((module) => {
17850
17851 function _interopRequireDefault(obj) {
17852 return obj && obj.__esModule ? obj : {
17853 "default": obj
17854 };
17855 }
17856 module.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports["default"] = module.exports;
17857
17858 /***/ }),
17859
17860 /***/ "../node_modules/@babel/runtime/helpers/iterableToArray.js":
17861 /*!*****************************************************************!*\
17862 !*** ../node_modules/@babel/runtime/helpers/iterableToArray.js ***!
17863 \*****************************************************************/
17864 /***/ ((module) => {
17865
17866 function _iterableToArray(iter) {
17867 if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
17868 }
17869 module.exports = _iterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
17870
17871 /***/ }),
17872
17873 /***/ "../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js":
17874 /*!**********************************************************************!*\
17875 !*** ../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js ***!
17876 \**********************************************************************/
17877 /***/ ((module) => {
17878
17879 function _iterableToArrayLimit(r, l) {
17880 var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
17881 if (null != t) {
17882 var e,
17883 n,
17884 i,
17885 u,
17886 a = [],
17887 f = !0,
17888 o = !1;
17889 try {
17890 if (i = (t = t.call(r)).next, 0 === l) {
17891 if (Object(t) !== t) return;
17892 f = !1;
17893 } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
17894 } catch (r) {
17895 o = !0, n = r;
17896 } finally {
17897 try {
17898 if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
17899 } finally {
17900 if (o) throw n;
17901 }
17902 }
17903 return a;
17904 }
17905 }
17906 module.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports["default"] = module.exports;
17907
17908 /***/ }),
17909
17910 /***/ "../node_modules/@babel/runtime/helpers/nonIterableRest.js":
17911 /*!*****************************************************************!*\
17912 !*** ../node_modules/@babel/runtime/helpers/nonIterableRest.js ***!
17913 \*****************************************************************/
17914 /***/ ((module) => {
17915
17916 function _nonIterableRest() {
17917 throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
17918 }
17919 module.exports = _nonIterableRest, module.exports.__esModule = true, module.exports["default"] = module.exports;
17920
17921 /***/ }),
17922
17923 /***/ "../node_modules/@babel/runtime/helpers/nonIterableSpread.js":
17924 /*!*******************************************************************!*\
17925 !*** ../node_modules/@babel/runtime/helpers/nonIterableSpread.js ***!
17926 \*******************************************************************/
17927 /***/ ((module) => {
17928
17929 function _nonIterableSpread() {
17930 throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
17931 }
17932 module.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports["default"] = module.exports;
17933
17934 /***/ }),
17935
17936 /***/ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js":
17937 /*!*************************************************************************!*\
17938 !*** ../node_modules/@babel/runtime/helpers/objectWithoutProperties.js ***!
17939 \*************************************************************************/
17940 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
17941
17942 var objectWithoutPropertiesLoose = __webpack_require__(/*! ./objectWithoutPropertiesLoose.js */ "../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js");
17943 function _objectWithoutProperties(source, excluded) {
17944 if (source == null) return {};
17945 var target = objectWithoutPropertiesLoose(source, excluded);
17946 var key, i;
17947 if (Object.getOwnPropertySymbols) {
17948 var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
17949 for (i = 0; i < sourceSymbolKeys.length; i++) {
17950 key = sourceSymbolKeys[i];
17951 if (excluded.indexOf(key) >= 0) continue;
17952 if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
17953 target[key] = source[key];
17954 }
17955 }
17956 return target;
17957 }
17958 module.exports = _objectWithoutProperties, module.exports.__esModule = true, module.exports["default"] = module.exports;
17959
17960 /***/ }),
17961
17962 /***/ "../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js":
17963 /*!******************************************************************************!*\
17964 !*** ../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js ***!
17965 \******************************************************************************/
17966 /***/ ((module) => {
17967
17968 function _objectWithoutPropertiesLoose(source, excluded) {
17969 if (source == null) return {};
17970 var target = {};
17971 var sourceKeys = Object.keys(source);
17972 var key, i;
17973 for (i = 0; i < sourceKeys.length; i++) {
17974 key = sourceKeys[i];
17975 if (excluded.indexOf(key) >= 0) continue;
17976 target[key] = source[key];
17977 }
17978 return target;
17979 }
17980 module.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports["default"] = module.exports;
17981
17982 /***/ }),
17983
17984 /***/ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js":
17985 /*!***************************************************************************!*\
17986 !*** ../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js ***!
17987 \***************************************************************************/
17988 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
17989
17990 var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]);
17991 var assertThisInitialized = __webpack_require__(/*! ./assertThisInitialized.js */ "../node_modules/@babel/runtime/helpers/assertThisInitialized.js");
17992 function _possibleConstructorReturn(self, call) {
17993 if (call && (_typeof(call) === "object" || typeof call === "function")) {
17994 return call;
17995 } else if (call !== void 0) {
17996 throw new TypeError("Derived constructors may only return object or undefined");
17997 }
17998 return assertThisInitialized(self);
17999 }
18000 module.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports["default"] = module.exports;
18001
18002 /***/ }),
18003
18004 /***/ "../node_modules/@babel/runtime/helpers/regeneratorRuntime.js":
18005 /*!********************************************************************!*\
18006 !*** ../node_modules/@babel/runtime/helpers/regeneratorRuntime.js ***!
18007 \********************************************************************/
18008 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
18009
18010 var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]);
18011 function _regeneratorRuntime() {
18012 "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
18013 module.exports = _regeneratorRuntime = function _regeneratorRuntime() {
18014 return e;
18015 }, module.exports.__esModule = true, module.exports["default"] = module.exports;
18016 var t,
18017 e = {},
18018 r = Object.prototype,
18019 n = r.hasOwnProperty,
18020 o = Object.defineProperty || function (t, e, r) {
18021 t[e] = r.value;
18022 },
18023 i = "function" == typeof Symbol ? Symbol : {},
18024 a = i.iterator || "@@iterator",
18025 c = i.asyncIterator || "@@asyncIterator",
18026 u = i.toStringTag || "@@toStringTag";
18027 function define(t, e, r) {
18028 return Object.defineProperty(t, e, {
18029 value: r,
18030 enumerable: !0,
18031 configurable: !0,
18032 writable: !0
18033 }), t[e];
18034 }
18035 try {
18036 define({}, "");
18037 } catch (t) {
18038 define = function define(t, e, r) {
18039 return t[e] = r;
18040 };
18041 }
18042 function wrap(t, e, r, n) {
18043 var i = e && e.prototype instanceof Generator ? e : Generator,
18044 a = Object.create(i.prototype),
18045 c = new Context(n || []);
18046 return o(a, "_invoke", {
18047 value: makeInvokeMethod(t, r, c)
18048 }), a;
18049 }
18050 function tryCatch(t, e, r) {
18051 try {
18052 return {
18053 type: "normal",
18054 arg: t.call(e, r)
18055 };
18056 } catch (t) {
18057 return {
18058 type: "throw",
18059 arg: t
18060 };
18061 }
18062 }
18063 e.wrap = wrap;
18064 var h = "suspendedStart",
18065 l = "suspendedYield",
18066 f = "executing",
18067 s = "completed",
18068 y = {};
18069 function Generator() {}
18070 function GeneratorFunction() {}
18071 function GeneratorFunctionPrototype() {}
18072 var p = {};
18073 define(p, a, function () {
18074 return this;
18075 });
18076 var d = Object.getPrototypeOf,
18077 v = d && d(d(values([])));
18078 v && v !== r && n.call(v, a) && (p = v);
18079 var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);
18080 function defineIteratorMethods(t) {
18081 ["next", "throw", "return"].forEach(function (e) {
18082 define(t, e, function (t) {
18083 return this._invoke(e, t);
18084 });
18085 });
18086 }
18087 function AsyncIterator(t, e) {
18088 function invoke(r, o, i, a) {
18089 var c = tryCatch(t[r], t, o);
18090 if ("throw" !== c.type) {
18091 var u = c.arg,
18092 h = u.value;
18093 return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) {
18094 invoke("next", t, i, a);
18095 }, function (t) {
18096 invoke("throw", t, i, a);
18097 }) : e.resolve(h).then(function (t) {
18098 u.value = t, i(u);
18099 }, function (t) {
18100 return invoke("throw", t, i, a);
18101 });
18102 }
18103 a(c.arg);
18104 }
18105 var r;
18106 o(this, "_invoke", {
18107 value: function value(t, n) {
18108 function callInvokeWithMethodAndArg() {
18109 return new e(function (e, r) {
18110 invoke(t, n, e, r);
18111 });
18112 }
18113 return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();
18114 }
18115 });
18116 }
18117 function makeInvokeMethod(e, r, n) {
18118 var o = h;
18119 return function (i, a) {
18120 if (o === f) throw new Error("Generator is already running");
18121 if (o === s) {
18122 if ("throw" === i) throw a;
18123 return {
18124 value: t,
18125 done: !0
18126 };
18127 }
18128 for (n.method = i, n.arg = a;;) {
18129 var c = n.delegate;
18130 if (c) {
18131 var u = maybeInvokeDelegate(c, n);
18132 if (u) {
18133 if (u === y) continue;
18134 return u;
18135 }
18136 }
18137 if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) {
18138 if (o === h) throw o = s, n.arg;
18139 n.dispatchException(n.arg);
18140 } else "return" === n.method && n.abrupt("return", n.arg);
18141 o = f;
18142 var p = tryCatch(e, r, n);
18143 if ("normal" === p.type) {
18144 if (o = n.done ? s : l, p.arg === y) continue;
18145 return {
18146 value: p.arg,
18147 done: n.done
18148 };
18149 }
18150 "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg);
18151 }
18152 };
18153 }
18154 function maybeInvokeDelegate(e, r) {
18155 var n = r.method,
18156 o = e.iterator[n];
18157 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;
18158 var i = tryCatch(o, e.iterator, r.arg);
18159 if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y;
18160 var a = i.arg;
18161 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);
18162 }
18163 function pushTryEntry(t) {
18164 var e = {
18165 tryLoc: t[0]
18166 };
18167 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);
18168 }
18169 function resetTryEntry(t) {
18170 var e = t.completion || {};
18171 e.type = "normal", delete e.arg, t.completion = e;
18172 }
18173 function Context(t) {
18174 this.tryEntries = [{
18175 tryLoc: "root"
18176 }], t.forEach(pushTryEntry, this), this.reset(!0);
18177 }
18178 function values(e) {
18179 if (e || "" === e) {
18180 var r = e[a];
18181 if (r) return r.call(e);
18182 if ("function" == typeof e.next) return e;
18183 if (!isNaN(e.length)) {
18184 var o = -1,
18185 i = function next() {
18186 for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;
18187 return next.value = t, next.done = !0, next;
18188 };
18189 return i.next = i;
18190 }
18191 }
18192 throw new TypeError(_typeof(e) + " is not iterable");
18193 }
18194 return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", {
18195 value: GeneratorFunctionPrototype,
18196 configurable: !0
18197 }), o(GeneratorFunctionPrototype, "constructor", {
18198 value: GeneratorFunction,
18199 configurable: !0
18200 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) {
18201 var e = "function" == typeof t && t.constructor;
18202 return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name));
18203 }, e.mark = function (t) {
18204 return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t;
18205 }, e.awrap = function (t) {
18206 return {
18207 __await: t
18208 };
18209 }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {
18210 return this;
18211 }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {
18212 void 0 === i && (i = Promise);
18213 var a = new AsyncIterator(wrap(t, r, n, o), i);
18214 return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {
18215 return t.done ? t.value : a.next();
18216 });
18217 }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () {
18218 return this;
18219 }), define(g, "toString", function () {
18220 return "[object Generator]";
18221 }), e.keys = function (t) {
18222 var e = Object(t),
18223 r = [];
18224 for (var n in e) r.push(n);
18225 return r.reverse(), function next() {
18226 for (; r.length;) {
18227 var t = r.pop();
18228 if (t in e) return next.value = t, next.done = !1, next;
18229 }
18230 return next.done = !0, next;
18231 };
18232 }, e.values = values, Context.prototype = {
18233 constructor: Context,
18234 reset: function reset(e) {
18235 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);
18236 },
18237 stop: function stop() {
18238 this.done = !0;
18239 var t = this.tryEntries[0].completion;
18240 if ("throw" === t.type) throw t.arg;
18241 return this.rval;
18242 },
18243 dispatchException: function dispatchException(e) {
18244 if (this.done) throw e;
18245 var r = this;
18246 function handle(n, o) {
18247 return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o;
18248 }
18249 for (var o = this.tryEntries.length - 1; o >= 0; --o) {
18250 var i = this.tryEntries[o],
18251 a = i.completion;
18252 if ("root" === i.tryLoc) return handle("end");
18253 if (i.tryLoc <= this.prev) {
18254 var c = n.call(i, "catchLoc"),
18255 u = n.call(i, "finallyLoc");
18256 if (c && u) {
18257 if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);
18258 if (this.prev < i.finallyLoc) return handle(i.finallyLoc);
18259 } else if (c) {
18260 if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);
18261 } else {
18262 if (!u) throw new Error("try statement without catch or finally");
18263 if (this.prev < i.finallyLoc) return handle(i.finallyLoc);
18264 }
18265 }
18266 }
18267 },
18268 abrupt: function abrupt(t, e) {
18269 for (var r = this.tryEntries.length - 1; r >= 0; --r) {
18270 var o = this.tryEntries[r];
18271 if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) {
18272 var i = o;
18273 break;
18274 }
18275 }
18276 i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);
18277 var a = i ? i.completion : {};
18278 return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a);
18279 },
18280 complete: function complete(t, e) {
18281 if ("throw" === t.type) throw t.arg;
18282 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;
18283 },
18284 finish: function finish(t) {
18285 for (var e = this.tryEntries.length - 1; e >= 0; --e) {
18286 var r = this.tryEntries[e];
18287 if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;
18288 }
18289 },
18290 "catch": function _catch(t) {
18291 for (var e = this.tryEntries.length - 1; e >= 0; --e) {
18292 var r = this.tryEntries[e];
18293 if (r.tryLoc === t) {
18294 var n = r.completion;
18295 if ("throw" === n.type) {
18296 var o = n.arg;
18297 resetTryEntry(r);
18298 }
18299 return o;
18300 }
18301 }
18302 throw new Error("illegal catch attempt");
18303 },
18304 delegateYield: function delegateYield(e, r, n) {
18305 return this.delegate = {
18306 iterator: values(e),
18307 resultName: r,
18308 nextLoc: n
18309 }, "next" === this.method && (this.arg = t), y;
18310 }
18311 }, e;
18312 }
18313 module.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports["default"] = module.exports;
18314
18315 /***/ }),
18316
18317 /***/ "../node_modules/@babel/runtime/helpers/setPrototypeOf.js":
18318 /*!****************************************************************!*\
18319 !*** ../node_modules/@babel/runtime/helpers/setPrototypeOf.js ***!
18320 \****************************************************************/
18321 /***/ ((module) => {
18322
18323 function _setPrototypeOf(o, p) {
18324 module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {
18325 o.__proto__ = p;
18326 return o;
18327 }, module.exports.__esModule = true, module.exports["default"] = module.exports;
18328 return _setPrototypeOf(o, p);
18329 }
18330 module.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports;
18331
18332 /***/ }),
18333
18334 /***/ "../node_modules/@babel/runtime/helpers/slicedToArray.js":
18335 /*!***************************************************************!*\
18336 !*** ../node_modules/@babel/runtime/helpers/slicedToArray.js ***!
18337 \***************************************************************/
18338 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
18339
18340 var arrayWithHoles = __webpack_require__(/*! ./arrayWithHoles.js */ "../node_modules/@babel/runtime/helpers/arrayWithHoles.js");
18341 var iterableToArrayLimit = __webpack_require__(/*! ./iterableToArrayLimit.js */ "../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js");
18342 var unsupportedIterableToArray = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js");
18343 var nonIterableRest = __webpack_require__(/*! ./nonIterableRest.js */ "../node_modules/@babel/runtime/helpers/nonIterableRest.js");
18344 function _slicedToArray(arr, i) {
18345 return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();
18346 }
18347 module.exports = _slicedToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
18348
18349 /***/ }),
18350
18351 /***/ "../node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js":
18352 /*!***********************************************************************!*\
18353 !*** ../node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js ***!
18354 \***********************************************************************/
18355 /***/ ((module) => {
18356
18357 function _taggedTemplateLiteral(strings, raw) {
18358 if (!raw) {
18359 raw = strings.slice(0);
18360 }
18361 return Object.freeze(Object.defineProperties(strings, {
18362 raw: {
18363 value: Object.freeze(raw)
18364 }
18365 }));
18366 }
18367 module.exports = _taggedTemplateLiteral, module.exports.__esModule = true, module.exports["default"] = module.exports;
18368
18369 /***/ }),
18370
18371 /***/ "../node_modules/@babel/runtime/helpers/toConsumableArray.js":
18372 /*!*******************************************************************!*\
18373 !*** ../node_modules/@babel/runtime/helpers/toConsumableArray.js ***!
18374 \*******************************************************************/
18375 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
18376
18377 var arrayWithoutHoles = __webpack_require__(/*! ./arrayWithoutHoles.js */ "../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js");
18378 var iterableToArray = __webpack_require__(/*! ./iterableToArray.js */ "../node_modules/@babel/runtime/helpers/iterableToArray.js");
18379 var unsupportedIterableToArray = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js");
18380 var nonIterableSpread = __webpack_require__(/*! ./nonIterableSpread.js */ "../node_modules/@babel/runtime/helpers/nonIterableSpread.js");
18381 function _toConsumableArray(arr) {
18382 return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();
18383 }
18384 module.exports = _toConsumableArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
18385
18386 /***/ }),
18387
18388 /***/ "../node_modules/@babel/runtime/helpers/toPrimitive.js":
18389 /*!*************************************************************!*\
18390 !*** ../node_modules/@babel/runtime/helpers/toPrimitive.js ***!
18391 \*************************************************************/
18392 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
18393
18394 var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]);
18395 function toPrimitive(t, r) {
18396 if ("object" != _typeof(t) || !t) return t;
18397 var e = t[Symbol.toPrimitive];
18398 if (void 0 !== e) {
18399 var i = e.call(t, r || "default");
18400 if ("object" != _typeof(i)) return i;
18401 throw new TypeError("@@toPrimitive must return a primitive value.");
18402 }
18403 return ("string" === r ? String : Number)(t);
18404 }
18405 module.exports = toPrimitive, module.exports.__esModule = true, module.exports["default"] = module.exports;
18406
18407 /***/ }),
18408
18409 /***/ "../node_modules/@babel/runtime/helpers/toPropertyKey.js":
18410 /*!***************************************************************!*\
18411 !*** ../node_modules/@babel/runtime/helpers/toPropertyKey.js ***!
18412 \***************************************************************/
18413 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
18414
18415 var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]);
18416 var toPrimitive = __webpack_require__(/*! ./toPrimitive.js */ "../node_modules/@babel/runtime/helpers/toPrimitive.js");
18417 function toPropertyKey(t) {
18418 var i = toPrimitive(t, "string");
18419 return "symbol" == _typeof(i) ? i : String(i);
18420 }
18421 module.exports = toPropertyKey, module.exports.__esModule = true, module.exports["default"] = module.exports;
18422
18423 /***/ }),
18424
18425 /***/ "../node_modules/@babel/runtime/helpers/typeof.js":
18426 /*!********************************************************!*\
18427 !*** ../node_modules/@babel/runtime/helpers/typeof.js ***!
18428 \********************************************************/
18429 /***/ ((module) => {
18430
18431 function _typeof(o) {
18432 "@babel/helpers - typeof";
18433
18434 return (module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
18435 return typeof o;
18436 } : function (o) {
18437 return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
18438 }, module.exports.__esModule = true, module.exports["default"] = module.exports), _typeof(o);
18439 }
18440 module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports;
18441
18442 /***/ }),
18443
18444 /***/ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js":
18445 /*!****************************************************************************!*\
18446 !*** ../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js ***!
18447 \****************************************************************************/
18448 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
18449
18450 var arrayLikeToArray = __webpack_require__(/*! ./arrayLikeToArray.js */ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js");
18451 function _unsupportedIterableToArray(o, minLen) {
18452 if (!o) return;
18453 if (typeof o === "string") return arrayLikeToArray(o, minLen);
18454 var n = Object.prototype.toString.call(o).slice(8, -1);
18455 if (n === "Object" && o.constructor) n = o.constructor.name;
18456 if (n === "Map" || n === "Set") return Array.from(o);
18457 if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);
18458 }
18459 module.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
18460
18461 /***/ }),
18462
18463 /***/ "../node_modules/@babel/runtime/regenerator/index.js":
18464 /*!***********************************************************!*\
18465 !*** ../node_modules/@babel/runtime/regenerator/index.js ***!
18466 \***********************************************************/
18467 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
18468
18469 // TODO(Babel 8): Remove this file.
18470
18471 var runtime = __webpack_require__(/*! ../helpers/regeneratorRuntime */ "../node_modules/@babel/runtime/helpers/regeneratorRuntime.js")();
18472 module.exports = runtime;
18473
18474 // Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=
18475 try {
18476 regeneratorRuntime = runtime;
18477 } catch (accidentalStrictMode) {
18478 if (typeof globalThis === "object") {
18479 globalThis.regeneratorRuntime = runtime;
18480 } else {
18481 Function("r", "regeneratorRuntime = r")(runtime);
18482 }
18483 }
18484
18485
18486 /***/ }),
18487
18488 /***/ "../node_modules/bail/index.js":
18489 /*!*************************************!*\
18490 !*** ../node_modules/bail/index.js ***!
18491 \*************************************/
18492 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
18493
18494 "use strict";
18495 __webpack_require__.r(__webpack_exports__);
18496 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
18497 /* harmony export */ bail: () => (/* binding */ bail)
18498 /* harmony export */ });
18499 /**
18500 * Throw a given error.
18501 *
18502 * @param {Error|null|undefined} [error]
18503 * Maybe error.
18504 * @returns {asserts error is null|undefined}
18505 */
18506 function bail(error) {
18507 if (error) {
18508 throw error
18509 }
18510 }
18511
18512
18513 /***/ }),
18514
18515 /***/ "../node_modules/comma-separated-tokens/index.js":
18516 /*!*******************************************************!*\
18517 !*** ../node_modules/comma-separated-tokens/index.js ***!
18518 \*******************************************************/
18519 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
18520
18521 "use strict";
18522 __webpack_require__.r(__webpack_exports__);
18523 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
18524 /* harmony export */ parse: () => (/* binding */ parse),
18525 /* harmony export */ stringify: () => (/* binding */ stringify)
18526 /* harmony export */ });
18527 /**
18528 * @typedef Options
18529 * Configuration for `stringify`.
18530 * @property {boolean} [padLeft=true]
18531 * Whether to pad a space before a token.
18532 * @property {boolean} [padRight=false]
18533 * Whether to pad a space after a token.
18534 */
18535
18536 /**
18537 * @typedef {Options} StringifyOptions
18538 * Please use `StringifyOptions` instead.
18539 */
18540
18541 /**
18542 * Parse comma-separated tokens to an array.
18543 *
18544 * @param {string} value
18545 * Comma-separated tokens.
18546 * @returns {Array<string>}
18547 * List of tokens.
18548 */
18549 function parse(value) {
18550 /** @type {Array<string>} */
18551 const tokens = []
18552 const input = String(value || '')
18553 let index = input.indexOf(',')
18554 let start = 0
18555 /** @type {boolean} */
18556 let end = false
18557
18558 while (!end) {
18559 if (index === -1) {
18560 index = input.length
18561 end = true
18562 }
18563
18564 const token = input.slice(start, index).trim()
18565
18566 if (token || !end) {
18567 tokens.push(token)
18568 }
18569
18570 start = index + 1
18571 index = input.indexOf(',', start)
18572 }
18573
18574 return tokens
18575 }
18576
18577 /**
18578 * Serialize an array of strings or numbers to comma-separated tokens.
18579 *
18580 * @param {Array<string|number>} values
18581 * List of tokens.
18582 * @param {Options} [options]
18583 * Configuration for `stringify` (optional).
18584 * @returns {string}
18585 * Comma-separated tokens.
18586 */
18587 function stringify(values, options) {
18588 const settings = options || {}
18589
18590 // Ensure the last empty entry is seen.
18591 const input = values[values.length - 1] === '' ? [...values, ''] : values
18592
18593 return input
18594 .join(
18595 (settings.padRight ? ' ' : '') +
18596 ',' +
18597 (settings.padLeft === false ? '' : ' ')
18598 )
18599 .trim()
18600 }
18601
18602
18603 /***/ }),
18604
18605 /***/ "../node_modules/decode-named-character-reference/index.dom.js":
18606 /*!*********************************************************************!*\
18607 !*** ../node_modules/decode-named-character-reference/index.dom.js ***!
18608 \*********************************************************************/
18609 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
18610
18611 "use strict";
18612 __webpack_require__.r(__webpack_exports__);
18613 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
18614 /* harmony export */ decodeNamedCharacterReference: () => (/* binding */ decodeNamedCharacterReference)
18615 /* harmony export */ });
18616 /// <reference lib="dom" />
18617
18618 /* eslint-env browser */
18619
18620 const element = document.createElement('i')
18621
18622 /**
18623 * @param {string} value
18624 * @returns {string|false}
18625 */
18626 function decodeNamedCharacterReference(value) {
18627 const characterReference = '&' + value + ';'
18628 element.innerHTML = characterReference
18629 const char = element.textContent
18630
18631 // Some named character references do not require the closing semicolon
18632 // (`&not`, for instance), which leads to situations where parsing the assumed
18633 // named reference of `&notit;` will result in the string `¬it;`.
18634 // When we encounter a trailing semicolon after parsing, and the character
18635 // reference to decode was not a semicolon (`&semi;`), we can assume that the
18636 // matching was not complete.
18637 // @ts-expect-error: TypeScript is wrong that `textContent` on elements can
18638 // yield `null`.
18639 if (char.charCodeAt(char.length - 1) === 59 /* `;` */ && value !== 'semi') {
18640 return false
18641 }
18642
18643 // If the decoded string is equal to the input, the character reference was
18644 // not valid.
18645 // @ts-expect-error: TypeScript is wrong that `textContent` on elements can
18646 // yield `null`.
18647 return char === characterReference ? false : char
18648 }
18649
18650
18651 /***/ }),
18652
18653 /***/ "../node_modules/dequal/dist/index.mjs":
18654 /*!*********************************************!*\
18655 !*** ../node_modules/dequal/dist/index.mjs ***!
18656 \*********************************************/
18657 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
18658
18659 "use strict";
18660 __webpack_require__.r(__webpack_exports__);
18661 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
18662 /* harmony export */ dequal: () => (/* binding */ dequal)
18663 /* harmony export */ });
18664 var has = Object.prototype.hasOwnProperty;
18665
18666 function find(iter, tar, key) {
18667 for (key of iter.keys()) {
18668 if (dequal(key, tar)) return key;
18669 }
18670 }
18671
18672 function dequal(foo, bar) {
18673 var ctor, len, tmp;
18674 if (foo === bar) return true;
18675
18676 if (foo && bar && (ctor=foo.constructor) === bar.constructor) {
18677 if (ctor === Date) return foo.getTime() === bar.getTime();
18678 if (ctor === RegExp) return foo.toString() === bar.toString();
18679
18680 if (ctor === Array) {
18681 if ((len=foo.length) === bar.length) {
18682 while (len-- && dequal(foo[len], bar[len]));
18683 }
18684 return len === -1;
18685 }
18686
18687 if (ctor === Set) {
18688 if (foo.size !== bar.size) {
18689 return false;
18690 }
18691 for (len of foo) {
18692 tmp = len;
18693 if (tmp && typeof tmp === 'object') {
18694 tmp = find(bar, tmp);
18695 if (!tmp) return false;
18696 }
18697 if (!bar.has(tmp)) return false;
18698 }
18699 return true;
18700 }
18701
18702 if (ctor === Map) {
18703 if (foo.size !== bar.size) {
18704 return false;
18705 }
18706 for (len of foo) {
18707 tmp = len[0];
18708 if (tmp && typeof tmp === 'object') {
18709 tmp = find(bar, tmp);
18710 if (!tmp) return false;
18711 }
18712 if (!dequal(len[1], bar.get(tmp))) {
18713 return false;
18714 }
18715 }
18716 return true;
18717 }
18718
18719 if (ctor === ArrayBuffer) {
18720 foo = new Uint8Array(foo);
18721 bar = new Uint8Array(bar);
18722 } else if (ctor === DataView) {
18723 if ((len=foo.byteLength) === bar.byteLength) {
18724 while (len-- && foo.getInt8(len) === bar.getInt8(len));
18725 }
18726 return len === -1;
18727 }
18728
18729 if (ArrayBuffer.isView(foo)) {
18730 if ((len=foo.byteLength) === bar.byteLength) {
18731 while (len-- && foo[len] === bar[len]);
18732 }
18733 return len === -1;
18734 }
18735
18736 if (!ctor || typeof foo === 'object') {
18737 len = 0;
18738 for (ctor in foo) {
18739 if (has.call(foo, ctor) && ++len && !has.call(bar, ctor)) return false;
18740 if (!(ctor in bar) || !dequal(foo[ctor], bar[ctor])) return false;
18741 }
18742 return Object.keys(bar).length === len;
18743 }
18744 }
18745
18746 return foo !== foo && bar !== bar;
18747 }
18748
18749
18750 /***/ }),
18751
18752 /***/ "../node_modules/diff/lib/index.mjs":
18753 /*!******************************************!*\
18754 !*** ../node_modules/diff/lib/index.mjs ***!
18755 \******************************************/
18756 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
18757
18758 "use strict";
18759 __webpack_require__.r(__webpack_exports__);
18760 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
18761 /* harmony export */ Diff: () => (/* binding */ Diff),
18762 /* harmony export */ applyPatch: () => (/* binding */ applyPatch),
18763 /* harmony export */ applyPatches: () => (/* binding */ applyPatches),
18764 /* harmony export */ canonicalize: () => (/* binding */ canonicalize),
18765 /* harmony export */ convertChangesToDMP: () => (/* binding */ convertChangesToDMP),
18766 /* harmony export */ convertChangesToXML: () => (/* binding */ convertChangesToXML),
18767 /* harmony export */ createPatch: () => (/* binding */ createPatch),
18768 /* harmony export */ createTwoFilesPatch: () => (/* binding */ createTwoFilesPatch),
18769 /* harmony export */ diffArrays: () => (/* binding */ diffArrays),
18770 /* harmony export */ diffChars: () => (/* binding */ diffChars),
18771 /* harmony export */ diffCss: () => (/* binding */ diffCss),
18772 /* harmony export */ diffJson: () => (/* binding */ diffJson),
18773 /* harmony export */ diffLines: () => (/* binding */ diffLines),
18774 /* harmony export */ diffSentences: () => (/* binding */ diffSentences),
18775 /* harmony export */ diffTrimmedLines: () => (/* binding */ diffTrimmedLines),
18776 /* harmony export */ diffWords: () => (/* binding */ diffWords),
18777 /* harmony export */ diffWordsWithSpace: () => (/* binding */ diffWordsWithSpace),
18778 /* harmony export */ merge: () => (/* binding */ merge),
18779 /* harmony export */ parsePatch: () => (/* binding */ parsePatch),
18780 /* harmony export */ structuredPatch: () => (/* binding */ structuredPatch)
18781 /* harmony export */ });
18782 function Diff() {}
18783 Diff.prototype = {
18784 diff: function diff(oldString, newString) {
18785 var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
18786 var callback = options.callback;
18787
18788 if (typeof options === 'function') {
18789 callback = options;
18790 options = {};
18791 }
18792
18793 this.options = options;
18794 var self = this;
18795
18796 function done(value) {
18797 if (callback) {
18798 setTimeout(function () {
18799 callback(undefined, value);
18800 }, 0);
18801 return true;
18802 } else {
18803 return value;
18804 }
18805 } // Allow subclasses to massage the input prior to running
18806
18807
18808 oldString = this.castInput(oldString);
18809 newString = this.castInput(newString);
18810 oldString = this.removeEmpty(this.tokenize(oldString));
18811 newString = this.removeEmpty(this.tokenize(newString));
18812 var newLen = newString.length,
18813 oldLen = oldString.length;
18814 var editLength = 1;
18815 var maxEditLength = newLen + oldLen;
18816
18817 if (options.maxEditLength) {
18818 maxEditLength = Math.min(maxEditLength, options.maxEditLength);
18819 }
18820
18821 var bestPath = [{
18822 newPos: -1,
18823 components: []
18824 }]; // Seed editLength = 0, i.e. the content starts with the same values
18825
18826 var oldPos = this.extractCommon(bestPath[0], newString, oldString, 0);
18827
18828 if (bestPath[0].newPos + 1 >= newLen && oldPos + 1 >= oldLen) {
18829 // Identity per the equality and tokenizer
18830 return done([{
18831 value: this.join(newString),
18832 count: newString.length
18833 }]);
18834 } // Main worker method. checks all permutations of a given edit length for acceptance.
18835
18836
18837 function execEditLength() {
18838 for (var diagonalPath = -1 * editLength; diagonalPath <= editLength; diagonalPath += 2) {
18839 var basePath = void 0;
18840
18841 var addPath = bestPath[diagonalPath - 1],
18842 removePath = bestPath[diagonalPath + 1],
18843 _oldPos = (removePath ? removePath.newPos : 0) - diagonalPath;
18844
18845 if (addPath) {
18846 // No one else is going to attempt to use this value, clear it
18847 bestPath[diagonalPath - 1] = undefined;
18848 }
18849
18850 var canAdd = addPath && addPath.newPos + 1 < newLen,
18851 canRemove = removePath && 0 <= _oldPos && _oldPos < oldLen;
18852
18853 if (!canAdd && !canRemove) {
18854 // If this path is a terminal then prune
18855 bestPath[diagonalPath] = undefined;
18856 continue;
18857 } // Select the diagonal that we want to branch from. We select the prior
18858 // path whose position in the new string is the farthest from the origin
18859 // and does not pass the bounds of the diff graph
18860
18861
18862 if (!canAdd || canRemove && addPath.newPos < removePath.newPos) {
18863 basePath = clonePath(removePath);
18864 self.pushComponent(basePath.components, undefined, true);
18865 } else {
18866 basePath = addPath; // No need to clone, we've pulled it from the list
18867
18868 basePath.newPos++;
18869 self.pushComponent(basePath.components, true, undefined);
18870 }
18871
18872 _oldPos = self.extractCommon(basePath, newString, oldString, diagonalPath); // If we have hit the end of both strings, then we are done
18873
18874 if (basePath.newPos + 1 >= newLen && _oldPos + 1 >= oldLen) {
18875 return done(buildValues(self, basePath.components, newString, oldString, self.useLongestToken));
18876 } else {
18877 // Otherwise track this path as a potential candidate and continue.
18878 bestPath[diagonalPath] = basePath;
18879 }
18880 }
18881
18882 editLength++;
18883 } // Performs the length of edit iteration. Is a bit fugly as this has to support the
18884 // sync and async mode which is never fun. Loops over execEditLength until a value
18885 // is produced, or until the edit length exceeds options.maxEditLength (if given),
18886 // in which case it will return undefined.
18887
18888
18889 if (callback) {
18890 (function exec() {
18891 setTimeout(function () {
18892 if (editLength > maxEditLength) {
18893 return callback();
18894 }
18895
18896 if (!execEditLength()) {
18897 exec();
18898 }
18899 }, 0);
18900 })();
18901 } else {
18902 while (editLength <= maxEditLength) {
18903 var ret = execEditLength();
18904
18905 if (ret) {
18906 return ret;
18907 }
18908 }
18909 }
18910 },
18911 pushComponent: function pushComponent(components, added, removed) {
18912 var last = components[components.length - 1];
18913
18914 if (last && last.added === added && last.removed === removed) {
18915 // We need to clone here as the component clone operation is just
18916 // as shallow array clone
18917 components[components.length - 1] = {
18918 count: last.count + 1,
18919 added: added,
18920 removed: removed
18921 };
18922 } else {
18923 components.push({
18924 count: 1,
18925 added: added,
18926 removed: removed
18927 });
18928 }
18929 },
18930 extractCommon: function extractCommon(basePath, newString, oldString, diagonalPath) {
18931 var newLen = newString.length,
18932 oldLen = oldString.length,
18933 newPos = basePath.newPos,
18934 oldPos = newPos - diagonalPath,
18935 commonCount = 0;
18936
18937 while (newPos + 1 < newLen && oldPos + 1 < oldLen && this.equals(newString[newPos + 1], oldString[oldPos + 1])) {
18938 newPos++;
18939 oldPos++;
18940 commonCount++;
18941 }
18942
18943 if (commonCount) {
18944 basePath.components.push({
18945 count: commonCount
18946 });
18947 }
18948
18949 basePath.newPos = newPos;
18950 return oldPos;
18951 },
18952 equals: function equals(left, right) {
18953 if (this.options.comparator) {
18954 return this.options.comparator(left, right);
18955 } else {
18956 return left === right || this.options.ignoreCase && left.toLowerCase() === right.toLowerCase();
18957 }
18958 },
18959 removeEmpty: function removeEmpty(array) {
18960 var ret = [];
18961
18962 for (var i = 0; i < array.length; i++) {
18963 if (array[i]) {
18964 ret.push(array[i]);
18965 }
18966 }
18967
18968 return ret;
18969 },
18970 castInput: function castInput(value) {
18971 return value;
18972 },
18973 tokenize: function tokenize(value) {
18974 return value.split('');
18975 },
18976 join: function join(chars) {
18977 return chars.join('');
18978 }
18979 };
18980
18981 function buildValues(diff, components, newString, oldString, useLongestToken) {
18982 var componentPos = 0,
18983 componentLen = components.length,
18984 newPos = 0,
18985 oldPos = 0;
18986
18987 for (; componentPos < componentLen; componentPos++) {
18988 var component = components[componentPos];
18989
18990 if (!component.removed) {
18991 if (!component.added && useLongestToken) {
18992 var value = newString.slice(newPos, newPos + component.count);
18993 value = value.map(function (value, i) {
18994 var oldValue = oldString[oldPos + i];
18995 return oldValue.length > value.length ? oldValue : value;
18996 });
18997 component.value = diff.join(value);
18998 } else {
18999 component.value = diff.join(newString.slice(newPos, newPos + component.count));
19000 }
19001
19002 newPos += component.count; // Common case
19003
19004 if (!component.added) {
19005 oldPos += component.count;
19006 }
19007 } else {
19008 component.value = diff.join(oldString.slice(oldPos, oldPos + component.count));
19009 oldPos += component.count; // Reverse add and remove so removes are output first to match common convention
19010 // The diffing algorithm is tied to add then remove output and this is the simplest
19011 // route to get the desired output with minimal overhead.
19012
19013 if (componentPos && components[componentPos - 1].added) {
19014 var tmp = components[componentPos - 1];
19015 components[componentPos - 1] = components[componentPos];
19016 components[componentPos] = tmp;
19017 }
19018 }
19019 } // Special case handle for when one terminal is ignored (i.e. whitespace).
19020 // For this case we merge the terminal into the prior string and drop the change.
19021 // This is only available for string mode.
19022
19023
19024 var lastComponent = components[componentLen - 1];
19025
19026 if (componentLen > 1 && typeof lastComponent.value === 'string' && (lastComponent.added || lastComponent.removed) && diff.equals('', lastComponent.value)) {
19027 components[componentLen - 2].value += lastComponent.value;
19028 components.pop();
19029 }
19030
19031 return components;
19032 }
19033
19034 function clonePath(path) {
19035 return {
19036 newPos: path.newPos,
19037 components: path.components.slice(0)
19038 };
19039 }
19040
19041 var characterDiff = new Diff();
19042 function diffChars(oldStr, newStr, options) {
19043 return characterDiff.diff(oldStr, newStr, options);
19044 }
19045
19046 function generateOptions(options, defaults) {
19047 if (typeof options === 'function') {
19048 defaults.callback = options;
19049 } else if (options) {
19050 for (var name in options) {
19051 /* istanbul ignore else */
19052 if (options.hasOwnProperty(name)) {
19053 defaults[name] = options[name];
19054 }
19055 }
19056 }
19057
19058 return defaults;
19059 }
19060
19061 //
19062 // Ranges and exceptions:
19063 // Latin-1 Supplement, 0080–00FF
19064 // - U+00D7 × Multiplication sign
19065 // - U+00F7 ÷ Division sign
19066 // Latin Extended-A, 0100–017F
19067 // Latin Extended-B, 0180–024F
19068 // IPA Extensions, 0250–02AF
19069 // Spacing Modifier Letters, 02B0–02FF
19070 // - U+02C7 ˇ &#711; Caron
19071 // - U+02D8 ˘ &#728; Breve
19072 // - U+02D9 ˙ &#729; Dot Above
19073 // - U+02DA ˚ &#730; Ring Above
19074 // - U+02DB ˛ &#731; Ogonek
19075 // - U+02DC ˜ &#732; Small Tilde
19076 // - U+02DD ˝ &#733; Double Acute Accent
19077 // Latin Extended Additional, 1E00–1EFF
19078
19079 var extendedWordChars = /^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/;
19080 var reWhitespace = /\S/;
19081 var wordDiff = new Diff();
19082
19083 wordDiff.equals = function (left, right) {
19084 if (this.options.ignoreCase) {
19085 left = left.toLowerCase();
19086 right = right.toLowerCase();
19087 }
19088
19089 return left === right || this.options.ignoreWhitespace && !reWhitespace.test(left) && !reWhitespace.test(right);
19090 };
19091
19092 wordDiff.tokenize = function (value) {
19093 // All whitespace symbols except newline group into one token, each newline - in separate token
19094 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.
19095
19096 for (var i = 0; i < tokens.length - 1; i++) {
19097 // If we have an empty string in the next field and we have only word chars before and after, merge
19098 if (!tokens[i + 1] && tokens[i + 2] && extendedWordChars.test(tokens[i]) && extendedWordChars.test(tokens[i + 2])) {
19099 tokens[i] += tokens[i + 2];
19100 tokens.splice(i + 1, 2);
19101 i--;
19102 }
19103 }
19104
19105 return tokens;
19106 };
19107
19108 function diffWords(oldStr, newStr, options) {
19109 options = generateOptions(options, {
19110 ignoreWhitespace: true
19111 });
19112 return wordDiff.diff(oldStr, newStr, options);
19113 }
19114 function diffWordsWithSpace(oldStr, newStr, options) {
19115 return wordDiff.diff(oldStr, newStr, options);
19116 }
19117
19118 var lineDiff = new Diff();
19119
19120 lineDiff.tokenize = function (value) {
19121 var retLines = [],
19122 linesAndNewlines = value.split(/(\n|\r\n)/); // Ignore the final empty token that occurs if the string ends with a new line
19123
19124 if (!linesAndNewlines[linesAndNewlines.length - 1]) {
19125 linesAndNewlines.pop();
19126 } // Merge the content and line separators into single tokens
19127
19128
19129 for (var i = 0; i < linesAndNewlines.length; i++) {
19130 var line = linesAndNewlines[i];
19131
19132 if (i % 2 && !this.options.newlineIsToken) {
19133 retLines[retLines.length - 1] += line;
19134 } else {
19135 if (this.options.ignoreWhitespace) {
19136 line = line.trim();
19137 }
19138
19139 retLines.push(line);
19140 }
19141 }
19142
19143 return retLines;
19144 };
19145
19146 function diffLines(oldStr, newStr, callback) {
19147 return lineDiff.diff(oldStr, newStr, callback);
19148 }
19149 function diffTrimmedLines(oldStr, newStr, callback) {
19150 var options = generateOptions(callback, {
19151 ignoreWhitespace: true
19152 });
19153 return lineDiff.diff(oldStr, newStr, options);
19154 }
19155
19156 var sentenceDiff = new Diff();
19157
19158 sentenceDiff.tokenize = function (value) {
19159 return value.split(/(\S.+?[.!?])(?=\s+|$)/);
19160 };
19161
19162 function diffSentences(oldStr, newStr, callback) {
19163 return sentenceDiff.diff(oldStr, newStr, callback);
19164 }
19165
19166 var cssDiff = new Diff();
19167
19168 cssDiff.tokenize = function (value) {
19169 return value.split(/([{}:;,]|\s+)/);
19170 };
19171
19172 function diffCss(oldStr, newStr, callback) {
19173 return cssDiff.diff(oldStr, newStr, callback);
19174 }
19175
19176 function _typeof(obj) {
19177 "@babel/helpers - typeof";
19178
19179 if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
19180 _typeof = function (obj) {
19181 return typeof obj;
19182 };
19183 } else {
19184 _typeof = function (obj) {
19185 return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
19186 };
19187 }
19188
19189 return _typeof(obj);
19190 }
19191
19192 function _toConsumableArray(arr) {
19193 return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
19194 }
19195
19196 function _arrayWithoutHoles(arr) {
19197 if (Array.isArray(arr)) return _arrayLikeToArray(arr);
19198 }
19199
19200 function _iterableToArray(iter) {
19201 if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter);
19202 }
19203
19204 function _unsupportedIterableToArray(o, minLen) {
19205 if (!o) return;
19206 if (typeof o === "string") return _arrayLikeToArray(o, minLen);
19207 var n = Object.prototype.toString.call(o).slice(8, -1);
19208 if (n === "Object" && o.constructor) n = o.constructor.name;
19209 if (n === "Map" || n === "Set") return Array.from(o);
19210 if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
19211 }
19212
19213 function _arrayLikeToArray(arr, len) {
19214 if (len == null || len > arr.length) len = arr.length;
19215
19216 for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
19217
19218 return arr2;
19219 }
19220
19221 function _nonIterableSpread() {
19222 throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
19223 }
19224
19225 var objectPrototypeToString = Object.prototype.toString;
19226 var jsonDiff = new Diff(); // Discriminate between two lines of pretty-printed, serialized JSON where one of them has a
19227 // dangling comma and the other doesn't. Turns out including the dangling comma yields the nicest output:
19228
19229 jsonDiff.useLongestToken = true;
19230 jsonDiff.tokenize = lineDiff.tokenize;
19231
19232 jsonDiff.castInput = function (value) {
19233 var _this$options = this.options,
19234 undefinedReplacement = _this$options.undefinedReplacement,
19235 _this$options$stringi = _this$options.stringifyReplacer,
19236 stringifyReplacer = _this$options$stringi === void 0 ? function (k, v) {
19237 return typeof v === 'undefined' ? undefinedReplacement : v;
19238 } : _this$options$stringi;
19239 return typeof value === 'string' ? value : JSON.stringify(canonicalize(value, null, null, stringifyReplacer), stringifyReplacer, ' ');
19240 };
19241
19242 jsonDiff.equals = function (left, right) {
19243 return Diff.prototype.equals.call(jsonDiff, left.replace(/,([\r\n])/g, '$1'), right.replace(/,([\r\n])/g, '$1'));
19244 };
19245
19246 function diffJson(oldObj, newObj, options) {
19247 return jsonDiff.diff(oldObj, newObj, options);
19248 } // This function handles the presence of circular references by bailing out when encountering an
19249 // object that is already on the "stack" of items being processed. Accepts an optional replacer
19250
19251 function canonicalize(obj, stack, replacementStack, replacer, key) {
19252 stack = stack || [];
19253 replacementStack = replacementStack || [];
19254
19255 if (replacer) {
19256 obj = replacer(key, obj);
19257 }
19258
19259 var i;
19260
19261 for (i = 0; i < stack.length; i += 1) {
19262 if (stack[i] === obj) {
19263 return replacementStack[i];
19264 }
19265 }
19266
19267 var canonicalizedObj;
19268
19269 if ('[object Array]' === objectPrototypeToString.call(obj)) {
19270 stack.push(obj);
19271 canonicalizedObj = new Array(obj.length);
19272 replacementStack.push(canonicalizedObj);
19273
19274 for (i = 0; i < obj.length; i += 1) {
19275 canonicalizedObj[i] = canonicalize(obj[i], stack, replacementStack, replacer, key);
19276 }
19277
19278 stack.pop();
19279 replacementStack.pop();
19280 return canonicalizedObj;
19281 }
19282
19283 if (obj && obj.toJSON) {
19284 obj = obj.toJSON();
19285 }
19286
19287 if (_typeof(obj) === 'object' && obj !== null) {
19288 stack.push(obj);
19289 canonicalizedObj = {};
19290 replacementStack.push(canonicalizedObj);
19291
19292 var sortedKeys = [],
19293 _key;
19294
19295 for (_key in obj) {
19296 /* istanbul ignore else */
19297 if (obj.hasOwnProperty(_key)) {
19298 sortedKeys.push(_key);
19299 }
19300 }
19301
19302 sortedKeys.sort();
19303
19304 for (i = 0; i < sortedKeys.length; i += 1) {
19305 _key = sortedKeys[i];
19306 canonicalizedObj[_key] = canonicalize(obj[_key], stack, replacementStack, replacer, _key);
19307 }
19308
19309 stack.pop();
19310 replacementStack.pop();
19311 } else {
19312 canonicalizedObj = obj;
19313 }
19314
19315 return canonicalizedObj;
19316 }
19317
19318 var arrayDiff = new Diff();
19319
19320 arrayDiff.tokenize = function (value) {
19321 return value.slice();
19322 };
19323
19324 arrayDiff.join = arrayDiff.removeEmpty = function (value) {
19325 return value;
19326 };
19327
19328 function diffArrays(oldArr, newArr, callback) {
19329 return arrayDiff.diff(oldArr, newArr, callback);
19330 }
19331
19332 function parsePatch(uniDiff) {
19333 var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
19334 var diffstr = uniDiff.split(/\r\n|[\n\v\f\r\x85]/),
19335 delimiters = uniDiff.match(/\r\n|[\n\v\f\r\x85]/g) || [],
19336 list = [],
19337 i = 0;
19338
19339 function parseIndex() {
19340 var index = {};
19341 list.push(index); // Parse diff metadata
19342
19343 while (i < diffstr.length) {
19344 var line = diffstr[i]; // File header found, end parsing diff metadata
19345
19346 if (/^(\-\-\-|\+\+\+|@@)\s/.test(line)) {
19347 break;
19348 } // Diff index
19349
19350
19351 var header = /^(?:Index:|diff(?: -r \w+)+)\s+(.+?)\s*$/.exec(line);
19352
19353 if (header) {
19354 index.index = header[1];
19355 }
19356
19357 i++;
19358 } // Parse file headers if they are defined. Unified diff requires them, but
19359 // there's no technical issues to have an isolated hunk without file header
19360
19361
19362 parseFileHeader(index);
19363 parseFileHeader(index); // Parse hunks
19364
19365 index.hunks = [];
19366
19367 while (i < diffstr.length) {
19368 var _line = diffstr[i];
19369
19370 if (/^(Index:|diff|\-\-\-|\+\+\+)\s/.test(_line)) {
19371 break;
19372 } else if (/^@@/.test(_line)) {
19373 index.hunks.push(parseHunk());
19374 } else if (_line && options.strict) {
19375 // Ignore unexpected content unless in strict mode
19376 throw new Error('Unknown line ' + (i + 1) + ' ' + JSON.stringify(_line));
19377 } else {
19378 i++;
19379 }
19380 }
19381 } // Parses the --- and +++ headers, if none are found, no lines
19382 // are consumed.
19383
19384
19385 function parseFileHeader(index) {
19386 var fileHeader = /^(---|\+\+\+)\s+(.*)$/.exec(diffstr[i]);
19387
19388 if (fileHeader) {
19389 var keyPrefix = fileHeader[1] === '---' ? 'old' : 'new';
19390 var data = fileHeader[2].split('\t', 2);
19391 var fileName = data[0].replace(/\\\\/g, '\\');
19392
19393 if (/^".*"$/.test(fileName)) {
19394 fileName = fileName.substr(1, fileName.length - 2);
19395 }
19396
19397 index[keyPrefix + 'FileName'] = fileName;
19398 index[keyPrefix + 'Header'] = (data[1] || '').trim();
19399 i++;
19400 }
19401 } // Parses a hunk
19402 // This assumes that we are at the start of a hunk.
19403
19404
19405 function parseHunk() {
19406 var chunkHeaderIndex = i,
19407 chunkHeaderLine = diffstr[i++],
19408 chunkHeader = chunkHeaderLine.split(/@@ -(\d+)(?:,(\d+))? \+(\d+)(?:,(\d+))? @@/);
19409 var hunk = {
19410 oldStart: +chunkHeader[1],
19411 oldLines: typeof chunkHeader[2] === 'undefined' ? 1 : +chunkHeader[2],
19412 newStart: +chunkHeader[3],
19413 newLines: typeof chunkHeader[4] === 'undefined' ? 1 : +chunkHeader[4],
19414 lines: [],
19415 linedelimiters: []
19416 }; // Unified Diff Format quirk: If the chunk size is 0,
19417 // the first number is one lower than one would expect.
19418 // https://www.artima.com/weblogs/viewpost.jsp?thread=164293
19419
19420 if (hunk.oldLines === 0) {
19421 hunk.oldStart += 1;
19422 }
19423
19424 if (hunk.newLines === 0) {
19425 hunk.newStart += 1;
19426 }
19427
19428 var addCount = 0,
19429 removeCount = 0;
19430
19431 for (; i < diffstr.length; i++) {
19432 // Lines starting with '---' could be mistaken for the "remove line" operation
19433 // But they could be the header for the next file. Therefore prune such cases out.
19434 if (diffstr[i].indexOf('--- ') === 0 && i + 2 < diffstr.length && diffstr[i + 1].indexOf('+++ ') === 0 && diffstr[i + 2].indexOf('@@') === 0) {
19435 break;
19436 }
19437
19438 var operation = diffstr[i].length == 0 && i != diffstr.length - 1 ? ' ' : diffstr[i][0];
19439
19440 if (operation === '+' || operation === '-' || operation === ' ' || operation === '\\') {
19441 hunk.lines.push(diffstr[i]);
19442 hunk.linedelimiters.push(delimiters[i] || '\n');
19443
19444 if (operation === '+') {
19445 addCount++;
19446 } else if (operation === '-') {
19447 removeCount++;
19448 } else if (operation === ' ') {
19449 addCount++;
19450 removeCount++;
19451 }
19452 } else {
19453 break;
19454 }
19455 } // Handle the empty block count case
19456
19457
19458 if (!addCount && hunk.newLines === 1) {
19459 hunk.newLines = 0;
19460 }
19461
19462 if (!removeCount && hunk.oldLines === 1) {
19463 hunk.oldLines = 0;
19464 } // Perform optional sanity checking
19465
19466
19467 if (options.strict) {
19468 if (addCount !== hunk.newLines) {
19469 throw new Error('Added line count did not match for hunk at line ' + (chunkHeaderIndex + 1));
19470 }
19471
19472 if (removeCount !== hunk.oldLines) {
19473 throw new Error('Removed line count did not match for hunk at line ' + (chunkHeaderIndex + 1));
19474 }
19475 }
19476
19477 return hunk;
19478 }
19479
19480 while (i < diffstr.length) {
19481 parseIndex();
19482 }
19483
19484 return list;
19485 }
19486
19487 // Iterator that traverses in the range of [min, max], stepping
19488 // by distance from a given start position. I.e. for [0, 4], with
19489 // start of 2, this will iterate 2, 3, 1, 4, 0.
19490 function distanceIterator (start, minLine, maxLine) {
19491 var wantForward = true,
19492 backwardExhausted = false,
19493 forwardExhausted = false,
19494 localOffset = 1;
19495 return function iterator() {
19496 if (wantForward && !forwardExhausted) {
19497 if (backwardExhausted) {
19498 localOffset++;
19499 } else {
19500 wantForward = false;
19501 } // Check if trying to fit beyond text length, and if not, check it fits
19502 // after offset location (or desired location on first iteration)
19503
19504
19505 if (start + localOffset <= maxLine) {
19506 return localOffset;
19507 }
19508
19509 forwardExhausted = true;
19510 }
19511
19512 if (!backwardExhausted) {
19513 if (!forwardExhausted) {
19514 wantForward = true;
19515 } // Check if trying to fit before text beginning, and if not, check it fits
19516 // before offset location
19517
19518
19519 if (minLine <= start - localOffset) {
19520 return -localOffset++;
19521 }
19522
19523 backwardExhausted = true;
19524 return iterator();
19525 } // We tried to fit hunk before text beginning and beyond text length, then
19526 // hunk can't fit on the text. Return undefined
19527
19528 };
19529 }
19530
19531 function applyPatch(source, uniDiff) {
19532 var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
19533
19534 if (typeof uniDiff === 'string') {
19535 uniDiff = parsePatch(uniDiff);
19536 }
19537
19538 if (Array.isArray(uniDiff)) {
19539 if (uniDiff.length > 1) {
19540 throw new Error('applyPatch only works with a single input.');
19541 }
19542
19543 uniDiff = uniDiff[0];
19544 } // Apply the diff to the input
19545
19546
19547 var lines = source.split(/\r\n|[\n\v\f\r\x85]/),
19548 delimiters = source.match(/\r\n|[\n\v\f\r\x85]/g) || [],
19549 hunks = uniDiff.hunks,
19550 compareLine = options.compareLine || function (lineNumber, line, operation, patchContent) {
19551 return line === patchContent;
19552 },
19553 errorCount = 0,
19554 fuzzFactor = options.fuzzFactor || 0,
19555 minLine = 0,
19556 offset = 0,
19557 removeEOFNL,
19558 addEOFNL;
19559 /**
19560 * Checks if the hunk exactly fits on the provided location
19561 */
19562
19563
19564 function hunkFits(hunk, toPos) {
19565 for (var j = 0; j < hunk.lines.length; j++) {
19566 var line = hunk.lines[j],
19567 operation = line.length > 0 ? line[0] : ' ',
19568 content = line.length > 0 ? line.substr(1) : line;
19569
19570 if (operation === ' ' || operation === '-') {
19571 // Context sanity check
19572 if (!compareLine(toPos + 1, lines[toPos], operation, content)) {
19573 errorCount++;
19574
19575 if (errorCount > fuzzFactor) {
19576 return false;
19577 }
19578 }
19579
19580 toPos++;
19581 }
19582 }
19583
19584 return true;
19585 } // Search best fit offsets for each hunk based on the previous ones
19586
19587
19588 for (var i = 0; i < hunks.length; i++) {
19589 var hunk = hunks[i],
19590 maxLine = lines.length - hunk.oldLines,
19591 localOffset = 0,
19592 toPos = offset + hunk.oldStart - 1;
19593 var iterator = distanceIterator(toPos, minLine, maxLine);
19594
19595 for (; localOffset !== undefined; localOffset = iterator()) {
19596 if (hunkFits(hunk, toPos + localOffset)) {
19597 hunk.offset = offset += localOffset;
19598 break;
19599 }
19600 }
19601
19602 if (localOffset === undefined) {
19603 return false;
19604 } // Set lower text limit to end of the current hunk, so next ones don't try
19605 // to fit over already patched text
19606
19607
19608 minLine = hunk.offset + hunk.oldStart + hunk.oldLines;
19609 } // Apply patch hunks
19610
19611
19612 var diffOffset = 0;
19613
19614 for (var _i = 0; _i < hunks.length; _i++) {
19615 var _hunk = hunks[_i],
19616 _toPos = _hunk.oldStart + _hunk.offset + diffOffset - 1;
19617
19618 diffOffset += _hunk.newLines - _hunk.oldLines;
19619
19620 for (var j = 0; j < _hunk.lines.length; j++) {
19621 var line = _hunk.lines[j],
19622 operation = line.length > 0 ? line[0] : ' ',
19623 content = line.length > 0 ? line.substr(1) : line,
19624 delimiter = _hunk.linedelimiters[j];
19625
19626 if (operation === ' ') {
19627 _toPos++;
19628 } else if (operation === '-') {
19629 lines.splice(_toPos, 1);
19630 delimiters.splice(_toPos, 1);
19631 /* istanbul ignore else */
19632 } else if (operation === '+') {
19633 lines.splice(_toPos, 0, content);
19634 delimiters.splice(_toPos, 0, delimiter);
19635 _toPos++;
19636 } else if (operation === '\\') {
19637 var previousOperation = _hunk.lines[j - 1] ? _hunk.lines[j - 1][0] : null;
19638
19639 if (previousOperation === '+') {
19640 removeEOFNL = true;
19641 } else if (previousOperation === '-') {
19642 addEOFNL = true;
19643 }
19644 }
19645 }
19646 } // Handle EOFNL insertion/removal
19647
19648
19649 if (removeEOFNL) {
19650 while (!lines[lines.length - 1]) {
19651 lines.pop();
19652 delimiters.pop();
19653 }
19654 } else if (addEOFNL) {
19655 lines.push('');
19656 delimiters.push('\n');
19657 }
19658
19659 for (var _k = 0; _k < lines.length - 1; _k++) {
19660 lines[_k] = lines[_k] + delimiters[_k];
19661 }
19662
19663 return lines.join('');
19664 } // Wrapper that supports multiple file patches via callbacks.
19665
19666 function applyPatches(uniDiff, options) {
19667 if (typeof uniDiff === 'string') {
19668 uniDiff = parsePatch(uniDiff);
19669 }
19670
19671 var currentIndex = 0;
19672
19673 function processIndex() {
19674 var index = uniDiff[currentIndex++];
19675
19676 if (!index) {
19677 return options.complete();
19678 }
19679
19680 options.loadFile(index, function (err, data) {
19681 if (err) {
19682 return options.complete(err);
19683 }
19684
19685 var updatedContent = applyPatch(data, index, options);
19686 options.patched(index, updatedContent, function (err) {
19687 if (err) {
19688 return options.complete(err);
19689 }
19690
19691 processIndex();
19692 });
19693 });
19694 }
19695
19696 processIndex();
19697 }
19698
19699 function structuredPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader, options) {
19700 if (!options) {
19701 options = {};
19702 }
19703
19704 if (typeof options.context === 'undefined') {
19705 options.context = 4;
19706 }
19707
19708 var diff = diffLines(oldStr, newStr, options);
19709
19710 if (!diff) {
19711 return;
19712 }
19713
19714 diff.push({
19715 value: '',
19716 lines: []
19717 }); // Append an empty value to make cleanup easier
19718
19719 function contextLines(lines) {
19720 return lines.map(function (entry) {
19721 return ' ' + entry;
19722 });
19723 }
19724
19725 var hunks = [];
19726 var oldRangeStart = 0,
19727 newRangeStart = 0,
19728 curRange = [],
19729 oldLine = 1,
19730 newLine = 1;
19731
19732 var _loop = function _loop(i) {
19733 var current = diff[i],
19734 lines = current.lines || current.value.replace(/\n$/, '').split('\n');
19735 current.lines = lines;
19736
19737 if (current.added || current.removed) {
19738 var _curRange;
19739
19740 // If we have previous context, start with that
19741 if (!oldRangeStart) {
19742 var prev = diff[i - 1];
19743 oldRangeStart = oldLine;
19744 newRangeStart = newLine;
19745
19746 if (prev) {
19747 curRange = options.context > 0 ? contextLines(prev.lines.slice(-options.context)) : [];
19748 oldRangeStart -= curRange.length;
19749 newRangeStart -= curRange.length;
19750 }
19751 } // Output our changes
19752
19753
19754 (_curRange = curRange).push.apply(_curRange, _toConsumableArray(lines.map(function (entry) {
19755 return (current.added ? '+' : '-') + entry;
19756 }))); // Track the updated file position
19757
19758
19759 if (current.added) {
19760 newLine += lines.length;
19761 } else {
19762 oldLine += lines.length;
19763 }
19764 } else {
19765 // Identical context lines. Track line changes
19766 if (oldRangeStart) {
19767 // Close out any changes that have been output (or join overlapping)
19768 if (lines.length <= options.context * 2 && i < diff.length - 2) {
19769 var _curRange2;
19770
19771 // Overlapping
19772 (_curRange2 = curRange).push.apply(_curRange2, _toConsumableArray(contextLines(lines)));
19773 } else {
19774 var _curRange3;
19775
19776 // end the range and output
19777 var contextSize = Math.min(lines.length, options.context);
19778
19779 (_curRange3 = curRange).push.apply(_curRange3, _toConsumableArray(contextLines(lines.slice(0, contextSize))));
19780
19781 var hunk = {
19782 oldStart: oldRangeStart,
19783 oldLines: oldLine - oldRangeStart + contextSize,
19784 newStart: newRangeStart,
19785 newLines: newLine - newRangeStart + contextSize,
19786 lines: curRange
19787 };
19788
19789 if (i >= diff.length - 2 && lines.length <= options.context) {
19790 // EOF is inside this hunk
19791 var oldEOFNewline = /\n$/.test(oldStr);
19792 var newEOFNewline = /\n$/.test(newStr);
19793 var noNlBeforeAdds = lines.length == 0 && curRange.length > hunk.oldLines;
19794
19795 if (!oldEOFNewline && noNlBeforeAdds && oldStr.length > 0) {
19796 // special case: old has no eol and no trailing context; no-nl can end up before adds
19797 // however, if the old file is empty, do not output the no-nl line
19798 curRange.splice(hunk.oldLines, 0, '\\ No newline at end of file');
19799 }
19800
19801 if (!oldEOFNewline && !noNlBeforeAdds || !newEOFNewline) {
19802 curRange.push('\\ No newline at end of file');
19803 }
19804 }
19805
19806 hunks.push(hunk);
19807 oldRangeStart = 0;
19808 newRangeStart = 0;
19809 curRange = [];
19810 }
19811 }
19812
19813 oldLine += lines.length;
19814 newLine += lines.length;
19815 }
19816 };
19817
19818 for (var i = 0; i < diff.length; i++) {
19819 _loop(i);
19820 }
19821
19822 return {
19823 oldFileName: oldFileName,
19824 newFileName: newFileName,
19825 oldHeader: oldHeader,
19826 newHeader: newHeader,
19827 hunks: hunks
19828 };
19829 }
19830 function formatPatch(diff) {
19831 var ret = [];
19832
19833 if (diff.oldFileName == diff.newFileName) {
19834 ret.push('Index: ' + diff.oldFileName);
19835 }
19836
19837 ret.push('===================================================================');
19838 ret.push('--- ' + diff.oldFileName + (typeof diff.oldHeader === 'undefined' ? '' : '\t' + diff.oldHeader));
19839 ret.push('+++ ' + diff.newFileName + (typeof diff.newHeader === 'undefined' ? '' : '\t' + diff.newHeader));
19840
19841 for (var i = 0; i < diff.hunks.length; i++) {
19842 var hunk = diff.hunks[i]; // Unified Diff Format quirk: If the chunk size is 0,
19843 // the first number is one lower than one would expect.
19844 // https://www.artima.com/weblogs/viewpost.jsp?thread=164293
19845
19846 if (hunk.oldLines === 0) {
19847 hunk.oldStart -= 1;
19848 }
19849
19850 if (hunk.newLines === 0) {
19851 hunk.newStart -= 1;
19852 }
19853
19854 ret.push('@@ -' + hunk.oldStart + ',' + hunk.oldLines + ' +' + hunk.newStart + ',' + hunk.newLines + ' @@');
19855 ret.push.apply(ret, hunk.lines);
19856 }
19857
19858 return ret.join('\n') + '\n';
19859 }
19860 function createTwoFilesPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader, options) {
19861 return formatPatch(structuredPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader, options));
19862 }
19863 function createPatch(fileName, oldStr, newStr, oldHeader, newHeader, options) {
19864 return createTwoFilesPatch(fileName, fileName, oldStr, newStr, oldHeader, newHeader, options);
19865 }
19866
19867 function arrayEqual(a, b) {
19868 if (a.length !== b.length) {
19869 return false;
19870 }
19871
19872 return arrayStartsWith(a, b);
19873 }
19874 function arrayStartsWith(array, start) {
19875 if (start.length > array.length) {
19876 return false;
19877 }
19878
19879 for (var i = 0; i < start.length; i++) {
19880 if (start[i] !== array[i]) {
19881 return false;
19882 }
19883 }
19884
19885 return true;
19886 }
19887
19888 function calcLineCount(hunk) {
19889 var _calcOldNewLineCount = calcOldNewLineCount(hunk.lines),
19890 oldLines = _calcOldNewLineCount.oldLines,
19891 newLines = _calcOldNewLineCount.newLines;
19892
19893 if (oldLines !== undefined) {
19894 hunk.oldLines = oldLines;
19895 } else {
19896 delete hunk.oldLines;
19897 }
19898
19899 if (newLines !== undefined) {
19900 hunk.newLines = newLines;
19901 } else {
19902 delete hunk.newLines;
19903 }
19904 }
19905 function merge(mine, theirs, base) {
19906 mine = loadPatch(mine, base);
19907 theirs = loadPatch(theirs, base);
19908 var ret = {}; // For index we just let it pass through as it doesn't have any necessary meaning.
19909 // Leaving sanity checks on this to the API consumer that may know more about the
19910 // meaning in their own context.
19911
19912 if (mine.index || theirs.index) {
19913 ret.index = mine.index || theirs.index;
19914 }
19915
19916 if (mine.newFileName || theirs.newFileName) {
19917 if (!fileNameChanged(mine)) {
19918 // No header or no change in ours, use theirs (and ours if theirs does not exist)
19919 ret.oldFileName = theirs.oldFileName || mine.oldFileName;
19920 ret.newFileName = theirs.newFileName || mine.newFileName;
19921 ret.oldHeader = theirs.oldHeader || mine.oldHeader;
19922 ret.newHeader = theirs.newHeader || mine.newHeader;
19923 } else if (!fileNameChanged(theirs)) {
19924 // No header or no change in theirs, use ours
19925 ret.oldFileName = mine.oldFileName;
19926 ret.newFileName = mine.newFileName;
19927 ret.oldHeader = mine.oldHeader;
19928 ret.newHeader = mine.newHeader;
19929 } else {
19930 // Both changed... figure it out
19931 ret.oldFileName = selectField(ret, mine.oldFileName, theirs.oldFileName);
19932 ret.newFileName = selectField(ret, mine.newFileName, theirs.newFileName);
19933 ret.oldHeader = selectField(ret, mine.oldHeader, theirs.oldHeader);
19934 ret.newHeader = selectField(ret, mine.newHeader, theirs.newHeader);
19935 }
19936 }
19937
19938 ret.hunks = [];
19939 var mineIndex = 0,
19940 theirsIndex = 0,
19941 mineOffset = 0,
19942 theirsOffset = 0;
19943
19944 while (mineIndex < mine.hunks.length || theirsIndex < theirs.hunks.length) {
19945 var mineCurrent = mine.hunks[mineIndex] || {
19946 oldStart: Infinity
19947 },
19948 theirsCurrent = theirs.hunks[theirsIndex] || {
19949 oldStart: Infinity
19950 };
19951
19952 if (hunkBefore(mineCurrent, theirsCurrent)) {
19953 // This patch does not overlap with any of the others, yay.
19954 ret.hunks.push(cloneHunk(mineCurrent, mineOffset));
19955 mineIndex++;
19956 theirsOffset += mineCurrent.newLines - mineCurrent.oldLines;
19957 } else if (hunkBefore(theirsCurrent, mineCurrent)) {
19958 // This patch does not overlap with any of the others, yay.
19959 ret.hunks.push(cloneHunk(theirsCurrent, theirsOffset));
19960 theirsIndex++;
19961 mineOffset += theirsCurrent.newLines - theirsCurrent.oldLines;
19962 } else {
19963 // Overlap, merge as best we can
19964 var mergedHunk = {
19965 oldStart: Math.min(mineCurrent.oldStart, theirsCurrent.oldStart),
19966 oldLines: 0,
19967 newStart: Math.min(mineCurrent.newStart + mineOffset, theirsCurrent.oldStart + theirsOffset),
19968 newLines: 0,
19969 lines: []
19970 };
19971 mergeLines(mergedHunk, mineCurrent.oldStart, mineCurrent.lines, theirsCurrent.oldStart, theirsCurrent.lines);
19972 theirsIndex++;
19973 mineIndex++;
19974 ret.hunks.push(mergedHunk);
19975 }
19976 }
19977
19978 return ret;
19979 }
19980
19981 function loadPatch(param, base) {
19982 if (typeof param === 'string') {
19983 if (/^@@/m.test(param) || /^Index:/m.test(param)) {
19984 return parsePatch(param)[0];
19985 }
19986
19987 if (!base) {
19988 throw new Error('Must provide a base reference or pass in a patch');
19989 }
19990
19991 return structuredPatch(undefined, undefined, base, param);
19992 }
19993
19994 return param;
19995 }
19996
19997 function fileNameChanged(patch) {
19998 return patch.newFileName && patch.newFileName !== patch.oldFileName;
19999 }
20000
20001 function selectField(index, mine, theirs) {
20002 if (mine === theirs) {
20003 return mine;
20004 } else {
20005 index.conflict = true;
20006 return {
20007 mine: mine,
20008 theirs: theirs
20009 };
20010 }
20011 }
20012
20013 function hunkBefore(test, check) {
20014 return test.oldStart < check.oldStart && test.oldStart + test.oldLines < check.oldStart;
20015 }
20016
20017 function cloneHunk(hunk, offset) {
20018 return {
20019 oldStart: hunk.oldStart,
20020 oldLines: hunk.oldLines,
20021 newStart: hunk.newStart + offset,
20022 newLines: hunk.newLines,
20023 lines: hunk.lines
20024 };
20025 }
20026
20027 function mergeLines(hunk, mineOffset, mineLines, theirOffset, theirLines) {
20028 // This will generally result in a conflicted hunk, but there are cases where the context
20029 // is the only overlap where we can successfully merge the content here.
20030 var mine = {
20031 offset: mineOffset,
20032 lines: mineLines,
20033 index: 0
20034 },
20035 their = {
20036 offset: theirOffset,
20037 lines: theirLines,
20038 index: 0
20039 }; // Handle any leading content
20040
20041 insertLeading(hunk, mine, their);
20042 insertLeading(hunk, their, mine); // Now in the overlap content. Scan through and select the best changes from each.
20043
20044 while (mine.index < mine.lines.length && their.index < their.lines.length) {
20045 var mineCurrent = mine.lines[mine.index],
20046 theirCurrent = their.lines[their.index];
20047
20048 if ((mineCurrent[0] === '-' || mineCurrent[0] === '+') && (theirCurrent[0] === '-' || theirCurrent[0] === '+')) {
20049 // Both modified ...
20050 mutualChange(hunk, mine, their);
20051 } else if (mineCurrent[0] === '+' && theirCurrent[0] === ' ') {
20052 var _hunk$lines;
20053
20054 // Mine inserted
20055 (_hunk$lines = hunk.lines).push.apply(_hunk$lines, _toConsumableArray(collectChange(mine)));
20056 } else if (theirCurrent[0] === '+' && mineCurrent[0] === ' ') {
20057 var _hunk$lines2;
20058
20059 // Theirs inserted
20060 (_hunk$lines2 = hunk.lines).push.apply(_hunk$lines2, _toConsumableArray(collectChange(their)));
20061 } else if (mineCurrent[0] === '-' && theirCurrent[0] === ' ') {
20062 // Mine removed or edited
20063 removal(hunk, mine, their);
20064 } else if (theirCurrent[0] === '-' && mineCurrent[0] === ' ') {
20065 // Their removed or edited
20066 removal(hunk, their, mine, true);
20067 } else if (mineCurrent === theirCurrent) {
20068 // Context identity
20069 hunk.lines.push(mineCurrent);
20070 mine.index++;
20071 their.index++;
20072 } else {
20073 // Context mismatch
20074 conflict(hunk, collectChange(mine), collectChange(their));
20075 }
20076 } // Now push anything that may be remaining
20077
20078
20079 insertTrailing(hunk, mine);
20080 insertTrailing(hunk, their);
20081 calcLineCount(hunk);
20082 }
20083
20084 function mutualChange(hunk, mine, their) {
20085 var myChanges = collectChange(mine),
20086 theirChanges = collectChange(their);
20087
20088 if (allRemoves(myChanges) && allRemoves(theirChanges)) {
20089 // Special case for remove changes that are supersets of one another
20090 if (arrayStartsWith(myChanges, theirChanges) && skipRemoveSuperset(their, myChanges, myChanges.length - theirChanges.length)) {
20091 var _hunk$lines3;
20092
20093 (_hunk$lines3 = hunk.lines).push.apply(_hunk$lines3, _toConsumableArray(myChanges));
20094
20095 return;
20096 } else if (arrayStartsWith(theirChanges, myChanges) && skipRemoveSuperset(mine, theirChanges, theirChanges.length - myChanges.length)) {
20097 var _hunk$lines4;
20098
20099 (_hunk$lines4 = hunk.lines).push.apply(_hunk$lines4, _toConsumableArray(theirChanges));
20100
20101 return;
20102 }
20103 } else if (arrayEqual(myChanges, theirChanges)) {
20104 var _hunk$lines5;
20105
20106 (_hunk$lines5 = hunk.lines).push.apply(_hunk$lines5, _toConsumableArray(myChanges));
20107
20108 return;
20109 }
20110
20111 conflict(hunk, myChanges, theirChanges);
20112 }
20113
20114 function removal(hunk, mine, their, swap) {
20115 var myChanges = collectChange(mine),
20116 theirChanges = collectContext(their, myChanges);
20117
20118 if (theirChanges.merged) {
20119 var _hunk$lines6;
20120
20121 (_hunk$lines6 = hunk.lines).push.apply(_hunk$lines6, _toConsumableArray(theirChanges.merged));
20122 } else {
20123 conflict(hunk, swap ? theirChanges : myChanges, swap ? myChanges : theirChanges);
20124 }
20125 }
20126
20127 function conflict(hunk, mine, their) {
20128 hunk.conflict = true;
20129 hunk.lines.push({
20130 conflict: true,
20131 mine: mine,
20132 theirs: their
20133 });
20134 }
20135
20136 function insertLeading(hunk, insert, their) {
20137 while (insert.offset < their.offset && insert.index < insert.lines.length) {
20138 var line = insert.lines[insert.index++];
20139 hunk.lines.push(line);
20140 insert.offset++;
20141 }
20142 }
20143
20144 function insertTrailing(hunk, insert) {
20145 while (insert.index < insert.lines.length) {
20146 var line = insert.lines[insert.index++];
20147 hunk.lines.push(line);
20148 }
20149 }
20150
20151 function collectChange(state) {
20152 var ret = [],
20153 operation = state.lines[state.index][0];
20154
20155 while (state.index < state.lines.length) {
20156 var line = state.lines[state.index]; // Group additions that are immediately after subtractions and treat them as one "atomic" modify change.
20157
20158 if (operation === '-' && line[0] === '+') {
20159 operation = '+';
20160 }
20161
20162 if (operation === line[0]) {
20163 ret.push(line);
20164 state.index++;
20165 } else {
20166 break;
20167 }
20168 }
20169
20170 return ret;
20171 }
20172
20173 function collectContext(state, matchChanges) {
20174 var changes = [],
20175 merged = [],
20176 matchIndex = 0,
20177 contextChanges = false,
20178 conflicted = false;
20179
20180 while (matchIndex < matchChanges.length && state.index < state.lines.length) {
20181 var change = state.lines[state.index],
20182 match = matchChanges[matchIndex]; // Once we've hit our add, then we are done
20183
20184 if (match[0] === '+') {
20185 break;
20186 }
20187
20188 contextChanges = contextChanges || change[0] !== ' ';
20189 merged.push(match);
20190 matchIndex++; // Consume any additions in the other block as a conflict to attempt
20191 // to pull in the remaining context after this
20192
20193 if (change[0] === '+') {
20194 conflicted = true;
20195
20196 while (change[0] === '+') {
20197 changes.push(change);
20198 change = state.lines[++state.index];
20199 }
20200 }
20201
20202 if (match.substr(1) === change.substr(1)) {
20203 changes.push(change);
20204 state.index++;
20205 } else {
20206 conflicted = true;
20207 }
20208 }
20209
20210 if ((matchChanges[matchIndex] || '')[0] === '+' && contextChanges) {
20211 conflicted = true;
20212 }
20213
20214 if (conflicted) {
20215 return changes;
20216 }
20217
20218 while (matchIndex < matchChanges.length) {
20219 merged.push(matchChanges[matchIndex++]);
20220 }
20221
20222 return {
20223 merged: merged,
20224 changes: changes
20225 };
20226 }
20227
20228 function allRemoves(changes) {
20229 return changes.reduce(function (prev, change) {
20230 return prev && change[0] === '-';
20231 }, true);
20232 }
20233
20234 function skipRemoveSuperset(state, removeChanges, delta) {
20235 for (var i = 0; i < delta; i++) {
20236 var changeContent = removeChanges[removeChanges.length - delta + i].substr(1);
20237
20238 if (state.lines[state.index + i] !== ' ' + changeContent) {
20239 return false;
20240 }
20241 }
20242
20243 state.index += delta;
20244 return true;
20245 }
20246
20247 function calcOldNewLineCount(lines) {
20248 var oldLines = 0;
20249 var newLines = 0;
20250 lines.forEach(function (line) {
20251 if (typeof line !== 'string') {
20252 var myCount = calcOldNewLineCount(line.mine);
20253 var theirCount = calcOldNewLineCount(line.theirs);
20254
20255 if (oldLines !== undefined) {
20256 if (myCount.oldLines === theirCount.oldLines) {
20257 oldLines += myCount.oldLines;
20258 } else {
20259 oldLines = undefined;
20260 }
20261 }
20262
20263 if (newLines !== undefined) {
20264 if (myCount.newLines === theirCount.newLines) {
20265 newLines += myCount.newLines;
20266 } else {
20267 newLines = undefined;
20268 }
20269 }
20270 } else {
20271 if (newLines !== undefined && (line[0] === '+' || line[0] === ' ')) {
20272 newLines++;
20273 }
20274
20275 if (oldLines !== undefined && (line[0] === '-' || line[0] === ' ')) {
20276 oldLines++;
20277 }
20278 }
20279 });
20280 return {
20281 oldLines: oldLines,
20282 newLines: newLines
20283 };
20284 }
20285
20286 // See: http://code.google.com/p/google-diff-match-patch/wiki/API
20287 function convertChangesToDMP(changes) {
20288 var ret = [],
20289 change,
20290 operation;
20291
20292 for (var i = 0; i < changes.length; i++) {
20293 change = changes[i];
20294
20295 if (change.added) {
20296 operation = 1;
20297 } else if (change.removed) {
20298 operation = -1;
20299 } else {
20300 operation = 0;
20301 }
20302
20303 ret.push([operation, change.value]);
20304 }
20305
20306 return ret;
20307 }
20308
20309 function convertChangesToXML(changes) {
20310 var ret = [];
20311
20312 for (var i = 0; i < changes.length; i++) {
20313 var change = changes[i];
20314
20315 if (change.added) {
20316 ret.push('<ins>');
20317 } else if (change.removed) {
20318 ret.push('<del>');
20319 }
20320
20321 ret.push(escapeHTML(change.value));
20322
20323 if (change.added) {
20324 ret.push('</ins>');
20325 } else if (change.removed) {
20326 ret.push('</del>');
20327 }
20328 }
20329
20330 return ret.join('');
20331 }
20332
20333 function escapeHTML(s) {
20334 var n = s;
20335 n = n.replace(/&/g, '&amp;');
20336 n = n.replace(/</g, '&lt;');
20337 n = n.replace(/>/g, '&gt;');
20338 n = n.replace(/"/g, '&quot;');
20339 return n;
20340 }
20341
20342
20343
20344
20345 /***/ }),
20346
20347 /***/ "../node_modules/hast-util-whitespace/index.js":
20348 /*!*****************************************************!*\
20349 !*** ../node_modules/hast-util-whitespace/index.js ***!
20350 \*****************************************************/
20351 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
20352
20353 "use strict";
20354 __webpack_require__.r(__webpack_exports__);
20355 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
20356 /* harmony export */ whitespace: () => (/* binding */ whitespace)
20357 /* harmony export */ });
20358 /**
20359 * Check if the given value is *inter-element whitespace*.
20360 *
20361 * @param {unknown} thing
20362 * Thing to check (typically `Node` or `string`).
20363 * @returns {boolean}
20364 * Whether the `value` is inter-element whitespace (`boolean`): consisting of
20365 * zero or more of space, tab (`\t`), line feed (`\n`), carriage return
20366 * (`\r`), or form feed (`\f`).
20367 * If a node is passed it must be a `Text` node, whose `value` field is
20368 * checked.
20369 */
20370 function whitespace(thing) {
20371 /** @type {string} */
20372 const value =
20373 // @ts-expect-error looks like a node.
20374 thing && typeof thing === 'object' && thing.type === 'text'
20375 ? // @ts-expect-error looks like a text.
20376 thing.value || ''
20377 : thing
20378
20379 // HTML whitespace expression.
20380 // See <https://infra.spec.whatwg.org/#ascii-whitespace>.
20381 return typeof value === 'string' && value.replace(/[ \t\n\f\r]/g, '') === ''
20382 }
20383
20384
20385 /***/ }),
20386
20387 /***/ "../node_modules/is-plain-obj/index.js":
20388 /*!*********************************************!*\
20389 !*** ../node_modules/is-plain-obj/index.js ***!
20390 \*********************************************/
20391 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
20392
20393 "use strict";
20394 __webpack_require__.r(__webpack_exports__);
20395 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
20396 /* harmony export */ "default": () => (/* binding */ isPlainObject)
20397 /* harmony export */ });
20398 function isPlainObject(value) {
20399 if (typeof value !== 'object' || value === null) {
20400 return false;
20401 }
20402
20403 const prototype = Object.getPrototypeOf(value);
20404 return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in value) && !(Symbol.iterator in value);
20405 }
20406
20407
20408 /***/ }),
20409
20410 /***/ "../node_modules/mdast-util-definitions/lib/index.js":
20411 /*!***********************************************************!*\
20412 !*** ../node_modules/mdast-util-definitions/lib/index.js ***!
20413 \***********************************************************/
20414 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
20415
20416 "use strict";
20417 __webpack_require__.r(__webpack_exports__);
20418 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
20419 /* harmony export */ definitions: () => (/* binding */ definitions)
20420 /* harmony export */ });
20421 /* harmony import */ var unist_util_visit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! unist-util-visit */ "../node_modules/unist-util-visit/lib/index.js");
20422 /**
20423 * @typedef {import('mdast').Root} Root
20424 * @typedef {import('mdast').Content} Content
20425 * @typedef {import('mdast').Definition} Definition
20426 */
20427
20428 /**
20429 * @typedef {Root | Content} Node
20430 *
20431 * @callback GetDefinition
20432 * Get a definition by identifier.
20433 * @param {string | null | undefined} [identifier]
20434 * Identifier of definition.
20435 * @returns {Definition | null}
20436 * Definition corresponding to `identifier` or `null`.
20437 */
20438
20439
20440
20441 const own = {}.hasOwnProperty
20442
20443 /**
20444 * Find definitions in `tree`.
20445 *
20446 * Uses CommonMark precedence, which means that earlier definitions are
20447 * preferred over duplicate later definitions.
20448 *
20449 * @param {Node} tree
20450 * Tree to check.
20451 * @returns {GetDefinition}
20452 * Getter.
20453 */
20454 function definitions(tree) {
20455 /** @type {Record<string, Definition>} */
20456 const cache = Object.create(null)
20457
20458 if (!tree || !tree.type) {
20459 throw new Error('mdast-util-definitions expected node')
20460 }
20461
20462 (0,unist_util_visit__WEBPACK_IMPORTED_MODULE_0__.visit)(tree, 'definition', (definition) => {
20463 const id = clean(definition.identifier)
20464 if (id && !own.call(cache, id)) {
20465 cache[id] = definition
20466 }
20467 })
20468
20469 return definition
20470
20471 /** @type {GetDefinition} */
20472 function definition(identifier) {
20473 const id = clean(identifier)
20474 // To do: next major: return `undefined` when not found.
20475 return id && own.call(cache, id) ? cache[id] : null
20476 }
20477 }
20478
20479 /**
20480 * @param {string | null | undefined} [value]
20481 * @returns {string}
20482 */
20483 function clean(value) {
20484 return String(value || '').toUpperCase()
20485 }
20486
20487
20488 /***/ }),
20489
20490 /***/ "../node_modules/mdast-util-from-markdown/dev/lib/index.js":
20491 /*!*****************************************************************!*\
20492 !*** ../node_modules/mdast-util-from-markdown/dev/lib/index.js ***!
20493 \*****************************************************************/
20494 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
20495
20496 "use strict";
20497 __webpack_require__.r(__webpack_exports__);
20498 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
20499 /* harmony export */ fromMarkdown: () => (/* binding */ fromMarkdown)
20500 /* harmony export */ });
20501 /* harmony import */ var uvu_assert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uvu/assert */ "../node_modules/uvu/assert/index.mjs");
20502 /* 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");
20503 /* harmony import */ var micromark_lib_parse_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! micromark/lib/parse.js */ "../node_modules/micromark/dev/lib/parse.js");
20504 /* harmony import */ var micromark_lib_preprocess_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! micromark/lib/preprocess.js */ "../node_modules/micromark/dev/lib/preprocess.js");
20505 /* harmony import */ var micromark_lib_postprocess_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark/lib/postprocess.js */ "../node_modules/micromark/dev/lib/postprocess.js");
20506 /* 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");
20507 /* 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");
20508 /* 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");
20509 /* 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");
20510 /* 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");
20511 /* 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");
20512 /* 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");
20513 /* 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");
20514 /**
20515 * @typedef {import('micromark-util-types').Encoding} Encoding
20516 * @typedef {import('micromark-util-types').Event} Event
20517 * @typedef {import('micromark-util-types').ParseOptions} ParseOptions
20518 * @typedef {import('micromark-util-types').Token} Token
20519 * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext
20520 * @typedef {import('micromark-util-types').Value} Value
20521 *
20522 * @typedef {import('unist').Parent} UnistParent
20523 * @typedef {import('unist').Point} Point
20524 *
20525 * @typedef {import('mdast').PhrasingContent} PhrasingContent
20526 * @typedef {import('mdast').StaticPhrasingContent} StaticPhrasingContent
20527 * @typedef {import('mdast').Content} Content
20528 * @typedef {import('mdast').Break} Break
20529 * @typedef {import('mdast').Blockquote} Blockquote
20530 * @typedef {import('mdast').Code} Code
20531 * @typedef {import('mdast').Definition} Definition
20532 * @typedef {import('mdast').Emphasis} Emphasis
20533 * @typedef {import('mdast').Heading} Heading
20534 * @typedef {import('mdast').HTML} HTML
20535 * @typedef {import('mdast').Image} Image
20536 * @typedef {import('mdast').ImageReference} ImageReference
20537 * @typedef {import('mdast').InlineCode} InlineCode
20538 * @typedef {import('mdast').Link} Link
20539 * @typedef {import('mdast').LinkReference} LinkReference
20540 * @typedef {import('mdast').List} List
20541 * @typedef {import('mdast').ListItem} ListItem
20542 * @typedef {import('mdast').Paragraph} Paragraph
20543 * @typedef {import('mdast').Root} Root
20544 * @typedef {import('mdast').Strong} Strong
20545 * @typedef {import('mdast').Text} Text
20546 * @typedef {import('mdast').ThematicBreak} ThematicBreak
20547 * @typedef {import('mdast').ReferenceType} ReferenceType
20548 * @typedef {import('../index.js').CompileData} CompileData
20549 */
20550
20551 /**
20552 * @typedef {Root | Content} Node
20553 * @typedef {Extract<Node, UnistParent>} Parent
20554 *
20555 * @typedef {Omit<UnistParent, 'type' | 'children'> & {type: 'fragment', children: Array<PhrasingContent>}} Fragment
20556 */
20557
20558 /**
20559 * @callback Transform
20560 * Extra transform, to change the AST afterwards.
20561 * @param {Root} tree
20562 * Tree to transform.
20563 * @returns {Root | undefined | null | void}
20564 * New tree or nothing (in which case the current tree is used).
20565 *
20566 * @callback Handle
20567 * Handle a token.
20568 * @param {CompileContext} this
20569 * Context.
20570 * @param {Token} token
20571 * Current token.
20572 * @returns {void}
20573 * Nothing.
20574 *
20575 * @typedef {Record<string, Handle>} Handles
20576 * Token types mapping to handles
20577 *
20578 * @callback OnEnterError
20579 * Handle the case where the `right` token is open, but it is closed (by the
20580 * `left` token) or because we reached the end of the document.
20581 * @param {Omit<CompileContext, 'sliceSerialize'>} this
20582 * Context.
20583 * @param {Token | undefined} left
20584 * Left token.
20585 * @param {Token} right
20586 * Right token.
20587 * @returns {void}
20588 * Nothing.
20589 *
20590 * @callback OnExitError
20591 * Handle the case where the `right` token is open but it is closed by
20592 * exiting the `left` token.
20593 * @param {Omit<CompileContext, 'sliceSerialize'>} this
20594 * Context.
20595 * @param {Token} left
20596 * Left token.
20597 * @param {Token} right
20598 * Right token.
20599 * @returns {void}
20600 * Nothing.
20601 *
20602 * @typedef {[Token, OnEnterError | undefined]} TokenTuple
20603 * Open token on the stack, with an optional error handler for when
20604 * that token isn’t closed properly.
20605 */
20606
20607 /**
20608 * @typedef Config
20609 * Configuration.
20610 *
20611 * We have our defaults, but extensions will add more.
20612 * @property {Array<string>} canContainEols
20613 * Token types where line endings are used.
20614 * @property {Handles} enter
20615 * Opening handles.
20616 * @property {Handles} exit
20617 * Closing handles.
20618 * @property {Array<Transform>} transforms
20619 * Tree transforms.
20620 *
20621 * @typedef {Partial<Config>} Extension
20622 * Change how markdown tokens from micromark are turned into mdast.
20623 *
20624 * @typedef CompileContext
20625 * mdast compiler context.
20626 * @property {Array<Node | Fragment>} stack
20627 * Stack of nodes.
20628 * @property {Array<TokenTuple>} tokenStack
20629 * Stack of tokens.
20630 * @property {<Key extends keyof CompileData>(key: Key) => CompileData[Key]} getData
20631 * Get data from the key/value store.
20632 * @property {<Key extends keyof CompileData>(key: Key, value?: CompileData[Key]) => void} setData
20633 * Set data into the key/value store.
20634 * @property {(this: CompileContext) => void} buffer
20635 * Capture some of the output data.
20636 * @property {(this: CompileContext) => string} resume
20637 * Stop capturing and access the output data.
20638 * @property {<Kind extends Node>(this: CompileContext, node: Kind, token: Token, onError?: OnEnterError) => Kind} enter
20639 * Enter a token.
20640 * @property {(this: CompileContext, token: Token, onError?: OnExitError) => Node} exit
20641 * Exit a token.
20642 * @property {TokenizeContext['sliceSerialize']} sliceSerialize
20643 * Get the string value of a token.
20644 * @property {Config} config
20645 * Configuration.
20646 *
20647 * @typedef FromMarkdownOptions
20648 * Configuration for how to build mdast.
20649 * @property {Array<Extension | Array<Extension>> | null | undefined} [mdastExtensions]
20650 * Extensions for this utility to change how tokens are turned into a tree.
20651 *
20652 * @typedef {ParseOptions & FromMarkdownOptions} Options
20653 * Configuration.
20654 */
20655
20656 // To do: micromark: create a registry of tokens?
20657 // To do: next major: don’t return given `Node` from `enter`.
20658 // To do: next major: remove setter/getter.
20659
20660
20661
20662
20663
20664
20665
20666
20667
20668
20669
20670
20671
20672
20673
20674 const own = {}.hasOwnProperty
20675
20676 /**
20677 * @param value
20678 * Markdown to parse.
20679 * @param encoding
20680 * Character encoding for when `value` is `Buffer`.
20681 * @param options
20682 * Configuration.
20683 * @returns
20684 * mdast tree.
20685 */
20686 const fromMarkdown =
20687 /**
20688 * @type {(
20689 * ((value: Value, encoding: Encoding, options?: Options | null | undefined) => Root) &
20690 * ((value: Value, options?: Options | null | undefined) => Root)
20691 * )}
20692 */
20693 (
20694 /**
20695 * @param {Value} value
20696 * @param {Encoding | Options | null | undefined} [encoding]
20697 * @param {Options | null | undefined} [options]
20698 * @returns {Root}
20699 */
20700 function (value, encoding, options) {
20701 if (typeof encoding !== 'string') {
20702 options = encoding
20703 encoding = undefined
20704 }
20705
20706 return compiler(options)(
20707 (0,micromark_lib_postprocess_js__WEBPACK_IMPORTED_MODULE_1__.postprocess)(
20708 (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))
20709 )
20710 )
20711 }
20712 )
20713
20714 /**
20715 * Note this compiler only understand complete buffering, not streaming.
20716 *
20717 * @param {Options | null | undefined} [options]
20718 */
20719 function compiler(options) {
20720 /** @type {Config} */
20721 const config = {
20722 transforms: [],
20723 canContainEols: ['emphasis', 'fragment', 'heading', 'paragraph', 'strong'],
20724 enter: {
20725 autolink: opener(link),
20726 autolinkProtocol: onenterdata,
20727 autolinkEmail: onenterdata,
20728 atxHeading: opener(heading),
20729 blockQuote: opener(blockQuote),
20730 characterEscape: onenterdata,
20731 characterReference: onenterdata,
20732 codeFenced: opener(codeFlow),
20733 codeFencedFenceInfo: buffer,
20734 codeFencedFenceMeta: buffer,
20735 codeIndented: opener(codeFlow, buffer),
20736 codeText: opener(codeText, buffer),
20737 codeTextData: onenterdata,
20738 data: onenterdata,
20739 codeFlowValue: onenterdata,
20740 definition: opener(definition),
20741 definitionDestinationString: buffer,
20742 definitionLabelString: buffer,
20743 definitionTitleString: buffer,
20744 emphasis: opener(emphasis),
20745 hardBreakEscape: opener(hardBreak),
20746 hardBreakTrailing: opener(hardBreak),
20747 htmlFlow: opener(html, buffer),
20748 htmlFlowData: onenterdata,
20749 htmlText: opener(html, buffer),
20750 htmlTextData: onenterdata,
20751 image: opener(image),
20752 label: buffer,
20753 link: opener(link),
20754 listItem: opener(listItem),
20755 listItemValue: onenterlistitemvalue,
20756 listOrdered: opener(list, onenterlistordered),
20757 listUnordered: opener(list),
20758 paragraph: opener(paragraph),
20759 reference: onenterreference,
20760 referenceString: buffer,
20761 resourceDestinationString: buffer,
20762 resourceTitleString: buffer,
20763 setextHeading: opener(heading),
20764 strong: opener(strong),
20765 thematicBreak: opener(thematicBreak)
20766 },
20767 exit: {
20768 atxHeading: closer(),
20769 atxHeadingSequence: onexitatxheadingsequence,
20770 autolink: closer(),
20771 autolinkEmail: onexitautolinkemail,
20772 autolinkProtocol: onexitautolinkprotocol,
20773 blockQuote: closer(),
20774 characterEscapeValue: onexitdata,
20775 characterReferenceMarkerHexadecimal: onexitcharacterreferencemarker,
20776 characterReferenceMarkerNumeric: onexitcharacterreferencemarker,
20777 characterReferenceValue: onexitcharacterreferencevalue,
20778 codeFenced: closer(onexitcodefenced),
20779 codeFencedFence: onexitcodefencedfence,
20780 codeFencedFenceInfo: onexitcodefencedfenceinfo,
20781 codeFencedFenceMeta: onexitcodefencedfencemeta,
20782 codeFlowValue: onexitdata,
20783 codeIndented: closer(onexitcodeindented),
20784 codeText: closer(onexitcodetext),
20785 codeTextData: onexitdata,
20786 data: onexitdata,
20787 definition: closer(),
20788 definitionDestinationString: onexitdefinitiondestinationstring,
20789 definitionLabelString: onexitdefinitionlabelstring,
20790 definitionTitleString: onexitdefinitiontitlestring,
20791 emphasis: closer(),
20792 hardBreakEscape: closer(onexithardbreak),
20793 hardBreakTrailing: closer(onexithardbreak),
20794 htmlFlow: closer(onexithtmlflow),
20795 htmlFlowData: onexitdata,
20796 htmlText: closer(onexithtmltext),
20797 htmlTextData: onexitdata,
20798 image: closer(onexitimage),
20799 label: onexitlabel,
20800 labelText: onexitlabeltext,
20801 lineEnding: onexitlineending,
20802 link: closer(onexitlink),
20803 listItem: closer(),
20804 listOrdered: closer(),
20805 listUnordered: closer(),
20806 paragraph: closer(),
20807 referenceString: onexitreferencestring,
20808 resourceDestinationString: onexitresourcedestinationstring,
20809 resourceTitleString: onexitresourcetitlestring,
20810 resource: onexitresource,
20811 setextHeading: closer(onexitsetextheading),
20812 setextHeadingLineSequence: onexitsetextheadinglinesequence,
20813 setextHeadingText: onexitsetextheadingtext,
20814 strong: closer(),
20815 thematicBreak: closer()
20816 }
20817 }
20818
20819 configure(config, (options || {}).mdastExtensions || [])
20820
20821 /** @type {CompileData} */
20822 const data = {}
20823
20824 return compile
20825
20826 /**
20827 * Turn micromark events into an mdast tree.
20828 *
20829 * @param {Array<Event>} events
20830 * Events.
20831 * @returns {Root}
20832 * mdast tree.
20833 */
20834 function compile(events) {
20835 /** @type {Root} */
20836 let tree = {type: 'root', children: []}
20837 /** @type {Omit<CompileContext, 'sliceSerialize'>} */
20838 const context = {
20839 stack: [tree],
20840 tokenStack: [],
20841 config,
20842 enter,
20843 exit,
20844 buffer,
20845 resume,
20846 setData,
20847 getData
20848 }
20849 /** @type {Array<number>} */
20850 const listStack = []
20851 let index = -1
20852
20853 while (++index < events.length) {
20854 // We preprocess lists to add `listItem` tokens, and to infer whether
20855 // items the list itself are spread out.
20856 if (
20857 events[index][1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.listOrdered ||
20858 events[index][1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.listUnordered
20859 ) {
20860 if (events[index][0] === 'enter') {
20861 listStack.push(index)
20862 } else {
20863 const tail = listStack.pop()
20864 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(typeof tail === 'number', 'expected list ot be open')
20865 index = prepareList(events, tail, index)
20866 }
20867 }
20868 }
20869
20870 index = -1
20871
20872 while (++index < events.length) {
20873 const handler = config[events[index][0]]
20874
20875 if (own.call(handler, events[index][1].type)) {
20876 handler[events[index][1].type].call(
20877 Object.assign(
20878 {sliceSerialize: events[index][2].sliceSerialize},
20879 context
20880 ),
20881 events[index][1]
20882 )
20883 }
20884 }
20885
20886 // Handle tokens still being open.
20887 if (context.tokenStack.length > 0) {
20888 const tail = context.tokenStack[context.tokenStack.length - 1]
20889 const handler = tail[1] || defaultOnError
20890 handler.call(context, undefined, tail[0])
20891 }
20892
20893 // Figure out `root` position.
20894 tree.position = {
20895 start: point(
20896 events.length > 0 ? events[0][1].start : {line: 1, column: 1, offset: 0}
20897 ),
20898 end: point(
20899 events.length > 0
20900 ? events[events.length - 2][1].end
20901 : {line: 1, column: 1, offset: 0}
20902 )
20903 }
20904
20905 // Call transforms.
20906 index = -1
20907 while (++index < config.transforms.length) {
20908 tree = config.transforms[index](tree) || tree
20909 }
20910
20911 return tree
20912 }
20913
20914 /**
20915 * @param {Array<Event>} events
20916 * @param {number} start
20917 * @param {number} length
20918 * @returns {number}
20919 */
20920 function prepareList(events, start, length) {
20921 let index = start - 1
20922 let containerBalance = -1
20923 let listSpread = false
20924 /** @type {Token | undefined} */
20925 let listItem
20926 /** @type {number | undefined} */
20927 let lineIndex
20928 /** @type {number | undefined} */
20929 let firstBlankLineIndex
20930 /** @type {boolean | undefined} */
20931 let atMarker
20932
20933 while (++index <= length) {
20934 const event = events[index]
20935
20936 if (
20937 event[1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.listUnordered ||
20938 event[1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.listOrdered ||
20939 event[1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.blockQuote
20940 ) {
20941 if (event[0] === 'enter') {
20942 containerBalance++
20943 } else {
20944 containerBalance--
20945 }
20946
20947 atMarker = undefined
20948 } else if (event[1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.lineEndingBlank) {
20949 if (event[0] === 'enter') {
20950 if (
20951 listItem &&
20952 !atMarker &&
20953 !containerBalance &&
20954 !firstBlankLineIndex
20955 ) {
20956 firstBlankLineIndex = index
20957 }
20958
20959 atMarker = undefined
20960 }
20961 } else if (
20962 event[1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.linePrefix ||
20963 event[1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.listItemValue ||
20964 event[1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.listItemMarker ||
20965 event[1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.listItemPrefix ||
20966 event[1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.listItemPrefixWhitespace
20967 ) {
20968 // Empty.
20969 } else {
20970 atMarker = undefined
20971 }
20972
20973 if (
20974 (!containerBalance &&
20975 event[0] === 'enter' &&
20976 event[1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.listItemPrefix) ||
20977 (containerBalance === -1 &&
20978 event[0] === 'exit' &&
20979 (event[1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.listUnordered ||
20980 event[1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.listOrdered))
20981 ) {
20982 if (listItem) {
20983 let tailIndex = index
20984 lineIndex = undefined
20985
20986 while (tailIndex--) {
20987 const tailEvent = events[tailIndex]
20988
20989 if (
20990 tailEvent[1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.lineEnding ||
20991 tailEvent[1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.lineEndingBlank
20992 ) {
20993 if (tailEvent[0] === 'exit') continue
20994
20995 if (lineIndex) {
20996 events[lineIndex][1].type = micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.lineEndingBlank
20997 listSpread = true
20998 }
20999
21000 tailEvent[1].type = micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.lineEnding
21001 lineIndex = tailIndex
21002 } else if (
21003 tailEvent[1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.linePrefix ||
21004 tailEvent[1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.blockQuotePrefix ||
21005 tailEvent[1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.blockQuotePrefixWhitespace ||
21006 tailEvent[1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.blockQuoteMarker ||
21007 tailEvent[1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.listItemIndent
21008 ) {
21009 // Empty
21010 } else {
21011 break
21012 }
21013 }
21014
21015 if (
21016 firstBlankLineIndex &&
21017 (!lineIndex || firstBlankLineIndex < lineIndex)
21018 ) {
21019 listItem._spread = true
21020 }
21021
21022 // Fix position.
21023 listItem.end = Object.assign(
21024 {},
21025 lineIndex ? events[lineIndex][1].start : event[1].end
21026 )
21027
21028 events.splice(lineIndex || index, 0, ['exit', listItem, event[2]])
21029 index++
21030 length++
21031 }
21032
21033 // Create a new list item.
21034 if (event[1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.listItemPrefix) {
21035 listItem = {
21036 type: 'listItem',
21037 _spread: false,
21038 start: Object.assign({}, event[1].start),
21039 // @ts-expect-error: we’ll add `end` in a second.
21040 end: undefined
21041 }
21042 // @ts-expect-error: `listItem` is most definitely defined, TS...
21043 events.splice(index, 0, ['enter', listItem, event[2]])
21044 index++
21045 length++
21046 firstBlankLineIndex = undefined
21047 atMarker = true
21048 }
21049 }
21050 }
21051
21052 events[start][1]._spread = listSpread
21053 return length
21054 }
21055
21056 /**
21057 * Set data.
21058 *
21059 * @template {keyof CompileData} Key
21060 * Field type.
21061 * @param {Key} key
21062 * Key of field.
21063 * @param {CompileData[Key]} [value]
21064 * New value.
21065 * @returns {void}
21066 * Nothing.
21067 */
21068 function setData(key, value) {
21069 data[key] = value
21070 }
21071
21072 /**
21073 * Get data.
21074 *
21075 * @template {keyof CompileData} Key
21076 * Field type.
21077 * @param {Key} key
21078 * Key of field.
21079 * @returns {CompileData[Key]}
21080 * Value.
21081 */
21082 function getData(key) {
21083 return data[key]
21084 }
21085
21086 /**
21087 * Create an opener handle.
21088 *
21089 * @param {(token: Token) => Node} create
21090 * Create a node.
21091 * @param {Handle} [and]
21092 * Optional function to also run.
21093 * @returns {Handle}
21094 * Handle.
21095 */
21096 function opener(create, and) {
21097 return open
21098
21099 /**
21100 * @this {CompileContext}
21101 * @param {Token} token
21102 * @returns {void}
21103 */
21104 function open(token) {
21105 enter.call(this, create(token), token)
21106 if (and) and.call(this, token)
21107 }
21108 }
21109
21110 /**
21111 * @this {CompileContext}
21112 * @returns {void}
21113 */
21114 function buffer() {
21115 this.stack.push({type: 'fragment', children: []})
21116 }
21117
21118 /**
21119 * @template {Node} Kind
21120 * Node type.
21121 * @this {CompileContext}
21122 * Context.
21123 * @param {Kind} node
21124 * Node to enter.
21125 * @param {Token} token
21126 * Corresponding token.
21127 * @param {OnEnterError | undefined} [errorHandler]
21128 * Handle the case where this token is open, but it is closed by something else.
21129 * @returns {Kind}
21130 * The given node.
21131 */
21132 function enter(node, token, errorHandler) {
21133 const parent = this.stack[this.stack.length - 1]
21134 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(parent, 'expected `parent`')
21135 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)('children' in parent, 'expected `parent`')
21136 // @ts-expect-error: Assume `Node` can exist as a child of `parent`.
21137 parent.children.push(node)
21138 this.stack.push(node)
21139 this.tokenStack.push([token, errorHandler])
21140 // @ts-expect-error: `end` will be patched later.
21141 node.position = {start: point(token.start)}
21142 return node
21143 }
21144
21145 /**
21146 * Create a closer handle.
21147 *
21148 * @param {Handle} [and]
21149 * Optional function to also run.
21150 * @returns {Handle}
21151 * Handle.
21152 */
21153 function closer(and) {
21154 return close
21155
21156 /**
21157 * @this {CompileContext}
21158 * @param {Token} token
21159 * @returns {void}
21160 */
21161 function close(token) {
21162 if (and) and.call(this, token)
21163 exit.call(this, token)
21164 }
21165 }
21166
21167 /**
21168 * @this {CompileContext}
21169 * Context.
21170 * @param {Token} token
21171 * Corresponding token.
21172 * @param {OnExitError | undefined} [onExitError]
21173 * Handle the case where another token is open.
21174 * @returns {Node}
21175 * The closed node.
21176 */
21177 function exit(token, onExitError) {
21178 const node = this.stack.pop()
21179 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node, 'expected `node`')
21180 const open = this.tokenStack.pop()
21181
21182 if (!open) {
21183 throw new Error(
21184 'Cannot close `' +
21185 token.type +
21186 '` (' +
21187 (0,unist_util_stringify_position__WEBPACK_IMPORTED_MODULE_5__.stringifyPosition)({start: token.start, end: token.end}) +
21188 '): it’s not open'
21189 )
21190 } else if (open[0].type !== token.type) {
21191 if (onExitError) {
21192 onExitError.call(this, token, open[0])
21193 } else {
21194 const handler = open[1] || defaultOnError
21195 handler.call(this, token, open[0])
21196 }
21197 }
21198
21199 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node.type !== 'fragment', 'unexpected fragment `exit`ed')
21200 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node.position, 'expected `position` to be defined')
21201 node.position.end = point(token.end)
21202 return node
21203 }
21204
21205 /**
21206 * @this {CompileContext}
21207 * @returns {string}
21208 */
21209 function resume() {
21210 return (0,mdast_util_to_string__WEBPACK_IMPORTED_MODULE_6__.toString)(this.stack.pop())
21211 }
21212
21213 //
21214 // Handlers.
21215 //
21216
21217 /**
21218 * @this {CompileContext}
21219 * @type {Handle}
21220 */
21221 function onenterlistordered() {
21222 setData('expectingFirstListItemValue', true)
21223 }
21224
21225 /**
21226 * @this {CompileContext}
21227 * @type {Handle}
21228 */
21229 function onenterlistitemvalue(token) {
21230 if (getData('expectingFirstListItemValue')) {
21231 const ancestor = this.stack[this.stack.length - 2]
21232 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(ancestor, 'expected nodes on stack')
21233 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(ancestor.type === 'list', 'expected list on stack')
21234 ancestor.start = Number.parseInt(
21235 this.sliceSerialize(token),
21236 micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_7__.constants.numericBaseDecimal
21237 )
21238 setData('expectingFirstListItemValue')
21239 }
21240 }
21241
21242 /**
21243 * @this {CompileContext}
21244 * @type {Handle}
21245 */
21246 function onexitcodefencedfenceinfo() {
21247 const data = this.resume()
21248 const node = this.stack[this.stack.length - 1]
21249 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node, 'expected node on stack')
21250 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node.type === 'code', 'expected code on stack')
21251 node.lang = data
21252 }
21253
21254 /**
21255 * @this {CompileContext}
21256 * @type {Handle}
21257 */
21258 function onexitcodefencedfencemeta() {
21259 const data = this.resume()
21260 const node = this.stack[this.stack.length - 1]
21261 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node, 'expected node on stack')
21262 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node.type === 'code', 'expected code on stack')
21263 node.meta = data
21264 }
21265
21266 /**
21267 * @this {CompileContext}
21268 * @type {Handle}
21269 */
21270 function onexitcodefencedfence() {
21271 // Exit if this is the closing fence.
21272 if (getData('flowCodeInside')) return
21273 this.buffer()
21274 setData('flowCodeInside', true)
21275 }
21276
21277 /**
21278 * @this {CompileContext}
21279 * @type {Handle}
21280 */
21281 function onexitcodefenced() {
21282 const data = this.resume()
21283 const node = this.stack[this.stack.length - 1]
21284 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node, 'expected node on stack')
21285 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node.type === 'code', 'expected code on stack')
21286
21287 node.value = data.replace(/^(\r?\n|\r)|(\r?\n|\r)$/g, '')
21288 setData('flowCodeInside')
21289 }
21290
21291 /**
21292 * @this {CompileContext}
21293 * @type {Handle}
21294 */
21295 function onexitcodeindented() {
21296 const data = this.resume()
21297 const node = this.stack[this.stack.length - 1]
21298 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node, 'expected node on stack')
21299 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node.type === 'code', 'expected code on stack')
21300
21301 node.value = data.replace(/(\r?\n|\r)$/g, '')
21302 }
21303
21304 /**
21305 * @this {CompileContext}
21306 * @type {Handle}
21307 */
21308 function onexitdefinitionlabelstring(token) {
21309 const label = this.resume()
21310 const node = this.stack[this.stack.length - 1]
21311 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node, 'expected node on stack')
21312 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node.type === 'definition', 'expected definition on stack')
21313
21314 node.label = label
21315 node.identifier = (0,micromark_util_normalize_identifier__WEBPACK_IMPORTED_MODULE_8__.normalizeIdentifier)(
21316 this.sliceSerialize(token)
21317 ).toLowerCase()
21318 }
21319
21320 /**
21321 * @this {CompileContext}
21322 * @type {Handle}
21323 */
21324 function onexitdefinitiontitlestring() {
21325 const data = this.resume()
21326 const node = this.stack[this.stack.length - 1]
21327 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node, 'expected node on stack')
21328 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node.type === 'definition', 'expected definition on stack')
21329
21330 node.title = data
21331 }
21332
21333 /**
21334 * @this {CompileContext}
21335 * @type {Handle}
21336 */
21337 function onexitdefinitiondestinationstring() {
21338 const data = this.resume()
21339 const node = this.stack[this.stack.length - 1]
21340 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node, 'expected node on stack')
21341 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node.type === 'definition', 'expected definition on stack')
21342
21343 node.url = data
21344 }
21345
21346 /**
21347 * @this {CompileContext}
21348 * @type {Handle}
21349 */
21350 function onexitatxheadingsequence(token) {
21351 const node = this.stack[this.stack.length - 1]
21352 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node, 'expected node on stack')
21353 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node.type === 'heading', 'expected heading on stack')
21354
21355 if (!node.depth) {
21356 const depth = this.sliceSerialize(token).length
21357
21358 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(
21359 depth === 1 ||
21360 depth === 2 ||
21361 depth === 3 ||
21362 depth === 4 ||
21363 depth === 5 ||
21364 depth === 6,
21365 'expected `depth` between `1` and `6`'
21366 )
21367
21368 node.depth = depth
21369 }
21370 }
21371
21372 /**
21373 * @this {CompileContext}
21374 * @type {Handle}
21375 */
21376 function onexitsetextheadingtext() {
21377 setData('setextHeadingSlurpLineEnding', true)
21378 }
21379
21380 /**
21381 * @this {CompileContext}
21382 * @type {Handle}
21383 */
21384 function onexitsetextheadinglinesequence(token) {
21385 const node = this.stack[this.stack.length - 1]
21386 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node, 'expected node on stack')
21387 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node.type === 'heading', 'expected heading on stack')
21388
21389 node.depth =
21390 this.sliceSerialize(token).charCodeAt(0) === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_9__.codes.equalsTo ? 1 : 2
21391 }
21392
21393 /**
21394 * @this {CompileContext}
21395 * @type {Handle}
21396 */
21397 function onexitsetextheading() {
21398 setData('setextHeadingSlurpLineEnding')
21399 }
21400
21401 /**
21402 * @this {CompileContext}
21403 * @type {Handle}
21404 */
21405
21406 function onenterdata(token) {
21407 const node = this.stack[this.stack.length - 1]
21408 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node, 'expected node on stack')
21409 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)('children' in node, 'expected parent on stack')
21410
21411 let tail = node.children[node.children.length - 1]
21412
21413 if (!tail || tail.type !== 'text') {
21414 // Add a new text node.
21415 tail = text()
21416 // @ts-expect-error: we’ll add `end` later.
21417 tail.position = {start: point(token.start)}
21418 // @ts-expect-error: Assume `parent` accepts `text`.
21419 node.children.push(tail)
21420 }
21421
21422 this.stack.push(tail)
21423 }
21424
21425 /**
21426 * @this {CompileContext}
21427 * @type {Handle}
21428 */
21429
21430 function onexitdata(token) {
21431 const tail = this.stack.pop()
21432 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(tail, 'expected a `node` to be on the stack')
21433 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)('value' in tail, 'expected a `literal` to be on the stack')
21434 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(tail.position, 'expected `node` to have an open position')
21435 tail.value += this.sliceSerialize(token)
21436 tail.position.end = point(token.end)
21437 }
21438
21439 /**
21440 * @this {CompileContext}
21441 * @type {Handle}
21442 */
21443
21444 function onexitlineending(token) {
21445 const context = this.stack[this.stack.length - 1]
21446 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(context, 'expected `node`')
21447
21448 // If we’re at a hard break, include the line ending in there.
21449 if (getData('atHardBreak')) {
21450 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)('children' in context, 'expected `parent`')
21451 const tail = context.children[context.children.length - 1]
21452 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(tail.position, 'expected tail to have a starting position')
21453 tail.position.end = point(token.end)
21454 setData('atHardBreak')
21455 return
21456 }
21457
21458 if (
21459 !getData('setextHeadingSlurpLineEnding') &&
21460 config.canContainEols.includes(context.type)
21461 ) {
21462 onenterdata.call(this, token)
21463 onexitdata.call(this, token)
21464 }
21465 }
21466
21467 /**
21468 * @this {CompileContext}
21469 * @type {Handle}
21470 */
21471
21472 function onexithardbreak() {
21473 setData('atHardBreak', true)
21474 }
21475
21476 /**
21477 * @this {CompileContext}
21478 * @type {Handle}
21479 */
21480
21481 function onexithtmlflow() {
21482 const data = this.resume()
21483 const node = this.stack[this.stack.length - 1]
21484 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node, 'expected node on stack')
21485 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node.type === 'html', 'expected html on stack')
21486
21487 node.value = data
21488 }
21489
21490 /**
21491 * @this {CompileContext}
21492 * @type {Handle}
21493 */
21494
21495 function onexithtmltext() {
21496 const data = this.resume()
21497 const node = this.stack[this.stack.length - 1]
21498 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node, 'expected node on stack')
21499 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node.type === 'html', 'expected html on stack')
21500
21501 node.value = data
21502 }
21503
21504 /**
21505 * @this {CompileContext}
21506 * @type {Handle}
21507 */
21508
21509 function onexitcodetext() {
21510 const data = this.resume()
21511 const node = this.stack[this.stack.length - 1]
21512 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node, 'expected node on stack')
21513 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node.type === 'inlineCode', 'expected inline code on stack')
21514
21515 node.value = data
21516 }
21517
21518 /**
21519 * @this {CompileContext}
21520 * @type {Handle}
21521 */
21522
21523 function onexitlink() {
21524 const node = this.stack[this.stack.length - 1]
21525 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node, 'expected node on stack')
21526 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node.type === 'link', 'expected link on stack')
21527
21528 // Note: there are also `identifier` and `label` fields on this link node!
21529 // These are used / cleaned here.
21530
21531 // To do: clean.
21532 if (getData('inReference')) {
21533 /** @type {ReferenceType} */
21534 const referenceType = getData('referenceType') || 'shortcut'
21535
21536 node.type += 'Reference'
21537 // @ts-expect-error: mutate.
21538 node.referenceType = referenceType
21539 // @ts-expect-error: mutate.
21540 delete node.url
21541 delete node.title
21542 } else {
21543 // @ts-expect-error: mutate.
21544 delete node.identifier
21545 // @ts-expect-error: mutate.
21546 delete node.label
21547 }
21548
21549 setData('referenceType')
21550 }
21551
21552 /**
21553 * @this {CompileContext}
21554 * @type {Handle}
21555 */
21556
21557 function onexitimage() {
21558 const node = this.stack[this.stack.length - 1]
21559 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node, 'expected node on stack')
21560 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node.type === 'image', 'expected image on stack')
21561
21562 // Note: there are also `identifier` and `label` fields on this link node!
21563 // These are used / cleaned here.
21564
21565 // To do: clean.
21566 if (getData('inReference')) {
21567 /** @type {ReferenceType} */
21568 const referenceType = getData('referenceType') || 'shortcut'
21569
21570 node.type += 'Reference'
21571 // @ts-expect-error: mutate.
21572 node.referenceType = referenceType
21573 // @ts-expect-error: mutate.
21574 delete node.url
21575 delete node.title
21576 } else {
21577 // @ts-expect-error: mutate.
21578 delete node.identifier
21579 // @ts-expect-error: mutate.
21580 delete node.label
21581 }
21582
21583 setData('referenceType')
21584 }
21585
21586 /**
21587 * @this {CompileContext}
21588 * @type {Handle}
21589 */
21590
21591 function onexitlabeltext(token) {
21592 const string = this.sliceSerialize(token)
21593 const ancestor = this.stack[this.stack.length - 2]
21594 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(ancestor, 'expected ancestor on stack')
21595 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(
21596 ancestor.type === 'image' || ancestor.type === 'link',
21597 'expected image or link on stack'
21598 )
21599
21600 // @ts-expect-error: stash this on the node, as it might become a reference
21601 // later.
21602 ancestor.label = (0,micromark_util_decode_string__WEBPACK_IMPORTED_MODULE_10__.decodeString)(string)
21603 // @ts-expect-error: same as above.
21604 ancestor.identifier = (0,micromark_util_normalize_identifier__WEBPACK_IMPORTED_MODULE_8__.normalizeIdentifier)(string).toLowerCase()
21605 }
21606
21607 /**
21608 * @this {CompileContext}
21609 * @type {Handle}
21610 */
21611
21612 function onexitlabel() {
21613 const fragment = this.stack[this.stack.length - 1]
21614 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(fragment, 'expected node on stack')
21615 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(fragment.type === 'fragment', 'expected fragment on stack')
21616 const value = this.resume()
21617 const node = this.stack[this.stack.length - 1]
21618 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node, 'expected node on stack')
21619 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(
21620 node.type === 'image' || node.type === 'link',
21621 'expected image or link on stack'
21622 )
21623
21624 // Assume a reference.
21625 setData('inReference', true)
21626
21627 if (node.type === 'link') {
21628 /** @type {Array<StaticPhrasingContent>} */
21629 // @ts-expect-error: Assume static phrasing content.
21630 const children = fragment.children
21631
21632 node.children = children
21633 } else {
21634 node.alt = value
21635 }
21636 }
21637
21638 /**
21639 * @this {CompileContext}
21640 * @type {Handle}
21641 */
21642
21643 function onexitresourcedestinationstring() {
21644 const data = this.resume()
21645 const node = this.stack[this.stack.length - 1]
21646 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node, 'expected node on stack')
21647 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(
21648 node.type === 'image' || node.type === 'link',
21649 'expected image or link on stack'
21650 )
21651 node.url = data
21652 }
21653
21654 /**
21655 * @this {CompileContext}
21656 * @type {Handle}
21657 */
21658
21659 function onexitresourcetitlestring() {
21660 const data = this.resume()
21661 const node = this.stack[this.stack.length - 1]
21662 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node, 'expected node on stack')
21663 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(
21664 node.type === 'image' || node.type === 'link',
21665 'expected image or link on stack'
21666 )
21667 node.title = data
21668 }
21669
21670 /**
21671 * @this {CompileContext}
21672 * @type {Handle}
21673 */
21674
21675 function onexitresource() {
21676 setData('inReference')
21677 }
21678
21679 /**
21680 * @this {CompileContext}
21681 * @type {Handle}
21682 */
21683
21684 function onenterreference() {
21685 setData('referenceType', 'collapsed')
21686 }
21687
21688 /**
21689 * @this {CompileContext}
21690 * @type {Handle}
21691 */
21692
21693 function onexitreferencestring(token) {
21694 const label = this.resume()
21695 const node = this.stack[this.stack.length - 1]
21696 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node, 'expected node on stack')
21697 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(
21698 node.type === 'image' || node.type === 'link',
21699 'expected image reference or link reference on stack'
21700 )
21701
21702 // @ts-expect-error: stash this on the node, as it might become a reference
21703 // later.
21704 node.label = label
21705 // @ts-expect-error: same as above.
21706 node.identifier = (0,micromark_util_normalize_identifier__WEBPACK_IMPORTED_MODULE_8__.normalizeIdentifier)(
21707 this.sliceSerialize(token)
21708 ).toLowerCase()
21709 setData('referenceType', 'full')
21710 }
21711
21712 /**
21713 * @this {CompileContext}
21714 * @type {Handle}
21715 */
21716
21717 function onexitcharacterreferencemarker(token) {
21718 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(
21719 token.type === 'characterReferenceMarkerNumeric' ||
21720 token.type === 'characterReferenceMarkerHexadecimal'
21721 )
21722 setData('characterReferenceType', token.type)
21723 }
21724
21725 /**
21726 * @this {CompileContext}
21727 * @type {Handle}
21728 */
21729 function onexitcharacterreferencevalue(token) {
21730 const data = this.sliceSerialize(token)
21731 const type = getData('characterReferenceType')
21732 /** @type {string} */
21733 let value
21734
21735 if (type) {
21736 value = (0,micromark_util_decode_numeric_character_reference__WEBPACK_IMPORTED_MODULE_11__.decodeNumericCharacterReference)(
21737 data,
21738 type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.characterReferenceMarkerNumeric
21739 ? micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_7__.constants.numericBaseDecimal
21740 : micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_7__.constants.numericBaseHexadecimal
21741 )
21742 setData('characterReferenceType')
21743 } else {
21744 const result = (0,decode_named_character_reference__WEBPACK_IMPORTED_MODULE_12__.decodeNamedCharacterReference)(data)
21745 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(result !== false, 'expected reference to decode')
21746 value = result
21747 }
21748
21749 const tail = this.stack.pop()
21750 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(tail, 'expected `node`')
21751 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(tail.position, 'expected `node.position`')
21752 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)('value' in tail, 'expected `node.value`')
21753 tail.value += value
21754 tail.position.end = point(token.end)
21755 }
21756
21757 /**
21758 * @this {CompileContext}
21759 * @type {Handle}
21760 */
21761 function onexitautolinkprotocol(token) {
21762 onexitdata.call(this, token)
21763 const node = this.stack[this.stack.length - 1]
21764 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node, 'expected node on stack')
21765 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node.type === 'link', 'expected link on stack')
21766
21767 node.url = this.sliceSerialize(token)
21768 }
21769
21770 /**
21771 * @this {CompileContext}
21772 * @type {Handle}
21773 */
21774 function onexitautolinkemail(token) {
21775 onexitdata.call(this, token)
21776 const node = this.stack[this.stack.length - 1]
21777 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node, 'expected node on stack')
21778 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(node.type === 'link', 'expected link on stack')
21779
21780 node.url = 'mailto:' + this.sliceSerialize(token)
21781 }
21782
21783 //
21784 // Creaters.
21785 //
21786
21787 /** @returns {Blockquote} */
21788 function blockQuote() {
21789 return {type: 'blockquote', children: []}
21790 }
21791
21792 /** @returns {Code} */
21793 function codeFlow() {
21794 return {type: 'code', lang: null, meta: null, value: ''}
21795 }
21796
21797 /** @returns {InlineCode} */
21798 function codeText() {
21799 return {type: 'inlineCode', value: ''}
21800 }
21801
21802 /** @returns {Definition} */
21803 function definition() {
21804 return {
21805 type: 'definition',
21806 identifier: '',
21807 label: null,
21808 title: null,
21809 url: ''
21810 }
21811 }
21812
21813 /** @returns {Emphasis} */
21814 function emphasis() {
21815 return {type: 'emphasis', children: []}
21816 }
21817
21818 /** @returns {Heading} */
21819 function heading() {
21820 // @ts-expect-error `depth` will be set later.
21821 return {type: 'heading', depth: undefined, children: []}
21822 }
21823
21824 /** @returns {Break} */
21825 function hardBreak() {
21826 return {type: 'break'}
21827 }
21828
21829 /** @returns {HTML} */
21830 function html() {
21831 return {type: 'html', value: ''}
21832 }
21833
21834 /** @returns {Image} */
21835 function image() {
21836 return {type: 'image', title: null, url: '', alt: null}
21837 }
21838
21839 /** @returns {Link} */
21840 function link() {
21841 return {type: 'link', title: null, url: '', children: []}
21842 }
21843
21844 /**
21845 * @param {Token} token
21846 * @returns {List}
21847 */
21848 function list(token) {
21849 return {
21850 type: 'list',
21851 ordered: token.type === 'listOrdered',
21852 start: null,
21853 spread: token._spread,
21854 children: []
21855 }
21856 }
21857
21858 /**
21859 * @param {Token} token
21860 * @returns {ListItem}
21861 */
21862 function listItem(token) {
21863 return {
21864 type: 'listItem',
21865 spread: token._spread,
21866 checked: null,
21867 children: []
21868 }
21869 }
21870
21871 /** @returns {Paragraph} */
21872 function paragraph() {
21873 return {type: 'paragraph', children: []}
21874 }
21875
21876 /** @returns {Strong} */
21877 function strong() {
21878 return {type: 'strong', children: []}
21879 }
21880
21881 /** @returns {Text} */
21882 function text() {
21883 return {type: 'text', value: ''}
21884 }
21885
21886 /** @returns {ThematicBreak} */
21887 function thematicBreak() {
21888 return {type: 'thematicBreak'}
21889 }
21890 }
21891
21892 /**
21893 * Copy a point-like value.
21894 *
21895 * @param {Point} d
21896 * Point-like value.
21897 * @returns {Point}
21898 * unist point.
21899 */
21900 function point(d) {
21901 return {line: d.line, column: d.column, offset: d.offset}
21902 }
21903
21904 /**
21905 * @param {Config} combined
21906 * @param {Array<Extension | Array<Extension>>} extensions
21907 * @returns {void}
21908 */
21909 function configure(combined, extensions) {
21910 let index = -1
21911
21912 while (++index < extensions.length) {
21913 const value = extensions[index]
21914
21915 if (Array.isArray(value)) {
21916 configure(combined, value)
21917 } else {
21918 extension(combined, value)
21919 }
21920 }
21921 }
21922
21923 /**
21924 * @param {Config} combined
21925 * @param {Extension} extension
21926 * @returns {void}
21927 */
21928 function extension(combined, extension) {
21929 /** @type {keyof Extension} */
21930 let key
21931
21932 for (key in extension) {
21933 if (own.call(extension, key)) {
21934 if (key === 'canContainEols') {
21935 const right = extension[key]
21936 if (right) {
21937 combined[key].push(...right)
21938 }
21939 } else if (key === 'transforms') {
21940 const right = extension[key]
21941 if (right) {
21942 combined[key].push(...right)
21943 }
21944 } else if (key === 'enter' || key === 'exit') {
21945 const right = extension[key]
21946 if (right) {
21947 Object.assign(combined[key], right)
21948 }
21949 }
21950 }
21951 }
21952 }
21953
21954 /** @type {OnEnterError} */
21955 function defaultOnError(left, right) {
21956 if (left) {
21957 throw new Error(
21958 'Cannot close `' +
21959 left.type +
21960 '` (' +
21961 (0,unist_util_stringify_position__WEBPACK_IMPORTED_MODULE_5__.stringifyPosition)({start: left.start, end: left.end}) +
21962 '): a different token (`' +
21963 right.type +
21964 '`, ' +
21965 (0,unist_util_stringify_position__WEBPACK_IMPORTED_MODULE_5__.stringifyPosition)({start: right.start, end: right.end}) +
21966 ') is open'
21967 )
21968 } else {
21969 throw new Error(
21970 'Cannot close document, a token (`' +
21971 right.type +
21972 '`, ' +
21973 (0,unist_util_stringify_position__WEBPACK_IMPORTED_MODULE_5__.stringifyPosition)({start: right.start, end: right.end}) +
21974 ') is still open'
21975 )
21976 }
21977 }
21978
21979
21980 /***/ }),
21981
21982 /***/ "../node_modules/mdast-util-to-hast/lib/footer.js":
21983 /*!********************************************************!*\
21984 !*** ../node_modules/mdast-util-to-hast/lib/footer.js ***!
21985 \********************************************************/
21986 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
21987
21988 "use strict";
21989 __webpack_require__.r(__webpack_exports__);
21990 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
21991 /* harmony export */ footer: () => (/* binding */ footer)
21992 /* harmony export */ });
21993 /* 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");
21994 /**
21995 * @typedef {import('hast').Element} Element
21996 * @typedef {import('hast').ElementContent} ElementContent
21997 *
21998 * @typedef {import('./state.js').State} State
21999 */
22000
22001
22002
22003 /**
22004 * Generate a hast footer for called footnote definitions.
22005 *
22006 * @param {State} state
22007 * Info passed around.
22008 * @returns {Element | undefined}
22009 * `section` element or `undefined`.
22010 */
22011 function footer(state) {
22012 /** @type {Array<ElementContent>} */
22013 const listItems = []
22014 let index = -1
22015
22016 while (++index < state.footnoteOrder.length) {
22017 const def = state.footnoteById[state.footnoteOrder[index]]
22018
22019 if (!def) {
22020 continue
22021 }
22022
22023 const content = state.all(def)
22024 const id = String(def.identifier).toUpperCase()
22025 const safeId = (0,micromark_util_sanitize_uri__WEBPACK_IMPORTED_MODULE_0__.normalizeUri)(id.toLowerCase())
22026 let referenceIndex = 0
22027 /** @type {Array<ElementContent>} */
22028 const backReferences = []
22029
22030 while (++referenceIndex <= state.footnoteCounts[id]) {
22031 /** @type {Element} */
22032 const backReference = {
22033 type: 'element',
22034 tagName: 'a',
22035 properties: {
22036 href:
22037 '#' +
22038 state.clobberPrefix +
22039 'fnref-' +
22040 safeId +
22041 (referenceIndex > 1 ? '-' + referenceIndex : ''),
22042 dataFootnoteBackref: true,
22043 className: ['data-footnote-backref'],
22044 ariaLabel: state.footnoteBackLabel
22045 },
22046 children: [{type: 'text', value: '↩'}]
22047 }
22048
22049 if (referenceIndex > 1) {
22050 backReference.children.push({
22051 type: 'element',
22052 tagName: 'sup',
22053 children: [{type: 'text', value: String(referenceIndex)}]
22054 })
22055 }
22056
22057 if (backReferences.length > 0) {
22058 backReferences.push({type: 'text', value: ' '})
22059 }
22060
22061 backReferences.push(backReference)
22062 }
22063
22064 const tail = content[content.length - 1]
22065
22066 if (tail && tail.type === 'element' && tail.tagName === 'p') {
22067 const tailTail = tail.children[tail.children.length - 1]
22068 if (tailTail && tailTail.type === 'text') {
22069 tailTail.value += ' '
22070 } else {
22071 tail.children.push({type: 'text', value: ' '})
22072 }
22073
22074 tail.children.push(...backReferences)
22075 } else {
22076 content.push(...backReferences)
22077 }
22078
22079 /** @type {Element} */
22080 const listItem = {
22081 type: 'element',
22082 tagName: 'li',
22083 properties: {id: state.clobberPrefix + 'fn-' + safeId},
22084 children: state.wrap(content, true)
22085 }
22086
22087 state.patch(def, listItem)
22088
22089 listItems.push(listItem)
22090 }
22091
22092 if (listItems.length === 0) {
22093 return
22094 }
22095
22096 return {
22097 type: 'element',
22098 tagName: 'section',
22099 properties: {dataFootnotes: true, className: ['footnotes']},
22100 children: [
22101 {
22102 type: 'element',
22103 tagName: state.footnoteLabelTagName,
22104 properties: {
22105 // To do: use structured clone.
22106 ...JSON.parse(JSON.stringify(state.footnoteLabelProperties)),
22107 id: 'footnote-label'
22108 },
22109 children: [{type: 'text', value: state.footnoteLabel}]
22110 },
22111 {type: 'text', value: '\n'},
22112 {
22113 type: 'element',
22114 tagName: 'ol',
22115 properties: {},
22116 children: state.wrap(listItems, true)
22117 },
22118 {type: 'text', value: '\n'}
22119 ]
22120 }
22121 }
22122
22123
22124 /***/ }),
22125
22126 /***/ "../node_modules/mdast-util-to-hast/lib/handlers/blockquote.js":
22127 /*!*********************************************************************!*\
22128 !*** ../node_modules/mdast-util-to-hast/lib/handlers/blockquote.js ***!
22129 \*********************************************************************/
22130 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
22131
22132 "use strict";
22133 __webpack_require__.r(__webpack_exports__);
22134 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
22135 /* harmony export */ blockquote: () => (/* binding */ blockquote)
22136 /* harmony export */ });
22137 /**
22138 * @typedef {import('hast').Element} Element
22139 * @typedef {import('mdast').Blockquote} Blockquote
22140 * @typedef {import('../state.js').State} State
22141 */
22142
22143 /**
22144 * Turn an mdast `blockquote` node into hast.
22145 *
22146 * @param {State} state
22147 * Info passed around.
22148 * @param {Blockquote} node
22149 * mdast node.
22150 * @returns {Element}
22151 * hast node.
22152 */
22153 function blockquote(state, node) {
22154 /** @type {Element} */
22155 const result = {
22156 type: 'element',
22157 tagName: 'blockquote',
22158 properties: {},
22159 children: state.wrap(state.all(node), true)
22160 }
22161 state.patch(node, result)
22162 return state.applyData(node, result)
22163 }
22164
22165
22166 /***/ }),
22167
22168 /***/ "../node_modules/mdast-util-to-hast/lib/handlers/break.js":
22169 /*!****************************************************************!*\
22170 !*** ../node_modules/mdast-util-to-hast/lib/handlers/break.js ***!
22171 \****************************************************************/
22172 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
22173
22174 "use strict";
22175 __webpack_require__.r(__webpack_exports__);
22176 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
22177 /* harmony export */ hardBreak: () => (/* binding */ hardBreak)
22178 /* harmony export */ });
22179 /**
22180 * @typedef {import('hast').Element} Element
22181 * @typedef {import('hast').Text} Text
22182 * @typedef {import('mdast').Break} Break
22183 * @typedef {import('../state.js').State} State
22184 */
22185
22186 /**
22187 * Turn an mdast `break` node into hast.
22188 *
22189 * @param {State} state
22190 * Info passed around.
22191 * @param {Break} node
22192 * mdast node.
22193 * @returns {Array<Element | Text>}
22194 * hast element content.
22195 */
22196 function hardBreak(state, node) {
22197 /** @type {Element} */
22198 const result = {type: 'element', tagName: 'br', properties: {}, children: []}
22199 state.patch(node, result)
22200 return [state.applyData(node, result), {type: 'text', value: '\n'}]
22201 }
22202
22203
22204 /***/ }),
22205
22206 /***/ "../node_modules/mdast-util-to-hast/lib/handlers/code.js":
22207 /*!***************************************************************!*\
22208 !*** ../node_modules/mdast-util-to-hast/lib/handlers/code.js ***!
22209 \***************************************************************/
22210 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
22211
22212 "use strict";
22213 __webpack_require__.r(__webpack_exports__);
22214 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
22215 /* harmony export */ code: () => (/* binding */ code)
22216 /* harmony export */ });
22217 /**
22218 * @typedef {import('hast').Element} Element
22219 * @typedef {import('hast').Properties} Properties
22220 * @typedef {import('mdast').Code} Code
22221 * @typedef {import('../state.js').State} State
22222
22223 */
22224
22225 /**
22226 * Turn an mdast `code` node into hast.
22227 *
22228 * @param {State} state
22229 * Info passed around.
22230 * @param {Code} node
22231 * mdast node.
22232 * @returns {Element}
22233 * hast node.
22234 */
22235 function code(state, node) {
22236 const value = node.value ? node.value + '\n' : ''
22237 // To do: next major, use `node.lang` w/o regex, the splitting’s been going
22238 // on for years in remark now.
22239 const lang = node.lang ? node.lang.match(/^[^ \t]+(?=[ \t]|$)/) : null
22240 /** @type {Properties} */
22241 const properties = {}
22242
22243 if (lang) {
22244 properties.className = ['language-' + lang]
22245 }
22246
22247 // Create `<code>`.
22248 /** @type {Element} */
22249 let result = {
22250 type: 'element',
22251 tagName: 'code',
22252 properties,
22253 children: [{type: 'text', value}]
22254 }
22255
22256 if (node.meta) {
22257 result.data = {meta: node.meta}
22258 }
22259
22260 state.patch(node, result)
22261 result = state.applyData(node, result)
22262
22263 // Create `<pre>`.
22264 result = {type: 'element', tagName: 'pre', properties: {}, children: [result]}
22265 state.patch(node, result)
22266 return result
22267 }
22268
22269
22270 /***/ }),
22271
22272 /***/ "../node_modules/mdast-util-to-hast/lib/handlers/delete.js":
22273 /*!*****************************************************************!*\
22274 !*** ../node_modules/mdast-util-to-hast/lib/handlers/delete.js ***!
22275 \*****************************************************************/
22276 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
22277
22278 "use strict";
22279 __webpack_require__.r(__webpack_exports__);
22280 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
22281 /* harmony export */ strikethrough: () => (/* binding */ strikethrough)
22282 /* harmony export */ });
22283 /**
22284 * @typedef {import('hast').Element} Element
22285 * @typedef {import('mdast').Delete} Delete
22286 * @typedef {import('../state.js').State} State
22287
22288 */
22289
22290 /**
22291 * Turn an mdast `delete` node into hast.
22292 *
22293 * @param {State} state
22294 * Info passed around.
22295 * @param {Delete} node
22296 * mdast node.
22297 * @returns {Element}
22298 * hast node.
22299 */
22300 function strikethrough(state, node) {
22301 /** @type {Element} */
22302 const result = {
22303 type: 'element',
22304 tagName: 'del',
22305 properties: {},
22306 children: state.all(node)
22307 }
22308 state.patch(node, result)
22309 return state.applyData(node, result)
22310 }
22311
22312
22313 /***/ }),
22314
22315 /***/ "../node_modules/mdast-util-to-hast/lib/handlers/emphasis.js":
22316 /*!*******************************************************************!*\
22317 !*** ../node_modules/mdast-util-to-hast/lib/handlers/emphasis.js ***!
22318 \*******************************************************************/
22319 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
22320
22321 "use strict";
22322 __webpack_require__.r(__webpack_exports__);
22323 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
22324 /* harmony export */ emphasis: () => (/* binding */ emphasis)
22325 /* harmony export */ });
22326 /**
22327 * @typedef {import('hast').Element} Element
22328 * @typedef {import('mdast').Emphasis} Emphasis
22329 * @typedef {import('../state.js').State} State
22330 */
22331
22332 /**
22333 * Turn an mdast `emphasis` node into hast.
22334 *
22335 * @param {State} state
22336 * Info passed around.
22337 * @param {Emphasis} node
22338 * mdast node.
22339 * @returns {Element}
22340 * hast node.
22341 */
22342 function emphasis(state, node) {
22343 /** @type {Element} */
22344 const result = {
22345 type: 'element',
22346 tagName: 'em',
22347 properties: {},
22348 children: state.all(node)
22349 }
22350 state.patch(node, result)
22351 return state.applyData(node, result)
22352 }
22353
22354
22355 /***/ }),
22356
22357 /***/ "../node_modules/mdast-util-to-hast/lib/handlers/footnote-reference.js":
22358 /*!*****************************************************************************!*\
22359 !*** ../node_modules/mdast-util-to-hast/lib/handlers/footnote-reference.js ***!
22360 \*****************************************************************************/
22361 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
22362
22363 "use strict";
22364 __webpack_require__.r(__webpack_exports__);
22365 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
22366 /* harmony export */ footnoteReference: () => (/* binding */ footnoteReference)
22367 /* harmony export */ });
22368 /* 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");
22369 /**
22370 * @typedef {import('mdast').FootnoteReference} FootnoteReference
22371 * @typedef {import('hast').Element} Element
22372 * @typedef {import('../state.js').State} State
22373 */
22374
22375
22376
22377 /**
22378 * Turn an mdast `footnoteReference` node into hast.
22379 *
22380 * @param {State} state
22381 * Info passed around.
22382 * @param {FootnoteReference} node
22383 * mdast node.
22384 * @returns {Element}
22385 * hast node.
22386 */
22387 function footnoteReference(state, node) {
22388 const id = String(node.identifier).toUpperCase()
22389 const safeId = (0,micromark_util_sanitize_uri__WEBPACK_IMPORTED_MODULE_0__.normalizeUri)(id.toLowerCase())
22390 const index = state.footnoteOrder.indexOf(id)
22391 /** @type {number} */
22392 let counter
22393
22394 if (index === -1) {
22395 state.footnoteOrder.push(id)
22396 state.footnoteCounts[id] = 1
22397 counter = state.footnoteOrder.length
22398 } else {
22399 state.footnoteCounts[id]++
22400 counter = index + 1
22401 }
22402
22403 const reuseCounter = state.footnoteCounts[id]
22404
22405 /** @type {Element} */
22406 const link = {
22407 type: 'element',
22408 tagName: 'a',
22409 properties: {
22410 href: '#' + state.clobberPrefix + 'fn-' + safeId,
22411 id:
22412 state.clobberPrefix +
22413 'fnref-' +
22414 safeId +
22415 (reuseCounter > 1 ? '-' + reuseCounter : ''),
22416 dataFootnoteRef: true,
22417 ariaDescribedBy: ['footnote-label']
22418 },
22419 children: [{type: 'text', value: String(counter)}]
22420 }
22421 state.patch(node, link)
22422
22423 /** @type {Element} */
22424 const sup = {
22425 type: 'element',
22426 tagName: 'sup',
22427 properties: {},
22428 children: [link]
22429 }
22430 state.patch(node, sup)
22431 return state.applyData(node, sup)
22432 }
22433
22434
22435 /***/ }),
22436
22437 /***/ "../node_modules/mdast-util-to-hast/lib/handlers/footnote.js":
22438 /*!*******************************************************************!*\
22439 !*** ../node_modules/mdast-util-to-hast/lib/handlers/footnote.js ***!
22440 \*******************************************************************/
22441 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
22442
22443 "use strict";
22444 __webpack_require__.r(__webpack_exports__);
22445 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
22446 /* harmony export */ footnote: () => (/* binding */ footnote)
22447 /* harmony export */ });
22448 /* 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");
22449 /**
22450 * @typedef {import('hast').Element} Element
22451 * @typedef {import('mdast').Footnote} Footnote
22452 * @typedef {import('../state.js').State} State
22453 */
22454
22455
22456
22457 // To do: when both:
22458 // * <https://github.com/micromark/micromark-extension-footnote>
22459 // * <https://github.com/syntax-tree/mdast-util-footnote>
22460 // …are archived, remove this (also from mdast).
22461 // These inline notes are not used in GFM.
22462
22463 /**
22464 * Turn an mdast `footnote` node into hast.
22465 *
22466 * @param {State} state
22467 * Info passed around.
22468 * @param {Footnote} node
22469 * mdast node.
22470 * @returns {Element}
22471 * hast node.
22472 */
22473 function footnote(state, node) {
22474 const footnoteById = state.footnoteById
22475 let no = 1
22476
22477 while (no in footnoteById) no++
22478
22479 const identifier = String(no)
22480
22481 footnoteById[identifier] = {
22482 type: 'footnoteDefinition',
22483 identifier,
22484 children: [{type: 'paragraph', children: node.children}],
22485 position: node.position
22486 }
22487
22488 return (0,_footnote_reference_js__WEBPACK_IMPORTED_MODULE_0__.footnoteReference)(state, {
22489 type: 'footnoteReference',
22490 identifier,
22491 position: node.position
22492 })
22493 }
22494
22495
22496 /***/ }),
22497
22498 /***/ "../node_modules/mdast-util-to-hast/lib/handlers/heading.js":
22499 /*!******************************************************************!*\
22500 !*** ../node_modules/mdast-util-to-hast/lib/handlers/heading.js ***!
22501 \******************************************************************/
22502 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
22503
22504 "use strict";
22505 __webpack_require__.r(__webpack_exports__);
22506 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
22507 /* harmony export */ heading: () => (/* binding */ heading)
22508 /* harmony export */ });
22509 /**
22510 * @typedef {import('hast').Element} Element
22511 * @typedef {import('mdast').Heading} Heading
22512 * @typedef {import('../state.js').State} State
22513 */
22514
22515 /**
22516 * Turn an mdast `heading` node into hast.
22517 *
22518 * @param {State} state
22519 * Info passed around.
22520 * @param {Heading} node
22521 * mdast node.
22522 * @returns {Element}
22523 * hast node.
22524 */
22525 function heading(state, node) {
22526 /** @type {Element} */
22527 const result = {
22528 type: 'element',
22529 tagName: 'h' + node.depth,
22530 properties: {},
22531 children: state.all(node)
22532 }
22533 state.patch(node, result)
22534 return state.applyData(node, result)
22535 }
22536
22537
22538 /***/ }),
22539
22540 /***/ "../node_modules/mdast-util-to-hast/lib/handlers/html.js":
22541 /*!***************************************************************!*\
22542 !*** ../node_modules/mdast-util-to-hast/lib/handlers/html.js ***!
22543 \***************************************************************/
22544 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
22545
22546 "use strict";
22547 __webpack_require__.r(__webpack_exports__);
22548 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
22549 /* harmony export */ html: () => (/* binding */ html)
22550 /* harmony export */ });
22551 /**
22552 * @typedef {import('hast').Element} Element
22553 * @typedef {import('mdast').HTML} Html
22554 * @typedef {import('../state.js').State} State
22555 * @typedef {import('../../index.js').Raw} Raw
22556 */
22557
22558 /**
22559 * Turn an mdast `html` node into hast (`raw` node in dangerous mode, otherwise
22560 * nothing).
22561 *
22562 * @param {State} state
22563 * Info passed around.
22564 * @param {Html} node
22565 * mdast node.
22566 * @returns {Raw | Element | null}
22567 * hast node.
22568 */
22569 function html(state, node) {
22570 if (state.dangerous) {
22571 /** @type {Raw} */
22572 const result = {type: 'raw', value: node.value}
22573 state.patch(node, result)
22574 return state.applyData(node, result)
22575 }
22576
22577 // To do: next major: return `undefined`.
22578 return null
22579 }
22580
22581
22582 /***/ }),
22583
22584 /***/ "../node_modules/mdast-util-to-hast/lib/handlers/image-reference.js":
22585 /*!**************************************************************************!*\
22586 !*** ../node_modules/mdast-util-to-hast/lib/handlers/image-reference.js ***!
22587 \**************************************************************************/
22588 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
22589
22590 "use strict";
22591 __webpack_require__.r(__webpack_exports__);
22592 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
22593 /* harmony export */ imageReference: () => (/* binding */ imageReference)
22594 /* harmony export */ });
22595 /* 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");
22596 /* harmony import */ var _revert_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../revert.js */ "../node_modules/mdast-util-to-hast/lib/revert.js");
22597 /**
22598 * @typedef {import('hast').ElementContent} ElementContent
22599 * @typedef {import('hast').Element} Element
22600 * @typedef {import('hast').Properties} Properties
22601 * @typedef {import('mdast').ImageReference} ImageReference
22602 * @typedef {import('../state.js').State} State
22603 */
22604
22605
22606
22607
22608 /**
22609 * Turn an mdast `imageReference` node into hast.
22610 *
22611 * @param {State} state
22612 * Info passed around.
22613 * @param {ImageReference} node
22614 * mdast node.
22615 * @returns {ElementContent | Array<ElementContent>}
22616 * hast node.
22617 */
22618 function imageReference(state, node) {
22619 const def = state.definition(node.identifier)
22620
22621 if (!def) {
22622 return (0,_revert_js__WEBPACK_IMPORTED_MODULE_0__.revert)(state, node)
22623 }
22624
22625 /** @type {Properties} */
22626 const properties = {src: (0,micromark_util_sanitize_uri__WEBPACK_IMPORTED_MODULE_1__.normalizeUri)(def.url || ''), alt: node.alt}
22627
22628 if (def.title !== null && def.title !== undefined) {
22629 properties.title = def.title
22630 }
22631
22632 /** @type {Element} */
22633 const result = {type: 'element', tagName: 'img', properties, children: []}
22634 state.patch(node, result)
22635 return state.applyData(node, result)
22636 }
22637
22638
22639 /***/ }),
22640
22641 /***/ "../node_modules/mdast-util-to-hast/lib/handlers/image.js":
22642 /*!****************************************************************!*\
22643 !*** ../node_modules/mdast-util-to-hast/lib/handlers/image.js ***!
22644 \****************************************************************/
22645 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
22646
22647 "use strict";
22648 __webpack_require__.r(__webpack_exports__);
22649 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
22650 /* harmony export */ image: () => (/* binding */ image)
22651 /* harmony export */ });
22652 /* 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");
22653 /**
22654 * @typedef {import('hast').Element} Element
22655 * @typedef {import('hast').Properties} Properties
22656 * @typedef {import('mdast').Image} Image
22657 * @typedef {import('../state.js').State} State
22658 */
22659
22660
22661
22662 /**
22663 * Turn an mdast `image` node into hast.
22664 *
22665 * @param {State} state
22666 * Info passed around.
22667 * @param {Image} node
22668 * mdast node.
22669 * @returns {Element}
22670 * hast node.
22671 */
22672 function image(state, node) {
22673 /** @type {Properties} */
22674 const properties = {src: (0,micromark_util_sanitize_uri__WEBPACK_IMPORTED_MODULE_0__.normalizeUri)(node.url)}
22675
22676 if (node.alt !== null && node.alt !== undefined) {
22677 properties.alt = node.alt
22678 }
22679
22680 if (node.title !== null && node.title !== undefined) {
22681 properties.title = node.title
22682 }
22683
22684 /** @type {Element} */
22685 const result = {type: 'element', tagName: 'img', properties, children: []}
22686 state.patch(node, result)
22687 return state.applyData(node, result)
22688 }
22689
22690
22691 /***/ }),
22692
22693 /***/ "../node_modules/mdast-util-to-hast/lib/handlers/index.js":
22694 /*!****************************************************************!*\
22695 !*** ../node_modules/mdast-util-to-hast/lib/handlers/index.js ***!
22696 \****************************************************************/
22697 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
22698
22699 "use strict";
22700 __webpack_require__.r(__webpack_exports__);
22701 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
22702 /* harmony export */ handlers: () => (/* binding */ handlers)
22703 /* harmony export */ });
22704 /* harmony import */ var _blockquote_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./blockquote.js */ "../node_modules/mdast-util-to-hast/lib/handlers/blockquote.js");
22705 /* harmony import */ var _break_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./break.js */ "../node_modules/mdast-util-to-hast/lib/handlers/break.js");
22706 /* harmony import */ var _code_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./code.js */ "../node_modules/mdast-util-to-hast/lib/handlers/code.js");
22707 /* harmony import */ var _delete_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./delete.js */ "../node_modules/mdast-util-to-hast/lib/handlers/delete.js");
22708 /* harmony import */ var _emphasis_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./emphasis.js */ "../node_modules/mdast-util-to-hast/lib/handlers/emphasis.js");
22709 /* 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");
22710 /* harmony import */ var _footnote_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./footnote.js */ "../node_modules/mdast-util-to-hast/lib/handlers/footnote.js");
22711 /* harmony import */ var _heading_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./heading.js */ "../node_modules/mdast-util-to-hast/lib/handlers/heading.js");
22712 /* harmony import */ var _html_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./html.js */ "../node_modules/mdast-util-to-hast/lib/handlers/html.js");
22713 /* 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");
22714 /* harmony import */ var _image_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./image.js */ "../node_modules/mdast-util-to-hast/lib/handlers/image.js");
22715 /* 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");
22716 /* 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");
22717 /* harmony import */ var _link_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./link.js */ "../node_modules/mdast-util-to-hast/lib/handlers/link.js");
22718 /* 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");
22719 /* harmony import */ var _list_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./list.js */ "../node_modules/mdast-util-to-hast/lib/handlers/list.js");
22720 /* harmony import */ var _paragraph_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./paragraph.js */ "../node_modules/mdast-util-to-hast/lib/handlers/paragraph.js");
22721 /* harmony import */ var _root_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./root.js */ "../node_modules/mdast-util-to-hast/lib/handlers/root.js");
22722 /* harmony import */ var _strong_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./strong.js */ "../node_modules/mdast-util-to-hast/lib/handlers/strong.js");
22723 /* harmony import */ var _table_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./table.js */ "../node_modules/mdast-util-to-hast/lib/handlers/table.js");
22724 /* 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");
22725 /* 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");
22726 /* harmony import */ var _text_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./text.js */ "../node_modules/mdast-util-to-hast/lib/handlers/text.js");
22727 /* 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");
22728
22729
22730
22731
22732
22733
22734
22735
22736
22737
22738
22739
22740
22741
22742
22743
22744
22745
22746
22747
22748
22749
22750
22751
22752
22753 /**
22754 * Default handlers for nodes.
22755 */
22756 const handlers = {
22757 blockquote: _blockquote_js__WEBPACK_IMPORTED_MODULE_0__.blockquote,
22758 break: _break_js__WEBPACK_IMPORTED_MODULE_1__.hardBreak,
22759 code: _code_js__WEBPACK_IMPORTED_MODULE_2__.code,
22760 delete: _delete_js__WEBPACK_IMPORTED_MODULE_3__.strikethrough,
22761 emphasis: _emphasis_js__WEBPACK_IMPORTED_MODULE_4__.emphasis,
22762 footnoteReference: _footnote_reference_js__WEBPACK_IMPORTED_MODULE_5__.footnoteReference,
22763 footnote: _footnote_js__WEBPACK_IMPORTED_MODULE_6__.footnote,
22764 heading: _heading_js__WEBPACK_IMPORTED_MODULE_7__.heading,
22765 html: _html_js__WEBPACK_IMPORTED_MODULE_8__.html,
22766 imageReference: _image_reference_js__WEBPACK_IMPORTED_MODULE_9__.imageReference,
22767 image: _image_js__WEBPACK_IMPORTED_MODULE_10__.image,
22768 inlineCode: _inline_code_js__WEBPACK_IMPORTED_MODULE_11__.inlineCode,
22769 linkReference: _link_reference_js__WEBPACK_IMPORTED_MODULE_12__.linkReference,
22770 link: _link_js__WEBPACK_IMPORTED_MODULE_13__.link,
22771 listItem: _list_item_js__WEBPACK_IMPORTED_MODULE_14__.listItem,
22772 list: _list_js__WEBPACK_IMPORTED_MODULE_15__.list,
22773 paragraph: _paragraph_js__WEBPACK_IMPORTED_MODULE_16__.paragraph,
22774 root: _root_js__WEBPACK_IMPORTED_MODULE_17__.root,
22775 strong: _strong_js__WEBPACK_IMPORTED_MODULE_18__.strong,
22776 table: _table_js__WEBPACK_IMPORTED_MODULE_19__.table,
22777 tableCell: _table_cell_js__WEBPACK_IMPORTED_MODULE_20__.tableCell,
22778 tableRow: _table_row_js__WEBPACK_IMPORTED_MODULE_21__.tableRow,
22779 text: _text_js__WEBPACK_IMPORTED_MODULE_22__.text,
22780 thematicBreak: _thematic_break_js__WEBPACK_IMPORTED_MODULE_23__.thematicBreak,
22781 toml: ignore,
22782 yaml: ignore,
22783 definition: ignore,
22784 footnoteDefinition: ignore
22785 }
22786
22787 // Return nothing for nodes that are ignored.
22788 function ignore() {
22789 // To do: next major: return `undefined`.
22790 return null
22791 }
22792
22793
22794 /***/ }),
22795
22796 /***/ "../node_modules/mdast-util-to-hast/lib/handlers/inline-code.js":
22797 /*!**********************************************************************!*\
22798 !*** ../node_modules/mdast-util-to-hast/lib/handlers/inline-code.js ***!
22799 \**********************************************************************/
22800 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
22801
22802 "use strict";
22803 __webpack_require__.r(__webpack_exports__);
22804 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
22805 /* harmony export */ inlineCode: () => (/* binding */ inlineCode)
22806 /* harmony export */ });
22807 /**
22808 * @typedef {import('hast').Element} Element
22809 * @typedef {import('hast').Text} Text
22810 * @typedef {import('mdast').InlineCode} InlineCode
22811 * @typedef {import('../state.js').State} State
22812 */
22813
22814 /**
22815 * Turn an mdast `inlineCode` node into hast.
22816 *
22817 * @param {State} state
22818 * Info passed around.
22819 * @param {InlineCode} node
22820 * mdast node.
22821 * @returns {Element}
22822 * hast node.
22823 */
22824 function inlineCode(state, node) {
22825 /** @type {Text} */
22826 const text = {type: 'text', value: node.value.replace(/\r?\n|\r/g, ' ')}
22827 state.patch(node, text)
22828
22829 /** @type {Element} */
22830 const result = {
22831 type: 'element',
22832 tagName: 'code',
22833 properties: {},
22834 children: [text]
22835 }
22836 state.patch(node, result)
22837 return state.applyData(node, result)
22838 }
22839
22840
22841 /***/ }),
22842
22843 /***/ "../node_modules/mdast-util-to-hast/lib/handlers/link-reference.js":
22844 /*!*************************************************************************!*\
22845 !*** ../node_modules/mdast-util-to-hast/lib/handlers/link-reference.js ***!
22846 \*************************************************************************/
22847 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
22848
22849 "use strict";
22850 __webpack_require__.r(__webpack_exports__);
22851 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
22852 /* harmony export */ linkReference: () => (/* binding */ linkReference)
22853 /* harmony export */ });
22854 /* 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");
22855 /* harmony import */ var _revert_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../revert.js */ "../node_modules/mdast-util-to-hast/lib/revert.js");
22856 /**
22857 * @typedef {import('hast').Element} Element
22858 * @typedef {import('hast').ElementContent} ElementContent
22859 * @typedef {import('hast').Properties} Properties
22860 * @typedef {import('mdast').LinkReference} LinkReference
22861 * @typedef {import('../state.js').State} State
22862 */
22863
22864
22865
22866
22867 /**
22868 * Turn an mdast `linkReference` node into hast.
22869 *
22870 * @param {State} state
22871 * Info passed around.
22872 * @param {LinkReference} node
22873 * mdast node.
22874 * @returns {ElementContent | Array<ElementContent>}
22875 * hast node.
22876 */
22877 function linkReference(state, node) {
22878 const def = state.definition(node.identifier)
22879
22880 if (!def) {
22881 return (0,_revert_js__WEBPACK_IMPORTED_MODULE_0__.revert)(state, node)
22882 }
22883
22884 /** @type {Properties} */
22885 const properties = {href: (0,micromark_util_sanitize_uri__WEBPACK_IMPORTED_MODULE_1__.normalizeUri)(def.url || '')}
22886
22887 if (def.title !== null && def.title !== undefined) {
22888 properties.title = def.title
22889 }
22890
22891 /** @type {Element} */
22892 const result = {
22893 type: 'element',
22894 tagName: 'a',
22895 properties,
22896 children: state.all(node)
22897 }
22898 state.patch(node, result)
22899 return state.applyData(node, result)
22900 }
22901
22902
22903 /***/ }),
22904
22905 /***/ "../node_modules/mdast-util-to-hast/lib/handlers/link.js":
22906 /*!***************************************************************!*\
22907 !*** ../node_modules/mdast-util-to-hast/lib/handlers/link.js ***!
22908 \***************************************************************/
22909 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
22910
22911 "use strict";
22912 __webpack_require__.r(__webpack_exports__);
22913 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
22914 /* harmony export */ link: () => (/* binding */ link)
22915 /* harmony export */ });
22916 /* 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");
22917 /**
22918 * @typedef {import('hast').Element} Element
22919 * @typedef {import('hast').Properties} Properties
22920 * @typedef {import('mdast').Link} Link
22921 * @typedef {import('../state.js').State} State
22922 */
22923
22924
22925
22926 /**
22927 * Turn an mdast `link` node into hast.
22928 *
22929 * @param {State} state
22930 * Info passed around.
22931 * @param {Link} node
22932 * mdast node.
22933 * @returns {Element}
22934 * hast node.
22935 */
22936 function link(state, node) {
22937 /** @type {Properties} */
22938 const properties = {href: (0,micromark_util_sanitize_uri__WEBPACK_IMPORTED_MODULE_0__.normalizeUri)(node.url)}
22939
22940 if (node.title !== null && node.title !== undefined) {
22941 properties.title = node.title
22942 }
22943
22944 /** @type {Element} */
22945 const result = {
22946 type: 'element',
22947 tagName: 'a',
22948 properties,
22949 children: state.all(node)
22950 }
22951 state.patch(node, result)
22952 return state.applyData(node, result)
22953 }
22954
22955
22956 /***/ }),
22957
22958 /***/ "../node_modules/mdast-util-to-hast/lib/handlers/list-item.js":
22959 /*!********************************************************************!*\
22960 !*** ../node_modules/mdast-util-to-hast/lib/handlers/list-item.js ***!
22961 \********************************************************************/
22962 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
22963
22964 "use strict";
22965 __webpack_require__.r(__webpack_exports__);
22966 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
22967 /* harmony export */ listItem: () => (/* binding */ listItem)
22968 /* harmony export */ });
22969 /**
22970 * @typedef {import('hast').Element} Element
22971 * @typedef {import('hast').ElementContent} ElementContent
22972 * @typedef {import('hast').Properties} Properties
22973 * @typedef {import('mdast').Content} Content
22974 * @typedef {import('mdast').ListItem} ListItem
22975 * @typedef {import('mdast').Parent} Parent
22976 * @typedef {import('mdast').Root} Root
22977 * @typedef {import('../state.js').State} State
22978 */
22979
22980 /**
22981 * @typedef {Root | Content} Nodes
22982 * @typedef {Extract<Nodes, Parent>} Parents
22983 */
22984
22985 /**
22986 * Turn an mdast `listItem` node into hast.
22987 *
22988 * @param {State} state
22989 * Info passed around.
22990 * @param {ListItem} node
22991 * mdast node.
22992 * @param {Parents | null | undefined} parent
22993 * Parent of `node`.
22994 * @returns {Element}
22995 * hast node.
22996 */
22997 function listItem(state, node, parent) {
22998 const results = state.all(node)
22999 const loose = parent ? listLoose(parent) : listItemLoose(node)
23000 /** @type {Properties} */
23001 const properties = {}
23002 /** @type {Array<ElementContent>} */
23003 const children = []
23004
23005 if (typeof node.checked === 'boolean') {
23006 const head = results[0]
23007 /** @type {Element} */
23008 let paragraph
23009
23010 if (head && head.type === 'element' && head.tagName === 'p') {
23011 paragraph = head
23012 } else {
23013 paragraph = {type: 'element', tagName: 'p', properties: {}, children: []}
23014 results.unshift(paragraph)
23015 }
23016
23017 if (paragraph.children.length > 0) {
23018 paragraph.children.unshift({type: 'text', value: ' '})
23019 }
23020
23021 paragraph.children.unshift({
23022 type: 'element',
23023 tagName: 'input',
23024 properties: {type: 'checkbox', checked: node.checked, disabled: true},
23025 children: []
23026 })
23027
23028 // According to github-markdown-css, this class hides bullet.
23029 // See: <https://github.com/sindresorhus/github-markdown-css>.
23030 properties.className = ['task-list-item']
23031 }
23032
23033 let index = -1
23034
23035 while (++index < results.length) {
23036 const child = results[index]
23037
23038 // Add eols before nodes, except if this is a loose, first paragraph.
23039 if (
23040 loose ||
23041 index !== 0 ||
23042 child.type !== 'element' ||
23043 child.tagName !== 'p'
23044 ) {
23045 children.push({type: 'text', value: '\n'})
23046 }
23047
23048 if (child.type === 'element' && child.tagName === 'p' && !loose) {
23049 children.push(...child.children)
23050 } else {
23051 children.push(child)
23052 }
23053 }
23054
23055 const tail = results[results.length - 1]
23056
23057 // Add a final eol.
23058 if (tail && (loose || tail.type !== 'element' || tail.tagName !== 'p')) {
23059 children.push({type: 'text', value: '\n'})
23060 }
23061
23062 /** @type {Element} */
23063 const result = {type: 'element', tagName: 'li', properties, children}
23064 state.patch(node, result)
23065 return state.applyData(node, result)
23066 }
23067
23068 /**
23069 * @param {Parents} node
23070 * @return {Boolean}
23071 */
23072 function listLoose(node) {
23073 let loose = false
23074 if (node.type === 'list') {
23075 loose = node.spread || false
23076 const children = node.children
23077 let index = -1
23078
23079 while (!loose && ++index < children.length) {
23080 loose = listItemLoose(children[index])
23081 }
23082 }
23083
23084 return loose
23085 }
23086
23087 /**
23088 * @param {ListItem} node
23089 * @return {Boolean}
23090 */
23091 function listItemLoose(node) {
23092 const spread = node.spread
23093
23094 return spread === undefined || spread === null
23095 ? node.children.length > 1
23096 : spread
23097 }
23098
23099
23100 /***/ }),
23101
23102 /***/ "../node_modules/mdast-util-to-hast/lib/handlers/list.js":
23103 /*!***************************************************************!*\
23104 !*** ../node_modules/mdast-util-to-hast/lib/handlers/list.js ***!
23105 \***************************************************************/
23106 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
23107
23108 "use strict";
23109 __webpack_require__.r(__webpack_exports__);
23110 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
23111 /* harmony export */ list: () => (/* binding */ list)
23112 /* harmony export */ });
23113 /**
23114 * @typedef {import('hast').Element} Element
23115 * @typedef {import('hast').Properties} Properties
23116 * @typedef {import('mdast').List} List
23117 * @typedef {import('../state.js').State} State
23118 */
23119
23120 /**
23121 * Turn an mdast `list` node into hast.
23122 *
23123 * @param {State} state
23124 * Info passed around.
23125 * @param {List} node
23126 * mdast node.
23127 * @returns {Element}
23128 * hast node.
23129 */
23130 function list(state, node) {
23131 /** @type {Properties} */
23132 const properties = {}
23133 const results = state.all(node)
23134 let index = -1
23135
23136 if (typeof node.start === 'number' && node.start !== 1) {
23137 properties.start = node.start
23138 }
23139
23140 // Like GitHub, add a class for custom styling.
23141 while (++index < results.length) {
23142 const child = results[index]
23143
23144 if (
23145 child.type === 'element' &&
23146 child.tagName === 'li' &&
23147 child.properties &&
23148 Array.isArray(child.properties.className) &&
23149 child.properties.className.includes('task-list-item')
23150 ) {
23151 properties.className = ['contains-task-list']
23152 break
23153 }
23154 }
23155
23156 /** @type {Element} */
23157 const result = {
23158 type: 'element',
23159 tagName: node.ordered ? 'ol' : 'ul',
23160 properties,
23161 children: state.wrap(results, true)
23162 }
23163 state.patch(node, result)
23164 return state.applyData(node, result)
23165 }
23166
23167
23168 /***/ }),
23169
23170 /***/ "../node_modules/mdast-util-to-hast/lib/handlers/paragraph.js":
23171 /*!********************************************************************!*\
23172 !*** ../node_modules/mdast-util-to-hast/lib/handlers/paragraph.js ***!
23173 \********************************************************************/
23174 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
23175
23176 "use strict";
23177 __webpack_require__.r(__webpack_exports__);
23178 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
23179 /* harmony export */ paragraph: () => (/* binding */ paragraph)
23180 /* harmony export */ });
23181 /**
23182 * @typedef {import('hast').Element} Element
23183 * @typedef {import('mdast').Paragraph} Paragraph
23184 * @typedef {import('../state.js').State} State
23185 */
23186
23187 /**
23188 * Turn an mdast `paragraph` node into hast.
23189 *
23190 * @param {State} state
23191 * Info passed around.
23192 * @param {Paragraph} node
23193 * mdast node.
23194 * @returns {Element}
23195 * hast node.
23196 */
23197 function paragraph(state, node) {
23198 /** @type {Element} */
23199 const result = {
23200 type: 'element',
23201 tagName: 'p',
23202 properties: {},
23203 children: state.all(node)
23204 }
23205 state.patch(node, result)
23206 return state.applyData(node, result)
23207 }
23208
23209
23210 /***/ }),
23211
23212 /***/ "../node_modules/mdast-util-to-hast/lib/handlers/root.js":
23213 /*!***************************************************************!*\
23214 !*** ../node_modules/mdast-util-to-hast/lib/handlers/root.js ***!
23215 \***************************************************************/
23216 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
23217
23218 "use strict";
23219 __webpack_require__.r(__webpack_exports__);
23220 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
23221 /* harmony export */ root: () => (/* binding */ root)
23222 /* harmony export */ });
23223 /**
23224 * @typedef {import('hast').Root} HastRoot
23225 * @typedef {import('hast').Element} HastElement
23226 * @typedef {import('mdast').Root} MdastRoot
23227 * @typedef {import('../state.js').State} State
23228 */
23229
23230 /**
23231 * Turn an mdast `root` node into hast.
23232 *
23233 * @param {State} state
23234 * Info passed around.
23235 * @param {MdastRoot} node
23236 * mdast node.
23237 * @returns {HastRoot | HastElement}
23238 * hast node.
23239 */
23240 function root(state, node) {
23241 /** @type {HastRoot} */
23242 const result = {type: 'root', children: state.wrap(state.all(node))}
23243 state.patch(node, result)
23244 return state.applyData(node, result)
23245 }
23246
23247
23248 /***/ }),
23249
23250 /***/ "../node_modules/mdast-util-to-hast/lib/handlers/strong.js":
23251 /*!*****************************************************************!*\
23252 !*** ../node_modules/mdast-util-to-hast/lib/handlers/strong.js ***!
23253 \*****************************************************************/
23254 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
23255
23256 "use strict";
23257 __webpack_require__.r(__webpack_exports__);
23258 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
23259 /* harmony export */ strong: () => (/* binding */ strong)
23260 /* harmony export */ });
23261 /**
23262 * @typedef {import('hast').Element} Element
23263 * @typedef {import('mdast').Strong} Strong
23264 * @typedef {import('../state.js').State} State
23265 */
23266
23267 /**
23268 * Turn an mdast `strong` node into hast.
23269 *
23270 * @param {State} state
23271 * Info passed around.
23272 * @param {Strong} node
23273 * mdast node.
23274 * @returns {Element}
23275 * hast node.
23276 */
23277 function strong(state, node) {
23278 /** @type {Element} */
23279 const result = {
23280 type: 'element',
23281 tagName: 'strong',
23282 properties: {},
23283 children: state.all(node)
23284 }
23285 state.patch(node, result)
23286 return state.applyData(node, result)
23287 }
23288
23289
23290 /***/ }),
23291
23292 /***/ "../node_modules/mdast-util-to-hast/lib/handlers/table-cell.js":
23293 /*!*********************************************************************!*\
23294 !*** ../node_modules/mdast-util-to-hast/lib/handlers/table-cell.js ***!
23295 \*********************************************************************/
23296 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
23297
23298 "use strict";
23299 __webpack_require__.r(__webpack_exports__);
23300 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
23301 /* harmony export */ tableCell: () => (/* binding */ tableCell)
23302 /* harmony export */ });
23303 /**
23304 * @typedef {import('hast').Element} Element
23305 * @typedef {import('mdast').TableCell} TableCell
23306 * @typedef {import('../state.js').State} State
23307 */
23308
23309 /**
23310 * Turn an mdast `tableCell` node into hast.
23311 *
23312 * @param {State} state
23313 * Info passed around.
23314 * @param {TableCell} node
23315 * mdast node.
23316 * @returns {Element}
23317 * hast node.
23318 */
23319 function tableCell(state, node) {
23320 // Note: this function is normally not called: see `table-row` for how rows
23321 // and their cells are compiled.
23322 /** @type {Element} */
23323 const result = {
23324 type: 'element',
23325 tagName: 'td', // Assume body cell.
23326 properties: {},
23327 children: state.all(node)
23328 }
23329 state.patch(node, result)
23330 return state.applyData(node, result)
23331 }
23332
23333
23334 /***/ }),
23335
23336 /***/ "../node_modules/mdast-util-to-hast/lib/handlers/table-row.js":
23337 /*!********************************************************************!*\
23338 !*** ../node_modules/mdast-util-to-hast/lib/handlers/table-row.js ***!
23339 \********************************************************************/
23340 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
23341
23342 "use strict";
23343 __webpack_require__.r(__webpack_exports__);
23344 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
23345 /* harmony export */ tableRow: () => (/* binding */ tableRow)
23346 /* harmony export */ });
23347 /**
23348 * @typedef {import('hast').Properties} Properties
23349 * @typedef {import('hast').Element} Element
23350 * @typedef {import('hast').ElementContent} ElementContent
23351 * @typedef {import('mdast').Content} Content
23352 * @typedef {import('mdast').Parent} Parent
23353 * @typedef {import('mdast').Root} Root
23354 * @typedef {import('mdast').TableRow} TableRow
23355 * @typedef {import('../state.js').State} State
23356 */
23357
23358 /**
23359 * @typedef {Root | Content} Nodes
23360 * @typedef {Extract<Nodes, Parent>} Parents
23361 */
23362
23363 /**
23364 * Turn an mdast `tableRow` node into hast.
23365 *
23366 * @param {State} state
23367 * Info passed around.
23368 * @param {TableRow} node
23369 * mdast node.
23370 * @param {Parents | null | undefined} parent
23371 * Parent of `node`.
23372 * @returns {Element}
23373 * hast node.
23374 */
23375 function tableRow(state, node, parent) {
23376 const siblings = parent ? parent.children : undefined
23377 // Generate a body row when without parent.
23378 const rowIndex = siblings ? siblings.indexOf(node) : 1
23379 const tagName = rowIndex === 0 ? 'th' : 'td'
23380 const align = parent && parent.type === 'table' ? parent.align : undefined
23381 const length = align ? align.length : node.children.length
23382 let cellIndex = -1
23383 /** @type {Array<ElementContent>} */
23384 const cells = []
23385
23386 while (++cellIndex < length) {
23387 // Note: can also be undefined.
23388 const cell = node.children[cellIndex]
23389 /** @type {Properties} */
23390 const properties = {}
23391 const alignValue = align ? align[cellIndex] : undefined
23392
23393 if (alignValue) {
23394 properties.align = alignValue
23395 }
23396
23397 /** @type {Element} */
23398 let result = {type: 'element', tagName, properties, children: []}
23399
23400 if (cell) {
23401 result.children = state.all(cell)
23402 state.patch(cell, result)
23403 result = state.applyData(node, result)
23404 }
23405
23406 cells.push(result)
23407 }
23408
23409 /** @type {Element} */
23410 const result = {
23411 type: 'element',
23412 tagName: 'tr',
23413 properties: {},
23414 children: state.wrap(cells, true)
23415 }
23416 state.patch(node, result)
23417 return state.applyData(node, result)
23418 }
23419
23420
23421 /***/ }),
23422
23423 /***/ "../node_modules/mdast-util-to-hast/lib/handlers/table.js":
23424 /*!****************************************************************!*\
23425 !*** ../node_modules/mdast-util-to-hast/lib/handlers/table.js ***!
23426 \****************************************************************/
23427 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
23428
23429 "use strict";
23430 __webpack_require__.r(__webpack_exports__);
23431 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
23432 /* harmony export */ table: () => (/* binding */ table)
23433 /* harmony export */ });
23434 /* harmony import */ var unist_util_position__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! unist-util-position */ "../node_modules/unist-util-position/lib/index.js");
23435 /**
23436 * @typedef {import('hast').Element} Element
23437 * @typedef {import('mdast').Table} Table
23438 * @typedef {import('../state.js').State} State
23439 */
23440
23441
23442
23443 /**
23444 * Turn an mdast `table` node into hast.
23445 *
23446 * @param {State} state
23447 * Info passed around.
23448 * @param {Table} node
23449 * mdast node.
23450 * @returns {Element}
23451 * hast node.
23452 */
23453 function table(state, node) {
23454 const rows = state.all(node)
23455 const firstRow = rows.shift()
23456 /** @type {Array<Element>} */
23457 const tableContent = []
23458
23459 if (firstRow) {
23460 /** @type {Element} */
23461 const head = {
23462 type: 'element',
23463 tagName: 'thead',
23464 properties: {},
23465 children: state.wrap([firstRow], true)
23466 }
23467 state.patch(node.children[0], head)
23468 tableContent.push(head)
23469 }
23470
23471 if (rows.length > 0) {
23472 /** @type {Element} */
23473 const body = {
23474 type: 'element',
23475 tagName: 'tbody',
23476 properties: {},
23477 children: state.wrap(rows, true)
23478 }
23479
23480 const start = (0,unist_util_position__WEBPACK_IMPORTED_MODULE_0__.pointStart)(node.children[1])
23481 const end = (0,unist_util_position__WEBPACK_IMPORTED_MODULE_0__.pointEnd)(node.children[node.children.length - 1])
23482 if (start.line && end.line) body.position = {start, end}
23483 tableContent.push(body)
23484 }
23485
23486 /** @type {Element} */
23487 const result = {
23488 type: 'element',
23489 tagName: 'table',
23490 properties: {},
23491 children: state.wrap(tableContent, true)
23492 }
23493 state.patch(node, result)
23494 return state.applyData(node, result)
23495 }
23496
23497
23498 /***/ }),
23499
23500 /***/ "../node_modules/mdast-util-to-hast/lib/handlers/text.js":
23501 /*!***************************************************************!*\
23502 !*** ../node_modules/mdast-util-to-hast/lib/handlers/text.js ***!
23503 \***************************************************************/
23504 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
23505
23506 "use strict";
23507 __webpack_require__.r(__webpack_exports__);
23508 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
23509 /* harmony export */ text: () => (/* binding */ text)
23510 /* harmony export */ });
23511 /* harmony import */ var trim_lines__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! trim-lines */ "../node_modules/trim-lines/index.js");
23512 /**
23513 * @typedef {import('hast').Element} HastElement
23514 * @typedef {import('hast').Text} HastText
23515 * @typedef {import('mdast').Text} MdastText
23516 * @typedef {import('../state.js').State} State
23517 */
23518
23519
23520
23521 /**
23522 * Turn an mdast `text` node into hast.
23523 *
23524 * @param {State} state
23525 * Info passed around.
23526 * @param {MdastText} node
23527 * mdast node.
23528 * @returns {HastText | HastElement}
23529 * hast node.
23530 */
23531 function text(state, node) {
23532 /** @type {HastText} */
23533 const result = {type: 'text', value: (0,trim_lines__WEBPACK_IMPORTED_MODULE_0__.trimLines)(String(node.value))}
23534 state.patch(node, result)
23535 return state.applyData(node, result)
23536 }
23537
23538
23539 /***/ }),
23540
23541 /***/ "../node_modules/mdast-util-to-hast/lib/handlers/thematic-break.js":
23542 /*!*************************************************************************!*\
23543 !*** ../node_modules/mdast-util-to-hast/lib/handlers/thematic-break.js ***!
23544 \*************************************************************************/
23545 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
23546
23547 "use strict";
23548 __webpack_require__.r(__webpack_exports__);
23549 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
23550 /* harmony export */ thematicBreak: () => (/* binding */ thematicBreak)
23551 /* harmony export */ });
23552 /**
23553 * @typedef {import('hast').Element} Element
23554 * @typedef {import('mdast').ThematicBreak} ThematicBreak
23555 * @typedef {import('../state.js').State} State
23556 */
23557
23558 /**
23559 * Turn an mdast `thematicBreak` node into hast.
23560 *
23561 * @param {State} state
23562 * Info passed around.
23563 * @param {ThematicBreak} node
23564 * mdast node.
23565 * @returns {Element}
23566 * hast node.
23567 */
23568 function thematicBreak(state, node) {
23569 /** @type {Element} */
23570 const result = {
23571 type: 'element',
23572 tagName: 'hr',
23573 properties: {},
23574 children: []
23575 }
23576 state.patch(node, result)
23577 return state.applyData(node, result)
23578 }
23579
23580
23581 /***/ }),
23582
23583 /***/ "../node_modules/mdast-util-to-hast/lib/index.js":
23584 /*!*******************************************************!*\
23585 !*** ../node_modules/mdast-util-to-hast/lib/index.js ***!
23586 \*******************************************************/
23587 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
23588
23589 "use strict";
23590 __webpack_require__.r(__webpack_exports__);
23591 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
23592 /* harmony export */ toHast: () => (/* binding */ toHast)
23593 /* harmony export */ });
23594 /* harmony import */ var _footer_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./footer.js */ "../node_modules/mdast-util-to-hast/lib/footer.js");
23595 /* harmony import */ var _state_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./state.js */ "../node_modules/mdast-util-to-hast/lib/state.js");
23596 /**
23597 * @typedef {import('hast').Content} HastContent
23598 * @typedef {import('hast').Root} HastRoot
23599 *
23600 * @typedef {import('mdast').Content} MdastContent
23601 * @typedef {import('mdast').Root} MdastRoot
23602 *
23603 * @typedef {import('./state.js').Options} Options
23604 */
23605
23606 /**
23607 * @typedef {HastRoot | HastContent} HastNodes
23608 * @typedef {MdastRoot | MdastContent} MdastNodes
23609 */
23610
23611
23612
23613
23614 /**
23615 * Transform mdast to hast.
23616 *
23617 * ##### Notes
23618 *
23619 * ###### HTML
23620 *
23621 * Raw HTML is available in mdast as `html` nodes and can be embedded in hast
23622 * as semistandard `raw` nodes.
23623 * Most utilities ignore `raw` nodes but two notable ones don’t:
23624 *
23625 * * `hast-util-to-html` also has an option `allowDangerousHtml` which will
23626 * output the raw HTML.
23627 * This is typically discouraged as noted by the option name but is useful
23628 * if you completely trust authors
23629 * * `hast-util-raw` can handle the raw embedded HTML strings by parsing them
23630 * into standard hast nodes (`element`, `text`, etc).
23631 * This is a heavy task as it needs a full HTML parser, but it is the only
23632 * way to support untrusted content
23633 *
23634 * ###### Footnotes
23635 *
23636 * Many options supported here relate to footnotes.
23637 * Footnotes are not specified by CommonMark, which we follow by default.
23638 * They are supported by GitHub, so footnotes can be enabled in markdown with
23639 * `mdast-util-gfm`.
23640 *
23641 * The options `footnoteBackLabel` and `footnoteLabel` define natural language
23642 * that explains footnotes, which is hidden for sighted users but shown to
23643 * assistive technology.
23644 * When your page is not in English, you must define translated values.
23645 *
23646 * Back references use ARIA attributes, but the section label itself uses a
23647 * heading that is hidden with an `sr-only` class.
23648 * To show it to sighted users, define different attributes in
23649 * `footnoteLabelProperties`.
23650 *
23651 * ###### Clobbering
23652 *
23653 * Footnotes introduces a problem, as it links footnote calls to footnote
23654 * definitions on the page through `id` attributes generated from user content,
23655 * which results in DOM clobbering.
23656 *
23657 * DOM clobbering is this:
23658 *
23659 * ```html
23660 * <p id=x></p>
23661 * <script>alert(x) // `x` now refers to the DOM `p#x` element</script>
23662 * ```
23663 *
23664 * Elements by their ID are made available by browsers on the `window` object,
23665 * which is a security risk.
23666 * Using a prefix solves this problem.
23667 *
23668 * More information on how to handle clobbering and the prefix is explained in
23669 * Example: headings (DOM clobbering) in `rehype-sanitize`.
23670 *
23671 * ###### Unknown nodes
23672 *
23673 * Unknown nodes are nodes with a type that isn’t in `handlers` or `passThrough`.
23674 * The default behavior for unknown nodes is:
23675 *
23676 * * when the node has a `value` (and doesn’t have `data.hName`,
23677 * `data.hProperties`, or `data.hChildren`, see later), create a hast `text`
23678 * node
23679 * * otherwise, create a `<div>` element (which could be changed with
23680 * `data.hName`), with its children mapped from mdast to hast as well
23681 *
23682 * This behavior can be changed by passing an `unknownHandler`.
23683 *
23684 * @param {MdastNodes} tree
23685 * mdast tree.
23686 * @param {Options | null | undefined} [options]
23687 * Configuration.
23688 * @returns {HastNodes | null | undefined}
23689 * hast tree.
23690 */
23691 // To do: next major: always return a single `root`.
23692 function toHast(tree, options) {
23693 const state = (0,_state_js__WEBPACK_IMPORTED_MODULE_0__.createState)(tree, options)
23694 const node = state.one(tree, null)
23695 const foot = (0,_footer_js__WEBPACK_IMPORTED_MODULE_1__.footer)(state)
23696
23697 if (foot) {
23698 // @ts-expect-error If there’s a footer, there were definitions, meaning block
23699 // content.
23700 // So assume `node` is a parent node.
23701 node.children.push({type: 'text', value: '\n'}, foot)
23702 }
23703
23704 // To do: next major: always return root?
23705 return Array.isArray(node) ? {type: 'root', children: node} : node
23706 }
23707
23708
23709 /***/ }),
23710
23711 /***/ "../node_modules/mdast-util-to-hast/lib/revert.js":
23712 /*!********************************************************!*\
23713 !*** ../node_modules/mdast-util-to-hast/lib/revert.js ***!
23714 \********************************************************/
23715 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
23716
23717 "use strict";
23718 __webpack_require__.r(__webpack_exports__);
23719 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
23720 /* harmony export */ revert: () => (/* binding */ revert)
23721 /* harmony export */ });
23722 /**
23723 * @typedef {import('hast').ElementContent} ElementContent
23724 *
23725 * @typedef {import('mdast').Content} Content
23726 * @typedef {import('mdast').Reference} Reference
23727 * @typedef {import('mdast').Root} Root
23728 *
23729 * @typedef {import('./state.js').State} State
23730 */
23731
23732 /**
23733 * @typedef {Root | Content} Nodes
23734 * @typedef {Extract<Nodes, Reference>} References
23735 */
23736
23737 // To do: next major: always return array.
23738
23739 /**
23740 * Return the content of a reference without definition as plain text.
23741 *
23742 * @param {State} state
23743 * Info passed around.
23744 * @param {References} node
23745 * Reference node (image, link).
23746 * @returns {ElementContent | Array<ElementContent>}
23747 * hast content.
23748 */
23749 function revert(state, node) {
23750 const subtype = node.referenceType
23751 let suffix = ']'
23752
23753 if (subtype === 'collapsed') {
23754 suffix += '[]'
23755 } else if (subtype === 'full') {
23756 suffix += '[' + (node.label || node.identifier) + ']'
23757 }
23758
23759 if (node.type === 'imageReference') {
23760 return {type: 'text', value: '![' + node.alt + suffix}
23761 }
23762
23763 const contents = state.all(node)
23764 const head = contents[0]
23765
23766 if (head && head.type === 'text') {
23767 head.value = '[' + head.value
23768 } else {
23769 contents.unshift({type: 'text', value: '['})
23770 }
23771
23772 const tail = contents[contents.length - 1]
23773
23774 if (tail && tail.type === 'text') {
23775 tail.value += suffix
23776 } else {
23777 contents.push({type: 'text', value: suffix})
23778 }
23779
23780 return contents
23781 }
23782
23783
23784 /***/ }),
23785
23786 /***/ "../node_modules/mdast-util-to-hast/lib/state.js":
23787 /*!*******************************************************!*\
23788 !*** ../node_modules/mdast-util-to-hast/lib/state.js ***!
23789 \*******************************************************/
23790 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
23791
23792 "use strict";
23793 __webpack_require__.r(__webpack_exports__);
23794 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
23795 /* harmony export */ all: () => (/* binding */ all),
23796 /* harmony export */ createState: () => (/* binding */ createState),
23797 /* harmony export */ one: () => (/* binding */ one),
23798 /* harmony export */ wrap: () => (/* binding */ wrap)
23799 /* harmony export */ });
23800 /* harmony import */ var unist_util_visit__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! unist-util-visit */ "../node_modules/unist-util-visit/lib/index.js");
23801 /* harmony import */ var unist_util_position__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! unist-util-position */ "../node_modules/unist-util-position/lib/index.js");
23802 /* harmony import */ var unist_util_generated__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! unist-util-generated */ "../node_modules/unist-util-generated/lib/index.js");
23803 /* harmony import */ var mdast_util_definitions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! mdast-util-definitions */ "../node_modules/mdast-util-definitions/lib/index.js");
23804 /* 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");
23805 /**
23806 * @typedef {import('hast').Content} HastContent
23807 * @typedef {import('hast').Element} HastElement
23808 * @typedef {import('hast').ElementContent} HastElementContent
23809 * @typedef {import('hast').Properties} HastProperties
23810 * @typedef {import('hast').Root} HastRoot
23811 * @typedef {import('hast').Text} HastText
23812 *
23813 * @typedef {import('mdast').Content} MdastContent
23814 * @typedef {import('mdast').Definition} MdastDefinition
23815 * @typedef {import('mdast').FootnoteDefinition} MdastFootnoteDefinition
23816 * @typedef {import('mdast').Parent} MdastParent
23817 * @typedef {import('mdast').Root} MdastRoot
23818 */
23819
23820 /**
23821 * @typedef {HastRoot | HastContent} HastNodes
23822 * @typedef {MdastRoot | MdastContent} MdastNodes
23823 * @typedef {Extract<MdastNodes, MdastParent>} MdastParents
23824 *
23825 * @typedef EmbeddedHastFields
23826 * hast fields.
23827 * @property {string | null | undefined} [hName]
23828 * Generate a specific element with this tag name instead.
23829 * @property {HastProperties | null | undefined} [hProperties]
23830 * Generate an element with these properties instead.
23831 * @property {Array<HastElementContent> | null | undefined} [hChildren]
23832 * Generate an element with this content instead.
23833 *
23834 * @typedef {Record<string, unknown> & EmbeddedHastFields} MdastData
23835 * mdast data with embedded hast fields.
23836 *
23837 * @typedef {MdastNodes & {data?: MdastData | null | undefined}} MdastNodeWithData
23838 * mdast node with embedded hast data.
23839 *
23840 * @typedef PointLike
23841 * Point-like value.
23842 * @property {number | null | undefined} [line]
23843 * Line.
23844 * @property {number | null | undefined} [column]
23845 * Column.
23846 * @property {number | null | undefined} [offset]
23847 * Offset.
23848 *
23849 * @typedef PositionLike
23850 * Position-like value.
23851 * @property {PointLike | null | undefined} [start]
23852 * Point-like value.
23853 * @property {PointLike | null | undefined} [end]
23854 * Point-like value.
23855 *
23856 * @callback Handler
23857 * Handle a node.
23858 * @param {State} state
23859 * Info passed around.
23860 * @param {any} node
23861 * mdast node to handle.
23862 * @param {MdastParents | null | undefined} parent
23863 * Parent of `node`.
23864 * @returns {HastElementContent | Array<HastElementContent> | null | undefined}
23865 * hast node.
23866 *
23867 * @callback HFunctionProps
23868 * Signature of `state` for when props are passed.
23869 * @param {MdastNodes | PositionLike | null | undefined} node
23870 * mdast node or unist position.
23871 * @param {string} tagName
23872 * HTML tag name.
23873 * @param {HastProperties} props
23874 * Properties.
23875 * @param {Array<HastElementContent> | null | undefined} [children]
23876 * hast content.
23877 * @returns {HastElement}
23878 * Compiled element.
23879 *
23880 * @callback HFunctionNoProps
23881 * Signature of `state` for when no props are passed.
23882 * @param {MdastNodes | PositionLike | null | undefined} node
23883 * mdast node or unist position.
23884 * @param {string} tagName
23885 * HTML tag name.
23886 * @param {Array<HastElementContent> | null | undefined} [children]
23887 * hast content.
23888 * @returns {HastElement}
23889 * Compiled element.
23890 *
23891 * @typedef HFields
23892 * Info on `state`.
23893 * @property {boolean} dangerous
23894 * Whether HTML is allowed.
23895 * @property {string} clobberPrefix
23896 * Prefix to use to prevent DOM clobbering.
23897 * @property {string} footnoteLabel
23898 * Label to use to introduce the footnote section.
23899 * @property {string} footnoteLabelTagName
23900 * HTML used for the footnote label.
23901 * @property {HastProperties} footnoteLabelProperties
23902 * Properties on the HTML tag used for the footnote label.
23903 * @property {string} footnoteBackLabel
23904 * Label to use from backreferences back to their footnote call.
23905 * @property {(identifier: string) => MdastDefinition | null} definition
23906 * Definition cache.
23907 * @property {Record<string, MdastFootnoteDefinition>} footnoteById
23908 * Footnote definitions by their identifier.
23909 * @property {Array<string>} footnoteOrder
23910 * Identifiers of order when footnote calls first appear in tree order.
23911 * @property {Record<string, number>} footnoteCounts
23912 * Counts for how often the same footnote was called.
23913 * @property {Handlers} handlers
23914 * Applied handlers.
23915 * @property {Handler} unknownHandler
23916 * Handler for any none not in `passThrough` or otherwise handled.
23917 * @property {(from: MdastNodes, node: HastNodes) => void} patch
23918 * Copy a node’s positional info.
23919 * @property {<Type extends HastNodes>(from: MdastNodes, to: Type) => Type | HastElement} applyData
23920 * Honor the `data` of `from`, and generate an element instead of `node`.
23921 * @property {(node: MdastNodes, parent: MdastParents | null | undefined) => HastElementContent | Array<HastElementContent> | null | undefined} one
23922 * Transform an mdast node to hast.
23923 * @property {(node: MdastNodes) => Array<HastElementContent>} all
23924 * Transform the children of an mdast parent to hast.
23925 * @property {<Type extends HastContent>(nodes: Array<Type>, loose?: boolean | null | undefined) => Array<Type | HastText>} wrap
23926 * Wrap `nodes` with line endings between each node, adds initial/final line endings when `loose`.
23927 * @property {(left: MdastNodeWithData | PositionLike | null | undefined, right: HastElementContent) => HastElementContent} augment
23928 * Like `state` but lower-level and usable on non-elements.
23929 * Deprecated: use `patch` and `applyData`.
23930 * @property {Array<string>} passThrough
23931 * List of node types to pass through untouched (except for their children).
23932 *
23933 * @typedef Options
23934 * Configuration (optional).
23935 * @property {boolean | null | undefined} [allowDangerousHtml=false]
23936 * Whether to persist raw HTML in markdown in the hast tree.
23937 * @property {string | null | undefined} [clobberPrefix='user-content-']
23938 * Prefix to use before the `id` attribute on footnotes to prevent it from
23939 * *clobbering*.
23940 * @property {string | null | undefined} [footnoteBackLabel='Back to content']
23941 * Label to use from backreferences back to their footnote call (affects
23942 * screen readers).
23943 * @property {string | null | undefined} [footnoteLabel='Footnotes']
23944 * Label to use for the footnotes section (affects screen readers).
23945 * @property {HastProperties | null | undefined} [footnoteLabelProperties={className: ['sr-only']}]
23946 * Properties to use on the footnote label (note that `id: 'footnote-label'`
23947 * is always added as footnote calls use it with `aria-describedby` to
23948 * provide an accessible label).
23949 * @property {string | null | undefined} [footnoteLabelTagName='h2']
23950 * Tag name to use for the footnote label.
23951 * @property {Handlers | null | undefined} [handlers]
23952 * Extra handlers for nodes.
23953 * @property {Array<string> | null | undefined} [passThrough]
23954 * List of custom mdast node types to pass through (keep) in hast (note that
23955 * the node itself is passed, but eventual children are transformed).
23956 * @property {Handler | null | undefined} [unknownHandler]
23957 * Handler for all unknown nodes.
23958 *
23959 * @typedef {Record<string, Handler>} Handlers
23960 * Handle nodes.
23961 *
23962 * @typedef {HFunctionProps & HFunctionNoProps & HFields} State
23963 * Info passed around.
23964 */
23965
23966
23967
23968
23969
23970
23971
23972 const own = {}.hasOwnProperty
23973
23974 /**
23975 * Create `state` from an mdast tree.
23976 *
23977 * @param {MdastNodes} tree
23978 * mdast node to transform.
23979 * @param {Options | null | undefined} [options]
23980 * Configuration.
23981 * @returns {State}
23982 * `state` function.
23983 */
23984 function createState(tree, options) {
23985 const settings = options || {}
23986 const dangerous = settings.allowDangerousHtml || false
23987 /** @type {Record<string, MdastFootnoteDefinition>} */
23988 const footnoteById = {}
23989
23990 // To do: next major: add `options` to state, remove:
23991 // `dangerous`, `clobberPrefix`, `footnoteLabel`, `footnoteLabelTagName`,
23992 // `footnoteLabelProperties`, `footnoteBackLabel`, `passThrough`,
23993 // `unknownHandler`.
23994
23995 // To do: next major: move to `state.options.allowDangerousHtml`.
23996 state.dangerous = dangerous
23997 // To do: next major: move to `state.options`.
23998 state.clobberPrefix =
23999 settings.clobberPrefix === undefined || settings.clobberPrefix === null
24000 ? 'user-content-'
24001 : settings.clobberPrefix
24002 // To do: next major: move to `state.options`.
24003 state.footnoteLabel = settings.footnoteLabel || 'Footnotes'
24004 // To do: next major: move to `state.options`.
24005 state.footnoteLabelTagName = settings.footnoteLabelTagName || 'h2'
24006 // To do: next major: move to `state.options`.
24007 state.footnoteLabelProperties = settings.footnoteLabelProperties || {
24008 className: ['sr-only']
24009 }
24010 // To do: next major: move to `state.options`.
24011 state.footnoteBackLabel = settings.footnoteBackLabel || 'Back to content'
24012 // To do: next major: move to `state.options`.
24013 state.unknownHandler = settings.unknownHandler
24014 // To do: next major: move to `state.options`.
24015 state.passThrough = settings.passThrough
24016
24017 state.handlers = {..._handlers_index_js__WEBPACK_IMPORTED_MODULE_0__.handlers, ...settings.handlers}
24018
24019 // To do: next major: replace utility with `definitionById` object, so we
24020 // only walk once (as we need footnotes too).
24021 state.definition = (0,mdast_util_definitions__WEBPACK_IMPORTED_MODULE_1__.definitions)(tree)
24022 state.footnoteById = footnoteById
24023 /** @type {Array<string>} */
24024 state.footnoteOrder = []
24025 /** @type {Record<string, number>} */
24026 state.footnoteCounts = {}
24027
24028 state.patch = patch
24029 state.applyData = applyData
24030 state.one = oneBound
24031 state.all = allBound
24032 state.wrap = wrap
24033 // To do: next major: remove `augment`.
24034 state.augment = augment
24035
24036 ;(0,unist_util_visit__WEBPACK_IMPORTED_MODULE_2__.visit)(tree, 'footnoteDefinition', (definition) => {
24037 const id = String(definition.identifier).toUpperCase()
24038
24039 // Mimick CM behavior of link definitions.
24040 // See: <https://github.com/syntax-tree/mdast-util-definitions/blob/8290999/index.js#L26>.
24041 if (!own.call(footnoteById, id)) {
24042 footnoteById[id] = definition
24043 }
24044 })
24045
24046 // @ts-expect-error Hush, it’s fine!
24047 return state
24048
24049 /**
24050 * Finalise the created `right`, a hast node, from `left`, an mdast node.
24051 *
24052 * @param {MdastNodeWithData | PositionLike | null | undefined} left
24053 * @param {HastElementContent} right
24054 * @returns {HastElementContent}
24055 */
24056 /* c8 ignore start */
24057 // To do: next major: remove.
24058 function augment(left, right) {
24059 // Handle `data.hName`, `data.hProperties, `data.hChildren`.
24060 if (left && 'data' in left && left.data) {
24061 /** @type {MdastData} */
24062 const data = left.data
24063
24064 if (data.hName) {
24065 if (right.type !== 'element') {
24066 right = {
24067 type: 'element',
24068 tagName: '',
24069 properties: {},
24070 children: []
24071 }
24072 }
24073
24074 right.tagName = data.hName
24075 }
24076
24077 if (right.type === 'element' && data.hProperties) {
24078 right.properties = {...right.properties, ...data.hProperties}
24079 }
24080
24081 if ('children' in right && right.children && data.hChildren) {
24082 right.children = data.hChildren
24083 }
24084 }
24085
24086 if (left) {
24087 const ctx = 'type' in left ? left : {position: left}
24088
24089 if (!(0,unist_util_generated__WEBPACK_IMPORTED_MODULE_3__.generated)(ctx)) {
24090 // @ts-expect-error: fine.
24091 right.position = {start: (0,unist_util_position__WEBPACK_IMPORTED_MODULE_4__.pointStart)(ctx), end: (0,unist_util_position__WEBPACK_IMPORTED_MODULE_4__.pointEnd)(ctx)}
24092 }
24093 }
24094
24095 return right
24096 }
24097 /* c8 ignore stop */
24098
24099 /**
24100 * Create an element for `node`.
24101 *
24102 * @type {HFunctionProps}
24103 */
24104 /* c8 ignore start */
24105 // To do: next major: remove.
24106 function state(node, tagName, props, children) {
24107 if (Array.isArray(props)) {
24108 children = props
24109 props = {}
24110 }
24111
24112 // @ts-expect-error augmenting an element yields an element.
24113 return augment(node, {
24114 type: 'element',
24115 tagName,
24116 properties: props || {},
24117 children: children || []
24118 })
24119 }
24120 /* c8 ignore stop */
24121
24122 /**
24123 * Transform an mdast node into a hast node.
24124 *
24125 * @param {MdastNodes} node
24126 * mdast node.
24127 * @param {MdastParents | null | undefined} [parent]
24128 * Parent of `node`.
24129 * @returns {HastElementContent | Array<HastElementContent> | null | undefined}
24130 * Resulting hast node.
24131 */
24132 function oneBound(node, parent) {
24133 // @ts-expect-error: that’s a state :)
24134 return one(state, node, parent)
24135 }
24136
24137 /**
24138 * Transform the children of an mdast node into hast nodes.
24139 *
24140 * @param {MdastNodes} parent
24141 * mdast node to compile
24142 * @returns {Array<HastElementContent>}
24143 * Resulting hast nodes.
24144 */
24145 function allBound(parent) {
24146 // @ts-expect-error: that’s a state :)
24147 return all(state, parent)
24148 }
24149 }
24150
24151 /**
24152 * Copy a node’s positional info.
24153 *
24154 * @param {MdastNodes} from
24155 * mdast node to copy from.
24156 * @param {HastNodes} to
24157 * hast node to copy into.
24158 * @returns {void}
24159 * Nothing.
24160 */
24161 function patch(from, to) {
24162 if (from.position) to.position = (0,unist_util_position__WEBPACK_IMPORTED_MODULE_4__.position)(from)
24163 }
24164
24165 /**
24166 * Honor the `data` of `from` and maybe generate an element instead of `to`.
24167 *
24168 * @template {HastNodes} Type
24169 * Node type.
24170 * @param {MdastNodes} from
24171 * mdast node to use data from.
24172 * @param {Type} to
24173 * hast node to change.
24174 * @returns {Type | HastElement}
24175 * Nothing.
24176 */
24177 function applyData(from, to) {
24178 /** @type {Type | HastElement} */
24179 let result = to
24180
24181 // Handle `data.hName`, `data.hProperties, `data.hChildren`.
24182 if (from && from.data) {
24183 const hName = from.data.hName
24184 const hChildren = from.data.hChildren
24185 const hProperties = from.data.hProperties
24186
24187 if (typeof hName === 'string') {
24188 // Transforming the node resulted in an element with a different name
24189 // than wanted:
24190 if (result.type === 'element') {
24191 result.tagName = hName
24192 }
24193 // Transforming the node resulted in a non-element, which happens for
24194 // raw, text, and root nodes (unless custom handlers are passed).
24195 // The intent is likely to keep the content around (otherwise: pass
24196 // `hChildren`).
24197 else {
24198 result = {
24199 type: 'element',
24200 tagName: hName,
24201 properties: {},
24202 children: []
24203 }
24204
24205 // To do: next major: take the children from the `root`, or inject the
24206 // raw/text/comment or so into the element?
24207 // if ('children' in node) {
24208 // // @ts-expect-error: assume `children` are allowed in elements.
24209 // result.children = node.children
24210 // } else {
24211 // // @ts-expect-error: assume `node` is allowed in elements.
24212 // result.children.push(node)
24213 // }
24214 }
24215 }
24216
24217 if (result.type === 'element' && hProperties) {
24218 result.properties = {...result.properties, ...hProperties}
24219 }
24220
24221 if (
24222 'children' in result &&
24223 result.children &&
24224 hChildren !== null &&
24225 hChildren !== undefined
24226 ) {
24227 // @ts-expect-error: assume valid children are defined.
24228 result.children = hChildren
24229 }
24230 }
24231
24232 return result
24233 }
24234
24235 /**
24236 * Transform an mdast node into a hast node.
24237 *
24238 * @param {State} state
24239 * Info passed around.
24240 * @param {MdastNodes} node
24241 * mdast node.
24242 * @param {MdastParents | null | undefined} [parent]
24243 * Parent of `node`.
24244 * @returns {HastElementContent | Array<HastElementContent> | null | undefined}
24245 * Resulting hast node.
24246 */
24247 // To do: next major: do not expose, keep bound.
24248 function one(state, node, parent) {
24249 const type = node && node.type
24250
24251 // Fail on non-nodes.
24252 if (!type) {
24253 throw new Error('Expected node, got `' + node + '`')
24254 }
24255
24256 if (own.call(state.handlers, type)) {
24257 return state.handlers[type](state, node, parent)
24258 }
24259
24260 if (state.passThrough && state.passThrough.includes(type)) {
24261 // To do: next major: deep clone.
24262 // @ts-expect-error: types of passed through nodes are expected to be added manually.
24263 return 'children' in node ? {...node, children: all(state, node)} : node
24264 }
24265
24266 if (state.unknownHandler) {
24267 return state.unknownHandler(state, node, parent)
24268 }
24269
24270 return defaultUnknownHandler(state, node)
24271 }
24272
24273 /**
24274 * Transform the children of an mdast node into hast nodes.
24275 *
24276 * @param {State} state
24277 * Info passed around.
24278 * @param {MdastNodes} parent
24279 * mdast node to compile
24280 * @returns {Array<HastElementContent>}
24281 * Resulting hast nodes.
24282 */
24283 // To do: next major: do not expose, keep bound.
24284 function all(state, parent) {
24285 /** @type {Array<HastElementContent>} */
24286 const values = []
24287
24288 if ('children' in parent) {
24289 const nodes = parent.children
24290 let index = -1
24291 while (++index < nodes.length) {
24292 const result = one(state, nodes[index], parent)
24293
24294 // To do: see if we van clean this? Can we merge texts?
24295 if (result) {
24296 if (index && nodes[index - 1].type === 'break') {
24297 if (!Array.isArray(result) && result.type === 'text') {
24298 result.value = result.value.replace(/^\s+/, '')
24299 }
24300
24301 if (!Array.isArray(result) && result.type === 'element') {
24302 const head = result.children[0]
24303
24304 if (head && head.type === 'text') {
24305 head.value = head.value.replace(/^\s+/, '')
24306 }
24307 }
24308 }
24309
24310 if (Array.isArray(result)) {
24311 values.push(...result)
24312 } else {
24313 values.push(result)
24314 }
24315 }
24316 }
24317 }
24318
24319 return values
24320 }
24321
24322 /**
24323 * Transform an unknown node.
24324 *
24325 * @param {State} state
24326 * Info passed around.
24327 * @param {MdastNodes} node
24328 * Unknown mdast node.
24329 * @returns {HastText | HastElement}
24330 * Resulting hast node.
24331 */
24332 function defaultUnknownHandler(state, node) {
24333 const data = node.data || {}
24334 /** @type {HastText | HastElement} */
24335 const result =
24336 'value' in node &&
24337 !(own.call(data, 'hProperties') || own.call(data, 'hChildren'))
24338 ? {type: 'text', value: node.value}
24339 : {
24340 type: 'element',
24341 tagName: 'div',
24342 properties: {},
24343 children: all(state, node)
24344 }
24345
24346 state.patch(node, result)
24347 return state.applyData(node, result)
24348 }
24349
24350 /**
24351 * Wrap `nodes` with line endings between each node.
24352 *
24353 * @template {HastContent} Type
24354 * Node type.
24355 * @param {Array<Type>} nodes
24356 * List of nodes to wrap.
24357 * @param {boolean | null | undefined} [loose=false]
24358 * Whether to add line endings at start and end.
24359 * @returns {Array<Type | HastText>}
24360 * Wrapped nodes.
24361 */
24362 function wrap(nodes, loose) {
24363 /** @type {Array<Type | HastText>} */
24364 const result = []
24365 let index = -1
24366
24367 if (loose) {
24368 result.push({type: 'text', value: '\n'})
24369 }
24370
24371 while (++index < nodes.length) {
24372 if (index) result.push({type: 'text', value: '\n'})
24373 result.push(nodes[index])
24374 }
24375
24376 if (loose && nodes.length > 0) {
24377 result.push({type: 'text', value: '\n'})
24378 }
24379
24380 return result
24381 }
24382
24383
24384 /***/ }),
24385
24386 /***/ "../node_modules/mdast-util-to-string/lib/index.js":
24387 /*!*********************************************************!*\
24388 !*** ../node_modules/mdast-util-to-string/lib/index.js ***!
24389 \*********************************************************/
24390 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
24391
24392 "use strict";
24393 __webpack_require__.r(__webpack_exports__);
24394 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
24395 /* harmony export */ toString: () => (/* binding */ toString)
24396 /* harmony export */ });
24397 /**
24398 * @typedef {import('mdast').Root|import('mdast').Content} Node
24399 *
24400 * @typedef Options
24401 * Configuration (optional).
24402 * @property {boolean | null | undefined} [includeImageAlt=true]
24403 * Whether to use `alt` for `image`s.
24404 * @property {boolean | null | undefined} [includeHtml=true]
24405 * Whether to use `value` of HTML.
24406 */
24407
24408 /** @type {Options} */
24409 const emptyOptions = {}
24410
24411 /**
24412 * Get the text content of a node or list of nodes.
24413 *
24414 * Prefers the node’s plain-text fields, otherwise serializes its children,
24415 * and if the given value is an array, serialize the nodes in it.
24416 *
24417 * @param {unknown} value
24418 * Thing to serialize, typically `Node`.
24419 * @param {Options | null | undefined} [options]
24420 * Configuration (optional).
24421 * @returns {string}
24422 * Serialized `value`.
24423 */
24424 function toString(value, options) {
24425 const settings = options || emptyOptions
24426 const includeImageAlt =
24427 typeof settings.includeImageAlt === 'boolean'
24428 ? settings.includeImageAlt
24429 : true
24430 const includeHtml =
24431 typeof settings.includeHtml === 'boolean' ? settings.includeHtml : true
24432
24433 return one(value, includeImageAlt, includeHtml)
24434 }
24435
24436 /**
24437 * One node or several nodes.
24438 *
24439 * @param {unknown} value
24440 * Thing to serialize.
24441 * @param {boolean} includeImageAlt
24442 * Include image `alt`s.
24443 * @param {boolean} includeHtml
24444 * Include HTML.
24445 * @returns {string}
24446 * Serialized node.
24447 */
24448 function one(value, includeImageAlt, includeHtml) {
24449 if (node(value)) {
24450 if ('value' in value) {
24451 return value.type === 'html' && !includeHtml ? '' : value.value
24452 }
24453
24454 if (includeImageAlt && 'alt' in value && value.alt) {
24455 return value.alt
24456 }
24457
24458 if ('children' in value) {
24459 return all(value.children, includeImageAlt, includeHtml)
24460 }
24461 }
24462
24463 if (Array.isArray(value)) {
24464 return all(value, includeImageAlt, includeHtml)
24465 }
24466
24467 return ''
24468 }
24469
24470 /**
24471 * Serialize a list of nodes.
24472 *
24473 * @param {Array<unknown>} values
24474 * Thing to serialize.
24475 * @param {boolean} includeImageAlt
24476 * Include image `alt`s.
24477 * @param {boolean} includeHtml
24478 * Include HTML.
24479 * @returns {string}
24480 * Serialized nodes.
24481 */
24482 function all(values, includeImageAlt, includeHtml) {
24483 /** @type {Array<string>} */
24484 const result = []
24485 let index = -1
24486
24487 while (++index < values.length) {
24488 result[index] = one(values[index], includeImageAlt, includeHtml)
24489 }
24490
24491 return result.join('')
24492 }
24493
24494 /**
24495 * Check if `value` looks like a node.
24496 *
24497 * @param {unknown} value
24498 * Thing.
24499 * @returns {value is Node}
24500 * Whether `value` is a node.
24501 */
24502 function node(value) {
24503 return Boolean(value && typeof value === 'object')
24504 }
24505
24506
24507 /***/ }),
24508
24509 /***/ "../node_modules/micromark-core-commonmark/dev/lib/attention.js":
24510 /*!**********************************************************************!*\
24511 !*** ../node_modules/micromark-core-commonmark/dev/lib/attention.js ***!
24512 \**********************************************************************/
24513 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
24514
24515 "use strict";
24516 __webpack_require__.r(__webpack_exports__);
24517 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
24518 /* harmony export */ attention: () => (/* binding */ attention)
24519 /* harmony export */ });
24520 /* harmony import */ var micromark_util_chunked__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! micromark-util-chunked */ "../node_modules/micromark-util-chunked/dev/index.js");
24521 /* 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");
24522 /* 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");
24523 /* 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");
24524 /* 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");
24525 /* 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");
24526 /* harmony import */ var uvu_assert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uvu/assert */ "../node_modules/uvu/assert/index.mjs");
24527 /**
24528 * @typedef {import('micromark-util-types').Code} Code
24529 * @typedef {import('micromark-util-types').Construct} Construct
24530 * @typedef {import('micromark-util-types').Event} Event
24531 * @typedef {import('micromark-util-types').Point} Point
24532 * @typedef {import('micromark-util-types').Resolver} Resolver
24533 * @typedef {import('micromark-util-types').State} State
24534 * @typedef {import('micromark-util-types').Token} Token
24535 * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext
24536 * @typedef {import('micromark-util-types').Tokenizer} Tokenizer
24537 */
24538
24539
24540
24541
24542
24543
24544
24545
24546
24547 /** @type {Construct} */
24548 const attention = {
24549 name: 'attention',
24550 tokenize: tokenizeAttention,
24551 resolveAll: resolveAllAttention
24552 }
24553
24554 /**
24555 * Take all events and resolve attention to emphasis or strong.
24556 *
24557 * @type {Resolver}
24558 */
24559 function resolveAllAttention(events, context) {
24560 let index = -1
24561 /** @type {number} */
24562 let open
24563 /** @type {Token} */
24564 let group
24565 /** @type {Token} */
24566 let text
24567 /** @type {Token} */
24568 let openingSequence
24569 /** @type {Token} */
24570 let closingSequence
24571 /** @type {number} */
24572 let use
24573 /** @type {Array<Event>} */
24574 let nextEvents
24575 /** @type {number} */
24576 let offset
24577
24578 // Walk through all events.
24579 //
24580 // Note: performance of this is fine on an mb of normal markdown, but it’s
24581 // a bottleneck for malicious stuff.
24582 while (++index < events.length) {
24583 // Find a token that can close.
24584 if (
24585 events[index][0] === 'enter' &&
24586 events[index][1].type === 'attentionSequence' &&
24587 events[index][1]._close
24588 ) {
24589 open = index
24590
24591 // Now walk back to find an opener.
24592 while (open--) {
24593 // Find a token that can open the closer.
24594 if (
24595 events[open][0] === 'exit' &&
24596 events[open][1].type === 'attentionSequence' &&
24597 events[open][1]._open &&
24598 // If the markers are the same:
24599 context.sliceSerialize(events[open][1]).charCodeAt(0) ===
24600 context.sliceSerialize(events[index][1]).charCodeAt(0)
24601 ) {
24602 // If the opening can close or the closing can open,
24603 // and the close size *is not* a multiple of three,
24604 // but the sum of the opening and closing size *is* multiple of three,
24605 // then don’t match.
24606 if (
24607 (events[open][1]._close || events[index][1]._open) &&
24608 (events[index][1].end.offset - events[index][1].start.offset) % 3 &&
24609 !(
24610 (events[open][1].end.offset -
24611 events[open][1].start.offset +
24612 events[index][1].end.offset -
24613 events[index][1].start.offset) %
24614 3
24615 )
24616 ) {
24617 continue
24618 }
24619
24620 // Number of markers to use from the sequence.
24621 use =
24622 events[open][1].end.offset - events[open][1].start.offset > 1 &&
24623 events[index][1].end.offset - events[index][1].start.offset > 1
24624 ? 2
24625 : 1
24626
24627 const start = Object.assign({}, events[open][1].end)
24628 const end = Object.assign({}, events[index][1].start)
24629 movePoint(start, -use)
24630 movePoint(end, use)
24631
24632 openingSequence = {
24633 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,
24634 start,
24635 end: Object.assign({}, events[open][1].end)
24636 }
24637 closingSequence = {
24638 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,
24639 start: Object.assign({}, events[index][1].start),
24640 end
24641 }
24642 text = {
24643 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,
24644 start: Object.assign({}, events[open][1].end),
24645 end: Object.assign({}, events[index][1].start)
24646 }
24647 group = {
24648 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,
24649 start: Object.assign({}, openingSequence.start),
24650 end: Object.assign({}, closingSequence.end)
24651 }
24652
24653 events[open][1].end = Object.assign({}, openingSequence.start)
24654 events[index][1].start = Object.assign({}, closingSequence.end)
24655
24656 nextEvents = []
24657
24658 // If there are more markers in the opening, add them before.
24659 if (events[open][1].end.offset - events[open][1].start.offset) {
24660 nextEvents = (0,micromark_util_chunked__WEBPACK_IMPORTED_MODULE_2__.push)(nextEvents, [
24661 ['enter', events[open][1], context],
24662 ['exit', events[open][1], context]
24663 ])
24664 }
24665
24666 // Opening.
24667 nextEvents = (0,micromark_util_chunked__WEBPACK_IMPORTED_MODULE_2__.push)(nextEvents, [
24668 ['enter', group, context],
24669 ['enter', openingSequence, context],
24670 ['exit', openingSequence, context],
24671 ['enter', text, context]
24672 ])
24673
24674 // Always populated by defaults.
24675 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(
24676 context.parser.constructs.insideSpan.null,
24677 'expected `insideSpan` to be populated'
24678 )
24679
24680 // Between.
24681 nextEvents = (0,micromark_util_chunked__WEBPACK_IMPORTED_MODULE_2__.push)(
24682 nextEvents,
24683 (0,micromark_util_resolve_all__WEBPACK_IMPORTED_MODULE_3__.resolveAll)(
24684 context.parser.constructs.insideSpan.null,
24685 events.slice(open + 1, index),
24686 context
24687 )
24688 )
24689
24690 // Closing.
24691 nextEvents = (0,micromark_util_chunked__WEBPACK_IMPORTED_MODULE_2__.push)(nextEvents, [
24692 ['exit', text, context],
24693 ['enter', closingSequence, context],
24694 ['exit', closingSequence, context],
24695 ['exit', group, context]
24696 ])
24697
24698 // If there are more markers in the closing, add them after.
24699 if (events[index][1].end.offset - events[index][1].start.offset) {
24700 offset = 2
24701 nextEvents = (0,micromark_util_chunked__WEBPACK_IMPORTED_MODULE_2__.push)(nextEvents, [
24702 ['enter', events[index][1], context],
24703 ['exit', events[index][1], context]
24704 ])
24705 } else {
24706 offset = 0
24707 }
24708
24709 (0,micromark_util_chunked__WEBPACK_IMPORTED_MODULE_2__.splice)(events, open - 1, index - open + 3, nextEvents)
24710
24711 index = open + nextEvents.length - offset - 2
24712 break
24713 }
24714 }
24715 }
24716 }
24717
24718 // Remove remaining sequences.
24719 index = -1
24720
24721 while (++index < events.length) {
24722 if (events[index][1].type === 'attentionSequence') {
24723 events[index][1].type = 'data'
24724 }
24725 }
24726
24727 return events
24728 }
24729
24730 /**
24731 * @this {TokenizeContext}
24732 * @type {Tokenizer}
24733 */
24734 function tokenizeAttention(effects, ok) {
24735 const attentionMarkers = this.parser.constructs.attentionMarkers.null
24736 const previous = this.previous
24737 const before = (0,micromark_util_classify_character__WEBPACK_IMPORTED_MODULE_4__.classifyCharacter)(previous)
24738
24739 /** @type {NonNullable<Code>} */
24740 let marker
24741
24742 return start
24743
24744 /**
24745 * Before a sequence.
24746 *
24747 * ```markdown
24748 * > | **
24749 * ^
24750 * ```
24751 *
24752 * @type {State}
24753 */
24754 function start(code) {
24755 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(
24756 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_5__.codes.asterisk || code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_5__.codes.underscore,
24757 'expected asterisk or underscore'
24758 )
24759 marker = code
24760 effects.enter('attentionSequence')
24761 return inside(code)
24762 }
24763
24764 /**
24765 * In a sequence.
24766 *
24767 * ```markdown
24768 * > | **
24769 * ^^
24770 * ```
24771 *
24772 * @type {State}
24773 */
24774 function inside(code) {
24775 if (code === marker) {
24776 effects.consume(code)
24777 return inside
24778 }
24779
24780 const token = effects.exit('attentionSequence')
24781
24782 // To do: next major: move this to resolver, just like `markdown-rs`.
24783 const after = (0,micromark_util_classify_character__WEBPACK_IMPORTED_MODULE_4__.classifyCharacter)(code)
24784
24785 // Always populated by defaults.
24786 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(attentionMarkers, 'expected `attentionMarkers` to be populated')
24787
24788 const open =
24789 !after ||
24790 (after === micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_6__.constants.characterGroupPunctuation && before) ||
24791 attentionMarkers.includes(code)
24792 const close =
24793 !before ||
24794 (before === micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_6__.constants.characterGroupPunctuation && after) ||
24795 attentionMarkers.includes(previous)
24796
24797 token._open = Boolean(
24798 marker === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_5__.codes.asterisk ? open : open && (before || !close)
24799 )
24800 token._close = Boolean(
24801 marker === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_5__.codes.asterisk ? close : close && (after || !open)
24802 )
24803 return ok(code)
24804 }
24805 }
24806
24807 /**
24808 * Move a point a bit.
24809 *
24810 * Note: `move` only works inside lines! It’s not possible to move past other
24811 * chunks (replacement characters, tabs, or line endings).
24812 *
24813 * @param {Point} point
24814 * @param {number} offset
24815 * @returns {void}
24816 */
24817 function movePoint(point, offset) {
24818 point.column += offset
24819 point.offset += offset
24820 point._bufferIndex += offset
24821 }
24822
24823
24824 /***/ }),
24825
24826 /***/ "../node_modules/micromark-core-commonmark/dev/lib/autolink.js":
24827 /*!*********************************************************************!*\
24828 !*** ../node_modules/micromark-core-commonmark/dev/lib/autolink.js ***!
24829 \*********************************************************************/
24830 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
24831
24832 "use strict";
24833 __webpack_require__.r(__webpack_exports__);
24834 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
24835 /* harmony export */ autolink: () => (/* binding */ autolink)
24836 /* harmony export */ });
24837 /* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! micromark-util-character */ "../node_modules/micromark-util-character/dev/index.js");
24838 /* 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");
24839 /* 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");
24840 /* 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");
24841 /* harmony import */ var uvu_assert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uvu/assert */ "../node_modules/uvu/assert/index.mjs");
24842 /**
24843 * @typedef {import('micromark-util-types').Construct} Construct
24844 * @typedef {import('micromark-util-types').State} State
24845 * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext
24846 * @typedef {import('micromark-util-types').Tokenizer} Tokenizer
24847 */
24848
24849
24850
24851
24852
24853
24854
24855 /** @type {Construct} */
24856 const autolink = {name: 'autolink', tokenize: tokenizeAutolink}
24857
24858 /**
24859 * @this {TokenizeContext}
24860 * @type {Tokenizer}
24861 */
24862 function tokenizeAutolink(effects, ok, nok) {
24863 let size = 0
24864
24865 return start
24866
24867 /**
24868 * Start of an autolink.
24869 *
24870 * ```markdown
24871 * > | a<https://example.com>b
24872 * ^
24873 * > | a<[email protected]>b
24874 * ^
24875 * ```
24876 *
24877 * @type {State}
24878 */
24879 function start(code) {
24880 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.lessThan, 'expected `<`')
24881 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.autolink)
24882 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.autolinkMarker)
24883 effects.consume(code)
24884 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.autolinkMarker)
24885 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.autolinkProtocol)
24886 return open
24887 }
24888
24889 /**
24890 * After `<`, at protocol or atext.
24891 *
24892 * ```markdown
24893 * > | a<https://example.com>b
24894 * ^
24895 * > | a<[email protected]>b
24896 * ^
24897 * ```
24898 *
24899 * @type {State}
24900 */
24901 function open(code) {
24902 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.asciiAlpha)(code)) {
24903 effects.consume(code)
24904 return schemeOrEmailAtext
24905 }
24906
24907 return emailAtext(code)
24908 }
24909
24910 /**
24911 * At second byte of protocol or atext.
24912 *
24913 * ```markdown
24914 * > | a<https://example.com>b
24915 * ^
24916 * > | a<[email protected]>b
24917 * ^
24918 * ```
24919 *
24920 * @type {State}
24921 */
24922 function schemeOrEmailAtext(code) {
24923 // ASCII alphanumeric and `+`, `-`, and `.`.
24924 if (
24925 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.plusSign ||
24926 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.dash ||
24927 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.dot ||
24928 (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.asciiAlphanumeric)(code)
24929 ) {
24930 // Count the previous alphabetical from `open` too.
24931 size = 1
24932 return schemeInsideOrEmailAtext(code)
24933 }
24934
24935 return emailAtext(code)
24936 }
24937
24938 /**
24939 * In ambiguous protocol or atext.
24940 *
24941 * ```markdown
24942 * > | a<https://example.com>b
24943 * ^
24944 * > | a<[email protected]>b
24945 * ^
24946 * ```
24947 *
24948 * @type {State}
24949 */
24950 function schemeInsideOrEmailAtext(code) {
24951 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.colon) {
24952 effects.consume(code)
24953 size = 0
24954 return urlInside
24955 }
24956
24957 // ASCII alphanumeric and `+`, `-`, and `.`.
24958 if (
24959 (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.plusSign ||
24960 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.dash ||
24961 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.dot ||
24962 (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.asciiAlphanumeric)(code)) &&
24963 size++ < micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_4__.constants.autolinkSchemeSizeMax
24964 ) {
24965 effects.consume(code)
24966 return schemeInsideOrEmailAtext
24967 }
24968
24969 size = 0
24970 return emailAtext(code)
24971 }
24972
24973 /**
24974 * After protocol, in URL.
24975 *
24976 * ```markdown
24977 * > | a<https://example.com>b
24978 * ^
24979 * ```
24980 *
24981 * @type {State}
24982 */
24983 function urlInside(code) {
24984 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.greaterThan) {
24985 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.autolinkProtocol)
24986 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.autolinkMarker)
24987 effects.consume(code)
24988 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.autolinkMarker)
24989 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.autolink)
24990 return ok
24991 }
24992
24993 // ASCII control, space, or `<`.
24994 if (
24995 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.eof ||
24996 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.space ||
24997 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.lessThan ||
24998 (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.asciiControl)(code)
24999 ) {
25000 return nok(code)
25001 }
25002
25003 effects.consume(code)
25004 return urlInside
25005 }
25006
25007 /**
25008 * In email atext.
25009 *
25010 * ```markdown
25011 * > | a<[email protected]>b
25012 * ^
25013 * ```
25014 *
25015 * @type {State}
25016 */
25017 function emailAtext(code) {
25018 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.atSign) {
25019 effects.consume(code)
25020 return emailAtSignOrDot
25021 }
25022
25023 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.asciiAtext)(code)) {
25024 effects.consume(code)
25025 return emailAtext
25026 }
25027
25028 return nok(code)
25029 }
25030
25031 /**
25032 * In label, after at-sign or dot.
25033 *
25034 * ```markdown
25035 * > | a<[email protected]>b
25036 * ^ ^
25037 * ```
25038 *
25039 * @type {State}
25040 */
25041 function emailAtSignOrDot(code) {
25042 return (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.asciiAlphanumeric)(code) ? emailLabel(code) : nok(code)
25043 }
25044
25045 /**
25046 * In label, where `.` and `>` are allowed.
25047 *
25048 * ```markdown
25049 * > | a<[email protected]>b
25050 * ^
25051 * ```
25052 *
25053 * @type {State}
25054 */
25055 function emailLabel(code) {
25056 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.dot) {
25057 effects.consume(code)
25058 size = 0
25059 return emailAtSignOrDot
25060 }
25061
25062 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.greaterThan) {
25063 // Exit, then change the token type.
25064 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
25065 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.autolinkMarker)
25066 effects.consume(code)
25067 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.autolinkMarker)
25068 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.autolink)
25069 return ok
25070 }
25071
25072 return emailValue(code)
25073 }
25074
25075 /**
25076 * In label, where `.` and `>` are *not* allowed.
25077 *
25078 * Though, this is also used in `emailLabel` to parse other values.
25079 *
25080 * ```markdown
25081 * > | a<[email protected]>b
25082 * ^
25083 * ```
25084 *
25085 * @type {State}
25086 */
25087 function emailValue(code) {
25088 // ASCII alphanumeric or `-`.
25089 if (
25090 (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.dash || (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.asciiAlphanumeric)(code)) &&
25091 size++ < micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_4__.constants.autolinkDomainSizeMax
25092 ) {
25093 const next = code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.dash ? emailValue : emailLabel
25094 effects.consume(code)
25095 return next
25096 }
25097
25098 return nok(code)
25099 }
25100 }
25101
25102
25103 /***/ }),
25104
25105 /***/ "../node_modules/micromark-core-commonmark/dev/lib/blank-line.js":
25106 /*!***********************************************************************!*\
25107 !*** ../node_modules/micromark-core-commonmark/dev/lib/blank-line.js ***!
25108 \***********************************************************************/
25109 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
25110
25111 "use strict";
25112 __webpack_require__.r(__webpack_exports__);
25113 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
25114 /* harmony export */ blankLine: () => (/* binding */ blankLine)
25115 /* harmony export */ });
25116 /* harmony import */ var micromark_factory_space__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-factory-space */ "../node_modules/micromark-factory-space/dev/index.js");
25117 /* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-util-character */ "../node_modules/micromark-util-character/dev/index.js");
25118 /* 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");
25119 /* 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");
25120 /**
25121 * @typedef {import('micromark-util-types').Construct} Construct
25122 * @typedef {import('micromark-util-types').State} State
25123 * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext
25124 * @typedef {import('micromark-util-types').Tokenizer} Tokenizer
25125 */
25126
25127
25128
25129
25130
25131
25132 /** @type {Construct} */
25133 const blankLine = {tokenize: tokenizeBlankLine, partial: true}
25134
25135 /**
25136 * @this {TokenizeContext}
25137 * @type {Tokenizer}
25138 */
25139 function tokenizeBlankLine(effects, ok, nok) {
25140 return start
25141
25142 /**
25143 * Start of blank line.
25144 *
25145 * > 👉 **Note**: `␠` represents a space character.
25146 *
25147 * ```markdown
25148 * > | ␠␠␊
25149 * ^
25150 * > | ␊
25151 * ^
25152 * ```
25153 *
25154 * @type {State}
25155 */
25156 function start(code) {
25157 return (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_0__.markdownSpace)(code)
25158 ? (0,micromark_factory_space__WEBPACK_IMPORTED_MODULE_1__.factorySpace)(effects, after, micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.linePrefix)(code)
25159 : after(code)
25160 }
25161
25162 /**
25163 * At eof/eol, after optional whitespace.
25164 *
25165 * > 👉 **Note**: `␠` represents a space character.
25166 *
25167 * ```markdown
25168 * > | ␠␠␊
25169 * ^
25170 * > | ␊
25171 * ^
25172 * ```
25173 *
25174 * @type {State}
25175 */
25176 function after(code) {
25177 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)
25178 }
25179 }
25180
25181
25182 /***/ }),
25183
25184 /***/ "../node_modules/micromark-core-commonmark/dev/lib/block-quote.js":
25185 /*!************************************************************************!*\
25186 !*** ../node_modules/micromark-core-commonmark/dev/lib/block-quote.js ***!
25187 \************************************************************************/
25188 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
25189
25190 "use strict";
25191 __webpack_require__.r(__webpack_exports__);
25192 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
25193 /* harmony export */ blockQuote: () => (/* binding */ blockQuote)
25194 /* harmony export */ });
25195 /* harmony import */ var micromark_factory_space__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! micromark-factory-space */ "../node_modules/micromark-factory-space/dev/index.js");
25196 /* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! micromark-util-character */ "../node_modules/micromark-util-character/dev/index.js");
25197 /* 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");
25198 /* 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");
25199 /* 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");
25200 /* harmony import */ var uvu_assert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uvu/assert */ "../node_modules/uvu/assert/index.mjs");
25201 /**
25202 * @typedef {import('micromark-util-types').Construct} Construct
25203 * @typedef {import('micromark-util-types').Exiter} Exiter
25204 * @typedef {import('micromark-util-types').State} State
25205 * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext
25206 * @typedef {import('micromark-util-types').Tokenizer} Tokenizer
25207 */
25208
25209
25210
25211
25212
25213
25214
25215
25216 /** @type {Construct} */
25217 const blockQuote = {
25218 name: 'blockQuote',
25219 tokenize: tokenizeBlockQuoteStart,
25220 continuation: {tokenize: tokenizeBlockQuoteContinuation},
25221 exit
25222 }
25223
25224 /**
25225 * @this {TokenizeContext}
25226 * @type {Tokenizer}
25227 */
25228 function tokenizeBlockQuoteStart(effects, ok, nok) {
25229 const self = this
25230
25231 return start
25232
25233 /**
25234 * Start of block quote.
25235 *
25236 * ```markdown
25237 * > | > a
25238 * ^
25239 * ```
25240 *
25241 * @type {State}
25242 */
25243 function start(code) {
25244 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.greaterThan) {
25245 const state = self.containerState
25246
25247 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(state, 'expected `containerState` to be defined in container')
25248
25249 if (!state.open) {
25250 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.blockQuote, {_container: true})
25251 state.open = true
25252 }
25253
25254 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.blockQuotePrefix)
25255 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.blockQuoteMarker)
25256 effects.consume(code)
25257 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.blockQuoteMarker)
25258 return after
25259 }
25260
25261 return nok(code)
25262 }
25263
25264 /**
25265 * After `>`, before optional whitespace.
25266 *
25267 * ```markdown
25268 * > | > a
25269 * ^
25270 * ```
25271 *
25272 * @type {State}
25273 */
25274 function after(code) {
25275 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.markdownSpace)(code)) {
25276 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.blockQuotePrefixWhitespace)
25277 effects.consume(code)
25278 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.blockQuotePrefixWhitespace)
25279 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.blockQuotePrefix)
25280 return ok
25281 }
25282
25283 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.blockQuotePrefix)
25284 return ok(code)
25285 }
25286 }
25287
25288 /**
25289 * Start of block quote continuation.
25290 *
25291 * ```markdown
25292 * | > a
25293 * > | > b
25294 * ^
25295 * ```
25296 *
25297 * @this {TokenizeContext}
25298 * @type {Tokenizer}
25299 */
25300 function tokenizeBlockQuoteContinuation(effects, ok, nok) {
25301 const self = this
25302
25303 return contStart
25304
25305 /**
25306 * Start of block quote continuation.
25307 *
25308 * Also used to parse the first block quote opening.
25309 *
25310 * ```markdown
25311 * | > a
25312 * > | > b
25313 * ^
25314 * ```
25315 *
25316 * @type {State}
25317 */
25318 function contStart(code) {
25319 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.markdownSpace)(code)) {
25320 // Always populated by defaults.
25321 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(
25322 self.parser.constructs.disable.null,
25323 'expected `disable.null` to be populated'
25324 )
25325
25326 return (0,micromark_factory_space__WEBPACK_IMPORTED_MODULE_4__.factorySpace)(
25327 effects,
25328 contBefore,
25329 micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.linePrefix,
25330 self.parser.constructs.disable.null.includes('codeIndented')
25331 ? undefined
25332 : micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_5__.constants.tabSize
25333 )(code)
25334 }
25335
25336 return contBefore(code)
25337 }
25338
25339 /**
25340 * At `>`, after optional whitespace.
25341 *
25342 * Also used to parse the first block quote opening.
25343 *
25344 * ```markdown
25345 * | > a
25346 * > | > b
25347 * ^
25348 * ```
25349 *
25350 * @type {State}
25351 */
25352 function contBefore(code) {
25353 return effects.attempt(blockQuote, ok, nok)(code)
25354 }
25355 }
25356
25357 /** @type {Exiter} */
25358 function exit(effects) {
25359 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.blockQuote)
25360 }
25361
25362
25363 /***/ }),
25364
25365 /***/ "../node_modules/micromark-core-commonmark/dev/lib/character-escape.js":
25366 /*!*****************************************************************************!*\
25367 !*** ../node_modules/micromark-core-commonmark/dev/lib/character-escape.js ***!
25368 \*****************************************************************************/
25369 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
25370
25371 "use strict";
25372 __webpack_require__.r(__webpack_exports__);
25373 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
25374 /* harmony export */ characterEscape: () => (/* binding */ characterEscape)
25375 /* harmony export */ });
25376 /* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! micromark-util-character */ "../node_modules/micromark-util-character/dev/index.js");
25377 /* 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");
25378 /* 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");
25379 /* harmony import */ var uvu_assert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uvu/assert */ "../node_modules/uvu/assert/index.mjs");
25380 /**
25381 * @typedef {import('micromark-util-types').Construct} Construct
25382 * @typedef {import('micromark-util-types').State} State
25383 * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext
25384 * @typedef {import('micromark-util-types').Tokenizer} Tokenizer
25385 */
25386
25387
25388
25389
25390
25391
25392 /** @type {Construct} */
25393 const characterEscape = {
25394 name: 'characterEscape',
25395 tokenize: tokenizeCharacterEscape
25396 }
25397
25398 /**
25399 * @this {TokenizeContext}
25400 * @type {Tokenizer}
25401 */
25402 function tokenizeCharacterEscape(effects, ok, nok) {
25403 return start
25404
25405 /**
25406 * Start of character escape.
25407 *
25408 * ```markdown
25409 * > | a\*b
25410 * ^
25411 * ```
25412 *
25413 * @type {State}
25414 */
25415 function start(code) {
25416 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.backslash, 'expected `\\`')
25417 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.characterEscape)
25418 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.escapeMarker)
25419 effects.consume(code)
25420 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.escapeMarker)
25421 return inside
25422 }
25423
25424 /**
25425 * After `\`, at punctuation.
25426 *
25427 * ```markdown
25428 * > | a\*b
25429 * ^
25430 * ```
25431 *
25432 * @type {State}
25433 */
25434 function inside(code) {
25435 // ASCII punctuation.
25436 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.asciiPunctuation)(code)) {
25437 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.characterEscapeValue)
25438 effects.consume(code)
25439 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.characterEscapeValue)
25440 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.characterEscape)
25441 return ok
25442 }
25443
25444 return nok(code)
25445 }
25446 }
25447
25448
25449 /***/ }),
25450
25451 /***/ "../node_modules/micromark-core-commonmark/dev/lib/character-reference.js":
25452 /*!********************************************************************************!*\
25453 !*** ../node_modules/micromark-core-commonmark/dev/lib/character-reference.js ***!
25454 \********************************************************************************/
25455 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
25456
25457 "use strict";
25458 __webpack_require__.r(__webpack_exports__);
25459 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
25460 /* harmony export */ characterReference: () => (/* binding */ characterReference)
25461 /* harmony export */ });
25462 /* 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");
25463 /* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! micromark-util-character */ "../node_modules/micromark-util-character/dev/index.js");
25464 /* 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");
25465 /* 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");
25466 /* 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");
25467 /* harmony import */ var uvu_assert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uvu/assert */ "../node_modules/uvu/assert/index.mjs");
25468 /**
25469 * @typedef {import('micromark-util-types').Code} Code
25470 * @typedef {import('micromark-util-types').Construct} Construct
25471 * @typedef {import('micromark-util-types').State} State
25472 * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext
25473 * @typedef {import('micromark-util-types').Tokenizer} Tokenizer
25474 */
25475
25476
25477
25478
25479
25480
25481
25482
25483 /** @type {Construct} */
25484 const characterReference = {
25485 name: 'characterReference',
25486 tokenize: tokenizeCharacterReference
25487 }
25488
25489 /**
25490 * @this {TokenizeContext}
25491 * @type {Tokenizer}
25492 */
25493 function tokenizeCharacterReference(effects, ok, nok) {
25494 const self = this
25495 let size = 0
25496 /** @type {number} */
25497 let max
25498 /** @type {(code: Code) => boolean} */
25499 let test
25500
25501 return start
25502
25503 /**
25504 * Start of character reference.
25505 *
25506 * ```markdown
25507 * > | a&amp;b
25508 * ^
25509 * > | a&#123;b
25510 * ^
25511 * > | a&#x9;b
25512 * ^
25513 * ```
25514 *
25515 * @type {State}
25516 */
25517 function start(code) {
25518 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.ampersand, 'expected `&`')
25519 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.characterReference)
25520 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.characterReferenceMarker)
25521 effects.consume(code)
25522 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.characterReferenceMarker)
25523 return open
25524 }
25525
25526 /**
25527 * After `&`, at `#` for numeric references or alphanumeric for named
25528 * references.
25529 *
25530 * ```markdown
25531 * > | a&amp;b
25532 * ^
25533 * > | a&#123;b
25534 * ^
25535 * > | a&#x9;b
25536 * ^
25537 * ```
25538 *
25539 * @type {State}
25540 */
25541 function open(code) {
25542 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.numberSign) {
25543 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.characterReferenceMarkerNumeric)
25544 effects.consume(code)
25545 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.characterReferenceMarkerNumeric)
25546 return numeric
25547 }
25548
25549 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.characterReferenceValue)
25550 max = micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_3__.constants.characterReferenceNamedSizeMax
25551 test = micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.asciiAlphanumeric
25552 return value(code)
25553 }
25554
25555 /**
25556 * After `#`, at `x` for hexadecimals or digit for decimals.
25557 *
25558 * ```markdown
25559 * > | a&#123;b
25560 * ^
25561 * > | a&#x9;b
25562 * ^
25563 * ```
25564 *
25565 * @type {State}
25566 */
25567 function numeric(code) {
25568 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) {
25569 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.characterReferenceMarkerHexadecimal)
25570 effects.consume(code)
25571 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.characterReferenceMarkerHexadecimal)
25572 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.characterReferenceValue)
25573 max = micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_3__.constants.characterReferenceHexadecimalSizeMax
25574 test = micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.asciiHexDigit
25575 return value
25576 }
25577
25578 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.characterReferenceValue)
25579 max = micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_3__.constants.characterReferenceDecimalSizeMax
25580 test = micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.asciiDigit
25581 return value(code)
25582 }
25583
25584 /**
25585 * After markers (`&#x`, `&#`, or `&`), in value, before `;`.
25586 *
25587 * The character reference kind defines what and how many characters are
25588 * allowed.
25589 *
25590 * ```markdown
25591 * > | a&amp;b
25592 * ^^^
25593 * > | a&#123;b
25594 * ^^^
25595 * > | a&#x9;b
25596 * ^
25597 * ```
25598 *
25599 * @type {State}
25600 */
25601 function value(code) {
25602 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.semicolon && size) {
25603 const token = effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.characterReferenceValue)
25604
25605 if (
25606 test === micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.asciiAlphanumeric &&
25607 !(0,decode_named_character_reference__WEBPACK_IMPORTED_MODULE_5__.decodeNamedCharacterReference)(self.sliceSerialize(token))
25608 ) {
25609 return nok(code)
25610 }
25611
25612 // To do: `markdown-rs` uses a different name:
25613 // `CharacterReferenceMarkerSemi`.
25614 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.characterReferenceMarker)
25615 effects.consume(code)
25616 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.characterReferenceMarker)
25617 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.characterReference)
25618 return ok
25619 }
25620
25621 if (test(code) && size++ < max) {
25622 effects.consume(code)
25623 return value
25624 }
25625
25626 return nok(code)
25627 }
25628 }
25629
25630
25631 /***/ }),
25632
25633 /***/ "../node_modules/micromark-core-commonmark/dev/lib/code-fenced.js":
25634 /*!************************************************************************!*\
25635 !*** ../node_modules/micromark-core-commonmark/dev/lib/code-fenced.js ***!
25636 \************************************************************************/
25637 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
25638
25639 "use strict";
25640 __webpack_require__.r(__webpack_exports__);
25641 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
25642 /* harmony export */ codeFenced: () => (/* binding */ codeFenced)
25643 /* harmony export */ });
25644 /* harmony import */ var micromark_factory_space__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! micromark-factory-space */ "../node_modules/micromark-factory-space/dev/index.js");
25645 /* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! micromark-util-character */ "../node_modules/micromark-util-character/dev/index.js");
25646 /* 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");
25647 /* 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");
25648 /* 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");
25649 /* harmony import */ var uvu_assert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uvu/assert */ "../node_modules/uvu/assert/index.mjs");
25650 /**
25651 * @typedef {import('micromark-util-types').Code} Code
25652 * @typedef {import('micromark-util-types').Construct} Construct
25653 * @typedef {import('micromark-util-types').State} State
25654 * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext
25655 * @typedef {import('micromark-util-types').Tokenizer} Tokenizer
25656 */
25657
25658
25659
25660
25661
25662
25663
25664
25665 /** @type {Construct} */
25666 const nonLazyContinuation = {
25667 tokenize: tokenizeNonLazyContinuation,
25668 partial: true
25669 }
25670
25671 /** @type {Construct} */
25672 const codeFenced = {
25673 name: 'codeFenced',
25674 tokenize: tokenizeCodeFenced,
25675 concrete: true
25676 }
25677
25678 /**
25679 * @this {TokenizeContext}
25680 * @type {Tokenizer}
25681 */
25682 function tokenizeCodeFenced(effects, ok, nok) {
25683 const self = this
25684 /** @type {Construct} */
25685 const closeStart = {tokenize: tokenizeCloseStart, partial: true}
25686 let initialPrefix = 0
25687 let sizeOpen = 0
25688 /** @type {NonNullable<Code>} */
25689 let marker
25690
25691 return start
25692
25693 /**
25694 * Start of code.
25695 *
25696 * ```markdown
25697 * > | ~~~js
25698 * ^
25699 * | alert(1)
25700 * | ~~~
25701 * ```
25702 *
25703 * @type {State}
25704 */
25705 function start(code) {
25706 // To do: parse whitespace like `markdown-rs`.
25707 return beforeSequenceOpen(code)
25708 }
25709
25710 /**
25711 * In opening fence, after prefix, at sequence.
25712 *
25713 * ```markdown
25714 * > | ~~~js
25715 * ^
25716 * | alert(1)
25717 * | ~~~
25718 * ```
25719 *
25720 * @type {State}
25721 */
25722 function beforeSequenceOpen(code) {
25723 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(
25724 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.graveAccent || code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.tilde,
25725 'expected `` ` `` or `~`'
25726 )
25727
25728 const tail = self.events[self.events.length - 1]
25729 initialPrefix =
25730 tail && tail[1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.linePrefix
25731 ? tail[2].sliceSerialize(tail[1], true).length
25732 : 0
25733
25734 marker = code
25735 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.codeFenced)
25736 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.codeFencedFence)
25737 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.codeFencedFenceSequence)
25738 return sequenceOpen(code)
25739 }
25740
25741 /**
25742 * In opening fence sequence.
25743 *
25744 * ```markdown
25745 * > | ~~~js
25746 * ^
25747 * | alert(1)
25748 * | ~~~
25749 * ```
25750 *
25751 * @type {State}
25752 */
25753 function sequenceOpen(code) {
25754 if (code === marker) {
25755 sizeOpen++
25756 effects.consume(code)
25757 return sequenceOpen
25758 }
25759
25760 if (sizeOpen < micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_3__.constants.codeFencedSequenceSizeMin) {
25761 return nok(code)
25762 }
25763
25764 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.codeFencedFenceSequence)
25765 return (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.markdownSpace)(code)
25766 ? (0,micromark_factory_space__WEBPACK_IMPORTED_MODULE_5__.factorySpace)(effects, infoBefore, micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.whitespace)(code)
25767 : infoBefore(code)
25768 }
25769
25770 /**
25771 * In opening fence, after the sequence (and optional whitespace), before info.
25772 *
25773 * ```markdown
25774 * > | ~~~js
25775 * ^
25776 * | alert(1)
25777 * | ~~~
25778 * ```
25779 *
25780 * @type {State}
25781 */
25782 function infoBefore(code) {
25783 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.eof || (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.markdownLineEnding)(code)) {
25784 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.codeFencedFence)
25785 return self.interrupt
25786 ? ok(code)
25787 : effects.check(nonLazyContinuation, atNonLazyBreak, after)(code)
25788 }
25789
25790 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.codeFencedFenceInfo)
25791 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})
25792 return info(code)
25793 }
25794
25795 /**
25796 * In info.
25797 *
25798 * ```markdown
25799 * > | ~~~js
25800 * ^
25801 * | alert(1)
25802 * | ~~~
25803 * ```
25804 *
25805 * @type {State}
25806 */
25807 function info(code) {
25808 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.eof || (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.markdownLineEnding)(code)) {
25809 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.chunkString)
25810 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.codeFencedFenceInfo)
25811 return infoBefore(code)
25812 }
25813
25814 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.markdownSpace)(code)) {
25815 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.chunkString)
25816 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.codeFencedFenceInfo)
25817 return (0,micromark_factory_space__WEBPACK_IMPORTED_MODULE_5__.factorySpace)(effects, metaBefore, micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.whitespace)(code)
25818 }
25819
25820 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.graveAccent && code === marker) {
25821 return nok(code)
25822 }
25823
25824 effects.consume(code)
25825 return info
25826 }
25827
25828 /**
25829 * In opening fence, after info and whitespace, before meta.
25830 *
25831 * ```markdown
25832 * > | ~~~js eval
25833 * ^
25834 * | alert(1)
25835 * | ~~~
25836 * ```
25837 *
25838 * @type {State}
25839 */
25840 function metaBefore(code) {
25841 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.eof || (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.markdownLineEnding)(code)) {
25842 return infoBefore(code)
25843 }
25844
25845 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.codeFencedFenceMeta)
25846 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})
25847 return meta(code)
25848 }
25849
25850 /**
25851 * In meta.
25852 *
25853 * ```markdown
25854 * > | ~~~js eval
25855 * ^
25856 * | alert(1)
25857 * | ~~~
25858 * ```
25859 *
25860 * @type {State}
25861 */
25862 function meta(code) {
25863 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.eof || (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.markdownLineEnding)(code)) {
25864 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.chunkString)
25865 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.codeFencedFenceMeta)
25866 return infoBefore(code)
25867 }
25868
25869 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.graveAccent && code === marker) {
25870 return nok(code)
25871 }
25872
25873 effects.consume(code)
25874 return meta
25875 }
25876
25877 /**
25878 * At eol/eof in code, before a non-lazy closing fence or content.
25879 *
25880 * ```markdown
25881 * > | ~~~js
25882 * ^
25883 * > | alert(1)
25884 * ^
25885 * | ~~~
25886 * ```
25887 *
25888 * @type {State}
25889 */
25890 function atNonLazyBreak(code) {
25891 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.markdownLineEnding)(code), 'expected eol')
25892 return effects.attempt(closeStart, after, contentBefore)(code)
25893 }
25894
25895 /**
25896 * Before code content, not a closing fence, at eol.
25897 *
25898 * ```markdown
25899 * | ~~~js
25900 * > | alert(1)
25901 * ^
25902 * | ~~~
25903 * ```
25904 *
25905 * @type {State}
25906 */
25907 function contentBefore(code) {
25908 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.markdownLineEnding)(code), 'expected eol')
25909 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.lineEnding)
25910 effects.consume(code)
25911 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.lineEnding)
25912 return contentStart
25913 }
25914
25915 /**
25916 * Before code content, not a closing fence.
25917 *
25918 * ```markdown
25919 * | ~~~js
25920 * > | alert(1)
25921 * ^
25922 * | ~~~
25923 * ```
25924 *
25925 * @type {State}
25926 */
25927 function contentStart(code) {
25928 return initialPrefix > 0 && (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.markdownSpace)(code)
25929 ? (0,micromark_factory_space__WEBPACK_IMPORTED_MODULE_5__.factorySpace)(
25930 effects,
25931 beforeContentChunk,
25932 micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.linePrefix,
25933 initialPrefix + 1
25934 )(code)
25935 : beforeContentChunk(code)
25936 }
25937
25938 /**
25939 * Before code content, after optional prefix.
25940 *
25941 * ```markdown
25942 * | ~~~js
25943 * > | alert(1)
25944 * ^
25945 * | ~~~
25946 * ```
25947 *
25948 * @type {State}
25949 */
25950 function beforeContentChunk(code) {
25951 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.eof || (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.markdownLineEnding)(code)) {
25952 return effects.check(nonLazyContinuation, atNonLazyBreak, after)(code)
25953 }
25954
25955 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.codeFlowValue)
25956 return contentChunk(code)
25957 }
25958
25959 /**
25960 * In code content.
25961 *
25962 * ```markdown
25963 * | ~~~js
25964 * > | alert(1)
25965 * ^^^^^^^^
25966 * | ~~~
25967 * ```
25968 *
25969 * @type {State}
25970 */
25971 function contentChunk(code) {
25972 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.eof || (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.markdownLineEnding)(code)) {
25973 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.codeFlowValue)
25974 return beforeContentChunk(code)
25975 }
25976
25977 effects.consume(code)
25978 return contentChunk
25979 }
25980
25981 /**
25982 * After code.
25983 *
25984 * ```markdown
25985 * | ~~~js
25986 * | alert(1)
25987 * > | ~~~
25988 * ^
25989 * ```
25990 *
25991 * @type {State}
25992 */
25993 function after(code) {
25994 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.codeFenced)
25995 return ok(code)
25996 }
25997
25998 /**
25999 * @this {TokenizeContext}
26000 * @type {Tokenizer}
26001 */
26002 function tokenizeCloseStart(effects, ok, nok) {
26003 let size = 0
26004
26005 return startBefore
26006
26007 /**
26008 *
26009 *
26010 * @type {State}
26011 */
26012 function startBefore(code) {
26013 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.markdownLineEnding)(code), 'expected eol')
26014 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.lineEnding)
26015 effects.consume(code)
26016 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.lineEnding)
26017 return start
26018 }
26019
26020 /**
26021 * Before closing fence, at optional whitespace.
26022 *
26023 * ```markdown
26024 * | ~~~js
26025 * | alert(1)
26026 * > | ~~~
26027 * ^
26028 * ```
26029 *
26030 * @type {State}
26031 */
26032 function start(code) {
26033 // Always populated by defaults.
26034 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(
26035 self.parser.constructs.disable.null,
26036 'expected `disable.null` to be populated'
26037 )
26038
26039 // To do: `enter` here or in next state?
26040 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.codeFencedFence)
26041 return (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.markdownSpace)(code)
26042 ? (0,micromark_factory_space__WEBPACK_IMPORTED_MODULE_5__.factorySpace)(
26043 effects,
26044 beforeSequenceClose,
26045 micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.linePrefix,
26046 self.parser.constructs.disable.null.includes('codeIndented')
26047 ? undefined
26048 : micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_3__.constants.tabSize
26049 )(code)
26050 : beforeSequenceClose(code)
26051 }
26052
26053 /**
26054 * In closing fence, after optional whitespace, at sequence.
26055 *
26056 * ```markdown
26057 * | ~~~js
26058 * | alert(1)
26059 * > | ~~~
26060 * ^
26061 * ```
26062 *
26063 * @type {State}
26064 */
26065 function beforeSequenceClose(code) {
26066 if (code === marker) {
26067 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.codeFencedFenceSequence)
26068 return sequenceClose(code)
26069 }
26070
26071 return nok(code)
26072 }
26073
26074 /**
26075 * In closing fence sequence.
26076 *
26077 * ```markdown
26078 * | ~~~js
26079 * | alert(1)
26080 * > | ~~~
26081 * ^
26082 * ```
26083 *
26084 * @type {State}
26085 */
26086 function sequenceClose(code) {
26087 if (code === marker) {
26088 size++
26089 effects.consume(code)
26090 return sequenceClose
26091 }
26092
26093 if (size >= sizeOpen) {
26094 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.codeFencedFenceSequence)
26095 return (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.markdownSpace)(code)
26096 ? (0,micromark_factory_space__WEBPACK_IMPORTED_MODULE_5__.factorySpace)(effects, sequenceCloseAfter, micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.whitespace)(code)
26097 : sequenceCloseAfter(code)
26098 }
26099
26100 return nok(code)
26101 }
26102
26103 /**
26104 * After closing fence sequence, after optional whitespace.
26105 *
26106 * ```markdown
26107 * | ~~~js
26108 * | alert(1)
26109 * > | ~~~
26110 * ^
26111 * ```
26112 *
26113 * @type {State}
26114 */
26115 function sequenceCloseAfter(code) {
26116 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.eof || (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.markdownLineEnding)(code)) {
26117 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.codeFencedFence)
26118 return ok(code)
26119 }
26120
26121 return nok(code)
26122 }
26123 }
26124 }
26125
26126 /**
26127 * @this {TokenizeContext}
26128 * @type {Tokenizer}
26129 */
26130 function tokenizeNonLazyContinuation(effects, ok, nok) {
26131 const self = this
26132
26133 return start
26134
26135 /**
26136 *
26137 *
26138 * @type {State}
26139 */
26140 function start(code) {
26141 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.eof) {
26142 return nok(code)
26143 }
26144
26145 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.markdownLineEnding)(code), 'expected eol')
26146 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.lineEnding)
26147 effects.consume(code)
26148 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.lineEnding)
26149 return lineStart
26150 }
26151
26152 /**
26153 *
26154 *
26155 * @type {State}
26156 */
26157 function lineStart(code) {
26158 return self.parser.lazy[self.now().line] ? nok(code) : ok(code)
26159 }
26160 }
26161
26162
26163 /***/ }),
26164
26165 /***/ "../node_modules/micromark-core-commonmark/dev/lib/code-indented.js":
26166 /*!**************************************************************************!*\
26167 !*** ../node_modules/micromark-core-commonmark/dev/lib/code-indented.js ***!
26168 \**************************************************************************/
26169 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
26170
26171 "use strict";
26172 __webpack_require__.r(__webpack_exports__);
26173 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
26174 /* harmony export */ codeIndented: () => (/* binding */ codeIndented)
26175 /* harmony export */ });
26176 /* harmony import */ var micromark_factory_space__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! micromark-factory-space */ "../node_modules/micromark-factory-space/dev/index.js");
26177 /* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-util-character */ "../node_modules/micromark-util-character/dev/index.js");
26178 /* 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");
26179 /* 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");
26180 /* 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");
26181 /* harmony import */ var uvu_assert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uvu/assert */ "../node_modules/uvu/assert/index.mjs");
26182 /**
26183 * @typedef {import('micromark-util-types').Construct} Construct
26184 * @typedef {import('micromark-util-types').State} State
26185 * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext
26186 * @typedef {import('micromark-util-types').Tokenizer} Tokenizer
26187 */
26188
26189
26190
26191
26192
26193
26194
26195
26196 /** @type {Construct} */
26197 const codeIndented = {
26198 name: 'codeIndented',
26199 tokenize: tokenizeCodeIndented
26200 }
26201
26202 /** @type {Construct} */
26203 const furtherStart = {tokenize: tokenizeFurtherStart, partial: true}
26204
26205 /**
26206 * @this {TokenizeContext}
26207 * @type {Tokenizer}
26208 */
26209 function tokenizeCodeIndented(effects, ok, nok) {
26210 const self = this
26211 return start
26212
26213 /**
26214 * Start of code (indented).
26215 *
26216 * > **Parsing note**: it is not needed to check if this first line is a
26217 * > filled line (that it has a non-whitespace character), because blank lines
26218 * > are parsed already, so we never run into that.
26219 *
26220 * ```markdown
26221 * > | aaa
26222 * ^
26223 * ```
26224 *
26225 * @type {State}
26226 */
26227 function start(code) {
26228 // To do: manually check if interrupting like `markdown-rs`.
26229 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_1__.markdownSpace)(code))
26230 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.codeIndented)
26231 // To do: use an improved `space_or_tab` function like `markdown-rs`,
26232 // so that we can drop the next state.
26233 return (0,micromark_factory_space__WEBPACK_IMPORTED_MODULE_3__.factorySpace)(
26234 effects,
26235 afterPrefix,
26236 micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.linePrefix,
26237 micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_4__.constants.tabSize + 1
26238 )(code)
26239 }
26240
26241 /**
26242 * At start, after 1 or 4 spaces.
26243 *
26244 * ```markdown
26245 * > | aaa
26246 * ^
26247 * ```
26248 *
26249 * @type {State}
26250 */
26251 function afterPrefix(code) {
26252 const tail = self.events[self.events.length - 1]
26253 return tail &&
26254 tail[1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.linePrefix &&
26255 tail[2].sliceSerialize(tail[1], true).length >= micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_4__.constants.tabSize
26256 ? atBreak(code)
26257 : nok(code)
26258 }
26259
26260 /**
26261 * At a break.
26262 *
26263 * ```markdown
26264 * > | aaa
26265 * ^ ^
26266 * ```
26267 *
26268 * @type {State}
26269 */
26270 function atBreak(code) {
26271 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_5__.codes.eof) {
26272 return after(code)
26273 }
26274
26275 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_1__.markdownLineEnding)(code)) {
26276 return effects.attempt(furtherStart, atBreak, after)(code)
26277 }
26278
26279 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.codeFlowValue)
26280 return inside(code)
26281 }
26282
26283 /**
26284 * In code content.
26285 *
26286 * ```markdown
26287 * > | aaa
26288 * ^^^^
26289 * ```
26290 *
26291 * @type {State}
26292 */
26293 function inside(code) {
26294 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_5__.codes.eof || (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_1__.markdownLineEnding)(code)) {
26295 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.codeFlowValue)
26296 return atBreak(code)
26297 }
26298
26299 effects.consume(code)
26300 return inside
26301 }
26302
26303 /** @type {State} */
26304 function after(code) {
26305 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.codeIndented)
26306 // To do: allow interrupting like `markdown-rs`.
26307 // Feel free to interrupt.
26308 // tokenizer.interrupt = false
26309 return ok(code)
26310 }
26311 }
26312
26313 /**
26314 * @this {TokenizeContext}
26315 * @type {Tokenizer}
26316 */
26317 function tokenizeFurtherStart(effects, ok, nok) {
26318 const self = this
26319
26320 return furtherStart
26321
26322 /**
26323 * At eol, trying to parse another indent.
26324 *
26325 * ```markdown
26326 * > | aaa
26327 * ^
26328 * | bbb
26329 * ```
26330 *
26331 * @type {State}
26332 */
26333 function furtherStart(code) {
26334 // To do: improve `lazy` / `pierce` handling.
26335 // If this is a lazy line, it can’t be code.
26336 if (self.parser.lazy[self.now().line]) {
26337 return nok(code)
26338 }
26339
26340 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_1__.markdownLineEnding)(code)) {
26341 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.lineEnding)
26342 effects.consume(code)
26343 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.lineEnding)
26344 return furtherStart
26345 }
26346
26347 // To do: the code here in `micromark-js` is a bit different from
26348 // `markdown-rs` because there it can attempt spaces.
26349 // We can’t yet.
26350 //
26351 // To do: use an improved `space_or_tab` function like `markdown-rs`,
26352 // so that we can drop the next state.
26353 return (0,micromark_factory_space__WEBPACK_IMPORTED_MODULE_3__.factorySpace)(
26354 effects,
26355 afterPrefix,
26356 micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.linePrefix,
26357 micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_4__.constants.tabSize + 1
26358 )(code)
26359 }
26360
26361 /**
26362 * At start, after 1 or 4 spaces.
26363 *
26364 * ```markdown
26365 * > | aaa
26366 * ^
26367 * ```
26368 *
26369 * @type {State}
26370 */
26371 function afterPrefix(code) {
26372 const tail = self.events[self.events.length - 1]
26373 return tail &&
26374 tail[1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.linePrefix &&
26375 tail[2].sliceSerialize(tail[1], true).length >= micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_4__.constants.tabSize
26376 ? ok(code)
26377 : (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_1__.markdownLineEnding)(code)
26378 ? furtherStart(code)
26379 : nok(code)
26380 }
26381 }
26382
26383
26384 /***/ }),
26385
26386 /***/ "../node_modules/micromark-core-commonmark/dev/lib/code-text.js":
26387 /*!**********************************************************************!*\
26388 !*** ../node_modules/micromark-core-commonmark/dev/lib/code-text.js ***!
26389 \**********************************************************************/
26390 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
26391
26392 "use strict";
26393 __webpack_require__.r(__webpack_exports__);
26394 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
26395 /* harmony export */ codeText: () => (/* binding */ codeText)
26396 /* harmony export */ });
26397 /* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! micromark-util-character */ "../node_modules/micromark-util-character/dev/index.js");
26398 /* 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");
26399 /* 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");
26400 /* harmony import */ var uvu_assert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uvu/assert */ "../node_modules/uvu/assert/index.mjs");
26401 /**
26402 * @typedef {import('micromark-util-types').Construct} Construct
26403 * @typedef {import('micromark-util-types').Previous} Previous
26404 * @typedef {import('micromark-util-types').Resolver} Resolver
26405 * @typedef {import('micromark-util-types').State} State
26406 * @typedef {import('micromark-util-types').Token} Token
26407 * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext
26408 * @typedef {import('micromark-util-types').Tokenizer} Tokenizer
26409 */
26410
26411
26412
26413
26414
26415
26416 /** @type {Construct} */
26417 const codeText = {
26418 name: 'codeText',
26419 tokenize: tokenizeCodeText,
26420 resolve: resolveCodeText,
26421 previous
26422 }
26423
26424 // To do: next major: don’t resolve, like `markdown-rs`.
26425 /** @type {Resolver} */
26426 function resolveCodeText(events) {
26427 let tailExitIndex = events.length - 4
26428 let headEnterIndex = 3
26429 /** @type {number} */
26430 let index
26431 /** @type {number | undefined} */
26432 let enter
26433
26434 // If we start and end with an EOL or a space.
26435 if (
26436 (events[headEnterIndex][1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.lineEnding ||
26437 events[headEnterIndex][1].type === 'space') &&
26438 (events[tailExitIndex][1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.lineEnding ||
26439 events[tailExitIndex][1].type === 'space')
26440 ) {
26441 index = headEnterIndex
26442
26443 // And we have data.
26444 while (++index < tailExitIndex) {
26445 if (events[index][1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.codeTextData) {
26446 // Then we have padding.
26447 events[headEnterIndex][1].type = micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.codeTextPadding
26448 events[tailExitIndex][1].type = micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.codeTextPadding
26449 headEnterIndex += 2
26450 tailExitIndex -= 2
26451 break
26452 }
26453 }
26454 }
26455
26456 // Merge adjacent spaces and data.
26457 index = headEnterIndex - 1
26458 tailExitIndex++
26459
26460 while (++index <= tailExitIndex) {
26461 if (enter === undefined) {
26462 if (
26463 index !== tailExitIndex &&
26464 events[index][1].type !== micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.lineEnding
26465 ) {
26466 enter = index
26467 }
26468 } else if (
26469 index === tailExitIndex ||
26470 events[index][1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.lineEnding
26471 ) {
26472 events[enter][1].type = micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.codeTextData
26473
26474 if (index !== enter + 2) {
26475 events[enter][1].end = events[index - 1][1].end
26476 events.splice(enter + 2, index - enter - 2)
26477 tailExitIndex -= index - enter - 2
26478 index = enter + 2
26479 }
26480
26481 enter = undefined
26482 }
26483 }
26484
26485 return events
26486 }
26487
26488 /**
26489 * @this {TokenizeContext}
26490 * @type {Previous}
26491 */
26492 function previous(code) {
26493 // If there is a previous code, there will always be a tail.
26494 return (
26495 code !== micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.graveAccent ||
26496 this.events[this.events.length - 1][1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.characterEscape
26497 )
26498 }
26499
26500 /**
26501 * @this {TokenizeContext}
26502 * @type {Tokenizer}
26503 */
26504 function tokenizeCodeText(effects, ok, nok) {
26505 const self = this
26506 let sizeOpen = 0
26507 /** @type {number} */
26508 let size
26509 /** @type {Token} */
26510 let token
26511
26512 return start
26513
26514 /**
26515 * Start of code (text).
26516 *
26517 * ```markdown
26518 * > | `a`
26519 * ^
26520 * > | \`a`
26521 * ^
26522 * ```
26523 *
26524 * @type {State}
26525 */
26526 function start(code) {
26527 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.graveAccent, 'expected `` ` ``')
26528 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(previous.call(self, self.previous), 'expected correct previous')
26529 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.codeText)
26530 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.codeTextSequence)
26531 return sequenceOpen(code)
26532 }
26533
26534 /**
26535 * In opening sequence.
26536 *
26537 * ```markdown
26538 * > | `a`
26539 * ^
26540 * ```
26541 *
26542 * @type {State}
26543 */
26544 function sequenceOpen(code) {
26545 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.graveAccent) {
26546 effects.consume(code)
26547 sizeOpen++
26548 return sequenceOpen
26549 }
26550
26551 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.codeTextSequence)
26552 return between(code)
26553 }
26554
26555 /**
26556 * Between something and something else.
26557 *
26558 * ```markdown
26559 * > | `a`
26560 * ^^
26561 * ```
26562 *
26563 * @type {State}
26564 */
26565 function between(code) {
26566 // EOF.
26567 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.eof) {
26568 return nok(code)
26569 }
26570
26571 // To do: next major: don’t do spaces in resolve, but when compiling,
26572 // like `markdown-rs`.
26573 // Tabs don’t work, and virtual spaces don’t make sense.
26574 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.space) {
26575 effects.enter('space')
26576 effects.consume(code)
26577 effects.exit('space')
26578 return between
26579 }
26580
26581 // Closing fence? Could also be data.
26582 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.graveAccent) {
26583 token = effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.codeTextSequence)
26584 size = 0
26585 return sequenceClose(code)
26586 }
26587
26588 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.markdownLineEnding)(code)) {
26589 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.lineEnding)
26590 effects.consume(code)
26591 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.lineEnding)
26592 return between
26593 }
26594
26595 // Data.
26596 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.codeTextData)
26597 return data(code)
26598 }
26599
26600 /**
26601 * In data.
26602 *
26603 * ```markdown
26604 * > | `a`
26605 * ^
26606 * ```
26607 *
26608 * @type {State}
26609 */
26610 function data(code) {
26611 if (
26612 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.eof ||
26613 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.space ||
26614 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.graveAccent ||
26615 (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.markdownLineEnding)(code)
26616 ) {
26617 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.codeTextData)
26618 return between(code)
26619 }
26620
26621 effects.consume(code)
26622 return data
26623 }
26624
26625 /**
26626 * In closing sequence.
26627 *
26628 * ```markdown
26629 * > | `a`
26630 * ^
26631 * ```
26632 *
26633 * @type {State}
26634 */
26635 function sequenceClose(code) {
26636 // More.
26637 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.graveAccent) {
26638 effects.consume(code)
26639 size++
26640 return sequenceClose
26641 }
26642
26643 // Done!
26644 if (size === sizeOpen) {
26645 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.codeTextSequence)
26646 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.codeText)
26647 return ok(code)
26648 }
26649
26650 // More or less accents: mark as data.
26651 token.type = micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.codeTextData
26652 return data(code)
26653 }
26654 }
26655
26656
26657 /***/ }),
26658
26659 /***/ "../node_modules/micromark-core-commonmark/dev/lib/content.js":
26660 /*!********************************************************************!*\
26661 !*** ../node_modules/micromark-core-commonmark/dev/lib/content.js ***!
26662 \********************************************************************/
26663 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
26664
26665 "use strict";
26666 __webpack_require__.r(__webpack_exports__);
26667 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
26668 /* harmony export */ content: () => (/* binding */ content)
26669 /* harmony export */ });
26670 /* harmony import */ var micromark_factory_space__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! micromark-factory-space */ "../node_modules/micromark-factory-space/dev/index.js");
26671 /* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! micromark-util-character */ "../node_modules/micromark-util-character/dev/index.js");
26672 /* harmony import */ var micromark_util_subtokenize__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-util-subtokenize */ "../node_modules/micromark-util-subtokenize/dev/index.js");
26673 /* 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");
26674 /* 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");
26675 /* 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");
26676 /* harmony import */ var uvu_assert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uvu/assert */ "../node_modules/uvu/assert/index.mjs");
26677 /**
26678 * @typedef {import('micromark-util-types').Construct} Construct
26679 * @typedef {import('micromark-util-types').Resolver} Resolver
26680 * @typedef {import('micromark-util-types').State} State
26681 * @typedef {import('micromark-util-types').Token} Token
26682 * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext
26683 * @typedef {import('micromark-util-types').Tokenizer} Tokenizer
26684 */
26685
26686
26687
26688
26689
26690
26691
26692
26693
26694 /**
26695 * No name because it must not be turned off.
26696 * @type {Construct}
26697 */
26698 const content = {tokenize: tokenizeContent, resolve: resolveContent}
26699
26700 /** @type {Construct} */
26701 const continuationConstruct = {tokenize: tokenizeContinuation, partial: true}
26702
26703 /**
26704 * Content is transparent: it’s parsed right now. That way, definitions are also
26705 * parsed right now: before text in paragraphs (specifically, media) are parsed.
26706 *
26707 * @type {Resolver}
26708 */
26709 function resolveContent(events) {
26710 ;(0,micromark_util_subtokenize__WEBPACK_IMPORTED_MODULE_1__.subtokenize)(events)
26711 return events
26712 }
26713
26714 /**
26715 * @this {TokenizeContext}
26716 * @type {Tokenizer}
26717 */
26718 function tokenizeContent(effects, ok) {
26719 /** @type {Token | undefined} */
26720 let previous
26721
26722 return chunkStart
26723
26724 /**
26725 * Before a content chunk.
26726 *
26727 * ```markdown
26728 * > | abc
26729 * ^
26730 * ```
26731 *
26732 * @type {State}
26733 */
26734 function chunkStart(code) {
26735 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(
26736 code !== micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.eof && !(0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.markdownLineEnding)(code),
26737 'expected no eof or eol'
26738 )
26739
26740 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.content)
26741 previous = effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.chunkContent, {
26742 contentType: micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_5__.constants.contentTypeContent
26743 })
26744 return chunkInside(code)
26745 }
26746
26747 /**
26748 * In a content chunk.
26749 *
26750 * ```markdown
26751 * > | abc
26752 * ^^^
26753 * ```
26754 *
26755 * @type {State}
26756 */
26757 function chunkInside(code) {
26758 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.eof) {
26759 return contentEnd(code)
26760 }
26761
26762 // To do: in `markdown-rs`, each line is parsed on its own, and everything
26763 // is stitched together resolving.
26764 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.markdownLineEnding)(code)) {
26765 return effects.check(
26766 continuationConstruct,
26767 contentContinue,
26768 contentEnd
26769 )(code)
26770 }
26771
26772 // Data.
26773 effects.consume(code)
26774 return chunkInside
26775 }
26776
26777 /**
26778 *
26779 *
26780 * @type {State}
26781 */
26782 function contentEnd(code) {
26783 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.chunkContent)
26784 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.content)
26785 return ok(code)
26786 }
26787
26788 /**
26789 *
26790 *
26791 * @type {State}
26792 */
26793 function contentContinue(code) {
26794 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.markdownLineEnding)(code), 'expected eol')
26795 effects.consume(code)
26796 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.chunkContent)
26797 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(previous, 'expected previous token')
26798 previous.next = effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.chunkContent, {
26799 contentType: micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_5__.constants.contentTypeContent,
26800 previous
26801 })
26802 previous = previous.next
26803 return chunkInside
26804 }
26805 }
26806
26807 /**
26808 * @this {TokenizeContext}
26809 * @type {Tokenizer}
26810 */
26811 function tokenizeContinuation(effects, ok, nok) {
26812 const self = this
26813
26814 return startLookahead
26815
26816 /**
26817 *
26818 *
26819 * @type {State}
26820 */
26821 function startLookahead(code) {
26822 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.markdownLineEnding)(code), 'expected a line ending')
26823 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.chunkContent)
26824 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.lineEnding)
26825 effects.consume(code)
26826 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.lineEnding)
26827 return (0,micromark_factory_space__WEBPACK_IMPORTED_MODULE_6__.factorySpace)(effects, prefixed, micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.linePrefix)
26828 }
26829
26830 /**
26831 *
26832 *
26833 * @type {State}
26834 */
26835 function prefixed(code) {
26836 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.eof || (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.markdownLineEnding)(code)) {
26837 return nok(code)
26838 }
26839
26840 // Always populated by defaults.
26841 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(
26842 self.parser.constructs.disable.null,
26843 'expected `disable.null` to be populated'
26844 )
26845
26846 const tail = self.events[self.events.length - 1]
26847
26848 if (
26849 !self.parser.constructs.disable.null.includes('codeIndented') &&
26850 tail &&
26851 tail[1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.linePrefix &&
26852 tail[2].sliceSerialize(tail[1], true).length >= micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_5__.constants.tabSize
26853 ) {
26854 return ok(code)
26855 }
26856
26857 return effects.interrupt(self.parser.constructs.flow, nok, ok)(code)
26858 }
26859 }
26860
26861
26862 /***/ }),
26863
26864 /***/ "../node_modules/micromark-core-commonmark/dev/lib/definition.js":
26865 /*!***********************************************************************!*\
26866 !*** ../node_modules/micromark-core-commonmark/dev/lib/definition.js ***!
26867 \***********************************************************************/
26868 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
26869
26870 "use strict";
26871 __webpack_require__.r(__webpack_exports__);
26872 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
26873 /* harmony export */ definition: () => (/* binding */ definition)
26874 /* harmony export */ });
26875 /* harmony import */ var micromark_factory_destination__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! micromark-factory-destination */ "../node_modules/micromark-factory-destination/dev/index.js");
26876 /* harmony import */ var micromark_factory_label__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! micromark-factory-label */ "../node_modules/micromark-factory-label/dev/index.js");
26877 /* harmony import */ var micromark_factory_space__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! micromark-factory-space */ "../node_modules/micromark-factory-space/dev/index.js");
26878 /* harmony import */ var micromark_factory_title__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! micromark-factory-title */ "../node_modules/micromark-factory-title/dev/index.js");
26879 /* harmony import */ var micromark_factory_whitespace__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! micromark-factory-whitespace */ "../node_modules/micromark-factory-whitespace/dev/index.js");
26880 /* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! micromark-util-character */ "../node_modules/micromark-util-character/dev/index.js");
26881 /* 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");
26882 /* 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");
26883 /* 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");
26884 /* harmony import */ var uvu_assert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uvu/assert */ "../node_modules/uvu/assert/index.mjs");
26885 /**
26886 * @typedef {import('micromark-util-types').Construct} Construct
26887 * @typedef {import('micromark-util-types').State} State
26888 * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext
26889 * @typedef {import('micromark-util-types').Tokenizer} Tokenizer
26890 */
26891
26892
26893
26894
26895
26896
26897
26898
26899
26900
26901
26902
26903 /** @type {Construct} */
26904 const definition = {name: 'definition', tokenize: tokenizeDefinition}
26905
26906 /** @type {Construct} */
26907 const titleBefore = {tokenize: tokenizeTitleBefore, partial: true}
26908
26909 /**
26910 * @this {TokenizeContext}
26911 * @type {Tokenizer}
26912 */
26913 function tokenizeDefinition(effects, ok, nok) {
26914 const self = this
26915 /** @type {string} */
26916 let identifier
26917
26918 return start
26919
26920 /**
26921 * At start of a definition.
26922 *
26923 * ```markdown
26924 * > | [a]: b "c"
26925 * ^
26926 * ```
26927 *
26928 * @type {State}
26929 */
26930 function start(code) {
26931 // Do not interrupt paragraphs (but do follow definitions).
26932 // To do: do `interrupt` the way `markdown-rs` does.
26933 // To do: parse whitespace the way `markdown-rs` does.
26934 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.definition)
26935 return before(code)
26936 }
26937
26938 /**
26939 * After optional whitespace, at `[`.
26940 *
26941 * ```markdown
26942 * > | [a]: b "c"
26943 * ^
26944 * ```
26945 *
26946 * @type {State}
26947 */
26948 function before(code) {
26949 // To do: parse whitespace the way `markdown-rs` does.
26950 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.leftSquareBracket, 'expected `[`')
26951 return micromark_factory_label__WEBPACK_IMPORTED_MODULE_3__.factoryLabel.call(
26952 self,
26953 effects,
26954 labelAfter,
26955 // Note: we don’t need to reset the way `markdown-rs` does.
26956 nok,
26957 micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.definitionLabel,
26958 micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.definitionLabelMarker,
26959 micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.definitionLabelString
26960 )(code)
26961 }
26962
26963 /**
26964 * After label.
26965 *
26966 * ```markdown
26967 * > | [a]: b "c"
26968 * ^
26969 * ```
26970 *
26971 * @type {State}
26972 */
26973 function labelAfter(code) {
26974 identifier = (0,micromark_util_normalize_identifier__WEBPACK_IMPORTED_MODULE_4__.normalizeIdentifier)(
26975 self.sliceSerialize(self.events[self.events.length - 1][1]).slice(1, -1)
26976 )
26977
26978 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.colon) {
26979 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.definitionMarker)
26980 effects.consume(code)
26981 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.definitionMarker)
26982 return markerAfter
26983 }
26984
26985 return nok(code)
26986 }
26987
26988 /**
26989 * After marker.
26990 *
26991 * ```markdown
26992 * > | [a]: b "c"
26993 * ^
26994 * ```
26995 *
26996 * @type {State}
26997 */
26998 function markerAfter(code) {
26999 // Note: whitespace is optional.
27000 return (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_5__.markdownLineEndingOrSpace)(code)
27001 ? (0,micromark_factory_whitespace__WEBPACK_IMPORTED_MODULE_6__.factoryWhitespace)(effects, destinationBefore)(code)
27002 : destinationBefore(code)
27003 }
27004
27005 /**
27006 * Before destination.
27007 *
27008 * ```markdown
27009 * > | [a]: b "c"
27010 * ^
27011 * ```
27012 *
27013 * @type {State}
27014 */
27015 function destinationBefore(code) {
27016 return (0,micromark_factory_destination__WEBPACK_IMPORTED_MODULE_7__.factoryDestination)(
27017 effects,
27018 destinationAfter,
27019 // Note: we don’t need to reset the way `markdown-rs` does.
27020 nok,
27021 micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.definitionDestination,
27022 micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.definitionDestinationLiteral,
27023 micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.definitionDestinationLiteralMarker,
27024 micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.definitionDestinationRaw,
27025 micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.definitionDestinationString
27026 )(code)
27027 }
27028
27029 /**
27030 * After destination.
27031 *
27032 * ```markdown
27033 * > | [a]: b "c"
27034 * ^
27035 * ```
27036 *
27037 * @type {State}
27038 */
27039 function destinationAfter(code) {
27040 return effects.attempt(titleBefore, after, after)(code)
27041 }
27042
27043 /**
27044 * After definition.
27045 *
27046 * ```markdown
27047 * > | [a]: b
27048 * ^
27049 * > | [a]: b "c"
27050 * ^
27051 * ```
27052 *
27053 * @type {State}
27054 */
27055 function after(code) {
27056 return (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_5__.markdownSpace)(code)
27057 ? (0,micromark_factory_space__WEBPACK_IMPORTED_MODULE_8__.factorySpace)(effects, afterWhitespace, micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.whitespace)(code)
27058 : afterWhitespace(code)
27059 }
27060
27061 /**
27062 * After definition, after optional whitespace.
27063 *
27064 * ```markdown
27065 * > | [a]: b
27066 * ^
27067 * > | [a]: b "c"
27068 * ^
27069 * ```
27070 *
27071 * @type {State}
27072 */
27073 function afterWhitespace(code) {
27074 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.eof || (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_5__.markdownLineEnding)(code)) {
27075 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.definition)
27076
27077 // Note: we don’t care about uniqueness.
27078 // It’s likely that that doesn’t happen very frequently.
27079 // It is more likely that it wastes precious time.
27080 self.parser.defined.push(identifier)
27081
27082 // To do: `markdown-rs` interrupt.
27083 // // You’d be interrupting.
27084 // tokenizer.interrupt = true
27085 return ok(code)
27086 }
27087
27088 return nok(code)
27089 }
27090 }
27091
27092 /**
27093 * @this {TokenizeContext}
27094 * @type {Tokenizer}
27095 */
27096 function tokenizeTitleBefore(effects, ok, nok) {
27097 return titleBefore
27098
27099 /**
27100 * After destination, at whitespace.
27101 *
27102 * ```markdown
27103 * > | [a]: b
27104 * ^
27105 * > | [a]: b "c"
27106 * ^
27107 * ```
27108 *
27109 * @type {State}
27110 */
27111 function titleBefore(code) {
27112 return (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_5__.markdownLineEndingOrSpace)(code)
27113 ? (0,micromark_factory_whitespace__WEBPACK_IMPORTED_MODULE_6__.factoryWhitespace)(effects, beforeMarker)(code)
27114 : nok(code)
27115 }
27116
27117 /**
27118 * At title.
27119 *
27120 * ```markdown
27121 * | [a]: b
27122 * > | "c"
27123 * ^
27124 * ```
27125 *
27126 * @type {State}
27127 */
27128 function beforeMarker(code) {
27129 return (0,micromark_factory_title__WEBPACK_IMPORTED_MODULE_9__.factoryTitle)(
27130 effects,
27131 titleAfter,
27132 nok,
27133 micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.definitionTitle,
27134 micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.definitionTitleMarker,
27135 micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.definitionTitleString
27136 )(code)
27137 }
27138
27139 /**
27140 * After title.
27141 *
27142 * ```markdown
27143 * > | [a]: b "c"
27144 * ^
27145 * ```
27146 *
27147 * @type {State}
27148 */
27149 function titleAfter(code) {
27150 return (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_5__.markdownSpace)(code)
27151 ? (0,micromark_factory_space__WEBPACK_IMPORTED_MODULE_8__.factorySpace)(
27152 effects,
27153 titleAfterOptionalWhitespace,
27154 micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.whitespace
27155 )(code)
27156 : titleAfterOptionalWhitespace(code)
27157 }
27158
27159 /**
27160 * After title, after optional whitespace.
27161 *
27162 * ```markdown
27163 * > | [a]: b "c"
27164 * ^
27165 * ```
27166 *
27167 * @type {State}
27168 */
27169 function titleAfterOptionalWhitespace(code) {
27170 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)
27171 }
27172 }
27173
27174
27175 /***/ }),
27176
27177 /***/ "../node_modules/micromark-core-commonmark/dev/lib/hard-break-escape.js":
27178 /*!******************************************************************************!*\
27179 !*** ../node_modules/micromark-core-commonmark/dev/lib/hard-break-escape.js ***!
27180 \******************************************************************************/
27181 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
27182
27183 "use strict";
27184 __webpack_require__.r(__webpack_exports__);
27185 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
27186 /* harmony export */ hardBreakEscape: () => (/* binding */ hardBreakEscape)
27187 /* harmony export */ });
27188 /* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! micromark-util-character */ "../node_modules/micromark-util-character/dev/index.js");
27189 /* 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");
27190 /* 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");
27191 /* harmony import */ var uvu_assert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uvu/assert */ "../node_modules/uvu/assert/index.mjs");
27192 /**
27193 * @typedef {import('micromark-util-types').Construct} Construct
27194 * @typedef {import('micromark-util-types').State} State
27195 * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext
27196 * @typedef {import('micromark-util-types').Tokenizer} Tokenizer
27197 */
27198
27199
27200
27201
27202
27203
27204 /** @type {Construct} */
27205 const hardBreakEscape = {
27206 name: 'hardBreakEscape',
27207 tokenize: tokenizeHardBreakEscape
27208 }
27209
27210 /**
27211 * @this {TokenizeContext}
27212 * @type {Tokenizer}
27213 */
27214 function tokenizeHardBreakEscape(effects, ok, nok) {
27215 return start
27216
27217 /**
27218 * Start of a hard break (escape).
27219 *
27220 * ```markdown
27221 * > | a\
27222 * ^
27223 * | b
27224 * ```
27225 *
27226 * @type {State}
27227 */
27228 function start(code) {
27229 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.backslash, 'expected `\\`')
27230 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.hardBreakEscape)
27231 effects.consume(code)
27232 return after
27233 }
27234
27235 /**
27236 * After `\`, at eol.
27237 *
27238 * ```markdown
27239 * > | a\
27240 * ^
27241 * | b
27242 * ```
27243 *
27244 * @type {State}
27245 */
27246 function after(code) {
27247 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.markdownLineEnding)(code)) {
27248 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.hardBreakEscape)
27249 return ok(code)
27250 }
27251
27252 return nok(code)
27253 }
27254 }
27255
27256
27257 /***/ }),
27258
27259 /***/ "../node_modules/micromark-core-commonmark/dev/lib/heading-atx.js":
27260 /*!************************************************************************!*\
27261 !*** ../node_modules/micromark-core-commonmark/dev/lib/heading-atx.js ***!
27262 \************************************************************************/
27263 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
27264
27265 "use strict";
27266 __webpack_require__.r(__webpack_exports__);
27267 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
27268 /* harmony export */ headingAtx: () => (/* binding */ headingAtx)
27269 /* harmony export */ });
27270 /* harmony import */ var micromark_factory_space__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! micromark-factory-space */ "../node_modules/micromark-factory-space/dev/index.js");
27271 /* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! micromark-util-character */ "../node_modules/micromark-util-character/dev/index.js");
27272 /* harmony import */ var micromark_util_chunked__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! micromark-util-chunked */ "../node_modules/micromark-util-chunked/dev/index.js");
27273 /* 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");
27274 /* 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");
27275 /* 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");
27276 /* harmony import */ var uvu_assert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uvu/assert */ "../node_modules/uvu/assert/index.mjs");
27277 /**
27278 * @typedef {import('micromark-util-types').Construct} Construct
27279 * @typedef {import('micromark-util-types').Resolver} Resolver
27280 * @typedef {import('micromark-util-types').State} State
27281 * @typedef {import('micromark-util-types').Token} Token
27282 * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext
27283 * @typedef {import('micromark-util-types').Tokenizer} Tokenizer
27284 */
27285
27286
27287
27288
27289
27290
27291
27292
27293
27294 /** @type {Construct} */
27295 const headingAtx = {
27296 name: 'headingAtx',
27297 tokenize: tokenizeHeadingAtx,
27298 resolve: resolveHeadingAtx
27299 }
27300
27301 /** @type {Resolver} */
27302 function resolveHeadingAtx(events, context) {
27303 let contentEnd = events.length - 2
27304 let contentStart = 3
27305 /** @type {Token} */
27306 let content
27307 /** @type {Token} */
27308 let text
27309
27310 // Prefix whitespace, part of the opening.
27311 if (events[contentStart][1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.whitespace) {
27312 contentStart += 2
27313 }
27314
27315 // Suffix whitespace, part of the closing.
27316 if (
27317 contentEnd - 2 > contentStart &&
27318 events[contentEnd][1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.whitespace
27319 ) {
27320 contentEnd -= 2
27321 }
27322
27323 if (
27324 events[contentEnd][1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.atxHeadingSequence &&
27325 (contentStart === contentEnd - 1 ||
27326 (contentEnd - 4 > contentStart &&
27327 events[contentEnd - 2][1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.whitespace))
27328 ) {
27329 contentEnd -= contentStart + 1 === contentEnd ? 2 : 4
27330 }
27331
27332 if (contentEnd > contentStart) {
27333 content = {
27334 type: micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.atxHeadingText,
27335 start: events[contentStart][1].start,
27336 end: events[contentEnd][1].end
27337 }
27338 text = {
27339 type: micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.chunkText,
27340 start: events[contentStart][1].start,
27341 end: events[contentEnd][1].end,
27342 contentType: micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_2__.constants.contentTypeText
27343 }
27344
27345 ;(0,micromark_util_chunked__WEBPACK_IMPORTED_MODULE_3__.splice)(events, contentStart, contentEnd - contentStart + 1, [
27346 ['enter', content, context],
27347 ['enter', text, context],
27348 ['exit', text, context],
27349 ['exit', content, context]
27350 ])
27351 }
27352
27353 return events
27354 }
27355
27356 /**
27357 * @this {TokenizeContext}
27358 * @type {Tokenizer}
27359 */
27360 function tokenizeHeadingAtx(effects, ok, nok) {
27361 let size = 0
27362
27363 return start
27364
27365 /**
27366 * Start of a heading (atx).
27367 *
27368 * ```markdown
27369 * > | ## aa
27370 * ^
27371 * ```
27372 *
27373 * @type {State}
27374 */
27375 function start(code) {
27376 // To do: parse indent like `markdown-rs`.
27377 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.atxHeading)
27378 return before(code)
27379 }
27380
27381 /**
27382 * After optional whitespace, at `#`.
27383 *
27384 * ```markdown
27385 * > | ## aa
27386 * ^
27387 * ```
27388 *
27389 * @type {State}
27390 */
27391 function before(code) {
27392 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_4__.codes.numberSign, 'expected `#`')
27393 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.atxHeadingSequence)
27394 return sequenceOpen(code)
27395 }
27396
27397 /**
27398 * In opening sequence.
27399 *
27400 * ```markdown
27401 * > | ## aa
27402 * ^
27403 * ```
27404 *
27405 * @type {State}
27406 */
27407 function sequenceOpen(code) {
27408 if (
27409 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_4__.codes.numberSign &&
27410 size++ < micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_2__.constants.atxHeadingOpeningFenceSizeMax
27411 ) {
27412 effects.consume(code)
27413 return sequenceOpen
27414 }
27415
27416 // Always at least one `#`.
27417 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_4__.codes.eof || (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_5__.markdownLineEndingOrSpace)(code)) {
27418 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.atxHeadingSequence)
27419 return atBreak(code)
27420 }
27421
27422 return nok(code)
27423 }
27424
27425 /**
27426 * After something, before something else.
27427 *
27428 * ```markdown
27429 * > | ## aa
27430 * ^
27431 * ```
27432 *
27433 * @type {State}
27434 */
27435 function atBreak(code) {
27436 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_4__.codes.numberSign) {
27437 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.atxHeadingSequence)
27438 return sequenceFurther(code)
27439 }
27440
27441 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_4__.codes.eof || (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_5__.markdownLineEnding)(code)) {
27442 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.atxHeading)
27443 // To do: interrupt like `markdown-rs`.
27444 // // Feel free to interrupt.
27445 // tokenizer.interrupt = false
27446 return ok(code)
27447 }
27448
27449 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_5__.markdownSpace)(code)) {
27450 return (0,micromark_factory_space__WEBPACK_IMPORTED_MODULE_6__.factorySpace)(effects, atBreak, micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.whitespace)(code)
27451 }
27452
27453 // To do: generate `data` tokens, add the `text` token later.
27454 // Needs edit map, see: `markdown.rs`.
27455 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.atxHeadingText)
27456 return data(code)
27457 }
27458
27459 /**
27460 * In further sequence (after whitespace).
27461 *
27462 * Could be normal “visible” hashes in the heading or a final sequence.
27463 *
27464 * ```markdown
27465 * > | ## aa ##
27466 * ^
27467 * ```
27468 *
27469 * @type {State}
27470 */
27471 function sequenceFurther(code) {
27472 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_4__.codes.numberSign) {
27473 effects.consume(code)
27474 return sequenceFurther
27475 }
27476
27477 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.atxHeadingSequence)
27478 return atBreak(code)
27479 }
27480
27481 /**
27482 * In text.
27483 *
27484 * ```markdown
27485 * > | ## aa
27486 * ^
27487 * ```
27488 *
27489 * @type {State}
27490 */
27491 function data(code) {
27492 if (
27493 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_4__.codes.eof ||
27494 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_4__.codes.numberSign ||
27495 (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_5__.markdownLineEndingOrSpace)(code)
27496 ) {
27497 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.atxHeadingText)
27498 return atBreak(code)
27499 }
27500
27501 effects.consume(code)
27502 return data
27503 }
27504 }
27505
27506
27507 /***/ }),
27508
27509 /***/ "../node_modules/micromark-core-commonmark/dev/lib/html-flow.js":
27510 /*!**********************************************************************!*\
27511 !*** ../node_modules/micromark-core-commonmark/dev/lib/html-flow.js ***!
27512 \**********************************************************************/
27513 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
27514
27515 "use strict";
27516 __webpack_require__.r(__webpack_exports__);
27517 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
27518 /* harmony export */ htmlFlow: () => (/* binding */ htmlFlow)
27519 /* harmony export */ });
27520 /* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! micromark-util-character */ "../node_modules/micromark-util-character/dev/index.js");
27521 /* 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");
27522 /* 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");
27523 /* 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");
27524 /* 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");
27525 /* harmony import */ var uvu_assert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uvu/assert */ "../node_modules/uvu/assert/index.mjs");
27526 /* 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");
27527 /**
27528 * @typedef {import('micromark-util-types').Code} Code
27529 * @typedef {import('micromark-util-types').Construct} Construct
27530 * @typedef {import('micromark-util-types').Resolver} Resolver
27531 * @typedef {import('micromark-util-types').State} State
27532 * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext
27533 * @typedef {import('micromark-util-types').Tokenizer} Tokenizer
27534 */
27535
27536
27537
27538
27539
27540
27541
27542
27543
27544 /** @type {Construct} */
27545 const htmlFlow = {
27546 name: 'htmlFlow',
27547 tokenize: tokenizeHtmlFlow,
27548 resolveTo: resolveToHtmlFlow,
27549 concrete: true
27550 }
27551
27552 /** @type {Construct} */
27553 const blankLineBefore = {tokenize: tokenizeBlankLineBefore, partial: true}
27554 const nonLazyContinuationStart = {
27555 tokenize: tokenizeNonLazyContinuationStart,
27556 partial: true
27557 }
27558
27559 /** @type {Resolver} */
27560 function resolveToHtmlFlow(events) {
27561 let index = events.length
27562
27563 while (index--) {
27564 if (
27565 events[index][0] === 'enter' &&
27566 events[index][1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.htmlFlow
27567 ) {
27568 break
27569 }
27570 }
27571
27572 if (index > 1 && events[index - 2][1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.linePrefix) {
27573 // Add the prefix start to the HTML token.
27574 events[index][1].start = events[index - 2][1].start
27575 // Add the prefix start to the HTML line token.
27576 events[index + 1][1].start = events[index - 2][1].start
27577 // Remove the line prefix.
27578 events.splice(index - 2, 2)
27579 }
27580
27581 return events
27582 }
27583
27584 /**
27585 * @this {TokenizeContext}
27586 * @type {Tokenizer}
27587 */
27588 function tokenizeHtmlFlow(effects, ok, nok) {
27589 const self = this
27590 /** @type {number} */
27591 let marker
27592 /** @type {boolean} */
27593 let closingTag
27594 /** @type {string} */
27595 let buffer
27596 /** @type {number} */
27597 let index
27598 /** @type {Code} */
27599 let markerB
27600
27601 return start
27602
27603 /**
27604 * Start of HTML (flow).
27605 *
27606 * ```markdown
27607 * > | <x />
27608 * ^
27609 * ```
27610 *
27611 * @type {State}
27612 */
27613 function start(code) {
27614 // To do: parse indent like `markdown-rs`.
27615 return before(code)
27616 }
27617
27618 /**
27619 * At `<`, after optional whitespace.
27620 *
27621 * ```markdown
27622 * > | <x />
27623 * ^
27624 * ```
27625 *
27626 * @type {State}
27627 */
27628 function before(code) {
27629 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.lessThan, 'expected `<`')
27630 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.htmlFlow)
27631 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.htmlFlowData)
27632 effects.consume(code)
27633 return open
27634 }
27635
27636 /**
27637 * After `<`, at tag name or other stuff.
27638 *
27639 * ```markdown
27640 * > | <x />
27641 * ^
27642 * > | <!doctype>
27643 * ^
27644 * > | <!--xxx-->
27645 * ^
27646 * ```
27647 *
27648 * @type {State}
27649 */
27650 function open(code) {
27651 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.exclamationMark) {
27652 effects.consume(code)
27653 return declarationOpen
27654 }
27655
27656 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.slash) {
27657 effects.consume(code)
27658 closingTag = true
27659 return tagCloseStart
27660 }
27661
27662 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.questionMark) {
27663 effects.consume(code)
27664 marker = micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_3__.constants.htmlInstruction
27665 // To do:
27666 // tokenizer.concrete = true
27667 // To do: use `markdown-rs` style interrupt.
27668 // While we’re in an instruction instead of a declaration, we’re on a `?`
27669 // right now, so we do need to search for `>`, similar to declarations.
27670 return self.interrupt ? ok : continuationDeclarationInside
27671 }
27672
27673 // ASCII alphabetical.
27674 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.asciiAlpha)(code)) {
27675 effects.consume(code)
27676 // @ts-expect-error: not null.
27677 buffer = String.fromCharCode(code)
27678 return tagName
27679 }
27680
27681 return nok(code)
27682 }
27683
27684 /**
27685 * After `<!`, at declaration, comment, or CDATA.
27686 *
27687 * ```markdown
27688 * > | <!doctype>
27689 * ^
27690 * > | <!--xxx-->
27691 * ^
27692 * > | <![CDATA[>&<]]>
27693 * ^
27694 * ```
27695 *
27696 * @type {State}
27697 */
27698 function declarationOpen(code) {
27699 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.dash) {
27700 effects.consume(code)
27701 marker = micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_3__.constants.htmlComment
27702 return commentOpenInside
27703 }
27704
27705 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.leftSquareBracket) {
27706 effects.consume(code)
27707 marker = micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_3__.constants.htmlCdata
27708 index = 0
27709 return cdataOpenInside
27710 }
27711
27712 // ASCII alphabetical.
27713 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.asciiAlpha)(code)) {
27714 effects.consume(code)
27715 marker = micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_3__.constants.htmlDeclaration
27716 // // Do not form containers.
27717 // tokenizer.concrete = true
27718 return self.interrupt ? ok : continuationDeclarationInside
27719 }
27720
27721 return nok(code)
27722 }
27723
27724 /**
27725 * After `<!-`, inside a comment, at another `-`.
27726 *
27727 * ```markdown
27728 * > | <!--xxx-->
27729 * ^
27730 * ```
27731 *
27732 * @type {State}
27733 */
27734 function commentOpenInside(code) {
27735 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.dash) {
27736 effects.consume(code)
27737 // // Do not form containers.
27738 // tokenizer.concrete = true
27739 return self.interrupt ? ok : continuationDeclarationInside
27740 }
27741
27742 return nok(code)
27743 }
27744
27745 /**
27746 * After `<![`, inside CDATA, expecting `CDATA[`.
27747 *
27748 * ```markdown
27749 * > | <![CDATA[>&<]]>
27750 * ^^^^^^
27751 * ```
27752 *
27753 * @type {State}
27754 */
27755 function cdataOpenInside(code) {
27756 const value = micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_3__.constants.cdataOpeningString
27757
27758 if (code === value.charCodeAt(index++)) {
27759 effects.consume(code)
27760
27761 if (index === value.length) {
27762 // // Do not form containers.
27763 // tokenizer.concrete = true
27764 return self.interrupt ? ok : continuation
27765 }
27766
27767 return cdataOpenInside
27768 }
27769
27770 return nok(code)
27771 }
27772
27773 /**
27774 * After `</`, in closing tag, at tag name.
27775 *
27776 * ```markdown
27777 * > | </x>
27778 * ^
27779 * ```
27780 *
27781 * @type {State}
27782 */
27783 function tagCloseStart(code) {
27784 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.asciiAlpha)(code)) {
27785 effects.consume(code)
27786 // @ts-expect-error: not null.
27787 buffer = String.fromCharCode(code)
27788 return tagName
27789 }
27790
27791 return nok(code)
27792 }
27793
27794 /**
27795 * In tag name.
27796 *
27797 * ```markdown
27798 * > | <ab>
27799 * ^^
27800 * > | </ab>
27801 * ^^
27802 * ```
27803 *
27804 * @type {State}
27805 */
27806 function tagName(code) {
27807 if (
27808 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.eof ||
27809 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.slash ||
27810 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.greaterThan ||
27811 (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.markdownLineEndingOrSpace)(code)
27812 ) {
27813 const slash = code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.slash
27814 const name = buffer.toLowerCase()
27815
27816 if (!slash && !closingTag && micromark_util_html_tag_name__WEBPACK_IMPORTED_MODULE_5__.htmlRawNames.includes(name)) {
27817 marker = micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_3__.constants.htmlRaw
27818 // // Do not form containers.
27819 // tokenizer.concrete = true
27820 return self.interrupt ? ok(code) : continuation(code)
27821 }
27822
27823 if (micromark_util_html_tag_name__WEBPACK_IMPORTED_MODULE_5__.htmlBlockNames.includes(buffer.toLowerCase())) {
27824 marker = micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_3__.constants.htmlBasic
27825
27826 if (slash) {
27827 effects.consume(code)
27828 return basicSelfClosing
27829 }
27830
27831 // // Do not form containers.
27832 // tokenizer.concrete = true
27833 return self.interrupt ? ok(code) : continuation(code)
27834 }
27835
27836 marker = micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_3__.constants.htmlComplete
27837 // Do not support complete HTML when interrupting.
27838 return self.interrupt && !self.parser.lazy[self.now().line]
27839 ? nok(code)
27840 : closingTag
27841 ? completeClosingTagAfter(code)
27842 : completeAttributeNameBefore(code)
27843 }
27844
27845 // ASCII alphanumerical and `-`.
27846 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.dash || (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.asciiAlphanumeric)(code)) {
27847 effects.consume(code)
27848 buffer += String.fromCharCode(code)
27849 return tagName
27850 }
27851
27852 return nok(code)
27853 }
27854
27855 /**
27856 * After closing slash of a basic tag name.
27857 *
27858 * ```markdown
27859 * > | <div/>
27860 * ^
27861 * ```
27862 *
27863 * @type {State}
27864 */
27865 function basicSelfClosing(code) {
27866 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.greaterThan) {
27867 effects.consume(code)
27868 // // Do not form containers.
27869 // tokenizer.concrete = true
27870 return self.interrupt ? ok : continuation
27871 }
27872
27873 return nok(code)
27874 }
27875
27876 /**
27877 * After closing slash of a complete tag name.
27878 *
27879 * ```markdown
27880 * > | <x/>
27881 * ^
27882 * ```
27883 *
27884 * @type {State}
27885 */
27886 function completeClosingTagAfter(code) {
27887 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.markdownSpace)(code)) {
27888 effects.consume(code)
27889 return completeClosingTagAfter
27890 }
27891
27892 return completeEnd(code)
27893 }
27894
27895 /**
27896 * At an attribute name.
27897 *
27898 * At first, this state is used after a complete tag name, after whitespace,
27899 * where it expects optional attributes or the end of the tag.
27900 * It is also reused after attributes, when expecting more optional
27901 * attributes.
27902 *
27903 * ```markdown
27904 * > | <a />
27905 * ^
27906 * > | <a :b>
27907 * ^
27908 * > | <a _b>
27909 * ^
27910 * > | <a b>
27911 * ^
27912 * > | <a >
27913 * ^
27914 * ```
27915 *
27916 * @type {State}
27917 */
27918 function completeAttributeNameBefore(code) {
27919 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.slash) {
27920 effects.consume(code)
27921 return completeEnd
27922 }
27923
27924 // ASCII alphanumerical and `:` and `_`.
27925 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)) {
27926 effects.consume(code)
27927 return completeAttributeName
27928 }
27929
27930 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.markdownSpace)(code)) {
27931 effects.consume(code)
27932 return completeAttributeNameBefore
27933 }
27934
27935 return completeEnd(code)
27936 }
27937
27938 /**
27939 * In attribute name.
27940 *
27941 * ```markdown
27942 * > | <a :b>
27943 * ^
27944 * > | <a _b>
27945 * ^
27946 * > | <a b>
27947 * ^
27948 * ```
27949 *
27950 * @type {State}
27951 */
27952 function completeAttributeName(code) {
27953 // ASCII alphanumerical and `-`, `.`, `:`, and `_`.
27954 if (
27955 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.dash ||
27956 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.dot ||
27957 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.colon ||
27958 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.underscore ||
27959 (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.asciiAlphanumeric)(code)
27960 ) {
27961 effects.consume(code)
27962 return completeAttributeName
27963 }
27964
27965 return completeAttributeNameAfter(code)
27966 }
27967
27968 /**
27969 * After attribute name, at an optional initializer, the end of the tag, or
27970 * whitespace.
27971 *
27972 * ```markdown
27973 * > | <a b>
27974 * ^
27975 * > | <a b=c>
27976 * ^
27977 * ```
27978 *
27979 * @type {State}
27980 */
27981 function completeAttributeNameAfter(code) {
27982 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.equalsTo) {
27983 effects.consume(code)
27984 return completeAttributeValueBefore
27985 }
27986
27987 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.markdownSpace)(code)) {
27988 effects.consume(code)
27989 return completeAttributeNameAfter
27990 }
27991
27992 return completeAttributeNameBefore(code)
27993 }
27994
27995 /**
27996 * Before unquoted, double quoted, or single quoted attribute value, allowing
27997 * whitespace.
27998 *
27999 * ```markdown
28000 * > | <a b=c>
28001 * ^
28002 * > | <a b="c">
28003 * ^
28004 * ```
28005 *
28006 * @type {State}
28007 */
28008 function completeAttributeValueBefore(code) {
28009 if (
28010 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.eof ||
28011 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.lessThan ||
28012 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.equalsTo ||
28013 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.greaterThan ||
28014 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.graveAccent
28015 ) {
28016 return nok(code)
28017 }
28018
28019 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) {
28020 effects.consume(code)
28021 markerB = code
28022 return completeAttributeValueQuoted
28023 }
28024
28025 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.markdownSpace)(code)) {
28026 effects.consume(code)
28027 return completeAttributeValueBefore
28028 }
28029
28030 return completeAttributeValueUnquoted(code)
28031 }
28032
28033 /**
28034 * In double or single quoted attribute value.
28035 *
28036 * ```markdown
28037 * > | <a b="c">
28038 * ^
28039 * > | <a b='c'>
28040 * ^
28041 * ```
28042 *
28043 * @type {State}
28044 */
28045 function completeAttributeValueQuoted(code) {
28046 if (code === markerB) {
28047 effects.consume(code)
28048 markerB = null
28049 return completeAttributeValueQuotedAfter
28050 }
28051
28052 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.eof || (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.markdownLineEnding)(code)) {
28053 return nok(code)
28054 }
28055
28056 effects.consume(code)
28057 return completeAttributeValueQuoted
28058 }
28059
28060 /**
28061 * In unquoted attribute value.
28062 *
28063 * ```markdown
28064 * > | <a b=c>
28065 * ^
28066 * ```
28067 *
28068 * @type {State}
28069 */
28070 function completeAttributeValueUnquoted(code) {
28071 if (
28072 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.eof ||
28073 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.quotationMark ||
28074 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.apostrophe ||
28075 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.slash ||
28076 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.lessThan ||
28077 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.equalsTo ||
28078 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.greaterThan ||
28079 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.graveAccent ||
28080 (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.markdownLineEndingOrSpace)(code)
28081 ) {
28082 return completeAttributeNameAfter(code)
28083 }
28084
28085 effects.consume(code)
28086 return completeAttributeValueUnquoted
28087 }
28088
28089 /**
28090 * After double or single quoted attribute value, before whitespace or the
28091 * end of the tag.
28092 *
28093 * ```markdown
28094 * > | <a b="c">
28095 * ^
28096 * ```
28097 *
28098 * @type {State}
28099 */
28100 function completeAttributeValueQuotedAfter(code) {
28101 if (
28102 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.slash ||
28103 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.greaterThan ||
28104 (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.markdownSpace)(code)
28105 ) {
28106 return completeAttributeNameBefore(code)
28107 }
28108
28109 return nok(code)
28110 }
28111
28112 /**
28113 * In certain circumstances of a complete tag where only an `>` is allowed.
28114 *
28115 * ```markdown
28116 * > | <a b="c">
28117 * ^
28118 * ```
28119 *
28120 * @type {State}
28121 */
28122 function completeEnd(code) {
28123 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.greaterThan) {
28124 effects.consume(code)
28125 return completeAfter
28126 }
28127
28128 return nok(code)
28129 }
28130
28131 /**
28132 * After `>` in a complete tag.
28133 *
28134 * ```markdown
28135 * > | <x>
28136 * ^
28137 * ```
28138 *
28139 * @type {State}
28140 */
28141 function completeAfter(code) {
28142 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.eof || (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.markdownLineEnding)(code)) {
28143 // // Do not form containers.
28144 // tokenizer.concrete = true
28145 return continuation(code)
28146 }
28147
28148 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.markdownSpace)(code)) {
28149 effects.consume(code)
28150 return completeAfter
28151 }
28152
28153 return nok(code)
28154 }
28155
28156 /**
28157 * In continuation of any HTML kind.
28158 *
28159 * ```markdown
28160 * > | <!--xxx-->
28161 * ^
28162 * ```
28163 *
28164 * @type {State}
28165 */
28166 function continuation(code) {
28167 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) {
28168 effects.consume(code)
28169 return continuationCommentInside
28170 }
28171
28172 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) {
28173 effects.consume(code)
28174 return continuationRawTagOpen
28175 }
28176
28177 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) {
28178 effects.consume(code)
28179 return continuationClose
28180 }
28181
28182 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) {
28183 effects.consume(code)
28184 return continuationDeclarationInside
28185 }
28186
28187 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) {
28188 effects.consume(code)
28189 return continuationCdataInside
28190 }
28191
28192 if (
28193 (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.markdownLineEnding)(code) &&
28194 (marker === micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_3__.constants.htmlBasic || marker === micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_3__.constants.htmlComplete)
28195 ) {
28196 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.htmlFlowData)
28197 return effects.check(
28198 blankLineBefore,
28199 continuationAfter,
28200 continuationStart
28201 )(code)
28202 }
28203
28204 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.eof || (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.markdownLineEnding)(code)) {
28205 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.htmlFlowData)
28206 return continuationStart(code)
28207 }
28208
28209 effects.consume(code)
28210 return continuation
28211 }
28212
28213 /**
28214 * In continuation, at eol.
28215 *
28216 * ```markdown
28217 * > | <x>
28218 * ^
28219 * | asd
28220 * ```
28221 *
28222 * @type {State}
28223 */
28224 function continuationStart(code) {
28225 return effects.check(
28226 nonLazyContinuationStart,
28227 continuationStartNonLazy,
28228 continuationAfter
28229 )(code)
28230 }
28231
28232 /**
28233 * In continuation, at eol, before non-lazy content.
28234 *
28235 * ```markdown
28236 * > | <x>
28237 * ^
28238 * | asd
28239 * ```
28240 *
28241 * @type {State}
28242 */
28243 function continuationStartNonLazy(code) {
28244 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.markdownLineEnding)(code))
28245 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.lineEnding)
28246 effects.consume(code)
28247 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.lineEnding)
28248 return continuationBefore
28249 }
28250
28251 /**
28252 * In continuation, before non-lazy content.
28253 *
28254 * ```markdown
28255 * | <x>
28256 * > | asd
28257 * ^
28258 * ```
28259 *
28260 * @type {State}
28261 */
28262 function continuationBefore(code) {
28263 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.eof || (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.markdownLineEnding)(code)) {
28264 return continuationStart(code)
28265 }
28266
28267 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.htmlFlowData)
28268 return continuation(code)
28269 }
28270
28271 /**
28272 * In comment continuation, after one `-`, expecting another.
28273 *
28274 * ```markdown
28275 * > | <!--xxx-->
28276 * ^
28277 * ```
28278 *
28279 * @type {State}
28280 */
28281 function continuationCommentInside(code) {
28282 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.dash) {
28283 effects.consume(code)
28284 return continuationDeclarationInside
28285 }
28286
28287 return continuation(code)
28288 }
28289
28290 /**
28291 * In raw continuation, after `<`, at `/`.
28292 *
28293 * ```markdown
28294 * > | <script>console.log(1)</script>
28295 * ^
28296 * ```
28297 *
28298 * @type {State}
28299 */
28300 function continuationRawTagOpen(code) {
28301 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.slash) {
28302 effects.consume(code)
28303 buffer = ''
28304 return continuationRawEndTag
28305 }
28306
28307 return continuation(code)
28308 }
28309
28310 /**
28311 * In raw continuation, after `</`, in a raw tag name.
28312 *
28313 * ```markdown
28314 * > | <script>console.log(1)</script>
28315 * ^^^^^^
28316 * ```
28317 *
28318 * @type {State}
28319 */
28320 function continuationRawEndTag(code) {
28321 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.greaterThan) {
28322 const name = buffer.toLowerCase()
28323
28324 if (micromark_util_html_tag_name__WEBPACK_IMPORTED_MODULE_5__.htmlRawNames.includes(name)) {
28325 effects.consume(code)
28326 return continuationClose
28327 }
28328
28329 return continuation(code)
28330 }
28331
28332 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.asciiAlpha)(code) && buffer.length < micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_3__.constants.htmlRawSizeMax) {
28333 effects.consume(code)
28334 // @ts-expect-error: not null.
28335 buffer += String.fromCharCode(code)
28336 return continuationRawEndTag
28337 }
28338
28339 return continuation(code)
28340 }
28341
28342 /**
28343 * In cdata continuation, after `]`, expecting `]>`.
28344 *
28345 * ```markdown
28346 * > | <![CDATA[>&<]]>
28347 * ^
28348 * ```
28349 *
28350 * @type {State}
28351 */
28352 function continuationCdataInside(code) {
28353 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.rightSquareBracket) {
28354 effects.consume(code)
28355 return continuationDeclarationInside
28356 }
28357
28358 return continuation(code)
28359 }
28360
28361 /**
28362 * In declaration or instruction continuation, at `>`.
28363 *
28364 * ```markdown
28365 * > | <!-->
28366 * ^
28367 * > | <?>
28368 * ^
28369 * > | <!q>
28370 * ^
28371 * > | <!--ab-->
28372 * ^
28373 * > | <![CDATA[>&<]]>
28374 * ^
28375 * ```
28376 *
28377 * @type {State}
28378 */
28379 function continuationDeclarationInside(code) {
28380 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.greaterThan) {
28381 effects.consume(code)
28382 return continuationClose
28383 }
28384
28385 // More dashes.
28386 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) {
28387 effects.consume(code)
28388 return continuationDeclarationInside
28389 }
28390
28391 return continuation(code)
28392 }
28393
28394 /**
28395 * In closed continuation: everything we get until the eol/eof is part of it.
28396 *
28397 * ```markdown
28398 * > | <!doctype>
28399 * ^
28400 * ```
28401 *
28402 * @type {State}
28403 */
28404 function continuationClose(code) {
28405 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.eof || (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.markdownLineEnding)(code)) {
28406 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.htmlFlowData)
28407 return continuationAfter(code)
28408 }
28409
28410 effects.consume(code)
28411 return continuationClose
28412 }
28413
28414 /**
28415 * Done.
28416 *
28417 * ```markdown
28418 * > | <!doctype>
28419 * ^
28420 * ```
28421 *
28422 * @type {State}
28423 */
28424 function continuationAfter(code) {
28425 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.htmlFlow)
28426 // // Feel free to interrupt.
28427 // tokenizer.interrupt = false
28428 // // No longer concrete.
28429 // tokenizer.concrete = false
28430 return ok(code)
28431 }
28432 }
28433
28434 /**
28435 * @this {TokenizeContext}
28436 * @type {Tokenizer}
28437 */
28438 function tokenizeNonLazyContinuationStart(effects, ok, nok) {
28439 const self = this
28440
28441 return start
28442
28443 /**
28444 * At eol, before continuation.
28445 *
28446 * ```markdown
28447 * > | * ```js
28448 * ^
28449 * | b
28450 * ```
28451 *
28452 * @type {State}
28453 */
28454 function start(code) {
28455 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.markdownLineEnding)(code)) {
28456 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.lineEnding)
28457 effects.consume(code)
28458 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.lineEnding)
28459 return after
28460 }
28461
28462 return nok(code)
28463 }
28464
28465 /**
28466 * A continuation.
28467 *
28468 * ```markdown
28469 * | * ```js
28470 * > | b
28471 * ^
28472 * ```
28473 *
28474 * @type {State}
28475 */
28476 function after(code) {
28477 return self.parser.lazy[self.now().line] ? nok(code) : ok(code)
28478 }
28479 }
28480
28481 /**
28482 * @this {TokenizeContext}
28483 * @type {Tokenizer}
28484 */
28485 function tokenizeBlankLineBefore(effects, ok, nok) {
28486 return start
28487
28488 /**
28489 * Before eol, expecting blank line.
28490 *
28491 * ```markdown
28492 * > | <div>
28493 * ^
28494 * |
28495 * ```
28496 *
28497 * @type {State}
28498 */
28499 function start(code) {
28500 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.markdownLineEnding)(code), 'expected a line ending')
28501 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.lineEnding)
28502 effects.consume(code)
28503 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.lineEnding)
28504 return effects.attempt(_blank_line_js__WEBPACK_IMPORTED_MODULE_6__.blankLine, ok, nok)
28505 }
28506 }
28507
28508
28509 /***/ }),
28510
28511 /***/ "../node_modules/micromark-core-commonmark/dev/lib/html-text.js":
28512 /*!**********************************************************************!*\
28513 !*** ../node_modules/micromark-core-commonmark/dev/lib/html-text.js ***!
28514 \**********************************************************************/
28515 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
28516
28517 "use strict";
28518 __webpack_require__.r(__webpack_exports__);
28519 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
28520 /* harmony export */ htmlText: () => (/* binding */ htmlText)
28521 /* harmony export */ });
28522 /* harmony import */ var micromark_factory_space__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! micromark-factory-space */ "../node_modules/micromark-factory-space/dev/index.js");
28523 /* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! micromark-util-character */ "../node_modules/micromark-util-character/dev/index.js");
28524 /* 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");
28525 /* 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");
28526 /* 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");
28527 /* harmony import */ var uvu_assert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uvu/assert */ "../node_modules/uvu/assert/index.mjs");
28528 /**
28529 * @typedef {import('micromark-util-types').Code} Code
28530 * @typedef {import('micromark-util-types').Construct} Construct
28531 * @typedef {import('micromark-util-types').State} State
28532 * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext
28533 * @typedef {import('micromark-util-types').Tokenizer} Tokenizer
28534 */
28535
28536
28537
28538
28539
28540
28541
28542
28543 /** @type {Construct} */
28544 const htmlText = {name: 'htmlText', tokenize: tokenizeHtmlText}
28545
28546 /**
28547 * @this {TokenizeContext}
28548 * @type {Tokenizer}
28549 */
28550 function tokenizeHtmlText(effects, ok, nok) {
28551 const self = this
28552 /** @type {NonNullable<Code> | undefined} */
28553 let marker
28554 /** @type {number} */
28555 let index
28556 /** @type {State} */
28557 let returnState
28558
28559 return start
28560
28561 /**
28562 * Start of HTML (text).
28563 *
28564 * ```markdown
28565 * > | a <b> c
28566 * ^
28567 * ```
28568 *
28569 * @type {State}
28570 */
28571 function start(code) {
28572 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.lessThan, 'expected `<`')
28573 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.htmlText)
28574 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.htmlTextData)
28575 effects.consume(code)
28576 return open
28577 }
28578
28579 /**
28580 * After `<`, at tag name or other stuff.
28581 *
28582 * ```markdown
28583 * > | a <b> c
28584 * ^
28585 * > | a <!doctype> c
28586 * ^
28587 * > | a <!--b--> c
28588 * ^
28589 * ```
28590 *
28591 * @type {State}
28592 */
28593 function open(code) {
28594 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.exclamationMark) {
28595 effects.consume(code)
28596 return declarationOpen
28597 }
28598
28599 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.slash) {
28600 effects.consume(code)
28601 return tagCloseStart
28602 }
28603
28604 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.questionMark) {
28605 effects.consume(code)
28606 return instruction
28607 }
28608
28609 // ASCII alphabetical.
28610 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.asciiAlpha)(code)) {
28611 effects.consume(code)
28612 return tagOpen
28613 }
28614
28615 return nok(code)
28616 }
28617
28618 /**
28619 * After `<!`, at declaration, comment, or CDATA.
28620 *
28621 * ```markdown
28622 * > | a <!doctype> c
28623 * ^
28624 * > | a <!--b--> c
28625 * ^
28626 * > | a <![CDATA[>&<]]> c
28627 * ^
28628 * ```
28629 *
28630 * @type {State}
28631 */
28632 function declarationOpen(code) {
28633 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.dash) {
28634 effects.consume(code)
28635 return commentOpenInside
28636 }
28637
28638 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.leftSquareBracket) {
28639 effects.consume(code)
28640 index = 0
28641 return cdataOpenInside
28642 }
28643
28644 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.asciiAlpha)(code)) {
28645 effects.consume(code)
28646 return declaration
28647 }
28648
28649 return nok(code)
28650 }
28651
28652 /**
28653 * In a comment, after `<!-`, at another `-`.
28654 *
28655 * ```markdown
28656 * > | a <!--b--> c
28657 * ^
28658 * ```
28659 *
28660 * @type {State}
28661 */
28662 function commentOpenInside(code) {
28663 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.dash) {
28664 effects.consume(code)
28665 return commentEnd
28666 }
28667
28668 return nok(code)
28669 }
28670
28671 /**
28672 * In comment.
28673 *
28674 * ```markdown
28675 * > | a <!--b--> c
28676 * ^
28677 * ```
28678 *
28679 * @type {State}
28680 */
28681 function comment(code) {
28682 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.eof) {
28683 return nok(code)
28684 }
28685
28686 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.dash) {
28687 effects.consume(code)
28688 return commentClose
28689 }
28690
28691 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.markdownLineEnding)(code)) {
28692 returnState = comment
28693 return lineEndingBefore(code)
28694 }
28695
28696 effects.consume(code)
28697 return comment
28698 }
28699
28700 /**
28701 * In comment, after `-`.
28702 *
28703 * ```markdown
28704 * > | a <!--b--> c
28705 * ^
28706 * ```
28707 *
28708 * @type {State}
28709 */
28710 function commentClose(code) {
28711 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.dash) {
28712 effects.consume(code)
28713 return commentEnd
28714 }
28715
28716 return comment(code)
28717 }
28718
28719 /**
28720 * In comment, after `--`.
28721 *
28722 * ```markdown
28723 * > | a <!--b--> c
28724 * ^
28725 * ```
28726 *
28727 * @type {State}
28728 */
28729 function commentEnd(code) {
28730 return code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.greaterThan
28731 ? end(code)
28732 : code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.dash
28733 ? commentClose(code)
28734 : comment(code)
28735 }
28736
28737 /**
28738 * After `<![`, in CDATA, expecting `CDATA[`.
28739 *
28740 * ```markdown
28741 * > | a <![CDATA[>&<]]> b
28742 * ^^^^^^
28743 * ```
28744 *
28745 * @type {State}
28746 */
28747 function cdataOpenInside(code) {
28748 const value = micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_4__.constants.cdataOpeningString
28749
28750 if (code === value.charCodeAt(index++)) {
28751 effects.consume(code)
28752 return index === value.length ? cdata : cdataOpenInside
28753 }
28754
28755 return nok(code)
28756 }
28757
28758 /**
28759 * In CDATA.
28760 *
28761 * ```markdown
28762 * > | a <![CDATA[>&<]]> b
28763 * ^^^
28764 * ```
28765 *
28766 * @type {State}
28767 */
28768 function cdata(code) {
28769 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.eof) {
28770 return nok(code)
28771 }
28772
28773 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.rightSquareBracket) {
28774 effects.consume(code)
28775 return cdataClose
28776 }
28777
28778 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.markdownLineEnding)(code)) {
28779 returnState = cdata
28780 return lineEndingBefore(code)
28781 }
28782
28783 effects.consume(code)
28784 return cdata
28785 }
28786
28787 /**
28788 * In CDATA, after `]`, at another `]`.
28789 *
28790 * ```markdown
28791 * > | a <![CDATA[>&<]]> b
28792 * ^
28793 * ```
28794 *
28795 * @type {State}
28796 */
28797 function cdataClose(code) {
28798 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.rightSquareBracket) {
28799 effects.consume(code)
28800 return cdataEnd
28801 }
28802
28803 return cdata(code)
28804 }
28805
28806 /**
28807 * In CDATA, after `]]`, at `>`.
28808 *
28809 * ```markdown
28810 * > | a <![CDATA[>&<]]> b
28811 * ^
28812 * ```
28813 *
28814 * @type {State}
28815 */
28816 function cdataEnd(code) {
28817 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.greaterThan) {
28818 return end(code)
28819 }
28820
28821 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.rightSquareBracket) {
28822 effects.consume(code)
28823 return cdataEnd
28824 }
28825
28826 return cdata(code)
28827 }
28828
28829 /**
28830 * In declaration.
28831 *
28832 * ```markdown
28833 * > | a <!b> c
28834 * ^
28835 * ```
28836 *
28837 * @type {State}
28838 */
28839 function declaration(code) {
28840 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) {
28841 return end(code)
28842 }
28843
28844 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.markdownLineEnding)(code)) {
28845 returnState = declaration
28846 return lineEndingBefore(code)
28847 }
28848
28849 effects.consume(code)
28850 return declaration
28851 }
28852
28853 /**
28854 * In instruction.
28855 *
28856 * ```markdown
28857 * > | a <?b?> c
28858 * ^
28859 * ```
28860 *
28861 * @type {State}
28862 */
28863 function instruction(code) {
28864 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.eof) {
28865 return nok(code)
28866 }
28867
28868 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.questionMark) {
28869 effects.consume(code)
28870 return instructionClose
28871 }
28872
28873 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.markdownLineEnding)(code)) {
28874 returnState = instruction
28875 return lineEndingBefore(code)
28876 }
28877
28878 effects.consume(code)
28879 return instruction
28880 }
28881
28882 /**
28883 * In instruction, after `?`, at `>`.
28884 *
28885 * ```markdown
28886 * > | a <?b?> c
28887 * ^
28888 * ```
28889 *
28890 * @type {State}
28891 */
28892 function instructionClose(code) {
28893 return code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.greaterThan ? end(code) : instruction(code)
28894 }
28895
28896 /**
28897 * After `</`, in closing tag, at tag name.
28898 *
28899 * ```markdown
28900 * > | a </b> c
28901 * ^
28902 * ```
28903 *
28904 * @type {State}
28905 */
28906 function tagCloseStart(code) {
28907 // ASCII alphabetical.
28908 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.asciiAlpha)(code)) {
28909 effects.consume(code)
28910 return tagClose
28911 }
28912
28913 return nok(code)
28914 }
28915
28916 /**
28917 * After `</x`, in a tag name.
28918 *
28919 * ```markdown
28920 * > | a </b> c
28921 * ^
28922 * ```
28923 *
28924 * @type {State}
28925 */
28926 function tagClose(code) {
28927 // ASCII alphanumerical and `-`.
28928 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.dash || (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.asciiAlphanumeric)(code)) {
28929 effects.consume(code)
28930 return tagClose
28931 }
28932
28933 return tagCloseBetween(code)
28934 }
28935
28936 /**
28937 * In closing tag, after tag name.
28938 *
28939 * ```markdown
28940 * > | a </b> c
28941 * ^
28942 * ```
28943 *
28944 * @type {State}
28945 */
28946 function tagCloseBetween(code) {
28947 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.markdownLineEnding)(code)) {
28948 returnState = tagCloseBetween
28949 return lineEndingBefore(code)
28950 }
28951
28952 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.markdownSpace)(code)) {
28953 effects.consume(code)
28954 return tagCloseBetween
28955 }
28956
28957 return end(code)
28958 }
28959
28960 /**
28961 * After `<x`, in opening tag name.
28962 *
28963 * ```markdown
28964 * > | a <b> c
28965 * ^
28966 * ```
28967 *
28968 * @type {State}
28969 */
28970 function tagOpen(code) {
28971 // ASCII alphanumerical and `-`.
28972 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.dash || (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.asciiAlphanumeric)(code)) {
28973 effects.consume(code)
28974 return tagOpen
28975 }
28976
28977 if (
28978 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.slash ||
28979 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.greaterThan ||
28980 (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.markdownLineEndingOrSpace)(code)
28981 ) {
28982 return tagOpenBetween(code)
28983 }
28984
28985 return nok(code)
28986 }
28987
28988 /**
28989 * In opening tag, after tag name.
28990 *
28991 * ```markdown
28992 * > | a <b> c
28993 * ^
28994 * ```
28995 *
28996 * @type {State}
28997 */
28998 function tagOpenBetween(code) {
28999 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.slash) {
29000 effects.consume(code)
29001 return end
29002 }
29003
29004 // ASCII alphabetical and `:` and `_`.
29005 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)) {
29006 effects.consume(code)
29007 return tagOpenAttributeName
29008 }
29009
29010 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.markdownLineEnding)(code)) {
29011 returnState = tagOpenBetween
29012 return lineEndingBefore(code)
29013 }
29014
29015 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.markdownSpace)(code)) {
29016 effects.consume(code)
29017 return tagOpenBetween
29018 }
29019
29020 return end(code)
29021 }
29022
29023 /**
29024 * In attribute name.
29025 *
29026 * ```markdown
29027 * > | a <b c> d
29028 * ^
29029 * ```
29030 *
29031 * @type {State}
29032 */
29033 function tagOpenAttributeName(code) {
29034 // ASCII alphabetical and `-`, `.`, `:`, and `_`.
29035 if (
29036 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.dash ||
29037 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.dot ||
29038 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.colon ||
29039 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.underscore ||
29040 (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.asciiAlphanumeric)(code)
29041 ) {
29042 effects.consume(code)
29043 return tagOpenAttributeName
29044 }
29045
29046 return tagOpenAttributeNameAfter(code)
29047 }
29048
29049 /**
29050 * After attribute name, before initializer, the end of the tag, or
29051 * whitespace.
29052 *
29053 * ```markdown
29054 * > | a <b c> d
29055 * ^
29056 * ```
29057 *
29058 * @type {State}
29059 */
29060 function tagOpenAttributeNameAfter(code) {
29061 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.equalsTo) {
29062 effects.consume(code)
29063 return tagOpenAttributeValueBefore
29064 }
29065
29066 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.markdownLineEnding)(code)) {
29067 returnState = tagOpenAttributeNameAfter
29068 return lineEndingBefore(code)
29069 }
29070
29071 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.markdownSpace)(code)) {
29072 effects.consume(code)
29073 return tagOpenAttributeNameAfter
29074 }
29075
29076 return tagOpenBetween(code)
29077 }
29078
29079 /**
29080 * Before unquoted, double quoted, or single quoted attribute value, allowing
29081 * whitespace.
29082 *
29083 * ```markdown
29084 * > | a <b c=d> e
29085 * ^
29086 * ```
29087 *
29088 * @type {State}
29089 */
29090 function tagOpenAttributeValueBefore(code) {
29091 if (
29092 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.eof ||
29093 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.lessThan ||
29094 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.equalsTo ||
29095 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.greaterThan ||
29096 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.graveAccent
29097 ) {
29098 return nok(code)
29099 }
29100
29101 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) {
29102 effects.consume(code)
29103 marker = code
29104 return tagOpenAttributeValueQuoted
29105 }
29106
29107 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.markdownLineEnding)(code)) {
29108 returnState = tagOpenAttributeValueBefore
29109 return lineEndingBefore(code)
29110 }
29111
29112 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.markdownSpace)(code)) {
29113 effects.consume(code)
29114 return tagOpenAttributeValueBefore
29115 }
29116
29117 effects.consume(code)
29118 return tagOpenAttributeValueUnquoted
29119 }
29120
29121 /**
29122 * In double or single quoted attribute value.
29123 *
29124 * ```markdown
29125 * > | a <b c="d"> e
29126 * ^
29127 * ```
29128 *
29129 * @type {State}
29130 */
29131 function tagOpenAttributeValueQuoted(code) {
29132 if (code === marker) {
29133 effects.consume(code)
29134 marker = undefined
29135 return tagOpenAttributeValueQuotedAfter
29136 }
29137
29138 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.eof) {
29139 return nok(code)
29140 }
29141
29142 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.markdownLineEnding)(code)) {
29143 returnState = tagOpenAttributeValueQuoted
29144 return lineEndingBefore(code)
29145 }
29146
29147 effects.consume(code)
29148 return tagOpenAttributeValueQuoted
29149 }
29150
29151 /**
29152 * In unquoted attribute value.
29153 *
29154 * ```markdown
29155 * > | a <b c=d> e
29156 * ^
29157 * ```
29158 *
29159 * @type {State}
29160 */
29161 function tagOpenAttributeValueUnquoted(code) {
29162 if (
29163 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.eof ||
29164 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.quotationMark ||
29165 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.apostrophe ||
29166 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.lessThan ||
29167 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.equalsTo ||
29168 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.graveAccent
29169 ) {
29170 return nok(code)
29171 }
29172
29173 if (
29174 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.slash ||
29175 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.greaterThan ||
29176 (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.markdownLineEndingOrSpace)(code)
29177 ) {
29178 return tagOpenBetween(code)
29179 }
29180
29181 effects.consume(code)
29182 return tagOpenAttributeValueUnquoted
29183 }
29184
29185 /**
29186 * After double or single quoted attribute value, before whitespace or the end
29187 * of the tag.
29188 *
29189 * ```markdown
29190 * > | a <b c="d"> e
29191 * ^
29192 * ```
29193 *
29194 * @type {State}
29195 */
29196 function tagOpenAttributeValueQuotedAfter(code) {
29197 if (
29198 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.slash ||
29199 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.greaterThan ||
29200 (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.markdownLineEndingOrSpace)(code)
29201 ) {
29202 return tagOpenBetween(code)
29203 }
29204
29205 return nok(code)
29206 }
29207
29208 /**
29209 * In certain circumstances of a tag where only an `>` is allowed.
29210 *
29211 * ```markdown
29212 * > | a <b c="d"> e
29213 * ^
29214 * ```
29215 *
29216 * @type {State}
29217 */
29218 function end(code) {
29219 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.greaterThan) {
29220 effects.consume(code)
29221 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.htmlTextData)
29222 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.htmlText)
29223 return ok
29224 }
29225
29226 return nok(code)
29227 }
29228
29229 /**
29230 * At eol.
29231 *
29232 * > 👉 **Note**: we can’t have blank lines in text, so no need to worry about
29233 * > empty tokens.
29234 *
29235 * ```markdown
29236 * > | a <!--a
29237 * ^
29238 * | b-->
29239 * ```
29240 *
29241 * @type {State}
29242 */
29243 function lineEndingBefore(code) {
29244 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(returnState, 'expected return state')
29245 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.markdownLineEnding)(code), 'expected eol')
29246 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.htmlTextData)
29247 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.lineEnding)
29248 effects.consume(code)
29249 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.lineEnding)
29250 return lineEndingAfter
29251 }
29252
29253 /**
29254 * After eol, at optional whitespace.
29255 *
29256 * > 👉 **Note**: we can’t have blank lines in text, so no need to worry about
29257 * > empty tokens.
29258 *
29259 * ```markdown
29260 * | a <!--a
29261 * > | b-->
29262 * ^
29263 * ```
29264 *
29265 * @type {State}
29266 */
29267 function lineEndingAfter(code) {
29268 // Always populated by defaults.
29269 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(
29270 self.parser.constructs.disable.null,
29271 'expected `disable.null` to be populated'
29272 )
29273 return (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.markdownSpace)(code)
29274 ? (0,micromark_factory_space__WEBPACK_IMPORTED_MODULE_5__.factorySpace)(
29275 effects,
29276 lineEndingAfterPrefix,
29277 micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.linePrefix,
29278 self.parser.constructs.disable.null.includes('codeIndented')
29279 ? undefined
29280 : micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_4__.constants.tabSize
29281 )(code)
29282 : lineEndingAfterPrefix(code)
29283 }
29284
29285 /**
29286 * After eol, after optional whitespace.
29287 *
29288 * > 👉 **Note**: we can’t have blank lines in text, so no need to worry about
29289 * > empty tokens.
29290 *
29291 * ```markdown
29292 * | a <!--a
29293 * > | b-->
29294 * ^
29295 * ```
29296 *
29297 * @type {State}
29298 */
29299 function lineEndingAfterPrefix(code) {
29300 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.htmlTextData)
29301 return returnState(code)
29302 }
29303 }
29304
29305
29306 /***/ }),
29307
29308 /***/ "../node_modules/micromark-core-commonmark/dev/lib/label-end.js":
29309 /*!**********************************************************************!*\
29310 !*** ../node_modules/micromark-core-commonmark/dev/lib/label-end.js ***!
29311 \**********************************************************************/
29312 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
29313
29314 "use strict";
29315 __webpack_require__.r(__webpack_exports__);
29316 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
29317 /* harmony export */ labelEnd: () => (/* binding */ labelEnd)
29318 /* harmony export */ });
29319 /* harmony import */ var micromark_factory_destination__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! micromark-factory-destination */ "../node_modules/micromark-factory-destination/dev/index.js");
29320 /* harmony import */ var micromark_factory_label__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! micromark-factory-label */ "../node_modules/micromark-factory-label/dev/index.js");
29321 /* harmony import */ var micromark_factory_title__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! micromark-factory-title */ "../node_modules/micromark-factory-title/dev/index.js");
29322 /* harmony import */ var micromark_factory_whitespace__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! micromark-factory-whitespace */ "../node_modules/micromark-factory-whitespace/dev/index.js");
29323 /* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! micromark-util-character */ "../node_modules/micromark-util-character/dev/index.js");
29324 /* harmony import */ var micromark_util_chunked__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! micromark-util-chunked */ "../node_modules/micromark-util-chunked/dev/index.js");
29325 /* 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");
29326 /* 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");
29327 /* 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");
29328 /* 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");
29329 /* 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");
29330 /* harmony import */ var uvu_assert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uvu/assert */ "../node_modules/uvu/assert/index.mjs");
29331 /**
29332 * @typedef {import('micromark-util-types').Construct} Construct
29333 * @typedef {import('micromark-util-types').Event} Event
29334 * @typedef {import('micromark-util-types').Resolver} Resolver
29335 * @typedef {import('micromark-util-types').State} State
29336 * @typedef {import('micromark-util-types').Token} Token
29337 * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext
29338 * @typedef {import('micromark-util-types').Tokenizer} Tokenizer
29339 */
29340
29341
29342
29343
29344
29345
29346
29347
29348
29349
29350
29351
29352
29353
29354 /** @type {Construct} */
29355 const labelEnd = {
29356 name: 'labelEnd',
29357 tokenize: tokenizeLabelEnd,
29358 resolveTo: resolveToLabelEnd,
29359 resolveAll: resolveAllLabelEnd
29360 }
29361
29362 /** @type {Construct} */
29363 const resourceConstruct = {tokenize: tokenizeResource}
29364 /** @type {Construct} */
29365 const referenceFullConstruct = {tokenize: tokenizeReferenceFull}
29366 /** @type {Construct} */
29367 const referenceCollapsedConstruct = {tokenize: tokenizeReferenceCollapsed}
29368
29369 /** @type {Resolver} */
29370 function resolveAllLabelEnd(events) {
29371 let index = -1
29372
29373 while (++index < events.length) {
29374 const token = events[index][1]
29375
29376 if (
29377 token.type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.labelImage ||
29378 token.type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.labelLink ||
29379 token.type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.labelEnd
29380 ) {
29381 // Remove the marker.
29382 events.splice(index + 1, token.type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.labelImage ? 4 : 2)
29383 token.type = micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.data
29384 index++
29385 }
29386 }
29387
29388 return events
29389 }
29390
29391 /** @type {Resolver} */
29392 function resolveToLabelEnd(events, context) {
29393 let index = events.length
29394 let offset = 0
29395 /** @type {Token} */
29396 let token
29397 /** @type {number | undefined} */
29398 let open
29399 /** @type {number | undefined} */
29400 let close
29401 /** @type {Array<Event>} */
29402 let media
29403
29404 // Find an opening.
29405 while (index--) {
29406 token = events[index][1]
29407
29408 if (open) {
29409 // If we see another link, or inactive link label, we’ve been here before.
29410 if (
29411 token.type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.link ||
29412 (token.type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.labelLink && token._inactive)
29413 ) {
29414 break
29415 }
29416
29417 // Mark other link openings as inactive, as we can’t have links in
29418 // links.
29419 if (events[index][0] === 'enter' && token.type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.labelLink) {
29420 token._inactive = true
29421 }
29422 } else if (close) {
29423 if (
29424 events[index][0] === 'enter' &&
29425 (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) &&
29426 !token._balanced
29427 ) {
29428 open = index
29429
29430 if (token.type !== micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.labelLink) {
29431 offset = 2
29432 break
29433 }
29434 }
29435 } else if (token.type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.labelEnd) {
29436 close = index
29437 }
29438 }
29439
29440 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(open !== undefined, '`open` is supposed to be found')
29441 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(close !== undefined, '`close` is supposed to be found')
29442
29443 const group = {
29444 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,
29445 start: Object.assign({}, events[open][1].start),
29446 end: Object.assign({}, events[events.length - 1][1].end)
29447 }
29448
29449 const label = {
29450 type: micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.label,
29451 start: Object.assign({}, events[open][1].start),
29452 end: Object.assign({}, events[close][1].end)
29453 }
29454
29455 const text = {
29456 type: micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.labelText,
29457 start: Object.assign({}, events[open + offset + 2][1].end),
29458 end: Object.assign({}, events[close - 2][1].start)
29459 }
29460
29461 media = [
29462 ['enter', group, context],
29463 ['enter', label, context]
29464 ]
29465
29466 // Opening marker.
29467 media = (0,micromark_util_chunked__WEBPACK_IMPORTED_MODULE_2__.push)(media, events.slice(open + 1, open + offset + 3))
29468
29469 // Text open.
29470 media = (0,micromark_util_chunked__WEBPACK_IMPORTED_MODULE_2__.push)(media, [['enter', text, context]])
29471
29472 // Always populated by defaults.
29473 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(
29474 context.parser.constructs.insideSpan.null,
29475 'expected `insideSpan.null` to be populated'
29476 )
29477 // Between.
29478 media = (0,micromark_util_chunked__WEBPACK_IMPORTED_MODULE_2__.push)(
29479 media,
29480 (0,micromark_util_resolve_all__WEBPACK_IMPORTED_MODULE_3__.resolveAll)(
29481 context.parser.constructs.insideSpan.null,
29482 events.slice(open + offset + 4, close - 3),
29483 context
29484 )
29485 )
29486
29487 // Text close, marker close, label close.
29488 media = (0,micromark_util_chunked__WEBPACK_IMPORTED_MODULE_2__.push)(media, [
29489 ['exit', text, context],
29490 events[close - 2],
29491 events[close - 1],
29492 ['exit', label, context]
29493 ])
29494
29495 // Reference, resource, or so.
29496 media = (0,micromark_util_chunked__WEBPACK_IMPORTED_MODULE_2__.push)(media, events.slice(close + 1))
29497
29498 // Media close.
29499 media = (0,micromark_util_chunked__WEBPACK_IMPORTED_MODULE_2__.push)(media, [['exit', group, context]])
29500
29501 ;(0,micromark_util_chunked__WEBPACK_IMPORTED_MODULE_2__.splice)(events, open, events.length, media)
29502
29503 return events
29504 }
29505
29506 /**
29507 * @this {TokenizeContext}
29508 * @type {Tokenizer}
29509 */
29510 function tokenizeLabelEnd(effects, ok, nok) {
29511 const self = this
29512 let index = self.events.length
29513 /** @type {Token} */
29514 let labelStart
29515 /** @type {boolean} */
29516 let defined
29517
29518 // Find an opening.
29519 while (index--) {
29520 if (
29521 (self.events[index][1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.labelImage ||
29522 self.events[index][1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.labelLink) &&
29523 !self.events[index][1]._balanced
29524 ) {
29525 labelStart = self.events[index][1]
29526 break
29527 }
29528 }
29529
29530 return start
29531
29532 /**
29533 * Start of label end.
29534 *
29535 * ```markdown
29536 * > | [a](b) c
29537 * ^
29538 * > | [a][b] c
29539 * ^
29540 * > | [a][] b
29541 * ^
29542 * > | [a] b
29543 * ```
29544 *
29545 * @type {State}
29546 */
29547 function start(code) {
29548 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_4__.codes.rightSquareBracket, 'expected `]`')
29549
29550 // If there is not an okay opening.
29551 if (!labelStart) {
29552 return nok(code)
29553 }
29554
29555 // If the corresponding label (link) start is marked as inactive,
29556 // it means we’d be wrapping a link, like this:
29557 //
29558 // ```markdown
29559 // > | a [b [c](d) e](f) g.
29560 // ^
29561 // ```
29562 //
29563 // We can’t have that, so it’s just balanced brackets.
29564 if (labelStart._inactive) {
29565 return labelEndNok(code)
29566 }
29567
29568 defined = self.parser.defined.includes(
29569 (0,micromark_util_normalize_identifier__WEBPACK_IMPORTED_MODULE_5__.normalizeIdentifier)(
29570 self.sliceSerialize({start: labelStart.end, end: self.now()})
29571 )
29572 )
29573 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.labelEnd)
29574 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.labelMarker)
29575 effects.consume(code)
29576 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.labelMarker)
29577 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.labelEnd)
29578 return after
29579 }
29580
29581 /**
29582 * After `]`.
29583 *
29584 * ```markdown
29585 * > | [a](b) c
29586 * ^
29587 * > | [a][b] c
29588 * ^
29589 * > | [a][] b
29590 * ^
29591 * > | [a] b
29592 * ^
29593 * ```
29594 *
29595 * @type {State}
29596 */
29597 function after(code) {
29598 // Note: `markdown-rs` also parses GFM footnotes here, which for us is in
29599 // an extension.
29600
29601 // Resource (`[asd](fgh)`)?
29602 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_4__.codes.leftParenthesis) {
29603 return effects.attempt(
29604 resourceConstruct,
29605 labelEndOk,
29606 defined ? labelEndOk : labelEndNok
29607 )(code)
29608 }
29609
29610 // Full (`[asd][fgh]`) or collapsed (`[asd][]`) reference?
29611 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_4__.codes.leftSquareBracket) {
29612 return effects.attempt(
29613 referenceFullConstruct,
29614 labelEndOk,
29615 defined ? referenceNotFull : labelEndNok
29616 )(code)
29617 }
29618
29619 // Shortcut (`[asd]`) reference?
29620 return defined ? labelEndOk(code) : labelEndNok(code)
29621 }
29622
29623 /**
29624 * After `]`, at `[`, but not at a full reference.
29625 *
29626 * > 👉 **Note**: we only get here if the label is defined.
29627 *
29628 * ```markdown
29629 * > | [a][] b
29630 * ^
29631 * > | [a] b
29632 * ^
29633 * ```
29634 *
29635 * @type {State}
29636 */
29637 function referenceNotFull(code) {
29638 return effects.attempt(
29639 referenceCollapsedConstruct,
29640 labelEndOk,
29641 labelEndNok
29642 )(code)
29643 }
29644
29645 /**
29646 * Done, we found something.
29647 *
29648 * ```markdown
29649 * > | [a](b) c
29650 * ^
29651 * > | [a][b] c
29652 * ^
29653 * > | [a][] b
29654 * ^
29655 * > | [a] b
29656 * ^
29657 * ```
29658 *
29659 * @type {State}
29660 */
29661 function labelEndOk(code) {
29662 // Note: `markdown-rs` does a bunch of stuff here.
29663 return ok(code)
29664 }
29665
29666 /**
29667 * Done, it’s nothing.
29668 *
29669 * There was an okay opening, but we didn’t match anything.
29670 *
29671 * ```markdown
29672 * > | [a](b c
29673 * ^
29674 * > | [a][b c
29675 * ^
29676 * > | [a] b
29677 * ^
29678 * ```
29679 *
29680 * @type {State}
29681 */
29682 function labelEndNok(code) {
29683 labelStart._balanced = true
29684 return nok(code)
29685 }
29686 }
29687
29688 /**
29689 * @this {TokenizeContext}
29690 * @type {Tokenizer}
29691 */
29692 function tokenizeResource(effects, ok, nok) {
29693 return resourceStart
29694
29695 /**
29696 * At a resource.
29697 *
29698 * ```markdown
29699 * > | [a](b) c
29700 * ^
29701 * ```
29702 *
29703 * @type {State}
29704 */
29705 function resourceStart(code) {
29706 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_4__.codes.leftParenthesis, 'expected left paren')
29707 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.resource)
29708 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.resourceMarker)
29709 effects.consume(code)
29710 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.resourceMarker)
29711 return resourceBefore
29712 }
29713
29714 /**
29715 * In resource, after `(`, at optional whitespace.
29716 *
29717 * ```markdown
29718 * > | [a](b) c
29719 * ^
29720 * ```
29721 *
29722 * @type {State}
29723 */
29724 function resourceBefore(code) {
29725 return (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_6__.markdownLineEndingOrSpace)(code)
29726 ? (0,micromark_factory_whitespace__WEBPACK_IMPORTED_MODULE_7__.factoryWhitespace)(effects, resourceOpen)(code)
29727 : resourceOpen(code)
29728 }
29729
29730 /**
29731 * In resource, after optional whitespace, at `)` or a destination.
29732 *
29733 * ```markdown
29734 * > | [a](b) c
29735 * ^
29736 * ```
29737 *
29738 * @type {State}
29739 */
29740 function resourceOpen(code) {
29741 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_4__.codes.rightParenthesis) {
29742 return resourceEnd(code)
29743 }
29744
29745 return (0,micromark_factory_destination__WEBPACK_IMPORTED_MODULE_8__.factoryDestination)(
29746 effects,
29747 resourceDestinationAfter,
29748 resourceDestinationMissing,
29749 micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.resourceDestination,
29750 micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.resourceDestinationLiteral,
29751 micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.resourceDestinationLiteralMarker,
29752 micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.resourceDestinationRaw,
29753 micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.resourceDestinationString,
29754 micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_9__.constants.linkResourceDestinationBalanceMax
29755 )(code)
29756 }
29757
29758 /**
29759 * In resource, after destination, at optional whitespace.
29760 *
29761 * ```markdown
29762 * > | [a](b) c
29763 * ^
29764 * ```
29765 *
29766 * @type {State}
29767 */
29768 function resourceDestinationAfter(code) {
29769 return (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_6__.markdownLineEndingOrSpace)(code)
29770 ? (0,micromark_factory_whitespace__WEBPACK_IMPORTED_MODULE_7__.factoryWhitespace)(effects, resourceBetween)(code)
29771 : resourceEnd(code)
29772 }
29773
29774 /**
29775 * At invalid destination.
29776 *
29777 * ```markdown
29778 * > | [a](<<) b
29779 * ^
29780 * ```
29781 *
29782 * @type {State}
29783 */
29784 function resourceDestinationMissing(code) {
29785 return nok(code)
29786 }
29787
29788 /**
29789 * In resource, after destination and whitespace, at `(` or title.
29790 *
29791 * ```markdown
29792 * > | [a](b ) c
29793 * ^
29794 * ```
29795 *
29796 * @type {State}
29797 */
29798 function resourceBetween(code) {
29799 if (
29800 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_4__.codes.quotationMark ||
29801 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_4__.codes.apostrophe ||
29802 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_4__.codes.leftParenthesis
29803 ) {
29804 return (0,micromark_factory_title__WEBPACK_IMPORTED_MODULE_10__.factoryTitle)(
29805 effects,
29806 resourceTitleAfter,
29807 nok,
29808 micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.resourceTitle,
29809 micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.resourceTitleMarker,
29810 micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.resourceTitleString
29811 )(code)
29812 }
29813
29814 return resourceEnd(code)
29815 }
29816
29817 /**
29818 * In resource, after title, at optional whitespace.
29819 *
29820 * ```markdown
29821 * > | [a](b "c") d
29822 * ^
29823 * ```
29824 *
29825 * @type {State}
29826 */
29827 function resourceTitleAfter(code) {
29828 return (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_6__.markdownLineEndingOrSpace)(code)
29829 ? (0,micromark_factory_whitespace__WEBPACK_IMPORTED_MODULE_7__.factoryWhitespace)(effects, resourceEnd)(code)
29830 : resourceEnd(code)
29831 }
29832
29833 /**
29834 * In resource, at `)`.
29835 *
29836 * ```markdown
29837 * > | [a](b) d
29838 * ^
29839 * ```
29840 *
29841 * @type {State}
29842 */
29843 function resourceEnd(code) {
29844 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_4__.codes.rightParenthesis) {
29845 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.resourceMarker)
29846 effects.consume(code)
29847 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.resourceMarker)
29848 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.resource)
29849 return ok
29850 }
29851
29852 return nok(code)
29853 }
29854 }
29855
29856 /**
29857 * @this {TokenizeContext}
29858 * @type {Tokenizer}
29859 */
29860 function tokenizeReferenceFull(effects, ok, nok) {
29861 const self = this
29862
29863 return referenceFull
29864
29865 /**
29866 * In a reference (full), at the `[`.
29867 *
29868 * ```markdown
29869 * > | [a][b] d
29870 * ^
29871 * ```
29872 *
29873 * @type {State}
29874 */
29875 function referenceFull(code) {
29876 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_4__.codes.leftSquareBracket, 'expected left bracket')
29877 return micromark_factory_label__WEBPACK_IMPORTED_MODULE_11__.factoryLabel.call(
29878 self,
29879 effects,
29880 referenceFullAfter,
29881 referenceFullMissing,
29882 micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.reference,
29883 micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.referenceMarker,
29884 micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.referenceString
29885 )(code)
29886 }
29887
29888 /**
29889 * In a reference (full), after `]`.
29890 *
29891 * ```markdown
29892 * > | [a][b] d
29893 * ^
29894 * ```
29895 *
29896 * @type {State}
29897 */
29898 function referenceFullAfter(code) {
29899 return self.parser.defined.includes(
29900 (0,micromark_util_normalize_identifier__WEBPACK_IMPORTED_MODULE_5__.normalizeIdentifier)(
29901 self.sliceSerialize(self.events[self.events.length - 1][1]).slice(1, -1)
29902 )
29903 )
29904 ? ok(code)
29905 : nok(code)
29906 }
29907
29908 /**
29909 * In reference (full) that was missing.
29910 *
29911 * ```markdown
29912 * > | [a][b d
29913 * ^
29914 * ```
29915 *
29916 * @type {State}
29917 */
29918 function referenceFullMissing(code) {
29919 return nok(code)
29920 }
29921 }
29922
29923 /**
29924 * @this {TokenizeContext}
29925 * @type {Tokenizer}
29926 */
29927 function tokenizeReferenceCollapsed(effects, ok, nok) {
29928 return referenceCollapsedStart
29929
29930 /**
29931 * In reference (collapsed), at `[`.
29932 *
29933 * > 👉 **Note**: we only get here if the label is defined.
29934 *
29935 * ```markdown
29936 * > | [a][] d
29937 * ^
29938 * ```
29939 *
29940 * @type {State}
29941 */
29942 function referenceCollapsedStart(code) {
29943 // We only attempt a collapsed label if there’s a `[`.
29944 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_4__.codes.leftSquareBracket, 'expected left bracket')
29945 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.reference)
29946 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.referenceMarker)
29947 effects.consume(code)
29948 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.referenceMarker)
29949 return referenceCollapsedOpen
29950 }
29951
29952 /**
29953 * In reference (collapsed), at `]`.
29954 *
29955 * > 👉 **Note**: we only get here if the label is defined.
29956 *
29957 * ```markdown
29958 * > | [a][] d
29959 * ^
29960 * ```
29961 *
29962 * @type {State}
29963 */
29964 function referenceCollapsedOpen(code) {
29965 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_4__.codes.rightSquareBracket) {
29966 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.referenceMarker)
29967 effects.consume(code)
29968 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.referenceMarker)
29969 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.reference)
29970 return ok
29971 }
29972
29973 return nok(code)
29974 }
29975 }
29976
29977
29978 /***/ }),
29979
29980 /***/ "../node_modules/micromark-core-commonmark/dev/lib/label-start-image.js":
29981 /*!******************************************************************************!*\
29982 !*** ../node_modules/micromark-core-commonmark/dev/lib/label-start-image.js ***!
29983 \******************************************************************************/
29984 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
29985
29986 "use strict";
29987 __webpack_require__.r(__webpack_exports__);
29988 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
29989 /* harmony export */ labelStartImage: () => (/* binding */ labelStartImage)
29990 /* harmony export */ });
29991 /* 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");
29992 /* 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");
29993 /* harmony import */ var uvu_assert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uvu/assert */ "../node_modules/uvu/assert/index.mjs");
29994 /* 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");
29995 /**
29996 * @typedef {import('micromark-util-types').Construct} Construct
29997 * @typedef {import('micromark-util-types').State} State
29998 * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext
29999 * @typedef {import('micromark-util-types').Tokenizer} Tokenizer
30000 */
30001
30002
30003
30004
30005
30006
30007 /** @type {Construct} */
30008 const labelStartImage = {
30009 name: 'labelStartImage',
30010 tokenize: tokenizeLabelStartImage,
30011 resolveAll: _label_end_js__WEBPACK_IMPORTED_MODULE_1__.labelEnd.resolveAll
30012 }
30013
30014 /**
30015 * @this {TokenizeContext}
30016 * @type {Tokenizer}
30017 */
30018 function tokenizeLabelStartImage(effects, ok, nok) {
30019 const self = this
30020
30021 return start
30022
30023 /**
30024 * Start of label (image) start.
30025 *
30026 * ```markdown
30027 * > | a ![b] c
30028 * ^
30029 * ```
30030 *
30031 * @type {State}
30032 */
30033 function start(code) {
30034 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.exclamationMark, 'expected `!`')
30035 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_3__.types.labelImage)
30036 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_3__.types.labelImageMarker)
30037 effects.consume(code)
30038 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_3__.types.labelImageMarker)
30039 return open
30040 }
30041
30042 /**
30043 * After `!`, at `[`.
30044 *
30045 * ```markdown
30046 * > | a ![b] c
30047 * ^
30048 * ```
30049 *
30050 * @type {State}
30051 */
30052 function open(code) {
30053 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.leftSquareBracket) {
30054 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_3__.types.labelMarker)
30055 effects.consume(code)
30056 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_3__.types.labelMarker)
30057 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_3__.types.labelImage)
30058 return after
30059 }
30060
30061 return nok(code)
30062 }
30063
30064 /**
30065 * After `![`.
30066 *
30067 * ```markdown
30068 * > | a ![b] c
30069 * ^
30070 * ```
30071 *
30072 * This is needed in because, when GFM footnotes are enabled, images never
30073 * form when started with a `^`.
30074 * Instead, links form:
30075 *
30076 * ```markdown
30077 * ![^a](b)
30078 *
30079 * ![^a][b]
30080 *
30081 * [b]: c
30082 * ```
30083 *
30084 * ```html
30085 * <p>!<a href=\"b\">^a</a></p>
30086 * <p>!<a href=\"c\">^a</a></p>
30087 * ```
30088 *
30089 * @type {State}
30090 */
30091 function after(code) {
30092 // To do: use a new field to do this, this is still needed for
30093 // `micromark-extension-gfm-footnote`, but the `label-start-link`
30094 // behavior isn’t.
30095 // Hidden footnotes hook.
30096 /* c8 ignore next 3 */
30097 return code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.caret &&
30098 '_hiddenFootnoteSupport' in self.parser.constructs
30099 ? nok(code)
30100 : ok(code)
30101 }
30102 }
30103
30104
30105 /***/ }),
30106
30107 /***/ "../node_modules/micromark-core-commonmark/dev/lib/label-start-link.js":
30108 /*!*****************************************************************************!*\
30109 !*** ../node_modules/micromark-core-commonmark/dev/lib/label-start-link.js ***!
30110 \*****************************************************************************/
30111 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
30112
30113 "use strict";
30114 __webpack_require__.r(__webpack_exports__);
30115 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
30116 /* harmony export */ labelStartLink: () => (/* binding */ labelStartLink)
30117 /* harmony export */ });
30118 /* 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");
30119 /* 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");
30120 /* harmony import */ var uvu_assert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uvu/assert */ "../node_modules/uvu/assert/index.mjs");
30121 /* 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");
30122 /**
30123 * @typedef {import('micromark-util-types').Construct} Construct
30124 * @typedef {import('micromark-util-types').State} State
30125 * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext
30126 * @typedef {import('micromark-util-types').Tokenizer} Tokenizer
30127 */
30128
30129
30130
30131
30132
30133
30134 /** @type {Construct} */
30135 const labelStartLink = {
30136 name: 'labelStartLink',
30137 tokenize: tokenizeLabelStartLink,
30138 resolveAll: _label_end_js__WEBPACK_IMPORTED_MODULE_1__.labelEnd.resolveAll
30139 }
30140
30141 /**
30142 * @this {TokenizeContext}
30143 * @type {Tokenizer}
30144 */
30145 function tokenizeLabelStartLink(effects, ok, nok) {
30146 const self = this
30147
30148 return start
30149
30150 /**
30151 * Start of label (link) start.
30152 *
30153 * ```markdown
30154 * > | a [b] c
30155 * ^
30156 * ```
30157 *
30158 * @type {State}
30159 */
30160 function start(code) {
30161 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.leftSquareBracket, 'expected `[`')
30162 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_3__.types.labelLink)
30163 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_3__.types.labelMarker)
30164 effects.consume(code)
30165 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_3__.types.labelMarker)
30166 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_3__.types.labelLink)
30167 return after
30168 }
30169
30170 /** @type {State} */
30171 function after(code) {
30172 // To do: this isn’t needed in `micromark-extension-gfm-footnote`,
30173 // remove.
30174 // Hidden footnotes hook.
30175 /* c8 ignore next 3 */
30176 return code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.caret &&
30177 '_hiddenFootnoteSupport' in self.parser.constructs
30178 ? nok(code)
30179 : ok(code)
30180 }
30181 }
30182
30183
30184 /***/ }),
30185
30186 /***/ "../node_modules/micromark-core-commonmark/dev/lib/line-ending.js":
30187 /*!************************************************************************!*\
30188 !*** ../node_modules/micromark-core-commonmark/dev/lib/line-ending.js ***!
30189 \************************************************************************/
30190 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
30191
30192 "use strict";
30193 __webpack_require__.r(__webpack_exports__);
30194 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
30195 /* harmony export */ lineEnding: () => (/* binding */ lineEnding)
30196 /* harmony export */ });
30197 /* harmony import */ var micromark_factory_space__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! micromark-factory-space */ "../node_modules/micromark-factory-space/dev/index.js");
30198 /* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-util-character */ "../node_modules/micromark-util-character/dev/index.js");
30199 /* 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");
30200 /* harmony import */ var uvu_assert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uvu/assert */ "../node_modules/uvu/assert/index.mjs");
30201 /**
30202 * @typedef {import('micromark-util-types').Construct} Construct
30203 * @typedef {import('micromark-util-types').State} State
30204 * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext
30205 * @typedef {import('micromark-util-types').Tokenizer} Tokenizer
30206 */
30207
30208
30209
30210
30211
30212
30213 /** @type {Construct} */
30214 const lineEnding = {name: 'lineEnding', tokenize: tokenizeLineEnding}
30215
30216 /**
30217 * @this {TokenizeContext}
30218 * @type {Tokenizer}
30219 */
30220 function tokenizeLineEnding(effects, ok) {
30221 return start
30222
30223 /** @type {State} */
30224 function start(code) {
30225 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_1__.markdownLineEnding)(code), 'expected eol')
30226 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.lineEnding)
30227 effects.consume(code)
30228 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.lineEnding)
30229 return (0,micromark_factory_space__WEBPACK_IMPORTED_MODULE_3__.factorySpace)(effects, ok, micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.linePrefix)
30230 }
30231 }
30232
30233
30234 /***/ }),
30235
30236 /***/ "../node_modules/micromark-core-commonmark/dev/lib/list.js":
30237 /*!*****************************************************************!*\
30238 !*** ../node_modules/micromark-core-commonmark/dev/lib/list.js ***!
30239 \*****************************************************************/
30240 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
30241
30242 "use strict";
30243 __webpack_require__.r(__webpack_exports__);
30244 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
30245 /* harmony export */ list: () => (/* binding */ list)
30246 /* harmony export */ });
30247 /* harmony import */ var micromark_factory_space__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! micromark-factory-space */ "../node_modules/micromark-factory-space/dev/index.js");
30248 /* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! micromark-util-character */ "../node_modules/micromark-util-character/dev/index.js");
30249 /* 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");
30250 /* 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");
30251 /* 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");
30252 /* harmony import */ var uvu_assert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uvu/assert */ "../node_modules/uvu/assert/index.mjs");
30253 /* 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");
30254 /* 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");
30255 /**
30256 * @typedef {import('micromark-util-types').Code} Code
30257 * @typedef {import('micromark-util-types').Construct} Construct
30258 * @typedef {import('micromark-util-types').ContainerState} ContainerState
30259 * @typedef {import('micromark-util-types').Exiter} Exiter
30260 * @typedef {import('micromark-util-types').State} State
30261 * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext
30262 * @typedef {import('micromark-util-types').Tokenizer} Tokenizer
30263 */
30264
30265
30266
30267
30268
30269
30270
30271
30272
30273
30274 /** @type {Construct} */
30275 const list = {
30276 name: 'list',
30277 tokenize: tokenizeListStart,
30278 continuation: {tokenize: tokenizeListContinuation},
30279 exit: tokenizeListEnd
30280 }
30281
30282 /** @type {Construct} */
30283 const listItemPrefixWhitespaceConstruct = {
30284 tokenize: tokenizeListItemPrefixWhitespace,
30285 partial: true
30286 }
30287
30288 /** @type {Construct} */
30289 const indentConstruct = {tokenize: tokenizeIndent, partial: true}
30290
30291 // To do: `markdown-rs` parses list items on their own and later stitches them
30292 // together.
30293
30294 /**
30295 * @type {Tokenizer}
30296 * @this {TokenizeContext}
30297 */
30298 function tokenizeListStart(effects, ok, nok) {
30299 const self = this
30300 const tail = self.events[self.events.length - 1]
30301 let initialSize =
30302 tail && tail[1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.linePrefix
30303 ? tail[2].sliceSerialize(tail[1], true).length
30304 : 0
30305 let size = 0
30306
30307 return start
30308
30309 /** @type {State} */
30310 function start(code) {
30311 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(self.containerState, 'expected state')
30312 const kind =
30313 self.containerState.type ||
30314 (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
30315 ? micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.listUnordered
30316 : micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.listOrdered)
30317
30318 if (
30319 kind === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.listUnordered
30320 ? !self.containerState.marker || code === self.containerState.marker
30321 : (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.asciiDigit)(code)
30322 ) {
30323 if (!self.containerState.type) {
30324 self.containerState.type = kind
30325 effects.enter(kind, {_container: true})
30326 }
30327
30328 if (kind === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.listUnordered) {
30329 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.listItemPrefix)
30330 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
30331 ? effects.check(_thematic_break_js__WEBPACK_IMPORTED_MODULE_4__.thematicBreak, nok, atMarker)(code)
30332 : atMarker(code)
30333 }
30334
30335 if (!self.interrupt || code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.digit1) {
30336 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.listItemPrefix)
30337 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.listItemValue)
30338 return inside(code)
30339 }
30340 }
30341
30342 return nok(code)
30343 }
30344
30345 /** @type {State} */
30346 function inside(code) {
30347 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(self.containerState, 'expected state')
30348 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.asciiDigit)(code) && ++size < micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_5__.constants.listItemValueSizeMax) {
30349 effects.consume(code)
30350 return inside
30351 }
30352
30353 if (
30354 (!self.interrupt || size < 2) &&
30355 (self.containerState.marker
30356 ? code === self.containerState.marker
30357 : code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.rightParenthesis || code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.dot)
30358 ) {
30359 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.listItemValue)
30360 return atMarker(code)
30361 }
30362
30363 return nok(code)
30364 }
30365
30366 /**
30367 * @type {State}
30368 **/
30369 function atMarker(code) {
30370 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(self.containerState, 'expected state')
30371 ;(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')
30372 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.listItemMarker)
30373 effects.consume(code)
30374 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.listItemMarker)
30375 self.containerState.marker = self.containerState.marker || code
30376 return effects.check(
30377 _blank_line_js__WEBPACK_IMPORTED_MODULE_6__.blankLine,
30378 // Can’t be empty when interrupting.
30379 self.interrupt ? nok : onBlank,
30380 effects.attempt(
30381 listItemPrefixWhitespaceConstruct,
30382 endOfPrefix,
30383 otherPrefix
30384 )
30385 )
30386 }
30387
30388 /** @type {State} */
30389 function onBlank(code) {
30390 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(self.containerState, 'expected state')
30391 self.containerState.initialBlankLine = true
30392 initialSize++
30393 return endOfPrefix(code)
30394 }
30395
30396 /** @type {State} */
30397 function otherPrefix(code) {
30398 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.markdownSpace)(code)) {
30399 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.listItemPrefixWhitespace)
30400 effects.consume(code)
30401 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.listItemPrefixWhitespace)
30402 return endOfPrefix
30403 }
30404
30405 return nok(code)
30406 }
30407
30408 /** @type {State} */
30409 function endOfPrefix(code) {
30410 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(self.containerState, 'expected state')
30411 self.containerState.size =
30412 initialSize +
30413 self.sliceSerialize(effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.listItemPrefix), true).length
30414 return ok(code)
30415 }
30416 }
30417
30418 /**
30419 * @type {Tokenizer}
30420 * @this {TokenizeContext}
30421 */
30422 function tokenizeListContinuation(effects, ok, nok) {
30423 const self = this
30424
30425 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(self.containerState, 'expected state')
30426 self.containerState._closeFlow = undefined
30427
30428 return effects.check(_blank_line_js__WEBPACK_IMPORTED_MODULE_6__.blankLine, onBlank, notBlank)
30429
30430 /** @type {State} */
30431 function onBlank(code) {
30432 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(self.containerState, 'expected state')
30433 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(typeof self.containerState.size === 'number', 'expected size')
30434 self.containerState.furtherBlankLines =
30435 self.containerState.furtherBlankLines ||
30436 self.containerState.initialBlankLine
30437
30438 // We have a blank line.
30439 // Still, try to consume at most the items size.
30440 return (0,micromark_factory_space__WEBPACK_IMPORTED_MODULE_7__.factorySpace)(
30441 effects,
30442 ok,
30443 micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.listItemIndent,
30444 self.containerState.size + 1
30445 )(code)
30446 }
30447
30448 /** @type {State} */
30449 function notBlank(code) {
30450 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(self.containerState, 'expected state')
30451 if (self.containerState.furtherBlankLines || !(0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.markdownSpace)(code)) {
30452 self.containerState.furtherBlankLines = undefined
30453 self.containerState.initialBlankLine = undefined
30454 return notInCurrentItem(code)
30455 }
30456
30457 self.containerState.furtherBlankLines = undefined
30458 self.containerState.initialBlankLine = undefined
30459 return effects.attempt(indentConstruct, ok, notInCurrentItem)(code)
30460 }
30461
30462 /** @type {State} */
30463 function notInCurrentItem(code) {
30464 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(self.containerState, 'expected state')
30465 // While we do continue, we signal that the flow should be closed.
30466 self.containerState._closeFlow = true
30467 // As we’re closing flow, we’re no longer interrupting.
30468 self.interrupt = undefined
30469 // Always populated by defaults.
30470 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(
30471 self.parser.constructs.disable.null,
30472 'expected `disable.null` to be populated'
30473 )
30474 return (0,micromark_factory_space__WEBPACK_IMPORTED_MODULE_7__.factorySpace)(
30475 effects,
30476 effects.attempt(list, ok, nok),
30477 micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.linePrefix,
30478 self.parser.constructs.disable.null.includes('codeIndented')
30479 ? undefined
30480 : micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_5__.constants.tabSize
30481 )(code)
30482 }
30483 }
30484
30485 /**
30486 * @type {Tokenizer}
30487 * @this {TokenizeContext}
30488 */
30489 function tokenizeIndent(effects, ok, nok) {
30490 const self = this
30491
30492 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(self.containerState, 'expected state')
30493 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(typeof self.containerState.size === 'number', 'expected size')
30494
30495 return (0,micromark_factory_space__WEBPACK_IMPORTED_MODULE_7__.factorySpace)(
30496 effects,
30497 afterPrefix,
30498 micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.listItemIndent,
30499 self.containerState.size + 1
30500 )
30501
30502 /** @type {State} */
30503 function afterPrefix(code) {
30504 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(self.containerState, 'expected state')
30505 const tail = self.events[self.events.length - 1]
30506 return tail &&
30507 tail[1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.listItemIndent &&
30508 tail[2].sliceSerialize(tail[1], true).length === self.containerState.size
30509 ? ok(code)
30510 : nok(code)
30511 }
30512 }
30513
30514 /**
30515 * @type {Exiter}
30516 * @this {TokenizeContext}
30517 */
30518 function tokenizeListEnd(effects) {
30519 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(this.containerState, 'expected state')
30520 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(typeof this.containerState.type === 'string', 'expected type')
30521 effects.exit(this.containerState.type)
30522 }
30523
30524 /**
30525 * @type {Tokenizer}
30526 * @this {TokenizeContext}
30527 */
30528 function tokenizeListItemPrefixWhitespace(effects, ok, nok) {
30529 const self = this
30530
30531 // Always populated by defaults.
30532 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(
30533 self.parser.constructs.disable.null,
30534 'expected `disable.null` to be populated'
30535 )
30536
30537 return (0,micromark_factory_space__WEBPACK_IMPORTED_MODULE_7__.factorySpace)(
30538 effects,
30539 afterPrefix,
30540 micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.listItemPrefixWhitespace,
30541 self.parser.constructs.disable.null.includes('codeIndented')
30542 ? undefined
30543 : micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_5__.constants.tabSize + 1
30544 )
30545
30546 /** @type {State} */
30547 function afterPrefix(code) {
30548 const tail = self.events[self.events.length - 1]
30549
30550 return !(0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.markdownSpace)(code) &&
30551 tail &&
30552 tail[1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.listItemPrefixWhitespace
30553 ? ok(code)
30554 : nok(code)
30555 }
30556 }
30557
30558
30559 /***/ }),
30560
30561 /***/ "../node_modules/micromark-core-commonmark/dev/lib/setext-underline.js":
30562 /*!*****************************************************************************!*\
30563 !*** ../node_modules/micromark-core-commonmark/dev/lib/setext-underline.js ***!
30564 \*****************************************************************************/
30565 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
30566
30567 "use strict";
30568 __webpack_require__.r(__webpack_exports__);
30569 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
30570 /* harmony export */ setextUnderline: () => (/* binding */ setextUnderline)
30571 /* harmony export */ });
30572 /* harmony import */ var micromark_factory_space__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! micromark-factory-space */ "../node_modules/micromark-factory-space/dev/index.js");
30573 /* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! micromark-util-character */ "../node_modules/micromark-util-character/dev/index.js");
30574 /* 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");
30575 /* 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");
30576 /* harmony import */ var uvu_assert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uvu/assert */ "../node_modules/uvu/assert/index.mjs");
30577 /**
30578 * @typedef {import('micromark-util-types').Code} Code
30579 * @typedef {import('micromark-util-types').Construct} Construct
30580 * @typedef {import('micromark-util-types').Resolver} Resolver
30581 * @typedef {import('micromark-util-types').State} State
30582 * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext
30583 * @typedef {import('micromark-util-types').Tokenizer} Tokenizer
30584 */
30585
30586
30587
30588
30589
30590
30591
30592 /** @type {Construct} */
30593 const setextUnderline = {
30594 name: 'setextUnderline',
30595 tokenize: tokenizeSetextUnderline,
30596 resolveTo: resolveToSetextUnderline
30597 }
30598
30599 /** @type {Resolver} */
30600 function resolveToSetextUnderline(events, context) {
30601 // To do: resolve like `markdown-rs`.
30602 let index = events.length
30603 /** @type {number | undefined} */
30604 let content
30605 /** @type {number | undefined} */
30606 let text
30607 /** @type {number | undefined} */
30608 let definition
30609
30610 // Find the opening of the content.
30611 // It’ll always exist: we don’t tokenize if it isn’t there.
30612 while (index--) {
30613 if (events[index][0] === 'enter') {
30614 if (events[index][1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.content) {
30615 content = index
30616 break
30617 }
30618
30619 if (events[index][1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.paragraph) {
30620 text = index
30621 }
30622 }
30623 // Exit
30624 else {
30625 if (events[index][1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.content) {
30626 // Remove the content end (if needed we’ll add it later)
30627 events.splice(index, 1)
30628 }
30629
30630 if (!definition && events[index][1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.definition) {
30631 definition = index
30632 }
30633 }
30634 }
30635
30636 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(text !== undefined, 'expected a `text` index to be found')
30637 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(content !== undefined, 'expected a `text` index to be found')
30638
30639 const heading = {
30640 type: micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.setextHeading,
30641 start: Object.assign({}, events[text][1].start),
30642 end: Object.assign({}, events[events.length - 1][1].end)
30643 }
30644
30645 // Change the paragraph to setext heading text.
30646 events[text][1].type = micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.setextHeadingText
30647
30648 // If we have definitions in the content, we’ll keep on having content,
30649 // but we need move it.
30650 if (definition) {
30651 events.splice(text, 0, ['enter', heading, context])
30652 events.splice(definition + 1, 0, ['exit', events[content][1], context])
30653 events[content][1].end = Object.assign({}, events[definition][1].end)
30654 } else {
30655 events[content][1] = heading
30656 }
30657
30658 // Add the heading exit at the end.
30659 events.push(['exit', heading, context])
30660
30661 return events
30662 }
30663
30664 /**
30665 * @this {TokenizeContext}
30666 * @type {Tokenizer}
30667 */
30668 function tokenizeSetextUnderline(effects, ok, nok) {
30669 const self = this
30670 /** @type {NonNullable<Code>} */
30671 let marker
30672
30673 return start
30674
30675 /**
30676 * At start of heading (setext) underline.
30677 *
30678 * ```markdown
30679 * | aa
30680 * > | ==
30681 * ^
30682 * ```
30683 *
30684 * @type {State}
30685 */
30686 function start(code) {
30687 let index = self.events.length
30688 /** @type {boolean | undefined} */
30689 let paragraph
30690
30691 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(
30692 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.dash || code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.equalsTo,
30693 'expected `=` or `-`'
30694 )
30695
30696 // Find an opening.
30697 while (index--) {
30698 // Skip enter/exit of line ending, line prefix, and content.
30699 // We can now either have a definition or a paragraph.
30700 if (
30701 self.events[index][1].type !== micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.lineEnding &&
30702 self.events[index][1].type !== micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.linePrefix &&
30703 self.events[index][1].type !== micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.content
30704 ) {
30705 paragraph = self.events[index][1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.paragraph
30706 break
30707 }
30708 }
30709
30710 // To do: handle lazy/pierce like `markdown-rs`.
30711 // To do: parse indent like `markdown-rs`.
30712 if (!self.parser.lazy[self.now().line] && (self.interrupt || paragraph)) {
30713 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.setextHeadingLine)
30714 marker = code
30715 return before(code)
30716 }
30717
30718 return nok(code)
30719 }
30720
30721 /**
30722 * After optional whitespace, at `-` or `=`.
30723 *
30724 * ```markdown
30725 * | aa
30726 * > | ==
30727 * ^
30728 * ```
30729 *
30730 * @type {State}
30731 */
30732 function before(code) {
30733 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.setextHeadingLineSequence)
30734 return inside(code)
30735 }
30736
30737 /**
30738 * In sequence.
30739 *
30740 * ```markdown
30741 * | aa
30742 * > | ==
30743 * ^
30744 * ```
30745 *
30746 * @type {State}
30747 */
30748 function inside(code) {
30749 if (code === marker) {
30750 effects.consume(code)
30751 return inside
30752 }
30753
30754 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.setextHeadingLineSequence)
30755
30756 return (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.markdownSpace)(code)
30757 ? (0,micromark_factory_space__WEBPACK_IMPORTED_MODULE_4__.factorySpace)(effects, after, micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.lineSuffix)(code)
30758 : after(code)
30759 }
30760
30761 /**
30762 * After sequence, after optional whitespace.
30763 *
30764 * ```markdown
30765 * | aa
30766 * > | ==
30767 * ^
30768 * ```
30769 *
30770 * @type {State}
30771 */
30772 function after(code) {
30773 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.eof || (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.markdownLineEnding)(code)) {
30774 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.setextHeadingLine)
30775 return ok(code)
30776 }
30777
30778 return nok(code)
30779 }
30780 }
30781
30782
30783 /***/ }),
30784
30785 /***/ "../node_modules/micromark-core-commonmark/dev/lib/thematic-break.js":
30786 /*!***************************************************************************!*\
30787 !*** ../node_modules/micromark-core-commonmark/dev/lib/thematic-break.js ***!
30788 \***************************************************************************/
30789 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
30790
30791 "use strict";
30792 __webpack_require__.r(__webpack_exports__);
30793 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
30794 /* harmony export */ thematicBreak: () => (/* binding */ thematicBreak)
30795 /* harmony export */ });
30796 /* harmony import */ var micromark_factory_space__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! micromark-factory-space */ "../node_modules/micromark-factory-space/dev/index.js");
30797 /* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! micromark-util-character */ "../node_modules/micromark-util-character/dev/index.js");
30798 /* 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");
30799 /* 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");
30800 /* 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");
30801 /* harmony import */ var uvu_assert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uvu/assert */ "../node_modules/uvu/assert/index.mjs");
30802 /**
30803 * @typedef {import('micromark-util-types').Code} Code
30804 * @typedef {import('micromark-util-types').Construct} Construct
30805 * @typedef {import('micromark-util-types').State} State
30806 * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext
30807 * @typedef {import('micromark-util-types').Tokenizer} Tokenizer
30808 */
30809
30810
30811
30812
30813
30814
30815
30816
30817 /** @type {Construct} */
30818 const thematicBreak = {
30819 name: 'thematicBreak',
30820 tokenize: tokenizeThematicBreak
30821 }
30822
30823 /**
30824 * @this {TokenizeContext}
30825 * @type {Tokenizer}
30826 */
30827 function tokenizeThematicBreak(effects, ok, nok) {
30828 let size = 0
30829 /** @type {NonNullable<Code>} */
30830 let marker
30831
30832 return start
30833
30834 /**
30835 * Start of thematic break.
30836 *
30837 * ```markdown
30838 * > | ***
30839 * ^
30840 * ```
30841 *
30842 * @type {State}
30843 */
30844 function start(code) {
30845 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.thematicBreak)
30846 // To do: parse indent like `markdown-rs`.
30847 return before(code)
30848 }
30849
30850 /**
30851 * After optional whitespace, at marker.
30852 *
30853 * ```markdown
30854 * > | ***
30855 * ^
30856 * ```
30857 *
30858 * @type {State}
30859 */
30860 function before(code) {
30861 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(
30862 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.asterisk ||
30863 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.dash ||
30864 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.underscore,
30865 'expected `*`, `-`, or `_`'
30866 )
30867 marker = code
30868 return atBreak(code)
30869 }
30870
30871 /**
30872 * After something, before something else.
30873 *
30874 * ```markdown
30875 * > | ***
30876 * ^
30877 * ```
30878 *
30879 * @type {State}
30880 */
30881 function atBreak(code) {
30882 if (code === marker) {
30883 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.thematicBreakSequence)
30884 return sequence(code)
30885 }
30886
30887 if (
30888 size >= micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_3__.constants.thematicBreakMarkerCountMin &&
30889 (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.eof || (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.markdownLineEnding)(code))
30890 ) {
30891 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.thematicBreak)
30892 return ok(code)
30893 }
30894
30895 return nok(code)
30896 }
30897
30898 /**
30899 * In sequence.
30900 *
30901 * ```markdown
30902 * > | ***
30903 * ^
30904 * ```
30905 *
30906 * @type {State}
30907 */
30908 function sequence(code) {
30909 if (code === marker) {
30910 effects.consume(code)
30911 size++
30912 return sequence
30913 }
30914
30915 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.thematicBreakSequence)
30916 return (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_4__.markdownSpace)(code)
30917 ? (0,micromark_factory_space__WEBPACK_IMPORTED_MODULE_5__.factorySpace)(effects, atBreak, micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.whitespace)(code)
30918 : atBreak(code)
30919 }
30920 }
30921
30922
30923 /***/ }),
30924
30925 /***/ "../node_modules/micromark-factory-destination/dev/index.js":
30926 /*!******************************************************************!*\
30927 !*** ../node_modules/micromark-factory-destination/dev/index.js ***!
30928 \******************************************************************/
30929 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
30930
30931 "use strict";
30932 __webpack_require__.r(__webpack_exports__);
30933 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
30934 /* harmony export */ factoryDestination: () => (/* binding */ factoryDestination)
30935 /* harmony export */ });
30936 /* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-util-character */ "../node_modules/micromark-util-character/dev/index.js");
30937 /* 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");
30938 /* 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");
30939 /* 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");
30940 /**
30941 * @typedef {import('micromark-util-types').Effects} Effects
30942 * @typedef {import('micromark-util-types').State} State
30943 * @typedef {import('micromark-util-types').TokenType} TokenType
30944 */
30945
30946
30947
30948
30949
30950
30951 /**
30952 * Parse destinations.
30953 *
30954 * ###### Examples
30955 *
30956 * ```markdown
30957 * <a>
30958 * <a\>b>
30959 * <a b>
30960 * <a)>
30961 * a
30962 * a\)b
30963 * a(b)c
30964 * a(b)
30965 * ```
30966 *
30967 * @param {Effects} effects
30968 * Context.
30969 * @param {State} ok
30970 * State switched to when successful.
30971 * @param {State} nok
30972 * State switched to when unsuccessful.
30973 * @param {TokenType} type
30974 * Type for whole (`<a>` or `b`).
30975 * @param {TokenType} literalType
30976 * Type when enclosed (`<a>`).
30977 * @param {TokenType} literalMarkerType
30978 * Type for enclosing (`<` and `>`).
30979 * @param {TokenType} rawType
30980 * Type when not enclosed (`b`).
30981 * @param {TokenType} stringType
30982 * Type for the value (`a` or `b`).
30983 * @param {number | undefined} [max=Infinity]
30984 * Depth of nested parens (inclusive).
30985 * @returns {State}
30986 * Start state.
30987 */
30988 // eslint-disable-next-line max-params
30989 function factoryDestination(
30990 effects,
30991 ok,
30992 nok,
30993 type,
30994 literalType,
30995 literalMarkerType,
30996 rawType,
30997 stringType,
30998 max
30999 ) {
31000 const limit = max || Number.POSITIVE_INFINITY
31001 let balance = 0
31002
31003 return start
31004
31005 /**
31006 * Start of destination.
31007 *
31008 * ```markdown
31009 * > | <aa>
31010 * ^
31011 * > | aa
31012 * ^
31013 * ```
31014 *
31015 * @type {State}
31016 */
31017 function start(code) {
31018 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.lessThan) {
31019 effects.enter(type)
31020 effects.enter(literalType)
31021 effects.enter(literalMarkerType)
31022 effects.consume(code)
31023 effects.exit(literalMarkerType)
31024 return enclosedBefore
31025 }
31026
31027 // ASCII control, space, closing paren.
31028 if (
31029 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.eof ||
31030 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.space ||
31031 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.rightParenthesis ||
31032 (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_1__.asciiControl)(code)
31033 ) {
31034 return nok(code)
31035 }
31036
31037 effects.enter(type)
31038 effects.enter(rawType)
31039 effects.enter(stringType)
31040 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})
31041 return raw(code)
31042 }
31043
31044 /**
31045 * After `<`, at an enclosed destination.
31046 *
31047 * ```markdown
31048 * > | <aa>
31049 * ^
31050 * ```
31051 *
31052 * @type {State}
31053 */
31054 function enclosedBefore(code) {
31055 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.greaterThan) {
31056 effects.enter(literalMarkerType)
31057 effects.consume(code)
31058 effects.exit(literalMarkerType)
31059 effects.exit(literalType)
31060 effects.exit(type)
31061 return ok
31062 }
31063
31064 effects.enter(stringType)
31065 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})
31066 return enclosed(code)
31067 }
31068
31069 /**
31070 * In enclosed destination.
31071 *
31072 * ```markdown
31073 * > | <aa>
31074 * ^
31075 * ```
31076 *
31077 * @type {State}
31078 */
31079 function enclosed(code) {
31080 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.greaterThan) {
31081 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.chunkString)
31082 effects.exit(stringType)
31083 return enclosedBefore(code)
31084 }
31085
31086 if (
31087 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.eof ||
31088 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.lessThan ||
31089 (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_1__.markdownLineEnding)(code)
31090 ) {
31091 return nok(code)
31092 }
31093
31094 effects.consume(code)
31095 return code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.backslash ? enclosedEscape : enclosed
31096 }
31097
31098 /**
31099 * After `\`, at a special character.
31100 *
31101 * ```markdown
31102 * > | <a\*a>
31103 * ^
31104 * ```
31105 *
31106 * @type {State}
31107 */
31108 function enclosedEscape(code) {
31109 if (
31110 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.lessThan ||
31111 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.greaterThan ||
31112 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.backslash
31113 ) {
31114 effects.consume(code)
31115 return enclosed
31116 }
31117
31118 return enclosed(code)
31119 }
31120
31121 /**
31122 * In raw destination.
31123 *
31124 * ```markdown
31125 * > | aa
31126 * ^
31127 * ```
31128 *
31129 * @type {State}
31130 */
31131 function raw(code) {
31132 if (
31133 !balance &&
31134 (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.eof ||
31135 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.rightParenthesis ||
31136 (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_1__.markdownLineEndingOrSpace)(code))
31137 ) {
31138 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.chunkString)
31139 effects.exit(stringType)
31140 effects.exit(rawType)
31141 effects.exit(type)
31142 return ok(code)
31143 }
31144
31145 if (balance < limit && code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.leftParenthesis) {
31146 effects.consume(code)
31147 balance++
31148 return raw
31149 }
31150
31151 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.rightParenthesis) {
31152 effects.consume(code)
31153 balance--
31154 return raw
31155 }
31156
31157 // ASCII control (but *not* `\0`) and space and `(`.
31158 // Note: in `markdown-rs`, `\0` exists in codes, in `micromark-js` it
31159 // doesn’t.
31160 if (
31161 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.eof ||
31162 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.space ||
31163 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.leftParenthesis ||
31164 (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_1__.asciiControl)(code)
31165 ) {
31166 return nok(code)
31167 }
31168
31169 effects.consume(code)
31170 return code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.backslash ? rawEscape : raw
31171 }
31172
31173 /**
31174 * After `\`, at special character.
31175 *
31176 * ```markdown
31177 * > | a\*a
31178 * ^
31179 * ```
31180 *
31181 * @type {State}
31182 */
31183 function rawEscape(code) {
31184 if (
31185 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.leftParenthesis ||
31186 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.rightParenthesis ||
31187 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.backslash
31188 ) {
31189 effects.consume(code)
31190 return raw
31191 }
31192
31193 return raw(code)
31194 }
31195 }
31196
31197
31198 /***/ }),
31199
31200 /***/ "../node_modules/micromark-factory-label/dev/index.js":
31201 /*!************************************************************!*\
31202 !*** ../node_modules/micromark-factory-label/dev/index.js ***!
31203 \************************************************************/
31204 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
31205
31206 "use strict";
31207 __webpack_require__.r(__webpack_exports__);
31208 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
31209 /* harmony export */ factoryLabel: () => (/* binding */ factoryLabel)
31210 /* harmony export */ });
31211 /* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! micromark-util-character */ "../node_modules/micromark-util-character/dev/index.js");
31212 /* 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");
31213 /* 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");
31214 /* 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");
31215 /* harmony import */ var uvu_assert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uvu/assert */ "../node_modules/uvu/assert/index.mjs");
31216 /**
31217 * @typedef {import('micromark-util-types').Effects} Effects
31218 * @typedef {import('micromark-util-types').State} State
31219 * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext
31220 * @typedef {import('micromark-util-types').TokenType} TokenType
31221 */
31222
31223
31224
31225
31226
31227
31228
31229 /**
31230 * Parse labels.
31231 *
31232 * > 👉 **Note**: labels in markdown are capped at 999 characters in the string.
31233 *
31234 * ###### Examples
31235 *
31236 * ```markdown
31237 * [a]
31238 * [a
31239 * b]
31240 * [a\]b]
31241 * ```
31242 *
31243 * @this {TokenizeContext}
31244 * Tokenize context.
31245 * @param {Effects} effects
31246 * Context.
31247 * @param {State} ok
31248 * State switched to when successful.
31249 * @param {State} nok
31250 * State switched to when unsuccessful.
31251 * @param {TokenType} type
31252 * Type of the whole label (`[a]`).
31253 * @param {TokenType} markerType
31254 * Type for the markers (`[` and `]`).
31255 * @param {TokenType} stringType
31256 * Type for the identifier (`a`).
31257 * @returns {State}
31258 * Start state.
31259 */
31260 // eslint-disable-next-line max-params
31261 function factoryLabel(effects, ok, nok, type, markerType, stringType) {
31262 const self = this
31263 let size = 0
31264 /** @type {boolean} */
31265 let seen
31266
31267 return start
31268
31269 /**
31270 * Start of label.
31271 *
31272 * ```markdown
31273 * > | [a]
31274 * ^
31275 * ```
31276 *
31277 * @type {State}
31278 */
31279 function start(code) {
31280 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.leftSquareBracket, 'expected `[`')
31281 effects.enter(type)
31282 effects.enter(markerType)
31283 effects.consume(code)
31284 effects.exit(markerType)
31285 effects.enter(stringType)
31286 return atBreak
31287 }
31288
31289 /**
31290 * In label, at something, before something else.
31291 *
31292 * ```markdown
31293 * > | [a]
31294 * ^
31295 * ```
31296 *
31297 * @type {State}
31298 */
31299 function atBreak(code) {
31300 if (
31301 size > micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_2__.constants.linkReferenceSizeMax ||
31302 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.eof ||
31303 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.leftSquareBracket ||
31304 (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.rightSquareBracket && !seen) ||
31305 // To do: remove in the future once we’ve switched from
31306 // `micromark-extension-footnote` to `micromark-extension-gfm-footnote`,
31307 // which doesn’t need this.
31308 // Hidden footnotes hook.
31309 /* c8 ignore next 3 */
31310 (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.caret &&
31311 !size &&
31312 '_hiddenFootnoteSupport' in self.parser.constructs)
31313 ) {
31314 return nok(code)
31315 }
31316
31317 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.rightSquareBracket) {
31318 effects.exit(stringType)
31319 effects.enter(markerType)
31320 effects.consume(code)
31321 effects.exit(markerType)
31322 effects.exit(type)
31323 return ok
31324 }
31325
31326 // To do: indent? Link chunks and EOLs together?
31327 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.markdownLineEnding)(code)) {
31328 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.lineEnding)
31329 effects.consume(code)
31330 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.lineEnding)
31331 return atBreak
31332 }
31333
31334 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})
31335 return labelInside(code)
31336 }
31337
31338 /**
31339 * In label, in text.
31340 *
31341 * ```markdown
31342 * > | [a]
31343 * ^
31344 * ```
31345 *
31346 * @type {State}
31347 */
31348 function labelInside(code) {
31349 if (
31350 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.eof ||
31351 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.leftSquareBracket ||
31352 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.rightSquareBracket ||
31353 (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.markdownLineEnding)(code) ||
31354 size++ > micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_2__.constants.linkReferenceSizeMax
31355 ) {
31356 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.chunkString)
31357 return atBreak(code)
31358 }
31359
31360 effects.consume(code)
31361 if (!seen) seen = !(0,micromark_util_character__WEBPACK_IMPORTED_MODULE_3__.markdownSpace)(code)
31362 return code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.backslash ? labelEscape : labelInside
31363 }
31364
31365 /**
31366 * After `\`, at a special character.
31367 *
31368 * ```markdown
31369 * > | [a\*a]
31370 * ^
31371 * ```
31372 *
31373 * @type {State}
31374 */
31375 function labelEscape(code) {
31376 if (
31377 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.leftSquareBracket ||
31378 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.backslash ||
31379 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.rightSquareBracket
31380 ) {
31381 effects.consume(code)
31382 size++
31383 return labelInside
31384 }
31385
31386 return labelInside(code)
31387 }
31388 }
31389
31390
31391 /***/ }),
31392
31393 /***/ "../node_modules/micromark-factory-space/dev/index.js":
31394 /*!************************************************************!*\
31395 !*** ../node_modules/micromark-factory-space/dev/index.js ***!
31396 \************************************************************/
31397 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
31398
31399 "use strict";
31400 __webpack_require__.r(__webpack_exports__);
31401 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
31402 /* harmony export */ factorySpace: () => (/* binding */ factorySpace)
31403 /* harmony export */ });
31404 /* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-util-character */ "../node_modules/micromark-util-character/dev/index.js");
31405 /**
31406 * @typedef {import('micromark-util-types').Effects} Effects
31407 * @typedef {import('micromark-util-types').State} State
31408 * @typedef {import('micromark-util-types').TokenType} TokenType
31409 */
31410
31411
31412
31413 // To do: implement `spaceOrTab`, `spaceOrTabMinMax`, `spaceOrTabWithOptions`.
31414
31415 /**
31416 * Parse spaces and tabs.
31417 *
31418 * There is no `nok` parameter:
31419 *
31420 * * spaces in markdown are often optional, in which case this factory can be
31421 * used and `ok` will be switched to whether spaces were found or not
31422 * * one line ending or space can be detected with `markdownSpace(code)` right
31423 * before using `factorySpace`
31424 *
31425 * ###### Examples
31426 *
31427 * Where `␉` represents a tab (plus how much it expands) and `␠` represents a
31428 * single space.
31429 *
31430 * ```markdown
31431 * ␉
31432 * ␠␠␠␠
31433 * ␉␠
31434 * ```
31435 *
31436 * @param {Effects} effects
31437 * Context.
31438 * @param {State} ok
31439 * State switched to when successful.
31440 * @param {TokenType} type
31441 * Type (`' \t'`).
31442 * @param {number | undefined} [max=Infinity]
31443 * Max (exclusive).
31444 * @returns
31445 * Start state.
31446 */
31447 function factorySpace(effects, ok, type, max) {
31448 const limit = max ? max - 1 : Number.POSITIVE_INFINITY
31449 let size = 0
31450
31451 return start
31452
31453 /** @type {State} */
31454 function start(code) {
31455 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_0__.markdownSpace)(code)) {
31456 effects.enter(type)
31457 return prefix(code)
31458 }
31459
31460 return ok(code)
31461 }
31462
31463 /** @type {State} */
31464 function prefix(code) {
31465 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_0__.markdownSpace)(code) && size++ < limit) {
31466 effects.consume(code)
31467 return prefix
31468 }
31469
31470 effects.exit(type)
31471 return ok(code)
31472 }
31473 }
31474
31475
31476 /***/ }),
31477
31478 /***/ "../node_modules/micromark-factory-title/dev/index.js":
31479 /*!************************************************************!*\
31480 !*** ../node_modules/micromark-factory-title/dev/index.js ***!
31481 \************************************************************/
31482 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
31483
31484 "use strict";
31485 __webpack_require__.r(__webpack_exports__);
31486 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
31487 /* harmony export */ factoryTitle: () => (/* binding */ factoryTitle)
31488 /* harmony export */ });
31489 /* harmony import */ var micromark_factory_space__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! micromark-factory-space */ "../node_modules/micromark-factory-space/dev/index.js");
31490 /* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-util-character */ "../node_modules/micromark-util-character/dev/index.js");
31491 /* 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");
31492 /* 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");
31493 /* 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");
31494 /**
31495 * @typedef {import('micromark-util-types').Code} Code
31496 * @typedef {import('micromark-util-types').Effects} Effects
31497 * @typedef {import('micromark-util-types').State} State
31498 * @typedef {import('micromark-util-types').TokenType} TokenType
31499 */
31500
31501
31502
31503
31504
31505
31506
31507 /**
31508 * Parse titles.
31509 *
31510 * ###### Examples
31511 *
31512 * ```markdown
31513 * "a"
31514 * 'b'
31515 * (c)
31516 * "a
31517 * b"
31518 * 'a
31519 * b'
31520 * (a\)b)
31521 * ```
31522 *
31523 * @param {Effects} effects
31524 * Context.
31525 * @param {State} ok
31526 * State switched to when successful.
31527 * @param {State} nok
31528 * State switched to when unsuccessful.
31529 * @param {TokenType} type
31530 * Type of the whole title (`"a"`, `'b'`, `(c)`).
31531 * @param {TokenType} markerType
31532 * Type for the markers (`"`, `'`, `(`, and `)`).
31533 * @param {TokenType} stringType
31534 * Type for the value (`a`).
31535 * @returns {State}
31536 * Start state.
31537 */
31538 // eslint-disable-next-line max-params
31539 function factoryTitle(effects, ok, nok, type, markerType, stringType) {
31540 /** @type {NonNullable<Code>} */
31541 let marker
31542
31543 return start
31544
31545 /**
31546 * Start of title.
31547 *
31548 * ```markdown
31549 * > | "a"
31550 * ^
31551 * ```
31552 *
31553 * @type {State}
31554 */
31555 function start(code) {
31556 if (
31557 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.quotationMark ||
31558 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.apostrophe ||
31559 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.leftParenthesis
31560 ) {
31561 effects.enter(type)
31562 effects.enter(markerType)
31563 effects.consume(code)
31564 effects.exit(markerType)
31565 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
31566 return begin
31567 }
31568
31569 return nok(code)
31570 }
31571
31572 /**
31573 * After opening marker.
31574 *
31575 * This is also used at the closing marker.
31576 *
31577 * ```markdown
31578 * > | "a"
31579 * ^
31580 * ```
31581 *
31582 * @type {State}
31583 */
31584 function begin(code) {
31585 if (code === marker) {
31586 effects.enter(markerType)
31587 effects.consume(code)
31588 effects.exit(markerType)
31589 effects.exit(type)
31590 return ok
31591 }
31592
31593 effects.enter(stringType)
31594 return atBreak(code)
31595 }
31596
31597 /**
31598 * At something, before something else.
31599 *
31600 * ```markdown
31601 * > | "a"
31602 * ^
31603 * ```
31604 *
31605 * @type {State}
31606 */
31607 function atBreak(code) {
31608 if (code === marker) {
31609 effects.exit(stringType)
31610 return begin(marker)
31611 }
31612
31613 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.eof) {
31614 return nok(code)
31615 }
31616
31617 // Note: blank lines can’t exist in content.
31618 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_1__.markdownLineEnding)(code)) {
31619 // To do: use `space_or_tab_eol_with_options`, connect.
31620 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.lineEnding)
31621 effects.consume(code)
31622 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.lineEnding)
31623 return (0,micromark_factory_space__WEBPACK_IMPORTED_MODULE_3__.factorySpace)(effects, atBreak, micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.linePrefix)
31624 }
31625
31626 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})
31627 return inside(code)
31628 }
31629
31630 /**
31631 *
31632 *
31633 * @type {State}
31634 */
31635 function inside(code) {
31636 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)) {
31637 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.chunkString)
31638 return atBreak(code)
31639 }
31640
31641 effects.consume(code)
31642 return code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.backslash ? escape : inside
31643 }
31644
31645 /**
31646 * After `\`, at a special character.
31647 *
31648 * ```markdown
31649 * > | "a\*b"
31650 * ^
31651 * ```
31652 *
31653 * @type {State}
31654 */
31655 function escape(code) {
31656 if (code === marker || code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.backslash) {
31657 effects.consume(code)
31658 return inside
31659 }
31660
31661 return inside(code)
31662 }
31663 }
31664
31665
31666 /***/ }),
31667
31668 /***/ "../node_modules/micromark-factory-whitespace/dev/index.js":
31669 /*!*****************************************************************!*\
31670 !*** ../node_modules/micromark-factory-whitespace/dev/index.js ***!
31671 \*****************************************************************/
31672 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
31673
31674 "use strict";
31675 __webpack_require__.r(__webpack_exports__);
31676 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
31677 /* harmony export */ factoryWhitespace: () => (/* binding */ factoryWhitespace)
31678 /* harmony export */ });
31679 /* harmony import */ var micromark_factory_space__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! micromark-factory-space */ "../node_modules/micromark-factory-space/dev/index.js");
31680 /* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-util-character */ "../node_modules/micromark-util-character/dev/index.js");
31681 /* 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");
31682 /**
31683 * @typedef {import('micromark-util-types').Effects} Effects
31684 * @typedef {import('micromark-util-types').State} State
31685 */
31686
31687
31688
31689
31690
31691 /**
31692 * Parse spaces and tabs.
31693 *
31694 * There is no `nok` parameter:
31695 *
31696 * * line endings or spaces in markdown are often optional, in which case this
31697 * factory can be used and `ok` will be switched to whether spaces were found
31698 * or not
31699 * * one line ending or space can be detected with
31700 * `markdownLineEndingOrSpace(code)` right before using `factoryWhitespace`
31701 *
31702 * @param {Effects} effects
31703 * Context.
31704 * @param {State} ok
31705 * State switched to when successful.
31706 * @returns
31707 * Start state.
31708 */
31709 function factoryWhitespace(effects, ok) {
31710 /** @type {boolean} */
31711 let seen
31712
31713 return start
31714
31715 /** @type {State} */
31716 function start(code) {
31717 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_0__.markdownLineEnding)(code)) {
31718 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.lineEnding)
31719 effects.consume(code)
31720 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.lineEnding)
31721 seen = true
31722 return start
31723 }
31724
31725 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_0__.markdownSpace)(code)) {
31726 return (0,micromark_factory_space__WEBPACK_IMPORTED_MODULE_2__.factorySpace)(
31727 effects,
31728 start,
31729 seen ? micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.linePrefix : micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.lineSuffix
31730 )(code)
31731 }
31732
31733 return ok(code)
31734 }
31735 }
31736
31737
31738 /***/ }),
31739
31740 /***/ "../node_modules/micromark-util-character/dev/index.js":
31741 /*!*************************************************************!*\
31742 !*** ../node_modules/micromark-util-character/dev/index.js ***!
31743 \*************************************************************/
31744 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
31745
31746 "use strict";
31747 __webpack_require__.r(__webpack_exports__);
31748 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
31749 /* harmony export */ asciiAlpha: () => (/* binding */ asciiAlpha),
31750 /* harmony export */ asciiAlphanumeric: () => (/* binding */ asciiAlphanumeric),
31751 /* harmony export */ asciiAtext: () => (/* binding */ asciiAtext),
31752 /* harmony export */ asciiControl: () => (/* binding */ asciiControl),
31753 /* harmony export */ asciiDigit: () => (/* binding */ asciiDigit),
31754 /* harmony export */ asciiHexDigit: () => (/* binding */ asciiHexDigit),
31755 /* harmony export */ asciiPunctuation: () => (/* binding */ asciiPunctuation),
31756 /* harmony export */ markdownLineEnding: () => (/* binding */ markdownLineEnding),
31757 /* harmony export */ markdownLineEndingOrSpace: () => (/* binding */ markdownLineEndingOrSpace),
31758 /* harmony export */ markdownSpace: () => (/* binding */ markdownSpace),
31759 /* harmony export */ unicodePunctuation: () => (/* binding */ unicodePunctuation),
31760 /* harmony export */ unicodeWhitespace: () => (/* binding */ unicodeWhitespace)
31761 /* harmony export */ });
31762 /* 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");
31763 /* 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");
31764 /**
31765 * @typedef {import('micromark-util-types').Code} Code
31766 */
31767
31768
31769
31770
31771 /**
31772 * Check whether the character code represents an ASCII alpha (`a` through `z`,
31773 * case insensitive).
31774 *
31775 * An **ASCII alpha** is an ASCII upper alpha or ASCII lower alpha.
31776 *
31777 * An **ASCII upper alpha** is a character in the inclusive range U+0041 (`A`)
31778 * to U+005A (`Z`).
31779 *
31780 * An **ASCII lower alpha** is a character in the inclusive range U+0061 (`a`)
31781 * to U+007A (`z`).
31782 *
31783 * @param code
31784 * Code.
31785 * @returns
31786 * Whether it matches.
31787 */
31788 const asciiAlpha = regexCheck(/[A-Za-z]/)
31789
31790 /**
31791 * Check whether the character code represents an ASCII alphanumeric (`a`
31792 * through `z`, case insensitive, or `0` through `9`).
31793 *
31794 * An **ASCII alphanumeric** is an ASCII digit (see `asciiDigit`) or ASCII alpha
31795 * (see `asciiAlpha`).
31796 *
31797 * @param code
31798 * Code.
31799 * @returns
31800 * Whether it matches.
31801 */
31802 const asciiAlphanumeric = regexCheck(/[\dA-Za-z]/)
31803
31804 /**
31805 * Check whether the character code represents an ASCII atext.
31806 *
31807 * atext is an ASCII alphanumeric (see `asciiAlphanumeric`), or a character in
31808 * the inclusive ranges U+0023 NUMBER SIGN (`#`) to U+0027 APOSTROPHE (`'`),
31809 * U+002A ASTERISK (`*`), U+002B PLUS SIGN (`+`), U+002D DASH (`-`), U+002F
31810 * SLASH (`/`), U+003D EQUALS TO (`=`), U+003F QUESTION MARK (`?`), U+005E
31811 * CARET (`^`) to U+0060 GRAVE ACCENT (`` ` ``), or U+007B LEFT CURLY BRACE
31812 * (`{`) to U+007E TILDE (`~`).
31813 *
31814 * See:
31815 * **\[RFC5322]**:
31816 * [Internet Message Format](https://tools.ietf.org/html/rfc5322).
31817 * P. Resnick.
31818 * IETF.
31819 *
31820 * @param code
31821 * Code.
31822 * @returns
31823 * Whether it matches.
31824 */
31825 const asciiAtext = regexCheck(/[#-'*+\--9=?A-Z^-~]/)
31826
31827 /**
31828 * Check whether a character code is an ASCII control character.
31829 *
31830 * An **ASCII control** is a character in the inclusive range U+0000 NULL (NUL)
31831 * to U+001F (US), or U+007F (DEL).
31832 *
31833 * @param {Code} code
31834 * Code.
31835 * @returns {boolean}
31836 * Whether it matches.
31837 */
31838 function asciiControl(code) {
31839 return (
31840 // Special whitespace codes (which have negative values), C0 and Control
31841 // character DEL
31842 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)
31843 )
31844 }
31845
31846 /**
31847 * Check whether the character code represents an ASCII digit (`0` through `9`).
31848 *
31849 * An **ASCII digit** is a character in the inclusive range U+0030 (`0`) to
31850 * U+0039 (`9`).
31851 *
31852 * @param code
31853 * Code.
31854 * @returns
31855 * Whether it matches.
31856 */
31857 const asciiDigit = regexCheck(/\d/)
31858
31859 /**
31860 * Check whether the character code represents an ASCII hex digit (`a` through
31861 * `f`, case insensitive, or `0` through `9`).
31862 *
31863 * An **ASCII hex digit** is an ASCII digit (see `asciiDigit`), ASCII upper hex
31864 * digit, or an ASCII lower hex digit.
31865 *
31866 * An **ASCII upper hex digit** is a character in the inclusive range U+0041
31867 * (`A`) to U+0046 (`F`).
31868 *
31869 * An **ASCII lower hex digit** is a character in the inclusive range U+0061
31870 * (`a`) to U+0066 (`f`).
31871 *
31872 * @param code
31873 * Code.
31874 * @returns
31875 * Whether it matches.
31876 */
31877 const asciiHexDigit = regexCheck(/[\dA-Fa-f]/)
31878
31879 /**
31880 * Check whether the character code represents ASCII punctuation.
31881 *
31882 * An **ASCII punctuation** is a character in the inclusive ranges U+0021
31883 * EXCLAMATION MARK (`!`) to U+002F SLASH (`/`), U+003A COLON (`:`) to U+0040 AT
31884 * SIGN (`@`), U+005B LEFT SQUARE BRACKET (`[`) to U+0060 GRAVE ACCENT
31885 * (`` ` ``), or U+007B LEFT CURLY BRACE (`{`) to U+007E TILDE (`~`).
31886 *
31887 * @param code
31888 * Code.
31889 * @returns
31890 * Whether it matches.
31891 */
31892 const asciiPunctuation = regexCheck(/[!-/:-@[-`{-~]/)
31893
31894 /**
31895 * Check whether a character code is a markdown line ending.
31896 *
31897 * A **markdown line ending** is the virtual characters M-0003 CARRIAGE RETURN
31898 * LINE FEED (CRLF), M-0004 LINE FEED (LF) and M-0005 CARRIAGE RETURN (CR).
31899 *
31900 * In micromark, the actual character U+000A LINE FEED (LF) and U+000D CARRIAGE
31901 * RETURN (CR) are replaced by these virtual characters depending on whether
31902 * they occurred together.
31903 *
31904 * @param {Code} code
31905 * Code.
31906 * @returns {boolean}
31907 * Whether it matches.
31908 */
31909 function markdownLineEnding(code) {
31910 return code !== null && code < micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.horizontalTab
31911 }
31912
31913 /**
31914 * Check whether a character code is a markdown line ending (see
31915 * `markdownLineEnding`) or markdown space (see `markdownSpace`).
31916 *
31917 * @param {Code} code
31918 * Code.
31919 * @returns {boolean}
31920 * Whether it matches.
31921 */
31922 function markdownLineEndingOrSpace(code) {
31923 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)
31924 }
31925
31926 /**
31927 * Check whether a character code is a markdown space.
31928 *
31929 * A **markdown space** is the concrete character U+0020 SPACE (SP) and the
31930 * virtual characters M-0001 VIRTUAL SPACE (VS) and M-0002 HORIZONTAL TAB (HT).
31931 *
31932 * In micromark, the actual character U+0009 CHARACTER TABULATION (HT) is
31933 * replaced by one M-0002 HORIZONTAL TAB (HT) and between 0 and 3 M-0001 VIRTUAL
31934 * SPACE (VS) characters, depending on the column at which the tab occurred.
31935 *
31936 * @param {Code} code
31937 * Code.
31938 * @returns {boolean}
31939 * Whether it matches.
31940 */
31941 function markdownSpace(code) {
31942 return (
31943 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.horizontalTab ||
31944 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.virtualSpace ||
31945 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.space
31946 )
31947 }
31948
31949 // Size note: removing ASCII from the regex and using `asciiPunctuation` here
31950 // In fact adds to the bundle size.
31951 /**
31952 * Check whether the character code represents Unicode punctuation.
31953 *
31954 * A **Unicode punctuation** is a character in the Unicode `Pc` (Punctuation,
31955 * Connector), `Pd` (Punctuation, Dash), `Pe` (Punctuation, Close), `Pf`
31956 * (Punctuation, Final quote), `Pi` (Punctuation, Initial quote), `Po`
31957 * (Punctuation, Other), or `Ps` (Punctuation, Open) categories, or an ASCII
31958 * punctuation (see `asciiPunctuation`).
31959 *
31960 * See:
31961 * **\[UNICODE]**:
31962 * [The Unicode Standard](https://www.unicode.org/versions/).
31963 * Unicode Consortium.
31964 *
31965 * @param code
31966 * Code.
31967 * @returns
31968 * Whether it matches.
31969 */
31970 const unicodePunctuation = regexCheck(_lib_unicode_punctuation_regex_js__WEBPACK_IMPORTED_MODULE_1__.unicodePunctuationRegex)
31971
31972 /**
31973 * Check whether the character code represents Unicode whitespace.
31974 *
31975 * Note that this does handle micromark specific markdown whitespace characters.
31976 * See `markdownLineEndingOrSpace` to check that.
31977 *
31978 * A **Unicode whitespace** is a character in the Unicode `Zs` (Separator,
31979 * Space) category, or U+0009 CHARACTER TABULATION (HT), U+000A LINE FEED (LF),
31980 * U+000C (FF), or U+000D CARRIAGE RETURN (CR) (**\[UNICODE]**).
31981 *
31982 * See:
31983 * **\[UNICODE]**:
31984 * [The Unicode Standard](https://www.unicode.org/versions/).
31985 * Unicode Consortium.
31986 *
31987 * @param code
31988 * Code.
31989 * @returns
31990 * Whether it matches.
31991 */
31992 const unicodeWhitespace = regexCheck(/\s/)
31993
31994 /**
31995 * Create a code check from a regex.
31996 *
31997 * @param {RegExp} regex
31998 * @returns {(code: Code) => boolean}
31999 */
32000 function regexCheck(regex) {
32001 return check
32002
32003 /**
32004 * Check whether a code matches the bound regex.
32005 *
32006 * @param {Code} code
32007 * Character code.
32008 * @returns {boolean}
32009 * Whether the character code matches the bound regex.
32010 */
32011 function check(code) {
32012 return code !== null && regex.test(String.fromCharCode(code))
32013 }
32014 }
32015
32016
32017 /***/ }),
32018
32019 /***/ "../node_modules/micromark-util-character/dev/lib/unicode-punctuation-regex.js":
32020 /*!*************************************************************************************!*\
32021 !*** ../node_modules/micromark-util-character/dev/lib/unicode-punctuation-regex.js ***!
32022 \*************************************************************************************/
32023 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
32024
32025 "use strict";
32026 __webpack_require__.r(__webpack_exports__);
32027 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
32028 /* harmony export */ unicodePunctuationRegex: () => (/* binding */ unicodePunctuationRegex)
32029 /* harmony export */ });
32030 // This module is generated by `script/`.
32031 //
32032 // CommonMark handles attention (emphasis, strong) markers based on what comes
32033 // before or after them.
32034 // One such difference is if those characters are Unicode punctuation.
32035 // This script is generated from the Unicode data.
32036
32037 /**
32038 * Regular expression that matches a unicode punctuation character.
32039 */
32040 const unicodePunctuationRegex =
32041 /[!-/:-@[-`{-~\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]/
32042
32043
32044 /***/ }),
32045
32046 /***/ "../node_modules/micromark-util-chunked/dev/index.js":
32047 /*!***********************************************************!*\
32048 !*** ../node_modules/micromark-util-chunked/dev/index.js ***!
32049 \***********************************************************/
32050 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
32051
32052 "use strict";
32053 __webpack_require__.r(__webpack_exports__);
32054 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
32055 /* harmony export */ push: () => (/* binding */ push),
32056 /* harmony export */ splice: () => (/* binding */ splice)
32057 /* harmony export */ });
32058 /* 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");
32059
32060
32061 /**
32062 * Like `Array#splice`, but smarter for giant arrays.
32063 *
32064 * `Array#splice` takes all items to be inserted as individual argument which
32065 * causes a stack overflow in V8 when trying to insert 100k items for instance.
32066 *
32067 * Otherwise, this does not return the removed items, and takes `items` as an
32068 * array instead of rest parameters.
32069 *
32070 * @template {unknown} T
32071 * Item type.
32072 * @param {Array<T>} list
32073 * List to operate on.
32074 * @param {number} start
32075 * Index to remove/insert at (can be negative).
32076 * @param {number} remove
32077 * Number of items to remove.
32078 * @param {Array<T>} items
32079 * Items to inject into `list`.
32080 * @returns {void}
32081 * Nothing.
32082 */
32083 function splice(list, start, remove, items) {
32084 const end = list.length
32085 let chunkStart = 0
32086 /** @type {Array<unknown>} */
32087 let parameters
32088
32089 // Make start between zero and `end` (included).
32090 if (start < 0) {
32091 start = -start > end ? 0 : end + start
32092 } else {
32093 start = start > end ? end : start
32094 }
32095
32096 remove = remove > 0 ? remove : 0
32097
32098 // No need to chunk the items if there’s only a couple (10k) items.
32099 if (items.length < micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_0__.constants.v8MaxSafeChunkSize) {
32100 parameters = Array.from(items)
32101 parameters.unshift(start, remove)
32102 // @ts-expect-error Hush, it’s fine.
32103 list.splice(...parameters)
32104 } else {
32105 // Delete `remove` items starting from `start`
32106 if (remove) list.splice(start, remove)
32107
32108 // Insert the items in chunks to not cause stack overflows.
32109 while (chunkStart < items.length) {
32110 parameters = items.slice(
32111 chunkStart,
32112 chunkStart + micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_0__.constants.v8MaxSafeChunkSize
32113 )
32114 parameters.unshift(start, 0)
32115 // @ts-expect-error Hush, it’s fine.
32116 list.splice(...parameters)
32117
32118 chunkStart += micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_0__.constants.v8MaxSafeChunkSize
32119 start += micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_0__.constants.v8MaxSafeChunkSize
32120 }
32121 }
32122 }
32123
32124 /**
32125 * Append `items` (an array) at the end of `list` (another array).
32126 * When `list` was empty, returns `items` instead.
32127 *
32128 * This prevents a potentially expensive operation when `list` is empty,
32129 * and adds items in batches to prevent V8 from hanging.
32130 *
32131 * @template {unknown} T
32132 * Item type.
32133 * @param {Array<T>} list
32134 * List to operate on.
32135 * @param {Array<T>} items
32136 * Items to add to `list`.
32137 * @returns {Array<T>}
32138 * Either `list` or `items`.
32139 */
32140 function push(list, items) {
32141 if (list.length > 0) {
32142 splice(list, list.length, 0, items)
32143 return list
32144 }
32145
32146 return items
32147 }
32148
32149
32150 /***/ }),
32151
32152 /***/ "../node_modules/micromark-util-classify-character/dev/index.js":
32153 /*!**********************************************************************!*\
32154 !*** ../node_modules/micromark-util-classify-character/dev/index.js ***!
32155 \**********************************************************************/
32156 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
32157
32158 "use strict";
32159 __webpack_require__.r(__webpack_exports__);
32160 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
32161 /* harmony export */ classifyCharacter: () => (/* binding */ classifyCharacter)
32162 /* harmony export */ });
32163 /* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-util-character */ "../node_modules/micromark-util-character/dev/index.js");
32164 /* 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");
32165 /* 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");
32166 /**
32167 * @typedef {import('micromark-util-types').Code} Code
32168 */
32169
32170
32171
32172
32173
32174 /**
32175 * Classify whether a code represents whitespace, punctuation, or something
32176 * else.
32177 *
32178 * Used for attention (emphasis, strong), whose sequences can open or close
32179 * based on the class of surrounding characters.
32180 *
32181 * > 👉 **Note**: eof (`null`) is seen as whitespace.
32182 *
32183 * @param {Code} code
32184 * Code.
32185 * @returns {typeof constants.characterGroupWhitespace | typeof constants.characterGroupPunctuation | undefined}
32186 * Group.
32187 */
32188 function classifyCharacter(code) {
32189 if (
32190 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.eof ||
32191 (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_1__.markdownLineEndingOrSpace)(code) ||
32192 (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_1__.unicodeWhitespace)(code)
32193 ) {
32194 return micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_2__.constants.characterGroupWhitespace
32195 }
32196
32197 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_1__.unicodePunctuation)(code)) {
32198 return micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_2__.constants.characterGroupPunctuation
32199 }
32200 }
32201
32202
32203 /***/ }),
32204
32205 /***/ "../node_modules/micromark-util-combine-extensions/index.js":
32206 /*!******************************************************************!*\
32207 !*** ../node_modules/micromark-util-combine-extensions/index.js ***!
32208 \******************************************************************/
32209 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
32210
32211 "use strict";
32212 __webpack_require__.r(__webpack_exports__);
32213 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
32214 /* harmony export */ combineExtensions: () => (/* binding */ combineExtensions),
32215 /* harmony export */ combineHtmlExtensions: () => (/* binding */ combineHtmlExtensions)
32216 /* harmony export */ });
32217 /* harmony import */ var micromark_util_chunked__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-util-chunked */ "../node_modules/micromark-util-chunked/dev/index.js");
32218 /**
32219 * @typedef {import('micromark-util-types').Extension} Extension
32220 * @typedef {import('micromark-util-types').Handles} Handles
32221 * @typedef {import('micromark-util-types').HtmlExtension} HtmlExtension
32222 * @typedef {import('micromark-util-types').NormalizedExtension} NormalizedExtension
32223 */
32224
32225
32226
32227 const hasOwnProperty = {}.hasOwnProperty
32228
32229 /**
32230 * Combine multiple syntax extensions into one.
32231 *
32232 * @param {Array<Extension>} extensions
32233 * List of syntax extensions.
32234 * @returns {NormalizedExtension}
32235 * A single combined extension.
32236 */
32237 function combineExtensions(extensions) {
32238 /** @type {NormalizedExtension} */
32239 const all = {}
32240 let index = -1
32241
32242 while (++index < extensions.length) {
32243 syntaxExtension(all, extensions[index])
32244 }
32245
32246 return all
32247 }
32248
32249 /**
32250 * Merge `extension` into `all`.
32251 *
32252 * @param {NormalizedExtension} all
32253 * Extension to merge into.
32254 * @param {Extension} extension
32255 * Extension to merge.
32256 * @returns {void}
32257 */
32258 function syntaxExtension(all, extension) {
32259 /** @type {keyof Extension} */
32260 let hook
32261
32262 for (hook in extension) {
32263 const maybe = hasOwnProperty.call(all, hook) ? all[hook] : undefined
32264 /** @type {Record<string, unknown>} */
32265 const left = maybe || (all[hook] = {})
32266 /** @type {Record<string, unknown> | undefined} */
32267 const right = extension[hook]
32268 /** @type {string} */
32269 let code
32270
32271 if (right) {
32272 for (code in right) {
32273 if (!hasOwnProperty.call(left, code)) left[code] = []
32274 const value = right[code]
32275 constructs(
32276 // @ts-expect-error Looks like a list.
32277 left[code],
32278 Array.isArray(value) ? value : value ? [value] : []
32279 )
32280 }
32281 }
32282 }
32283 }
32284
32285 /**
32286 * Merge `list` into `existing` (both lists of constructs).
32287 * Mutates `existing`.
32288 *
32289 * @param {Array<unknown>} existing
32290 * @param {Array<unknown>} list
32291 * @returns {void}
32292 */
32293 function constructs(existing, list) {
32294 let index = -1
32295 /** @type {Array<unknown>} */
32296 const before = []
32297
32298 while (++index < list.length) {
32299 // @ts-expect-error Looks like an object.
32300 ;(list[index].add === 'after' ? existing : before).push(list[index])
32301 }
32302
32303 (0,micromark_util_chunked__WEBPACK_IMPORTED_MODULE_0__.splice)(existing, 0, 0, before)
32304 }
32305
32306 /**
32307 * Combine multiple HTML extensions into one.
32308 *
32309 * @param {Array<HtmlExtension>} htmlExtensions
32310 * List of HTML extensions.
32311 * @returns {HtmlExtension}
32312 * A single combined HTML extension.
32313 */
32314 function combineHtmlExtensions(htmlExtensions) {
32315 /** @type {HtmlExtension} */
32316 const handlers = {}
32317 let index = -1
32318
32319 while (++index < htmlExtensions.length) {
32320 htmlExtension(handlers, htmlExtensions[index])
32321 }
32322
32323 return handlers
32324 }
32325
32326 /**
32327 * Merge `extension` into `all`.
32328 *
32329 * @param {HtmlExtension} all
32330 * Extension to merge into.
32331 * @param {HtmlExtension} extension
32332 * Extension to merge.
32333 * @returns {void}
32334 */
32335 function htmlExtension(all, extension) {
32336 /** @type {keyof HtmlExtension} */
32337 let hook
32338
32339 for (hook in extension) {
32340 const maybe = hasOwnProperty.call(all, hook) ? all[hook] : undefined
32341 const left = maybe || (all[hook] = {})
32342 const right = extension[hook]
32343 /** @type {keyof Handles} */
32344 let type
32345
32346 if (right) {
32347 for (type in right) {
32348 // @ts-expect-error assume document vs regular handler are managed correctly.
32349 left[type] = right[type]
32350 }
32351 }
32352 }
32353 }
32354
32355
32356 /***/ }),
32357
32358 /***/ "../node_modules/micromark-util-decode-numeric-character-reference/dev/index.js":
32359 /*!**************************************************************************************!*\
32360 !*** ../node_modules/micromark-util-decode-numeric-character-reference/dev/index.js ***!
32361 \**************************************************************************************/
32362 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
32363
32364 "use strict";
32365 __webpack_require__.r(__webpack_exports__);
32366 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
32367 /* harmony export */ decodeNumericCharacterReference: () => (/* binding */ decodeNumericCharacterReference)
32368 /* harmony export */ });
32369 /* 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");
32370 /* 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");
32371
32372
32373
32374 /**
32375 * Turn the number (in string form as either hexa- or plain decimal) coming from
32376 * a numeric character reference into a character.
32377 *
32378 * Sort of like `String.fromCharCode(Number.parseInt(value, base))`, but makes
32379 * non-characters and control characters safe.
32380 *
32381 * @param {string} value
32382 * Value to decode.
32383 * @param {number} base
32384 * Numeric base.
32385 * @returns {string}
32386 * Character.
32387 */
32388 function decodeNumericCharacterReference(value, base) {
32389 const code = Number.parseInt(value, base)
32390
32391 if (
32392 // C0 except for HT, LF, FF, CR, space.
32393 code < micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.ht ||
32394 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.vt ||
32395 (code > micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.cr && code < micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.space) ||
32396 // Control character (DEL) of C0, and C1 controls.
32397 (code > micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.tilde && code < 160) ||
32398 // Lone high surrogates and low surrogates.
32399 (code > 55295 && code < 57344) ||
32400 // Noncharacters.
32401 (code > 64975 && code < 65008) ||
32402 /* eslint-disable no-bitwise */
32403 (code & 65535) === 65535 ||
32404 (code & 65535) === 65534 ||
32405 /* eslint-enable no-bitwise */
32406 // Out of range
32407 code > 1114111
32408 ) {
32409 return micromark_util_symbol_values_js__WEBPACK_IMPORTED_MODULE_1__.values.replacementCharacter
32410 }
32411
32412 return String.fromCharCode(code)
32413 }
32414
32415
32416 /***/ }),
32417
32418 /***/ "../node_modules/micromark-util-decode-string/dev/index.js":
32419 /*!*****************************************************************!*\
32420 !*** ../node_modules/micromark-util-decode-string/dev/index.js ***!
32421 \*****************************************************************/
32422 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
32423
32424 "use strict";
32425 __webpack_require__.r(__webpack_exports__);
32426 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
32427 /* harmony export */ decodeString: () => (/* binding */ decodeString)
32428 /* harmony export */ });
32429 /* 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");
32430 /* 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");
32431 /* 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");
32432 /* 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");
32433
32434
32435
32436
32437
32438 const characterEscapeOrReference =
32439 /\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi
32440
32441 /**
32442 * Decode markdown strings (which occur in places such as fenced code info
32443 * strings, destinations, labels, and titles).
32444 *
32445 * The “string” content type allows character escapes and -references.
32446 * This decodes those.
32447 *
32448 * @param {string} value
32449 * Value to decode.
32450 * @returns {string}
32451 * Decoded value.
32452 */
32453 function decodeString(value) {
32454 return value.replace(characterEscapeOrReference, decode)
32455 }
32456
32457 /**
32458 * @param {string} $0
32459 * @param {string} $1
32460 * @param {string} $2
32461 * @returns {string}
32462 */
32463 function decode($0, $1, $2) {
32464 if ($1) {
32465 // Escape.
32466 return $1
32467 }
32468
32469 // Reference.
32470 const head = $2.charCodeAt(0)
32471
32472 if (head === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.numberSign) {
32473 const head = $2.charCodeAt(1)
32474 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
32475 return (0,micromark_util_decode_numeric_character_reference__WEBPACK_IMPORTED_MODULE_1__.decodeNumericCharacterReference)(
32476 $2.slice(hex ? 2 : 1),
32477 hex ? micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_2__.constants.numericBaseHexadecimal : micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_2__.constants.numericBaseDecimal
32478 )
32479 }
32480
32481 return (0,decode_named_character_reference__WEBPACK_IMPORTED_MODULE_3__.decodeNamedCharacterReference)($2) || $0
32482 }
32483
32484
32485 /***/ }),
32486
32487 /***/ "../node_modules/micromark-util-encode/index.js":
32488 /*!******************************************************!*\
32489 !*** ../node_modules/micromark-util-encode/index.js ***!
32490 \******************************************************/
32491 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
32492
32493 "use strict";
32494 __webpack_require__.r(__webpack_exports__);
32495 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
32496 /* harmony export */ encode: () => (/* binding */ encode)
32497 /* harmony export */ });
32498 const characterReferences = {'"': 'quot', '&': 'amp', '<': 'lt', '>': 'gt'}
32499
32500 /**
32501 * Encode only the dangerous HTML characters.
32502 *
32503 * This ensures that certain characters which have special meaning in HTML are
32504 * dealt with.
32505 * Technically, we can skip `>` and `"` in many cases, but CM includes them.
32506 *
32507 * @param {string} value
32508 * Value to encode.
32509 * @returns {string}
32510 * Encoded value.
32511 */
32512 function encode(value) {
32513 return value.replace(/["&<>]/g, replace)
32514
32515 /**
32516 * @param {string} value
32517 * @returns {string}
32518 */
32519 function replace(value) {
32520 // @ts-expect-error Hush, it’s fine.
32521 return '&' + characterReferences[value] + ';'
32522 }
32523 }
32524
32525
32526 /***/ }),
32527
32528 /***/ "../node_modules/micromark-util-html-tag-name/index.js":
32529 /*!*************************************************************!*\
32530 !*** ../node_modules/micromark-util-html-tag-name/index.js ***!
32531 \*************************************************************/
32532 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
32533
32534 "use strict";
32535 __webpack_require__.r(__webpack_exports__);
32536 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
32537 /* harmony export */ htmlBlockNames: () => (/* binding */ htmlBlockNames),
32538 /* harmony export */ htmlRawNames: () => (/* binding */ htmlRawNames)
32539 /* harmony export */ });
32540 /**
32541 * List of lowercase HTML “block” tag names.
32542 *
32543 * The list, when parsing HTML (flow), results in more relaxed rules (condition
32544 * 6).
32545 * Because they are known blocks, the HTML-like syntax doesn’t have to be
32546 * strictly parsed.
32547 * For tag names not in this list, a more strict algorithm (condition 7) is used
32548 * to detect whether the HTML-like syntax is seen as HTML (flow) or not.
32549 *
32550 * This is copied from:
32551 * <https://spec.commonmark.org/0.30/#html-blocks>.
32552 *
32553 * > 👉 **Note**: `search` was added in `[email protected]`.
32554 */
32555 const htmlBlockNames = [
32556 'address',
32557 'article',
32558 'aside',
32559 'base',
32560 'basefont',
32561 'blockquote',
32562 'body',
32563 'caption',
32564 'center',
32565 'col',
32566 'colgroup',
32567 'dd',
32568 'details',
32569 'dialog',
32570 'dir',
32571 'div',
32572 'dl',
32573 'dt',
32574 'fieldset',
32575 'figcaption',
32576 'figure',
32577 'footer',
32578 'form',
32579 'frame',
32580 'frameset',
32581 'h1',
32582 'h2',
32583 'h3',
32584 'h4',
32585 'h5',
32586 'h6',
32587 'head',
32588 'header',
32589 'hr',
32590 'html',
32591 'iframe',
32592 'legend',
32593 'li',
32594 'link',
32595 'main',
32596 'menu',
32597 'menuitem',
32598 'nav',
32599 'noframes',
32600 'ol',
32601 'optgroup',
32602 'option',
32603 'p',
32604 'param',
32605 'search',
32606 'section',
32607 'summary',
32608 'table',
32609 'tbody',
32610 'td',
32611 'tfoot',
32612 'th',
32613 'thead',
32614 'title',
32615 'tr',
32616 'track',
32617 'ul'
32618 ]
32619
32620 /**
32621 * List of lowercase HTML “raw” tag names.
32622 *
32623 * The list, when parsing HTML (flow), results in HTML that can include lines
32624 * without exiting, until a closing tag also in this list is found (condition
32625 * 1).
32626 *
32627 * This module is copied from:
32628 * <https://spec.commonmark.org/0.30/#html-blocks>.
32629 *
32630 * > 👉 **Note**: `textarea` was added in `[email protected]`.
32631 */
32632 const htmlRawNames = ['pre', 'script', 'style', 'textarea']
32633
32634
32635 /***/ }),
32636
32637 /***/ "../node_modules/micromark-util-normalize-identifier/dev/index.js":
32638 /*!************************************************************************!*\
32639 !*** ../node_modules/micromark-util-normalize-identifier/dev/index.js ***!
32640 \************************************************************************/
32641 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
32642
32643 "use strict";
32644 __webpack_require__.r(__webpack_exports__);
32645 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
32646 /* harmony export */ normalizeIdentifier: () => (/* binding */ normalizeIdentifier)
32647 /* harmony export */ });
32648 /* 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");
32649
32650
32651 /**
32652 * Normalize an identifier (as found in references, definitions).
32653 *
32654 * Collapses markdown whitespace, trim, and then lower- and uppercase.
32655 *
32656 * Some characters are considered “uppercase”, such as U+03F4 (`ϴ`), but if their
32657 * lowercase counterpart (U+03B8 (`θ`)) is uppercased will result in a different
32658 * uppercase character (U+0398 (`Θ`)).
32659 * So, to get a canonical form, we perform both lower- and uppercase.
32660 *
32661 * Using uppercase last makes sure keys will never interact with default
32662 * prototypal values (such as `constructor`): nothing in the prototype of
32663 * `Object` is uppercase.
32664 *
32665 * @param {string} value
32666 * Identifier to normalize.
32667 * @returns {string}
32668 * Normalized identifier.
32669 */
32670 function normalizeIdentifier(value) {
32671 return (
32672 value
32673 // Collapse markdown whitespace.
32674 .replace(/[\t\n\r ]+/g, micromark_util_symbol_values_js__WEBPACK_IMPORTED_MODULE_0__.values.space)
32675 // Trim.
32676 .replace(/^ | $/g, '')
32677 // Some characters are considered “uppercase”, but if their lowercase
32678 // counterpart is uppercased will result in a different uppercase
32679 // character.
32680 // Hence, to get that form, we perform both lower- and uppercase.
32681 // Upper case makes sure keys will not interact with default prototypal
32682 // methods: no method is uppercase.
32683 .toLowerCase()
32684 .toUpperCase()
32685 )
32686 }
32687
32688
32689 /***/ }),
32690
32691 /***/ "../node_modules/micromark-util-resolve-all/index.js":
32692 /*!***********************************************************!*\
32693 !*** ../node_modules/micromark-util-resolve-all/index.js ***!
32694 \***********************************************************/
32695 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
32696
32697 "use strict";
32698 __webpack_require__.r(__webpack_exports__);
32699 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
32700 /* harmony export */ resolveAll: () => (/* binding */ resolveAll)
32701 /* harmony export */ });
32702 /**
32703 * @typedef {import('micromark-util-types').Event} Event
32704 * @typedef {import('micromark-util-types').Resolver} Resolver
32705 * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext
32706 */
32707
32708 /**
32709 * Call all `resolveAll`s.
32710 *
32711 * @param {Array<{resolveAll?: Resolver | undefined}>} constructs
32712 * List of constructs, optionally with `resolveAll`s.
32713 * @param {Array<Event>} events
32714 * List of events.
32715 * @param {TokenizeContext} context
32716 * Context used by `tokenize`.
32717 * @returns {Array<Event>}
32718 * Changed events.
32719 */
32720 function resolveAll(constructs, events, context) {
32721 /** @type {Array<Resolver>} */
32722 const called = []
32723 let index = -1
32724
32725 while (++index < constructs.length) {
32726 const resolve = constructs[index].resolveAll
32727
32728 if (resolve && !called.includes(resolve)) {
32729 events = resolve(events, context)
32730 called.push(resolve)
32731 }
32732 }
32733
32734 return events
32735 }
32736
32737
32738 /***/ }),
32739
32740 /***/ "../node_modules/micromark-util-sanitize-uri/dev/index.js":
32741 /*!****************************************************************!*\
32742 !*** ../node_modules/micromark-util-sanitize-uri/dev/index.js ***!
32743 \****************************************************************/
32744 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
32745
32746 "use strict";
32747 __webpack_require__.r(__webpack_exports__);
32748 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
32749 /* harmony export */ normalizeUri: () => (/* binding */ normalizeUri),
32750 /* harmony export */ sanitizeUri: () => (/* binding */ sanitizeUri)
32751 /* harmony export */ });
32752 /* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! micromark-util-character */ "../node_modules/micromark-util-character/dev/index.js");
32753 /* harmony import */ var micromark_util_encode__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-util-encode */ "../node_modules/micromark-util-encode/index.js");
32754 /* 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");
32755 /* 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");
32756
32757
32758
32759
32760
32761 /**
32762 * Make a value safe for injection as a URL.
32763 *
32764 * This encodes unsafe characters with percent-encoding and skips already
32765 * encoded sequences (see `normalizeUri`).
32766 * Further unsafe characters are encoded as character references (see
32767 * `micromark-util-encode`).
32768 *
32769 * A regex of allowed protocols can be given, in which case the URL is
32770 * sanitized.
32771 * For example, `/^(https?|ircs?|mailto|xmpp)$/i` can be used for `a[href]`, or
32772 * `/^https?$/i` for `img[src]` (this is what `github.com` allows).
32773 * If the URL includes an unknown protocol (one not matched by `protocol`, such
32774 * as a dangerous example, `javascript:`), the value is ignored.
32775 *
32776 * @param {string | undefined} url
32777 * URI to sanitize.
32778 * @param {RegExp | null | undefined} [protocol]
32779 * Allowed protocols.
32780 * @returns {string}
32781 * Sanitized URI.
32782 */
32783 function sanitizeUri(url, protocol) {
32784 const value = (0,micromark_util_encode__WEBPACK_IMPORTED_MODULE_0__.encode)(normalizeUri(url || ''))
32785
32786 if (!protocol) {
32787 return value
32788 }
32789
32790 const colon = value.indexOf(':')
32791 const questionMark = value.indexOf('?')
32792 const numberSign = value.indexOf('#')
32793 const slash = value.indexOf('/')
32794
32795 if (
32796 // If there is no protocol, it’s relative.
32797 colon < 0 ||
32798 // If the first colon is after a `?`, `#`, or `/`, it’s not a protocol.
32799 (slash > -1 && colon > slash) ||
32800 (questionMark > -1 && colon > questionMark) ||
32801 (numberSign > -1 && colon > numberSign) ||
32802 // It is a protocol, it should be allowed.
32803 protocol.test(value.slice(0, colon))
32804 ) {
32805 return value
32806 }
32807
32808 return ''
32809 }
32810
32811 /**
32812 * Normalize a URL.
32813 *
32814 * Encode unsafe characters with percent-encoding, skipping already encoded
32815 * sequences.
32816 *
32817 * @param {string} value
32818 * URI to normalize.
32819 * @returns {string}
32820 * Normalized URI.
32821 */
32822 function normalizeUri(value) {
32823 /** @type {Array<string>} */
32824 const result = []
32825 let index = -1
32826 let start = 0
32827 let skip = 0
32828
32829 while (++index < value.length) {
32830 const code = value.charCodeAt(index)
32831 /** @type {string} */
32832 let replace = ''
32833
32834 // A correct percent encoded value.
32835 if (
32836 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.percentSign &&
32837 (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_2__.asciiAlphanumeric)(value.charCodeAt(index + 1)) &&
32838 (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_2__.asciiAlphanumeric)(value.charCodeAt(index + 2))
32839 ) {
32840 skip = 2
32841 }
32842 // ASCII.
32843 else if (code < 128) {
32844 if (!/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(code))) {
32845 replace = String.fromCharCode(code)
32846 }
32847 }
32848 // Astral.
32849 else if (code > 55295 && code < 57344) {
32850 const next = value.charCodeAt(index + 1)
32851
32852 // A correct surrogate pair.
32853 if (code < 56320 && next > 56319 && next < 57344) {
32854 replace = String.fromCharCode(code, next)
32855 skip = 1
32856 }
32857 // Lone surrogate.
32858 else {
32859 replace = micromark_util_symbol_values_js__WEBPACK_IMPORTED_MODULE_3__.values.replacementCharacter
32860 }
32861 }
32862 // Unicode.
32863 else {
32864 replace = String.fromCharCode(code)
32865 }
32866
32867 if (replace) {
32868 result.push(value.slice(start, index), encodeURIComponent(replace))
32869 start = index + skip + 1
32870 replace = ''
32871 }
32872
32873 if (skip) {
32874 index += skip
32875 skip = 0
32876 }
32877 }
32878
32879 return result.join('') + value.slice(start)
32880 }
32881
32882
32883 /***/ }),
32884
32885 /***/ "../node_modules/micromark-util-subtokenize/dev/index.js":
32886 /*!***************************************************************!*\
32887 !*** ../node_modules/micromark-util-subtokenize/dev/index.js ***!
32888 \***************************************************************/
32889 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
32890
32891 "use strict";
32892 __webpack_require__.r(__webpack_exports__);
32893 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
32894 /* harmony export */ subtokenize: () => (/* binding */ subtokenize)
32895 /* harmony export */ });
32896 /* harmony import */ var micromark_util_chunked__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! micromark-util-chunked */ "../node_modules/micromark-util-chunked/dev/index.js");
32897 /* 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");
32898 /* 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");
32899 /* harmony import */ var uvu_assert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uvu/assert */ "../node_modules/uvu/assert/index.mjs");
32900 /**
32901 * @typedef {import('micromark-util-types').Chunk} Chunk
32902 * @typedef {import('micromark-util-types').Event} Event
32903 * @typedef {import('micromark-util-types').Token} Token
32904 */
32905
32906
32907
32908
32909
32910
32911 /**
32912 * Tokenize subcontent.
32913 *
32914 * @param {Array<Event>} events
32915 * List of events.
32916 * @returns {boolean}
32917 * Whether subtokens were found.
32918 */
32919 function subtokenize(events) {
32920 /** @type {Record<string, number>} */
32921 const jumps = {}
32922 let index = -1
32923 /** @type {Event} */
32924 let event
32925 /** @type {number | undefined} */
32926 let lineIndex
32927 /** @type {number} */
32928 let otherIndex
32929 /** @type {Event} */
32930 let otherEvent
32931 /** @type {Array<Event>} */
32932 let parameters
32933 /** @type {Array<Event>} */
32934 let subevents
32935 /** @type {boolean | undefined} */
32936 let more
32937
32938 while (++index < events.length) {
32939 while (index in jumps) {
32940 index = jumps[index]
32941 }
32942
32943 event = events[index]
32944
32945 // Add a hook for the GFM tasklist extension, which needs to know if text
32946 // is in the first content of a list item.
32947 if (
32948 index &&
32949 event[1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.chunkFlow &&
32950 events[index - 1][1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.listItemPrefix
32951 ) {
32952 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(event[1]._tokenizer, 'expected `_tokenizer` on subtokens')
32953 subevents = event[1]._tokenizer.events
32954 otherIndex = 0
32955
32956 if (
32957 otherIndex < subevents.length &&
32958 subevents[otherIndex][1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.lineEndingBlank
32959 ) {
32960 otherIndex += 2
32961 }
32962
32963 if (
32964 otherIndex < subevents.length &&
32965 subevents[otherIndex][1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.content
32966 ) {
32967 while (++otherIndex < subevents.length) {
32968 if (subevents[otherIndex][1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.content) {
32969 break
32970 }
32971
32972 if (subevents[otherIndex][1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.chunkText) {
32973 subevents[otherIndex][1]._isInFirstContentOfListItem = true
32974 otherIndex++
32975 }
32976 }
32977 }
32978 }
32979
32980 // Enter.
32981 if (event[0] === 'enter') {
32982 if (event[1].contentType) {
32983 Object.assign(jumps, subcontent(events, index))
32984 index = jumps[index]
32985 more = true
32986 }
32987 }
32988 // Exit.
32989 else if (event[1]._container) {
32990 otherIndex = index
32991 lineIndex = undefined
32992
32993 while (otherIndex--) {
32994 otherEvent = events[otherIndex]
32995
32996 if (
32997 otherEvent[1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.lineEnding ||
32998 otherEvent[1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.lineEndingBlank
32999 ) {
33000 if (otherEvent[0] === 'enter') {
33001 if (lineIndex) {
33002 events[lineIndex][1].type = micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.lineEndingBlank
33003 }
33004
33005 otherEvent[1].type = micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.lineEnding
33006 lineIndex = otherIndex
33007 }
33008 } else {
33009 break
33010 }
33011 }
33012
33013 if (lineIndex) {
33014 // Fix position.
33015 event[1].end = Object.assign({}, events[lineIndex][1].start)
33016
33017 // Switch container exit w/ line endings.
33018 parameters = events.slice(lineIndex, index)
33019 parameters.unshift(event)
33020 ;(0,micromark_util_chunked__WEBPACK_IMPORTED_MODULE_2__.splice)(events, lineIndex, index - lineIndex + 1, parameters)
33021 }
33022 }
33023 }
33024
33025 return !more
33026 }
33027
33028 /**
33029 * Tokenize embedded tokens.
33030 *
33031 * @param {Array<Event>} events
33032 * @param {number} eventIndex
33033 * @returns {Record<string, number>}
33034 */
33035 function subcontent(events, eventIndex) {
33036 const token = events[eventIndex][1]
33037 const context = events[eventIndex][2]
33038 let startPosition = eventIndex - 1
33039 /** @type {Array<number>} */
33040 const startPositions = []
33041 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(token.contentType, 'expected `contentType` on subtokens')
33042 const tokenizer =
33043 token._tokenizer || context.parser[token.contentType](token.start)
33044 const childEvents = tokenizer.events
33045 /** @type {Array<[number, number]>} */
33046 const jumps = []
33047 /** @type {Record<string, number>} */
33048 const gaps = {}
33049 /** @type {Array<Chunk>} */
33050 let stream
33051 /** @type {Token | undefined} */
33052 let previous
33053 let index = -1
33054 /** @type {Token | undefined} */
33055 let current = token
33056 let adjust = 0
33057 let start = 0
33058 const breaks = [start]
33059
33060 // Loop forward through the linked tokens to pass them in order to the
33061 // subtokenizer.
33062 while (current) {
33063 // Find the position of the event for this token.
33064 while (events[++startPosition][1] !== current) {
33065 // Empty.
33066 }
33067
33068 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(
33069 !previous || current.previous === previous,
33070 'expected previous to match'
33071 )
33072 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(!previous || previous.next === current, 'expected next to match')
33073
33074 startPositions.push(startPosition)
33075
33076 if (!current._tokenizer) {
33077 stream = context.sliceStream(current)
33078
33079 if (!current.next) {
33080 stream.push(micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_3__.codes.eof)
33081 }
33082
33083 if (previous) {
33084 tokenizer.defineSkip(current.start)
33085 }
33086
33087 if (current._isInFirstContentOfListItem) {
33088 tokenizer._gfmTasklistFirstContentOfListItem = true
33089 }
33090
33091 tokenizer.write(stream)
33092
33093 if (current._isInFirstContentOfListItem) {
33094 tokenizer._gfmTasklistFirstContentOfListItem = undefined
33095 }
33096 }
33097
33098 // Unravel the next token.
33099 previous = current
33100 current = current.next
33101 }
33102
33103 // Now, loop back through all events (and linked tokens), to figure out which
33104 // parts belong where.
33105 current = token
33106
33107 while (++index < childEvents.length) {
33108 if (
33109 // Find a void token that includes a break.
33110 childEvents[index][0] === 'exit' &&
33111 childEvents[index - 1][0] === 'enter' &&
33112 childEvents[index][1].type === childEvents[index - 1][1].type &&
33113 childEvents[index][1].start.line !== childEvents[index][1].end.line
33114 ) {
33115 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(current, 'expected a current token')
33116 start = index + 1
33117 breaks.push(start)
33118 // Help GC.
33119 current._tokenizer = undefined
33120 current.previous = undefined
33121 current = current.next
33122 }
33123 }
33124
33125 // Help GC.
33126 tokenizer.events = []
33127
33128 // If there’s one more token (which is the cases for lines that end in an
33129 // EOF), that’s perfect: the last point we found starts it.
33130 // If there isn’t then make sure any remaining content is added to it.
33131 if (current) {
33132 // Help GC.
33133 current._tokenizer = undefined
33134 current.previous = undefined
33135 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(!current.next, 'expected no next token')
33136 } else {
33137 breaks.pop()
33138 }
33139
33140 // Now splice the events from the subtokenizer into the current events,
33141 // moving back to front so that splice indices aren’t affected.
33142 index = breaks.length
33143
33144 while (index--) {
33145 const slice = childEvents.slice(breaks[index], breaks[index + 1])
33146 const start = startPositions.pop()
33147 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(start !== undefined, 'expected a start position when splicing')
33148 jumps.unshift([start, start + slice.length - 1])
33149 ;(0,micromark_util_chunked__WEBPACK_IMPORTED_MODULE_2__.splice)(events, start, 2, slice)
33150 }
33151
33152 index = -1
33153
33154 while (++index < jumps.length) {
33155 gaps[adjust + jumps[index][0]] = adjust + jumps[index][1]
33156 adjust += jumps[index][1] - jumps[index][0] - 1
33157 }
33158
33159 return gaps
33160 }
33161
33162
33163 /***/ }),
33164
33165 /***/ "../node_modules/micromark-util-symbol/codes.js":
33166 /*!******************************************************!*\
33167 !*** ../node_modules/micromark-util-symbol/codes.js ***!
33168 \******************************************************/
33169 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
33170
33171 "use strict";
33172 __webpack_require__.r(__webpack_exports__);
33173 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
33174 /* harmony export */ codes: () => (/* binding */ codes)
33175 /* harmony export */ });
33176 /**
33177 * Character codes.
33178 *
33179 * This module is compiled away!
33180 *
33181 * micromark works based on character codes.
33182 * This module contains constants for the ASCII block and the replacement
33183 * character.
33184 * A couple of them are handled in a special way, such as the line endings
33185 * (CR, LF, and CR+LF, commonly known as end-of-line: EOLs), the tab (horizontal
33186 * tab) and its expansion based on what column it’s at (virtual space),
33187 * and the end-of-file (eof) character.
33188 * As values are preprocessed before handling them, the actual characters LF,
33189 * CR, HT, and NUL (which is present as the replacement character), are
33190 * guaranteed to not exist.
33191 *
33192 * Unicode basic latin block.
33193 */
33194 const codes = /** @type {const} */ ({
33195 carriageReturn: -5,
33196 lineFeed: -4,
33197 carriageReturnLineFeed: -3,
33198 horizontalTab: -2,
33199 virtualSpace: -1,
33200 eof: null,
33201 nul: 0,
33202 soh: 1,
33203 stx: 2,
33204 etx: 3,
33205 eot: 4,
33206 enq: 5,
33207 ack: 6,
33208 bel: 7,
33209 bs: 8,
33210 ht: 9, // `\t`
33211 lf: 10, // `\n`
33212 vt: 11, // `\v`
33213 ff: 12, // `\f`
33214 cr: 13, // `\r`
33215 so: 14,
33216 si: 15,
33217 dle: 16,
33218 dc1: 17,
33219 dc2: 18,
33220 dc3: 19,
33221 dc4: 20,
33222 nak: 21,
33223 syn: 22,
33224 etb: 23,
33225 can: 24,
33226 em: 25,
33227 sub: 26,
33228 esc: 27,
33229 fs: 28,
33230 gs: 29,
33231 rs: 30,
33232 us: 31,
33233 space: 32,
33234 exclamationMark: 33, // `!`
33235 quotationMark: 34, // `"`
33236 numberSign: 35, // `#`
33237 dollarSign: 36, // `$`
33238 percentSign: 37, // `%`
33239 ampersand: 38, // `&`
33240 apostrophe: 39, // `'`
33241 leftParenthesis: 40, // `(`
33242 rightParenthesis: 41, // `)`
33243 asterisk: 42, // `*`
33244 plusSign: 43, // `+`
33245 comma: 44, // `,`
33246 dash: 45, // `-`
33247 dot: 46, // `.`
33248 slash: 47, // `/`
33249 digit0: 48, // `0`
33250 digit1: 49, // `1`
33251 digit2: 50, // `2`
33252 digit3: 51, // `3`
33253 digit4: 52, // `4`
33254 digit5: 53, // `5`
33255 digit6: 54, // `6`
33256 digit7: 55, // `7`
33257 digit8: 56, // `8`
33258 digit9: 57, // `9`
33259 colon: 58, // `:`
33260 semicolon: 59, // `;`
33261 lessThan: 60, // `<`
33262 equalsTo: 61, // `=`
33263 greaterThan: 62, // `>`
33264 questionMark: 63, // `?`
33265 atSign: 64, // `@`
33266 uppercaseA: 65, // `A`
33267 uppercaseB: 66, // `B`
33268 uppercaseC: 67, // `C`
33269 uppercaseD: 68, // `D`
33270 uppercaseE: 69, // `E`
33271 uppercaseF: 70, // `F`
33272 uppercaseG: 71, // `G`
33273 uppercaseH: 72, // `H`
33274 uppercaseI: 73, // `I`
33275 uppercaseJ: 74, // `J`
33276 uppercaseK: 75, // `K`
33277 uppercaseL: 76, // `L`
33278 uppercaseM: 77, // `M`
33279 uppercaseN: 78, // `N`
33280 uppercaseO: 79, // `O`
33281 uppercaseP: 80, // `P`
33282 uppercaseQ: 81, // `Q`
33283 uppercaseR: 82, // `R`
33284 uppercaseS: 83, // `S`
33285 uppercaseT: 84, // `T`
33286 uppercaseU: 85, // `U`
33287 uppercaseV: 86, // `V`
33288 uppercaseW: 87, // `W`
33289 uppercaseX: 88, // `X`
33290 uppercaseY: 89, // `Y`
33291 uppercaseZ: 90, // `Z`
33292 leftSquareBracket: 91, // `[`
33293 backslash: 92, // `\`
33294 rightSquareBracket: 93, // `]`
33295 caret: 94, // `^`
33296 underscore: 95, // `_`
33297 graveAccent: 96, // `` ` ``
33298 lowercaseA: 97, // `a`
33299 lowercaseB: 98, // `b`
33300 lowercaseC: 99, // `c`
33301 lowercaseD: 100, // `d`
33302 lowercaseE: 101, // `e`
33303 lowercaseF: 102, // `f`
33304 lowercaseG: 103, // `g`
33305 lowercaseH: 104, // `h`
33306 lowercaseI: 105, // `i`
33307 lowercaseJ: 106, // `j`
33308 lowercaseK: 107, // `k`
33309 lowercaseL: 108, // `l`
33310 lowercaseM: 109, // `m`
33311 lowercaseN: 110, // `n`
33312 lowercaseO: 111, // `o`
33313 lowercaseP: 112, // `p`
33314 lowercaseQ: 113, // `q`
33315 lowercaseR: 114, // `r`
33316 lowercaseS: 115, // `s`
33317 lowercaseT: 116, // `t`
33318 lowercaseU: 117, // `u`
33319 lowercaseV: 118, // `v`
33320 lowercaseW: 119, // `w`
33321 lowercaseX: 120, // `x`
33322 lowercaseY: 121, // `y`
33323 lowercaseZ: 122, // `z`
33324 leftCurlyBrace: 123, // `{`
33325 verticalBar: 124, // `|`
33326 rightCurlyBrace: 125, // `}`
33327 tilde: 126, // `~`
33328 del: 127,
33329 // Unicode Specials block.
33330 byteOrderMarker: 65279,
33331 // Unicode Specials block.
33332 replacementCharacter: 65533 // ``
33333 })
33334
33335
33336 /***/ }),
33337
33338 /***/ "../node_modules/micromark-util-symbol/constants.js":
33339 /*!**********************************************************!*\
33340 !*** ../node_modules/micromark-util-symbol/constants.js ***!
33341 \**********************************************************/
33342 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
33343
33344 "use strict";
33345 __webpack_require__.r(__webpack_exports__);
33346 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
33347 /* harmony export */ constants: () => (/* binding */ constants)
33348 /* harmony export */ });
33349 /**
33350 * This module is compiled away!
33351 *
33352 * Parsing markdown comes with a couple of constants, such as minimum or maximum
33353 * sizes of certain sequences.
33354 * Additionally, there are a couple symbols used inside micromark.
33355 * These are all defined here, but compiled away by scripts.
33356 */
33357 const constants = /** @type {const} */ ({
33358 attentionSideBefore: 1, // Symbol to mark an attention sequence as before content: `*a`
33359 attentionSideAfter: 2, // Symbol to mark an attention sequence as after content: `a*`
33360 atxHeadingOpeningFenceSizeMax: 6, // 6 number signs is fine, 7 isn’t.
33361 autolinkDomainSizeMax: 63, // 63 characters is fine, 64 is too many.
33362 autolinkSchemeSizeMax: 32, // 32 characters is fine, 33 is too many.
33363 cdataOpeningString: 'CDATA[', // And preceded by `<![`.
33364 characterGroupWhitespace: 1, // Symbol used to indicate a character is whitespace
33365 characterGroupPunctuation: 2, // Symbol used to indicate a character is punctuation
33366 characterReferenceDecimalSizeMax: 7, // `&#9999999;`.
33367 characterReferenceHexadecimalSizeMax: 6, // `&#xff9999;`.
33368 characterReferenceNamedSizeMax: 31, // `&CounterClockwiseContourIntegral;`.
33369 codeFencedSequenceSizeMin: 3, // At least 3 ticks or tildes are needed.
33370 contentTypeDocument: 'document',
33371 contentTypeFlow: 'flow',
33372 contentTypeContent: 'content',
33373 contentTypeString: 'string',
33374 contentTypeText: 'text',
33375 hardBreakPrefixSizeMin: 2, // At least 2 trailing spaces are needed.
33376 htmlRaw: 1, // Symbol for `<script>`
33377 htmlComment: 2, // Symbol for `<!---->`
33378 htmlInstruction: 3, // Symbol for `<?php?>`
33379 htmlDeclaration: 4, // Symbol for `<!doctype>`
33380 htmlCdata: 5, // Symbol for `<![CDATA[]]>`
33381 htmlBasic: 6, // Symbol for `<div`
33382 htmlComplete: 7, // Symbol for `<x>`
33383 htmlRawSizeMax: 8, // Length of `textarea`.
33384 linkResourceDestinationBalanceMax: 32, // See: <https://spec.commonmark.org/0.30/#link-destination>, <https://github.com/remarkjs/react-markdown/issues/658#issuecomment-984345577>
33385 linkReferenceSizeMax: 999, // See: <https://spec.commonmark.org/0.30/#link-label>
33386 listItemValueSizeMax: 10, // See: <https://spec.commonmark.org/0.30/#ordered-list-marker>
33387 numericBaseDecimal: 10,
33388 numericBaseHexadecimal: 0x10,
33389 tabSize: 4, // Tabs have a hard-coded size of 4, per CommonMark.
33390 thematicBreakMarkerCountMin: 3, // At least 3 asterisks, dashes, or underscores are needed.
33391 v8MaxSafeChunkSize: 10000 // V8 (and potentially others) have problems injecting giant arrays into other arrays, hence we operate in chunks.
33392 })
33393
33394
33395 /***/ }),
33396
33397 /***/ "../node_modules/micromark-util-symbol/types.js":
33398 /*!******************************************************!*\
33399 !*** ../node_modules/micromark-util-symbol/types.js ***!
33400 \******************************************************/
33401 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
33402
33403 "use strict";
33404 __webpack_require__.r(__webpack_exports__);
33405 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
33406 /* harmony export */ types: () => (/* binding */ types)
33407 /* harmony export */ });
33408 /**
33409 * This module is compiled away!
33410 *
33411 * Here is the list of all types of tokens exposed by micromark, with a short
33412 * explanation of what they include and where they are found.
33413 * In picking names, generally, the rule is to be as explicit as possible
33414 * instead of reusing names.
33415 * For example, there is a `definitionDestination` and a `resourceDestination`,
33416 * instead of one shared name.
33417 */
33418
33419 // Note: when changing the next record, you must also change `TokenTypeMap`
33420 // in `micromark-util-types/index.d.ts`.
33421 const types = /** @type {const} */ ({
33422 // Generic type for data, such as in a title, a destination, etc.
33423 data: 'data',
33424
33425 // Generic type for syntactic whitespace (tabs, virtual spaces, spaces).
33426 // Such as, between a fenced code fence and an info string.
33427 whitespace: 'whitespace',
33428
33429 // Generic type for line endings (line feed, carriage return, carriage return +
33430 // line feed).
33431 lineEnding: 'lineEnding',
33432
33433 // A line ending, but ending a blank line.
33434 lineEndingBlank: 'lineEndingBlank',
33435
33436 // Generic type for whitespace (tabs, virtual spaces, spaces) at the start of a
33437 // line.
33438 linePrefix: 'linePrefix',
33439
33440 // Generic type for whitespace (tabs, virtual spaces, spaces) at the end of a
33441 // line.
33442 lineSuffix: 'lineSuffix',
33443
33444 // Whole ATX heading:
33445 //
33446 // ```markdown
33447 // #
33448 // ## Alpha
33449 // ### Bravo ###
33450 // ```
33451 //
33452 // Includes `atxHeadingSequence`, `whitespace`, `atxHeadingText`.
33453 atxHeading: 'atxHeading',
33454
33455 // Sequence of number signs in an ATX heading (`###`).
33456 atxHeadingSequence: 'atxHeadingSequence',
33457
33458 // Content in an ATX heading (`alpha`).
33459 // Includes text.
33460 atxHeadingText: 'atxHeadingText',
33461
33462 // Whole autolink (`<https://example.com>` or `<[email protected]>`)
33463 // Includes `autolinkMarker` and `autolinkProtocol` or `autolinkEmail`.
33464 autolink: 'autolink',
33465
33466 // Email autolink w/o markers (`[email protected]`)
33467 autolinkEmail: 'autolinkEmail',
33468
33469 // Marker around an `autolinkProtocol` or `autolinkEmail` (`<` or `>`).
33470 autolinkMarker: 'autolinkMarker',
33471
33472 // Protocol autolink w/o markers (`https://example.com`)
33473 autolinkProtocol: 'autolinkProtocol',
33474
33475 // A whole character escape (`\-`).
33476 // Includes `escapeMarker` and `characterEscapeValue`.
33477 characterEscape: 'characterEscape',
33478
33479 // The escaped character (`-`).
33480 characterEscapeValue: 'characterEscapeValue',
33481
33482 // A whole character reference (`&amp;`, `&#8800;`, or `&#x1D306;`).
33483 // Includes `characterReferenceMarker`, an optional
33484 // `characterReferenceMarkerNumeric`, in which case an optional
33485 // `characterReferenceMarkerHexadecimal`, and a `characterReferenceValue`.
33486 characterReference: 'characterReference',
33487
33488 // The start or end marker (`&` or `;`).
33489 characterReferenceMarker: 'characterReferenceMarker',
33490
33491 // Mark reference as numeric (`#`).
33492 characterReferenceMarkerNumeric: 'characterReferenceMarkerNumeric',
33493
33494 // Mark reference as numeric (`x` or `X`).
33495 characterReferenceMarkerHexadecimal: 'characterReferenceMarkerHexadecimal',
33496
33497 // Value of character reference w/o markers (`amp`, `8800`, or `1D306`).
33498 characterReferenceValue: 'characterReferenceValue',
33499
33500 // Whole fenced code:
33501 //
33502 // ````markdown
33503 // ```js
33504 // alert(1)
33505 // ```
33506 // ````
33507 codeFenced: 'codeFenced',
33508
33509 // A fenced code fence, including whitespace, sequence, info, and meta
33510 // (` ```js `).
33511 codeFencedFence: 'codeFencedFence',
33512
33513 // Sequence of grave accent or tilde characters (` ``` `) in a fence.
33514 codeFencedFenceSequence: 'codeFencedFenceSequence',
33515
33516 // Info word (`js`) in a fence.
33517 // Includes string.
33518 codeFencedFenceInfo: 'codeFencedFenceInfo',
33519
33520 // Meta words (`highlight="1"`) in a fence.
33521 // Includes string.
33522 codeFencedFenceMeta: 'codeFencedFenceMeta',
33523
33524 // A line of code.
33525 codeFlowValue: 'codeFlowValue',
33526
33527 // Whole indented code:
33528 //
33529 // ```markdown
33530 // alert(1)
33531 // ```
33532 //
33533 // Includes `lineEnding`, `linePrefix`, and `codeFlowValue`.
33534 codeIndented: 'codeIndented',
33535
33536 // A text code (``` `alpha` ```).
33537 // Includes `codeTextSequence`, `codeTextData`, `lineEnding`, and can include
33538 // `codeTextPadding`.
33539 codeText: 'codeText',
33540
33541 codeTextData: 'codeTextData',
33542
33543 // A space or line ending right after or before a tick.
33544 codeTextPadding: 'codeTextPadding',
33545
33546 // A text code fence (` `` `).
33547 codeTextSequence: 'codeTextSequence',
33548
33549 // Whole content:
33550 //
33551 // ```markdown
33552 // [a]: b
33553 // c
33554 // =
33555 // d
33556 // ```
33557 //
33558 // Includes `paragraph` and `definition`.
33559 content: 'content',
33560 // Whole definition:
33561 //
33562 // ```markdown
33563 // [micromark]: https://github.com/micromark/micromark
33564 // ```
33565 //
33566 // Includes `definitionLabel`, `definitionMarker`, `whitespace`,
33567 // `definitionDestination`, and optionally `lineEnding` and `definitionTitle`.
33568 definition: 'definition',
33569
33570 // Destination of a definition (`https://github.com/micromark/micromark` or
33571 // `<https://github.com/micromark/micromark>`).
33572 // Includes `definitionDestinationLiteral` or `definitionDestinationRaw`.
33573 definitionDestination: 'definitionDestination',
33574
33575 // Enclosed destination of a definition
33576 // (`<https://github.com/micromark/micromark>`).
33577 // Includes `definitionDestinationLiteralMarker` and optionally
33578 // `definitionDestinationString`.
33579 definitionDestinationLiteral: 'definitionDestinationLiteral',
33580
33581 // Markers of an enclosed definition destination (`<` or `>`).
33582 definitionDestinationLiteralMarker: 'definitionDestinationLiteralMarker',
33583
33584 // Unenclosed destination of a definition
33585 // (`https://github.com/micromark/micromark`).
33586 // Includes `definitionDestinationString`.
33587 definitionDestinationRaw: 'definitionDestinationRaw',
33588
33589 // Text in an destination (`https://github.com/micromark/micromark`).
33590 // Includes string.
33591 definitionDestinationString: 'definitionDestinationString',
33592
33593 // Label of a definition (`[micromark]`).
33594 // Includes `definitionLabelMarker` and `definitionLabelString`.
33595 definitionLabel: 'definitionLabel',
33596
33597 // Markers of a definition label (`[` or `]`).
33598 definitionLabelMarker: 'definitionLabelMarker',
33599
33600 // Value of a definition label (`micromark`).
33601 // Includes string.
33602 definitionLabelString: 'definitionLabelString',
33603
33604 // Marker between a label and a destination (`:`).
33605 definitionMarker: 'definitionMarker',
33606
33607 // Title of a definition (`"x"`, `'y'`, or `(z)`).
33608 // Includes `definitionTitleMarker` and optionally `definitionTitleString`.
33609 definitionTitle: 'definitionTitle',
33610
33611 // Marker around a title of a definition (`"`, `'`, `(`, or `)`).
33612 definitionTitleMarker: 'definitionTitleMarker',
33613
33614 // Data without markers in a title (`z`).
33615 // Includes string.
33616 definitionTitleString: 'definitionTitleString',
33617
33618 // Emphasis (`*alpha*`).
33619 // Includes `emphasisSequence` and `emphasisText`.
33620 emphasis: 'emphasis',
33621
33622 // Sequence of emphasis markers (`*` or `_`).
33623 emphasisSequence: 'emphasisSequence',
33624
33625 // Emphasis text (`alpha`).
33626 // Includes text.
33627 emphasisText: 'emphasisText',
33628
33629 // The character escape marker (`\`).
33630 escapeMarker: 'escapeMarker',
33631
33632 // A hard break created with a backslash (`\\n`).
33633 // Note: does not include the line ending.
33634 hardBreakEscape: 'hardBreakEscape',
33635
33636 // A hard break created with trailing spaces (` \n`).
33637 // Does not include the line ending.
33638 hardBreakTrailing: 'hardBreakTrailing',
33639
33640 // Flow HTML:
33641 //
33642 // ```markdown
33643 // <div
33644 // ```
33645 //
33646 // Inlcudes `lineEnding`, `htmlFlowData`.
33647 htmlFlow: 'htmlFlow',
33648
33649 htmlFlowData: 'htmlFlowData',
33650
33651 // HTML in text (the tag in `a <i> b`).
33652 // Includes `lineEnding`, `htmlTextData`.
33653 htmlText: 'htmlText',
33654
33655 htmlTextData: 'htmlTextData',
33656
33657 // Whole image (`![alpha](bravo)`, `![alpha][bravo]`, `![alpha][]`, or
33658 // `![alpha]`).
33659 // Includes `label` and an optional `resource` or `reference`.
33660 image: 'image',
33661
33662 // Whole link label (`[*alpha*]`).
33663 // Includes `labelLink` or `labelImage`, `labelText`, and `labelEnd`.
33664 label: 'label',
33665
33666 // Text in an label (`*alpha*`).
33667 // Includes text.
33668 labelText: 'labelText',
33669
33670 // Start a link label (`[`).
33671 // Includes a `labelMarker`.
33672 labelLink: 'labelLink',
33673
33674 // Start an image label (`![`).
33675 // Includes `labelImageMarker` and `labelMarker`.
33676 labelImage: 'labelImage',
33677
33678 // Marker of a label (`[` or `]`).
33679 labelMarker: 'labelMarker',
33680
33681 // Marker to start an image (`!`).
33682 labelImageMarker: 'labelImageMarker',
33683
33684 // End a label (`]`).
33685 // Includes `labelMarker`.
33686 labelEnd: 'labelEnd',
33687
33688 // Whole link (`[alpha](bravo)`, `[alpha][bravo]`, `[alpha][]`, or `[alpha]`).
33689 // Includes `label` and an optional `resource` or `reference`.
33690 link: 'link',
33691
33692 // Whole paragraph:
33693 //
33694 // ```markdown
33695 // alpha
33696 // bravo.
33697 // ```
33698 //
33699 // Includes text.
33700 paragraph: 'paragraph',
33701
33702 // A reference (`[alpha]` or `[]`).
33703 // Includes `referenceMarker` and an optional `referenceString`.
33704 reference: 'reference',
33705
33706 // A reference marker (`[` or `]`).
33707 referenceMarker: 'referenceMarker',
33708
33709 // Reference text (`alpha`).
33710 // Includes string.
33711 referenceString: 'referenceString',
33712
33713 // A resource (`(https://example.com "alpha")`).
33714 // Includes `resourceMarker`, an optional `resourceDestination` with an optional
33715 // `whitespace` and `resourceTitle`.
33716 resource: 'resource',
33717
33718 // A resource destination (`https://example.com`).
33719 // Includes `resourceDestinationLiteral` or `resourceDestinationRaw`.
33720 resourceDestination: 'resourceDestination',
33721
33722 // A literal resource destination (`<https://example.com>`).
33723 // Includes `resourceDestinationLiteralMarker` and optionally
33724 // `resourceDestinationString`.
33725 resourceDestinationLiteral: 'resourceDestinationLiteral',
33726
33727 // A resource destination marker (`<` or `>`).
33728 resourceDestinationLiteralMarker: 'resourceDestinationLiteralMarker',
33729
33730 // A raw resource destination (`https://example.com`).
33731 // Includes `resourceDestinationString`.
33732 resourceDestinationRaw: 'resourceDestinationRaw',
33733
33734 // Resource destination text (`https://example.com`).
33735 // Includes string.
33736 resourceDestinationString: 'resourceDestinationString',
33737
33738 // A resource marker (`(` or `)`).
33739 resourceMarker: 'resourceMarker',
33740
33741 // A resource title (`"alpha"`, `'alpha'`, or `(alpha)`).
33742 // Includes `resourceTitleMarker` and optionally `resourceTitleString`.
33743 resourceTitle: 'resourceTitle',
33744
33745 // A resource title marker (`"`, `'`, `(`, or `)`).
33746 resourceTitleMarker: 'resourceTitleMarker',
33747
33748 // Resource destination title (`alpha`).
33749 // Includes string.
33750 resourceTitleString: 'resourceTitleString',
33751
33752 // Whole setext heading:
33753 //
33754 // ```markdown
33755 // alpha
33756 // bravo
33757 // =====
33758 // ```
33759 //
33760 // Includes `setextHeadingText`, `lineEnding`, `linePrefix`, and
33761 // `setextHeadingLine`.
33762 setextHeading: 'setextHeading',
33763
33764 // Content in a setext heading (`alpha\nbravo`).
33765 // Includes text.
33766 setextHeadingText: 'setextHeadingText',
33767
33768 // Underline in a setext heading, including whitespace suffix (`==`).
33769 // Includes `setextHeadingLineSequence`.
33770 setextHeadingLine: 'setextHeadingLine',
33771
33772 // Sequence of equals or dash characters in underline in a setext heading (`-`).
33773 setextHeadingLineSequence: 'setextHeadingLineSequence',
33774
33775 // Strong (`**alpha**`).
33776 // Includes `strongSequence` and `strongText`.
33777 strong: 'strong',
33778
33779 // Sequence of strong markers (`**` or `__`).
33780 strongSequence: 'strongSequence',
33781
33782 // Strong text (`alpha`).
33783 // Includes text.
33784 strongText: 'strongText',
33785
33786 // Whole thematic break:
33787 //
33788 // ```markdown
33789 // * * *
33790 // ```
33791 //
33792 // Includes `thematicBreakSequence` and `whitespace`.
33793 thematicBreak: 'thematicBreak',
33794
33795 // A sequence of one or more thematic break markers (`***`).
33796 thematicBreakSequence: 'thematicBreakSequence',
33797
33798 // Whole block quote:
33799 //
33800 // ```markdown
33801 // > a
33802 // >
33803 // > b
33804 // ```
33805 //
33806 // Includes `blockQuotePrefix` and flow.
33807 blockQuote: 'blockQuote',
33808 // The `>` or `> ` of a block quote.
33809 blockQuotePrefix: 'blockQuotePrefix',
33810 // The `>` of a block quote prefix.
33811 blockQuoteMarker: 'blockQuoteMarker',
33812 // The optional ` ` of a block quote prefix.
33813 blockQuotePrefixWhitespace: 'blockQuotePrefixWhitespace',
33814
33815 // Whole unordered list:
33816 //
33817 // ```markdown
33818 // - a
33819 // b
33820 // ```
33821 //
33822 // Includes `listItemPrefix`, flow, and optionally `listItemIndent` on further
33823 // lines.
33824 listOrdered: 'listOrdered',
33825
33826 // Whole ordered list:
33827 //
33828 // ```markdown
33829 // 1. a
33830 // b
33831 // ```
33832 //
33833 // Includes `listItemPrefix`, flow, and optionally `listItemIndent` on further
33834 // lines.
33835 listUnordered: 'listUnordered',
33836
33837 // The indent of further list item lines.
33838 listItemIndent: 'listItemIndent',
33839
33840 // A marker, as in, `*`, `+`, `-`, `.`, or `)`.
33841 listItemMarker: 'listItemMarker',
33842
33843 // The thing that starts a list item, such as `1. `.
33844 // Includes `listItemValue` if ordered, `listItemMarker`, and
33845 // `listItemPrefixWhitespace` (unless followed by a line ending).
33846 listItemPrefix: 'listItemPrefix',
33847
33848 // The whitespace after a marker.
33849 listItemPrefixWhitespace: 'listItemPrefixWhitespace',
33850
33851 // The numerical value of an ordered item.
33852 listItemValue: 'listItemValue',
33853
33854 // Internal types used for subtokenizers, compiled away
33855 chunkDocument: 'chunkDocument',
33856 chunkContent: 'chunkContent',
33857 chunkFlow: 'chunkFlow',
33858 chunkText: 'chunkText',
33859 chunkString: 'chunkString'
33860 })
33861
33862
33863 /***/ }),
33864
33865 /***/ "../node_modules/micromark-util-symbol/values.js":
33866 /*!*******************************************************!*\
33867 !*** ../node_modules/micromark-util-symbol/values.js ***!
33868 \*******************************************************/
33869 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
33870
33871 "use strict";
33872 __webpack_require__.r(__webpack_exports__);
33873 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
33874 /* harmony export */ values: () => (/* binding */ values)
33875 /* harmony export */ });
33876 /**
33877 * This module is compiled away!
33878 *
33879 * While micromark works based on character codes, this module includes the
33880 * string versions of ’em.
33881 * The C0 block, except for LF, CR, HT, and w/ the replacement character added,
33882 * are available here.
33883 */
33884 const values = /** @type {const} */ ({
33885 ht: '\t',
33886 lf: '\n',
33887 cr: '\r',
33888 space: ' ',
33889 exclamationMark: '!',
33890 quotationMark: '"',
33891 numberSign: '#',
33892 dollarSign: '$',
33893 percentSign: '%',
33894 ampersand: '&',
33895 apostrophe: "'",
33896 leftParenthesis: '(',
33897 rightParenthesis: ')',
33898 asterisk: '*',
33899 plusSign: '+',
33900 comma: ',',
33901 dash: '-',
33902 dot: '.',
33903 slash: '/',
33904 digit0: '0',
33905 digit1: '1',
33906 digit2: '2',
33907 digit3: '3',
33908 digit4: '4',
33909 digit5: '5',
33910 digit6: '6',
33911 digit7: '7',
33912 digit8: '8',
33913 digit9: '9',
33914 colon: ':',
33915 semicolon: ';',
33916 lessThan: '<',
33917 equalsTo: '=',
33918 greaterThan: '>',
33919 questionMark: '?',
33920 atSign: '@',
33921 uppercaseA: 'A',
33922 uppercaseB: 'B',
33923 uppercaseC: 'C',
33924 uppercaseD: 'D',
33925 uppercaseE: 'E',
33926 uppercaseF: 'F',
33927 uppercaseG: 'G',
33928 uppercaseH: 'H',
33929 uppercaseI: 'I',
33930 uppercaseJ: 'J',
33931 uppercaseK: 'K',
33932 uppercaseL: 'L',
33933 uppercaseM: 'M',
33934 uppercaseN: 'N',
33935 uppercaseO: 'O',
33936 uppercaseP: 'P',
33937 uppercaseQ: 'Q',
33938 uppercaseR: 'R',
33939 uppercaseS: 'S',
33940 uppercaseT: 'T',
33941 uppercaseU: 'U',
33942 uppercaseV: 'V',
33943 uppercaseW: 'W',
33944 uppercaseX: 'X',
33945 uppercaseY: 'Y',
33946 uppercaseZ: 'Z',
33947 leftSquareBracket: '[',
33948 backslash: '\\',
33949 rightSquareBracket: ']',
33950 caret: '^',
33951 underscore: '_',
33952 graveAccent: '`',
33953 lowercaseA: 'a',
33954 lowercaseB: 'b',
33955 lowercaseC: 'c',
33956 lowercaseD: 'd',
33957 lowercaseE: 'e',
33958 lowercaseF: 'f',
33959 lowercaseG: 'g',
33960 lowercaseH: 'h',
33961 lowercaseI: 'i',
33962 lowercaseJ: 'j',
33963 lowercaseK: 'k',
33964 lowercaseL: 'l',
33965 lowercaseM: 'm',
33966 lowercaseN: 'n',
33967 lowercaseO: 'o',
33968 lowercaseP: 'p',
33969 lowercaseQ: 'q',
33970 lowercaseR: 'r',
33971 lowercaseS: 's',
33972 lowercaseT: 't',
33973 lowercaseU: 'u',
33974 lowercaseV: 'v',
33975 lowercaseW: 'w',
33976 lowercaseX: 'x',
33977 lowercaseY: 'y',
33978 lowercaseZ: 'z',
33979 leftCurlyBrace: '{',
33980 verticalBar: '|',
33981 rightCurlyBrace: '}',
33982 tilde: '~',
33983 replacementCharacter: ''
33984 })
33985
33986
33987 /***/ }),
33988
33989 /***/ "../node_modules/micromark/dev/lib/constructs.js":
33990 /*!*******************************************************!*\
33991 !*** ../node_modules/micromark/dev/lib/constructs.js ***!
33992 \*******************************************************/
33993 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
33994
33995 "use strict";
33996 __webpack_require__.r(__webpack_exports__);
33997 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
33998 /* harmony export */ attentionMarkers: () => (/* binding */ attentionMarkers),
33999 /* harmony export */ contentInitial: () => (/* binding */ contentInitial),
34000 /* harmony export */ disable: () => (/* binding */ disable),
34001 /* harmony export */ document: () => (/* binding */ document),
34002 /* harmony export */ flow: () => (/* binding */ flow),
34003 /* harmony export */ flowInitial: () => (/* binding */ flowInitial),
34004 /* harmony export */ insideSpan: () => (/* binding */ insideSpan),
34005 /* harmony export */ string: () => (/* binding */ string),
34006 /* harmony export */ text: () => (/* binding */ text)
34007 /* harmony export */ });
34008 /* harmony import */ var micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-core-commonmark */ "../node_modules/micromark-core-commonmark/dev/lib/list.js");
34009 /* 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");
34010 /* harmony import */ var micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! micromark-core-commonmark */ "../node_modules/micromark-core-commonmark/dev/lib/definition.js");
34011 /* 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");
34012 /* 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");
34013 /* 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");
34014 /* 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");
34015 /* 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");
34016 /* 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");
34017 /* 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");
34018 /* 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");
34019 /* 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");
34020 /* 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");
34021 /* harmony import */ var micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! micromark-core-commonmark */ "../node_modules/micromark-core-commonmark/dev/lib/attention.js");
34022 /* harmony import */ var micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! micromark-core-commonmark */ "../node_modules/micromark-core-commonmark/dev/lib/autolink.js");
34023 /* 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");
34024 /* 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");
34025 /* 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");
34026 /* 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");
34027 /* 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");
34028 /* 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");
34029 /* harmony import */ var _initialize_text_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./initialize/text.js */ "../node_modules/micromark/dev/lib/initialize/text.js");
34030 /**
34031 * @typedef {import('micromark-util-types').Extension} Extension
34032 */
34033
34034
34035
34036
34037
34038 /** @satisfies {Extension['document']} */
34039 const document = {
34040 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.asterisk]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_1__.list,
34041 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.plusSign]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_1__.list,
34042 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.dash]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_1__.list,
34043 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.digit0]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_1__.list,
34044 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.digit1]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_1__.list,
34045 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.digit2]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_1__.list,
34046 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.digit3]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_1__.list,
34047 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.digit4]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_1__.list,
34048 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.digit5]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_1__.list,
34049 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.digit6]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_1__.list,
34050 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.digit7]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_1__.list,
34051 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.digit8]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_1__.list,
34052 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.digit9]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_1__.list,
34053 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.greaterThan]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_2__.blockQuote
34054 }
34055
34056 /** @satisfies {Extension['contentInitial']} */
34057 const contentInitial = {
34058 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.leftSquareBracket]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_3__.definition
34059 }
34060
34061 /** @satisfies {Extension['flowInitial']} */
34062 const flowInitial = {
34063 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.horizontalTab]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_4__.codeIndented,
34064 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.virtualSpace]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_4__.codeIndented,
34065 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.space]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_4__.codeIndented
34066 }
34067
34068 /** @satisfies {Extension['flow']} */
34069 const flow = {
34070 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.numberSign]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_5__.headingAtx,
34071 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.asterisk]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_6__.thematicBreak,
34072 [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],
34073 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.lessThan]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_8__.htmlFlow,
34074 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.equalsTo]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_7__.setextUnderline,
34075 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.underscore]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_6__.thematicBreak,
34076 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.graveAccent]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_9__.codeFenced,
34077 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.tilde]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_9__.codeFenced
34078 }
34079
34080 /** @satisfies {Extension['string']} */
34081 const string = {
34082 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.ampersand]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_10__.characterReference,
34083 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.backslash]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_11__.characterEscape
34084 }
34085
34086 /** @satisfies {Extension['text']} */
34087 const text = {
34088 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.carriageReturn]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_12__.lineEnding,
34089 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.lineFeed]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_12__.lineEnding,
34090 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.carriageReturnLineFeed]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_12__.lineEnding,
34091 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.exclamationMark]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_13__.labelStartImage,
34092 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.ampersand]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_10__.characterReference,
34093 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.asterisk]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_14__.attention,
34094 [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],
34095 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.leftSquareBracket]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_17__.labelStartLink,
34096 [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],
34097 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.rightSquareBracket]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_19__.labelEnd,
34098 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.underscore]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_14__.attention,
34099 [micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.graveAccent]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_20__.codeText
34100 }
34101
34102 /** @satisfies {Extension['insideSpan']} */
34103 const insideSpan = {null: [micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_14__.attention, _initialize_text_js__WEBPACK_IMPORTED_MODULE_21__.resolver]}
34104
34105 /** @satisfies {Extension['attentionMarkers']} */
34106 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]}
34107
34108 /** @satisfies {Extension['disable']} */
34109 const disable = {null: []}
34110
34111
34112 /***/ }),
34113
34114 /***/ "../node_modules/micromark/dev/lib/create-tokenizer.js":
34115 /*!*************************************************************!*\
34116 !*** ../node_modules/micromark/dev/lib/create-tokenizer.js ***!
34117 \*************************************************************/
34118 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
34119
34120 "use strict";
34121 __webpack_require__.r(__webpack_exports__);
34122 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
34123 /* harmony export */ createTokenizer: () => (/* binding */ createTokenizer)
34124 /* harmony export */ });
34125 /* harmony import */ var debug__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! debug */ "../node_modules/debug/src/browser.js");
34126 /* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! micromark-util-character */ "../node_modules/micromark-util-character/dev/index.js");
34127 /* harmony import */ var micromark_util_chunked__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! micromark-util-chunked */ "../node_modules/micromark-util-chunked/dev/index.js");
34128 /* 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");
34129 /* 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");
34130 /* 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");
34131 /* harmony import */ var uvu_assert__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! uvu/assert */ "../node_modules/uvu/assert/index.mjs");
34132 /**
34133 * @typedef {import('micromark-util-types').Chunk} Chunk
34134 * @typedef {import('micromark-util-types').Code} Code
34135 * @typedef {import('micromark-util-types').Construct} Construct
34136 * @typedef {import('micromark-util-types').ConstructRecord} ConstructRecord
34137 * @typedef {import('micromark-util-types').Effects} Effects
34138 * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct
34139 * @typedef {import('micromark-util-types').ParseContext} ParseContext
34140 * @typedef {import('micromark-util-types').Point} Point
34141 * @typedef {import('micromark-util-types').State} State
34142 * @typedef {import('micromark-util-types').Token} Token
34143 * @typedef {import('micromark-util-types').TokenType} TokenType
34144 * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext
34145 */
34146
34147 /**
34148 * @callback Restore
34149 * @returns {void}
34150 *
34151 * @typedef Info
34152 * @property {Restore} restore
34153 * @property {number} from
34154 *
34155 * @callback ReturnHandle
34156 * Handle a successful run.
34157 * @param {Construct} construct
34158 * @param {Info} info
34159 * @returns {void}
34160 */
34161
34162
34163
34164
34165
34166
34167
34168
34169
34170 const debug = debug__WEBPACK_IMPORTED_MODULE_0__('micromark')
34171
34172 /**
34173 * Create a tokenizer.
34174 * Tokenizers deal with one type of data (e.g., containers, flow, text).
34175 * The parser is the object dealing with it all.
34176 * `initialize` works like other constructs, except that only its `tokenize`
34177 * function is used, in which case it doesn’t receive an `ok` or `nok`.
34178 * `from` can be given to set the point before the first character, although
34179 * when further lines are indented, they must be set with `defineSkip`.
34180 *
34181 * @param {ParseContext} parser
34182 * @param {InitialConstruct} initialize
34183 * @param {Omit<Point, '_bufferIndex' | '_index'> | undefined} [from]
34184 * @returns {TokenizeContext}
34185 */
34186 function createTokenizer(parser, initialize, from) {
34187 /** @type {Point} */
34188 let point = Object.assign(
34189 from ? Object.assign({}, from) : {line: 1, column: 1, offset: 0},
34190 {_index: 0, _bufferIndex: -1}
34191 )
34192 /** @type {Record<string, number>} */
34193 const columnStart = {}
34194 /** @type {Array<Construct>} */
34195 const resolveAllConstructs = []
34196 /** @type {Array<Chunk>} */
34197 let chunks = []
34198 /** @type {Array<Token>} */
34199 let stack = []
34200 /** @type {boolean | undefined} */
34201 let consumed = true
34202
34203 /**
34204 * Tools used for tokenizing.
34205 *
34206 * @type {Effects}
34207 */
34208 const effects = {
34209 consume,
34210 enter,
34211 exit,
34212 attempt: constructFactory(onsuccessfulconstruct),
34213 check: constructFactory(onsuccessfulcheck),
34214 interrupt: constructFactory(onsuccessfulcheck, {interrupt: true})
34215 }
34216
34217 /**
34218 * State and tools for resolving and serializing.
34219 *
34220 * @type {TokenizeContext}
34221 */
34222 const context = {
34223 previous: micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.eof,
34224 code: micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.eof,
34225 containerState: {},
34226 events: [],
34227 parser,
34228 sliceStream,
34229 sliceSerialize,
34230 now,
34231 defineSkip,
34232 write
34233 }
34234
34235 /**
34236 * The state function.
34237 *
34238 * @type {State | void}
34239 */
34240 let state = initialize.tokenize.call(context, effects)
34241
34242 /**
34243 * Track which character we expect to be consumed, to catch bugs.
34244 *
34245 * @type {Code}
34246 */
34247 let expectedCode
34248
34249 if (initialize.resolveAll) {
34250 resolveAllConstructs.push(initialize)
34251 }
34252
34253 return context
34254
34255 /** @type {TokenizeContext['write']} */
34256 function write(slice) {
34257 chunks = (0,micromark_util_chunked__WEBPACK_IMPORTED_MODULE_3__.push)(chunks, slice)
34258
34259 main()
34260
34261 // Exit if we’re not done, resolve might change stuff.
34262 if (chunks[chunks.length - 1] !== micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.eof) {
34263 return []
34264 }
34265
34266 addResult(initialize, 0)
34267
34268 // Otherwise, resolve, and exit.
34269 context.events = (0,micromark_util_resolve_all__WEBPACK_IMPORTED_MODULE_4__.resolveAll)(resolveAllConstructs, context.events, context)
34270
34271 return context.events
34272 }
34273
34274 //
34275 // Tools.
34276 //
34277
34278 /** @type {TokenizeContext['sliceSerialize']} */
34279 function sliceSerialize(token, expandTabs) {
34280 return serializeChunks(sliceStream(token), expandTabs)
34281 }
34282
34283 /** @type {TokenizeContext['sliceStream']} */
34284 function sliceStream(token) {
34285 return sliceChunks(chunks, token)
34286 }
34287
34288 /** @type {TokenizeContext['now']} */
34289 function now() {
34290 // This is a hot path, so we clone manually instead of `Object.assign({}, point)`
34291 const {line, column, offset, _index, _bufferIndex} = point
34292 return {line, column, offset, _index, _bufferIndex}
34293 }
34294
34295 /** @type {TokenizeContext['defineSkip']} */
34296 function defineSkip(value) {
34297 columnStart[value.line] = value.column
34298 accountForPotentialSkip()
34299 debug('position: define skip: `%j`', point)
34300 }
34301
34302 //
34303 // State management.
34304 //
34305
34306 /**
34307 * Main loop (note that `_index` and `_bufferIndex` in `point` are modified by
34308 * `consume`).
34309 * Here is where we walk through the chunks, which either include strings of
34310 * several characters, or numerical character codes.
34311 * The reason to do this in a loop instead of a call is so the stack can
34312 * drain.
34313 *
34314 * @returns {void}
34315 */
34316 function main() {
34317 /** @type {number} */
34318 let chunkIndex
34319
34320 while (point._index < chunks.length) {
34321 const chunk = chunks[point._index]
34322
34323 // If we’re in a buffer chunk, loop through it.
34324 if (typeof chunk === 'string') {
34325 chunkIndex = point._index
34326
34327 if (point._bufferIndex < 0) {
34328 point._bufferIndex = 0
34329 }
34330
34331 while (
34332 point._index === chunkIndex &&
34333 point._bufferIndex < chunk.length
34334 ) {
34335 go(chunk.charCodeAt(point._bufferIndex))
34336 }
34337 } else {
34338 go(chunk)
34339 }
34340 }
34341 }
34342
34343 /**
34344 * Deal with one code.
34345 *
34346 * @param {Code} code
34347 * @returns {void}
34348 */
34349 function go(code) {
34350 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_1__.ok)(consumed === true, 'expected character to be consumed')
34351 consumed = undefined
34352 debug('main: passing `%s` to %s', code, state && state.name)
34353 expectedCode = code
34354 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_1__.ok)(typeof state === 'function', 'expected state')
34355 state = state(code)
34356 }
34357
34358 /** @type {Effects['consume']} */
34359 function consume(code) {
34360 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_1__.ok)(code === expectedCode, 'expected given code to equal expected code')
34361
34362 debug('consume: `%s`', code)
34363
34364 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_1__.ok)(
34365 consumed === undefined,
34366 'expected code to not have been consumed: this might be because `return x(code)` instead of `return x` was used'
34367 )
34368 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_1__.ok)(
34369 code === null
34370 ? context.events.length === 0 ||
34371 context.events[context.events.length - 1][0] === 'exit'
34372 : context.events[context.events.length - 1][0] === 'enter',
34373 'expected last token to be open'
34374 )
34375
34376 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_5__.markdownLineEnding)(code)) {
34377 point.line++
34378 point.column = 1
34379 point.offset += code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.carriageReturnLineFeed ? 2 : 1
34380 accountForPotentialSkip()
34381 debug('position: after eol: `%j`', point)
34382 } else if (code !== micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.virtualSpace) {
34383 point.column++
34384 point.offset++
34385 }
34386
34387 // Not in a string chunk.
34388 if (point._bufferIndex < 0) {
34389 point._index++
34390 } else {
34391 point._bufferIndex++
34392
34393 // At end of string chunk.
34394 // @ts-expect-error Points w/ non-negative `_bufferIndex` reference
34395 // strings.
34396 if (point._bufferIndex === chunks[point._index].length) {
34397 point._bufferIndex = -1
34398 point._index++
34399 }
34400 }
34401
34402 // Expose the previous character.
34403 context.previous = code
34404
34405 // Mark as consumed.
34406 consumed = true
34407 }
34408
34409 /** @type {Effects['enter']} */
34410 function enter(type, fields) {
34411 /** @type {Token} */
34412 // @ts-expect-error Patch instead of assign required fields to help GC.
34413 const token = fields || {}
34414 token.type = type
34415 token.start = now()
34416
34417 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_1__.ok)(typeof type === 'string', 'expected string type')
34418 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_1__.ok)(type.length > 0, 'expected non-empty string')
34419 debug('enter: `%s`', type)
34420
34421 context.events.push(['enter', token, context])
34422
34423 stack.push(token)
34424
34425 return token
34426 }
34427
34428 /** @type {Effects['exit']} */
34429 function exit(type) {
34430 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_1__.ok)(typeof type === 'string', 'expected string type')
34431 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_1__.ok)(type.length > 0, 'expected non-empty string')
34432
34433 const token = stack.pop()
34434 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_1__.ok)(token, 'cannot close w/o open tokens')
34435 token.end = now()
34436
34437 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_1__.ok)(type === token.type, 'expected exit token to match current token')
34438
34439 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_1__.ok)(
34440 !(
34441 token.start._index === token.end._index &&
34442 token.start._bufferIndex === token.end._bufferIndex
34443 ),
34444 'expected non-empty token (`' + type + '`)'
34445 )
34446
34447 debug('exit: `%s`', token.type)
34448 context.events.push(['exit', token, context])
34449
34450 return token
34451 }
34452
34453 /**
34454 * Use results.
34455 *
34456 * @type {ReturnHandle}
34457 */
34458 function onsuccessfulconstruct(construct, info) {
34459 addResult(construct, info.from)
34460 }
34461
34462 /**
34463 * Discard results.
34464 *
34465 * @type {ReturnHandle}
34466 */
34467 function onsuccessfulcheck(_, info) {
34468 info.restore()
34469 }
34470
34471 /**
34472 * Factory to attempt/check/interrupt.
34473 *
34474 * @param {ReturnHandle} onreturn
34475 * @param {{interrupt?: boolean | undefined} | undefined} [fields]
34476 */
34477 function constructFactory(onreturn, fields) {
34478 return hook
34479
34480 /**
34481 * Handle either an object mapping codes to constructs, a list of
34482 * constructs, or a single construct.
34483 *
34484 * @param {Array<Construct> | Construct | ConstructRecord} constructs
34485 * @param {State} returnState
34486 * @param {State | undefined} [bogusState]
34487 * @returns {State}
34488 */
34489 function hook(constructs, returnState, bogusState) {
34490 /** @type {Array<Construct>} */
34491 let listOfConstructs
34492 /** @type {number} */
34493 let constructIndex
34494 /** @type {Construct} */
34495 let currentConstruct
34496 /** @type {Info} */
34497 let info
34498
34499 return Array.isArray(constructs)
34500 ? /* c8 ignore next 1 */
34501 handleListOfConstructs(constructs)
34502 : 'tokenize' in constructs
34503 ? // @ts-expect-error Looks like a construct.
34504 handleListOfConstructs([constructs])
34505 : handleMapOfConstructs(constructs)
34506
34507 /**
34508 * Handle a list of construct.
34509 *
34510 * @param {ConstructRecord} map
34511 * @returns {State}
34512 */
34513 function handleMapOfConstructs(map) {
34514 return start
34515
34516 /** @type {State} */
34517 function start(code) {
34518 const def = code !== null && map[code]
34519 const all = code !== null && map.null
34520 const list = [
34521 // To do: add more extension tests.
34522 /* c8 ignore next 2 */
34523 ...(Array.isArray(def) ? def : def ? [def] : []),
34524 ...(Array.isArray(all) ? all : all ? [all] : [])
34525 ]
34526
34527 return handleListOfConstructs(list)(code)
34528 }
34529 }
34530
34531 /**
34532 * Handle a list of construct.
34533 *
34534 * @param {Array<Construct>} list
34535 * @returns {State}
34536 */
34537 function handleListOfConstructs(list) {
34538 listOfConstructs = list
34539 constructIndex = 0
34540
34541 if (list.length === 0) {
34542 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_1__.ok)(bogusState, 'expected `bogusState` to be given')
34543 return bogusState
34544 }
34545
34546 return handleConstruct(list[constructIndex])
34547 }
34548
34549 /**
34550 * Handle a single construct.
34551 *
34552 * @param {Construct} construct
34553 * @returns {State}
34554 */
34555 function handleConstruct(construct) {
34556 return start
34557
34558 /** @type {State} */
34559 function start(code) {
34560 // To do: not needed to store if there is no bogus state, probably?
34561 // Currently doesn’t work because `inspect` in document does a check
34562 // w/o a bogus, which doesn’t make sense. But it does seem to help perf
34563 // by not storing.
34564 info = store()
34565 currentConstruct = construct
34566
34567 if (!construct.partial) {
34568 context.currentConstruct = construct
34569 }
34570
34571 // Always populated by defaults.
34572 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_1__.ok)(
34573 context.parser.constructs.disable.null,
34574 'expected `disable.null` to be populated'
34575 )
34576
34577 if (
34578 construct.name &&
34579 context.parser.constructs.disable.null.includes(construct.name)
34580 ) {
34581 return nok(code)
34582 }
34583
34584 return construct.tokenize.call(
34585 // If we do have fields, create an object w/ `context` as its
34586 // prototype.
34587 // This allows a “live binding”, which is needed for `interrupt`.
34588 fields ? Object.assign(Object.create(context), fields) : context,
34589 effects,
34590 ok,
34591 nok
34592 )(code)
34593 }
34594 }
34595
34596 /** @type {State} */
34597 function ok(code) {
34598 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_1__.ok)(code === expectedCode, 'expected code')
34599 consumed = true
34600 onreturn(currentConstruct, info)
34601 return returnState
34602 }
34603
34604 /** @type {State} */
34605 function nok(code) {
34606 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_1__.ok)(code === expectedCode, 'expected code')
34607 consumed = true
34608 info.restore()
34609
34610 if (++constructIndex < listOfConstructs.length) {
34611 return handleConstruct(listOfConstructs[constructIndex])
34612 }
34613
34614 return bogusState
34615 }
34616 }
34617 }
34618
34619 /**
34620 * @param {Construct} construct
34621 * @param {number} from
34622 * @returns {void}
34623 */
34624 function addResult(construct, from) {
34625 if (construct.resolveAll && !resolveAllConstructs.includes(construct)) {
34626 resolveAllConstructs.push(construct)
34627 }
34628
34629 if (construct.resolve) {
34630 (0,micromark_util_chunked__WEBPACK_IMPORTED_MODULE_3__.splice)(
34631 context.events,
34632 from,
34633 context.events.length - from,
34634 construct.resolve(context.events.slice(from), context)
34635 )
34636 }
34637
34638 if (construct.resolveTo) {
34639 context.events = construct.resolveTo(context.events, context)
34640 }
34641
34642 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_1__.ok)(
34643 construct.partial ||
34644 context.events.length === 0 ||
34645 context.events[context.events.length - 1][0] === 'exit',
34646 'expected last token to end'
34647 )
34648 }
34649
34650 /**
34651 * Store state.
34652 *
34653 * @returns {Info}
34654 */
34655 function store() {
34656 const startPoint = now()
34657 const startPrevious = context.previous
34658 const startCurrentConstruct = context.currentConstruct
34659 const startEventsIndex = context.events.length
34660 const startStack = Array.from(stack)
34661
34662 return {restore, from: startEventsIndex}
34663
34664 /**
34665 * Restore state.
34666 *
34667 * @returns {void}
34668 */
34669 function restore() {
34670 point = startPoint
34671 context.previous = startPrevious
34672 context.currentConstruct = startCurrentConstruct
34673 context.events.length = startEventsIndex
34674 stack = startStack
34675 accountForPotentialSkip()
34676 debug('position: restore: `%j`', point)
34677 }
34678 }
34679
34680 /**
34681 * Move the current point a bit forward in the line when it’s on a column
34682 * skip.
34683 *
34684 * @returns {void}
34685 */
34686 function accountForPotentialSkip() {
34687 if (point.line in columnStart && point.column < 2) {
34688 point.column = columnStart[point.line]
34689 point.offset += columnStart[point.line] - 1
34690 }
34691 }
34692 }
34693
34694 /**
34695 * Get the chunks from a slice of chunks in the range of a token.
34696 *
34697 * @param {Array<Chunk>} chunks
34698 * @param {Pick<Token, 'end' | 'start'>} token
34699 * @returns {Array<Chunk>}
34700 */
34701 function sliceChunks(chunks, token) {
34702 const startIndex = token.start._index
34703 const startBufferIndex = token.start._bufferIndex
34704 const endIndex = token.end._index
34705 const endBufferIndex = token.end._bufferIndex
34706 /** @type {Array<Chunk>} */
34707 let view
34708
34709 if (startIndex === endIndex) {
34710 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_1__.ok)(endBufferIndex > -1, 'expected non-negative end buffer index')
34711 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_1__.ok)(startBufferIndex > -1, 'expected non-negative start buffer index')
34712 // @ts-expect-error `_bufferIndex` is used on string chunks.
34713 view = [chunks[startIndex].slice(startBufferIndex, endBufferIndex)]
34714 } else {
34715 view = chunks.slice(startIndex, endIndex)
34716
34717 if (startBufferIndex > -1) {
34718 const head = view[0]
34719 if (typeof head === 'string') {
34720 view[0] = head.slice(startBufferIndex)
34721 } else {
34722 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_1__.ok)(startBufferIndex === 0, 'expected `startBufferIndex` to be `0`')
34723 view.shift()
34724 }
34725 }
34726
34727 if (endBufferIndex > 0) {
34728 // @ts-expect-error `_bufferIndex` is used on string chunks.
34729 view.push(chunks[endIndex].slice(0, endBufferIndex))
34730 }
34731 }
34732
34733 return view
34734 }
34735
34736 /**
34737 * Get the string value of a slice of chunks.
34738 *
34739 * @param {Array<Chunk>} chunks
34740 * @param {boolean | undefined} [expandTabs=false]
34741 * @returns {string}
34742 */
34743 function serializeChunks(chunks, expandTabs) {
34744 let index = -1
34745 /** @type {Array<string>} */
34746 const result = []
34747 /** @type {boolean | undefined} */
34748 let atTab
34749
34750 while (++index < chunks.length) {
34751 const chunk = chunks[index]
34752 /** @type {string} */
34753 let value
34754
34755 if (typeof chunk === 'string') {
34756 value = chunk
34757 } else
34758 switch (chunk) {
34759 case micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.carriageReturn: {
34760 value = micromark_util_symbol_values_js__WEBPACK_IMPORTED_MODULE_6__.values.cr
34761
34762 break
34763 }
34764
34765 case micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.lineFeed: {
34766 value = micromark_util_symbol_values_js__WEBPACK_IMPORTED_MODULE_6__.values.lf
34767
34768 break
34769 }
34770
34771 case micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.carriageReturnLineFeed: {
34772 value = micromark_util_symbol_values_js__WEBPACK_IMPORTED_MODULE_6__.values.cr + micromark_util_symbol_values_js__WEBPACK_IMPORTED_MODULE_6__.values.lf
34773
34774 break
34775 }
34776
34777 case micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.horizontalTab: {
34778 value = expandTabs ? micromark_util_symbol_values_js__WEBPACK_IMPORTED_MODULE_6__.values.space : micromark_util_symbol_values_js__WEBPACK_IMPORTED_MODULE_6__.values.ht
34779
34780 break
34781 }
34782
34783 case micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.virtualSpace: {
34784 if (!expandTabs && atTab) continue
34785 value = micromark_util_symbol_values_js__WEBPACK_IMPORTED_MODULE_6__.values.space
34786
34787 break
34788 }
34789
34790 default: {
34791 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_1__.ok)(typeof chunk === 'number', 'expected number')
34792 // Currently only replacement character.
34793 value = String.fromCharCode(chunk)
34794 }
34795 }
34796
34797 atTab = chunk === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_2__.codes.horizontalTab
34798 result.push(value)
34799 }
34800
34801 return result.join('')
34802 }
34803
34804
34805 /***/ }),
34806
34807 /***/ "../node_modules/micromark/dev/lib/initialize/content.js":
34808 /*!***************************************************************!*\
34809 !*** ../node_modules/micromark/dev/lib/initialize/content.js ***!
34810 \***************************************************************/
34811 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
34812
34813 "use strict";
34814 __webpack_require__.r(__webpack_exports__);
34815 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
34816 /* harmony export */ content: () => (/* binding */ content)
34817 /* harmony export */ });
34818 /* harmony import */ var micromark_factory_space__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! micromark-factory-space */ "../node_modules/micromark-factory-space/dev/index.js");
34819 /* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! micromark-util-character */ "../node_modules/micromark-util-character/dev/index.js");
34820 /* 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");
34821 /* 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");
34822 /* 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");
34823 /* harmony import */ var uvu_assert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uvu/assert */ "../node_modules/uvu/assert/index.mjs");
34824 /**
34825 * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct
34826 * @typedef {import('micromark-util-types').Initializer} Initializer
34827 * @typedef {import('micromark-util-types').State} State
34828 * @typedef {import('micromark-util-types').Token} Token
34829 * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext
34830 */
34831
34832
34833
34834
34835
34836
34837
34838
34839 /** @type {InitialConstruct} */
34840 const content = {tokenize: initializeContent}
34841
34842 /**
34843 * @this {TokenizeContext}
34844 * @type {Initializer}
34845 */
34846 function initializeContent(effects) {
34847 const contentStart = effects.attempt(
34848 this.parser.constructs.contentInitial,
34849 afterContentStartConstruct,
34850 paragraphInitial
34851 )
34852 /** @type {Token} */
34853 let previous
34854
34855 return contentStart
34856
34857 /** @type {State} */
34858 function afterContentStartConstruct(code) {
34859 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(
34860 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.eof || (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_2__.markdownLineEnding)(code),
34861 'expected eol or eof'
34862 )
34863
34864 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.eof) {
34865 effects.consume(code)
34866 return
34867 }
34868
34869 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_3__.types.lineEnding)
34870 effects.consume(code)
34871 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_3__.types.lineEnding)
34872 return (0,micromark_factory_space__WEBPACK_IMPORTED_MODULE_4__.factorySpace)(effects, contentStart, micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_3__.types.linePrefix)
34873 }
34874
34875 /** @type {State} */
34876 function paragraphInitial(code) {
34877 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(
34878 code !== micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.eof && !(0,micromark_util_character__WEBPACK_IMPORTED_MODULE_2__.markdownLineEnding)(code),
34879 'expected anything other than a line ending or EOF'
34880 )
34881 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_3__.types.paragraph)
34882 return lineStart(code)
34883 }
34884
34885 /** @type {State} */
34886 function lineStart(code) {
34887 const token = effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_3__.types.chunkText, {
34888 contentType: micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_5__.constants.contentTypeText,
34889 previous
34890 })
34891
34892 if (previous) {
34893 previous.next = token
34894 }
34895
34896 previous = token
34897
34898 return data(code)
34899 }
34900
34901 /** @type {State} */
34902 function data(code) {
34903 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.eof) {
34904 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_3__.types.chunkText)
34905 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_3__.types.paragraph)
34906 effects.consume(code)
34907 return
34908 }
34909
34910 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_2__.markdownLineEnding)(code)) {
34911 effects.consume(code)
34912 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_3__.types.chunkText)
34913 return lineStart
34914 }
34915
34916 // Data.
34917 effects.consume(code)
34918 return data
34919 }
34920 }
34921
34922
34923 /***/ }),
34924
34925 /***/ "../node_modules/micromark/dev/lib/initialize/document.js":
34926 /*!****************************************************************!*\
34927 !*** ../node_modules/micromark/dev/lib/initialize/document.js ***!
34928 \****************************************************************/
34929 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
34930
34931 "use strict";
34932 __webpack_require__.r(__webpack_exports__);
34933 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
34934 /* harmony export */ document: () => (/* binding */ document)
34935 /* harmony export */ });
34936 /* harmony import */ var micromark_factory_space__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! micromark-factory-space */ "../node_modules/micromark-factory-space/dev/index.js");
34937 /* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! micromark-util-character */ "../node_modules/micromark-util-character/dev/index.js");
34938 /* harmony import */ var micromark_util_chunked__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! micromark-util-chunked */ "../node_modules/micromark-util-chunked/dev/index.js");
34939 /* 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");
34940 /* 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");
34941 /* 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");
34942 /* harmony import */ var uvu_assert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uvu/assert */ "../node_modules/uvu/assert/index.mjs");
34943 /**
34944 * @typedef {import('micromark-util-types').Construct} Construct
34945 * @typedef {import('micromark-util-types').ContainerState} ContainerState
34946 * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct
34947 * @typedef {import('micromark-util-types').Initializer} Initializer
34948 * @typedef {import('micromark-util-types').Point} Point
34949 * @typedef {import('micromark-util-types').State} State
34950 * @typedef {import('micromark-util-types').Token} Token
34951 * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext
34952 * @typedef {import('micromark-util-types').Tokenizer} Tokenizer
34953 */
34954
34955 /**
34956 * @typedef {[Construct, ContainerState]} StackItem
34957 */
34958
34959
34960
34961
34962
34963
34964
34965
34966
34967 /** @type {InitialConstruct} */
34968 const document = {tokenize: initializeDocument}
34969
34970 /** @type {Construct} */
34971 const containerConstruct = {tokenize: tokenizeContainer}
34972
34973 /**
34974 * @this {TokenizeContext}
34975 * @type {Initializer}
34976 */
34977 function initializeDocument(effects) {
34978 const self = this
34979 /** @type {Array<StackItem>} */
34980 const stack = []
34981 let continued = 0
34982 /** @type {TokenizeContext | undefined} */
34983 let childFlow
34984 /** @type {Token | undefined} */
34985 let childToken
34986 /** @type {number} */
34987 let lineStartOffset
34988
34989 return start
34990
34991 /** @type {State} */
34992 function start(code) {
34993 // First we iterate through the open blocks, starting with the root
34994 // document, and descending through last children down to the last open
34995 // block.
34996 // Each block imposes a condition that the line must satisfy if the block is
34997 // to remain open.
34998 // For example, a block quote requires a `>` character.
34999 // A paragraph requires a non-blank line.
35000 // In this phase we may match all or just some of the open blocks.
35001 // But we cannot close unmatched blocks yet, because we may have a lazy
35002 // continuation line.
35003 if (continued < stack.length) {
35004 const item = stack[continued]
35005 self.containerState = item[1]
35006 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(
35007 item[0].continuation,
35008 'expected `continuation` to be defined on container construct'
35009 )
35010 return effects.attempt(
35011 item[0].continuation,
35012 documentContinue,
35013 checkNewContainers
35014 )(code)
35015 }
35016
35017 // Done.
35018 return checkNewContainers(code)
35019 }
35020
35021 /** @type {State} */
35022 function documentContinue(code) {
35023 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(
35024 self.containerState,
35025 'expected `containerState` to be defined after continuation'
35026 )
35027
35028 continued++
35029
35030 // Note: this field is called `_closeFlow` but it also closes containers.
35031 // Perhaps a good idea to rename it but it’s already used in the wild by
35032 // extensions.
35033 if (self.containerState._closeFlow) {
35034 self.containerState._closeFlow = undefined
35035
35036 if (childFlow) {
35037 closeFlow()
35038 }
35039
35040 // Note: this algorithm for moving events around is similar to the
35041 // algorithm when dealing with lazy lines in `writeToChild`.
35042 const indexBeforeExits = self.events.length
35043 let indexBeforeFlow = indexBeforeExits
35044 /** @type {Point | undefined} */
35045 let point
35046
35047 // Find the flow chunk.
35048 while (indexBeforeFlow--) {
35049 if (
35050 self.events[indexBeforeFlow][0] === 'exit' &&
35051 self.events[indexBeforeFlow][1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.chunkFlow
35052 ) {
35053 point = self.events[indexBeforeFlow][1].end
35054 break
35055 }
35056 }
35057
35058 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(point, 'could not find previous flow chunk')
35059
35060 exitContainers(continued)
35061
35062 // Fix positions.
35063 let index = indexBeforeExits
35064
35065 while (index < self.events.length) {
35066 self.events[index][1].end = Object.assign({}, point)
35067 index++
35068 }
35069
35070 // Inject the exits earlier (they’re still also at the end).
35071 (0,micromark_util_chunked__WEBPACK_IMPORTED_MODULE_2__.splice)(
35072 self.events,
35073 indexBeforeFlow + 1,
35074 0,
35075 self.events.slice(indexBeforeExits)
35076 )
35077
35078 // Discard the duplicate exits.
35079 self.events.length = index
35080
35081 return checkNewContainers(code)
35082 }
35083
35084 return start(code)
35085 }
35086
35087 /** @type {State} */
35088 function checkNewContainers(code) {
35089 // Next, after consuming the continuation markers for existing blocks, we
35090 // look for new block starts (e.g. `>` for a block quote).
35091 // If we encounter a new block start, we close any blocks unmatched in
35092 // step 1 before creating the new block as a child of the last matched
35093 // block.
35094 if (continued === stack.length) {
35095 // No need to `check` whether there’s a container, of `exitContainers`
35096 // would be moot.
35097 // We can instead immediately `attempt` to parse one.
35098 if (!childFlow) {
35099 return documentContinued(code)
35100 }
35101
35102 // If we have concrete content, such as block HTML or fenced code,
35103 // we can’t have containers “pierce” into them, so we can immediately
35104 // start.
35105 if (childFlow.currentConstruct && childFlow.currentConstruct.concrete) {
35106 return flowStart(code)
35107 }
35108
35109 // If we do have flow, it could still be a blank line,
35110 // but we’d be interrupting it w/ a new container if there’s a current
35111 // construct.
35112 // To do: next major: remove `_gfmTableDynamicInterruptHack` (no longer
35113 // needed in [email protected]).
35114 self.interrupt = Boolean(
35115 childFlow.currentConstruct && !childFlow._gfmTableDynamicInterruptHack
35116 )
35117 }
35118
35119 // Check if there is a new container.
35120 self.containerState = {}
35121 return effects.check(
35122 containerConstruct,
35123 thereIsANewContainer,
35124 thereIsNoNewContainer
35125 )(code)
35126 }
35127
35128 /** @type {State} */
35129 function thereIsANewContainer(code) {
35130 if (childFlow) closeFlow()
35131 exitContainers(continued)
35132 return documentContinued(code)
35133 }
35134
35135 /** @type {State} */
35136 function thereIsNoNewContainer(code) {
35137 self.parser.lazy[self.now().line] = continued !== stack.length
35138 lineStartOffset = self.now().offset
35139 return flowStart(code)
35140 }
35141
35142 /** @type {State} */
35143 function documentContinued(code) {
35144 // Try new containers.
35145 self.containerState = {}
35146 return effects.attempt(
35147 containerConstruct,
35148 containerContinue,
35149 flowStart
35150 )(code)
35151 }
35152
35153 /** @type {State} */
35154 function containerContinue(code) {
35155 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(
35156 self.currentConstruct,
35157 'expected `currentConstruct` to be defined on tokenizer'
35158 )
35159 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(
35160 self.containerState,
35161 'expected `containerState` to be defined on tokenizer'
35162 )
35163 continued++
35164 stack.push([self.currentConstruct, self.containerState])
35165 // Try another.
35166 return documentContinued(code)
35167 }
35168
35169 /** @type {State} */
35170 function flowStart(code) {
35171 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_3__.codes.eof) {
35172 if (childFlow) closeFlow()
35173 exitContainers(0)
35174 effects.consume(code)
35175 return
35176 }
35177
35178 childFlow = childFlow || self.parser.flow(self.now())
35179 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.chunkFlow, {
35180 contentType: micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_4__.constants.contentTypeFlow,
35181 previous: childToken,
35182 _tokenizer: childFlow
35183 })
35184
35185 return flowContinue(code)
35186 }
35187
35188 /** @type {State} */
35189 function flowContinue(code) {
35190 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_3__.codes.eof) {
35191 writeToChild(effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.chunkFlow), true)
35192 exitContainers(0)
35193 effects.consume(code)
35194 return
35195 }
35196
35197 if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_5__.markdownLineEnding)(code)) {
35198 effects.consume(code)
35199 writeToChild(effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.chunkFlow))
35200 // Get ready for the next line.
35201 continued = 0
35202 self.interrupt = undefined
35203 return start
35204 }
35205
35206 effects.consume(code)
35207 return flowContinue
35208 }
35209
35210 /**
35211 * @param {Token} token
35212 * @param {boolean | undefined} [eof]
35213 * @returns {void}
35214 */
35215 function writeToChild(token, eof) {
35216 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(childFlow, 'expected `childFlow` to be defined when continuing')
35217 const stream = self.sliceStream(token)
35218 if (eof) stream.push(null)
35219 token.previous = childToken
35220 if (childToken) childToken.next = token
35221 childToken = token
35222 childFlow.defineSkip(token.start)
35223 childFlow.write(stream)
35224
35225 // Alright, so we just added a lazy line:
35226 //
35227 // ```markdown
35228 // > a
35229 // b.
35230 //
35231 // Or:
35232 //
35233 // > ~~~c
35234 // d
35235 //
35236 // Or:
35237 //
35238 // > | e |
35239 // f
35240 // ```
35241 //
35242 // The construct in the second example (fenced code) does not accept lazy
35243 // lines, so it marked itself as done at the end of its first line, and
35244 // then the content construct parses `d`.
35245 // Most constructs in markdown match on the first line: if the first line
35246 // forms a construct, a non-lazy line can’t “unmake” it.
35247 //
35248 // The construct in the third example is potentially a GFM table, and
35249 // those are *weird*.
35250 // It *could* be a table, from the first line, if the following line
35251 // matches a condition.
35252 // In this case, that second line is lazy, which “unmakes” the first line
35253 // and turns the whole into one content block.
35254 //
35255 // We’ve now parsed the non-lazy and the lazy line, and can figure out
35256 // whether the lazy line started a new flow block.
35257 // If it did, we exit the current containers between the two flow blocks.
35258 if (self.parser.lazy[token.start.line]) {
35259 let index = childFlow.events.length
35260
35261 while (index--) {
35262 if (
35263 // The token starts before the line ending…
35264 childFlow.events[index][1].start.offset < lineStartOffset &&
35265 // …and either is not ended yet…
35266 (!childFlow.events[index][1].end ||
35267 // …or ends after it.
35268 childFlow.events[index][1].end.offset > lineStartOffset)
35269 ) {
35270 // Exit: there’s still something open, which means it’s a lazy line
35271 // part of something.
35272 return
35273 }
35274 }
35275
35276 // Note: this algorithm for moving events around is similar to the
35277 // algorithm when closing flow in `documentContinue`.
35278 const indexBeforeExits = self.events.length
35279 let indexBeforeFlow = indexBeforeExits
35280 /** @type {boolean | undefined} */
35281 let seen
35282 /** @type {Point | undefined} */
35283 let point
35284
35285 // Find the previous chunk (the one before the lazy line).
35286 while (indexBeforeFlow--) {
35287 if (
35288 self.events[indexBeforeFlow][0] === 'exit' &&
35289 self.events[indexBeforeFlow][1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.chunkFlow
35290 ) {
35291 if (seen) {
35292 point = self.events[indexBeforeFlow][1].end
35293 break
35294 }
35295
35296 seen = true
35297 }
35298 }
35299
35300 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(point, 'could not find previous flow chunk')
35301
35302 exitContainers(continued)
35303
35304 // Fix positions.
35305 index = indexBeforeExits
35306
35307 while (index < self.events.length) {
35308 self.events[index][1].end = Object.assign({}, point)
35309 index++
35310 }
35311
35312 // Inject the exits earlier (they’re still also at the end).
35313 (0,micromark_util_chunked__WEBPACK_IMPORTED_MODULE_2__.splice)(
35314 self.events,
35315 indexBeforeFlow + 1,
35316 0,
35317 self.events.slice(indexBeforeExits)
35318 )
35319
35320 // Discard the duplicate exits.
35321 self.events.length = index
35322 }
35323 }
35324
35325 /**
35326 * @param {number} size
35327 * @returns {void}
35328 */
35329 function exitContainers(size) {
35330 let index = stack.length
35331
35332 // Exit open containers.
35333 while (index-- > size) {
35334 const entry = stack[index]
35335 self.containerState = entry[1]
35336 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(
35337 entry[0].exit,
35338 'expected `exit` to be defined on container construct'
35339 )
35340 entry[0].exit.call(self, effects)
35341 }
35342
35343 stack.length = size
35344 }
35345
35346 function closeFlow() {
35347 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(
35348 self.containerState,
35349 'expected `containerState` to be defined when closing flow'
35350 )
35351 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(childFlow, 'expected `childFlow` to be defined when closing it')
35352 childFlow.write([micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_3__.codes.eof])
35353 childToken = undefined
35354 childFlow = undefined
35355 self.containerState._closeFlow = undefined
35356 }
35357 }
35358
35359 /**
35360 * @this {TokenizeContext}
35361 * @type {Tokenizer}
35362 */
35363 function tokenizeContainer(effects, ok, nok) {
35364 // Always populated by defaults.
35365 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(
35366 this.parser.constructs.disable.null,
35367 'expected `disable.null` to be populated'
35368 )
35369 return (0,micromark_factory_space__WEBPACK_IMPORTED_MODULE_6__.factorySpace)(
35370 effects,
35371 effects.attempt(this.parser.constructs.document, ok, nok),
35372 micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_1__.types.linePrefix,
35373 this.parser.constructs.disable.null.includes('codeIndented')
35374 ? undefined
35375 : micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_4__.constants.tabSize
35376 )
35377 }
35378
35379
35380 /***/ }),
35381
35382 /***/ "../node_modules/micromark/dev/lib/initialize/flow.js":
35383 /*!************************************************************!*\
35384 !*** ../node_modules/micromark/dev/lib/initialize/flow.js ***!
35385 \************************************************************/
35386 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
35387
35388 "use strict";
35389 __webpack_require__.r(__webpack_exports__);
35390 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
35391 /* harmony export */ flow: () => (/* binding */ flow)
35392 /* harmony export */ });
35393 /* 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");
35394 /* harmony import */ var micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! micromark-core-commonmark */ "../node_modules/micromark-core-commonmark/dev/lib/content.js");
35395 /* harmony import */ var micromark_factory_space__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! micromark-factory-space */ "../node_modules/micromark-factory-space/dev/index.js");
35396 /* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! micromark-util-character */ "../node_modules/micromark-util-character/dev/index.js");
35397 /* 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");
35398 /* 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");
35399 /* harmony import */ var uvu_assert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uvu/assert */ "../node_modules/uvu/assert/index.mjs");
35400 /**
35401 * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct
35402 * @typedef {import('micromark-util-types').Initializer} Initializer
35403 * @typedef {import('micromark-util-types').State} State
35404 * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext
35405 */
35406
35407
35408
35409
35410
35411
35412
35413
35414 /** @type {InitialConstruct} */
35415 const flow = {tokenize: initializeFlow}
35416
35417 /**
35418 * @this {TokenizeContext}
35419 * @type {Initializer}
35420 */
35421 function initializeFlow(effects) {
35422 const self = this
35423 const initial = effects.attempt(
35424 // Try to parse a blank line.
35425 micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_1__.blankLine,
35426 atBlankEnding,
35427 // Try to parse initial flow (essentially, only code).
35428 effects.attempt(
35429 this.parser.constructs.flowInitial,
35430 afterConstruct,
35431 (0,micromark_factory_space__WEBPACK_IMPORTED_MODULE_2__.factorySpace)(
35432 effects,
35433 effects.attempt(
35434 this.parser.constructs.flow,
35435 afterConstruct,
35436 effects.attempt(micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_3__.content, afterConstruct)
35437 ),
35438 micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.linePrefix
35439 )
35440 )
35441 )
35442
35443 return initial
35444
35445 /** @type {State} */
35446 function atBlankEnding(code) {
35447 ;(0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(
35448 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_5__.codes.eof || (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_6__.markdownLineEnding)(code),
35449 'expected eol or eof'
35450 )
35451
35452 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_5__.codes.eof) {
35453 effects.consume(code)
35454 return
35455 }
35456
35457 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.lineEndingBlank)
35458 effects.consume(code)
35459 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.lineEndingBlank)
35460 self.currentConstruct = undefined
35461 return initial
35462 }
35463
35464 /** @type {State} */
35465 function afterConstruct(code) {
35466 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(
35467 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_5__.codes.eof || (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_6__.markdownLineEnding)(code),
35468 'expected eol or eof'
35469 )
35470
35471 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_5__.codes.eof) {
35472 effects.consume(code)
35473 return
35474 }
35475
35476 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.lineEnding)
35477 effects.consume(code)
35478 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_4__.types.lineEnding)
35479 self.currentConstruct = undefined
35480 return initial
35481 }
35482 }
35483
35484
35485 /***/ }),
35486
35487 /***/ "../node_modules/micromark/dev/lib/initialize/text.js":
35488 /*!************************************************************!*\
35489 !*** ../node_modules/micromark/dev/lib/initialize/text.js ***!
35490 \************************************************************/
35491 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
35492
35493 "use strict";
35494 __webpack_require__.r(__webpack_exports__);
35495 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
35496 /* harmony export */ resolver: () => (/* binding */ resolver),
35497 /* harmony export */ string: () => (/* binding */ string),
35498 /* harmony export */ text: () => (/* binding */ text)
35499 /* harmony export */ });
35500 /* 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");
35501 /* 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");
35502 /* 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");
35503 /* harmony import */ var uvu_assert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uvu/assert */ "../node_modules/uvu/assert/index.mjs");
35504 /**
35505 * @typedef {import('micromark-util-types').Code} Code
35506 * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct
35507 * @typedef {import('micromark-util-types').Initializer} Initializer
35508 * @typedef {import('micromark-util-types').Resolver} Resolver
35509 * @typedef {import('micromark-util-types').State} State
35510 * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext
35511 */
35512
35513
35514
35515
35516
35517
35518 const resolver = {resolveAll: createResolver()}
35519 const string = initializeFactory('string')
35520 const text = initializeFactory('text')
35521
35522 /**
35523 * @param {'string' | 'text'} field
35524 * @returns {InitialConstruct}
35525 */
35526 function initializeFactory(field) {
35527 return {
35528 tokenize: initializeText,
35529 resolveAll: createResolver(
35530 field === 'text' ? resolveAllLineSuffixes : undefined
35531 )
35532 }
35533
35534 /**
35535 * @this {TokenizeContext}
35536 * @type {Initializer}
35537 */
35538 function initializeText(effects) {
35539 const self = this
35540 const constructs = this.parser.constructs[field]
35541 const text = effects.attempt(constructs, start, notText)
35542
35543 return start
35544
35545 /** @type {State} */
35546 function start(code) {
35547 return atBreak(code) ? text(code) : notText(code)
35548 }
35549
35550 /** @type {State} */
35551 function notText(code) {
35552 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.eof) {
35553 effects.consume(code)
35554 return
35555 }
35556
35557 effects.enter(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.data)
35558 effects.consume(code)
35559 return data
35560 }
35561
35562 /** @type {State} */
35563 function data(code) {
35564 if (atBreak(code)) {
35565 effects.exit(micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.data)
35566 return text(code)
35567 }
35568
35569 // Data.
35570 effects.consume(code)
35571 return data
35572 }
35573
35574 /**
35575 * @param {Code} code
35576 * @returns {boolean}
35577 */
35578 function atBreak(code) {
35579 if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.eof) {
35580 return true
35581 }
35582
35583 const list = constructs[code]
35584 let index = -1
35585
35586 if (list) {
35587 // Always populated by defaults.
35588 (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(Array.isArray(list), 'expected `disable.null` to be populated')
35589
35590 while (++index < list.length) {
35591 const item = list[index]
35592 if (!item.previous || item.previous.call(self, self.previous)) {
35593 return true
35594 }
35595 }
35596 }
35597
35598 return false
35599 }
35600 }
35601 }
35602
35603 /**
35604 * @param {Resolver | undefined} [extraResolver]
35605 * @returns {Resolver}
35606 */
35607 function createResolver(extraResolver) {
35608 return resolveAllText
35609
35610 /** @type {Resolver} */
35611 function resolveAllText(events, context) {
35612 let index = -1
35613 /** @type {number | undefined} */
35614 let enter
35615
35616 // A rather boring computation (to merge adjacent `data` events) which
35617 // improves mm performance by 29%.
35618 while (++index <= events.length) {
35619 if (enter === undefined) {
35620 if (events[index] && events[index][1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.data) {
35621 enter = index
35622 index++
35623 }
35624 } else if (!events[index] || events[index][1].type !== micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.data) {
35625 // Don’t do anything if there is one data token.
35626 if (index !== enter + 2) {
35627 events[enter][1].end = events[index - 1][1].end
35628 events.splice(enter + 2, index - enter - 2)
35629 index = enter + 2
35630 }
35631
35632 enter = undefined
35633 }
35634 }
35635
35636 return extraResolver ? extraResolver(events, context) : events
35637 }
35638 }
35639
35640 /**
35641 * A rather ugly set of instructions which again looks at chunks in the input
35642 * stream.
35643 * The reason to do this here is that it is *much* faster to parse in reverse.
35644 * And that we can’t hook into `null` to split the line suffix before an EOF.
35645 * To do: figure out if we can make this into a clean utility, or even in core.
35646 * As it will be useful for GFMs literal autolink extension (and maybe even
35647 * tables?)
35648 *
35649 * @type {Resolver}
35650 */
35651 function resolveAllLineSuffixes(events, context) {
35652 let eventIndex = 0 // Skip first.
35653
35654 while (++eventIndex <= events.length) {
35655 if (
35656 (eventIndex === events.length ||
35657 events[eventIndex][1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.lineEnding) &&
35658 events[eventIndex - 1][1].type === micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.data
35659 ) {
35660 const data = events[eventIndex - 1][1]
35661 const chunks = context.sliceStream(data)
35662 let index = chunks.length
35663 let bufferIndex = -1
35664 let size = 0
35665 /** @type {boolean | undefined} */
35666 let tabs
35667
35668 while (index--) {
35669 const chunk = chunks[index]
35670
35671 if (typeof chunk === 'string') {
35672 bufferIndex = chunk.length
35673
35674 while (chunk.charCodeAt(bufferIndex - 1) === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.space) {
35675 size++
35676 bufferIndex--
35677 }
35678
35679 if (bufferIndex) break
35680 bufferIndex = -1
35681 }
35682 // Number
35683 else if (chunk === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.horizontalTab) {
35684 tabs = true
35685 size++
35686 } else if (chunk === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.virtualSpace) {
35687 // Empty
35688 } else {
35689 // Replacement character, exit.
35690 index++
35691 break
35692 }
35693 }
35694
35695 if (size) {
35696 const token = {
35697 type:
35698 eventIndex === events.length ||
35699 tabs ||
35700 size < micromark_util_symbol_constants_js__WEBPACK_IMPORTED_MODULE_3__.constants.hardBreakPrefixSizeMin
35701 ? micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.lineSuffix
35702 : micromark_util_symbol_types_js__WEBPACK_IMPORTED_MODULE_2__.types.hardBreakTrailing,
35703 start: {
35704 line: data.end.line,
35705 column: data.end.column - size,
35706 offset: data.end.offset - size,
35707 _index: data.start._index + index,
35708 _bufferIndex: index
35709 ? bufferIndex
35710 : data.start._bufferIndex + bufferIndex
35711 },
35712 end: Object.assign({}, data.end)
35713 }
35714
35715 data.end = Object.assign({}, token.start)
35716
35717 if (data.start.offset === data.end.offset) {
35718 Object.assign(data, token)
35719 } else {
35720 events.splice(
35721 eventIndex,
35722 0,
35723 ['enter', token, context],
35724 ['exit', token, context]
35725 )
35726 eventIndex += 2
35727 }
35728 }
35729
35730 eventIndex++
35731 }
35732 }
35733
35734 return events
35735 }
35736
35737
35738 /***/ }),
35739
35740 /***/ "../node_modules/micromark/dev/lib/parse.js":
35741 /*!**************************************************!*\
35742 !*** ../node_modules/micromark/dev/lib/parse.js ***!
35743 \**************************************************/
35744 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
35745
35746 "use strict";
35747 __webpack_require__.r(__webpack_exports__);
35748 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
35749 /* harmony export */ parse: () => (/* binding */ parse)
35750 /* harmony export */ });
35751 /* 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");
35752 /* harmony import */ var _initialize_content_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./initialize/content.js */ "../node_modules/micromark/dev/lib/initialize/content.js");
35753 /* harmony import */ var _initialize_document_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./initialize/document.js */ "../node_modules/micromark/dev/lib/initialize/document.js");
35754 /* harmony import */ var _initialize_flow_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./initialize/flow.js */ "../node_modules/micromark/dev/lib/initialize/flow.js");
35755 /* harmony import */ var _initialize_text_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./initialize/text.js */ "../node_modules/micromark/dev/lib/initialize/text.js");
35756 /* harmony import */ var _create_tokenizer_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./create-tokenizer.js */ "../node_modules/micromark/dev/lib/create-tokenizer.js");
35757 /* harmony import */ var _constructs_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constructs.js */ "../node_modules/micromark/dev/lib/constructs.js");
35758 /**
35759 * @typedef {import('micromark-util-types').Create} Create
35760 * @typedef {import('micromark-util-types').FullNormalizedExtension} FullNormalizedExtension
35761 * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct
35762 * @typedef {import('micromark-util-types').ParseContext} ParseContext
35763 * @typedef {import('micromark-util-types').ParseOptions} ParseOptions
35764 */
35765
35766
35767
35768
35769
35770
35771
35772
35773
35774 /**
35775 * @param {ParseOptions | null | undefined} [options]
35776 * @returns {ParseContext}
35777 */
35778 function parse(options) {
35779 const settings = options || {}
35780 const constructs = /** @type {FullNormalizedExtension} */ (
35781 (0,micromark_util_combine_extensions__WEBPACK_IMPORTED_MODULE_0__.combineExtensions)([_constructs_js__WEBPACK_IMPORTED_MODULE_1__, ...(settings.extensions || [])])
35782 )
35783
35784 /** @type {ParseContext} */
35785 const parser = {
35786 defined: [],
35787 lazy: {},
35788 constructs,
35789 content: create(_initialize_content_js__WEBPACK_IMPORTED_MODULE_2__.content),
35790 document: create(_initialize_document_js__WEBPACK_IMPORTED_MODULE_3__.document),
35791 flow: create(_initialize_flow_js__WEBPACK_IMPORTED_MODULE_4__.flow),
35792 string: create(_initialize_text_js__WEBPACK_IMPORTED_MODULE_5__.string),
35793 text: create(_initialize_text_js__WEBPACK_IMPORTED_MODULE_5__.text)
35794 }
35795
35796 return parser
35797
35798 /**
35799 * @param {InitialConstruct} initial
35800 */
35801 function create(initial) {
35802 return creator
35803 /** @type {Create} */
35804 function creator(from) {
35805 return (0,_create_tokenizer_js__WEBPACK_IMPORTED_MODULE_6__.createTokenizer)(parser, initial, from)
35806 }
35807 }
35808 }
35809
35810
35811 /***/ }),
35812
35813 /***/ "../node_modules/micromark/dev/lib/postprocess.js":
35814 /*!********************************************************!*\
35815 !*** ../node_modules/micromark/dev/lib/postprocess.js ***!
35816 \********************************************************/
35817 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
35818
35819 "use strict";
35820 __webpack_require__.r(__webpack_exports__);
35821 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
35822 /* harmony export */ postprocess: () => (/* binding */ postprocess)
35823 /* harmony export */ });
35824 /* harmony import */ var micromark_util_subtokenize__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-util-subtokenize */ "../node_modules/micromark-util-subtokenize/dev/index.js");
35825 /**
35826 * @typedef {import('micromark-util-types').Event} Event
35827 */
35828
35829
35830
35831 /**
35832 * @param {Array<Event>} events
35833 * @returns {Array<Event>}
35834 */
35835 function postprocess(events) {
35836 while (!(0,micromark_util_subtokenize__WEBPACK_IMPORTED_MODULE_0__.subtokenize)(events)) {
35837 // Empty
35838 }
35839
35840 return events
35841 }
35842
35843
35844 /***/ }),
35845
35846 /***/ "../node_modules/micromark/dev/lib/preprocess.js":
35847 /*!*******************************************************!*\
35848 !*** ../node_modules/micromark/dev/lib/preprocess.js ***!
35849 \*******************************************************/
35850 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
35851
35852 "use strict";
35853 __webpack_require__.r(__webpack_exports__);
35854 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
35855 /* harmony export */ preprocess: () => (/* binding */ preprocess)
35856 /* harmony export */ });
35857 /* 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");
35858 /* 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");
35859 /**
35860 * @typedef {import('micromark-util-types').Chunk} Chunk
35861 * @typedef {import('micromark-util-types').Code} Code
35862 * @typedef {import('micromark-util-types').Encoding} Encoding
35863 * @typedef {import('micromark-util-types').Value} Value
35864 */
35865
35866 /**
35867 * @callback Preprocessor
35868 * @param {Value} value
35869 * @param {Encoding | null | undefined} [encoding]
35870 * @param {boolean | null | undefined} [end=false]
35871 * @returns {Array<Chunk>}
35872 */
35873
35874
35875
35876
35877 const search = /[\0\t\n\r]/g
35878
35879 /**
35880 * @returns {Preprocessor}
35881 */
35882 function preprocess() {
35883 let column = 1
35884 let buffer = ''
35885 /** @type {boolean | undefined} */
35886 let start = true
35887 /** @type {boolean | undefined} */
35888 let atCarriageReturn
35889
35890 return preprocessor
35891
35892 /** @type {Preprocessor} */
35893 function preprocessor(value, encoding, end) {
35894 /** @type {Array<Chunk>} */
35895 const chunks = []
35896 /** @type {RegExpMatchArray | null} */
35897 let match
35898 /** @type {number} */
35899 let next
35900 /** @type {number} */
35901 let startPosition
35902 /** @type {number} */
35903 let endPosition
35904 /** @type {Code} */
35905 let code
35906
35907 // @ts-expect-error `Buffer` does allow an encoding.
35908 value = buffer + value.toString(encoding)
35909 startPosition = 0
35910 buffer = ''
35911
35912 if (start) {
35913 // To do: `markdown-rs` actually parses BOMs (byte order mark).
35914 if (value.charCodeAt(0) === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.byteOrderMarker) {
35915 startPosition++
35916 }
35917
35918 start = undefined
35919 }
35920
35921 while (startPosition < value.length) {
35922 search.lastIndex = startPosition
35923 match = search.exec(value)
35924 endPosition =
35925 match && match.index !== undefined ? match.index : value.length
35926 code = value.charCodeAt(endPosition)
35927
35928 if (!match) {
35929 buffer = value.slice(startPosition)
35930 break
35931 }
35932
35933 if (
35934 code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.lf &&
35935 startPosition === endPosition &&
35936 atCarriageReturn
35937 ) {
35938 chunks.push(micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.carriageReturnLineFeed)
35939 atCarriageReturn = undefined
35940 } else {
35941 if (atCarriageReturn) {
35942 chunks.push(micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.carriageReturn)
35943 atCarriageReturn = undefined
35944 }
35945
35946 if (startPosition < endPosition) {
35947 chunks.push(value.slice(startPosition, endPosition))
35948 column += endPosition - startPosition
35949 }
35950
35951 switch (code) {
35952 case micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.nul: {
35953 chunks.push(micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.replacementCharacter)
35954 column++
35955
35956 break
35957 }
35958
35959 case micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.ht: {
35960 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
35961 chunks.push(micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.horizontalTab)
35962 while (column++ < next) chunks.push(micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.virtualSpace)
35963
35964 break
35965 }
35966
35967 case micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.lf: {
35968 chunks.push(micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.lineFeed)
35969 column = 1
35970
35971 break
35972 }
35973
35974 default: {
35975 atCarriageReturn = true
35976 column = 1
35977 }
35978 }
35979 }
35980
35981 startPosition = endPosition + 1
35982 }
35983
35984 if (end) {
35985 if (atCarriageReturn) chunks.push(micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.carriageReturn)
35986 if (buffer) chunks.push(buffer)
35987 chunks.push(micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_0__.codes.eof)
35988 }
35989
35990 return chunks
35991 }
35992 }
35993
35994
35995 /***/ }),
35996
35997 /***/ "../node_modules/property-information/index.js":
35998 /*!*****************************************************!*\
35999 !*** ../node_modules/property-information/index.js ***!
36000 \*****************************************************/
36001 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
36002
36003 "use strict";
36004 __webpack_require__.r(__webpack_exports__);
36005 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
36006 /* harmony export */ find: () => (/* reexport safe */ _lib_find_js__WEBPACK_IMPORTED_MODULE_0__.find),
36007 /* harmony export */ hastToReact: () => (/* reexport safe */ _lib_hast_to_react_js__WEBPACK_IMPORTED_MODULE_1__.hastToReact),
36008 /* harmony export */ html: () => (/* binding */ html),
36009 /* harmony export */ normalize: () => (/* reexport safe */ _lib_normalize_js__WEBPACK_IMPORTED_MODULE_2__.normalize),
36010 /* harmony export */ svg: () => (/* binding */ svg)
36011 /* harmony export */ });
36012 /* 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");
36013 /* harmony import */ var _lib_xlink_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./lib/xlink.js */ "../node_modules/property-information/lib/xlink.js");
36014 /* harmony import */ var _lib_xml_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./lib/xml.js */ "../node_modules/property-information/lib/xml.js");
36015 /* harmony import */ var _lib_xmlns_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./lib/xmlns.js */ "../node_modules/property-information/lib/xmlns.js");
36016 /* harmony import */ var _lib_aria_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./lib/aria.js */ "../node_modules/property-information/lib/aria.js");
36017 /* harmony import */ var _lib_html_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./lib/html.js */ "../node_modules/property-information/lib/html.js");
36018 /* harmony import */ var _lib_svg_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./lib/svg.js */ "../node_modules/property-information/lib/svg.js");
36019 /* harmony import */ var _lib_find_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lib/find.js */ "../node_modules/property-information/lib/find.js");
36020 /* 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");
36021 /* harmony import */ var _lib_normalize_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./lib/normalize.js */ "../node_modules/property-information/lib/normalize.js");
36022 /**
36023 * @typedef {import('./lib/util/info.js').Info} Info
36024 * @typedef {import('./lib/util/schema.js').Schema} Schema
36025 */
36026
36027
36028
36029
36030
36031
36032
36033
36034
36035
36036
36037
36038 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')
36039 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')
36040
36041
36042 /***/ }),
36043
36044 /***/ "../node_modules/property-information/lib/aria.js":
36045 /*!********************************************************!*\
36046 !*** ../node_modules/property-information/lib/aria.js ***!
36047 \********************************************************/
36048 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
36049
36050 "use strict";
36051 __webpack_require__.r(__webpack_exports__);
36052 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
36053 /* harmony export */ aria: () => (/* binding */ aria)
36054 /* harmony export */ });
36055 /* harmony import */ var _util_types_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./util/types.js */ "../node_modules/property-information/lib/util/types.js");
36056 /* harmony import */ var _util_create_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util/create.js */ "../node_modules/property-information/lib/util/create.js");
36057
36058
36059
36060 const aria = (0,_util_create_js__WEBPACK_IMPORTED_MODULE_0__.create)({
36061 transform(_, prop) {
36062 return prop === 'role' ? prop : 'aria-' + prop.slice(4).toLowerCase()
36063 },
36064 properties: {
36065 ariaActiveDescendant: null,
36066 ariaAtomic: _util_types_js__WEBPACK_IMPORTED_MODULE_1__.booleanish,
36067 ariaAutoComplete: null,
36068 ariaBusy: _util_types_js__WEBPACK_IMPORTED_MODULE_1__.booleanish,
36069 ariaChecked: _util_types_js__WEBPACK_IMPORTED_MODULE_1__.booleanish,
36070 ariaColCount: _util_types_js__WEBPACK_IMPORTED_MODULE_1__.number,
36071 ariaColIndex: _util_types_js__WEBPACK_IMPORTED_MODULE_1__.number,
36072 ariaColSpan: _util_types_js__WEBPACK_IMPORTED_MODULE_1__.number,
36073 ariaControls: _util_types_js__WEBPACK_IMPORTED_MODULE_1__.spaceSeparated,
36074 ariaCurrent: null,
36075 ariaDescribedBy: _util_types_js__WEBPACK_IMPORTED_MODULE_1__.spaceSeparated,
36076 ariaDetails: null,
36077 ariaDisabled: _util_types_js__WEBPACK_IMPORTED_MODULE_1__.booleanish,
36078 ariaDropEffect: _util_types_js__WEBPACK_IMPORTED_MODULE_1__.spaceSeparated,
36079 ariaErrorMessage: null,
36080 ariaExpanded: _util_types_js__WEBPACK_IMPORTED_MODULE_1__.booleanish,
36081 ariaFlowTo: _util_types_js__WEBPACK_IMPORTED_MODULE_1__.spaceSeparated,
36082 ariaGrabbed: _util_types_js__WEBPACK_IMPORTED_MODULE_1__.booleanish,
36083 ariaHasPopup: null,
36084 ariaHidden: _util_types_js__WEBPACK_IMPORTED_MODULE_1__.booleanish,
36085 ariaInvalid: null,
36086 ariaKeyShortcuts: null,
36087 ariaLabel: null,
36088 ariaLabelledBy: _util_types_js__WEBPACK_IMPORTED_MODULE_1__.spaceSeparated,
36089 ariaLevel: _util_types_js__WEBPACK_IMPORTED_MODULE_1__.number,
36090 ariaLive: null,
36091 ariaModal: _util_types_js__WEBPACK_IMPORTED_MODULE_1__.booleanish,
36092 ariaMultiLine: _util_types_js__WEBPACK_IMPORTED_MODULE_1__.booleanish,
36093 ariaMultiSelectable: _util_types_js__WEBPACK_IMPORTED_MODULE_1__.booleanish,
36094 ariaOrientation: null,
36095 ariaOwns: _util_types_js__WEBPACK_IMPORTED_MODULE_1__.spaceSeparated,
36096 ariaPlaceholder: null,
36097 ariaPosInSet: _util_types_js__WEBPACK_IMPORTED_MODULE_1__.number,
36098 ariaPressed: _util_types_js__WEBPACK_IMPORTED_MODULE_1__.booleanish,
36099 ariaReadOnly: _util_types_js__WEBPACK_IMPORTED_MODULE_1__.booleanish,
36100 ariaRelevant: null,
36101 ariaRequired: _util_types_js__WEBPACK_IMPORTED_MODULE_1__.booleanish,
36102 ariaRoleDescription: _util_types_js__WEBPACK_IMPORTED_MODULE_1__.spaceSeparated,
36103 ariaRowCount: _util_types_js__WEBPACK_IMPORTED_MODULE_1__.number,
36104 ariaRowIndex: _util_types_js__WEBPACK_IMPORTED_MODULE_1__.number,
36105 ariaRowSpan: _util_types_js__WEBPACK_IMPORTED_MODULE_1__.number,
36106 ariaSelected: _util_types_js__WEBPACK_IMPORTED_MODULE_1__.booleanish,
36107 ariaSetSize: _util_types_js__WEBPACK_IMPORTED_MODULE_1__.number,
36108 ariaSort: null,
36109 ariaValueMax: _util_types_js__WEBPACK_IMPORTED_MODULE_1__.number,
36110 ariaValueMin: _util_types_js__WEBPACK_IMPORTED_MODULE_1__.number,
36111 ariaValueNow: _util_types_js__WEBPACK_IMPORTED_MODULE_1__.number,
36112 ariaValueText: null,
36113 role: null
36114 }
36115 })
36116
36117
36118 /***/ }),
36119
36120 /***/ "../node_modules/property-information/lib/find.js":
36121 /*!********************************************************!*\
36122 !*** ../node_modules/property-information/lib/find.js ***!
36123 \********************************************************/
36124 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
36125
36126 "use strict";
36127 __webpack_require__.r(__webpack_exports__);
36128 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
36129 /* harmony export */ find: () => (/* binding */ find)
36130 /* harmony export */ });
36131 /* harmony import */ var _normalize_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./normalize.js */ "../node_modules/property-information/lib/normalize.js");
36132 /* 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");
36133 /* harmony import */ var _util_info_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./util/info.js */ "../node_modules/property-information/lib/util/info.js");
36134 /**
36135 * @typedef {import('./util/schema.js').Schema} Schema
36136 */
36137
36138
36139
36140
36141
36142 const valid = /^data[-\w.:]+$/i
36143 const dash = /-[a-z]/g
36144 const cap = /[A-Z]/g
36145
36146 /**
36147 * @param {Schema} schema
36148 * @param {string} value
36149 * @returns {Info}
36150 */
36151 function find(schema, value) {
36152 const normal = (0,_normalize_js__WEBPACK_IMPORTED_MODULE_0__.normalize)(value)
36153 let prop = value
36154 let Type = _util_info_js__WEBPACK_IMPORTED_MODULE_1__.Info
36155
36156 if (normal in schema.normal) {
36157 return schema.property[schema.normal[normal]]
36158 }
36159
36160 if (normal.length > 4 && normal.slice(0, 4) === 'data' && valid.test(value)) {
36161 // Attribute or property.
36162 if (value.charAt(4) === '-') {
36163 // Turn it into a property.
36164 const rest = value.slice(5).replace(dash, camelcase)
36165 prop = 'data' + rest.charAt(0).toUpperCase() + rest.slice(1)
36166 } else {
36167 // Turn it into an attribute.
36168 const rest = value.slice(4)
36169
36170 if (!dash.test(rest)) {
36171 let dashes = rest.replace(cap, kebab)
36172
36173 if (dashes.charAt(0) !== '-') {
36174 dashes = '-' + dashes
36175 }
36176
36177 value = 'data' + dashes
36178 }
36179 }
36180
36181 Type = _util_defined_info_js__WEBPACK_IMPORTED_MODULE_2__.DefinedInfo
36182 }
36183
36184 return new Type(prop, value)
36185 }
36186
36187 /**
36188 * @param {string} $0
36189 * @returns {string}
36190 */
36191 function kebab($0) {
36192 return '-' + $0.toLowerCase()
36193 }
36194
36195 /**
36196 * @param {string} $0
36197 * @returns {string}
36198 */
36199 function camelcase($0) {
36200 return $0.charAt(1).toUpperCase()
36201 }
36202
36203
36204 /***/ }),
36205
36206 /***/ "../node_modules/property-information/lib/hast-to-react.js":
36207 /*!*****************************************************************!*\
36208 !*** ../node_modules/property-information/lib/hast-to-react.js ***!
36209 \*****************************************************************/
36210 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
36211
36212 "use strict";
36213 __webpack_require__.r(__webpack_exports__);
36214 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
36215 /* harmony export */ hastToReact: () => (/* binding */ hastToReact)
36216 /* harmony export */ });
36217 /**
36218 * `hast` is close to `React`, but differs in a couple of cases.
36219 *
36220 * To get a React property from a hast property, check if it is in
36221 * `hastToReact`, if it is, then use the corresponding value,
36222 * otherwise, use the hast property.
36223 *
36224 * @type {Record<string, string>}
36225 */
36226 const hastToReact = {
36227 classId: 'classID',
36228 dataType: 'datatype',
36229 itemId: 'itemID',
36230 strokeDashArray: 'strokeDasharray',
36231 strokeDashOffset: 'strokeDashoffset',
36232 strokeLineCap: 'strokeLinecap',
36233 strokeLineJoin: 'strokeLinejoin',
36234 strokeMiterLimit: 'strokeMiterlimit',
36235 typeOf: 'typeof',
36236 xLinkActuate: 'xlinkActuate',
36237 xLinkArcRole: 'xlinkArcrole',
36238 xLinkHref: 'xlinkHref',
36239 xLinkRole: 'xlinkRole',
36240 xLinkShow: 'xlinkShow',
36241 xLinkTitle: 'xlinkTitle',
36242 xLinkType: 'xlinkType',
36243 xmlnsXLink: 'xmlnsXlink'
36244 }
36245
36246
36247 /***/ }),
36248
36249 /***/ "../node_modules/property-information/lib/html.js":
36250 /*!********************************************************!*\
36251 !*** ../node_modules/property-information/lib/html.js ***!
36252 \********************************************************/
36253 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
36254
36255 "use strict";
36256 __webpack_require__.r(__webpack_exports__);
36257 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
36258 /* harmony export */ html: () => (/* binding */ html)
36259 /* harmony export */ });
36260 /* harmony import */ var _util_types_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./util/types.js */ "../node_modules/property-information/lib/util/types.js");
36261 /* harmony import */ var _util_create_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util/create.js */ "../node_modules/property-information/lib/util/create.js");
36262 /* 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");
36263
36264
36265
36266
36267 const html = (0,_util_create_js__WEBPACK_IMPORTED_MODULE_0__.create)({
36268 space: 'html',
36269 attributes: {
36270 acceptcharset: 'accept-charset',
36271 classname: 'class',
36272 htmlfor: 'for',
36273 httpequiv: 'http-equiv'
36274 },
36275 transform: _util_case_insensitive_transform_js__WEBPACK_IMPORTED_MODULE_1__.caseInsensitiveTransform,
36276 mustUseProperty: ['checked', 'multiple', 'muted', 'selected'],
36277 properties: {
36278 // Standard Properties.
36279 abbr: null,
36280 accept: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.commaSeparated,
36281 acceptCharset: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.spaceSeparated,
36282 accessKey: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.spaceSeparated,
36283 action: null,
36284 allow: null,
36285 allowFullScreen: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean,
36286 allowPaymentRequest: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean,
36287 allowUserMedia: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean,
36288 alt: null,
36289 as: null,
36290 async: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean,
36291 autoCapitalize: null,
36292 autoComplete: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.spaceSeparated,
36293 autoFocus: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean,
36294 autoPlay: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean,
36295 capture: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean,
36296 charSet: null,
36297 checked: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean,
36298 cite: null,
36299 className: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.spaceSeparated,
36300 cols: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36301 colSpan: null,
36302 content: null,
36303 contentEditable: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.booleanish,
36304 controls: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean,
36305 controlsList: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.spaceSeparated,
36306 coords: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number | _util_types_js__WEBPACK_IMPORTED_MODULE_2__.commaSeparated,
36307 crossOrigin: null,
36308 data: null,
36309 dateTime: null,
36310 decoding: null,
36311 default: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean,
36312 defer: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean,
36313 dir: null,
36314 dirName: null,
36315 disabled: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean,
36316 download: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.overloadedBoolean,
36317 draggable: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.booleanish,
36318 encType: null,
36319 enterKeyHint: null,
36320 form: null,
36321 formAction: null,
36322 formEncType: null,
36323 formMethod: null,
36324 formNoValidate: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean,
36325 formTarget: null,
36326 headers: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.spaceSeparated,
36327 height: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36328 hidden: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean,
36329 high: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36330 href: null,
36331 hrefLang: null,
36332 htmlFor: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.spaceSeparated,
36333 httpEquiv: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.spaceSeparated,
36334 id: null,
36335 imageSizes: null,
36336 imageSrcSet: null,
36337 inputMode: null,
36338 integrity: null,
36339 is: null,
36340 isMap: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean,
36341 itemId: null,
36342 itemProp: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.spaceSeparated,
36343 itemRef: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.spaceSeparated,
36344 itemScope: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean,
36345 itemType: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.spaceSeparated,
36346 kind: null,
36347 label: null,
36348 lang: null,
36349 language: null,
36350 list: null,
36351 loading: null,
36352 loop: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean,
36353 low: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36354 manifest: null,
36355 max: null,
36356 maxLength: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36357 media: null,
36358 method: null,
36359 min: null,
36360 minLength: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36361 multiple: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean,
36362 muted: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean,
36363 name: null,
36364 nonce: null,
36365 noModule: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean,
36366 noValidate: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean,
36367 onAbort: null,
36368 onAfterPrint: null,
36369 onAuxClick: null,
36370 onBeforeMatch: null,
36371 onBeforePrint: null,
36372 onBeforeUnload: null,
36373 onBlur: null,
36374 onCancel: null,
36375 onCanPlay: null,
36376 onCanPlayThrough: null,
36377 onChange: null,
36378 onClick: null,
36379 onClose: null,
36380 onContextLost: null,
36381 onContextMenu: null,
36382 onContextRestored: null,
36383 onCopy: null,
36384 onCueChange: null,
36385 onCut: null,
36386 onDblClick: null,
36387 onDrag: null,
36388 onDragEnd: null,
36389 onDragEnter: null,
36390 onDragExit: null,
36391 onDragLeave: null,
36392 onDragOver: null,
36393 onDragStart: null,
36394 onDrop: null,
36395 onDurationChange: null,
36396 onEmptied: null,
36397 onEnded: null,
36398 onError: null,
36399 onFocus: null,
36400 onFormData: null,
36401 onHashChange: null,
36402 onInput: null,
36403 onInvalid: null,
36404 onKeyDown: null,
36405 onKeyPress: null,
36406 onKeyUp: null,
36407 onLanguageChange: null,
36408 onLoad: null,
36409 onLoadedData: null,
36410 onLoadedMetadata: null,
36411 onLoadEnd: null,
36412 onLoadStart: null,
36413 onMessage: null,
36414 onMessageError: null,
36415 onMouseDown: null,
36416 onMouseEnter: null,
36417 onMouseLeave: null,
36418 onMouseMove: null,
36419 onMouseOut: null,
36420 onMouseOver: null,
36421 onMouseUp: null,
36422 onOffline: null,
36423 onOnline: null,
36424 onPageHide: null,
36425 onPageShow: null,
36426 onPaste: null,
36427 onPause: null,
36428 onPlay: null,
36429 onPlaying: null,
36430 onPopState: null,
36431 onProgress: null,
36432 onRateChange: null,
36433 onRejectionHandled: null,
36434 onReset: null,
36435 onResize: null,
36436 onScroll: null,
36437 onScrollEnd: null,
36438 onSecurityPolicyViolation: null,
36439 onSeeked: null,
36440 onSeeking: null,
36441 onSelect: null,
36442 onSlotChange: null,
36443 onStalled: null,
36444 onStorage: null,
36445 onSubmit: null,
36446 onSuspend: null,
36447 onTimeUpdate: null,
36448 onToggle: null,
36449 onUnhandledRejection: null,
36450 onUnload: null,
36451 onVolumeChange: null,
36452 onWaiting: null,
36453 onWheel: null,
36454 open: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean,
36455 optimum: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36456 pattern: null,
36457 ping: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.spaceSeparated,
36458 placeholder: null,
36459 playsInline: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean,
36460 poster: null,
36461 preload: null,
36462 readOnly: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean,
36463 referrerPolicy: null,
36464 rel: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.spaceSeparated,
36465 required: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean,
36466 reversed: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean,
36467 rows: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36468 rowSpan: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36469 sandbox: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.spaceSeparated,
36470 scope: null,
36471 scoped: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean,
36472 seamless: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean,
36473 selected: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean,
36474 shape: null,
36475 size: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36476 sizes: null,
36477 slot: null,
36478 span: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36479 spellCheck: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.booleanish,
36480 src: null,
36481 srcDoc: null,
36482 srcLang: null,
36483 srcSet: null,
36484 start: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36485 step: null,
36486 style: null,
36487 tabIndex: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36488 target: null,
36489 title: null,
36490 translate: null,
36491 type: null,
36492 typeMustMatch: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean,
36493 useMap: null,
36494 value: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.booleanish,
36495 width: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36496 wrap: null,
36497
36498 // Legacy.
36499 // See: https://html.spec.whatwg.org/#other-elements,-attributes-and-apis
36500 align: null, // Several. Use CSS `text-align` instead,
36501 aLink: null, // `<body>`. Use CSS `a:active {color}` instead
36502 archive: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.spaceSeparated, // `<object>`. List of URIs to archives
36503 axis: null, // `<td>` and `<th>`. Use `scope` on `<th>`
36504 background: null, // `<body>`. Use CSS `background-image` instead
36505 bgColor: null, // `<body>` and table elements. Use CSS `background-color` instead
36506 border: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number, // `<table>`. Use CSS `border-width` instead,
36507 borderColor: null, // `<table>`. Use CSS `border-color` instead,
36508 bottomMargin: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number, // `<body>`
36509 cellPadding: null, // `<table>`
36510 cellSpacing: null, // `<table>`
36511 char: null, // Several table elements. When `align=char`, sets the character to align on
36512 charOff: null, // Several table elements. When `char`, offsets the alignment
36513 classId: null, // `<object>`
36514 clear: null, // `<br>`. Use CSS `clear` instead
36515 code: null, // `<object>`
36516 codeBase: null, // `<object>`
36517 codeType: null, // `<object>`
36518 color: null, // `<font>` and `<hr>`. Use CSS instead
36519 compact: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean, // Lists. Use CSS to reduce space between items instead
36520 declare: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean, // `<object>`
36521 event: null, // `<script>`
36522 face: null, // `<font>`. Use CSS instead
36523 frame: null, // `<table>`
36524 frameBorder: null, // `<iframe>`. Use CSS `border` instead
36525 hSpace: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number, // `<img>` and `<object>`
36526 leftMargin: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number, // `<body>`
36527 link: null, // `<body>`. Use CSS `a:link {color: *}` instead
36528 longDesc: null, // `<frame>`, `<iframe>`, and `<img>`. Use an `<a>`
36529 lowSrc: null, // `<img>`. Use a `<picture>`
36530 marginHeight: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number, // `<body>`
36531 marginWidth: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number, // `<body>`
36532 noResize: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean, // `<frame>`
36533 noHref: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean, // `<area>`. Use no href instead of an explicit `nohref`
36534 noShade: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean, // `<hr>`. Use background-color and height instead of borders
36535 noWrap: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean, // `<td>` and `<th>`
36536 object: null, // `<applet>`
36537 profile: null, // `<head>`
36538 prompt: null, // `<isindex>`
36539 rev: null, // `<link>`
36540 rightMargin: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number, // `<body>`
36541 rules: null, // `<table>`
36542 scheme: null, // `<meta>`
36543 scrolling: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.booleanish, // `<frame>`. Use overflow in the child context
36544 standby: null, // `<object>`
36545 summary: null, // `<table>`
36546 text: null, // `<body>`. Use CSS `color` instead
36547 topMargin: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number, // `<body>`
36548 valueType: null, // `<param>`
36549 version: null, // `<html>`. Use a doctype.
36550 vAlign: null, // Several. Use CSS `vertical-align` instead
36551 vLink: null, // `<body>`. Use CSS `a:visited {color}` instead
36552 vSpace: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number, // `<img>` and `<object>`
36553
36554 // Non-standard Properties.
36555 allowTransparency: null,
36556 autoCorrect: null,
36557 autoSave: null,
36558 disablePictureInPicture: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean,
36559 disableRemotePlayback: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean,
36560 prefix: null,
36561 property: null,
36562 results: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36563 security: null,
36564 unselectable: null
36565 }
36566 })
36567
36568
36569 /***/ }),
36570
36571 /***/ "../node_modules/property-information/lib/normalize.js":
36572 /*!*************************************************************!*\
36573 !*** ../node_modules/property-information/lib/normalize.js ***!
36574 \*************************************************************/
36575 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
36576
36577 "use strict";
36578 __webpack_require__.r(__webpack_exports__);
36579 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
36580 /* harmony export */ normalize: () => (/* binding */ normalize)
36581 /* harmony export */ });
36582 /**
36583 * @param {string} value
36584 * @returns {string}
36585 */
36586 function normalize(value) {
36587 return value.toLowerCase()
36588 }
36589
36590
36591 /***/ }),
36592
36593 /***/ "../node_modules/property-information/lib/svg.js":
36594 /*!*******************************************************!*\
36595 !*** ../node_modules/property-information/lib/svg.js ***!
36596 \*******************************************************/
36597 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
36598
36599 "use strict";
36600 __webpack_require__.r(__webpack_exports__);
36601 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
36602 /* harmony export */ svg: () => (/* binding */ svg)
36603 /* harmony export */ });
36604 /* harmony import */ var _util_types_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./util/types.js */ "../node_modules/property-information/lib/util/types.js");
36605 /* harmony import */ var _util_create_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util/create.js */ "../node_modules/property-information/lib/util/create.js");
36606 /* 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");
36607
36608
36609
36610
36611 const svg = (0,_util_create_js__WEBPACK_IMPORTED_MODULE_0__.create)({
36612 space: 'svg',
36613 attributes: {
36614 accentHeight: 'accent-height',
36615 alignmentBaseline: 'alignment-baseline',
36616 arabicForm: 'arabic-form',
36617 baselineShift: 'baseline-shift',
36618 capHeight: 'cap-height',
36619 className: 'class',
36620 clipPath: 'clip-path',
36621 clipRule: 'clip-rule',
36622 colorInterpolation: 'color-interpolation',
36623 colorInterpolationFilters: 'color-interpolation-filters',
36624 colorProfile: 'color-profile',
36625 colorRendering: 'color-rendering',
36626 crossOrigin: 'crossorigin',
36627 dataType: 'datatype',
36628 dominantBaseline: 'dominant-baseline',
36629 enableBackground: 'enable-background',
36630 fillOpacity: 'fill-opacity',
36631 fillRule: 'fill-rule',
36632 floodColor: 'flood-color',
36633 floodOpacity: 'flood-opacity',
36634 fontFamily: 'font-family',
36635 fontSize: 'font-size',
36636 fontSizeAdjust: 'font-size-adjust',
36637 fontStretch: 'font-stretch',
36638 fontStyle: 'font-style',
36639 fontVariant: 'font-variant',
36640 fontWeight: 'font-weight',
36641 glyphName: 'glyph-name',
36642 glyphOrientationHorizontal: 'glyph-orientation-horizontal',
36643 glyphOrientationVertical: 'glyph-orientation-vertical',
36644 hrefLang: 'hreflang',
36645 horizAdvX: 'horiz-adv-x',
36646 horizOriginX: 'horiz-origin-x',
36647 horizOriginY: 'horiz-origin-y',
36648 imageRendering: 'image-rendering',
36649 letterSpacing: 'letter-spacing',
36650 lightingColor: 'lighting-color',
36651 markerEnd: 'marker-end',
36652 markerMid: 'marker-mid',
36653 markerStart: 'marker-start',
36654 navDown: 'nav-down',
36655 navDownLeft: 'nav-down-left',
36656 navDownRight: 'nav-down-right',
36657 navLeft: 'nav-left',
36658 navNext: 'nav-next',
36659 navPrev: 'nav-prev',
36660 navRight: 'nav-right',
36661 navUp: 'nav-up',
36662 navUpLeft: 'nav-up-left',
36663 navUpRight: 'nav-up-right',
36664 onAbort: 'onabort',
36665 onActivate: 'onactivate',
36666 onAfterPrint: 'onafterprint',
36667 onBeforePrint: 'onbeforeprint',
36668 onBegin: 'onbegin',
36669 onCancel: 'oncancel',
36670 onCanPlay: 'oncanplay',
36671 onCanPlayThrough: 'oncanplaythrough',
36672 onChange: 'onchange',
36673 onClick: 'onclick',
36674 onClose: 'onclose',
36675 onCopy: 'oncopy',
36676 onCueChange: 'oncuechange',
36677 onCut: 'oncut',
36678 onDblClick: 'ondblclick',
36679 onDrag: 'ondrag',
36680 onDragEnd: 'ondragend',
36681 onDragEnter: 'ondragenter',
36682 onDragExit: 'ondragexit',
36683 onDragLeave: 'ondragleave',
36684 onDragOver: 'ondragover',
36685 onDragStart: 'ondragstart',
36686 onDrop: 'ondrop',
36687 onDurationChange: 'ondurationchange',
36688 onEmptied: 'onemptied',
36689 onEnd: 'onend',
36690 onEnded: 'onended',
36691 onError: 'onerror',
36692 onFocus: 'onfocus',
36693 onFocusIn: 'onfocusin',
36694 onFocusOut: 'onfocusout',
36695 onHashChange: 'onhashchange',
36696 onInput: 'oninput',
36697 onInvalid: 'oninvalid',
36698 onKeyDown: 'onkeydown',
36699 onKeyPress: 'onkeypress',
36700 onKeyUp: 'onkeyup',
36701 onLoad: 'onload',
36702 onLoadedData: 'onloadeddata',
36703 onLoadedMetadata: 'onloadedmetadata',
36704 onLoadStart: 'onloadstart',
36705 onMessage: 'onmessage',
36706 onMouseDown: 'onmousedown',
36707 onMouseEnter: 'onmouseenter',
36708 onMouseLeave: 'onmouseleave',
36709 onMouseMove: 'onmousemove',
36710 onMouseOut: 'onmouseout',
36711 onMouseOver: 'onmouseover',
36712 onMouseUp: 'onmouseup',
36713 onMouseWheel: 'onmousewheel',
36714 onOffline: 'onoffline',
36715 onOnline: 'ononline',
36716 onPageHide: 'onpagehide',
36717 onPageShow: 'onpageshow',
36718 onPaste: 'onpaste',
36719 onPause: 'onpause',
36720 onPlay: 'onplay',
36721 onPlaying: 'onplaying',
36722 onPopState: 'onpopstate',
36723 onProgress: 'onprogress',
36724 onRateChange: 'onratechange',
36725 onRepeat: 'onrepeat',
36726 onReset: 'onreset',
36727 onResize: 'onresize',
36728 onScroll: 'onscroll',
36729 onSeeked: 'onseeked',
36730 onSeeking: 'onseeking',
36731 onSelect: 'onselect',
36732 onShow: 'onshow',
36733 onStalled: 'onstalled',
36734 onStorage: 'onstorage',
36735 onSubmit: 'onsubmit',
36736 onSuspend: 'onsuspend',
36737 onTimeUpdate: 'ontimeupdate',
36738 onToggle: 'ontoggle',
36739 onUnload: 'onunload',
36740 onVolumeChange: 'onvolumechange',
36741 onWaiting: 'onwaiting',
36742 onZoom: 'onzoom',
36743 overlinePosition: 'overline-position',
36744 overlineThickness: 'overline-thickness',
36745 paintOrder: 'paint-order',
36746 panose1: 'panose-1',
36747 pointerEvents: 'pointer-events',
36748 referrerPolicy: 'referrerpolicy',
36749 renderingIntent: 'rendering-intent',
36750 shapeRendering: 'shape-rendering',
36751 stopColor: 'stop-color',
36752 stopOpacity: 'stop-opacity',
36753 strikethroughPosition: 'strikethrough-position',
36754 strikethroughThickness: 'strikethrough-thickness',
36755 strokeDashArray: 'stroke-dasharray',
36756 strokeDashOffset: 'stroke-dashoffset',
36757 strokeLineCap: 'stroke-linecap',
36758 strokeLineJoin: 'stroke-linejoin',
36759 strokeMiterLimit: 'stroke-miterlimit',
36760 strokeOpacity: 'stroke-opacity',
36761 strokeWidth: 'stroke-width',
36762 tabIndex: 'tabindex',
36763 textAnchor: 'text-anchor',
36764 textDecoration: 'text-decoration',
36765 textRendering: 'text-rendering',
36766 typeOf: 'typeof',
36767 underlinePosition: 'underline-position',
36768 underlineThickness: 'underline-thickness',
36769 unicodeBidi: 'unicode-bidi',
36770 unicodeRange: 'unicode-range',
36771 unitsPerEm: 'units-per-em',
36772 vAlphabetic: 'v-alphabetic',
36773 vHanging: 'v-hanging',
36774 vIdeographic: 'v-ideographic',
36775 vMathematical: 'v-mathematical',
36776 vectorEffect: 'vector-effect',
36777 vertAdvY: 'vert-adv-y',
36778 vertOriginX: 'vert-origin-x',
36779 vertOriginY: 'vert-origin-y',
36780 wordSpacing: 'word-spacing',
36781 writingMode: 'writing-mode',
36782 xHeight: 'x-height',
36783 // These were camelcased in Tiny. Now lowercased in SVG 2
36784 playbackOrder: 'playbackorder',
36785 timelineBegin: 'timelinebegin'
36786 },
36787 transform: _util_case_sensitive_transform_js__WEBPACK_IMPORTED_MODULE_1__.caseSensitiveTransform,
36788 properties: {
36789 about: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.commaOrSpaceSeparated,
36790 accentHeight: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36791 accumulate: null,
36792 additive: null,
36793 alignmentBaseline: null,
36794 alphabetic: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36795 amplitude: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36796 arabicForm: null,
36797 ascent: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36798 attributeName: null,
36799 attributeType: null,
36800 azimuth: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36801 bandwidth: null,
36802 baselineShift: null,
36803 baseFrequency: null,
36804 baseProfile: null,
36805 bbox: null,
36806 begin: null,
36807 bias: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36808 by: null,
36809 calcMode: null,
36810 capHeight: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36811 className: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.spaceSeparated,
36812 clip: null,
36813 clipPath: null,
36814 clipPathUnits: null,
36815 clipRule: null,
36816 color: null,
36817 colorInterpolation: null,
36818 colorInterpolationFilters: null,
36819 colorProfile: null,
36820 colorRendering: null,
36821 content: null,
36822 contentScriptType: null,
36823 contentStyleType: null,
36824 crossOrigin: null,
36825 cursor: null,
36826 cx: null,
36827 cy: null,
36828 d: null,
36829 dataType: null,
36830 defaultAction: null,
36831 descent: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36832 diffuseConstant: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36833 direction: null,
36834 display: null,
36835 dur: null,
36836 divisor: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36837 dominantBaseline: null,
36838 download: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.boolean,
36839 dx: null,
36840 dy: null,
36841 edgeMode: null,
36842 editable: null,
36843 elevation: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36844 enableBackground: null,
36845 end: null,
36846 event: null,
36847 exponent: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36848 externalResourcesRequired: null,
36849 fill: null,
36850 fillOpacity: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36851 fillRule: null,
36852 filter: null,
36853 filterRes: null,
36854 filterUnits: null,
36855 floodColor: null,
36856 floodOpacity: null,
36857 focusable: null,
36858 focusHighlight: null,
36859 fontFamily: null,
36860 fontSize: null,
36861 fontSizeAdjust: null,
36862 fontStretch: null,
36863 fontStyle: null,
36864 fontVariant: null,
36865 fontWeight: null,
36866 format: null,
36867 fr: null,
36868 from: null,
36869 fx: null,
36870 fy: null,
36871 g1: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.commaSeparated,
36872 g2: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.commaSeparated,
36873 glyphName: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.commaSeparated,
36874 glyphOrientationHorizontal: null,
36875 glyphOrientationVertical: null,
36876 glyphRef: null,
36877 gradientTransform: null,
36878 gradientUnits: null,
36879 handler: null,
36880 hanging: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36881 hatchContentUnits: null,
36882 hatchUnits: null,
36883 height: null,
36884 href: null,
36885 hrefLang: null,
36886 horizAdvX: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36887 horizOriginX: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36888 horizOriginY: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36889 id: null,
36890 ideographic: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36891 imageRendering: null,
36892 initialVisibility: null,
36893 in: null,
36894 in2: null,
36895 intercept: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36896 k: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36897 k1: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36898 k2: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36899 k3: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36900 k4: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36901 kernelMatrix: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.commaOrSpaceSeparated,
36902 kernelUnitLength: null,
36903 keyPoints: null, // SEMI_COLON_SEPARATED
36904 keySplines: null, // SEMI_COLON_SEPARATED
36905 keyTimes: null, // SEMI_COLON_SEPARATED
36906 kerning: null,
36907 lang: null,
36908 lengthAdjust: null,
36909 letterSpacing: null,
36910 lightingColor: null,
36911 limitingConeAngle: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36912 local: null,
36913 markerEnd: null,
36914 markerMid: null,
36915 markerStart: null,
36916 markerHeight: null,
36917 markerUnits: null,
36918 markerWidth: null,
36919 mask: null,
36920 maskContentUnits: null,
36921 maskUnits: null,
36922 mathematical: null,
36923 max: null,
36924 media: null,
36925 mediaCharacterEncoding: null,
36926 mediaContentEncodings: null,
36927 mediaSize: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
36928 mediaTime: null,
36929 method: null,
36930 min: null,
36931 mode: null,
36932 name: null,
36933 navDown: null,
36934 navDownLeft: null,
36935 navDownRight: null,
36936 navLeft: null,
36937 navNext: null,
36938 navPrev: null,
36939 navRight: null,
36940 navUp: null,
36941 navUpLeft: null,
36942 navUpRight: null,
36943 numOctaves: null,
36944 observer: null,
36945 offset: null,
36946 onAbort: null,
36947 onActivate: null,
36948 onAfterPrint: null,
36949 onBeforePrint: null,
36950 onBegin: null,
36951 onCancel: null,
36952 onCanPlay: null,
36953 onCanPlayThrough: null,
36954 onChange: null,
36955 onClick: null,
36956 onClose: null,
36957 onCopy: null,
36958 onCueChange: null,
36959 onCut: null,
36960 onDblClick: null,
36961 onDrag: null,
36962 onDragEnd: null,
36963 onDragEnter: null,
36964 onDragExit: null,
36965 onDragLeave: null,
36966 onDragOver: null,
36967 onDragStart: null,
36968 onDrop: null,
36969 onDurationChange: null,
36970 onEmptied: null,
36971 onEnd: null,
36972 onEnded: null,
36973 onError: null,
36974 onFocus: null,
36975 onFocusIn: null,
36976 onFocusOut: null,
36977 onHashChange: null,
36978 onInput: null,
36979 onInvalid: null,
36980 onKeyDown: null,
36981 onKeyPress: null,
36982 onKeyUp: null,
36983 onLoad: null,
36984 onLoadedData: null,
36985 onLoadedMetadata: null,
36986 onLoadStart: null,
36987 onMessage: null,
36988 onMouseDown: null,
36989 onMouseEnter: null,
36990 onMouseLeave: null,
36991 onMouseMove: null,
36992 onMouseOut: null,
36993 onMouseOver: null,
36994 onMouseUp: null,
36995 onMouseWheel: null,
36996 onOffline: null,
36997 onOnline: null,
36998 onPageHide: null,
36999 onPageShow: null,
37000 onPaste: null,
37001 onPause: null,
37002 onPlay: null,
37003 onPlaying: null,
37004 onPopState: null,
37005 onProgress: null,
37006 onRateChange: null,
37007 onRepeat: null,
37008 onReset: null,
37009 onResize: null,
37010 onScroll: null,
37011 onSeeked: null,
37012 onSeeking: null,
37013 onSelect: null,
37014 onShow: null,
37015 onStalled: null,
37016 onStorage: null,
37017 onSubmit: null,
37018 onSuspend: null,
37019 onTimeUpdate: null,
37020 onToggle: null,
37021 onUnload: null,
37022 onVolumeChange: null,
37023 onWaiting: null,
37024 onZoom: null,
37025 opacity: null,
37026 operator: null,
37027 order: null,
37028 orient: null,
37029 orientation: null,
37030 origin: null,
37031 overflow: null,
37032 overlay: null,
37033 overlinePosition: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
37034 overlineThickness: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
37035 paintOrder: null,
37036 panose1: null,
37037 path: null,
37038 pathLength: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
37039 patternContentUnits: null,
37040 patternTransform: null,
37041 patternUnits: null,
37042 phase: null,
37043 ping: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.spaceSeparated,
37044 pitch: null,
37045 playbackOrder: null,
37046 pointerEvents: null,
37047 points: null,
37048 pointsAtX: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
37049 pointsAtY: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
37050 pointsAtZ: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
37051 preserveAlpha: null,
37052 preserveAspectRatio: null,
37053 primitiveUnits: null,
37054 propagate: null,
37055 property: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.commaOrSpaceSeparated,
37056 r: null,
37057 radius: null,
37058 referrerPolicy: null,
37059 refX: null,
37060 refY: null,
37061 rel: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.commaOrSpaceSeparated,
37062 rev: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.commaOrSpaceSeparated,
37063 renderingIntent: null,
37064 repeatCount: null,
37065 repeatDur: null,
37066 requiredExtensions: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.commaOrSpaceSeparated,
37067 requiredFeatures: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.commaOrSpaceSeparated,
37068 requiredFonts: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.commaOrSpaceSeparated,
37069 requiredFormats: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.commaOrSpaceSeparated,
37070 resource: null,
37071 restart: null,
37072 result: null,
37073 rotate: null,
37074 rx: null,
37075 ry: null,
37076 scale: null,
37077 seed: null,
37078 shapeRendering: null,
37079 side: null,
37080 slope: null,
37081 snapshotTime: null,
37082 specularConstant: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
37083 specularExponent: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
37084 spreadMethod: null,
37085 spacing: null,
37086 startOffset: null,
37087 stdDeviation: null,
37088 stemh: null,
37089 stemv: null,
37090 stitchTiles: null,
37091 stopColor: null,
37092 stopOpacity: null,
37093 strikethroughPosition: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
37094 strikethroughThickness: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
37095 string: null,
37096 stroke: null,
37097 strokeDashArray: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.commaOrSpaceSeparated,
37098 strokeDashOffset: null,
37099 strokeLineCap: null,
37100 strokeLineJoin: null,
37101 strokeMiterLimit: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
37102 strokeOpacity: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
37103 strokeWidth: null,
37104 style: null,
37105 surfaceScale: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
37106 syncBehavior: null,
37107 syncBehaviorDefault: null,
37108 syncMaster: null,
37109 syncTolerance: null,
37110 syncToleranceDefault: null,
37111 systemLanguage: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.commaOrSpaceSeparated,
37112 tabIndex: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
37113 tableValues: null,
37114 target: null,
37115 targetX: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
37116 targetY: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
37117 textAnchor: null,
37118 textDecoration: null,
37119 textRendering: null,
37120 textLength: null,
37121 timelineBegin: null,
37122 title: null,
37123 transformBehavior: null,
37124 type: null,
37125 typeOf: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.commaOrSpaceSeparated,
37126 to: null,
37127 transform: null,
37128 u1: null,
37129 u2: null,
37130 underlinePosition: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
37131 underlineThickness: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
37132 unicode: null,
37133 unicodeBidi: null,
37134 unicodeRange: null,
37135 unitsPerEm: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
37136 values: null,
37137 vAlphabetic: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
37138 vMathematical: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
37139 vectorEffect: null,
37140 vHanging: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
37141 vIdeographic: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
37142 version: null,
37143 vertAdvY: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
37144 vertOriginX: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
37145 vertOriginY: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
37146 viewBox: null,
37147 viewTarget: null,
37148 visibility: null,
37149 width: null,
37150 widths: null,
37151 wordSpacing: null,
37152 writingMode: null,
37153 x: null,
37154 x1: null,
37155 x2: null,
37156 xChannelSelector: null,
37157 xHeight: _util_types_js__WEBPACK_IMPORTED_MODULE_2__.number,
37158 y: null,
37159 y1: null,
37160 y2: null,
37161 yChannelSelector: null,
37162 z: null,
37163 zoomAndPan: null
37164 }
37165 })
37166
37167
37168 /***/ }),
37169
37170 /***/ "../node_modules/property-information/lib/util/case-insensitive-transform.js":
37171 /*!***********************************************************************************!*\
37172 !*** ../node_modules/property-information/lib/util/case-insensitive-transform.js ***!
37173 \***********************************************************************************/
37174 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
37175
37176 "use strict";
37177 __webpack_require__.r(__webpack_exports__);
37178 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
37179 /* harmony export */ caseInsensitiveTransform: () => (/* binding */ caseInsensitiveTransform)
37180 /* harmony export */ });
37181 /* 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");
37182
37183
37184 /**
37185 * @param {Record<string, string>} attributes
37186 * @param {string} property
37187 * @returns {string}
37188 */
37189 function caseInsensitiveTransform(attributes, property) {
37190 return (0,_case_sensitive_transform_js__WEBPACK_IMPORTED_MODULE_0__.caseSensitiveTransform)(attributes, property.toLowerCase())
37191 }
37192
37193
37194 /***/ }),
37195
37196 /***/ "../node_modules/property-information/lib/util/case-sensitive-transform.js":
37197 /*!*********************************************************************************!*\
37198 !*** ../node_modules/property-information/lib/util/case-sensitive-transform.js ***!
37199 \*********************************************************************************/
37200 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
37201
37202 "use strict";
37203 __webpack_require__.r(__webpack_exports__);
37204 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
37205 /* harmony export */ caseSensitiveTransform: () => (/* binding */ caseSensitiveTransform)
37206 /* harmony export */ });
37207 /**
37208 * @param {Record<string, string>} attributes
37209 * @param {string} attribute
37210 * @returns {string}
37211 */
37212 function caseSensitiveTransform(attributes, attribute) {
37213 return attribute in attributes ? attributes[attribute] : attribute
37214 }
37215
37216
37217 /***/ }),
37218
37219 /***/ "../node_modules/property-information/lib/util/create.js":
37220 /*!***************************************************************!*\
37221 !*** ../node_modules/property-information/lib/util/create.js ***!
37222 \***************************************************************/
37223 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
37224
37225 "use strict";
37226 __webpack_require__.r(__webpack_exports__);
37227 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
37228 /* harmony export */ create: () => (/* binding */ create)
37229 /* harmony export */ });
37230 /* harmony import */ var _normalize_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../normalize.js */ "../node_modules/property-information/lib/normalize.js");
37231 /* harmony import */ var _schema_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./schema.js */ "../node_modules/property-information/lib/util/schema.js");
37232 /* harmony import */ var _defined_info_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./defined-info.js */ "../node_modules/property-information/lib/util/defined-info.js");
37233 /**
37234 * @typedef {import('./schema.js').Properties} Properties
37235 * @typedef {import('./schema.js').Normal} Normal
37236 *
37237 * @typedef {Record<string, string>} Attributes
37238 *
37239 * @typedef {Object} Definition
37240 * @property {Record<string, number|null>} properties
37241 * @property {(attributes: Attributes, property: string) => string} transform
37242 * @property {string} [space]
37243 * @property {Attributes} [attributes]
37244 * @property {Array<string>} [mustUseProperty]
37245 */
37246
37247
37248
37249
37250
37251 const own = {}.hasOwnProperty
37252
37253 /**
37254 * @param {Definition} definition
37255 * @returns {Schema}
37256 */
37257 function create(definition) {
37258 /** @type {Properties} */
37259 const property = {}
37260 /** @type {Normal} */
37261 const normal = {}
37262 /** @type {string} */
37263 let prop
37264
37265 for (prop in definition.properties) {
37266 if (own.call(definition.properties, prop)) {
37267 const value = definition.properties[prop]
37268 const info = new _defined_info_js__WEBPACK_IMPORTED_MODULE_0__.DefinedInfo(
37269 prop,
37270 definition.transform(definition.attributes || {}, prop),
37271 value,
37272 definition.space
37273 )
37274
37275 if (
37276 definition.mustUseProperty &&
37277 definition.mustUseProperty.includes(prop)
37278 ) {
37279 info.mustUseProperty = true
37280 }
37281
37282 property[prop] = info
37283
37284 normal[(0,_normalize_js__WEBPACK_IMPORTED_MODULE_1__.normalize)(prop)] = prop
37285 normal[(0,_normalize_js__WEBPACK_IMPORTED_MODULE_1__.normalize)(info.attribute)] = prop
37286 }
37287 }
37288
37289 return new _schema_js__WEBPACK_IMPORTED_MODULE_2__.Schema(property, normal, definition.space)
37290 }
37291
37292
37293 /***/ }),
37294
37295 /***/ "../node_modules/property-information/lib/util/defined-info.js":
37296 /*!*********************************************************************!*\
37297 !*** ../node_modules/property-information/lib/util/defined-info.js ***!
37298 \*********************************************************************/
37299 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
37300
37301 "use strict";
37302 __webpack_require__.r(__webpack_exports__);
37303 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
37304 /* harmony export */ DefinedInfo: () => (/* binding */ DefinedInfo)
37305 /* harmony export */ });
37306 /* harmony import */ var _info_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./info.js */ "../node_modules/property-information/lib/util/info.js");
37307 /* harmony import */ var _types_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./types.js */ "../node_modules/property-information/lib/util/types.js");
37308
37309
37310
37311 /** @type {Array<keyof types>} */
37312 // @ts-expect-error: hush.
37313 const checks = Object.keys(_types_js__WEBPACK_IMPORTED_MODULE_0__)
37314
37315 class DefinedInfo extends _info_js__WEBPACK_IMPORTED_MODULE_1__.Info {
37316 /**
37317 * @constructor
37318 * @param {string} property
37319 * @param {string} attribute
37320 * @param {number|null} [mask]
37321 * @param {string} [space]
37322 */
37323 constructor(property, attribute, mask, space) {
37324 let index = -1
37325
37326 super(property, attribute)
37327
37328 mark(this, 'space', space)
37329
37330 if (typeof mask === 'number') {
37331 while (++index < checks.length) {
37332 const check = checks[index]
37333 mark(this, checks[index], (mask & _types_js__WEBPACK_IMPORTED_MODULE_0__[check]) === _types_js__WEBPACK_IMPORTED_MODULE_0__[check])
37334 }
37335 }
37336 }
37337 }
37338
37339 DefinedInfo.prototype.defined = true
37340
37341 /**
37342 * @param {DefinedInfo} values
37343 * @param {string} key
37344 * @param {unknown} value
37345 */
37346 function mark(values, key, value) {
37347 if (value) {
37348 // @ts-expect-error: assume `value` matches the expected value of `key`.
37349 values[key] = value
37350 }
37351 }
37352
37353
37354 /***/ }),
37355
37356 /***/ "../node_modules/property-information/lib/util/info.js":
37357 /*!*************************************************************!*\
37358 !*** ../node_modules/property-information/lib/util/info.js ***!
37359 \*************************************************************/
37360 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
37361
37362 "use strict";
37363 __webpack_require__.r(__webpack_exports__);
37364 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
37365 /* harmony export */ Info: () => (/* binding */ Info)
37366 /* harmony export */ });
37367 class Info {
37368 /**
37369 * @constructor
37370 * @param {string} property
37371 * @param {string} attribute
37372 */
37373 constructor(property, attribute) {
37374 /** @type {string} */
37375 this.property = property
37376 /** @type {string} */
37377 this.attribute = attribute
37378 }
37379 }
37380
37381 /** @type {string|null} */
37382 Info.prototype.space = null
37383 Info.prototype.boolean = false
37384 Info.prototype.booleanish = false
37385 Info.prototype.overloadedBoolean = false
37386 Info.prototype.number = false
37387 Info.prototype.commaSeparated = false
37388 Info.prototype.spaceSeparated = false
37389 Info.prototype.commaOrSpaceSeparated = false
37390 Info.prototype.mustUseProperty = false
37391 Info.prototype.defined = false
37392
37393
37394 /***/ }),
37395
37396 /***/ "../node_modules/property-information/lib/util/merge.js":
37397 /*!**************************************************************!*\
37398 !*** ../node_modules/property-information/lib/util/merge.js ***!
37399 \**************************************************************/
37400 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
37401
37402 "use strict";
37403 __webpack_require__.r(__webpack_exports__);
37404 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
37405 /* harmony export */ merge: () => (/* binding */ merge)
37406 /* harmony export */ });
37407 /* harmony import */ var _schema_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./schema.js */ "../node_modules/property-information/lib/util/schema.js");
37408 /**
37409 * @typedef {import('./schema.js').Properties} Properties
37410 * @typedef {import('./schema.js').Normal} Normal
37411 */
37412
37413
37414
37415 /**
37416 * @param {Schema[]} definitions
37417 * @param {string} [space]
37418 * @returns {Schema}
37419 */
37420 function merge(definitions, space) {
37421 /** @type {Properties} */
37422 const property = {}
37423 /** @type {Normal} */
37424 const normal = {}
37425 let index = -1
37426
37427 while (++index < definitions.length) {
37428 Object.assign(property, definitions[index].property)
37429 Object.assign(normal, definitions[index].normal)
37430 }
37431
37432 return new _schema_js__WEBPACK_IMPORTED_MODULE_0__.Schema(property, normal, space)
37433 }
37434
37435
37436 /***/ }),
37437
37438 /***/ "../node_modules/property-information/lib/util/schema.js":
37439 /*!***************************************************************!*\
37440 !*** ../node_modules/property-information/lib/util/schema.js ***!
37441 \***************************************************************/
37442 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
37443
37444 "use strict";
37445 __webpack_require__.r(__webpack_exports__);
37446 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
37447 /* harmony export */ Schema: () => (/* binding */ Schema)
37448 /* harmony export */ });
37449 /**
37450 * @typedef {import('./info.js').Info} Info
37451 * @typedef {Record<string, Info>} Properties
37452 * @typedef {Record<string, string>} Normal
37453 */
37454
37455 class Schema {
37456 /**
37457 * @constructor
37458 * @param {Properties} property
37459 * @param {Normal} normal
37460 * @param {string} [space]
37461 */
37462 constructor(property, normal, space) {
37463 this.property = property
37464 this.normal = normal
37465 if (space) {
37466 this.space = space
37467 }
37468 }
37469 }
37470
37471 /** @type {Properties} */
37472 Schema.prototype.property = {}
37473 /** @type {Normal} */
37474 Schema.prototype.normal = {}
37475 /** @type {string|null} */
37476 Schema.prototype.space = null
37477
37478
37479 /***/ }),
37480
37481 /***/ "../node_modules/property-information/lib/util/types.js":
37482 /*!**************************************************************!*\
37483 !*** ../node_modules/property-information/lib/util/types.js ***!
37484 \**************************************************************/
37485 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
37486
37487 "use strict";
37488 __webpack_require__.r(__webpack_exports__);
37489 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
37490 /* harmony export */ boolean: () => (/* binding */ boolean),
37491 /* harmony export */ booleanish: () => (/* binding */ booleanish),
37492 /* harmony export */ commaOrSpaceSeparated: () => (/* binding */ commaOrSpaceSeparated),
37493 /* harmony export */ commaSeparated: () => (/* binding */ commaSeparated),
37494 /* harmony export */ number: () => (/* binding */ number),
37495 /* harmony export */ overloadedBoolean: () => (/* binding */ overloadedBoolean),
37496 /* harmony export */ spaceSeparated: () => (/* binding */ spaceSeparated)
37497 /* harmony export */ });
37498 let powers = 0
37499
37500 const boolean = increment()
37501 const booleanish = increment()
37502 const overloadedBoolean = increment()
37503 const number = increment()
37504 const spaceSeparated = increment()
37505 const commaSeparated = increment()
37506 const commaOrSpaceSeparated = increment()
37507
37508 function increment() {
37509 return 2 ** ++powers
37510 }
37511
37512
37513 /***/ }),
37514
37515 /***/ "../node_modules/property-information/lib/xlink.js":
37516 /*!*********************************************************!*\
37517 !*** ../node_modules/property-information/lib/xlink.js ***!
37518 \*********************************************************/
37519 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
37520
37521 "use strict";
37522 __webpack_require__.r(__webpack_exports__);
37523 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
37524 /* harmony export */ xlink: () => (/* binding */ xlink)
37525 /* harmony export */ });
37526 /* harmony import */ var _util_create_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util/create.js */ "../node_modules/property-information/lib/util/create.js");
37527
37528
37529 const xlink = (0,_util_create_js__WEBPACK_IMPORTED_MODULE_0__.create)({
37530 space: 'xlink',
37531 transform(_, prop) {
37532 return 'xlink:' + prop.slice(5).toLowerCase()
37533 },
37534 properties: {
37535 xLinkActuate: null,
37536 xLinkArcRole: null,
37537 xLinkHref: null,
37538 xLinkRole: null,
37539 xLinkShow: null,
37540 xLinkTitle: null,
37541 xLinkType: null
37542 }
37543 })
37544
37545
37546 /***/ }),
37547
37548 /***/ "../node_modules/property-information/lib/xml.js":
37549 /*!*******************************************************!*\
37550 !*** ../node_modules/property-information/lib/xml.js ***!
37551 \*******************************************************/
37552 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
37553
37554 "use strict";
37555 __webpack_require__.r(__webpack_exports__);
37556 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
37557 /* harmony export */ xml: () => (/* binding */ xml)
37558 /* harmony export */ });
37559 /* harmony import */ var _util_create_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util/create.js */ "../node_modules/property-information/lib/util/create.js");
37560
37561
37562 const xml = (0,_util_create_js__WEBPACK_IMPORTED_MODULE_0__.create)({
37563 space: 'xml',
37564 transform(_, prop) {
37565 return 'xml:' + prop.slice(3).toLowerCase()
37566 },
37567 properties: {xmlLang: null, xmlBase: null, xmlSpace: null}
37568 })
37569
37570
37571 /***/ }),
37572
37573 /***/ "../node_modules/property-information/lib/xmlns.js":
37574 /*!*********************************************************!*\
37575 !*** ../node_modules/property-information/lib/xmlns.js ***!
37576 \*********************************************************/
37577 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
37578
37579 "use strict";
37580 __webpack_require__.r(__webpack_exports__);
37581 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
37582 /* harmony export */ xmlns: () => (/* binding */ xmlns)
37583 /* harmony export */ });
37584 /* harmony import */ var _util_create_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util/create.js */ "../node_modules/property-information/lib/util/create.js");
37585 /* 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");
37586
37587
37588
37589 const xmlns = (0,_util_create_js__WEBPACK_IMPORTED_MODULE_0__.create)({
37590 space: 'xmlns',
37591 attributes: {xmlnsxlink: 'xmlns:xlink'},
37592 transform: _util_case_insensitive_transform_js__WEBPACK_IMPORTED_MODULE_1__.caseInsensitiveTransform,
37593 properties: {xmlns: null, xmlnsXLink: null}
37594 })
37595
37596
37597 /***/ }),
37598
37599 /***/ "../node_modules/react-markdown/index.js":
37600 /*!***********************************************!*\
37601 !*** ../node_modules/react-markdown/index.js ***!
37602 \***********************************************/
37603 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
37604
37605 "use strict";
37606 __webpack_require__.r(__webpack_exports__);
37607 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
37608 /* harmony export */ "default": () => (/* reexport safe */ _lib_react_markdown_js__WEBPACK_IMPORTED_MODULE_1__.ReactMarkdown),
37609 /* harmony export */ uriTransformer: () => (/* reexport safe */ _lib_uri_transformer_js__WEBPACK_IMPORTED_MODULE_0__.uriTransformer)
37610 /* harmony export */ });
37611 /* 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");
37612 /* 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");
37613 /**
37614 * @typedef {import('./lib/react-markdown.js').ReactMarkdownOptions} Options
37615 * @typedef {import('./lib/ast-to-react.js').Components} Components
37616 */
37617
37618
37619
37620
37621
37622
37623 /***/ }),
37624
37625 /***/ "../node_modules/react-markdown/lib/ast-to-react.js":
37626 /*!**********************************************************!*\
37627 !*** ../node_modules/react-markdown/lib/ast-to-react.js ***!
37628 \**********************************************************/
37629 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
37630
37631 "use strict";
37632 __webpack_require__.r(__webpack_exports__);
37633 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
37634 /* harmony export */ childrenToReact: () => (/* binding */ childrenToReact)
37635 /* harmony export */ });
37636 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
37637 /* harmony import */ var react_is__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-is */ "../node_modules/react-is/index.js");
37638 /* harmony import */ var hast_util_whitespace__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! hast-util-whitespace */ "../node_modules/hast-util-whitespace/index.js");
37639 /* harmony import */ var property_information__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! property-information */ "../node_modules/property-information/index.js");
37640 /* harmony import */ var property_information__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! property-information */ "../node_modules/property-information/lib/find.js");
37641 /* harmony import */ var property_information__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! property-information */ "../node_modules/property-information/lib/hast-to-react.js");
37642 /* harmony import */ var space_separated_tokens__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! space-separated-tokens */ "../node_modules/space-separated-tokens/index.js");
37643 /* harmony import */ var comma_separated_tokens__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! comma-separated-tokens */ "../node_modules/comma-separated-tokens/index.js");
37644 /* harmony import */ var style_to_object__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! style-to-object */ "../node_modules/style-to-object/index.mjs");
37645 /* harmony import */ var _uri_transformer_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./uri-transformer.js */ "../node_modules/react-markdown/lib/uri-transformer.js");
37646 /**
37647 * @template T
37648 * @typedef {import('react').ComponentType<T>} ComponentType<T>
37649 */
37650
37651 /**
37652 * @template {import('react').ElementType} T
37653 * @typedef {import('react').ComponentPropsWithoutRef<T>} ComponentPropsWithoutRef<T>
37654 */
37655
37656 /**
37657 * @typedef {import('react').ReactNode} ReactNode
37658 * @typedef {import('unist').Position} Position
37659 * @typedef {import('hast').Element} Element
37660 * @typedef {import('hast').ElementContent} ElementContent
37661 * @typedef {import('hast').Root} Root
37662 * @typedef {import('hast').Text} Text
37663 * @typedef {import('hast').Comment} Comment
37664 * @typedef {import('hast').DocType} Doctype
37665 * @typedef {import('property-information').Info} Info
37666 * @typedef {import('property-information').Schema} Schema
37667 * @typedef {import('./complex-types.js').ReactMarkdownProps} ReactMarkdownProps
37668 *
37669 * @typedef Raw
37670 * @property {'raw'} type
37671 * @property {string} value
37672 *
37673 * @typedef Context
37674 * @property {Options} options
37675 * @property {Schema} schema
37676 * @property {number} listDepth
37677 *
37678 * @callback TransformLink
37679 * @param {string} href
37680 * @param {Array<ElementContent>} children
37681 * @param {string?} title
37682 * @returns {string}
37683 *
37684 * @callback TransformImage
37685 * @param {string} src
37686 * @param {string} alt
37687 * @param {string?} title
37688 * @returns {string}
37689 *
37690 * @typedef {import('react').HTMLAttributeAnchorTarget} TransformLinkTargetType
37691 *
37692 * @callback TransformLinkTarget
37693 * @param {string} href
37694 * @param {Array<ElementContent>} children
37695 * @param {string?} title
37696 * @returns {TransformLinkTargetType|undefined}
37697 *
37698 * @typedef {keyof JSX.IntrinsicElements} ReactMarkdownNames
37699 *
37700 * To do: is `data-sourcepos` typeable?
37701 *
37702 * @typedef {ComponentPropsWithoutRef<'code'> & ReactMarkdownProps & {inline?: boolean}} CodeProps
37703 * @typedef {ComponentPropsWithoutRef<'h1'> & ReactMarkdownProps & {level: number}} HeadingProps
37704 * @typedef {ComponentPropsWithoutRef<'li'> & ReactMarkdownProps & {checked: boolean|null, index: number, ordered: boolean}} LiProps
37705 * @typedef {ComponentPropsWithoutRef<'ol'> & ReactMarkdownProps & {depth: number, ordered: true}} OrderedListProps
37706 * @typedef {ComponentPropsWithoutRef<'td'> & ReactMarkdownProps & {style?: Record<string, unknown>, isHeader: false}} TableDataCellProps
37707 * @typedef {ComponentPropsWithoutRef<'th'> & ReactMarkdownProps & {style?: Record<string, unknown>, isHeader: true}} TableHeaderCellProps
37708 * @typedef {ComponentPropsWithoutRef<'tr'> & ReactMarkdownProps & {isHeader: boolean}} TableRowProps
37709 * @typedef {ComponentPropsWithoutRef<'ul'> & ReactMarkdownProps & {depth: number, ordered: false}} UnorderedListProps
37710 *
37711 * @typedef {ComponentType<CodeProps>} CodeComponent
37712 * @typedef {ComponentType<HeadingProps>} HeadingComponent
37713 * @typedef {ComponentType<LiProps>} LiComponent
37714 * @typedef {ComponentType<OrderedListProps>} OrderedListComponent
37715 * @typedef {ComponentType<TableDataCellProps>} TableDataCellComponent
37716 * @typedef {ComponentType<TableHeaderCellProps>} TableHeaderCellComponent
37717 * @typedef {ComponentType<TableRowProps>} TableRowComponent
37718 * @typedef {ComponentType<UnorderedListProps>} UnorderedListComponent
37719 *
37720 * @typedef SpecialComponents
37721 * @property {CodeComponent|ReactMarkdownNames} code
37722 * @property {HeadingComponent|ReactMarkdownNames} h1
37723 * @property {HeadingComponent|ReactMarkdownNames} h2
37724 * @property {HeadingComponent|ReactMarkdownNames} h3
37725 * @property {HeadingComponent|ReactMarkdownNames} h4
37726 * @property {HeadingComponent|ReactMarkdownNames} h5
37727 * @property {HeadingComponent|ReactMarkdownNames} h6
37728 * @property {LiComponent|ReactMarkdownNames} li
37729 * @property {OrderedListComponent|ReactMarkdownNames} ol
37730 * @property {TableDataCellComponent|ReactMarkdownNames} td
37731 * @property {TableHeaderCellComponent|ReactMarkdownNames} th
37732 * @property {TableRowComponent|ReactMarkdownNames} tr
37733 * @property {UnorderedListComponent|ReactMarkdownNames} ul
37734 *
37735 * @typedef {Partial<Omit<import('./complex-types.js').NormalComponents, keyof SpecialComponents> & SpecialComponents>} Components
37736 *
37737 * @typedef Options
37738 * @property {boolean} [sourcePos=false]
37739 * @property {boolean} [rawSourcePos=false]
37740 * @property {boolean} [skipHtml=false]
37741 * @property {boolean} [includeElementIndex=false]
37742 * @property {null|false|TransformLink} [transformLinkUri]
37743 * @property {TransformImage} [transformImageUri]
37744 * @property {TransformLinkTargetType|TransformLinkTarget} [linkTarget]
37745 * @property {Components} [components]
37746 */
37747
37748
37749
37750
37751
37752
37753
37754
37755
37756
37757 const own = {}.hasOwnProperty
37758
37759 // The table-related elements that must not contain whitespace text according
37760 // to React.
37761 const tableElements = new Set(['table', 'thead', 'tbody', 'tfoot', 'tr'])
37762
37763 /**
37764 * @param {Context} context
37765 * @param {Element|Root} node
37766 */
37767 function childrenToReact(context, node) {
37768 /** @type {Array<ReactNode>} */
37769 const children = []
37770 let childIndex = -1
37771 /** @type {Comment|Doctype|Element|Raw|Text} */
37772 let child
37773
37774 while (++childIndex < node.children.length) {
37775 child = node.children[childIndex]
37776
37777 if (child.type === 'element') {
37778 children.push(toReact(context, child, childIndex, node))
37779 } else if (child.type === 'text') {
37780 // Currently, a warning is triggered by react for *any* white space in
37781 // tables.
37782 // So we drop it.
37783 // See: <https://github.com/facebook/react/pull/7081>.
37784 // See: <https://github.com/facebook/react/pull/7515>.
37785 // See: <https://github.com/remarkjs/remark-react/issues/64>.
37786 // See: <https://github.com/remarkjs/react-markdown/issues/576>.
37787 if (
37788 node.type !== 'element' ||
37789 !tableElements.has(node.tagName) ||
37790 !(0,hast_util_whitespace__WEBPACK_IMPORTED_MODULE_3__.whitespace)(child)
37791 ) {
37792 children.push(child.value)
37793 }
37794 } else if (child.type === 'raw' && !context.options.skipHtml) {
37795 // Default behavior is to show (encoded) HTML.
37796 children.push(child.value)
37797 }
37798 }
37799
37800 return children
37801 }
37802
37803 /**
37804 * @param {Context} context
37805 * @param {Element} node
37806 * @param {number} index
37807 * @param {Element|Root} parent
37808 */
37809 function toReact(context, node, index, parent) {
37810 const options = context.options
37811 const transform =
37812 options.transformLinkUri === undefined
37813 ? _uri_transformer_js__WEBPACK_IMPORTED_MODULE_4__.uriTransformer
37814 : options.transformLinkUri
37815 const parentSchema = context.schema
37816 /** @type {ReactMarkdownNames} */
37817 // @ts-expect-error assume a known HTML/SVG element.
37818 const name = node.tagName
37819 /** @type {Record<string, unknown>} */
37820 const properties = {}
37821 let schema = parentSchema
37822 /** @type {string} */
37823 let property
37824
37825 if (parentSchema.space === 'html' && name === 'svg') {
37826 schema = property_information__WEBPACK_IMPORTED_MODULE_5__.svg
37827 context.schema = schema
37828 }
37829
37830 if (node.properties) {
37831 for (property in node.properties) {
37832 if (own.call(node.properties, property)) {
37833 addProperty(properties, property, node.properties[property], context)
37834 }
37835 }
37836 }
37837
37838 if (name === 'ol' || name === 'ul') {
37839 context.listDepth++
37840 }
37841
37842 const children = childrenToReact(context, node)
37843
37844 if (name === 'ol' || name === 'ul') {
37845 context.listDepth--
37846 }
37847
37848 // Restore parent schema.
37849 context.schema = parentSchema
37850
37851 // Nodes created by plugins do not have positional info, in which case we use
37852 // an object that matches the position interface.
37853 const position = node.position || {
37854 start: {line: null, column: null, offset: null},
37855 end: {line: null, column: null, offset: null}
37856 }
37857 const component =
37858 options.components && own.call(options.components, name)
37859 ? options.components[name]
37860 : name
37861 const basic = typeof component === 'string' || component === react__WEBPACK_IMPORTED_MODULE_0__.Fragment
37862
37863 if (!react_is__WEBPACK_IMPORTED_MODULE_1__.isValidElementType(component)) {
37864 throw new TypeError(
37865 `Component for name \`${name}\` not defined or is not renderable`
37866 )
37867 }
37868
37869 properties.key = index
37870
37871 if (name === 'a' && options.linkTarget) {
37872 properties.target =
37873 typeof options.linkTarget === 'function'
37874 ? options.linkTarget(
37875 String(properties.href || ''),
37876 node.children,
37877 typeof properties.title === 'string' ? properties.title : null
37878 )
37879 : options.linkTarget
37880 }
37881
37882 if (name === 'a' && transform) {
37883 properties.href = transform(
37884 String(properties.href || ''),
37885 node.children,
37886 typeof properties.title === 'string' ? properties.title : null
37887 )
37888 }
37889
37890 if (
37891 !basic &&
37892 name === 'code' &&
37893 parent.type === 'element' &&
37894 parent.tagName !== 'pre'
37895 ) {
37896 properties.inline = true
37897 }
37898
37899 if (
37900 !basic &&
37901 (name === 'h1' ||
37902 name === 'h2' ||
37903 name === 'h3' ||
37904 name === 'h4' ||
37905 name === 'h5' ||
37906 name === 'h6')
37907 ) {
37908 properties.level = Number.parseInt(name.charAt(1), 10)
37909 }
37910
37911 if (name === 'img' && options.transformImageUri) {
37912 properties.src = options.transformImageUri(
37913 String(properties.src || ''),
37914 String(properties.alt || ''),
37915 typeof properties.title === 'string' ? properties.title : null
37916 )
37917 }
37918
37919 if (!basic && name === 'li' && parent.type === 'element') {
37920 const input = getInputElement(node)
37921 properties.checked =
37922 input && input.properties ? Boolean(input.properties.checked) : null
37923 properties.index = getElementsBeforeCount(parent, node)
37924 properties.ordered = parent.tagName === 'ol'
37925 }
37926
37927 if (!basic && (name === 'ol' || name === 'ul')) {
37928 properties.ordered = name === 'ol'
37929 properties.depth = context.listDepth
37930 }
37931
37932 if (name === 'td' || name === 'th') {
37933 if (properties.align) {
37934 if (!properties.style) properties.style = {}
37935 // @ts-expect-error assume `style` is an object
37936 properties.style.textAlign = properties.align
37937 delete properties.align
37938 }
37939
37940 if (!basic) {
37941 properties.isHeader = name === 'th'
37942 }
37943 }
37944
37945 if (!basic && name === 'tr' && parent.type === 'element') {
37946 properties.isHeader = Boolean(parent.tagName === 'thead')
37947 }
37948
37949 // If `sourcePos` is given, pass source information (line/column info from markdown source).
37950 if (options.sourcePos) {
37951 properties['data-sourcepos'] = flattenPosition(position)
37952 }
37953
37954 if (!basic && options.rawSourcePos) {
37955 properties.sourcePosition = node.position
37956 }
37957
37958 // If `includeElementIndex` is given, pass node index info to components.
37959 if (!basic && options.includeElementIndex) {
37960 properties.index = getElementsBeforeCount(parent, node)
37961 properties.siblingCount = getElementsBeforeCount(parent)
37962 }
37963
37964 if (!basic) {
37965 properties.node = node
37966 }
37967
37968 // Ensure no React warnings are emitted for void elements w/ children.
37969 return children.length > 0
37970 ? react__WEBPACK_IMPORTED_MODULE_0__.createElement(component, properties, children)
37971 : react__WEBPACK_IMPORTED_MODULE_0__.createElement(component, properties)
37972 }
37973
37974 /**
37975 * @param {Element|Root} node
37976 * @returns {Element?}
37977 */
37978 function getInputElement(node) {
37979 let index = -1
37980
37981 while (++index < node.children.length) {
37982 const child = node.children[index]
37983
37984 if (child.type === 'element' && child.tagName === 'input') {
37985 return child
37986 }
37987 }
37988
37989 return null
37990 }
37991
37992 /**
37993 * @param {Element|Root} parent
37994 * @param {Element} [node]
37995 * @returns {number}
37996 */
37997 function getElementsBeforeCount(parent, node) {
37998 let index = -1
37999 let count = 0
38000
38001 while (++index < parent.children.length) {
38002 if (parent.children[index] === node) break
38003 if (parent.children[index].type === 'element') count++
38004 }
38005
38006 return count
38007 }
38008
38009 /**
38010 * @param {Record<string, unknown>} props
38011 * @param {string} prop
38012 * @param {unknown} value
38013 * @param {Context} ctx
38014 */
38015 function addProperty(props, prop, value, ctx) {
38016 const info = (0,property_information__WEBPACK_IMPORTED_MODULE_6__.find)(ctx.schema, prop)
38017 let result = value
38018
38019 // Ignore nullish and `NaN` values.
38020 // eslint-disable-next-line no-self-compare
38021 if (result === null || result === undefined || result !== result) {
38022 return
38023 }
38024
38025 // Accept `array`.
38026 // Most props are space-separated.
38027 if (Array.isArray(result)) {
38028 result = info.commaSeparated ? (0,comma_separated_tokens__WEBPACK_IMPORTED_MODULE_7__.stringify)(result) : (0,space_separated_tokens__WEBPACK_IMPORTED_MODULE_8__.stringify)(result)
38029 }
38030
38031 if (info.property === 'style' && typeof result === 'string') {
38032 result = parseStyle(result)
38033 }
38034
38035 if (info.space && info.property) {
38036 props[
38037 own.call(property_information__WEBPACK_IMPORTED_MODULE_9__.hastToReact, info.property)
38038 ? property_information__WEBPACK_IMPORTED_MODULE_9__.hastToReact[info.property]
38039 : info.property
38040 ] = result
38041 } else if (info.attribute) {
38042 props[info.attribute] = result
38043 }
38044 }
38045
38046 /**
38047 * @param {string} value
38048 * @returns {Record<string, string>}
38049 */
38050 function parseStyle(value) {
38051 /** @type {Record<string, string>} */
38052 const result = {}
38053
38054 try {
38055 ;(0,style_to_object__WEBPACK_IMPORTED_MODULE_2__["default"])(value, iterator)
38056 } catch {
38057 // Silent.
38058 }
38059
38060 return result
38061
38062 /**
38063 * @param {string} name
38064 * @param {string} v
38065 */
38066 function iterator(name, v) {
38067 const k = name.slice(0, 4) === '-ms-' ? `ms-${name.slice(4)}` : name
38068 result[k.replace(/-([a-z])/g, styleReplacer)] = v
38069 }
38070 }
38071
38072 /**
38073 * @param {unknown} _
38074 * @param {string} $1
38075 */
38076 function styleReplacer(_, $1) {
38077 return $1.toUpperCase()
38078 }
38079
38080 /**
38081 * @param {Position|{start: {line: null, column: null, offset: null}, end: {line: null, column: null, offset: null}}} pos
38082 * @returns {string}
38083 */
38084 function flattenPosition(pos) {
38085 return [
38086 pos.start.line,
38087 ':',
38088 pos.start.column,
38089 '-',
38090 pos.end.line,
38091 ':',
38092 pos.end.column
38093 ]
38094 .map(String)
38095 .join('')
38096 }
38097
38098
38099 /***/ }),
38100
38101 /***/ "../node_modules/react-markdown/lib/react-markdown.js":
38102 /*!************************************************************!*\
38103 !*** ../node_modules/react-markdown/lib/react-markdown.js ***!
38104 \************************************************************/
38105 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
38106
38107 "use strict";
38108 __webpack_require__.r(__webpack_exports__);
38109 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
38110 /* harmony export */ ReactMarkdown: () => (/* binding */ ReactMarkdown)
38111 /* harmony export */ });
38112 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
38113 /* harmony import */ var vfile__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! vfile */ "../node_modules/vfile/lib/index.js");
38114 /* harmony import */ var unified__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! unified */ "../node_modules/unified/lib/index.js");
38115 /* harmony import */ var remark_parse__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! remark-parse */ "../node_modules/remark-parse/lib/index.js");
38116 /* harmony import */ var remark_rehype__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! remark-rehype */ "../node_modules/remark-rehype/lib/index.js");
38117 /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js");
38118 /* harmony import */ var property_information__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! property-information */ "../node_modules/property-information/index.js");
38119 /* harmony import */ var _rehype_filter_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./rehype-filter.js */ "../node_modules/react-markdown/lib/rehype-filter.js");
38120 /* 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");
38121 /**
38122 * @typedef {import('react').ReactNode} ReactNode
38123 * @typedef {import('react').ReactElement<{}>} ReactElement
38124 * @typedef {import('unified').PluggableList} PluggableList
38125 * @typedef {import('hast').Root} Root
38126 * @typedef {import('./rehype-filter.js').Options} FilterOptions
38127 * @typedef {import('./ast-to-react.js').Options} TransformOptions
38128 *
38129 * @typedef CoreOptions
38130 * @property {string} children
38131 *
38132 * @typedef PluginOptions
38133 * @property {PluggableList} [remarkPlugins=[]]
38134 * @property {PluggableList} [rehypePlugins=[]]
38135 * @property {import('remark-rehype').Options | undefined} [remarkRehypeOptions={}]
38136 *
38137 * @typedef LayoutOptions
38138 * @property {string} [className]
38139 *
38140 * @typedef {CoreOptions & PluginOptions & LayoutOptions & FilterOptions & TransformOptions} ReactMarkdownOptions
38141 *
38142 * @typedef Deprecation
38143 * @property {string} id
38144 * @property {string} [to]
38145 */
38146
38147
38148
38149
38150
38151
38152
38153
38154
38155
38156
38157 const own = {}.hasOwnProperty
38158 const changelog =
38159 'https://github.com/remarkjs/react-markdown/blob/main/changelog.md'
38160
38161 /** @type {Record<string, Deprecation>} */
38162 const deprecated = {
38163 plugins: {to: 'remarkPlugins', id: 'change-plugins-to-remarkplugins'},
38164 renderers: {to: 'components', id: 'change-renderers-to-components'},
38165 astPlugins: {id: 'remove-buggy-html-in-markdown-parser'},
38166 allowDangerousHtml: {id: 'remove-buggy-html-in-markdown-parser'},
38167 escapeHtml: {id: 'remove-buggy-html-in-markdown-parser'},
38168 source: {to: 'children', id: 'change-source-to-children'},
38169 allowNode: {
38170 to: 'allowElement',
38171 id: 'replace-allownode-allowedtypes-and-disallowedtypes'
38172 },
38173 allowedTypes: {
38174 to: 'allowedElements',
38175 id: 'replace-allownode-allowedtypes-and-disallowedtypes'
38176 },
38177 disallowedTypes: {
38178 to: 'disallowedElements',
38179 id: 'replace-allownode-allowedtypes-and-disallowedtypes'
38180 },
38181 includeNodeIndex: {
38182 to: 'includeElementIndex',
38183 id: 'change-includenodeindex-to-includeelementindex'
38184 }
38185 }
38186
38187 /**
38188 * React component to render markdown.
38189 *
38190 * @param {ReactMarkdownOptions} options
38191 * @returns {ReactElement}
38192 */
38193 function ReactMarkdown(options) {
38194 for (const key in deprecated) {
38195 if (own.call(deprecated, key) && own.call(options, key)) {
38196 const deprecation = deprecated[key]
38197 console.warn(
38198 `[react-markdown] Warning: please ${
38199 deprecation.to ? `use \`${deprecation.to}\` instead of` : 'remove'
38200 } \`${key}\` (see <${changelog}#${deprecation.id}> for more info)`
38201 )
38202 delete deprecated[key]
38203 }
38204 }
38205
38206 const processor = (0,unified__WEBPACK_IMPORTED_MODULE_1__.unified)()
38207 .use(remark_parse__WEBPACK_IMPORTED_MODULE_2__["default"])
38208 .use(options.remarkPlugins || [])
38209 .use(remark_rehype__WEBPACK_IMPORTED_MODULE_3__["default"], {
38210 ...options.remarkRehypeOptions,
38211 allowDangerousHtml: true
38212 })
38213 .use(options.rehypePlugins || [])
38214 .use(_rehype_filter_js__WEBPACK_IMPORTED_MODULE_4__["default"], options)
38215
38216 const file = new vfile__WEBPACK_IMPORTED_MODULE_5__.VFile()
38217
38218 if (typeof options.children === 'string') {
38219 file.value = options.children
38220 } else if (options.children !== undefined && options.children !== null) {
38221 console.warn(
38222 `[react-markdown] Warning: please pass a string as \`children\` (not: \`${options.children}\`)`
38223 )
38224 }
38225
38226 const hastNode = processor.runSync(processor.parse(file), file)
38227
38228 if (hastNode.type !== 'root') {
38229 throw new TypeError('Expected a `root` node')
38230 }
38231
38232 /** @type {ReactElement} */
38233 let result = react__WEBPACK_IMPORTED_MODULE_0__.createElement(
38234 react__WEBPACK_IMPORTED_MODULE_0__.Fragment,
38235 {},
38236 (0,_ast_to_react_js__WEBPACK_IMPORTED_MODULE_6__.childrenToReact)({options, schema: property_information__WEBPACK_IMPORTED_MODULE_7__.html, listDepth: 0}, hastNode)
38237 )
38238
38239 if (options.className) {
38240 result = react__WEBPACK_IMPORTED_MODULE_0__.createElement('div', {className: options.className}, result)
38241 }
38242
38243 return result
38244 }
38245
38246 ReactMarkdown.propTypes = {
38247 // Core options:
38248 children: prop_types__WEBPACK_IMPORTED_MODULE_8__.string,
38249 // Layout options:
38250 className: prop_types__WEBPACK_IMPORTED_MODULE_8__.string,
38251 // Filter options:
38252 allowElement: prop_types__WEBPACK_IMPORTED_MODULE_8__.func,
38253 allowedElements: prop_types__WEBPACK_IMPORTED_MODULE_8__.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_8__.string),
38254 disallowedElements: prop_types__WEBPACK_IMPORTED_MODULE_8__.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_8__.string),
38255 unwrapDisallowed: prop_types__WEBPACK_IMPORTED_MODULE_8__.bool,
38256 // Plugin options:
38257 remarkPlugins: prop_types__WEBPACK_IMPORTED_MODULE_8__.arrayOf(
38258 prop_types__WEBPACK_IMPORTED_MODULE_8__.oneOfType([
38259 prop_types__WEBPACK_IMPORTED_MODULE_8__.object,
38260 prop_types__WEBPACK_IMPORTED_MODULE_8__.func,
38261 prop_types__WEBPACK_IMPORTED_MODULE_8__.arrayOf(
38262 prop_types__WEBPACK_IMPORTED_MODULE_8__.oneOfType([
38263 prop_types__WEBPACK_IMPORTED_MODULE_8__.bool,
38264 prop_types__WEBPACK_IMPORTED_MODULE_8__.string,
38265 prop_types__WEBPACK_IMPORTED_MODULE_8__.object,
38266 prop_types__WEBPACK_IMPORTED_MODULE_8__.func,
38267 prop_types__WEBPACK_IMPORTED_MODULE_8__.arrayOf(
38268 // prettier-ignore
38269 // type-coverage:ignore-next-line
38270 prop_types__WEBPACK_IMPORTED_MODULE_8__.any
38271 )
38272 ])
38273 )
38274 ])
38275 ),
38276 rehypePlugins: prop_types__WEBPACK_IMPORTED_MODULE_8__.arrayOf(
38277 prop_types__WEBPACK_IMPORTED_MODULE_8__.oneOfType([
38278 prop_types__WEBPACK_IMPORTED_MODULE_8__.object,
38279 prop_types__WEBPACK_IMPORTED_MODULE_8__.func,
38280 prop_types__WEBPACK_IMPORTED_MODULE_8__.arrayOf(
38281 prop_types__WEBPACK_IMPORTED_MODULE_8__.oneOfType([
38282 prop_types__WEBPACK_IMPORTED_MODULE_8__.bool,
38283 prop_types__WEBPACK_IMPORTED_MODULE_8__.string,
38284 prop_types__WEBPACK_IMPORTED_MODULE_8__.object,
38285 prop_types__WEBPACK_IMPORTED_MODULE_8__.func,
38286 prop_types__WEBPACK_IMPORTED_MODULE_8__.arrayOf(
38287 // prettier-ignore
38288 // type-coverage:ignore-next-line
38289 prop_types__WEBPACK_IMPORTED_MODULE_8__.any
38290 )
38291 ])
38292 )
38293 ])
38294 ),
38295 // Transform options:
38296 sourcePos: prop_types__WEBPACK_IMPORTED_MODULE_8__.bool,
38297 rawSourcePos: prop_types__WEBPACK_IMPORTED_MODULE_8__.bool,
38298 skipHtml: prop_types__WEBPACK_IMPORTED_MODULE_8__.bool,
38299 includeElementIndex: prop_types__WEBPACK_IMPORTED_MODULE_8__.bool,
38300 transformLinkUri: prop_types__WEBPACK_IMPORTED_MODULE_8__.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_8__.func, prop_types__WEBPACK_IMPORTED_MODULE_8__.bool]),
38301 linkTarget: prop_types__WEBPACK_IMPORTED_MODULE_8__.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_8__.func, prop_types__WEBPACK_IMPORTED_MODULE_8__.string]),
38302 transformImageUri: prop_types__WEBPACK_IMPORTED_MODULE_8__.func,
38303 components: prop_types__WEBPACK_IMPORTED_MODULE_8__.object
38304 }
38305
38306
38307 /***/ }),
38308
38309 /***/ "../node_modules/react-markdown/lib/rehype-filter.js":
38310 /*!***********************************************************!*\
38311 !*** ../node_modules/react-markdown/lib/rehype-filter.js ***!
38312 \***********************************************************/
38313 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
38314
38315 "use strict";
38316 __webpack_require__.r(__webpack_exports__);
38317 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
38318 /* harmony export */ "default": () => (/* binding */ rehypeFilter)
38319 /* harmony export */ });
38320 /* harmony import */ var unist_util_visit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! unist-util-visit */ "../node_modules/unist-util-visit/lib/index.js");
38321
38322
38323 /**
38324 * @typedef {import('unist').Node} Node
38325 * @typedef {import('hast').Root} Root
38326 * @typedef {import('hast').Element} Element
38327 *
38328 * @callback AllowElement
38329 * @param {Element} element
38330 * @param {number} index
38331 * @param {Element|Root} parent
38332 * @returns {boolean|undefined}
38333 *
38334 * @typedef Options
38335 * @property {Array<string>} [allowedElements]
38336 * @property {Array<string>} [disallowedElements=[]]
38337 * @property {AllowElement} [allowElement]
38338 * @property {boolean} [unwrapDisallowed=false]
38339 */
38340
38341 /**
38342 * @type {import('unified').Plugin<[Options], Root>}
38343 */
38344 function rehypeFilter(options) {
38345 if (options.allowedElements && options.disallowedElements) {
38346 throw new TypeError(
38347 'Only one of `allowedElements` and `disallowedElements` should be defined'
38348 )
38349 }
38350
38351 if (
38352 options.allowedElements ||
38353 options.disallowedElements ||
38354 options.allowElement
38355 ) {
38356 return (tree) => {
38357 (0,unist_util_visit__WEBPACK_IMPORTED_MODULE_0__.visit)(tree, 'element', (node, index, parent_) => {
38358 const parent = /** @type {Element|Root} */ (parent_)
38359 /** @type {boolean|undefined} */
38360 let remove
38361
38362 if (options.allowedElements) {
38363 remove = !options.allowedElements.includes(node.tagName)
38364 } else if (options.disallowedElements) {
38365 remove = options.disallowedElements.includes(node.tagName)
38366 }
38367
38368 if (!remove && options.allowElement && typeof index === 'number') {
38369 remove = !options.allowElement(node, index, parent)
38370 }
38371
38372 if (remove && typeof index === 'number') {
38373 if (options.unwrapDisallowed && node.children) {
38374 parent.children.splice(index, 1, ...node.children)
38375 } else {
38376 parent.children.splice(index, 1)
38377 }
38378
38379 return index
38380 }
38381
38382 return undefined
38383 })
38384 }
38385 }
38386 }
38387
38388
38389 /***/ }),
38390
38391 /***/ "../node_modules/react-markdown/lib/uri-transformer.js":
38392 /*!*************************************************************!*\
38393 !*** ../node_modules/react-markdown/lib/uri-transformer.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 */ uriTransformer: () => (/* binding */ uriTransformer)
38401 /* harmony export */ });
38402 const protocols = ['http', 'https', 'mailto', 'tel']
38403
38404 /**
38405 * @param {string} uri
38406 * @returns {string}
38407 */
38408 function uriTransformer(uri) {
38409 const url = (uri || '').trim()
38410 const first = url.charAt(0)
38411
38412 if (first === '#' || first === '/') {
38413 return url
38414 }
38415
38416 const colon = url.indexOf(':')
38417 if (colon === -1) {
38418 return url
38419 }
38420
38421 let index = -1
38422
38423 while (++index < protocols.length) {
38424 const protocol = protocols[index]
38425
38426 if (
38427 colon === protocol.length &&
38428 url.slice(0, protocol.length).toLowerCase() === protocol
38429 ) {
38430 return url
38431 }
38432 }
38433
38434 index = url.indexOf('?')
38435 if (index !== -1 && colon > index) {
38436 return url
38437 }
38438
38439 index = url.indexOf('#')
38440 if (index !== -1 && colon > index) {
38441 return url
38442 }
38443
38444 // eslint-disable-next-line no-script-url
38445 return 'javascript:void(0)'
38446 }
38447
38448
38449 /***/ }),
38450
38451 /***/ "../node_modules/remark-parse/lib/index.js":
38452 /*!*************************************************!*\
38453 !*** ../node_modules/remark-parse/lib/index.js ***!
38454 \*************************************************/
38455 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
38456
38457 "use strict";
38458 __webpack_require__.r(__webpack_exports__);
38459 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
38460 /* harmony export */ "default": () => (/* binding */ remarkParse)
38461 /* harmony export */ });
38462 /* 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");
38463 /**
38464 * @typedef {import('mdast').Root} Root
38465 * @typedef {import('mdast-util-from-markdown').Options} Options
38466 */
38467
38468
38469
38470 /**
38471 * @this {import('unified').Processor}
38472 * @type {import('unified').Plugin<[Options?] | void[], string, Root>}
38473 */
38474 function remarkParse(options) {
38475 /** @type {import('unified').ParserFunction<Root>} */
38476 const parser = (doc) => {
38477 // Assume options.
38478 const settings = /** @type {Options} */ (this.data('settings'))
38479
38480 return (0,mdast_util_from_markdown__WEBPACK_IMPORTED_MODULE_0__.fromMarkdown)(
38481 doc,
38482 Object.assign({}, settings, options, {
38483 // Note: these options are not in the readme.
38484 // The goal is for them to be set by plugins on `data` instead of being
38485 // passed by users.
38486 extensions: this.data('micromarkExtensions') || [],
38487 mdastExtensions: this.data('fromMarkdownExtensions') || []
38488 })
38489 )
38490 }
38491
38492 Object.assign(this, {Parser: parser})
38493 }
38494
38495
38496 /***/ }),
38497
38498 /***/ "../node_modules/remark-rehype/lib/index.js":
38499 /*!**************************************************!*\
38500 !*** ../node_modules/remark-rehype/lib/index.js ***!
38501 \**************************************************/
38502 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
38503
38504 "use strict";
38505 __webpack_require__.r(__webpack_exports__);
38506 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
38507 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
38508 /* harmony export */ });
38509 /* 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");
38510 /**
38511 * @typedef {import('hast').Root} HastRoot
38512 * @typedef {import('mdast').Root} MdastRoot
38513 * @typedef {import('mdast-util-to-hast').Options} Options
38514 * @typedef {import('unified').Processor<any, any, any, any>} Processor
38515 *
38516 * @typedef {import('mdast-util-to-hast')} DoNotTouchAsThisImportIncludesRawInTree
38517 */
38518
38519
38520
38521 // Note: the `<MdastRoot, HastRoot>` overload doesn’t seem to work :'(
38522
38523 /**
38524 * Plugin that turns markdown into HTML to support rehype.
38525 *
38526 * * If a destination processor is given, that processor runs with a new HTML
38527 * (hast) tree (bridge-mode).
38528 * As the given processor runs with a hast tree, and rehype plugins support
38529 * hast, that means rehype plugins can be used with the given processor.
38530 * The hast tree is discarded in the end.
38531 * It’s highly unlikely that you want to do this.
38532 * * The common case is to not pass a destination processor, in which case the
38533 * current processor continues running with a new HTML (hast) tree
38534 * (mutate-mode).
38535 * As the current processor continues with a hast tree, and rehype plugins
38536 * support hast, that means rehype plugins can be used after
38537 * `remark-rehype`.
38538 * It’s likely that this is what you want to do.
38539 *
38540 * @param destination
38541 * Optional unified processor.
38542 * @param options
38543 * Options passed to `mdast-util-to-hast`.
38544 */
38545 const remarkRehype =
38546 /** @type {(import('unified').Plugin<[Processor, Options?]|[null|undefined, Options?]|[Options]|[], MdastRoot>)} */
38547 (
38548 function (destination, options) {
38549 return destination && 'run' in destination
38550 ? bridge(destination, options)
38551 : mutate(destination || options)
38552 }
38553 )
38554
38555 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (remarkRehype);
38556
38557 /**
38558 * Bridge-mode.
38559 * Runs the destination with the new hast tree.
38560 *
38561 * @type {import('unified').Plugin<[Processor, Options?], MdastRoot>}
38562 */
38563 function bridge(destination, options) {
38564 return (node, file, next) => {
38565 destination.run((0,mdast_util_to_hast__WEBPACK_IMPORTED_MODULE_0__.toHast)(node, options), file, (error) => {
38566 next(error)
38567 })
38568 }
38569 }
38570
38571 /**
38572 * Mutate-mode.
38573 * Further plugins run on the hast tree.
38574 *
38575 * @type {import('unified').Plugin<[Options?]|void[], MdastRoot, HastRoot>}
38576 */
38577 function mutate(options) {
38578 // @ts-expect-error: assume a corresponding node is returned by `toHast`.
38579 return (node) => (0,mdast_util_to_hast__WEBPACK_IMPORTED_MODULE_0__.toHast)(node, options)
38580 }
38581
38582
38583 /***/ }),
38584
38585 /***/ "../node_modules/space-separated-tokens/index.js":
38586 /*!*******************************************************!*\
38587 !*** ../node_modules/space-separated-tokens/index.js ***!
38588 \*******************************************************/
38589 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
38590
38591 "use strict";
38592 __webpack_require__.r(__webpack_exports__);
38593 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
38594 /* harmony export */ parse: () => (/* binding */ parse),
38595 /* harmony export */ stringify: () => (/* binding */ stringify)
38596 /* harmony export */ });
38597 /**
38598 * Parse space-separated tokens to an array of strings.
38599 *
38600 * @param {string} value
38601 * Space-separated tokens.
38602 * @returns {Array<string>}
38603 * List of tokens.
38604 */
38605 function parse(value) {
38606 const input = String(value || '').trim()
38607 return input ? input.split(/[ \t\n\r\f]+/g) : []
38608 }
38609
38610 /**
38611 * Serialize an array of strings as space separated-tokens.
38612 *
38613 * @param {Array<string|number>} values
38614 * List of tokens.
38615 * @returns {string}
38616 * Space-separated tokens.
38617 */
38618 function stringify(values) {
38619 return values.join(' ').trim()
38620 }
38621
38622
38623 /***/ }),
38624
38625 /***/ "../node_modules/style-to-object/index.mjs":
38626 /*!*************************************************!*\
38627 !*** ../node_modules/style-to-object/index.mjs ***!
38628 \*************************************************/
38629 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
38630
38631 "use strict";
38632 __webpack_require__.r(__webpack_exports__);
38633 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
38634 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
38635 /* harmony export */ });
38636 /* harmony import */ var _index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index.js */ "../node_modules/style-to-object/index.js");
38637
38638
38639 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_index_js__WEBPACK_IMPORTED_MODULE_0__);
38640
38641
38642 /***/ }),
38643
38644 /***/ "../node_modules/trim-lines/index.js":
38645 /*!*******************************************!*\
38646 !*** ../node_modules/trim-lines/index.js ***!
38647 \*******************************************/
38648 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
38649
38650 "use strict";
38651 __webpack_require__.r(__webpack_exports__);
38652 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
38653 /* harmony export */ trimLines: () => (/* binding */ trimLines)
38654 /* harmony export */ });
38655 const tab = 9 /* `\t` */
38656 const space = 32 /* ` ` */
38657
38658 /**
38659 * Remove initial and final spaces and tabs at the line breaks in `value`.
38660 * Does not trim initial and final spaces and tabs of the value itself.
38661 *
38662 * @param {string} value
38663 * Value to trim.
38664 * @returns {string}
38665 * Trimmed value.
38666 */
38667 function trimLines(value) {
38668 const source = String(value)
38669 const search = /\r?\n|\r/g
38670 let match = search.exec(source)
38671 let last = 0
38672 /** @type {Array<string>} */
38673 const lines = []
38674
38675 while (match) {
38676 lines.push(
38677 trimLine(source.slice(last, match.index), last > 0, true),
38678 match[0]
38679 )
38680
38681 last = match.index + match[0].length
38682 match = search.exec(source)
38683 }
38684
38685 lines.push(trimLine(source.slice(last), last > 0, false))
38686
38687 return lines.join('')
38688 }
38689
38690 /**
38691 * @param {string} value
38692 * Line to trim.
38693 * @param {boolean} start
38694 * Whether to trim the start of the line.
38695 * @param {boolean} end
38696 * Whether to trim the end of the line.
38697 * @returns {string}
38698 * Trimmed line.
38699 */
38700 function trimLine(value, start, end) {
38701 let startIndex = 0
38702 let endIndex = value.length
38703
38704 if (start) {
38705 let code = value.codePointAt(startIndex)
38706
38707 while (code === tab || code === space) {
38708 startIndex++
38709 code = value.codePointAt(startIndex)
38710 }
38711 }
38712
38713 if (end) {
38714 let code = value.codePointAt(endIndex - 1)
38715
38716 while (code === tab || code === space) {
38717 endIndex--
38718 code = value.codePointAt(endIndex - 1)
38719 }
38720 }
38721
38722 return endIndex > startIndex ? value.slice(startIndex, endIndex) : ''
38723 }
38724
38725
38726 /***/ }),
38727
38728 /***/ "../node_modules/trough/index.js":
38729 /*!***************************************!*\
38730 !*** ../node_modules/trough/index.js ***!
38731 \***************************************/
38732 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
38733
38734 "use strict";
38735 __webpack_require__.r(__webpack_exports__);
38736 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
38737 /* harmony export */ trough: () => (/* binding */ trough),
38738 /* harmony export */ wrap: () => (/* binding */ wrap)
38739 /* harmony export */ });
38740 /**
38741 * @typedef {(error?: Error|null|undefined, ...output: Array<any>) => void} Callback
38742 * @typedef {(...input: Array<any>) => any} Middleware
38743 *
38744 * @typedef {(...input: Array<any>) => void} Run
38745 * Call all middleware.
38746 * @typedef {(fn: Middleware) => Pipeline} Use
38747 * Add `fn` (middleware) to the list.
38748 * @typedef {{run: Run, use: Use}} Pipeline
38749 * Middleware.
38750 */
38751
38752 /**
38753 * Create new middleware.
38754 *
38755 * @returns {Pipeline}
38756 */
38757 function trough() {
38758 /** @type {Array<Middleware>} */
38759 const fns = []
38760 /** @type {Pipeline} */
38761 const pipeline = {run, use}
38762
38763 return pipeline
38764
38765 /** @type {Run} */
38766 function run(...values) {
38767 let middlewareIndex = -1
38768 /** @type {Callback} */
38769 const callback = values.pop()
38770
38771 if (typeof callback !== 'function') {
38772 throw new TypeError('Expected function as last argument, not ' + callback)
38773 }
38774
38775 next(null, ...values)
38776
38777 /**
38778 * Run the next `fn`, or we’re done.
38779 *
38780 * @param {Error|null|undefined} error
38781 * @param {Array<any>} output
38782 */
38783 function next(error, ...output) {
38784 const fn = fns[++middlewareIndex]
38785 let index = -1
38786
38787 if (error) {
38788 callback(error)
38789 return
38790 }
38791
38792 // Copy non-nullish input into values.
38793 while (++index < values.length) {
38794 if (output[index] === null || output[index] === undefined) {
38795 output[index] = values[index]
38796 }
38797 }
38798
38799 // Save the newly created `output` for the next call.
38800 values = output
38801
38802 // Next or done.
38803 if (fn) {
38804 wrap(fn, next)(...output)
38805 } else {
38806 callback(null, ...output)
38807 }
38808 }
38809 }
38810
38811 /** @type {Use} */
38812 function use(middelware) {
38813 if (typeof middelware !== 'function') {
38814 throw new TypeError(
38815 'Expected `middelware` to be a function, not ' + middelware
38816 )
38817 }
38818
38819 fns.push(middelware)
38820 return pipeline
38821 }
38822 }
38823
38824 /**
38825 * Wrap `middleware`.
38826 * Can be sync or async; return a promise, receive a callback, or return new
38827 * values and errors.
38828 *
38829 * @param {Middleware} middleware
38830 * @param {Callback} callback
38831 */
38832 function wrap(middleware, callback) {
38833 /** @type {boolean} */
38834 let called
38835
38836 return wrapped
38837
38838 /**
38839 * Call `middleware`.
38840 * @this {any}
38841 * @param {Array<any>} parameters
38842 * @returns {void}
38843 */
38844 function wrapped(...parameters) {
38845 const fnExpectsCallback = middleware.length > parameters.length
38846 /** @type {any} */
38847 let result
38848
38849 if (fnExpectsCallback) {
38850 parameters.push(done)
38851 }
38852
38853 try {
38854 result = middleware.apply(this, parameters)
38855 } catch (error) {
38856 const exception = /** @type {Error} */ (error)
38857
38858 // Well, this is quite the pickle.
38859 // `middleware` received a callback and called it synchronously, but that
38860 // threw an error.
38861 // The only thing left to do is to throw the thing instead.
38862 if (fnExpectsCallback && called) {
38863 throw exception
38864 }
38865
38866 return done(exception)
38867 }
38868
38869 if (!fnExpectsCallback) {
38870 if (result instanceof Promise) {
38871 result.then(then, done)
38872 } else if (result instanceof Error) {
38873 done(result)
38874 } else {
38875 then(result)
38876 }
38877 }
38878 }
38879
38880 /**
38881 * Call `callback`, only once.
38882 * @type {Callback}
38883 */
38884 function done(error, ...output) {
38885 if (!called) {
38886 called = true
38887 callback(error, ...output)
38888 }
38889 }
38890
38891 /**
38892 * Call `done` with one value.
38893 *
38894 * @param {any} [value]
38895 */
38896 function then(value) {
38897 done(null, value)
38898 }
38899 }
38900
38901
38902 /***/ }),
38903
38904 /***/ "../node_modules/unified/lib/index.js":
38905 /*!********************************************!*\
38906 !*** ../node_modules/unified/lib/index.js ***!
38907 \********************************************/
38908 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
38909
38910 "use strict";
38911 __webpack_require__.r(__webpack_exports__);
38912 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
38913 /* harmony export */ unified: () => (/* binding */ unified)
38914 /* harmony export */ });
38915 /* harmony import */ var bail__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! bail */ "../node_modules/bail/index.js");
38916 /* harmony import */ var is_buffer__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! is-buffer */ "../node_modules/is-buffer/index.js");
38917 /* harmony import */ var extend__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! extend */ "../node_modules/extend/index.js");
38918 /* harmony import */ var is_plain_obj__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! is-plain-obj */ "../node_modules/is-plain-obj/index.js");
38919 /* harmony import */ var trough__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! trough */ "../node_modules/trough/index.js");
38920 /* harmony import */ var vfile__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! vfile */ "../node_modules/vfile/lib/index.js");
38921 /**
38922 * @typedef {import('unist').Node} Node
38923 * @typedef {import('vfile').VFileCompatible} VFileCompatible
38924 * @typedef {import('vfile').VFileValue} VFileValue
38925 * @typedef {import('..').Processor} Processor
38926 * @typedef {import('..').Plugin} Plugin
38927 * @typedef {import('..').Preset} Preset
38928 * @typedef {import('..').Pluggable} Pluggable
38929 * @typedef {import('..').PluggableList} PluggableList
38930 * @typedef {import('..').Transformer} Transformer
38931 * @typedef {import('..').Parser} Parser
38932 * @typedef {import('..').Compiler} Compiler
38933 * @typedef {import('..').RunCallback} RunCallback
38934 * @typedef {import('..').ProcessCallback} ProcessCallback
38935 *
38936 * @typedef Context
38937 * @property {Node} tree
38938 * @property {VFile} file
38939 */
38940
38941
38942
38943
38944
38945
38946
38947
38948 // Expose a frozen processor.
38949 const unified = base().freeze()
38950
38951 const own = {}.hasOwnProperty
38952
38953 // Function to create the first processor.
38954 /**
38955 * @returns {Processor}
38956 */
38957 function base() {
38958 const transformers = (0,trough__WEBPACK_IMPORTED_MODULE_3__.trough)()
38959 /** @type {Processor['attachers']} */
38960 const attachers = []
38961 /** @type {Record<string, unknown>} */
38962 let namespace = {}
38963 /** @type {boolean|undefined} */
38964 let frozen
38965 let freezeIndex = -1
38966
38967 // Data management.
38968 // @ts-expect-error: overloads are handled.
38969 processor.data = data
38970 processor.Parser = undefined
38971 processor.Compiler = undefined
38972
38973 // Lock.
38974 processor.freeze = freeze
38975
38976 // Plugins.
38977 processor.attachers = attachers
38978 // @ts-expect-error: overloads are handled.
38979 processor.use = use
38980
38981 // API.
38982 processor.parse = parse
38983 processor.stringify = stringify
38984 // @ts-expect-error: overloads are handled.
38985 processor.run = run
38986 processor.runSync = runSync
38987 // @ts-expect-error: overloads are handled.
38988 processor.process = process
38989 processor.processSync = processSync
38990
38991 // Expose.
38992 return processor
38993
38994 // Create a new processor based on the processor in the current scope.
38995 /** @type {Processor} */
38996 function processor() {
38997 const destination = base()
38998 let index = -1
38999
39000 while (++index < attachers.length) {
39001 destination.use(...attachers[index])
39002 }
39003
39004 destination.data(extend__WEBPACK_IMPORTED_MODULE_1__(true, {}, namespace))
39005
39006 return destination
39007 }
39008
39009 /**
39010 * @param {string|Record<string, unknown>} [key]
39011 * @param {unknown} [value]
39012 * @returns {unknown}
39013 */
39014 function data(key, value) {
39015 if (typeof key === 'string') {
39016 // Set `key`.
39017 if (arguments.length === 2) {
39018 assertUnfrozen('data', frozen)
39019 namespace[key] = value
39020 return processor
39021 }
39022
39023 // Get `key`.
39024 return (own.call(namespace, key) && namespace[key]) || null
39025 }
39026
39027 // Set space.
39028 if (key) {
39029 assertUnfrozen('data', frozen)
39030 namespace = key
39031 return processor
39032 }
39033
39034 // Get space.
39035 return namespace
39036 }
39037
39038 /** @type {Processor['freeze']} */
39039 function freeze() {
39040 if (frozen) {
39041 return processor
39042 }
39043
39044 while (++freezeIndex < attachers.length) {
39045 const [attacher, ...options] = attachers[freezeIndex]
39046
39047 if (options[0] === false) {
39048 continue
39049 }
39050
39051 if (options[0] === true) {
39052 options[0] = undefined
39053 }
39054
39055 /** @type {Transformer|void} */
39056 const transformer = attacher.call(processor, ...options)
39057
39058 if (typeof transformer === 'function') {
39059 transformers.use(transformer)
39060 }
39061 }
39062
39063 frozen = true
39064 freezeIndex = Number.POSITIVE_INFINITY
39065
39066 return processor
39067 }
39068
39069 /**
39070 * @param {Pluggable|null|undefined} [value]
39071 * @param {...unknown} options
39072 * @returns {Processor}
39073 */
39074 function use(value, ...options) {
39075 /** @type {Record<string, unknown>|undefined} */
39076 let settings
39077
39078 assertUnfrozen('use', frozen)
39079
39080 if (value === null || value === undefined) {
39081 // Empty.
39082 } else if (typeof value === 'function') {
39083 addPlugin(value, ...options)
39084 } else if (typeof value === 'object') {
39085 if (Array.isArray(value)) {
39086 addList(value)
39087 } else {
39088 addPreset(value)
39089 }
39090 } else {
39091 throw new TypeError('Expected usable value, not `' + value + '`')
39092 }
39093
39094 if (settings) {
39095 namespace.settings = Object.assign(namespace.settings || {}, settings)
39096 }
39097
39098 return processor
39099
39100 /**
39101 * @param {import('..').Pluggable<unknown[]>} value
39102 * @returns {void}
39103 */
39104 function add(value) {
39105 if (typeof value === 'function') {
39106 addPlugin(value)
39107 } else if (typeof value === 'object') {
39108 if (Array.isArray(value)) {
39109 const [plugin, ...options] = value
39110 addPlugin(plugin, ...options)
39111 } else {
39112 addPreset(value)
39113 }
39114 } else {
39115 throw new TypeError('Expected usable value, not `' + value + '`')
39116 }
39117 }
39118
39119 /**
39120 * @param {Preset} result
39121 * @returns {void}
39122 */
39123 function addPreset(result) {
39124 addList(result.plugins)
39125
39126 if (result.settings) {
39127 settings = Object.assign(settings || {}, result.settings)
39128 }
39129 }
39130
39131 /**
39132 * @param {PluggableList|null|undefined} [plugins]
39133 * @returns {void}
39134 */
39135 function addList(plugins) {
39136 let index = -1
39137
39138 if (plugins === null || plugins === undefined) {
39139 // Empty.
39140 } else if (Array.isArray(plugins)) {
39141 while (++index < plugins.length) {
39142 const thing = plugins[index]
39143 add(thing)
39144 }
39145 } else {
39146 throw new TypeError('Expected a list of plugins, not `' + plugins + '`')
39147 }
39148 }
39149
39150 /**
39151 * @param {Plugin} plugin
39152 * @param {...unknown} [value]
39153 * @returns {void}
39154 */
39155 function addPlugin(plugin, value) {
39156 let index = -1
39157 /** @type {Processor['attachers'][number]|undefined} */
39158 let entry
39159
39160 while (++index < attachers.length) {
39161 if (attachers[index][0] === plugin) {
39162 entry = attachers[index]
39163 break
39164 }
39165 }
39166
39167 if (entry) {
39168 if ((0,is_plain_obj__WEBPACK_IMPORTED_MODULE_2__["default"])(entry[1]) && (0,is_plain_obj__WEBPACK_IMPORTED_MODULE_2__["default"])(value)) {
39169 value = extend__WEBPACK_IMPORTED_MODULE_1__(true, entry[1], value)
39170 }
39171
39172 entry[1] = value
39173 } else {
39174 // @ts-expect-error: fine.
39175 attachers.push([...arguments])
39176 }
39177 }
39178 }
39179
39180 /** @type {Processor['parse']} */
39181 function parse(doc) {
39182 processor.freeze()
39183 const file = vfile(doc)
39184 const Parser = processor.Parser
39185 assertParser('parse', Parser)
39186
39187 if (newable(Parser, 'parse')) {
39188 // @ts-expect-error: `newable` checks this.
39189 return new Parser(String(file), file).parse()
39190 }
39191
39192 // @ts-expect-error: `newable` checks this.
39193 return Parser(String(file), file) // eslint-disable-line new-cap
39194 }
39195
39196 /** @type {Processor['stringify']} */
39197 function stringify(node, doc) {
39198 processor.freeze()
39199 const file = vfile(doc)
39200 const Compiler = processor.Compiler
39201 assertCompiler('stringify', Compiler)
39202 assertNode(node)
39203
39204 if (newable(Compiler, 'compile')) {
39205 // @ts-expect-error: `newable` checks this.
39206 return new Compiler(node, file).compile()
39207 }
39208
39209 // @ts-expect-error: `newable` checks this.
39210 return Compiler(node, file) // eslint-disable-line new-cap
39211 }
39212
39213 /**
39214 * @param {Node} node
39215 * @param {VFileCompatible|RunCallback} [doc]
39216 * @param {RunCallback} [callback]
39217 * @returns {Promise<Node>|void}
39218 */
39219 function run(node, doc, callback) {
39220 assertNode(node)
39221 processor.freeze()
39222
39223 if (!callback && typeof doc === 'function') {
39224 callback = doc
39225 doc = undefined
39226 }
39227
39228 if (!callback) {
39229 return new Promise(executor)
39230 }
39231
39232 executor(null, callback)
39233
39234 /**
39235 * @param {null|((node: Node) => void)} resolve
39236 * @param {(error: Error) => void} reject
39237 * @returns {void}
39238 */
39239 function executor(resolve, reject) {
39240 // @ts-expect-error: `doc` can’t be a callback anymore, we checked.
39241 transformers.run(node, vfile(doc), done)
39242
39243 /**
39244 * @param {Error|null} error
39245 * @param {Node} tree
39246 * @param {VFile} file
39247 * @returns {void}
39248 */
39249 function done(error, tree, file) {
39250 tree = tree || node
39251 if (error) {
39252 reject(error)
39253 } else if (resolve) {
39254 resolve(tree)
39255 } else {
39256 // @ts-expect-error: `callback` is defined if `resolve` is not.
39257 callback(null, tree, file)
39258 }
39259 }
39260 }
39261 }
39262
39263 /** @type {Processor['runSync']} */
39264 function runSync(node, file) {
39265 /** @type {Node|undefined} */
39266 let result
39267 /** @type {boolean|undefined} */
39268 let complete
39269
39270 processor.run(node, file, done)
39271
39272 assertDone('runSync', 'run', complete)
39273
39274 // @ts-expect-error: we either bailed on an error or have a tree.
39275 return result
39276
39277 /**
39278 * @param {Error|null} [error]
39279 * @param {Node} [tree]
39280 * @returns {void}
39281 */
39282 function done(error, tree) {
39283 ;(0,bail__WEBPACK_IMPORTED_MODULE_4__.bail)(error)
39284 result = tree
39285 complete = true
39286 }
39287 }
39288
39289 /**
39290 * @param {VFileCompatible} doc
39291 * @param {ProcessCallback} [callback]
39292 * @returns {Promise<VFile>|undefined}
39293 */
39294 function process(doc, callback) {
39295 processor.freeze()
39296 assertParser('process', processor.Parser)
39297 assertCompiler('process', processor.Compiler)
39298
39299 if (!callback) {
39300 return new Promise(executor)
39301 }
39302
39303 executor(null, callback)
39304
39305 /**
39306 * @param {null|((file: VFile) => void)} resolve
39307 * @param {(error?: Error|null|undefined) => void} reject
39308 * @returns {void}
39309 */
39310 function executor(resolve, reject) {
39311 const file = vfile(doc)
39312
39313 processor.run(processor.parse(file), file, (error, tree, file) => {
39314 if (error || !tree || !file) {
39315 done(error)
39316 } else {
39317 /** @type {unknown} */
39318 const result = processor.stringify(tree, file)
39319
39320 if (result === undefined || result === null) {
39321 // Empty.
39322 } else if (looksLikeAVFileValue(result)) {
39323 file.value = result
39324 } else {
39325 file.result = result
39326 }
39327
39328 done(error, file)
39329 }
39330 })
39331
39332 /**
39333 * @param {Error|null|undefined} [error]
39334 * @param {VFile|undefined} [file]
39335 * @returns {void}
39336 */
39337 function done(error, file) {
39338 if (error || !file) {
39339 reject(error)
39340 } else if (resolve) {
39341 resolve(file)
39342 } else {
39343 // @ts-expect-error: `callback` is defined if `resolve` is not.
39344 callback(null, file)
39345 }
39346 }
39347 }
39348 }
39349
39350 /** @type {Processor['processSync']} */
39351 function processSync(doc) {
39352 /** @type {boolean|undefined} */
39353 let complete
39354
39355 processor.freeze()
39356 assertParser('processSync', processor.Parser)
39357 assertCompiler('processSync', processor.Compiler)
39358
39359 const file = vfile(doc)
39360
39361 processor.process(file, done)
39362
39363 assertDone('processSync', 'process', complete)
39364
39365 return file
39366
39367 /**
39368 * @param {Error|null|undefined} [error]
39369 * @returns {void}
39370 */
39371 function done(error) {
39372 complete = true
39373 ;(0,bail__WEBPACK_IMPORTED_MODULE_4__.bail)(error)
39374 }
39375 }
39376 }
39377
39378 /**
39379 * Check if `value` is a constructor.
39380 *
39381 * @param {unknown} value
39382 * @param {string} name
39383 * @returns {boolean}
39384 */
39385 function newable(value, name) {
39386 return (
39387 typeof value === 'function' &&
39388 // Prototypes do exist.
39389 // type-coverage:ignore-next-line
39390 value.prototype &&
39391 // A function with keys in its prototype is probably a constructor.
39392 // Classes’ prototype methods are not enumerable, so we check if some value
39393 // exists in the prototype.
39394 // type-coverage:ignore-next-line
39395 (keys(value.prototype) || name in value.prototype)
39396 )
39397 }
39398
39399 /**
39400 * Check if `value` is an object with keys.
39401 *
39402 * @param {Record<string, unknown>} value
39403 * @returns {boolean}
39404 */
39405 function keys(value) {
39406 /** @type {string} */
39407 let key
39408
39409 for (key in value) {
39410 if (own.call(value, key)) {
39411 return true
39412 }
39413 }
39414
39415 return false
39416 }
39417
39418 /**
39419 * Assert a parser is available.
39420 *
39421 * @param {string} name
39422 * @param {unknown} value
39423 * @returns {asserts value is Parser}
39424 */
39425 function assertParser(name, value) {
39426 if (typeof value !== 'function') {
39427 throw new TypeError('Cannot `' + name + '` without `Parser`')
39428 }
39429 }
39430
39431 /**
39432 * Assert a compiler is available.
39433 *
39434 * @param {string} name
39435 * @param {unknown} value
39436 * @returns {asserts value is Compiler}
39437 */
39438 function assertCompiler(name, value) {
39439 if (typeof value !== 'function') {
39440 throw new TypeError('Cannot `' + name + '` without `Compiler`')
39441 }
39442 }
39443
39444 /**
39445 * Assert the processor is not frozen.
39446 *
39447 * @param {string} name
39448 * @param {unknown} frozen
39449 * @returns {asserts frozen is false}
39450 */
39451 function assertUnfrozen(name, frozen) {
39452 if (frozen) {
39453 throw new Error(
39454 'Cannot call `' +
39455 name +
39456 '` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.'
39457 )
39458 }
39459 }
39460
39461 /**
39462 * Assert `node` is a unist node.
39463 *
39464 * @param {unknown} node
39465 * @returns {asserts node is Node}
39466 */
39467 function assertNode(node) {
39468 // `isPlainObj` unfortunately uses `any` instead of `unknown`.
39469 // type-coverage:ignore-next-line
39470 if (!(0,is_plain_obj__WEBPACK_IMPORTED_MODULE_2__["default"])(node) || typeof node.type !== 'string') {
39471 throw new TypeError('Expected node, got `' + node + '`')
39472 // Fine.
39473 }
39474 }
39475
39476 /**
39477 * Assert that `complete` is `true`.
39478 *
39479 * @param {string} name
39480 * @param {string} asyncName
39481 * @param {unknown} complete
39482 * @returns {asserts complete is true}
39483 */
39484 function assertDone(name, asyncName, complete) {
39485 if (!complete) {
39486 throw new Error(
39487 '`' + name + '` finished async. Use `' + asyncName + '` instead'
39488 )
39489 }
39490 }
39491
39492 /**
39493 * @param {VFileCompatible} [value]
39494 * @returns {VFile}
39495 */
39496 function vfile(value) {
39497 return looksLikeAVFile(value) ? value : new vfile__WEBPACK_IMPORTED_MODULE_5__.VFile(value)
39498 }
39499
39500 /**
39501 * @param {VFileCompatible} [value]
39502 * @returns {value is VFile}
39503 */
39504 function looksLikeAVFile(value) {
39505 return Boolean(
39506 value &&
39507 typeof value === 'object' &&
39508 'message' in value &&
39509 'messages' in value
39510 )
39511 }
39512
39513 /**
39514 * @param {unknown} [value]
39515 * @returns {value is VFileValue}
39516 */
39517 function looksLikeAVFileValue(value) {
39518 return typeof value === 'string' || is_buffer__WEBPACK_IMPORTED_MODULE_0__(value)
39519 }
39520
39521
39522 /***/ }),
39523
39524 /***/ "../node_modules/unist-util-generated/lib/index.js":
39525 /*!*********************************************************!*\
39526 !*** ../node_modules/unist-util-generated/lib/index.js ***!
39527 \*********************************************************/
39528 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
39529
39530 "use strict";
39531 __webpack_require__.r(__webpack_exports__);
39532 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
39533 /* harmony export */ generated: () => (/* binding */ generated)
39534 /* harmony export */ });
39535 /**
39536 * @typedef PointLike
39537 * @property {number | null | undefined} [line]
39538 * @property {number | null | undefined} [column]
39539 * @property {number | null | undefined} [offset]
39540 *
39541 * @typedef PositionLike
39542 * @property {PointLike | null | undefined} [start]
39543 * @property {PointLike | null | undefined} [end]
39544 *
39545 * @typedef NodeLike
39546 * @property {PositionLike | null | undefined} [position]
39547 */
39548
39549 /**
39550 * Check if `node` is generated.
39551 *
39552 * @param {NodeLike | null | undefined} [node]
39553 * Node to check.
39554 * @returns {boolean}
39555 * Whether `node` is generated (does not have positional info).
39556 */
39557 function generated(node) {
39558 return (
39559 !node ||
39560 !node.position ||
39561 !node.position.start ||
39562 !node.position.start.line ||
39563 !node.position.start.column ||
39564 !node.position.end ||
39565 !node.position.end.line ||
39566 !node.position.end.column
39567 )
39568 }
39569
39570
39571 /***/ }),
39572
39573 /***/ "../node_modules/unist-util-is/lib/index.js":
39574 /*!**************************************************!*\
39575 !*** ../node_modules/unist-util-is/lib/index.js ***!
39576 \**************************************************/
39577 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
39578
39579 "use strict";
39580 __webpack_require__.r(__webpack_exports__);
39581 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
39582 /* harmony export */ convert: () => (/* binding */ convert),
39583 /* harmony export */ is: () => (/* binding */ is)
39584 /* harmony export */ });
39585 /**
39586 * @typedef {import('unist').Node} Node
39587 * @typedef {import('unist').Parent} Parent
39588 */
39589
39590 /**
39591 * @typedef {Record<string, unknown>} Props
39592 * @typedef {null | undefined | string | Props | TestFunctionAnything | Array<string | Props | TestFunctionAnything>} Test
39593 * Check for an arbitrary node, unaware of TypeScript inferral.
39594 *
39595 * @callback TestFunctionAnything
39596 * Check if a node passes a test, unaware of TypeScript inferral.
39597 * @param {unknown} this
39598 * The given context.
39599 * @param {Node} node
39600 * A node.
39601 * @param {number | null | undefined} [index]
39602 * The node’s position in its parent.
39603 * @param {Parent | null | undefined} [parent]
39604 * The node’s parent.
39605 * @returns {boolean | void}
39606 * Whether this node passes the test.
39607 */
39608
39609 /**
39610 * @template {Node} Kind
39611 * Node type.
39612 * @typedef {Kind['type'] | Partial<Kind> | TestFunctionPredicate<Kind> | Array<Kind['type'] | Partial<Kind> | TestFunctionPredicate<Kind>>} PredicateTest
39613 * Check for a node that can be inferred by TypeScript.
39614 */
39615
39616 /**
39617 * Check if a node passes a certain test.
39618 *
39619 * @template {Node} Kind
39620 * Node type.
39621 * @callback TestFunctionPredicate
39622 * Complex test function for a node that can be inferred by TypeScript.
39623 * @param {Node} node
39624 * A node.
39625 * @param {number | null | undefined} [index]
39626 * The node’s position in its parent.
39627 * @param {Parent | null | undefined} [parent]
39628 * The node’s parent.
39629 * @returns {node is Kind}
39630 * Whether this node passes the test.
39631 */
39632
39633 /**
39634 * @callback AssertAnything
39635 * Check that an arbitrary value is a node, unaware of TypeScript inferral.
39636 * @param {unknown} [node]
39637 * Anything (typically a node).
39638 * @param {number | null | undefined} [index]
39639 * The node’s position in its parent.
39640 * @param {Parent | null | undefined} [parent]
39641 * The node’s parent.
39642 * @returns {boolean}
39643 * Whether this is a node and passes a test.
39644 */
39645
39646 /**
39647 * Check if a node is a node and passes a certain node test.
39648 *
39649 * @template {Node} Kind
39650 * Node type.
39651 * @callback AssertPredicate
39652 * Check that an arbitrary value is a specific node, aware of TypeScript.
39653 * @param {unknown} [node]
39654 * Anything (typically a node).
39655 * @param {number | null | undefined} [index]
39656 * The node’s position in its parent.
39657 * @param {Parent | null | undefined} [parent]
39658 * The node’s parent.
39659 * @returns {node is Kind}
39660 * Whether this is a node and passes a test.
39661 */
39662
39663 /**
39664 * Check if `node` is a `Node` and whether it passes the given test.
39665 *
39666 * @param node
39667 * Thing to check, typically `Node`.
39668 * @param test
39669 * A check for a specific node.
39670 * @param index
39671 * The node’s position in its parent.
39672 * @param parent
39673 * The node’s parent.
39674 * @returns
39675 * Whether `node` is a node and passes a test.
39676 */
39677 const is =
39678 /**
39679 * @type {(
39680 * (() => false) &
39681 * (<Kind extends Node = Node>(node: unknown, test: PredicateTest<Kind>, index: number, parent: Parent, context?: unknown) => node is Kind) &
39682 * (<Kind extends Node = Node>(node: unknown, test: PredicateTest<Kind>, index?: null | undefined, parent?: null | undefined, context?: unknown) => node is Kind) &
39683 * ((node: unknown, test: Test, index: number, parent: Parent, context?: unknown) => boolean) &
39684 * ((node: unknown, test?: Test, index?: null | undefined, parent?: null | undefined, context?: unknown) => boolean)
39685 * )}
39686 */
39687 (
39688 /**
39689 * @param {unknown} [node]
39690 * @param {Test} [test]
39691 * @param {number | null | undefined} [index]
39692 * @param {Parent | null | undefined} [parent]
39693 * @param {unknown} [context]
39694 * @returns {boolean}
39695 */
39696 // eslint-disable-next-line max-params
39697 function is(node, test, index, parent, context) {
39698 const check = convert(test)
39699
39700 if (
39701 index !== undefined &&
39702 index !== null &&
39703 (typeof index !== 'number' ||
39704 index < 0 ||
39705 index === Number.POSITIVE_INFINITY)
39706 ) {
39707 throw new Error('Expected positive finite index')
39708 }
39709
39710 if (
39711 parent !== undefined &&
39712 parent !== null &&
39713 (!is(parent) || !parent.children)
39714 ) {
39715 throw new Error('Expected parent node')
39716 }
39717
39718 if (
39719 (parent === undefined || parent === null) !==
39720 (index === undefined || index === null)
39721 ) {
39722 throw new Error('Expected both parent and index')
39723 }
39724
39725 // @ts-expect-error Looks like a node.
39726 return node && node.type && typeof node.type === 'string'
39727 ? Boolean(check.call(context, node, index, parent))
39728 : false
39729 }
39730 )
39731
39732 /**
39733 * Generate an assertion from a test.
39734 *
39735 * Useful if you’re going to test many nodes, for example when creating a
39736 * utility where something else passes a compatible test.
39737 *
39738 * The created function is a bit faster because it expects valid input only:
39739 * a `node`, `index`, and `parent`.
39740 *
39741 * @param test
39742 * * when nullish, checks if `node` is a `Node`.
39743 * * when `string`, works like passing `(node) => node.type === test`.
39744 * * when `function` checks if function passed the node is true.
39745 * * when `object`, checks that all keys in test are in node, and that they have (strictly) equal values.
39746 * * when `array`, checks if any one of the subtests pass.
39747 * @returns
39748 * An assertion.
39749 */
39750 const convert =
39751 /**
39752 * @type {(
39753 * (<Kind extends Node>(test: PredicateTest<Kind>) => AssertPredicate<Kind>) &
39754 * ((test?: Test) => AssertAnything)
39755 * )}
39756 */
39757 (
39758 /**
39759 * @param {Test} [test]
39760 * @returns {AssertAnything}
39761 */
39762 function (test) {
39763 if (test === undefined || test === null) {
39764 return ok
39765 }
39766
39767 if (typeof test === 'string') {
39768 return typeFactory(test)
39769 }
39770
39771 if (typeof test === 'object') {
39772 return Array.isArray(test) ? anyFactory(test) : propsFactory(test)
39773 }
39774
39775 if (typeof test === 'function') {
39776 return castFactory(test)
39777 }
39778
39779 throw new Error('Expected function, string, or object as test')
39780 }
39781 )
39782
39783 /**
39784 * @param {Array<string | Props | TestFunctionAnything>} tests
39785 * @returns {AssertAnything}
39786 */
39787 function anyFactory(tests) {
39788 /** @type {Array<AssertAnything>} */
39789 const checks = []
39790 let index = -1
39791
39792 while (++index < tests.length) {
39793 checks[index] = convert(tests[index])
39794 }
39795
39796 return castFactory(any)
39797
39798 /**
39799 * @this {unknown}
39800 * @param {Array<unknown>} parameters
39801 * @returns {boolean}
39802 */
39803 function any(...parameters) {
39804 let index = -1
39805
39806 while (++index < checks.length) {
39807 if (checks[index].call(this, ...parameters)) return true
39808 }
39809
39810 return false
39811 }
39812 }
39813
39814 /**
39815 * Turn an object into a test for a node with a certain fields.
39816 *
39817 * @param {Props} check
39818 * @returns {AssertAnything}
39819 */
39820 function propsFactory(check) {
39821 return castFactory(all)
39822
39823 /**
39824 * @param {Node} node
39825 * @returns {boolean}
39826 */
39827 function all(node) {
39828 /** @type {string} */
39829 let key
39830
39831 for (key in check) {
39832 // @ts-expect-error: hush, it sure works as an index.
39833 if (node[key] !== check[key]) return false
39834 }
39835
39836 return true
39837 }
39838 }
39839
39840 /**
39841 * Turn a string into a test for a node with a certain type.
39842 *
39843 * @param {string} check
39844 * @returns {AssertAnything}
39845 */
39846 function typeFactory(check) {
39847 return castFactory(type)
39848
39849 /**
39850 * @param {Node} node
39851 */
39852 function type(node) {
39853 return node && node.type === check
39854 }
39855 }
39856
39857 /**
39858 * Turn a custom test into a test for a node that passes that test.
39859 *
39860 * @param {TestFunctionAnything} check
39861 * @returns {AssertAnything}
39862 */
39863 function castFactory(check) {
39864 return assertion
39865
39866 /**
39867 * @this {unknown}
39868 * @param {unknown} node
39869 * @param {Array<unknown>} parameters
39870 * @returns {boolean}
39871 */
39872 function assertion(node, ...parameters) {
39873 return Boolean(
39874 node &&
39875 typeof node === 'object' &&
39876 'type' in node &&
39877 // @ts-expect-error: fine.
39878 Boolean(check.call(this, node, ...parameters))
39879 )
39880 }
39881 }
39882
39883 function ok() {
39884 return true
39885 }
39886
39887
39888 /***/ }),
39889
39890 /***/ "../node_modules/unist-util-position/lib/index.js":
39891 /*!********************************************************!*\
39892 !*** ../node_modules/unist-util-position/lib/index.js ***!
39893 \********************************************************/
39894 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
39895
39896 "use strict";
39897 __webpack_require__.r(__webpack_exports__);
39898 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
39899 /* harmony export */ pointEnd: () => (/* binding */ pointEnd),
39900 /* harmony export */ pointStart: () => (/* binding */ pointStart),
39901 /* harmony export */ position: () => (/* binding */ position)
39902 /* harmony export */ });
39903 /**
39904 * @typedef {import('unist').Position} Position
39905 * @typedef {import('unist').Node} Node
39906 * @typedef {import('unist').Point} Point
39907 */
39908
39909 /**
39910 * @typedef NodeLike
39911 * @property {string} type
39912 * @property {PositionLike | null | undefined} [position]
39913 *
39914 * @typedef PositionLike
39915 * @property {PointLike | null | undefined} [start]
39916 * @property {PointLike | null | undefined} [end]
39917 *
39918 * @typedef PointLike
39919 * @property {number | null | undefined} [line]
39920 * @property {number | null | undefined} [column]
39921 * @property {number | null | undefined} [offset]
39922 */
39923
39924 /**
39925 * Get the starting point of `node`.
39926 *
39927 * @param node
39928 * Node.
39929 * @returns
39930 * Point.
39931 */
39932 const pointStart = point('start')
39933
39934 /**
39935 * Get the ending point of `node`.
39936 *
39937 * @param node
39938 * Node.
39939 * @returns
39940 * Point.
39941 */
39942 const pointEnd = point('end')
39943
39944 /**
39945 * Get the positional info of `node`.
39946 *
39947 * @param {NodeLike | Node | null | undefined} [node]
39948 * Node.
39949 * @returns {Position}
39950 * Position.
39951 */
39952 function position(node) {
39953 return {start: pointStart(node), end: pointEnd(node)}
39954 }
39955
39956 /**
39957 * Get the positional info of `node`.
39958 *
39959 * @param {'start' | 'end'} type
39960 * Side.
39961 * @returns
39962 * Getter.
39963 */
39964 function point(type) {
39965 return point
39966
39967 /**
39968 * Get the point info of `node` at a bound side.
39969 *
39970 * @param {NodeLike | Node | null | undefined} [node]
39971 * @returns {Point}
39972 */
39973 function point(node) {
39974 const point = (node && node.position && node.position[type]) || {}
39975
39976 // To do: next major: don’t return points when invalid.
39977 return {
39978 // @ts-expect-error: in practice, null is allowed.
39979 line: point.line || null,
39980 // @ts-expect-error: in practice, null is allowed.
39981 column: point.column || null,
39982 // @ts-expect-error: in practice, null is allowed.
39983 offset: point.offset > -1 ? point.offset : null
39984 }
39985 }
39986 }
39987
39988
39989 /***/ }),
39990
39991 /***/ "../node_modules/unist-util-stringify-position/lib/index.js":
39992 /*!******************************************************************!*\
39993 !*** ../node_modules/unist-util-stringify-position/lib/index.js ***!
39994 \******************************************************************/
39995 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
39996
39997 "use strict";
39998 __webpack_require__.r(__webpack_exports__);
39999 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
40000 /* harmony export */ stringifyPosition: () => (/* binding */ stringifyPosition)
40001 /* harmony export */ });
40002 /**
40003 * @typedef {import('unist').Node} Node
40004 * @typedef {import('unist').Point} Point
40005 * @typedef {import('unist').Position} Position
40006 */
40007
40008 /**
40009 * @typedef NodeLike
40010 * @property {string} type
40011 * @property {PositionLike | null | undefined} [position]
40012 *
40013 * @typedef PositionLike
40014 * @property {PointLike | null | undefined} [start]
40015 * @property {PointLike | null | undefined} [end]
40016 *
40017 * @typedef PointLike
40018 * @property {number | null | undefined} [line]
40019 * @property {number | null | undefined} [column]
40020 * @property {number | null | undefined} [offset]
40021 */
40022
40023 /**
40024 * Serialize the positional info of a point, position (start and end points),
40025 * or node.
40026 *
40027 * @param {Node | NodeLike | Position | PositionLike | Point | PointLike | null | undefined} [value]
40028 * Node, position, or point.
40029 * @returns {string}
40030 * Pretty printed positional info of a node (`string`).
40031 *
40032 * In the format of a range `ls:cs-le:ce` (when given `node` or `position`)
40033 * or a point `l:c` (when given `point`), where `l` stands for line, `c` for
40034 * column, `s` for `start`, and `e` for end.
40035 * An empty string (`''`) is returned if the given value is neither `node`,
40036 * `position`, nor `point`.
40037 */
40038 function stringifyPosition(value) {
40039 // Nothing.
40040 if (!value || typeof value !== 'object') {
40041 return ''
40042 }
40043
40044 // Node.
40045 if ('position' in value || 'type' in value) {
40046 return position(value.position)
40047 }
40048
40049 // Position.
40050 if ('start' in value || 'end' in value) {
40051 return position(value)
40052 }
40053
40054 // Point.
40055 if ('line' in value || 'column' in value) {
40056 return point(value)
40057 }
40058
40059 // ?
40060 return ''
40061 }
40062
40063 /**
40064 * @param {Point | PointLike | null | undefined} point
40065 * @returns {string}
40066 */
40067 function point(point) {
40068 return index(point && point.line) + ':' + index(point && point.column)
40069 }
40070
40071 /**
40072 * @param {Position | PositionLike | null | undefined} pos
40073 * @returns {string}
40074 */
40075 function position(pos) {
40076 return point(pos && pos.start) + '-' + point(pos && pos.end)
40077 }
40078
40079 /**
40080 * @param {number | null | undefined} value
40081 * @returns {number}
40082 */
40083 function index(value) {
40084 return value && typeof value === 'number' ? value : 1
40085 }
40086
40087
40088 /***/ }),
40089
40090 /***/ "../node_modules/unist-util-visit-parents/lib/color.browser.js":
40091 /*!*********************************************************************!*\
40092 !*** ../node_modules/unist-util-visit-parents/lib/color.browser.js ***!
40093 \*********************************************************************/
40094 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
40095
40096 "use strict";
40097 __webpack_require__.r(__webpack_exports__);
40098 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
40099 /* harmony export */ color: () => (/* binding */ color)
40100 /* harmony export */ });
40101 /**
40102 * @param {string} d
40103 * @returns {string}
40104 */
40105 function color(d) {
40106 return d
40107 }
40108
40109
40110 /***/ }),
40111
40112 /***/ "../node_modules/unist-util-visit-parents/lib/index.js":
40113 /*!*************************************************************!*\
40114 !*** ../node_modules/unist-util-visit-parents/lib/index.js ***!
40115 \*************************************************************/
40116 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
40117
40118 "use strict";
40119 __webpack_require__.r(__webpack_exports__);
40120 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
40121 /* harmony export */ CONTINUE: () => (/* binding */ CONTINUE),
40122 /* harmony export */ EXIT: () => (/* binding */ EXIT),
40123 /* harmony export */ SKIP: () => (/* binding */ SKIP),
40124 /* harmony export */ visitParents: () => (/* binding */ visitParents)
40125 /* harmony export */ });
40126 /* harmony import */ var unist_util_is__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! unist-util-is */ "../node_modules/unist-util-is/lib/index.js");
40127 /* harmony import */ var _color_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./color.js */ "../node_modules/unist-util-visit-parents/lib/color.browser.js");
40128 /**
40129 * @typedef {import('unist').Node} Node
40130 * @typedef {import('unist').Parent} Parent
40131 * @typedef {import('unist-util-is').Test} Test
40132 */
40133
40134 /**
40135 * @typedef {boolean | 'skip'} Action
40136 * Union of the action types.
40137 *
40138 * @typedef {number} Index
40139 * Move to the sibling at `index` next (after node itself is completely
40140 * traversed).
40141 *
40142 * Useful if mutating the tree, such as removing the node the visitor is
40143 * currently on, or any of its previous siblings.
40144 * Results less than 0 or greater than or equal to `children.length` stop
40145 * traversing the parent.
40146 *
40147 * @typedef {[(Action | null | undefined | void)?, (Index | null | undefined)?]} ActionTuple
40148 * List with one or two values, the first an action, the second an index.
40149 *
40150 * @typedef {Action | ActionTuple | Index | null | undefined | void} VisitorResult
40151 * Any value that can be returned from a visitor.
40152 */
40153
40154 /**
40155 * @template {Node} [Visited=Node]
40156 * Visited node type.
40157 * @template {Parent} [Ancestor=Parent]
40158 * Ancestor type.
40159 * @callback Visitor
40160 * Handle a node (matching `test`, if given).
40161 *
40162 * Visitors are free to transform `node`.
40163 * They can also transform the parent of node (the last of `ancestors`).
40164 *
40165 * Replacing `node` itself, if `SKIP` is not returned, still causes its
40166 * descendants to be walked (which is a bug).
40167 *
40168 * When adding or removing previous siblings of `node` (or next siblings, in
40169 * case of reverse), the `Visitor` should return a new `Index` to specify the
40170 * sibling to traverse after `node` is traversed.
40171 * Adding or removing next siblings of `node` (or previous siblings, in case
40172 * of reverse) is handled as expected without needing to return a new `Index`.
40173 *
40174 * Removing the children property of an ancestor still results in them being
40175 * traversed.
40176 * @param {Visited} node
40177 * Found node.
40178 * @param {Array<Ancestor>} ancestors
40179 * Ancestors of `node`.
40180 * @returns {VisitorResult}
40181 * What to do next.
40182 *
40183 * An `Index` is treated as a tuple of `[CONTINUE, Index]`.
40184 * An `Action` is treated as a tuple of `[Action]`.
40185 *
40186 * Passing a tuple back only makes sense if the `Action` is `SKIP`.
40187 * When the `Action` is `EXIT`, that action can be returned.
40188 * When the `Action` is `CONTINUE`, `Index` can be returned.
40189 */
40190
40191 /**
40192 * @template {Node} [Tree=Node]
40193 * Tree type.
40194 * @template {Test} [Check=string]
40195 * Test type.
40196 * @typedef {Visitor<import('./complex-types.js').Matches<import('./complex-types.js').InclusiveDescendant<Tree>, Check>, Extract<import('./complex-types.js').InclusiveDescendant<Tree>, Parent>>} BuildVisitor
40197 * Build a typed `Visitor` function from a tree and a test.
40198 *
40199 * It will infer which values are passed as `node` and which as `parents`.
40200 */
40201
40202
40203
40204
40205 /**
40206 * Continue traversing as normal.
40207 */
40208 const CONTINUE = true
40209
40210 /**
40211 * Stop traversing immediately.
40212 */
40213 const EXIT = false
40214
40215 /**
40216 * Do not traverse this node’s children.
40217 */
40218 const SKIP = 'skip'
40219
40220 /**
40221 * Visit nodes, with ancestral information.
40222 *
40223 * This algorithm performs *depth-first* *tree traversal* in *preorder*
40224 * (**NLR**) or if `reverse` is given, in *reverse preorder* (**NRL**).
40225 *
40226 * You can choose for which nodes `visitor` is called by passing a `test`.
40227 * For complex tests, you should test yourself in `visitor`, as it will be
40228 * faster and will have improved type information.
40229 *
40230 * Walking the tree is an intensive task.
40231 * Make use of the return values of the visitor when possible.
40232 * Instead of walking a tree multiple times, walk it once, use `unist-util-is`
40233 * to check if a node matches, and then perform different operations.
40234 *
40235 * You can change the tree.
40236 * See `Visitor` for more info.
40237 *
40238 * @param tree
40239 * Tree to traverse.
40240 * @param test
40241 * `unist-util-is`-compatible test
40242 * @param visitor
40243 * Handle each node.
40244 * @param reverse
40245 * Traverse in reverse preorder (NRL) instead of the default preorder (NLR).
40246 * @returns
40247 * Nothing.
40248 */
40249 const visitParents =
40250 /**
40251 * @type {(
40252 * (<Tree extends Node, Check extends Test>(tree: Tree, test: Check, visitor: BuildVisitor<Tree, Check>, reverse?: boolean | null | undefined) => void) &
40253 * (<Tree extends Node>(tree: Tree, visitor: BuildVisitor<Tree>, reverse?: boolean | null | undefined) => void)
40254 * )}
40255 */
40256 (
40257 /**
40258 * @param {Node} tree
40259 * @param {Test} test
40260 * @param {Visitor<Node>} visitor
40261 * @param {boolean | null | undefined} [reverse]
40262 * @returns {void}
40263 */
40264 function (tree, test, visitor, reverse) {
40265 if (typeof test === 'function' && typeof visitor !== 'function') {
40266 reverse = visitor
40267 // @ts-expect-error no visitor given, so `visitor` is test.
40268 visitor = test
40269 test = null
40270 }
40271
40272 const is = (0,unist_util_is__WEBPACK_IMPORTED_MODULE_0__.convert)(test)
40273 const step = reverse ? -1 : 1
40274
40275 factory(tree, undefined, [])()
40276
40277 /**
40278 * @param {Node} node
40279 * @param {number | undefined} index
40280 * @param {Array<Parent>} parents
40281 */
40282 function factory(node, index, parents) {
40283 /** @type {Record<string, unknown>} */
40284 // @ts-expect-error: hush
40285 const value = node && typeof node === 'object' ? node : {}
40286
40287 if (typeof value.type === 'string') {
40288 const name =
40289 // `hast`
40290 typeof value.tagName === 'string'
40291 ? value.tagName
40292 : // `xast`
40293 typeof value.name === 'string'
40294 ? value.name
40295 : undefined
40296
40297 Object.defineProperty(visit, 'name', {
40298 value:
40299 'node (' + (0,_color_js__WEBPACK_IMPORTED_MODULE_1__.color)(node.type + (name ? '<' + name + '>' : '')) + ')'
40300 })
40301 }
40302
40303 return visit
40304
40305 function visit() {
40306 /** @type {ActionTuple} */
40307 let result = []
40308 /** @type {ActionTuple} */
40309 let subresult
40310 /** @type {number} */
40311 let offset
40312 /** @type {Array<Parent>} */
40313 let grandparents
40314
40315 if (!test || is(node, index, parents[parents.length - 1] || null)) {
40316 result = toResult(visitor(node, parents))
40317
40318 if (result[0] === EXIT) {
40319 return result
40320 }
40321 }
40322
40323 // @ts-expect-error looks like a parent.
40324 if (node.children && result[0] !== SKIP) {
40325 // @ts-expect-error looks like a parent.
40326 offset = (reverse ? node.children.length : -1) + step
40327 // @ts-expect-error looks like a parent.
40328 grandparents = parents.concat(node)
40329
40330 // @ts-expect-error looks like a parent.
40331 while (offset > -1 && offset < node.children.length) {
40332 // @ts-expect-error looks like a parent.
40333 subresult = factory(node.children[offset], offset, grandparents)()
40334
40335 if (subresult[0] === EXIT) {
40336 return subresult
40337 }
40338
40339 offset =
40340 typeof subresult[1] === 'number' ? subresult[1] : offset + step
40341 }
40342 }
40343
40344 return result
40345 }
40346 }
40347 }
40348 )
40349
40350 /**
40351 * Turn a return value into a clean result.
40352 *
40353 * @param {VisitorResult} value
40354 * Valid return values from visitors.
40355 * @returns {ActionTuple}
40356 * Clean result.
40357 */
40358 function toResult(value) {
40359 if (Array.isArray(value)) {
40360 return value
40361 }
40362
40363 if (typeof value === 'number') {
40364 return [CONTINUE, value]
40365 }
40366
40367 return [value]
40368 }
40369
40370
40371 /***/ }),
40372
40373 /***/ "../node_modules/unist-util-visit/lib/index.js":
40374 /*!*****************************************************!*\
40375 !*** ../node_modules/unist-util-visit/lib/index.js ***!
40376 \*****************************************************/
40377 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
40378
40379 "use strict";
40380 __webpack_require__.r(__webpack_exports__);
40381 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
40382 /* harmony export */ CONTINUE: () => (/* reexport safe */ unist_util_visit_parents__WEBPACK_IMPORTED_MODULE_0__.CONTINUE),
40383 /* harmony export */ EXIT: () => (/* reexport safe */ unist_util_visit_parents__WEBPACK_IMPORTED_MODULE_0__.EXIT),
40384 /* harmony export */ SKIP: () => (/* reexport safe */ unist_util_visit_parents__WEBPACK_IMPORTED_MODULE_0__.SKIP),
40385 /* harmony export */ visit: () => (/* binding */ visit)
40386 /* harmony export */ });
40387 /* 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");
40388 /**
40389 * @typedef {import('unist').Node} Node
40390 * @typedef {import('unist').Parent} Parent
40391 * @typedef {import('unist-util-is').Test} Test
40392 * @typedef {import('unist-util-visit-parents').VisitorResult} VisitorResult
40393 */
40394
40395 /**
40396 * Check if `Child` can be a child of `Ancestor`.
40397 *
40398 * Returns the ancestor when `Child` can be a child of `Ancestor`, or returns
40399 * `never`.
40400 *
40401 * @template {Node} Ancestor
40402 * Node type.
40403 * @template {Node} Child
40404 * Node type.
40405 * @typedef {(
40406 * Ancestor extends Parent
40407 * ? Child extends Ancestor['children'][number]
40408 * ? Ancestor
40409 * : never
40410 * : never
40411 * )} ParentsOf
40412 */
40413
40414 /**
40415 * @template {Node} [Visited=Node]
40416 * Visited node type.
40417 * @template {Parent} [Ancestor=Parent]
40418 * Ancestor type.
40419 * @callback Visitor
40420 * Handle a node (matching `test`, if given).
40421 *
40422 * Visitors are free to transform `node`.
40423 * They can also transform `parent`.
40424 *
40425 * Replacing `node` itself, if `SKIP` is not returned, still causes its
40426 * descendants to be walked (which is a bug).
40427 *
40428 * When adding or removing previous siblings of `node` (or next siblings, in
40429 * case of reverse), the `Visitor` should return a new `Index` to specify the
40430 * sibling to traverse after `node` is traversed.
40431 * Adding or removing next siblings of `node` (or previous siblings, in case
40432 * of reverse) is handled as expected without needing to return a new `Index`.
40433 *
40434 * Removing the children property of `parent` still results in them being
40435 * traversed.
40436 * @param {Visited} node
40437 * Found node.
40438 * @param {Visited extends Node ? number | null : never} index
40439 * Index of `node` in `parent`.
40440 * @param {Ancestor extends Node ? Ancestor | null : never} parent
40441 * Parent of `node`.
40442 * @returns {VisitorResult}
40443 * What to do next.
40444 *
40445 * An `Index` is treated as a tuple of `[CONTINUE, Index]`.
40446 * An `Action` is treated as a tuple of `[Action]`.
40447 *
40448 * Passing a tuple back only makes sense if the `Action` is `SKIP`.
40449 * When the `Action` is `EXIT`, that action can be returned.
40450 * When the `Action` is `CONTINUE`, `Index` can be returned.
40451 */
40452
40453 /**
40454 * Build a typed `Visitor` function from a node and all possible parents.
40455 *
40456 * It will infer which values are passed as `node` and which as `parent`.
40457 *
40458 * @template {Node} Visited
40459 * Node type.
40460 * @template {Parent} Ancestor
40461 * Parent type.
40462 * @typedef {Visitor<Visited, ParentsOf<Ancestor, Visited>>} BuildVisitorFromMatch
40463 */
40464
40465 /**
40466 * Build a typed `Visitor` function from a list of descendants and a test.
40467 *
40468 * It will infer which values are passed as `node` and which as `parent`.
40469 *
40470 * @template {Node} Descendant
40471 * Node type.
40472 * @template {Test} Check
40473 * Test type.
40474 * @typedef {(
40475 * BuildVisitorFromMatch<
40476 * import('unist-util-visit-parents/complex-types.js').Matches<Descendant, Check>,
40477 * Extract<Descendant, Parent>
40478 * >
40479 * )} BuildVisitorFromDescendants
40480 */
40481
40482 /**
40483 * Build a typed `Visitor` function from a tree and a test.
40484 *
40485 * It will infer which values are passed as `node` and which as `parent`.
40486 *
40487 * @template {Node} [Tree=Node]
40488 * Node type.
40489 * @template {Test} [Check=string]
40490 * Test type.
40491 * @typedef {(
40492 * BuildVisitorFromDescendants<
40493 * import('unist-util-visit-parents/complex-types.js').InclusiveDescendant<Tree>,
40494 * Check
40495 * >
40496 * )} BuildVisitor
40497 */
40498
40499
40500
40501 /**
40502 * Visit nodes.
40503 *
40504 * This algorithm performs *depth-first* *tree traversal* in *preorder*
40505 * (**NLR**) or if `reverse` is given, in *reverse preorder* (**NRL**).
40506 *
40507 * You can choose for which nodes `visitor` is called by passing a `test`.
40508 * For complex tests, you should test yourself in `visitor`, as it will be
40509 * faster and will have improved type information.
40510 *
40511 * Walking the tree is an intensive task.
40512 * Make use of the return values of the visitor when possible.
40513 * Instead of walking a tree multiple times, walk it once, use `unist-util-is`
40514 * to check if a node matches, and then perform different operations.
40515 *
40516 * You can change the tree.
40517 * See `Visitor` for more info.
40518 *
40519 * @param tree
40520 * Tree to traverse.
40521 * @param test
40522 * `unist-util-is`-compatible test
40523 * @param visitor
40524 * Handle each node.
40525 * @param reverse
40526 * Traverse in reverse preorder (NRL) instead of the default preorder (NLR).
40527 * @returns
40528 * Nothing.
40529 */
40530 const visit =
40531 /**
40532 * @type {(
40533 * (<Tree extends Node, Check extends Test>(tree: Tree, test: Check, visitor: BuildVisitor<Tree, Check>, reverse?: boolean | null | undefined) => void) &
40534 * (<Tree extends Node>(tree: Tree, visitor: BuildVisitor<Tree>, reverse?: boolean | null | undefined) => void)
40535 * )}
40536 */
40537 (
40538 /**
40539 * @param {Node} tree
40540 * @param {Test} test
40541 * @param {Visitor} visitor
40542 * @param {boolean | null | undefined} [reverse]
40543 * @returns {void}
40544 */
40545 function (tree, test, visitor, reverse) {
40546 if (typeof test === 'function' && typeof visitor !== 'function') {
40547 reverse = visitor
40548 visitor = test
40549 test = null
40550 }
40551
40552 (0,unist_util_visit_parents__WEBPACK_IMPORTED_MODULE_0__.visitParents)(tree, test, overload, reverse)
40553
40554 /**
40555 * @param {Node} node
40556 * @param {Array<Parent>} parents
40557 */
40558 function overload(node, parents) {
40559 const parent = parents[parents.length - 1]
40560 return visitor(
40561 node,
40562 parent ? parent.children.indexOf(node) : null,
40563 parent
40564 )
40565 }
40566 }
40567 )
40568
40569
40570
40571
40572 /***/ }),
40573
40574 /***/ "../node_modules/uvu/assert/index.mjs":
40575 /*!********************************************!*\
40576 !*** ../node_modules/uvu/assert/index.mjs ***!
40577 \********************************************/
40578 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
40579
40580 "use strict";
40581 __webpack_require__.r(__webpack_exports__);
40582 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
40583 /* harmony export */ Assertion: () => (/* binding */ Assertion),
40584 /* harmony export */ equal: () => (/* binding */ equal),
40585 /* harmony export */ fixture: () => (/* binding */ fixture),
40586 /* harmony export */ instance: () => (/* binding */ instance),
40587 /* harmony export */ is: () => (/* binding */ is),
40588 /* harmony export */ match: () => (/* binding */ match),
40589 /* harmony export */ not: () => (/* binding */ not),
40590 /* harmony export */ ok: () => (/* binding */ ok),
40591 /* harmony export */ snapshot: () => (/* binding */ snapshot),
40592 /* harmony export */ throws: () => (/* binding */ throws),
40593 /* harmony export */ type: () => (/* binding */ type),
40594 /* harmony export */ unreachable: () => (/* binding */ unreachable)
40595 /* harmony export */ });
40596 /* harmony import */ var dequal__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dequal */ "../node_modules/dequal/dist/index.mjs");
40597 /* harmony import */ var uvu_diff__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! uvu/diff */ "../node_modules/uvu/diff/index.mjs");
40598
40599
40600
40601 function dedent(str) {
40602 str = str.replace(/\r?\n/g, '\n');
40603 let arr = str.match(/^[ \t]*(?=\S)/gm);
40604 let i = 0, min = 1/0, len = (arr||[]).length;
40605 for (; i < len; i++) min = Math.min(min, arr[i].length);
40606 return len && min ? str.replace(new RegExp(`^[ \\t]{${min}}`, 'gm'), '') : str;
40607 }
40608
40609 class Assertion extends Error {
40610 constructor(opts={}) {
40611 super(opts.message);
40612 this.name = 'Assertion';
40613 this.code = 'ERR_ASSERTION';
40614 if (Error.captureStackTrace) {
40615 Error.captureStackTrace(this, this.constructor);
40616 }
40617 this.details = opts.details || false;
40618 this.generated = !!opts.generated;
40619 this.operator = opts.operator;
40620 this.expects = opts.expects;
40621 this.actual = opts.actual;
40622 }
40623 }
40624
40625 function assert(bool, actual, expects, operator, detailer, backup, msg) {
40626 if (bool) return;
40627 let message = msg || backup;
40628 if (msg instanceof Error) throw msg;
40629 let details = detailer && detailer(actual, expects);
40630 throw new Assertion({ actual, expects, operator, message, details, generated: !msg });
40631 }
40632
40633 function ok(val, msg) {
40634 assert(!!val, false, true, 'ok', false, 'Expected value to be truthy', msg);
40635 }
40636
40637 function is(val, exp, msg) {
40638 assert(val === exp, val, exp, 'is', uvu_diff__WEBPACK_IMPORTED_MODULE_1__.compare, 'Expected values to be strictly equal:', msg);
40639 }
40640
40641 function equal(val, exp, msg) {
40642 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);
40643 }
40644
40645 function unreachable(msg) {
40646 assert(false, true, false, 'unreachable', false, 'Expected not to be reached!', msg);
40647 }
40648
40649 function type(val, exp, msg) {
40650 let tmp = typeof val;
40651 assert(tmp === exp, tmp, exp, 'type', false, `Expected "${tmp}" to be "${exp}"`, msg);
40652 }
40653
40654 function instance(val, exp, msg) {
40655 let name = '`' + (exp.name || exp.constructor.name) + '`';
40656 assert(val instanceof exp, val, exp, 'instance', false, `Expected value to be an instance of ${name}`, msg);
40657 }
40658
40659 function match(val, exp, msg) {
40660 if (typeof exp === 'string') {
40661 assert(val.includes(exp), val, exp, 'match', false, `Expected value to include "${exp}" substring`, msg);
40662 } else {
40663 assert(exp.test(val), val, exp, 'match', false, `Expected value to match \`${String(exp)}\` pattern`, msg);
40664 }
40665 }
40666
40667 function snapshot(val, exp, msg) {
40668 val=dedent(val); exp=dedent(exp);
40669 assert(val === exp, val, exp, 'snapshot', uvu_diff__WEBPACK_IMPORTED_MODULE_1__.lines, 'Expected value to match snapshot:', msg);
40670 }
40671
40672 const lineNums = (x, y) => (0,uvu_diff__WEBPACK_IMPORTED_MODULE_1__.lines)(x, y, 1);
40673 function fixture(val, exp, msg) {
40674 val=dedent(val); exp=dedent(exp);
40675 assert(val === exp, val, exp, 'fixture', lineNums, 'Expected value to match fixture:', msg);
40676 }
40677
40678 function throws(blk, exp, msg) {
40679 if (!msg && typeof exp === 'string') {
40680 msg = exp; exp = null;
40681 }
40682
40683 try {
40684 blk();
40685 assert(false, false, true, 'throws', false, 'Expected function to throw', msg);
40686 } catch (err) {
40687 if (err instanceof Assertion) throw err;
40688
40689 if (typeof exp === 'function') {
40690 assert(exp(err), false, true, 'throws', false, 'Expected function to throw matching exception', msg);
40691 } else if (exp instanceof RegExp) {
40692 assert(exp.test(err.message), false, true, 'throws', false, `Expected function to throw exception matching \`${String(exp)}\` pattern`, msg);
40693 }
40694 }
40695 }
40696
40697 // ---
40698
40699 function not(val, msg) {
40700 assert(!val, true, false, 'not', false, 'Expected value to be falsey', msg);
40701 }
40702
40703 not.ok = not;
40704
40705 is.not = function (val, exp, msg) {
40706 assert(val !== exp, val, exp, 'is.not', false, 'Expected values not to be strictly equal', msg);
40707 }
40708
40709 not.equal = function (val, exp, msg) {
40710 assert(!(0,dequal__WEBPACK_IMPORTED_MODULE_0__.dequal)(val, exp), val, exp, 'not.equal', false, 'Expected values not to be deeply equal', msg);
40711 }
40712
40713 not.type = function (val, exp, msg) {
40714 let tmp = typeof val;
40715 assert(tmp !== exp, tmp, exp, 'not.type', false, `Expected "${tmp}" not to be "${exp}"`, msg);
40716 }
40717
40718 not.instance = function (val, exp, msg) {
40719 let name = '`' + (exp.name || exp.constructor.name) + '`';
40720 assert(!(val instanceof exp), val, exp, 'not.instance', false, `Expected value not to be an instance of ${name}`, msg);
40721 }
40722
40723 not.snapshot = function (val, exp, msg) {
40724 val=dedent(val); exp=dedent(exp);
40725 assert(val !== exp, val, exp, 'not.snapshot', false, 'Expected value not to match snapshot', msg);
40726 }
40727
40728 not.fixture = function (val, exp, msg) {
40729 val=dedent(val); exp=dedent(exp);
40730 assert(val !== exp, val, exp, 'not.fixture', false, 'Expected value not to match fixture', msg);
40731 }
40732
40733 not.match = function (val, exp, msg) {
40734 if (typeof exp === 'string') {
40735 assert(!val.includes(exp), val, exp, 'not.match', false, `Expected value not to include "${exp}" substring`, msg);
40736 } else {
40737 assert(!exp.test(val), val, exp, 'not.match', false, `Expected value not to match \`${String(exp)}\` pattern`, msg);
40738 }
40739 }
40740
40741 not.throws = function (blk, exp, msg) {
40742 if (!msg && typeof exp === 'string') {
40743 msg = exp; exp = null;
40744 }
40745
40746 try {
40747 blk();
40748 } catch (err) {
40749 if (typeof exp === 'function') {
40750 assert(!exp(err), true, false, 'not.throws', false, 'Expected function not to throw matching exception', msg);
40751 } else if (exp instanceof RegExp) {
40752 assert(!exp.test(err.message), true, false, 'not.throws', false, `Expected function not to throw exception matching \`${String(exp)}\` pattern`, msg);
40753 } else if (!exp) {
40754 assert(false, true, false, 'not.throws', false, 'Expected function not to throw', msg);
40755 }
40756 }
40757 }
40758
40759
40760 /***/ }),
40761
40762 /***/ "../node_modules/uvu/diff/index.mjs":
40763 /*!******************************************!*\
40764 !*** ../node_modules/uvu/diff/index.mjs ***!
40765 \******************************************/
40766 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
40767
40768 "use strict";
40769 __webpack_require__.r(__webpack_exports__);
40770 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
40771 /* harmony export */ arrays: () => (/* binding */ arrays),
40772 /* harmony export */ chars: () => (/* binding */ chars),
40773 /* harmony export */ circular: () => (/* binding */ circular),
40774 /* harmony export */ compare: () => (/* binding */ compare),
40775 /* harmony export */ direct: () => (/* binding */ direct),
40776 /* harmony export */ lines: () => (/* binding */ lines),
40777 /* harmony export */ sort: () => (/* binding */ sort),
40778 /* harmony export */ stringify: () => (/* binding */ stringify)
40779 /* harmony export */ });
40780 /* harmony import */ var kleur__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! kleur */ "../node_modules/uvu/node_modules/kleur/index.mjs");
40781 /* harmony import */ var diff__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! diff */ "../node_modules/diff/lib/index.mjs");
40782
40783
40784
40785 const colors = {
40786 '--': kleur__WEBPACK_IMPORTED_MODULE_0__["default"].red,
40787 '··': kleur__WEBPACK_IMPORTED_MODULE_0__["default"].grey,
40788 '++': kleur__WEBPACK_IMPORTED_MODULE_0__["default"].green,
40789 };
40790
40791 const TITLE = kleur__WEBPACK_IMPORTED_MODULE_0__["default"].dim().italic;
40792 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('↵');
40793 const LOG = (sym, str) => colors[sym](sym + PRETTY(str)) + '\n';
40794 const LINE = (num, x) => kleur__WEBPACK_IMPORTED_MODULE_0__["default"].dim('L' + String(num).padStart(x, '0') + ' ');
40795 const PRETTY = str => str.replace(/[ ]/g, SPACE).replace(/\t/g, TAB).replace(/(\r?\n)/g, NL);
40796
40797 function line(obj, prev, pad) {
40798 let char = obj.removed ? '--' : obj.added ? '++' : '··';
40799 let arr = obj.value.replace(/\r?\n$/, '').split('\n');
40800 let i=0, tmp, out='';
40801
40802 if (obj.added) out += colors[char]().underline(TITLE('Expected:')) + '\n';
40803 else if (obj.removed) out += colors[char]().underline(TITLE('Actual:')) + '\n';
40804
40805 for (; i < arr.length; i++) {
40806 tmp = arr[i];
40807 if (tmp != null) {
40808 if (prev) out += LINE(prev + i, pad);
40809 out += LOG(char, tmp || '\n');
40810 }
40811 }
40812
40813 return out;
40814 }
40815
40816 // TODO: want better diffing
40817 //~> complex items bail outright
40818 function arrays(input, expect) {
40819 let arr = diff__WEBPACK_IMPORTED_MODULE_1__.diffArrays(input, expect);
40820 let i=0, j=0, k=0, tmp, val, char, isObj, str;
40821 let out = LOG('··', '[');
40822
40823 for (; i < arr.length; i++) {
40824 char = (tmp = arr[i]).removed ? '--' : tmp.added ? '++' : '··';
40825
40826 if (tmp.added) {
40827 out += colors[char]().underline(TITLE('Expected:')) + '\n';
40828 } else if (tmp.removed) {
40829 out += colors[char]().underline(TITLE('Actual:')) + '\n';
40830 }
40831
40832 for (j=0; j < tmp.value.length; j++) {
40833 isObj = (tmp.value[j] && typeof tmp.value[j] === 'object');
40834 val = stringify(tmp.value[j]).split(/\r?\n/g);
40835 for (k=0; k < val.length;) {
40836 str = ' ' + val[k++] + (isObj ? '' : ',');
40837 if (isObj && k === val.length && (j + 1) < tmp.value.length) str += ',';
40838 out += LOG(char, str);
40839 }
40840 }
40841 }
40842
40843 return out + LOG('··', ']');
40844 }
40845
40846 function lines(input, expect, linenum = 0) {
40847 let i=0, tmp, output='';
40848 let arr = diff__WEBPACK_IMPORTED_MODULE_1__.diffLines(input, expect);
40849 let pad = String(expect.split(/\r?\n/g).length - linenum).length;
40850
40851 for (; i < arr.length; i++) {
40852 output += line(tmp = arr[i], linenum, pad);
40853 if (linenum && !tmp.removed) linenum += tmp.count;
40854 }
40855
40856 return output;
40857 }
40858
40859 function chars(input, expect) {
40860 let arr = diff__WEBPACK_IMPORTED_MODULE_1__.diffChars(input, expect);
40861 let i=0, output='', tmp;
40862
40863 let l1 = input.length;
40864 let l2 = expect.length;
40865
40866 let p1 = PRETTY(input);
40867 let p2 = PRETTY(expect);
40868
40869 tmp = arr[i];
40870
40871 if (l1 === l2) {
40872 // no length offsets
40873 } else if (tmp.removed && arr[i + 1]) {
40874 let del = tmp.count - arr[i + 1].count;
40875 if (del == 0) {
40876 // wash~
40877 } else if (del > 0) {
40878 expect = ' '.repeat(del) + expect;
40879 p2 = ' '.repeat(del) + p2;
40880 l2 += del;
40881 } else if (del < 0) {
40882 input = ' '.repeat(-del) + input;
40883 p1 = ' '.repeat(-del) + p1;
40884 l1 += -del;
40885 }
40886 }
40887
40888 output += direct(p1, p2, l1, l2);
40889
40890 if (l1 === l2) {
40891 for (tmp=' '; i < l1; i++) {
40892 tmp += input[i] === expect[i] ? ' ' : '^';
40893 }
40894 } else {
40895 for (tmp=' '; i < arr.length; i++) {
40896 tmp += ((arr[i].added || arr[i].removed) ? '^' : ' ').repeat(Math.max(arr[i].count, 0));
40897 if (i + 1 < arr.length && ((arr[i].added && arr[i+1].removed) || (arr[i].removed && arr[i+1].added))) {
40898 arr[i + 1].count -= arr[i].count;
40899 }
40900 }
40901 }
40902
40903 return output + kleur__WEBPACK_IMPORTED_MODULE_0__["default"].red(tmp);
40904 }
40905
40906 function direct(input, expect, lenA = String(input).length, lenB = String(expect).length) {
40907 let gutter = 4;
40908 let lenC = Math.max(lenA, lenB);
40909 let typeA=typeof input, typeB=typeof expect;
40910
40911 if (typeA !== typeB) {
40912 gutter = 2;
40913
40914 let delA = gutter + lenC - lenA;
40915 let delB = gutter + lenC - lenB;
40916
40917 input += ' '.repeat(delA) + kleur__WEBPACK_IMPORTED_MODULE_0__["default"].dim(`[${typeA}]`);
40918 expect += ' '.repeat(delB) + kleur__WEBPACK_IMPORTED_MODULE_0__["default"].dim(`[${typeB}]`);
40919
40920 lenA += delA + typeA.length + 2;
40921 lenB += delB + typeB.length + 2;
40922 lenC = Math.max(lenA, lenB);
40923 }
40924
40925 let output = colors['++']('++' + expect + ' '.repeat(gutter + lenC - lenB) + TITLE('(Expected)')) + '\n';
40926 return output + colors['--']('--' + input + ' '.repeat(gutter + lenC - lenA) + TITLE('(Actual)')) + '\n';
40927 }
40928
40929 function sort(input, expect) {
40930 var k, i=0, tmp, isArr = Array.isArray(input);
40931 var keys=[], out=isArr ? Array(input.length) : {};
40932
40933 if (isArr) {
40934 for (i=0; i < out.length; i++) {
40935 tmp = input[i];
40936 if (!tmp || typeof tmp !== 'object') out[i] = tmp;
40937 else out[i] = sort(tmp, expect[i]); // might not be right
40938 }
40939 } else {
40940 for (k in expect)
40941 keys.push(k);
40942
40943 for (; i < keys.length; i++) {
40944 if (Object.prototype.hasOwnProperty.call(input, k = keys[i])) {
40945 if (!(tmp = input[k]) || typeof tmp !== 'object') out[k] = tmp;
40946 else out[k] = sort(tmp, expect[k]);
40947 }
40948 }
40949
40950 for (k in input) {
40951 if (!out.hasOwnProperty(k)) {
40952 out[k] = input[k]; // expect didnt have
40953 }
40954 }
40955 }
40956
40957 return out;
40958 }
40959
40960 function circular() {
40961 var cache = new Set;
40962 return function print(key, val) {
40963 if (val === void 0) return '[__VOID__]';
40964 if (typeof val === 'number' && val !== val) return '[__NAN__]';
40965 if (typeof val === 'bigint') return val.toString();
40966 if (!val || typeof val !== 'object') return val;
40967 if (cache.has(val)) return '[Circular]';
40968 cache.add(val); return val;
40969 }
40970 }
40971
40972 function stringify(input) {
40973 return JSON.stringify(input, circular(), 2).replace(/"\[__NAN__\]"/g, 'NaN').replace(/"\[__VOID__\]"/g, 'undefined');
40974 }
40975
40976 function compare(input, expect) {
40977 if (Array.isArray(expect) && Array.isArray(input)) return arrays(input, expect);
40978 if (expect instanceof RegExp) return chars(''+input, ''+expect);
40979
40980 let isA = input && typeof input == 'object';
40981 let isB = expect && typeof expect == 'object';
40982
40983 if (isA && isB) input = sort(input, expect);
40984 if (isB) expect = stringify(expect);
40985 if (isA) input = stringify(input);
40986
40987 if (expect && typeof expect == 'object') {
40988 input = stringify(sort(input, expect));
40989 expect = stringify(expect);
40990 }
40991
40992 isA = typeof input == 'string';
40993 isB = typeof expect == 'string';
40994
40995 if (isA && /\r?\n/.test(input)) return lines(input, ''+expect);
40996 if (isB && /\r?\n/.test(expect)) return lines(''+input, expect);
40997 if (isA && isB) return chars(input, expect);
40998
40999 return direct(input, expect);
41000 }
41001
41002
41003 /***/ }),
41004
41005 /***/ "../node_modules/uvu/node_modules/kleur/index.mjs":
41006 /*!********************************************************!*\
41007 !*** ../node_modules/uvu/node_modules/kleur/index.mjs ***!
41008 \********************************************************/
41009 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
41010
41011 "use strict";
41012 __webpack_require__.r(__webpack_exports__);
41013 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
41014 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
41015 /* harmony export */ });
41016
41017
41018 let FORCE_COLOR, NODE_DISABLE_COLORS, NO_COLOR, TERM, isTTY=true;
41019 if (typeof process !== 'undefined') {
41020 ({ FORCE_COLOR, NODE_DISABLE_COLORS, NO_COLOR, TERM } = process.env || {});
41021 isTTY = process.stdout && process.stdout.isTTY;
41022 }
41023
41024 const $ = {
41025 enabled: !NODE_DISABLE_COLORS && NO_COLOR == null && TERM !== 'dumb' && (
41026 FORCE_COLOR != null && FORCE_COLOR !== '0' || isTTY
41027 ),
41028
41029 // modifiers
41030 reset: init(0, 0),
41031 bold: init(1, 22),
41032 dim: init(2, 22),
41033 italic: init(3, 23),
41034 underline: init(4, 24),
41035 inverse: init(7, 27),
41036 hidden: init(8, 28),
41037 strikethrough: init(9, 29),
41038
41039 // colors
41040 black: init(30, 39),
41041 red: init(31, 39),
41042 green: init(32, 39),
41043 yellow: init(33, 39),
41044 blue: init(34, 39),
41045 magenta: init(35, 39),
41046 cyan: init(36, 39),
41047 white: init(37, 39),
41048 gray: init(90, 39),
41049 grey: init(90, 39),
41050
41051 // background colors
41052 bgBlack: init(40, 49),
41053 bgRed: init(41, 49),
41054 bgGreen: init(42, 49),
41055 bgYellow: init(43, 49),
41056 bgBlue: init(44, 49),
41057 bgMagenta: init(45, 49),
41058 bgCyan: init(46, 49),
41059 bgWhite: init(47, 49)
41060 };
41061
41062 function run(arr, str) {
41063 let i=0, tmp, beg='', end='';
41064 for (; i < arr.length; i++) {
41065 tmp = arr[i];
41066 beg += tmp.open;
41067 end += tmp.close;
41068 if (!!~str.indexOf(tmp.close)) {
41069 str = str.replace(tmp.rgx, tmp.close + tmp.open);
41070 }
41071 }
41072 return beg + str + end;
41073 }
41074
41075 function chain(has, keys) {
41076 let ctx = { has, keys };
41077
41078 ctx.reset = $.reset.bind(ctx);
41079 ctx.bold = $.bold.bind(ctx);
41080 ctx.dim = $.dim.bind(ctx);
41081 ctx.italic = $.italic.bind(ctx);
41082 ctx.underline = $.underline.bind(ctx);
41083 ctx.inverse = $.inverse.bind(ctx);
41084 ctx.hidden = $.hidden.bind(ctx);
41085 ctx.strikethrough = $.strikethrough.bind(ctx);
41086
41087 ctx.black = $.black.bind(ctx);
41088 ctx.red = $.red.bind(ctx);
41089 ctx.green = $.green.bind(ctx);
41090 ctx.yellow = $.yellow.bind(ctx);
41091 ctx.blue = $.blue.bind(ctx);
41092 ctx.magenta = $.magenta.bind(ctx);
41093 ctx.cyan = $.cyan.bind(ctx);
41094 ctx.white = $.white.bind(ctx);
41095 ctx.gray = $.gray.bind(ctx);
41096 ctx.grey = $.grey.bind(ctx);
41097
41098 ctx.bgBlack = $.bgBlack.bind(ctx);
41099 ctx.bgRed = $.bgRed.bind(ctx);
41100 ctx.bgGreen = $.bgGreen.bind(ctx);
41101 ctx.bgYellow = $.bgYellow.bind(ctx);
41102 ctx.bgBlue = $.bgBlue.bind(ctx);
41103 ctx.bgMagenta = $.bgMagenta.bind(ctx);
41104 ctx.bgCyan = $.bgCyan.bind(ctx);
41105 ctx.bgWhite = $.bgWhite.bind(ctx);
41106
41107 return ctx;
41108 }
41109
41110 function init(open, close) {
41111 let blk = {
41112 open: `\x1b[${open}m`,
41113 close: `\x1b[${close}m`,
41114 rgx: new RegExp(`\\x1b\\[${close}m`, 'g')
41115 };
41116 return function (txt) {
41117 if (this !== void 0 && this.has !== void 0) {
41118 !!~this.has.indexOf(open) || (this.has.push(open),this.keys.push(blk));
41119 return txt === void 0 ? this : $.enabled ? run(this.keys, txt+'') : txt+'';
41120 }
41121 return txt === void 0 ? chain([open], [blk]) : $.enabled ? run([blk], txt+'') : txt+'';
41122 };
41123 }
41124
41125 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ($);
41126
41127
41128 /***/ }),
41129
41130 /***/ "../node_modules/vfile-message/lib/index.js":
41131 /*!**************************************************!*\
41132 !*** ../node_modules/vfile-message/lib/index.js ***!
41133 \**************************************************/
41134 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
41135
41136 "use strict";
41137 __webpack_require__.r(__webpack_exports__);
41138 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
41139 /* harmony export */ VFileMessage: () => (/* binding */ VFileMessage)
41140 /* harmony export */ });
41141 /* 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");
41142 /**
41143 * @typedef {import('unist').Node} Node
41144 * @typedef {import('unist').Position} Position
41145 * @typedef {import('unist').Point} Point
41146 * @typedef {object & {type: string, position?: Position | undefined}} NodeLike
41147 */
41148
41149
41150
41151 /**
41152 * Message.
41153 */
41154 class VFileMessage extends Error {
41155 /**
41156 * Create a message for `reason` at `place` from `origin`.
41157 *
41158 * When an error is passed in as `reason`, the `stack` is copied.
41159 *
41160 * @param {string | Error | VFileMessage} reason
41161 * Reason for message, uses the stack and message of the error if given.
41162 *
41163 * > 👉 **Note**: you should use markdown.
41164 * @param {Node | NodeLike | Position | Point | null | undefined} [place]
41165 * Place in file where the message occurred.
41166 * @param {string | null | undefined} [origin]
41167 * Place in code where the message originates (example:
41168 * `'my-package:my-rule'` or `'my-rule'`).
41169 * @returns
41170 * Instance of `VFileMessage`.
41171 */
41172 // To do: next major: expose `undefined` everywhere instead of `null`.
41173 constructor(reason, place, origin) {
41174 /** @type {[string | null, string | null]} */
41175 const parts = [null, null]
41176 /** @type {Position} */
41177 let position = {
41178 // @ts-expect-error: we always follows the structure of `position`.
41179 start: {line: null, column: null},
41180 // @ts-expect-error: "
41181 end: {line: null, column: null}
41182 }
41183
41184 super()
41185
41186 if (typeof place === 'string') {
41187 origin = place
41188 place = undefined
41189 }
41190
41191 if (typeof origin === 'string') {
41192 const index = origin.indexOf(':')
41193
41194 if (index === -1) {
41195 parts[1] = origin
41196 } else {
41197 parts[0] = origin.slice(0, index)
41198 parts[1] = origin.slice(index + 1)
41199 }
41200 }
41201
41202 if (place) {
41203 // Node.
41204 if ('type' in place || 'position' in place) {
41205 if (place.position) {
41206 // To do: next major: deep clone.
41207 // @ts-expect-error: looks like a position.
41208 position = place.position
41209 }
41210 }
41211 // Position.
41212 else if ('start' in place || 'end' in place) {
41213 // @ts-expect-error: looks like a position.
41214 // To do: next major: deep clone.
41215 position = place
41216 }
41217 // Point.
41218 else if ('line' in place || 'column' in place) {
41219 // To do: next major: deep clone.
41220 position.start = place
41221 }
41222 }
41223
41224 // Fields from `Error`.
41225 /**
41226 * Serialized positional info of error.
41227 *
41228 * On normal errors, this would be something like `ParseError`, buit in
41229 * `VFile` messages we use this space to show where an error happened.
41230 */
41231 this.name = (0,unist_util_stringify_position__WEBPACK_IMPORTED_MODULE_0__.stringifyPosition)(place) || '1:1'
41232
41233 /**
41234 * Reason for message.
41235 *
41236 * @type {string}
41237 */
41238 this.message = typeof reason === 'object' ? reason.message : reason
41239
41240 /**
41241 * Stack of message.
41242 *
41243 * This is used by normal errors to show where something happened in
41244 * programming code, irrelevant for `VFile` messages,
41245 *
41246 * @type {string}
41247 */
41248 this.stack = ''
41249
41250 if (typeof reason === 'object' && reason.stack) {
41251 this.stack = reason.stack
41252 }
41253
41254 /**
41255 * Reason for message.
41256 *
41257 * > 👉 **Note**: you should use markdown.
41258 *
41259 * @type {string}
41260 */
41261 this.reason = this.message
41262
41263 /* eslint-disable no-unused-expressions */
41264 /**
41265 * State of problem.
41266 *
41267 * * `true` — marks associated file as no longer processable (error)
41268 * * `false` — necessitates a (potential) change (warning)
41269 * * `null | undefined` — for things that might not need changing (info)
41270 *
41271 * @type {boolean | null | undefined}
41272 */
41273 this.fatal
41274
41275 /**
41276 * Starting line of error.
41277 *
41278 * @type {number | null}
41279 */
41280 this.line = position.start.line
41281
41282 /**
41283 * Starting column of error.
41284 *
41285 * @type {number | null}
41286 */
41287 this.column = position.start.column
41288
41289 /**
41290 * Full unist position.
41291 *
41292 * @type {Position | null}
41293 */
41294 this.position = position
41295
41296 /**
41297 * Namespace of message (example: `'my-package'`).
41298 *
41299 * @type {string | null}
41300 */
41301 this.source = parts[0]
41302
41303 /**
41304 * Category of message (example: `'my-rule'`).
41305 *
41306 * @type {string | null}
41307 */
41308 this.ruleId = parts[1]
41309
41310 /**
41311 * Path of a file (used throughout the `VFile` ecosystem).
41312 *
41313 * @type {string | null}
41314 */
41315 this.file
41316
41317 // The following fields are “well known”.
41318 // Not standard.
41319 // Feel free to add other non-standard fields to your messages.
41320
41321 /**
41322 * Specify the source value that’s being reported, which is deemed
41323 * incorrect.
41324 *
41325 * @type {string | null}
41326 */
41327 this.actual
41328
41329 /**
41330 * Suggest acceptable values that can be used instead of `actual`.
41331 *
41332 * @type {Array<string> | null}
41333 */
41334 this.expected
41335
41336 /**
41337 * Link to docs for the message.
41338 *
41339 * > 👉 **Note**: this must be an absolute URL that can be passed as `x`
41340 * > to `new URL(x)`.
41341 *
41342 * @type {string | null}
41343 */
41344 this.url
41345
41346 /**
41347 * Long form description of the message (you should use markdown).
41348 *
41349 * @type {string | null}
41350 */
41351 this.note
41352 /* eslint-enable no-unused-expressions */
41353 }
41354 }
41355
41356 VFileMessage.prototype.file = ''
41357 VFileMessage.prototype.name = ''
41358 VFileMessage.prototype.reason = ''
41359 VFileMessage.prototype.message = ''
41360 VFileMessage.prototype.stack = ''
41361 VFileMessage.prototype.fatal = null
41362 VFileMessage.prototype.column = null
41363 VFileMessage.prototype.line = null
41364 VFileMessage.prototype.source = null
41365 VFileMessage.prototype.ruleId = null
41366 VFileMessage.prototype.position = null
41367
41368
41369 /***/ }),
41370
41371 /***/ "../node_modules/vfile/lib/index.js":
41372 /*!******************************************!*\
41373 !*** ../node_modules/vfile/lib/index.js ***!
41374 \******************************************/
41375 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
41376
41377 "use strict";
41378 __webpack_require__.r(__webpack_exports__);
41379 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
41380 /* harmony export */ VFile: () => (/* binding */ VFile)
41381 /* harmony export */ });
41382 /* harmony import */ var is_buffer__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! is-buffer */ "../node_modules/is-buffer/index.js");
41383 /* harmony import */ var vfile_message__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! vfile-message */ "../node_modules/vfile-message/lib/index.js");
41384 /* harmony import */ var _minpath_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./minpath.js */ "../node_modules/vfile/lib/minpath.browser.js");
41385 /* harmony import */ var _minproc_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./minproc.js */ "../node_modules/vfile/lib/minproc.browser.js");
41386 /* harmony import */ var _minurl_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./minurl.js */ "../node_modules/vfile/lib/minurl.shared.js");
41387 /* harmony import */ var _minurl_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./minurl.js */ "../node_modules/vfile/lib/minurl.browser.js");
41388 /**
41389 * @typedef {import('unist').Node} Node
41390 * @typedef {import('unist').Position} Position
41391 * @typedef {import('unist').Point} Point
41392 * @typedef {import('./minurl.shared.js').URL} URL
41393 * @typedef {import('../index.js').Data} Data
41394 * @typedef {import('../index.js').Value} Value
41395 */
41396
41397 /**
41398 * @typedef {Record<string, unknown> & {type: string, position?: Position | undefined}} NodeLike
41399 *
41400 * @typedef {'ascii' | 'utf8' | 'utf-8' | 'utf16le' | 'ucs2' | 'ucs-2' | 'base64' | 'base64url' | 'latin1' | 'binary' | 'hex'} BufferEncoding
41401 * Encodings supported by the buffer class.
41402 *
41403 * This is a copy of the types from Node, copied to prevent Node globals from
41404 * being needed.
41405 * Copied from: <https://github.com/DefinitelyTyped/DefinitelyTyped/blob/90a4ec8/types/node/buffer.d.ts#L170>
41406 *
41407 * @typedef {Options | URL | Value | VFile} Compatible
41408 * Things that can be passed to the constructor.
41409 *
41410 * @typedef VFileCoreOptions
41411 * Set multiple values.
41412 * @property {Value | null | undefined} [value]
41413 * Set `value`.
41414 * @property {string | null | undefined} [cwd]
41415 * Set `cwd`.
41416 * @property {Array<string> | null | undefined} [history]
41417 * Set `history`.
41418 * @property {URL | string | null | undefined} [path]
41419 * Set `path`.
41420 * @property {string | null | undefined} [basename]
41421 * Set `basename`.
41422 * @property {string | null | undefined} [stem]
41423 * Set `stem`.
41424 * @property {string | null | undefined} [extname]
41425 * Set `extname`.
41426 * @property {string | null | undefined} [dirname]
41427 * Set `dirname`.
41428 * @property {Data | null | undefined} [data]
41429 * Set `data`.
41430 *
41431 * @typedef Map
41432 * Raw source map.
41433 *
41434 * See:
41435 * <https://github.com/mozilla/source-map/blob/58819f0/source-map.d.ts#L15-L23>.
41436 * @property {number} version
41437 * Which version of the source map spec this map is following.
41438 * @property {Array<string>} sources
41439 * An array of URLs to the original source files.
41440 * @property {Array<string>} names
41441 * An array of identifiers which can be referenced by individual mappings.
41442 * @property {string | undefined} [sourceRoot]
41443 * The URL root from which all sources are relative.
41444 * @property {Array<string> | undefined} [sourcesContent]
41445 * An array of contents of the original source files.
41446 * @property {string} mappings
41447 * A string of base64 VLQs which contain the actual mappings.
41448 * @property {string} file
41449 * The generated file this source map is associated with.
41450 *
41451 * @typedef {{[key: string]: unknown} & VFileCoreOptions} Options
41452 * Configuration.
41453 *
41454 * A bunch of keys that will be shallow copied over to the new file.
41455 *
41456 * @typedef {Record<string, unknown>} ReporterSettings
41457 * Configuration for reporters.
41458 */
41459
41460 /**
41461 * @template {ReporterSettings} Settings
41462 * Options type.
41463 * @callback Reporter
41464 * Type for a reporter.
41465 * @param {Array<VFile>} files
41466 * Files to report.
41467 * @param {Settings} options
41468 * Configuration.
41469 * @returns {string}
41470 * Report.
41471 */
41472
41473
41474
41475
41476
41477
41478
41479 /**
41480 * Order of setting (least specific to most), we need this because otherwise
41481 * `{stem: 'a', path: '~/b.js'}` would throw, as a path is needed before a
41482 * stem can be set.
41483 *
41484 * @type {Array<'basename' | 'dirname' | 'extname' | 'history' | 'path' | 'stem'>}
41485 */
41486 const order = ['history', 'path', 'basename', 'stem', 'extname', 'dirname']
41487
41488 class VFile {
41489 /**
41490 * Create a new virtual file.
41491 *
41492 * `options` is treated as:
41493 *
41494 * * `string` or `Buffer` — `{value: options}`
41495 * * `URL` — `{path: options}`
41496 * * `VFile` — shallow copies its data over to the new file
41497 * * `object` — all fields are shallow copied over to the new file
41498 *
41499 * Path related fields are set in the following order (least specific to
41500 * most specific): `history`, `path`, `basename`, `stem`, `extname`,
41501 * `dirname`.
41502 *
41503 * You cannot set `dirname` or `extname` without setting either `history`,
41504 * `path`, `basename`, or `stem` too.
41505 *
41506 * @param {Compatible | null | undefined} [value]
41507 * File value.
41508 * @returns
41509 * New instance.
41510 */
41511 constructor(value) {
41512 /** @type {Options | VFile} */
41513 let options
41514
41515 if (!value) {
41516 options = {}
41517 } else if (typeof value === 'string' || buffer(value)) {
41518 options = {value}
41519 } else if ((0,_minurl_js__WEBPACK_IMPORTED_MODULE_1__.isUrl)(value)) {
41520 options = {path: value}
41521 } else {
41522 options = value
41523 }
41524
41525 /**
41526 * Place to store custom information (default: `{}`).
41527 *
41528 * It’s OK to store custom data directly on the file but moving it to
41529 * `data` is recommended.
41530 *
41531 * @type {Data}
41532 */
41533 this.data = {}
41534
41535 /**
41536 * List of messages associated with the file.
41537 *
41538 * @type {Array<VFileMessage>}
41539 */
41540 this.messages = []
41541
41542 /**
41543 * List of filepaths the file moved between.
41544 *
41545 * The first is the original path and the last is the current path.
41546 *
41547 * @type {Array<string>}
41548 */
41549 this.history = []
41550
41551 /**
41552 * Base of `path` (default: `process.cwd()` or `'/'` in browsers).
41553 *
41554 * @type {string}
41555 */
41556 this.cwd = _minproc_js__WEBPACK_IMPORTED_MODULE_2__.proc.cwd()
41557
41558 /* eslint-disable no-unused-expressions */
41559 /**
41560 * Raw value.
41561 *
41562 * @type {Value}
41563 */
41564 this.value
41565
41566 // The below are non-standard, they are “well-known”.
41567 // As in, used in several tools.
41568
41569 /**
41570 * Whether a file was saved to disk.
41571 *
41572 * This is used by vfile reporters.
41573 *
41574 * @type {boolean}
41575 */
41576 this.stored
41577
41578 /**
41579 * Custom, non-string, compiled, representation.
41580 *
41581 * This is used by unified to store non-string results.
41582 * One example is when turning markdown into React nodes.
41583 *
41584 * @type {unknown}
41585 */
41586 this.result
41587
41588 /**
41589 * Source map.
41590 *
41591 * This type is equivalent to the `RawSourceMap` type from the `source-map`
41592 * module.
41593 *
41594 * @type {Map | null | undefined}
41595 */
41596 this.map
41597 /* eslint-enable no-unused-expressions */
41598
41599 // Set path related properties in the correct order.
41600 let index = -1
41601
41602 while (++index < order.length) {
41603 const prop = order[index]
41604
41605 // Note: we specifically use `in` instead of `hasOwnProperty` to accept
41606 // `vfile`s too.
41607 if (
41608 prop in options &&
41609 options[prop] !== undefined &&
41610 options[prop] !== null
41611 ) {
41612 // @ts-expect-error: TS doesn’t understand basic reality.
41613 this[prop] = prop === 'history' ? [...options[prop]] : options[prop]
41614 }
41615 }
41616
41617 /** @type {string} */
41618 let prop
41619
41620 // Set non-path related properties.
41621 for (prop in options) {
41622 // @ts-expect-error: fine to set other things.
41623 if (!order.includes(prop)) {
41624 // @ts-expect-error: fine to set other things.
41625 this[prop] = options[prop]
41626 }
41627 }
41628 }
41629
41630 /**
41631 * Get the full path (example: `'~/index.min.js'`).
41632 *
41633 * @returns {string}
41634 */
41635 get path() {
41636 return this.history[this.history.length - 1]
41637 }
41638
41639 /**
41640 * Set the full path (example: `'~/index.min.js'`).
41641 *
41642 * Cannot be nullified.
41643 * You can set a file URL (a `URL` object with a `file:` protocol) which will
41644 * be turned into a path with `url.fileURLToPath`.
41645 *
41646 * @param {string | URL} path
41647 */
41648 set path(path) {
41649 if ((0,_minurl_js__WEBPACK_IMPORTED_MODULE_1__.isUrl)(path)) {
41650 path = (0,_minurl_js__WEBPACK_IMPORTED_MODULE_3__.urlToPath)(path)
41651 }
41652
41653 assertNonEmpty(path, 'path')
41654
41655 if (this.path !== path) {
41656 this.history.push(path)
41657 }
41658 }
41659
41660 /**
41661 * Get the parent path (example: `'~'`).
41662 */
41663 get dirname() {
41664 return typeof this.path === 'string' ? _minpath_js__WEBPACK_IMPORTED_MODULE_4__.path.dirname(this.path) : undefined
41665 }
41666
41667 /**
41668 * Set the parent path (example: `'~'`).
41669 *
41670 * Cannot be set if there’s no `path` yet.
41671 */
41672 set dirname(dirname) {
41673 assertPath(this.basename, 'dirname')
41674 this.path = _minpath_js__WEBPACK_IMPORTED_MODULE_4__.path.join(dirname || '', this.basename)
41675 }
41676
41677 /**
41678 * Get the basename (including extname) (example: `'index.min.js'`).
41679 */
41680 get basename() {
41681 return typeof this.path === 'string' ? _minpath_js__WEBPACK_IMPORTED_MODULE_4__.path.basename(this.path) : undefined
41682 }
41683
41684 /**
41685 * Set basename (including extname) (`'index.min.js'`).
41686 *
41687 * Cannot contain path separators (`'/'` on unix, macOS, and browsers, `'\'`
41688 * on windows).
41689 * Cannot be nullified (use `file.path = file.dirname` instead).
41690 */
41691 set basename(basename) {
41692 assertNonEmpty(basename, 'basename')
41693 assertPart(basename, 'basename')
41694 this.path = _minpath_js__WEBPACK_IMPORTED_MODULE_4__.path.join(this.dirname || '', basename)
41695 }
41696
41697 /**
41698 * Get the extname (including dot) (example: `'.js'`).
41699 */
41700 get extname() {
41701 return typeof this.path === 'string' ? _minpath_js__WEBPACK_IMPORTED_MODULE_4__.path.extname(this.path) : undefined
41702 }
41703
41704 /**
41705 * Set the extname (including dot) (example: `'.js'`).
41706 *
41707 * Cannot contain path separators (`'/'` on unix, macOS, and browsers, `'\'`
41708 * on windows).
41709 * Cannot be set if there’s no `path` yet.
41710 */
41711 set extname(extname) {
41712 assertPart(extname, 'extname')
41713 assertPath(this.dirname, 'extname')
41714
41715 if (extname) {
41716 if (extname.charCodeAt(0) !== 46 /* `.` */) {
41717 throw new Error('`extname` must start with `.`')
41718 }
41719
41720 if (extname.includes('.', 1)) {
41721 throw new Error('`extname` cannot contain multiple dots')
41722 }
41723 }
41724
41725 this.path = _minpath_js__WEBPACK_IMPORTED_MODULE_4__.path.join(this.dirname, this.stem + (extname || ''))
41726 }
41727
41728 /**
41729 * Get the stem (basename w/o extname) (example: `'index.min'`).
41730 */
41731 get stem() {
41732 return typeof this.path === 'string'
41733 ? _minpath_js__WEBPACK_IMPORTED_MODULE_4__.path.basename(this.path, this.extname)
41734 : undefined
41735 }
41736
41737 /**
41738 * Set the stem (basename w/o extname) (example: `'index.min'`).
41739 *
41740 * Cannot contain path separators (`'/'` on unix, macOS, and browsers, `'\'`
41741 * on windows).
41742 * Cannot be nullified (use `file.path = file.dirname` instead).
41743 */
41744 set stem(stem) {
41745 assertNonEmpty(stem, 'stem')
41746 assertPart(stem, 'stem')
41747 this.path = _minpath_js__WEBPACK_IMPORTED_MODULE_4__.path.join(this.dirname || '', stem + (this.extname || ''))
41748 }
41749
41750 /**
41751 * Serialize the file.
41752 *
41753 * @param {BufferEncoding | null | undefined} [encoding='utf8']
41754 * Character encoding to understand `value` as when it’s a `Buffer`
41755 * (default: `'utf8'`).
41756 * @returns {string}
41757 * Serialized file.
41758 */
41759 toString(encoding) {
41760 return (this.value || '').toString(encoding || undefined)
41761 }
41762
41763 /**
41764 * Create a warning message associated with the file.
41765 *
41766 * Its `fatal` is set to `false` and `file` is set to the current file path.
41767 * Its added to `file.messages`.
41768 *
41769 * @param {string | Error | VFileMessage} reason
41770 * Reason for message, uses the stack and message of the error if given.
41771 * @param {Node | NodeLike | Position | Point | null | undefined} [place]
41772 * Place in file where the message occurred.
41773 * @param {string | null | undefined} [origin]
41774 * Place in code where the message originates (example:
41775 * `'my-package:my-rule'` or `'my-rule'`).
41776 * @returns {VFileMessage}
41777 * Message.
41778 */
41779 message(reason, place, origin) {
41780 const message = new vfile_message__WEBPACK_IMPORTED_MODULE_5__.VFileMessage(reason, place, origin)
41781
41782 if (this.path) {
41783 message.name = this.path + ':' + message.name
41784 message.file = this.path
41785 }
41786
41787 message.fatal = false
41788
41789 this.messages.push(message)
41790
41791 return message
41792 }
41793
41794 /**
41795 * Create an info message associated with the file.
41796 *
41797 * Its `fatal` is set to `null` and `file` is set to the current file path.
41798 * Its added to `file.messages`.
41799 *
41800 * @param {string | Error | VFileMessage} reason
41801 * Reason for message, uses the stack and message of the error if given.
41802 * @param {Node | NodeLike | Position | Point | null | undefined} [place]
41803 * Place in file where the message occurred.
41804 * @param {string | null | undefined} [origin]
41805 * Place in code where the message originates (example:
41806 * `'my-package:my-rule'` or `'my-rule'`).
41807 * @returns {VFileMessage}
41808 * Message.
41809 */
41810 info(reason, place, origin) {
41811 const message = this.message(reason, place, origin)
41812
41813 message.fatal = null
41814
41815 return message
41816 }
41817
41818 /**
41819 * Create a fatal error associated with the file.
41820 *
41821 * Its `fatal` is set to `true` and `file` is set to the current file path.
41822 * Its added to `file.messages`.
41823 *
41824 * > 👉 **Note**: a fatal error means that a file is no longer processable.
41825 *
41826 * @param {string | Error | VFileMessage} reason
41827 * Reason for message, uses the stack and message of the error if given.
41828 * @param {Node | NodeLike | Position | Point | null | undefined} [place]
41829 * Place in file where the message occurred.
41830 * @param {string | null | undefined} [origin]
41831 * Place in code where the message originates (example:
41832 * `'my-package:my-rule'` or `'my-rule'`).
41833 * @returns {never}
41834 * Message.
41835 * @throws {VFileMessage}
41836 * Message.
41837 */
41838 fail(reason, place, origin) {
41839 const message = this.message(reason, place, origin)
41840
41841 message.fatal = true
41842
41843 throw message
41844 }
41845 }
41846
41847 /**
41848 * Assert that `part` is not a path (as in, does not contain `path.sep`).
41849 *
41850 * @param {string | null | undefined} part
41851 * File path part.
41852 * @param {string} name
41853 * Part name.
41854 * @returns {void}
41855 * Nothing.
41856 */
41857 function assertPart(part, name) {
41858 if (part && part.includes(_minpath_js__WEBPACK_IMPORTED_MODULE_4__.path.sep)) {
41859 throw new Error(
41860 '`' + name + '` cannot be a path: did not expect `' + _minpath_js__WEBPACK_IMPORTED_MODULE_4__.path.sep + '`'
41861 )
41862 }
41863 }
41864
41865 /**
41866 * Assert that `part` is not empty.
41867 *
41868 * @param {string | undefined} part
41869 * Thing.
41870 * @param {string} name
41871 * Part name.
41872 * @returns {asserts part is string}
41873 * Nothing.
41874 */
41875 function assertNonEmpty(part, name) {
41876 if (!part) {
41877 throw new Error('`' + name + '` cannot be empty')
41878 }
41879 }
41880
41881 /**
41882 * Assert `path` exists.
41883 *
41884 * @param {string | undefined} path
41885 * Path.
41886 * @param {string} name
41887 * Dependency name.
41888 * @returns {asserts path is string}
41889 * Nothing.
41890 */
41891 function assertPath(path, name) {
41892 if (!path) {
41893 throw new Error('Setting `' + name + '` requires `path` to be set too')
41894 }
41895 }
41896
41897 /**
41898 * Assert `value` is a buffer.
41899 *
41900 * @param {unknown} value
41901 * thing.
41902 * @returns {value is Buffer}
41903 * Whether `value` is a Node.js buffer.
41904 */
41905 function buffer(value) {
41906 return is_buffer__WEBPACK_IMPORTED_MODULE_0__(value)
41907 }
41908
41909
41910 /***/ }),
41911
41912 /***/ "../node_modules/vfile/lib/minpath.browser.js":
41913 /*!****************************************************!*\
41914 !*** ../node_modules/vfile/lib/minpath.browser.js ***!
41915 \****************************************************/
41916 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
41917
41918 "use strict";
41919 __webpack_require__.r(__webpack_exports__);
41920 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
41921 /* harmony export */ path: () => (/* binding */ path)
41922 /* harmony export */ });
41923 // A derivative work based on:
41924 // <https://github.com/browserify/path-browserify>.
41925 // Which is licensed:
41926 //
41927 // MIT License
41928 //
41929 // Copyright (c) 2013 James Halliday
41930 //
41931 // Permission is hereby granted, free of charge, to any person obtaining a copy of
41932 // this software and associated documentation files (the "Software"), to deal in
41933 // the Software without restriction, including without limitation the rights to
41934 // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
41935 // the Software, and to permit persons to whom the Software is furnished to do so,
41936 // subject to the following conditions:
41937 //
41938 // The above copyright notice and this permission notice shall be included in all
41939 // copies or substantial portions of the Software.
41940 //
41941 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
41942 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
41943 // FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
41944 // COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
41945 // IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
41946 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
41947 // A derivative work based on:
41948 //
41949 // Parts of that are extracted from Node’s internal `path` module:
41950 // <https://github.com/nodejs/node/blob/master/lib/path.js>.
41951 // Which is licensed:
41952 //
41953 // Copyright Joyent, Inc. and other Node contributors.
41954 //
41955 // Permission is hereby granted, free of charge, to any person obtaining a
41956 // copy of this software and associated documentation files (the
41957 // "Software"), to deal in the Software without restriction, including
41958 // without limitation the rights to use, copy, modify, merge, publish,
41959 // distribute, sublicense, and/or sell copies of the Software, and to permit
41960 // persons to whom the Software is furnished to do so, subject to the
41961 // following conditions:
41962 //
41963 // The above copyright notice and this permission notice shall be included
41964 // in all copies or substantial portions of the Software.
41965 //
41966 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
41967 // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
41968 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
41969 // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
41970 // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
41971 // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
41972 // USE OR OTHER DEALINGS IN THE SOFTWARE.
41973
41974 const path = {basename, dirname, extname, join, sep: '/'}
41975
41976 /* eslint-disable max-depth, complexity */
41977
41978 /**
41979 * Get the basename from a path.
41980 *
41981 * @param {string} path
41982 * File path.
41983 * @param {string | undefined} [ext]
41984 * Extension to strip.
41985 * @returns {string}
41986 * Stem or basename.
41987 */
41988 function basename(path, ext) {
41989 if (ext !== undefined && typeof ext !== 'string') {
41990 throw new TypeError('"ext" argument must be a string')
41991 }
41992
41993 assertPath(path)
41994 let start = 0
41995 let end = -1
41996 let index = path.length
41997 /** @type {boolean | undefined} */
41998 let seenNonSlash
41999
42000 if (ext === undefined || ext.length === 0 || ext.length > path.length) {
42001 while (index--) {
42002 if (path.charCodeAt(index) === 47 /* `/` */) {
42003 // If we reached a path separator that was not part of a set of path
42004 // separators at the end of the string, stop now.
42005 if (seenNonSlash) {
42006 start = index + 1
42007 break
42008 }
42009 } else if (end < 0) {
42010 // We saw the first non-path separator, mark this as the end of our
42011 // path component.
42012 seenNonSlash = true
42013 end = index + 1
42014 }
42015 }
42016
42017 return end < 0 ? '' : path.slice(start, end)
42018 }
42019
42020 if (ext === path) {
42021 return ''
42022 }
42023
42024 let firstNonSlashEnd = -1
42025 let extIndex = ext.length - 1
42026
42027 while (index--) {
42028 if (path.charCodeAt(index) === 47 /* `/` */) {
42029 // If we reached a path separator that was not part of a set of path
42030 // separators at the end of the string, stop now.
42031 if (seenNonSlash) {
42032 start = index + 1
42033 break
42034 }
42035 } else {
42036 if (firstNonSlashEnd < 0) {
42037 // We saw the first non-path separator, remember this index in case
42038 // we need it if the extension ends up not matching.
42039 seenNonSlash = true
42040 firstNonSlashEnd = index + 1
42041 }
42042
42043 if (extIndex > -1) {
42044 // Try to match the explicit extension.
42045 if (path.charCodeAt(index) === ext.charCodeAt(extIndex--)) {
42046 if (extIndex < 0) {
42047 // We matched the extension, so mark this as the end of our path
42048 // component
42049 end = index
42050 }
42051 } else {
42052 // Extension does not match, so our result is the entire path
42053 // component
42054 extIndex = -1
42055 end = firstNonSlashEnd
42056 }
42057 }
42058 }
42059 }
42060
42061 if (start === end) {
42062 end = firstNonSlashEnd
42063 } else if (end < 0) {
42064 end = path.length
42065 }
42066
42067 return path.slice(start, end)
42068 }
42069
42070 /**
42071 * Get the dirname from a path.
42072 *
42073 * @param {string} path
42074 * File path.
42075 * @returns {string}
42076 * File path.
42077 */
42078 function dirname(path) {
42079 assertPath(path)
42080
42081 if (path.length === 0) {
42082 return '.'
42083 }
42084
42085 let end = -1
42086 let index = path.length
42087 /** @type {boolean | undefined} */
42088 let unmatchedSlash
42089
42090 // Prefix `--` is important to not run on `0`.
42091 while (--index) {
42092 if (path.charCodeAt(index) === 47 /* `/` */) {
42093 if (unmatchedSlash) {
42094 end = index
42095 break
42096 }
42097 } else if (!unmatchedSlash) {
42098 // We saw the first non-path separator
42099 unmatchedSlash = true
42100 }
42101 }
42102
42103 return end < 0
42104 ? path.charCodeAt(0) === 47 /* `/` */
42105 ? '/'
42106 : '.'
42107 : end === 1 && path.charCodeAt(0) === 47 /* `/` */
42108 ? '//'
42109 : path.slice(0, end)
42110 }
42111
42112 /**
42113 * Get an extname from a path.
42114 *
42115 * @param {string} path
42116 * File path.
42117 * @returns {string}
42118 * Extname.
42119 */
42120 function extname(path) {
42121 assertPath(path)
42122
42123 let index = path.length
42124
42125 let end = -1
42126 let startPart = 0
42127 let startDot = -1
42128 // Track the state of characters (if any) we see before our first dot and
42129 // after any path separator we find.
42130 let preDotState = 0
42131 /** @type {boolean | undefined} */
42132 let unmatchedSlash
42133
42134 while (index--) {
42135 const code = path.charCodeAt(index)
42136
42137 if (code === 47 /* `/` */) {
42138 // If we reached a path separator that was not part of a set of path
42139 // separators at the end of the string, stop now.
42140 if (unmatchedSlash) {
42141 startPart = index + 1
42142 break
42143 }
42144
42145 continue
42146 }
42147
42148 if (end < 0) {
42149 // We saw the first non-path separator, mark this as the end of our
42150 // extension.
42151 unmatchedSlash = true
42152 end = index + 1
42153 }
42154
42155 if (code === 46 /* `.` */) {
42156 // If this is our first dot, mark it as the start of our extension.
42157 if (startDot < 0) {
42158 startDot = index
42159 } else if (preDotState !== 1) {
42160 preDotState = 1
42161 }
42162 } else if (startDot > -1) {
42163 // We saw a non-dot and non-path separator before our dot, so we should
42164 // have a good chance at having a non-empty extension.
42165 preDotState = -1
42166 }
42167 }
42168
42169 if (
42170 startDot < 0 ||
42171 end < 0 ||
42172 // We saw a non-dot character immediately before the dot.
42173 preDotState === 0 ||
42174 // The (right-most) trimmed path component is exactly `..`.
42175 (preDotState === 1 && startDot === end - 1 && startDot === startPart + 1)
42176 ) {
42177 return ''
42178 }
42179
42180 return path.slice(startDot, end)
42181 }
42182
42183 /**
42184 * Join segments from a path.
42185 *
42186 * @param {Array<string>} segments
42187 * Path segments.
42188 * @returns {string}
42189 * File path.
42190 */
42191 function join(...segments) {
42192 let index = -1
42193 /** @type {string | undefined} */
42194 let joined
42195
42196 while (++index < segments.length) {
42197 assertPath(segments[index])
42198
42199 if (segments[index]) {
42200 joined =
42201 joined === undefined ? segments[index] : joined + '/' + segments[index]
42202 }
42203 }
42204
42205 return joined === undefined ? '.' : normalize(joined)
42206 }
42207
42208 /**
42209 * Normalize a basic file path.
42210 *
42211 * @param {string} path
42212 * File path.
42213 * @returns {string}
42214 * File path.
42215 */
42216 // Note: `normalize` is not exposed as `path.normalize`, so some code is
42217 // manually removed from it.
42218 function normalize(path) {
42219 assertPath(path)
42220
42221 const absolute = path.charCodeAt(0) === 47 /* `/` */
42222
42223 // Normalize the path according to POSIX rules.
42224 let value = normalizeString(path, !absolute)
42225
42226 if (value.length === 0 && !absolute) {
42227 value = '.'
42228 }
42229
42230 if (value.length > 0 && path.charCodeAt(path.length - 1) === 47 /* / */) {
42231 value += '/'
42232 }
42233
42234 return absolute ? '/' + value : value
42235 }
42236
42237 /**
42238 * Resolve `.` and `..` elements in a path with directory names.
42239 *
42240 * @param {string} path
42241 * File path.
42242 * @param {boolean} allowAboveRoot
42243 * Whether `..` can move above root.
42244 * @returns {string}
42245 * File path.
42246 */
42247 function normalizeString(path, allowAboveRoot) {
42248 let result = ''
42249 let lastSegmentLength = 0
42250 let lastSlash = -1
42251 let dots = 0
42252 let index = -1
42253 /** @type {number | undefined} */
42254 let code
42255 /** @type {number} */
42256 let lastSlashIndex
42257
42258 while (++index <= path.length) {
42259 if (index < path.length) {
42260 code = path.charCodeAt(index)
42261 } else if (code === 47 /* `/` */) {
42262 break
42263 } else {
42264 code = 47 /* `/` */
42265 }
42266
42267 if (code === 47 /* `/` */) {
42268 if (lastSlash === index - 1 || dots === 1) {
42269 // Empty.
42270 } else if (lastSlash !== index - 1 && dots === 2) {
42271 if (
42272 result.length < 2 ||
42273 lastSegmentLength !== 2 ||
42274 result.charCodeAt(result.length - 1) !== 46 /* `.` */ ||
42275 result.charCodeAt(result.length - 2) !== 46 /* `.` */
42276 ) {
42277 if (result.length > 2) {
42278 lastSlashIndex = result.lastIndexOf('/')
42279
42280 if (lastSlashIndex !== result.length - 1) {
42281 if (lastSlashIndex < 0) {
42282 result = ''
42283 lastSegmentLength = 0
42284 } else {
42285 result = result.slice(0, lastSlashIndex)
42286 lastSegmentLength = result.length - 1 - result.lastIndexOf('/')
42287 }
42288
42289 lastSlash = index
42290 dots = 0
42291 continue
42292 }
42293 } else if (result.length > 0) {
42294 result = ''
42295 lastSegmentLength = 0
42296 lastSlash = index
42297 dots = 0
42298 continue
42299 }
42300 }
42301
42302 if (allowAboveRoot) {
42303 result = result.length > 0 ? result + '/..' : '..'
42304 lastSegmentLength = 2
42305 }
42306 } else {
42307 if (result.length > 0) {
42308 result += '/' + path.slice(lastSlash + 1, index)
42309 } else {
42310 result = path.slice(lastSlash + 1, index)
42311 }
42312
42313 lastSegmentLength = index - lastSlash - 1
42314 }
42315
42316 lastSlash = index
42317 dots = 0
42318 } else if (code === 46 /* `.` */ && dots > -1) {
42319 dots++
42320 } else {
42321 dots = -1
42322 }
42323 }
42324
42325 return result
42326 }
42327
42328 /**
42329 * Make sure `path` is a string.
42330 *
42331 * @param {string} path
42332 * File path.
42333 * @returns {asserts path is string}
42334 * Nothing.
42335 */
42336 function assertPath(path) {
42337 if (typeof path !== 'string') {
42338 throw new TypeError(
42339 'Path must be a string. Received ' + JSON.stringify(path)
42340 )
42341 }
42342 }
42343
42344 /* eslint-enable max-depth, complexity */
42345
42346
42347 /***/ }),
42348
42349 /***/ "../node_modules/vfile/lib/minproc.browser.js":
42350 /*!****************************************************!*\
42351 !*** ../node_modules/vfile/lib/minproc.browser.js ***!
42352 \****************************************************/
42353 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
42354
42355 "use strict";
42356 __webpack_require__.r(__webpack_exports__);
42357 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
42358 /* harmony export */ proc: () => (/* binding */ proc)
42359 /* harmony export */ });
42360 // Somewhat based on:
42361 // <https://github.com/defunctzombie/node-process/blob/master/browser.js>.
42362 // But I don’t think one tiny line of code can be copyrighted. 😅
42363 const proc = {cwd}
42364
42365 function cwd() {
42366 return '/'
42367 }
42368
42369
42370 /***/ }),
42371
42372 /***/ "../node_modules/vfile/lib/minurl.browser.js":
42373 /*!***************************************************!*\
42374 !*** ../node_modules/vfile/lib/minurl.browser.js ***!
42375 \***************************************************/
42376 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
42377
42378 "use strict";
42379 __webpack_require__.r(__webpack_exports__);
42380 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
42381 /* harmony export */ isUrl: () => (/* reexport safe */ _minurl_shared_js__WEBPACK_IMPORTED_MODULE_0__.isUrl),
42382 /* harmony export */ urlToPath: () => (/* binding */ urlToPath)
42383 /* harmony export */ });
42384 /* harmony import */ var _minurl_shared_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./minurl.shared.js */ "../node_modules/vfile/lib/minurl.shared.js");
42385 /// <reference lib="dom" />
42386
42387
42388
42389 // See: <https://github.com/nodejs/node/blob/fcf8ba4/lib/internal/url.js>
42390
42391 /**
42392 * @param {string | URL} path
42393 * File URL.
42394 * @returns {string}
42395 * File URL.
42396 */
42397 function urlToPath(path) {
42398 if (typeof path === 'string') {
42399 path = new URL(path)
42400 } else if (!(0,_minurl_shared_js__WEBPACK_IMPORTED_MODULE_0__.isUrl)(path)) {
42401 /** @type {NodeJS.ErrnoException} */
42402 const error = new TypeError(
42403 'The "path" argument must be of type string or an instance of URL. Received `' +
42404 path +
42405 '`'
42406 )
42407 error.code = 'ERR_INVALID_ARG_TYPE'
42408 throw error
42409 }
42410
42411 if (path.protocol !== 'file:') {
42412 /** @type {NodeJS.ErrnoException} */
42413 const error = new TypeError('The URL must be of scheme file')
42414 error.code = 'ERR_INVALID_URL_SCHEME'
42415 throw error
42416 }
42417
42418 return getPathFromURLPosix(path)
42419 }
42420
42421 /**
42422 * Get a path from a POSIX URL.
42423 *
42424 * @param {URL} url
42425 * URL.
42426 * @returns {string}
42427 * File path.
42428 */
42429 function getPathFromURLPosix(url) {
42430 if (url.hostname !== '') {
42431 /** @type {NodeJS.ErrnoException} */
42432 const error = new TypeError(
42433 'File URL host must be "localhost" or empty on darwin'
42434 )
42435 error.code = 'ERR_INVALID_FILE_URL_HOST'
42436 throw error
42437 }
42438
42439 const pathname = url.pathname
42440 let index = -1
42441
42442 while (++index < pathname.length) {
42443 if (
42444 pathname.charCodeAt(index) === 37 /* `%` */ &&
42445 pathname.charCodeAt(index + 1) === 50 /* `2` */
42446 ) {
42447 const third = pathname.charCodeAt(index + 2)
42448 if (third === 70 /* `F` */ || third === 102 /* `f` */) {
42449 /** @type {NodeJS.ErrnoException} */
42450 const error = new TypeError(
42451 'File URL path must not include encoded / characters'
42452 )
42453 error.code = 'ERR_INVALID_FILE_URL_PATH'
42454 throw error
42455 }
42456 }
42457 }
42458
42459 return decodeURIComponent(pathname)
42460 }
42461
42462
42463
42464
42465 /***/ }),
42466
42467 /***/ "../node_modules/vfile/lib/minurl.shared.js":
42468 /*!**************************************************!*\
42469 !*** ../node_modules/vfile/lib/minurl.shared.js ***!
42470 \**************************************************/
42471 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
42472
42473 "use strict";
42474 __webpack_require__.r(__webpack_exports__);
42475 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
42476 /* harmony export */ isUrl: () => (/* binding */ isUrl)
42477 /* harmony export */ });
42478 /**
42479 * @typedef URL
42480 * @property {string} hash
42481 * @property {string} host
42482 * @property {string} hostname
42483 * @property {string} href
42484 * @property {string} origin
42485 * @property {string} password
42486 * @property {string} pathname
42487 * @property {string} port
42488 * @property {string} protocol
42489 * @property {string} search
42490 * @property {any} searchParams
42491 * @property {string} username
42492 * @property {() => string} toString
42493 * @property {() => string} toJSON
42494 */
42495
42496 /**
42497 * Check if `fileUrlOrPath` looks like a URL.
42498 *
42499 * @param {unknown} fileUrlOrPath
42500 * File path or URL.
42501 * @returns {fileUrlOrPath is URL}
42502 * Whether it’s a URL.
42503 */
42504 // From: <https://github.com/nodejs/node/blob/fcf8ba4/lib/internal/url.js#L1501>
42505 function isUrl(fileUrlOrPath) {
42506 return (
42507 fileUrlOrPath !== null &&
42508 typeof fileUrlOrPath === 'object' &&
42509 // @ts-expect-error: indexable.
42510 fileUrlOrPath.href &&
42511 // @ts-expect-error: indexable.
42512 fileUrlOrPath.origin
42513 )
42514 }
42515
42516
42517 /***/ })
42518
42519 /******/ });
42520 /************************************************************************/
42521 /******/ // The module cache
42522 /******/ var __webpack_module_cache__ = {};
42523 /******/
42524 /******/ // The require function
42525 /******/ function __webpack_require__(moduleId) {
42526 /******/ // Check if module is in cache
42527 /******/ var cachedModule = __webpack_module_cache__[moduleId];
42528 /******/ if (cachedModule !== undefined) {
42529 /******/ return cachedModule.exports;
42530 /******/ }
42531 /******/ // Create a new module (and put it into the cache)
42532 /******/ var module = __webpack_module_cache__[moduleId] = {
42533 /******/ // no module.id needed
42534 /******/ // no module.loaded needed
42535 /******/ exports: {}
42536 /******/ };
42537 /******/
42538 /******/ // Execute the module function
42539 /******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);
42540 /******/
42541 /******/ // Return the exports of the module
42542 /******/ return module.exports;
42543 /******/ }
42544 /******/
42545 /************************************************************************/
42546 /******/ /* webpack/runtime/compat get default export */
42547 /******/ (() => {
42548 /******/ // getDefaultExport function for compatibility with non-harmony modules
42549 /******/ __webpack_require__.n = (module) => {
42550 /******/ var getter = module && module.__esModule ?
42551 /******/ () => (module['default']) :
42552 /******/ () => (module);
42553 /******/ __webpack_require__.d(getter, { a: getter });
42554 /******/ return getter;
42555 /******/ };
42556 /******/ })();
42557 /******/
42558 /******/ /* webpack/runtime/define property getters */
42559 /******/ (() => {
42560 /******/ // define getter functions for harmony exports
42561 /******/ __webpack_require__.d = (exports, definition) => {
42562 /******/ for(var key in definition) {
42563 /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
42564 /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
42565 /******/ }
42566 /******/ }
42567 /******/ };
42568 /******/ })();
42569 /******/
42570 /******/ /* webpack/runtime/hasOwnProperty shorthand */
42571 /******/ (() => {
42572 /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
42573 /******/ })();
42574 /******/
42575 /******/ /* webpack/runtime/make namespace object */
42576 /******/ (() => {
42577 /******/ // define __esModule on exports
42578 /******/ __webpack_require__.r = (exports) => {
42579 /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
42580 /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
42581 /******/ }
42582 /******/ Object.defineProperty(exports, '__esModule', { value: true });
42583 /******/ };
42584 /******/ })();
42585 /******/
42586 /************************************************************************/
42587 var __webpack_exports__ = {};
42588 // This entry need to be wrapped in an IIFE because it need to be in strict mode.
42589 (() => {
42590 "use strict";
42591 /*!***********************************************!*\
42592 !*** ../modules/ai/assets/js/editor/index.js ***!
42593 \***********************************************/
42594
42595
42596 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
42597 var _module = _interopRequireDefault(__webpack_require__(/*! ./module.js */ "../modules/ai/assets/js/editor/module.js"));
42598 new _module.default();
42599 })();
42600
42601 /******/ })()
42602 ;
42603 //# sourceMappingURL=ai.js.map