[ Index ]

PHP Cross Reference of WordPress Trunk (Updated Daily)

Search

title

Body

[close]

/wp-includes/js/dist/script-modules/core-actions/ -> wp_template_part.js (source)

   1  var __create = Object.create;
   2  var __defProp = Object.defineProperty;
   3  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
   4  var __getOwnPropNames = Object.getOwnPropertyNames;
   5  var __getProtoOf = Object.getPrototypeOf;
   6  var __hasOwnProp = Object.prototype.hasOwnProperty;
   7  var __commonJS = (cb, mod) => function __require() {
   8    return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
   9  };
  10  var __copyProps = (to, from, except, desc) => {
  11    if (from && typeof from === "object" || typeof from === "function") {
  12      for (let key of __getOwnPropNames(from))
  13        if (!__hasOwnProp.call(to, key) && key !== except)
  14          __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
  15    }
  16    return to;
  17  };
  18  var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
  19    // If the importer is in node compatibility mode or this is not an ESM
  20    // file that has been converted to a CommonJS file using a Babel-
  21    // compatible transform (i.e. "__esModule" has not been set), then set
  22    // "default" to the CommonJS "module.exports" for node compatibility.
  23    isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
  24    mod
  25  ));
  26  
  27  // package-external:@wordpress/data
  28  var require_data = __commonJS({
  29    "package-external:@wordpress/data"(exports, module) {
  30      module.exports = window.wp.data;
  31    }
  32  });
  33  
  34  // package-external:@wordpress/i18n
  35  var require_i18n = __commonJS({
  36    "package-external:@wordpress/i18n"(exports, module) {
  37      module.exports = window.wp.i18n;
  38    }
  39  });
  40  
  41  // package-external:@wordpress/notices
  42  var require_notices = __commonJS({
  43    "package-external:@wordpress/notices"(exports, module) {
  44      module.exports = window.wp.notices;
  45    }
  46  });
  47  
  48  // package-external:@wordpress/element
  49  var require_element = __commonJS({
  50    "package-external:@wordpress/element"(exports, module) {
  51      module.exports = window.wp.element;
  52    }
  53  });
  54  
  55  // package-external:@wordpress/blocks
  56  var require_blocks = __commonJS({
  57    "package-external:@wordpress/blocks"(exports, module) {
  58      module.exports = window.wp.blocks;
  59    }
  60  });
  61  
  62  // package-external:@wordpress/patterns
  63  var require_patterns = __commonJS({
  64    "package-external:@wordpress/patterns"(exports, module) {
  65      module.exports = window.wp.patterns;
  66    }
  67  });
  68  
  69  // package-external:@wordpress/private-apis
  70  var require_private_apis = __commonJS({
  71    "package-external:@wordpress/private-apis"(exports, module) {
  72      module.exports = window.wp.privateApis;
  73    }
  74  });
  75  
  76  // package-external:@wordpress/html-entities
  77  var require_html_entities = __commonJS({
  78    "package-external:@wordpress/html-entities"(exports, module) {
  79      module.exports = window.wp.htmlEntities;
  80    }
  81  });
  82  
  83  // vendor-external:react/jsx-runtime
  84  var require_jsx_runtime = __commonJS({
  85    "vendor-external:react/jsx-runtime"(exports, module) {
  86      module.exports = window.ReactJSXRuntime;
  87    }
  88  });
  89  
  90  // packages/core-actions/build-module/wp_template_part/duplicate-template-part/action.mjs
  91  var import_data = __toESM(require_data(), 1);
  92  var import_i18n2 = __toESM(require_i18n(), 1);
  93  var import_notices = __toESM(require_notices(), 1);
  94  var import_element = __toESM(require_element(), 1);
  95  var import_blocks = __toESM(require_blocks(), 1);
  96  var import_patterns = __toESM(require_patterns(), 1);
  97  
  98  // packages/core-actions/build-module/lock-unlock.mjs
  99  var import_private_apis = __toESM(require_private_apis(), 1);
 100  var { lock, unlock } = (0, import_private_apis.__dangerousOptInToUnstableAPIsOnlyForCoreModules)(
 101    "I acknowledge private features are not for use in themes or plugins and doing so will break in the next version of WordPress.",
 102    "@wordpress/core-actions"
 103  );
 104  
 105  // packages/core-actions/build-module/shared/utils.mjs
 106  var import_html_entities = __toESM(require_html_entities(), 1);
 107  var import_i18n = __toESM(require_i18n(), 1);
 108  function getItemTitle(item, fallback = (0, import_i18n.__)("(no title)")) {
 109    let title = "";
 110    if (typeof item.title === "string") {
 111      title = (0, import_html_entities.decodeEntities)(item.title);
 112    } else if (item.title && "rendered" in item.title) {
 113      title = (0, import_html_entities.decodeEntities)(item.title.rendered);
 114    } else if (item.title && "raw" in item.title) {
 115      title = (0, import_html_entities.decodeEntities)(item.title.raw);
 116    }
 117    return title || fallback;
 118  }
 119  
 120  // packages/core-actions/build-module/wp_template_part/duplicate-template-part/action.mjs
 121  var import_jsx_runtime = __toESM(require_jsx_runtime(), 1);
 122  var { CreateTemplatePartModalContents } = unlock(import_patterns.privateApis);
 123  var duplicateTemplatePart = {
 124    isEligible: (item) => item.type === "wp_template_part",
 125    RenderModal: ({ items, closeModal }) => {
 126      const [item] = items;
 127      const blocks = (0, import_element.useMemo)(() => {
 128        return item.blocks ?? (0, import_blocks.parse)(
 129          typeof item.content === "string" ? item.content : item.content.raw,
 130          {
 131            __unstableSkipMigrationLogs: true
 132          }
 133        );
 134      }, [item.content, item.blocks]);
 135      const { createSuccessNotice } = (0, import_data.useDispatch)(import_notices.store);
 136      function onTemplatePartSuccess(templatePart) {
 137        createSuccessNotice(
 138          (0, import_i18n2.sprintf)(
 139            // translators: %s: The new template part's title e.g. 'Call to action (copy)'.
 140            (0, import_i18n2._x)('"%s" duplicated.', "template part"),
 141            getItemTitle(templatePart)
 142          ),
 143          { type: "snackbar", id: "edit-site-patterns-success" }
 144        );
 145        closeModal?.();
 146      }
 147      return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
 148        CreateTemplatePartModalContents,
 149        {
 150          blocks,
 151          defaultArea: item.area,
 152          defaultTitle: (0, import_i18n2.sprintf)(
 153            /* translators: %s: Existing template part title */
 154            (0, import_i18n2._x)("%s (Copy)", "template part"),
 155            getItemTitle(item)
 156          ),
 157          onCreate: onTemplatePartSuccess,
 158          onError: closeModal,
 159          confirmLabel: (0, import_i18n2._x)("Duplicate", "action label"),
 160          closeModal: closeModal ?? (() => {
 161          })
 162        }
 163      );
 164    }
 165  };
 166  var action_default = duplicateTemplatePart;
 167  
 168  // packages/core-actions/build-module/wp_template_part/index.mjs
 169  var actions = {
 170    "duplicate-template-part": action_default
 171  };
 172  var wp_template_part_default = actions;
 173  export {
 174    wp_template_part_default as default
 175  };


Generated : Wed Oct 21 08:20:34 2026 Cross-referenced by PHPXref