: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in
/******/ (() => { // webpackBootstrap
/******/ // The require scope
/******/ var __webpack_require__ = {};
/************************************************************************/
/******/ /* webpack/runtime/compat get default export */
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = (module) => {
/******/ var getter = module && module.__esModule ?
/******/ () => (module['default']) :
/******/ __webpack_require__.d(getter, { a: getter });
/******/ /* webpack/runtime/define property getters */
/******/ // define getter functions for harmony exports
/******/ __webpack_require__.d = (exports, definition) => {
/******/ for(var key in definition) {
/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
/******/ /* webpack/runtime/hasOwnProperty shorthand */
/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
/******/ /* webpack/runtime/make namespace object */
/******/ // define __esModule on exports
/******/ __webpack_require__.r = (exports) => {
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ Object.defineProperty(exports, '__esModule', { value: true });
/************************************************************************/
var __webpack_exports__ = {};
__webpack_require__.r(__webpack_exports__);
__webpack_require__.d(__webpack_exports__, {
MoveToWidgetArea: () => (/* reexport */ MoveToWidgetArea),
addWidgetIdToBlock: () => (/* reexport */ addWidgetIdToBlock),
getWidgetIdFromBlock: () => (/* reexport */ getWidgetIdFromBlock),
registerLegacyWidgetBlock: () => (/* binding */ registerLegacyWidgetBlock),
registerLegacyWidgetVariations: () => (/* reexport */ registerLegacyWidgetVariations),
registerWidgetGroupBlock: () => (/* binding */ registerWidgetGroupBlock)
// NAMESPACE OBJECT: ./node_modules/@wordpress/widgets/build-module/blocks/legacy-widget/index.js
var legacy_widget_namespaceObject = {};
__webpack_require__.r(legacy_widget_namespaceObject);
__webpack_require__.d(legacy_widget_namespaceObject, {
metadata: () => (metadata),
name: () => (legacy_widget_name),
settings: () => (settings)
// NAMESPACE OBJECT: ./node_modules/@wordpress/widgets/build-module/blocks/widget-group/index.js
var widget_group_namespaceObject = {};
__webpack_require__.r(widget_group_namespaceObject);
__webpack_require__.d(widget_group_namespaceObject, {
metadata: () => (widget_group_metadata),
name: () => (widget_group_name),
settings: () => (widget_group_settings)
;// CONCATENATED MODULE: external ["wp","blocks"]
const external_wp_blocks_namespaceObject = window["wp"]["blocks"];
;// CONCATENATED MODULE: external ["wp","primitives"]
const external_wp_primitives_namespaceObject = window["wp"]["primitives"];
;// CONCATENATED MODULE: external "ReactJSXRuntime"
const external_ReactJSXRuntime_namespaceObject = window["ReactJSXRuntime"];
;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/widget.js
const widget = /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, {
xmlns: "http://www.w3.org/2000/svg",
children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, {
d: "M6 3H8V5H16V3H18V5C19.1046 5 20 5.89543 20 7V19C20 20.1046 19.1046 21 18 21H6C4.89543 21 4 20.1046 4 19V7C4 5.89543 4.89543 5 6 5V3ZM18 6.5H6C5.72386 6.5 5.5 6.72386 5.5 7V8H18.5V7C18.5 6.72386 18.2761 6.5 18 6.5ZM18.5 9.5H5.5V19C5.5 19.2761 5.72386 19.5 6 19.5H18C18.2761 19.5 18.5 19.2761 18.5 19V9.5ZM11 11H13V13H11V11ZM7 11V13H9V11H7ZM15 13V11H17V13H15Z"
/* harmony default export */ const library_widget = (widget);
;// CONCATENATED MODULE: ./node_modules/clsx/dist/clsx.mjs
function r(e){var t,f,n="";if("string"==typeof e||"number"==typeof e)n+=e;else if("object"==typeof e)if(Array.isArray(e)){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);
;// CONCATENATED MODULE: external ["wp","blockEditor"]
const external_wp_blockEditor_namespaceObject = window["wp"]["blockEditor"];
;// CONCATENATED MODULE: external ["wp","components"]
const external_wp_components_namespaceObject = window["wp"]["components"];
;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/brush.js
const brush = /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, {
xmlns: "http://www.w3.org/2000/svg",
children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, {
d: "M4 20h8v-1.5H4V20zM18.9 3.5c-.6-.6-1.5-.6-2.1 0l-7.2 7.2c-.4-.1-.7 0-1.1.1-.5.2-1.5.7-1.9 2.2-.4 1.7-.8 2.2-1.1 2.7-.1.1-.2.3-.3.4l-.6 1.1H6c2 0 3.4-.4 4.7-1.4.8-.6 1.2-1.4 1.3-2.3 0-.3 0-.5-.1-.7L19 5.7c.5-.6.5-1.6-.1-2.2zM9.7 14.7c-.7.5-1.5.8-2.4 1 .2-.5.5-1.2.8-2.3.2-.6.4-1 .8-1.1.5-.1 1 .1 1.3.3.2.2.3.5.2.8 0 .3-.1.9-.7 1.3z"
/* harmony default export */ const library_brush = (brush);
;// CONCATENATED MODULE: external ["wp","i18n"]
const external_wp_i18n_namespaceObject = window["wp"]["i18n"];
;// CONCATENATED MODULE: external ["wp","element"]
const external_wp_element_namespaceObject = window["wp"]["element"];
;// CONCATENATED MODULE: external ["wp","data"]
const external_wp_data_namespaceObject = window["wp"]["data"];
;// CONCATENATED MODULE: external ["wp","coreData"]
const external_wp_coreData_namespaceObject = window["wp"]["coreData"];
;// CONCATENATED MODULE: ./node_modules/@wordpress/widgets/build-module/blocks/legacy-widget/edit/widget-type-selector.js
function WidgetTypeSelector({
const widgetTypes = (0,external_wp_data_namespaceObject.useSelect)(select => {
var _select$getSettings$w;
const hiddenIds = (_select$getSettings$w = select(external_wp_blockEditor_namespaceObject.store).getSettings()?.widgetTypesToHideFromLegacyWidgetBlock) !== null && _select$getSettings$w !== void 0 ? _select$getSettings$w : [];
return select(external_wp_coreData_namespaceObject.store).getWidgetTypes({
})?.filter(widgetType => !hiddenIds.includes(widgetType.id));
return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Spinner, {});
if (widgetTypes.length === 0) {
return (0,external_wp_i18n_namespaceObject.__)('There are no widgets available.');
return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.SelectControl, {
__nextHasNoMarginBottom: true,
label: (0,external_wp_i18n_namespaceObject.__)('Select a legacy widget to display:'),
value: selectedId !== null && selectedId !== void 0 ? selectedId : '',
label: (0,external_wp_i18n_namespaceObject.__)('Select widget')
}, ...widgetTypes.map(widgetType => ({
const selected = widgetTypes.find(widgetType => widgetType.id === value);
isMulti: selected.is_multi
;// CONCATENATED MODULE: ./node_modules/@wordpress/widgets/build-module/blocks/legacy-widget/edit/inspector-card.js
return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", {
className: "wp-block-legacy-widget-inspector-card",
children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("h3", {
className: "wp-block-legacy-widget-inspector-card__name",
}), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("span", {
;// CONCATENATED MODULE: external ["wp","notices"]
const external_wp_notices_namespaceObject = window["wp"]["notices"];
;// CONCATENATED MODULE: external ["wp","compose"]
const external_wp_compose_namespaceObject = window["wp"]["compose"];
;// CONCATENATED MODULE: external ["wp","apiFetch"]
const external_wp_apiFetch_namespaceObject = window["wp"]["apiFetch"];
var external_wp_apiFetch_default = /*#__PURE__*/__webpack_require__.n(external_wp_apiFetch_namespaceObject);
;// CONCATENATED MODULE: ./node_modules/@wordpress/widgets/build-module/blocks/legacy-widget/edit/control.js
* An API for creating and loading a widget control (a <div class="widget">
* element) that is compatible with most third party widget scripts. By not
* using React for this, we ensure that we have complete contorl over the DOM
* and do not accidentally remove any elements that a third party widget script
* has attached an event listener to.
* @property {Element} element The control's DOM element.
* Creates and loads a new control.
* @param {string} params.id
* @param {string} params.idBase
* @param {Object} params.instance
* @param {Function} params.onChangeInstance
* @param {Function} params.onChangeHasPreview
* @param {Function} params.onError
this._instance = instance;
this.onChangeInstance = onChangeInstance;
this.onChangeHasPreview = onChangeHasPreview;
// We can't use the real widget number as this is calculated by the
// server and we may not ever *actually* save this widget. Instead, use
// a fake but unique number.
this.number = ++lastNumber;
this.handleFormChange = (0,external_wp_compose_namespaceObject.debounce)(this.handleFormChange.bind(this), 200);
this.handleFormSubmit = this.handleFormSubmit.bind(this);
* Clean up the control so that it can be garabge collected.
// TODO: How do we make third party widget scripts remove their event
* Creates the control's DOM structure.
var _this$id, _this$idBase;
this.element = el('div', {
}, [this.form = el('form', {
// These hidden form inputs are what most widgets' scripts
// use to access data about the widget.
value: (_this$id = this.id) !== null && _this$id !== void 0 ? _this$id : `${this.idBase}-${this.number}`
value: (_this$idBase = this.idBase) !== null && _this$idBase !== void 0 ? _this$idBase : this.id
value: this.idBase ? this.number.toString() : ''
}), this.content = el('div', {
// Non-multi widgets can be saved via a Save button.
this.id && el('button', {
class: 'button is-primary',
}, (0,external_wp_i18n_namespaceObject.__)('Save'))])])]);
* Adds the control's event listeners.
// Prefer jQuery 'change' event instead of the native 'change' event
// because many widgets use jQuery's event bus to trigger an update.
$(this.form).on('change', null, this.handleFormChange);
$(this.form).on('input', null, this.handleFormChange);
$(this.form).on('submit', this.handleFormSubmit);
this.form.addEventListener('change', this.handleFormChange);
this.form.addEventListener('input', this.handleFormChange);
this.form.addEventListener('submit', this.handleFormSubmit);
* Removes the control's event listeners.
$(this.form).off('change', null, this.handleFormChange);
$(this.form).off('input', null, this.handleFormChange);
$(this.form).off('submit', this.handleFormSubmit);
this.form.removeEventListener('change', this.handleFormChange);
this.form.removeEventListener('input', this.handleFormChange);
this.form.removeEventListener('submit', this.handleFormSubmit);
* Fetches the widget's form HTML from the REST API and loads it into the
} = await saveWidget(this.id);
this.content.innerHTML = form;
} else if (this.idBase) {
this.content.innerHTML = form;
this.hasPreview = !isEmptyHTML(preview);
// If we don't have an instance, perform a save right away. This
// happens when creating a new Legacy Widget block.
if (!this.instance.hash) {
formData: serializeForm(this.form)
this.instance = instance;
// Trigger 'widget-added' when widget is ready. This event is what
// widgets' scripts use to initialize, attach events, etc. The event
// must be fired using jQuery's event bus as this is what widget
// scripts expect. If jQuery is not loaded, do nothing - some
// widgets will still work regardless.
$(document).trigger('widget-added', [$(this.element)]);
* Perform a save when a multi widget's form is changed. Non-multi widgets
* Perform a save when the control's form is manually submitted.
handleFormSubmit(event) {
* Serialize the control's form, send it to the REST API, and update the
* instance with the encoded instance that the REST API returns.
const formData = serializeForm(this.form);
} = await saveWidget(this.id, formData);
this.content.innerHTML = form;
$(document).trigger('widget-updated', [$(this.element)]);
} else if (this.idBase) {
this.instance = instance;
this.hasPreview = !isEmptyHTML(preview);
* The widget's instance object.
* The widget's instance object.