@frontify/fondue
Version:
Design system of Frontify
58 lines (57 loc) • 1.71 kB
JavaScript
var n = Object.defineProperty;
var g = (t, e, l) => e in t ? n(t, e, { enumerable: !0, configurable: !0, writable: !0, value: l }) : t[e] = l;
var a = (t, e, l) => g(t, typeof e != "symbol" ? e + "" : e, l);
import { jsx as o } from "react/jsx-runtime";
import { createPluginFactory as p } from "@udecode/plate-core";
import { defaultStyles as u } from "../../../utils/defaultStyles.es.js";
import { merge as c } from "../../../../../utilities/merge.es.js";
import { MarkupElement as T } from "../../MarkupElement.es.js";
import { Plugin as f } from "../../Plugin.es.js";
import { alignmentClassnames as y } from "../../helper.es.js";
import { TextStyles as r } from "../types.es.js";
import { getColumnBreakClasses as d } from "../../ColumnBreakPlugin/utils/getColumnBreakClasses.es.js";
const k = "textstyle-imageTitle-plugin";
class w extends f {
constructor({ styles: l = u.imageTitle, ...m } = {}) {
super(r.imageTitle, {
label: "Image Title",
markupElement: new x(),
...m
});
a(this, "styles", {});
this.styles = l;
}
plugins() {
return [I(this.styles)];
}
}
class x extends T {
constructor(e = k, l = s) {
super(e, l);
}
}
const s = ({ element: t, attributes: e, children: l, styles: m }) => {
const i = t.align;
return /* @__PURE__ */ o(
"p",
{
...e,
className: c([i && y[i], d(t)]),
style: m,
children: l
}
);
}, I = (t) => p({
key: r.imageTitle,
isElement: !0,
component: s,
deserializeHtml: {
rules: [{ validClassName: r.imageTitle }]
}
})({
component: (e) => /* @__PURE__ */ o(s, { ...e, styles: t })
});
export {
w as ImageTitlePlugin
};
//# sourceMappingURL=imageTitlePlugin.es.js.map