PluginProbe
Gutenberg / trunk
Gutenberg vtrunk
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 +271 -177 23.7.2 → trunk 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) {
@@ -1369,9 +1404,9 @@
1369 1404 blockPresets,
1370 1405 metadata.path,
1371 1406 {}
1372 1407 );
1373 - return ["default", "theme"].filter((origin) => presetByOrigin[origin]).flatMap(
1408 + return ["default", "theme", "custom"].filter((origin) => presetByOrigin[origin]).flatMap(
1374 1409 (origin) => presetByOrigin[origin].map(
1375 1410 (preset) => getDuotoneFilter(
1376 1411 `wp-duotone-${preset.slug}`,
1377 1412 preset.colors
@@ -1591,9 +1626,10 @@
1591 1626 hasFallbackGapSupport,
1592 1627 fallbackGapValue
1593 1628 }) {
1594 1629 let ruleset = "";
1595 - let gapValue = hasBlockGapSupport ? getGapCSSValue(style?.spacing?.blockGap) : "";
1630 + const blockGapValue = style?.spacing?.blockGap;
1631 + let gapValue = hasBlockGapSupport ? getGapCSSValue(blockGapValue) : "";
1596 1632 if (hasFallbackGapSupport) {
1597 1633 if (selector === ROOT_BLOCK_SELECTOR) {
1598 1634 gapValue = !gapValue ? "0.5em" : gapValue;
1599 1635 } else if (!hasBlockGapSupport && fallbackGapValue) {
@@ -1599,8 +1635,9 @@
1599 1635 } else if (!hasBlockGapSupport && fallbackGapValue) {
1600 1636 gapValue = fallbackGapValue;
1601 1637 }
1602 1638 }
1639 + const rowGapValue = hasBlockGapSupport && blockGapValue && typeof blockGapValue !== "string" ? getGapCSSValue(blockGapValue.top) : gapValue;
1603 1640 if (gapValue && layoutDefinitions) {
1604 1641 Object.values(layoutDefinitions).forEach(
1605 1642 ({ className, name, spacingStyles }) => {
1606 1643 if (!hasBlockGapSupport && "flex" !== name && "grid" !== name) {
@@ -1605,8 +1642,11 @@
1605 1642 ({ className, name, spacingStyles }) => {
1606 1643 if (!hasBlockGapSupport && "flex" !== name && "grid" !== name) {
1607 1644 return;
1608 1645 }
1646 + const layoutGapValue = ["default", "constrained"].includes(
1647 + name
1648 + ) ? rowGapValue : gapValue;
1609 1649 if (spacingStyles?.length) {
1610 1650 spacingStyles.forEach((spacingStyle) => {
1611 1651 const declarations = [];
1612 1652 if (spacingStyle.rules) {
@@ -1612,9 +1652,9 @@
1612 1652 if (spacingStyle.rules) {
1613 1653 Object.entries(spacingStyle.rules).forEach(
1614 1654 ([cssProperty, cssValue]) => {
1615 1655 declarations.push(
1616 - `${cssProperty}: ${cssValue ? cssValue : gapValue}`
1656 + `${cssProperty}: ${cssValue ? cssValue : layoutGapValue}`
1617 1657 );
1618 1658 }
1619 1659 );
1620 1660 }
@@ -1776,8 +1816,22 @@
1776 1816 ];
1777 1817 }
1778 1818 );
1779 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 +}
1780 1834 var getNodesWithStyles = (tree, blockSelectors) => {
1781 1835 const nodes = [];
1782 1836 if (!tree?.styles) {
1783 1837 return nodes;
@@ -1843,9 +1897,12 @@
1843 1897 name: blockName
1844 1898 });
1845 1899 }
1846 1900 Object.entries(
1847 - typedVariation?.elements ?? {}
1901 + getElementStylesByName(
1902 + typedVariation,
1903 + responsiveMediaQueries
1904 + )
1848 1905 ).forEach(([element, elementStyles]) => {
1849 1906 if (elementStyles && import_blocks.__EXPERIMENTAL_ELEMENTS[element]) {
1850 1907 variationNodesToAdd.push({
1851 1908 styles: elementStyles,
@@ -1896,9 +1953,12 @@
1896 1953 hasLayoutSupport: blockSelectors[variationBlockName]?.hasLayoutSupport,
1897 1954 styles: variationBlockStyleNodes
1898 1955 });
1899 1956 Object.entries(
1900 - variationBlockStyles.elements ?? {}
1957 + getElementStylesByName(
1958 + variationBlockStyles,
1959 + responsiveMediaQueries
1960 + )
1901 1961 ).forEach(
1902 1962 ([
1903 1963 variationBlockElement,
1904 1964 variationBlockElementStyles
@@ -1932,24 +1992,24 @@
1932 1992 name: blockName
1933 1993 });
1934 1994 }
1935 1995 nodes.push(...variationStyleNodesToAdd);
1936 - Object.entries(typedNode?.elements ?? {}).forEach(
1937 - ([elementName, value]) => {
1938 - if (typeof blockSelectors !== "string" && value && blockSelectors?.[blockName] && import_blocks.__EXPERIMENTAL_ELEMENTS[elementName]) {
1939 - nodes.push({
1940 - styles: value,
1941 - selector: blockSelectors[blockName]?.selector.split(",").map((sel) => {
1942 - const elementSelectors = import_blocks.__EXPERIMENTAL_ELEMENTS[elementName].split(",");
1943 - return elementSelectors.map(
1944 - (elementSelector) => sel + " " + elementSelector
1945 - );
1946 - }).join(","),
1947 - elementName
1948 - });
1949 - }
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 + });
1950 2010 }
1951 - );
2011 + });
1952 2012 nodes.push(...variationNodesToAdd);
1953 2013 }
1954 2014 );
1955 2015 return nodes;
@@ -2318,12 +2378,10 @@
2318 2378 duotoneSelector = scopeSelector(rootSelector, duotoneSupport);
2319 2379 }
2320 2380 }
2321 2381 const hasLayoutSupport = !!blockType?.supports?.layout || !!blockType?.supports?.__experimentalLayout;
2322 - const fallbackGapValue = (
2323 - // @ts-expect-error
2324 - blockType?.supports?.spacing?.blockGap?.__experimentalDefault
2325 - );
2382 + const blockGapSupport = blockType?.supports?.spacing?.blockGap;
2383 + const fallbackGapValue = typeof blockGapSupport === "object" && !Array.isArray(blockGapSupport) ? blockGapSupport.__experimentalDefault : void 0;
2326 2384 const blockStyleVariations = getBlockStyles(name);
2327 2385 const styleVariationSelectors = {};
2328 2386 blockStyleVariations?.forEach((variation) => {
2329 2387 const variationSuffix = variationInstanceId ? `-${variationInstanceId}` : "";
@@ -2413,9 +2471,9 @@
2413 2471 styleOptions = {}
2414 2472 } = options;
2415 2473 const blocks = blockTypes.length > 0 ? blockTypes : (0, import_blocks.getBlockTypes)();
2416 2474 const blockGap = getSetting(config, "spacing.blockGap");
2417 - const hasBlockGapSupport = hasBlockGapSupportOption ?? blockGap !== null;
2475 + const hasBlockGapSupport = hasBlockGapSupportOption ?? (blockGap !== null && blockGap !== void 0);
2418 2476 const hasFallbackGapSupport = hasFallbackGapSupportOption ?? !hasBlockGapSupport;
2419 2477 if (!config?.styles || !config?.settings) {
2420 2478 return [[], {}];
2421 2479 }
@@ -2477,8 +2535,9 @@
2477 2535 }
2478 2536
2479 2537 // packages/lazy-editor/build-module/hooks/use-editor-settings.mjs
2480 2538 var import_core_data3 = __toESM(require_core_data(), 1);
2539 +var import_blocks2 = __toESM(require_blocks(), 1);
2481 2540 var import_element2 = __toESM(require_element(), 1);
2482 2541 var import_data4 = __toESM(require_data(), 1);
2483 2542
2484 2543 // packages/lazy-editor/build-module/hooks/use-global-styles.mjs
@@ -2487,8 +2546,11 @@
2487 2546 var import_element = __toESM(require_element(), 1);
2488 2547 function useUserGlobalStyles(id) {
2489 2548 const { userGlobalStyles } = (0, import_data3.useSelect)(
2490 2549 (select2) => {
2550 + if (id === void 0) {
2551 + return { userGlobalStyles: void 0 };
2552 + }
2491 2553 const { getEntityRecord, getEditedEntityRecord, canUser } = select2(import_core_data2.store);
2492 2554 const userCanEditGlobalStyles = canUser("update", {
2493 2555 kind: "root",
2494 2556 name: "globalStyles",
@@ -2541,19 +2603,25 @@
2541 2603 "@wordpress/lazy-editor"
2542 2604 );
2543 2605
2544 2606 // packages/lazy-editor/build-module/hooks/use-editor-settings.mjs
2545 -function useEditorSettings({ stylesId }) {
2546 - const { editorSettings } = (0, import_data4.useSelect)(
2607 +function useEditorSettings({
2608 + stylesId
2609 +}) {
2610 + const { editorSettings, blockTypes } = (0, import_data4.useSelect)(
2547 2611 (select2) => ({
2548 2612 editorSettings: unlock(
2549 2613 select2(import_core_data3.store)
2550 - ).getEditorSettings()
2614 + ).getEditorSettings(),
2615 + blockTypes: select2(import_blocks2.store).getBlockTypes()
2551 2616 }),
2552 2617 []
2553 2618 );
2554 2619 const { user: globalStyles } = useUserGlobalStyles(stylesId);
2555 - const [globalStylesCSS] = generateGlobalStyles(globalStyles);
2620 + const [globalStylesCSS] = (0, import_element2.useMemo)(
2621 + () => generateGlobalStyles(globalStyles, blockTypes),
2622 + [globalStyles, blockTypes]
2623 + );
2556 2624 const hasEditorSettings = !!editorSettings;
2557 2625 const styles = (0, import_element2.useMemo)(() => {
2558 2626 if (!hasEditorSettings) {
2559 2627 return [];
@@ -2835,14 +2903,23 @@
2835 2903 }
2836 2904
2837 2905 // packages/lazy-editor/build-module/components/editor/index.mjs
2838 2906 var import_jsx_runtime = __toESM(require_jsx_runtime(), 1);
2839 -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);
2840 2914 function Editor({
2841 2915 postType,
2842 2916 postId,
2843 2917 settings,
2844 - backButton
2918 + backButton,
2919 + onActionPerformed,
2920 + initialViewport,
2921 + renderingMode
2845 2922 }) {
2846 2923 const homePage = (0, import_data6.useSelect)(
2847 2924 (select2) => {
2848 2925 if (postType || postId) {
@@ -2877,9 +2954,19 @@
2877 2954 const { isReady: assetsReady } = useEditorAssets();
2878 2955 const finalSettings = (0, import_element4.useMemo)(
2879 2956 () => ({
2880 2957 ...editorSettings,
2881 - ...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 + ]
2882 2969 }),
2883 2970 [editorSettings, settings]
2884 2971 );
2885 2972 if (!settingsReady || !assetsReady) {
@@ -2895,9 +2982,9 @@
2895 2982 children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.Spinner, {})
2896 2983 }
2897 2984 );
2898 2985 }
2899 - return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
2986 + return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
2900 2987 PrivateEditor,
2901 2988 {
2902 2989 postType: resolvedPostType,
2903 2990 postId: resolvedPostId,
@@ -2903,9 +2990,16 @@
2903 2990 postId: resolvedPostId,
2904 2991 templateId,
2905 2992 settings: finalSettings,
2906 2993 styles: finalSettings.styles,
2907 - 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 + ]
2908 3002 }
2909 3003 );
2910 3004 }
2911 3005
@@ -2913,11 +3007,11 @@
2913 3007 var import_i18n = __toESM(require_i18n(), 1);
2914 3008 var import_element5 = __toESM(require_element(), 1);
2915 3009 var import_block_editor = __toESM(require_block_editor(), 1);
2916 3010 var import_editor2 = __toESM(require_editor(), 1);
2917 -var import_blocks2 = __toESM(require_blocks(), 1);
3011 +var import_blocks3 = __toESM(require_blocks(), 1);
2918 3012 var import_jsx_runtime2 = __toESM(require_jsx_runtime(), 1);
2919 -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']")) {
2920 3014 const style = document.createElement("style");
2921 3015 style.setAttribute("data-wp-hash", "95327475c1");
2922 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}"));
2923 3017 document.head.appendChild(style);
@@ -2930,9 +3024,9 @@
2930 3024 }) {
2931 3025 const descriptionId = (0, import_element5.useId)();
2932 3026 const backgroundColor = useStyle("color.background");
2933 3027 const actualBlocks = (0, import_element5.useMemo)(() => {
2934 - return blocks ?? (0, import_blocks2.parse)(content, {
3028 + return blocks ?? (0, import_blocks3.parse)(content, {
2935 3029 __unstableSkipMigrationLogs: true
2936 3030 });
2937 3031 }, [content, blocks]);
2938 3032 const isEmpty = !actualBlocks?.length;