UNPKG

@wordpress/blocks

Version:
84 lines (83 loc) 2.64 kB
// packages/blocks/src/api/parser/convert-legacy-block.ts function convertLegacyBlockNameAndAttributes(name, attributes) { const newAttributes = { ...attributes }; if ("core/cover-image" === name) { name = "core/cover"; } if ("core/text" === name || "core/cover-text" === name) { name = "core/paragraph"; } if (name && name.indexOf("core/social-link-") === 0) { newAttributes.service = name.substring(17); name = "core/social-link"; } if (name && name.indexOf("core-embed/") === 0) { const providerSlug = name.substring(11); const deprecated = { speaker: "speaker-deck", polldaddy: "crowdsignal" }; newAttributes.providerNameSlug = providerSlug in deprecated ? deprecated[providerSlug] : providerSlug; if (!["amazon-kindle", "wordpress"].includes(providerSlug)) { newAttributes.responsive = true; } name = "core/embed"; } if (name === "core/post-comment-author") { name = "core/comment-author-name"; } if (name === "core/post-comment-content") { name = "core/comment-content"; } if (name === "core/post-comment-date") { name = "core/comment-date"; } if (name === "core/comments-query-loop") { name = "core/comments"; const className = newAttributes.className ?? ""; if (!className.includes("wp-block-comments-query-loop")) { newAttributes.className = [ "wp-block-comments-query-loop", className ].join(" "); } } if (name === "core/post-comments") { name = "core/comments"; newAttributes.legacy = true; } const layout = attributes.layout; if (layout?.type === "grid" && typeof layout?.columnCount === "string") { newAttributes.layout = { ...newAttributes.layout, columnCount: parseInt(layout.columnCount, 10) }; } const style = attributes.style; const styleLayout = style?.layout; if (typeof styleLayout?.columnSpan === "string") { const columnSpanNumber = parseInt(styleLayout.columnSpan, 10); newAttributes.style = { ...newAttributes.style, layout: { ...newAttributes.style?.layout, columnSpan: isNaN(columnSpanNumber) ? void 0 : columnSpanNumber } }; } if (typeof styleLayout?.rowSpan === "string") { const rowSpanNumber = parseInt(styleLayout.rowSpan, 10); newAttributes.style = { ...newAttributes.style, layout: { ...newAttributes.style?.layout, rowSpan: isNaN(rowSpanNumber) ? void 0 : rowSpanNumber } }; } return [name, newAttributes]; } export { convertLegacyBlockNameAndAttributes }; //# sourceMappingURL=convert-legacy-block.mjs.map