UNPKG

@wordpress/block-library

Version:
93 lines (92 loc) 2.72 kB
import { jsx } from "react/jsx-runtime"; import clsx from "clsx"; import { InnerBlocks, useBlockProps } from "@wordpress/block-editor"; const migrateWithLayout = (attributes) => { if (!!attributes.layout) { return attributes; } const { contentJustification, orientation, ...updatedAttributes } = attributes; if (contentJustification || orientation) { Object.assign(updatedAttributes, { layout: { type: "flex", ...contentJustification && { justifyContent: contentJustification }, ...orientation && { orientation } } }); } return updatedAttributes; }; const deprecated = [ { 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__ */ jsx( "div", { ...useBlockProps.save({ className: clsx({ [`is-content-justification-${contentJustification}`]: contentJustification, "is-vertical": orientation === "vertical" }) }), children: /* @__PURE__ */ jsx(InnerBlocks.Content, {}) } ); } }, { supports: { align: ["center", "left", "right"], anchor: true }, save() { return /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(InnerBlocks.Content, {}) }); }, isEligible({ align }) { return align && ["center", "left", "right"].includes(align); }, migrate(attributes) { return migrateWithLayout({ ...attributes, 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: attributes.align }); } } ]; var deprecated_default = deprecated; export { deprecated_default as default }; //# sourceMappingURL=deprecated.js.map