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 +272 -180 23.6.0 → 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) {
@@ -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;