From b11e59387207112b776f9a3bfe8fd29d45edf1c0 Mon Sep 17 00:00:00 2001 From: electrovir Date: Wed, 17 Apr 2024 01:45:32 +0000 Subject: [PATCH] [patch] update deps --- package-lock.json | 480 ++++++++++-------- package.json | 4 +- packages/element-book-example/package.json | 6 +- packages/element-book/package.json | 14 +- .../{create-book-router.ts => book-router.ts} | 21 +- .../element-book/src/routing/book-routing.ts | 11 +- .../ui/elements/book-breadcrumbs.element.ts | 5 +- .../ui/elements/book-nav/book-nav.element.ts | 3 +- .../common/book-route-link.element.ts | 12 +- .../element-book-app.element.ts | 11 +- .../book-breadcrumbs-bar.element.ts | 12 +- .../book-page/book-page-wrapper.element.ts | 7 +- .../book-element-example-controls.element.ts | 7 +- .../book-element-example-viewer.element.ts | 2 - .../book-element-example-wrapper.element.ts | 2 +- .../book-entry-display.element.ts | 3 +- .../entry-display/create-node-templates.ts | 2 +- packages/element-vir-example/package.json | 6 +- packages/element-vir/package.json | 16 +- packages/scripts/package.json | 6 +- packages/theme-vir/package.json | 6 +- packages/vira-book/package.json | 8 +- .../entries/vira-link.element.book.ts | 5 +- packages/vira/package.json | 12 +- .../vira/src/elements/vira-link.element.ts | 51 +- 25 files changed, 372 insertions(+), 340 deletions(-) rename packages/element-book/src/routing/{create-book-router.ts => book-router.ts} (59%) diff --git a/package-lock.json b/package-lock.json index 797b052b..fda3cdbe 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,19 +1,19 @@ { "name": "@electrovir/element-vir-mono-repo", - "version": "22.1.1", + "version": "22.1.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@electrovir/element-vir-mono-repo", - "version": "22.1.1", + "version": "22.1.2", "license": "(MIT or CC0 1.0)", "workspaces": [ "packages/*" ], "devDependencies": { "cspell": "^8.7.0", - "dependency-cruiser": "^16.3.0", + "dependency-cruiser": "^16.3.1", "esbuild": "^0.20.2", "html-spec-tags": "^2.2.0", "npm-check-updates": "~16.12.3", @@ -67,11 +67,11 @@ } }, "node_modules/@augment-vir/browser": { - "version": "26.3.2", - "resolved": "https://registry.npmjs.org/@augment-vir/browser/-/browser-26.3.2.tgz", - "integrity": "sha512-ArD9fH/9x/KpJ1ORGv5o1R4Ejn1/CFqj7+s0lfN9kMyhxdxJ+u8VnKhMWV01LLI82DCNJ1VePbeDXiNuO59Ukg==", + "version": "26.3.3", + "resolved": "https://registry.npmjs.org/@augment-vir/browser/-/browser-26.3.3.tgz", + "integrity": "sha512-vuhwkXu633XquCBmimo42EOFwYkj9ePY52i1iOlzQXjLXYud22wJ3IqtaSpZrKq3MOuA+TMJzBay01JPwJuDPw==", "dependencies": { - "@augment-vir/common": "^26.3.2", + "@augment-vir/common": "^26.3.3", "html-spec-tags": "^2.2.0", "run-time-assertions": "^1.0.0" }, @@ -80,13 +80,13 @@ } }, "node_modules/@augment-vir/browser-testing": { - "version": "26.3.2", - "resolved": "https://registry.npmjs.org/@augment-vir/browser-testing/-/browser-testing-26.3.2.tgz", - "integrity": "sha512-fj+McYurHpTXh/MGhsJ1MDY9WTInK1lmIOIxbbNdoCgj4Fq/rhJw1q0G2+D0zEfHz/10X8b+IYHsfA/C/0HAfA==", + "version": "26.3.3", + "resolved": "https://registry.npmjs.org/@augment-vir/browser-testing/-/browser-testing-26.3.3.tgz", + "integrity": "sha512-gwk0TkR509G/gXuoUAPVxr4W3XjH6xcnWjJTspeO+af88uPkwcU8Gd5sFBk9KZ2stGh2FI3zViyKrZWxS+I4RQ==", "dev": true, "dependencies": { - "@augment-vir/common": "^26.3.2", - "@augment-vir/testing": "^26.3.2", + "@augment-vir/common": "^26.3.3", + "@augment-vir/testing": "^26.3.3", "@open-wc/testing": "^4.0.0", "@types/mocha": "^10.0.6", "@web/test-runner-commands": "^0.9.0", @@ -94,9 +94,9 @@ } }, "node_modules/@augment-vir/browser-testing/node_modules/@augment-vir/common": { - "version": "26.3.2", - "resolved": "https://registry.npmjs.org/@augment-vir/common/-/common-26.3.2.tgz", - "integrity": "sha512-1hX1tpdACN1pTI/1L87BNN+J5jfPWUHM5+c7ay6IWqBlJsH0Y+Tm9j7UfbXcexMk2yJHjubm+svekTszKZC7zw==", + "version": "26.3.3", + "resolved": "https://registry.npmjs.org/@augment-vir/common/-/common-26.3.3.tgz", + "integrity": "sha512-8GhlvzDwDnIleowRy812mwB5JCcO9HxdkK/HqfA9MsXd2YhGicnNDblJ+RlWE/rPevYxVDAtHzSyiNUa48LoJg==", "dev": true, "dependencies": { "browser-or-node": "^2.1.1", @@ -105,9 +105,9 @@ } }, "node_modules/@augment-vir/browser/node_modules/@augment-vir/common": { - "version": "26.3.2", - "resolved": "https://registry.npmjs.org/@augment-vir/common/-/common-26.3.2.tgz", - "integrity": "sha512-1hX1tpdACN1pTI/1L87BNN+J5jfPWUHM5+c7ay6IWqBlJsH0Y+Tm9j7UfbXcexMk2yJHjubm+svekTszKZC7zw==", + "version": "26.3.3", + "resolved": "https://registry.npmjs.org/@augment-vir/common/-/common-26.3.3.tgz", + "integrity": "sha512-8GhlvzDwDnIleowRy812mwB5JCcO9HxdkK/HqfA9MsXd2YhGicnNDblJ+RlWE/rPevYxVDAtHzSyiNUa48LoJg==", "dependencies": { "browser-or-node": "^2.1.1", "run-time-assertions": "^1.0.0", @@ -125,11 +125,11 @@ } }, "node_modules/@augment-vir/node-js": { - "version": "26.3.2", - "resolved": "https://registry.npmjs.org/@augment-vir/node-js/-/node-js-26.3.2.tgz", - "integrity": "sha512-DVusNUQUgOn8AfE3vuGpvlOKPtuLTpgTpqtYpojuQUbmLPxyk/thU8MzoZ8NLsSTU/MM4AvT83b8/SKQC322UA==", + "version": "26.3.3", + "resolved": "https://registry.npmjs.org/@augment-vir/node-js/-/node-js-26.3.3.tgz", + "integrity": "sha512-6AKMYo+xvEYF9QLccgOs4bj2+PbrYamBETF0I5i5KhdP4lzBVlIKNdxeoOSrjTfHz6IWuhbFTDsqh1hHqq7smA==", "dependencies": { - "@augment-vir/common": "^26.3.2", + "@augment-vir/common": "^26.3.3", "ansi-colors": "^4.1.3", "axios": "^1.6.8", "fs-extra": "^11.2.0", @@ -139,9 +139,9 @@ } }, "node_modules/@augment-vir/node-js/node_modules/@augment-vir/common": { - "version": "26.3.2", - "resolved": "https://registry.npmjs.org/@augment-vir/common/-/common-26.3.2.tgz", - "integrity": "sha512-1hX1tpdACN1pTI/1L87BNN+J5jfPWUHM5+c7ay6IWqBlJsH0Y+Tm9j7UfbXcexMk2yJHjubm+svekTszKZC7zw==", + "version": "26.3.3", + "resolved": "https://registry.npmjs.org/@augment-vir/common/-/common-26.3.3.tgz", + "integrity": "sha512-8GhlvzDwDnIleowRy812mwB5JCcO9HxdkK/HqfA9MsXd2YhGicnNDblJ+RlWE/rPevYxVDAtHzSyiNUa48LoJg==", "dependencies": { "browser-or-node": "^2.1.1", "run-time-assertions": "^1.0.0", @@ -149,20 +149,20 @@ } }, "node_modules/@augment-vir/testing": { - "version": "26.3.2", - "resolved": "https://registry.npmjs.org/@augment-vir/testing/-/testing-26.3.2.tgz", - "integrity": "sha512-CXah4PlavSmoiegxTkgLUppyYKsrdlUATbLQng+Q7QMhkyM0UGGYH9GbYMFXnN6P6vn7CNQ+3ompguzRVlEFeQ==", + "version": "26.3.3", + "resolved": "https://registry.npmjs.org/@augment-vir/testing/-/testing-26.3.3.tgz", + "integrity": "sha512-jR+rqMCd+wUbG5YRuk7RJj35T8Oj9TcOYk0Uv71mwcV2xfc+4GIyT9Aw6YBU4aCReriAbWCAG+7oTcBHGv/tCg==", "dev": true, "dependencies": { - "@augment-vir/common": "^26.3.2", + "@augment-vir/common": "^26.3.3", "expect-type": "^0.15.0", "type-fest": "^4.12.0" } }, "node_modules/@augment-vir/testing/node_modules/@augment-vir/common": { - "version": "26.3.2", - "resolved": "https://registry.npmjs.org/@augment-vir/common/-/common-26.3.2.tgz", - "integrity": "sha512-1hX1tpdACN1pTI/1L87BNN+J5jfPWUHM5+c7ay6IWqBlJsH0Y+Tm9j7UfbXcexMk2yJHjubm+svekTszKZC7zw==", + "version": "26.3.3", + "resolved": "https://registry.npmjs.org/@augment-vir/common/-/common-26.3.3.tgz", + "integrity": "sha512-8GhlvzDwDnIleowRy812mwB5JCcO9HxdkK/HqfA9MsXd2YhGicnNDblJ+RlWE/rPevYxVDAtHzSyiNUa48LoJg==", "dev": true, "dependencies": { "browser-or-node": "^2.1.1", @@ -805,9 +805,9 @@ "dev": true }, "node_modules/@cspell/dict-en_us": { - "version": "4.3.18", - "resolved": "https://registry.npmjs.org/@cspell/dict-en_us/-/dict-en_us-4.3.18.tgz", - "integrity": "sha512-D8jGT7Zi3+e8zIpT0NqGKvvzehcvUETFlOA0NxcRStkw7H7mgouHxKFU+u7t3tvCoGNwh2gwjCqZQlK8ZXwQHw==", + "version": "4.3.19", + "resolved": "https://registry.npmjs.org/@cspell/dict-en_us/-/dict-en_us-4.3.19.tgz", + "integrity": "sha512-tHcXdkmm0t9LlRct1vgu3+h0KW/wlXCInkTiR4D/rl730q1zu2qVEgiy1saMiTUSNmdu7Hiy+Mhb+1braVqnZQ==", "dev": true }, "node_modules/@cspell/dict-en-common-misspellings": { @@ -994,9 +994,9 @@ "dev": true }, "node_modules/@cspell/dict-software-terms": { - "version": "3.3.18", - "resolved": "https://registry.npmjs.org/@cspell/dict-software-terms/-/dict-software-terms-3.3.18.tgz", - "integrity": "sha512-LJZGGMGqS8KzgXJrSMs3T+6GoqHG9z8Bc+rqLzLzbtoR3FbsMasE9U8oP2PmS3q7jJLFjQkzmg508DrcuZuo2g==", + "version": "3.3.19", + "resolved": "https://registry.npmjs.org/@cspell/dict-software-terms/-/dict-software-terms-3.3.19.tgz", + "integrity": "sha512-nNQiwhXUe+vEBzOpvi2sVycOLrVJw2bNtwRum1Ya1w74nOKgciCE21UU9fkPGA6p45bU9qmwtPoYccMlHsGMSg==", "dev": true }, "node_modules/@cspell/dict-sql": { @@ -2123,9 +2123,9 @@ } }, "node_modules/@puppeteer/browsers": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-2.2.1.tgz", - "integrity": "sha512-QSXujx4d4ogDamQA8ckkkRieFzDgZEuZuGiey9G7CuDcbnX4iINKWxTPC5Br2AEzY9ICAvcndqgAUFMMKnS/Tw==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-2.2.2.tgz", + "integrity": "sha512-hZ/JhxPIceWaGSEzUZp83/8M49CoxlkuThfTR7t4AoCu5+ZvJ3vktLm60Otww2TXeROB5igiZ8D9oPQh6ckBVg==", "dev": true, "dependencies": { "debug": "4.3.4", @@ -2292,9 +2292,9 @@ } }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.14.2.tgz", - "integrity": "sha512-ahxSgCkAEk+P/AVO0vYr7DxOD3CwAQrT0Go9BJyGQ9Ef0QxVOfjDZMiF4Y2s3mLyPrjonchIMH/tbWHucJMykQ==", + "version": "4.14.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.14.3.tgz", + "integrity": "sha512-X9alQ3XM6I9IlSlmC8ddAvMSyG1WuHk5oUnXGw+yUBs3BFoTizmG1La/Gr8fVJvDWAq+zlYTZ9DBgrlKRVY06g==", "cpu": [ "arm" ], @@ -2305,9 +2305,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.14.2.tgz", - "integrity": "sha512-lAarIdxZWbFSHFSDao9+I/F5jDaKyCqAPMq5HqnfpBw8dKDiCaaqM0lq5h1pQTLeIqueeay4PieGR5jGZMWprw==", + "version": "4.14.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.14.3.tgz", + "integrity": "sha512-eQK5JIi+POhFpzk+LnjKIy4Ks+pwJ+NXmPxOCSvOKSNRPONzKuUvWE+P9JxGZVxrtzm6BAYMaL50FFuPe0oWMQ==", "cpu": [ "arm64" ], @@ -2318,9 +2318,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.14.2.tgz", - "integrity": "sha512-SWsr8zEUk82KSqquIMgZEg2GE5mCSfr9sE/thDROkX6pb3QQWPp8Vw8zOq2GyxZ2t0XoSIUlvHDkrf5Gmf7x3Q==", + "version": "4.14.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.14.3.tgz", + "integrity": "sha512-Od4vE6f6CTT53yM1jgcLqNfItTsLt5zE46fdPaEmeFHvPs5SjZYlLpHrSiHEKR1+HdRfxuzXHjDOIxQyC3ptBA==", "cpu": [ "arm64" ], @@ -2331,9 +2331,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.14.2.tgz", - "integrity": "sha512-o/HAIrQq0jIxJAhgtIvV5FWviYK4WB0WwV91SLUnsliw1lSAoLsmgEEgRWzDguAFeUEUUoIWXiJrPqU7vGiVkA==", + "version": "4.14.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.14.3.tgz", + "integrity": "sha512-0IMAO21axJeNIrvS9lSe/PGthc8ZUS+zC53O0VhF5gMxfmcKAP4ESkKOCwEi6u2asUrt4mQv2rjY8QseIEb1aw==", "cpu": [ "x64" ], @@ -2344,9 +2344,22 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.14.2.tgz", - "integrity": "sha512-nwlJ65UY9eGq91cBi6VyDfArUJSKOYt5dJQBq8xyLhvS23qO+4Nr/RreibFHjP6t+5ap2ohZrUJcHv5zk5ju/g==", + "version": "4.14.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.14.3.tgz", + "integrity": "sha512-ge2DC7tHRHa3caVEoSbPRJpq7azhG+xYsd6u2MEnJ6XzPSzQsTKyXvh6iWjXRf7Rt9ykIUWHtl0Uz3T6yXPpKw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.14.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.14.3.tgz", + "integrity": "sha512-ljcuiDI4V3ySuc7eSk4lQ9wU8J8r8KrOUvB2U+TtK0TiW6OFDmJ+DdIjjwZHIw9CNxzbmXY39wwpzYuFDwNXuw==", "cpu": [ "arm" ], @@ -2357,9 +2370,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.14.2.tgz", - "integrity": "sha512-Pg5TxxO2IVlMj79+c/9G0LREC9SY3HM+pfAwX7zj5/cAuwrbfj2Wv9JbMHIdPCfQpYsI4g9mE+2Bw/3aeSs2rQ==", + "version": "4.14.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.14.3.tgz", + "integrity": "sha512-Eci2us9VTHm1eSyn5/eEpaC7eP/mp5n46gTRB3Aar3BgSvDQGJZuicyq6TsH4HngNBgVqC5sDYxOzTExSU+NjA==", "cpu": [ "arm64" ], @@ -2370,9 +2383,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.14.2.tgz", - "integrity": "sha512-cAOTjGNm84gc6tS02D1EXtG7tDRsVSDTBVXOLbj31DkwfZwgTPYZ6aafSU7rD/4R2a34JOwlF9fQayuTSkoclA==", + "version": "4.14.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.14.3.tgz", + "integrity": "sha512-UrBoMLCq4E92/LCqlh+blpqMz5h1tJttPIniwUgOFJyjWI1qrtrDhhpHPuFxULlUmjFHfloWdixtDhSxJt5iKw==", "cpu": [ "arm64" ], @@ -2383,9 +2396,9 @@ ] }, "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.14.2.tgz", - "integrity": "sha512-4RyT6v1kXb7C0fn6zV33rvaX05P0zHoNzaXI/5oFHklfKm602j+N4mn2YvoezQViRLPnxP8M1NaY4s/5kXO5cw==", + "version": "4.14.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.14.3.tgz", + "integrity": "sha512-5aRjvsS8q1nWN8AoRfrq5+9IflC3P1leMoy4r2WjXyFqf3qcqsxRCfxtZIV58tCxd+Yv7WELPcO9mY9aeQyAmw==", "cpu": [ "ppc64" ], @@ -2396,9 +2409,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.14.2.tgz", - "integrity": "sha512-KNUH6jC/vRGAKSorySTyc/yRYlCwN/5pnMjXylfBniwtJx5O7X17KG/0efj8XM3TZU7raYRXJFFReOzNmL1n1w==", + "version": "4.14.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.14.3.tgz", + "integrity": "sha512-sk/Qh1j2/RJSX7FhEpJn8n0ndxy/uf0kI/9Zc4b1ELhqULVdTfN6HL31CDaTChiBAOgLcsJ1sgVZjWv8XNEsAQ==", "cpu": [ "riscv64" ], @@ -2409,9 +2422,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.14.2.tgz", - "integrity": "sha512-xPV4y73IBEXToNPa3h5lbgXOi/v0NcvKxU0xejiFw6DtIYQqOTMhZ2DN18/HrrP0PmiL3rGtRG9gz1QE8vFKXQ==", + "version": "4.14.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.14.3.tgz", + "integrity": "sha512-jOO/PEaDitOmY9TgkxF/TQIjXySQe5KVYB57H/8LRP/ux0ZoO8cSHCX17asMSv3ruwslXW/TLBcxyaUzGRHcqg==", "cpu": [ "s390x" ], @@ -2422,9 +2435,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.14.2.tgz", - "integrity": "sha512-QBhtr07iFGmF9egrPOWyO5wciwgtzKkYPNLVCFZTmr4TWmY0oY2Dm/bmhHjKRwZoGiaKdNcKhFtUMBKvlchH+Q==", + "version": "4.14.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.14.3.tgz", + "integrity": "sha512-8ybV4Xjy59xLMyWo3GCfEGqtKV5M5gCSrZlxkPGvEPCGDLNla7v48S662HSGwRd6/2cSneMQWiv+QzcttLrrOA==", "cpu": [ "x64" ], @@ -2435,9 +2448,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.14.2.tgz", - "integrity": "sha512-8zfsQRQGH23O6qazZSFY5jP5gt4cFvRuKTpuBsC1ZnSWxV8ZKQpPqOZIUtdfMOugCcBvFGRa1pDC/tkf19EgBw==", + "version": "4.14.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.14.3.tgz", + "integrity": "sha512-s+xf1I46trOY10OqAtZ5Rm6lzHre/UiLA1J2uOhCFXWkbZrJRkYBPO6FhvGfHmdtQ3Bx793MNa7LvoWFAm93bg==", "cpu": [ "x64" ], @@ -2448,9 +2461,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.14.2.tgz", - "integrity": "sha512-H4s8UjgkPnlChl6JF5empNvFHp77Jx+Wfy2EtmYPe9G22XV+PMuCinZVHurNe8ggtwoaohxARJZbaH/3xjB/FA==", + "version": "4.14.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.14.3.tgz", + "integrity": "sha512-+4h2WrGOYsOumDQ5S2sYNyhVfrue+9tc9XcLWLh+Kw3UOxAvrfOrSMFon60KspcDdytkNDh7K2Vs6eMaYImAZg==", "cpu": [ "arm64" ], @@ -2461,9 +2474,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.14.2.tgz", - "integrity": "sha512-djqpAjm/i8erWYF0K6UY4kRO3X5+T4TypIqw60Q8MTqSBaQNpNXDhxdjpZ3ikgb+wn99svA7jxcXpiyg9MUsdw==", + "version": "4.14.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.14.3.tgz", + "integrity": "sha512-T1l7y/bCeL/kUwh9OD4PQT4aM7Bq43vX05htPJJ46RTI4r5KNt6qJRzAfNfM+OYMNEVBWQzR2Gyk+FXLZfogGw==", "cpu": [ "ia32" ], @@ -2474,9 +2487,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.14.2.tgz", - "integrity": "sha512-teAqzLT0yTYZa8ZP7zhFKEx4cotS8Tkk5XiqNMJhD4CpaWB1BHARE4Qy+RzwnXvSAYv+Q3jAqCVBS+PS+Yee8Q==", + "version": "4.14.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.14.3.tgz", + "integrity": "sha512-/BypzV0H1y1HzgYpxqRaXGBRqfodgoBBCcsrujT6QRcakDQdfU+Lq9PENPh5jB4I44YWq+0C2eHsHya+nZY1sA==", "cpu": [ "x64" ], @@ -2957,9 +2970,9 @@ } }, "node_modules/@types/qs": { - "version": "6.9.14", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.14.tgz", - "integrity": "sha512-5khscbd3SwWMhFqylJBLQ0zIu7c1K6Vz0uBIt915BI3zV0q1nfjRQD3RqSBcPaO6PHEF4ov/t9y89fSiyThlPA==", + "version": "6.9.15", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.15.tgz", + "integrity": "sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==", "dev": true }, "node_modules/@types/range-parser": { @@ -4702,9 +4715,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001609", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001609.tgz", - "integrity": "sha512-JFPQs34lHKx1B5t1EpQpWH4c+29zIyn/haGsbpfq3suuV9v56enjFt23zqijxGTMwy1p/4H2tjnQMY+p1WoAyA==", + "version": "1.0.30001610", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001610.tgz", + "integrity": "sha512-QFutAY4NgaelojVMjY63o6XlZyORPaLfyMnsl3HgnWdJUcX6K0oaJymHjH8PT5Gk7sTm8rvC/c5COUQKXqmOMA==", "dev": true, "funding": [ { @@ -5689,9 +5702,9 @@ } }, "node_modules/date-vir/node_modules/@augment-vir/common": { - "version": "26.3.2", - "resolved": "https://registry.npmjs.org/@augment-vir/common/-/common-26.3.2.tgz", - "integrity": "sha512-1hX1tpdACN1pTI/1L87BNN+J5jfPWUHM5+c7ay6IWqBlJsH0Y+Tm9j7UfbXcexMk2yJHjubm+svekTszKZC7zw==", + "version": "26.3.3", + "resolved": "https://registry.npmjs.org/@augment-vir/common/-/common-26.3.3.tgz", + "integrity": "sha512-8GhlvzDwDnIleowRy812mwB5JCcO9HxdkK/HqfA9MsXd2YhGicnNDblJ+RlWE/rPevYxVDAtHzSyiNUa48LoJg==", "dependencies": { "browser-or-node": "^2.1.1", "run-time-assertions": "^1.0.0", @@ -5884,9 +5897,9 @@ } }, "node_modules/dependency-cruiser": { - "version": "16.3.0", - "resolved": "https://registry.npmjs.org/dependency-cruiser/-/dependency-cruiser-16.3.0.tgz", - "integrity": "sha512-6xncf7dssM3dk2vBxHN2MxaLq8bkclw6li8iYfCrjamp0OzMwiTsQvH+y4VeAhyPo5LjsyDB6wFu9pxQbRDcqA==", + "version": "16.3.1", + "resolved": "https://registry.npmjs.org/dependency-cruiser/-/dependency-cruiser-16.3.1.tgz", + "integrity": "sha512-ZwhVjKrCr3Fk7Vb5FfDvkcAcqxttmbb26C9fjuJJVhqDGdgtJQnQ1k1sRY9UbgIBDmMlBTn8/Ccs2b/+TlqOSQ==", "dev": true, "dependencies": { "acorn": "8.11.3", @@ -5914,7 +5927,7 @@ "semver-try-require": "6.2.3", "teamcity-service-messages": "0.1.14", "tsconfig-paths-webpack-plugin": "4.1.0", - "watskeburt": "4.0.1", + "watskeburt": "4.0.2", "wrap-ansi": "9.0.0" }, "bin": { @@ -6046,9 +6059,9 @@ "dev": true }, "node_modules/electron-to-chromium": { - "version": "1.4.736", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.736.tgz", - "integrity": "sha512-Rer6wc3ynLelKNM4lOCg7/zPQj8tPOCB2hzD32PX9wd3hgRRi9MxEbmkFCokzcEhRVMiOVLjnL9ig9cefJ+6+Q==", + "version": "1.4.738", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.738.tgz", + "integrity": "sha512-lwKft2CLFztD+vEIpesrOtCrko/TFnEJlHFdRhazU7Y/jx5qc4cqsocfVrBg4So4gGe9lvxnbLIoev47WMpg+A==", "dev": true, "peer": true }, @@ -8448,9 +8461,9 @@ "dev": true }, "node_modules/lit": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/lit/-/lit-3.1.2.tgz", - "integrity": "sha512-VZx5iAyMtX7CV4K8iTLdCkMaYZ7ipjJZ0JcSdJ0zIdGxxyurjIn7yuuSxNBD7QmjvcNJwr0JS4cAdAtsy7gZ6w==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/lit/-/lit-3.1.3.tgz", + "integrity": "sha512-l4slfspEsnCcHVRTvaP7YnkTZEZggNFywLEIhQaGhYDczG+tu/vlgm/KaWIEjIp+ZyV20r2JnZctMb8LeLCG7Q==", "dependencies": { "@lit/reactive-element": "^2.0.4", "lit-element": "^4.0.4", @@ -8469,9 +8482,9 @@ } }, "node_modules/lit-element": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-4.0.4.tgz", - "integrity": "sha512-98CvgulX6eCPs6TyAIQoJZBCQPo80rgXR+dVBs61cstJXqtI+USQZAbA4gFHh6L/mxBx9MrgPLHLsUgDUHAcCQ==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-4.0.5.tgz", + "integrity": "sha512-iTWskWZEtn9SyEf4aBG6rKT8GABZMrTWop1+jopsEOgEcugcXJGKuX5bEbkq9qfzY+XB4MAgCaSPwnNpdsNQ3Q==", "dependencies": { "@lit-labs/ssr-dom-shim": "^1.2.0", "@lit/reactive-element": "^2.0.4", @@ -8479,9 +8492,9 @@ } }, "node_modules/lit-html": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-3.1.2.tgz", - "integrity": "sha512-3OBZSUrPnAHoKJ9AMjRL/m01YJxQMf+TMHanNtTHG68ubjnZxK0RFl102DPzsw4mWnHibfZIBJm3LWCZ/LmMvg==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-3.1.3.tgz", + "integrity": "sha512-FwIbqDD8O/8lM4vUZ4KvQZjPPNx7V1VhT7vmRB8RBAO0AU6wuTVdoXiu2CivVjEGdugvcbPNBLtPE1y0ifplHA==", "dependencies": { "@types/trusted-types": "^2.0.2" } @@ -9249,9 +9262,9 @@ } }, "node_modules/micromark-util-subtokenize": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.0.tgz", - "integrity": "sha512-vc93L1t+gpR3p8jxeVdaYlbV2jTYteDje19rNSS/H5dlhxUYll5Fy6vJ2cDwP8RnsXi818yGty1ayP55y3W6fg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.1.tgz", + "integrity": "sha512-jZNtiFl/1aY73yS3UGQkutD0UbhTt68qnRpw2Pifmz5wV9h8gOVsN70v+Lq/f1rKaU/W8pxRe8y8Q9FX1AOe1Q==", "dev": true, "funding": [ { @@ -10572,9 +10585,9 @@ } }, "node_modules/observavir/node_modules/@augment-vir/common": { - "version": "26.3.2", - "resolved": "https://registry.npmjs.org/@augment-vir/common/-/common-26.3.2.tgz", - "integrity": "sha512-1hX1tpdACN1pTI/1L87BNN+J5jfPWUHM5+c7ay6IWqBlJsH0Y+Tm9j7UfbXcexMk2yJHjubm+svekTszKZC7zw==", + "version": "26.3.3", + "resolved": "https://registry.npmjs.org/@augment-vir/common/-/common-26.3.3.tgz", + "integrity": "sha512-8GhlvzDwDnIleowRy812mwB5JCcO9HxdkK/HqfA9MsXd2YhGicnNDblJ+RlWE/rPevYxVDAtHzSyiNUa48LoJg==", "dependencies": { "browser-or-node": "^2.1.1", "run-time-assertions": "^1.0.0", @@ -11601,12 +11614,12 @@ } }, "node_modules/puppeteer-core": { - "version": "22.6.4", - "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-22.6.4.tgz", - "integrity": "sha512-QtfJwPmqQec3EHc6LqbEz03vSiuVAr9bYp0TV87dLoreev6ZevsXdLgOfQgoA3GocrsSe/eUf7NRPQ1lQfsc3w==", + "version": "22.6.5", + "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-22.6.5.tgz", + "integrity": "sha512-s0/5XkAWe0/dWISiljdrybjwDCHhgN31Nu/wznOZPKeikgcJtZtbvPKBz0t802XWqfSQnQDt3L6xiAE5JLlfuw==", "dev": true, "dependencies": { - "@puppeteer/browsers": "2.2.1", + "@puppeteer/browsers": "2.2.2", "chromium-bidi": "0.5.17", "debug": "4.3.4", "devtools-protocol": "0.0.1262051", @@ -12379,9 +12392,9 @@ } }, "node_modules/rollup": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.14.2.tgz", - "integrity": "sha512-WkeoTWvuBoFjFAhsEOHKRoZ3r9GfTyhh7Vff1zwebEFLEFjT1lG3784xEgKiTa7E+e70vsC81roVL2MP4tgEEQ==", + "version": "4.14.3", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.14.3.tgz", + "integrity": "sha512-ag5tTQKYsj1bhrFC9+OEWqb5O6VYgtQDO9hPDBMmIbePwhfSr+ExlcU741t8Dhw5DkPCQf6noz0jb36D6W9/hw==", "dev": true, "dependencies": { "@types/estree": "1.0.5" @@ -12394,21 +12407,22 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.14.2", - "@rollup/rollup-android-arm64": "4.14.2", - "@rollup/rollup-darwin-arm64": "4.14.2", - "@rollup/rollup-darwin-x64": "4.14.2", - "@rollup/rollup-linux-arm-gnueabihf": "4.14.2", - "@rollup/rollup-linux-arm64-gnu": "4.14.2", - "@rollup/rollup-linux-arm64-musl": "4.14.2", - "@rollup/rollup-linux-powerpc64le-gnu": "4.14.2", - "@rollup/rollup-linux-riscv64-gnu": "4.14.2", - "@rollup/rollup-linux-s390x-gnu": "4.14.2", - "@rollup/rollup-linux-x64-gnu": "4.14.2", - "@rollup/rollup-linux-x64-musl": "4.14.2", - "@rollup/rollup-win32-arm64-msvc": "4.14.2", - "@rollup/rollup-win32-ia32-msvc": "4.14.2", - "@rollup/rollup-win32-x64-msvc": "4.14.2", + "@rollup/rollup-android-arm-eabi": "4.14.3", + "@rollup/rollup-android-arm64": "4.14.3", + "@rollup/rollup-darwin-arm64": "4.14.3", + "@rollup/rollup-darwin-x64": "4.14.3", + "@rollup/rollup-linux-arm-gnueabihf": "4.14.3", + "@rollup/rollup-linux-arm-musleabihf": "4.14.3", + "@rollup/rollup-linux-arm64-gnu": "4.14.3", + "@rollup/rollup-linux-arm64-musl": "4.14.3", + "@rollup/rollup-linux-powerpc64le-gnu": "4.14.3", + "@rollup/rollup-linux-riscv64-gnu": "4.14.3", + "@rollup/rollup-linux-s390x-gnu": "4.14.3", + "@rollup/rollup-linux-x64-gnu": "4.14.3", + "@rollup/rollup-linux-x64-musl": "4.14.3", + "@rollup/rollup-win32-arm64-msvc": "4.14.3", + "@rollup/rollup-win32-ia32-msvc": "4.14.3", + "@rollup/rollup-win32-x64-msvc": "4.14.3", "fsevents": "~2.3.2" } }, @@ -12446,9 +12460,9 @@ } }, "node_modules/run-time-assertions/node_modules/@augment-vir/common": { - "version": "26.3.2", - "resolved": "https://registry.npmjs.org/@augment-vir/common/-/common-26.3.2.tgz", - "integrity": "sha512-1hX1tpdACN1pTI/1L87BNN+J5jfPWUHM5+c7ay6IWqBlJsH0Y+Tm9j7UfbXcexMk2yJHjubm+svekTszKZC7zw==", + "version": "26.3.3", + "resolved": "https://registry.npmjs.org/@augment-vir/common/-/common-26.3.3.tgz", + "integrity": "sha512-8GhlvzDwDnIleowRy812mwB5JCcO9HxdkK/HqfA9MsXd2YhGicnNDblJ+RlWE/rPevYxVDAtHzSyiNUa48LoJg==", "dependencies": { "browser-or-node": "^2.1.1", "run-time-assertions": "^1.0.0", @@ -12864,11 +12878,26 @@ } }, "node_modules/spa-router-vir": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/spa-router-vir/-/spa-router-vir-3.0.4.tgz", - "integrity": "sha512-95NoOljGFQlPHCwG9fx6cDa6ZCim67saPEVW9/I4LpzVPUXjd8glw1Q0joHa8s1aHrvVQYMIovX86m4cKLHJOA==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spa-router-vir/-/spa-router-vir-4.0.2.tgz", + "integrity": "sha512-Nl+efR9mewTuizKhon4yvS6LWuFW5j9MT5DqNNWBpXPn3BQ1EbIJ6SPjnyIdxpjP7tAqoWxggOY4dYRurqqj8w==", "dependencies": { - "@augment-vir/common": "^23.3.4" + "@augment-vir/common": "^26.3.2", + "object-shape-tester": "^2.3.2", + "observavir": "^2.0.0", + "type-fest": "^4.15.0", + "typed-event-target": "^3.3.0", + "url-vir": "^1.4.0" + } + }, + "node_modules/spa-router-vir/node_modules/@augment-vir/common": { + "version": "26.3.3", + "resolved": "https://registry.npmjs.org/@augment-vir/common/-/common-26.3.3.tgz", + "integrity": "sha512-8GhlvzDwDnIleowRy812mwB5JCcO9HxdkK/HqfA9MsXd2YhGicnNDblJ+RlWE/rPevYxVDAtHzSyiNUa48LoJg==", + "dependencies": { + "browser-or-node": "^2.1.1", + "run-time-assertions": "^1.0.0", + "type-fest": "^4.12.0" } }, "node_modules/space-separated-tokens": { @@ -13729,18 +13758,18 @@ } }, "node_modules/typed-event-target": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/typed-event-target/-/typed-event-target-3.2.1.tgz", - "integrity": "sha512-A8Cv9e7ozPP0cB8bpkGz/Ziug1RAGO8hFw/qoyVVrJKkjcX5vLsYypZ5GckCyt89Xj4EGAIOBt5+FGEBw5VaoQ==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/typed-event-target/-/typed-event-target-3.3.0.tgz", + "integrity": "sha512-SCwl7rJpFE9a/kCgMo6NzAsA+hVPTXJvp8jMNShI4SK+u4/RIv1f8NKxivqC4AGYICkqWKApiHW3zwxY1eMTTg==", "dependencies": { "@augment-vir/common": "^26.2.0", "run-time-assertions": "^1.1.0" } }, "node_modules/typed-event-target/node_modules/@augment-vir/common": { - "version": "26.3.2", - "resolved": "https://registry.npmjs.org/@augment-vir/common/-/common-26.3.2.tgz", - "integrity": "sha512-1hX1tpdACN1pTI/1L87BNN+J5jfPWUHM5+c7ay6IWqBlJsH0Y+Tm9j7UfbXcexMk2yJHjubm+svekTszKZC7zw==", + "version": "26.3.3", + "resolved": "https://registry.npmjs.org/@augment-vir/common/-/common-26.3.3.tgz", + "integrity": "sha512-8GhlvzDwDnIleowRy812mwB5JCcO9HxdkK/HqfA9MsXd2YhGicnNDblJ+RlWE/rPevYxVDAtHzSyiNUa48LoJg==", "dependencies": { "browser-or-node": "^2.1.1", "run-time-assertions": "^1.0.0", @@ -14137,20 +14166,20 @@ } }, "node_modules/url-vir": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/url-vir/-/url-vir-1.1.1.tgz", - "integrity": "sha512-t7/L77Y683h5Rzvv4MnUePdQKmOuZ0eLH/iowDv+P5+utNWJhhKdIwcxAyNC7Stygq4U3KEc64D61w64WJgxdg==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/url-vir/-/url-vir-1.4.0.tgz", + "integrity": "sha512-oynTABkqchJvpsN59xk1zahvWJ8+F+Z9h/zvSXCXC8yj89Di1sA7AkfgjYX1prP+VdIQrgQ7QEHHJHPl7C3i1w==", "dependencies": { - "@augment-vir/common": "^26.2.1", + "@augment-vir/common": "^26.3.2", "object-shape-tester": "^2.3.2", "run-time-assertions": "^1.2.0", - "type-fest": "^4.14.0" + "type-fest": "^4.15.0" } }, "node_modules/url-vir/node_modules/@augment-vir/common": { - "version": "26.3.2", - "resolved": "https://registry.npmjs.org/@augment-vir/common/-/common-26.3.2.tgz", - "integrity": "sha512-1hX1tpdACN1pTI/1L87BNN+J5jfPWUHM5+c7ay6IWqBlJsH0Y+Tm9j7UfbXcexMk2yJHjubm+svekTszKZC7zw==", + "version": "26.3.3", + "resolved": "https://registry.npmjs.org/@augment-vir/common/-/common-26.3.3.tgz", + "integrity": "sha512-8GhlvzDwDnIleowRy812mwB5JCcO9HxdkK/HqfA9MsXd2YhGicnNDblJ+RlWE/rPevYxVDAtHzSyiNUa48LoJg==", "dependencies": { "browser-or-node": "^2.1.1", "run-time-assertions": "^1.0.0", @@ -14333,9 +14362,9 @@ } }, "node_modules/virmator/node_modules/@augment-vir/common": { - "version": "26.3.2", - "resolved": "https://registry.npmjs.org/@augment-vir/common/-/common-26.3.2.tgz", - "integrity": "sha512-1hX1tpdACN1pTI/1L87BNN+J5jfPWUHM5+c7ay6IWqBlJsH0Y+Tm9j7UfbXcexMk2yJHjubm+svekTszKZC7zw==", + "version": "26.3.3", + "resolved": "https://registry.npmjs.org/@augment-vir/common/-/common-26.3.3.tgz", + "integrity": "sha512-8GhlvzDwDnIleowRy812mwB5JCcO9HxdkK/HqfA9MsXd2YhGicnNDblJ+RlWE/rPevYxVDAtHzSyiNUa48LoJg==", "dev": true, "dependencies": { "browser-or-node": "^2.1.1", @@ -14847,9 +14876,9 @@ "dev": true }, "node_modules/watskeburt": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/watskeburt/-/watskeburt-4.0.1.tgz", - "integrity": "sha512-eFPqWivN5fgEQrj7oVrYVW7sEKCEzuWpYGxOVRJF3E2ReERrQgS9T6fGScTB7ngk2kvw1bITQ/KznUoT4kvhKw==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/watskeburt/-/watskeburt-4.0.2.tgz", + "integrity": "sha512-w7X8AGrBZExP5/3e3c1X/CUY8Yod/aiAazQCvrg7n8Un6piD+NFFK926G15zRq4+wu0XAEWpSsZ4C+fEfVOCYw==", "dev": true, "bin": { "watskeburt": "dist/run-cli.js" @@ -15296,19 +15325,19 @@ } }, "packages/element-book": { - "version": "22.1.1", + "version": "22.1.2", "license": "(MIT or CC0 1.0)", "dependencies": { - "@augment-vir/browser": "^26.3.2", - "@augment-vir/common": "^26.3.2", + "@augment-vir/browser": "^26.3.3", + "@augment-vir/common": "^26.3.3", "colorjs.io": "0.5.0", "lit-css-vars": "^3.0.9", - "spa-router-vir": "^3.0.4", - "typed-event-target": "^3.2.1", - "vira": "22.1.1" + "spa-router-vir": "^4.0.2", + "typed-event-target": "^3.3.0", + "vira": "22.1.2" }, "devDependencies": { - "@augment-vir/browser-testing": "^26.3.2", + "@augment-vir/browser-testing": "^26.3.3", "@open-wc/testing": "^4.0.0", "@types/chai": "^4.3.14", "@types/mocha": "^10.0.6", @@ -15331,15 +15360,15 @@ }, "packages/element-book-example": { "name": "@electrovir/element-book-example", - "version": "22.1.1", + "version": "22.1.2", "license": "(MIT or CC0 1.0)", "dependencies": { - "@augment-vir/browser": "^26.3.2", + "@augment-vir/browser": "^26.3.3", "element-book": "*", "element-vir": "*" }, "devDependencies": { - "@augment-vir/node-js": "^26.3.2", + "@augment-vir/node-js": "^26.3.3", "@open-wc/testing": "^4.0.0", "@types/mocha": "^10.0.6", "@web/dev-server-esbuild": "^1.0.2", @@ -15356,33 +15385,42 @@ } }, "packages/element-book/node_modules/@augment-vir/common": { - "version": "26.3.2", - "resolved": "https://registry.npmjs.org/@augment-vir/common/-/common-26.3.2.tgz", - "integrity": "sha512-1hX1tpdACN1pTI/1L87BNN+J5jfPWUHM5+c7ay6IWqBlJsH0Y+Tm9j7UfbXcexMk2yJHjubm+svekTszKZC7zw==", + "version": "26.3.3", + "resolved": "https://registry.npmjs.org/@augment-vir/common/-/common-26.3.3.tgz", + "integrity": "sha512-8GhlvzDwDnIleowRy812mwB5JCcO9HxdkK/HqfA9MsXd2YhGicnNDblJ+RlWE/rPevYxVDAtHzSyiNUa48LoJg==", "dependencies": { "browser-or-node": "^2.1.1", "run-time-assertions": "^1.0.0", "type-fest": "^4.12.0" } }, + "packages/element-book/node_modules/vira/node_modules/spa-router-vir": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/spa-router-vir/-/spa-router-vir-3.0.4.tgz", + "integrity": "sha512-95NoOljGFQlPHCwG9fx6cDa6ZCim67saPEVW9/I4LpzVPUXjd8glw1Q0joHa8s1aHrvVQYMIovX86m4cKLHJOA==", + "extraneous": true, + "dependencies": { + "@augment-vir/common": "^23.3.4" + } + }, "packages/element-vir": { - "version": "22.1.1", + "version": "22.1.2", "license": "(MIT or CC0 1.0)", "dependencies": { - "@augment-vir/common": "^26.3.2", + "@augment-vir/common": "^26.3.3", "date-vir": "^5.1.4", - "lit": "^3.1.2", + "lit": "^3.1.3", "lit-css-vars": "^3.0.9", - "lit-html": "^3.1.2", + "lit-html": "^3.1.3", "object-shape-tester": "^2.3.2", "observavir": "^2.0.0", "run-time-assertions": "^1.2.0", - "typed-event-target": "^3.2.1" + "typed-event-target": "^3.3.0" }, "devDependencies": { - "@augment-vir/browser": "^26.3.2", - "@augment-vir/browser-testing": "^26.3.2", - "@augment-vir/node-js": "^26.3.2", + "@augment-vir/browser": "^26.3.3", + "@augment-vir/browser-testing": "^26.3.3", + "@augment-vir/node-js": "^26.3.3", "@istanbuljs/nyc-config-typescript": "^1.0.2", "@open-wc/testing": "^4.0.0", "@types/chai": "^4.3.14", @@ -15404,7 +15442,7 @@ }, "packages/element-vir-example": { "name": "@electrovir/element-vir-example", - "version": "22.1.1", + "version": "22.1.2", "license": "(MIT or CC0 1.0)", "dependencies": { "element-book": "*", @@ -15412,8 +15450,8 @@ "vira": "*" }, "devDependencies": { - "@augment-vir/browser-testing": "^26.3.2", - "@augment-vir/node-js": "^26.3.2", + "@augment-vir/browser-testing": "^26.3.3", + "@augment-vir/node-js": "^26.3.3", "esbuild": "^0.20.2", "markdown-code-example-inserter": "^1.0.0", "typedoc": "^0.25.13", @@ -15423,9 +15461,9 @@ } }, "packages/element-vir/node_modules/@augment-vir/common": { - "version": "26.3.2", - "resolved": "https://registry.npmjs.org/@augment-vir/common/-/common-26.3.2.tgz", - "integrity": "sha512-1hX1tpdACN1pTI/1L87BNN+J5jfPWUHM5+c7ay6IWqBlJsH0Y+Tm9j7UfbXcexMk2yJHjubm+svekTszKZC7zw==", + "version": "26.3.3", + "resolved": "https://registry.npmjs.org/@augment-vir/common/-/common-26.3.3.tgz", + "integrity": "sha512-8GhlvzDwDnIleowRy812mwB5JCcO9HxdkK/HqfA9MsXd2YhGicnNDblJ+RlWE/rPevYxVDAtHzSyiNUa48LoJg==", "dependencies": { "browser-or-node": "^2.1.1", "run-time-assertions": "^1.0.0", @@ -15434,11 +15472,11 @@ }, "packages/scripts": { "name": "@electrovir/scripts", - "version": "22.1.1", + "version": "22.1.2", "license": "(MIT or CC0 1.0)", "dependencies": { - "@augment-vir/common": "^26.3.2", - "@augment-vir/node-js": "^26.3.2", + "@augment-vir/common": "^26.3.3", + "@augment-vir/node-js": "^26.3.3", "prettier": "^3.2.5" }, "devDependencies": { @@ -15449,9 +15487,9 @@ } }, "packages/scripts/node_modules/@augment-vir/common": { - "version": "26.3.2", - "resolved": "https://registry.npmjs.org/@augment-vir/common/-/common-26.3.2.tgz", - "integrity": "sha512-1hX1tpdACN1pTI/1L87BNN+J5jfPWUHM5+c7ay6IWqBlJsH0Y+Tm9j7UfbXcexMk2yJHjubm+svekTszKZC7zw==", + "version": "26.3.3", + "resolved": "https://registry.npmjs.org/@augment-vir/common/-/common-26.3.3.tgz", + "integrity": "sha512-8GhlvzDwDnIleowRy812mwB5JCcO9HxdkK/HqfA9MsXd2YhGicnNDblJ+RlWE/rPevYxVDAtHzSyiNUa48LoJg==", "dependencies": { "browser-or-node": "^2.1.1", "run-time-assertions": "^1.0.0", @@ -15459,13 +15497,13 @@ } }, "packages/theme-vir": { - "version": "22.1.1", + "version": "22.1.2", "license": "(MIT or CC0 1.0)", "dependencies": { - "@augment-vir/common": "^26.3.2" + "@augment-vir/common": "^26.3.3" }, "devDependencies": { - "@augment-vir/node-js": "^26.3.2", + "@augment-vir/node-js": "^26.3.3", "@open-wc/testing": "^4.0.0", "@types/mocha": "^10.0.6", "@web/dev-server-esbuild": "^1.0.2", @@ -15485,9 +15523,9 @@ } }, "packages/theme-vir/node_modules/@augment-vir/common": { - "version": "26.3.2", - "resolved": "https://registry.npmjs.org/@augment-vir/common/-/common-26.3.2.tgz", - "integrity": "sha512-1hX1tpdACN1pTI/1L87BNN+J5jfPWUHM5+c7ay6IWqBlJsH0Y+Tm9j7UfbXcexMk2yJHjubm+svekTszKZC7zw==", + "version": "26.3.3", + "resolved": "https://registry.npmjs.org/@augment-vir/common/-/common-26.3.3.tgz", + "integrity": "sha512-8GhlvzDwDnIleowRy812mwB5JCcO9HxdkK/HqfA9MsXd2YhGicnNDblJ+RlWE/rPevYxVDAtHzSyiNUa48LoJg==", "dependencies": { "browser-or-node": "^2.1.1", "run-time-assertions": "^1.0.0", @@ -15495,20 +15533,20 @@ } }, "packages/vira": { - "version": "22.1.1", + "version": "22.1.2", "license": "(MIT or CC0 1.0)", "dependencies": { - "@augment-vir/browser": "^26.3.2", - "@augment-vir/common": "^26.3.2", + "@augment-vir/browser": "^26.3.3", + "@augment-vir/common": "^26.3.3", "colorjs.io": "^0.5.0", "date-vir": "^5.1.4", "lit-css-vars": "^3.0.9", - "spa-router-vir": "^3.0.4", + "spa-router-vir": "^4.0.2", "type-fest": "^4.15.0" }, "devDependencies": { - "@augment-vir/browser-testing": "^26.3.2", - "@augment-vir/node-js": "^26.3.2", + "@augment-vir/browser-testing": "^26.3.3", + "@augment-vir/node-js": "^26.3.3", "@open-wc/testing": "^4.0.0", "@types/chai": "^4.3.14", "@types/mocha": "^10.0.6", @@ -15532,17 +15570,17 @@ }, "packages/vira-book": { "name": "@electrovir/vira-book", - "version": "22.1.1", + "version": "22.1.2", "license": "(MIT or CC0 1.0)", "dependencies": { - "@augment-vir/common": "^26.3.2", + "@augment-vir/common": "^26.3.3", "element-book": "*", "element-vir": "*", - "url-vir": "^1.1.1", + "url-vir": "^1.4.0", "vira": "*" }, "devDependencies": { - "@augment-vir/node-js": "^26.3.2", + "@augment-vir/node-js": "^26.3.3", "esbuild": "^0.20.2", "markdown-code-example-inserter": "^1.0.0", "nodemon": "^3.1.0", @@ -15553,9 +15591,9 @@ } }, "packages/vira-book/node_modules/@augment-vir/common": { - "version": "26.3.2", - "resolved": "https://registry.npmjs.org/@augment-vir/common/-/common-26.3.2.tgz", - "integrity": "sha512-1hX1tpdACN1pTI/1L87BNN+J5jfPWUHM5+c7ay6IWqBlJsH0Y+Tm9j7UfbXcexMk2yJHjubm+svekTszKZC7zw==", + "version": "26.3.3", + "resolved": "https://registry.npmjs.org/@augment-vir/common/-/common-26.3.3.tgz", + "integrity": "sha512-8GhlvzDwDnIleowRy812mwB5JCcO9HxdkK/HqfA9MsXd2YhGicnNDblJ+RlWE/rPevYxVDAtHzSyiNUa48LoJg==", "dependencies": { "browser-or-node": "^2.1.1", "run-time-assertions": "^1.0.0", @@ -15576,9 +15614,9 @@ } }, "packages/vira/node_modules/@augment-vir/common": { - "version": "26.3.2", - "resolved": "https://registry.npmjs.org/@augment-vir/common/-/common-26.3.2.tgz", - "integrity": "sha512-1hX1tpdACN1pTI/1L87BNN+J5jfPWUHM5+c7ay6IWqBlJsH0Y+Tm9j7UfbXcexMk2yJHjubm+svekTszKZC7zw==", + "version": "26.3.3", + "resolved": "https://registry.npmjs.org/@augment-vir/common/-/common-26.3.3.tgz", + "integrity": "sha512-8GhlvzDwDnIleowRy812mwB5JCcO9HxdkK/HqfA9MsXd2YhGicnNDblJ+RlWE/rPevYxVDAtHzSyiNUa48LoJg==", "dependencies": { "browser-or-node": "^2.1.1", "run-time-assertions": "^1.0.0", diff --git a/package.json b/package.json index e20d38d8..9f2257a3 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@electrovir/element-vir-mono-repo", - "version": "22.1.1", + "version": "22.1.2", "private": true, "license": "(MIT or CC0 1.0)", "author": { @@ -27,7 +27,7 @@ }, "devDependencies": { "cspell": "^8.7.0", - "dependency-cruiser": "^16.3.0", + "dependency-cruiser": "^16.3.1", "esbuild": "^0.20.2", "html-spec-tags": "^2.2.0", "npm-check-updates": "~16.12.3", diff --git a/packages/element-book-example/package.json b/packages/element-book-example/package.json index c6d7f477..0251cc8d 100644 --- a/packages/element-book-example/package.json +++ b/packages/element-book-example/package.json @@ -1,6 +1,6 @@ { "name": "@electrovir/element-book-example", - "version": "22.1.1", + "version": "22.1.2", "private": true, "license": "(MIT or CC0 1.0)", "scripts": { @@ -10,12 +10,12 @@ "test:types": "npm run compile" }, "dependencies": { - "@augment-vir/browser": "^26.3.2", + "@augment-vir/browser": "^26.3.3", "element-book": "*", "element-vir": "*" }, "devDependencies": { - "@augment-vir/node-js": "^26.3.2", + "@augment-vir/node-js": "^26.3.3", "@open-wc/testing": "^4.0.0", "@types/mocha": "^10.0.6", "@web/dev-server-esbuild": "^1.0.2", diff --git a/packages/element-book/package.json b/packages/element-book/package.json index b2506b1f..d3d7a6fa 100644 --- a/packages/element-book/package.json +++ b/packages/element-book/package.json @@ -1,6 +1,6 @@ { "name": "element-book", - "version": "22.1.1", + "version": "22.1.2", "keywords": [ "book", "design system", @@ -42,16 +42,16 @@ "test:watch": "web-test-runner --color --watch --config configs/web-test-runner.config.mjs" }, "dependencies": { - "@augment-vir/browser": "^26.3.2", - "@augment-vir/common": "^26.3.2", + "@augment-vir/browser": "^26.3.3", + "@augment-vir/common": "^26.3.3", "colorjs.io": "0.5.0", "lit-css-vars": "^3.0.9", - "spa-router-vir": "^3.0.4", - "typed-event-target": "^3.2.1", - "vira": "22.1.1" + "spa-router-vir": "^4.0.2", + "typed-event-target": "^3.3.0", + "vira": "22.1.2" }, "devDependencies": { - "@augment-vir/browser-testing": "^26.3.2", + "@augment-vir/browser-testing": "^26.3.3", "@open-wc/testing": "^4.0.0", "@types/chai": "^4.3.14", "@types/mocha": "^10.0.6", diff --git a/packages/element-book/src/routing/create-book-router.ts b/packages/element-book/src/routing/book-router.ts similarity index 59% rename from packages/element-book/src/routing/create-book-router.ts rename to packages/element-book/src/routing/book-router.ts index 280f8bbb..6e8f5ba3 100644 --- a/packages/element-book/src/routing/create-book-router.ts +++ b/packages/element-book/src/routing/book-router.ts @@ -1,16 +1,11 @@ import {isEnumValue} from '@augment-vir/common'; -import {createSpaRouter, SpaRouter} from 'spa-router-vir'; -import {BookMainRoute, BookRouter, defaultBookFullRoute, ValidBookPaths} from './book-routing'; +import {SpaRouter} from 'spa-router-vir'; +import {BookMainRoute, defaultBookFullRoute, ValidBookPaths} from './book-routing'; -export function createBookRouter(baseRoute: string | undefined): BookRouter { - type SubTypes = - BookRouter extends SpaRouter - ? {paths: Paths; search: Search; hash: Hash} - : never; - - return createSpaRouter({ - routeBase: baseRoute, - routeSanitizer(rawRoute) { +export function createBookRouter(basePath: string | undefined) { + return new SpaRouter({ + basePath: basePath, + sanitizeRoute(rawRoute) { const sanitizedPaths = sanitizePaths(rawRoute.paths); return { @@ -22,7 +17,9 @@ export function createBookRouter(baseRoute: string | undefined): BookRouter { }); } -function sanitizePaths(paths: ReadonlyArray): Readonly { +export type BookRouter = ReturnType; + +function sanitizePaths(paths: ReadonlyArray): ValidBookPaths { const firstPath = paths[0]; if (!isEnumValue(firstPath, BookMainRoute)) { diff --git a/packages/element-book/src/routing/book-routing.ts b/packages/element-book/src/routing/book-routing.ts index 64f84e86..ab4fcf7a 100644 --- a/packages/element-book/src/routing/book-routing.ts +++ b/packages/element-book/src/routing/book-routing.ts @@ -1,4 +1,4 @@ -import {FullRoute, SpaRouter} from 'spa-router-vir'; +import {FullRoute} from 'spa-router-vir'; export enum BookMainRoute { Search = 'search', @@ -7,9 +7,7 @@ export enum BookMainRoute { export type ValidBookPaths = [BookMainRoute.Search, string] | [BookMainRoute.Book, ...string[]]; -export type BookFullRoute = Required< - Readonly, undefined>> ->; +export type BookFullRoute = Required>>; export function extractSearchQuery(paths: Readonly) { if (paths[0] === BookMainRoute.Book) { @@ -24,8 +22,3 @@ export const defaultBookFullRoute: Readonly = { paths: [BookMainRoute.Book], search: undefined, } as const; - -export type BookRouter = - BookFullRoute extends FullRoute - ? Readonly> - : never; diff --git a/packages/element-book/src/ui/elements/book-breadcrumbs.element.ts b/packages/element-book/src/ui/elements/book-breadcrumbs.element.ts index 4a4c2d99..1e4cb051 100644 --- a/packages/element-book/src/ui/elements/book-breadcrumbs.element.ts +++ b/packages/element-book/src/ui/elements/book-breadcrumbs.element.ts @@ -1,11 +1,12 @@ import {css, html} from 'element-vir'; -import {BookFullRoute, BookMainRoute, BookRouter} from '../../routing/book-routing'; +import {BookRouter} from '../../routing/book-router'; +import {BookFullRoute, BookMainRoute} from '../../routing/book-routing'; import {BookRouteLink} from './common/book-route-link.element'; import {defineBookElement} from './define-book-element'; export const BookBreadcrumbs = defineBookElement<{ currentRoute: Readonly; - router: BookRouter | undefined; + router: Readonly | undefined; }>()({ tagName: 'book-breadcrumbs', styles: css` diff --git a/packages/element-book/src/ui/elements/book-nav/book-nav.element.ts b/packages/element-book/src/ui/elements/book-nav/book-nav.element.ts index 3c6b305d..e7a17759 100644 --- a/packages/element-book/src/ui/elements/book-nav/book-nav.element.ts +++ b/packages/element-book/src/ui/elements/book-nav/book-nav.element.ts @@ -5,7 +5,8 @@ import {Element16Icon, ViraIcon} from 'vira'; import {BookEntryTypeEnum} from '../../../data/book-entry/book-entry-type'; import {isBookTreeNode} from '../../../data/book-tree/book-tree'; import {BookTreeNode} from '../../../data/book-tree/book-tree-node'; -import {BookMainRoute, BookRouter, defaultBookFullRoute} from '../../../routing/book-routing'; +import {BookRouter} from '../../../routing/book-router'; +import {BookMainRoute, defaultBookFullRoute} from '../../../routing/book-routing'; import {colorThemeCssVars} from '../../color-theme/color-theme'; import {BookRouteLink} from '../common/book-route-link.element'; import {defineBookElement} from '../define-book-element'; diff --git a/packages/element-book/src/ui/elements/common/book-route-link.element.ts b/packages/element-book/src/ui/elements/common/book-route-link.element.ts index 9c85ba91..78788ea3 100644 --- a/packages/element-book/src/ui/elements/common/book-route-link.element.ts +++ b/packages/element-book/src/ui/elements/common/book-route-link.element.ts @@ -1,12 +1,13 @@ import {css, html, listen} from 'element-vir'; -import {shouldMouseEventTriggerRoutes} from 'spa-router-vir'; -import {BookFullRoute, BookRouter} from '../../../routing/book-routing'; +import {shouldClickEventTriggerRouteChange} from 'spa-router-vir'; +import {BookRouter} from '../../../routing/book-router'; +import {BookFullRoute} from '../../../routing/book-routing'; import {ChangeRouteEvent} from '../../events/change-route.event'; import {defineBookElement} from '../define-book-element'; export const BookRouteLink = defineBookElement<{ route: Partial; - router: BookRouter | undefined; + router: Readonly | undefined; }>()({ tagName: 'book-route-link', cssVars: { @@ -25,8 +26,7 @@ export const BookRouteLink = defineBookElement<{ `, renderCallback: ({inputs, dispatch}) => { const linkUrl: string = - inputs.router?.createRoutesUrl({ - ...inputs.router?.getCurrentRawRoutes(), + inputs.router?.createRouteUrl({ ...inputs.route, }) ?? '#'; @@ -34,7 +34,7 @@ export const BookRouteLink = defineBookElement<{ { - if (!inputs.router || shouldMouseEventTriggerRoutes(clickEvent)) { + if (!inputs.router || shouldClickEventTriggerRouteChange(clickEvent)) { clickEvent.preventDefault(); window.scrollTo(0, 0); dispatch(new ChangeRouteEvent(inputs.route)); diff --git a/packages/element-book/src/ui/elements/element-book-app/element-book-app.element.ts b/packages/element-book/src/ui/elements/element-book-app/element-book-app.element.ts index 20744636..56925ab7 100644 --- a/packages/element-book/src/ui/elements/element-book-app/element-book-app.element.ts +++ b/packages/element-book/src/ui/elements/element-book-app/element-book-app.element.ts @@ -9,13 +9,12 @@ import { } from '../../../data/book-entry/book-page/controls-wrapper'; import {createBookTreeFromEntries} from '../../../data/book-tree/book-tree'; import {searchFlattenedNodes} from '../../../data/book-tree/search-nodes'; +import {BookRouter, createBookRouter} from '../../../routing/book-router'; import { BookFullRoute, - BookRouter, defaultBookFullRoute, extractSearchQuery, } from '../../../routing/book-routing'; -import {createBookRouter} from '../../../routing/create-book-router'; import {ColorTheme, colorThemeCssVars, setThemeCssVars} from '../../color-theme/color-theme'; import {ThemeConfig, createTheme} from '../../color-theme/create-color-theme'; import {ChangeRouteEvent} from '../../events/change-route.event'; @@ -98,7 +97,7 @@ export const ElementBookApp = defineElement()({ }, cleanupCallback({state, updateState}) { if (state.router) { - state.router.removeAllRouteListeners(); + state.router.destroy(); updateState({router: undefined}); } }, @@ -141,7 +140,7 @@ export const ElementBookApp = defineElement()({ const newRoute = mergeRoutes(newRouteInput); if (state.router) { - state.router.setRoutes(newRoute); + state.router.setRoute(newRoute); } else { updateState({ currentRoute: { @@ -171,13 +170,13 @@ export const ElementBookApp = defineElement()({ const router = createBookRouter(inputs.internalRouterConfig.basePath); updateState({router}); - router.addRouteListener(true, (fullRoute) => { + router.listen(true, (fullRoute) => { updateState({ currentRoute: fullRoute, }); }); } else if (!inputs.internalRouterConfig?.useInternalRouter && state.router) { - state.router.removeAllRouteListeners(); + state.router.destroy(); } const inputThemeConfig: ThemeConfig = { diff --git a/packages/element-book/src/ui/elements/entry-display/book-breadcrumbs-bar.element.ts b/packages/element-book/src/ui/elements/entry-display/book-breadcrumbs-bar.element.ts index f83ba7a9..9e0ddcf0 100644 --- a/packages/element-book/src/ui/elements/entry-display/book-breadcrumbs-bar.element.ts +++ b/packages/element-book/src/ui/elements/entry-display/book-breadcrumbs-bar.element.ts @@ -1,11 +1,7 @@ import {wait} from '@augment-vir/common'; import {css, html, listen, renderIf} from 'element-vir'; -import { - BookFullRoute, - BookMainRoute, - BookRouter, - defaultBookFullRoute, -} from '../../../routing/book-routing'; +import {BookRouter} from '../../../routing/book-router'; +import {BookFullRoute, BookMainRoute, defaultBookFullRoute} from '../../../routing/book-routing'; import {colorThemeCssVars} from '../../color-theme/color-theme'; import {ChangeRouteEvent} from '../../events/change-route.event'; import {BookBreadcrumbs} from '../book-breadcrumbs.element'; @@ -13,8 +9,8 @@ import {defineBookElement} from '../define-book-element'; export const BookBreadcrumbsBar = defineBookElement<{ currentSearch: string; - currentRoute: BookFullRoute; - router: BookRouter | undefined; + currentRoute: Readonly; + router: Readonly | undefined; }>()({ tagName: 'book-breadcrumbs-bar', styles: css` diff --git a/packages/element-book/src/ui/elements/entry-display/book-page/book-page-wrapper.element.ts b/packages/element-book/src/ui/elements/entry-display/book-page/book-page-wrapper.element.ts index b6c28a56..d99417fe 100644 --- a/packages/element-book/src/ui/elements/entry-display/book-page/book-page-wrapper.element.ts +++ b/packages/element-book/src/ui/elements/entry-display/book-page/book-page-wrapper.element.ts @@ -6,7 +6,8 @@ import { traverseControls, } from '../../../../data/book-entry/book-page/controls-wrapper'; import {BookTreeNode} from '../../../../data/book-tree/book-tree-node'; -import {BookMainRoute, BookRouter} from '../../../../routing/book-routing'; +import {BookRouter} from '../../../../routing/book-router'; +import {BookMainRoute, ValidBookPaths} from '../../../../routing/book-routing'; import {BookError} from '../../common/book-error.element'; import {BookRouteLink} from '../../common/book-route-link.element'; import {defineBookElement} from '../../define-book-element'; @@ -54,10 +55,10 @@ export const BookPageWrapper = defineBookElement<{

${inputs.pageNode.entry.title}

`; - const linkPaths = [ + const linkPaths: ValidBookPaths = [ BookMainRoute.Book, ...inputs.pageNode.fullUrlBreadcrumbs, - ] as const; + ]; const error = combineErrors(inputs.pageNode.entry.errors); if (error) { diff --git a/packages/element-book/src/ui/elements/entry-display/element-example/book-element-example-controls.element.ts b/packages/element-book/src/ui/elements/entry-display/element-example/book-element-example-controls.element.ts index 4ab39104..4fd4b4e6 100644 --- a/packages/element-book/src/ui/elements/entry-display/element-example/book-element-example-controls.element.ts +++ b/packages/element-book/src/ui/elements/entry-display/element-example/book-element-example-controls.element.ts @@ -1,7 +1,8 @@ import {css, html} from 'element-vir'; import {BookEntryTypeEnum} from '../../../../data/book-entry/book-entry-type'; import {BookTreeNode} from '../../../../data/book-tree/book-tree-node'; -import {BookMainRoute, BookRouter} from '../../../../routing/book-routing'; +import {BookRouter} from '../../../../routing/book-router'; +import {BookMainRoute, ValidBookPaths} from '../../../../routing/book-routing'; import {colorThemeCssVars} from '../../../color-theme/color-theme'; import {BookRouteLink} from '../../common/book-route-link.element'; import {defineBookElement} from '../../define-book-element'; @@ -20,10 +21,10 @@ export const BookElementExampleControls = defineBookElement<{ } `, renderCallback({inputs}) { - const linkPaths = [ + const linkPaths: ValidBookPaths = [ BookMainRoute.Book, ...inputs.elementExampleNode.fullUrlBreadcrumbs, - ] as const; + ]; return html` <${BookRouteLink.assign({ diff --git a/packages/element-book/src/ui/elements/entry-display/element-example/book-element-example-viewer.element.ts b/packages/element-book/src/ui/elements/entry-display/element-example/book-element-example-viewer.element.ts index 90ef90a4..71b65741 100644 --- a/packages/element-book/src/ui/elements/entry-display/element-example/book-element-example-viewer.element.ts +++ b/packages/element-book/src/ui/elements/entry-display/element-example/book-element-example-viewer.element.ts @@ -4,14 +4,12 @@ import {BookEntryTypeEnum} from '../../../../data/book-entry/book-entry-type'; import {BookPageControlsValues} from '../../../../data/book-entry/book-page/book-page-controls'; import {BookTreeNode} from '../../../../data/book-tree/book-tree-node'; import {unsetInternalState} from '../../../../data/unset'; -import {BookRouter} from '../../../../routing/book-routing'; import {BookError} from '../../common/book-error.element'; import {defineBookElement} from '../../define-book-element'; export const BookElementExampleViewer = defineBookElement<{ elementExampleNode: BookTreeNode; currentPageControls: BookPageControlsValues; - router: BookRouter | undefined; }>()({ tagName: 'book-element-example-viewer', stateInitStatic: { diff --git a/packages/element-book/src/ui/elements/entry-display/element-example/book-element-example-wrapper.element.ts b/packages/element-book/src/ui/elements/entry-display/element-example/book-element-example-wrapper.element.ts index 08f6928d..5f9611c1 100644 --- a/packages/element-book/src/ui/elements/entry-display/element-example/book-element-example-wrapper.element.ts +++ b/packages/element-book/src/ui/elements/entry-display/element-example/book-element-example-wrapper.element.ts @@ -3,7 +3,7 @@ import {css, html} from 'element-vir'; import {BookEntryTypeEnum} from '../../../../data/book-entry/book-entry-type'; import {BookPageControlsValues} from '../../../../data/book-entry/book-page/book-page-controls'; import {BookTreeNode} from '../../../../data/book-tree/book-tree-node'; -import {BookRouter} from '../../../../routing/book-routing'; +import {BookRouter} from '../../../../routing/book-router'; import {colorThemeCssVars} from '../../../color-theme/color-theme'; import {defineBookElement} from '../../define-book-element'; import {BookElementExampleControls} from './book-element-example-controls.element'; diff --git a/packages/element-book/src/ui/elements/entry-display/entry-display/book-entry-display.element.ts b/packages/element-book/src/ui/elements/entry-display/entry-display/book-entry-display.element.ts index 1069179d..dabc9c3c 100644 --- a/packages/element-book/src/ui/elements/entry-display/entry-display/book-entry-display.element.ts +++ b/packages/element-book/src/ui/elements/entry-display/entry-display/book-entry-display.element.ts @@ -3,7 +3,8 @@ import {LoaderAnimated24Icon, ViraIcon, viraAnimationDurations} from 'vira'; import {BookEntryTypeEnum} from '../../../../data/book-entry/book-entry-type'; import {ControlsWrapper} from '../../../../data/book-entry/book-page/controls-wrapper'; import {BookTreeNode} from '../../../../data/book-tree/book-tree-node'; -import {BookFullRoute, BookRouter, extractSearchQuery} from '../../../../routing/book-routing'; +import {BookRouter} from '../../../../routing/book-router'; +import {BookFullRoute, extractSearchQuery} from '../../../../routing/book-routing'; import {defineBookElement} from '../../define-book-element'; import {ElementBookSlotName} from '../../element-book-app/element-book-app-slots'; import {BookBreadcrumbsBar} from '../book-breadcrumbs-bar.element'; diff --git a/packages/element-book/src/ui/elements/entry-display/entry-display/create-node-templates.ts b/packages/element-book/src/ui/elements/entry-display/entry-display/create-node-templates.ts index e6e0a84a..a2cbbe0d 100644 --- a/packages/element-book/src/ui/elements/entry-display/entry-display/create-node-templates.ts +++ b/packages/element-book/src/ui/elements/entry-display/entry-display/create-node-templates.ts @@ -11,7 +11,7 @@ import { } from '../../../../data/book-entry/book-page/controls-wrapper'; import {isBookTreeNode, traverseToImmediateParent} from '../../../../data/book-tree/book-tree'; import {BookTreeNode} from '../../../../data/book-tree/book-tree-node'; -import {BookRouter} from '../../../../routing/book-routing'; +import {BookRouter} from '../../../../routing/book-router'; import {BookError} from '../../common/book-error.element'; import {BookPageControls} from '../book-page/book-page-controls.element'; import {BookPageWrapper} from '../book-page/book-page-wrapper.element'; diff --git a/packages/element-vir-example/package.json b/packages/element-vir-example/package.json index 5182e61c..341e6d82 100644 --- a/packages/element-vir-example/package.json +++ b/packages/element-vir-example/package.json @@ -1,6 +1,6 @@ { "name": "@electrovir/element-vir-example", - "version": "22.1.1", + "version": "22.1.2", "private": true, "license": "(MIT or CC0 1.0)", "author": { @@ -18,8 +18,8 @@ "vira": "*" }, "devDependencies": { - "@augment-vir/browser-testing": "^26.3.2", - "@augment-vir/node-js": "^26.3.2", + "@augment-vir/browser-testing": "^26.3.3", + "@augment-vir/node-js": "^26.3.3", "esbuild": "^0.20.2", "markdown-code-example-inserter": "^1.0.0", "typedoc": "^0.25.13", diff --git a/packages/element-vir/package.json b/packages/element-vir/package.json index 761ea730..800ce2be 100644 --- a/packages/element-vir/package.json +++ b/packages/element-vir/package.json @@ -1,6 +1,6 @@ { "name": "element-vir", - "version": "22.1.1", + "version": "22.1.2", "keywords": [ "custom", "web", @@ -38,20 +38,20 @@ "test:types": "tsc --pretty --noEmit" }, "dependencies": { - "@augment-vir/common": "^26.3.2", + "@augment-vir/common": "^26.3.3", "date-vir": "^5.1.4", - "lit": "^3.1.2", + "lit": "^3.1.3", "lit-css-vars": "^3.0.9", - "lit-html": "^3.1.2", + "lit-html": "^3.1.3", "object-shape-tester": "^2.3.2", "observavir": "^2.0.0", "run-time-assertions": "^1.2.0", - "typed-event-target": "^3.2.1" + "typed-event-target": "^3.3.0" }, "devDependencies": { - "@augment-vir/browser": "^26.3.2", - "@augment-vir/browser-testing": "^26.3.2", - "@augment-vir/node-js": "^26.3.2", + "@augment-vir/browser": "^26.3.3", + "@augment-vir/browser-testing": "^26.3.3", + "@augment-vir/node-js": "^26.3.3", "@istanbuljs/nyc-config-typescript": "^1.0.2", "@open-wc/testing": "^4.0.0", "@types/chai": "^4.3.14", diff --git a/packages/scripts/package.json b/packages/scripts/package.json index 46e59362..efc787c5 100644 --- a/packages/scripts/package.json +++ b/packages/scripts/package.json @@ -1,6 +1,6 @@ { "name": "@electrovir/scripts", - "version": "22.1.1", + "version": "22.1.2", "private": true, "license": "(MIT or CC0 1.0)", "author": { @@ -16,8 +16,8 @@ "update:exports": "ts-node src/vira-scripts/update-all-exports.ts" }, "dependencies": { - "@augment-vir/common": "^26.3.2", - "@augment-vir/node-js": "^26.3.2", + "@augment-vir/common": "^26.3.3", + "@augment-vir/node-js": "^26.3.3", "prettier": "^3.2.5" }, "devDependencies": { diff --git a/packages/theme-vir/package.json b/packages/theme-vir/package.json index cc248ef5..1bd87e79 100644 --- a/packages/theme-vir/package.json +++ b/packages/theme-vir/package.json @@ -1,6 +1,6 @@ { "name": "theme-vir", - "version": "22.1.1", + "version": "22.1.2", "private": true, "description": "Create an entire web theme.", "keywords": [ @@ -34,10 +34,10 @@ "test": "virmator test-web" }, "dependencies": { - "@augment-vir/common": "^26.3.2" + "@augment-vir/common": "^26.3.3" }, "devDependencies": { - "@augment-vir/node-js": "^26.3.2", + "@augment-vir/node-js": "^26.3.3", "@open-wc/testing": "^4.0.0", "@types/mocha": "^10.0.6", "@web/dev-server-esbuild": "^1.0.2", diff --git a/packages/vira-book/package.json b/packages/vira-book/package.json index 5612a542..fed60a75 100644 --- a/packages/vira-book/package.json +++ b/packages/vira-book/package.json @@ -1,6 +1,6 @@ { "name": "@electrovir/vira-book", - "version": "22.1.1", + "version": "22.1.2", "private": true, "license": "(MIT or CC0 1.0)", "author": { @@ -14,14 +14,14 @@ "test": "exit 0;" }, "dependencies": { - "@augment-vir/common": "^26.3.2", + "@augment-vir/common": "^26.3.3", "element-book": "*", "element-vir": "*", - "url-vir": "^1.1.1", + "url-vir": "^1.4.0", "vira": "*" }, "devDependencies": { - "@augment-vir/node-js": "^26.3.2", + "@augment-vir/node-js": "^26.3.3", "esbuild": "^0.20.2", "markdown-code-example-inserter": "^1.0.0", "nodemon": "^3.1.0", diff --git a/packages/vira-book/src/element-book/entries/vira-link.element.book.ts b/packages/vira-book/src/element-book/entries/vira-link.element.book.ts index e6439abe..31d29a54 100644 --- a/packages/vira-book/src/element-book/entries/vira-link.element.book.ts +++ b/packages/vira-book/src/element-book/entries/vira-link.element.book.ts @@ -66,9 +66,12 @@ export const viraLinkBookPage = defineBookPage({ route: { route: {paths: []}, router: { - createRoutesUrl() { + createRouteUrl() { return window.location.href; }, + setRouteOnDirectNavigation() { + return false; + }, }, }, }, diff --git a/packages/vira/package.json b/packages/vira/package.json index 20d6ebd2..4a739dca 100644 --- a/packages/vira/package.json +++ b/packages/vira/package.json @@ -1,6 +1,6 @@ { "name": "vira", - "version": "22.1.1", + "version": "22.1.2", "description": "A simple and highly versatile design system using element-vir.", "keywords": [ "design", @@ -32,17 +32,17 @@ "test": "virmator test-web" }, "dependencies": { - "@augment-vir/browser": "^26.3.2", - "@augment-vir/common": "^26.3.2", + "@augment-vir/browser": "^26.3.3", + "@augment-vir/common": "^26.3.3", "colorjs.io": "^0.5.0", "date-vir": "^5.1.4", "lit-css-vars": "^3.0.9", - "spa-router-vir": "^3.0.4", + "spa-router-vir": "^4.0.2", "type-fest": "^4.15.0" }, "devDependencies": { - "@augment-vir/browser-testing": "^26.3.2", - "@augment-vir/node-js": "^26.3.2", + "@augment-vir/browser-testing": "^26.3.3", + "@augment-vir/node-js": "^26.3.3", "@open-wc/testing": "^4.0.0", "@types/chai": "^4.3.14", "@types/mocha": "^10.0.6", diff --git a/packages/vira/src/elements/vira-link.element.ts b/packages/vira/src/elements/vira-link.element.ts index f2b9e3cc..38d08a7b 100644 --- a/packages/vira/src/elements/vira-link.element.ts +++ b/packages/vira/src/elements/vira-link.element.ts @@ -1,26 +1,29 @@ import {css, defineElementEvent, html, listen} from 'element-vir'; -import {FullRoute, SpaRouter, shouldMouseEventTriggerRoutes} from 'spa-router-vir'; +import {FullRoute, SpaRouter, shouldClickEventTriggerRouteChange} from 'spa-router-vir'; +import {RequireExactlyOne} from 'type-fest'; import {defineViraElement} from './define-vira-element'; -export const ViraLink = defineViraElement<{ - /** - * A full raw URL link that will navigate the current window away or open a new tab. If this - * property is provided for the inputs, don't provide a route property. - */ - link?: { - url: string; - newTab: boolean; - }; - /** - * A route that'll change that current page without navigating the window. If this property is - * provided for the inputs, don't provide a link property. - */ - route?: { - route: FullRoute; - router: Pick; - scrollToTop?: boolean; - }; -}>()({ +export const ViraLink = defineViraElement< + RequireExactlyOne<{ + /** + * A full raw URL link that will navigate the current window away or open a new tab. If this + * property is provided for the inputs, don't provide a route property. + */ + link: { + url: string; + newTab: boolean; + }; + /** + * A route that'll change that current page without navigating the window. If this property + * is provided for the inputs, don't provide a link property. + */ + route: { + route: FullRoute; + router: Pick, 'createRouteUrl' | 'setRouteOnDirectNavigation'>; + scrollToTop?: boolean; + }; + }> +>()({ tagName: 'vira-link', cssVars: { 'vira-link-hover-color': 'currentColor', @@ -52,13 +55,13 @@ export const ViraLink = defineViraElement<{ routeChange: defineElementEvent(), }, renderCallback({inputs, dispatch, events}) { - function clickCallback(clickEvent: MouseEvent) { + function clickCallback(event: MouseEvent) { if (!inputs.route) { return; } - if (shouldMouseEventTriggerRoutes(clickEvent)) { - clickEvent.preventDefault(); + if (shouldClickEventTriggerRouteChange(event)) { + event.preventDefault(); if (inputs.route.scrollToTop) { window.scrollTo(0, 0); } @@ -76,7 +79,7 @@ export const ViraLink = defineViraElement<{ } else { const linkUrl = inputs.link ? inputs.link.url - : inputs.route?.router.createRoutesUrl(inputs.route.route); + : inputs.route?.router.createRouteUrl(inputs.route.route); /** Noopener and noreferrer are needed for security reasons, do not remove! */ return html`