From bd981a031ebe331b6f6eaf97ecb74b5dcbae7b4f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 31 Jul 2026 19:00:50 +0000 Subject: [PATCH 01/11] chore(deps): bump nx from 22.5.0 to 22.7.8 Bumps [nx](https://github.com/nrwl/nx/tree/HEAD/packages/nx) from 22.5.0 to 22.7.8. - [Release notes](https://github.com/nrwl/nx/releases) - [Commits](https://github.com/nrwl/nx/commits/22.7.8/packages/nx) --- updated-dependencies: - dependency-name: nx dependency-version: 22.7.8 dependency-type: indirect ... Signed-off-by: dependabot[bot] --- yarn.lock | 802 +++++++++++++++++++++++++++++++----------------------- 1 file changed, 467 insertions(+), 335 deletions(-) diff --git a/yarn.lock b/yarn.lock index 2caf0c775a..57ae58fd78 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1328,6 +1328,14 @@ dependencies: tslib "^2.0.0" +"@emnapi/core@1.4.5": + version "1.4.5" + resolved "https://registry.yarnpkg.com/@emnapi/core/-/core-1.4.5.tgz#bfbb0cbbbb9f96ec4e2c4fd917b7bbe5495ceccb" + integrity sha512-XsLw1dEOpkSX/WucdqUhPWP7hDxSvZiY+fsUC14h+FtQ2Ifni4znbBt8punRX+Uj2JG/uDb8nEHVKvrVlvdZ5Q== + dependencies: + "@emnapi/wasi-threads" "1.0.4" + tslib "^2.4.0" + "@emnapi/core@^1.1.0": version "1.8.1" resolved "https://registry.yarnpkg.com/@emnapi/core/-/core-1.8.1.tgz#fd9efe721a616288345ffee17a1f26ac5dd01349" @@ -1336,6 +1344,13 @@ "@emnapi/wasi-threads" "1.1.0" tslib "^2.4.0" +"@emnapi/runtime@1.4.5": + version "1.4.5" + resolved "https://registry.yarnpkg.com/@emnapi/runtime/-/runtime-1.4.5.tgz#c67710d0661070f38418b6474584f159de38aba9" + integrity sha512-++LApOtY0pEEz1zrd9vy1/zXVaVJJ/EbAF3u0fXIzPJEDtnITsBGbbK0EkM72amhl/R5b+5xx0Y/QhcVOpuulg== + dependencies: + tslib "^2.4.0" + "@emnapi/runtime@^1.1.0": version "1.8.1" resolved "https://registry.yarnpkg.com/@emnapi/runtime/-/runtime-1.8.1.tgz#550fa7e3c0d49c5fb175a116e8cd70614f9a22a5" @@ -1343,6 +1358,13 @@ dependencies: tslib "^2.4.0" +"@emnapi/wasi-threads@1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@emnapi/wasi-threads/-/wasi-threads-1.0.4.tgz#703fc094d969e273b1b71c292523b2f792862bf4" + integrity sha512-PJR+bOmMOPH8AtcTGAyYNiuJ3/Fcoj2XN/gBEWzDIKh254XO+mM9XoXHk5GNEhodxeMznbg7BlRojVbKN+gC6g== + dependencies: + tslib "^2.4.0" + "@emnapi/wasi-threads@1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@emnapi/wasi-threads/-/wasi-threads-1.1.0.tgz#60b2102fddc9ccb78607e4a3cf8403ea69be41bf" @@ -2577,55 +2599,55 @@ tslib "^2.3.0" yargs-parser "21.1.1" -"@nx/nx-darwin-arm64@22.5.0": - version "22.5.0" - resolved "https://registry.yarnpkg.com/@nx/nx-darwin-arm64/-/nx-darwin-arm64-22.5.0.tgz#290f2ed933b08284492307a6d079b887513dcbff" - integrity sha512-MHnzv6tzucvLsh4oS9FTepj+ct/o8/DPXrQow+9Jid7GSgY59xrDX/8CleJOrwL5lqKEyGW7vv8TR+4wGtEWTA== - -"@nx/nx-darwin-x64@22.5.0": - version "22.5.0" - resolved "https://registry.yarnpkg.com/@nx/nx-darwin-x64/-/nx-darwin-x64-22.5.0.tgz#6f1d554054c9255112dea61db3b25aa0276346a9" - integrity sha512-/0w43hbR5Kia0XeCDZHDt/18FHhpwQs+Y+8TO8/ZsF1RgCI0knJDCyJieYk1yEZAq6E8dStAJnuzxK9uvETs4A== - -"@nx/nx-freebsd-x64@22.5.0": - version "22.5.0" - resolved "https://registry.yarnpkg.com/@nx/nx-freebsd-x64/-/nx-freebsd-x64-22.5.0.tgz#0bd678ac05790fd19bbdf4cd98e6e08ce7b431c6" - integrity sha512-d4Pd1VFpD272R7kJTWm/Pj49BIz44GZ+QIVSfxlx3GWxyaPd25X9GBanUngL6qpactS+aLTwcoBmnSbZ4PEcEQ== - -"@nx/nx-linux-arm-gnueabihf@22.5.0": - version "22.5.0" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-22.5.0.tgz#f0d8f30c77ec67a2e9f488088889aa5f7beb024d" - integrity sha512-cCyG23PikIlqE7I6s9j0aHJSqIxnpdOjFOXyRd224XmFyAB8tOyKl7vDD/WugcpAceos28i+Rgz4na189zm48A== - -"@nx/nx-linux-arm64-gnu@22.5.0": - version "22.5.0" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-22.5.0.tgz#0103bc0bb74ca42a4108ab84ad6f21e97929050d" - integrity sha512-vkQw8737fpta6oVEEqskzwq+d0GeZkGhtyl+U3pAcuUcYTdqbsZaofSQACFnGfngsqpYmlJCWJGU5Te00qcPQw== - -"@nx/nx-linux-arm64-musl@22.5.0": - version "22.5.0" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-22.5.0.tgz#8866ba44bcf2bd2420ab6a6532316029482f0f98" - integrity sha512-BkEsFBsnKrDK11N914rr5YKyIJwYoSVItJ7VzsQZIqAX0C7PdJeQ7KzqOGwoezbabdLmzFOBNg6s/o1ujoEYxw== - -"@nx/nx-linux-x64-gnu@22.5.0": - version "22.5.0" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-22.5.0.tgz#0a27449cdaeba2d11d6673a42b6494a171d04210" - integrity sha512-Dsqoz4hWmqehMMm8oJY6Q0ckEUeeHz4+T/C8nHyDaaj/REKCSmqYf/+QV6f2Z5Up/CsQ/hoAsWYEhCHZ0tcSFg== - -"@nx/nx-linux-x64-musl@22.5.0": - version "22.5.0" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-22.5.0.tgz#6263f05c1f984502f40d6f301fed89645f9fa0cc" - integrity sha512-Lcj/61BpsT85Qhm3hNTwQFrqGtsjLC+y4Kk21dh22d1/E5pOdVAwPXBuWrSPNo4lX+ESNoKmwxWjfgW3uoB05g== - -"@nx/nx-win32-arm64-msvc@22.5.0": - version "22.5.0" - resolved "https://registry.yarnpkg.com/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-22.5.0.tgz#0b75a32d592eda78740fff6fc5f2b259518e7f82" - integrity sha512-0DlnBDLvqNtseCyBBoBst0gwux+N91RBc4E41JDDcLcWpfntcwCQM39D6lA5qdma/0L7U0PUM7MYV9Q6igJMkQ== - -"@nx/nx-win32-x64-msvc@22.5.0": - version "22.5.0" - resolved "https://registry.yarnpkg.com/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-22.5.0.tgz#90b5b8230c37e2c6e09f1ed77169cabb79c4123f" - integrity sha512-kMMsU4PxKQ76NvmPFKT0/RlzRTiuUfuNWVJUmsWF1onVcBkXgQNKkmLcSJk3wGwML5/tHChjtlI7Hpo705Uv/g== +"@nx/nx-darwin-arm64@22.7.8": + version "22.7.8" + resolved "https://registry.yarnpkg.com/@nx/nx-darwin-arm64/-/nx-darwin-arm64-22.7.8.tgz#b25cf6c623ef2cc97d60d34bab85e27ec8aef64b" + integrity sha512-IM1geDyWPFsS565de9dByYNZ5I3j8FQZvNUp9LIYw1dNu70sCWbAT0glw0anholOwlAb7JWEscoUeV7ouRBW0A== + +"@nx/nx-darwin-x64@22.7.8": + version "22.7.8" + resolved "https://registry.yarnpkg.com/@nx/nx-darwin-x64/-/nx-darwin-x64-22.7.8.tgz#751c90554dbd053d4bb52f5482474633c62463ab" + integrity sha512-X/AyooJCmAwHyp9f//bspkAmtaPsv2lPEKe6OiOScsyxJITP4nw+rOfIAJ4Ar64WQcMAY8WLP+ys4ah0K6DZSw== + +"@nx/nx-freebsd-x64@22.7.8": + version "22.7.8" + resolved "https://registry.yarnpkg.com/@nx/nx-freebsd-x64/-/nx-freebsd-x64-22.7.8.tgz#9ac02aa846b16459108ef263ec04dd502a76960e" + integrity sha512-mgdqiFag8txon4XugDtNj+hq+X9Whn8LBMuqwJSez93L1fralzpQFSUip7XnE7ejQRr5Zewg3BFscGlsk8Cy3A== + +"@nx/nx-linux-arm-gnueabihf@22.7.8": + version "22.7.8" + resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-22.7.8.tgz#52a148ffc48b583b1ddcba496c86ef326594b80b" + integrity sha512-g7ojIloHGFI7wuMnUdg7io42EL7C7ae4zAolNVj7eXZM54amn3qoNjwbyqaVbBQvUNRiAKJizGyn1IhKpzvG9A== + +"@nx/nx-linux-arm64-gnu@22.7.8": + version "22.7.8" + resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-22.7.8.tgz#361bcb4f4d8e2b3434b576876a035acb12f19aa8" + integrity sha512-Kws8e7W4epfqpTWYaV7KLKaj33o+9JtJa2rErx/XFTtMXhfVzOs5hC4oIrZsYpgk1DuT0APp7UDvX06q2kdAVQ== + +"@nx/nx-linux-arm64-musl@22.7.8": + version "22.7.8" + resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-22.7.8.tgz#9bc6cfaa6ba85472ddaec14efcad663886e80800" + integrity sha512-fpnyVFL+mSqLdKBPk8+n/rHUEXiem7Xwr9cIOd2Dd5zxQ5wcwj4qSYTNRsBPI2qDFo3esHliwaoFJZULbTHldw== + +"@nx/nx-linux-x64-gnu@22.7.8": + version "22.7.8" + resolved "https://registry.yarnpkg.com/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-22.7.8.tgz#680630dc25c8e0aff6cf54d94fb920f858a109eb" + integrity sha512-KRbkSthClEwkbpt/LLJmBJhIOvOsyrp9OICisF9p3mOODjaxAuYmyOgrVreg09BT2F4hXN3JXpvt9eIZpTCRsw== + +"@nx/nx-linux-x64-musl@22.7.8": + version "22.7.8" + resolved "https://registry.yarnpkg.com/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-22.7.8.tgz#349c138bb5ec243218fed24a8ab2170ce947c45c" + integrity sha512-pdPMWko1yZI5ZNI6/t2Y5rQPGgV/ah5DW+mlHo2aFKav4lnxvgisEh9e4HtOsYBfK/9PyYZ5u3M9hLSaMiJ75w== + +"@nx/nx-win32-arm64-msvc@22.7.8": + version "22.7.8" + resolved "https://registry.yarnpkg.com/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-22.7.8.tgz#ae65cebf16d327b23871194f241409b084db21ea" + integrity sha512-yYDu3pj7AXu7LtN/T/bA4TMWWWbmvEE4wa8UW8ZU5JeWYblyXQA7HyYpPAb4fLzCtHb/dIrNDghVBRIeAAcnSw== + +"@nx/nx-win32-x64-msvc@22.7.8": + version "22.7.8" + resolved "https://registry.yarnpkg.com/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-22.7.8.tgz#561a6bb5291d31f44ccc3203097a1f4c2a5f6d14" + integrity sha512-cSr0qMt/GgM2aOBFsapxllnIv55j0gAz/6eWvqEOx5sS8d3X1G0IgazZnPbjW2c8gfSYaBZ9UmYnfapWIO/jqg== "@octokit/auth-token@^4.0.0": version "4.0.0" @@ -3875,7 +3897,7 @@ "@tufjs/canonical-json" "2.0.0" minimatch "^10.1.1" -"@tybys/wasm-util@^0.9.0": +"@tybys/wasm-util@0.9.0", "@tybys/wasm-util@^0.9.0": version "0.9.0" resolved "https://registry.yarnpkg.com/@tybys/wasm-util/-/wasm-util-0.9.0.tgz#3e75eb00604c8d6db470bf18c37b7d984a0e3355" integrity sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw== @@ -4385,19 +4407,11 @@ resolved "https://registry.yarnpkg.com/@xmldom/xmldom/-/xmldom-0.8.11.tgz#b79de2d67389734c57c52595f7a7305e30c2d608" integrity sha512-cQzWCtO6C8TQiYl1ruKNn2U6Ao4o4WBBcbL61yJl84x+j5sOWWFU9X7DpND8XZG3daDppSsigMdfAIl2upQBRw== -"@yarnpkg/lockfile@^1.1.0": +"@yarnpkg/lockfile@1.1.0", "@yarnpkg/lockfile@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz#e77a97fbd345b76d83245edcd17d393b1b41fb31" integrity sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ== -"@yarnpkg/parsers@3.0.2": - version "3.0.2" - resolved "https://registry.yarnpkg.com/@yarnpkg/parsers/-/parsers-3.0.2.tgz#48a1517a0f49124827f4c37c284a689c607b2f32" - integrity sha512-/HcYgtUSiJiot/XWGLOlGxPYUG65+/31V8oqk17vZLW1xlCoR4PampyePljOxY2n8/3jz9+tIFzICsyGujJZoA== - dependencies: - js-yaml "^3.10.0" - tslib "^2.4.0" - "@zkochan/js-yaml@0.0.7": version "0.0.7" resolved "https://registry.yarnpkg.com/@zkochan/js-yaml/-/js-yaml-0.0.7.tgz#4b0cb785220d7c28ce0ec4d0804deb5d821eae89" @@ -4478,7 +4492,7 @@ agent-base@4, agent-base@^4.3.0: dependencies: es6-promisify "^5.0.0" -agent-base@6, agent-base@^6.0.2: +agent-base@6, agent-base@6.0.2, agent-base@^6.0.2: version "6.0.2" resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== @@ -4534,7 +4548,7 @@ ajv@^6.12.3, ajv@^6.12.4: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ansi-colors@^4.1.1: +ansi-colors@4.1.3, ansi-colors@^4.1.1: version "4.1.3" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== @@ -4546,6 +4560,11 @@ ansi-escapes@^4.2.1: dependencies: type-fest "^0.21.3" +ansi-regex@5.0.1, ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + ansi-regex@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" @@ -4556,28 +4575,23 @@ ansi-regex@^3.0.0: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.1.tgz#123d6479e92ad45ad897d4054e3c7ca7db4944e1" integrity sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw== -ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - ansi-regex@^6.0.1: version "6.2.2" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.2.2.tgz#60216eea464d864597ce2832000738a0589650c1" integrity sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg== -ansi-styles@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" - integrity sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA== - -ansi-styles@^4.0.0, ansi-styles@^4.1.0: +ansi-styles@4.3.0, ansi-styles@^4.0.0, ansi-styles@^4.1.0: version "4.3.0" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== dependencies: color-convert "^2.0.1" +ansi-styles@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" + integrity sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA== + ansi-styles@^5.0.0, ansi-styles@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" @@ -4619,6 +4633,11 @@ are-we-there-yet@~1.1.2: delegates "^1.0.0" readable-stream "^2.0.6" +argparse@2.0.1, argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + argparse@^1.0.7: version "1.0.10" resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" @@ -4626,11 +4645,6 @@ argparse@^1.0.7: dependencies: sprintf-js "~1.0.2" -argparse@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" - integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== - aria-query@5.3.0: version "5.3.0" resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.3.0.tgz#650c569e41ad90b51b3d7df5e5eed1c7549c103e" @@ -4796,7 +4810,7 @@ async@^3.2.3, async@^3.2.6: resolved "https://registry.yarnpkg.com/async/-/async-3.2.6.tgz#1b0728e14929d51b85b449b7f06e27c1145e38ce" integrity sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA== -asynckit@^0.4.0: +asynckit@0.4.0, asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== @@ -4831,14 +4845,15 @@ aws4@^1.8.0: resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.13.2.tgz#0aa167216965ac9474ccfa83892cfb6b3e1e52ef" integrity sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw== -axios@^1.12.0: - version "1.13.5" - resolved "https://registry.yarnpkg.com/axios/-/axios-1.13.5.tgz#5e464688fa127e11a660a2c49441c009f6567a43" - integrity sha512-cz4ur7Vb0xS4/KUN0tPWe44eqxrIu31me+fbang3ijiNscE129POzipJJA6zniq2C/Z6sJCjMimjS8Lc/GAs8Q== +axios@1.18.1: + version "1.18.1" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.18.1.tgz#d63f9863bcd8938815c86f9e2abd380189d96dfe" + integrity sha512-3nTvFlvpn9Zu/RkHUqtc7/+al4UpRW5az71ap5zccp6e8RAYEzhMTecX8Dz1wWDYrPpUoB1HAQEGEAEvUr7S9g== dependencies: - follow-redirects "^1.15.11" + follow-redirects "^1.16.0" form-data "^4.0.5" - proxy-from-env "^1.1.0" + https-proxy-agent "^5.0.1" + proxy-from-env "^2.1.0" babel-code-frame@^6.26.0: version "6.26.0" @@ -5611,6 +5626,11 @@ babylon@^6.18.0: resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" integrity sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ== +balanced-match@4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-4.0.3.tgz#6337a2f23e0604a30481423432f99eac603599f9" + integrity sha512-1pHv8LX9CpKut1Zp4EXey7Z8OfH11ONNH6Dhi2WDUt31VVZFXZzKwXcysBgqSumFCmR+0dqjMK5v5JiFHzi0+g== + balanced-match@^0.4.2: version "0.4.2" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" @@ -5621,7 +5641,12 @@ balanced-match@^1.0.0: resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== -base64-js@^1.3.1: +balanced-match@^4.0.2: + version "4.0.4" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-4.0.4.tgz#bfb10662feed8196a2c62e7c68e17720c274179a" + integrity sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA== + +base64-js@1.5.1, base64-js@^1.3.1: version "1.5.1" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== @@ -5674,7 +5699,7 @@ binary-extensions@^2.0.0: resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522" integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== -bl@^4.0.3: +bl@4.1.0, bl@^4.0.3: version "4.1.0" resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== @@ -5738,6 +5763,13 @@ boolbase@^1.0.0: resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== +brace-expansion@5.0.8: + version "5.0.8" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-5.0.8.tgz#135ad0d8d808eb18eb5e0ec9a21f3a0b92ef18cf" + integrity sha512-JZyDyq3D4AUifKTPOB7DELf6XsB3WdPuNxCtob1vFXPsSXhdAiHBWJ/tJ8HAc9aH84BK+5JFZLNkJKx3G9kzQg== + dependencies: + balanced-match "^4.0.2" + brace-expansion@^1.1.7: version "1.1.12" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.12.tgz#ab9b454466e5a8cc3a187beaad580412a9c5b843" @@ -5753,6 +5785,13 @@ brace-expansion@^2.0.1: dependencies: balanced-match "^1.0.0" +brace-expansion@^5.0.5: + version "5.0.9" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-5.0.9.tgz#7c72438809b5fa5babf54199a1f1c281a6984fcf" + integrity sha512-ScQ4IuvIEF1TMlP7Zt+vjJ//9zlPb2SDcxWxM3bk8s6t6GGdJ7KO1dCcTidOPJKePW30LE/2cT7wCyPho9/Wxg== + dependencies: + balanced-match "^4.0.2" + braces@^3.0.3, braces@~3.0.2: version "3.0.3" resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" @@ -5807,7 +5846,7 @@ buffer-from@^1.0.0, buffer-from@^1.1.0: resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== -buffer@^5.5.0: +buffer@5.7.1, buffer@^5.5.0: version "5.7.1" resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== @@ -5910,7 +5949,7 @@ cacache@^20.0.0, cacache@^20.0.1: ssri "^13.0.0" unique-filename "^5.0.0" -call-bind-apply-helpers@^1.0.0, call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2: +call-bind-apply-helpers@1.0.2, call-bind-apply-helpers@^1.0.0, call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz#4b5428c222be985d79c3d82657479dbe0b59b2d6" integrity sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ== @@ -6023,6 +6062,14 @@ chalk@4.1.0: ansi-styles "^4.1.0" supports-color "^7.1.0" +chalk@4.1.2, chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + chalk@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" @@ -6042,14 +6089,6 @@ chalk@^3.0.0: ansi-styles "^4.1.0" supports-color "^7.1.0" -chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - chalk@^5.0.0, chalk@^5.3.0: version "5.6.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.6.2.tgz#b1238b6e23ea337af71c7f8a295db5af0c158aea" @@ -6208,6 +6247,15 @@ cli-width@^4.1.0: resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-4.1.0.tgz#42daac41d3c254ef38ad8ac037672130173691c5" integrity sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ== +cliui@8.0.1, cliui@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" + integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.1" + wrap-ansi "^7.0.0" + cliui@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49" @@ -6226,16 +6274,7 @@ cliui@^7.0.2: strip-ansi "^6.0.0" wrap-ansi "^7.0.0" -cliui@^8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" - integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.1" - wrap-ansi "^7.0.0" - -clone@^1.0.2: +clone@1.0.4, clone@^1.0.2: version "1.0.4" resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== @@ -6280,7 +6319,7 @@ collect-v8-coverage@^1.0.0: resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.3.tgz#cc1f01eb8d02298cbc9a437c74c70ab4e5210b80" integrity sha512-1L5aqIkwPfiodaMgQunkF1zRhNqifHBmtbbbxcr6yVxxBnliw4TDOW6NxpO8DJLgJ16OT+Y4ztZqP6p/FtXnAw== -color-convert@^2.0.1: +color-convert@2.0.1, color-convert@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== @@ -6294,16 +6333,16 @@ color-convert@^3.1.3: dependencies: color-name "^2.0.0" +color-name@1.1.4, color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + color-name@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/color-name/-/color-name-2.1.0.tgz#0b677385c1c4b4edfdeaf77e38fa338e3a40b693" integrity sha512-1bPaDNFm0axzE4MEAzKPuqKWeRaT43U/hyxKPBdqTfmPF+d6n7FSoTFxLVULUJOmiLp01KjhIPPH+HrXZJN4Rg== -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - color-string@^2.1.3: version "2.1.4" resolved "https://registry.yarnpkg.com/color-string/-/color-string-2.1.4.tgz#9dcf566ff976e23368c8bd673f5c35103ab41058" @@ -6337,7 +6376,7 @@ columnify@1.6.0: strip-ansi "^6.0.1" wcwidth "^1.0.0" -combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: +combined-stream@1.0.8, combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: version "1.0.8" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== @@ -7105,7 +7144,7 @@ debug@3.1.0: dependencies: ms "2.0.0" -debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4, debug@^4.4.1, debug@^4.4.3: +debug@4, debug@4.4.3, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4, debug@^4.4.1, debug@^4.4.3: version "4.4.3" resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.3.tgz#c6ae432d9bd9662582fce08709b038c58e9e3d6a" integrity sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA== @@ -7167,7 +7206,7 @@ deepmerge@^4.2.2: resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== -defaults@^1.0.3: +defaults@1.0.4, defaults@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.4.tgz#b0b02062c1e2aa62ff5d9528f0f98baa90978d7a" integrity sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A== @@ -7183,7 +7222,7 @@ define-data-property@^1.0.1, define-data-property@^1.1.4: es-errors "^1.3.0" gopd "^1.0.1" -define-lazy-prop@^2.0.0: +define-lazy-prop@2.0.0, define-lazy-prop@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== @@ -7209,7 +7248,7 @@ delaunator@5: dependencies: robust-predicates "^3.0.2" -delayed-stream@~1.0.0: +delayed-stream@1.0.0, delayed-stream@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== @@ -7373,24 +7412,24 @@ dot-prop@^5.1.0: dependencies: is-obj "^2.0.0" -dotenv-expand@~11.0.6: - version "11.0.7" - resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-11.0.7.tgz#af695aea007d6fdc84c86cd8d0ad7beb40a0bd08" - integrity sha512-zIHwmZPRshsCdpMDyVsqGmgyP0yT8GAgXUnkdAoJisxvf33k7yO6OuoKmcTGuXPWSsm8Oh88nZicRLA9Y0rUeA== +dotenv-expand@12.0.3: + version "12.0.3" + resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-12.0.3.tgz#6323ceca51ca0c1b1f0055e2aba39c79781739a6" + integrity sha512-uc47g4b+4k/M/SeaW1y4OApx+mtLWl92l5LMPP0GNXctZqELk+YGgOPIIC5elYmUH4OuoK3JLhuRUYegeySiFA== dependencies: dotenv "^16.4.5" +dotenv@16.4.7: + version "16.4.7" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.4.7.tgz#0e20c5b82950140aa99be360a8a5f52335f53c26" + integrity sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ== + dotenv@^16.4.5: version "16.6.1" resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.6.1.tgz#773f0e69527a8315c7285d5ee73c4459d20a8020" integrity sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow== -dotenv@~16.4.5: - version "16.4.7" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.4.7.tgz#0e20c5b82950140aa99be360a8a5f52335f53c26" - integrity sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ== - -dunder-proto@^1.0.0, dunder-proto@^1.0.1: +dunder-proto@1.0.1, dunder-proto@^1.0.0, dunder-proto@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/dunder-proto/-/dunder-proto-1.0.1.tgz#d7ae667e1dc83482f8b70fd0f6eefc50da30f58a" integrity sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A== @@ -7427,6 +7466,11 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== +ejs@5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ejs/-/ejs-5.0.1.tgz#179523a437ed448543ad1b76ca4fb4c2e8950304" + integrity sha512-COqBPFMxuPTPspXl2DkVYaDS3HtrD1GpzOGkNTJ1IYkifq/r9h8SVEFrjA3D9/VJGOEoMQcrlhpntcSUrM8k6A== + ejs@^3.1.7: version "3.1.10" resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.10.tgz#69ab8358b14e896f80cc39e62087b88500c3ac3b" @@ -7449,16 +7493,16 @@ emittery@^0.13.1: resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.13.1.tgz#c04b8c3457490e0847ae51fced3af52d338e3dad" integrity sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ== +emoji-regex@8.0.0, emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + emoji-regex@^10.2.1: version "10.6.0" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-10.6.0.tgz#bf3d6e8f7f8fd22a65d9703475bc0147357a6b0d" integrity sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A== -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - emoji-regex@^9.2.2: version "9.2.2" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" @@ -7491,14 +7535,14 @@ encoding@^0.1.11, encoding@^0.1.12, encoding@^0.1.13: dependencies: iconv-lite "^0.6.2" -end-of-stream@^1.0.0, end-of-stream@^1.1.0, end-of-stream@^1.4.1: +end-of-stream@1.4.5, end-of-stream@^1.0.0, end-of-stream@^1.1.0, end-of-stream@^1.4.1: version "1.4.5" resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.5.tgz#7344d711dea40e0b74abc2ed49778743ccedb08c" integrity sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg== dependencies: once "^1.4.0" -enquirer@~2.3.6: +enquirer@2.3.6, enquirer@~2.3.6: version "2.3.6" resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== @@ -7607,12 +7651,12 @@ es-abstract@^1.17.5, es-abstract@^1.23.2, es-abstract@^1.23.3, es-abstract@^1.23 unbox-primitive "^1.1.0" which-typed-array "^1.1.19" -es-define-property@^1.0.0, es-define-property@^1.0.1: +es-define-property@1.0.1, es-define-property@^1.0.0, es-define-property@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.1.tgz#983eb2f9a6724e9303f61addf011c72e09e0b0fa" integrity sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g== -es-errors@^1.3.0: +es-errors@1.3.0, es-errors@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== @@ -7639,14 +7683,14 @@ es-iterator-helpers@^1.2.1: iterator.prototype "^1.1.4" safe-array-concat "^1.1.3" -es-object-atoms@^1.0.0, es-object-atoms@^1.1.1: +es-object-atoms@1.1.1, es-object-atoms@^1.0.0, es-object-atoms@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz#1c4f2c4837327597ce69d2ca190a7fdd172338c1" integrity sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA== dependencies: es-errors "^1.3.0" -es-set-tostringtag@^2.0.3, es-set-tostringtag@^2.1.0: +es-set-tostringtag@2.1.0, es-set-tostringtag@^2.0.3, es-set-tostringtag@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz#f31dbbe0c183b00a6d26eb6325c810c0fd18bd4d" integrity sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA== @@ -7684,7 +7728,7 @@ es6-promisify@^5.0.0: dependencies: es6-promise "^4.0.3" -escalade@^3.1.1, escalade@^3.2.0: +escalade@3.2.0, escalade@^3.1.1, escalade@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5" integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== @@ -7699,7 +7743,7 @@ escape-latex@^1.2.0: resolved "https://registry.yarnpkg.com/escape-latex/-/escape-latex-1.2.0.tgz#07c03818cf7dac250cce517f4fda1b001ef2bca1" integrity sha512-nV5aVWW1K0wEiUIEdZ4erkGGH8mDxGyxSeqPzRNtWP7ataw+/olFObw7hujFWlVjNsaDFw5VZ5NzVSIqRgfTiw== -escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: +escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== @@ -8235,7 +8279,7 @@ flat-cache@^3.0.4: keyv "^4.5.3" rimraf "^3.0.2" -flat@^5.0.2: +flat@5.0.2: version "5.0.2" resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== @@ -8258,10 +8302,10 @@ fn.name@1.x.x: resolved "https://registry.yarnpkg.com/fn.name/-/fn.name-1.1.0.tgz#26cad8017967aea8731bc42961d04a3d5988accc" integrity sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw== -follow-redirects@^1.15.11: - version "1.15.11" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.11.tgz#777d73d72a92f8ec4d2e410eb47352a56b8e8340" - integrity sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ== +follow-redirects@1.16.0, follow-redirects@^1.16.0: + version "1.16.0" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.16.0.tgz#28474a159d3b9d11ef62050a14ed60e4df6d61bc" + integrity sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw== for-each@^0.3.3, for-each@^0.3.5: version "0.3.5" @@ -8283,6 +8327,17 @@ forever-agent@~0.6.1: resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" integrity sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw== +form-data@4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.6.tgz#28e864e1b786dbebb68db1f452f9635278665827" + integrity sha512-vKatAh4SlVfgbv+YtmhiRjhEMJsYpsG1Y2rMQtR+SVSbytsSD1YGzDIcrAJmdFec88u/+VoGmxnl+80gL1tRCQ== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + es-set-tostringtag "^2.1.0" + hasown "^2.0.4" + mime-types "^2.1.35" + form-data@^4.0.0, form-data@^4.0.5: version "4.0.5" resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.5.tgz#b49e48858045ff4cbf6b03e1805cebcad3679053" @@ -8326,14 +8381,7 @@ from2@^2.1.0: inherits "^2.0.1" readable-stream "^2.0.0" -front-matter@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/front-matter/-/front-matter-4.0.2.tgz#b14e54dc745cfd7293484f3210d15ea4edd7f4d5" - integrity sha512-I8ZuJ/qG92NWX8i5x1Y8qyj3vizhXS31OxjKDu3LKP+7/qBgfIKValiZIEwoVoJKUHlhWtYrktkxV1XsX+pPlg== - dependencies: - js-yaml "^3.13.1" - -fs-constants@^1.0.0: +fs-constants@1.0.0, fs-constants@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== @@ -8421,7 +8469,7 @@ fsevents@^2.3.2, fsevents@~2.3.2: resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== -function-bind@^1.1.2: +function-bind@1.1.2, function-bind@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== @@ -8479,22 +8527,22 @@ gensync@^1.0.0-beta.2: resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== +get-caller-file@2.0.5, get-caller-file@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + get-caller-file@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w== -get-caller-file@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - get-document@1: version "1.0.0" resolved "https://registry.yarnpkg.com/get-document/-/get-document-1.0.0.tgz#4821bce66f1c24cb0331602be6cb6b12c4f01c4b" integrity sha512-8E7H2Xxibav+/rQTTtm6gFlSQwDoAQg667yheA+vWQr/amxEuswChzGo4MIbOJJoR0SMpDyhbUqWp3FpIfwD9A== -get-intrinsic@^1.2.4, get-intrinsic@^1.2.5, get-intrinsic@^1.2.6, get-intrinsic@^1.2.7, get-intrinsic@^1.3.0: +get-intrinsic@1.3.0, get-intrinsic@^1.2.4, get-intrinsic@^1.2.5, get-intrinsic@^1.2.6, get-intrinsic@^1.2.7, get-intrinsic@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz#743f0e3b6964a93a5491ed1bffaae054d7f98d01" integrity sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ== @@ -8535,7 +8583,7 @@ get-port@5.1.1: resolved "https://registry.yarnpkg.com/get-port/-/get-port-5.1.1.tgz#0469ed07563479de6efb986baf053dcd7d4e3193" integrity sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ== -get-proto@^1.0.0, get-proto@^1.0.1: +get-proto@1.0.1, get-proto@^1.0.0, get-proto@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/get-proto/-/get-proto-1.0.1.tgz#150b3f2743869ef3e851ec0c49d15b1d14d00ee1" integrity sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g== @@ -8745,7 +8793,7 @@ globalthis@^1.0.4: define-properties "^1.2.1" gopd "^1.0.1" -gopd@^1.0.1, gopd@^1.2.0: +gopd@1.2.0, gopd@^1.0.1, gopd@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.2.0.tgz#89f56b8217bdbc8802bd299df6d7f1081d7e51a1" integrity sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg== @@ -8807,16 +8855,16 @@ has-bigints@^1.0.2: resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.1.0.tgz#28607e965ac967e03cd2a2c70a2636a1edad49fe" integrity sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg== +has-flag@4.0.0, has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + has-flag@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854" @@ -8831,12 +8879,12 @@ has-proto@^1.2.0: dependencies: dunder-proto "^1.0.0" -has-symbols@^1.0.3, has-symbols@^1.1.0: +has-symbols@1.1.0, has-symbols@^1.0.3, has-symbols@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.1.0.tgz#fc9c6a783a084951d0b971fe1018de813707a338" integrity sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ== -has-tostringtag@^1.0.2: +has-tostringtag@1.0.2, has-tostringtag@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc" integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== @@ -8848,6 +8896,13 @@ has-unicode@2.0.1, has-unicode@^2.0.0: resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" integrity sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ== +hasown@2.0.4, hasown@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.4.tgz#8c62d8cb90beb2aad5d0a5b67581ad9854c3f003" + integrity sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A== + dependencies: + function-bind "^1.1.2" + hasown@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" @@ -9011,6 +9066,14 @@ http-signature@~1.2.0: jsprim "^1.2.2" sshpk "^1.7.0" +https-proxy-agent@5.0.1, https-proxy-agent@^5.0.0, https-proxy-agent@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" + integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== + dependencies: + agent-base "6" + debug "4" + https-proxy-agent@^2.2.3: version "2.2.4" resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz#4ee7a737abd92678a293d9b34a1af4d0d08c787b" @@ -9019,14 +9082,6 @@ https-proxy-agent@^2.2.3: agent-base "^4.3.0" debug "^3.1.0" -https-proxy-agent@^5.0.0, https-proxy-agent@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" - integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== - dependencies: - agent-base "6" - debug "4" - https-proxy-agent@^7.0.1: version "7.0.6" resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz#da8dfeac7da130b05c2ba4b59c9b6cd66611a6b9" @@ -9102,7 +9157,7 @@ identity-obj-proxy@^3.0.0: dependencies: harmony-reflect "^1.4.6" -ieee754@^1.1.13, ieee754@^1.2.1: +ieee754@1.2.1, ieee754@^1.1.13, ieee754@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== @@ -9126,16 +9181,16 @@ ignore-walk@^8.0.0: dependencies: minimatch "^10.0.3" +ignore@7.0.5: + version "7.0.5" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-7.0.5.tgz#4cb5f6cd7d4c7ab0365738c7aea888baa6d7efd9" + integrity sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg== + ignore@^5.2.0: version "5.3.2" resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5" integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g== -ignore@^7.0.5: - version "7.0.5" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-7.0.5.tgz#4cb5f6cd7d4c7ab0365738c7aea888baa6d7efd9" - integrity sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg== - immutable@^4.0.0-rc.12, immutable@^4.3.7: version "4.3.7" resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.3.7.tgz#c70145fc90d89fb02021e65c84eb0226e4e5a381" @@ -9389,7 +9444,7 @@ is-date-object@^1.0.5, is-date-object@^1.1.0: call-bound "^1.0.2" has-tostringtag "^1.0.2" -is-docker@^2.0.0, is-docker@^2.1.1: +is-docker@2.2.1, is-docker@^2.0.0, is-docker@^2.1.1: version "2.2.1" resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== @@ -9416,6 +9471,11 @@ is-finalizationregistry@^1.1.0: dependencies: call-bound "^1.0.3" +is-fullwidth-code-point@3.0.0, is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + is-fullwidth-code-point@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" @@ -9428,11 +9488,6 @@ is-fullwidth-code-point@^2.0.0: resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" integrity sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w== -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== - is-function@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.2.tgz#4f097f30abf6efadac9833b17ca5dc03f8144e08" @@ -9478,7 +9533,7 @@ is-in-browser@^1.0.2, is-in-browser@^1.1.3: resolved "https://registry.yarnpkg.com/is-in-browser/-/is-in-browser-1.1.3.tgz#56ff4db683a078c6082eb95dad7dc62e1d04f835" integrity sha512-FeXIBgG/CPGd/WUxuEyvgGTEfwiG9Z4EKGxjNMRqviiIIfsmgrpnHLffEDdwUHqNva1VEW91o3xBT/m8Elgl9g== -is-interactive@^1.0.0: +is-interactive@1.0.0, is-interactive@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e" integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== @@ -9649,7 +9704,7 @@ is-typedarray@~1.0.0: resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== -is-unicode-supported@^0.1.0: +is-unicode-supported@0.1.0, is-unicode-supported@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== @@ -9698,7 +9753,7 @@ is-window@^1.0.2: resolved "https://registry.yarnpkg.com/is-window/-/is-window-1.0.2.tgz#2c896ca53db97de45d3c33133a65d8c9f563480d" integrity sha512-uj00kdXyZb9t9RcAUAwMZAnkBUwdYGhYlt7djMXhfyhUCzwNba50tIiBKR7q0l7tdoBtFVw/3JmLY6fI3rmZmg== -is-wsl@^2.2.0: +is-wsl@2.2.0, is-wsl@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== @@ -9927,7 +9982,7 @@ jest-config@29.7.0, jest-config@^29.7.0: slash "^3.0.0" strip-json-comments "^3.1.1" -jest-diff@30.2.0, "jest-diff@>=30.0.0 < 31", jest-diff@^30.0.2: +jest-diff@30.2.0, "jest-diff@>=30.0.0 < 31": version "30.2.0" resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-30.2.0.tgz#e3ec3a6ea5c5747f605c9e874f83d756cba36825" integrity sha512-dQHFo3Pt4/NLlG5z4PxZ/3yZTZ1C7s9hveiOj+GCN+uT109NC2QgsoVZsVOAvbJ3RgKkvyLGXZV9+piDpWbm6A== @@ -10327,14 +10382,6 @@ js-yaml@4.1.1, js-yaml@^4.1.0: dependencies: argparse "^2.0.1" -js-yaml@^3.10.0: - version "3.14.2" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.2.tgz#77485ce1dd7f33c061fd1b16ecea23b55fcb04b0" - integrity sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - js-yaml@^3.13.1: version "3.14.1" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" @@ -10476,7 +10523,7 @@ json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== -json5@^2.1.2, json5@^2.2.2, json5@^2.2.3: +json5@2.2.3, json5@^2.1.2, json5@^2.2.2, json5@^2.2.3: version "2.2.3" resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== @@ -11082,7 +11129,7 @@ lodash@^4.1.1, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.15, lodash@^4.17.1 resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.18.1.tgz#ff2b66c1f6326d59513de2407bf881439812771c" integrity sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q== -log-symbols@^4.0.0: +log-symbols@4.1.0, log-symbols@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== @@ -11318,7 +11365,7 @@ math-expression-evaluator@^1.2.14: resolved "https://registry.yarnpkg.com/math-expression-evaluator/-/math-expression-evaluator-1.4.0.tgz#3d66031117fbb7b9715ea6c9c68c2cd2eebd37e2" integrity sha512-4vRUvPyxdO8cWULGTh9dZWL2tZK6LDBvj+OGHBER7poH9Qdt7kXEoj20wiz4lQUbUXQZFjPbe5mVDo9nutizCw== -math-intrinsics@^1.1.0: +math-intrinsics@1.1.0, math-intrinsics@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz#a0dd74be81e2aa5c2f27e65ce283605ee4e2b7f9" integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g== @@ -11469,7 +11516,7 @@ mime-types@2.1.18: dependencies: mime-db "~1.33.0" -mime-types@^2.1.12, mime-types@^2.1.25, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24, mime-types@~2.1.34: +mime-types@2.1.35, mime-types@^2.1.12, mime-types@^2.1.25, mime-types@^2.1.35, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24, mime-types@~2.1.34: version "2.1.35" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== @@ -11481,7 +11528,7 @@ mime@1.6.0: resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== -mimic-fn@^2.0.0, mimic-fn@^2.1.0: +mimic-fn@2.1.0, mimic-fn@^2.0.0, mimic-fn@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== @@ -11498,6 +11545,13 @@ minimatch@10.1.1: dependencies: "@isaacs/brace-expansion" "^5.0.0" +minimatch@10.2.5: + version "10.2.5" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-10.2.5.tgz#bd48687a0be38ed2961399105600f832095861d1" + integrity sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg== + dependencies: + brace-expansion "^5.0.5" + minimatch@3.0.5: version "3.0.5" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.5.tgz#4da8f1290ee0f0f8e83d60ca69f8f134068604a3" @@ -11547,7 +11601,7 @@ minimist@1.1.0: resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.1.0.tgz#cdf225e8898f840a258ded44fc91776770afdc93" integrity sha512-ozllOyYiayzEgHCQKMPXKkOn9QRdeVe0TrIxLp+SJXMA0XNCL+yf4OtyPkB2JthzzYePYOTRnipBi3oOOa82sw== -minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6, minimist@^1.2.8: +minimist@1.2.8, minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6, minimist@^1.2.8: version "1.2.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== @@ -11885,11 +11939,6 @@ node-int64@^0.4.0: resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== -node-machine-id@1.1.12: - version "1.1.12" - resolved "https://registry.yarnpkg.com/node-machine-id/-/node-machine-id-1.1.12.tgz#37904eee1e59b320bb9c5d6c0a59f3b469cb6267" - integrity sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ== - node-releases@^2.0.27: version "2.0.27" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.27.tgz#eedca519205cf20f650f61d56b070db111231e4e" @@ -12176,6 +12225,13 @@ npm-registry-fetch@^4.0.0: npm-package-arg "^6.1.0" safe-buffer "^5.2.0" +npm-run-path@4.0.1, npm-run-path@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" + integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== + dependencies: + path-key "^3.0.0" + npm-run-path@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" @@ -12183,13 +12239,6 @@ npm-run-path@^2.0.0: dependencies: path-key "^2.0.0" -npm-run-path@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" - integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== - dependencies: - path-key "^3.0.0" - npmlog@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" @@ -12223,57 +12272,135 @@ nwsapi@^2.2.2: integrity sha512-7wfH4sLbt4M0gCDzGE6vzQBo0bfTKjU7Sfpqy/7gs1qBfYz2vEJH6vXcBKpO3+6Yu1telwd0t9HpyOoLEQQbIQ== "nx@>=21.5.3 < 23.0.0": - version "22.5.0" - resolved "https://registry.yarnpkg.com/nx/-/nx-22.5.0.tgz#200898de49eec4df41eef5a44152721b6ee453df" - integrity sha512-GOHhDHXvuscD28Hpj1bP38oVrCgZ/+5UWjA8R/VkpbtkfMHgRZ0uHlfKLYXQAZIsjmTq7Tr+e4QchJt0e76n0w== + version "22.7.8" + resolved "https://registry.yarnpkg.com/nx/-/nx-22.7.8.tgz#9ac42d4250fa2fbf5d93d9b3593793f892110b94" + integrity sha512-ceEhmaGCvY7oi7L7G/Nm/UZSnbfwaJxU1XbDLro7CTmVcnrmxAnxExCp0J/Tpf1xQaMZtwxgV7QATdKA/7vLQw== dependencies: + "@emnapi/core" "1.4.5" + "@emnapi/runtime" "1.4.5" + "@emnapi/wasi-threads" "1.0.4" + "@jest/diff-sequences" "30.0.1" "@napi-rs/wasm-runtime" "0.2.4" - "@yarnpkg/lockfile" "^1.1.0" - "@yarnpkg/parsers" "3.0.2" + "@tybys/wasm-util" "0.9.0" + "@yarnpkg/lockfile" "1.1.0" "@zkochan/js-yaml" "0.0.7" - axios "^1.12.0" + agent-base "6.0.2" + ansi-colors "4.1.3" + ansi-regex "5.0.1" + ansi-styles "4.3.0" + argparse "2.0.1" + asynckit "0.4.0" + axios "1.18.1" + balanced-match "4.0.3" + base64-js "1.5.1" + bl "4.1.0" + brace-expansion "5.0.8" + buffer "5.7.1" + call-bind-apply-helpers "1.0.2" + chalk "4.1.2" cli-cursor "3.1.0" cli-spinners "2.6.1" - cliui "^8.0.1" - dotenv "~16.4.5" - dotenv-expand "~11.0.6" - ejs "^3.1.7" - enquirer "~2.3.6" + cliui "8.0.1" + clone "1.0.4" + color-convert "2.0.1" + color-name "1.1.4" + combined-stream "1.0.8" + debug "4.4.3" + defaults "1.0.4" + define-lazy-prop "2.0.0" + delayed-stream "1.0.0" + dotenv "16.4.7" + dotenv-expand "12.0.3" + dunder-proto "1.0.1" + ejs "5.0.1" + emoji-regex "8.0.0" + end-of-stream "1.4.5" + enquirer "2.3.6" + es-define-property "1.0.1" + es-errors "1.3.0" + es-object-atoms "1.1.1" + es-set-tostringtag "2.1.0" + escalade "3.2.0" + escape-string-regexp "1.0.5" figures "3.2.0" - flat "^5.0.2" - front-matter "^4.0.2" - ignore "^7.0.5" - jest-diff "^30.0.2" + flat "5.0.2" + follow-redirects "1.16.0" + form-data "4.0.6" + fs-constants "1.0.0" + function-bind "1.1.2" + get-caller-file "2.0.5" + get-intrinsic "1.3.0" + get-proto "1.0.1" + gopd "1.2.0" + has-flag "4.0.0" + has-symbols "1.1.0" + has-tostringtag "1.0.2" + hasown "2.0.4" + https-proxy-agent "5.0.1" + ieee754 "1.2.1" + ignore "7.0.5" + inherits "2.0.4" + is-docker "2.2.1" + is-fullwidth-code-point "3.0.0" + is-interactive "1.0.0" + is-unicode-supported "0.1.0" + is-wsl "2.2.0" + json5 "2.2.3" jsonc-parser "3.2.0" lines-and-columns "2.0.3" - minimatch "10.1.1" - node-machine-id "1.1.12" - npm-run-path "^4.0.1" - open "^8.4.0" + log-symbols "4.1.0" + math-intrinsics "1.1.0" + mime-db "1.52.0" + mime-types "2.1.35" + mimic-fn "2.1.0" + minimatch "10.2.5" + minimist "1.2.8" + ms "2.1.3" + npm-run-path "4.0.1" + once "1.4.0" + onetime "5.1.2" + open "8.4.2" ora "5.3.0" - picocolors "^1.1.0" + path-key "3.1.1" + picocolors "1.1.1" + proxy-from-env "2.1.0" + readable-stream "3.6.2" + require-directory "2.1.1" resolve.exports "2.0.3" - semver "^7.6.3" - string-width "^4.2.3" - tar-stream "~2.2.0" - tmp "~0.2.1" - tree-kill "^1.2.2" - tsconfig-paths "^4.1.2" - tslib "^2.3.0" - yaml "^2.6.0" - yargs "^17.6.2" + restore-cursor "3.1.0" + safe-buffer "5.2.1" + semver "7.7.4" + signal-exit "3.0.7" + smol-toml "1.6.1" + string-width "4.2.3" + string_decoder "1.3.0" + strip-ansi "6.0.1" + strip-bom "3.0.0" + supports-color "7.2.0" + tar-stream "2.2.0" + tmp "0.2.7" + tree-kill "1.2.2" + tsconfig-paths "4.2.0" + tslib "2.8.1" + util-deprecate "1.0.2" + wcwidth "1.0.1" + wrap-ansi "7.0.0" + wrappy "1.0.2" + y18n "5.0.8" + yaml "2.9.0" + yargs "17.7.2" yargs-parser "21.1.1" optionalDependencies: - "@nx/nx-darwin-arm64" "22.5.0" - "@nx/nx-darwin-x64" "22.5.0" - "@nx/nx-freebsd-x64" "22.5.0" - "@nx/nx-linux-arm-gnueabihf" "22.5.0" - "@nx/nx-linux-arm64-gnu" "22.5.0" - "@nx/nx-linux-arm64-musl" "22.5.0" - "@nx/nx-linux-x64-gnu" "22.5.0" - "@nx/nx-linux-x64-musl" "22.5.0" - "@nx/nx-win32-arm64-msvc" "22.5.0" - "@nx/nx-win32-x64-msvc" "22.5.0" + "@nx/nx-darwin-arm64" "22.7.8" + "@nx/nx-darwin-x64" "22.7.8" + "@nx/nx-freebsd-x64" "22.7.8" + "@nx/nx-linux-arm-gnueabihf" "22.7.8" + "@nx/nx-linux-arm64-gnu" "22.7.8" + "@nx/nx-linux-arm64-musl" "22.7.8" + "@nx/nx-linux-x64-gnu" "22.7.8" + "@nx/nx-linux-x64-musl" "22.7.8" + "@nx/nx-win32-arm64-msvc" "22.7.8" + "@nx/nx-win32-x64-msvc" "22.7.8" oauth-sign@~0.9.0: version "0.9.0" @@ -12354,7 +12481,7 @@ on-finished@2.4.1, on-finished@~2.4.1: dependencies: ee-first "1.1.1" -once@^1.3.0, once@^1.3.1, once@^1.4.0: +once@1.4.0, once@^1.3.0, once@^1.3.1, once@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== @@ -12368,14 +12495,14 @@ one-time@^1.0.0: dependencies: fn.name "1.x.x" -onetime@^5.1.0, onetime@^5.1.2: +onetime@5.1.2, onetime@^5.1.0, onetime@^5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== dependencies: mimic-fn "^2.1.0" -open@^8.4.0: +open@8.4.2: version "8.4.2" resolved "https://registry.yarnpkg.com/open/-/open-8.4.2.tgz#5b5ffe2a8f793dcd2aad73e550cb87b59cb084f9" integrity sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ== @@ -12845,16 +12972,16 @@ path-is-inside@1.0.2: resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" integrity sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w== +path-key@3.1.1, path-key@^3.0.0, path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + path-key@^2.0.0, path-key@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" integrity sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw== -path-key@^3.0.0, path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - path-parse@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" @@ -12903,7 +13030,7 @@ performance-now@^2.1.0: resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" integrity sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow== -picocolors@1.1.1, picocolors@^1.0.0, picocolors@^1.1.0, picocolors@^1.1.1: +picocolors@1.1.1, picocolors@^1.0.0, picocolors@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== @@ -13533,10 +13660,10 @@ proxy-addr@~2.0.7: forwarded "0.2.0" ipaddr.js "1.9.1" -proxy-from-env@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" - integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== +proxy-from-env@2.1.0, proxy-from-env@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-2.1.0.tgz#a7487568adad577cfaaa7e88c49cab3ab3081aba" + integrity sha512-cJ+oHTW1VAEa8cJslgmUZrc+sjRKgAKl3Zyse6+PV38hZe/V6Z14TbCuXcan9F9ghlz4QrFr2c92TNF82UkYHA== psl@^1.1.28, psl@^1.1.33: version "1.15.0" @@ -13965,7 +14092,7 @@ read@^4.0.0: string_decoder "~1.1.1" util-deprecate "~1.0.1" -"readable-stream@2 || 3", readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.0.2, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.2: +"readable-stream@2 || 3", readable-stream@3, readable-stream@3.6.2, readable-stream@^3.0.0, readable-stream@^3.0.2, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.2: version "3.6.2" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== @@ -14171,7 +14298,7 @@ request@^2.88.0, request@^2.88.2: tunnel-agent "^0.6.0" uuid "^3.3.2" -require-directory@^2.1.1: +require-directory@2.1.1, require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== @@ -14231,7 +14358,7 @@ resolve@^2.0.0-next.5: path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" -restore-cursor@^3.1.0: +restore-cursor@3.1.0, restore-cursor@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== @@ -14474,6 +14601,11 @@ semver@7.7.2: resolved "https://registry.yarnpkg.com/semver/-/semver-7.7.2.tgz#67d99fdcd35cec21e6f8b87a7fd515a33f982b58" integrity sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA== +semver@7.7.4, semver@^7.6.3, semver@^7.7.2, semver@^7.7.4: + version "7.7.4" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.7.4.tgz#28464e36060e991fa7a11d0279d2d3f3b57a7e8a" + integrity sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA== + semver@^6.0.0, semver@^6.3.0, semver@^6.3.1: version "6.3.1" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" @@ -14484,11 +14616,6 @@ semver@^7.0.0, semver@^7.1.1, semver@^7.1.3, semver@^7.3.2, semver@^7.3.4, semve resolved "https://registry.yarnpkg.com/semver/-/semver-7.7.3.tgz#4b5f4143d007633a8dc671cd0a6ef9147b8bb946" integrity sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q== -semver@^7.6.3, semver@^7.7.2, semver@^7.7.4: - version "7.7.4" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.7.4.tgz#28464e36060e991fa7a11d0279d2d3f3b57a7e8a" - integrity sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA== - send@0.19.0: version "0.19.0" resolved "https://registry.yarnpkg.com/send/-/send-0.19.0.tgz#bbc5a388c8ea6c048967049dbeac0e4a3f09d7f8" @@ -14869,6 +14996,11 @@ smart-buffer@^4.1.0, smart-buffer@^4.2.0: resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae" integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== +smol-toml@1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/smol-toml/-/smol-toml-1.6.1.tgz#4fceb5f7c4b86c2544024ef686e12ff0983465be" + integrity sha512-dWUG8F5sIIARXih1DTaQAX4SsiTXhInKf1buxdY9DIg4ZYPZK5nGM1VRIYmEbDbsHt7USo99xSLFu5Q1IqTmsg== + snake-case@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/snake-case/-/snake-case-2.1.0.tgz#41bdb1b73f30ec66a04d4e2cad1b76387d4d6d9f" @@ -15158,6 +15290,15 @@ string-length@^4.0.1: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.1" +string-width@4.2.3, "string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + string-width@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" @@ -15167,15 +15308,6 @@ string-width@^1.0.1: is-fullwidth-code-point "^1.0.0" strip-ansi "^3.0.0" -"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - string-width@^2.0.0, string-width@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" @@ -15261,7 +15393,7 @@ string.prototype.trimstart@^1.0.8: define-properties "^1.2.1" es-object-atoms "^1.0.0" -string_decoder@^1.1.1: +string_decoder@1.3.0, string_decoder@^1.1.1: version "1.3.0" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== @@ -15282,6 +15414,13 @@ string_decoder@~1.1.1: dependencies: ansi-regex "^5.0.1" +strip-ansi@6.0.1, strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + strip-ansi@^3.0.0, strip-ansi@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" @@ -15296,13 +15435,6 @@ strip-ansi@^4.0.0: dependencies: ansi-regex "^3.0.0" -strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - strip-ansi@^7.0.1, strip-ansi@^7.1.0: version "7.1.2" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.2.tgz#132875abde678c7ea8d691533f2e7e22bb744dba" @@ -15310,7 +15442,7 @@ strip-ansi@^7.0.1, strip-ansi@^7.1.0: dependencies: ansi-regex "^6.0.1" -strip-bom@^3.0.0: +strip-bom@3.0.0, strip-bom@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== @@ -15389,6 +15521,13 @@ sucrase@^3.20.0: pirates "^4.0.1" ts-interface-checker "^0.1.9" +supports-color@7.2.0, supports-color@^7.0.0, supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" @@ -15401,13 +15540,6 @@ supports-color@^5.5.0: dependencies: has-flag "^3.0.0" -supports-color@^7.0.0, supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - supports-color@^8.0.0: version "8.1.1" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" @@ -15451,7 +15583,7 @@ symbol-tree@^3.2.4: resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== -tar-stream@~2.2.0: +tar-stream@2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287" integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== @@ -15645,10 +15777,10 @@ title-case@^2.1.0: no-case "^2.2.0" upper-case "^1.0.3" -tmp@~0.2.1: - version "0.2.5" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.5.tgz#b06bcd23f0f3c8357b426891726d16015abfd8f8" - integrity sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow== +tmp@0.2.7: + version "0.2.7" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.7.tgz#26f4db11d1601ce8012dcb8a798ece1c06a99059" + integrity sha512-e0votIpp4Uo2AJYSzVHV6xCcawuiez3DzqDAbrTc3YxBkplN6e+dM13ZeIcZnDg/QpSuU2zfZ3rzwY8ukEnaXw== tmpl@1.0.5: version "1.0.5" @@ -15721,7 +15853,7 @@ traverse@^0.6.6, traverse@~0.6.6: typedarray.prototype.slice "^1.0.5" which-typed-array "^1.1.18" -tree-kill@^1.2.2: +tree-kill@1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.2.tgz#4ca09a9092c88b73a7cdc5e8a01b507b0790a0cc" integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A== @@ -15775,7 +15907,7 @@ ts-node@^7.0.1: source-map-support "^0.5.6" yn "^2.0.0" -tsconfig-paths@^4.1.2: +tsconfig-paths@4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz#ef78e19039133446d244beac0fd6a1632e2d107c" integrity sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg== @@ -15784,7 +15916,7 @@ tsconfig-paths@^4.1.2: minimist "^1.2.6" strip-bom "^3.0.0" -tslib@^2.0.0, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.0, tslib@^2.4.0: +tslib@2.8.1, tslib@^2.0.0, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.0, tslib@^2.4.0: version "2.8.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== @@ -16151,7 +16283,7 @@ use-sync-external-store@^1.4.0: resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.6.0.tgz#b174bfa65cb2b526732d9f2ac0a408027876f32d" integrity sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w== -util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: +util-deprecate@1.0.2, util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== @@ -16282,7 +16414,7 @@ warning@^3.0.0: dependencies: loose-envify "^1.0.0" -wcwidth@^1.0.0, wcwidth@^1.0.1: +wcwidth@1.0.1, wcwidth@^1.0.0, wcwidth@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" integrity sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg== @@ -16477,6 +16609,15 @@ wordwrap@^1.0.0: string-width "^4.1.0" strip-ansi "^6.0.0" +wrap-ansi@7.0.0, wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + wrap-ansi@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" @@ -16494,15 +16635,6 @@ wrap-ansi@^6.2.0: string-width "^4.1.0" strip-ansi "^6.0.0" -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - wrap-ansi@^8.1.0: version "8.1.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" @@ -16512,7 +16644,7 @@ wrap-ansi@^8.1.0: string-width "^5.0.1" strip-ansi "^7.0.1" -wrappy@1: +wrappy@1, wrappy@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== @@ -16596,16 +16728,16 @@ xtend@~4.0.1: resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== +y18n@5.0.8, y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== + "y18n@^3.2.1 || ^4.0.0", y18n@^4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== -y18n@^5.0.5: - version "5.0.8" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" - integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== - yallist@^3.0.0, yallist@^3.0.2, yallist@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" @@ -16621,16 +16753,16 @@ yallist@^5.0.0: resolved "https://registry.yarnpkg.com/yallist/-/yallist-5.0.0.tgz#00e2de443639ed0d78fd87de0d27469fbcffb533" integrity sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw== +yaml@2.9.0: + version "2.9.0" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.9.0.tgz#78274afd93598a1dfdd6130df6a566defcbf9aa4" + integrity sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA== + yaml@^1.10.0, yaml@^1.10.2: version "1.10.2" resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== -yaml@^2.6.0: - version "2.8.2" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.8.2.tgz#5694f25eca0ce9c3e7a9d9e00ce0ddabbd9e35c5" - integrity sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A== - yargs-parser@21.1.1, yargs-parser@^21.1.1: version "21.1.1" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" @@ -16649,7 +16781,7 @@ yargs-parser@^20.2.2, yargs-parser@^20.2.3: resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== -yargs@17.7.2, yargs@^17.3.1, yargs@^17.6.2: +yargs@17.7.2, yargs@^17.3.1: version "17.7.2" resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== From b7dfd29e6d5f1981799f8cef96f6f73ae829951c Mon Sep 17 00:00:00 2001 From: arimieandreea Date: Tue, 4 Aug 2026 11:22:36 +0300 Subject: [PATCH 02/11] fix(multiple-choice, number-line): add render math in configure PIE-763 --- packages/multiple-choice/configure/src/index.js | 3 +++ packages/number-line/configure/src/index.js | 2 ++ 2 files changed, 5 insertions(+) diff --git a/packages/multiple-choice/configure/src/index.js b/packages/multiple-choice/configure/src/index.js index d233b75669..ec900fc3a8 100644 --- a/packages/multiple-choice/configure/src/index.js +++ b/packages/multiple-choice/configure/src/index.js @@ -1,6 +1,7 @@ import React from 'react'; import { createRoot } from 'react-dom/client'; import debug from 'debug'; +import { renderMath } from '@pie-lib/math-rendering'; import { DeleteImageEvent, InsertImageEvent, @@ -212,6 +213,8 @@ export default class MultipleChoice extends HTMLElement { log('_render - Calling root.render()'); this._root.render(element); log('_render - Render completed successfully'); + + setTimeout(() => renderMath(this), 0); } catch (error) { console.error('❌ [multiple-choice-configure] Render error:', error); console.error('Error stack:', error.stack); diff --git a/packages/number-line/configure/src/index.js b/packages/number-line/configure/src/index.js index 193d33f865..82396b4f38 100644 --- a/packages/number-line/configure/src/index.js +++ b/packages/number-line/configure/src/index.js @@ -1,6 +1,7 @@ import Main from './main'; import React from 'react'; import { createRoot } from 'react-dom/client'; +import { renderMath } from '@pie-lib/math-rendering'; import { ModelUpdatedEvent, InsertSoundEvent, @@ -179,6 +180,7 @@ export default class NumberLine extends HTMLElement { this._root = createRoot(this); } this._root.render(element); + setTimeout(() => renderMath(this), 0); } connectedCallback() { From 568a573f182dd9e9f93e4ab043cc6b70d0d5f956 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 5 Aug 2026 01:23:14 +0000 Subject: [PATCH 03/11] chore(deps): bump ip-address from 10.1.0 to 10.4.0 Bumps [ip-address](https://github.com/beaugunderson/ip-address) from 10.1.0 to 10.4.0. - [Release notes](https://github.com/beaugunderson/ip-address/releases) - [Commits](https://github.com/beaugunderson/ip-address/compare/v10.1.0...v10.4.0) --- updated-dependencies: - dependency-name: ip-address dependency-version: 10.4.0 dependency-type: indirect ... Signed-off-by: dependabot[bot] --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 2caf0c775a..9a2b8d6d2c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9280,9 +9280,9 @@ invert-kv@^2.0.0: integrity sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA== ip-address@^10.0.1: - version "10.1.0" - resolved "https://registry.yarnpkg.com/ip-address/-/ip-address-10.1.0.tgz#d8dcffb34d0e02eb241427444a6e23f5b0595aa4" - integrity sha512-XXADHxXmvT9+CRxhXg56LJovE+bmWnEWB78LB83VZTprKTmaC5QfruXocxzTZ2Kl0DNwKuBdlIhjL8LeY8Sf8Q== + version "10.4.0" + resolved "https://registry.yarnpkg.com/ip-address/-/ip-address-10.4.0.tgz#c5910bc541b6eae287765d1e4846be0308a05d93" + integrity sha512-oSK96Grm3aP6OrS263xVxbNDGVL7rzBtYdpGqlDG8iQdoenDoTs/nkki+DflYbAEE8Xl6o5YxhxlrKvI3nqKXQ== ip@1.1.5: version "1.1.5" From 265b8329b27b0226ce49ac83f3f3b944c18fc506 Mon Sep 17 00:00:00 2001 From: Andrei Miron Date: Thu, 6 Aug 2026 15:29:23 +0300 Subject: [PATCH 04/11] fix(match-list): improve keyboard drag-and-drop, collision detection and drop-zone visuals PIE-643 --- __mocks__/@dnd-kit/core.js | 11 ++ .../__tests__/keyboard-coordinates.test.js | 115 +++++++++++++++ packages/match-list/src/answer.jsx | 53 +++---- .../match-list/src/keyboard-coordinates.js | 137 ++++++++++++++++++ packages/match-list/src/main.jsx | 104 +++++++++++-- 5 files changed, 377 insertions(+), 43 deletions(-) create mode 100644 packages/match-list/src/__tests__/keyboard-coordinates.test.js create mode 100644 packages/match-list/src/keyboard-coordinates.js diff --git a/__mocks__/@dnd-kit/core.js b/__mocks__/@dnd-kit/core.js index 9f5325b74c..532eecbfd5 100644 --- a/__mocks__/@dnd-kit/core.js +++ b/__mocks__/@dnd-kit/core.js @@ -30,3 +30,14 @@ export const closestCorners = jest.fn(); export const getFirstCollision = jest.fn(); export const pointerWithin = jest.fn(); export const rectIntersectionAlgorithm = jest.fn(); + +export const KeyboardCode = { + Space: 'Space', + Down: 'ArrowDown', + Right: 'ArrowRight', + Left: 'ArrowLeft', + Up: 'ArrowUp', + Esc: 'Escape', + Enter: 'Enter', + Tab: 'Tab', +}; diff --git a/packages/match-list/src/__tests__/keyboard-coordinates.test.js b/packages/match-list/src/__tests__/keyboard-coordinates.test.js new file mode 100644 index 0000000000..cf0685dc4c --- /dev/null +++ b/packages/match-list/src/__tests__/keyboard-coordinates.test.js @@ -0,0 +1,115 @@ +import { KeyboardCode } from '@dnd-kit/core'; +import { closestDroppableKeyboardCoordinates } from '../keyboard-coordinates'; + +// Response row ("drop-2") sits directly above the choices pool. +const dropZoneRect = { left: 0, top: 100, width: 200, height: 40, right: 200, bottom: 140 }; +const choicesPoolRect = { left: 0, top: 150, width: 400, height: 300, right: 400, bottom: 450 }; + +function buildContext({ collisionRect }) { + const droppableRects = new Map([ + ['drop-2', dropZoneRect], + ['choices-pool', choicesPoolRect], + ]); + const droppableContainers = new Map([ + ['drop-2', { disabled: false }], + ['choices-pool', { disabled: false }], + ]); + + return { droppableRects, droppableContainers, collisionRect }; +} + +function makeEvent(code, shiftKey = false) { + return { code, preventDefault: () => {}, shiftKey }; +} + +describe('closestDroppableKeyboardCoordinates', () => { + describe('arrow keys', () => { + it('nudges the dragged item by a fixed step instead of jumping to a droppable', () => { + const collisionRect = { left: 0, top: 100, width: 200, height: 40 }; + const context = buildContext({ collisionRect }); + const currentCoordinates = { x: 10, y: 20 }; + + expect( + closestDroppableKeyboardCoordinates(makeEvent(KeyboardCode.Down), { context, currentCoordinates }), + ).toEqual({ x: 10, y: 45 }); + expect( + closestDroppableKeyboardCoordinates(makeEvent(KeyboardCode.Up), { context, currentCoordinates }), + ).toEqual({ x: 10, y: -5 }); + expect( + closestDroppableKeyboardCoordinates(makeEvent(KeyboardCode.Right), { context, currentCoordinates }), + ).toEqual({ x: 35, y: 20 }); + expect( + closestDroppableKeyboardCoordinates(makeEvent(KeyboardCode.Left), { context, currentCoordinates }), + ).toEqual({ x: -15, y: 20 }); + }); + }); + + describe('Tab / Shift+Tab', () => { + it('jumps to the next droppable, placing the dragged item\'s top-left at the target\'s center-left', () => { + // Dragging an item currently positioned exactly over drop-2. + const collisionRect = { left: 0, top: 100, width: 200, height: 40 }; + const context = buildContext({ collisionRect }); + const currentCoordinates = { x: dropZoneRect.left, y: dropZoneRect.top }; + + const next = closestDroppableKeyboardCoordinates(makeEvent('Tab'), { + context, + currentCoordinates, + }); + + // x = choices-pool's left edge; y = choices-pool's vertical center. The dragged + // item's own top-left corner (not its center) lands there. + expect(next).toEqual({ + x: choicesPoolRect.left, + y: choicesPoolRect.top + choicesPoolRect.height / 2, + }); + }); + + it('cycles backwards with Shift+Tab', () => { + const collisionRect = { left: 0, top: 100, width: 200, height: 40 }; + const context = buildContext({ collisionRect }); + const currentCoordinates = { x: dropZoneRect.left, y: dropZoneRect.top }; + + const next = closestDroppableKeyboardCoordinates(makeEvent('Tab', true), { + context, + currentCoordinates, + }); + + // Only one other target exists (choices-pool), so Shift+Tab wraps to it too. + expect(next).toEqual({ + x: choicesPoolRect.left, + y: choicesPoolRect.top + choicesPoolRect.height / 2, + }); + }); + + it('does not get stuck on its own drop-zone when cycling from a placed answer ("target")', () => { + // A "target" is simultaneously draggable and droppable for its own slot, so its own + // drop-zone rect can be off-by-a-few-px from the dragged node's own rect in a real + // browser (they're different DOM nodes). Simulate that mismatch here: the active + // item's own slot ("drop-2") is registered slightly below the item's actual + // collision rect, which — without excluding it — could make Tab cycle back onto it. + const collisionRect = { left: 0, top: 150, width: 200, height: 40 }; + const droppableRects = new Map([ + ['drop-1', { left: 0, top: 100, width: 200, height: 40 }], + ['drop-2', { left: 0, top: 152, width: 200, height: 42 }], // active item's own slot, slightly offset + ['drop-3', { left: 0, top: 200, width: 200, height: 40 }], + ['choices-pool', choicesPoolRect], + ]); + const droppableContainers = new Map( + Array.from(droppableRects.keys(), (id) => [id, { disabled: false }]), + ); + const context = { droppableRects, droppableContainers, collisionRect }; + const currentCoordinates = { x: collisionRect.left, y: collisionRect.top }; + const active = { id: 'target-9', data: { current: { type: 'target', id: 9, promptId: 2 } } }; + + const next = closestDroppableKeyboardCoordinates(makeEvent('Tab'), { + active, + context, + currentCoordinates, + }); + + // drop-3's center-left point (top:200, height:40 -> y:220), not the own + // slightly-lower drop-2. + expect(next).toEqual({ x: 0, y: 220 }); + }); + }); +}); diff --git a/packages/match-list/src/answer.jsx b/packages/match-list/src/answer.jsx index 50f35e4a40..e356260e0e 100644 --- a/packages/match-list/src/answer.jsx +++ b/packages/match-list/src/answer.jsx @@ -43,10 +43,9 @@ Holder.propTypes = { const AnswerContentContainer = styled('div')(({ theme, isDragging, isOver, disabled, outcome }) => ({ color: color.text(), backgroundColor: color.white(), - border: `1px solid ${outcome === 'correct' ? color.correct() : - outcome === 'incorrect' ? color.incorrect() : - theme.palette.grey[400] - }`, + border: `1px solid ${ + outcome === 'correct' ? color.correct() : outcome === 'incorrect' ? color.incorrect() : theme.palette.grey[400] + }`, cursor: disabled ? 'not-allowed' : 'pointer', width: '100%', padding: '10px', @@ -55,20 +54,14 @@ const AnswerContentContainer = styled('div')(({ theme, isDragging, isOver, disab transition: 'opacity 200ms linear', wordBreak: 'break-word', opacity: isDragging && !disabled ? 0.5 : isOver && !disabled ? 0.2 : 1, - touchAction: 'none' + touchAction: 'none', })); const AnswerContent = (props) => { const { isDragging, isOver, title, disabled, empty, outcome, guideIndex, type } = props; if (empty) { - return ; + return ; } else { return ( ({ padding: '0px', textAlign: 'center', height: 'initial', - border: correct === true ? `1px solid var(--feedback-correct-bg-color, ${color.correct()})` : - correct === false ? `1px solid var(--feedback-incorrect-bg-color, ${color.incorrect()})` : - 'none', + border: + correct === true + ? `1px solid var(--feedback-correct-bg-color, ${color.correct()})` + : correct === false + ? `1px solid var(--feedback-incorrect-bg-color, ${color.incorrect()})` + : 'none', })); export class Answer extends React.Component { @@ -130,16 +126,7 @@ export class Answer extends React.Component { }; render() { - const { - id, - title, - isDragging = false, - className, - disabled, - isOver = false, - type, - correct, - } = this.props; + const { id, title, isDragging = false, className, disabled, isOver = false, type, correct } = this.props; log('[render], props: ', this.props); @@ -195,25 +182,25 @@ function DragAndDropAnswer(props) { const isOver = droppable.isOver; // compute style: apply transform to the element that actually moves - const transformStyle = transform - ? `translate3d(${transform.x}px, ${transform.y}px, 0)` - : undefined; + const transformStyle = transform ? `translate3d(${transform.x}px, ${transform.y}px, 0)` : undefined; // If this item is a drop-zone (prompt slot), we render an outer droppable wrapper. - // For droppable wrapper we apply style to the outer wrapper + // The outer wrapper's rect is what dnd-kit measures for this slot's own droppable + // ("drop-{promptId}"), so it must stay untransformed — applying the drag transform + // there would make the slot's own droppable rect chase the dragged item during the + // drag, corrupting collision/keyboard-navigation results. The transform belongs on + // the inner draggable node instead. if (dropId) { return (
-
+
diff --git a/packages/match-list/src/keyboard-coordinates.js b/packages/match-list/src/keyboard-coordinates.js new file mode 100644 index 0000000000..b1025cde81 --- /dev/null +++ b/packages/match-list/src/keyboard-coordinates.js @@ -0,0 +1,137 @@ +import { KeyboardCode } from '@dnd-kit/core'; + +const ARROW_STEP = 25; + +/** + * Custom keyboard coordinate getter for non-sortable drag-and-drop. + * + * Tab/Shift+Tab cycle the dragged item directly onto the next/previous droppable + * (response area or the choices pool), in DOM order, placing the dragged item's own + * top-left corner at the target's center-left point. Arrow keys are left doing plain + * free-form movement (nudging the dragged item by a fixed step, same as dnd-kit's own + * default keyboard behavior) rather than jumping between droppables — collision + * detection (rectIntersection) still picks up whatever the item ends up actually + * overlapping. + */ +export const closestDroppableKeyboardCoordinates = (event, { active, context, currentCoordinates }) => { + const { code } = event; + const isTab = code === 'Tab'; + const isArrow = + code === KeyboardCode.Down || code === KeyboardCode.Up || code === KeyboardCode.Left || code === KeyboardCode.Right; + + if (!isTab && !isArrow) { + return undefined; + } + + event.preventDefault(); + + if (isArrow) { + switch (code) { + case KeyboardCode.Down: + return { ...currentCoordinates, y: currentCoordinates.y + ARROW_STEP }; + + case KeyboardCode.Up: + return { ...currentCoordinates, y: currentCoordinates.y - ARROW_STEP }; + + case KeyboardCode.Right: + return { ...currentCoordinates, x: currentCoordinates.x + ARROW_STEP }; + + case KeyboardCode.Left: + return { ...currentCoordinates, x: currentCoordinates.x - ARROW_STEP }; + + default: + return currentCoordinates; + } + } + + const { droppableRects, droppableContainers, collisionRect } = context; + + if (!droppableRects || droppableRects.size === 0) { + return currentCoordinates; + } + + // `currentCoordinates` is the top-left of the dragged item's collision rect (not its + // center), so derive the dragged item's center in the same frame before comparing it + // against droppable centers below. Returning a droppable's *center* as the next + // coordinates (as opposed to its top-left) would shift the dragged item's top-left to + // that center, overshooting the target by roughly half its size and causing + // dnd-kit to resolve collisions against a neighboring droppable instead. + const draggedHalfSize = { + x: (collisionRect?.width || 0) / 2, + y: (collisionRect?.height || 0) / 2, + }; + const currentCenter = { + x: currentCoordinates.x + draggedHalfSize.x, + y: currentCoordinates.y + draggedHalfSize.y, + }; + + // A placed answer ("target") is itself a droppable for its own prompt slot + // ("drop-{promptId}"). That self drop-zone must never be treated as a navigable + // target: it sits under the dragged item, so a tiny (even sub-pixel) discrepancy + // between its measured rect and the dragged item's own rect is enough to make it + // register as the "closest" candidate, which reads as the drag being stuck. + // Exclude it outright rather than relying on a distance threshold. + const activeData = active?.data?.current; + const ownDropId = activeData?.promptId != null ? `drop-${activeData.promptId}` : undefined; + + // Collect top-left and center of all enabled droppable containers + const targets = []; + + for (const [id, container] of droppableContainers) { + if (container?.disabled) continue; + + if (id === ownDropId) continue; + + const rect = droppableRects.get(id); + + if (!rect) continue; + + const center = { + x: rect.left + rect.width / 2, + y: rect.top + rect.height / 2, + }; + // Land the dragged item's own top-left corner at the target's center-left point, + // rather than at the target's own top-left corner. + const dropPosition = { + x: rect.left, + y: rect.top + rect.height / 2, + }; + + targets.push({ id, dropPosition, center }); + } + + if (targets.length === 0) { + return currentCoordinates; + } + + // Tab/Shift+Tab: cycle through targets in DOM order (sorted top-to-bottom, left-to-right) + const reverse = event.shiftKey; + + // Sort targets by position (top to bottom, then left to right) + targets.sort((a, b) => { + if (Math.abs(a.center.y - b.center.y) > 10) return a.center.y - b.center.y; + return a.center.x - b.center.x; + }); + + // Find the current target (closest to current coordinates) + let currentIndex = 0; + let minDist = Infinity; + + for (let i = 0; i < targets.length; i++) { + const dist = distance(currentCenter, targets[i].center); + + if (dist < minDist) { + minDist = dist; + currentIndex = i; + } + } + + // Move to next/previous + const nextIndex = reverse + ? (currentIndex - 1 + targets.length) % targets.length + : (currentIndex + 1) % targets.length; + + return targets[nextIndex].dropPosition; +}; + +const distance = (a, b) => Math.sqrt((a.x - b.x) ** 2 + (a.y - b.y) ** 2); diff --git a/packages/match-list/src/main.jsx b/packages/match-list/src/main.jsx index b8ba8e9e53..29e02fb252 100644 --- a/packages/match-list/src/main.jsx +++ b/packages/match-list/src/main.jsx @@ -1,8 +1,9 @@ import React from 'react'; import PropTypes from 'prop-types'; import { swap } from '@pie-lib/drag'; -import { DndContext, DragOverlay } from '@dnd-kit/core'; +import { DndContext, DragOverlay, PointerSensor, KeyboardSensor, KeyboardCode, rectIntersection } from '@dnd-kit/core'; import { restrictToFirstScrollableAncestor } from '@dnd-kit/modifiers'; +import { closestDroppableKeyboardCoordinates } from './keyboard-coordinates'; import CorrectAnswerToggle from '@pie-lib/correct-answer-toggle'; import { color, Feedback, PreviewPrompt } from '@pie-lib/render-ui'; import { styled } from '@mui/material/styles'; @@ -11,6 +12,21 @@ import AnswerArea from './answer-area'; import ChoicesList from './choices-list'; import { Answer } from './answer'; +const sensors = [ + { sensor: PointerSensor, options: {} }, + { + sensor: KeyboardSensor, + options: { + coordinateGetter: closestDroppableKeyboardCoordinates, + keyboardCodes: { + start: [KeyboardCode.Space, KeyboardCode.Enter], + cancel: [KeyboardCode.Esc], + end: [KeyboardCode.Space, KeyboardCode.Enter], + }, + }, + }, +]; + const MainContainer = styled('div')({ display: 'flex', flexDirection: 'column', @@ -83,16 +99,16 @@ export class Main extends React.Component { config: { duplicates }, } = model; - if (isUndefined(session.value)) { - session.value = {}; - } + if (isUndefined(session.value)) { + session.value = {}; + } - // dropping a placed answer back to the choices pool = remove it - if (overData.type === 'choices-pool' && activeData.promptId !== undefined) { - session.value[activeData.promptId] = undefined; - onSessionChange(session); - return; - } + // dropping a placed answer back to the choices pool = remove it + if (overData.type === 'choices-pool' && activeData.promptId !== undefined) { + session.value[activeData.promptId] = undefined; + onSessionChange(session); + return; + } const answerId = activeData.id; const sourcePromptId = activeData.promptId; @@ -166,11 +182,79 @@ export class Main extends React.Component { const { config, mode } = model; const { prompt, language } = config; + // Helpers for accessible announcements + const getChoiceLabel = (dragId) => { + // dragId is like "choice-123" or "target-123" + const answerId = String(dragId).replace(/^(choice|target)-/, ''); + const answer = config.answers.find((a) => String(a.id) === answerId); + + if (answer?.title) { + // Strip HTML tags for screen reader + const text = answer.title.replace(/<[^>]*>/g, '').trim(); + return text || `Answer ${answerId}`; + } + + return `Answer ${answerId}`; + }; + + const getDropTargetLabel = (dropId) => { + // dropId is like "drop-456" or "choices-pool" + if (dropId === 'choices-pool') { + return { label: 'Choices list', choiceId: null }; + } + + const promptId = String(dropId).replace(/^drop-/, ''); + const promptItem = config.prompts.find((p) => String(p.id) === promptId); + const label = promptItem?.title + ? `Response area for ${promptItem.title.replace(/<[^>]*>/g, '').trim()}` + : `Response area ${promptId}`; + const choiceId = session.value?.[promptId]; + + return { label, choiceId: choiceId || null }; + }; + + const announcements = { + onDragStart({ active }) { + return `Picked up ${getChoiceLabel(active.id)}. Use Tab to move between response areas, then press Space or Enter to drop.`; + }, + + onDragOver({ active, over }) { + if (!over) { + return `${getChoiceLabel(active.id)} is not over a response area.`; + } + + const target = getDropTargetLabel(over.id); + const content = target.choiceId ? `Currently contains ${getChoiceLabel(target.choiceId)}.` : 'Currently empty.'; + + return `Over ${target.label}. ${content}`; + }, + + onDragEnd({ active, over }) { + if (!over) { + return `${getChoiceLabel(active.id)} was returned to its original position.`; + } + + return `Dropped ${getChoiceLabel(active.id)} in ${getDropTargetLabel(over.id).label}.`; + }, + + onDragCancel({ active }) { + return `Cancelled. ${getChoiceLabel(active.id)} was returned to its original position.`; + }, + }; + return ( From 7370e3649662aad7be33a81a3f5e645082fd9dc4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 7 Aug 2026 11:36:46 +0000 Subject: [PATCH 05/11] chore(deps-dev): bump postcss from 8.5.6 to 8.5.23 Bumps [postcss](https://github.com/postcss/postcss) from 8.5.6 to 8.5.23. - [Release notes](https://github.com/postcss/postcss/releases) - [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md) - [Commits](https://github.com/postcss/postcss/compare/8.5.6...8.5.23) --- updated-dependencies: - dependency-name: postcss dependency-version: 8.5.23 dependency-type: direct:development ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/package.json b/package.json index a2325f4c18..a804be781d 100644 --- a/package.json +++ b/package.json @@ -70,7 +70,7 @@ "minimist": "^1.2.8", "npm-check-updates": "^17.1.18", "pacote": "^9.5.12", - "postcss": "8.5.6", + "postcss": "8.5.23", "prettier": "^3.8.1", "react": "18.3.1", "react-dom": "18.3.1", diff --git a/yarn.lock b/yarn.lock index 263f76bdf5..1725e51c33 100644 --- a/yarn.lock +++ b/yarn.lock @@ -11826,10 +11826,10 @@ mz@^2.7.0: object-assign "^4.0.1" thenify-all "^1.0.0" -nanoid@^3.3.11: - version "3.3.11" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.11.tgz#4f4f112cefbe303202f2199838128936266d185b" - integrity sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w== +nanoid@^3.3.16: + version "3.3.17" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.17.tgz#f1c3aa253c52547956a52c50bff754316f61037a" + integrity sha512-xQLf0A3HOMlgHq0n247/LRuAOYmB7dXJ/DvAxGvsSBij45XtBSmQycu+F8ODbHwns/XyFZagyL1+J0Offw1E0g== natural-compare@^1.4.0: version "1.4.0" @@ -13355,12 +13355,12 @@ postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0, postcss-value-parser@^ resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== -postcss@8.5.6, postcss@^8.3.6: - version "8.5.6" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.6.tgz#2825006615a619b4f62a9e7426cc120b349a8f3c" - integrity sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg== +postcss@8.5.23, postcss@^8.3.6: + version "8.5.23" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.23.tgz#3493550116f478487298301d2c2e8dc5a56e6594" + integrity sha512-g50586zr4bZmwFiTlflMu8E0bDTb5I5gertgwAKmsdUlTQIhZtunzUlD1WSzwcVWPoAVpsrA6vlfCD7oXvRwgg== dependencies: - nanoid "^3.3.11" + nanoid "^3.3.16" picocolors "^1.1.1" source-map-js "^1.2.1" From f0395a91b16a803c5609d5ece6d3f87208dee1b2 Mon Sep 17 00:00:00 2001 From: Patricia Romaniuc Date: Fri, 7 Aug 2026 15:43:42 +0300 Subject: [PATCH 06/11] fix(match-list/placement-ordering): scroll the interactive region horizontally when it does not fit PIE-766 & PIE-768 --- packages/match-list/src/answer-area.jsx | 6 ++ packages/match-list/src/main.jsx | 50 ++++++++++------ packages/placement-ordering/package.json | 1 + .../src/placement-ordering.jsx | 57 ++++++++++++++----- 4 files changed, 85 insertions(+), 29 deletions(-) diff --git a/packages/match-list/src/answer-area.jsx b/packages/match-list/src/answer-area.jsx index 01ee7b38f9..54c749b965 100644 --- a/packages/match-list/src/answer-area.jsx +++ b/packages/match-list/src/answer-area.jsx @@ -6,9 +6,14 @@ import { isEmpty, isUndefined, reduce } from 'lodash-es'; import Arrow from './arrow'; import DragAndDropAnswer from './answer'; +// matches the min width of the answer entries (see AnswerContainer in ./answer), so the two columns +// give the row an intrinsic min width that the horizontal scroll container can overflow. +const MIN_COLUMN_WIDTH = 200; + const ArrowEntry = styled('div')({ alignItems: 'normal', display: 'flex', + flexShrink: 0, height: 40, margin: '10px 20px', }); @@ -29,6 +34,7 @@ const PromptEntry = styled('div')(({ theme }) => ({ flex: 1, margin: '10px 0', minHeight: 40, + minWidth: MIN_COLUMN_WIDTH, overflow: 'hidden', padding: 10, textAlign: 'center', diff --git a/packages/match-list/src/main.jsx b/packages/match-list/src/main.jsx index b8ba8e9e53..4efd0293fb 100644 --- a/packages/match-list/src/main.jsx +++ b/packages/match-list/src/main.jsx @@ -19,6 +19,20 @@ const MainContainer = styled('div')({ backgroundColor: color.background(), }); +const InteractiveRegion = styled('div')({ + width: '100%', + overflowX: 'auto', + overflowY: 'hidden', +}); + +// A block child of a scroll port is sized to the scroll port, so it has to opt out explicitly for +// the content to be able to overflow. min-content keeps the rows and the pool the same width. +const InteractiveRegionContent = styled('div')({ + display: 'flex', + flexDirection: 'column', + minWidth: 'min-content', +}); + export class Main extends React.Component { static propTypes = { session: PropTypes.object.isRequired, @@ -182,22 +196,26 @@ export class Main extends React.Component { language={language} /> - this.onRemoveAnswer(id)} - disabled={mode !== 'gather'} - showCorrect={showCorrectAnswer} - /> - - this.onRemoveAnswer(id)} - /> + + + this.onRemoveAnswer(id)} + disabled={mode !== 'gather'} + showCorrect={showCorrectAnswer} + /> + + this.onRemoveAnswer(id)} + /> + + {model.correctness && model.feedback && !showCorrectAnswer && ( diff --git a/packages/placement-ordering/package.json b/packages/placement-ordering/package.json index d5f63413ef..fe70979911 100644 --- a/packages/placement-ordering/package.json +++ b/packages/placement-ordering/package.json @@ -8,6 +8,7 @@ }, "dependencies": { "@dnd-kit/core": "6.3.1", + "@dnd-kit/modifiers": "9.0.0", "@emotion/react": "^11.14.0", "@emotion/style": "^0.8.0", "@mui/icons-material": "^7.3.4", diff --git a/packages/placement-ordering/src/placement-ordering.jsx b/packages/placement-ordering/src/placement-ordering.jsx index 0e4777f6cc..f64a447f19 100644 --- a/packages/placement-ordering/src/placement-ordering.jsx +++ b/packages/placement-ordering/src/placement-ordering.jsx @@ -5,6 +5,7 @@ import debug from 'debug'; import { difference, isEqual, uniqueId } from 'lodash-es'; import { styled } from '@mui/material/styles'; import { closestCenter } from '@dnd-kit/core'; +import { restrictToParentElement } from '@dnd-kit/modifiers'; import { Collapsible, color, Feedback, hasMedia, hasText, PreviewPrompt, UiLayout } from '@pie-lib/render-ui'; import { renderMath } from '@pie-lib/math-rendering'; @@ -29,6 +30,26 @@ const PlacementOrderingContainer = styled('div')({ boxSizing: 'border-box', }); +// The interactive region - the choices and answers columns for a vertical item, or the choices and +// answers rows for a horizontal one - scrolls horizontally when it does not fit the available width. +const InteractiveRegion = styled('div')({ + // the ancestors centre their children, which shrink-wraps this box to its content. without a + // definite width it grows with the tiler and the overflow escapes outwards instead of scrolling. + alignSelf: 'stretch', + maxWidth: '100%', + overflowX: 'auto', + // tiles are dragged by transform, which counts towards scrollable overflow, so leaving this axis + // scrollable would pop a vertical scrollbar mid-drag + overflowY: 'hidden', +}); + +// keeps the tiler at its natural width, and centred while it still fits +const InteractiveRegionContent = styled('div')({ + display: 'flex', + justifyContent: 'center', + minWidth: 'min-content', +}); + const StyledPrompt = styled('div')(({ theme }) => ({ paddingBottom: theme.spacing(1), })); @@ -321,10 +342,16 @@ export class PlacementOrdering extends React.Component { flexDirection: 'column', alignItems: 'center', boxSizing: 'border-box', + width: '100%', }; return ( - { }} onDragEnd={this.onDragEnd} collisionDetection={closestCenter}> + { }} + onDragEnd={this.onDragEnd} + collisionDetection={closestCenter} + modifiers={[restrictToParentElement]} + > {showTeacherInstructions && ( @@ -347,18 +374,22 @@ export class PlacementOrdering extends React.Component { language={language} /> - + + + + + {displayNote && } From d8f70789a8ab88e65c8ee1f0235e3603065b2090 Mon Sep 17 00:00:00 2001 From: arimieandreea Date: Tue, 11 Aug 2026 11:31:55 +0300 Subject: [PATCH 07/11] fix(multiple-choice, number-line): revert initial fix, avoid calling renderMath is not necessary PIE-763 --- packages/multiple-choice/configure/src/index.js | 3 --- packages/number-line/configure/src/index.js | 2 -- 2 files changed, 5 deletions(-) diff --git a/packages/multiple-choice/configure/src/index.js b/packages/multiple-choice/configure/src/index.js index ec900fc3a8..d233b75669 100644 --- a/packages/multiple-choice/configure/src/index.js +++ b/packages/multiple-choice/configure/src/index.js @@ -1,7 +1,6 @@ import React from 'react'; import { createRoot } from 'react-dom/client'; import debug from 'debug'; -import { renderMath } from '@pie-lib/math-rendering'; import { DeleteImageEvent, InsertImageEvent, @@ -213,8 +212,6 @@ export default class MultipleChoice extends HTMLElement { log('_render - Calling root.render()'); this._root.render(element); log('_render - Render completed successfully'); - - setTimeout(() => renderMath(this), 0); } catch (error) { console.error('❌ [multiple-choice-configure] Render error:', error); console.error('Error stack:', error.stack); diff --git a/packages/number-line/configure/src/index.js b/packages/number-line/configure/src/index.js index 82396b4f38..193d33f865 100644 --- a/packages/number-line/configure/src/index.js +++ b/packages/number-line/configure/src/index.js @@ -1,7 +1,6 @@ import Main from './main'; import React from 'react'; import { createRoot } from 'react-dom/client'; -import { renderMath } from '@pie-lib/math-rendering'; import { ModelUpdatedEvent, InsertSoundEvent, @@ -180,7 +179,6 @@ export default class NumberLine extends HTMLElement { this._root = createRoot(this); } this._root.render(element); - setTimeout(() => renderMath(this), 0); } connectedCallback() { From 23dfd21a8c7b8909f2f494f47945831de79f40cc Mon Sep 17 00:00:00 2001 From: Andrei Miron Date: Wed, 12 Aug 2026 14:51:24 +0300 Subject: [PATCH 08/11] fix(hotspot): render hovered shape on top of other shapes PIE-900 --- packages/hotspot/src/hotspot/circle.jsx | 29 +++++++++++++++++++++- packages/hotspot/src/hotspot/polygon.jsx | 29 +++++++++++++++++++++- packages/hotspot/src/hotspot/rectangle.jsx | 29 +++++++++++++++++++++- 3 files changed, 84 insertions(+), 3 deletions(-) diff --git a/packages/hotspot/src/hotspot/circle.jsx b/packages/hotspot/src/hotspot/circle.jsx index 82e0ca2d9b..aa2ae64d01 100644 --- a/packages/hotspot/src/hotspot/circle.jsx +++ b/packages/hotspot/src/hotspot/circle.jsx @@ -10,8 +10,28 @@ class CircleComponent extends React.Component { this.state = { hovered: false, }; + this.groupRef = React.createRef(); } + componentDidMount() { + if (this.props.focused) { + this.moveGroupToTop(); + } + } + + componentDidUpdate(prevProps) { + // `focused` (keyboard focus) can turn on the hovered style without going through handleMouseEnter + if (!prevProps.focused && this.props.focused) { + this.moveGroupToTop(); + } + } + + moveGroupToTop = () => { + if (this.groupRef.current) { + this.groupRef.current.moveToTop(); + } + }; + handleClick = (e) => { const { onClick, id, selected, disabled } = this.props; @@ -28,6 +48,7 @@ class CircleComponent extends React.Component { document.body.style.cursor = 'pointer'; } this.setState({ hovered: true }); + this.moveGroupToTop(); }; handleMouseLeave = () => { @@ -92,7 +113,13 @@ class CircleComponent extends React.Component { const useHoveredStyle = (hovered || focused) && hoverOutlineColor; return ( - + { + if (this.groupRef.current) { + this.groupRef.current.moveToTop(); + } + }; + getPolygonCenter = (points) => { const x = points.map(({ x }) => x); const y = points.map(({ y }) => y); @@ -47,6 +67,7 @@ class PolygonComponent extends React.Component { document.body.style.cursor = 'pointer'; } this.setState({ hovered: true }); + this.moveGroupToTop(); }; handleMouseLeave = () => { @@ -137,7 +158,13 @@ class PolygonComponent extends React.Component { const rectHeight = maxY - minY; return ( - + { + if (this.groupRef.current) { + this.groupRef.current.moveToTop(); + } + }; + handleClick = (e) => { const { onClick, id, selected, disabled } = this.props; @@ -28,6 +48,7 @@ class RectComponent extends React.Component { document.body.style.cursor = 'pointer'; } this.setState({ hovered: true }); + this.moveGroupToTop(); }; handleMouseLeave = () => { @@ -107,7 +128,13 @@ class RectComponent extends React.Component { const useHoveredStyle = (hovered || focused) && hoverOutlineColor; return ( - + Date: Wed, 12 Aug 2026 16:18:24 +0300 Subject: [PATCH 09/11] feat(placement-ordering): add Tab/Shift+Tab keyboard accessibility support PIE-767 --- __mocks__/@dnd-kit/core.js | 16 ++ .../__tests__/keyboard-coordinates.test.js | 161 ++++++++++++++++++ .../src/__tests__/ordering.test.js | 17 ++ .../placement-ordering-keyboard.test.jsx | 108 ++++++++++++ .../src/keyboard-coordinates.js | 122 +++++++++++++ .../src/placement-ordering.jsx | 28 ++- 6 files changed, 450 insertions(+), 2 deletions(-) create mode 100644 packages/placement-ordering/src/__tests__/keyboard-coordinates.test.js create mode 100644 packages/placement-ordering/src/__tests__/placement-ordering-keyboard.test.jsx create mode 100644 packages/placement-ordering/src/keyboard-coordinates.js diff --git a/__mocks__/@dnd-kit/core.js b/__mocks__/@dnd-kit/core.js index 532eecbfd5..223bb87a8d 100644 --- a/__mocks__/@dnd-kit/core.js +++ b/__mocks__/@dnd-kit/core.js @@ -41,3 +41,19 @@ export const KeyboardCode = { Enter: 'Enter', Tab: 'Tab', }; + +// Mirrors dnd-kit's own defaultKeyboardCoordinateGetter (25px step per arrow key). +export const defaultKeyboardCoordinateGetter = (event, { currentCoordinates }) => { + switch (event.code) { + case KeyboardCode.Right: + return { ...currentCoordinates, x: currentCoordinates.x + 25 }; + case KeyboardCode.Left: + return { ...currentCoordinates, x: currentCoordinates.x - 25 }; + case KeyboardCode.Down: + return { ...currentCoordinates, y: currentCoordinates.y + 25 }; + case KeyboardCode.Up: + return { ...currentCoordinates, y: currentCoordinates.y - 25 }; + default: + return undefined; + } +}; diff --git a/packages/placement-ordering/src/__tests__/keyboard-coordinates.test.js b/packages/placement-ordering/src/__tests__/keyboard-coordinates.test.js new file mode 100644 index 0000000000..2e3e0b3417 --- /dev/null +++ b/packages/placement-ordering/src/__tests__/keyboard-coordinates.test.js @@ -0,0 +1,161 @@ +import { defaultKeyboardCoordinateGetter, KeyboardCode } from '@dnd-kit/core'; +import { closestDroppableKeyboardCoordinates } from '../keyboard-coordinates'; + +// Two target tiles stacked vertically, plus an empty gap left behind in the choices row. +const target1Rect = { left: 0, top: 100, width: 200, height: 40, right: 200, bottom: 140 }; +const target2Rect = { left: 0, top: 150, width: 200, height: 40, right: 200, bottom: 190 }; +const choiceGapRect = { left: 0, top: 0, width: 200, height: 40, right: 200, bottom: 40 }; + +function buildContext({ collisionRect, extraContainers = {} }) { + const droppableRects = new Map([ + ['drop-target-c1-2-instance', target1Rect], + ['drop-target-c2-3-instance', target2Rect], + ['drop-choice-c3-0-instance', choiceGapRect], + ]); + const droppableContainers = new Map([ + ['drop-target-c1-2-instance', { disabled: false, data: { current: { id: 'c1', type: 'target' } } }], + ['drop-target-c2-3-instance', { disabled: false, data: { current: { id: 'c2', type: 'target' } } }], + ['drop-choice-c3-0-instance', { disabled: false, data: { current: { id: 'c3', type: 'choice' } } }], + ...Object.entries(extraContainers), + ]); + + return { droppableRects, droppableContainers, collisionRect }; +} + +const activeChoice = { data: { current: { id: 'c4', type: 'choice' } } }; +const activeTarget = { data: { current: { id: 'c5', type: 'target' } } }; + +function makeEvent(code, shiftKey = false) { + return { code, preventDefault: jest.fn(), shiftKey }; +} + +describe('closestDroppableKeyboardCoordinates', () => { + describe('arrow keys', () => { + it('delegates to dnd-kit default keyboard coordinate getter, unchanged', () => { + const collisionRect = { left: 0, top: 100, width: 200, height: 40 }; + const context = buildContext({ collisionRect }); + const currentCoordinates = { x: 10, y: 20 }; + + [KeyboardCode.Down, KeyboardCode.Up, KeyboardCode.Left, KeyboardCode.Right].forEach((code) => { + const event = makeEvent(code); + const result = closestDroppableKeyboardCoordinates(event, { context, currentCoordinates }); + const expected = defaultKeyboardCoordinateGetter(event, { context, currentCoordinates }); + + expect(result).toEqual(expected); + }); + }); + + it('does not call preventDefault for arrow keys (matches existing dnd-kit behavior)', () => { + const collisionRect = { left: 0, top: 100, width: 200, height: 40 }; + const context = buildContext({ collisionRect }); + const event = makeEvent(KeyboardCode.Down); + + closestDroppableKeyboardCoordinates(event, { context, currentCoordinates: { x: 0, y: 0 } }); + + expect(event.preventDefault).not.toHaveBeenCalled(); + }); + }); + + describe('Tab / Shift+Tab', () => { + it('jumps to the next droppable, placing the dragged item\'s top-left at its center-left', () => { + const collisionRect = { left: 0, top: 0, width: 200, height: 40 }; + const context = buildContext({ collisionRect }); + // Currently positioned over the choice gap (topmost by y). + const currentCoordinates = { x: choiceGapRect.left, y: choiceGapRect.top }; + + const next = closestDroppableKeyboardCoordinates(makeEvent('Tab'), { context, currentCoordinates }); + + expect(next).toEqual({ x: target1Rect.left, y: target1Rect.top + target1Rect.height / 2 }); + }); + + it('cycles backwards with Shift+Tab', () => { + const collisionRect = { left: 0, top: 100, width: 200, height: 40 }; + const context = buildContext({ collisionRect }); + const currentCoordinates = { x: target1Rect.left, y: target1Rect.top }; + + const next = closestDroppableKeyboardCoordinates(makeEvent('Tab', true), { context, currentCoordinates }); + + expect(next).toEqual({ x: choiceGapRect.left, y: choiceGapRect.top + choiceGapRect.height / 2 }); + }); + + it('calls preventDefault so native Tab focus movement does not also happen', () => { + const collisionRect = { left: 0, top: 100, width: 200, height: 40 }; + const context = buildContext({ collisionRect }); + const event = makeEvent('Tab'); + + closestDroppableKeyboardCoordinates(event, { context, currentCoordinates: { x: 0, y: 100 } }); + + expect(event.preventDefault).toHaveBeenCalled(); + }); + + it('excludes the dragged tile\'s own droppable (already disabled while isDragging) from the candidates', () => { + // tile.jsx disables a tile's own droppable via `useDroppable({ disabled: isDragging })`, + // so the dragged target's own slot must not appear as an enabled candidate here. + const collisionRect = { left: 0, top: 150, width: 200, height: 40 }; + const context = buildContext({ + collisionRect, + extraContainers: { 'drop-target-c2-3-instance': { disabled: true } }, + }); + const currentCoordinates = { x: target2Rect.left, y: target2Rect.top }; + + const next = closestDroppableKeyboardCoordinates(makeEvent('Tab'), { context, currentCoordinates }); + + // With target2 (its own slot) excluded, the remaining candidates are target1 and + // the choice gap. target1 is closest to the current position, so it becomes the + // "current" index, and Tab steps forward from there to the choice gap. + expect(next).toEqual({ x: choiceGapRect.left, y: choiceGapRect.top + choiceGapRect.height / 2 }); + }); + + it('lands on an occupied target tile just like any other enabled droppable', () => { + // Occupied vs. empty target tiles are both just "enabled droppables" from this + // getter's point of view — the swap/replacement behavior itself lives in the + // reducer (ordering.js), triggered the same way as pointer dragging once the + // item is placed there. + const collisionRect = { left: 0, top: 0, width: 200, height: 40 }; + const context = buildContext({ collisionRect }); + const currentCoordinates = { x: choiceGapRect.left, y: choiceGapRect.top }; + + const next = closestDroppableKeyboardCoordinates(makeEvent('Tab'), { + active: activeTarget, + context, + currentCoordinates, + }); + + expect(next).toEqual({ x: target1Rect.left, y: target1Rect.top + target1Rect.height / 2 }); + }); + + it('excludes other choice-row tiles while dragging a choice, cycling only through targets', () => { + // Dragging a choice: the choice gap must not be a Tab stop, since dropping a + // choice onto another choice is a no-op in the reducer. With the choice gap + // excluded, only target1/target2 remain, so Shift+Tab (backwards) from target1 + // wraps around to target2 instead of landing on the choice gap. + const collisionRect = { left: 0, top: 100, width: 200, height: 40 }; + const context = buildContext({ collisionRect }); + const currentCoordinates = { x: target1Rect.left, y: target1Rect.top }; + + const next = closestDroppableKeyboardCoordinates(makeEvent('Tab', true), { + active: activeChoice, + context, + currentCoordinates, + }); + + expect(next).toEqual({ x: target2Rect.left, y: target2Rect.top + target2Rect.height / 2 }); + }); + + it('still allows returning a placed target back onto a choice-row gap', () => { + // Dragging a target (a placed choice): the choice-row gap is a valid "return to + // pool" destination and must remain a Tab stop. + const collisionRect = { left: 0, top: 100, width: 200, height: 40 }; + const context = buildContext({ collisionRect }); + const currentCoordinates = { x: target1Rect.left, y: target1Rect.top }; + + const next = closestDroppableKeyboardCoordinates(makeEvent('Tab', true), { + active: activeTarget, + context, + currentCoordinates, + }); + + expect(next).toEqual({ x: choiceGapRect.left, y: choiceGapRect.top + choiceGapRect.height / 2 }); + }); + }); +}); diff --git a/packages/placement-ordering/src/__tests__/ordering.test.js b/packages/placement-ordering/src/__tests__/ordering.test.js index 0e7cd4c8bd..b4a17ee5e4 100644 --- a/packages/placement-ordering/src/__tests__/ordering.test.js +++ b/packages/placement-ordering/src/__tests__/ordering.test.js @@ -158,4 +158,21 @@ describe('ordering', () => { } }); }); + + describe('placing into an already-occupied target', () => { + // Whether the "move" action originates from pointer dragging, arrow-key dragging, + // or Tab-based keyboard placement, it all funnels through this same reducer path — + // placing onto an occupied target swaps the two targets' contents. + it('swaps the two targets instead of overwriting', () => { + const choices = [{ id: 1 }, { id: 2 }, { id: 3 }]; + const state = buildState(choices, [1, 2, undefined], [], { includeTargets: true, allowSameChoiceInTargets: true }); + + const from = { id: 1, type: 'target', index: 0 }; + const to = { id: 2, type: 'target', index: 1 }; + + const update = reducer({ type: 'move', from, to }, state); + + expect(update.response).toEqual([2, 1, undefined]); + }); + }); }); diff --git a/packages/placement-ordering/src/__tests__/placement-ordering-keyboard.test.jsx b/packages/placement-ordering/src/__tests__/placement-ordering-keyboard.test.jsx new file mode 100644 index 0000000000..2750bf0c20 --- /dev/null +++ b/packages/placement-ordering/src/__tests__/placement-ordering-keyboard.test.jsx @@ -0,0 +1,108 @@ +import { render } from '@testing-library/react'; +import React from 'react'; +import { PlacementOrdering } from '../placement-ordering'; +import { closestDroppableKeyboardCoordinates } from '../keyboard-coordinates'; + +jest.mock('../ordering', () => ({ + buildState: jest.fn().mockReturnValue({ tiles: [], choices: [], response: [] }), + reducer: jest.fn().mockReturnValue({ tiles: [], choices: [], response: [] }), +})); + +const mockDragProvider = jest.fn((props) =>
{props.children}
); + +jest.mock('@pie-lib/drag', () => ({ + DragProvider: (props) => mockDragProvider(props), +})); + +describe('PlacementOrdering keyboard placement wiring', () => { + const choices = [{ id: 'c1', label: 'C1' }, { id: 'c2', label: 'C2' }]; + + const renderWithConfig = (config) => { + mockDragProvider.mockClear(); + + render( + , + ); + + // React (in dev builds) calls a brand-new function component type an extra time, + // with no arguments, the very first time that type is ever rendered in the process + // (to capture a stack-trace frame for warnings) — harmless, but it means the *last* + // recorded call isn't reliably the real one. Use the last call that actually + // received props instead. + const callsWithProps = mockDragProvider.mock.calls.filter((call) => call[0] !== undefined); + + return callsWithProps[callsWithProps.length - 1][0]; + }; + + // "placementArea" is normalized by the controller into model.config.includeTargets + // before it reaches this component, so gating on includeTargets here is equivalent + // to gating on placementArea. + describe('when placementArea is true (includeTargets: true)', () => { + it('passes the Tab-based coordinateGetter to DragProvider', () => { + const props = renderWithConfig({ includeTargets: true, orientation: 'vertical' }); + + expect(props.keyboardCoordinateGetter).toBe(closestDroppableKeyboardCoordinates); + }); + + it('configures keyboardCodes so Tab no longer ends the drag, while Space/Enter/Escape are preserved', () => { + const props = renderWithConfig({ includeTargets: true, orientation: 'vertical' }); + + expect(props.keyboardCodes).toEqual({ + start: ['Space', 'Enter'], + cancel: ['Escape'], + end: ['Space', 'Enter'], + }); + expect(props.keyboardCodes.end).not.toContain('Tab'); + }); + + it('passes screen reader instructions describing Tab/Shift+Tab placement', () => { + const props = renderWithConfig({ includeTargets: true, orientation: 'vertical' }); + + expect(props.accessibility.screenReaderInstructions.draggable).toEqual( + 'Press Space or Enter to pick up this answer choice. Once picked up, use Tab or Shift+Tab to cycle through response areas, or use arrow keys to move it freely. Press Space or Enter to drop, or Escape to cancel.', + ); + }); + }); + + describe('when placementArea is false (includeTargets: false)', () => { + it('does not pass a custom keyboardCoordinateGetter', () => { + const props = renderWithConfig({ includeTargets: false, orientation: 'vertical' }); + + expect(props.keyboardCoordinateGetter).toBeUndefined(); + }); + + it('does not pass custom keyboardCodes, leaving dnd-kit defaults (including Tab-ends-drag) untouched', () => { + const props = renderWithConfig({ includeTargets: false, orientation: 'vertical' }); + + expect(props.keyboardCodes).toBeUndefined(); + }); + + it('does not pass accessibility instructions describing Tab-based placement', () => { + const props = renderWithConfig({ includeTargets: false, orientation: 'vertical' }); + + expect(props.accessibility).toBeUndefined(); + }); + }); + + describe('when placementArea is missing entirely', () => { + it('does not pass a custom keyboardCoordinateGetter or keyboardCodes', () => { + const props = renderWithConfig({ orientation: 'vertical' }); + + expect(props.keyboardCoordinateGetter).toBeUndefined(); + expect(props.keyboardCodes).toBeUndefined(); + }); + }); + + describe('existing behavior preserved regardless of placementArea', () => { + it('still passes onDragEnd and collisionDetection to DragProvider', () => { + const props = renderWithConfig({ includeTargets: true, orientation: 'vertical' }); + + expect(typeof props.onDragEnd).toBe('function'); + expect(typeof props.collisionDetection).toBe('function'); + }); + }); +}); diff --git a/packages/placement-ordering/src/keyboard-coordinates.js b/packages/placement-ordering/src/keyboard-coordinates.js new file mode 100644 index 0000000000..1cf40f9444 --- /dev/null +++ b/packages/placement-ordering/src/keyboard-coordinates.js @@ -0,0 +1,122 @@ +import { defaultKeyboardCoordinateGetter, KeyboardCode } from '@dnd-kit/core'; + +/** + * Custom keyboard coordinate getter for placement-ordering's Tab-based placement mode + * (enabled only when the item is configured with `placementArea` / `includeTargets`). + * + * Tab/Shift+Tab cycle the dragged choice directly onto the next/previous enabled + * droppable (a placement/target tile, or an empty gap left behind in the choices row), + * in real on-screen position order, placing the dragged item's own top-left corner at + * the target's center-left point. + * + * Arrow keys are delegated to dnd-kit's own `defaultKeyboardCoordinateGetter` so the + * pre-existing free-form arrow-key dragging behavior is left completely unchanged. + * + * The tile currently being dragged already disables its own droppable + * (see `useDroppable({ disabled: isDragging })` in tile.jsx), so it's naturally + * excluded from the candidate list here without any extra bookkeeping. + * + * When picking up a choice from the choices row, the other not-yet-placed choice + * tiles are also registered droppables (tile.jsx disables a droppable only while it's + * the one being dragged), but dropping a choice onto another choice is a no-op in the + * reducer (ordering.js's updateResponse has no `choice -> choice` case) — so they're + * excluded from the Tab/Shift+Tab cycle, leaving only the real placement targets. + */ +export const closestDroppableKeyboardCoordinates = (event, { active, context, currentCoordinates }) => { + const { code } = event; + const isTab = code === 'Tab'; + const isArrow = + code === KeyboardCode.Down || code === KeyboardCode.Up || code === KeyboardCode.Left || code === KeyboardCode.Right; + + if (!isTab && !isArrow) { + return undefined; + } + + if (isArrow) { + return defaultKeyboardCoordinateGetter(event, { context, currentCoordinates }); + } + + event.preventDefault(); + + const { droppableRects, droppableContainers, collisionRect } = context; + + if (!droppableRects || droppableRects.size === 0) { + return currentCoordinates; + } + + // `currentCoordinates` is the top-left of the dragged item's collision rect (not its + // center), so derive the dragged item's center in the same frame before comparing it + // against droppable centers below. + const draggedHalfSize = { + x: (collisionRect?.width || 0) / 2, + y: (collisionRect?.height || 0) / 2, + }; + const currentCenter = { + x: currentCoordinates.x + draggedHalfSize.x, + y: currentCoordinates.y + draggedHalfSize.y, + }; + + // Only exclude other choice tiles while dragging a choice; dragging a placed target + // back onto a choice-row gap is still a valid "return to pool" destination. + const activeType = active?.data?.current?.type; + const excludeChoiceDroppables = activeType === 'choice'; + + const targets = []; + + for (const [id, container] of droppableContainers) { + if (container?.disabled) continue; + + if (excludeChoiceDroppables && container?.data?.current?.type === 'choice') continue; + + const rect = droppableRects.get(id); + + if (!rect) continue; + + const center = { + x: rect.left + rect.width / 2, + y: rect.top + rect.height / 2, + }; + // Land the dragged item's own top-left corner at the target's center-left point, + // rather than at the target's own top-left corner. + const dropPosition = { + x: rect.left, + y: rect.top + rect.height / 2, + }; + + targets.push({ id, dropPosition, center }); + } + + if (targets.length === 0) { + return currentCoordinates; + } + + const reverse = event.shiftKey; + + // Sort targets by real on-screen position (top to bottom, then left to right), so + // this works the same whether the tiler is laid out vertically or horizontally. + targets.sort((a, b) => { + if (Math.abs(a.center.y - b.center.y) > 10) return a.center.y - b.center.y; + return a.center.x - b.center.x; + }); + + // Find the current target (closest to current coordinates) + let currentIndex = 0; + let minDist = Infinity; + + for (let i = 0; i < targets.length; i++) { + const dist = distance(currentCenter, targets[i].center); + + if (dist < minDist) { + minDist = dist; + currentIndex = i; + } + } + + const nextIndex = reverse + ? (currentIndex - 1 + targets.length) % targets.length + : (currentIndex + 1) % targets.length; + + return targets[nextIndex].dropPosition; +}; + +const distance = (a, b) => Math.sqrt((a.x - b.x) ** 2 + (a.y - b.y) ** 2); diff --git a/packages/placement-ordering/src/placement-ordering.jsx b/packages/placement-ordering/src/placement-ordering.jsx index 0e4777f6cc..94e2702995 100644 --- a/packages/placement-ordering/src/placement-ordering.jsx +++ b/packages/placement-ordering/src/placement-ordering.jsx @@ -4,7 +4,7 @@ import PropTypes from 'prop-types'; import debug from 'debug'; import { difference, isEqual, uniqueId } from 'lodash-es'; import { styled } from '@mui/material/styles'; -import { closestCenter } from '@dnd-kit/core'; +import { rectIntersection } from '@dnd-kit/core'; import { Collapsible, color, Feedback, hasMedia, hasText, PreviewPrompt, UiLayout } from '@pie-lib/render-ui'; import { renderMath } from '@pie-lib/math-rendering'; @@ -15,6 +15,25 @@ import { DragProvider } from '@pie-lib/drag'; import { HorizontalTiler, VerticalTiler } from './tiler'; import { buildState, reducer } from './ordering'; import { haveSameValuesButDifferentOrder } from './utils'; +import { closestDroppableKeyboardCoordinates } from './keyboard-coordinates'; + +const getKeyboardDragOptions = (includeTargets) => + includeTargets + ? { + keyboardCoordinateGetter: closestDroppableKeyboardCoordinates, + keyboardCodes: { + start: ['Space', 'Enter'], + cancel: ['Escape'], + end: ['Space', 'Enter'], + }, + accessibility: { + screenReaderInstructions: { + draggable: + 'Press Space or Enter to pick up this answer choice. Once picked up, use Tab or Shift+Tab to cycle through response areas, or use arrow keys to move it freely. Press Space or Enter to drop, or Escape to cancel.', + }, + }, + } + : {}; const { translator } = Translator; @@ -324,7 +343,12 @@ export class PlacementOrdering extends React.Component { }; return ( - { }} onDragEnd={this.onDragEnd} collisionDetection={closestCenter}> + {}} + onDragEnd={this.onDragEnd} + collisionDetection={rectIntersection} + {...getKeyboardDragOptions(includeTargets)} + > {showTeacherInstructions && ( From e25493d53a2f670f185267733d9a66c1dd584524 Mon Sep 17 00:00:00 2001 From: CarlaCostea <56835388+CarlaCostea@users.noreply.github.com> Date: Thu, 13 Aug 2026 11:13:19 +0300 Subject: [PATCH 10/11] Change collision detection method in DragProvider --- packages/placement-ordering/src/placement-ordering.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/placement-ordering/src/placement-ordering.jsx b/packages/placement-ordering/src/placement-ordering.jsx index 836e6d3849..6529bba328 100644 --- a/packages/placement-ordering/src/placement-ordering.jsx +++ b/packages/placement-ordering/src/placement-ordering.jsx @@ -368,7 +368,7 @@ export class PlacementOrdering extends React.Component { { }} onDragEnd={this.onDragEnd} - collisionDetection={closestCenter} + collisionDetection={rectIntersection} modifiers={[restrictToParentElement]} {...getKeyboardDragOptions(includeTargets)} > From 1e035ff6a8a1c9a288d12b59342ea08690173c65 Mon Sep 17 00:00:00 2001 From: carlacostea Date: Thu, 13 Aug 2026 12:32:54 +0300 Subject: [PATCH 11/11] chore: bump libs and shared-modules PIE-767, PIE-158 --- package.json | 20 ++-- .../configure/package.json | 4 +- packages/calculator/configure/package.json | 2 +- packages/categorize/configure/package.json | 6 +- packages/categorize/package.json | 4 +- packages/charting/configure/package.json | 6 +- packages/charting/package.json | 2 +- .../complex-rubric/configure/package.json | 4 +- packages/complex-rubric/package.json | 2 +- .../drag-in-the-blank/configure/package.json | 6 +- packages/drag-in-the-blank/package.json | 4 +- .../drawing-response/configure/package.json | 4 +- packages/ebsr/configure/package.json | 2 +- .../configure/package.json | 4 +- .../package.json | 2 +- .../configure/package.json | 4 +- packages/extended-text-entry/package.json | 4 +- .../fraction-model/configure/package.json | 4 +- packages/fraction-model/package.json | 2 +- .../configure/package.json | 6 +- packages/graphing-solution-set/package.json | 4 +- packages/graphing/configure/package.json | 6 +- packages/graphing/package.json | 2 +- packages/hotspot/configure/package.json | 4 +- .../configure/package.json | 4 +- packages/image-cloze-association/package.json | 2 +- .../inline-dropdown/configure/package.json | 4 +- packages/inline-dropdown/package.json | 2 +- packages/likert/configure/package.json | 4 +- packages/match-list/package.json | 2 +- packages/match/configure/package.json | 6 +- packages/math-inline/configure/package.json | 4 +- .../math-templated/configure/package.json | 4 +- packages/math-templated/package.json | 2 +- packages/matrix/configure/package.json | 4 +- .../multi-trait-rubric/configure/package.json | 6 +- .../multiple-choice/configure/package.json | 4 +- packages/number-line/configure/package.json | 4 +- packages/passage/configure/package.json | 4 +- .../placement-ordering/configure/package.json | 6 +- packages/placement-ordering/package.json | 2 +- packages/rubric/configure/package.json | 6 +- packages/ruler/configure/package.json | 2 +- packages/select-text/configure/package.json | 4 +- pslb/pslb.config.js | 12 +- yarn.lock | 108 +++++++++--------- 46 files changed, 152 insertions(+), 152 deletions(-) diff --git a/package.json b/package.json index a804be781d..9b3993df5f 100644 --- a/package.json +++ b/package.json @@ -89,27 +89,27 @@ "@jest/test-sequencer": "29.7.0", "@types/d3-array": "3.0.3", "@pie-lib/categorize": "2.0.2", - "@pie-lib/charting": "7.0.13", - "@pie-lib/config-ui": "13.0.13", + "@pie-lib/charting": "7.0.14", + "@pie-lib/config-ui": "13.0.14", "@pie-lib/controller-utils": "2.0.3", "@pie-lib/correct-answer-toggle": "4.0.5", - "@pie-lib/drag": "4.0.6", - "@pie-lib/editable-html": "13.0.8", - "@pie-lib/editable-html-tip-tap": "2.1.11", + "@pie-lib/drag": "4.1.0", + "@pie-lib/editable-html": "13.0.9", + "@pie-lib/editable-html-tip-tap": "2.1.12", "@pie-lib/feedback": "2.0.2", - "@pie-lib/graphing-solution-set": "4.0.13", + "@pie-lib/graphing-solution-set": "4.0.14", "@pie-lib/graphing-utils": "3.0.2", - "@pie-lib/graphing": "4.0.14", + "@pie-lib/graphing": "4.0.15", "@pie-lib/icons": "4.0.3", - "@pie-lib/mask-markup": "3.0.13", + "@pie-lib/mask-markup": "3.0.14", "@pie-lib/math-evaluator": "4.0.2", "@pie-lib/math-input": "8.1.1", "@pie-lib/math-rendering-accessible": "5.0.3", "@pie-lib/math-rendering": "5.1.0", "@pie-lib/math-toolbar": "3.0.6", - "@pie-lib/plot": "4.0.13", + "@pie-lib/plot": "4.0.14", "@pie-lib/render-ui": "6.1.3", - "@pie-lib/rubric": "2.0.13", + "@pie-lib/rubric": "2.0.14", "@pie-lib/scoring-config": "5.0.3", "@pie-lib/style-utils": "2.0.2", "@pie-lib/test-utils": "2.0.2", diff --git a/packages/boilerplate-item-type/configure/package.json b/packages/boilerplate-item-type/configure/package.json index a610f54d0e..a6add5de84 100644 --- a/packages/boilerplate-item-type/configure/package.json +++ b/packages/boilerplate-item-type/configure/package.json @@ -11,8 +11,8 @@ "@mui/icons-material": "^7.3.4", "@mui/material": "^7.3.4", "@pie-framework/pie-configure-events": "^1.3.0", - "@pie-lib/config-ui": "13.0.13", - "@pie-lib/editable-html-tip-tap": "2.1.11", + "@pie-lib/config-ui": "13.0.14", + "@pie-lib/editable-html-tip-tap": "2.1.12", "@pie-lib/render-ui": "6.1.3", "debug": "^4.1.1", "lodash-es": "^4.17.23", diff --git a/packages/calculator/configure/package.json b/packages/calculator/configure/package.json index 1007447b39..22ac1efd70 100644 --- a/packages/calculator/configure/package.json +++ b/packages/calculator/configure/package.json @@ -11,7 +11,7 @@ "@mui/material": "^7.3.4", "@pie-framework/material-ui-calculator": "4.0.0", "@pie-framework/pie-configure-events": "^1.3.0", - "@pie-lib/config-ui": "13.0.13", + "@pie-lib/config-ui": "13.0.14", "react": "18.3.1", "react-dom": "18.3.1" }, diff --git a/packages/categorize/configure/package.json b/packages/categorize/configure/package.json index e6179d4760..3baad6a408 100644 --- a/packages/categorize/configure/package.json +++ b/packages/categorize/configure/package.json @@ -16,9 +16,9 @@ "@mui/material": "^7.3.4", "@pie-framework/pie-configure-events": "^1.3.0", "@pie-lib/categorize": "2.0.2", - "@pie-lib/config-ui": "13.0.13", - "@pie-lib/drag": "4.0.6", - "@pie-lib/editable-html-tip-tap": "2.1.11", + "@pie-lib/config-ui": "13.0.14", + "@pie-lib/drag": "4.1.0", + "@pie-lib/editable-html-tip-tap": "2.1.12", "@pie-lib/math-rendering": "5.1.0", "@pie-lib/render-ui": "6.1.3", "@pie-lib/translator": "4.0.2", diff --git a/packages/categorize/package.json b/packages/categorize/package.json index ffd1c2f88b..a40a7ee0ff 100644 --- a/packages/categorize/package.json +++ b/packages/categorize/package.json @@ -16,9 +16,9 @@ "@mui/material": "^7.3.4", "@pie-framework/pie-player-events": "^0.1.0", "@pie-lib/categorize": "2.0.2", - "@pie-lib/config-ui": "13.0.13", + "@pie-lib/config-ui": "13.0.14", "@pie-lib/correct-answer-toggle": "4.0.5", - "@pie-lib/drag": "4.0.6", + "@pie-lib/drag": "4.1.0", "@pie-lib/math-rendering": "5.1.0", "@pie-lib/render-ui": "6.1.3", "@pie-lib/translator": "4.0.2", diff --git a/packages/charting/configure/package.json b/packages/charting/configure/package.json index e5368206f5..0c6bc7f7fb 100644 --- a/packages/charting/configure/package.json +++ b/packages/charting/configure/package.json @@ -12,9 +12,9 @@ "@mui/icons-material": "^7.3.4", "@mui/material": "^7.3.4", "@pie-framework/pie-configure-events": "^1.3.0", - "@pie-lib/charting": "7.0.13", - "@pie-lib/config-ui": "13.0.13", - "@pie-lib/editable-html-tip-tap": "2.1.11", + "@pie-lib/charting": "7.0.14", + "@pie-lib/config-ui": "13.0.14", + "@pie-lib/editable-html-tip-tap": "2.1.12", "@pie-lib/math-rendering": "5.1.0", "@pie-lib/render-ui": "6.1.3", "debug": "^4.1.1", diff --git a/packages/charting/package.json b/packages/charting/package.json index 8a2bb54cdf..a7adbbf3b1 100644 --- a/packages/charting/package.json +++ b/packages/charting/package.json @@ -15,7 +15,7 @@ "@mui/icons-material": "^7.3.4", "@mui/material": "^7.3.4", "@pie-framework/pie-player-events": "^0.1.0", - "@pie-lib/charting": "7.0.13", + "@pie-lib/charting": "7.0.14", "@pie-lib/correct-answer-toggle": "4.0.5", "@pie-lib/math-rendering": "5.1.0", "@pie-lib/render-ui": "6.1.3", diff --git a/packages/complex-rubric/configure/package.json b/packages/complex-rubric/configure/package.json index 75fb7639f6..4c65f74f8f 100644 --- a/packages/complex-rubric/configure/package.json +++ b/packages/complex-rubric/configure/package.json @@ -14,9 +14,9 @@ "@pie-element/multi-trait-rubric": "^8.1.0", "@pie-element/rubric": "^8.1.0", "@pie-framework/pie-configure-events": "^1.3.0", - "@pie-lib/config-ui": "13.0.13", + "@pie-lib/config-ui": "13.0.14", "@pie-lib/render-ui": "6.1.3", - "@pie-lib/rubric": "2.0.13", + "@pie-lib/rubric": "2.0.14", "debug": "^4.1.1", "lodash-es": "^4.17.23", "prop-types": "^15.8.1", diff --git a/packages/complex-rubric/package.json b/packages/complex-rubric/package.json index 25a3f86d42..e61ee15bb1 100644 --- a/packages/complex-rubric/package.json +++ b/packages/complex-rubric/package.json @@ -13,7 +13,7 @@ "@pie-element/multi-trait-rubric": "^8.1.0", "@pie-element/rubric": "^8.1.0", "@pie-framework/pie-player-events": "^0.1.0", - "@pie-lib/rubric": "2.0.13", + "@pie-lib/rubric": "2.0.14", "classnames": "^2.2.6", "debug": "^4.1.1", "lodash-es": "^4.17.23", diff --git a/packages/drag-in-the-blank/configure/package.json b/packages/drag-in-the-blank/configure/package.json index 5cd9d59fdb..41ca0978aa 100644 --- a/packages/drag-in-the-blank/configure/package.json +++ b/packages/drag-in-the-blank/configure/package.json @@ -12,9 +12,9 @@ "@mui/icons-material": "^7.3.4", "@mui/material": "^7.3.4", "@pie-framework/pie-configure-events": "^1.3.0", - "@pie-lib/config-ui": "13.0.13", - "@pie-lib/drag": "4.0.6", - "@pie-lib/editable-html-tip-tap": "2.1.11", + "@pie-lib/config-ui": "13.0.14", + "@pie-lib/drag": "4.1.0", + "@pie-lib/editable-html-tip-tap": "2.1.12", "@pie-lib/math-rendering": "5.1.0", "debug": "^4.1.1", "lodash-es": "^4.17.23", diff --git a/packages/drag-in-the-blank/package.json b/packages/drag-in-the-blank/package.json index 43ce59db0f..ead250cec2 100644 --- a/packages/drag-in-the-blank/package.json +++ b/packages/drag-in-the-blank/package.json @@ -16,8 +16,8 @@ "@mui/material": "^7.3.4", "@pie-framework/pie-player-events": "^0.1.0", "@pie-lib/correct-answer-toggle": "4.0.5", - "@pie-lib/drag": "4.0.6", - "@pie-lib/mask-markup": "3.0.13", + "@pie-lib/drag": "4.1.0", + "@pie-lib/mask-markup": "3.0.14", "@pie-lib/math-rendering": "5.1.0", "@pie-lib/render-ui": "6.1.3", "lodash-es": "^4.17.23", diff --git a/packages/drawing-response/configure/package.json b/packages/drawing-response/configure/package.json index 7bb55b02b6..4a0f2dfce2 100644 --- a/packages/drawing-response/configure/package.json +++ b/packages/drawing-response/configure/package.json @@ -12,8 +12,8 @@ "@mui/icons-material": "^7.3.4", "@mui/material": "^7.3.4", "@pie-framework/pie-configure-events": "^1.3.0", - "@pie-lib/config-ui": "13.0.13", - "@pie-lib/editable-html-tip-tap": "2.1.11", + "@pie-lib/config-ui": "13.0.14", + "@pie-lib/editable-html-tip-tap": "2.1.12", "debug": "^4.1.1", "lodash-es": "^4.17.23", "prop-types": "^15.8.1", diff --git a/packages/ebsr/configure/package.json b/packages/ebsr/configure/package.json index e76ad8fc9f..1d1ebb4d06 100644 --- a/packages/ebsr/configure/package.json +++ b/packages/ebsr/configure/package.json @@ -13,7 +13,7 @@ "@mui/material": "^7.3.4", "@pie-element/multiple-choice": "^13.2.0", "@pie-framework/pie-configure-events": "^1.2.0", - "@pie-lib/config-ui": "13.0.13", + "@pie-lib/config-ui": "13.0.14", "lodash-es": "^4.17.23", "prop-types": "^15.8.1", "react": "18.3.1", diff --git a/packages/explicit-constructed-response/configure/package.json b/packages/explicit-constructed-response/configure/package.json index d56f519d7d..cc02943b2d 100644 --- a/packages/explicit-constructed-response/configure/package.json +++ b/packages/explicit-constructed-response/configure/package.json @@ -10,8 +10,8 @@ "@mui/icons-material": "^7.3.4", "@mui/material": "^7.3.4", "@pie-framework/pie-configure-events": "^1.3.0", - "@pie-lib/config-ui": "13.0.13", - "@pie-lib/editable-html-tip-tap": "2.1.11", + "@pie-lib/config-ui": "13.0.14", + "@pie-lib/editable-html-tip-tap": "2.1.12", "classnames": "^2.2.6", "debug": "^4.1.1", "lodash-es": "^4.17.23", diff --git a/packages/explicit-constructed-response/package.json b/packages/explicit-constructed-response/package.json index d6f4870b20..1114a9d4cb 100644 --- a/packages/explicit-constructed-response/package.json +++ b/packages/explicit-constructed-response/package.json @@ -16,7 +16,7 @@ "@mui/material": "^7.3.4", "@pie-framework/pie-player-events": "^0.1.0", "@pie-lib/correct-answer-toggle": "4.0.5", - "@pie-lib/mask-markup": "3.0.13", + "@pie-lib/mask-markup": "3.0.14", "@pie-lib/math-rendering": "5.1.0", "@pie-lib/render-ui": "6.1.3", "@pie-lib/translator": "4.0.2", diff --git a/packages/extended-text-entry/configure/package.json b/packages/extended-text-entry/configure/package.json index 4b4a5de452..87b6bda538 100644 --- a/packages/extended-text-entry/configure/package.json +++ b/packages/extended-text-entry/configure/package.json @@ -13,8 +13,8 @@ "@mui/icons-material": "^7.3.4", "@mui/material": "^7.3.4", "@pie-framework/pie-configure-events": "^1.3.0", - "@pie-lib/config-ui": "13.0.13", - "@pie-lib/editable-html-tip-tap": "2.1.11", + "@pie-lib/config-ui": "13.0.14", + "@pie-lib/editable-html-tip-tap": "2.1.12", "lodash-es": "^4.17.23", "prop-types": "^15.8.1", "react": "18.3.1", diff --git a/packages/extended-text-entry/package.json b/packages/extended-text-entry/package.json index 4749cd40c4..e40d3abd6c 100644 --- a/packages/extended-text-entry/package.json +++ b/packages/extended-text-entry/package.json @@ -14,8 +14,8 @@ "@mui/icons-material": "^7.3.4", "@mui/material": "^7.3.4", "@pie-framework/pie-player-events": "^0.1.0", - "@pie-lib/config-ui": "13.0.13", - "@pie-lib/editable-html-tip-tap": "2.1.11", + "@pie-lib/config-ui": "13.0.14", + "@pie-lib/editable-html-tip-tap": "2.1.12", "@pie-lib/math-rendering": "5.1.0", "@pie-lib/render-ui": "6.1.3", "classnames": "^2.2.6", diff --git a/packages/fraction-model/configure/package.json b/packages/fraction-model/configure/package.json index 3eb6d71626..244ec7b2b4 100644 --- a/packages/fraction-model/configure/package.json +++ b/packages/fraction-model/configure/package.json @@ -11,8 +11,8 @@ "@mui/icons-material": "^7.3.4", "@mui/material": "^7.3.4", "@pie-framework/pie-configure-events": "^1.3.0", - "@pie-lib/config-ui": "13.0.13", - "@pie-lib/editable-html-tip-tap": "2.1.11", + "@pie-lib/config-ui": "13.0.14", + "@pie-lib/editable-html-tip-tap": "2.1.12", "debug": "^4.1.1", "lodash-es": "^4.17.23", "prop-types": "^15.8.1", diff --git a/packages/fraction-model/package.json b/packages/fraction-model/package.json index 53f0d26564..8538cc6f41 100644 --- a/packages/fraction-model/package.json +++ b/packages/fraction-model/package.json @@ -12,7 +12,7 @@ "@mui/icons-material": "^7.3.4", "@mui/material": "^7.3.4", "@pie-framework/pie-player-events": "^0.1.0", - "@pie-lib/config-ui": "13.0.13", + "@pie-lib/config-ui": "13.0.14", "@pie-lib/correct-answer-toggle": "4.0.5", "@pie-lib/math-rendering": "5.1.0", "@pie-lib/render-ui": "6.1.3", diff --git a/packages/graphing-solution-set/configure/package.json b/packages/graphing-solution-set/configure/package.json index 3951f24f65..7857881b67 100644 --- a/packages/graphing-solution-set/configure/package.json +++ b/packages/graphing-solution-set/configure/package.json @@ -12,9 +12,9 @@ "@mui/icons-material": "^7.3.4", "@mui/material": "^7.3.4", "@pie-framework/pie-configure-events": "^1.3.0", - "@pie-lib/config-ui": "13.0.13", - "@pie-lib/editable-html-tip-tap": "2.1.11", - "@pie-lib/graphing-solution-set": "4.0.13", + "@pie-lib/config-ui": "13.0.14", + "@pie-lib/editable-html-tip-tap": "2.1.12", + "@pie-lib/graphing-solution-set": "4.0.14", "@pie-lib/math-rendering": "5.1.0", "classnames": "^2.2.6", "debug": "^4.1.1", diff --git a/packages/graphing-solution-set/package.json b/packages/graphing-solution-set/package.json index ae0132f14b..426a119f63 100644 --- a/packages/graphing-solution-set/package.json +++ b/packages/graphing-solution-set/package.json @@ -16,9 +16,9 @@ "@mui/icons-material": "^7.3.4", "@mui/material": "^7.3.4", "@pie-framework/pie-player-events": "^0.1.0", - "@pie-lib/config-ui": "13.0.13", + "@pie-lib/config-ui": "13.0.14", "@pie-lib/correct-answer-toggle": "4.0.5", - "@pie-lib/graphing-solution-set": "4.0.13", + "@pie-lib/graphing-solution-set": "4.0.14", "@pie-lib/math-rendering": "5.1.0", "@pie-lib/render-ui": "6.1.3", "classnames": "^2.2.6", diff --git a/packages/graphing/configure/package.json b/packages/graphing/configure/package.json index 93976ebbc2..bb8d38faab 100644 --- a/packages/graphing/configure/package.json +++ b/packages/graphing/configure/package.json @@ -12,9 +12,9 @@ "@mui/icons-material": "^7.3.4", "@mui/material": "^7.3.4", "@pie-framework/pie-configure-events": "^1.3.0", - "@pie-lib/config-ui": "13.0.13", - "@pie-lib/editable-html-tip-tap": "2.1.11", - "@pie-lib/graphing": "4.0.14", + "@pie-lib/config-ui": "13.0.14", + "@pie-lib/editable-html-tip-tap": "2.1.12", + "@pie-lib/graphing": "4.0.15", "@pie-lib/math-rendering": "5.1.0", "classnames": "^2.2.6", "debug": "^4.1.1", diff --git a/packages/graphing/package.json b/packages/graphing/package.json index fe9dacf249..1f1ca6376e 100644 --- a/packages/graphing/package.json +++ b/packages/graphing/package.json @@ -16,7 +16,7 @@ "@mui/material": "^7.3.4", "@pie-framework/pie-player-events": "^0.1.0", "@pie-lib/correct-answer-toggle": "4.0.5", - "@pie-lib/graphing": "4.0.14", + "@pie-lib/graphing": "4.0.15", "@pie-lib/math-rendering": "5.1.0", "@pie-lib/render-ui": "6.1.3", "classnames": "^2.2.6", diff --git a/packages/hotspot/configure/package.json b/packages/hotspot/configure/package.json index 6c74a9f4a1..5e3931b6e1 100644 --- a/packages/hotspot/configure/package.json +++ b/packages/hotspot/configure/package.json @@ -12,8 +12,8 @@ "@mui/icons-material": "^7.3.4", "@mui/material": "^7.3.4", "@pie-framework/pie-configure-events": "^1.3.0", - "@pie-lib/config-ui": "13.0.13", - "@pie-lib/editable-html-tip-tap": "2.1.11", + "@pie-lib/config-ui": "13.0.14", + "@pie-lib/editable-html-tip-tap": "2.1.12", "debug": "^4.1.1", "konva": "8.3.0", "lodash-es": "^4.17.23", diff --git a/packages/image-cloze-association/configure/package.json b/packages/image-cloze-association/configure/package.json index 7a79e83755..7bd51ec1cc 100644 --- a/packages/image-cloze-association/configure/package.json +++ b/packages/image-cloze-association/configure/package.json @@ -12,8 +12,8 @@ "@mui/icons-material": "^7.3.4", "@mui/material": "^7.3.4", "@pie-framework/pie-configure-events": "^1.3.0", - "@pie-lib/config-ui": "13.0.13", - "@pie-lib/editable-html-tip-tap": "2.1.11", + "@pie-lib/config-ui": "13.0.14", + "@pie-lib/editable-html-tip-tap": "2.1.12", "debug": "^4.1.1", "prop-types": "^15.8.1", "react": "18.3.1", diff --git a/packages/image-cloze-association/package.json b/packages/image-cloze-association/package.json index 062d82f46b..afae05e634 100644 --- a/packages/image-cloze-association/package.json +++ b/packages/image-cloze-association/package.json @@ -14,7 +14,7 @@ "@mui/material": "^7.3.4", "@pie-framework/pie-player-events": "^0.1.0", "@pie-lib/correct-answer-toggle": "4.0.5", - "@pie-lib/drag": "4.0.6", + "@pie-lib/drag": "4.1.0", "@pie-lib/math-rendering": "5.1.0", "@pie-lib/render-ui": "6.1.3", "@pie-lib/translator": "4.0.2", diff --git a/packages/inline-dropdown/configure/package.json b/packages/inline-dropdown/configure/package.json index 3f07b2adbf..d0a0767a50 100644 --- a/packages/inline-dropdown/configure/package.json +++ b/packages/inline-dropdown/configure/package.json @@ -10,8 +10,8 @@ "@mui/icons-material": "^7.3.4", "@mui/material": "^7.3.4", "@pie-framework/pie-configure-events": "^1.3.0", - "@pie-lib/config-ui": "13.0.13", - "@pie-lib/editable-html-tip-tap": "2.1.11", + "@pie-lib/config-ui": "13.0.14", + "@pie-lib/editable-html-tip-tap": "2.1.12", "@pie-lib/math-rendering": "5.1.0", "@pie-lib/render-ui": "6.1.3", "classnames": "^2.2.6", diff --git a/packages/inline-dropdown/package.json b/packages/inline-dropdown/package.json index aafa0f3158..1347503208 100644 --- a/packages/inline-dropdown/package.json +++ b/packages/inline-dropdown/package.json @@ -16,7 +16,7 @@ "@mui/material": "^7.3.4", "@pie-framework/pie-player-events": "^0.1.0", "@pie-lib/correct-answer-toggle": "4.0.5", - "@pie-lib/mask-markup": "3.0.13", + "@pie-lib/mask-markup": "3.0.14", "@pie-lib/math-rendering": "5.1.0", "@pie-lib/render-ui": "6.1.3", "lodash-es": "^4.17.23", diff --git a/packages/likert/configure/package.json b/packages/likert/configure/package.json index fa1c74acf0..f2479f36da 100644 --- a/packages/likert/configure/package.json +++ b/packages/likert/configure/package.json @@ -12,8 +12,8 @@ "@mui/icons-material": "^7.3.4", "@mui/material": "^7.3.4", "@pie-framework/pie-configure-events": "^1.3.0", - "@pie-lib/config-ui": "13.0.13", - "@pie-lib/editable-html-tip-tap": "2.1.11", + "@pie-lib/config-ui": "13.0.14", + "@pie-lib/editable-html-tip-tap": "2.1.12", "@pie-lib/render-ui": "6.1.3", "debug": "^4.1.1", "prop-types": "^15.8.1", diff --git a/packages/match-list/package.json b/packages/match-list/package.json index ea6dd512af..88c97371e1 100644 --- a/packages/match-list/package.json +++ b/packages/match-list/package.json @@ -19,7 +19,7 @@ "@mui/material": "^7.3.4", "@pie-framework/pie-player-events": "^0.1.0", "@pie-lib/correct-answer-toggle": "4.0.5", - "@pie-lib/drag": "4.0.6", + "@pie-lib/drag": "4.1.0", "@pie-lib/math-rendering": "5.1.0", "@pie-lib/render-ui": "6.1.3", "debug": "^4.1.1", diff --git a/packages/match/configure/package.json b/packages/match/configure/package.json index c2eb4f4ac3..78041968c6 100644 --- a/packages/match/configure/package.json +++ b/packages/match/configure/package.json @@ -13,9 +13,9 @@ "@mui/icons-material": "^7.3.4", "@mui/material": "^7.3.4", "@pie-framework/pie-configure-events": "^1.3.0", - "@pie-lib/config-ui": "13.0.13", - "@pie-lib/drag": "4.0.6", - "@pie-lib/editable-html-tip-tap": "2.1.11", + "@pie-lib/config-ui": "13.0.14", + "@pie-lib/drag": "4.1.0", + "@pie-lib/editable-html-tip-tap": "2.1.12", "@pie-lib/render-ui": "6.1.3", "@pie-lib/test-utils": "2.0.2", "classnames": "^2.2.6", diff --git a/packages/math-inline/configure/package.json b/packages/math-inline/configure/package.json index bc1159a48b..b56d0eb356 100644 --- a/packages/math-inline/configure/package.json +++ b/packages/math-inline/configure/package.json @@ -12,8 +12,8 @@ "@mui/icons-material": "^7.3.4", "@mui/material": "^7.3.4", "@pie-framework/pie-configure-events": "^1.3.0", - "@pie-lib/config-ui": "13.0.13", - "@pie-lib/editable-html-tip-tap": "2.1.11", + "@pie-lib/config-ui": "13.0.14", + "@pie-lib/editable-html-tip-tap": "2.1.12", "@pie-lib/math-input": "8.1.1", "@pie-lib/math-rendering": "5.1.0", "@pie-lib/math-toolbar": "3.0.6", diff --git a/packages/math-templated/configure/package.json b/packages/math-templated/configure/package.json index 1bafdca92e..de3ab14d9e 100644 --- a/packages/math-templated/configure/package.json +++ b/packages/math-templated/configure/package.json @@ -11,8 +11,8 @@ "@mui/icons-material": "^7.3.4", "@mui/material": "^7.3.4", "@pie-framework/pie-configure-events": "^1.3.0", - "@pie-lib/config-ui": "13.0.13", - "@pie-lib/editable-html-tip-tap": "2.1.11", + "@pie-lib/config-ui": "13.0.14", + "@pie-lib/editable-html-tip-tap": "2.1.12", "@pie-lib/math-toolbar": "3.0.6", "@pie-lib/render-ui": "6.1.3", "debug": "^4.1.1", diff --git a/packages/math-templated/package.json b/packages/math-templated/package.json index 765867762b..afeb853a4d 100644 --- a/packages/math-templated/package.json +++ b/packages/math-templated/package.json @@ -13,7 +13,7 @@ "@mui/material": "^7.3.4", "@pie-framework/pie-player-events": "^0.1.0", "@pie-lib/correct-answer-toggle": "4.0.5", - "@pie-lib/mask-markup": "3.0.13", + "@pie-lib/mask-markup": "3.0.14", "@pie-lib/math-input": "8.1.1", "@pie-lib/math-rendering": "5.1.0", "@pie-lib/render-ui": "6.1.3", diff --git a/packages/matrix/configure/package.json b/packages/matrix/configure/package.json index 4ba6838642..f22f9f7d8c 100644 --- a/packages/matrix/configure/package.json +++ b/packages/matrix/configure/package.json @@ -12,8 +12,8 @@ "@mui/icons-material": "^7.3.4", "@mui/material": "^7.3.4", "@pie-framework/pie-configure-events": "^1.3.0", - "@pie-lib/config-ui": "13.0.13", - "@pie-lib/editable-html-tip-tap": "2.1.11", + "@pie-lib/config-ui": "13.0.14", + "@pie-lib/editable-html-tip-tap": "2.1.12", "@pie-lib/render-ui": "6.1.3", "debug": "^4.1.1", "prop-types": "^15.8.1", diff --git a/packages/multi-trait-rubric/configure/package.json b/packages/multi-trait-rubric/configure/package.json index 92de1d7768..55ea50287d 100644 --- a/packages/multi-trait-rubric/configure/package.json +++ b/packages/multi-trait-rubric/configure/package.json @@ -11,9 +11,9 @@ "@mui/icons-material": "^7.3.4", "@mui/material": "^7.3.4", "@pie-framework/pie-configure-events": "^1.3.0", - "@pie-lib/config-ui": "13.0.13", - "@pie-lib/drag": "4.0.6", - "@pie-lib/editable-html-tip-tap": "2.1.11", + "@pie-lib/config-ui": "13.0.14", + "@pie-lib/drag": "4.1.0", + "@pie-lib/editable-html-tip-tap": "2.1.12", "@pie-lib/render-ui": "6.1.3", "debug": "^4.1.1", "lodash-es": "^4.17.23", diff --git a/packages/multiple-choice/configure/package.json b/packages/multiple-choice/configure/package.json index 362dfeb559..2a559970a7 100644 --- a/packages/multiple-choice/configure/package.json +++ b/packages/multiple-choice/configure/package.json @@ -10,8 +10,8 @@ "@mui/icons-material": "^7.3.4", "@mui/material": "^7.3.4", "@pie-framework/pie-configure-events": "^1.3.0", - "@pie-lib/config-ui": "13.0.13", - "@pie-lib/editable-html-tip-tap": "2.1.11", + "@pie-lib/config-ui": "13.0.14", + "@pie-lib/editable-html-tip-tap": "2.1.12", "@pie-lib/render-ui": "6.1.3", "debug": "^4.1.1", "lodash-es": "^4.17.23", diff --git a/packages/number-line/configure/package.json b/packages/number-line/configure/package.json index 8c7d29ff35..d3802cadc4 100644 --- a/packages/number-line/configure/package.json +++ b/packages/number-line/configure/package.json @@ -10,8 +10,8 @@ "@mui/icons-material": "^7.3.4", "@mui/material": "^7.3.4", "@pie-framework/pie-configure-events": "^1.3.0", - "@pie-lib/config-ui": "13.0.13", - "@pie-lib/editable-html-tip-tap": "2.1.11", + "@pie-lib/config-ui": "13.0.14", + "@pie-lib/editable-html-tip-tap": "2.1.12", "@pie-lib/render-ui": "6.1.3", "lodash-es": "^4.17.23", "react": "18.3.1", diff --git a/packages/passage/configure/package.json b/packages/passage/configure/package.json index 0b2c3720b2..043c96e57a 100644 --- a/packages/passage/configure/package.json +++ b/packages/passage/configure/package.json @@ -13,8 +13,8 @@ "@mui/icons-material": "^7.3.4", "@mui/material": "^7.3.4", "@pie-framework/pie-configure-events": "^1.3.0", - "@pie-lib/config-ui": "13.0.13", - "@pie-lib/editable-html-tip-tap": "2.1.11", + "@pie-lib/config-ui": "13.0.14", + "@pie-lib/editable-html-tip-tap": "2.1.12", "lodash-es": "^4.17.23", "prop-types": "^15.8.1", "react": "18.3.1", diff --git a/packages/placement-ordering/configure/package.json b/packages/placement-ordering/configure/package.json index dd136638b2..e34172c2f3 100644 --- a/packages/placement-ordering/configure/package.json +++ b/packages/placement-ordering/configure/package.json @@ -11,9 +11,9 @@ "@mui/icons-material": "^7.3.4", "@mui/material": "^7.3.4", "@pie-framework/pie-configure-events": "^1.3.0", - "@pie-lib/config-ui": "13.0.13", - "@pie-lib/drag": "4.0.6", - "@pie-lib/editable-html-tip-tap": "2.1.11", + "@pie-lib/config-ui": "13.0.14", + "@pie-lib/drag": "4.1.0", + "@pie-lib/editable-html-tip-tap": "2.1.12", "@pie-lib/render-ui": "6.1.3", "debug": "^4.1.1", "lodash-es": "^4.17.23", diff --git a/packages/placement-ordering/package.json b/packages/placement-ordering/package.json index fe70979911..4bc6fba743 100644 --- a/packages/placement-ordering/package.json +++ b/packages/placement-ordering/package.json @@ -15,7 +15,7 @@ "@mui/material": "^7.3.4", "@pie-framework/pie-player-events": "^0.1.0", "@pie-lib/correct-answer-toggle": "4.0.5", - "@pie-lib/drag": "4.0.6", + "@pie-lib/drag": "4.1.0", "@pie-lib/math-rendering": "5.1.0", "@pie-lib/render-ui": "6.1.3", "@pie-lib/translator": "4.0.2", diff --git a/packages/rubric/configure/package.json b/packages/rubric/configure/package.json index ff1e75e963..a5dfd4970a 100644 --- a/packages/rubric/configure/package.json +++ b/packages/rubric/configure/package.json @@ -11,10 +11,10 @@ "@mui/icons-material": "^7.3.4", "@mui/material": "^7.3.4", "@pie-framework/pie-configure-events": "^1.3.0", - "@pie-lib/config-ui": "13.0.13", - "@pie-lib/editable-html-tip-tap": "2.1.11", + "@pie-lib/config-ui": "13.0.14", + "@pie-lib/editable-html-tip-tap": "2.1.12", "@pie-lib/render-ui": "6.1.3", - "@pie-lib/rubric": "2.0.13", + "@pie-lib/rubric": "2.0.14", "debug": "^4.1.1", "react": "18.3.1", "react-dom": "18.3.1" diff --git a/packages/ruler/configure/package.json b/packages/ruler/configure/package.json index 9fc3d13e73..d99b966310 100644 --- a/packages/ruler/configure/package.json +++ b/packages/ruler/configure/package.json @@ -10,7 +10,7 @@ "@mui/icons-material": "^7.3.4", "@mui/material": "^7.3.4", "@pie-framework/pie-configure-events": "^1.3.0", - "@pie-lib/config-ui": "13.0.13" + "@pie-lib/config-ui": "13.0.14" }, "author": "", "license": "ISC" diff --git a/packages/select-text/configure/package.json b/packages/select-text/configure/package.json index c2d37a1941..1f3276b845 100644 --- a/packages/select-text/configure/package.json +++ b/packages/select-text/configure/package.json @@ -11,8 +11,8 @@ "@mui/icons-material": "^7.3.4", "@mui/material": "^7.3.4", "@pie-framework/pie-configure-events": "^1.3.0", - "@pie-lib/config-ui": "13.0.13", - "@pie-lib/editable-html-tip-tap": "2.1.11", + "@pie-lib/config-ui": "13.0.14", + "@pie-lib/editable-html-tip-tap": "2.1.12", "@pie-lib/text-select": "3.0.5", "debug": "^4.1.1", "lodash-es": "^4.17.23", diff --git a/pslb/pslb.config.js b/pslb/pslb.config.js index ad2b2150f0..a9e0b301f3 100644 --- a/pslb/pslb.config.js +++ b/pslb/pslb.config.js @@ -44,12 +44,12 @@ module.exports = { libs: { repository: 'pie-framework/pie-elements', packages: [ - { name: '@pie-lib/drag-module', version: '4.0.17' }, - { name: '@pie-lib/math-rendering-module', version: '5.1.2' }, - { name: '@pie-lib/math-edit-module', version: '4.2.12' }, - { name: '@pie-lib/shared-module', version: '5.2.12' }, - { name: '@pie-lib/editable-html-module', version: '7.1.14' }, - { name: '@pie-lib/config-module', version: '4.0.17' }, + { name: '@pie-lib/drag-module', version: '4.1.0' }, + { name: '@pie-lib/math-rendering-module', version: '5.1.3' }, + { name: '@pie-lib/math-edit-module', version: '4.2.13' }, + { name: '@pie-lib/shared-module', version: '5.2.13' }, + { name: '@pie-lib/editable-html-module', version: '7.1.15' }, + { name: '@pie-lib/config-module', version: '4.0.18' }, ], }, }; diff --git a/yarn.lock b/yarn.lock index 1725e51c33..aef0c2ef56 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2855,10 +2855,10 @@ debug "^4.1.1" lodash-es "^4.17.23" -"@pie-lib/charting@7.0.13": - version "7.0.13" - resolved "https://registry.yarnpkg.com/@pie-lib/charting/-/charting-7.0.13.tgz#fc3e5674c914233c7fc033b307c64aaa6f4e6153" - integrity sha512-W77Fq005L1aEJ9n/JCBdC22fX8AVqLQeEyLnpF1rza8zdziRoNuwVRPkRcCiWGeURgzpxG/PvxcQPjJJ84F5Mg== +"@pie-lib/charting@7.0.14": + version "7.0.14" + resolved "https://registry.yarnpkg.com/@pie-lib/charting/-/charting-7.0.14.tgz#17a470e395d800da42ce923fb0bce2f27adec239" + integrity sha512-woGswgWvEbwU9CNryL64lZRDxvtRcPtRRhh2HRykzmIrlGPJIbybidPKSJbLbl8VuhZy7Po3J4ZVTnYRGkSttw== dependencies: "@emotion/react" "^11.14.0" "@emotion/styled" "^11.14.1" @@ -2866,7 +2866,7 @@ "@mui/icons-material" "^7.3.4" "@mui/material" "^7.3.4" "@pie-lib/math-rendering" "^5.1.0" - "@pie-lib/plot" "^4.0.13" + "@pie-lib/plot" "^4.0.14" "@pie-lib/render-ui" "^6.1.3" "@pie-lib/translator" "^4.0.2" "@visx/axis" "^3.0.0" @@ -2886,16 +2886,16 @@ react-draggable "^3.3.0" react-input-autosize "^2.2.1" -"@pie-lib/config-ui@13.0.13": - version "13.0.13" - resolved "https://registry.yarnpkg.com/@pie-lib/config-ui/-/config-ui-13.0.13.tgz#b3a0ece3b594345f5d2dc1224f323e3c92c0f7b0" - integrity sha512-a+pWxMbNJdSpsARqbA8wW5KJ7f15PQ/VQak/LsB+BNsPzeF1v9O8GWxRUOVvTQMWiZTYxOJXz4xBfDQpHmeMMg== +"@pie-lib/config-ui@13.0.14": + version "13.0.14" + resolved "https://registry.yarnpkg.com/@pie-lib/config-ui/-/config-ui-13.0.14.tgz#7b35992df0090a1fe232a38e6e4c501950423d9b" + integrity sha512-qZIYX04OMX2RRbxfR/+Zw7XuKoX0m53nfDjgVaAtlto3HrFozKuHR8ugtafS7wa1A+lMsffUF7ISSV2shQ0eGw== dependencies: "@emotion/react" "^11.14.0" "@emotion/styled" "^11.14.1" "@mui/icons-material" "^7.3.4" "@mui/material" "^7.3.4" - "@pie-lib/editable-html-tip-tap" "^2.1.11" + "@pie-lib/editable-html-tip-tap" "^2.1.12" "@pie-lib/icons" "^4.0.3" "@pie-lib/render-ui" "^6.1.3" assert "^1.4.1" @@ -2929,10 +2929,10 @@ prop-types "^15.6.2" react-transition-group "^4.4.5" -"@pie-lib/drag@4.0.6", "@pie-lib/drag@^4.0.6": - version "4.0.6" - resolved "https://registry.yarnpkg.com/@pie-lib/drag/-/drag-4.0.6.tgz#4331896d4c4a29c674b5eded4faf3152b889ee20" - integrity sha512-mKHYr8x29M7l2fOL6NEqNw1OkFCjCW0HQYs0Yhv3qAYFXO+FKD0/a/dsRpr5pC8HO5qtQN5Rnj0iVARV6RslMQ== +"@pie-lib/drag@4.1.0", "@pie-lib/drag@^4.1.0": + version "4.1.0" + resolved "https://registry.yarnpkg.com/@pie-lib/drag/-/drag-4.1.0.tgz#3bb3db087db274e5ecb4c1c6da433cf9b62429bb" + integrity sha512-biRdFe90DMsNTHxmrbcRt8C1nmuITBCehkvHXNu7TDjf37b5iNphVAi+MFy86pcZDd9gBlFfE/zYVgQgagfHHQ== dependencies: "@dnd-kit/core" "6.3.1" "@dnd-kit/sortable" "10.0.0" @@ -2948,17 +2948,17 @@ prop-types "^15.7.2" react "^18.2.0" -"@pie-lib/editable-html-tip-tap@2.1.11", "@pie-lib/editable-html-tip-tap@^2.1.11": - version "2.1.11" - resolved "https://registry.yarnpkg.com/@pie-lib/editable-html-tip-tap/-/editable-html-tip-tap-2.1.11.tgz#dec950d7a010bbf5497013a6d1c3732f6cdd16a5" - integrity sha512-TQ/IFP5YPBHvTkfUWjFgQ8h9get88HJXspbdzoY2FVi6JVzgFANdAgzy3l5bbEPX5imsYqTE3msyn2lJmbr4hQ== +"@pie-lib/editable-html-tip-tap@2.1.12", "@pie-lib/editable-html-tip-tap@^2.1.12": + version "2.1.12" + resolved "https://registry.yarnpkg.com/@pie-lib/editable-html-tip-tap/-/editable-html-tip-tap-2.1.12.tgz#084b93d1b84e88e054eeb448cf54c27e9e394810" + integrity sha512-dROJnr6uUoekSb6bwISiOS57uFxuHNlcDtNIsi17W77FmYQkQiqwYNZ0WSMr+cpziHzF234PboThjoNTXFzc1Q== dependencies: "@dnd-kit/core" "6.3.1" "@dnd-kit/modifiers" "9.0.0" "@dnd-kit/utilities" "3.2.2" "@mui/icons-material" "^7.3.4" "@mui/material" "^7.3.4" - "@pie-lib/drag" "^4.0.6" + "@pie-lib/drag" "^4.1.0" "@pie-lib/math-input" "^8.1.1" "@pie-lib/math-rendering" "^5.1.0" "@pie-lib/math-toolbar" "^3.0.6" @@ -2993,10 +2993,10 @@ tippy.js latest to-style "^1.3.3" -"@pie-lib/editable-html@13.0.8": - version "13.0.8" - resolved "https://registry.yarnpkg.com/@pie-lib/editable-html/-/editable-html-13.0.8.tgz#d80bc88c6d204977245e7179d7ec868c55cd783b" - integrity sha512-xoWkS4I8xEiMuC9rUzOjd29ye3sKffE7aldtEGLMrXwMaIjvrHGlEAYD39rveC6wnsa2Y8qP3s1N2930zTLNhQ== +"@pie-lib/editable-html@13.0.9": + version "13.0.9" + resolved "https://registry.yarnpkg.com/@pie-lib/editable-html/-/editable-html-13.0.9.tgz#23a9f5af66733806b0e8b1bdd742c804e75dc797" + integrity sha512-ZmhgiV1Fufb29Z/2QdknWte7p49rDKgOorwQW1DSHJFFQLdL0q7EvHQKZywGUzMTwcdojVFUSpSiyehKXMK/nw== dependencies: "@dnd-kit/core" "6.3.1" "@dnd-kit/modifiers" "9.0.0" @@ -3005,7 +3005,7 @@ "@emotion/styled" "^11.14.1" "@mui/icons-material" "^7.3.4" "@mui/material" "^7.3.4" - "@pie-lib/drag" "^4.0.6" + "@pie-lib/drag" "^4.1.0" "@pie-lib/math-input" "^8.1.1" "@pie-lib/math-rendering" "^5.1.0" "@pie-lib/math-toolbar" "^3.0.6" @@ -3035,10 +3035,10 @@ resolved "https://registry.yarnpkg.com/@pie-lib/feedback/-/feedback-2.0.2.tgz#897e249ba78f8203aa39d75bd46b59e499b8e773" integrity sha512-y7NKifptZJJUb5eynFz+ppai4XoeOjlowSh6BrIrvghEshGkoX+O4EYzQCXcSlFuyOjjiuYaHd/OzNuifaYG5Q== -"@pie-lib/graphing-solution-set@4.0.13": - version "4.0.13" - resolved "https://registry.yarnpkg.com/@pie-lib/graphing-solution-set/-/graphing-solution-set-4.0.13.tgz#c2fd76fece1e65132bfd25a4b6960deed3eebae0" - integrity sha512-Q7UDcJUiVTNdlq043fC9aspaHTImU9F1CqAX/fjXG4/15QgR9BpPSI/hu5hPGViPDK8W2ZGirHyeRbnK2MtDBw== +"@pie-lib/graphing-solution-set@4.0.14": + version "4.0.14" + resolved "https://registry.yarnpkg.com/@pie-lib/graphing-solution-set/-/graphing-solution-set-4.0.14.tgz#79bff42a3d805b712d770ee35184f6e0474395a1" + integrity sha512-Vc4H7UZi8Ky8GJXOSg1H7fJykVJIaHm3RhBDhQAVzlOowNcOuV9UnWCJUJgoNOefnacKkMZEOHiT8ldbRHas+A== dependencies: "@dnd-kit/sortable" "10.0.0" "@emotion/react" "^11.14.0" @@ -3046,10 +3046,10 @@ "@mapbox/point-geometry" "^1.1.0" "@mui/icons-material" "^7.3.4" "@mui/material" "^7.3.4" - "@pie-lib/drag" "^4.0.6" - "@pie-lib/editable-html-tip-tap" "^2.1.11" + "@pie-lib/drag" "^4.1.0" + "@pie-lib/editable-html-tip-tap" "^2.1.12" "@pie-lib/graphing-utils" "^3.0.2" - "@pie-lib/plot" "^4.0.13" + "@pie-lib/plot" "^4.0.14" "@pie-lib/render-ui" "^6.1.3" "@pie-lib/tools" "^2.0.3" "@pie-lib/translator" "^4.0.2" @@ -3085,10 +3085,10 @@ debug "^4.1.1" lodash-es "^4.17.23" -"@pie-lib/graphing@4.0.14": - version "4.0.14" - resolved "https://registry.yarnpkg.com/@pie-lib/graphing/-/graphing-4.0.14.tgz#1783672a5321f9afeeec2d5c0a6ef18d6905fd2b" - integrity sha512-aTCi+BaqP9fbaPYZ/JjVMGpIr0upY5uts7E4WSjoC1dmklhCWyKk0I/q4RNIMU1q0WnN4gTh0g7i8q8yK+hKCQ== +"@pie-lib/graphing@4.0.15": + version "4.0.15" + resolved "https://registry.yarnpkg.com/@pie-lib/graphing/-/graphing-4.0.15.tgz#cdfef38e6df5eea9dae396d18cf8ff5180ffdf9c" + integrity sha512-qQum9xWQGelJaw2pz2VS8mYS2g1P96doKXO+2O7ujA29aI9cQ28NDLDgb7Pp7qBOVAq6R7XW5gyJtZu+8BIPdw== dependencies: "@dnd-kit/sortable" "10.0.0" "@emotion/react" "^11.14.0" @@ -3096,10 +3096,10 @@ "@mapbox/point-geometry" "^1.1.0" "@mui/icons-material" "^7.3.4" "@mui/material" "^7.3.4" - "@pie-lib/drag" "^4.0.6" - "@pie-lib/editable-html-tip-tap" "^2.1.11" + "@pie-lib/drag" "^4.1.0" + "@pie-lib/editable-html-tip-tap" "^2.1.12" "@pie-lib/graphing-utils" "^3.0.2" - "@pie-lib/plot" "^4.0.13" + "@pie-lib/plot" "^4.0.14" "@pie-lib/render-ui" "^6.1.3" "@pie-lib/translator" "^4.0.2" "@visx/axis" "^3.0.0" @@ -3136,17 +3136,17 @@ "@mui/material" "^7.3.4" prop-types "^15.6.2" -"@pie-lib/mask-markup@3.0.13": - version "3.0.13" - resolved "https://registry.yarnpkg.com/@pie-lib/mask-markup/-/mask-markup-3.0.13.tgz#18ee21ed1200849d9855ce4bce39a34d34d0add9" - integrity sha512-TJgvJq70gn6Jxg4C064cA+djXkEmlYLLaEuhytoBnPUjOT69YETLmC3Xos0ttRV2KGPxleSR/vvBDpMR5FF8Ew== +"@pie-lib/mask-markup@3.0.14": + version "3.0.14" + resolved "https://registry.yarnpkg.com/@pie-lib/mask-markup/-/mask-markup-3.0.14.tgz#d1804df2b366100b7670357d1e470db614529e55" + integrity sha512-zcLSkqkPESsPX6OGRLNImw1GOkv2U8PyNOBnSV5SH/JsF1dl7sC5jn919ZjeMWTLIBWyQXKqlrXVC8Noy/XL1w== dependencies: "@emotion/react" "^11.14.0" "@emotion/styled" "^11.14.1" "@mui/icons-material" "^7.3.4" "@mui/material" "^7.3.4" - "@pie-lib/drag" "^4.0.6" - "@pie-lib/editable-html-tip-tap" "^2.1.11" + "@pie-lib/drag" "^4.1.0" + "@pie-lib/editable-html-tip-tap" "^2.1.12" "@pie-lib/math-rendering" "^5.1.0" "@pie-lib/render-ui" "^6.1.3" classnames "^2.2.6" @@ -3220,17 +3220,17 @@ lodash-es "^4.17.23" prop-types "^15.7.2" -"@pie-lib/plot@4.0.13", "@pie-lib/plot@^4.0.13": - version "4.0.13" - resolved "https://registry.yarnpkg.com/@pie-lib/plot/-/plot-4.0.13.tgz#52daf03261fbb7e4ea09d0e5fd041492dcadf0f5" - integrity sha512-Eg3ZM1+yxv14vg7omDhS7moQbd5VcdxHK3KNYFTOXqMbPIlpeNjwmbiaBpqcZ29ZtenMKmdzTcwb5jotRnv15A== +"@pie-lib/plot@4.0.14", "@pie-lib/plot@^4.0.14": + version "4.0.14" + resolved "https://registry.yarnpkg.com/@pie-lib/plot/-/plot-4.0.14.tgz#cca5763a512b8d9187847fc396970948a703fea9" + integrity sha512-akMfWbdnQovEXhBDTksRQDbS9TxLfw419rmsSGPUssIkGrNOng48+y4KbHAWa/lXBE7aYjIVoICrbfRgK/OcBQ== dependencies: "@emotion/react" "^11.14.0" "@emotion/styled" "^11.14.1" "@mapbox/point-geometry" "^1.1.0" "@mui/icons-material" "^7.3.4" "@mui/material" "^7.3.4" - "@pie-lib/editable-html-tip-tap" "^2.1.11" + "@pie-lib/editable-html-tip-tap" "^2.1.12" "@pie-lib/render-ui" "^6.1.3" assert "^1.4.1" d3-scale "^4.0.2" @@ -3261,17 +3261,17 @@ prop-types "^15.7.2" react-transition-group "^4.4.5" -"@pie-lib/rubric@2.0.13": - version "2.0.13" - resolved "https://registry.yarnpkg.com/@pie-lib/rubric/-/rubric-2.0.13.tgz#c8f005ebed06a6013a3923965ad502d30dc3e107" - integrity sha512-aO36r736gZ3Qp74H2O2dtFmCIw/lvZhSc0/fttMSFLypoeE5N+BiiqI9oGAJ2rSbzlDjvar5nWqyT1cMfKEnUg== +"@pie-lib/rubric@2.0.14": + version "2.0.14" + resolved "https://registry.yarnpkg.com/@pie-lib/rubric/-/rubric-2.0.14.tgz#c6989195feb340896f74ad601f8470ae762053ce" + integrity sha512-Rt8W/ibL8B+4bO7LqfAJywC1HloIgtJXIQ5X+dACZpK+KDkK1KazSuNGgyEv9kXxH9la6rgyNAxxfz+I9f4W4A== dependencies: "@emotion/react" "^11.14.0" "@emotion/styled" "^11.14.1" "@hello-pangea/dnd" "^18.0.1" "@mui/icons-material" "^7.3.4" "@mui/material" "^7.3.4" - "@pie-lib/editable-html-tip-tap" "^2.1.11" + "@pie-lib/editable-html-tip-tap" "^2.1.12" debug "^4.1.1" lodash-es "^4.17.23" prop-types "^15.7.2"