PluginProbe
Gutenberg / 24.1.0
Gutenberg v24.1.0
24.1.0 24.0.0 23.9.1 23.9.0 23.8.0 23.7.2 23.7.1 23.7.0 23.6.1 23.6.2 23.6.0 23.5.3 23.5.2 23.5.1 23.5.0 23.4.0 23.3.2 23.3.1 23.3.0 23.2.0 23.2.1 23.2.2 23.1.1 23.1.0 23.0.1 All 404 releases
← All changes | build/modules/lazy-editor/index.js +272 -180 23.6.2 → 24.1.0 View file →
@@ -121,8 +121,14 @@
121 121 templateId
122 122 ) : null;
123 123 return {
124 124 globalStylesId: coreDataSelect.__experimentalGetCurrentGlobalStylesId(),
125 + /*
126 + * `styles_id` is not part of the template REST schema, so it
127 + * cannot come from the record type. It is read defensively in
128 + * case a filtered response carries one; without it the hook
129 + * falls back to the global styles ID below.
130 + */
125 131 stylesId: template?.styles_id
126 132 };
127 133 },
128 134 [templateId]
@@ -218,8 +224,11 @@
218 224 "typography.textAlign",
219 225 "typography.textColumns",
220 226 "typography.textDecoration",
221 227 "typography.textIndent",
228 + "typography.textShadow",
229 + "typography.defaultTextShadowPresets",
230 + "typography.textShadowPresets",
222 231 "typography.textTransform",
223 232 "typography.writingMode",
224 233 "viewport.mobile",
225 234 "viewport.tablet"
@@ -515,8 +524,16 @@
515 524 { classSuffix: "font-family", propertyName: "font-family" }
516 525 ]
517 526 },
518 527 {
528 + path: ["typography", "textShadowPresets"],
529 + valueKey: "textShadow",
530 + cssVarInfix: "text-shadow",
531 + classes: [
532 + { classSuffix: "text-shadow", propertyName: "text-shadow" }
533 + ]
534 + },
535 + {
519 536 path: ["spacing", "spacingSizes"],
520 537 valueKey: "size",
521 538 cssVarInfix: "spacing",
522 539 valueFunc: ({ size }) => size,
@@ -644,12 +661,15 @@
644 661 return ruleValue;
645 662 }
646 663 const resolvedValue = getResolvedRefValue(ruleValue, tree);
647 664 if (typeof resolvedValue === "object" && resolvedValue !== null && "url" in resolvedValue && resolvedValue?.url) {
648 - resolvedValue.url = getResolvedThemeFilePath(
649 - resolvedValue.url,
650 - tree?._links?.["wp:theme-file"]
651 - );
665 + return {
666 + ...resolvedValue,
667 + url: getResolvedThemeFilePath(
668 + resolvedValue.url,
669 + tree?._links?.["wp:theme-file"]
670 + )
671 + };
652 672 }
653 673 return resolvedValue;
654 674 }
655 675
@@ -764,163 +784,176 @@
764 784 return null;
765 785 }
766 786
767 787 // node_modules/colord/index.mjs
768 -var r = { grad: 0.9, turn: 360, rad: 360 / (2 * Math.PI) };
769 -var t = function(r2) {
788 +for (r = { grad: 0.9, turn: 360, rad: 360 / (2 * Math.PI) }, t = function(r2) {
770 789 return "string" == typeof r2 ? r2.length > 0 : "number" == typeof r2;
771 -};
772 -var n = function(r2, t2, n2) {
790 +}, n = function(r2, t2, n2) {
773 791 return void 0 === t2 && (t2 = 0), void 0 === n2 && (n2 = Math.pow(10, t2)), Math.round(n2 * r2) / n2 + 0;
774 -};
775 -var e = function(r2, t2, n2) {
792 +}, u = function(r2, t2, n2) {
776 793 return void 0 === t2 && (t2 = 0), void 0 === n2 && (n2 = 1), r2 > n2 ? n2 : r2 > t2 ? r2 : t2;
777 -};
778 -var u = function(r2) {
779 - return (r2 = isFinite(r2) ? r2 % 360 : 0) > 0 ? r2 : r2 + 360;
780 -};
781 -var a = function(r2) {
782 - return { r: e(r2.r, 0, 255), g: e(r2.g, 0, 255), b: e(r2.b, 0, 255), a: e(r2.a) };
783 -};
784 -var o = function(r2) {
794 +}, e = function(r2) {
795 + return (r2 = isFinite(r2) ? r2 % 360 : 0) < 0 ? r2 + 360 : r2;
796 +}, o = function(r2, t2) {
797 + return void 0 === t2 && (t2 = 0), n(r2, t2) % 360;
798 +}, a = function(r2) {
799 + return { r: u(r2.r, 0, 255), g: u(r2.g, 0, 255), b: u(r2.b, 0, 255), a: u(r2.a) };
800 +}, i = function(r2) {
785 801 return { r: n(r2.r), g: n(r2.g), b: n(r2.b), a: n(r2.a, 3) };
802 +}, s = /^#([0-9a-f]{3,8})$/i, d = function(r2, t2) {
803 + var n2 = r2.charCodeAt(t2);
804 + return (15 & n2) + 9 * (n2 >> 6);
805 +}, h = function(r2, t2) {
806 + return d(r2, t2) << 4 | d(r2, t2 + 1);
807 +}, b = [], f = 0; f < 256; f++) b.push((f < 16 ? "0" : "") + f.toString(16));
808 +var r;
809 +var t;
810 +var n;
811 +var u;
812 +var e;
813 +var o;
814 +var a;
815 +var i;
816 +var s;
817 +var d;
818 +var h;
819 +var b;
820 +var f;
821 +var g = function(r) {
822 + return b[u(r, 0, 255)];
786 823 };
787 -var i = /^#([0-9a-f]{3,8})$/i;
788 -var s = function(r2) {
789 - var t2 = r2.toString(16);
790 - return t2.length < 2 ? "0" + t2 : t2;
824 +var c = function(r) {
825 + var t = r.r, n = r.g, u = r.b, e = r.a, o = Math.max(t, n, u), a = o - Math.min(t, n, u), i = a ? o === t ? (n - u) / a : o === n ? 2 + (u - t) / a : 4 + (t - n) / a : 0;
826 + return { h: 60 * (i < 0 ? i + 6 : i), s: o ? a / o * 100 : 0, v: o / 255 * 100, a: e };
791 827 };
792 -var h = function(r2) {
793 - var t2 = r2.r, n2 = r2.g, e2 = r2.b, u2 = r2.a, a2 = Math.max(t2, n2, e2), o2 = a2 - Math.min(t2, n2, e2), i2 = o2 ? a2 === t2 ? (n2 - e2) / o2 : a2 === n2 ? 2 + (e2 - t2) / o2 : 4 + (t2 - n2) / o2 : 0;
794 - return { h: 60 * (i2 < 0 ? i2 + 6 : i2), s: a2 ? o2 / a2 * 100 : 0, v: a2 / 255 * 100, a: u2 };
828 +var v = function(r) {
829 + var t = r.h, n = r.s, u = r.v, e = r.a;
830 + t = t / 360 * 6, n /= 100, u /= 100;
831 + var o = Math.floor(t), a = u * (1 - n), i = u * (1 - (t - o) * n), s = u * (1 - (1 - t + o) * n), d = o % 6;
832 + return { r: 255 * [u, i, a, a, s, u][d], g: 255 * [s, u, u, i, a, a][d], b: 255 * [a, a, s, u, u, i][d], a: e };
795 833 };
796 -var b = function(r2) {
797 - var t2 = r2.h, n2 = r2.s, e2 = r2.v, u2 = r2.a;
798 - t2 = t2 / 360 * 6, n2 /= 100, e2 /= 100;
799 - var a2 = Math.floor(t2), o2 = e2 * (1 - n2), i2 = e2 * (1 - (t2 - a2) * n2), s2 = e2 * (1 - (1 - t2 + a2) * n2), h2 = a2 % 6;
800 - return { r: 255 * [e2, i2, o2, o2, s2, e2][h2], g: 255 * [s2, e2, e2, i2, o2, o2][h2], b: 255 * [o2, o2, s2, e2, e2, i2][h2], a: u2 };
834 +var l = function(r) {
835 + return { h: e(r.h), s: u(r.s, 0, 100), l: u(r.l, 0, 100), a: u(r.a) };
801 836 };
802 -var g = function(r2) {
803 - return { h: u(r2.h), s: e(r2.s, 0, 100), l: e(r2.l, 0, 100), a: e(r2.a) };
837 +var p = function(r) {
838 + return { h: o(r.h), s: n(r.s), l: n(r.l), a: n(r.a, 3) };
804 839 };
805 -var d = function(r2) {
806 - return { h: n(r2.h), s: n(r2.s), l: n(r2.l), a: n(r2.a, 3) };
840 +var m = function(r) {
841 + return v((n = (t = r).s, { h: t.h, s: (n *= ((u = t.l) < 50 ? u : 100 - u) / 100) > 0 ? 2 * n / (u + n) * 100 : 0, v: u + n, a: t.a }));
842 + var t, n, u;
807 843 };
808 -var f = function(r2) {
809 - return b((n2 = (t2 = r2).s, { h: t2.h, s: (n2 *= ((e2 = t2.l) < 50 ? e2 : 100 - e2) / 100) > 0 ? 2 * n2 / (e2 + n2) * 100 : 0, v: e2 + n2, a: t2.a }));
810 - var t2, n2, e2;
844 +var y = function(r) {
845 + return { h: (t = c(r)).h, s: (e = (200 - (n = t.s)) * (u = t.v) / 100) > 0 && e < 200 ? n * u / 100 / (e <= 100 ? e : 200 - e) * 100 : 0, l: e / 2, a: t.a };
846 + var t, n, u, e;
811 847 };
812 -var c = function(r2) {
813 - return { h: (t2 = h(r2)).h, s: (u2 = (200 - (n2 = t2.s)) * (e2 = t2.v) / 100) > 0 && u2 < 200 ? n2 * e2 / 100 / (u2 <= 100 ? u2 : 200 - u2) * 100 : 0, l: u2 / 2, a: t2.a };
814 - var t2, n2, e2, u2;
815 -};
816 -var l = /^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s*,\s*([+-]?\d*\.?\d+)%\s*,\s*([+-]?\d*\.?\d+)%\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i;
817 -var p = /^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s+([+-]?\d*\.?\d+)%\s+([+-]?\d*\.?\d+)%\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i;
818 -var v = /^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i;
819 -var m = /^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i;
820 -var y = { string: [[function(r2) {
821 - var t2 = i.exec(r2);
822 - return t2 ? (r2 = t2[1]).length <= 4 ? { r: parseInt(r2[0] + r2[0], 16), g: parseInt(r2[1] + r2[1], 16), b: parseInt(r2[2] + r2[2], 16), a: 4 === r2.length ? n(parseInt(r2[3] + r2[3], 16) / 255, 2) : 1 } : 6 === r2.length || 8 === r2.length ? { r: parseInt(r2.substr(0, 2), 16), g: parseInt(r2.substr(2, 2), 16), b: parseInt(r2.substr(4, 2), 16), a: 8 === r2.length ? n(parseInt(r2.substr(6, 2), 16) / 255, 2) : 1 } : null : null;
823 -}, "hex"], [function(r2) {
824 - var t2 = v.exec(r2) || m.exec(r2);
825 - return t2 ? t2[2] !== t2[4] || t2[4] !== t2[6] ? null : a({ r: Number(t2[1]) / (t2[2] ? 100 / 255 : 1), g: Number(t2[3]) / (t2[4] ? 100 / 255 : 1), b: Number(t2[5]) / (t2[6] ? 100 / 255 : 1), a: void 0 === t2[7] ? 1 : Number(t2[7]) / (t2[8] ? 100 : 1) }) : null;
826 -}, "rgb"], [function(t2) {
827 - var n2 = l.exec(t2) || p.exec(t2);
828 - if (!n2) return null;
829 - var e2, u2, a2 = g({ h: (e2 = n2[1], u2 = n2[2], void 0 === u2 && (u2 = "deg"), Number(e2) * (r[u2] || 1)), s: Number(n2[3]), l: Number(n2[4]), a: void 0 === n2[5] ? 1 : Number(n2[5]) / (n2[6] ? 100 : 1) });
830 - return f(a2);
831 -}, "hsl"]], object: [[function(r2) {
832 - var n2 = r2.r, e2 = r2.g, u2 = r2.b, o2 = r2.a, i2 = void 0 === o2 ? 1 : o2;
833 - return t(n2) && t(e2) && t(u2) ? a({ r: Number(n2), g: Number(e2), b: Number(u2), a: Number(i2) }) : null;
834 -}, "rgb"], [function(r2) {
835 - var n2 = r2.h, e2 = r2.s, u2 = r2.l, a2 = r2.a, o2 = void 0 === a2 ? 1 : a2;
836 - if (!t(n2) || !t(e2) || !t(u2)) return null;
837 - var i2 = g({ h: Number(n2), s: Number(e2), l: Number(u2), a: Number(o2) });
838 - return f(i2);
839 -}, "hsl"], [function(r2) {
840 - var n2 = r2.h, a2 = r2.s, o2 = r2.v, i2 = r2.a, s2 = void 0 === i2 ? 1 : i2;
841 - if (!t(n2) || !t(a2) || !t(o2)) return null;
842 - var h2 = (function(r3) {
843 - return { h: u(r3.h), s: e(r3.s, 0, 100), v: e(r3.v, 0, 100), a: e(r3.a) };
844 - })({ h: Number(n2), s: Number(a2), v: Number(o2), a: Number(s2) });
845 - return b(h2);
848 +var N = /^hsla?\(\s*([+-]?(?:\d*\.\d+|\d+))(deg|rad|grad|turn)?\s*,\s*([+-]?(?:\d*\.\d+|\d+))%\s*,\s*([+-]?(?:\d*\.\d+|\d+))%\s*(?:,\s*([+-]?(?:\d*\.\d+|\d+))(%)?\s*)?\)$/i;
849 +var x = /^hsla?\(\s*([+-]?(?:\d*\.\d+|\d+))(deg|rad|grad|turn)?\s+([+-]?(?:\d*\.\d+|\d+))%\s+([+-]?(?:\d*\.\d+|\d+))%\s*(?:\/\s*([+-]?(?:\d*\.\d+|\d+))(%)?\s*)?\)$/i;
850 +var M = /^rgba?\(\s*([+-]?(?:\d*\.\d+|\d+))(%)?\s*,\s*([+-]?(?:\d*\.\d+|\d+))(%)?\s*,\s*([+-]?(?:\d*\.\d+|\d+))(%)?\s*(?:,\s*([+-]?(?:\d*\.\d+|\d+))(%)?\s*)?\)$/i;
851 +var H = /^rgba?\(\s*([+-]?(?:\d*\.\d+|\d+))(%)?\s+([+-]?(?:\d*\.\d+|\d+))(%)?\s+([+-]?(?:\d*\.\d+|\d+))(%)?\s*(?:\/\s*([+-]?(?:\d*\.\d+|\d+))(%)?\s*)?\)$/i;
852 +var $ = { string: [[function(r) {
853 + if (!s.test(r)) return null;
854 + var t = r.length;
855 + return t <= 5 ? { r: 17 * d(r, 1), g: 17 * d(r, 2), b: 17 * d(r, 3), a: 5 === t ? n(17 * d(r, 4) / 255, 2) : 1 } : 7 === t || 9 === t ? { r: h(r, 1), g: h(r, 3), b: h(r, 5), a: 9 === t ? n(h(r, 7) / 255, 2) : 1 } : null;
856 +}, "hex"], [function(r) {
857 + var t = M.exec(r) || H.exec(r);
858 + return t ? t[2] !== t[4] || t[4] !== t[6] ? null : a({ r: Number(t[1]) / (t[2] ? 100 / 255 : 1), g: Number(t[3]) / (t[4] ? 100 / 255 : 1), b: Number(t[5]) / (t[6] ? 100 / 255 : 1), a: void 0 === t[7] ? 1 : Number(t[7]) / (t[8] ? 100 : 1) }) : null;
859 +}, "rgb"], [function(t) {
860 + var n = N.exec(t) || x.exec(t);
861 + if (!n) return null;
862 + var u, e, o = l({ h: (u = n[1], e = n[2], void 0 === e && (e = "deg"), Number(u) * (r[e] || 1)), s: Number(n[3]), l: Number(n[4]), a: void 0 === n[5] ? 1 : Number(n[5]) / (n[6] ? 100 : 1) });
863 + return m(o);
864 +}, "hsl"]], object: [[function(r) {
865 + var n = r.r, u = r.g, e = r.b, o = r.a, i = void 0 === o ? 1 : o;
866 + return t(n) && t(u) && t(e) ? a({ r: Number(n), g: Number(u), b: Number(e), a: Number(i) }) : null;
867 +}, "rgb"], [function(r) {
868 + var n = r.h, u = r.s, e = r.l, o = r.a, a = void 0 === o ? 1 : o;
869 + if (!t(n) || !t(u) || !t(e)) return null;
870 + var i = l({ h: Number(n), s: Number(u), l: Number(e), a: Number(a) });
871 + return m(i);
872 +}, "hsl"], [function(r) {
873 + var n = r.h, o = r.s, a = r.v, i = r.a, s = void 0 === i ? 1 : i;
874 + if (!t(n) || !t(o) || !t(a)) return null;
875 + var d = (function(r2) {
876 + return { h: e(r2.h), s: u(r2.s, 0, 100), v: u(r2.v, 0, 100), a: u(r2.a) };
877 + })({ h: Number(n), s: Number(o), v: Number(a), a: Number(s) });
878 + return v(d);
846 879 }, "hsv"]] };
847 -var N = function(r2, t2) {
848 - for (var n2 = 0; n2 < t2.length; n2++) {
849 - var e2 = t2[n2][0](r2);
850 - if (e2) return [e2, t2[n2][1]];
880 +var j = function(r, t) {
881 + for (var n = 0; n < t.length; n++) {
882 + var u = t[n][0](r);
883 + if (u) return [u, t[n][1]];
851 884 }
852 885 return [null, void 0];
853 886 };
854 -var x = function(r2) {
855 - return "string" == typeof r2 ? N(r2.trim(), y.string) : "object" == typeof r2 && null !== r2 ? N(r2, y.object) : [null, void 0];
887 +var w = function(r) {
888 + return "string" == typeof r ? j(r.trim(), $.string) : "object" == typeof r && null !== r ? j(r, $.object) : [null, void 0];
856 889 };
857 -var M = function(r2, t2) {
858 - var n2 = c(r2);
859 - return { h: n2.h, s: e(n2.s + 100 * t2, 0, 100), l: n2.l, a: n2.a };
890 +var k = function(r, t) {
891 + var n = y(r);
892 + return { h: n.h, s: u(n.s + 100 * t, 0, 100), l: n.l, a: n.a };
860 893 };
861 -var H = function(r2) {
862 - return (299 * r2.r + 587 * r2.g + 114 * r2.b) / 1e3 / 255;
894 +var E = function(r) {
895 + return (299 * r.r + 587 * r.g + 114 * r.b) / 1e3 / 255;
863 896 };
864 -var $ = function(r2, t2) {
865 - var n2 = c(r2);
866 - return { h: n2.h, s: n2.s, l: e(n2.l + 100 * t2, 0, 100), a: n2.a };
897 +var R = function(r, t) {
898 + var n = y(r);
899 + return { h: n.h, s: n.s, l: u(n.l + 100 * t, 0, 100), a: n.a };
867 900 };
868 -var j = (function() {
869 - function r2(r3) {
870 - this.parsed = x(r3)[0], this.rgba = this.parsed || { r: 0, g: 0, b: 0, a: 1 };
901 +var q = (function() {
902 + function r(r2) {
903 + this.parsed = w(r2)[0], this.rgba = this.parsed || { r: 0, g: 0, b: 0, a: 1 };
871 904 }
872 - return r2.prototype.isValid = function() {
905 + return r.prototype.isValid = function() {
873 906 return null !== this.parsed;
874 - }, r2.prototype.brightness = function() {
875 - return n(H(this.rgba), 2);
876 - }, r2.prototype.isDark = function() {
877 - return H(this.rgba) < 0.5;
878 - }, r2.prototype.isLight = function() {
879 - return H(this.rgba) >= 0.5;
880 - }, r2.prototype.toHex = function() {
881 - return r3 = o(this.rgba), t2 = r3.r, e2 = r3.g, u2 = r3.b, i2 = (a2 = r3.a) < 1 ? s(n(255 * a2)) : "", "#" + s(t2) + s(e2) + s(u2) + i2;
882 - var r3, t2, e2, u2, a2, i2;
883 - }, r2.prototype.toRgb = function() {
884 - return o(this.rgba);
885 - }, r2.prototype.toRgbString = function() {
886 - return r3 = o(this.rgba), t2 = r3.r, n2 = r3.g, e2 = r3.b, (u2 = r3.a) < 1 ? "rgba(" + t2 + ", " + n2 + ", " + e2 + ", " + u2 + ")" : "rgb(" + t2 + ", " + n2 + ", " + e2 + ")";
887 - var r3, t2, n2, e2, u2;
888 - }, r2.prototype.toHsl = function() {
889 - return d(c(this.rgba));
890 - }, r2.prototype.toHslString = function() {
891 - return r3 = d(c(this.rgba)), t2 = r3.h, n2 = r3.s, e2 = r3.l, (u2 = r3.a) < 1 ? "hsla(" + t2 + ", " + n2 + "%, " + e2 + "%, " + u2 + ")" : "hsl(" + t2 + ", " + n2 + "%, " + e2 + "%)";
892 - var r3, t2, n2, e2, u2;
893 - }, r2.prototype.toHsv = function() {
894 - return r3 = h(this.rgba), { h: n(r3.h), s: n(r3.s), v: n(r3.v), a: n(r3.a, 3) };
895 - var r3;
896 - }, r2.prototype.invert = function() {
897 - return w({ r: 255 - (r3 = this.rgba).r, g: 255 - r3.g, b: 255 - r3.b, a: r3.a });
898 - var r3;
899 - }, r2.prototype.saturate = function(r3) {
900 - return void 0 === r3 && (r3 = 0.1), w(M(this.rgba, r3));
901 - }, r2.prototype.desaturate = function(r3) {
902 - return void 0 === r3 && (r3 = 0.1), w(M(this.rgba, -r3));
903 - }, r2.prototype.grayscale = function() {
904 - return w(M(this.rgba, -1));
905 - }, r2.prototype.lighten = function(r3) {
906 - return void 0 === r3 && (r3 = 0.1), w($(this.rgba, r3));
907 - }, r2.prototype.darken = function(r3) {
908 - return void 0 === r3 && (r3 = 0.1), w($(this.rgba, -r3));
909 - }, r2.prototype.rotate = function(r3) {
910 - return void 0 === r3 && (r3 = 15), this.hue(this.hue() + r3);
911 - }, r2.prototype.alpha = function(r3) {
912 - return "number" == typeof r3 ? w({ r: (t2 = this.rgba).r, g: t2.g, b: t2.b, a: r3 }) : n(this.rgba.a, 3);
913 - var t2;
914 - }, r2.prototype.hue = function(r3) {
915 - var t2 = c(this.rgba);
916 - return "number" == typeof r3 ? w({ h: r3, s: t2.s, l: t2.l, a: t2.a }) : n(t2.h);
917 - }, r2.prototype.isEqual = function(r3) {
918 - return this.toHex() === w(r3).toHex();
919 - }, r2;
907 + }, r.prototype.brightness = function() {
908 + return n(E(this.rgba), 2);
909 + }, r.prototype.isDark = function() {
910 + return E(this.rgba) < 0.5;
911 + }, r.prototype.isLight = function() {
912 + return E(this.rgba) >= 0.5;
913 + }, r.prototype.toHex = function() {
914 + return r2 = i(this.rgba), t = r2.r, u = r2.g, e = r2.b, a = (o = r2.a) < 1 ? g(n(255 * o)) : "", "#" + g(t) + g(u) + g(e) + a;
915 + var r2, t, u, e, o, a;
916 + }, r.prototype.toRgb = function() {
917 + return i(this.rgba);
918 + }, r.prototype.toRgbString = function() {
919 + return r2 = i(this.rgba), t = r2.r, n = r2.g, u = r2.b, (e = r2.a) < 1 ? "rgba(" + t + ", " + n + ", " + u + ", " + e + ")" : "rgb(" + t + ", " + n + ", " + u + ")";
920 + var r2, t, n, u, e;
921 + }, r.prototype.toHsl = function() {
922 + return p(y(this.rgba));
923 + }, r.prototype.toHslString = function() {
924 + return r2 = p(y(this.rgba)), t = r2.h, n = r2.s, u = r2.l, (e = r2.a) < 1 ? "hsla(" + t + ", " + n + "%, " + u + "%, " + e + ")" : "hsl(" + t + ", " + n + "%, " + u + "%)";
925 + var r2, t, n, u, e;
926 + }, r.prototype.toHsv = function() {
927 + return r2 = c(this.rgba), { h: o(r2.h), s: n(r2.s), v: n(r2.v), a: n(r2.a, 3) };
928 + var r2;
929 + }, r.prototype.invert = function() {
930 + return A({ r: 255 - (r2 = this.rgba).r, g: 255 - r2.g, b: 255 - r2.b, a: r2.a });
931 + var r2;
932 + }, r.prototype.saturate = function(r2) {
933 + return void 0 === r2 && (r2 = 0.1), A(k(this.rgba, r2));
934 + }, r.prototype.desaturate = function(r2) {
935 + return void 0 === r2 && (r2 = 0.1), A(k(this.rgba, -r2));
936 + }, r.prototype.grayscale = function() {
937 + return A(k(this.rgba, -1));
938 + }, r.prototype.lighten = function(r2) {
939 + return void 0 === r2 && (r2 = 0.1), A(R(this.rgba, r2));
940 + }, r.prototype.darken = function(r2) {
941 + return void 0 === r2 && (r2 = 0.1), A(R(this.rgba, -r2));
942 + }, r.prototype.rotate = function(r2) {
943 + return void 0 === r2 && (r2 = 15), this.hue(y(this.rgba).h + r2);
944 + }, r.prototype.alpha = function(r2) {
945 + return "number" == typeof r2 ? A({ r: (t = this.rgba).r, g: t.g, b: t.b, a: r2 }) : n(this.rgba.a, 3);
946 + var t;
947 + }, r.prototype.hue = function(r2) {
948 + var t = y(this.rgba);
949 + return "number" == typeof r2 ? A({ h: r2, s: t.s, l: t.l, a: t.a }) : o(t.h);
950 + }, r.prototype.isEqual = function(r2) {
951 + return this.toHex() === A(r2).toHex();
952 + }, r;
920 953 })();
921 -var w = function(r2) {
922 - return r2 instanceof j ? r2 : new j(r2);
954 +var A = function(r) {
955 + return r instanceof q ? r : new q(r);
923 956 };
924 957
925 958 // packages/global-styles-engine/build-module/utils/duotone.mjs
926 959 function getValuesFromColors(colors = []) {
@@ -930,9 +963,9 @@
930 963 b: [],
931 964 a: []
932 965 };
933 966 colors.forEach((color) => {
934 - const rgbColor = w(color).toRgb();
967 + const rgbColor = A(color).toRgb();
935 968 values.r.push(rgbColor.r / 255);
936 969 values.g.push(rgbColor.g / 255);
937 970 values.b.push(rgbColor.b / 255);
938 971 values.a.push(rgbColor.a);
@@ -1016,11 +1049,13 @@
1016 1049 backgroundSize: "cover",
1017 1050 backgroundPosition: "50% 50%"
1018 1051 // used only when backgroundSize is 'contain'.
1019 1052 };
1053 +function hasImageUrl(backgroundImage) {
1054 + return typeof backgroundImage === "object" && backgroundImage !== null && "url" in backgroundImage && !!backgroundImage.url;
1055 +}
1020 1056 function setBackgroundStyleDefaults(backgroundStyle) {
1021 - if (!backgroundStyle || // @ts-expect-error
1022 - !backgroundStyle?.backgroundImage?.url) {
1057 + if (!backgroundStyle || !hasImageUrl(backgroundStyle.backgroundImage)) {
1023 1058 return;
1024 1059 }
1025 1060 let backgroundStylesWithDefaults;
1026 1061 if (!backgroundStyle?.backgroundSize) {
@@ -1343,11 +1378,9 @@
1343 1378 }) => {
1344 1379 const classSelectorToUse = `.has-${kebabCase(
1345 1380 slug
1346 1381 )}-${classSuffix}`;
1347 - const selectorToUse = blockSelector.split(",").map(
1348 - (selector) => `${selector}${classSelectorToUse}`
1349 - ).join(",");
1382 + const selectorToUse = blockSelector ? `:where(${blockSelector})${classSelectorToUse}` : classSelectorToUse;
1350 1383 const value = `var(--wp--preset--${cssVarInfix}--${kebabCase(
1351 1384 slug
1352 1385 )})`;
1353 1386 declarations += `${selectorToUse}{${propertyName}: ${value} !important;}`;
@@ -1371,9 +1404,9 @@
1371 1404 blockPresets,
1372 1405 metadata.path,
1373 1406 {}
1374 1407 );
1375 - return ["default", "theme"].filter((origin) => presetByOrigin[origin]).flatMap(
1408 + return ["default", "theme", "custom"].filter((origin) => presetByOrigin[origin]).flatMap(
1376 1409 (origin) => presetByOrigin[origin].map(
1377 1410 (preset) => getDuotoneFilter(
1378 1411 `wp-duotone-${preset.slug}`,
1379 1412 preset.colors
@@ -1593,9 +1626,10 @@
1593 1626 hasFallbackGapSupport,
1594 1627 fallbackGapValue
1595 1628 }) {
1596 1629 let ruleset = "";
1597 - let gapValue = hasBlockGapSupport ? getGapCSSValue(style?.spacing?.blockGap) : "";
1630 + const blockGapValue = style?.spacing?.blockGap;
1631 + let gapValue = hasBlockGapSupport ? getGapCSSValue(blockGapValue) : "";
1598 1632 if (hasFallbackGapSupport) {
1599 1633 if (selector === ROOT_BLOCK_SELECTOR) {
1600 1634 gapValue = !gapValue ? "0.5em" : gapValue;
1601 1635 } else if (!hasBlockGapSupport && fallbackGapValue) {
@@ -1601,8 +1635,9 @@
1601 1635 } else if (!hasBlockGapSupport && fallbackGapValue) {
1602 1636 gapValue = fallbackGapValue;
1603 1637 }
1604 1638 }
1639 + const rowGapValue = hasBlockGapSupport && blockGapValue && typeof blockGapValue !== "string" ? getGapCSSValue(blockGapValue.top) : gapValue;
1605 1640 if (gapValue && layoutDefinitions) {
1606 1641 Object.values(layoutDefinitions).forEach(
1607 1642 ({ className, name, spacingStyles }) => {
1608 1643 if (!hasBlockGapSupport && "flex" !== name && "grid" !== name) {
@@ -1607,8 +1642,11 @@
1607 1642 ({ className, name, spacingStyles }) => {
1608 1643 if (!hasBlockGapSupport && "flex" !== name && "grid" !== name) {
1609 1644 return;
1610 1645 }
1646 + const layoutGapValue = ["default", "constrained"].includes(
1647 + name
1648 + ) ? rowGapValue : gapValue;
1611 1649 if (spacingStyles?.length) {
1612 1650 spacingStyles.forEach((spacingStyle) => {
1613 1651 const declarations = [];
1614 1652 if (spacingStyle.rules) {
@@ -1614,9 +1652,9 @@
1614 1652 if (spacingStyle.rules) {
1615 1653 Object.entries(spacingStyle.rules).forEach(
1616 1654 ([cssProperty, cssValue]) => {
1617 1655 declarations.push(
1618 - `${cssProperty}: ${cssValue ? cssValue : gapValue}`
1656 + `${cssProperty}: ${cssValue ? cssValue : layoutGapValue}`
1619 1657 );
1620 1658 }
1621 1659 );
1622 1660 }
@@ -1778,8 +1816,22 @@
1778 1816 ];
1779 1817 }
1780 1818 );
1781 1819 }
1820 +function getElementStylesByName(styleNode, responsiveMediaQueries) {
1821 + const elementStylesByName = { ...styleNode?.elements ?? {} };
1822 + Object.keys(responsiveMediaQueries).forEach((breakpointKey) => {
1823 + Object.entries(styleNode?.[breakpointKey]?.elements ?? {}).forEach(
1824 + ([elementName, styles]) => {
1825 + elementStylesByName[elementName] = {
1826 + ...elementStylesByName[elementName] ?? {},
1827 + [breakpointKey]: styles
1828 + };
1829 + }
1830 + );
1831 + });
1832 + return elementStylesByName;
1833 +}
1782 1834 var getNodesWithStyles = (tree, blockSelectors) => {
1783 1835 const nodes = [];
1784 1836 if (!tree?.styles) {
1785 1837 return nodes;
@@ -1845,9 +1897,12 @@
1845 1897 name: blockName
1846 1898 });
1847 1899 }
1848 1900 Object.entries(
1849 - typedVariation?.elements ?? {}
1901 + getElementStylesByName(
1902 + typedVariation,
1903 + responsiveMediaQueries
1904 + )
1850 1905 ).forEach(([element, elementStyles]) => {
1851 1906 if (elementStyles && import_blocks.__EXPERIMENTAL_ELEMENTS[element]) {
1852 1907 variationNodesToAdd.push({
1853 1908 styles: elementStyles,
@@ -1898,9 +1953,12 @@
1898 1953 hasLayoutSupport: blockSelectors[variationBlockName]?.hasLayoutSupport,
1899 1954 styles: variationBlockStyleNodes
1900 1955 });
1901 1956 Object.entries(
1902 - variationBlockStyles.elements ?? {}
1957 + getElementStylesByName(
1958 + variationBlockStyles,
1959 + responsiveMediaQueries
1960 + )
1903 1961 ).forEach(
1904 1962 ([
1905 1963 variationBlockElement,
1906 1964 variationBlockElementStyles
@@ -1934,24 +1992,24 @@
1934 1992 name: blockName
1935 1993 });
1936 1994 }
1937 1995 nodes.push(...variationStyleNodesToAdd);
1938 - Object.entries(typedNode?.elements ?? {}).forEach(
1939 - ([elementName, value]) => {
1940 - if (typeof blockSelectors !== "string" && value && blockSelectors?.[blockName] && import_blocks.__EXPERIMENTAL_ELEMENTS[elementName]) {
1941 - nodes.push({
1942 - styles: value,
1943 - selector: blockSelectors[blockName]?.selector.split(",").map((sel) => {
1944 - const elementSelectors = import_blocks.__EXPERIMENTAL_ELEMENTS[elementName].split(",");
1945 - return elementSelectors.map(
1946 - (elementSelector) => sel + " " + elementSelector
1947 - );
1948 - }).join(","),
1949 - elementName
1950 - });
1951 - }
1996 + Object.entries(
1997 + getElementStylesByName(typedNode, responsiveMediaQueries)
1998 + ).forEach(([elementName, value]) => {
1999 + if (typeof blockSelectors !== "string" && value && blockSelectors?.[blockName] && import_blocks.__EXPERIMENTAL_ELEMENTS[elementName]) {
2000 + nodes.push({
2001 + styles: value,
2002 + selector: blockSelectors[blockName]?.selector.split(",").map((sel) => {
2003 + const elementSelectors = import_blocks.__EXPERIMENTAL_ELEMENTS[elementName].split(",");
2004 + return elementSelectors.map(
2005 + (elementSelector) => sel + " " + elementSelector
2006 + );
2007 + }).join(","),
2008 + elementName
2009 + });
1952 2010 }
1953 - );
2011 + });
1954 2012 nodes.push(...variationNodesToAdd);
1955 2013 }
1956 2014 );
1957 2015 return nodes;
@@ -2320,12 +2378,10 @@
2320 2378 duotoneSelector = scopeSelector(rootSelector, duotoneSupport);
2321 2379 }
2322 2380 }
2323 2381 const hasLayoutSupport = !!blockType?.supports?.layout || !!blockType?.supports?.__experimentalLayout;
2324 - const fallbackGapValue = (
2325 - // @ts-expect-error
2326 - blockType?.supports?.spacing?.blockGap?.__experimentalDefault
2327 - );
2382 + const blockGapSupport = blockType?.supports?.spacing?.blockGap;
2383 + const fallbackGapValue = typeof blockGapSupport === "object" && !Array.isArray(blockGapSupport) ? blockGapSupport.__experimentalDefault : void 0;
2328 2384 const blockStyleVariations = getBlockStyles(name);
2329 2385 const styleVariationSelectors = {};
2330 2386 blockStyleVariations?.forEach((variation) => {
2331 2387 const variationSuffix = variationInstanceId ? `-${variationInstanceId}` : "";
@@ -2415,9 +2471,9 @@
2415 2471 styleOptions = {}
2416 2472 } = options;
2417 2473 const blocks = blockTypes.length > 0 ? blockTypes : (0, import_blocks.getBlockTypes)();
2418 2474 const blockGap = getSetting(config, "spacing.blockGap");
2419 - const hasBlockGapSupport = hasBlockGapSupportOption ?? blockGap !== null;
2475 + const hasBlockGapSupport = hasBlockGapSupportOption ?? (blockGap !== null && blockGap !== void 0);
2420 2476 const hasFallbackGapSupport = hasFallbackGapSupportOption ?? !hasBlockGapSupport;
2421 2477 if (!config?.styles || !config?.settings) {
2422 2478 return [[], {}];
2423 2479 }
@@ -2479,8 +2535,9 @@
2479 2535 }
2480 2536
2481 2537 // packages/lazy-editor/build-module/hooks/use-editor-settings.mjs
2482 2538 var import_core_data3 = __toESM(require_core_data(), 1);
2539 +var import_blocks2 = __toESM(require_blocks(), 1);
2483 2540 var import_element2 = __toESM(require_element(), 1);
2484 2541 var import_data4 = __toESM(require_data(), 1);
2485 2542
2486 2543 // packages/lazy-editor/build-module/hooks/use-global-styles.mjs
@@ -2489,8 +2546,11 @@
2489 2546 var import_element = __toESM(require_element(), 1);
2490 2547 function useUserGlobalStyles(id) {
2491 2548 const { userGlobalStyles } = (0, import_data3.useSelect)(
2492 2549 (select2) => {
2550 + if (id === void 0) {
2551 + return { userGlobalStyles: void 0 };
2552 + }
2493 2553 const { getEntityRecord, getEditedEntityRecord, canUser } = select2(import_core_data2.store);
2494 2554 const userCanEditGlobalStyles = canUser("update", {
2495 2555 kind: "root",
2496 2556 name: "globalStyles",
@@ -2543,19 +2603,25 @@
2543 2603 "@wordpress/lazy-editor"
2544 2604 );
2545 2605
2546 2606 // packages/lazy-editor/build-module/hooks/use-editor-settings.mjs
2547 -function useEditorSettings({ stylesId }) {
2548 - const { editorSettings } = (0, import_data4.useSelect)(
2607 +function useEditorSettings({
2608 + stylesId
2609 +}) {
2610 + const { editorSettings, blockTypes } = (0, import_data4.useSelect)(
2549 2611 (select2) => ({
2550 2612 editorSettings: unlock(
2551 2613 select2(import_core_data3.store)
2552 - ).getEditorSettings()
2614 + ).getEditorSettings(),
2615 + blockTypes: select2(import_blocks2.store).getBlockTypes()
2553 2616 }),
2554 2617 []
2555 2618 );
2556 2619 const { user: globalStyles } = useUserGlobalStyles(stylesId);
2557 - const [globalStylesCSS] = generateGlobalStyles(globalStyles);
2620 + const [globalStylesCSS] = (0, import_element2.useMemo)(
2621 + () => generateGlobalStyles(globalStyles, blockTypes),
2622 + [globalStyles, blockTypes]
2623 + );
2558 2624 const hasEditorSettings = !!editorSettings;
2559 2625 const styles = (0, import_element2.useMemo)(() => {
2560 2626 if (!hasEditorSettings) {
2561 2627 return [];
@@ -2837,14 +2903,23 @@
2837 2903 }
2838 2904
2839 2905 // packages/lazy-editor/build-module/components/editor/index.mjs
2840 2906 var import_jsx_runtime = __toESM(require_jsx_runtime(), 1);
2841 -var { Editor: PrivateEditor, BackButton } = unlock(import_editor.privateApis);
2907 +var {
2908 + Editor: PrivateEditor,
2909 + BackButton,
2910 + PreferencesModal,
2911 + ToolsMoreMenuGroup,
2912 + SiteExport
2913 +} = unlock(import_editor.privateApis);
2842 2914 function Editor({
2843 2915 postType,
2844 2916 postId,
2845 2917 settings,
2846 - backButton
2918 + backButton,
2919 + onActionPerformed,
2920 + initialViewport,
2921 + renderingMode
2847 2922 }) {
2848 2923 const homePage = (0, import_data6.useSelect)(
2849 2924 (select2) => {
2850 2925 if (postType || postId) {
@@ -2879,9 +2954,19 @@
2879 2954 const { isReady: assetsReady } = useEditorAssets();
2880 2955 const finalSettings = (0, import_element4.useMemo)(
2881 2956 () => ({
2882 2957 ...editorSettings,
2883 - ...settings
2958 + ...settings,
2959 + /*
2960 + * The theme's styles and the user's global styles, then whatever the
2961 + * host adds for the surface it is rendering into. Spelled out after
2962 + * the spread because `styles` is a list each source adds to: a host
2963 + * contributing its own must not drop everyone else's.
2964 + */
2965 + styles: [
2966 + ...editorSettings.styles ?? [],
2967 + ...settings?.styles ?? []
2968 + ]
2884 2969 }),
2885 2970 [editorSettings, settings]
2886 2971 );
2887 2972 if (!settingsReady || !assetsReady) {
@@ -2897,9 +2982,9 @@
2897 2982 children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.Spinner, {})
2898 2983 }
2899 2984 );
2900 2985 }
2901 - return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
2986 + return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
2902 2987 PrivateEditor,
2903 2988 {
2904 2989 postType: resolvedPostType,
2905 2990 postId: resolvedPostId,
@@ -2905,9 +2990,16 @@
2905 2990 postId: resolvedPostId,
2906 2991 templateId,
2907 2992 settings: finalSettings,
2908 2993 styles: finalSettings.styles,
2909 - children: backButton && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(BackButton, { children: backButton })
2994 + onActionPerformed,
2995 + initialViewport,
2996 + renderingMode,
2997 + children: [
2998 + backButton && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(BackButton, { children: backButton }),
2999 + /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PreferencesModal, {}),
3000 + /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ToolsMoreMenuGroup, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SiteExport, {}) })
3001 + ]
2910 3002 }
2911 3003 );
2912 3004 }
2913 3005
@@ -2915,11 +3007,11 @@
2915 3007 var import_i18n = __toESM(require_i18n(), 1);
2916 3008 var import_element5 = __toESM(require_element(), 1);
2917 3009 var import_block_editor = __toESM(require_block_editor(), 1);
2918 3010 var import_editor2 = __toESM(require_editor(), 1);
2919 -var import_blocks2 = __toESM(require_blocks(), 1);
3011 +var import_blocks3 = __toESM(require_blocks(), 1);
2920 3012 var import_jsx_runtime2 = __toESM(require_jsx_runtime(), 1);
2921 -if (typeof document !== "undefined" && true && !document.head.querySelector("style[data-wp-hash='95327475c1']")) {
3013 +if (typeof document !== "undefined" && (typeof process === "undefined" || true) && !document.head.querySelector("style[data-wp-hash='95327475c1']")) {
2922 3014 const style = document.createElement("style");
2923 3015 style.setAttribute("data-wp-hash", "95327475c1");
2924 3016 style.appendChild(document.createTextNode(".lazy-editor-block-preview__container{align-items:center;border-radius:4px;display:flex;flex-direction:column;height:100%;justify-content:center}.dataviews-view-grid .lazy-editor-block-preview__container .block-editor-block-preview__container{height:100%}.dataviews-view-table .lazy-editor-block-preview__container{text-wrap:balance;text-wrap:pretty;flex-grow:0;width:96px}"));
2925 3017 document.head.appendChild(style);
@@ -2932,9 +3024,9 @@
2932 3024 }) {
2933 3025 const descriptionId = (0, import_element5.useId)();
2934 3026 const backgroundColor = useStyle("color.background");
2935 3027 const actualBlocks = (0, import_element5.useMemo)(() => {
2936 - return blocks ?? (0, import_blocks2.parse)(content, {
3028 + return blocks ?? (0, import_blocks3.parse)(content, {
2937 3029 __unstableSkipMigrationLogs: true
2938 3030 });
2939 3031 }, [content, blocks]);
2940 3032 const isEmpty = !actualBlocks?.length;