@weapp-tailwindcss/postcss 3.3.8 → 3.3.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{directives-Cr-gZPUc.js → directives-DMB7AQE_.js} +614 -570
- package/dist/index.cjs +6 -3
- package/dist/index.js +6 -6
- package/dist/{plugin-B-3Uojy6.js → plugin-BxhTytFU.js} +2 -2
- package/dist/{plugin-BQGekI-c.cjs → plugin-CfrVcQt8.cjs} +1 -1
- package/dist/plugin.cjs +1 -1
- package/dist/plugin.js +1 -1
- package/dist/{resolve-D-FbFBpF.js → resolve-Cb3XkcFk.js} +102 -99
- package/dist/{resolve-CA9NfMTt.cjs → resolve-DcV8mpsu.cjs} +715 -668
- package/dist/{rewrite-imports-Dk9TKKSF.js → rewrite-imports-Cx1wGYaN.js} +1 -1
- package/dist/syntax.cjs +94 -94
- package/dist/syntax.js +2 -2
- package/dist/{transform-D4J-AjP1.cjs → transform-CmPPSR36.cjs} +41 -2
- package/dist/{transform-D0hjc8vo.js → transform-DhUndykm.js} +26 -5
- package/dist/transform.cjs +5 -2
- package/dist/transform.d.ts +1 -0
- package/dist/transform.js +5 -5
- package/dist/utils/deferred-css-source.d.ts +6 -0
- package/package.json +5 -5
|
@@ -712,7 +712,7 @@ function hasUnsupportedModernColorFunction(value) {
|
|
|
712
712
|
return hasUnsupported;
|
|
713
713
|
}
|
|
714
714
|
//#endregion
|
|
715
|
-
//#region ../../node_modules/.pnpm/@csstools+css-tokenizer@4.0.
|
|
715
|
+
//#region ../../node_modules/.pnpm/@csstools+css-tokenizer@4.0.2/node_modules/@csstools/css-tokenizer/dist/index.mjs
|
|
716
716
|
var ParseError$1 = class extends Error {
|
|
717
717
|
sourceStart;
|
|
718
718
|
sourceEnd;
|
|
@@ -739,9 +739,12 @@ const e$1 = {
|
|
|
739
739
|
};
|
|
740
740
|
"undefined" != typeof globalThis && "structuredClone" in globalThis;
|
|
741
741
|
function stringify(...e) {
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
742
|
+
if (!e || !e.length) return "";
|
|
743
|
+
let n;
|
|
744
|
+
n = Array.isArray(e) && Array.isArray(e[0]) && Array.isArray(e[0][0]) ? e[0] : e;
|
|
745
|
+
let t = "";
|
|
746
|
+
for (let e = 0; e < n.length; e++) t += n[e][1];
|
|
747
|
+
return t;
|
|
745
748
|
}
|
|
746
749
|
const t$1 = 13;
|
|
747
750
|
const o$1 = 45;
|
|
@@ -839,45 +842,45 @@ function tokenize(e, n) {
|
|
|
839
842
|
for (; !t.endOfFile();) o.push(t.nextToken());
|
|
840
843
|
return o.push(t.nextToken()), o;
|
|
841
844
|
}
|
|
842
|
-
function tokenizer(n,
|
|
843
|
-
const
|
|
845
|
+
function tokenizer(n, l) {
|
|
846
|
+
const C = n.css.valueOf(), f = n.unicodeRangesAllowed ?? !1;
|
|
844
847
|
let m = 0, h = 0, k = -1, P = !1;
|
|
845
|
-
const p =
|
|
848
|
+
const p = l?.onParseError ?? noop;
|
|
846
849
|
function consumeIdentSequence() {
|
|
847
850
|
const e = m;
|
|
848
851
|
for (;;) {
|
|
849
|
-
const e =
|
|
852
|
+
const e = C.charCodeAt(m);
|
|
850
853
|
if (e >= 65 && e <= 90 || e >= 97 && e <= 122 || e >= 48 && e <= 57 || e === o$1 || 95 === e) {
|
|
851
854
|
m += 1;
|
|
852
855
|
continue;
|
|
853
856
|
}
|
|
854
|
-
const n =
|
|
855
|
-
if (0 === n || n >= 55296 && n <= 57343 || n === s$1 && !isNewLine(
|
|
857
|
+
const n = C.codePointAt(m) ?? -1;
|
|
858
|
+
if (0 === n || n >= 55296 && n <= 57343 || n === s$1 && !isNewLine(C.codePointAt(m + 1) ?? -1)) break;
|
|
856
859
|
if (!isNonASCII_IdentCodePoint(n)) break;
|
|
857
860
|
m += +(n > 65535) + 1;
|
|
858
861
|
}
|
|
859
|
-
const n =
|
|
860
|
-
if (0 !== n && !(n >= 55296 && n <= 57343) && (n !== s$1 || isNewLine(
|
|
862
|
+
const n = C.codePointAt(m) ?? -1;
|
|
863
|
+
if (0 !== n && !(n >= 55296 && n <= 57343) && (n !== s$1 || isNewLine(C.codePointAt(m + 1) ?? -1))) return P = !0, k = m - 1, C.slice(e, m);
|
|
861
864
|
P = !1, m = e, k = -1;
|
|
862
865
|
let t = "";
|
|
863
866
|
for (;;) {
|
|
864
|
-
const e =
|
|
867
|
+
const e = C.codePointAt(m) ?? -1;
|
|
865
868
|
if (0 === e || isSurrogate(e)) t += String.fromCharCode(c$1), m += +(e > 65535) + 1, k = m - 1;
|
|
866
869
|
else if (e >= 65 && e <= 90 || e >= 97 && e <= 122 || e >= 48 && e <= 57 || e === o$1 || 95 === e || isNonASCII_IdentCodePoint(e)) t += e > 65535 ? String.fromCodePoint(e) : String.fromCharCode(e), m += +(e > 65535) + 1, k = m - 1;
|
|
867
870
|
else {
|
|
868
|
-
if (
|
|
871
|
+
if (C.codePointAt(m) !== s$1 || isNewLine(C.codePointAt(m + 1) ?? -1)) return t;
|
|
869
872
|
m += 1, k = m - 1, t += String.fromCodePoint(consumeEscapedCodePoint());
|
|
870
873
|
}
|
|
871
874
|
}
|
|
872
875
|
}
|
|
873
876
|
function consumeEscapedCodePoint() {
|
|
874
|
-
const n =
|
|
877
|
+
const n = C.codePointAt(m);
|
|
875
878
|
if (void 0 === n) return p(new ParseError$1(e$1.UnexpectedEOFInEscapedCodePoint, h, k, ["4.3.7. Consume an escaped code point", "Unexpected EOF"])), c$1;
|
|
876
879
|
if (m += +(n > 65535) + 1, k = m - 1, isHexDigitCodePoint(n)) {
|
|
877
880
|
const e = [n];
|
|
878
881
|
let o;
|
|
879
|
-
for (; void 0 !== (o =
|
|
880
|
-
isWhitespace(
|
|
882
|
+
for (; void 0 !== (o = C.codePointAt(m)) && isHexDigitCodePoint(o) && e.length < 6;) e.push(o), m += 1, k = m - 1;
|
|
883
|
+
isWhitespace(C.codePointAt(m) ?? -1) && (C.codePointAt(m) === t$1 && C.codePointAt(m + 1) === r$1 && (m += 1), m += 1, k = m - 1);
|
|
881
884
|
const i = parseInt(String.fromCodePoint(...e), 16);
|
|
882
885
|
return 0 === i || isSurrogate(i) || i > 1114111 ? c$1 : i;
|
|
883
886
|
}
|
|
@@ -885,33 +888,33 @@ function tokenizer(n, C) {
|
|
|
885
888
|
}
|
|
886
889
|
function consumeBadURL() {
|
|
887
890
|
for (;;) {
|
|
888
|
-
const e =
|
|
891
|
+
const e = C.codePointAt(m);
|
|
889
892
|
if (void 0 === e) return;
|
|
890
893
|
if (41 === e) return m += 1, void (k = m - 1);
|
|
891
|
-
e !== s$1 || isNewLine(
|
|
894
|
+
e !== s$1 || isNewLine(C.codePointAt(m + 1) ?? -1) ? (m += 1, k = m - 1) : (m += 1, k = m - 1, consumeEscapedCodePoint());
|
|
892
895
|
}
|
|
893
896
|
}
|
|
894
897
|
function consumeComment() {
|
|
895
898
|
for (m += 2, k = m - 1;;) {
|
|
896
|
-
const n =
|
|
899
|
+
const n = C.codePointAt(m);
|
|
897
900
|
if (void 0 === n) {
|
|
898
901
|
const n = [
|
|
899
902
|
u$1.Comment,
|
|
900
|
-
|
|
903
|
+
C.slice(h, k + 1),
|
|
901
904
|
h,
|
|
902
905
|
k,
|
|
903
906
|
void 0
|
|
904
907
|
];
|
|
905
908
|
return p(new ParseErrorWithToken(e$1.UnexpectedEOFInComment, h, k, ["4.3.2. Consume comments", "Unexpected EOF"], n)), n;
|
|
906
909
|
}
|
|
907
|
-
if (m += 1, k = m - 1, 42 === n && void 0 !==
|
|
910
|
+
if (m += 1, k = m - 1, 42 === n && void 0 !== C.codePointAt(m) && 47 === C.codePointAt(m)) {
|
|
908
911
|
m += 1, k = m - 1;
|
|
909
912
|
break;
|
|
910
913
|
}
|
|
911
914
|
}
|
|
912
915
|
return [
|
|
913
916
|
u$1.Comment,
|
|
914
|
-
|
|
917
|
+
C.slice(h, k + 1),
|
|
915
918
|
h,
|
|
916
919
|
k,
|
|
917
920
|
void 0
|
|
@@ -919,13 +922,13 @@ function tokenizer(n, C) {
|
|
|
919
922
|
}
|
|
920
923
|
function consumeStringToken() {
|
|
921
924
|
let n = "";
|
|
922
|
-
const o =
|
|
925
|
+
const o = C.codePointAt(m);
|
|
923
926
|
for (m += 1, k = m - 1;;) {
|
|
924
|
-
const i =
|
|
925
|
-
if (m >=
|
|
927
|
+
const i = C.charCodeAt(m);
|
|
928
|
+
if (m >= C.length) {
|
|
926
929
|
const t = [
|
|
927
930
|
u$1.String,
|
|
928
|
-
|
|
931
|
+
C.slice(h, k + 1),
|
|
929
932
|
h,
|
|
930
933
|
k,
|
|
931
934
|
{ value: n }
|
|
@@ -936,16 +939,16 @@ function tokenizer(n, C) {
|
|
|
936
939
|
m -= 1, k = m - 1;
|
|
937
940
|
const n = [
|
|
938
941
|
u$1.BadString,
|
|
939
|
-
|
|
942
|
+
C.slice(h, k + 1),
|
|
940
943
|
h,
|
|
941
944
|
k,
|
|
942
945
|
void 0
|
|
943
946
|
];
|
|
944
|
-
return p(new ParseErrorWithToken(e$1.UnexpectedNewLineInString, h,
|
|
947
|
+
return p(new ParseErrorWithToken(e$1.UnexpectedNewLineInString, h, C.codePointAt(m) === t$1 && C.codePointAt(m + 1) === r$1 ? k + 2 : k + 1, ["4.3.5. Consume a string token", "Unexpected newline"], n)), n;
|
|
945
948
|
}
|
|
946
949
|
if (i === o) return [
|
|
947
950
|
u$1.String,
|
|
948
|
-
|
|
951
|
+
C.slice(h, k + 1),
|
|
949
952
|
h,
|
|
950
953
|
k,
|
|
951
954
|
{ value: n }
|
|
@@ -953,7 +956,7 @@ function tokenizer(n, C) {
|
|
|
953
956
|
if (i !== s$1) if (0 !== i) if (i < 128) n += String.fromCharCode(i);
|
|
954
957
|
else {
|
|
955
958
|
if (i >= 55296 && i <= 57343) {
|
|
956
|
-
const e =
|
|
959
|
+
const e = C.codePointAt(m - 1) ?? -1;
|
|
957
960
|
e >= 65536 ? (n += String.fromCodePoint(e), m += 1, k = m - 1) : n += String.fromCharCode(c$1);
|
|
958
961
|
continue;
|
|
959
962
|
}
|
|
@@ -961,9 +964,9 @@ function tokenizer(n, C) {
|
|
|
961
964
|
}
|
|
962
965
|
else n += String.fromCharCode(c$1);
|
|
963
966
|
else {
|
|
964
|
-
if (void 0 ===
|
|
965
|
-
if (isNewLine(
|
|
966
|
-
|
|
967
|
+
if (void 0 === C.codePointAt(m)) continue;
|
|
968
|
+
if (isNewLine(C.codePointAt(m) ?? -1)) {
|
|
969
|
+
C.codePointAt(m) === t$1 && C.codePointAt(m + 1) === r$1 && (m += 1), m += 1, k = m - 1;
|
|
967
970
|
continue;
|
|
968
971
|
}
|
|
969
972
|
n += String.fromCodePoint(consumeEscapedCodePoint());
|
|
@@ -974,14 +977,14 @@ function tokenizer(n, C) {
|
|
|
974
977
|
m += 2, k = m - 1;
|
|
975
978
|
const e = [], n = [];
|
|
976
979
|
let t;
|
|
977
|
-
for (; void 0 !== (t =
|
|
978
|
-
for (; void 0 !== (t =
|
|
979
|
-
if (!n.length &&
|
|
980
|
+
for (; void 0 !== (t = C.codePointAt(m)) && e.length < 6 && isHexDigitCodePoint(t);) e.push(t), m += 1, k = m - 1;
|
|
981
|
+
for (; void 0 !== (t = C.codePointAt(m)) && e.length < 6 && 63 === t;) 0 === n.length && n.push(...e), e.push(48), n.push(70), m += 1, k = m - 1;
|
|
982
|
+
if (!n.length && C.codePointAt(m) === o$1 && isHexDigitCodePoint(C.codePointAt(m + 1) ?? -1)) for (m += 1, k = m - 1; void 0 !== (t = C.codePointAt(m)) && n.length < 6 && isHexDigitCodePoint(t);) n.push(t), m += 1, k = m - 1;
|
|
980
983
|
if (!n.length) {
|
|
981
984
|
const n = parseInt(String.fromCodePoint(...e), 16);
|
|
982
985
|
return [
|
|
983
986
|
u$1.UnicodeRange,
|
|
984
|
-
|
|
987
|
+
C.slice(h, k + 1),
|
|
985
988
|
h,
|
|
986
989
|
k,
|
|
987
990
|
{
|
|
@@ -993,7 +996,7 @@ function tokenizer(n, C) {
|
|
|
993
996
|
const r = parseInt(String.fromCodePoint(...e), 16), i = parseInt(String.fromCodePoint(...n), 16);
|
|
994
997
|
return [
|
|
995
998
|
u$1.UnicodeRange,
|
|
996
|
-
|
|
999
|
+
C.slice(h, k + 1),
|
|
997
1000
|
h,
|
|
998
1001
|
k,
|
|
999
1002
|
{
|
|
@@ -1003,32 +1006,32 @@ function tokenizer(n, C) {
|
|
|
1003
1006
|
];
|
|
1004
1007
|
}
|
|
1005
1008
|
function consumeUrlToken() {
|
|
1006
|
-
for (; isWhitespace(
|
|
1009
|
+
for (; isWhitespace(C.codePointAt(m) ?? -1);) m += 1, k = m - 1;
|
|
1007
1010
|
let n = "";
|
|
1008
1011
|
for (;;) {
|
|
1009
|
-
if (void 0 ===
|
|
1012
|
+
if (void 0 === C.codePointAt(m)) {
|
|
1010
1013
|
const t = [
|
|
1011
1014
|
u$1.URL,
|
|
1012
|
-
|
|
1015
|
+
C.slice(h, k + 1),
|
|
1013
1016
|
h,
|
|
1014
1017
|
k,
|
|
1015
1018
|
{ value: n }
|
|
1016
1019
|
];
|
|
1017
1020
|
return p(new ParseErrorWithToken(e$1.UnexpectedEOFInURL, h, k, ["4.3.6. Consume a url token", "Unexpected EOF"], t)), t;
|
|
1018
1021
|
}
|
|
1019
|
-
if (41 ===
|
|
1022
|
+
if (41 === C.codePointAt(m)) return m += 1, k = m - 1, [
|
|
1020
1023
|
u$1.URL,
|
|
1021
|
-
|
|
1024
|
+
C.slice(h, k + 1),
|
|
1022
1025
|
h,
|
|
1023
1026
|
k,
|
|
1024
1027
|
{ value: n }
|
|
1025
1028
|
];
|
|
1026
|
-
if (isWhitespace(
|
|
1027
|
-
for (m += 1, k = m - 1; isWhitespace(
|
|
1028
|
-
if (void 0 ===
|
|
1029
|
+
if (isWhitespace(C.codePointAt(m) ?? -1)) {
|
|
1030
|
+
for (m += 1, k = m - 1; isWhitespace(C.codePointAt(m) ?? -1);) m += 1, k = m - 1;
|
|
1031
|
+
if (void 0 === C.codePointAt(m)) {
|
|
1029
1032
|
const t = [
|
|
1030
1033
|
u$1.URL,
|
|
1031
|
-
|
|
1034
|
+
C.slice(h, k + 1),
|
|
1032
1035
|
h,
|
|
1033
1036
|
k,
|
|
1034
1037
|
{ value: n }
|
|
@@ -1039,26 +1042,26 @@ function tokenizer(n, C) {
|
|
|
1039
1042
|
"Unexpected EOF"
|
|
1040
1043
|
], t)), t;
|
|
1041
1044
|
}
|
|
1042
|
-
return 41 ===
|
|
1045
|
+
return 41 === C.codePointAt(m) ? (m += 1, k = m - 1, [
|
|
1043
1046
|
u$1.URL,
|
|
1044
|
-
|
|
1047
|
+
C.slice(h, k + 1),
|
|
1045
1048
|
h,
|
|
1046
1049
|
k,
|
|
1047
1050
|
{ value: n }
|
|
1048
1051
|
]) : (consumeBadURL(), [
|
|
1049
1052
|
u$1.BadURL,
|
|
1050
|
-
|
|
1053
|
+
C.slice(h, k + 1),
|
|
1051
1054
|
h,
|
|
1052
1055
|
k,
|
|
1053
1056
|
void 0
|
|
1054
1057
|
]);
|
|
1055
1058
|
}
|
|
1056
|
-
const t =
|
|
1059
|
+
const t = C.codePointAt(m);
|
|
1057
1060
|
if (34 === t || 39 === t || 40 === t || isNonPrintableCodePoint(t ?? -1)) {
|
|
1058
1061
|
consumeBadURL();
|
|
1059
1062
|
const n = [
|
|
1060
1063
|
u$1.BadURL,
|
|
1061
|
-
|
|
1064
|
+
C.slice(h, k + 1),
|
|
1062
1065
|
h,
|
|
1063
1066
|
k,
|
|
1064
1067
|
void 0
|
|
@@ -1066,14 +1069,14 @@ function tokenizer(n, C) {
|
|
|
1066
1069
|
return p(new ParseErrorWithToken(e$1.UnexpectedCharacterInURL, h, k, ["4.3.6. Consume a url token", "Unexpected U+0022 QUOTATION MARK (\"), U+0027 APOSTROPHE ('), U+0028 LEFT PARENTHESIS (() or non-printable code point"], n)), n;
|
|
1067
1070
|
}
|
|
1068
1071
|
if (t === s$1) {
|
|
1069
|
-
if (t === s$1 && !isNewLine(
|
|
1072
|
+
if (t === s$1 && !isNewLine(C.codePointAt(m + 1) ?? -1)) {
|
|
1070
1073
|
m += 1, k = m - 1, n += String.fromCodePoint(consumeEscapedCodePoint());
|
|
1071
1074
|
continue;
|
|
1072
1075
|
}
|
|
1073
1076
|
consumeBadURL();
|
|
1074
1077
|
const o = [
|
|
1075
1078
|
u$1.BadURL,
|
|
1076
|
-
|
|
1079
|
+
C.slice(h, k + 1),
|
|
1077
1080
|
h,
|
|
1078
1081
|
k,
|
|
1079
1082
|
void 0
|
|
@@ -1090,28 +1093,28 @@ function tokenizer(n, C) {
|
|
|
1090
1093
|
function consumeNumericToken() {
|
|
1091
1094
|
let e;
|
|
1092
1095
|
{
|
|
1093
|
-
const n =
|
|
1096
|
+
const n = C.charCodeAt(m);
|
|
1094
1097
|
n === o$1 ? e = "-" : n === i$1 && (e = "+");
|
|
1095
1098
|
}
|
|
1096
1099
|
let n = a$1.Integer;
|
|
1097
|
-
const t =
|
|
1100
|
+
const t = C.charCodeAt(m);
|
|
1098
1101
|
t !== i$1 && t !== o$1 || (m += 1);
|
|
1099
|
-
let r =
|
|
1100
|
-
for (; r >= 48 && r <= 57;) m += 1, r =
|
|
1101
|
-
if (46 ===
|
|
1102
|
-
const c =
|
|
1102
|
+
let r = C.charCodeAt(m);
|
|
1103
|
+
for (; r >= 48 && r <= 57;) m += 1, r = C.charCodeAt(m);
|
|
1104
|
+
if (46 === C.charCodeAt(m) && C.charCodeAt(m + 1) >= 48 && C.charCodeAt(m + 1) <= 57) for (m += 2, n = a$1.Number, r = C.charCodeAt(m); r >= 48 && r <= 57;) m += 1, r = C.charCodeAt(m);
|
|
1105
|
+
const c = C.charCodeAt(m);
|
|
1103
1106
|
if (101 === c || 69 === c) {
|
|
1104
|
-
const e =
|
|
1105
|
-
if (e >= 48 && e <= 57) for (m += 2, n = a$1.Number, r =
|
|
1106
|
-
else if ((e === o$1 || e === i$1) &&
|
|
1107
|
+
const e = C.charCodeAt(m + 1);
|
|
1108
|
+
if (e >= 48 && e <= 57) for (m += 2, n = a$1.Number, r = C.charCodeAt(m); r >= 48 && r <= 57;) m += 1, r = C.charCodeAt(m);
|
|
1109
|
+
else if ((e === o$1 || e === i$1) && C.charCodeAt(m + 2) >= 48 && C.charCodeAt(m + 2) <= 57) for (m += 3, n = a$1.Number, r = C.charCodeAt(m); r >= 48 && r <= 57;) m += 1, r = C.charCodeAt(m);
|
|
1107
1110
|
}
|
|
1108
1111
|
k = m - 1;
|
|
1109
|
-
const s = parseFloat(
|
|
1112
|
+
const s = parseFloat(C.slice(h, k + 1));
|
|
1110
1113
|
if (checkIfThreeCodePointsWouldStartAnIdentSequence()) {
|
|
1111
1114
|
const t = consumeIdentSequence();
|
|
1112
1115
|
return [
|
|
1113
1116
|
u$1.Dimension,
|
|
1114
|
-
|
|
1117
|
+
C.slice(h, k + 1),
|
|
1115
1118
|
h,
|
|
1116
1119
|
k,
|
|
1117
1120
|
{
|
|
@@ -1122,9 +1125,9 @@ function tokenizer(n, C) {
|
|
|
1122
1125
|
}
|
|
1123
1126
|
];
|
|
1124
1127
|
}
|
|
1125
|
-
return 37 ===
|
|
1128
|
+
return 37 === C.charCodeAt(m) ? (m += 1, k = m - 1, [
|
|
1126
1129
|
u$1.Percentage,
|
|
1127
|
-
|
|
1130
|
+
C.slice(h, k + 1),
|
|
1128
1131
|
h,
|
|
1129
1132
|
k,
|
|
1130
1133
|
{
|
|
@@ -1133,7 +1136,7 @@ function tokenizer(n, C) {
|
|
|
1133
1136
|
}
|
|
1134
1137
|
]) : [
|
|
1135
1138
|
u$1.Number,
|
|
1136
|
-
|
|
1139
|
+
C.slice(h, k + 1),
|
|
1137
1140
|
h,
|
|
1138
1141
|
k,
|
|
1139
1142
|
{
|
|
@@ -1145,9 +1148,9 @@ function tokenizer(n, C) {
|
|
|
1145
1148
|
}
|
|
1146
1149
|
function consumeIdentLikeToken() {
|
|
1147
1150
|
const e = consumeIdentSequence();
|
|
1148
|
-
if (40 !==
|
|
1151
|
+
if (40 !== C.charCodeAt(m)) return [
|
|
1149
1152
|
u$1.Ident,
|
|
1150
|
-
P ? e :
|
|
1153
|
+
P ? e : C.slice(h, k + 1),
|
|
1151
1154
|
h,
|
|
1152
1155
|
k,
|
|
1153
1156
|
{ value: e }
|
|
@@ -1155,11 +1158,11 @@ function tokenizer(n, C) {
|
|
|
1155
1158
|
if (!(3 !== e.length || 117 !== e.charCodeAt(0) && 85 !== e.charCodeAt(0) || 114 !== e.charCodeAt(1) && 82 !== e.charCodeAt(1) || 108 !== e.charCodeAt(2) && 76 !== e.charCodeAt(2))) {
|
|
1156
1159
|
m += 1, k = m - 1;
|
|
1157
1160
|
let n = 0;
|
|
1158
|
-
for (; isWhitespace(
|
|
1159
|
-
const t =
|
|
1161
|
+
for (; isWhitespace(C.charCodeAt(m));) n += 1, m += 1, k = m - 1;
|
|
1162
|
+
const t = C.charCodeAt(m);
|
|
1160
1163
|
return 34 === t || 39 === t ? (n > 0 && (m -= n, k = m - 1), [
|
|
1161
1164
|
u$1.Function,
|
|
1162
|
-
|
|
1165
|
+
C.slice(h, k + 1),
|
|
1163
1166
|
h,
|
|
1164
1167
|
k,
|
|
1165
1168
|
{ value: e }
|
|
@@ -1167,7 +1170,7 @@ function tokenizer(n, C) {
|
|
|
1167
1170
|
}
|
|
1168
1171
|
return m += 1, k = m - 1, [
|
|
1169
1172
|
u$1.Function,
|
|
1170
|
-
|
|
1173
|
+
C.slice(h, k + 1),
|
|
1171
1174
|
h,
|
|
1172
1175
|
k,
|
|
1173
1176
|
{ value: e }
|
|
@@ -1175,14 +1178,14 @@ function tokenizer(n, C) {
|
|
|
1175
1178
|
}
|
|
1176
1179
|
function consumeHashToken() {
|
|
1177
1180
|
m += 1, k = m - 1;
|
|
1178
|
-
const e =
|
|
1179
|
-
if (e >= 65 && e <= 90 || e >= 97 && e <= 122 || e >= 48 && e <= 57 || e === o$1 || 95 === e || isNonASCII_IdentCodePoint(e) || e === s$1 && !isNewLine(
|
|
1181
|
+
const e = C.charCodeAt(m);
|
|
1182
|
+
if (e >= 65 && e <= 90 || e >= 97 && e <= 122 || e >= 48 && e <= 57 || e === o$1 || 95 === e || isNonASCII_IdentCodePoint(e) || e === s$1 && !isNewLine(C.codePointAt(m + 1) ?? -1)) {
|
|
1180
1183
|
let e = d.Unrestricted;
|
|
1181
1184
|
checkIfThreeCodePointsWouldStartAnIdentSequence() && (e = d.ID);
|
|
1182
1185
|
const n = consumeIdentSequence();
|
|
1183
1186
|
return [
|
|
1184
1187
|
u$1.Hash,
|
|
1185
|
-
|
|
1188
|
+
C.slice(h, k + 1),
|
|
1186
1189
|
h,
|
|
1187
1190
|
k,
|
|
1188
1191
|
{
|
|
@@ -1204,7 +1207,7 @@ function tokenizer(n, C) {
|
|
|
1204
1207
|
const e = consumeIdentSequence();
|
|
1205
1208
|
return [
|
|
1206
1209
|
u$1.AtKeyword,
|
|
1207
|
-
|
|
1210
|
+
C.slice(h, k + 1),
|
|
1208
1211
|
h,
|
|
1209
1212
|
k,
|
|
1210
1213
|
{ value: e }
|
|
@@ -1234,24 +1237,24 @@ function tokenizer(n, C) {
|
|
|
1234
1237
|
], n)), n;
|
|
1235
1238
|
}
|
|
1236
1239
|
function checkIfThreeCodePointsWouldStartAnIdentSequence(e) {
|
|
1237
|
-
const n = void 0 === e ?
|
|
1238
|
-
return n === o$1 ?
|
|
1240
|
+
const n = void 0 === e ? C.charCodeAt(m) : e;
|
|
1241
|
+
return n === o$1 ? C.charCodeAt(m + 1) === o$1 || !!isIdentStartCodePoint(C.charCodeAt(m + 1)) || C.charCodeAt(m + 1) === s$1 && !isNewLine(C.charCodeAt(m + 2)) : !!isIdentStartCodePoint(n) || C.charCodeAt(m) === s$1 && !isNewLine(C.charCodeAt(m + 1));
|
|
1239
1242
|
}
|
|
1240
1243
|
function checkIfThreeCodePointsWouldStartANumber(e) {
|
|
1241
|
-
return e === i$1 || e === o$1 ?
|
|
1244
|
+
return e === i$1 || e === o$1 ? C.charCodeAt(m + 1) >= 48 && C.charCodeAt(m + 1) <= 57 || 46 === C.charCodeAt(m + 1) && C.charCodeAt(m + 2) >= 48 && C.charCodeAt(m + 2) <= 57 : 46 === e ? C.charCodeAt(m + 1) >= 48 && C.charCodeAt(m + 1) <= 57 : e >= 48 && e <= 57;
|
|
1242
1245
|
}
|
|
1243
1246
|
return {
|
|
1244
1247
|
nextToken: function nextToken() {
|
|
1245
|
-
if (h = m, k = -1, m >=
|
|
1248
|
+
if (h = m, k = -1, m >= C.length) return [
|
|
1246
1249
|
u$1.EOF,
|
|
1247
1250
|
"",
|
|
1248
1251
|
-1,
|
|
1249
1252
|
-1,
|
|
1250
1253
|
void 0
|
|
1251
1254
|
];
|
|
1252
|
-
const e =
|
|
1253
|
-
if (47 === e && 42 ===
|
|
1254
|
-
if (f && (117 === e || 85 === e) &&
|
|
1255
|
+
const e = C.charCodeAt(m);
|
|
1256
|
+
if (47 === e && 42 === C.charCodeAt(m + 1)) return consumeComment();
|
|
1257
|
+
if (f && (117 === e || 85 === e) && C.codePointAt(m + 1) === i$1 && (63 === C.codePointAt(m + 2) || isHexDigitCodePoint(C.codePointAt(m + 2) ?? -1))) return consumeUnicodeRangeToken();
|
|
1255
1258
|
if (isIdentStartCodePoint(e)) return consumeIdentLikeToken();
|
|
1256
1259
|
if ((n = e) >= 48 && n <= 57) return consumeNumericToken();
|
|
1257
1260
|
switch (e) {
|
|
@@ -1324,10 +1327,10 @@ function tokenizer(n, C) {
|
|
|
1324
1327
|
case i$1:
|
|
1325
1328
|
case 46: return checkIfThreeCodePointsWouldStartANumber(e) ? consumeNumericToken() : (m += 1, k = m - 1, [
|
|
1326
1329
|
u$1.Delim,
|
|
1327
|
-
|
|
1330
|
+
C[h],
|
|
1328
1331
|
h,
|
|
1329
1332
|
k,
|
|
1330
|
-
{ value:
|
|
1333
|
+
{ value: C[h] }
|
|
1331
1334
|
]);
|
|
1332
1335
|
case r$1:
|
|
1333
1336
|
case t$1:
|
|
@@ -1335,18 +1338,18 @@ function tokenizer(n, C) {
|
|
|
1335
1338
|
case 9:
|
|
1336
1339
|
case 32:
|
|
1337
1340
|
{
|
|
1338
|
-
let e =
|
|
1339
|
-
for (; 32 === e || e === r$1 || 9 === e || e === t$1 || 12 === e;) m += 1, e =
|
|
1341
|
+
let e = C.charCodeAt(m);
|
|
1342
|
+
for (; 32 === e || e === r$1 || 9 === e || e === t$1 || 12 === e;) m += 1, e = C.charCodeAt(m);
|
|
1340
1343
|
k = m - 1;
|
|
1341
1344
|
}
|
|
1342
1345
|
return [
|
|
1343
1346
|
u$1.Whitespace,
|
|
1344
|
-
|
|
1347
|
+
C.slice(h, k + 1),
|
|
1345
1348
|
h,
|
|
1346
1349
|
k,
|
|
1347
1350
|
void 0
|
|
1348
1351
|
];
|
|
1349
|
-
case o$1: return checkIfThreeCodePointsWouldStartANumber(e) ? consumeNumericToken() :
|
|
1352
|
+
case o$1: return checkIfThreeCodePointsWouldStartANumber(e) ? consumeNumericToken() : C.charCodeAt(m + 1) === o$1 && 62 === C.charCodeAt(m + 2) ? (m += 3, k = m - 1, [
|
|
1350
1353
|
u$1.CDC,
|
|
1351
1354
|
"-->",
|
|
1352
1355
|
h,
|
|
@@ -1359,7 +1362,7 @@ function tokenizer(n, C) {
|
|
|
1359
1362
|
k,
|
|
1360
1363
|
{ value: "-" }
|
|
1361
1364
|
]);
|
|
1362
|
-
case 60: return 33 ===
|
|
1365
|
+
case 60: return 33 === C.charCodeAt(m + 1) && C.charCodeAt(m + 2) === o$1 && C.charCodeAt(m + 3) === o$1 ? (m += 4, k = m - 1, [
|
|
1363
1366
|
u$1.CDO,
|
|
1364
1367
|
"<!--",
|
|
1365
1368
|
h,
|
|
@@ -1373,19 +1376,19 @@ function tokenizer(n, C) {
|
|
|
1373
1376
|
{ value: "<" }
|
|
1374
1377
|
]);
|
|
1375
1378
|
case 64: return consumeAtKeywordToken();
|
|
1376
|
-
case s$1: return e !== s$1 || isNewLine(
|
|
1379
|
+
case s$1: return e !== s$1 || isNewLine(C.charCodeAt(m + 1)) ? consumeInvalidEscapeToken() : consumeIdentLikeToken();
|
|
1377
1380
|
default: return m += 1, k = m - 1, [
|
|
1378
1381
|
u$1.Delim,
|
|
1379
|
-
|
|
1382
|
+
C[h],
|
|
1380
1383
|
h,
|
|
1381
1384
|
k,
|
|
1382
|
-
{ value:
|
|
1385
|
+
{ value: C[h] }
|
|
1383
1386
|
];
|
|
1384
1387
|
}
|
|
1385
1388
|
var n;
|
|
1386
1389
|
},
|
|
1387
1390
|
endOfFile: function endOfFile() {
|
|
1388
|
-
return m >=
|
|
1391
|
+
return m >= C.length;
|
|
1389
1392
|
}
|
|
1390
1393
|
};
|
|
1391
1394
|
}
|
|
@@ -1425,9 +1428,9 @@ function insertEscapedCodePoint(e, n, t) {
|
|
|
1425
1428
|
}(a$1 || (a$1 = {})), function(e) {
|
|
1426
1429
|
e.Unrestricted = "unrestricted", e.ID = "id";
|
|
1427
1430
|
}(d || (d = {}));
|
|
1428
|
-
const
|
|
1431
|
+
const l$1 = Object.values(u$1);
|
|
1429
1432
|
function isToken(e) {
|
|
1430
|
-
return !!Array.isArray(e) && !(e.length < 4) && !!
|
|
1433
|
+
return !!Array.isArray(e) && !(e.length < 4) && !!l$1.includes(e[0]) && "string" == typeof e[1] && "number" == typeof e[2] && "number" == typeof e[3];
|
|
1431
1434
|
}
|
|
1432
1435
|
function isTokenNumeric(e) {
|
|
1433
1436
|
if (!e) return !1;
|
|
@@ -1498,7 +1501,7 @@ function isTokenOpenCurly(e) {
|
|
|
1498
1501
|
return !!e && e[0] === u$1.OpenCurly;
|
|
1499
1502
|
}
|
|
1500
1503
|
//#endregion
|
|
1501
|
-
//#region ../../node_modules/.pnpm/@csstools+color-helpers@6.1.
|
|
1504
|
+
//#region ../../node_modules/.pnpm/@csstools+color-helpers@6.1.2/node_modules/@csstools/color-helpers/dist/index.mjs
|
|
1502
1505
|
function multiplyMatrices(_, t) {
|
|
1503
1506
|
return [
|
|
1504
1507
|
_[0] * t[0] + _[1] * t[1] + _[2] * t[2],
|
|
@@ -2032,10 +2035,10 @@ const h = [
|
|
|
2032
2035
|
lin_ProPhoto_channel(_[2])
|
|
2033
2036
|
];
|
|
2034
2037
|
}
|
|
2035
|
-
const f
|
|
2038
|
+
const f = 16 / 512;
|
|
2036
2039
|
function lin_ProPhoto_channel(_) {
|
|
2037
2040
|
const t = _ < 0 ? -1 : 1, n = Math.abs(_);
|
|
2038
|
-
return n <= f
|
|
2041
|
+
return n <= f ? _ / 16 : t * Math.pow(n, 1.8);
|
|
2039
2042
|
}
|
|
2040
2043
|
const m = [
|
|
2041
2044
|
.7977666449006423,
|
|
@@ -3166,54 +3169,60 @@ function contrast_ratio_wcag_2_1(_, t) {
|
|
|
3166
3169
|
return (Math.max(n, o) + .05) / (Math.min(n, o) + .05);
|
|
3167
3170
|
}
|
|
3168
3171
|
//#endregion
|
|
3169
|
-
//#region ../../node_modules/.pnpm/@csstools+css-parser-algorithms@4.0.
|
|
3170
|
-
var
|
|
3172
|
+
//#region ../../node_modules/.pnpm/@csstools+css-parser-algorithms@4.0.1_@csstools+css-tokenizer@4.0.2/node_modules/@csstools/css-parser-algorithms/dist/index.mjs
|
|
3173
|
+
var k$1;
|
|
3171
3174
|
function walkerIndexGenerator(e) {
|
|
3172
|
-
let n = e.slice();
|
|
3173
|
-
return (e,
|
|
3174
|
-
|
|
3175
|
-
|
|
3176
|
-
|
|
3175
|
+
let n, t = e.slice(), o = -1;
|
|
3176
|
+
return (e, s, i) => {
|
|
3177
|
+
if (e === n && e.length === o && e[i] === s) {
|
|
3178
|
+
o = e.length;
|
|
3179
|
+
const n = i + 1;
|
|
3180
|
+
return n < e.length ? n : -1;
|
|
3181
|
+
}
|
|
3182
|
+
let r = -1;
|
|
3183
|
+
for (let n = t.indexOf(s); n < t.length && (r = e.indexOf(t[n]), -1 === r || r < i); n++);
|
|
3184
|
+
return -1 === r || r === i && s === e[i] && (r++, r >= e.length) ? (n = e, o = e.length, -1) : (t = e.slice(), n = e, o = e.length, r);
|
|
3177
3185
|
};
|
|
3178
3186
|
}
|
|
3179
|
-
function
|
|
3180
|
-
|
|
3181
|
-
|
|
3182
|
-
|
|
3187
|
+
(function(e) {
|
|
3188
|
+
e.Function = "function", e.SimpleBlock = "simple-block", e.Whitespace = "whitespace", e.Comment = "comment", e.Token = "token";
|
|
3189
|
+
})(k$1 || (k$1 = {}));
|
|
3190
|
+
const N = 512;
|
|
3191
|
+
function consumeComponentValue(e, n, t = 0, o = 0) {
|
|
3192
|
+
const s = n[t];
|
|
3193
|
+
if (isTokenOpenParen(s) || isTokenOpenCurly(s) || isTokenOpenSquare(s)) {
|
|
3194
|
+
const s = consumeSimpleBlock(e, n, t, o);
|
|
3183
3195
|
return {
|
|
3184
|
-
advance:
|
|
3185
|
-
node:
|
|
3196
|
+
advance: s.advance,
|
|
3197
|
+
node: s.node
|
|
3186
3198
|
};
|
|
3187
3199
|
}
|
|
3188
|
-
if (isTokenFunction(
|
|
3189
|
-
const
|
|
3200
|
+
if (isTokenFunction(s)) {
|
|
3201
|
+
const s = consumeFunction(e, n, t, o);
|
|
3190
3202
|
return {
|
|
3191
|
-
advance:
|
|
3192
|
-
node:
|
|
3203
|
+
advance: s.advance,
|
|
3204
|
+
node: s.node
|
|
3193
3205
|
};
|
|
3194
3206
|
}
|
|
3195
|
-
if (isTokenWhitespace(
|
|
3196
|
-
const
|
|
3207
|
+
if (isTokenWhitespace(s)) {
|
|
3208
|
+
const o = consumeWhitespace(e, n, t);
|
|
3197
3209
|
return {
|
|
3198
|
-
advance:
|
|
3199
|
-
node:
|
|
3210
|
+
advance: o.advance,
|
|
3211
|
+
node: o.node
|
|
3200
3212
|
};
|
|
3201
3213
|
}
|
|
3202
|
-
if (isTokenComment(
|
|
3203
|
-
const
|
|
3214
|
+
if (isTokenComment(s)) {
|
|
3215
|
+
const o = consumeComment(e, n, t);
|
|
3204
3216
|
return {
|
|
3205
|
-
advance:
|
|
3206
|
-
node:
|
|
3217
|
+
advance: o.advance,
|
|
3218
|
+
node: o.node
|
|
3207
3219
|
};
|
|
3208
3220
|
}
|
|
3209
3221
|
return {
|
|
3210
3222
|
advance: 1,
|
|
3211
|
-
node: new TokenNode(
|
|
3223
|
+
node: new TokenNode(s)
|
|
3212
3224
|
};
|
|
3213
3225
|
}
|
|
3214
|
-
(function(e) {
|
|
3215
|
-
e.Function = "function", e.SimpleBlock = "simple-block", e.Whitespace = "whitespace", e.Comment = "comment", e.Token = "token";
|
|
3216
|
-
})(f || (f = {}));
|
|
3217
3226
|
var ContainerNodeBaseClass = class {
|
|
3218
3227
|
value = [];
|
|
3219
3228
|
indexOf(e) {
|
|
@@ -3238,11 +3247,11 @@ var ContainerNodeBaseClass = class {
|
|
|
3238
3247
|
}
|
|
3239
3248
|
}
|
|
3240
3249
|
walk(e, n) {
|
|
3241
|
-
0 !== this.value.length && this.forEach((n, t) => !1 !== e(n, t) && (!("walk" in n.node) || !this.value.includes(n.node) || !1 !== n.node.walk(e, n.state)) && void 0, n);
|
|
3250
|
+
0 !== this.value.length && this.forEach((n, t) => !1 !== e(n, t) && (!("walk" in n.node) || !("number" == typeof t && this.value[t] === n.node || this.value.includes(n.node)) || !1 !== n.node.walk(e, n.state)) && void 0, n);
|
|
3242
3251
|
}
|
|
3243
3252
|
};
|
|
3244
3253
|
var FunctionNode = class FunctionNode extends ContainerNodeBaseClass {
|
|
3245
|
-
type =
|
|
3254
|
+
type = k$1.Function;
|
|
3246
3255
|
name;
|
|
3247
3256
|
endToken;
|
|
3248
3257
|
constructor(e, n, t) {
|
|
@@ -3268,8 +3277,8 @@ var FunctionNode = class FunctionNode extends ContainerNodeBaseClass {
|
|
|
3268
3277
|
];
|
|
3269
3278
|
}
|
|
3270
3279
|
toString() {
|
|
3271
|
-
const
|
|
3272
|
-
return stringify(this.name) +
|
|
3280
|
+
const n = this.value.map((n) => isToken(n) ? stringify(n) : n.toString()).join("");
|
|
3281
|
+
return stringify(this.name) + n + stringify(this.endToken);
|
|
3273
3282
|
}
|
|
3274
3283
|
toJSON() {
|
|
3275
3284
|
return {
|
|
@@ -3283,33 +3292,35 @@ var FunctionNode = class FunctionNode extends ContainerNodeBaseClass {
|
|
|
3283
3292
|
return FunctionNode.isFunctionNode(this);
|
|
3284
3293
|
}
|
|
3285
3294
|
static isFunctionNode(e) {
|
|
3286
|
-
return !!e && e instanceof FunctionNode && e.type ===
|
|
3295
|
+
return !!e && e instanceof FunctionNode && e.type === k$1.Function;
|
|
3287
3296
|
}
|
|
3288
3297
|
};
|
|
3289
|
-
function consumeFunction(
|
|
3290
|
-
|
|
3291
|
-
|
|
3298
|
+
function consumeFunction(e, t, o, s) {
|
|
3299
|
+
if (s >= N) throw new Error("Maximum nesting depth of 512 exceeded, reduce the complexity of your stylesheet.");
|
|
3300
|
+
const i = [];
|
|
3301
|
+
let r = o + 1;
|
|
3292
3302
|
for (;;) {
|
|
3293
|
-
const
|
|
3294
|
-
if (!
|
|
3295
|
-
advance: t.length,
|
|
3296
|
-
node: new FunctionNode(t[
|
|
3303
|
+
const a = t[r];
|
|
3304
|
+
if (!a || isTokenEOF(a)) return e.onParseError(new ParseError$1("Unexpected EOF while consuming a function.", t[o][2], t[t.length - 1][3], ["5.4.9. Consume a function", "Unexpected EOF"])), {
|
|
3305
|
+
advance: t.length - o,
|
|
3306
|
+
node: new FunctionNode(t[o], a, i)
|
|
3297
3307
|
};
|
|
3298
|
-
if (isTokenCloseParen(
|
|
3299
|
-
advance:
|
|
3300
|
-
node: new FunctionNode(t[
|
|
3308
|
+
if (isTokenCloseParen(a)) return {
|
|
3309
|
+
advance: r - o + 1,
|
|
3310
|
+
node: new FunctionNode(t[o], a, i)
|
|
3301
3311
|
};
|
|
3302
|
-
if (isTokenWhiteSpaceOrComment(
|
|
3303
|
-
const
|
|
3304
|
-
|
|
3312
|
+
if (isTokenWhiteSpaceOrComment(a)) {
|
|
3313
|
+
const n = consumeAllCommentsAndWhitespace(e, t, r);
|
|
3314
|
+
r += n.advance;
|
|
3315
|
+
for (let e = 0; e < n.nodes.length; e++) i.push(n.nodes[e]);
|
|
3305
3316
|
continue;
|
|
3306
3317
|
}
|
|
3307
|
-
const
|
|
3308
|
-
|
|
3318
|
+
const c = consumeComponentValue(e, t, r, s + 1);
|
|
3319
|
+
r += c.advance, i.push(c.node);
|
|
3309
3320
|
}
|
|
3310
3321
|
}
|
|
3311
3322
|
var SimpleBlockNode = class SimpleBlockNode extends ContainerNodeBaseClass {
|
|
3312
|
-
type =
|
|
3323
|
+
type = k$1.SimpleBlock;
|
|
3313
3324
|
startToken;
|
|
3314
3325
|
endToken;
|
|
3315
3326
|
constructor(e, n, t) {
|
|
@@ -3329,8 +3340,8 @@ var SimpleBlockNode = class SimpleBlockNode extends ContainerNodeBaseClass {
|
|
|
3329
3340
|
];
|
|
3330
3341
|
}
|
|
3331
3342
|
toString() {
|
|
3332
|
-
const
|
|
3333
|
-
return stringify(this.startToken) +
|
|
3343
|
+
const n = this.value.map((n) => isToken(n) ? stringify(n) : n.toString()).join("");
|
|
3344
|
+
return stringify(this.startToken) + n + stringify(this.endToken);
|
|
3334
3345
|
}
|
|
3335
3346
|
toJSON() {
|
|
3336
3347
|
return {
|
|
@@ -3344,35 +3355,37 @@ var SimpleBlockNode = class SimpleBlockNode extends ContainerNodeBaseClass {
|
|
|
3344
3355
|
return SimpleBlockNode.isSimpleBlockNode(this);
|
|
3345
3356
|
}
|
|
3346
3357
|
static isSimpleBlockNode(e) {
|
|
3347
|
-
return !!e && e instanceof SimpleBlockNode && e.type ===
|
|
3358
|
+
return !!e && e instanceof SimpleBlockNode && e.type === k$1.SimpleBlock;
|
|
3348
3359
|
}
|
|
3349
3360
|
};
|
|
3350
|
-
function consumeSimpleBlock(
|
|
3351
|
-
|
|
3352
|
-
|
|
3353
|
-
|
|
3354
|
-
|
|
3361
|
+
function consumeSimpleBlock(e, t, o, s) {
|
|
3362
|
+
if (s >= N) throw new Error("Maximum nesting depth of 512 exceeded, reduce the complexity of your stylesheet.");
|
|
3363
|
+
const i = mirrorVariantType(t[o][0]);
|
|
3364
|
+
if (!i) throw new Error("Failed to parse, a mirror variant must exist for all block open tokens.");
|
|
3365
|
+
const r = [];
|
|
3366
|
+
let a = o + 1;
|
|
3355
3367
|
for (;;) {
|
|
3356
|
-
const
|
|
3357
|
-
if (!
|
|
3358
|
-
advance: t.length,
|
|
3359
|
-
node: new SimpleBlockNode(t[
|
|
3368
|
+
const c = t[a];
|
|
3369
|
+
if (!c || isTokenEOF(c)) return e.onParseError(new ParseError$1("Unexpected EOF while consuming a simple block.", t[o][2], t[t.length - 1][3], ["5.4.8. Consume a simple block", "Unexpected EOF"])), {
|
|
3370
|
+
advance: t.length - o,
|
|
3371
|
+
node: new SimpleBlockNode(t[o], c, r)
|
|
3360
3372
|
};
|
|
3361
|
-
if (
|
|
3362
|
-
advance:
|
|
3363
|
-
node: new SimpleBlockNode(t[
|
|
3373
|
+
if (c[0] === i) return {
|
|
3374
|
+
advance: a - o + 1,
|
|
3375
|
+
node: new SimpleBlockNode(t[o], c, r)
|
|
3364
3376
|
};
|
|
3365
|
-
if (isTokenWhiteSpaceOrComment(
|
|
3366
|
-
const
|
|
3367
|
-
|
|
3377
|
+
if (isTokenWhiteSpaceOrComment(c)) {
|
|
3378
|
+
const n = consumeAllCommentsAndWhitespace(e, t, a);
|
|
3379
|
+
a += n.advance;
|
|
3380
|
+
for (let e = 0; e < n.nodes.length; e++) r.push(n.nodes[e]);
|
|
3368
3381
|
continue;
|
|
3369
3382
|
}
|
|
3370
|
-
const
|
|
3371
|
-
|
|
3383
|
+
const u = consumeComponentValue(e, t, a, s + 1);
|
|
3384
|
+
a += u.advance, r.push(u.node);
|
|
3372
3385
|
}
|
|
3373
3386
|
}
|
|
3374
3387
|
var WhitespaceNode = class WhitespaceNode {
|
|
3375
|
-
type =
|
|
3388
|
+
type = k$1.Whitespace;
|
|
3376
3389
|
value;
|
|
3377
3390
|
constructor(e) {
|
|
3378
3391
|
this.value = e;
|
|
@@ -3381,7 +3394,7 @@ var WhitespaceNode = class WhitespaceNode {
|
|
|
3381
3394
|
return this.value;
|
|
3382
3395
|
}
|
|
3383
3396
|
toString() {
|
|
3384
|
-
return stringify(
|
|
3397
|
+
return stringify(this.value);
|
|
3385
3398
|
}
|
|
3386
3399
|
toJSON() {
|
|
3387
3400
|
return {
|
|
@@ -3393,22 +3406,22 @@ var WhitespaceNode = class WhitespaceNode {
|
|
|
3393
3406
|
return WhitespaceNode.isWhitespaceNode(this);
|
|
3394
3407
|
}
|
|
3395
3408
|
static isWhitespaceNode(e) {
|
|
3396
|
-
return !!e && e instanceof WhitespaceNode && e.type ===
|
|
3409
|
+
return !!e && e instanceof WhitespaceNode && e.type === k$1.Whitespace;
|
|
3397
3410
|
}
|
|
3398
3411
|
};
|
|
3399
|
-
function consumeWhitespace(e, n) {
|
|
3400
|
-
let
|
|
3412
|
+
function consumeWhitespace(e, n, t) {
|
|
3413
|
+
let o = t;
|
|
3401
3414
|
for (;;) {
|
|
3402
|
-
const e = n[
|
|
3415
|
+
const e = n[o];
|
|
3403
3416
|
if (!isTokenWhitespace(e)) return {
|
|
3404
|
-
advance: t,
|
|
3405
|
-
node: new WhitespaceNode(n.slice(
|
|
3417
|
+
advance: o - t,
|
|
3418
|
+
node: new WhitespaceNode(n.slice(t, o))
|
|
3406
3419
|
};
|
|
3407
|
-
|
|
3420
|
+
o++;
|
|
3408
3421
|
}
|
|
3409
3422
|
}
|
|
3410
3423
|
var CommentNode = class CommentNode {
|
|
3411
|
-
type =
|
|
3424
|
+
type = k$1.Comment;
|
|
3412
3425
|
value;
|
|
3413
3426
|
constructor(e) {
|
|
3414
3427
|
this.value = e;
|
|
@@ -3429,33 +3442,33 @@ var CommentNode = class CommentNode {
|
|
|
3429
3442
|
return CommentNode.isCommentNode(this);
|
|
3430
3443
|
}
|
|
3431
3444
|
static isCommentNode(e) {
|
|
3432
|
-
return !!e && e instanceof CommentNode && e.type ===
|
|
3445
|
+
return !!e && e instanceof CommentNode && e.type === k$1.Comment;
|
|
3433
3446
|
}
|
|
3434
3447
|
};
|
|
3435
|
-
function consumeComment(e, n) {
|
|
3448
|
+
function consumeComment(e, n, t) {
|
|
3436
3449
|
return {
|
|
3437
3450
|
advance: 1,
|
|
3438
|
-
node: new CommentNode(n[
|
|
3451
|
+
node: new CommentNode(n[t])
|
|
3439
3452
|
};
|
|
3440
3453
|
}
|
|
3441
|
-
function consumeAllCommentsAndWhitespace(e, n) {
|
|
3442
|
-
const
|
|
3443
|
-
let
|
|
3454
|
+
function consumeAllCommentsAndWhitespace(e, n, t) {
|
|
3455
|
+
const o = [];
|
|
3456
|
+
let s = t;
|
|
3444
3457
|
for (;;) {
|
|
3445
|
-
if (isTokenWhitespace(n[
|
|
3446
|
-
const e = consumeWhitespace(0, n
|
|
3447
|
-
|
|
3458
|
+
if (isTokenWhitespace(n[s])) {
|
|
3459
|
+
const e = consumeWhitespace(0, n, s);
|
|
3460
|
+
s += e.advance, o.push(e.node);
|
|
3448
3461
|
continue;
|
|
3449
3462
|
}
|
|
3450
|
-
if (!isTokenComment(n[
|
|
3451
|
-
advance:
|
|
3452
|
-
nodes:
|
|
3463
|
+
if (!isTokenComment(n[s])) return {
|
|
3464
|
+
advance: s - t,
|
|
3465
|
+
nodes: o
|
|
3453
3466
|
};
|
|
3454
|
-
|
|
3467
|
+
o.push(new CommentNode(n[s])), s++;
|
|
3455
3468
|
}
|
|
3456
3469
|
}
|
|
3457
3470
|
var TokenNode = class TokenNode {
|
|
3458
|
-
type =
|
|
3471
|
+
type = k$1.Token;
|
|
3459
3472
|
value;
|
|
3460
3473
|
constructor(e) {
|
|
3461
3474
|
this.value = e;
|
|
@@ -3476,11 +3489,12 @@ var TokenNode = class TokenNode {
|
|
|
3476
3489
|
return TokenNode.isTokenNode(this);
|
|
3477
3490
|
}
|
|
3478
3491
|
static isTokenNode(e) {
|
|
3479
|
-
return !!e && e instanceof TokenNode && e.type ===
|
|
3492
|
+
return !!e && e instanceof TokenNode && e.type === k$1.Token;
|
|
3480
3493
|
}
|
|
3481
3494
|
};
|
|
3482
|
-
function parseComponentValue(
|
|
3483
|
-
const s = { onParseError: o?.onParseError ?? (() => {}) }, i = [...
|
|
3495
|
+
function parseComponentValue(e, o) {
|
|
3496
|
+
const s = { onParseError: o?.onParseError ?? (() => {}) }, i = [...e];
|
|
3497
|
+
if (0 === i.length) return;
|
|
3484
3498
|
isTokenEOF(i[i.length - 1]) || i.push([
|
|
3485
3499
|
u$1.EOF,
|
|
3486
3500
|
"",
|
|
@@ -3490,7 +3504,7 @@ function parseComponentValue(t, o) {
|
|
|
3490
3504
|
]);
|
|
3491
3505
|
const r = consumeComponentValue(s, i);
|
|
3492
3506
|
if (isTokenEOF(i[Math.min(r.advance, i.length - 1)])) return r.node;
|
|
3493
|
-
s.onParseError(new ParseError$1("Expected EOF after parsing a component value.",
|
|
3507
|
+
s.onParseError(new ParseError$1("Expected EOF after parsing a component value.", e[0][2], e[e.length - 1][3], ["5.3.9. Parse a component value", "Expected EOF"]));
|
|
3494
3508
|
}
|
|
3495
3509
|
function forEach(e, n, t) {
|
|
3496
3510
|
if (0 === e.length) return;
|
|
@@ -3508,7 +3522,7 @@ function forEach(e, n, t) {
|
|
|
3508
3522
|
}
|
|
3509
3523
|
}
|
|
3510
3524
|
function walk(e, n, t) {
|
|
3511
|
-
0 !== e.length && forEach(e, (t, o) => !1 !== n(t, o) && (!("walk" in t.node) || !e.includes(t.node) || !1 !== t.node.walk(n, t.state)) && void 0, t);
|
|
3525
|
+
0 !== e.length && forEach(e, (t, o) => !1 !== n(t, o) && (!("walk" in t.node) || !("number" == typeof o && e[o] === t.node || e.includes(t.node)) || !1 !== t.node.walk(n, t.state)) && void 0, t);
|
|
3512
3526
|
}
|
|
3513
3527
|
function replaceComponentValues$1(e, n) {
|
|
3514
3528
|
for (let t = 0; t < e.length; t++) walk(e[t], (e, t) => {
|
|
@@ -3547,7 +3561,7 @@ function sourceIndices(e) {
|
|
|
3547
3561
|
return t && o ? [t[2], o[3]] : [0, 0];
|
|
3548
3562
|
}
|
|
3549
3563
|
//#endregion
|
|
3550
|
-
//#region ../../node_modules/.pnpm/@csstools+css-calc@3.4.
|
|
3564
|
+
//#region ../../node_modules/.pnpm/@csstools+css-calc@3.4.1_@csstools+css-parser-algorithms@4.0.1_@csstools+css-tokenizer@_c27b91014f1d16725d86a05c76dde1c4/node_modules/@csstools/css-calc/dist/index.mjs
|
|
3551
3565
|
var ParseError = class extends Error {
|
|
3552
3566
|
sourceStart;
|
|
3553
3567
|
sourceEnd;
|
|
@@ -3561,15 +3575,15 @@ var ParseErrorWithComponentValues = class extends ParseError {
|
|
|
3561
3575
|
super(n, ...sourceIndices(t)), this.componentValues = t;
|
|
3562
3576
|
}
|
|
3563
3577
|
};
|
|
3564
|
-
const
|
|
3578
|
+
const S = {
|
|
3565
3579
|
UnexpectedAdditionOfDimensionOrPercentageWithNumber: "Unexpected addition of a dimension or percentage with a number.",
|
|
3566
3580
|
UnexpectedSubtractionOfDimensionOrPercentageWithNumber: "Unexpected subtraction of a dimension or percentage with a number."
|
|
3567
3581
|
};
|
|
3568
|
-
const
|
|
3582
|
+
const y = /[A-Z]/g;
|
|
3569
3583
|
function toLowerCaseAZ$1(e) {
|
|
3570
|
-
return e.replace(
|
|
3584
|
+
return e.replace(y, (e) => String.fromCharCode(e.charCodeAt(0) + 32));
|
|
3571
3585
|
}
|
|
3572
|
-
const
|
|
3586
|
+
const I = {
|
|
3573
3587
|
cm: "px",
|
|
3574
3588
|
in: "px",
|
|
3575
3589
|
mm: "px",
|
|
@@ -3586,7 +3600,7 @@ const M = {
|
|
|
3586
3600
|
hz: "hz",
|
|
3587
3601
|
khz: "hz"
|
|
3588
3602
|
};
|
|
3589
|
-
const
|
|
3603
|
+
const x = /* @__PURE__ */ new Map([
|
|
3590
3604
|
["cm", (e) => e],
|
|
3591
3605
|
["mm", (e) => 10 * e],
|
|
3592
3606
|
["q", (e) => 40 * e],
|
|
@@ -3595,20 +3609,20 @@ const T = /* @__PURE__ */ new Map([
|
|
|
3595
3609
|
["pt", (e) => e / 2.54 * 72],
|
|
3596
3610
|
["px", (e) => e / 2.54 * 96]
|
|
3597
3611
|
]);
|
|
3598
|
-
const
|
|
3612
|
+
const M = /* @__PURE__ */ new Map([
|
|
3599
3613
|
["deg", (e) => e],
|
|
3600
3614
|
["grad", (e) => e / .9],
|
|
3601
3615
|
["rad", (e) => e / 180 * Math.PI],
|
|
3602
3616
|
["turn", (e) => e / 360]
|
|
3603
3617
|
]);
|
|
3604
|
-
const
|
|
3618
|
+
const T = /* @__PURE__ */ new Map([
|
|
3605
3619
|
["deg", (e) => .9 * e],
|
|
3606
3620
|
["grad", (e) => e],
|
|
3607
3621
|
["rad", (e) => .9 * e / 180 * Math.PI],
|
|
3608
3622
|
["turn", (e) => .9 * e / 360]
|
|
3609
3623
|
]);
|
|
3610
|
-
const
|
|
3611
|
-
const
|
|
3624
|
+
const P = /* @__PURE__ */ new Map([["hz", (e) => e], ["khz", (e) => e / 1e3]]);
|
|
3625
|
+
const k = /* @__PURE__ */ new Map([
|
|
3612
3626
|
["cm", (e) => 2.54 * e],
|
|
3613
3627
|
["mm", (e) => 25.4 * e],
|
|
3614
3628
|
["q", (e) => 25.4 * e * 4],
|
|
@@ -3617,8 +3631,8 @@ const O = /* @__PURE__ */ new Map([
|
|
|
3617
3631
|
["pt", (e) => 72 * e],
|
|
3618
3632
|
["px", (e) => 96 * e]
|
|
3619
3633
|
]);
|
|
3620
|
-
const
|
|
3621
|
-
const
|
|
3634
|
+
const W = /* @__PURE__ */ new Map([["hz", (e) => 1e3 * e], ["khz", (e) => e]]);
|
|
3635
|
+
const O = /* @__PURE__ */ new Map([
|
|
3622
3636
|
["cm", (e) => e / 10],
|
|
3623
3637
|
["mm", (e) => e],
|
|
3624
3638
|
["q", (e) => 4 * e],
|
|
@@ -3627,8 +3641,8 @@ const L = /* @__PURE__ */ new Map([
|
|
|
3627
3641
|
["pt", (e) => e / 25.4 * 72],
|
|
3628
3642
|
["px", (e) => e / 25.4 * 96]
|
|
3629
3643
|
]);
|
|
3630
|
-
const
|
|
3631
|
-
const
|
|
3644
|
+
const U = /* @__PURE__ */ new Map([["ms", (e) => e], ["s", (e) => e / 1e3]]);
|
|
3645
|
+
const L = /* @__PURE__ */ new Map([
|
|
3632
3646
|
["cm", (e) => e / 6 * 2.54],
|
|
3633
3647
|
["mm", (e) => e / 6 * 25.4],
|
|
3634
3648
|
["q", (e) => e / 6 * 25.4 * 4],
|
|
@@ -3637,7 +3651,7 @@ const V = /* @__PURE__ */ new Map([
|
|
|
3637
3651
|
["pt", (e) => e / 6 * 72],
|
|
3638
3652
|
["px", (e) => e / 6 * 96]
|
|
3639
3653
|
]);
|
|
3640
|
-
const
|
|
3654
|
+
const $ = /* @__PURE__ */ new Map([
|
|
3641
3655
|
["cm", (e) => e / 72 * 2.54],
|
|
3642
3656
|
["mm", (e) => e / 72 * 25.4],
|
|
3643
3657
|
["q", (e) => e / 72 * 25.4 * 4],
|
|
@@ -3646,7 +3660,7 @@ const Z = /* @__PURE__ */ new Map([
|
|
|
3646
3660
|
["pt", (e) => e],
|
|
3647
3661
|
["px", (e) => e / 72 * 96]
|
|
3648
3662
|
]);
|
|
3649
|
-
const
|
|
3663
|
+
const V = /* @__PURE__ */ new Map([
|
|
3650
3664
|
["cm", (e) => e / 96 * 2.54],
|
|
3651
3665
|
["mm", (e) => e / 96 * 25.4],
|
|
3652
3666
|
["q", (e) => e / 96 * 25.4 * 4],
|
|
@@ -3655,7 +3669,7 @@ const z = /* @__PURE__ */ new Map([
|
|
|
3655
3669
|
["pt", (e) => e / 96 * 72],
|
|
3656
3670
|
["px", (e) => e]
|
|
3657
3671
|
]);
|
|
3658
|
-
const
|
|
3672
|
+
const Z = /* @__PURE__ */ new Map([
|
|
3659
3673
|
["cm", (e) => e / 4 / 10],
|
|
3660
3674
|
["mm", (e) => e / 4],
|
|
3661
3675
|
["q", (e) => e],
|
|
@@ -3664,123 +3678,123 @@ const q = /* @__PURE__ */ new Map([
|
|
|
3664
3678
|
["pt", (e) => e / 4 / 25.4 * 72],
|
|
3665
3679
|
["px", (e) => e / 4 / 25.4 * 96]
|
|
3666
3680
|
]);
|
|
3667
|
-
const
|
|
3681
|
+
const z = /* @__PURE__ */ new Map([
|
|
3668
3682
|
["deg", (e) => 180 * e / Math.PI],
|
|
3669
3683
|
["grad", (e) => 180 * e / Math.PI / .9],
|
|
3670
3684
|
["rad", (e) => e],
|
|
3671
3685
|
["turn", (e) => 180 * e / Math.PI / 360]
|
|
3672
3686
|
]);
|
|
3673
|
-
const
|
|
3674
|
-
const
|
|
3687
|
+
const q = /* @__PURE__ */ new Map([["ms", (e) => 1e3 * e], ["s", (e) => e]]);
|
|
3688
|
+
const R = /* @__PURE__ */ new Map([
|
|
3675
3689
|
["deg", (e) => 360 * e],
|
|
3676
3690
|
["grad", (e) => 360 * e / .9],
|
|
3677
3691
|
["rad", (e) => 360 * e / 180 * Math.PI],
|
|
3678
3692
|
["turn", (e) => e]
|
|
3679
3693
|
]);
|
|
3680
|
-
const
|
|
3681
|
-
["cm",
|
|
3682
|
-
["mm",
|
|
3683
|
-
["q",
|
|
3684
|
-
["in",
|
|
3685
|
-
["pc",
|
|
3686
|
-
["pt",
|
|
3687
|
-
["px",
|
|
3688
|
-
["ms",
|
|
3689
|
-
["s",
|
|
3690
|
-
["deg",
|
|
3691
|
-
["grad",
|
|
3692
|
-
["rad",
|
|
3693
|
-
["turn",
|
|
3694
|
-
["hz",
|
|
3695
|
-
["khz",
|
|
3694
|
+
const G = /* @__PURE__ */ new Map([
|
|
3695
|
+
["cm", x],
|
|
3696
|
+
["mm", O],
|
|
3697
|
+
["q", Z],
|
|
3698
|
+
["in", k],
|
|
3699
|
+
["pc", L],
|
|
3700
|
+
["pt", $],
|
|
3701
|
+
["px", V],
|
|
3702
|
+
["ms", U],
|
|
3703
|
+
["s", q],
|
|
3704
|
+
["deg", M],
|
|
3705
|
+
["grad", T],
|
|
3706
|
+
["rad", z],
|
|
3707
|
+
["turn", R],
|
|
3708
|
+
["hz", P],
|
|
3709
|
+
["khz", W]
|
|
3696
3710
|
]);
|
|
3697
3711
|
function convertUnit(e, n) {
|
|
3698
3712
|
if (!isTokenDimension(e)) return n;
|
|
3699
3713
|
if (!isTokenDimension(n)) return n;
|
|
3700
3714
|
const t = toLowerCaseAZ$1(e[4].unit), r = toLowerCaseAZ$1(n[4].unit);
|
|
3701
3715
|
if (t === r) return n;
|
|
3702
|
-
const
|
|
3703
|
-
if (!a) return n;
|
|
3704
|
-
const u = a.get(t);
|
|
3716
|
+
const u = G.get(r);
|
|
3705
3717
|
if (!u) return n;
|
|
3706
|
-
const
|
|
3718
|
+
const a = u.get(t);
|
|
3719
|
+
if (!a) return n;
|
|
3720
|
+
const i = a(n[4].value), o = [
|
|
3707
3721
|
u$1.Dimension,
|
|
3708
3722
|
"",
|
|
3709
3723
|
n[2],
|
|
3710
3724
|
n[3],
|
|
3711
3725
|
{
|
|
3712
3726
|
...n[4],
|
|
3713
|
-
signCharacter:
|
|
3714
|
-
type: Number.isInteger(
|
|
3715
|
-
value:
|
|
3727
|
+
signCharacter: i < 0 ? "-" : void 0,
|
|
3728
|
+
type: Number.isInteger(i) ? a$1.Integer : a$1.Number,
|
|
3729
|
+
value: i
|
|
3716
3730
|
}
|
|
3717
3731
|
];
|
|
3718
|
-
return mutateUnit(
|
|
3732
|
+
return mutateUnit(o, e[4].unit), o;
|
|
3719
3733
|
}
|
|
3720
3734
|
function toCanonicalUnit(e) {
|
|
3721
3735
|
if (!isTokenDimension(e)) return e;
|
|
3722
|
-
const n = toLowerCaseAZ$1(e[4].unit), t =
|
|
3736
|
+
const n = toLowerCaseAZ$1(e[4].unit), t = I[n];
|
|
3723
3737
|
if (n === t) return e;
|
|
3724
|
-
const r =
|
|
3738
|
+
const r = G.get(n);
|
|
3725
3739
|
if (!r) return e;
|
|
3726
|
-
const
|
|
3727
|
-
if (!
|
|
3728
|
-
const
|
|
3740
|
+
const u = r.get(t);
|
|
3741
|
+
if (!u) return e;
|
|
3742
|
+
const a = u(e[4].value), i = [
|
|
3729
3743
|
u$1.Dimension,
|
|
3730
3744
|
"",
|
|
3731
3745
|
e[2],
|
|
3732
3746
|
e[3],
|
|
3733
3747
|
{
|
|
3734
3748
|
...e[4],
|
|
3735
|
-
signCharacter:
|
|
3736
|
-
type: Number.isInteger(
|
|
3737
|
-
value:
|
|
3749
|
+
signCharacter: a < 0 ? "-" : void 0,
|
|
3750
|
+
type: Number.isInteger(a) ? a$1.Integer : a$1.Number,
|
|
3751
|
+
value: a
|
|
3738
3752
|
}
|
|
3739
3753
|
];
|
|
3740
|
-
return mutateUnit(
|
|
3754
|
+
return mutateUnit(i, t), i;
|
|
3741
3755
|
}
|
|
3742
3756
|
function addition(e, t) {
|
|
3743
3757
|
if (2 !== e.length) return -1;
|
|
3744
3758
|
const r = e[0].value;
|
|
3745
|
-
let
|
|
3746
|
-
if (isTokenNumber(r) && isTokenNumber(
|
|
3747
|
-
const e = r[4].value +
|
|
3759
|
+
let u = e[1].value;
|
|
3760
|
+
if (isTokenNumber(r) && isTokenNumber(u)) {
|
|
3761
|
+
const e = r[4].value + u[4].value;
|
|
3748
3762
|
return new TokenNode([
|
|
3749
3763
|
u$1.Number,
|
|
3750
3764
|
e.toString(),
|
|
3751
3765
|
r[2],
|
|
3752
|
-
|
|
3766
|
+
u[3],
|
|
3753
3767
|
{
|
|
3754
3768
|
value: e,
|
|
3755
|
-
type: r[4].type === a$1.Integer &&
|
|
3769
|
+
type: r[4].type === a$1.Integer && u[4].type === a$1.Integer ? a$1.Integer : a$1.Number
|
|
3756
3770
|
}
|
|
3757
3771
|
]);
|
|
3758
3772
|
}
|
|
3759
|
-
if (isTokenPercentage(r) && isTokenPercentage(
|
|
3760
|
-
const e = r[4].value +
|
|
3773
|
+
if (isTokenPercentage(r) && isTokenPercentage(u)) {
|
|
3774
|
+
const e = r[4].value + u[4].value;
|
|
3761
3775
|
return new TokenNode([
|
|
3762
3776
|
u$1.Percentage,
|
|
3763
3777
|
e.toString() + "%",
|
|
3764
3778
|
r[2],
|
|
3765
|
-
|
|
3779
|
+
u[3],
|
|
3766
3780
|
{ value: e }
|
|
3767
3781
|
]);
|
|
3768
3782
|
}
|
|
3769
|
-
if (isTokenDimension(r) && isTokenDimension(
|
|
3770
|
-
const e = r[4].value +
|
|
3783
|
+
if (isTokenDimension(r) && isTokenDimension(u) && (u = convertUnit(r, u), toLowerCaseAZ$1(r[4].unit) === toLowerCaseAZ$1(u[4].unit))) {
|
|
3784
|
+
const e = r[4].value + u[4].value;
|
|
3771
3785
|
return new TokenNode([
|
|
3772
3786
|
u$1.Dimension,
|
|
3773
3787
|
e.toString() + r[4].unit,
|
|
3774
3788
|
r[2],
|
|
3775
|
-
|
|
3789
|
+
u[3],
|
|
3776
3790
|
{
|
|
3777
3791
|
value: e,
|
|
3778
|
-
type: r[4].type === a$1.Integer &&
|
|
3792
|
+
type: r[4].type === a$1.Integer && u[4].type === a$1.Integer ? a$1.Integer : a$1.Number,
|
|
3779
3793
|
unit: r[4].unit
|
|
3780
3794
|
}
|
|
3781
3795
|
]);
|
|
3782
3796
|
}
|
|
3783
|
-
return (isTokenNumber(r) && (isTokenDimension(
|
|
3797
|
+
return (isTokenNumber(r) && (isTokenDimension(u) || isTokenPercentage(u)) || isTokenNumber(u) && (isTokenDimension(r) || isTokenPercentage(r))) && t.onParseError?.(new ParseErrorWithComponentValues(S.UnexpectedAdditionOfDimensionOrPercentageWithNumber, e)), -1;
|
|
3784
3798
|
}
|
|
3785
3799
|
function division(e) {
|
|
3786
3800
|
if (2 !== e.length) return -1;
|
|
@@ -3829,18 +3843,36 @@ function isCalculation(e) {
|
|
|
3829
3843
|
}
|
|
3830
3844
|
function solve(e, n) {
|
|
3831
3845
|
if (-1 === e) return -1;
|
|
3832
|
-
const r = [
|
|
3833
|
-
|
|
3834
|
-
|
|
3835
|
-
|
|
3836
|
-
|
|
3846
|
+
const r = [{
|
|
3847
|
+
calculation: e,
|
|
3848
|
+
inputs: [],
|
|
3849
|
+
index: 0
|
|
3850
|
+
}];
|
|
3851
|
+
let u = -1;
|
|
3852
|
+
for (; r.length;) {
|
|
3853
|
+
const e = r[r.length - 1];
|
|
3854
|
+
if (e.index < e.calculation.inputs.length) {
|
|
3855
|
+
const n = e.calculation.inputs[e.index];
|
|
3856
|
+
if (e.index++, isTokenNode(n)) {
|
|
3857
|
+
e.inputs.push(n);
|
|
3858
|
+
continue;
|
|
3859
|
+
}
|
|
3860
|
+
r.push({
|
|
3861
|
+
calculation: n,
|
|
3862
|
+
inputs: [],
|
|
3863
|
+
index: 0
|
|
3864
|
+
});
|
|
3837
3865
|
continue;
|
|
3838
3866
|
}
|
|
3839
|
-
const
|
|
3840
|
-
if (-1 ===
|
|
3841
|
-
r.
|
|
3867
|
+
const a = e.calculation.operation(e.inputs, n);
|
|
3868
|
+
if (r.pop(), -1 === a) return -1;
|
|
3869
|
+
if (!r.length) {
|
|
3870
|
+
u = a;
|
|
3871
|
+
break;
|
|
3872
|
+
}
|
|
3873
|
+
r[r.length - 1].inputs.push(a);
|
|
3842
3874
|
}
|
|
3843
|
-
return
|
|
3875
|
+
return u;
|
|
3844
3876
|
}
|
|
3845
3877
|
function multiplication(e) {
|
|
3846
3878
|
if (2 !== e.length) return -1;
|
|
@@ -3909,19 +3941,19 @@ function multiplication(e) {
|
|
|
3909
3941
|
return -1;
|
|
3910
3942
|
}
|
|
3911
3943
|
function resolveGlobalsAndConstants(e, r) {
|
|
3912
|
-
for (let
|
|
3913
|
-
const
|
|
3914
|
-
if (!isTokenNode(
|
|
3915
|
-
const
|
|
3916
|
-
if (!isTokenIdent(
|
|
3917
|
-
const
|
|
3918
|
-
switch (
|
|
3944
|
+
for (let u = 0; u < e.length; u++) {
|
|
3945
|
+
const a = e[u];
|
|
3946
|
+
if (!isTokenNode(a)) continue;
|
|
3947
|
+
const i = a.value;
|
|
3948
|
+
if (!isTokenIdent(i)) continue;
|
|
3949
|
+
const o = toLowerCaseAZ$1(i[4].value);
|
|
3950
|
+
switch (o) {
|
|
3919
3951
|
case "e":
|
|
3920
|
-
e.splice(
|
|
3952
|
+
e.splice(u, 1, new TokenNode([
|
|
3921
3953
|
u$1.Number,
|
|
3922
3954
|
Math.E.toString(),
|
|
3923
|
-
|
|
3924
|
-
|
|
3955
|
+
i[2],
|
|
3956
|
+
i[3],
|
|
3925
3957
|
{
|
|
3926
3958
|
value: Math.E,
|
|
3927
3959
|
type: a$1.Number
|
|
@@ -3929,11 +3961,11 @@ function resolveGlobalsAndConstants(e, r) {
|
|
|
3929
3961
|
]));
|
|
3930
3962
|
break;
|
|
3931
3963
|
case "pi":
|
|
3932
|
-
e.splice(
|
|
3964
|
+
e.splice(u, 1, new TokenNode([
|
|
3933
3965
|
u$1.Number,
|
|
3934
3966
|
Math.PI.toString(),
|
|
3935
|
-
|
|
3936
|
-
|
|
3967
|
+
i[2],
|
|
3968
|
+
i[3],
|
|
3937
3969
|
{
|
|
3938
3970
|
value: Math.PI,
|
|
3939
3971
|
type: a$1.Number
|
|
@@ -3941,11 +3973,11 @@ function resolveGlobalsAndConstants(e, r) {
|
|
|
3941
3973
|
]));
|
|
3942
3974
|
break;
|
|
3943
3975
|
case "infinity":
|
|
3944
|
-
e.splice(
|
|
3976
|
+
e.splice(u, 1, new TokenNode([
|
|
3945
3977
|
u$1.Number,
|
|
3946
3978
|
"infinity",
|
|
3947
|
-
|
|
3948
|
-
|
|
3979
|
+
i[2],
|
|
3980
|
+
i[3],
|
|
3949
3981
|
{
|
|
3950
3982
|
value: 1 / 0,
|
|
3951
3983
|
type: a$1.Number
|
|
@@ -3953,11 +3985,11 @@ function resolveGlobalsAndConstants(e, r) {
|
|
|
3953
3985
|
]));
|
|
3954
3986
|
break;
|
|
3955
3987
|
case "-infinity":
|
|
3956
|
-
e.splice(
|
|
3988
|
+
e.splice(u, 1, new TokenNode([
|
|
3957
3989
|
u$1.Number,
|
|
3958
3990
|
"-infinity",
|
|
3959
|
-
|
|
3960
|
-
|
|
3991
|
+
i[2],
|
|
3992
|
+
i[3],
|
|
3961
3993
|
{
|
|
3962
3994
|
value: -1 / 0,
|
|
3963
3995
|
type: a$1.Number
|
|
@@ -3965,20 +3997,20 @@ function resolveGlobalsAndConstants(e, r) {
|
|
|
3965
3997
|
]));
|
|
3966
3998
|
break;
|
|
3967
3999
|
case "nan":
|
|
3968
|
-
e.splice(
|
|
4000
|
+
e.splice(u, 1, new TokenNode([
|
|
3969
4001
|
u$1.Number,
|
|
3970
4002
|
"NaN",
|
|
3971
|
-
|
|
3972
|
-
|
|
4003
|
+
i[2],
|
|
4004
|
+
i[3],
|
|
3973
4005
|
{
|
|
3974
4006
|
value: NaN,
|
|
3975
4007
|
type: a$1.Number
|
|
3976
4008
|
}
|
|
3977
4009
|
]));
|
|
3978
4010
|
break;
|
|
3979
|
-
default: if (r.has(
|
|
3980
|
-
const t = r.get(
|
|
3981
|
-
e.splice(
|
|
4011
|
+
default: if (r.has(o)) {
|
|
4012
|
+
const t = r.get(o);
|
|
4013
|
+
e.splice(u, 1, new TokenNode(t));
|
|
3982
4014
|
}
|
|
3983
4015
|
}
|
|
3984
4016
|
}
|
|
@@ -3993,13 +4025,13 @@ function resultToCalculation(e, n, t) {
|
|
|
3993
4025
|
return isTokenDimension(n) ? dimensionToCalculation(e, n[4].unit, t) : isTokenPercentage(n) ? percentageToCalculation(e, t) : isTokenNumber(n) ? numberToCalculation(e, t) : -1;
|
|
3994
4026
|
}
|
|
3995
4027
|
function dimensionToCalculation(e, t, r) {
|
|
3996
|
-
const
|
|
4028
|
+
const u = e.tokens();
|
|
3997
4029
|
return {
|
|
3998
4030
|
inputs: [new TokenNode([
|
|
3999
4031
|
u$1.Dimension,
|
|
4000
4032
|
r.toString() + t,
|
|
4001
|
-
|
|
4002
|
-
|
|
4033
|
+
u[0][2],
|
|
4034
|
+
u[u.length - 1][3],
|
|
4003
4035
|
{
|
|
4004
4036
|
value: r,
|
|
4005
4037
|
type: Number.isInteger(r) ? a$1.Integer : a$1.Number,
|
|
@@ -4064,9 +4096,9 @@ function arrayOfSameNumeric(e) {
|
|
|
4064
4096
|
if (isTokenDimension(n)) {
|
|
4065
4097
|
const t = toLowerCaseAZ$1(n[4].unit);
|
|
4066
4098
|
for (let r = 1; r < e.length; r++) {
|
|
4067
|
-
const
|
|
4068
|
-
if (n[0] !==
|
|
4069
|
-
if (t !== toLowerCaseAZ$1(
|
|
4099
|
+
const u = e[r];
|
|
4100
|
+
if (n[0] !== u[0]) return !1;
|
|
4101
|
+
if (t !== toLowerCaseAZ$1(u[4].unit)) return !1;
|
|
4070
4102
|
}
|
|
4071
4103
|
return !0;
|
|
4072
4104
|
}
|
|
@@ -4082,26 +4114,28 @@ function twoOfSameNumeric(e, n) {
|
|
|
4082
4114
|
function solveATan2(e, n, t) {
|
|
4083
4115
|
const r = n.value;
|
|
4084
4116
|
if (!isDimensionOrNumber(r)) return -1;
|
|
4085
|
-
const
|
|
4086
|
-
if (!twoOfSameNumeric(r,
|
|
4087
|
-
return dimensionToCalculation(e, "rad", Math.atan2(r[4].value,
|
|
4117
|
+
const u = convertUnit(r, t.value);
|
|
4118
|
+
if (!twoOfSameNumeric(r, u)) return -1;
|
|
4119
|
+
return dimensionToCalculation(e, "rad", Math.atan2(r[4].value, u[4].value));
|
|
4088
4120
|
}
|
|
4089
4121
|
function solveAbs(e, n, t) {
|
|
4090
4122
|
const r = n.value;
|
|
4091
4123
|
if (!isTokenNumeric(r)) return -1;
|
|
4124
|
+
if (Number.isNaN(r[4].value)) return resultToCalculation(e, r, NaN);
|
|
4092
4125
|
if (!t.rawPercentages && isTokenPercentage(r)) return -1;
|
|
4093
4126
|
return resultToCalculation(e, r, Math.abs(r[4].value));
|
|
4094
4127
|
}
|
|
4095
|
-
function solveClamp(e, n, r,
|
|
4096
|
-
if (!isTokenNode(n) || !isTokenNode(r) || !isTokenNode(
|
|
4097
|
-
const
|
|
4098
|
-
if (!isTokenNumeric(
|
|
4099
|
-
|
|
4100
|
-
|
|
4101
|
-
|
|
4102
|
-
|
|
4103
|
-
if (
|
|
4104
|
-
|
|
4128
|
+
function solveClamp(e, n, r, u, a) {
|
|
4129
|
+
if (!isTokenNode(n) || !isTokenNode(r) || !isTokenNode(u)) return -1;
|
|
4130
|
+
const i = n.value;
|
|
4131
|
+
if (!isTokenNumeric(i)) return -1;
|
|
4132
|
+
const o = convertUnit(i, r.value);
|
|
4133
|
+
if (!twoOfSameNumeric(i, o)) return -1;
|
|
4134
|
+
const l = convertUnit(i, u.value);
|
|
4135
|
+
if (!twoOfSameNumeric(i, l)) return -1;
|
|
4136
|
+
if (Number.isNaN(i[4].value) || Number.isNaN(o[4].value) || Number.isNaN(l[4].value)) return resultToCalculation(e, i, NaN);
|
|
4137
|
+
if (!a.rawPercentages && isTokenPercentage(i)) return -1;
|
|
4138
|
+
return resultToCalculation(e, i, Math.max(i[4].value, Math.min(o[4].value, l[4].value)));
|
|
4105
4139
|
}
|
|
4106
4140
|
function solveCos(e, n) {
|
|
4107
4141
|
const t = n.value;
|
|
@@ -4110,13 +4144,13 @@ function solveCos(e, n) {
|
|
|
4110
4144
|
if (isTokenDimension(t)) switch (t[4].unit.toLowerCase()) {
|
|
4111
4145
|
case "rad": break;
|
|
4112
4146
|
case "deg":
|
|
4113
|
-
r =
|
|
4147
|
+
r = M.get("rad")(t[4].value);
|
|
4114
4148
|
break;
|
|
4115
4149
|
case "grad":
|
|
4116
|
-
r =
|
|
4150
|
+
r = T.get("rad")(t[4].value);
|
|
4117
4151
|
break;
|
|
4118
4152
|
case "turn":
|
|
4119
|
-
r =
|
|
4153
|
+
r = R.get("rad")(t[4].value);
|
|
4120
4154
|
break;
|
|
4121
4155
|
default: return -1;
|
|
4122
4156
|
}
|
|
@@ -4129,59 +4163,64 @@ function solveExp(e, n) {
|
|
|
4129
4163
|
}
|
|
4130
4164
|
function solveHypot(e, n, r) {
|
|
4131
4165
|
if (!n.every(isTokenNode)) return -1;
|
|
4132
|
-
const
|
|
4133
|
-
if (!isTokenNumeric(
|
|
4134
|
-
|
|
4135
|
-
|
|
4136
|
-
if (
|
|
4137
|
-
|
|
4138
|
-
|
|
4166
|
+
const u = n[0].value;
|
|
4167
|
+
if (!isTokenNumeric(u)) return -1;
|
|
4168
|
+
const a = n.map((e) => convertUnit(u, e.value));
|
|
4169
|
+
if (!arrayOfSameNumeric(a)) return -1;
|
|
4170
|
+
if (a.some((e) => Number.isNaN(e[4].value))) return resultToCalculation(e, u, NaN);
|
|
4171
|
+
if (!r.rawPercentages && isTokenPercentage(u)) return -1;
|
|
4172
|
+
const i = a.map((e) => e[4].value);
|
|
4173
|
+
if (i.some(Number.isNaN)) return resultToCalculation(e, u, NaN);
|
|
4174
|
+
return resultToCalculation(e, u, Math.hypot(...i));
|
|
4139
4175
|
}
|
|
4140
4176
|
function solveMax(e, n, r) {
|
|
4141
4177
|
if (!n.every(isTokenNode)) return -1;
|
|
4142
|
-
const
|
|
4143
|
-
if (!isTokenNumeric(
|
|
4144
|
-
|
|
4145
|
-
|
|
4146
|
-
if (
|
|
4147
|
-
|
|
4148
|
-
|
|
4178
|
+
const u = n[0].value;
|
|
4179
|
+
if (!isTokenNumeric(u)) return -1;
|
|
4180
|
+
const a = n.map((e) => convertUnit(u, e.value));
|
|
4181
|
+
if (!arrayOfSameNumeric(a)) return -1;
|
|
4182
|
+
if (a.some((e) => Number.isNaN(e[4].value))) return resultToCalculation(e, u, NaN);
|
|
4183
|
+
if (!r.rawPercentages && isTokenPercentage(u)) return -1;
|
|
4184
|
+
const i = a.map((e) => e[4].value);
|
|
4185
|
+
return resultToCalculation(e, u, Math.max(...i));
|
|
4149
4186
|
}
|
|
4150
4187
|
function solveMin(e, n, r) {
|
|
4151
4188
|
if (!n.every(isTokenNode)) return -1;
|
|
4152
|
-
const
|
|
4153
|
-
if (!isTokenNumeric(
|
|
4154
|
-
|
|
4155
|
-
|
|
4156
|
-
if (
|
|
4157
|
-
|
|
4158
|
-
|
|
4189
|
+
const u = n[0].value;
|
|
4190
|
+
if (!isTokenNumeric(u)) return -1;
|
|
4191
|
+
const a = n.map((e) => convertUnit(u, e.value));
|
|
4192
|
+
if (!arrayOfSameNumeric(a)) return -1;
|
|
4193
|
+
if (a.some((e) => Number.isNaN(e[4].value))) return resultToCalculation(e, u, NaN);
|
|
4194
|
+
if (!r.rawPercentages && isTokenPercentage(u)) return -1;
|
|
4195
|
+
const i = a.map((e) => e[4].value);
|
|
4196
|
+
return resultToCalculation(e, u, Math.min(...i));
|
|
4159
4197
|
}
|
|
4160
4198
|
function solveMod(e, n, t) {
|
|
4161
4199
|
const r = n.value;
|
|
4162
4200
|
if (!isTokenNumeric(r)) return -1;
|
|
4163
|
-
const
|
|
4164
|
-
if (!twoOfSameNumeric(r,
|
|
4165
|
-
let
|
|
4166
|
-
return
|
|
4201
|
+
const u = convertUnit(r, t.value);
|
|
4202
|
+
if (!twoOfSameNumeric(r, u)) return -1;
|
|
4203
|
+
let a;
|
|
4204
|
+
return a = Number.isNaN(r[4].value) || Number.isNaN(u[4].value) || 0 === u[4].value ? NaN : Number.isFinite(r[4].value) && (Number.isFinite(u[4].value) || (u[4].value !== Number.POSITIVE_INFINITY || r[4].value !== Number.NEGATIVE_INFINITY && !Object.is(0 * r[4].value, -0)) && (u[4].value !== Number.NEGATIVE_INFINITY || r[4].value !== Number.POSITIVE_INFINITY && !Object.is(0 * r[4].value, 0))) ? Number.isFinite(u[4].value) ? (r[4].value % u[4].value + u[4].value) % u[4].value : r[4].value : NaN, resultToCalculation(e, r, a);
|
|
4167
4205
|
}
|
|
4168
4206
|
function solvePow(e, n, t) {
|
|
4169
|
-
const r = n.value,
|
|
4207
|
+
const r = n.value, u = t.value;
|
|
4170
4208
|
if (!isTokenNumber(r)) return -1;
|
|
4171
|
-
if (!twoOfSameNumeric(r,
|
|
4172
|
-
|
|
4209
|
+
if (!twoOfSameNumeric(r, u)) return -1;
|
|
4210
|
+
if (Number.isNaN(r[4].value) || Number.isNaN(u[4].value)) return numberToCalculation(e, NaN);
|
|
4211
|
+
return numberToCalculation(e, Math.pow(r[4].value, u[4].value));
|
|
4173
4212
|
}
|
|
4174
4213
|
function solveRem(e, n, t) {
|
|
4175
4214
|
const r = n.value;
|
|
4176
4215
|
if (!isTokenNumeric(r)) return -1;
|
|
4177
|
-
const
|
|
4178
|
-
if (!twoOfSameNumeric(r,
|
|
4179
|
-
let
|
|
4180
|
-
return
|
|
4216
|
+
const u = convertUnit(r, t.value);
|
|
4217
|
+
if (!twoOfSameNumeric(r, u)) return -1;
|
|
4218
|
+
let a;
|
|
4219
|
+
return a = Number.isNaN(r[4].value) || Number.isNaN(u[4].value) || 0 === u[4].value ? NaN : Number.isFinite(r[4].value) ? Number.isFinite(u[4].value) ? r[4].value % u[4].value : r[4].value : NaN, resultToCalculation(e, r, a);
|
|
4181
4220
|
}
|
|
4182
4221
|
function snapAsBorderWidth(e, n, t) {
|
|
4183
4222
|
if (!isTokenDimension(n)) return -1;
|
|
4184
|
-
const r = t.devicePixelLength ?? 1,
|
|
4223
|
+
const r = t.devicePixelLength ?? 1, u = [
|
|
4185
4224
|
u$1.Dimension,
|
|
4186
4225
|
`${r}px`,
|
|
4187
4226
|
n[2],
|
|
@@ -4191,67 +4230,69 @@ function snapAsBorderWidth(e, n, t) {
|
|
|
4191
4230
|
type: a$1.Integer,
|
|
4192
4231
|
unit: "px"
|
|
4193
4232
|
}
|
|
4194
|
-
],
|
|
4195
|
-
if (!twoOfSameNumeric(
|
|
4196
|
-
if (Number.isInteger(
|
|
4197
|
-
if (
|
|
4198
|
-
if (
|
|
4199
|
-
const t = Math.floor(
|
|
4200
|
-
return
|
|
4233
|
+
], a = convertUnit(u, n);
|
|
4234
|
+
if (!twoOfSameNumeric(a, u)) return -1;
|
|
4235
|
+
if (Number.isInteger(a[4].value / r)) return resultToCalculation(e, n, n[4].value);
|
|
4236
|
+
if (a[4].value > 0) {
|
|
4237
|
+
if (a[4].value < r) return resultToCalculation(e, n, convertUnit(n, u)[4].value);
|
|
4238
|
+
const t = Math.floor(a[4].value / u[4].value) * u[4].value;
|
|
4239
|
+
return a[4].value = t, resultToCalculation(e, n, convertUnit(n, a)[4].value);
|
|
4201
4240
|
}
|
|
4202
|
-
if (Math.abs(
|
|
4203
|
-
const
|
|
4204
|
-
return
|
|
4241
|
+
if (Math.abs(a[4].value) < r) return resultToCalculation(e, n, -1 * convertUnit(n, u)[4].value);
|
|
4242
|
+
const i = Math.ceil(a[4].value / u[4].value) * u[4].value;
|
|
4243
|
+
return a[4].value = i, resultToCalculation(e, n, convertUnit(n, a)[4].value);
|
|
4205
4244
|
}
|
|
4206
|
-
function solveRound(e, n, t, r,
|
|
4207
|
-
const
|
|
4208
|
-
if (!isTokenNumeric(
|
|
4209
|
-
if ("line-width" === n && !isTokenDimension(
|
|
4210
|
-
|
|
4211
|
-
|
|
4212
|
-
if (
|
|
4213
|
-
|
|
4214
|
-
|
|
4215
|
-
|
|
4216
|
-
else if (Number.isFinite(
|
|
4245
|
+
function solveRound(e, n, t, r, u) {
|
|
4246
|
+
const a = t.value;
|
|
4247
|
+
if (!isTokenNumeric(a)) return -1;
|
|
4248
|
+
if ("line-width" === n && !isTokenDimension(a)) return -1;
|
|
4249
|
+
const i = convertUnit(a, r.value);
|
|
4250
|
+
if (!twoOfSameNumeric(a, i)) return -1;
|
|
4251
|
+
if (Number.isNaN(a[4].value) || Number.isNaN(i[4].value)) return resultToCalculation(e, a, NaN);
|
|
4252
|
+
if (!u.rawPercentages && isTokenPercentage(a)) return -1;
|
|
4253
|
+
let o;
|
|
4254
|
+
if (0 === i[4].value) o = NaN;
|
|
4255
|
+
else if (Number.isFinite(a[4].value) || Number.isFinite(i[4].value)) if (!Number.isFinite(a[4].value) && Number.isFinite(i[4].value)) o = a[4].value;
|
|
4256
|
+
else if (Number.isFinite(a[4].value) && !Number.isFinite(i[4].value)) switch (n) {
|
|
4217
4257
|
case "down":
|
|
4218
|
-
|
|
4258
|
+
o = a[4].value < 0 ? -1 / 0 : Object.is(-0, 0 * a[4].value) ? -0 : 0;
|
|
4219
4259
|
break;
|
|
4220
4260
|
case "up":
|
|
4221
|
-
|
|
4261
|
+
o = a[4].value > 0 ? 1 / 0 : Object.is(0, 0 * a[4].value) ? 0 : -0;
|
|
4222
4262
|
break;
|
|
4223
|
-
default:
|
|
4263
|
+
default: o = Object.is(0, 0 * a[4].value) ? 0 : -0;
|
|
4224
4264
|
}
|
|
4225
4265
|
else switch (n) {
|
|
4226
4266
|
case "down":
|
|
4227
|
-
|
|
4267
|
+
o = (i[4].value > 0 ? Math.floor : Math.ceil)(a[4].value / i[4].value) * i[4].value;
|
|
4228
4268
|
break;
|
|
4229
4269
|
case "up":
|
|
4230
|
-
|
|
4270
|
+
o = (i[4].value > 0 ? Math.ceil : Math.floor)(a[4].value / i[4].value) * i[4].value;
|
|
4231
4271
|
break;
|
|
4232
4272
|
case "to-zero":
|
|
4233
|
-
|
|
4273
|
+
o = Math.trunc(a[4].value / i[4].value) * i[4].value;
|
|
4234
4274
|
break;
|
|
4235
4275
|
default: {
|
|
4236
|
-
let t = Math.floor(
|
|
4276
|
+
let t = Math.floor(a[4].value / i[4].value) * i[4].value, r = Math.ceil(a[4].value / i[4].value) * i[4].value;
|
|
4237
4277
|
if (t > r) {
|
|
4238
4278
|
const e = t;
|
|
4239
4279
|
t = r, r = e;
|
|
4240
4280
|
}
|
|
4241
|
-
const l = Math.abs(
|
|
4242
|
-
if (
|
|
4243
|
-
const n = solve(resultToCalculation(e,
|
|
4244
|
-
return -1 === n ? -1 : snapAsBorderWidth(e, n.value,
|
|
4281
|
+
const l = Math.abs(a[4].value - t), c = Math.abs(a[4].value - r);
|
|
4282
|
+
if (o = "line-width" !== n || 0 !== r && 0 !== t ? l === c ? r : l < c ? t : r : 0 !== r ? r : t, "line-width" === n) {
|
|
4283
|
+
const n = solve(resultToCalculation(e, a, o), u);
|
|
4284
|
+
return -1 === n ? -1 : snapAsBorderWidth(e, n.value, u);
|
|
4245
4285
|
}
|
|
4246
4286
|
break;
|
|
4247
4287
|
}
|
|
4248
4288
|
}
|
|
4249
|
-
else
|
|
4250
|
-
return resultToCalculation(e,
|
|
4289
|
+
else o = NaN;
|
|
4290
|
+
return resultToCalculation(e, a, o);
|
|
4251
4291
|
}
|
|
4252
4292
|
function solveSign(e, n, t) {
|
|
4253
4293
|
const r = n.value;
|
|
4254
4294
|
if (!isTokenNumeric(r)) return -1;
|
|
4295
|
+
if (Number.isNaN(r[4].value)) return numberToCalculation(e, NaN);
|
|
4255
4296
|
if (!t.rawPercentages && isTokenPercentage(r)) return -1;
|
|
4256
4297
|
return numberToCalculation(e, Math.sign(r[4].value));
|
|
4257
4298
|
}
|
|
@@ -4262,13 +4303,13 @@ function solveSin(e, n) {
|
|
|
4262
4303
|
if (isTokenDimension(t)) switch (toLowerCaseAZ$1(t[4].unit)) {
|
|
4263
4304
|
case "rad": break;
|
|
4264
4305
|
case "deg":
|
|
4265
|
-
r =
|
|
4306
|
+
r = M.get("rad")(t[4].value);
|
|
4266
4307
|
break;
|
|
4267
4308
|
case "grad":
|
|
4268
|
-
r =
|
|
4309
|
+
r = T.get("rad")(t[4].value);
|
|
4269
4310
|
break;
|
|
4270
4311
|
case "turn":
|
|
4271
|
-
r =
|
|
4312
|
+
r = R.get("rad")(t[4].value);
|
|
4272
4313
|
break;
|
|
4273
4314
|
default: return -1;
|
|
4274
4315
|
}
|
|
@@ -4283,154 +4324,165 @@ function solveTan(e, n) {
|
|
|
4283
4324
|
const t = n.value;
|
|
4284
4325
|
if (!isDimensionOrNumber(t)) return -1;
|
|
4285
4326
|
const r = t[4].value;
|
|
4286
|
-
let
|
|
4327
|
+
let u = 0, a = t[4].value;
|
|
4287
4328
|
if (isTokenDimension(t)) switch (toLowerCaseAZ$1(t[4].unit)) {
|
|
4288
4329
|
case "rad":
|
|
4289
|
-
|
|
4330
|
+
u = z.get("deg")(r);
|
|
4290
4331
|
break;
|
|
4291
4332
|
case "deg":
|
|
4292
|
-
|
|
4333
|
+
u = r, a = M.get("rad")(r);
|
|
4293
4334
|
break;
|
|
4294
4335
|
case "grad":
|
|
4295
|
-
|
|
4336
|
+
u = T.get("deg")(r), a = T.get("rad")(r);
|
|
4296
4337
|
break;
|
|
4297
4338
|
case "turn":
|
|
4298
|
-
|
|
4339
|
+
u = R.get("deg")(r), a = R.get("rad")(r);
|
|
4299
4340
|
break;
|
|
4300
4341
|
default: return -1;
|
|
4301
4342
|
}
|
|
4302
|
-
const
|
|
4303
|
-
return
|
|
4343
|
+
const i = u / 90;
|
|
4344
|
+
return a = u % 90 == 0 && i % 2 != 0 ? (i % 4 + 4) % 4 == 1 ? 1 / 0 : -1 / 0 : Math.tan(a), numberToCalculation(e, a);
|
|
4304
4345
|
}
|
|
4305
4346
|
function subtraction(e, t) {
|
|
4306
4347
|
if (2 !== e.length) return -1;
|
|
4307
4348
|
const r = e[0].value;
|
|
4308
|
-
let
|
|
4309
|
-
if (isTokenNumber(r) && isTokenNumber(
|
|
4310
|
-
const e = r[4].value -
|
|
4349
|
+
let u = e[1].value;
|
|
4350
|
+
if (isTokenNumber(r) && isTokenNumber(u)) {
|
|
4351
|
+
const e = r[4].value - u[4].value;
|
|
4311
4352
|
return new TokenNode([
|
|
4312
4353
|
u$1.Number,
|
|
4313
4354
|
e.toString(),
|
|
4314
4355
|
r[2],
|
|
4315
|
-
|
|
4356
|
+
u[3],
|
|
4316
4357
|
{
|
|
4317
4358
|
value: e,
|
|
4318
|
-
type: r[4].type === a$1.Integer &&
|
|
4359
|
+
type: r[4].type === a$1.Integer && u[4].type === a$1.Integer ? a$1.Integer : a$1.Number
|
|
4319
4360
|
}
|
|
4320
4361
|
]);
|
|
4321
4362
|
}
|
|
4322
|
-
if (isTokenPercentage(r) && isTokenPercentage(
|
|
4323
|
-
const e = r[4].value -
|
|
4363
|
+
if (isTokenPercentage(r) && isTokenPercentage(u)) {
|
|
4364
|
+
const e = r[4].value - u[4].value;
|
|
4324
4365
|
return new TokenNode([
|
|
4325
4366
|
u$1.Percentage,
|
|
4326
4367
|
e.toString() + "%",
|
|
4327
4368
|
r[2],
|
|
4328
|
-
|
|
4369
|
+
u[3],
|
|
4329
4370
|
{ value: e }
|
|
4330
4371
|
]);
|
|
4331
4372
|
}
|
|
4332
|
-
if (isTokenDimension(r) && isTokenDimension(
|
|
4333
|
-
const e = r[4].value -
|
|
4373
|
+
if (isTokenDimension(r) && isTokenDimension(u) && (u = convertUnit(r, u), toLowerCaseAZ$1(r[4].unit) === toLowerCaseAZ$1(u[4].unit))) {
|
|
4374
|
+
const e = r[4].value - u[4].value;
|
|
4334
4375
|
return new TokenNode([
|
|
4335
4376
|
u$1.Dimension,
|
|
4336
4377
|
e.toString() + r[4].unit,
|
|
4337
4378
|
r[2],
|
|
4338
|
-
|
|
4379
|
+
u[3],
|
|
4339
4380
|
{
|
|
4340
4381
|
value: e,
|
|
4341
|
-
type: r[4].type === a$1.Integer &&
|
|
4382
|
+
type: r[4].type === a$1.Integer && u[4].type === a$1.Integer ? a$1.Integer : a$1.Number,
|
|
4342
4383
|
unit: r[4].unit
|
|
4343
4384
|
}
|
|
4344
4385
|
]);
|
|
4345
4386
|
}
|
|
4346
|
-
return (isTokenNumber(r) && (isTokenDimension(
|
|
4387
|
+
return (isTokenNumber(r) && (isTokenDimension(u) || isTokenPercentage(u)) || isTokenNumber(u) && (isTokenDimension(r) || isTokenPercentage(r))) && t.onParseError?.(new ParseErrorWithComponentValues(S.UnexpectedSubtractionOfDimensionOrPercentageWithNumber, e)), -1;
|
|
4347
4388
|
}
|
|
4348
4389
|
function solveLog(e, n) {
|
|
4349
4390
|
if (1 === n.length) {
|
|
4350
4391
|
const r = n[0];
|
|
4351
4392
|
if (!r || !isTokenNode(r)) return -1;
|
|
4352
|
-
const
|
|
4353
|
-
if (!isTokenNumber(
|
|
4354
|
-
return numberToCalculation(e, Math.log(
|
|
4393
|
+
const u = r.value;
|
|
4394
|
+
if (!isTokenNumber(u)) return -1;
|
|
4395
|
+
return numberToCalculation(e, Math.log(u[4].value));
|
|
4355
4396
|
}
|
|
4356
4397
|
if (2 === n.length) {
|
|
4357
4398
|
const r = n[0];
|
|
4358
4399
|
if (!r || !isTokenNode(r)) return -1;
|
|
4359
|
-
const
|
|
4360
|
-
if (!isTokenNumber(
|
|
4361
|
-
const
|
|
4362
|
-
if (!
|
|
4363
|
-
const
|
|
4364
|
-
if (!isTokenNumber(
|
|
4365
|
-
|
|
4400
|
+
const u = r.value;
|
|
4401
|
+
if (!isTokenNumber(u)) return -1;
|
|
4402
|
+
const a = n[1];
|
|
4403
|
+
if (!a || !isTokenNode(a)) return -1;
|
|
4404
|
+
const i = a.value;
|
|
4405
|
+
if (!isTokenNumber(i)) return -1;
|
|
4406
|
+
if (Number.isNaN(u[4].value) || Number.isNaN(i[4].value)) return numberToCalculation(e, NaN);
|
|
4407
|
+
if (1 === i[4].value || i[4].value <= 0) return numberToCalculation(e, NaN);
|
|
4408
|
+
if (1 === u[4].value) return numberToCalculation(e, 0);
|
|
4409
|
+
return numberToCalculation(e, Math.log(u[4].value) / Math.log(i[4].value));
|
|
4366
4410
|
}
|
|
4367
4411
|
return -1;
|
|
4368
4412
|
}
|
|
4369
|
-
const
|
|
4413
|
+
const j = /^none$/i;
|
|
4370
4414
|
function isNone(e) {
|
|
4371
4415
|
if (Array.isArray(e)) {
|
|
4372
|
-
const n = e.filter((e) => !(
|
|
4416
|
+
const n = e.filter((e) => !isWhiteSpaceOrCommentNode(e));
|
|
4373
4417
|
return 1 === n.length && isNone(n[0]);
|
|
4374
4418
|
}
|
|
4375
4419
|
if (!isTokenNode(e)) return !1;
|
|
4376
4420
|
const n = e.value;
|
|
4377
|
-
return !!isTokenIdent(n) &&
|
|
4378
|
-
}
|
|
4379
|
-
|
|
4380
|
-
|
|
4381
|
-
if (
|
|
4382
|
-
|
|
4383
|
-
|
|
4384
|
-
|
|
4385
|
-
|
|
4386
|
-
|
|
4387
|
-
|
|
4388
|
-
|
|
4389
|
-
|
|
4390
|
-
|
|
4391
|
-
if (
|
|
4421
|
+
return !!isTokenIdent(n) && j.test(n[4].value);
|
|
4422
|
+
}
|
|
4423
|
+
function patchPrecision(e, n = 13) {
|
|
4424
|
+
if (-1 === e) return -1;
|
|
4425
|
+
if (n <= 0) return e;
|
|
4426
|
+
if (isFunctionNode(e)) return e;
|
|
4427
|
+
const t = e.value;
|
|
4428
|
+
if (!isTokenNumeric(t)) return e;
|
|
4429
|
+
if (shouldSkipPrecisionRounding(t[4].value)) return e;
|
|
4430
|
+
const r = roundToPrecision(t[4].value, n).toString();
|
|
4431
|
+
return isTokenNumber(t) ? t[1] = r : isTokenPercentage(t) ? t[1] = r + "%" : isTokenDimension(t) && (t[1] = r + t[4].unit), e;
|
|
4432
|
+
}
|
|
4433
|
+
function shouldSkipPrecisionRounding(e) {
|
|
4434
|
+
if (!Number.isFinite(e) || 0 === e) return !0;
|
|
4435
|
+
if (Number.isInteger(e)) return !0;
|
|
4436
|
+
const n = e.toString();
|
|
4437
|
+
return n.includes("e") || n.includes("E");
|
|
4438
|
+
}
|
|
4439
|
+
function roundToPrecision(e, n = 13) {
|
|
4440
|
+
return shouldSkipPrecisionRounding(e) ? e : Number(e.toFixed(n));
|
|
4441
|
+
}
|
|
4442
|
+
const Y = String.fromCodePoint(0);
|
|
4443
|
+
function solveRandom(e, n, t, r, u, a) {
|
|
4444
|
+
if (-1 === n.fixed && !a.randomCaching) return -1;
|
|
4445
|
+
const i = t.value;
|
|
4446
|
+
if (!isTokenNumeric(i)) return -1;
|
|
4447
|
+
const o = convertUnit(i, r.value);
|
|
4448
|
+
if (!twoOfSameNumeric(i, o)) return -1;
|
|
4392
4449
|
let l = null;
|
|
4393
|
-
if (
|
|
4394
|
-
if (
|
|
4395
|
-
if (!Number.isFinite(i[4].value)) return resultToCalculation(e,
|
|
4396
|
-
if (!Number.isFinite(
|
|
4397
|
-
if (l
|
|
4398
|
-
|
|
4450
|
+
if (u && (l = convertUnit(i, u.value), !twoOfSameNumeric(i, l))) return -1;
|
|
4451
|
+
if (Number.isNaN(i[4].value) || Number.isNaN(o[4].value)) return resultToCalculation(e, i, NaN);
|
|
4452
|
+
if (!Number.isFinite(i[4].value)) return resultToCalculation(e, i, i[4].value);
|
|
4453
|
+
if (!Number.isFinite(o[4].value) || !Number.isFinite(o[4].value - i[4].value)) return resultToCalculation(e, i, NaN);
|
|
4454
|
+
if (l) {
|
|
4455
|
+
if (Number.isNaN(l[4].value)) return resultToCalculation(e, i, NaN);
|
|
4456
|
+
if (!Number.isFinite(l[4].value)) return resultToCalculation(e, i, i[4].value);
|
|
4457
|
+
}
|
|
4458
|
+
const c = -1 !== n.fixed ? () => n.fixed : (a.randomCaching.propertyN || (a.randomCaching.propertyN = 0), sfc32(crc32([
|
|
4399
4459
|
n.dashedIdent ? n.dashedIdent : "",
|
|
4400
|
-
n.elementScoped ?
|
|
4401
|
-
n.propertyScoped || n.propertyIndexScoped ?
|
|
4402
|
-
n.propertyIndexScoped ?
|
|
4403
|
-
|
|
4404
|
-
].join(
|
|
4405
|
-
let
|
|
4406
|
-
if (
|
|
4407
|
-
const n =
|
|
4408
|
-
let r =
|
|
4409
|
-
|
|
4410
|
-
|
|
4411
|
-
|
|
4412
|
-
|
|
4413
|
-
|
|
4414
|
-
|
|
4415
|
-
}
|
|
4416
|
-
if (t.push(e), e + l[4].value - n > v) break;
|
|
4417
|
-
}
|
|
4418
|
-
const a = c();
|
|
4419
|
-
return resultToCalculation(e, o, Number(t[Math.floor(t.length * a)].toFixed(5)));
|
|
4420
|
-
}
|
|
4421
|
-
const f = c();
|
|
4422
|
-
return resultToCalculation(e, o, Number((f * (v - s) + s).toFixed(5)));
|
|
4460
|
+
n.elementScoped ? a.randomCaching.elementID : "",
|
|
4461
|
+
n.propertyScoped || n.propertyIndexScoped ? a.randomCaching.propertyName : "",
|
|
4462
|
+
n.propertyIndexScoped ? a.randomCaching.propertyN : "",
|
|
4463
|
+
a.randomCaching.documentID
|
|
4464
|
+
].join(Y)))), s = i[4].value;
|
|
4465
|
+
let v = o[4].value;
|
|
4466
|
+
if (v < s && (v = s), l && (l[4].value <= 0 || Math.abs(s - v) / l[4].value > 1e10) && (l = null), l) {
|
|
4467
|
+
const n = l[4].value, t = Math.max(n / 1e3, 1e-9);
|
|
4468
|
+
let r = Math.floor((v - s) / n);
|
|
4469
|
+
Math.abs(s + r * n - v) >= t && Math.abs(s + (r + 1) * n - v) < t && (r += 1);
|
|
4470
|
+
const u = Math.floor(c() * (r + 1));
|
|
4471
|
+
let a = s + u * n;
|
|
4472
|
+
return u === r && Math.abs(a - v) < t && (a = v), resultToCalculation(e, i, roundToPrecision(a, 5));
|
|
4473
|
+
}
|
|
4474
|
+
return resultToCalculation(e, i, roundToPrecision(c() * (v - s) + s, 5));
|
|
4423
4475
|
}
|
|
4424
4476
|
function sfc32(e = .34944106645296036, n = .19228640875738723, t = .8784393832007205, r = .04850964319275053) {
|
|
4425
4477
|
return () => {
|
|
4426
|
-
const
|
|
4427
|
-
return r = r + 1 | 0, e = n ^ n >>> 9, n = (t |= 0) + (t << 3) | 0, t = (t = t << 21 | t >>> 11) +
|
|
4478
|
+
const u = ((e |= 0) + (n |= 0) | 0) + (r |= 0) | 0;
|
|
4479
|
+
return r = r + 1 | 0, e = n ^ n >>> 9, n = (t |= 0) + (t << 3) | 0, t = (t = t << 21 | t >>> 11) + u | 0, (u >>> 0) / 4294967296;
|
|
4428
4480
|
};
|
|
4429
4481
|
}
|
|
4430
4482
|
function crc32(e) {
|
|
4431
4483
|
let n, t, r = 0;
|
|
4432
4484
|
r ^= -1;
|
|
4433
|
-
for (let
|
|
4485
|
+
for (let u = 0, a = e.length; u < a; u++) t = 255 & (r ^ e.charCodeAt(u)), n = Number("0x" + "00000000 77073096 EE0E612C 990951BA 076DC419 706AF48F E963A535 9E6495A3 0EDB8832 79DCB8A4 E0D5E91E 97D2D988 09B64C2B 7EB17CBD E7B82D07 90BF1D91 1DB71064 6AB020F2 F3B97148 84BE41DE 1ADAD47D 6DDDE4EB F4D4B551 83D385C7 136C9856 646BA8C0 FD62F97A 8A65C9EC 14015C4F 63066CD9 FA0F3D63 8D080DF5 3B6E20C8 4C69105E D56041E4 A2677172 3C03E4D1 4B04D447 D20D85FD A50AB56B 35B5A8FA 42B2986C DBBBC9D6 ACBCF940 32D86CE3 45DF5C75 DCD60DCF ABD13D59 26D930AC 51DE003A C8D75180 BFD06116 21B4F4B5 56B3C423 CFBA9599 B8BDA50F 2802B89E 5F058808 C60CD9B2 B10BE924 2F6F7C87 58684C11 C1611DAB B6662D3D 76DC4190 01DB7106 98D220BC EFD5102A 71B18589 06B6B51F 9FBFE4A5 E8B8D433 7807C9A2 0F00F934 9609A88E E10E9818 7F6A0DBB 086D3D2D 91646C97 E6635C01 6B6B51F4 1C6C6162 856530D8 F262004E 6C0695ED 1B01A57B 8208F4C1 F50FC457 65B0D9C6 12B7E950 8BBEB8EA FCB9887C 62DD1DDF 15DA2D49 8CD37CF3 FBD44C65 4DB26158 3AB551CE A3BC0074 D4BB30E2 4ADFA541 3DD895D7 A4D1C46D D3D6F4FB 4369E96A 346ED9FC AD678846 DA60B8D0 44042D73 33031DE5 AA0A4C5F DD0D7CC9 5005713C 270241AA BE0B1010 C90C2086 5768B525 206F85B3 B966D409 CE61E49F 5EDEF90E 29D9C998 B0D09822 C7D7A8B4 59B33D17 2EB40D81 B7BD5C3B C0BA6CAD EDB88320 9ABFB3B6 03B6E20C 74B1D29A EAD54739 9DD277AF 04DB2615 73DC1683 E3630B12 94643B84 0D6D6A3E 7A6A5AA8 E40ECF0B 9309FF9D 0A00AE27 7D079EB1 F00F9344 8708A3D2 1E01F268 6906C2FE F762575D 806567CB 196C3671 6E6B06E7 FED41B76 89D32BE0 10DA7A5A 67DD4ACC F9B9DF6F 8EBEEFF9 17B7BE43 60B08ED5 D6D6A3E8 A1D1937E 38D8C2C4 4FDFF252 D1BB67F1 A6BC5767 3FB506DD 48B2364B D80D2BDA AF0A1B4C 36034AF6 41047A60 DF60EFC3 A867DF55 316E8EEF 4669BE79 CB61B38C BC66831A 256FD2A0 5268E236 CC0C7795 BB0B4703 220216B9 5505262F C5BA3BBE B2BD0B28 2BB45A92 5CB36A04 C2D7FFA7 B5D0CF31 2CD99E8B 5BDEAE1D 9B64C2B0 EC63F226 756AA39C 026D930A 9C0906A9 EB0E363F 72076785 05005713 95BF4A82 E2B87A14 7BB12BAE 0CB61B38 92D28E9B E5D5BE0D 7CDCEFB7 0BDBDF21 86D3D2D4 F1D4E242 68DDB3F8 1FDA836E 81BE16CD F6B9265B 6FB077E1 18B74777 88085AE6 FF0F6A70 66063BCA 11010B5C 8F659EFF F862AE69 616BFFD3 166CCF45 A00AE278 D70DD2EE 4E048354 3903B3C2 A7672661 D06016F7 4969474D 3E6E77DB AED16A4A D9D65ADC 40DF0B66 37D83BF0 A9BCAE53 DEBB9EC5 47B2CF7F 30B5FFE9 BDBDF21C CABAC28A 53B39330 24B4A3A6 BAD03605 CDD70693 54DE5729 23D967BF B3667A2E C4614AB8 5D681B02 2A6F2B94 B40BBE37 C30C8EA1 5A05DF1B 2D02EF8D".substring(9 * t, 9 * t + 8)), r = r >>> 8 ^ n;
|
|
4434
4486
|
return (-1 ^ r) >>> 0;
|
|
4435
4487
|
}
|
|
4436
4488
|
function solveCalcMix(e, n) {
|
|
@@ -4441,27 +4493,27 @@ function solveCalcMix(e, n) {
|
|
|
4441
4493
|
percentage: e.percentage
|
|
4442
4494
|
}));
|
|
4443
4495
|
if (!arrayOfSameNumeric(r.map((e) => e.calcSum))) return -1;
|
|
4444
|
-
const { items:
|
|
4445
|
-
let
|
|
4446
|
-
for (let e = 0; e <
|
|
4447
|
-
return resultToCalculation(e, t,
|
|
4496
|
+
const { items: u } = normalizeMixPercentages$1(r, !1), a = u.map((e) => e.calcSum[4].value * e.percentage / 100);
|
|
4497
|
+
let i = 0;
|
|
4498
|
+
for (let e = 0; e < a.length; e++) i += a[e];
|
|
4499
|
+
return resultToCalculation(e, t, i);
|
|
4448
4500
|
}
|
|
4449
4501
|
function normalizeMixPercentages$1(e, n = !1) {
|
|
4450
4502
|
let t = 0, r = 0;
|
|
4451
4503
|
for (const n of e) n.percentage && (t += n.percentage), !1 === n.percentage && r++;
|
|
4452
4504
|
t = Math.min(100, t);
|
|
4453
4505
|
for (const n of e) !1 === n.percentage && (n.percentage = (100 - t) / r);
|
|
4454
|
-
const
|
|
4455
|
-
let
|
|
4456
|
-
for (const e of
|
|
4457
|
-
if (
|
|
4458
|
-
let
|
|
4459
|
-
return
|
|
4460
|
-
items:
|
|
4461
|
-
leftover:
|
|
4506
|
+
const u = e.slice();
|
|
4507
|
+
let a = 0;
|
|
4508
|
+
for (const e of u) a += e.percentage;
|
|
4509
|
+
if (a > 100 || a > 0 && n) for (const e of u) e.percentage = e.percentage * (100 / a);
|
|
4510
|
+
let i = 0;
|
|
4511
|
+
return a < 100 && (i = 100 - a), {
|
|
4512
|
+
items: u,
|
|
4513
|
+
leftover: i
|
|
4462
4514
|
};
|
|
4463
4515
|
}
|
|
4464
|
-
const
|
|
4516
|
+
const _ = /* @__PURE__ */ new Map([
|
|
4465
4517
|
["abs", function abs(e, n, t) {
|
|
4466
4518
|
return singleNodeSolver(e, n, t, solveAbs);
|
|
4467
4519
|
}],
|
|
@@ -4483,16 +4535,16 @@ const J = /* @__PURE__ */ new Map([
|
|
|
4483
4535
|
if (-1 === r) return -1;
|
|
4484
4536
|
return solveCalcMix(e, r);
|
|
4485
4537
|
}],
|
|
4486
|
-
["clamp", function clamp(
|
|
4487
|
-
const
|
|
4538
|
+
["clamp", function clamp(u, a, o) {
|
|
4539
|
+
const l = resolveGlobalsAndConstants([...u.value.filter((e) => !isWhiteSpaceOrCommentNode(e))], a), c = [], s = [], f = [];
|
|
4488
4540
|
{
|
|
4489
4541
|
let e = c;
|
|
4490
|
-
for (let n = 0; n <
|
|
4491
|
-
const r =
|
|
4542
|
+
for (let n = 0; n < l.length; n++) {
|
|
4543
|
+
const r = l[n];
|
|
4492
4544
|
if (isTokenNode(r) && isTokenComma(r.value)) {
|
|
4493
|
-
if (e ===
|
|
4545
|
+
if (e === f) return -1;
|
|
4494
4546
|
if (e === s) {
|
|
4495
|
-
e =
|
|
4547
|
+
e = f;
|
|
4496
4548
|
continue;
|
|
4497
4549
|
}
|
|
4498
4550
|
if (e === c) {
|
|
@@ -4504,45 +4556,45 @@ const J = /* @__PURE__ */ new Map([
|
|
|
4504
4556
|
e.push(r);
|
|
4505
4557
|
}
|
|
4506
4558
|
}
|
|
4507
|
-
const
|
|
4508
|
-
if (
|
|
4509
|
-
const d = solve(calc$1(calcWrapper(
|
|
4559
|
+
const p = isNone(c), m = isNone(f);
|
|
4560
|
+
if (p && m) return calc$1(calcWrapper(u, s), a, o);
|
|
4561
|
+
const d = solve(calc$1(calcWrapper(u, s), a, o), o);
|
|
4510
4562
|
if (-1 === d) return -1;
|
|
4511
|
-
if (
|
|
4512
|
-
const t = solve(calc$1(calcWrapper(
|
|
4513
|
-
return -1 === t ? -1 : solveMin((
|
|
4563
|
+
if (p) {
|
|
4564
|
+
const t = solve(calc$1(calcWrapper(u, f), a, o), o);
|
|
4565
|
+
return -1 === t ? -1 : solveMin((N = u, C = d, g = t, new FunctionNode([
|
|
4514
4566
|
u$1.Function,
|
|
4515
4567
|
"min(",
|
|
4516
|
-
|
|
4517
|
-
|
|
4568
|
+
N.name[2],
|
|
4569
|
+
N.name[3],
|
|
4518
4570
|
{ value: "min" }
|
|
4519
4571
|
], [
|
|
4520
4572
|
u$1.CloseParen,
|
|
4521
4573
|
")",
|
|
4522
|
-
|
|
4523
|
-
|
|
4574
|
+
N.endToken[2],
|
|
4575
|
+
N.endToken[3],
|
|
4524
4576
|
void 0
|
|
4525
4577
|
], [
|
|
4526
|
-
|
|
4578
|
+
C,
|
|
4527
4579
|
new TokenNode([
|
|
4528
4580
|
u$1.Comma,
|
|
4529
4581
|
",",
|
|
4530
|
-
...sourceIndices(
|
|
4582
|
+
...sourceIndices(C),
|
|
4531
4583
|
void 0
|
|
4532
4584
|
]),
|
|
4533
|
-
|
|
4585
|
+
g
|
|
4534
4586
|
])), [d, t], o);
|
|
4535
4587
|
}
|
|
4536
4588
|
if (m) {
|
|
4537
|
-
const e = solve(calc$1(calcWrapper(
|
|
4538
|
-
return -1 === e ? -1 : solveMax(maxWrapper(
|
|
4589
|
+
const e = solve(calc$1(calcWrapper(u, c), a, o), o);
|
|
4590
|
+
return -1 === e ? -1 : solveMax(maxWrapper(u, e, d), [e, d], o);
|
|
4539
4591
|
}
|
|
4540
|
-
var C, g
|
|
4541
|
-
const h = solve(calc$1(calcWrapper(
|
|
4592
|
+
var N, C, g;
|
|
4593
|
+
const h = solve(calc$1(calcWrapper(u, c), a, o), o);
|
|
4542
4594
|
if (-1 === h) return -1;
|
|
4543
|
-
const
|
|
4544
|
-
if (-1 ===
|
|
4545
|
-
return solveClamp(
|
|
4595
|
+
const b = solve(calc$1(calcWrapper(u, f), a, o), o);
|
|
4596
|
+
if (-1 === b) return -1;
|
|
4597
|
+
return solveClamp(u, h, d, b, o);
|
|
4546
4598
|
}],
|
|
4547
4599
|
["cos", function cos(e, n, t) {
|
|
4548
4600
|
return singleNodeSolver(e, n, t, solveCos);
|
|
@@ -4569,37 +4621,37 @@ const J = /* @__PURE__ */ new Map([
|
|
|
4569
4621
|
return twoCommaSeparatedNodesSolver(e, n, t, solvePow);
|
|
4570
4622
|
}],
|
|
4571
4623
|
["random", function random(e, n, t) {
|
|
4572
|
-
const
|
|
4573
|
-
if (-1 ===
|
|
4574
|
-
const [a,
|
|
4575
|
-
if (-1 ===
|
|
4576
|
-
const [l, c, s] =
|
|
4624
|
+
const u = parseRandomValueSharing(e, e.value.filter((e) => !isWhiteSpaceOrCommentNode(e)), n, t);
|
|
4625
|
+
if (-1 === u) return -1;
|
|
4626
|
+
const [a, i] = u, o = variadicArguments(e, i, n, t);
|
|
4627
|
+
if (-1 === o) return -1;
|
|
4628
|
+
const [l, c, s] = o;
|
|
4577
4629
|
if (!l || !c) return -1;
|
|
4578
4630
|
return solveRandom(e, a, l, c, s, t);
|
|
4579
4631
|
}],
|
|
4580
4632
|
["rem", function rem(e, n, t) {
|
|
4581
4633
|
return twoCommaSeparatedNodesSolver(e, n, t, solveRem);
|
|
4582
4634
|
}],
|
|
4583
|
-
["round", function round(e,
|
|
4584
|
-
const
|
|
4585
|
-
let
|
|
4586
|
-
const c = [],
|
|
4635
|
+
["round", function round(e, u, a) {
|
|
4636
|
+
const i = resolveGlobalsAndConstants([...e.value.filter((e) => !isWhiteSpaceOrCommentNode(e))], u);
|
|
4637
|
+
let o = "", l = !1;
|
|
4638
|
+
const c = [], p = [];
|
|
4587
4639
|
{
|
|
4588
4640
|
let e = c;
|
|
4589
|
-
for (let n = 0; n <
|
|
4590
|
-
const r =
|
|
4591
|
-
if (!
|
|
4641
|
+
for (let n = 0; n < i.length; n++) {
|
|
4642
|
+
const r = i[n];
|
|
4643
|
+
if (!o && 0 === c.length && 0 === p.length && isTokenNode(r) && isTokenIdent(r.value)) {
|
|
4592
4644
|
const e = r.value[4].value.toLowerCase();
|
|
4593
|
-
if (
|
|
4594
|
-
|
|
4645
|
+
if (J.has(e)) {
|
|
4646
|
+
o = e;
|
|
4595
4647
|
continue;
|
|
4596
4648
|
}
|
|
4597
4649
|
}
|
|
4598
4650
|
if (isTokenNode(r) && isTokenComma(r.value)) {
|
|
4599
|
-
if (e ===
|
|
4600
|
-
if (e === c &&
|
|
4651
|
+
if (e === p) return -1;
|
|
4652
|
+
if (e === c && o && 0 === c.length) continue;
|
|
4601
4653
|
if (e === c) {
|
|
4602
|
-
l = !0, e =
|
|
4654
|
+
l = !0, e = p;
|
|
4603
4655
|
continue;
|
|
4604
4656
|
}
|
|
4605
4657
|
return -1;
|
|
@@ -4607,39 +4659,39 @@ const J = /* @__PURE__ */ new Map([
|
|
|
4607
4659
|
e.push(r);
|
|
4608
4660
|
}
|
|
4609
4661
|
}
|
|
4610
|
-
const
|
|
4611
|
-
if (-1 ===
|
|
4612
|
-
if ("line-width" ===
|
|
4662
|
+
const m = solve(calc$1(calcWrapper(e, c), u, a), a);
|
|
4663
|
+
if (-1 === m) return -1;
|
|
4664
|
+
if ("line-width" === o) {
|
|
4613
4665
|
const e = convertUnit([
|
|
4614
4666
|
u$1.Dimension,
|
|
4615
4667
|
"1px",
|
|
4616
|
-
|
|
4617
|
-
|
|
4668
|
+
m.value[2],
|
|
4669
|
+
m.value[3],
|
|
4618
4670
|
{
|
|
4619
4671
|
value: 1,
|
|
4620
4672
|
type: a$1.Integer,
|
|
4621
4673
|
unit: "px"
|
|
4622
4674
|
}
|
|
4623
|
-
],
|
|
4675
|
+
], m.value);
|
|
4624
4676
|
if (!isTokenDimension(e) || "px" !== e[4].unit) return -1;
|
|
4625
4677
|
}
|
|
4626
|
-
if (!l && 0 ===
|
|
4627
|
-
if ("line-width" ===
|
|
4628
|
-
|
|
4678
|
+
if (!l && 0 === p.length) {
|
|
4679
|
+
if ("line-width" === o) return snapAsBorderWidth(e, m.value, a);
|
|
4680
|
+
p.push(new TokenNode([
|
|
4629
4681
|
u$1.Number,
|
|
4630
4682
|
"1",
|
|
4631
|
-
|
|
4632
|
-
|
|
4683
|
+
m.value[2],
|
|
4684
|
+
m.value[3],
|
|
4633
4685
|
{
|
|
4634
4686
|
value: 1,
|
|
4635
4687
|
type: a$1.Integer
|
|
4636
4688
|
}
|
|
4637
4689
|
]));
|
|
4638
4690
|
}
|
|
4639
|
-
const d = solve(calc$1(calcWrapper(e,
|
|
4691
|
+
const d = solve(calc$1(calcWrapper(e, p), u, a), a);
|
|
4640
4692
|
if (-1 === d) return -1;
|
|
4641
|
-
|
|
4642
|
-
return solveRound(e,
|
|
4693
|
+
o || (o = "nearest");
|
|
4694
|
+
return solveRound(e, o, m, d, a);
|
|
4643
4695
|
}],
|
|
4644
4696
|
["sign", function sign(e, n, t) {
|
|
4645
4697
|
return singleNodeSolver(e, n, t, solveSign);
|
|
@@ -4654,39 +4706,41 @@ const J = /* @__PURE__ */ new Map([
|
|
|
4654
4706
|
return singleNodeSolver(e, n, t, solveTan);
|
|
4655
4707
|
}]
|
|
4656
4708
|
]);
|
|
4657
|
-
|
|
4658
|
-
|
|
4659
|
-
|
|
4660
|
-
|
|
4709
|
+
const H = 5e4;
|
|
4710
|
+
function calc$1(e, n, i) {
|
|
4711
|
+
const o = resolveGlobalsAndConstants([...e.value.filter((e) => !isWhiteSpaceOrCommentNode(e))], n);
|
|
4712
|
+
if (o.length > H) throw new Error(`Maximum number of nodes in a math function (${H}) exceeded, reduce the complexity of your expression`);
|
|
4713
|
+
if (1 === o.length && isTokenNode(o[0])) return {
|
|
4714
|
+
inputs: [o[0]],
|
|
4661
4715
|
operation: unary
|
|
4662
4716
|
};
|
|
4663
4717
|
let l = 0;
|
|
4664
|
-
for (; l <
|
|
4665
|
-
const e =
|
|
4718
|
+
for (; l < o.length;) {
|
|
4719
|
+
const e = o[l];
|
|
4666
4720
|
if (isSimpleBlockNode(e) && isTokenOpenParen(e.startToken)) {
|
|
4667
|
-
const t = calc$1(e, n,
|
|
4721
|
+
const t = calc$1(e, n, i);
|
|
4668
4722
|
if (-1 === t) return -1;
|
|
4669
|
-
|
|
4723
|
+
o.splice(l, 1, t);
|
|
4670
4724
|
continue;
|
|
4671
4725
|
}
|
|
4672
4726
|
if (isFunctionNode(e)) {
|
|
4673
|
-
const t =
|
|
4727
|
+
const t = _.get(e.getName().toLowerCase());
|
|
4674
4728
|
if (!t) return -1;
|
|
4675
|
-
const
|
|
4676
|
-
if (-1 ===
|
|
4677
|
-
|
|
4729
|
+
const r = t(e, n, i);
|
|
4730
|
+
if (-1 === r) return -1;
|
|
4731
|
+
o.splice(l, 1, r);
|
|
4678
4732
|
continue;
|
|
4679
4733
|
}
|
|
4680
4734
|
l++;
|
|
4681
4735
|
}
|
|
4682
|
-
if (l = 0, 1 ===
|
|
4683
|
-
for (; l <
|
|
4684
|
-
const e =
|
|
4736
|
+
if (l = 0, 1 === o.length && isCalculation(o[0])) return o[0];
|
|
4737
|
+
for (; l < o.length;) {
|
|
4738
|
+
const e = o[l];
|
|
4685
4739
|
if (!e || !isTokenNode(e) && !isCalculation(e)) {
|
|
4686
4740
|
l++;
|
|
4687
4741
|
continue;
|
|
4688
4742
|
}
|
|
4689
|
-
const n =
|
|
4743
|
+
const n = o[l + 1];
|
|
4690
4744
|
if (!n || !isTokenNode(n)) {
|
|
4691
4745
|
l++;
|
|
4692
4746
|
continue;
|
|
@@ -4696,24 +4750,24 @@ function calc$1(e, n, r) {
|
|
|
4696
4750
|
l++;
|
|
4697
4751
|
continue;
|
|
4698
4752
|
}
|
|
4699
|
-
const u =
|
|
4753
|
+
const u = o[l + 2];
|
|
4700
4754
|
if (!u || !isTokenNode(u) && !isCalculation(u)) return -1;
|
|
4701
|
-
"*" !== r[4].value ? "/" !== r[4].value ? l++ :
|
|
4755
|
+
"*" !== r[4].value ? "/" !== r[4].value ? l++ : o.splice(l, 3, {
|
|
4702
4756
|
inputs: [e, u],
|
|
4703
4757
|
operation: division
|
|
4704
|
-
}) :
|
|
4758
|
+
}) : o.splice(l, 3, {
|
|
4705
4759
|
inputs: [e, u],
|
|
4706
4760
|
operation: multiplication
|
|
4707
4761
|
});
|
|
4708
4762
|
}
|
|
4709
|
-
if (l = 0, 1 ===
|
|
4710
|
-
for (; l <
|
|
4711
|
-
const e =
|
|
4763
|
+
if (l = 0, 1 === o.length && isCalculation(o[0])) return o[0];
|
|
4764
|
+
for (; l < o.length;) {
|
|
4765
|
+
const e = o[l];
|
|
4712
4766
|
if (!e || !isTokenNode(e) && !isCalculation(e)) {
|
|
4713
4767
|
l++;
|
|
4714
4768
|
continue;
|
|
4715
4769
|
}
|
|
4716
|
-
const n =
|
|
4770
|
+
const n = o[l + 1];
|
|
4717
4771
|
if (!n || !isTokenNode(n)) {
|
|
4718
4772
|
l++;
|
|
4719
4773
|
continue;
|
|
@@ -4723,42 +4777,42 @@ function calc$1(e, n, r) {
|
|
|
4723
4777
|
l++;
|
|
4724
4778
|
continue;
|
|
4725
4779
|
}
|
|
4726
|
-
const u =
|
|
4780
|
+
const u = o[l + 2];
|
|
4727
4781
|
if (!u || !isTokenNode(u) && !isCalculation(u)) return -1;
|
|
4728
|
-
"+" !== r[4].value ? "-" !== r[4].value ? l++ :
|
|
4782
|
+
"+" !== r[4].value ? "-" !== r[4].value ? l++ : o.splice(l, 3, {
|
|
4729
4783
|
inputs: [e, u],
|
|
4730
4784
|
operation: subtraction
|
|
4731
|
-
}) :
|
|
4785
|
+
}) : o.splice(l, 3, {
|
|
4732
4786
|
inputs: [e, u],
|
|
4733
4787
|
operation: addition
|
|
4734
4788
|
});
|
|
4735
4789
|
}
|
|
4736
|
-
return 1 ===
|
|
4790
|
+
return 1 === o.length && isCalculation(o[0]) ? o[0] : -1;
|
|
4737
4791
|
}
|
|
4738
4792
|
function singleNodeSolver(e, n, t, r) {
|
|
4739
|
-
const
|
|
4740
|
-
return -1 ===
|
|
4793
|
+
const u = singleArgument(e, n, t);
|
|
4794
|
+
return -1 === u ? -1 : r(e, u, t);
|
|
4741
4795
|
}
|
|
4742
4796
|
function singleArgument(e, n, t) {
|
|
4743
4797
|
const a = solve(calc$1(calcWrapper(e, resolveGlobalsAndConstants([...e.value.filter((e) => !isWhiteSpaceOrCommentNode(e))], n)), n, t), t);
|
|
4744
4798
|
return -1 === a ? -1 : a;
|
|
4745
4799
|
}
|
|
4746
4800
|
function twoCommaSeparatedNodesSolver(e, n, t, r) {
|
|
4747
|
-
const
|
|
4748
|
-
if (-1 ===
|
|
4749
|
-
const [
|
|
4750
|
-
return r(e,
|
|
4801
|
+
const u = twoCommaSeparatedArguments(e, n, t);
|
|
4802
|
+
if (-1 === u) return -1;
|
|
4803
|
+
const [a, i] = u;
|
|
4804
|
+
return r(e, a, i, t);
|
|
4751
4805
|
}
|
|
4752
|
-
function twoCommaSeparatedArguments(e, n,
|
|
4753
|
-
const a = resolveGlobalsAndConstants([...e.value.filter((e) => !isWhiteSpaceOrCommentNode(e))], n),
|
|
4806
|
+
function twoCommaSeparatedArguments(e, n, u) {
|
|
4807
|
+
const a = resolveGlobalsAndConstants([...e.value.filter((e) => !isWhiteSpaceOrCommentNode(e))], n), i = [], o = [];
|
|
4754
4808
|
{
|
|
4755
|
-
let e =
|
|
4809
|
+
let e = i;
|
|
4756
4810
|
for (let n = 0; n < a.length; n++) {
|
|
4757
4811
|
const r = a[n];
|
|
4758
4812
|
if (isTokenNode(r) && isTokenComma(r.value)) {
|
|
4759
|
-
if (e ===
|
|
4760
|
-
if (e ===
|
|
4761
|
-
e =
|
|
4813
|
+
if (e === o) return -1;
|
|
4814
|
+
if (e === i) {
|
|
4815
|
+
e = o;
|
|
4762
4816
|
continue;
|
|
4763
4817
|
}
|
|
4764
4818
|
return -1;
|
|
@@ -4766,55 +4820,55 @@ function twoCommaSeparatedArguments(e, n, r) {
|
|
|
4766
4820
|
e.push(r);
|
|
4767
4821
|
}
|
|
4768
4822
|
}
|
|
4769
|
-
const l = solve(calc$1(calcWrapper(e,
|
|
4823
|
+
const l = solve(calc$1(calcWrapper(e, i), n, u), u);
|
|
4770
4824
|
if (-1 === l) return -1;
|
|
4771
|
-
const c = solve(calc$1(calcWrapper(e,
|
|
4825
|
+
const c = solve(calc$1(calcWrapper(e, o), n, u), u);
|
|
4772
4826
|
return -1 === c ? -1 : [l, c];
|
|
4773
4827
|
}
|
|
4774
4828
|
function variadicNodesSolver(e, n, t, r) {
|
|
4775
|
-
const
|
|
4776
|
-
return -1 ===
|
|
4829
|
+
const u = variadicArguments(e, e.value, n, t);
|
|
4830
|
+
return -1 === u ? -1 : r(e, u, t);
|
|
4777
4831
|
}
|
|
4778
|
-
function variadicArguments(e, n,
|
|
4779
|
-
const
|
|
4832
|
+
function variadicArguments(e, n, u, a) {
|
|
4833
|
+
const i = resolveGlobalsAndConstants([...n.filter((e) => !isWhiteSpaceOrCommentNode(e))], u), o = [];
|
|
4780
4834
|
{
|
|
4781
4835
|
const n = [];
|
|
4782
|
-
let
|
|
4783
|
-
for (let e = 0; e <
|
|
4784
|
-
const
|
|
4785
|
-
isTokenNode(
|
|
4836
|
+
let r = [];
|
|
4837
|
+
for (let e = 0; e < i.length; e++) {
|
|
4838
|
+
const u = i[e];
|
|
4839
|
+
isTokenNode(u) && isTokenComma(u.value) ? (n.push(r), r = []) : r.push(u);
|
|
4786
4840
|
}
|
|
4787
|
-
n.push(
|
|
4841
|
+
n.push(r);
|
|
4788
4842
|
for (let t = 0; t < n.length; t++) {
|
|
4789
4843
|
if (0 === n[t].length) return -1;
|
|
4790
|
-
const
|
|
4791
|
-
if (-1 ===
|
|
4792
|
-
|
|
4844
|
+
const r = solve(calc$1(calcWrapper(e, n[t]), u, a), a);
|
|
4845
|
+
if (-1 === r) return -1;
|
|
4846
|
+
o.push(r);
|
|
4793
4847
|
}
|
|
4794
4848
|
}
|
|
4795
|
-
return
|
|
4849
|
+
return o;
|
|
4796
4850
|
}
|
|
4797
|
-
function variadicArgumentsCalcMix(e, n,
|
|
4798
|
-
const
|
|
4851
|
+
function variadicArgumentsCalcMix(e, n, u, a) {
|
|
4852
|
+
const i = resolveGlobalsAndConstants([...n.filter((e) => !isWhiteSpaceOrCommentNode(e))], u), o = [];
|
|
4799
4853
|
{
|
|
4800
4854
|
const n = [];
|
|
4801
4855
|
let l = [];
|
|
4802
|
-
for (let e = 0; e <
|
|
4803
|
-
const r =
|
|
4856
|
+
for (let e = 0; e < i.length; e++) {
|
|
4857
|
+
const r = i[e];
|
|
4804
4858
|
isTokenNode(r) && isTokenComma(r.value) ? (n.push(l), l = []) : l.push(r);
|
|
4805
4859
|
}
|
|
4806
4860
|
n.push(l);
|
|
4807
|
-
for (let
|
|
4808
|
-
if (0 === n[
|
|
4861
|
+
for (let i = 0; i < n.length; i++) {
|
|
4862
|
+
if (0 === n[i].length) return -1;
|
|
4809
4863
|
let l = -1, c = !1;
|
|
4810
|
-
for (let
|
|
4811
|
-
if (isWhiteSpaceOrCommentNode(n[
|
|
4812
|
-
if (l = solve(calc$1(calcWrapper(e, n[
|
|
4813
|
-
const s = n[
|
|
4864
|
+
for (let o = n[i].length - 1; o >= 0; o--) {
|
|
4865
|
+
if (isWhiteSpaceOrCommentNode(n[i][o])) continue;
|
|
4866
|
+
if (l = solve(calc$1(calcWrapper(e, n[i].slice(0, o + 1)), u, a), a), -1 === l) continue;
|
|
4867
|
+
const s = n[i].slice(o + 1).filter((e) => !isWhiteSpaceOrCommentNode(e));
|
|
4814
4868
|
if (s.length) if (1 === s.length && isTokenNode(s[0]) && isTokenPercentage(s[0].value)) {
|
|
4815
4869
|
if (c = s[0].value[4].value, c < 0 || c > 100) return -1;
|
|
4816
4870
|
} else {
|
|
4817
|
-
const n = solve(calc$1(calcWrapper(e, s),
|
|
4871
|
+
const n = solve(calc$1(calcWrapper(e, s), u, a), a);
|
|
4818
4872
|
if (-1 === n) return -1;
|
|
4819
4873
|
if (!isTokenPercentage(n.value)) return -1;
|
|
4820
4874
|
c = n.value[4].value, c = Math.min(100, Math.max(0, c));
|
|
@@ -4822,70 +4876,70 @@ function variadicArgumentsCalcMix(e, n, r, a) {
|
|
|
4822
4876
|
break;
|
|
4823
4877
|
}
|
|
4824
4878
|
if (-1 === l) return -1;
|
|
4825
|
-
|
|
4879
|
+
o.push({
|
|
4826
4880
|
calcSum: l,
|
|
4827
4881
|
percentage: c
|
|
4828
4882
|
});
|
|
4829
4883
|
}
|
|
4830
4884
|
}
|
|
4831
|
-
return
|
|
4885
|
+
return o;
|
|
4832
4886
|
}
|
|
4833
|
-
const
|
|
4887
|
+
const J = /* @__PURE__ */ new Set([
|
|
4834
4888
|
"nearest",
|
|
4835
4889
|
"line-width",
|
|
4836
4890
|
"up",
|
|
4837
4891
|
"down",
|
|
4838
4892
|
"to-zero"
|
|
4839
4893
|
]);
|
|
4840
|
-
function parseRandomValueSharing(e, n, r,
|
|
4841
|
-
const
|
|
4894
|
+
function parseRandomValueSharing(e, n, r, u) {
|
|
4895
|
+
const a = {
|
|
4842
4896
|
dashedIdent: "",
|
|
4843
4897
|
fixed: -1,
|
|
4844
4898
|
elementScoped: !1,
|
|
4845
4899
|
propertyScoped: !1,
|
|
4846
4900
|
propertyIndexScoped: !1
|
|
4847
4901
|
};
|
|
4848
|
-
let
|
|
4849
|
-
const
|
|
4850
|
-
if (!isTokenNode(
|
|
4851
|
-
for (let
|
|
4852
|
-
const l = n[
|
|
4902
|
+
let i = !1;
|
|
4903
|
+
const o = n[0];
|
|
4904
|
+
if (!isTokenNode(o) || !isTokenIdent(o.value)) return [a, n];
|
|
4905
|
+
for (let o = 0; o < n.length; o++) {
|
|
4906
|
+
const l = n[o];
|
|
4853
4907
|
if (!isTokenNode(l)) return -1;
|
|
4854
|
-
if (isTokenComma(l.value)) return [
|
|
4908
|
+
if (isTokenComma(l.value)) return [a, n.slice(o + 1)];
|
|
4855
4909
|
if (!isTokenIdent(l.value)) return -1;
|
|
4856
4910
|
const c = l.value[4].value.toLowerCase();
|
|
4857
4911
|
if ("element-scoped" !== c) if ("property-scoped" !== c) if ("property-index-scoped" !== c) {
|
|
4858
4912
|
if ("fixed" === c) {
|
|
4859
|
-
if (-1 !==
|
|
4860
|
-
|
|
4861
|
-
const t = n[
|
|
4913
|
+
if (-1 !== a.fixed || i || a.dashedIdent || a.elementScoped || a.propertyScoped || a.propertyIndexScoped) return -1;
|
|
4914
|
+
o++;
|
|
4915
|
+
const t = n[o];
|
|
4862
4916
|
if (!t) return -1;
|
|
4863
|
-
const l = solve(calc$1(calcWrapper(e, [t]), r,
|
|
4917
|
+
const l = solve(calc$1(calcWrapper(e, [t]), r, u), u);
|
|
4864
4918
|
if (-1 === l) return -1;
|
|
4865
4919
|
if (!isTokenNumber(l.value)) return -1;
|
|
4866
4920
|
if (l.value[4].value < 0 || l.value[4].value > 1) return -1;
|
|
4867
|
-
|
|
4921
|
+
a.fixed = Math.max(0, Math.min(l.value[4].value, 1 - Number.EPSILON / 2));
|
|
4868
4922
|
continue;
|
|
4869
4923
|
}
|
|
4870
4924
|
if ("auto" !== c) {
|
|
4871
|
-
if (!c.startsWith("--")) return -1;
|
|
4872
|
-
if (-1 !==
|
|
4873
|
-
|
|
4925
|
+
if (!c.startsWith("--")) return 0 === o ? [a, n] : -1;
|
|
4926
|
+
if (-1 !== a.fixed || i || a.dashedIdent) return -1;
|
|
4927
|
+
a.dashedIdent = c;
|
|
4874
4928
|
} else {
|
|
4875
|
-
if (-1 !==
|
|
4876
|
-
|
|
4929
|
+
if (-1 !== a.fixed || i || a.dashedIdent || a.elementScoped || a.propertyScoped || a.propertyIndexScoped) return -1;
|
|
4930
|
+
a.elementScoped = !0, a.propertyIndexScoped = !0, i = !0;
|
|
4877
4931
|
}
|
|
4878
4932
|
} else {
|
|
4879
|
-
if (-1 !==
|
|
4880
|
-
|
|
4933
|
+
if (-1 !== a.fixed || i || a.propertyScoped || a.propertyIndexScoped) return -1;
|
|
4934
|
+
a.propertyIndexScoped = !0;
|
|
4881
4935
|
}
|
|
4882
4936
|
else {
|
|
4883
|
-
if (-1 !==
|
|
4884
|
-
|
|
4937
|
+
if (-1 !== a.fixed || i || a.propertyScoped || a.propertyIndexScoped) return -1;
|
|
4938
|
+
a.propertyScoped = !0;
|
|
4885
4939
|
}
|
|
4886
4940
|
else {
|
|
4887
|
-
if (-1 !==
|
|
4888
|
-
|
|
4941
|
+
if (-1 !== a.fixed || i || a.elementScoped) return -1;
|
|
4942
|
+
a.elementScoped = !0;
|
|
4889
4943
|
}
|
|
4890
4944
|
}
|
|
4891
4945
|
return -1;
|
|
@@ -4905,7 +4959,7 @@ function calcWrapper(e, n) {
|
|
|
4905
4959
|
void 0
|
|
4906
4960
|
], n);
|
|
4907
4961
|
}
|
|
4908
|
-
function maxWrapper(t, r,
|
|
4962
|
+
function maxWrapper(t, r, u) {
|
|
4909
4963
|
return new FunctionNode([
|
|
4910
4964
|
u$1.Function,
|
|
4911
4965
|
"max(",
|
|
@@ -4926,7 +4980,7 @@ function maxWrapper(t, r, a) {
|
|
|
4926
4980
|
...sourceIndices(r),
|
|
4927
4981
|
void 0
|
|
4928
4982
|
]),
|
|
4929
|
-
|
|
4983
|
+
u
|
|
4930
4984
|
]);
|
|
4931
4985
|
}
|
|
4932
4986
|
function patchNaN(e) {
|
|
@@ -5186,16 +5240,6 @@ function patchMinusZero(e) {
|
|
|
5186
5240
|
const n = e.value;
|
|
5187
5241
|
return isTokenNumeric(n) && Object.is(-0, n[4].value) ? ("-0" === n[1] || (isTokenPercentage(n) ? n[1] = "-0%" : isTokenDimension(n) ? n[1] = "-0" + n[4].unit : n[1] = "-0"), e) : e;
|
|
5188
5242
|
}
|
|
5189
|
-
function patchPrecision(e, n = 13) {
|
|
5190
|
-
if (-1 === e) return -1;
|
|
5191
|
-
if (n <= 0) return e;
|
|
5192
|
-
if (isFunctionNode(e)) return e;
|
|
5193
|
-
const t = e.value;
|
|
5194
|
-
if (!isTokenNumeric(t)) return e;
|
|
5195
|
-
if (Number.isInteger(t[4].value)) return e;
|
|
5196
|
-
const r = Number(t[4].value.toFixed(n)).toString();
|
|
5197
|
-
return isTokenNumber(t) ? t[1] = r : isTokenPercentage(t) ? t[1] = r + "%" : isTokenDimension(t) && (t[1] = r + t[4].unit), e;
|
|
5198
|
-
}
|
|
5199
5243
|
function patchCanonicalUnit(e) {
|
|
5200
5244
|
return -1 === e ? -1 : isFunctionNode(e) ? e : isTokenDimension(e.value) ? (e.value = toCanonicalUnit(e.value), e) : e;
|
|
5201
5245
|
}
|
|
@@ -5208,10 +5252,10 @@ function tokenizeGlobals(e) {
|
|
|
5208
5252
|
if (!e) return n;
|
|
5209
5253
|
for (const [t, r] of e) if (isToken(r)) n.set(t, r);
|
|
5210
5254
|
else if ("string" == typeof r) {
|
|
5211
|
-
const e = tokenizer({ css: r }),
|
|
5255
|
+
const e = tokenizer({ css: r }), u = e.nextToken();
|
|
5212
5256
|
if (e.nextToken(), !e.endOfFile()) continue;
|
|
5213
|
-
if (!isTokenNumeric(
|
|
5214
|
-
n.set(t,
|
|
5257
|
+
if (!isTokenNumeric(u)) continue;
|
|
5258
|
+
n.set(t, u);
|
|
5215
5259
|
continue;
|
|
5216
5260
|
}
|
|
5217
5261
|
return n;
|
|
@@ -5220,40 +5264,40 @@ function calcFromComponentValues(e, n) {
|
|
|
5220
5264
|
const t = tokenizeGlobals(n?.globals);
|
|
5221
5265
|
return replaceComponentValues(e, (e) => {
|
|
5222
5266
|
if (!isFunctionNode(e)) return;
|
|
5223
|
-
const r =
|
|
5267
|
+
const r = _.get(e.getName().toLowerCase());
|
|
5224
5268
|
if (!r) return;
|
|
5225
5269
|
const a = patchCalcResult(solve(r(e, t, n ?? {}), n ?? {}), n);
|
|
5226
5270
|
return -1 !== a ? n?.calcWrapper ? calcWrapper(e, [a]) : a : void 0;
|
|
5227
5271
|
});
|
|
5228
5272
|
}
|
|
5229
|
-
function replaceComponentValues(n,
|
|
5273
|
+
function replaceComponentValues(n, u) {
|
|
5230
5274
|
for (let a = 0; a < n.length; a++) {
|
|
5231
|
-
const
|
|
5232
|
-
walk(
|
|
5275
|
+
const i = n[a];
|
|
5276
|
+
walk(i, (n, a) => {
|
|
5233
5277
|
if ("number" != typeof a) return;
|
|
5234
|
-
const
|
|
5235
|
-
if (!
|
|
5236
|
-
const
|
|
5237
|
-
isTokenNode(
|
|
5278
|
+
const i = u(n.node);
|
|
5279
|
+
if (!i) return;
|
|
5280
|
+
const l = [i], c = n.parent.value[a - 1];
|
|
5281
|
+
isTokenNode(c) && isTokenDelim(c.value) && ("-" === c.value[4].value || "+" === c.value[4].value) && l.splice(0, 0, new WhitespaceNode([[
|
|
5238
5282
|
u$1.Whitespace,
|
|
5239
5283
|
" ",
|
|
5240
5284
|
...sourceIndices(n.node),
|
|
5241
5285
|
void 0
|
|
5242
5286
|
]]));
|
|
5243
5287
|
const s = n.parent.value[a + 1];
|
|
5244
|
-
!s || isWhiteSpaceOrCommentNode(s) || isTokenNode(s) && (isTokenComma(s.value) || isTokenColon(s.value) || isTokenSemicolon(s.value) || isTokenDelim(s.value) && "-" !== s.value[4].value && "+" !== s.value[4].value) ||
|
|
5288
|
+
!s || isWhiteSpaceOrCommentNode(s) || isTokenNode(s) && (isTokenComma(s.value) || isTokenColon(s.value) || isTokenSemicolon(s.value) || isTokenDelim(s.value) && "-" !== s.value[4].value && "+" !== s.value[4].value) || l.push(new WhitespaceNode([[
|
|
5245
5289
|
u$1.Whitespace,
|
|
5246
5290
|
" ",
|
|
5247
5291
|
...sourceIndices(n.node),
|
|
5248
5292
|
void 0
|
|
5249
|
-
]])), n.parent.value.splice(a, 1, ...
|
|
5293
|
+
]])), n.parent.value.splice(a, 1, ...l);
|
|
5250
5294
|
});
|
|
5251
5295
|
}
|
|
5252
5296
|
return n;
|
|
5253
5297
|
}
|
|
5254
|
-
const
|
|
5298
|
+
const K = new Set(_.keys());
|
|
5255
5299
|
//#endregion
|
|
5256
|
-
//#region ../../node_modules/.pnpm/@csstools+css-color-parser@4.2.
|
|
5300
|
+
//#region ../../node_modules/.pnpm/@csstools+css-color-parser@4.2.4_@csstools+css-parser-algorithms@4.0.1_@csstools+css-to_3cec8fdb911b5b73345a3ccb5bd79466/node_modules/@csstools/css-color-parser/dist/index.mjs
|
|
5257
5301
|
var xe;
|
|
5258
5302
|
var De;
|
|
5259
5303
|
function normalize(e, n, a, o) {
|
|
@@ -5844,7 +5888,7 @@ function color$1(e, n) {
|
|
|
5844
5888
|
p.syntaxFlags.add(De.HasVariableAlpha), b.push(v);
|
|
5845
5889
|
continue;
|
|
5846
5890
|
}
|
|
5847
|
-
if (!
|
|
5891
|
+
if (!K.has(toLowerCaseAZ(v.getName()))) return !1;
|
|
5848
5892
|
const [[e]] = calcFromComponentValues([[v]], {
|
|
5849
5893
|
censorIntoStandardRepresentableValues: !0,
|
|
5850
5894
|
globals: h,
|
|
@@ -5992,7 +6036,7 @@ function colorMixComponents(e, n) {
|
|
|
5992
6036
|
}
|
|
5993
6037
|
}
|
|
5994
6038
|
if (!t) {
|
|
5995
|
-
if (isFunctionNode(i) &&
|
|
6039
|
+
if (isFunctionNode(i) && K.has(toLowerCaseAZ(i.getName()))) {
|
|
5996
6040
|
if ([[i]] = calcFromComponentValues([[i]], {
|
|
5997
6041
|
censorIntoStandardRepresentableValues: !0,
|
|
5998
6042
|
precision: -1,
|
|
@@ -6416,7 +6460,7 @@ function threeChannelLegacySyntax(e, n, a, o) {
|
|
|
6416
6460
|
h.syntaxFlags.add(De.HasVariableAlpha), N.push(a);
|
|
6417
6461
|
continue;
|
|
6418
6462
|
}
|
|
6419
|
-
if (!
|
|
6463
|
+
if (!K.has(a.getName().toLowerCase())) return !1;
|
|
6420
6464
|
const [[e]] = calcFromComponentValues([[a]], {
|
|
6421
6465
|
censorIntoStandardRepresentableValues: !0,
|
|
6422
6466
|
precision: -1,
|
|
@@ -6481,7 +6525,7 @@ function threeChannelSpaceSeparated(e, n, o, s, c) {
|
|
|
6481
6525
|
v.syntaxFlags.add(De.HasVariableAlpha), f.push(r);
|
|
6482
6526
|
continue;
|
|
6483
6527
|
}
|
|
6484
|
-
if (!
|
|
6528
|
+
if (!K.has(r.getName().toLowerCase())) return !1;
|
|
6485
6529
|
const [[e]] = calcFromComponentValues([[r]], {
|
|
6486
6530
|
censorIntoStandardRepresentableValues: !0,
|
|
6487
6531
|
globals: p,
|
|
@@ -6950,7 +6994,7 @@ function alpha(e, n) {
|
|
|
6950
6994
|
if (isWhitespaceNode(m) || isCommentNode(m)) for (; isWhitespaceNode(e.value[N + 1]) || isCommentNode(e.value[N + 1]);) N++;
|
|
6951
6995
|
else if (u && !c && !i && isTokenNode(m) && isTokenDelim(m.value) && "/" === m.value[4].value) c = !0;
|
|
6952
6996
|
else {
|
|
6953
|
-
if (isFunctionNode(m) &&
|
|
6997
|
+
if (isFunctionNode(m) && K.has(toLowerCaseAZ(m.getName()))) {
|
|
6954
6998
|
const [[e]] = calcFromComponentValues([[m]], {
|
|
6955
6999
|
censorIntoStandardRepresentableValues: !0,
|
|
6956
7000
|
globals: s,
|
|
@@ -8601,13 +8645,16 @@ function collectThemeVariableRule(root, options = {}) {
|
|
|
8601
8645
|
if (isDisplayP3Declaration(decl)) return;
|
|
8602
8646
|
if (decl.prop.startsWith("--tw-")) return;
|
|
8603
8647
|
if (!shouldPreserveContentInit && isEmptyTwContentDeclaration(decl)) return;
|
|
8604
|
-
declarations.
|
|
8648
|
+
const values = declarations.get(decl.prop) ?? [];
|
|
8649
|
+
const previous = values.at(-1);
|
|
8650
|
+
if (!previous || previous.value !== decl.value || previous.important !== decl.important) values.push(decl.clone());
|
|
8651
|
+
declarations.set(decl.prop, values);
|
|
8605
8652
|
});
|
|
8606
8653
|
}
|
|
8607
8654
|
for (const rule of themeRules) rule.remove();
|
|
8608
8655
|
if (declarations.size === 0) return;
|
|
8609
8656
|
const rule = postcss.default.rule({ selector: normalizeMiniProgramThemeScopeSelector(options.cssSelectorReplacement?.root) });
|
|
8610
|
-
for (const decl of declarations.values()) rule.append(decl);
|
|
8657
|
+
for (const decl of declarations.values()) rule.append(...decl);
|
|
8611
8658
|
return rule;
|
|
8612
8659
|
}
|
|
8613
8660
|
//#endregion
|