@wordpress/block-library
Version:
Block library for the WordPress editor.
92 lines (91 loc) • 2.45 kB
JavaScript
// packages/block-library/src/social-links/deprecated.js
import clsx from "clsx";
import { InnerBlocks, useBlockProps } from "@wordpress/block-editor";
import { jsx } from "react/jsx-runtime";
var migrateWithLayout = (attributes) => {
if (!!attributes.layout) {
return attributes;
}
const { className } = attributes;
const prefix = `items-justified-`;
const justifiedItemsRegex = new RegExp(`\\b${prefix}[^ ]*[ ]?\\b`, "g");
const newAttributes = {
...attributes,
className: className?.replace(justifiedItemsRegex, "").trim()
};
const justifyContent = className?.match(justifiedItemsRegex)?.[0]?.trim();
if (justifyContent) {
Object.assign(newAttributes, {
layout: {
type: "flex",
justifyContent: justifyContent.slice(prefix.length)
}
});
}
return newAttributes;
};
var deprecated = [
// V1. Remove CSS variable use for colors.
{
attributes: {
iconColor: {
type: "string"
},
customIconColor: {
type: "string"
},
iconColorValue: {
type: "string"
},
iconBackgroundColor: {
type: "string"
},
customIconBackgroundColor: {
type: "string"
},
iconBackgroundColorValue: {
type: "string"
},
openInNewTab: {
type: "boolean",
default: false
},
size: {
type: "string"
}
},
providesContext: {
openInNewTab: "openInNewTab"
},
supports: {
align: ["left", "center", "right"],
anchor: true
},
migrate: migrateWithLayout,
save: (props) => {
const {
attributes: {
iconBackgroundColorValue,
iconColorValue,
itemsJustification,
size
}
} = props;
const className = clsx(size, {
"has-icon-color": iconColorValue,
"has-icon-background-color": iconBackgroundColorValue,
[`items-justified-${itemsJustification}`]: itemsJustification
});
const style = {
"--wp--social-links--icon-color": iconColorValue,
"--wp--social-links--icon-background-color": iconBackgroundColorValue
};
return /* @__PURE__ */ jsx("ul", { ...useBlockProps.save({ className, style }), children: /* @__PURE__ */ jsx(InnerBlocks.Content, {}) });
}
}
];
var deprecated_default = deprecated;
export {
deprecated_default as default
};
//# sourceMappingURL=deprecated.js.map