diff --git a/package-lock.json b/package-lock.json index d9abe1cc8..a475da69b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,9 +9,7 @@ "version": "2.1.0", "hasInstallScript": true, "license": "Apache-2.0", - "workspaces": [ - "projects/*" - ], + "workspaces": ["projects/*"], "devDependencies": { "@angular-devkit/build-angular": "15.2.10", "@angular-devkit/core": "15.2.10", @@ -293,14 +291,10 @@ "version": "0.17.8", "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.8.tgz", "integrity": "sha512-0/rb91GYKhrtbeglJXOhAv9RuYimgI8h623TplY2X+vA4EXnk3Zj1fXZreJ0J3OJJu1bwmb0W7g+2cT/d8/l/w==", - "cpu": [ - "arm" - ], + "cpu": ["arm"], "dev": true, "optional": true, - "os": [ - "android" - ], + "os": ["android"], "engines": { "node": ">=12" } @@ -309,14 +303,10 @@ "version": "0.17.8", "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.8.tgz", "integrity": "sha512-oa/N5j6v1svZQs7EIRPqR8f+Bf8g6HBDjD/xHC02radE/NjKHK7oQmtmLxPs1iVwYyvE+Kolo6lbpfEQ9xnhxQ==", - "cpu": [ - "arm64" - ], + "cpu": ["arm64"], "dev": true, "optional": true, - "os": [ - "android" - ], + "os": ["android"], "engines": { "node": ">=12" } @@ -325,14 +315,10 @@ "version": "0.17.8", "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.8.tgz", "integrity": "sha512-bTliMLqD7pTOoPg4zZkXqCDuzIUguEWLpeqkNfC41ODBHwoUgZ2w5JBeYimv4oP6TDVocoYmEhZrCLQTrH89bg==", - "cpu": [ - "x64" - ], + "cpu": ["x64"], "dev": true, "optional": true, - "os": [ - "android" - ], + "os": ["android"], "engines": { "node": ">=12" } @@ -341,14 +327,10 @@ "version": "0.17.8", "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.8.tgz", "integrity": "sha512-ghAbV3ia2zybEefXRRm7+lx8J/rnupZT0gp9CaGy/3iolEXkJ6LYRq4IpQVI9zR97ID80KJVoUlo3LSeA/sMAg==", - "cpu": [ - "arm64" - ], + "cpu": ["arm64"], "dev": true, "optional": true, - "os": [ - "darwin" - ], + "os": ["darwin"], "engines": { "node": ">=12" } @@ -357,14 +339,10 @@ "version": "0.17.8", "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.8.tgz", "integrity": "sha512-n5WOpyvZ9TIdv2V1K3/iIkkJeKmUpKaCTdun9buhGRWfH//osmUjlv4Z5mmWdPWind/VGcVxTHtLfLCOohsOXw==", - "cpu": [ - "x64" - ], + "cpu": ["x64"], "dev": true, "optional": true, - "os": [ - "darwin" - ], + "os": ["darwin"], "engines": { "node": ">=12" } @@ -373,14 +351,10 @@ "version": "0.17.8", "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.8.tgz", "integrity": "sha512-a/SATTaOhPIPFWvHZDoZYgxaZRVHn0/LX1fHLGfZ6C13JqFUZ3K6SMD6/HCtwOQ8HnsNaEeokdiDSFLuizqv5A==", - "cpu": [ - "arm64" - ], + "cpu": ["arm64"], "dev": true, "optional": true, - "os": [ - "freebsd" - ], + "os": ["freebsd"], "engines": { "node": ">=12" } @@ -389,14 +363,10 @@ "version": "0.17.8", "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.8.tgz", "integrity": "sha512-xpFJb08dfXr5+rZc4E+ooZmayBW6R3q59daCpKZ/cDU96/kvDM+vkYzNeTJCGd8rtO6fHWMq5Rcv/1cY6p6/0Q==", - "cpu": [ - "x64" - ], + "cpu": ["x64"], "dev": true, "optional": true, - "os": [ - "freebsd" - ], + "os": ["freebsd"], "engines": { "node": ">=12" } @@ -405,14 +375,10 @@ "version": "0.17.8", "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.8.tgz", "integrity": "sha512-6Ij8gfuGszcEwZpi5jQIJCVIACLS8Tz2chnEBfYjlmMzVsfqBP1iGmHQPp7JSnZg5xxK9tjCc+pJ2WtAmPRFVA==", - "cpu": [ - "arm" - ], + "cpu": ["arm"], "dev": true, "optional": true, - "os": [ - "linux" - ], + "os": ["linux"], "engines": { "node": ">=12" } @@ -421,14 +387,10 @@ "version": "0.17.8", "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.8.tgz", "integrity": "sha512-v3iwDQuDljLTxpsqQDl3fl/yihjPAyOguxuloON9kFHYwopeJEf1BkDXODzYyXEI19gisEsQlG1bM65YqKSIww==", - "cpu": [ - "arm64" - ], + "cpu": ["arm64"], "dev": true, "optional": true, - "os": [ - "linux" - ], + "os": ["linux"], "engines": { "node": ">=12" } @@ -437,14 +399,10 @@ "version": "0.17.8", "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.8.tgz", "integrity": "sha512-8svILYKhE5XetuFk/B6raFYIyIqydQi+GngEXJgdPdI7OMKUbSd7uzR02wSY4kb53xBrClLkhH4Xs8P61Q2BaA==", - "cpu": [ - "ia32" - ], + "cpu": ["ia32"], "dev": true, "optional": true, - "os": [ - "linux" - ], + "os": ["linux"], "engines": { "node": ">=12" } @@ -453,14 +411,10 @@ "version": "0.17.8", "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.8.tgz", "integrity": "sha512-B6FyMeRJeV0NpyEOYlm5qtQfxbdlgmiGdD+QsipzKfFky0K5HW5Td6dyK3L3ypu1eY4kOmo7wW0o94SBqlqBSA==", - "cpu": [ - "loong64" - ], + "cpu": ["loong64"], "dev": true, "optional": true, - "os": [ - "linux" - ], + "os": ["linux"], "engines": { "node": ">=12" } @@ -469,14 +423,10 @@ "version": "0.17.8", "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.8.tgz", "integrity": "sha512-CCb67RKahNobjm/eeEqeD/oJfJlrWyw29fgiyB6vcgyq97YAf3gCOuP6qMShYSPXgnlZe/i4a8WFHBw6N8bYAA==", - "cpu": [ - "mips64el" - ], + "cpu": ["mips64el"], "dev": true, "optional": true, - "os": [ - "linux" - ], + "os": ["linux"], "engines": { "node": ">=12" } @@ -485,14 +435,10 @@ "version": "0.17.8", "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.8.tgz", "integrity": "sha512-bytLJOi55y55+mGSdgwZ5qBm0K9WOCh0rx+vavVPx+gqLLhxtSFU0XbeYy/dsAAD6xECGEv4IQeFILaSS2auXw==", - "cpu": [ - "ppc64" - ], + "cpu": ["ppc64"], "dev": true, "optional": true, - "os": [ - "linux" - ], + "os": ["linux"], "engines": { "node": ">=12" } @@ -501,14 +447,10 @@ "version": "0.17.8", "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.8.tgz", "integrity": "sha512-2YpRyQJmKVBEHSBLa8kBAtbhucaclb6ex4wchfY0Tj3Kg39kpjeJ9vhRU7x4mUpq8ISLXRXH1L0dBYjAeqzZAw==", - "cpu": [ - "riscv64" - ], + "cpu": ["riscv64"], "dev": true, "optional": true, - "os": [ - "linux" - ], + "os": ["linux"], "engines": { "node": ">=12" } @@ -517,14 +459,10 @@ "version": "0.17.8", "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.8.tgz", "integrity": "sha512-QgbNY/V3IFXvNf11SS6exkpVcX0LJcob+0RWCgV9OiDAmVElnxciHIisoSix9uzYzScPmS6dJFbZULdSAEkQVw==", - "cpu": [ - "s390x" - ], + "cpu": ["s390x"], "dev": true, "optional": true, - "os": [ - "linux" - ], + "os": ["linux"], "engines": { "node": ">=12" } @@ -533,14 +471,10 @@ "version": "0.17.8", "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.8.tgz", "integrity": "sha512-mM/9S0SbAFDBc4OPoyP6SEOo5324LpUxdpeIUUSrSTOfhHU9hEfqRngmKgqILqwx/0DVJBzeNW7HmLEWp9vcOA==", - "cpu": [ - "x64" - ], + "cpu": ["x64"], "dev": true, "optional": true, - "os": [ - "linux" - ], + "os": ["linux"], "engines": { "node": ">=12" } @@ -549,14 +483,10 @@ "version": "0.17.8", "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.8.tgz", "integrity": "sha512-eKUYcWaWTaYr9zbj8GertdVtlt1DTS1gNBWov+iQfWuWyuu59YN6gSEJvFzC5ESJ4kMcKR0uqWThKUn5o8We6Q==", - "cpu": [ - "x64" - ], + "cpu": ["x64"], "dev": true, "optional": true, - "os": [ - "netbsd" - ], + "os": ["netbsd"], "engines": { "node": ">=12" } @@ -565,14 +495,10 @@ "version": "0.17.8", "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.8.tgz", "integrity": "sha512-Vc9J4dXOboDyMXKD0eCeW0SIeEzr8K9oTHJU+Ci1mZc5njPfhKAqkRt3B/fUNU7dP+mRyralPu8QUkiaQn7iIg==", - "cpu": [ - "x64" - ], + "cpu": ["x64"], "dev": true, "optional": true, - "os": [ - "openbsd" - ], + "os": ["openbsd"], "engines": { "node": ">=12" } @@ -581,14 +507,10 @@ "version": "0.17.8", "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.8.tgz", "integrity": "sha512-0xvOTNuPXI7ft1LYUgiaXtpCEjp90RuBBYovdd2lqAFxje4sEucurg30M1WIm03+3jxByd3mfo+VUmPtRSVuOw==", - "cpu": [ - "x64" - ], + "cpu": ["x64"], "dev": true, "optional": true, - "os": [ - "sunos" - ], + "os": ["sunos"], "engines": { "node": ">=12" } @@ -597,14 +519,10 @@ "version": "0.17.8", "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.8.tgz", "integrity": "sha512-G0JQwUI5WdEFEnYNKzklxtBheCPkuDdu1YrtRrjuQv30WsYbkkoixKxLLv8qhJmNI+ATEWquZe/N0d0rpr55Mg==", - "cpu": [ - "arm64" - ], + "cpu": ["arm64"], "dev": true, "optional": true, - "os": [ - "win32" - ], + "os": ["win32"], "engines": { "node": ">=12" } @@ -613,14 +531,10 @@ "version": "0.17.8", "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.8.tgz", "integrity": "sha512-Fqy63515xl20OHGFykjJsMnoIWS+38fqfg88ClvPXyDbLtgXal2DTlhb1TfTX34qWi3u4I7Cq563QcHpqgLx8w==", - "cpu": [ - "ia32" - ], + "cpu": ["ia32"], "dev": true, "optional": true, - "os": [ - "win32" - ], + "os": ["win32"], "engines": { "node": ">=12" } @@ -629,14 +543,10 @@ "version": "0.17.8", "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.8.tgz", "integrity": "sha512-1iuezdyDNngPnz8rLRDO2C/ZZ/emJLb72OsZeqQ6gL6Avko/XCXZw+NuxBSNhBAP13Hie418V7VMt9et1FMvpg==", - "cpu": [ - "x64" - ], + "cpu": ["x64"], "dev": true, "optional": true, - "os": [ - "win32" - ], + "os": ["win32"], "engines": { "node": ">=12" } @@ -6564,14 +6474,10 @@ "version": "0.19.12", "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz", "integrity": "sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==", - "cpu": [ - "ppc64" - ], + "cpu": ["ppc64"], "dev": true, "optional": true, - "os": [ - "aix" - ], + "os": ["aix"], "engines": { "node": ">=12" } @@ -6580,14 +6486,10 @@ "version": "0.19.12", "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.12.tgz", "integrity": "sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==", - "cpu": [ - "arm" - ], + "cpu": ["arm"], "dev": true, "optional": true, - "os": [ - "android" - ], + "os": ["android"], "engines": { "node": ">=12" } @@ -6596,14 +6498,10 @@ "version": "0.19.12", "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.12.tgz", "integrity": "sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==", - "cpu": [ - "arm64" - ], + "cpu": ["arm64"], "dev": true, "optional": true, - "os": [ - "android" - ], + "os": ["android"], "engines": { "node": ">=12" } @@ -6612,14 +6510,10 @@ "version": "0.19.12", "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.12.tgz", "integrity": "sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==", - "cpu": [ - "x64" - ], + "cpu": ["x64"], "dev": true, "optional": true, - "os": [ - "android" - ], + "os": ["android"], "engines": { "node": ">=12" } @@ -6628,14 +6522,10 @@ "version": "0.19.12", "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.12.tgz", "integrity": "sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==", - "cpu": [ - "arm64" - ], + "cpu": ["arm64"], "dev": true, "optional": true, - "os": [ - "darwin" - ], + "os": ["darwin"], "engines": { "node": ">=12" } @@ -6644,14 +6534,10 @@ "version": "0.19.12", "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.12.tgz", "integrity": "sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==", - "cpu": [ - "x64" - ], + "cpu": ["x64"], "dev": true, "optional": true, - "os": [ - "darwin" - ], + "os": ["darwin"], "engines": { "node": ">=12" } @@ -6660,14 +6546,10 @@ "version": "0.19.12", "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.12.tgz", "integrity": "sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==", - "cpu": [ - "arm64" - ], + "cpu": ["arm64"], "dev": true, "optional": true, - "os": [ - "freebsd" - ], + "os": ["freebsd"], "engines": { "node": ">=12" } @@ -6676,14 +6558,10 @@ "version": "0.19.12", "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.12.tgz", "integrity": "sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==", - "cpu": [ - "x64" - ], + "cpu": ["x64"], "dev": true, "optional": true, - "os": [ - "freebsd" - ], + "os": ["freebsd"], "engines": { "node": ">=12" } @@ -6692,14 +6570,10 @@ "version": "0.19.12", "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.12.tgz", "integrity": "sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==", - "cpu": [ - "arm" - ], + "cpu": ["arm"], "dev": true, "optional": true, - "os": [ - "linux" - ], + "os": ["linux"], "engines": { "node": ">=12" } @@ -6708,14 +6582,10 @@ "version": "0.19.12", "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.12.tgz", "integrity": "sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==", - "cpu": [ - "arm64" - ], + "cpu": ["arm64"], "dev": true, "optional": true, - "os": [ - "linux" - ], + "os": ["linux"], "engines": { "node": ">=12" } @@ -6724,14 +6594,10 @@ "version": "0.19.12", "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.12.tgz", "integrity": "sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==", - "cpu": [ - "ia32" - ], + "cpu": ["ia32"], "dev": true, "optional": true, - "os": [ - "linux" - ], + "os": ["linux"], "engines": { "node": ">=12" } @@ -6740,14 +6606,10 @@ "version": "0.19.12", "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.12.tgz", "integrity": "sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==", - "cpu": [ - "loong64" - ], + "cpu": ["loong64"], "dev": true, "optional": true, - "os": [ - "linux" - ], + "os": ["linux"], "engines": { "node": ">=12" } @@ -6756,14 +6618,10 @@ "version": "0.19.12", "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.12.tgz", "integrity": "sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==", - "cpu": [ - "mips64el" - ], + "cpu": ["mips64el"], "dev": true, "optional": true, - "os": [ - "linux" - ], + "os": ["linux"], "engines": { "node": ">=12" } @@ -6772,14 +6630,10 @@ "version": "0.19.12", "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.12.tgz", "integrity": "sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==", - "cpu": [ - "ppc64" - ], + "cpu": ["ppc64"], "dev": true, "optional": true, - "os": [ - "linux" - ], + "os": ["linux"], "engines": { "node": ">=12" } @@ -6788,14 +6642,10 @@ "version": "0.19.12", "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.12.tgz", "integrity": "sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==", - "cpu": [ - "riscv64" - ], + "cpu": ["riscv64"], "dev": true, "optional": true, - "os": [ - "linux" - ], + "os": ["linux"], "engines": { "node": ">=12" } @@ -6804,14 +6654,10 @@ "version": "0.19.12", "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.12.tgz", "integrity": "sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==", - "cpu": [ - "s390x" - ], + "cpu": ["s390x"], "dev": true, "optional": true, - "os": [ - "linux" - ], + "os": ["linux"], "engines": { "node": ">=12" } @@ -6820,14 +6666,10 @@ "version": "0.19.12", "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.12.tgz", "integrity": "sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==", - "cpu": [ - "x64" - ], + "cpu": ["x64"], "dev": true, "optional": true, - "os": [ - "linux" - ], + "os": ["linux"], "engines": { "node": ">=12" } @@ -6836,14 +6678,10 @@ "version": "0.19.12", "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.12.tgz", "integrity": "sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==", - "cpu": [ - "x64" - ], + "cpu": ["x64"], "dev": true, "optional": true, - "os": [ - "netbsd" - ], + "os": ["netbsd"], "engines": { "node": ">=12" } @@ -6852,14 +6690,10 @@ "version": "0.19.12", "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.12.tgz", "integrity": "sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==", - "cpu": [ - "x64" - ], + "cpu": ["x64"], "dev": true, "optional": true, - "os": [ - "openbsd" - ], + "os": ["openbsd"], "engines": { "node": ">=12" } @@ -6868,14 +6702,10 @@ "version": "0.19.12", "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.12.tgz", "integrity": "sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==", - "cpu": [ - "x64" - ], + "cpu": ["x64"], "dev": true, "optional": true, - "os": [ - "sunos" - ], + "os": ["sunos"], "engines": { "node": ">=12" } @@ -6884,14 +6714,10 @@ "version": "0.19.12", "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.12.tgz", "integrity": "sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==", - "cpu": [ - "arm64" - ], + "cpu": ["arm64"], "dev": true, "optional": true, - "os": [ - "win32" - ], + "os": ["win32"], "engines": { "node": ">=12" } @@ -6900,14 +6726,10 @@ "version": "0.19.12", "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.12.tgz", "integrity": "sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==", - "cpu": [ - "ia32" - ], + "cpu": ["ia32"], "dev": true, "optional": true, - "os": [ - "win32" - ], + "os": ["win32"], "engines": { "node": ">=12" } @@ -6916,14 +6738,10 @@ "version": "0.19.12", "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.12.tgz", "integrity": "sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==", - "cpu": [ - "x64" - ], + "cpu": ["x64"], "dev": true, "optional": true, - "os": [ - "win32" - ], + "os": ["win32"], "engines": { "node": ">=12" } @@ -9487,14 +9305,10 @@ "version": "17.3.0", "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-17.3.0.tgz", "integrity": "sha512-NDR/HjahhNLx9Q4TjR5/W3IedSkdtK+kUZ09EceVeX33HNdeLjkFA26QtVVmGbhnogLcywAX0KELn7oGv2nO+A==", - "cpu": [ - "arm64" - ], + "cpu": ["arm64"], "dev": true, "optional": true, - "os": [ - "darwin" - ], + "os": ["darwin"], "engines": { "node": ">= 10" } @@ -9503,14 +9317,10 @@ "version": "17.3.0", "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-17.3.0.tgz", "integrity": "sha512-3qxOZnHTPTUXAH8WGCtllAXE2jodStDNSkGVeEcDuIK4NO5tFfF4oVCLKKYcnqKsJOVNTS9B/aJG2bVGbaWYVQ==", - "cpu": [ - "x64" - ], + "cpu": ["x64"], "dev": true, "optional": true, - "os": [ - "darwin" - ], + "os": ["darwin"], "engines": { "node": ">= 10" } @@ -9519,14 +9329,10 @@ "version": "17.3.0", "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-17.3.0.tgz", "integrity": "sha512-kVGK/wSbRRWqL3sAXlR5diI29kDisutUMaxs5dWxzRzY0U/+Kwon6ayLU1/HGwEykXFhCJE7r9vSqCrnn67dzg==", - "cpu": [ - "x64" - ], + "cpu": ["x64"], "dev": true, "optional": true, - "os": [ - "freebsd" - ], + "os": ["freebsd"], "engines": { "node": ">= 10" } @@ -9535,14 +9341,10 @@ "version": "17.3.0", "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-17.3.0.tgz", "integrity": "sha512-nb+jsh7zDkXjHEaAM5qmJR0X0wQ1yPbAYJuZSf8oZkllVYXcAofiAf21EqgKHq7vr4sZiCmlDaT16DheM3jyVA==", - "cpu": [ - "arm" - ], + "cpu": ["arm"], "dev": true, "optional": true, - "os": [ - "linux" - ], + "os": ["linux"], "engines": { "node": ">= 10" } @@ -9551,14 +9353,10 @@ "version": "17.3.0", "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-17.3.0.tgz", "integrity": "sha512-9LkGk2paZn5Ehg/rya8GCISr+CgMz3MZ5PTOO/yEGk6cv6kQSmhZdjUi3wMOQidIqpolRK0MrhSL9DUz8Htl4A==", - "cpu": [ - "arm64" - ], + "cpu": ["arm64"], "dev": true, "optional": true, - "os": [ - "linux" - ], + "os": ["linux"], "engines": { "node": ">= 10" } @@ -9567,14 +9365,10 @@ "version": "17.3.0", "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-17.3.0.tgz", "integrity": "sha512-bMykIGtziR90xLOCdzVDzaLgMXDvCf2Y7KpAj/EqJXpC0j9RmQdkm7VyO3//xN6rpcWjMcn1wgHQ1rPV65vETg==", - "cpu": [ - "arm64" - ], + "cpu": ["arm64"], "dev": true, "optional": true, - "os": [ - "linux" - ], + "os": ["linux"], "engines": { "node": ">= 10" } @@ -9583,14 +9377,10 @@ "version": "17.3.0", "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-17.3.0.tgz", "integrity": "sha512-Y3KbMhVcgvVvplyVlWzHaSKqGKqWLPTcuXnnNzuWSqLC9q+UdaDE/6+7SryHbJABM2juMHbo9JNp5LlKp3bkEg==", - "cpu": [ - "x64" - ], + "cpu": ["x64"], "dev": true, "optional": true, - "os": [ - "linux" - ], + "os": ["linux"], "engines": { "node": ">= 10" } @@ -9599,14 +9389,10 @@ "version": "17.3.0", "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-17.3.0.tgz", "integrity": "sha512-QvAIZPqvrqI+s2Ddpkb0TE4yRJgXAlL8I+rIA8U+6y266rT5sVJZFPUWubkFWe/PSmqv3l4KqPcsvHTiIzldFA==", - "cpu": [ - "x64" - ], + "cpu": ["x64"], "dev": true, "optional": true, - "os": [ - "linux" - ], + "os": ["linux"], "engines": { "node": ">= 10" } @@ -9615,14 +9401,10 @@ "version": "17.3.0", "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-17.3.0.tgz", "integrity": "sha512-uoG3g0eZ9lYWZi4CpEVd04fIs+4lqpmU/FAaB3/K+Tfj9daSEIB6j57EX81ECDRB16k74VUdcI32qLAtD8KIMw==", - "cpu": [ - "arm64" - ], + "cpu": ["arm64"], "dev": true, "optional": true, - "os": [ - "win32" - ], + "os": ["win32"], "engines": { "node": ">= 10" } @@ -9631,14 +9413,10 @@ "version": "17.3.0", "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-17.3.0.tgz", "integrity": "sha512-ekoejj7ZXMSNYrgQwd/7thCNTHbDRggsqPw5LlTa/jPonsQ4TAPzmLBJUF8hCKn43xXLXaFufK4V1OMxlP1Hfg==", - "cpu": [ - "x64" - ], + "cpu": ["x64"], "dev": true, "optional": true, - "os": [ - "win32" - ], + "os": ["win32"], "engines": { "node": ">= 10" } @@ -11980,9 +11758,7 @@ "version": "1.6.2", "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "engines": [ - "node >= 0.8" - ], + "engines": ["node >= 0.8"], "peer": true, "dependencies": { "buffer-from": "^1.0.0", @@ -16512,9 +16288,7 @@ "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", "dev": true, - "engines": [ - "node >= 0.8.0" - ], + "engines": ["node >= 0.8.0"], "bin": { "ansi-html": "bin/ansi-html" } @@ -18888,9 +18662,7 @@ "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", "dev": true, - "engines": [ - "node >= 6.0" - ], + "engines": ["node >= 6.0"], "dependencies": { "buffer-from": "^1.0.0", "inherits": "^2.0.3", @@ -24468,9 +24240,7 @@ "integrity": "sha512-LtOB9myIX1O7HHqg9vtvBLjvXq1MXKuXIcD1nS+qZiMUJV6s9HBdilURAr9pIFc9kEelbVF54hOJ8pMxHvJP7g==", "dev": true, "peer": true, - "workspaces": [ - "examples" - ], + "workspaces": ["examples"], "dependencies": { "globals": "^13.23.0" }, @@ -25741,9 +25511,7 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", - "engines": [ - "node >=0.6.0" - ] + "engines": ["node >=0.6.0"] }, "node_modules/fast-deep-equal": { "version": "3.1.3", @@ -26506,9 +26274,7 @@ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "hasInstallScript": true, "optional": true, - "os": [ - "darwin" - ], + "os": ["darwin"], "engines": { "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } @@ -33201,9 +32967,7 @@ "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", "dev": true, - "engines": [ - "node >= 0.2.0" - ] + "engines": ["node >= 0.2.0"] }, "node_modules/JSONStream": { "version": "1.3.5", @@ -33225,9 +32989,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz", "integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==", - "engines": [ - "node >=0.6.0" - ], + "engines": ["node >=0.6.0"], "dependencies": { "assert-plus": "1.0.0", "extsprintf": "1.3.0", @@ -33263,10 +33025,7 @@ "version": "0.16.9", "resolved": "https://registry.npmjs.org/katex/-/katex-0.16.9.tgz", "integrity": "sha512-fsSYjWS0EEOwvy81j3vRA8TEAhQhKiqO+FQaKWp0m39qwOzHVBgAUBIXWj1pB+O2W3fIpNa6Y9KSKCVbfPhyAQ==", - "funding": [ - "https://opencollective.com/katex", - "https://github.com/sponsors/katex" - ], + "funding": ["https://opencollective.com/katex", "https://github.com/sponsors/katex"], "optional": true, "dependencies": { "commander": "^8.3.0" @@ -35186,10 +34945,7 @@ "version": "9.0.1", "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", - "funding": [ - "https://github.com/sponsors/broofa", - "https://github.com/sponsors/ctavan" - ], + "funding": ["https://github.com/sponsors/broofa", "https://github.com/sponsors/ctavan"], "optional": true, "bin": { "uuid": "dist/bin/uuid" @@ -35859,14 +35615,10 @@ "version": "0.17.19", "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.19.tgz", "integrity": "sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==", - "cpu": [ - "arm" - ], + "cpu": ["arm"], "dev": true, "optional": true, - "os": [ - "android" - ], + "os": ["android"], "engines": { "node": ">=12" } @@ -35875,14 +35627,10 @@ "version": "0.17.19", "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz", "integrity": "sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==", - "cpu": [ - "arm64" - ], + "cpu": ["arm64"], "dev": true, "optional": true, - "os": [ - "android" - ], + "os": ["android"], "engines": { "node": ">=12" } @@ -35891,14 +35639,10 @@ "version": "0.17.19", "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.19.tgz", "integrity": "sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==", - "cpu": [ - "x64" - ], + "cpu": ["x64"], "dev": true, "optional": true, - "os": [ - "android" - ], + "os": ["android"], "engines": { "node": ">=12" } @@ -35907,14 +35651,10 @@ "version": "0.17.19", "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz", "integrity": "sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==", - "cpu": [ - "arm64" - ], + "cpu": ["arm64"], "dev": true, "optional": true, - "os": [ - "darwin" - ], + "os": ["darwin"], "engines": { "node": ">=12" } @@ -35923,14 +35663,10 @@ "version": "0.17.19", "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz", "integrity": "sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==", - "cpu": [ - "x64" - ], + "cpu": ["x64"], "dev": true, "optional": true, - "os": [ - "darwin" - ], + "os": ["darwin"], "engines": { "node": ">=12" } @@ -35939,14 +35675,10 @@ "version": "0.17.19", "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz", "integrity": "sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==", - "cpu": [ - "arm64" - ], + "cpu": ["arm64"], "dev": true, "optional": true, - "os": [ - "freebsd" - ], + "os": ["freebsd"], "engines": { "node": ">=12" } @@ -35955,14 +35687,10 @@ "version": "0.17.19", "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz", "integrity": "sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==", - "cpu": [ - "x64" - ], + "cpu": ["x64"], "dev": true, "optional": true, - "os": [ - "freebsd" - ], + "os": ["freebsd"], "engines": { "node": ">=12" } @@ -35971,14 +35699,10 @@ "version": "0.17.19", "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz", "integrity": "sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==", - "cpu": [ - "arm" - ], + "cpu": ["arm"], "dev": true, "optional": true, - "os": [ - "linux" - ], + "os": ["linux"], "engines": { "node": ">=12" } @@ -35987,14 +35711,10 @@ "version": "0.17.19", "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz", "integrity": "sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==", - "cpu": [ - "arm64" - ], + "cpu": ["arm64"], "dev": true, "optional": true, - "os": [ - "linux" - ], + "os": ["linux"], "engines": { "node": ">=12" } @@ -36003,14 +35723,10 @@ "version": "0.17.19", "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz", "integrity": "sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==", - "cpu": [ - "ia32" - ], + "cpu": ["ia32"], "dev": true, "optional": true, - "os": [ - "linux" - ], + "os": ["linux"], "engines": { "node": ">=12" } @@ -36019,14 +35735,10 @@ "version": "0.17.19", "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz", "integrity": "sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==", - "cpu": [ - "loong64" - ], + "cpu": ["loong64"], "dev": true, "optional": true, - "os": [ - "linux" - ], + "os": ["linux"], "engines": { "node": ">=12" } @@ -36035,14 +35747,10 @@ "version": "0.17.19", "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz", "integrity": "sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==", - "cpu": [ - "mips64el" - ], + "cpu": ["mips64el"], "dev": true, "optional": true, - "os": [ - "linux" - ], + "os": ["linux"], "engines": { "node": ">=12" } @@ -36051,14 +35759,10 @@ "version": "0.17.19", "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz", "integrity": "sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==", - "cpu": [ - "ppc64" - ], + "cpu": ["ppc64"], "dev": true, "optional": true, - "os": [ - "linux" - ], + "os": ["linux"], "engines": { "node": ">=12" } @@ -36067,14 +35771,10 @@ "version": "0.17.19", "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz", "integrity": "sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==", - "cpu": [ - "riscv64" - ], + "cpu": ["riscv64"], "dev": true, "optional": true, - "os": [ - "linux" - ], + "os": ["linux"], "engines": { "node": ">=12" } @@ -36083,14 +35783,10 @@ "version": "0.17.19", "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz", "integrity": "sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==", - "cpu": [ - "s390x" - ], + "cpu": ["s390x"], "dev": true, "optional": true, - "os": [ - "linux" - ], + "os": ["linux"], "engines": { "node": ">=12" } @@ -36099,14 +35795,10 @@ "version": "0.17.19", "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz", "integrity": "sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==", - "cpu": [ - "x64" - ], + "cpu": ["x64"], "dev": true, "optional": true, - "os": [ - "linux" - ], + "os": ["linux"], "engines": { "node": ">=12" } @@ -36115,14 +35807,10 @@ "version": "0.17.19", "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz", "integrity": "sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==", - "cpu": [ - "x64" - ], + "cpu": ["x64"], "dev": true, "optional": true, - "os": [ - "netbsd" - ], + "os": ["netbsd"], "engines": { "node": ">=12" } @@ -36131,14 +35819,10 @@ "version": "0.17.19", "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz", "integrity": "sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==", - "cpu": [ - "x64" - ], + "cpu": ["x64"], "dev": true, "optional": true, - "os": [ - "openbsd" - ], + "os": ["openbsd"], "engines": { "node": ">=12" } @@ -36147,14 +35831,10 @@ "version": "0.17.19", "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz", "integrity": "sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==", - "cpu": [ - "x64" - ], + "cpu": ["x64"], "dev": true, "optional": true, - "os": [ - "sunos" - ], + "os": ["sunos"], "engines": { "node": ">=12" } @@ -36163,14 +35843,10 @@ "version": "0.17.19", "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz", "integrity": "sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==", - "cpu": [ - "arm64" - ], + "cpu": ["arm64"], "dev": true, "optional": true, - "os": [ - "win32" - ], + "os": ["win32"], "engines": { "node": ">=12" } @@ -36179,14 +35855,10 @@ "version": "0.17.19", "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz", "integrity": "sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==", - "cpu": [ - "ia32" - ], + "cpu": ["ia32"], "dev": true, "optional": true, - "os": [ - "win32" - ], + "os": ["win32"], "engines": { "node": ">=12" } @@ -36195,14 +35867,10 @@ "version": "0.17.19", "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz", "integrity": "sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==", - "cpu": [ - "x64" - ], + "cpu": ["x64"], "dev": true, "optional": true, - "os": [ - "win32" - ], + "os": ["win32"], "engines": { "node": ">=12" } @@ -36401,9 +36069,7 @@ "dev": true, "hasInstallScript": true, "optional": true, - "os": [ - "!win32" - ], + "os": ["!win32"], "dependencies": { "node-addon-api": "^3.0.0", "node-gyp-build": "^4.2.2" @@ -46796,9 +46462,7 @@ "version": "1.10.0", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", - "engines": [ - "node >=0.6.0" - ], + "engines": ["node >=0.6.0"], "dependencies": { "assert-plus": "^1.0.0", "core-util-is": "1.0.2", diff --git a/projects/demo-integrations/src/tests/kit/number/number-minus-sign.cy.ts b/projects/demo-integrations/src/tests/kit/number/number-minus-sign.cy.ts new file mode 100644 index 000000000..38eb6d300 --- /dev/null +++ b/projects/demo-integrations/src/tests/kit/number/number-minus-sign.cy.ts @@ -0,0 +1,102 @@ +import { + CHAR_EM_DASH, + CHAR_EN_DASH, + CHAR_HYPHEN, + CHAR_JP_HYPHEN, + CHAR_MINUS, +} from 'projects/kit/src/lib/constants'; + +import {openNumberPage} from './utils'; + +describe('Properly using custom minus sign', () => { + const minuses: Array<{value: string; name: string}> = [ + { + value: CHAR_HYPHEN, + name: 'hyphen', + }, + { + value: CHAR_EN_DASH, + name: 'en-dash', + }, + { + value: CHAR_EM_DASH, + name: 'em-dash', + }, + ]; + + const numbers = ['321', '2_432']; + + const pseudoMinuses: Array<{value: string; name: string}> = [ + {value: CHAR_HYPHEN, name: 'hyphen'}, + {value: CHAR_EN_DASH, name: 'en-dash'}, + {value: CHAR_EM_DASH, name: 'em-dash'}, + {value: CHAR_JP_HYPHEN, name: 'japanese prolonged sound mark'}, + {value: CHAR_MINUS, name: 'unicode minus sign'}, + ]; + + minuses.forEach(minus => { + pseudoMinuses.forEach(pseudoMinus => { + numbers.forEach(number => { + it(`transforms ${pseudoMinus.name} into ${minus.name}`, () => { + openNumberPage( + `precision=Infinity&thousandSeparator=_&minusSign=${encodeURIComponent(minus.value)}`, + ); + cy.get('@input') + .type(`${pseudoMinus.value}${number}`) + .should('have.value', `${minus.value}${number}`); + }); + }); + }); + }); + + describe('can use letters as minus sign', () => { + beforeEach(() => { + openNumberPage('precision=Infinity&thousandSeparator=_&minusSign=i'); + }); + + it('transforms i into i', () => { + cy.get('@input').type('i1234').should('have.value', 'i1_234'); + }); + + pseudoMinuses.forEach(pseudoMinus => { + it(`transforms ${pseudoMinus.name} into i`, () => { + cy.get('@input') + .type(`${pseudoMinus.value}1234`) + .should('have.value', 'i1_234'); + }); + }); + }); +}); + +describe('custom minus should work properly with min(max) value', () => { + [ + {value: CHAR_HYPHEN, name: 'hyphen'}, + {value: CHAR_EN_DASH, name: 'en-dash'}, + {value: CHAR_EM_DASH, name: 'em-dash'}, + { + value: CHAR_JP_HYPHEN, + name: 'japanese prolonged sound mark', + }, + {value: CHAR_MINUS, name: 'unicode minus sign'}, + ].forEach(minus => { + describe(`applies ${minus.name} properly`, () => { + beforeEach(() => { + openNumberPage( + `min=-123&thousandSeparator=_&minusSign=${encodeURIComponent(minus.value)}`, + ); + }); + + it(`-94 => ${minus.value}94`, () => { + cy.get('@input') + .type(`${minus.value}94`) + .should('have.value', `${minus.value}94`); + }); + + it(`-432 => ${minus.value}123`, () => { + cy.get('@input') + .type(`${minus.value}432`) + .should('have.value', `${minus.value}123`); + }); + }); + }); +}); diff --git a/projects/demo/src/pages/kit/number/examples/5-custom-minus-sign/components.ts b/projects/demo/src/pages/kit/number/examples/5-custom-minus-sign/components.ts new file mode 100644 index 000000000..134b3faf4 --- /dev/null +++ b/projects/demo/src/pages/kit/number/examples/5-custom-minus-sign/components.ts @@ -0,0 +1,34 @@ +import {Component} from '@angular/core'; +import {FormsModule} from '@angular/forms'; +import {MaskitoDirective} from '@maskito/angular'; +import {TuiTextfieldControllerModule} from '@taiga-ui/core'; +import {TuiInputModule} from '@taiga-ui/kit'; + +import mask from './mask'; + +@Component({ + standalone: true, + selector: 'number-mask-doc-example-5', + imports: [ + TuiInputModule, + TuiTextfieldControllerModule, + MaskitoDirective, + FormsModule, + ], + template: ` + + + + `, +}) +export class NumberMaskDocExample5 { + protected value = '-42'; + protected readonly options = mask; +} diff --git a/projects/demo/src/pages/kit/number/examples/5-custom-minus-sign/mask.ts b/projects/demo/src/pages/kit/number/examples/5-custom-minus-sign/mask.ts new file mode 100644 index 000000000..8c9b3858f --- /dev/null +++ b/projects/demo/src/pages/kit/number/examples/5-custom-minus-sign/mask.ts @@ -0,0 +1,6 @@ +import {maskitoNumberOptionsGenerator} from '@maskito/kit'; + +export default maskitoNumberOptionsGenerator({ + minusSign: '-', + thousandSeparator: '', +}); diff --git a/projects/demo/src/pages/kit/number/examples/5-dynamic-decimal-zero-padding/component.ts b/projects/demo/src/pages/kit/number/examples/6-dynamic-decimal-zero-padding/component.ts similarity index 97% rename from projects/demo/src/pages/kit/number/examples/5-dynamic-decimal-zero-padding/component.ts rename to projects/demo/src/pages/kit/number/examples/6-dynamic-decimal-zero-padding/component.ts index 1f63af042..b0bdbe3ac 100644 --- a/projects/demo/src/pages/kit/number/examples/5-dynamic-decimal-zero-padding/component.ts +++ b/projects/demo/src/pages/kit/number/examples/6-dynamic-decimal-zero-padding/component.ts @@ -16,7 +16,7 @@ import {getMaskitoOptions} from './mask'; @Component({ standalone: true, - selector: 'number-mask-doc-example-5', + selector: 'number-mask-doc-example-6', imports: [ TuiLabelModule, TuiInputModule, @@ -42,7 +42,7 @@ import {getMaskitoOptions} from './mask'; `, changeDetection: ChangeDetectionStrategy.OnPush, }) -export class NumberMaskDocExample5 { +export class NumberMaskDocExample6 { protected value = '42'; protected decimalZeroPadding = this.value.includes('.'); diff --git a/projects/demo/src/pages/kit/number/examples/5-dynamic-decimal-zero-padding/mask.ts b/projects/demo/src/pages/kit/number/examples/6-dynamic-decimal-zero-padding/mask.ts similarity index 100% rename from projects/demo/src/pages/kit/number/examples/5-dynamic-decimal-zero-padding/mask.ts rename to projects/demo/src/pages/kit/number/examples/6-dynamic-decimal-zero-padding/mask.ts diff --git a/projects/demo/src/pages/kit/number/number-mask-doc.component.ts b/projects/demo/src/pages/kit/number/number-mask-doc.component.ts index 92b8559ef..90b018e73 100644 --- a/projects/demo/src/pages/kit/number/number-mask-doc.component.ts +++ b/projects/demo/src/pages/kit/number/number-mask-doc.component.ts @@ -9,16 +9,18 @@ import { maskitoNumberOptionsGenerator, maskitoRemoveOnBlurPlugin, } from '@maskito/kit'; +import {CHAR_MINUS} from '@maskito/kit/src/lib/constants'; import type {TuiDocExample} from '@taiga-ui/addon-doc'; import {TuiAddonDocModule} from '@taiga-ui/addon-doc'; -import {TuiNotificationModule} from '@taiga-ui/core'; +import {TuiLinkModule, TuiNotificationModule} from '@taiga-ui/core'; import {tuiInputCountOptionsProvider, TuiInputModule} from '@taiga-ui/kit'; import {NumberMaskDocExample1} from './examples/1-high-precision/component'; import {NumberMaskDocExample2} from './examples/2-separators/component'; import {NumberMaskDocExample3} from './examples/3-postfix/component'; import {NumberMaskDocExample4} from './examples/4-decimal-zero-padding/component'; -import {NumberMaskDocExample5} from './examples/5-dynamic-decimal-zero-padding/component'; +import {NumberMaskDocExample5} from './examples/5-custom-minus-sign/components'; +import {NumberMaskDocExample6} from './examples/6-dynamic-decimal-zero-padding/component'; type GeneratorOptions = Required< NonNullable[0]> @@ -33,11 +35,13 @@ type GeneratorOptions = Required< TuiAddonDocModule, TuiInputModule, TuiNotificationModule, + TuiLinkModule, NumberMaskDocExample1, NumberMaskDocExample2, NumberMaskDocExample3, NumberMaskDocExample4, NumberMaskDocExample5, + NumberMaskDocExample6, ], templateUrl: './number-mask-doc.template.html', changeDetection: ChangeDetectionStrategy.OnPush, @@ -70,12 +74,18 @@ export class NumberMaskDocComponent implements GeneratorOptions { ), }; - protected readonly dynamicDecimalZeroPaddingExample5: TuiDocExample = { + protected readonly customMinusSignExample5: TuiDocExample = { [DocExamplePrimaryTab.MaskitoOptions]: import( - './examples/5-dynamic-decimal-zero-padding/mask.ts?raw' + './examples/5-custom-minus-sign/mask.ts?raw' + ), + }; + + protected readonly dynamicDecimalZeroPaddingExample6: TuiDocExample = { + [DocExamplePrimaryTab.MaskitoOptions]: import( + './examples/6-dynamic-decimal-zero-padding/mask.ts?raw' ), [DocExamplePrimaryTab.Angular]: import( - './examples/5-dynamic-decimal-zero-padding/component.ts?raw' + './examples/6-dynamic-decimal-zero-padding/component.ts?raw' ), }; @@ -98,6 +108,7 @@ export class NumberMaskDocComponent implements GeneratorOptions { public thousandSeparator = ' '; public prefix = ''; public postfix = ''; + public minusSign = CHAR_MINUS; protected maskitoOptions: MaskitoOptions = this.calculateMask(this); diff --git a/projects/demo/src/pages/kit/number/number-mask-doc.template.html b/projects/demo/src/pages/kit/number/number-mask-doc.template.html index 66290f20e..6d40ed529 100644 --- a/projects/demo/src/pages/kit/number/number-mask-doc.template.html +++ b/projects/demo/src/pages/kit/number/number-mask-doc.template.html @@ -102,10 +102,39 @@ + + +

+ Use + minusSign + parameter to configure the character which indicates that a number is negative. +

+

+ In this example + + hyphen + + is used as + minusSign +

+
+ +
+ @@ -116,7 +145,7 @@ and enable it only after user inserts decimal separator. - + @@ -286,6 +315,27 @@ empty string (no postfix).

+ + A minus symbol. + +

+ Default: + + \u2212 + +

+
diff --git a/projects/kit/src/lib/masks/number/number-mask.ts b/projects/kit/src/lib/masks/number/number-mask.ts index f4d7323fc..d1a1da256 100644 --- a/projects/kit/src/lib/masks/number/number-mask.ts +++ b/projects/kit/src/lib/masks/number/number-mask.ts @@ -44,6 +44,7 @@ export function maskitoNumberOptionsGenerator({ decimalZeroPadding = false, prefix: unsafePrefix = '', postfix = '', + minusSign = CHAR_MINUS, }: { min?: number; max?: number; @@ -54,13 +55,18 @@ export function maskitoNumberOptionsGenerator({ thousandSeparator?: string; prefix?: string; postfix?: string; + minusSign?: string; } = {}): Required { const pseudoMinuses = [ CHAR_HYPHEN, CHAR_EN_DASH, CHAR_EM_DASH, CHAR_JP_HYPHEN, - ].filter(char => char !== thousandSeparator && char !== decimalSeparator); + CHAR_MINUS, + ].filter( + char => + char !== thousandSeparator && char !== decimalSeparator && char !== minusSign, + ); const validatedDecimalPseudoSeparators = validateDecimalPseudoSeparators({ decimalSeparator, thousandSeparator, @@ -80,6 +86,7 @@ export function maskitoNumberOptionsGenerator({ prefix, postfix, isNegativeAllowed: min < 0, + minusSign, }), preprocessors: [ createFullWidthToHalfWidthPreprocessor(), @@ -89,10 +96,11 @@ export function maskitoNumberOptionsGenerator({ pseudoMinuses, prefix, postfix, + minusSign, }), createAffixesFilterPreprocessor({prefix, postfix}), createPseudoCharactersPreprocessor({ - validCharacter: CHAR_MINUS, + validCharacter: minusSign, pseudoCharacters: pseudoMinuses, prefix, postfix, @@ -127,7 +135,7 @@ export function maskitoNumberOptionsGenerator({ }), ], postprocessors: [ - createMinMaxPostprocessor({decimalSeparator, min, max}), + createMinMaxPostprocessor({decimalSeparator, min, max, minusSign}), maskitoPrefixPostprocessorGenerator(prefix), maskitoPostfixPostprocessorGenerator(postfix), createThousandSeparatorPostprocessor({ @@ -135,6 +143,7 @@ export function maskitoNumberOptionsGenerator({ thousandSeparator, prefix, postfix, + minusSign, }), createDecimalZeroPaddingPostprocessor({ decimalSeparator, diff --git a/projects/kit/src/lib/masks/number/processors/initialization-only-preprocessor.ts b/projects/kit/src/lib/masks/number/processors/initialization-only-preprocessor.ts index c66850df8..429ccea77 100644 --- a/projects/kit/src/lib/masks/number/processors/initialization-only-preprocessor.ts +++ b/projects/kit/src/lib/masks/number/processors/initialization-only-preprocessor.ts @@ -20,12 +20,14 @@ export function createInitializationOnlyPreprocessor({ pseudoMinuses, prefix, postfix, + minusSign, }: { decimalSeparator: string; decimalPseudoSeparators: readonly string[]; pseudoMinuses: readonly string[]; prefix: string; postfix: string; + minusSign: string; }): MaskitoPreprocessor { let isInitializationPhase = true; const cleanNumberMask = generateMaskExpression({ @@ -37,6 +39,7 @@ export function createInitializationOnlyPreprocessor({ thousandSeparator: '', precision: Infinity, isNegativeAllowed: true, + minusSign, }); return ({elementState, data}) => { diff --git a/projects/kit/src/lib/masks/number/processors/min-max-postprocessor.ts b/projects/kit/src/lib/masks/number/processors/min-max-postprocessor.ts index 4711c6017..c72235b93 100644 --- a/projects/kit/src/lib/masks/number/processors/min-max-postprocessor.ts +++ b/projects/kit/src/lib/masks/number/processors/min-max-postprocessor.ts @@ -1,6 +1,6 @@ import type {MaskitoPostprocessor} from '@maskito/core'; -import {CHAR_HYPHEN, CHAR_MINUS} from '../../../constants'; +import {CHAR_HYPHEN} from '../../../constants'; import {maskitoParseNumber} from '../utils'; /** @@ -11,10 +11,12 @@ export function createMinMaxPostprocessor({ min, max, decimalSeparator, + minusSign, }: { min: number; max: number; decimalSeparator: string; + minusSign: string; }): MaskitoPostprocessor { return ({value, selection}) => { const parsedNumber = maskitoParseNumber(value, decimalSeparator); @@ -34,7 +36,7 @@ export function createMinMaxPostprocessor({ if (!Number.isNaN(parsedNumber) && limitedValue !== parsedNumber) { const newValue = `${limitedValue}` .replace('.', decimalSeparator) - .replace(CHAR_HYPHEN, CHAR_MINUS); + .replace(CHAR_HYPHEN, minusSign); return { value: newValue, diff --git a/projects/kit/src/lib/masks/number/processors/thousand-separator-postprocessor.ts b/projects/kit/src/lib/masks/number/processors/thousand-separator-postprocessor.ts index bdc212247..24c5e5491 100644 --- a/projects/kit/src/lib/masks/number/processors/thousand-separator-postprocessor.ts +++ b/projects/kit/src/lib/masks/number/processors/thousand-separator-postprocessor.ts @@ -1,6 +1,5 @@ import type {MaskitoPostprocessor} from '@maskito/core'; -import {CHAR_MINUS} from '../../../constants'; import {extractAffixes, identity} from '../../../utils'; /** @@ -12,11 +11,13 @@ export function createThousandSeparatorPostprocessor({ decimalSeparator, prefix, postfix, + minusSign, }: { thousandSeparator: string; decimalSeparator: string; prefix: string; postfix: string; + minusSign: string; }): MaskitoPostprocessor { if (!thousandSeparator) { return identity; @@ -31,7 +32,7 @@ export function createThousandSeparatorPostprocessor({ }); const [integerPart, decimalPart = ''] = cleanValue - .replace(CHAR_MINUS, '') + .replace(minusSign, '') .split(decimalSeparator); const [initialFrom, initialTo] = selection; let [from, to] = selection; @@ -83,7 +84,7 @@ export function createThousandSeparatorPostprocessor({ return { value: extractedPrefix + - (cleanValue.includes(CHAR_MINUS) ? CHAR_MINUS : '') + + (cleanValue.includes(minusSign) ? minusSign : '') + processedIntegerPart + (cleanValue.includes(decimalSeparator) ? decimalSeparator : '') + decimalPart + diff --git a/projects/kit/src/lib/masks/number/tests/number-mask.spec.ts b/projects/kit/src/lib/masks/number/tests/number-mask.spec.ts index 577f4bdab..8a1d47877 100644 --- a/projects/kit/src/lib/masks/number/tests/number-mask.spec.ts +++ b/projects/kit/src/lib/masks/number/tests/number-mask.spec.ts @@ -2,7 +2,15 @@ import type {MaskitoOptions} from '@maskito/core'; import {MASKITO_DEFAULT_OPTIONS, maskitoTransform} from '@maskito/core'; import {maskitoParseNumber} from '@maskito/kit'; -import {CHAR_NO_BREAK_SPACE, CHAR_ZERO_WIDTH_SPACE} from '../../../constants'; +import { + CHAR_EM_DASH, + CHAR_EN_DASH, + CHAR_HYPHEN, + CHAR_JP_HYPHEN, + CHAR_MINUS, + CHAR_NO_BREAK_SPACE, + CHAR_ZERO_WIDTH_SPACE, +} from '../../../constants'; import {maskitoNumberOptionsGenerator} from '../number-mask'; describe('Number (maskitoTransform)', () => { @@ -319,4 +327,72 @@ describe('Number (maskitoTransform)', () => { }); }); }); + + describe('applies `minusSign` property correctly', () => { + const minuses = [ + {value: CHAR_HYPHEN, name: 'hyphen'}, + {value: CHAR_MINUS, name: 'unicode minus sign'}, + {value: 'i', name: 'i'}, + ]; + + const numbers = ['23', '321', '2 432']; + + const pseudoMinuses = [ + {value: CHAR_HYPHEN, name: 'hyphen'}, + {value: CHAR_EN_DASH, name: 'en-dash'}, + {value: CHAR_EM_DASH, name: 'em-dash'}, + {value: CHAR_JP_HYPHEN, name: 'japanese prolonged sound mark'}, + {value: CHAR_MINUS, name: 'unicode minus sign'}, + ]; + + minuses.forEach(minus => { + const options = maskitoNumberOptionsGenerator({ + minusSign: minus.value, + thousandSeparator: ' ', + }); + + pseudoMinuses.forEach(pseudoMinus => { + numbers.forEach(number => { + it(`transforms ${pseudoMinus.name} into ${minus.name}`, () => { + expect( + maskitoTransform(`${pseudoMinus.value}${number}`, options), + ).toBe(`${minus.value}${number}`); + }); + }); + }); + }); + }); + + describe('custom minus should properly work with min(max) value', () => { + let options = MASKITO_DEFAULT_OPTIONS; + + [ + {value: CHAR_HYPHEN, name: 'hyphen'}, + {value: CHAR_EN_DASH, name: 'en-dash'}, + {value: CHAR_EM_DASH, name: 'em-dash'}, + {value: CHAR_JP_HYPHEN, name: 'japanese prolonged sound mark'}, + {value: CHAR_MINUS, name: 'unicode minus sign'}, + ].forEach(minus => { + describe(`applies ${minus.name} properly`, () => { + beforeEach(() => { + options = maskitoNumberOptionsGenerator({ + min: -123, + minusSign: minus.value, + }); + }); + + it(`-94 => ${minus.value}94`, () => { + expect(maskitoTransform(`${minus.value}94`, options)).toBe( + `${minus.value}94`, + ); + }); + + it(`-432 => ${minus.value}123`, () => { + expect(maskitoTransform(`${minus.value}432`, options)).toBe( + `${minus.value}123`, + ); + }); + }); + }); + }); }); diff --git a/projects/kit/src/lib/masks/number/utils/generate-mask-expression.ts b/projects/kit/src/lib/masks/number/utils/generate-mask-expression.ts index e7d2da18c..eaf84fa24 100644 --- a/projects/kit/src/lib/masks/number/utils/generate-mask-expression.ts +++ b/projects/kit/src/lib/masks/number/utils/generate-mask-expression.ts @@ -1,6 +1,5 @@ import type {MaskitoMask} from '@maskito/core'; -import {CHAR_MINUS} from '../../../constants'; import {escapeRegExp} from '../../../utils'; export function generateMaskExpression({ @@ -12,6 +11,7 @@ export function generateMaskExpression({ postfix, decimalPseudoSeparators = [], pseudoMinuses = [], + minusSign, }: { decimalSeparator: string; isNegativeAllowed: boolean; @@ -21,11 +21,12 @@ export function generateMaskExpression({ postfix: string; decimalPseudoSeparators?: readonly string[]; pseudoMinuses?: readonly string[]; + minusSign: string; }): MaskitoMask { const computedPrefix = computeAllOptionalCharsRegExp(prefix); const digit = '\\d'; const optionalMinus = isNegativeAllowed - ? `[${CHAR_MINUS}${pseudoMinuses.map(x => `\\${x}`).join('')}]?` + ? `[${minusSign}${pseudoMinuses.map(x => `\\${x}`).join('')}]?` : ''; const integerPart = thousandSeparator ? `[${digit}${escapeRegExp(thousandSeparator).replaceAll(/\s/g, '\\s')}]*`