[ Index ]

PHP Cross Reference of WordPress Trunk (Updated Daily)

Search

title

Body

[close]

/wp-includes/js/dist/ -> core-commands.js (source)

   1  (function() {
   2  var wp;
   3  (wp ||= {}).coreCommands = (() => {
   4    var __create = Object.create;
   5    var __defProp = Object.defineProperty;
   6    var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
   7    var __getOwnPropNames = Object.getOwnPropertyNames;
   8    var __getProtoOf = Object.getPrototypeOf;
   9    var __hasOwnProp = Object.prototype.hasOwnProperty;
  10    var __commonJS = (cb, mod) => function __require() {
  11      return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
  12    };
  13    var __export = (target, all) => {
  14      for (var name in all)
  15        __defProp(target, name, { get: all[name], enumerable: true });
  16    };
  17    var __copyProps = (to, from, except, desc) => {
  18      if (from && typeof from === "object" || typeof from === "function") {
  19        for (let key of __getOwnPropNames(from))
  20          if (!__hasOwnProp.call(to, key) && key !== except)
  21            __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
  22      }
  23      return to;
  24    };
  25    var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
  26      // If the importer is in node compatibility mode or this is not an ESM
  27      // file that has been converted to a CommonJS file using a Babel-
  28      // compatible transform (i.e. "__esModule" has not been set), then set
  29      // "default" to the CommonJS "module.exports" for node compatibility.
  30      isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
  31      mod
  32    ));
  33    var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
  34  
  35    // package-external:@wordpress/element
  36    var require_element = __commonJS({
  37      "package-external:@wordpress/element"(exports, module) {
  38        module.exports = window.wp.element;
  39      }
  40    });
  41  
  42    // package-external:@wordpress/router
  43    var require_router = __commonJS({
  44      "package-external:@wordpress/router"(exports, module) {
  45        module.exports = window.wp.router;
  46      }
  47    });
  48  
  49    // package-external:@wordpress/commands
  50    var require_commands = __commonJS({
  51      "package-external:@wordpress/commands"(exports, module) {
  52        module.exports = window.wp.commands;
  53      }
  54    });
  55  
  56    // package-external:@wordpress/i18n
  57    var require_i18n = __commonJS({
  58      "package-external:@wordpress/i18n"(exports, module) {
  59        module.exports = window.wp.i18n;
  60      }
  61    });
  62  
  63    // package-external:@wordpress/primitives
  64    var require_primitives = __commonJS({
  65      "package-external:@wordpress/primitives"(exports, module) {
  66        module.exports = window.wp.primitives;
  67      }
  68    });
  69  
  70    // vendor-external:react/jsx-runtime
  71    var require_jsx_runtime = __commonJS({
  72      "vendor-external:react/jsx-runtime"(exports, module) {
  73        module.exports = window.ReactJSXRuntime;
  74      }
  75    });
  76  
  77    // package-external:@wordpress/core-data
  78    var require_core_data = __commonJS({
  79      "package-external:@wordpress/core-data"(exports, module) {
  80        module.exports = window.wp.coreData;
  81      }
  82    });
  83  
  84    // package-external:@wordpress/data
  85    var require_data = __commonJS({
  86      "package-external:@wordpress/data"(exports, module) {
  87        module.exports = window.wp.data;
  88      }
  89    });
  90  
  91    // package-external:@wordpress/url
  92    var require_url = __commonJS({
  93      "package-external:@wordpress/url"(exports, module) {
  94        module.exports = window.wp.url;
  95      }
  96    });
  97  
  98    // package-external:@wordpress/compose
  99    var require_compose = __commonJS({
 100      "package-external:@wordpress/compose"(exports, module) {
 101        module.exports = window.wp.compose;
 102      }
 103    });
 104  
 105    // package-external:@wordpress/html-entities
 106    var require_html_entities = __commonJS({
 107      "package-external:@wordpress/html-entities"(exports, module) {
 108        module.exports = window.wp.htmlEntities;
 109      }
 110    });
 111  
 112    // package-external:@wordpress/private-apis
 113    var require_private_apis = __commonJS({
 114      "package-external:@wordpress/private-apis"(exports, module) {
 115        module.exports = window.wp.privateApis;
 116      }
 117    });
 118  
 119    // packages/core-commands/build-module/index.mjs
 120    var index_exports = {};
 121    __export(index_exports, {
 122      initializeCommandPalette: () => initializeCommandPalette,
 123      privateApis: () => privateApis
 124    });
 125    var import_element3 = __toESM(require_element(), 1);
 126    var import_router2 = __toESM(require_router(), 1);
 127    var import_commands3 = __toESM(require_commands(), 1);
 128  
 129    // packages/core-commands/build-module/admin-navigation-commands.mjs
 130    var import_commands = __toESM(require_commands(), 1);
 131    var import_i18n = __toESM(require_i18n(), 1);
 132  
 133    // packages/icons/build-module/library/external.mjs
 134    var import_primitives = __toESM(require_primitives(), 1);
 135    var import_jsx_runtime = __toESM(require_jsx_runtime(), 1);
 136    var external_default = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_primitives.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", style: { fill: "none" }, stroke: "currentColor", strokeWidth: "1.5", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_primitives.Path, { d: "M9.5 6.25H6.5C5.80964 6.25 5.25 6.80964 5.25 7.5V17.5C5.25 18.1904 5.80964 18.75 6.5 18.75H16.5C17.1904 18.75 17.75 18.1904 17.75 17.5V14.5M11.5 12.5L18.75 5.25M12.5 5.25H18.75V11.5", vectorEffect: "non-scaling-stroke" }) });
 137  
 138    // packages/icons/build-module/library/layout.mjs
 139    var import_primitives2 = __toESM(require_primitives(), 1);
 140    var import_jsx_runtime2 = __toESM(require_jsx_runtime(), 1);
 141    var layout_default = /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_primitives2.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", style: { fill: "none" }, stroke: "currentColor", strokeWidth: "1.5", children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_primitives2.Path, { d: "M9.75 19.25H18C18.6904 19.25 19.25 18.6904 19.25 18V9.75M9.75 19.25H6C5.30964 19.25 4.75 18.6904 4.75 18V9.75M9.75 19.25V9.75M19.25 9.75V6C19.25 5.30964 18.6904 4.75 18 4.75H6C5.30964 4.75 4.75 5.30964 4.75 6V9.75M19.25 9.75H9.75M9.75 9.75H4.75", vectorEffect: "non-scaling-stroke" }) });
 142  
 143    // packages/icons/build-module/library/page.mjs
 144    var import_primitives3 = __toESM(require_primitives(), 1);
 145    var import_jsx_runtime3 = __toESM(require_jsx_runtime(), 1);
 146    var page_default = /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_primitives3.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", style: { fill: "none" }, stroke: "currentColor", strokeWidth: "1.5", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_primitives3.Path, { d: "M8.5 8.25H15.5M8.5 11.75H15.5M8.5 15.25H15.5M18.25 18V6C18.25 5.30964 17.6904 4.75 17 4.75H7C6.30964 4.75 5.75 5.30964 5.75 6L5.75 18C5.75 18.6904 6.30964 19.25 7 19.25H17C17.6904 19.25 18.25 18.6904 18.25 18Z", vectorEffect: "non-scaling-stroke" }) });
 147  
 148    // packages/icons/build-module/library/post.mjs
 149    var import_primitives4 = __toESM(require_primitives(), 1);
 150    var import_jsx_runtime4 = __toESM(require_jsx_runtime(), 1);
 151    var post_default = /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_primitives4.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", style: { fill: "none" }, stroke: "currentColor", strokeWidth: "1.5", children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_primitives4.Path, { d: "M4.76776 11.5178L7.76777 8.51776M4 15H20M4 19H13M6 6.74999L9.53554 10.2855C10.1688 9.65226 10.3913 8.76379 10.2031 7.95118L12.5178 6.26776L10.0178 3.76776L8.33435 6.08246C7.52174 5.89422 6.63327 6.11673 6 6.74999Z", vectorEffect: "non-scaling-stroke" }) });
 152  
 153    // packages/icons/build-module/library/symbol-filled.mjs
 154    var import_primitives5 = __toESM(require_primitives(), 1);
 155    var import_jsx_runtime5 = __toESM(require_jsx_runtime(), 1);
 156    var symbol_filled_default = /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_primitives5.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", style: { fill: "none" }, stroke: "currentColor", strokeWidth: "1.5", children: [
 157      /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_primitives5.Path, { d: "M15.2071 6.20711L20.2929 11.2929C20.6834 11.6834 20.6834 12.3166 20.2929 12.7071L15.2071 17.7929C14.8166 18.1834 14.1834 18.1834 13.7929 17.7929L8.70711 12.7071C8.31658 12.3166 8.31658 11.6834 8.70711 11.2929L13.7929 6.20711C14.1834 5.81658 14.8166 5.81658 15.2071 6.20711Z", fill: "currentColor", vectorEffect: "non-scaling-stroke" }),
 158      /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_primitives5.Path, { d: "M9.5 5.5L3.70711 11.2929C3.31658 11.6834 3.31658 12.3166 3.70711 12.7071L9.5 18.5", vectorEffect: "non-scaling-stroke" })
 159    ] });
 160  
 161    // packages/core-commands/build-module/admin-navigation-commands.mjs
 162    var import_element = __toESM(require_element(), 1);
 163    var import_core_data = __toESM(require_core_data(), 1);
 164    var import_data = __toESM(require_data(), 1);
 165    var getViewSiteCommand = () => function useViewSiteCommand() {
 166      const homeUrl = (0, import_data.useSelect)((select) => {
 167        return select(import_core_data.store).getEntityRecord(
 168          "root",
 169          "__unstableBase"
 170        )?.home;
 171      }, []);
 172      const commands = (0, import_element.useMemo)(() => {
 173        if (!homeUrl) {
 174          return [];
 175        }
 176        return [
 177          {
 178            name: "core/view-site",
 179            label: (0, import_i18n.__)("View site"),
 180            icon: external_default,
 181            category: "view",
 182            callback: ({ close }) => {
 183              close();
 184              window.open(homeUrl, "_blank");
 185            }
 186          }
 187        ];
 188      }, [homeUrl]);
 189      return {
 190        isLoading: false,
 191        commands
 192      };
 193    };
 194    function useAdminNavigationCommands(menuCommands) {
 195      const commands = (0, import_element.useMemo)(() => {
 196        return (menuCommands ?? []).map((menuCommand) => {
 197          const label = (0, import_i18n.sprintf)(
 198            /* translators: %s: menu label */
 199            (0, import_i18n.__)("Go to: %s"),
 200            menuCommand.label
 201          );
 202          return {
 203            name: menuCommand.name,
 204            label,
 205            searchLabel: label,
 206            category: "view",
 207            callback: ({ close }) => {
 208              document.location = menuCommand.url;
 209              close();
 210            }
 211          };
 212        });
 213      }, [menuCommands]);
 214      (0, import_commands.useCommands)(commands);
 215      (0, import_commands.useCommandLoader)({
 216        name: "core/view-site",
 217        hook: getViewSiteCommand()
 218      });
 219    }
 220  
 221    // packages/core-commands/build-module/site-editor-navigation-commands.mjs
 222    var import_commands2 = __toESM(require_commands(), 1);
 223    var import_i18n2 = __toESM(require_i18n(), 1);
 224    var import_element2 = __toESM(require_element(), 1);
 225    var import_data2 = __toESM(require_data(), 1);
 226    var import_core_data2 = __toESM(require_core_data(), 1);
 227    var import_router = __toESM(require_router(), 1);
 228    var import_url = __toESM(require_url(), 1);
 229    var import_compose = __toESM(require_compose(), 1);
 230    var import_html_entities = __toESM(require_html_entities(), 1);
 231  
 232    // packages/core-commands/build-module/lock-unlock.mjs
 233    var import_private_apis = __toESM(require_private_apis(), 1);
 234    var { lock, unlock } = (0, import_private_apis.__dangerousOptInToUnstableAPIsOnlyForCoreModules)(
 235      "I acknowledge private features are not for use in themes or plugins and doing so will break in the next version of WordPress.",
 236      "@wordpress/core-commands"
 237    );
 238  
 239    // packages/core-commands/build-module/utils/order-entity-records-by-search.mjs
 240    function orderEntityRecordsBySearch(records = [], search = "") {
 241      if (!Array.isArray(records) || !records.length) {
 242        return [];
 243      }
 244      if (!search) {
 245        return records;
 246      }
 247      const priority = [];
 248      const nonPriority = [];
 249      for (let i = 0; i < records.length; i++) {
 250        const record = records[i];
 251        if (record?.title?.raw?.toLowerCase()?.includes(search?.toLowerCase())) {
 252          priority.push(record);
 253        } else {
 254          nonPriority.push(record);
 255        }
 256      }
 257      return priority.concat(nonPriority);
 258    }
 259  
 260    // packages/core-commands/build-module/site-editor-navigation-commands.mjs
 261    var { useHistory } = unlock(import_router.privateApis);
 262    var icons = {
 263      post: post_default,
 264      page: page_default,
 265      wp_template: layout_default,
 266      wp_template_part: symbol_filled_default
 267    };
 268    function useDebouncedValue(value) {
 269      const [debouncedValue, setDebouncedValue] = (0, import_element2.useState)("");
 270      const debounced = (0, import_compose.useDebounce)(setDebouncedValue, 250);
 271      (0, import_element2.useEffect)(() => {
 272        debounced(value);
 273        return () => debounced.cancel();
 274      }, [debounced, value]);
 275      return debouncedValue;
 276    }
 277    var ROUTE_MAPPING = {
 278      "/template": "/templates",
 279      "/pattern": "/patterns"
 280    };
 281    function getSiteEditorPage() {
 282      return window.__experimentalExtensibleSiteEditor ? "admin.php?page=site-editor-v2" : "site-editor.php";
 283    }
 284    function mapRoute(path) {
 285      if (!window.__experimentalExtensibleSiteEditor) {
 286        return path;
 287      }
 288      for (const [oldPath, newPath] of Object.entries(ROUTE_MAPPING)) {
 289        if (path === oldPath || path.startsWith(oldPath + "?")) {
 290          if (path.includes("postType=wp_template_part")) {
 291            return "/template-parts";
 292          }
 293          return path.replace(oldPath, newPath);
 294        }
 295      }
 296      return path;
 297    }
 298    function isInSiteEditor() {
 299      const path = (0, import_url.getPath)(window.location.href);
 300      return path?.includes("site-editor.php") || path?.includes("page=site-editor-v2");
 301    }
 302    var getNavigationCommandLoaderPerPostType = (postType) => function useNavigationCommandLoader({ search }) {
 303      const history = useHistory();
 304      const { isBlockBasedTheme, canCreateTemplate } = (0, import_data2.useSelect)(
 305        (select) => {
 306          return {
 307            isBlockBasedTheme: select(import_core_data2.store).getCurrentTheme()?.is_block_theme,
 308            canCreateTemplate: select(import_core_data2.store).canUser("create", {
 309              kind: "postType",
 310              name: "wp_template"
 311            })
 312          };
 313        },
 314        []
 315      );
 316      const delayedSearch = useDebouncedValue(search);
 317      const { records, isLoading } = (0, import_data2.useSelect)(
 318        (select) => {
 319          if (!delayedSearch) {
 320            return {
 321              isLoading: false
 322            };
 323          }
 324          const query = {
 325            search: delayedSearch,
 326            per_page: 10,
 327            orderby: "relevance",
 328            status: [
 329              "publish",
 330              "future",
 331              "draft",
 332              "pending",
 333              "private"
 334            ]
 335          };
 336          return {
 337            records: select(import_core_data2.store).getEntityRecords(
 338              "postType",
 339              postType,
 340              query
 341            ),
 342            isLoading: !select(import_core_data2.store).hasFinishedResolution(
 343              "getEntityRecords",
 344              ["postType", postType, query]
 345            )
 346          };
 347        },
 348        [delayedSearch]
 349      );
 350      const commands = (0, import_element2.useMemo)(() => {
 351        return (records ?? []).map((record) => {
 352          const command = {
 353            name: postType + "-" + record.id,
 354            searchLabel: record.title?.rendered + " " + record.id,
 355            label: record.title?.rendered ? (0, import_html_entities.decodeEntities)(record.title?.rendered) : (0, import_i18n2.__)("(no title)"),
 356            icon: icons[postType],
 357            category: "edit"
 358          };
 359          if (!canCreateTemplate || postType === "post" || postType === "page" && !isBlockBasedTheme) {
 360            return {
 361              ...command,
 362              callback: ({ close }) => {
 363                const args = {
 364                  post: record.id,
 365                  action: "edit"
 366                };
 367                const targetUrl = (0, import_url.addQueryArgs)("post.php", args);
 368                document.location = targetUrl;
 369                close();
 370              }
 371            };
 372          }
 373          const isSiteEditor = isInSiteEditor();
 374          return {
 375            ...command,
 376            callback: ({ close }) => {
 377              if (isSiteEditor) {
 378                history.navigate(
 379                  `/$postType}/$record.id}?canvas=edit`
 380                );
 381              } else {
 382                document.location = (0, import_url.addQueryArgs)(
 383                  getSiteEditorPage(),
 384                  {
 385                    p: `/$postType}/$record.id}`,
 386                    canvas: "edit"
 387                  }
 388                );
 389              }
 390              close();
 391            }
 392          };
 393        });
 394      }, [canCreateTemplate, records, isBlockBasedTheme, history]);
 395      return {
 396        commands,
 397        isLoading
 398      };
 399    };
 400    var getNavigationCommandLoaderPerTemplate = (templateType) => function useNavigationCommandLoader({ search }) {
 401      const history = useHistory();
 402      const { isBlockBasedTheme, canCreateTemplate } = (0, import_data2.useSelect)(
 403        (select) => {
 404          return {
 405            isBlockBasedTheme: select(import_core_data2.store).getCurrentTheme()?.is_block_theme,
 406            canCreateTemplate: select(import_core_data2.store).canUser("create", {
 407              kind: "postType",
 408              name: templateType
 409            })
 410          };
 411        },
 412        []
 413      );
 414      const { records, isLoading } = (0, import_data2.useSelect)((select) => {
 415        const { getEntityRecords } = select(import_core_data2.store);
 416        const query = { per_page: -1 };
 417        return {
 418          records: getEntityRecords("postType", templateType, query),
 419          isLoading: !select(import_core_data2.store).hasFinishedResolution(
 420            "getEntityRecords",
 421            ["postType", templateType, query]
 422          )
 423        };
 424      }, []);
 425      const orderedRecords = (0, import_element2.useMemo)(() => {
 426        return orderEntityRecordsBySearch(records, search).slice(0, 10);
 427      }, [records, search]);
 428      const commands = (0, import_element2.useMemo)(() => {
 429        if (!canCreateTemplate || !isBlockBasedTheme && !templateType === "wp_template_part") {
 430          return [];
 431        }
 432        const isSiteEditor = (0, import_url.getPath)(window.location.href)?.includes(
 433          "site-editor.php"
 434        );
 435        const result = [];
 436        result.push(
 437          ...orderedRecords.map((record) => {
 438            return {
 439              name: templateType + "-" + record.id,
 440              searchLabel: record.title?.rendered + " " + record.id,
 441              label: record.title?.rendered ? record.title?.rendered : (0, import_i18n2.__)("(no title)"),
 442              icon: icons[templateType],
 443              category: "edit",
 444              callback: ({ close }) => {
 445                if (isSiteEditor) {
 446                  history.navigate(
 447                    `/$templateType}/$record.id}?canvas=edit`
 448                  );
 449                } else {
 450                  document.location = (0, import_url.addQueryArgs)(
 451                    getSiteEditorPage(),
 452                    {
 453                      p: `/$templateType}/$record.id}`,
 454                      canvas: "edit"
 455                    }
 456                  );
 457                }
 458                close();
 459              }
 460            };
 461          })
 462        );
 463        if (orderedRecords?.length > 0 && templateType === "wp_template_part") {
 464          result.push({
 465            name: "core/edit-site/open-template-parts",
 466            label: (0, import_i18n2.__)("Go to: Template parts"),
 467            category: "view",
 468            callback: ({ close }) => {
 469              if (isSiteEditor) {
 470                history.navigate(
 471                  mapRoute(
 472                    "/pattern?postType=wp_template_part&categoryId=all-parts"
 473                  )
 474                );
 475              } else {
 476                document.location = (0, import_url.addQueryArgs)(
 477                  getSiteEditorPage(),
 478                  {
 479                    p: mapRoute("/pattern"),
 480                    postType: "wp_template_part",
 481                    categoryId: "all-parts"
 482                  }
 483                );
 484              }
 485              close();
 486            }
 487          });
 488        }
 489        return result;
 490      }, [canCreateTemplate, isBlockBasedTheme, orderedRecords, history]);
 491      return {
 492        commands,
 493        isLoading
 494      };
 495    };
 496    var getSiteEditorBasicNavigationCommands = () => function useSiteEditorBasicNavigationCommands() {
 497      const history = useHistory();
 498      const isSiteEditor = isInSiteEditor();
 499      const { isBlockBasedTheme, canCreateTemplate, canCreatePatterns } = (0, import_data2.useSelect)((select) => {
 500        return {
 501          isBlockBasedTheme: select(import_core_data2.store).getCurrentTheme()?.is_block_theme,
 502          canCreateTemplate: select(import_core_data2.store).canUser("create", {
 503            kind: "postType",
 504            name: "wp_template"
 505          }),
 506          canCreatePatterns: select(import_core_data2.store).canUser("create", {
 507            kind: "postType",
 508            name: "wp_block"
 509          })
 510        };
 511      }, []);
 512      const commands = (0, import_element2.useMemo)(() => {
 513        const result = [];
 514        if (canCreateTemplate && isBlockBasedTheme) {
 515          result.push({
 516            name: "core/edit-site/open-styles",
 517            label: (0, import_i18n2.__)("Go to: Styles"),
 518            category: "view",
 519            callback: ({ close }) => {
 520              if (isSiteEditor) {
 521                history.navigate("/styles");
 522              } else {
 523                document.location = (0, import_url.addQueryArgs)(
 524                  getSiteEditorPage(),
 525                  {
 526                    p: "/styles"
 527                  }
 528                );
 529              }
 530              close();
 531            }
 532          });
 533          result.push({
 534            name: "core/edit-site/open-navigation",
 535            label: (0, import_i18n2.__)("Go to: Navigation"),
 536            category: "view",
 537            callback: ({ close }) => {
 538              if (isSiteEditor) {
 539                history.navigate("/navigation");
 540              } else {
 541                document.location = (0, import_url.addQueryArgs)(
 542                  getSiteEditorPage(),
 543                  {
 544                    p: "/navigation"
 545                  }
 546                );
 547              }
 548              close();
 549            }
 550          });
 551          result.push({
 552            name: "core/edit-site/open-templates",
 553            label: (0, import_i18n2.__)("Go to: Templates"),
 554            category: "view",
 555            callback: ({ close }) => {
 556              if (isSiteEditor) {
 557                history.navigate(mapRoute("/template"));
 558              } else {
 559                document.location = (0, import_url.addQueryArgs)(
 560                  getSiteEditorPage(),
 561                  {
 562                    p: mapRoute("/template")
 563                  }
 564                );
 565              }
 566              close();
 567            }
 568          });
 569        }
 570        if (canCreatePatterns) {
 571          result.push({
 572            name: "core/edit-site/open-patterns",
 573            label: (0, import_i18n2.__)("Go to: Patterns"),
 574            category: "view",
 575            callback: ({ close }) => {
 576              if (canCreateTemplate) {
 577                if (isSiteEditor) {
 578                  history.navigate(mapRoute("/pattern"));
 579                } else {
 580                  document.location = (0, import_url.addQueryArgs)(
 581                    getSiteEditorPage(),
 582                    {
 583                      p: mapRoute("/pattern")
 584                    }
 585                  );
 586                }
 587                close();
 588              } else {
 589                document.location.href = "edit.php?post_type=wp_block";
 590              }
 591            }
 592          });
 593        }
 594        return result;
 595      }, [
 596        history,
 597        isSiteEditor,
 598        canCreateTemplate,
 599        canCreatePatterns,
 600        isBlockBasedTheme
 601      ]);
 602      return {
 603        commands,
 604        isLoading: false
 605      };
 606    };
 607    var getGlobalStylesOpenCssCommands = () => function useGlobalStylesOpenCssCommands() {
 608      const history = useHistory();
 609      const isSiteEditor = isInSiteEditor();
 610      const { canEditCSS, isBlockBasedTheme } = (0, import_data2.useSelect)((select) => {
 611        const {
 612          getEntityRecord,
 613          __experimentalGetCurrentGlobalStylesId,
 614          getCurrentTheme
 615        } = select(import_core_data2.store);
 616        const globalStylesId = __experimentalGetCurrentGlobalStylesId();
 617        const globalStyles = globalStylesId ? getEntityRecord("root", "globalStyles", globalStylesId) : void 0;
 618        return {
 619          canEditCSS: !!globalStyles?._links?.["wp:action-edit-css"],
 620          isBlockBasedTheme: getCurrentTheme()?.is_block_theme
 621        };
 622      }, []);
 623      const commands = (0, import_element2.useMemo)(() => {
 624        if (!canEditCSS || !isBlockBasedTheme) {
 625          return [];
 626        }
 627        return [
 628          {
 629            name: "core/open-styles-css",
 630            label: (0, import_i18n2.__)("Open custom CSS"),
 631            category: "view",
 632            callback: ({ close }) => {
 633              close();
 634              if (isSiteEditor) {
 635                history.navigate("/styles?section=/css");
 636              } else {
 637                document.location = (0, import_url.addQueryArgs)(
 638                  getSiteEditorPage(),
 639                  {
 640                    p: "/styles",
 641                    section: "/css"
 642                  }
 643                );
 644              }
 645            }
 646          }
 647        ];
 648      }, [history, canEditCSS, isSiteEditor, isBlockBasedTheme]);
 649      return {
 650        isLoading: false,
 651        commands
 652      };
 653    };
 654    function useSiteEditorNavigationCommands(isNetworkAdmin) {
 655      (0, import_commands2.useCommandLoader)({
 656        name: "core/edit-site/navigate-pages",
 657        hook: getNavigationCommandLoaderPerPostType("page"),
 658        disabled: isNetworkAdmin
 659      });
 660      (0, import_commands2.useCommandLoader)({
 661        name: "core/edit-site/navigate-posts",
 662        hook: getNavigationCommandLoaderPerPostType("post"),
 663        disabled: isNetworkAdmin
 664      });
 665      (0, import_commands2.useCommandLoader)({
 666        name: "core/edit-site/navigate-templates",
 667        hook: getNavigationCommandLoaderPerTemplate("wp_template"),
 668        disabled: isNetworkAdmin
 669      });
 670      (0, import_commands2.useCommandLoader)({
 671        name: "core/edit-site/navigate-template-parts",
 672        hook: getNavigationCommandLoaderPerTemplate("wp_template_part"),
 673        disabled: isNetworkAdmin
 674      });
 675      (0, import_commands2.useCommandLoader)({
 676        name: "core/edit-site/basic-navigation",
 677        hook: getSiteEditorBasicNavigationCommands(),
 678        context: "site-editor",
 679        disabled: isNetworkAdmin
 680      });
 681      (0, import_commands2.useCommandLoader)({
 682        name: "core/edit-site/global-styles-css",
 683        hook: getGlobalStylesOpenCssCommands(),
 684        disabled: isNetworkAdmin
 685      });
 686    }
 687  
 688    // packages/core-commands/build-module/private-apis.mjs
 689    function useCommands2() {
 690      useAdminNavigationCommands();
 691      useSiteEditorNavigationCommands();
 692    }
 693    var privateApis = {};
 694    lock(privateApis, {
 695      useCommands: useCommands2
 696    });
 697  
 698    // packages/core-commands/build-module/index.mjs
 699    var import_jsx_runtime6 = __toESM(require_jsx_runtime(), 1);
 700    var { RouterProvider } = unlock(import_router2.privateApis);
 701    function CommandPalette({ settings }) {
 702      const { menu_commands: menuCommands, is_network_admin: isNetworkAdmin } = settings;
 703      useAdminNavigationCommands(menuCommands);
 704      useSiteEditorNavigationCommands(isNetworkAdmin);
 705      return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(RouterProvider, { pathArg: "p", children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_commands3.CommandMenu, {}) });
 706    }
 707    function initializeCommandPalette(settings) {
 708      const root = document.createElement("div");
 709      document.body.appendChild(root);
 710      (0, import_element3.createRoot)(root).render(
 711        /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_element3.StrictMode, { children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(CommandPalette, { settings }) })
 712      );
 713    }
 714    return __toCommonJS(index_exports);
 715  })();
 716  (window.wp ||= {}).coreCommands = wp.coreCommands;
 717  })();


Generated : Mon Oct 12 08:20:33 2026 Cross-referenced by PHPXref