run:R W Run
DIR
2026-03-11 16:18:51
R W Run
DIR
2026-03-11 16:18:51
R W Run
DIR
2026-03-11 16:18:51
R W Run
5.58 KB
2026-03-11 16:18:51
R W Run
2.16 KB
2026-03-11 16:18:51
R W Run
5.58 KB
2026-03-11 16:18:51
R W Run
2.11 KB
2026-03-11 16:18:51
R W Run
15.83 KB
2026-03-11 16:18:51
R W Run
5.19 KB
2026-03-11 16:18:51
R W Run
15.94 KB
2026-03-11 16:18:51
R W Run
5.66 KB
2026-03-11 16:18:51
R W Run
9.95 KB
2026-03-11 16:18:51
R W Run
5.48 KB
2026-03-11 16:18:51
R W Run
266 By
2026-03-11 16:18:51
R W Run
75 By
2026-03-11 16:18:51
R W Run
3.09 KB
2026-03-11 16:18:51
R W Run
1.08 KB
2026-03-11 16:18:51
R W Run
70.22 KB
2026-03-11 16:18:51
R W Run
20.18 KB
2026-03-11 16:18:51
R W Run
2.23 MB
2026-03-11 16:18:51
R W Run
871.33 KB
2026-03-11 16:18:51
R W Run
2.19 MB
2026-03-11 16:18:51
R W Run
960 KB
2026-03-11 16:18:51
R W Run
6.81 KB
2026-03-11 16:18:51
R W Run
2.34 KB
2026-03-11 16:18:51
R W Run
427.52 KB
2026-03-11 16:18:51
R W Run
172.73 KB
2026-03-11 16:18:51
R W Run
171.71 KB
2026-03-11 16:18:51
R W Run
48.76 KB
2026-03-11 16:18:51
R W Run
2.39 MB
2026-03-11 16:18:51
R W Run
786.6 KB
2026-03-11 16:18:51
R W Run
142.91 KB
2026-03-11 16:18:51
R W Run
35.78 KB
2026-03-11 16:18:51
R W Run
25.66 KB
2026-03-11 16:18:51
R W Run
10.39 KB
2026-03-11 16:18:51
R W Run
216.7 KB
2026-03-11 16:18:51
R W Run
68.73 KB
2026-03-11 16:18:51
R W Run
86.45 KB
2026-03-11 16:18:51
R W Run
34.22 KB
2026-03-11 16:18:51
R W Run
4.39 KB
2026-03-11 16:18:51
R W Run
1.44 KB
2026-03-11 16:18:51
R W Run
88.15 KB
2026-03-11 16:18:51
R W Run
24.85 KB
2026-03-11 16:18:51
R W Run
790.86 KB
2026-03-11 16:18:51
R W Run
765.33 KB
2026-03-11 16:18:51
R W Run
2.25 KB
2026-03-11 16:18:51
R W Run
684 By
2026-03-11 16:18:51
R W Run
1.57 KB
2026-03-11 16:18:51
R W Run
457 By
2026-03-11 16:18:51
R W Run
34.18 KB
2026-03-11 16:18:51
R W Run
12.3 KB
2026-03-11 16:18:51
R W Run
104.66 KB
2026-03-11 16:18:51
R W Run
42.69 KB
2026-03-11 16:18:51
R W Run
1.76 MB
2026-03-11 16:18:51
R W Run
700.25 KB
2026-03-11 16:18:51
R W Run
152.38 KB
2026-03-11 16:18:51
R W Run
57.61 KB
2026-03-11 16:18:51
R W Run
1.09 MB
2026-03-11 16:18:51
R W Run
409.79 KB
2026-03-11 16:18:51
R W Run
46.17 KB
2026-03-11 16:18:51
R W Run
11.83 KB
2026-03-11 16:18:51
R W Run
2.99 KB
2026-03-11 16:18:51
R W Run
1000 By
2026-03-11 16:18:51
R W Run
71.43 KB
2026-03-11 16:18:51
R W Run
26.76 KB
2026-03-11 16:18:51
R W Run
15.64 KB
2026-03-11 16:18:51
R W Run
5.53 KB
2026-03-11 16:18:51
R W Run
2.29 KB
2026-03-11 16:18:51
R W Run
792 By
2026-03-11 16:18:51
R W Run
24.35 KB
2026-03-11 16:18:51
R W Run
5.19 KB
2026-03-11 16:18:51
R W Run
3.28 KB
2026-03-11 16:18:51
R W Run
1018 By
2026-03-11 16:18:51
R W Run
9.23 KB
2026-03-11 16:18:51
R W Run
2.98 KB
2026-03-11 16:18:51
R W Run
7.89 KB
2026-03-11 16:18:51
R W Run
2.51 KB
2026-03-11 16:18:51
R W Run
444.74 KB
2026-03-11 16:18:51
R W Run
192.02 KB
2026-03-11 16:18:51
R W Run
29.95 KB
2026-03-11 16:18:51
R W Run
4.62 KB
2026-03-11 16:18:51
R W Run
23.35 KB
2026-03-11 16:18:51
R W Run
9.72 KB
2026-03-11 16:18:51
R W Run
5.84 KB
2026-03-11 16:18:51
R W Run
2.03 KB
2026-03-11 16:18:51
R W Run
9.89 KB
2026-03-11 16:18:51
R W Run
3.43 KB
2026-03-11 16:18:51
R W Run
60.31 KB
2026-03-11 16:18:51
R W Run
21.47 KB
2026-03-11 16:18:51
R W Run
13.65 KB
2026-03-11 16:18:51
R W Run
4.23 KB
2026-03-11 16:18:51
R W Run
16.82 KB
2026-03-11 16:18:51
R W Run
5.33 KB
2026-03-11 16:18:51
R W Run
20.27 KB
2026-03-11 16:18:51
R W Run
6.85 KB
2026-03-11 16:18:51
R W Run
5.1 KB
2026-03-11 16:18:51
R W Run
1.62 KB
2026-03-11 16:18:51
R W Run
9.89 KB
2026-03-11 16:18:51
R W Run
3.3 KB
2026-03-11 16:18:51
R W Run
5.35 KB
2026-03-11 16:18:51
R W Run
2.77 KB
2026-03-11 16:18:51
R W Run
21.23 KB
2026-03-11 16:18:51
R W Run
8.68 KB
2026-03-11 16:18:51
R W Run
18.45 KB
2026-03-11 16:18:51
R W Run
5.91 KB
2026-03-11 16:18:51
R W Run
83.52 KB
2026-03-11 16:18:51
R W Run
36.42 KB
2026-03-11 16:18:51
R W Run
52.27 KB
2026-03-11 16:18:51
R W Run
13.44 KB
2026-03-11 16:18:51
R W Run
9.68 KB
2026-03-11 16:18:51
R W Run
3.08 KB
2026-03-11 16:18:51
R W Run
9.83 KB
2026-03-11 16:18:51
R W Run
2.83 KB
2026-03-11 16:18:51
R W Run
35.12 KB
2026-03-11 16:18:51
R W Run
5.92 KB
2026-03-11 16:18:51
R W Run
5.86 KB
2026-03-11 16:18:51
R W Run
1.27 KB
2026-03-11 16:18:51
R W Run
20.26 KB
2026-03-11 16:18:51
R W Run
8.33 KB
2026-03-11 16:18:51
R W Run
6.29 KB
2026-03-11 16:18:51
R W Run
1.83 KB
2026-03-11 16:18:51
R W Run
7.8 KB
2026-03-11 16:18:51
R W Run
2.68 KB
2026-03-11 16:18:51
R W Run
1.6 KB
2026-03-11 16:18:51
R W Run
303 By
2026-03-11 16:18:51
R W Run
47.61 KB
2026-03-11 16:18:51
R W Run
19.5 KB
2026-03-11 16:18:51
R W Run
13.25 KB
2026-03-11 16:18:51
R W Run
3.24 KB
2026-03-11 16:18:51
R W Run
error_log
📄customize-widgets.js
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;
Ui Ux Design – Teachers Night Out https://cardgames4educators.com Wed, 16 Oct 2024 22:24:18 +0000 en-US hourly 1 https://wordpress.org/?v=6.9.4 https://cardgames4educators.com/wp-content/uploads/2024/06/cropped-Card-4-Educators-logo-32x32.png Ui Ux Design – Teachers Night Out https://cardgames4educators.com 32 32 Masters In English How English Speaker https://cardgames4educators.com/masters-in-english-how-english-speaker/ https://cardgames4educators.com/masters-in-english-how-english-speaker/#comments Mon, 27 May 2024 08:54:45 +0000 https://themexriver.com/wp/kadu/?p=1

Erat himenaeos neque id sagittis massa. Hac suscipit pulvinar dignissim platea magnis eu. Don tellus a pharetra inceptos efficitur dui pulvinar. Feugiat facilisis penatibus pulvinar nunc dictumst donec odio platea habitasse. Lacus porta dolor purus elit ante bibendum tortor netus taciti nullam cubilia. Erat per suspendisse placerat morbi egestas pulvinar bibendum sollicitudin nec. Euismod cubilia eleifend velit himenaeos sodales lectus. Leo maximus cras ac porttitor aliquam torquent pulvinar odio volutpat parturient. Quisque risus finibus suspendisse mus purus magnis facilisi condimentum consectetur dui. Curae elit suspendisse cursus vehicula.

Turpis taciti class non vel pretium quis pulvinar tempor lobortis nunc. Libero phasellus parturient sapien volutpat malesuada ornare. Cubilia dignissim sollicitudin rhoncus lacinia maximus. Cras lorem fermentum bibendum pellentesque nisl etiam ligula enim cubilia. Vulputate pede sapien torquent montes tempus malesuada in mattis dis turpis vitae. Porta est tempor ex eget feugiat vulputate ipsum. Justo nec iaculis habitant diam arcu fermentum.

We offer comprehen sive emplo ment services such as assistance wit employer compliance.Our company is your strategic HR partner as instead of HR. john smithson

Cubilia dignissim sollicitudin rhoncus lacinia maximus. Cras lorem fermentum bibendum pellentesque nisl etiam ligula enim cubilia. Vulputate pede sapien torquent montes tempus malesuada in mattis dis turpis vitae.

Exploring Learning Landscapes in Academic

Feugiat facilisis penatibus pulvinar nunc dictumst donec odio platea habitasse. Lacus porta dolor purus elit ante bibendum tortor netus taciti nullam cubilia. Erat per suspendisse placerat morbi egestas pulvinar bibendum sollicitudin nec. Euismod cubilia eleifend velit himenaeos sodales lectus. Leo maximus cras ac porttitor aliquam torquent.

]]>
https://cardgames4educators.com/masters-in-english-how-english-speaker/feed/ 1