From 496a83ecc1ac89635cb080fe75990bfd2a51644c Mon Sep 17 00:00:00 2001 From: Caio Miguel Lima Nunes Date: Wed, 19 Nov 2025 19:50:55 -0300 Subject: [PATCH 01/10] Atualizacao de modais e ajuste de tabela --- package-lock.json | 6250 +----------------- src/PagesMedico/DoctorAgendamentoManager.jsx | 111 +- src/PagesMedico/DoctorRelatorioManager.jsx | 38 +- src/PagesPaciente/ConsultasPaciente.jsx | 263 +- src/components/Header/Header.css | 118 + src/components/Header/Header.jsx | 368 +- src/pages/Agendamento.jsx | 106 +- src/pages/DisponibilidadesDoctorPage.jsx | 203 +- src/pages/DoctorEditPage.jsx | 57 +- src/pages/DoctorTable.jsx | 16 +- src/pages/EditPage.jsx | 51 +- src/pages/ExcecoesDisponibilidade.jsx | 232 +- src/pages/LaudoManager.jsx | 57 +- src/pages/ProfilePage.jsx | 154 +- src/pages/TablePaciente.jsx | 35 +- 15 files changed, 1376 insertions(+), 6683 deletions(-) diff --git a/package-lock.json b/package-lock.json index b9a1a50..fb04425 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2546,108 +2546,6 @@ "@ckeditor/ckeditor5-word-count": "41.4.2" } }, - "node_modules/@ckeditor/ckeditor5-alignment": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-alignment/-/ckeditor5-alignment-47.2.0.tgz", - "integrity": "sha512-lfcJAC8yJOQux3t33ikJrWRsZvywLr2zmU6mDR96SuCmeCyAN3UGXzCNa8kWPExpFGV01ZR61EZkjTah8LP2sQ==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "ckeditor5": "47.2.0" - } - }, - "node_modules/@ckeditor/ckeditor5-alignment/node_modules/@ckeditor/ckeditor5-core": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", - "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@ckeditor/ckeditor5-watchdog": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-alignment/node_modules/@ckeditor/ckeditor5-engine": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", - "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-utils": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-alignment/node_modules/@ckeditor/ckeditor5-ui": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", - "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@types/color-convert": "2.0.4", - "color-convert": "3.1.0", - "color-parse": "2.0.2", - "es-toolkit": "1.39.5", - "vanilla-colorful": "0.7.2" - } - }, - "node_modules/@ckeditor/ckeditor5-alignment/node_modules/@ckeditor/ckeditor5-utils": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", - "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-ui": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-alignment/node_modules/color-convert": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", - "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - }, - "engines": { - "node": ">=14.6" - } - }, - "node_modules/@ckeditor/ckeditor5-alignment/node_modules/color-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", - "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", - "license": "MIT", - "peer": true, - "engines": { - "node": ">=12.20" - } - }, - "node_modules/@ckeditor/ckeditor5-alignment/node_modules/color-parse": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", - "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - } - }, "node_modules/@ckeditor/ckeditor5-autoformat": { "version": "41.4.2", "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-autoformat/-/ckeditor5-autoformat-41.4.2.tgz", @@ -3060,107 +2958,6 @@ "@ckeditor/ckeditor5-word-count": "41.4.2" } }, - "node_modules/@ckeditor/ckeditor5-autosave": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-autosave/-/ckeditor5-autosave-47.2.0.tgz", - "integrity": "sha512-44nGL/M0qLURA1BEFkqZg6JzpjtvGyWJEluv728vb29JNQUGx0iNykjHBgtPX5s1Ztblx5ZwqFiuNiLkpmHptg==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "ckeditor5": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-autosave/node_modules/@ckeditor/ckeditor5-core": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", - "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@ckeditor/ckeditor5-watchdog": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-autosave/node_modules/@ckeditor/ckeditor5-engine": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", - "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-utils": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-autosave/node_modules/@ckeditor/ckeditor5-ui": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", - "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@types/color-convert": "2.0.4", - "color-convert": "3.1.0", - "color-parse": "2.0.2", - "es-toolkit": "1.39.5", - "vanilla-colorful": "0.7.2" - } - }, - "node_modules/@ckeditor/ckeditor5-autosave/node_modules/@ckeditor/ckeditor5-utils": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", - "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-ui": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-autosave/node_modules/color-convert": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", - "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - }, - "engines": { - "node": ">=14.6" - } - }, - "node_modules/@ckeditor/ckeditor5-autosave/node_modules/color-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", - "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", - "license": "MIT", - "peer": true, - "engines": { - "node": ">=12.20" - } - }, - "node_modules/@ckeditor/ckeditor5-autosave/node_modules/color-parse": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", - "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - } - }, "node_modules/@ckeditor/ckeditor5-basic-styles": { "version": "41.4.2", "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-basic-styles/-/ckeditor5-basic-styles-41.4.2.tgz", @@ -3985,164 +3782,6 @@ "@ckeditor/ckeditor5-word-count": "41.4.2" } }, - "node_modules/@ckeditor/ckeditor5-bookmark": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-bookmark/-/ckeditor5-bookmark-47.2.0.tgz", - "integrity": "sha512-FDFDZXm8MqktIt3x0WVrYFuXy9sxcCH31Cpa0/mV19lW8CzoCZCAfvXNzPWsz2eFo8qOsna2c/e55ax8OM/Ncg==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-link": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@ckeditor/ckeditor5-widget": "47.2.0", - "ckeditor5": "47.2.0" - } - }, - "node_modules/@ckeditor/ckeditor5-bookmark/node_modules/@ckeditor/ckeditor5-core": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", - "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@ckeditor/ckeditor5-watchdog": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-bookmark/node_modules/@ckeditor/ckeditor5-engine": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", - "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-utils": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-bookmark/node_modules/@ckeditor/ckeditor5-image": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-image/-/ckeditor5-image-47.2.0.tgz", - "integrity": "sha512-XbXvRS++kFku0l7GABhsribmQTBC/SOAfimDNKjg5rayhAXCfovys7YmmU0eicydpo4//fAaa8zvDYc8uXWZGA==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-clipboard": "47.2.0", - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-typing": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-undo": "47.2.0", - "@ckeditor/ckeditor5-upload": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@ckeditor/ckeditor5-widget": "47.2.0", - "ckeditor5": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-bookmark/node_modules/@ckeditor/ckeditor5-link": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-link/-/ckeditor5-link-47.2.0.tgz", - "integrity": "sha512-ijaF1Ic23FH9qulW2ZuaxecmdT0JuK/4XNkdaoRntloHiVZ/tFAu+o/6st/pDXfutDBmnEXwrNGVtzO/JTPhrw==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-clipboard": "47.2.0", - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-image": "47.2.0", - "@ckeditor/ckeditor5-typing": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@ckeditor/ckeditor5-widget": "47.2.0", - "ckeditor5": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-bookmark/node_modules/@ckeditor/ckeditor5-typing": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-typing/-/ckeditor5-typing-47.2.0.tgz", - "integrity": "sha512-BDJLlaX9SHFUfZegOEW7ZeJ0o/TBgabINNxa3CwtGuGBLHUAQ3IAFJ0Cd6jHq12J2kRDwiXZzvvgMyCH7jeeUQ==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-bookmark/node_modules/@ckeditor/ckeditor5-ui": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", - "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@types/color-convert": "2.0.4", - "color-convert": "3.1.0", - "color-parse": "2.0.2", - "es-toolkit": "1.39.5", - "vanilla-colorful": "0.7.2" - } - }, - "node_modules/@ckeditor/ckeditor5-bookmark/node_modules/@ckeditor/ckeditor5-utils": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", - "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-ui": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-bookmark/node_modules/color-convert": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", - "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - }, - "engines": { - "node": ">=14.6" - } - }, - "node_modules/@ckeditor/ckeditor5-bookmark/node_modules/color-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", - "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", - "license": "MIT", - "peer": true, - "engines": { - "node": ">=12.20" - } - }, - "node_modules/@ckeditor/ckeditor5-bookmark/node_modules/color-parse": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", - "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - } - }, "node_modules/@ckeditor/ckeditor5-build-balloon": { "version": "41.4.2", "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-build-balloon/-/ckeditor5-build-balloon-41.4.2.tgz", @@ -7155,109 +6794,6 @@ "@ckeditor/ckeditor5-word-count": "41.4.2" } }, - "node_modules/@ckeditor/ckeditor5-clipboard": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-clipboard/-/ckeditor5-clipboard-47.2.0.tgz", - "integrity": "sha512-x/ehXk+ga5tnumA8TenrZRU684DvpzzhTLfZScRxX3/3BJPYlFp7BWx60KJPQHKXYgb+I0qkQrgxuBXp83ed2g==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@ckeditor/ckeditor5-widget": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-clipboard/node_modules/@ckeditor/ckeditor5-core": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", - "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@ckeditor/ckeditor5-watchdog": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-clipboard/node_modules/@ckeditor/ckeditor5-engine": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", - "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-utils": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-clipboard/node_modules/@ckeditor/ckeditor5-ui": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", - "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@types/color-convert": "2.0.4", - "color-convert": "3.1.0", - "color-parse": "2.0.2", - "es-toolkit": "1.39.5", - "vanilla-colorful": "0.7.2" - } - }, - "node_modules/@ckeditor/ckeditor5-clipboard/node_modules/@ckeditor/ckeditor5-utils": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", - "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-ui": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-clipboard/node_modules/color-convert": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", - "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - }, - "engines": { - "node": ">=14.6" - } - }, - "node_modules/@ckeditor/ckeditor5-clipboard/node_modules/color-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", - "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", - "license": "MIT", - "peer": true, - "engines": { - "node": ">=12.20" - } - }, - "node_modules/@ckeditor/ckeditor5-clipboard/node_modules/color-parse": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", - "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - } - }, "node_modules/@ckeditor/ckeditor5-cloud-services": { "version": "41.4.2", "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-cloud-services/-/ckeditor5-cloud-services-41.4.2.tgz", @@ -7670,111 +7206,6 @@ "@ckeditor/ckeditor5-word-count": "41.4.2" } }, - "node_modules/@ckeditor/ckeditor5-code-block": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-code-block/-/ckeditor5-code-block-47.2.0.tgz", - "integrity": "sha512-8SH10L7i+wirkouDmg4MdBN4R3AZDyutsuSCwDPALoKSHQs7KlYB+8TJxcejt/dSBd0JWgrBi7rVu9Arkk3I1A==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-clipboard": "47.2.0", - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-enter": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "ckeditor5": "47.2.0" - } - }, - "node_modules/@ckeditor/ckeditor5-code-block/node_modules/@ckeditor/ckeditor5-core": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", - "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@ckeditor/ckeditor5-watchdog": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-code-block/node_modules/@ckeditor/ckeditor5-engine": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", - "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-utils": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-code-block/node_modules/@ckeditor/ckeditor5-ui": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", - "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@types/color-convert": "2.0.4", - "color-convert": "3.1.0", - "color-parse": "2.0.2", - "es-toolkit": "1.39.5", - "vanilla-colorful": "0.7.2" - } - }, - "node_modules/@ckeditor/ckeditor5-code-block/node_modules/@ckeditor/ckeditor5-utils": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", - "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-ui": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-code-block/node_modules/color-convert": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", - "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - }, - "engines": { - "node": ">=14.6" - } - }, - "node_modules/@ckeditor/ckeditor5-code-block/node_modules/color-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", - "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", - "license": "MIT", - "peer": true, - "engines": { - "node": ">=12.20" - } - }, - "node_modules/@ckeditor/ckeditor5-code-block/node_modules/color-parse": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", - "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - } - }, "node_modules/@ckeditor/ckeditor5-core": { "version": "41.4.2", "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-41.4.2.tgz", @@ -8198,109 +7629,6 @@ "@ckeditor/ckeditor5-word-count": "41.4.2" } }, - "node_modules/@ckeditor/ckeditor5-editor-balloon": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-editor-balloon/-/ckeditor5-editor-balloon-47.2.0.tgz", - "integrity": "sha512-szIx59pnw6kgxYuAyqecMnSlwtwWu2q23XV4TpKF/V3NlHs9ZeIFusTX3icO8JLQR4ExsYa0bsYpabGdZdx2Ug==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "ckeditor5": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-editor-balloon/node_modules/@ckeditor/ckeditor5-core": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", - "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@ckeditor/ckeditor5-watchdog": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-editor-balloon/node_modules/@ckeditor/ckeditor5-engine": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", - "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-utils": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-editor-balloon/node_modules/@ckeditor/ckeditor5-ui": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", - "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@types/color-convert": "2.0.4", - "color-convert": "3.1.0", - "color-parse": "2.0.2", - "es-toolkit": "1.39.5", - "vanilla-colorful": "0.7.2" - } - }, - "node_modules/@ckeditor/ckeditor5-editor-balloon/node_modules/@ckeditor/ckeditor5-utils": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", - "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-ui": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-editor-balloon/node_modules/color-convert": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", - "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - }, - "engines": { - "node": ">=14.6" - } - }, - "node_modules/@ckeditor/ckeditor5-editor-balloon/node_modules/color-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", - "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", - "license": "MIT", - "peer": true, - "engines": { - "node": ">=12.20" - } - }, - "node_modules/@ckeditor/ckeditor5-editor-balloon/node_modules/color-parse": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", - "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - } - }, "node_modules/@ckeditor/ckeditor5-editor-classic": { "version": "41.4.2", "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-editor-classic/-/ckeditor5-editor-classic-41.4.2.tgz", @@ -8714,434 +8042,6 @@ "@ckeditor/ckeditor5-word-count": "41.4.2" } }, - "node_modules/@ckeditor/ckeditor5-editor-decoupled": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-editor-decoupled/-/ckeditor5-editor-decoupled-47.2.0.tgz", - "integrity": "sha512-h1Yw6/XHeEe5aW/4VV0njAGe5nsuIBkARCun039noA+b2bq+Qb9bAExzaSHULf7nZW4HHVJMcYvb2HwcX8MZ6g==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "ckeditor5": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-editor-decoupled/node_modules/@ckeditor/ckeditor5-core": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", - "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@ckeditor/ckeditor5-watchdog": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-editor-decoupled/node_modules/@ckeditor/ckeditor5-engine": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", - "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-utils": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-editor-decoupled/node_modules/@ckeditor/ckeditor5-ui": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", - "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@types/color-convert": "2.0.4", - "color-convert": "3.1.0", - "color-parse": "2.0.2", - "es-toolkit": "1.39.5", - "vanilla-colorful": "0.7.2" - } - }, - "node_modules/@ckeditor/ckeditor5-editor-decoupled/node_modules/@ckeditor/ckeditor5-utils": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", - "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-ui": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-editor-decoupled/node_modules/color-convert": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", - "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - }, - "engines": { - "node": ">=14.6" - } - }, - "node_modules/@ckeditor/ckeditor5-editor-decoupled/node_modules/color-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", - "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", - "license": "MIT", - "peer": true, - "engines": { - "node": ">=12.20" - } - }, - "node_modules/@ckeditor/ckeditor5-editor-decoupled/node_modules/color-parse": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", - "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - } - }, - "node_modules/@ckeditor/ckeditor5-editor-inline": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-editor-inline/-/ckeditor5-editor-inline-47.2.0.tgz", - "integrity": "sha512-6kGG8Q4ggOim7KU/J3iMvmf5/faNjYL/ucg2RPMvzhH/eTqlZBlMdDid86b0YAW0fbKPvIIACifoOBHIGlcZyA==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "ckeditor5": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-editor-inline/node_modules/@ckeditor/ckeditor5-core": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", - "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@ckeditor/ckeditor5-watchdog": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-editor-inline/node_modules/@ckeditor/ckeditor5-engine": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", - "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-utils": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-editor-inline/node_modules/@ckeditor/ckeditor5-ui": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", - "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@types/color-convert": "2.0.4", - "color-convert": "3.1.0", - "color-parse": "2.0.2", - "es-toolkit": "1.39.5", - "vanilla-colorful": "0.7.2" - } - }, - "node_modules/@ckeditor/ckeditor5-editor-inline/node_modules/@ckeditor/ckeditor5-utils": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", - "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-ui": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-editor-inline/node_modules/color-convert": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", - "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - }, - "engines": { - "node": ">=14.6" - } - }, - "node_modules/@ckeditor/ckeditor5-editor-inline/node_modules/color-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", - "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", - "license": "MIT", - "peer": true, - "engines": { - "node": ">=12.20" - } - }, - "node_modules/@ckeditor/ckeditor5-editor-inline/node_modules/color-parse": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", - "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - } - }, - "node_modules/@ckeditor/ckeditor5-editor-multi-root": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-editor-multi-root/-/ckeditor5-editor-multi-root-47.2.0.tgz", - "integrity": "sha512-bIkPzkpLGznNnDLAuSkVNP+LfICLbUj80IdkVLB9KeXnuZ1WKYkLqBGfDv6y70iJnANAiiP6Z8EaucBNzfjS7g==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "ckeditor5": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-editor-multi-root/node_modules/@ckeditor/ckeditor5-core": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", - "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@ckeditor/ckeditor5-watchdog": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-editor-multi-root/node_modules/@ckeditor/ckeditor5-engine": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", - "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-utils": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-editor-multi-root/node_modules/@ckeditor/ckeditor5-ui": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", - "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@types/color-convert": "2.0.4", - "color-convert": "3.1.0", - "color-parse": "2.0.2", - "es-toolkit": "1.39.5", - "vanilla-colorful": "0.7.2" - } - }, - "node_modules/@ckeditor/ckeditor5-editor-multi-root/node_modules/@ckeditor/ckeditor5-utils": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", - "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-ui": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-editor-multi-root/node_modules/color-convert": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", - "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - }, - "engines": { - "node": ">=14.6" - } - }, - "node_modules/@ckeditor/ckeditor5-editor-multi-root/node_modules/color-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", - "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", - "license": "MIT", - "peer": true, - "engines": { - "node": ">=12.20" - } - }, - "node_modules/@ckeditor/ckeditor5-editor-multi-root/node_modules/color-parse": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", - "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - } - }, - "node_modules/@ckeditor/ckeditor5-emoji": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-emoji/-/ckeditor5-emoji-47.2.0.tgz", - "integrity": "sha512-pS1G0QVFOK2Z+BLrVmm6pVjFZRpkC95YgQeASuuIySLZBllYD3+tlys2lPt3el5PAd0IQB7s85XuTdbCXDFr6A==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-mention": "47.2.0", - "@ckeditor/ckeditor5-typing": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "ckeditor5": "47.2.0", - "es-toolkit": "1.39.5", - "fuzzysort": "3.1.0" - } - }, - "node_modules/@ckeditor/ckeditor5-emoji/node_modules/@ckeditor/ckeditor5-core": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", - "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@ckeditor/ckeditor5-watchdog": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-emoji/node_modules/@ckeditor/ckeditor5-engine": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", - "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-utils": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-emoji/node_modules/@ckeditor/ckeditor5-typing": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-typing/-/ckeditor5-typing-47.2.0.tgz", - "integrity": "sha512-BDJLlaX9SHFUfZegOEW7ZeJ0o/TBgabINNxa3CwtGuGBLHUAQ3IAFJ0Cd6jHq12J2kRDwiXZzvvgMyCH7jeeUQ==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-emoji/node_modules/@ckeditor/ckeditor5-ui": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", - "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@types/color-convert": "2.0.4", - "color-convert": "3.1.0", - "color-parse": "2.0.2", - "es-toolkit": "1.39.5", - "vanilla-colorful": "0.7.2" - } - }, - "node_modules/@ckeditor/ckeditor5-emoji/node_modules/@ckeditor/ckeditor5-utils": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", - "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-ui": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-emoji/node_modules/color-convert": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", - "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - }, - "engines": { - "node": ">=14.6" - } - }, - "node_modules/@ckeditor/ckeditor5-emoji/node_modules/color-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", - "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", - "license": "MIT", - "peer": true, - "engines": { - "node": ">=12.20" - } - }, - "node_modules/@ckeditor/ckeditor5-emoji/node_modules/color-parse": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", - "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - } - }, "node_modules/@ckeditor/ckeditor5-engine": { "version": "41.4.2", "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-41.4.2.tgz", @@ -9152,106 +8052,6 @@ "lodash-es": "4.17.21" } }, - "node_modules/@ckeditor/ckeditor5-enter": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-enter/-/ckeditor5-enter-47.2.0.tgz", - "integrity": "sha512-7ZHfrxDSs55IXgs5yAX6Nl8COY1dqefZ5HiWT/UM0cOP/4aMffp5I1yYYP7NVfBkTW9DlUoeAkHFTv2miTwclQ==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0" - } - }, - "node_modules/@ckeditor/ckeditor5-enter/node_modules/@ckeditor/ckeditor5-core": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", - "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@ckeditor/ckeditor5-watchdog": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-enter/node_modules/@ckeditor/ckeditor5-engine": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", - "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-utils": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-enter/node_modules/@ckeditor/ckeditor5-ui": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", - "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@types/color-convert": "2.0.4", - "color-convert": "3.1.0", - "color-parse": "2.0.2", - "es-toolkit": "1.39.5", - "vanilla-colorful": "0.7.2" - } - }, - "node_modules/@ckeditor/ckeditor5-enter/node_modules/@ckeditor/ckeditor5-utils": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", - "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-ui": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-enter/node_modules/color-convert": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", - "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - }, - "engines": { - "node": ">=14.6" - } - }, - "node_modules/@ckeditor/ckeditor5-enter/node_modules/color-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", - "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", - "license": "MIT", - "peer": true, - "engines": { - "node": ">=12.20" - } - }, - "node_modules/@ckeditor/ckeditor5-enter/node_modules/color-parse": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", - "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - } - }, "node_modules/@ckeditor/ckeditor5-essentials": { "version": "41.4.2", "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-essentials/-/ckeditor5-essentials-41.4.2.tgz", @@ -9664,331 +8464,6 @@ "@ckeditor/ckeditor5-word-count": "41.4.2" } }, - "node_modules/@ckeditor/ckeditor5-find-and-replace": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-find-and-replace/-/ckeditor5-find-and-replace-47.2.0.tgz", - "integrity": "sha512-34Uzpbxi+/eJx/0CR9/T92wDaw67KLaYcm39+RY4OUCxC9EywEFruIJEg/M/Xu4iTVjdVKbpQ3ovGBuciiL1vQ==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "ckeditor5": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-find-and-replace/node_modules/@ckeditor/ckeditor5-core": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", - "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@ckeditor/ckeditor5-watchdog": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-find-and-replace/node_modules/@ckeditor/ckeditor5-engine": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", - "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-utils": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-find-and-replace/node_modules/@ckeditor/ckeditor5-ui": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", - "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@types/color-convert": "2.0.4", - "color-convert": "3.1.0", - "color-parse": "2.0.2", - "es-toolkit": "1.39.5", - "vanilla-colorful": "0.7.2" - } - }, - "node_modules/@ckeditor/ckeditor5-find-and-replace/node_modules/@ckeditor/ckeditor5-utils": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", - "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-ui": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-find-and-replace/node_modules/color-convert": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", - "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - }, - "engines": { - "node": ">=14.6" - } - }, - "node_modules/@ckeditor/ckeditor5-find-and-replace/node_modules/color-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", - "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", - "license": "MIT", - "peer": true, - "engines": { - "node": ">=12.20" - } - }, - "node_modules/@ckeditor/ckeditor5-find-and-replace/node_modules/color-parse": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", - "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - } - }, - "node_modules/@ckeditor/ckeditor5-font": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-font/-/ckeditor5-font-47.2.0.tgz", - "integrity": "sha512-X/AYeNHc3Hibd56OfPwOEdYRIGX3eWtGQ/qIAEVkS2xCEDPhM0fTHpLTEpDsMukw9NRAqmhnQHIp2amGaOwY8g==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "ckeditor5": "47.2.0" - } - }, - "node_modules/@ckeditor/ckeditor5-font/node_modules/@ckeditor/ckeditor5-core": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", - "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@ckeditor/ckeditor5-watchdog": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-font/node_modules/@ckeditor/ckeditor5-engine": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", - "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-utils": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-font/node_modules/@ckeditor/ckeditor5-ui": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", - "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@types/color-convert": "2.0.4", - "color-convert": "3.1.0", - "color-parse": "2.0.2", - "es-toolkit": "1.39.5", - "vanilla-colorful": "0.7.2" - } - }, - "node_modules/@ckeditor/ckeditor5-font/node_modules/@ckeditor/ckeditor5-utils": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", - "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-ui": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-font/node_modules/color-convert": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", - "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - }, - "engines": { - "node": ">=14.6" - } - }, - "node_modules/@ckeditor/ckeditor5-font/node_modules/color-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", - "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", - "license": "MIT", - "peer": true, - "engines": { - "node": ">=12.20" - } - }, - "node_modules/@ckeditor/ckeditor5-font/node_modules/color-parse": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", - "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - } - }, - "node_modules/@ckeditor/ckeditor5-fullscreen": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-fullscreen/-/ckeditor5-fullscreen-47.2.0.tgz", - "integrity": "sha512-Kf//0eQIuslGNVSbNkHXBELn/jZT+OsTIeo8PulZEbVI5do0vB/52w0F40rhgk8EudlGTxEmMOi0x/jrdR0MHg==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-editor-classic": "47.2.0", - "@ckeditor/ckeditor5-editor-decoupled": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "ckeditor5": "47.2.0" - } - }, - "node_modules/@ckeditor/ckeditor5-fullscreen/node_modules/@ckeditor/ckeditor5-core": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", - "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@ckeditor/ckeditor5-watchdog": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-fullscreen/node_modules/@ckeditor/ckeditor5-editor-classic": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-editor-classic/-/ckeditor5-editor-classic-47.2.0.tgz", - "integrity": "sha512-fYy4RKmvM4kYvUgCRuBdUqVLE8ts1Kj4q1Caaq5VZyBudmaj/RZqQBSdiu5pZgKMdj1oMaIQ5Gextg96iJ3LTw==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "ckeditor5": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-fullscreen/node_modules/@ckeditor/ckeditor5-engine": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", - "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-utils": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-fullscreen/node_modules/@ckeditor/ckeditor5-ui": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", - "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@types/color-convert": "2.0.4", - "color-convert": "3.1.0", - "color-parse": "2.0.2", - "es-toolkit": "1.39.5", - "vanilla-colorful": "0.7.2" - } - }, - "node_modules/@ckeditor/ckeditor5-fullscreen/node_modules/@ckeditor/ckeditor5-utils": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", - "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-ui": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-fullscreen/node_modules/color-convert": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", - "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - }, - "engines": { - "node": ">=14.6" - } - }, - "node_modules/@ckeditor/ckeditor5-fullscreen/node_modules/color-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", - "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", - "license": "MIT", - "peer": true, - "engines": { - "node": ">=12.20" - } - }, - "node_modules/@ckeditor/ckeditor5-fullscreen/node_modules/color-parse": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", - "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - } - }, "node_modules/@ckeditor/ckeditor5-heading": { "version": "41.4.2", "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-heading/-/ckeditor5-heading-41.4.2.tgz", @@ -10401,531 +8876,6 @@ "@ckeditor/ckeditor5-word-count": "41.4.2" } }, - "node_modules/@ckeditor/ckeditor5-highlight": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-highlight/-/ckeditor5-highlight-47.2.0.tgz", - "integrity": "sha512-Fp59HRybXJpJl/DtliMTjiVrIA95jmm0SptvXtIucD0hdP9ZX6TOFPTzrRl29LZGITNuYDulPqvNTpFoechRmQ==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "ckeditor5": "47.2.0" - } - }, - "node_modules/@ckeditor/ckeditor5-highlight/node_modules/@ckeditor/ckeditor5-core": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", - "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@ckeditor/ckeditor5-watchdog": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-highlight/node_modules/@ckeditor/ckeditor5-engine": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", - "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-utils": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-highlight/node_modules/@ckeditor/ckeditor5-ui": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", - "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@types/color-convert": "2.0.4", - "color-convert": "3.1.0", - "color-parse": "2.0.2", - "es-toolkit": "1.39.5", - "vanilla-colorful": "0.7.2" - } - }, - "node_modules/@ckeditor/ckeditor5-highlight/node_modules/@ckeditor/ckeditor5-utils": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", - "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-ui": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-highlight/node_modules/color-convert": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", - "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - }, - "engines": { - "node": ">=14.6" - } - }, - "node_modules/@ckeditor/ckeditor5-highlight/node_modules/color-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", - "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", - "license": "MIT", - "peer": true, - "engines": { - "node": ">=12.20" - } - }, - "node_modules/@ckeditor/ckeditor5-highlight/node_modules/color-parse": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", - "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - } - }, - "node_modules/@ckeditor/ckeditor5-horizontal-line": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-horizontal-line/-/ckeditor5-horizontal-line-47.2.0.tgz", - "integrity": "sha512-/DHVMhI9vNs/NI+NQBbUXdzsXHj9hGKihtNDmbV5UP3Hy7l32Gv8k9nJVnBlDbBbHI6Wpxjj6GUxAiLZ46mc1Q==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@ckeditor/ckeditor5-widget": "47.2.0", - "ckeditor5": "47.2.0" - } - }, - "node_modules/@ckeditor/ckeditor5-horizontal-line/node_modules/@ckeditor/ckeditor5-core": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", - "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@ckeditor/ckeditor5-watchdog": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-horizontal-line/node_modules/@ckeditor/ckeditor5-engine": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", - "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-utils": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-horizontal-line/node_modules/@ckeditor/ckeditor5-ui": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", - "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@types/color-convert": "2.0.4", - "color-convert": "3.1.0", - "color-parse": "2.0.2", - "es-toolkit": "1.39.5", - "vanilla-colorful": "0.7.2" - } - }, - "node_modules/@ckeditor/ckeditor5-horizontal-line/node_modules/@ckeditor/ckeditor5-utils": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", - "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-ui": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-horizontal-line/node_modules/color-convert": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", - "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - }, - "engines": { - "node": ">=14.6" - } - }, - "node_modules/@ckeditor/ckeditor5-horizontal-line/node_modules/color-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", - "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", - "license": "MIT", - "peer": true, - "engines": { - "node": ">=12.20" - } - }, - "node_modules/@ckeditor/ckeditor5-horizontal-line/node_modules/color-parse": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", - "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - } - }, - "node_modules/@ckeditor/ckeditor5-html-embed": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-html-embed/-/ckeditor5-html-embed-47.2.0.tgz", - "integrity": "sha512-VhI789/KDKmQhz9nQqq64odOtLpwjJbPQ/Pf54J2d7AGDvbuNVkjAMVdj5xXXzb/nXdys6zM8lPQZfQGI/Ya8A==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@ckeditor/ckeditor5-widget": "47.2.0", - "ckeditor5": "47.2.0" - } - }, - "node_modules/@ckeditor/ckeditor5-html-embed/node_modules/@ckeditor/ckeditor5-core": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", - "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@ckeditor/ckeditor5-watchdog": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-html-embed/node_modules/@ckeditor/ckeditor5-engine": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", - "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-utils": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-html-embed/node_modules/@ckeditor/ckeditor5-ui": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", - "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@types/color-convert": "2.0.4", - "color-convert": "3.1.0", - "color-parse": "2.0.2", - "es-toolkit": "1.39.5", - "vanilla-colorful": "0.7.2" - } - }, - "node_modules/@ckeditor/ckeditor5-html-embed/node_modules/@ckeditor/ckeditor5-utils": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", - "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-ui": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-html-embed/node_modules/color-convert": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", - "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - }, - "engines": { - "node": ">=14.6" - } - }, - "node_modules/@ckeditor/ckeditor5-html-embed/node_modules/color-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", - "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", - "license": "MIT", - "peer": true, - "engines": { - "node": ">=12.20" - } - }, - "node_modules/@ckeditor/ckeditor5-html-embed/node_modules/color-parse": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", - "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - } - }, - "node_modules/@ckeditor/ckeditor5-html-support": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-html-support/-/ckeditor5-html-support-47.2.0.tgz", - "integrity": "sha512-IwaFBdv0qQQXfnA1LHL2BVQoioNJa9T8NIKDq2OG3mXg02jJvhJl84QADJ0ro36igjKsyfttsl8lM1pf00XAhA==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-enter": "47.2.0", - "@ckeditor/ckeditor5-heading": "47.2.0", - "@ckeditor/ckeditor5-image": "47.2.0", - "@ckeditor/ckeditor5-list": "47.2.0", - "@ckeditor/ckeditor5-remove-format": "47.2.0", - "@ckeditor/ckeditor5-table": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@ckeditor/ckeditor5-widget": "47.2.0", - "ckeditor5": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-html-support/node_modules/@ckeditor/ckeditor5-core": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", - "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@ckeditor/ckeditor5-watchdog": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-html-support/node_modules/@ckeditor/ckeditor5-engine": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", - "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-utils": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-html-support/node_modules/@ckeditor/ckeditor5-heading": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-heading/-/ckeditor5-heading-47.2.0.tgz", - "integrity": "sha512-m1zSERVh7gdVXwLLYgcAsy7lkIOuadmA5YuwyPpR/g3oa0j1gcuNm5y/73MTOPflPUn0g0Y9DzocF2G1WY2NiQ==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-paragraph": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "ckeditor5": "47.2.0" - } - }, - "node_modules/@ckeditor/ckeditor5-html-support/node_modules/@ckeditor/ckeditor5-image": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-image/-/ckeditor5-image-47.2.0.tgz", - "integrity": "sha512-XbXvRS++kFku0l7GABhsribmQTBC/SOAfimDNKjg5rayhAXCfovys7YmmU0eicydpo4//fAaa8zvDYc8uXWZGA==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-clipboard": "47.2.0", - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-typing": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-undo": "47.2.0", - "@ckeditor/ckeditor5-upload": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@ckeditor/ckeditor5-widget": "47.2.0", - "ckeditor5": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-html-support/node_modules/@ckeditor/ckeditor5-list": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-list/-/ckeditor5-list-47.2.0.tgz", - "integrity": "sha512-PDjTQLn2CqrZ4XuAAJWY2vA5bkVu8UHKQZa1+ddfS4FbvfF2QR3eDX5axywpuaCb2Dm2ZQoqxpA5GQmt1fUehg==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-clipboard": "47.2.0", - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-enter": "47.2.0", - "@ckeditor/ckeditor5-font": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-typing": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "ckeditor5": "47.2.0" - } - }, - "node_modules/@ckeditor/ckeditor5-html-support/node_modules/@ckeditor/ckeditor5-paragraph": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-paragraph/-/ckeditor5-paragraph-47.2.0.tgz", - "integrity": "sha512-x6nqRQjlAcOhirOE9umNdK8WckWcz7JPVU7IlPTzlrVAYCq+wiz6rgpuh4COUHnee4c31fF21On+OVyqgu7JvQ==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0" - } - }, - "node_modules/@ckeditor/ckeditor5-html-support/node_modules/@ckeditor/ckeditor5-table": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-table/-/ckeditor5-table-47.2.0.tgz", - "integrity": "sha512-zxNHpl4L7HsOLCYiKrbyyHoM2dMGetgP4eTjYyWfn9gf+ydVs7o+LJVN5bsWt3J4ToamCj5G7VHZUmqUcPbN6A==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-clipboard": "47.2.0", - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@ckeditor/ckeditor5-widget": "47.2.0", - "ckeditor5": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-html-support/node_modules/@ckeditor/ckeditor5-typing": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-typing/-/ckeditor5-typing-47.2.0.tgz", - "integrity": "sha512-BDJLlaX9SHFUfZegOEW7ZeJ0o/TBgabINNxa3CwtGuGBLHUAQ3IAFJ0Cd6jHq12J2kRDwiXZzvvgMyCH7jeeUQ==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-html-support/node_modules/@ckeditor/ckeditor5-ui": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", - "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@types/color-convert": "2.0.4", - "color-convert": "3.1.0", - "color-parse": "2.0.2", - "es-toolkit": "1.39.5", - "vanilla-colorful": "0.7.2" - } - }, - "node_modules/@ckeditor/ckeditor5-html-support/node_modules/@ckeditor/ckeditor5-utils": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", - "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-ui": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-html-support/node_modules/color-convert": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", - "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - }, - "engines": { - "node": ">=14.6" - } - }, - "node_modules/@ckeditor/ckeditor5-html-support/node_modules/color-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", - "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", - "license": "MIT", - "peer": true, - "engines": { - "node": ">=12.20" - } - }, - "node_modules/@ckeditor/ckeditor5-html-support/node_modules/color-parse": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", - "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - } - }, - "node_modules/@ckeditor/ckeditor5-icons": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-icons/-/ckeditor5-icons-47.2.0.tgz", - "integrity": "sha512-9rxAWNQEjZBHyMBQ8XXwfa+ubPBzQntd+nkWBAGTK6ddqHZIaQLsiLrUAdR5tyKKK9tnTkwyx1jycGRspZnoxw==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true - }, "node_modules/@ckeditor/ckeditor5-image": { "version": "41.4.2", "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-image/-/ckeditor5-image-41.4.2.tgz", @@ -11764,107 +9714,6 @@ "ckeditor5": ">=42.0.0 || ^0.0.0-nightly" } }, - "node_modules/@ckeditor/ckeditor5-language": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-language/-/ckeditor5-language-47.2.0.tgz", - "integrity": "sha512-kc5MqQnvQtUPuvRJfdqXHQZNQyHVy/ZZv5laPY1AKrsKqc5SJO4y3v//4yHvdn45V4QKLwMOy4yC365Sdq0UpA==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "ckeditor5": "47.2.0" - } - }, - "node_modules/@ckeditor/ckeditor5-language/node_modules/@ckeditor/ckeditor5-core": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", - "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@ckeditor/ckeditor5-watchdog": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-language/node_modules/@ckeditor/ckeditor5-engine": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", - "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-utils": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-language/node_modules/@ckeditor/ckeditor5-ui": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", - "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@types/color-convert": "2.0.4", - "color-convert": "3.1.0", - "color-parse": "2.0.2", - "es-toolkit": "1.39.5", - "vanilla-colorful": "0.7.2" - } - }, - "node_modules/@ckeditor/ckeditor5-language/node_modules/@ckeditor/ckeditor5-utils": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", - "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-ui": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-language/node_modules/color-convert": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", - "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - }, - "engines": { - "node": ">=14.6" - } - }, - "node_modules/@ckeditor/ckeditor5-language/node_modules/color-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", - "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", - "license": "MIT", - "peer": true, - "engines": { - "node": ">=12.20" - } - }, - "node_modules/@ckeditor/ckeditor5-language/node_modules/color-parse": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", - "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - } - }, "node_modules/@ckeditor/ckeditor5-link": { "version": "41.4.2", "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-link/-/ckeditor5-link-41.4.2.tgz", @@ -12691,122 +10540,6 @@ "@ckeditor/ckeditor5-word-count": "41.4.2" } }, - "node_modules/@ckeditor/ckeditor5-markdown-gfm": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-markdown-gfm/-/ckeditor5-markdown-gfm-47.2.0.tgz", - "integrity": "sha512-mt47/GMxrsAL3u/aBjOuH5ETSLH0knoYJpchYb7sXzIuQlY7xPqvcONyD9700TAN30FV7qpOVKUqI7tRyLL5uA==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-clipboard": "47.2.0", - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@types/hast": "3.0.4", - "ckeditor5": "47.2.0", - "hast-util-from-dom": "5.0.1", - "hast-util-to-html": "9.0.5", - "hast-util-to-mdast": "10.1.2", - "hastscript": "9.0.1", - "rehype-dom-parse": "5.0.2", - "rehype-dom-stringify": "4.0.2", - "rehype-remark": "10.0.1", - "remark-breaks": "4.0.0", - "remark-gfm": "4.0.1", - "remark-parse": "11.0.0", - "remark-rehype": "11.1.2", - "remark-stringify": "11.0.0", - "unified": "11.0.5", - "unist-util-visit": "5.0.0" - } - }, - "node_modules/@ckeditor/ckeditor5-markdown-gfm/node_modules/@ckeditor/ckeditor5-core": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", - "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@ckeditor/ckeditor5-watchdog": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-markdown-gfm/node_modules/@ckeditor/ckeditor5-engine": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", - "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-utils": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-markdown-gfm/node_modules/@ckeditor/ckeditor5-ui": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", - "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@types/color-convert": "2.0.4", - "color-convert": "3.1.0", - "color-parse": "2.0.2", - "es-toolkit": "1.39.5", - "vanilla-colorful": "0.7.2" - } - }, - "node_modules/@ckeditor/ckeditor5-markdown-gfm/node_modules/@ckeditor/ckeditor5-utils": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", - "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-ui": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-markdown-gfm/node_modules/color-convert": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", - "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - }, - "engines": { - "node": ">=14.6" - } - }, - "node_modules/@ckeditor/ckeditor5-markdown-gfm/node_modules/color-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", - "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", - "license": "MIT", - "peer": true, - "engines": { - "node": ">=12.20" - } - }, - "node_modules/@ckeditor/ckeditor5-markdown-gfm/node_modules/color-parse": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", - "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - } - }, "node_modules/@ckeditor/ckeditor5-media-embed": { "version": "41.4.2", "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-media-embed/-/ckeditor5-media-embed-41.4.2.tgz", @@ -13220,327 +10953,6 @@ "@ckeditor/ckeditor5-word-count": "41.4.2" } }, - "node_modules/@ckeditor/ckeditor5-mention": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-mention/-/ckeditor5-mention-47.2.0.tgz", - "integrity": "sha512-ZPvVwEQxcCUI0SvJa28JUULww/SCXiiZpfnMtaneMxsIOqesAFxPqMXA9HkyLotikuK1sezu5XzgJ2S5gdqw3A==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-typing": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "ckeditor5": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-mention/node_modules/@ckeditor/ckeditor5-core": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", - "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@ckeditor/ckeditor5-watchdog": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-mention/node_modules/@ckeditor/ckeditor5-engine": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", - "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-utils": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-mention/node_modules/@ckeditor/ckeditor5-typing": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-typing/-/ckeditor5-typing-47.2.0.tgz", - "integrity": "sha512-BDJLlaX9SHFUfZegOEW7ZeJ0o/TBgabINNxa3CwtGuGBLHUAQ3IAFJ0Cd6jHq12J2kRDwiXZzvvgMyCH7jeeUQ==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-mention/node_modules/@ckeditor/ckeditor5-ui": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", - "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@types/color-convert": "2.0.4", - "color-convert": "3.1.0", - "color-parse": "2.0.2", - "es-toolkit": "1.39.5", - "vanilla-colorful": "0.7.2" - } - }, - "node_modules/@ckeditor/ckeditor5-mention/node_modules/@ckeditor/ckeditor5-utils": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", - "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-ui": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-mention/node_modules/color-convert": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", - "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - }, - "engines": { - "node": ">=14.6" - } - }, - "node_modules/@ckeditor/ckeditor5-mention/node_modules/color-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", - "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", - "license": "MIT", - "peer": true, - "engines": { - "node": ">=12.20" - } - }, - "node_modules/@ckeditor/ckeditor5-mention/node_modules/color-parse": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", - "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - } - }, - "node_modules/@ckeditor/ckeditor5-minimap": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-minimap/-/ckeditor5-minimap-47.2.0.tgz", - "integrity": "sha512-Th6HspywP3JeGBMRUmpAuIyFa8XtrpMiGdsjazlKcHaitT6bHBTzaTjaWVnOuVY3gBdFAKsalv2ZEk8vIPqkhg==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "ckeditor5": "47.2.0" - } - }, - "node_modules/@ckeditor/ckeditor5-minimap/node_modules/@ckeditor/ckeditor5-core": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", - "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@ckeditor/ckeditor5-watchdog": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-minimap/node_modules/@ckeditor/ckeditor5-engine": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", - "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-utils": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-minimap/node_modules/@ckeditor/ckeditor5-ui": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", - "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@types/color-convert": "2.0.4", - "color-convert": "3.1.0", - "color-parse": "2.0.2", - "es-toolkit": "1.39.5", - "vanilla-colorful": "0.7.2" - } - }, - "node_modules/@ckeditor/ckeditor5-minimap/node_modules/@ckeditor/ckeditor5-utils": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", - "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-ui": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-minimap/node_modules/color-convert": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", - "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - }, - "engines": { - "node": ">=14.6" - } - }, - "node_modules/@ckeditor/ckeditor5-minimap/node_modules/color-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", - "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", - "license": "MIT", - "peer": true, - "engines": { - "node": ">=12.20" - } - }, - "node_modules/@ckeditor/ckeditor5-minimap/node_modules/color-parse": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", - "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - } - }, - "node_modules/@ckeditor/ckeditor5-page-break": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-page-break/-/ckeditor5-page-break-47.2.0.tgz", - "integrity": "sha512-DosfUorg3wZ3a6yM/ymsJQ1E2Rbqi08RFOQ4oQLPPAi2VRdTLt0BiqQPFMKJmy2T2k5K4TLc7bs0s3E96aQyXg==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@ckeditor/ckeditor5-widget": "47.2.0", - "ckeditor5": "47.2.0" - } - }, - "node_modules/@ckeditor/ckeditor5-page-break/node_modules/@ckeditor/ckeditor5-core": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", - "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@ckeditor/ckeditor5-watchdog": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-page-break/node_modules/@ckeditor/ckeditor5-engine": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", - "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-utils": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-page-break/node_modules/@ckeditor/ckeditor5-ui": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", - "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@types/color-convert": "2.0.4", - "color-convert": "3.1.0", - "color-parse": "2.0.2", - "es-toolkit": "1.39.5", - "vanilla-colorful": "0.7.2" - } - }, - "node_modules/@ckeditor/ckeditor5-page-break/node_modules/@ckeditor/ckeditor5-utils": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", - "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-ui": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-page-break/node_modules/color-convert": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", - "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - }, - "engines": { - "node": ">=14.6" - } - }, - "node_modules/@ckeditor/ckeditor5-page-break/node_modules/color-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", - "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", - "license": "MIT", - "peer": true, - "engines": { - "node": ">=12.20" - } - }, - "node_modules/@ckeditor/ckeditor5-page-break/node_modules/color-parse": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", - "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - } - }, "node_modules/@ckeditor/ckeditor5-paragraph": { "version": "41.4.2", "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-paragraph/-/ckeditor5-paragraph-41.4.2.tgz", @@ -13977,790 +11389,6 @@ "react": "^16.13.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, - "node_modules/@ckeditor/ckeditor5-remove-format": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-remove-format/-/ckeditor5-remove-format-47.2.0.tgz", - "integrity": "sha512-CRWs7Osok8k3Oi2N7RvA12ECxi47wIyrDTsJ3lJYo8zDIbZdOXlv5o+In+mbsZ7lzNKLhKMAgRcF/PrGWcAaUg==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "ckeditor5": "47.2.0" - } - }, - "node_modules/@ckeditor/ckeditor5-remove-format/node_modules/@ckeditor/ckeditor5-core": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", - "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@ckeditor/ckeditor5-watchdog": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-remove-format/node_modules/@ckeditor/ckeditor5-engine": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", - "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-utils": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-remove-format/node_modules/@ckeditor/ckeditor5-ui": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", - "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@types/color-convert": "2.0.4", - "color-convert": "3.1.0", - "color-parse": "2.0.2", - "es-toolkit": "1.39.5", - "vanilla-colorful": "0.7.2" - } - }, - "node_modules/@ckeditor/ckeditor5-remove-format/node_modules/@ckeditor/ckeditor5-utils": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", - "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-ui": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-remove-format/node_modules/color-convert": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", - "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - }, - "engines": { - "node": ">=14.6" - } - }, - "node_modules/@ckeditor/ckeditor5-remove-format/node_modules/color-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", - "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", - "license": "MIT", - "peer": true, - "engines": { - "node": ">=12.20" - } - }, - "node_modules/@ckeditor/ckeditor5-remove-format/node_modules/color-parse": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", - "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - } - }, - "node_modules/@ckeditor/ckeditor5-restricted-editing": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-restricted-editing/-/ckeditor5-restricted-editing-47.2.0.tgz", - "integrity": "sha512-ziFgoZCHaHzzrLeQ6XIlrcEazoGF6IC2+qzxGnO1A1NKY/8WVLmokKFLmUgDMnPLrhvz5Qqldj0dSS2pKhj6QQ==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "ckeditor5": "47.2.0" - } - }, - "node_modules/@ckeditor/ckeditor5-restricted-editing/node_modules/@ckeditor/ckeditor5-core": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", - "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@ckeditor/ckeditor5-watchdog": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-restricted-editing/node_modules/@ckeditor/ckeditor5-engine": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", - "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-utils": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-restricted-editing/node_modules/@ckeditor/ckeditor5-ui": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", - "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@types/color-convert": "2.0.4", - "color-convert": "3.1.0", - "color-parse": "2.0.2", - "es-toolkit": "1.39.5", - "vanilla-colorful": "0.7.2" - } - }, - "node_modules/@ckeditor/ckeditor5-restricted-editing/node_modules/@ckeditor/ckeditor5-utils": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", - "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-ui": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-restricted-editing/node_modules/color-convert": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", - "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - }, - "engines": { - "node": ">=14.6" - } - }, - "node_modules/@ckeditor/ckeditor5-restricted-editing/node_modules/color-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", - "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", - "license": "MIT", - "peer": true, - "engines": { - "node": ">=12.20" - } - }, - "node_modules/@ckeditor/ckeditor5-restricted-editing/node_modules/color-parse": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", - "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - } - }, - "node_modules/@ckeditor/ckeditor5-select-all": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-select-all/-/ckeditor5-select-all-47.2.0.tgz", - "integrity": "sha512-4kswe9jmKp6y1hTwWfJBxF8XuX1pgZxraAlm+ugJLhjsus/vGBVXBFNN7kH+RoNxC6tf1ZXly69dGTG4P/nXrg==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0" - } - }, - "node_modules/@ckeditor/ckeditor5-select-all/node_modules/@ckeditor/ckeditor5-core": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", - "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@ckeditor/ckeditor5-watchdog": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-select-all/node_modules/@ckeditor/ckeditor5-engine": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", - "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-utils": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-select-all/node_modules/@ckeditor/ckeditor5-ui": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", - "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@types/color-convert": "2.0.4", - "color-convert": "3.1.0", - "color-parse": "2.0.2", - "es-toolkit": "1.39.5", - "vanilla-colorful": "0.7.2" - } - }, - "node_modules/@ckeditor/ckeditor5-select-all/node_modules/@ckeditor/ckeditor5-utils": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", - "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-ui": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-select-all/node_modules/color-convert": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", - "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - }, - "engines": { - "node": ">=14.6" - } - }, - "node_modules/@ckeditor/ckeditor5-select-all/node_modules/color-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", - "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", - "license": "MIT", - "peer": true, - "engines": { - "node": ">=12.20" - } - }, - "node_modules/@ckeditor/ckeditor5-select-all/node_modules/color-parse": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", - "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - } - }, - "node_modules/@ckeditor/ckeditor5-show-blocks": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-show-blocks/-/ckeditor5-show-blocks-47.2.0.tgz", - "integrity": "sha512-eIzvA5zQEWNGVXhkCTYVfw32tpsFEx4nTPAVpsFEv0hb1sAMaOv5fIoFmwcx/C8CmN9sBiZtuovXGM5i/pwoTQ==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "ckeditor5": "47.2.0" - } - }, - "node_modules/@ckeditor/ckeditor5-show-blocks/node_modules/@ckeditor/ckeditor5-core": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", - "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@ckeditor/ckeditor5-watchdog": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-show-blocks/node_modules/@ckeditor/ckeditor5-engine": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", - "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-utils": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-show-blocks/node_modules/@ckeditor/ckeditor5-ui": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", - "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@types/color-convert": "2.0.4", - "color-convert": "3.1.0", - "color-parse": "2.0.2", - "es-toolkit": "1.39.5", - "vanilla-colorful": "0.7.2" - } - }, - "node_modules/@ckeditor/ckeditor5-show-blocks/node_modules/@ckeditor/ckeditor5-utils": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", - "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-ui": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-show-blocks/node_modules/color-convert": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", - "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - }, - "engines": { - "node": ">=14.6" - } - }, - "node_modules/@ckeditor/ckeditor5-show-blocks/node_modules/color-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", - "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", - "license": "MIT", - "peer": true, - "engines": { - "node": ">=12.20" - } - }, - "node_modules/@ckeditor/ckeditor5-show-blocks/node_modules/color-parse": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", - "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - } - }, - "node_modules/@ckeditor/ckeditor5-source-editing": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-source-editing/-/ckeditor5-source-editing-47.2.0.tgz", - "integrity": "sha512-B82fbUiTBWYR3XTfUk/30Hsk9PAmPkmraKNJKGDoch0NXduPz8ehpCwbnrJdIvm7pozbgB11RjWzq56VcBX2Qw==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-theme-lark": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "ckeditor5": "47.2.0" - } - }, - "node_modules/@ckeditor/ckeditor5-source-editing/node_modules/@ckeditor/ckeditor5-core": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", - "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@ckeditor/ckeditor5-watchdog": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-source-editing/node_modules/@ckeditor/ckeditor5-engine": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", - "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-utils": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-source-editing/node_modules/@ckeditor/ckeditor5-ui": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", - "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@types/color-convert": "2.0.4", - "color-convert": "3.1.0", - "color-parse": "2.0.2", - "es-toolkit": "1.39.5", - "vanilla-colorful": "0.7.2" - } - }, - "node_modules/@ckeditor/ckeditor5-source-editing/node_modules/@ckeditor/ckeditor5-utils": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", - "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-ui": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-source-editing/node_modules/color-convert": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", - "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - }, - "engines": { - "node": ">=14.6" - } - }, - "node_modules/@ckeditor/ckeditor5-source-editing/node_modules/color-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", - "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", - "license": "MIT", - "peer": true, - "engines": { - "node": ">=12.20" - } - }, - "node_modules/@ckeditor/ckeditor5-source-editing/node_modules/color-parse": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", - "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - } - }, - "node_modules/@ckeditor/ckeditor5-special-characters": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-special-characters/-/ckeditor5-special-characters-47.2.0.tgz", - "integrity": "sha512-aH1E1SEMRUF6gMdqPuFeDZvZRCUNJ/n8RWwXHFicsJArYDGOiATxVZQZbwk50duAsWcxxj0uTSHGwFXBL9evyQ==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-typing": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "ckeditor5": "47.2.0" - } - }, - "node_modules/@ckeditor/ckeditor5-special-characters/node_modules/@ckeditor/ckeditor5-core": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", - "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@ckeditor/ckeditor5-watchdog": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-special-characters/node_modules/@ckeditor/ckeditor5-engine": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", - "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-utils": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-special-characters/node_modules/@ckeditor/ckeditor5-typing": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-typing/-/ckeditor5-typing-47.2.0.tgz", - "integrity": "sha512-BDJLlaX9SHFUfZegOEW7ZeJ0o/TBgabINNxa3CwtGuGBLHUAQ3IAFJ0Cd6jHq12J2kRDwiXZzvvgMyCH7jeeUQ==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-special-characters/node_modules/@ckeditor/ckeditor5-ui": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", - "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@types/color-convert": "2.0.4", - "color-convert": "3.1.0", - "color-parse": "2.0.2", - "es-toolkit": "1.39.5", - "vanilla-colorful": "0.7.2" - } - }, - "node_modules/@ckeditor/ckeditor5-special-characters/node_modules/@ckeditor/ckeditor5-utils": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", - "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-ui": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-special-characters/node_modules/color-convert": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", - "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - }, - "engines": { - "node": ">=14.6" - } - }, - "node_modules/@ckeditor/ckeditor5-special-characters/node_modules/color-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", - "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", - "license": "MIT", - "peer": true, - "engines": { - "node": ">=12.20" - } - }, - "node_modules/@ckeditor/ckeditor5-special-characters/node_modules/color-parse": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", - "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - } - }, - "node_modules/@ckeditor/ckeditor5-style": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-style/-/ckeditor5-style-47.2.0.tgz", - "integrity": "sha512-XAIl8oNHpFxTRbGIE+2vpKLgrP3VnknUTyasvL/HeS3iUHKLDRlh9d3ghozhuUqQaF5rnkzUQEBv/fv+4u3Y7A==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-html-support": "47.2.0", - "@ckeditor/ckeditor5-list": "47.2.0", - "@ckeditor/ckeditor5-table": "47.2.0", - "@ckeditor/ckeditor5-typing": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "ckeditor5": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-style/node_modules/@ckeditor/ckeditor5-core": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", - "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@ckeditor/ckeditor5-watchdog": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-style/node_modules/@ckeditor/ckeditor5-engine": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", - "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-utils": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-style/node_modules/@ckeditor/ckeditor5-list": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-list/-/ckeditor5-list-47.2.0.tgz", - "integrity": "sha512-PDjTQLn2CqrZ4XuAAJWY2vA5bkVu8UHKQZa1+ddfS4FbvfF2QR3eDX5axywpuaCb2Dm2ZQoqxpA5GQmt1fUehg==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-clipboard": "47.2.0", - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-enter": "47.2.0", - "@ckeditor/ckeditor5-font": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-typing": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "ckeditor5": "47.2.0" - } - }, - "node_modules/@ckeditor/ckeditor5-style/node_modules/@ckeditor/ckeditor5-table": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-table/-/ckeditor5-table-47.2.0.tgz", - "integrity": "sha512-zxNHpl4L7HsOLCYiKrbyyHoM2dMGetgP4eTjYyWfn9gf+ydVs7o+LJVN5bsWt3J4ToamCj5G7VHZUmqUcPbN6A==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-clipboard": "47.2.0", - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@ckeditor/ckeditor5-widget": "47.2.0", - "ckeditor5": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-style/node_modules/@ckeditor/ckeditor5-typing": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-typing/-/ckeditor5-typing-47.2.0.tgz", - "integrity": "sha512-BDJLlaX9SHFUfZegOEW7ZeJ0o/TBgabINNxa3CwtGuGBLHUAQ3IAFJ0Cd6jHq12J2kRDwiXZzvvgMyCH7jeeUQ==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-style/node_modules/@ckeditor/ckeditor5-ui": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", - "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@types/color-convert": "2.0.4", - "color-convert": "3.1.0", - "color-parse": "2.0.2", - "es-toolkit": "1.39.5", - "vanilla-colorful": "0.7.2" - } - }, - "node_modules/@ckeditor/ckeditor5-style/node_modules/@ckeditor/ckeditor5-utils": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", - "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-ui": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-style/node_modules/color-convert": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", - "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - }, - "engines": { - "node": ">=14.6" - } - }, - "node_modules/@ckeditor/ckeditor5-style/node_modules/color-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", - "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", - "license": "MIT", - "peer": true, - "engines": { - "node": ">=12.20" - } - }, - "node_modules/@ckeditor/ckeditor5-style/node_modules/color-parse": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", - "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - } - }, "node_modules/@ckeditor/ckeditor5-table": { "version": "41.4.2", "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-table/-/ckeditor5-table-41.4.2.tgz", @@ -15175,104 +11803,6 @@ "@ckeditor/ckeditor5-word-count": "41.4.2" } }, - "node_modules/@ckeditor/ckeditor5-theme-lark": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-theme-lark/-/ckeditor5-theme-lark-47.2.0.tgz", - "integrity": "sha512-5Guefuo+Nllq4FMaFnLJlU/fICy2IQYw3T+0PTYjFqd59xTx6suwjv2ou41HKPfJ1b6NCbmkbhuaC59lGIfBtQ==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-ui": "47.2.0" - } - }, - "node_modules/@ckeditor/ckeditor5-theme-lark/node_modules/@ckeditor/ckeditor5-core": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", - "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@ckeditor/ckeditor5-watchdog": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-theme-lark/node_modules/@ckeditor/ckeditor5-engine": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", - "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-utils": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-theme-lark/node_modules/@ckeditor/ckeditor5-ui": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", - "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@types/color-convert": "2.0.4", - "color-convert": "3.1.0", - "color-parse": "2.0.2", - "es-toolkit": "1.39.5", - "vanilla-colorful": "0.7.2" - } - }, - "node_modules/@ckeditor/ckeditor5-theme-lark/node_modules/@ckeditor/ckeditor5-utils": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", - "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-ui": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-theme-lark/node_modules/color-convert": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", - "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - }, - "engines": { - "node": ">=14.6" - } - }, - "node_modules/@ckeditor/ckeditor5-theme-lark/node_modules/color-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", - "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", - "license": "MIT", - "peer": true, - "engines": { - "node": ">=12.20" - } - }, - "node_modules/@ckeditor/ckeditor5-theme-lark/node_modules/color-parse": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", - "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - } - }, "node_modules/@ckeditor/ckeditor5-typing": { "version": "41.4.2", "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-typing/-/ckeditor5-typing-41.4.2.tgz", @@ -15299,207 +11829,6 @@ "vanilla-colorful": "0.7.2" } }, - "node_modules/@ckeditor/ckeditor5-undo": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-undo/-/ckeditor5-undo-47.2.0.tgz", - "integrity": "sha512-smq5O3GdqJXB+9o54BTn/LyB52OHiW9ekzacOuMNxtuA/KBwHpdsPFMcGFGH04W9O0qUtSdt3fYC0i+SJjYAww==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0" - } - }, - "node_modules/@ckeditor/ckeditor5-undo/node_modules/@ckeditor/ckeditor5-core": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", - "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@ckeditor/ckeditor5-watchdog": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-undo/node_modules/@ckeditor/ckeditor5-engine": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", - "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-utils": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-undo/node_modules/@ckeditor/ckeditor5-ui": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", - "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@types/color-convert": "2.0.4", - "color-convert": "3.1.0", - "color-parse": "2.0.2", - "es-toolkit": "1.39.5", - "vanilla-colorful": "0.7.2" - } - }, - "node_modules/@ckeditor/ckeditor5-undo/node_modules/@ckeditor/ckeditor5-utils": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", - "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-ui": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-undo/node_modules/color-convert": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", - "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - }, - "engines": { - "node": ">=14.6" - } - }, - "node_modules/@ckeditor/ckeditor5-undo/node_modules/color-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", - "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", - "license": "MIT", - "peer": true, - "engines": { - "node": ">=12.20" - } - }, - "node_modules/@ckeditor/ckeditor5-undo/node_modules/color-parse": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", - "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - } - }, - "node_modules/@ckeditor/ckeditor5-upload": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-upload/-/ckeditor5-upload-47.2.0.tgz", - "integrity": "sha512-uE4FwVtmJ6UACDC9N+H6HHGhlpAF8Fk2QCF/iBboh4VqhlFbFjMbXCAbsWrDik6C/p9r4Iv+IEmbpjsRTD+9SQ==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0" - } - }, - "node_modules/@ckeditor/ckeditor5-upload/node_modules/@ckeditor/ckeditor5-core": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", - "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@ckeditor/ckeditor5-watchdog": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-upload/node_modules/@ckeditor/ckeditor5-engine": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", - "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-utils": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-upload/node_modules/@ckeditor/ckeditor5-ui": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", - "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@types/color-convert": "2.0.4", - "color-convert": "3.1.0", - "color-parse": "2.0.2", - "es-toolkit": "1.39.5", - "vanilla-colorful": "0.7.2" - } - }, - "node_modules/@ckeditor/ckeditor5-upload/node_modules/@ckeditor/ckeditor5-utils": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", - "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-ui": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-upload/node_modules/color-convert": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", - "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - }, - "engines": { - "node": ">=14.6" - } - }, - "node_modules/@ckeditor/ckeditor5-upload/node_modules/color-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", - "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", - "license": "MIT", - "peer": true, - "engines": { - "node": ">=12.20" - } - }, - "node_modules/@ckeditor/ckeditor5-upload/node_modules/color-parse": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", - "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - } - }, "node_modules/@ckeditor/ckeditor5-utils": { "version": "41.4.2", "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-41.4.2.tgz", @@ -15509,328 +11838,6 @@ "lodash-es": "4.17.21" } }, - "node_modules/@ckeditor/ckeditor5-watchdog": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-watchdog/-/ckeditor5-watchdog-47.2.0.tgz", - "integrity": "sha512-C1AT7OqLBkPCUm4pjJe4n64qj+5vvMdQb2+lLMSz0SMsBqmYFrVYMlZWW4LjpaYUAYEmvTPcyDoqukBKRWNrRQ==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-watchdog/node_modules/@ckeditor/ckeditor5-core": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", - "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@ckeditor/ckeditor5-watchdog": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-watchdog/node_modules/@ckeditor/ckeditor5-engine": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", - "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-utils": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-watchdog/node_modules/@ckeditor/ckeditor5-ui": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", - "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@types/color-convert": "2.0.4", - "color-convert": "3.1.0", - "color-parse": "2.0.2", - "es-toolkit": "1.39.5", - "vanilla-colorful": "0.7.2" - } - }, - "node_modules/@ckeditor/ckeditor5-watchdog/node_modules/@ckeditor/ckeditor5-utils": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", - "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-ui": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-watchdog/node_modules/color-convert": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", - "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - }, - "engines": { - "node": ">=14.6" - } - }, - "node_modules/@ckeditor/ckeditor5-watchdog/node_modules/color-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", - "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", - "license": "MIT", - "peer": true, - "engines": { - "node": ">=12.20" - } - }, - "node_modules/@ckeditor/ckeditor5-watchdog/node_modules/color-parse": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", - "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - } - }, - "node_modules/@ckeditor/ckeditor5-widget": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-widget/-/ckeditor5-widget-47.2.0.tgz", - "integrity": "sha512-1vhfdeVPNc6UtCPAC+aKDNIi0EDxpAJ7TudepJVLXnS752V5rnArjPrYBfH6dkpHYV920CuxxsoS1sSuVVMrkA==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-enter": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-typing": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-widget/node_modules/@ckeditor/ckeditor5-core": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", - "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@ckeditor/ckeditor5-watchdog": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-widget/node_modules/@ckeditor/ckeditor5-engine": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", - "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-utils": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-widget/node_modules/@ckeditor/ckeditor5-typing": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-typing/-/ckeditor5-typing-47.2.0.tgz", - "integrity": "sha512-BDJLlaX9SHFUfZegOEW7ZeJ0o/TBgabINNxa3CwtGuGBLHUAQ3IAFJ0Cd6jHq12J2kRDwiXZzvvgMyCH7jeeUQ==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-widget/node_modules/@ckeditor/ckeditor5-ui": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", - "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@types/color-convert": "2.0.4", - "color-convert": "3.1.0", - "color-parse": "2.0.2", - "es-toolkit": "1.39.5", - "vanilla-colorful": "0.7.2" - } - }, - "node_modules/@ckeditor/ckeditor5-widget/node_modules/@ckeditor/ckeditor5-utils": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", - "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-ui": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-widget/node_modules/color-convert": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", - "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - }, - "engines": { - "node": ">=14.6" - } - }, - "node_modules/@ckeditor/ckeditor5-widget/node_modules/color-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", - "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", - "license": "MIT", - "peer": true, - "engines": { - "node": ">=12.20" - } - }, - "node_modules/@ckeditor/ckeditor5-widget/node_modules/color-parse": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", - "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - } - }, - "node_modules/@ckeditor/ckeditor5-word-count": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-word-count/-/ckeditor5-word-count-47.2.0.tgz", - "integrity": "sha512-1ouy59G1Qxf6hTRnW9tSL7Xjsx8kGfTJvrH9mZWGIpmNo0pIM6Ts96U/qgr5RB0LbhYtqhbDq87F9QjMcfYUjQ==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "ckeditor5": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-word-count/node_modules/@ckeditor/ckeditor5-core": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", - "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@ckeditor/ckeditor5-watchdog": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-word-count/node_modules/@ckeditor/ckeditor5-engine": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", - "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-utils": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-word-count/node_modules/@ckeditor/ckeditor5-ui": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", - "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@types/color-convert": "2.0.4", - "color-convert": "3.1.0", - "color-parse": "2.0.2", - "es-toolkit": "1.39.5", - "vanilla-colorful": "0.7.2" - } - }, - "node_modules/@ckeditor/ckeditor5-word-count/node_modules/@ckeditor/ckeditor5-utils": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", - "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-ui": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/@ckeditor/ckeditor5-word-count/node_modules/color-convert": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", - "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - }, - "engines": { - "node": ">=14.6" - } - }, - "node_modules/@ckeditor/ckeditor5-word-count/node_modules/color-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", - "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", - "license": "MIT", - "peer": true, - "engines": { - "node": ">=12.20" - } - }, - "node_modules/@ckeditor/ckeditor5-word-count/node_modules/color-parse": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", - "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - } - }, "node_modules/@csstools/normalize.css": { "version": "12.1.1", "resolved": "https://registry.npmjs.org/@csstools/normalize.css/-/normalize.css-12.1.1.tgz", @@ -19182,23 +15189,6 @@ "@types/node": "*" } }, - "node_modules/@types/color-convert": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/color-convert/-/color-convert-2.0.4.tgz", - "integrity": "sha512-Ub1MmDdyZ7mX//g25uBAoH/mWGd9swVbt8BseymnaE18SU4po/PjmCrHxqIIRjBo3hV/vh1KGr0eMxUhp+t+dQ==", - "license": "MIT", - "peer": true, - "dependencies": { - "@types/color-name": "^1.1.0" - } - }, - "node_modules/@types/color-name": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.5.tgz", - "integrity": "sha512-j2K5UJqGTxeesj6oQuGpMgifpT5k9HprgQd8D1Y0lOFqKHl3PJu5GMeS4Y5EgjS55AE6OQxf8mPED9uaGbf4Cg==", - "license": "MIT", - "peer": true - }, "node_modules/@types/connect": { "version": "3.4.38", "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", @@ -19281,16 +15271,6 @@ "integrity": "sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==", "license": "MIT" }, - "node_modules/@types/debug": { - "version": "4.1.12", - "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", - "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", - "license": "MIT", - "peer": true, - "dependencies": { - "@types/ms": "*" - } - }, "node_modules/@types/eslint": { "version": "8.56.12", "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.12.tgz", @@ -19362,16 +15342,6 @@ "@types/node": "*" } }, - "node_modules/@types/hast": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", - "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", - "license": "MIT", - "peer": true, - "dependencies": { - "@types/unist": "*" - } - }, "node_modules/@types/html-minifier-terser": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", @@ -19445,16 +15415,6 @@ "@types/mdurl": "^2" } }, - "node_modules/@types/mdast": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", - "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", - "license": "MIT", - "peer": true, - "dependencies": { - "@types/unist": "*" - } - }, "node_modules/@types/mdurl": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-2.0.0.tgz", @@ -19467,13 +15427,6 @@ "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", "license": "MIT" }, - "node_modules/@types/ms": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz", - "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==", - "license": "MIT", - "peer": true - }, "node_modules/@types/node": { "version": "24.9.2", "resolved": "https://registry.npmjs.org/@types/node/-/node-24.9.2.tgz", @@ -19565,16 +15518,6 @@ "csstype": "^3.0.2" } }, - "node_modules/@types/react-dom": { - "version": "19.2.2", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.2.2.tgz", - "integrity": "sha512-9KQPoO6mZCi7jcIStSnlOWn2nEF3mNmyr3rIAsGnAbQKYbRLyqmeSc39EVgtxXVia+LMT8j3knZLAZAh+xLmrw==", - "license": "MIT", - "peer": true, - "peerDependencies": { - "@types/react": "^19.2.0" - } - }, "node_modules/@types/react-transition-group": { "version": "4.4.12", "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.12.tgz", @@ -19665,13 +15608,6 @@ "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", "license": "MIT" }, - "node_modules/@types/unist": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", - "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", - "license": "MIT", - "peer": true - }, "node_modules/@types/use-sync-external-store": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.6.tgz", @@ -19943,30 +15879,6 @@ "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", "license": "ISC" }, - "node_modules/@vue/compiler-sfc": { - "version": "2.7.16", - "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-2.7.16.tgz", - "integrity": "sha512-KWhJ9k5nXuNtygPU7+t1rX6baZeqOYLEforUPjgNDBnLicfHCoi48H87Q8XyLZOrNNsmhuwKqtpDQWjEFe6Ekg==", - "peer": true, - "dependencies": { - "@babel/parser": "^7.23.5", - "postcss": "^8.4.14", - "source-map": "^0.6.1" - }, - "optionalDependencies": { - "prettier": "^1.18.2 || ^2.0.0" - } - }, - "node_modules/@vue/compiler-sfc/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "license": "BSD-3-Clause", - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/@webassemblyjs/ast": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", @@ -20994,17 +16906,6 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/bail": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", - "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", - "license": "MIT", - "peer": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -21400,17 +17301,6 @@ "node": ">=4" } }, - "node_modules/ccount": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", - "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", - "license": "MIT", - "peer": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -21451,39 +17341,6 @@ "node": ">=10" } }, - "node_modules/character-entities": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", - "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", - "license": "MIT", - "peer": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/character-entities-html4": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", - "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", - "license": "MIT", - "peer": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/character-entities-legacy": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", - "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", - "license": "MIT", - "peer": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/check-types": { "version": "11.2.3", "resolved": "https://registry.npmjs.org/check-types/-/check-types-11.2.3.tgz", @@ -21556,485 +17413,6 @@ "integrity": "sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==", "license": "MIT" }, - "node_modules/ckeditor5": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/ckeditor5/-/ckeditor5-47.2.0.tgz", - "integrity": "sha512-mrG9UdpT4JC0I44vK1DV5UwfGhruEG/FMXIWwGv+LWYrKt4aLL/5NyNpW86UDO9YAFSaw6IdEcbJGC/WkMJJjA==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-adapter-ckfinder": "47.2.0", - "@ckeditor/ckeditor5-alignment": "47.2.0", - "@ckeditor/ckeditor5-autoformat": "47.2.0", - "@ckeditor/ckeditor5-autosave": "47.2.0", - "@ckeditor/ckeditor5-basic-styles": "47.2.0", - "@ckeditor/ckeditor5-block-quote": "47.2.0", - "@ckeditor/ckeditor5-bookmark": "47.2.0", - "@ckeditor/ckeditor5-ckbox": "47.2.0", - "@ckeditor/ckeditor5-ckfinder": "47.2.0", - "@ckeditor/ckeditor5-clipboard": "47.2.0", - "@ckeditor/ckeditor5-cloud-services": "47.2.0", - "@ckeditor/ckeditor5-code-block": "47.2.0", - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-easy-image": "47.2.0", - "@ckeditor/ckeditor5-editor-balloon": "47.2.0", - "@ckeditor/ckeditor5-editor-classic": "47.2.0", - "@ckeditor/ckeditor5-editor-decoupled": "47.2.0", - "@ckeditor/ckeditor5-editor-inline": "47.2.0", - "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", - "@ckeditor/ckeditor5-emoji": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-enter": "47.2.0", - "@ckeditor/ckeditor5-essentials": "47.2.0", - "@ckeditor/ckeditor5-find-and-replace": "47.2.0", - "@ckeditor/ckeditor5-font": "47.2.0", - "@ckeditor/ckeditor5-fullscreen": "47.2.0", - "@ckeditor/ckeditor5-heading": "47.2.0", - "@ckeditor/ckeditor5-highlight": "47.2.0", - "@ckeditor/ckeditor5-horizontal-line": "47.2.0", - "@ckeditor/ckeditor5-html-embed": "47.2.0", - "@ckeditor/ckeditor5-html-support": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-image": "47.2.0", - "@ckeditor/ckeditor5-indent": "47.2.0", - "@ckeditor/ckeditor5-language": "47.2.0", - "@ckeditor/ckeditor5-link": "47.2.0", - "@ckeditor/ckeditor5-list": "47.2.0", - "@ckeditor/ckeditor5-markdown-gfm": "47.2.0", - "@ckeditor/ckeditor5-media-embed": "47.2.0", - "@ckeditor/ckeditor5-mention": "47.2.0", - "@ckeditor/ckeditor5-minimap": "47.2.0", - "@ckeditor/ckeditor5-page-break": "47.2.0", - "@ckeditor/ckeditor5-paragraph": "47.2.0", - "@ckeditor/ckeditor5-paste-from-office": "47.2.0", - "@ckeditor/ckeditor5-remove-format": "47.2.0", - "@ckeditor/ckeditor5-restricted-editing": "47.2.0", - "@ckeditor/ckeditor5-select-all": "47.2.0", - "@ckeditor/ckeditor5-show-blocks": "47.2.0", - "@ckeditor/ckeditor5-source-editing": "47.2.0", - "@ckeditor/ckeditor5-special-characters": "47.2.0", - "@ckeditor/ckeditor5-style": "47.2.0", - "@ckeditor/ckeditor5-table": "47.2.0", - "@ckeditor/ckeditor5-theme-lark": "47.2.0", - "@ckeditor/ckeditor5-typing": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-undo": "47.2.0", - "@ckeditor/ckeditor5-upload": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@ckeditor/ckeditor5-watchdog": "47.2.0", - "@ckeditor/ckeditor5-widget": "47.2.0", - "@ckeditor/ckeditor5-word-count": "47.2.0" - } - }, - "node_modules/ckeditor5/node_modules/@ckeditor/ckeditor5-adapter-ckfinder": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-adapter-ckfinder/-/ckeditor5-adapter-ckfinder-47.2.0.tgz", - "integrity": "sha512-zzuINBzWuheU76Ans9m59VCVMiljESoKxzpMh0aYu+M3YB5IDctOPU8pdOpXPIdBwoYv64+ioZE/T5TyZDckSw==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-upload": "47.2.0", - "ckeditor5": "47.2.0" - } - }, - "node_modules/ckeditor5/node_modules/@ckeditor/ckeditor5-autoformat": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-autoformat/-/ckeditor5-autoformat-47.2.0.tgz", - "integrity": "sha512-d9ZwAB8JwWlgLK2Um+u3ctiCtv5bkBHGk/rSdXB6D/V7QHCl31NyPFYByxTyCOY9SsoNn1l/8zbJfvp89LJm2w==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-heading": "47.2.0", - "@ckeditor/ckeditor5-typing": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "ckeditor5": "47.2.0" - } - }, - "node_modules/ckeditor5/node_modules/@ckeditor/ckeditor5-basic-styles": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-basic-styles/-/ckeditor5-basic-styles-47.2.0.tgz", - "integrity": "sha512-a8pPHq3CXmyxPPXPQZ8C92OOyBoCfpY8M30dS7et/dLXW3nuVo9VVLMw0vR1j+zcKXClp3+/odyw2/rxP+qntA==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-typing": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "ckeditor5": "47.2.0" - } - }, - "node_modules/ckeditor5/node_modules/@ckeditor/ckeditor5-block-quote": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-block-quote/-/ckeditor5-block-quote-47.2.0.tgz", - "integrity": "sha512-BlFFfunyWpYcGhLsOmCR0yEz5VgrOmHREHQZIRcL6fKzXJwdpA/VFWPirotwF/QErJjguhhDZ5a3PBEnUAmW/A==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-enter": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-typing": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "ckeditor5": "47.2.0" - } - }, - "node_modules/ckeditor5/node_modules/@ckeditor/ckeditor5-ckbox": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ckbox/-/ckeditor5-ckbox-47.2.0.tgz", - "integrity": "sha512-Cu+nJTXhcmdE8DWHoTY1nrrjxyG4pfxMrEcO/PNV28cojwtOQaWGt4EbWlXOfZZTEWlZO18JIw/YrxYXwx5mTA==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-cloud-services": "47.2.0", - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-image": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-upload": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "blurhash": "2.0.5", - "ckeditor5": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/ckeditor5/node_modules/@ckeditor/ckeditor5-ckfinder": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ckfinder/-/ckeditor5-ckfinder-47.2.0.tgz", - "integrity": "sha512-nsxn9weZNwdplW/BHfEJ/rvb+wZj0KECN2Av9zFRekTxE1mp0hTShQ9MNlKImRQ4X2UV6bGN6+DXwJJIU0smlQ==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-image": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "ckeditor5": "47.2.0" - } - }, - "node_modules/ckeditor5/node_modules/@ckeditor/ckeditor5-cloud-services": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-cloud-services/-/ckeditor5-cloud-services-47.2.0.tgz", - "integrity": "sha512-794mxJ8MFhz2SxSjlMSp4cZbyBBpVjinQ3GxOS5VqO7H4m/iT2hdSPJaWpML53soxpEoG/6ax4vVKe5d0+xoqA==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "ckeditor5": "47.2.0" - } - }, - "node_modules/ckeditor5/node_modules/@ckeditor/ckeditor5-core": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", - "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@ckeditor/ckeditor5-watchdog": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/ckeditor5/node_modules/@ckeditor/ckeditor5-easy-image": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-easy-image/-/ckeditor5-easy-image-47.2.0.tgz", - "integrity": "sha512-lSnbiGDzYdu9GeOaYjVpowaZWDJbrb7NHCuUN5Af2474jXTDyYmG7qOm39fWEBlcxjMTzDR8fFzPcRNhOvSRRA==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-cloud-services": "47.2.0", - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-upload": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "ckeditor5": "47.2.0" - } - }, - "node_modules/ckeditor5/node_modules/@ckeditor/ckeditor5-editor-classic": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-editor-classic/-/ckeditor5-editor-classic-47.2.0.tgz", - "integrity": "sha512-fYy4RKmvM4kYvUgCRuBdUqVLE8ts1Kj4q1Caaq5VZyBudmaj/RZqQBSdiu5pZgKMdj1oMaIQ5Gextg96iJ3LTw==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "ckeditor5": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/ckeditor5/node_modules/@ckeditor/ckeditor5-engine": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", - "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-utils": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/ckeditor5/node_modules/@ckeditor/ckeditor5-essentials": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-essentials/-/ckeditor5-essentials-47.2.0.tgz", - "integrity": "sha512-d3hHtkuLhvI+RvsDU7cKFc/K9uD27Tvi4NVjALcN1Ybr0k8dkJFGU1nUwXuo6zcdqRnkIJMWxIR+cwteuMCGQg==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-clipboard": "47.2.0", - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-enter": "47.2.0", - "@ckeditor/ckeditor5-select-all": "47.2.0", - "@ckeditor/ckeditor5-typing": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-undo": "47.2.0", - "ckeditor5": "47.2.0" - } - }, - "node_modules/ckeditor5/node_modules/@ckeditor/ckeditor5-heading": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-heading/-/ckeditor5-heading-47.2.0.tgz", - "integrity": "sha512-m1zSERVh7gdVXwLLYgcAsy7lkIOuadmA5YuwyPpR/g3oa0j1gcuNm5y/73MTOPflPUn0g0Y9DzocF2G1WY2NiQ==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-paragraph": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "ckeditor5": "47.2.0" - } - }, - "node_modules/ckeditor5/node_modules/@ckeditor/ckeditor5-image": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-image/-/ckeditor5-image-47.2.0.tgz", - "integrity": "sha512-XbXvRS++kFku0l7GABhsribmQTBC/SOAfimDNKjg5rayhAXCfovys7YmmU0eicydpo4//fAaa8zvDYc8uXWZGA==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-clipboard": "47.2.0", - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-typing": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-undo": "47.2.0", - "@ckeditor/ckeditor5-upload": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@ckeditor/ckeditor5-widget": "47.2.0", - "ckeditor5": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/ckeditor5/node_modules/@ckeditor/ckeditor5-indent": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-indent/-/ckeditor5-indent-47.2.0.tgz", - "integrity": "sha512-Q85+b+o+nonhJ/I9K9wB9XeZ5W8rS9k66VvoDHxL3jJ6g6C+oyEAOomooTDCvJvBgDN6vGpcwzznKp0Q8baoCQ==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-heading": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-list": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "ckeditor5": "47.2.0" - } - }, - "node_modules/ckeditor5/node_modules/@ckeditor/ckeditor5-link": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-link/-/ckeditor5-link-47.2.0.tgz", - "integrity": "sha512-ijaF1Ic23FH9qulW2ZuaxecmdT0JuK/4XNkdaoRntloHiVZ/tFAu+o/6st/pDXfutDBmnEXwrNGVtzO/JTPhrw==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-clipboard": "47.2.0", - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-image": "47.2.0", - "@ckeditor/ckeditor5-typing": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@ckeditor/ckeditor5-widget": "47.2.0", - "ckeditor5": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/ckeditor5/node_modules/@ckeditor/ckeditor5-list": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-list/-/ckeditor5-list-47.2.0.tgz", - "integrity": "sha512-PDjTQLn2CqrZ4XuAAJWY2vA5bkVu8UHKQZa1+ddfS4FbvfF2QR3eDX5axywpuaCb2Dm2ZQoqxpA5GQmt1fUehg==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-clipboard": "47.2.0", - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-enter": "47.2.0", - "@ckeditor/ckeditor5-font": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-typing": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "ckeditor5": "47.2.0" - } - }, - "node_modules/ckeditor5/node_modules/@ckeditor/ckeditor5-media-embed": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-media-embed/-/ckeditor5-media-embed-47.2.0.tgz", - "integrity": "sha512-lATTMej9pBsZk4qm8cOqLXhmrCq/t+HpP/zg3DWnYbiD6zclO69PSJxD09l9NsyOo0YZb8SYAsVISoKNaIOr0A==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-clipboard": "47.2.0", - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-typing": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-undo": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@ckeditor/ckeditor5-widget": "47.2.0", - "ckeditor5": "47.2.0" - } - }, - "node_modules/ckeditor5/node_modules/@ckeditor/ckeditor5-paragraph": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-paragraph/-/ckeditor5-paragraph-47.2.0.tgz", - "integrity": "sha512-x6nqRQjlAcOhirOE9umNdK8WckWcz7JPVU7IlPTzlrVAYCq+wiz6rgpuh4COUHnee4c31fF21On+OVyqgu7JvQ==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0" - } - }, - "node_modules/ckeditor5/node_modules/@ckeditor/ckeditor5-paste-from-office": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-paste-from-office/-/ckeditor5-paste-from-office-47.2.0.tgz", - "integrity": "sha512-DGGNGNhl25ub8dFBKJF4jfMBoSSbF5uKzFShMNIaAVAagV6kkDWR0HJWAir5CuFrElzWTkPd0ZC5RNL76yTbtg==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-clipboard": "47.2.0", - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "ckeditor5": "47.2.0" - } - }, - "node_modules/ckeditor5/node_modules/@ckeditor/ckeditor5-table": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-table/-/ckeditor5-table-47.2.0.tgz", - "integrity": "sha512-zxNHpl4L7HsOLCYiKrbyyHoM2dMGetgP4eTjYyWfn9gf+ydVs7o+LJVN5bsWt3J4ToamCj5G7VHZUmqUcPbN6A==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-clipboard": "47.2.0", - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-ui": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@ckeditor/ckeditor5-widget": "47.2.0", - "ckeditor5": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/ckeditor5/node_modules/@ckeditor/ckeditor5-typing": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-typing/-/ckeditor5-typing-47.2.0.tgz", - "integrity": "sha512-BDJLlaX9SHFUfZegOEW7ZeJ0o/TBgabINNxa3CwtGuGBLHUAQ3IAFJ0Cd6jHq12J2kRDwiXZzvvgMyCH7jeeUQ==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/ckeditor5/node_modules/@ckeditor/ckeditor5-ui": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", - "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-core": "47.2.0", - "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", - "@ckeditor/ckeditor5-engine": "47.2.0", - "@ckeditor/ckeditor5-icons": "47.2.0", - "@ckeditor/ckeditor5-utils": "47.2.0", - "@types/color-convert": "2.0.4", - "color-convert": "3.1.0", - "color-parse": "2.0.2", - "es-toolkit": "1.39.5", - "vanilla-colorful": "0.7.2" - } - }, - "node_modules/ckeditor5/node_modules/@ckeditor/ckeditor5-utils": { - "version": "47.2.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", - "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true, - "dependencies": { - "@ckeditor/ckeditor5-ui": "47.2.0", - "es-toolkit": "1.39.5" - } - }, - "node_modules/ckeditor5/node_modules/color-convert": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", - "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - }, - "engines": { - "node": ">=14.6" - } - }, - "node_modules/ckeditor5/node_modules/color-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", - "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", - "license": "MIT", - "peer": true, - "engines": { - "node": ">=12.20" - } - }, - "node_modules/ckeditor5/node_modules/color-parse": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", - "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - } - }, "node_modules/classnames": { "version": "2.5.1", "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.5.1.tgz", @@ -22243,17 +17621,6 @@ "node": ">= 0.8" } }, - "node_modules/comma-separated-tokens": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", - "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", - "license": "MIT", - "peer": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/commander": { "version": "8.3.0", "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", @@ -23094,13 +18461,6 @@ "integrity": "sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw==", "license": "MIT" }, - "node_modules/de-indent": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", - "integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==", - "license": "MIT", - "peer": true - }, "node_modules/debug": { "version": "4.4.3", "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", @@ -23130,20 +18490,6 @@ "integrity": "sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg==", "license": "MIT" }, - "node_modules/decode-named-character-reference": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.2.0.tgz", - "integrity": "sha512-c6fcElNV6ShtZXmsgNgFFV5tVX2PaV4g+MOAkb8eXHvn6sryJBrZa9r0zV6+dtTyoCKxtDy5tyQ5ZwQuidtd+Q==", - "license": "MIT", - "peer": true, - "dependencies": { - "character-entities": "^2.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/dedent": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", @@ -23338,20 +18684,6 @@ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "license": "MIT" }, - "node_modules/devlop": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", - "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", - "license": "MIT", - "peer": true, - "dependencies": { - "dequal": "^2.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/didyoumean": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", @@ -25350,13 +20682,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/fuzzysort": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/fuzzysort/-/fuzzysort-3.1.0.tgz", - "integrity": "sha512-sR9BNCjBg6LNgwvxlBd0sBABvQitkLzoVY9MYYROQVX/FvfJ4Mai9LsGhDgd8qYdds0bY77VzYd5iuB+v5rwQQ==", - "license": "MIT", - "peer": true - }, "node_modules/generator-function": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/generator-function/-/generator-function-2.0.1.tgz", @@ -25731,245 +21056,6 @@ "node": ">= 0.4" } }, - "node_modules/hast-util-embedded": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hast-util-embedded/-/hast-util-embedded-3.0.0.tgz", - "integrity": "sha512-naH8sld4Pe2ep03qqULEtvYr7EjrLK2QHY8KJR6RJkTUjPGObe1vnx585uzem2hGra+s1q08DZZpfgDVYRbaXA==", - "license": "MIT", - "peer": true, - "dependencies": { - "@types/hast": "^3.0.0", - "hast-util-is-element": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-from-dom": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/hast-util-from-dom/-/hast-util-from-dom-5.0.1.tgz", - "integrity": "sha512-N+LqofjR2zuzTjCPzyDUdSshy4Ma6li7p/c3pA78uTwzFgENbgbUrm2ugwsOdcjI1muO+o6Dgzp9p8WHtn/39Q==", - "license": "ISC", - "peer": true, - "dependencies": { - "@types/hast": "^3.0.0", - "hastscript": "^9.0.0", - "web-namespaces": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-has-property": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hast-util-has-property/-/hast-util-has-property-3.0.0.tgz", - "integrity": "sha512-MNilsvEKLFpV604hwfhVStK0usFY/QmM5zX16bo7EjnAEGofr5YyI37kzopBlZJkHD4t887i+q/C8/tr5Q94cA==", - "license": "MIT", - "peer": true, - "dependencies": { - "@types/hast": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-is-body-ok-link": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/hast-util-is-body-ok-link/-/hast-util-is-body-ok-link-3.0.1.tgz", - "integrity": "sha512-0qpnzOBLztXHbHQenVB8uNuxTnm/QBFUOmdOSsEn7GnBtyY07+ENTWVFBAnXd/zEgd9/SUG3lRY7hSIBWRgGpQ==", - "license": "MIT", - "peer": true, - "dependencies": { - "@types/hast": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-is-element": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz", - "integrity": "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==", - "license": "MIT", - "peer": true, - "dependencies": { - "@types/hast": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-minify-whitespace": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hast-util-minify-whitespace/-/hast-util-minify-whitespace-1.0.1.tgz", - "integrity": "sha512-L96fPOVpnclQE0xzdWb/D12VT5FabA7SnZOUMtL1DbXmYiHJMXZvFkIZfiMmTCNJHUeO2K9UYNXoVyfz+QHuOw==", - "license": "MIT", - "peer": true, - "dependencies": { - "@types/hast": "^3.0.0", - "hast-util-embedded": "^3.0.0", - "hast-util-is-element": "^3.0.0", - "hast-util-whitespace": "^3.0.0", - "unist-util-is": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-parse-selector": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz", - "integrity": "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==", - "license": "MIT", - "peer": true, - "dependencies": { - "@types/hast": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-phrasing": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/hast-util-phrasing/-/hast-util-phrasing-3.0.1.tgz", - "integrity": "sha512-6h60VfI3uBQUxHqTyMymMZnEbNl1XmEGtOxxKYL7stY2o601COo62AWAYBQR9lZbYXYSBoxag8UpPRXK+9fqSQ==", - "license": "MIT", - "peer": true, - "dependencies": { - "@types/hast": "^3.0.0", - "hast-util-embedded": "^3.0.0", - "hast-util-has-property": "^3.0.0", - "hast-util-is-body-ok-link": "^3.0.0", - "hast-util-is-element": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-to-dom": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/hast-util-to-dom/-/hast-util-to-dom-4.0.1.tgz", - "integrity": "sha512-z1VE7sZ8uFzS2baF3LEflX1IPw2gSzrdo3QFEsyoi23MkCVY3FoE9x6nLgOgjwJu8VNWgo+07iaxtONhDzKrUQ==", - "license": "ISC", - "peer": true, - "dependencies": { - "@types/hast": "^3.0.0", - "property-information": "^7.0.0", - "web-namespaces": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-to-html": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.5.tgz", - "integrity": "sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==", - "license": "MIT", - "peer": true, - "dependencies": { - "@types/hast": "^3.0.0", - "@types/unist": "^3.0.0", - "ccount": "^2.0.0", - "comma-separated-tokens": "^2.0.0", - "hast-util-whitespace": "^3.0.0", - "html-void-elements": "^3.0.0", - "mdast-util-to-hast": "^13.0.0", - "property-information": "^7.0.0", - "space-separated-tokens": "^2.0.0", - "stringify-entities": "^4.0.0", - "zwitch": "^2.0.4" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-to-mdast": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/hast-util-to-mdast/-/hast-util-to-mdast-10.1.2.tgz", - "integrity": "sha512-FiCRI7NmOvM4y+f5w32jPRzcxDIz+PUqDwEqn1A+1q2cdp3B8Gx7aVrXORdOKjMNDQsD1ogOr896+0jJHW1EFQ==", - "license": "MIT", - "peer": true, - "dependencies": { - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "@ungap/structured-clone": "^1.0.0", - "hast-util-phrasing": "^3.0.0", - "hast-util-to-html": "^9.0.0", - "hast-util-to-text": "^4.0.0", - "hast-util-whitespace": "^3.0.0", - "mdast-util-phrasing": "^4.0.0", - "mdast-util-to-hast": "^13.0.0", - "mdast-util-to-string": "^4.0.0", - "rehype-minify-whitespace": "^6.0.0", - "trim-trailing-lines": "^2.0.0", - "unist-util-position": "^5.0.0", - "unist-util-visit": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-to-text": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/hast-util-to-text/-/hast-util-to-text-4.0.2.tgz", - "integrity": "sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==", - "license": "MIT", - "peer": true, - "dependencies": { - "@types/hast": "^3.0.0", - "@types/unist": "^3.0.0", - "hast-util-is-element": "^3.0.0", - "unist-util-find-after": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-whitespace": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", - "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", - "license": "MIT", - "peer": true, - "dependencies": { - "@types/hast": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hastscript": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-9.0.1.tgz", - "integrity": "sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==", - "license": "MIT", - "peer": true, - "dependencies": { - "@types/hast": "^3.0.0", - "comma-separated-tokens": "^2.0.0", - "hast-util-parse-selector": "^4.0.0", - "property-information": "^7.0.0", - "space-separated-tokens": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/he": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", @@ -26091,17 +21177,6 @@ "node": ">=12" } }, - "node_modules/html-void-elements": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz", - "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==", - "license": "MIT", - "peer": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/html-webpack-plugin": { "version": "5.6.4", "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.4.tgz", @@ -26379,7 +21454,7 @@ "version": "5.1.4", "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.4.tgz", "integrity": "sha512-p6u1bG3YSnINT5RQmx/yRZBpenIl30kVxkTLDyHLIMk0gict704Q9n+thfDI7lTRm9vXdDYutVzXhzcThxTnXA==", - "devOptional": true, + "dev": true, "license": "MIT" }, "node_modules/import-fresh": { @@ -26836,19 +21911,6 @@ "node": ">=8" } }, - "node_modules/is-plain-obj": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", - "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", - "license": "MIT", - "peer": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/is-potential-custom-element-name": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", @@ -28558,17 +23620,6 @@ "integrity": "sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==", "license": "Apache-2.0" }, - "node_modules/longest-streak": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", - "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", - "license": "MIT", - "peer": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", @@ -28676,17 +23727,6 @@ "markdown-it": "bin/markdown-it.mjs" } }, - "node_modules/markdown-table": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.4.tgz", - "integrity": "sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==", - "license": "MIT", - "peer": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/marked": { "version": "4.0.12", "resolved": "https://registry.npmjs.org/marked/-/marked-4.0.12.tgz", @@ -28708,256 +23748,6 @@ "node": ">= 0.4" } }, - "node_modules/mdast-util-find-and-replace": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.2.tgz", - "integrity": "sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==", - "license": "MIT", - "peer": true, - "dependencies": { - "@types/mdast": "^4.0.0", - "escape-string-regexp": "^5.0.0", - "unist-util-is": "^6.0.0", - "unist-util-visit-parents": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-find-and-replace/node_modules/escape-string-regexp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", - "license": "MIT", - "peer": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/mdast-util-from-markdown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz", - "integrity": "sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==", - "license": "MIT", - "peer": true, - "dependencies": { - "@types/mdast": "^4.0.0", - "@types/unist": "^3.0.0", - "decode-named-character-reference": "^1.0.0", - "devlop": "^1.0.0", - "mdast-util-to-string": "^4.0.0", - "micromark": "^4.0.0", - "micromark-util-decode-numeric-character-reference": "^2.0.0", - "micromark-util-decode-string": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0", - "unist-util-stringify-position": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.1.0.tgz", - "integrity": "sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==", - "license": "MIT", - "peer": true, - "dependencies": { - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-gfm-autolink-literal": "^2.0.0", - "mdast-util-gfm-footnote": "^2.0.0", - "mdast-util-gfm-strikethrough": "^2.0.0", - "mdast-util-gfm-table": "^2.0.0", - "mdast-util-gfm-task-list-item": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-autolink-literal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.1.tgz", - "integrity": "sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==", - "license": "MIT", - "peer": true, - "dependencies": { - "@types/mdast": "^4.0.0", - "ccount": "^2.0.0", - "devlop": "^1.0.0", - "mdast-util-find-and-replace": "^3.0.0", - "micromark-util-character": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-footnote": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.1.0.tgz", - "integrity": "sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==", - "license": "MIT", - "peer": true, - "dependencies": { - "@types/mdast": "^4.0.0", - "devlop": "^1.1.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-strikethrough": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz", - "integrity": "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==", - "license": "MIT", - "peer": true, - "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-table": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz", - "integrity": "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==", - "license": "MIT", - "peer": true, - "dependencies": { - "@types/mdast": "^4.0.0", - "devlop": "^1.0.0", - "markdown-table": "^3.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-task-list-item": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz", - "integrity": "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==", - "license": "MIT", - "peer": true, - "dependencies": { - "@types/mdast": "^4.0.0", - "devlop": "^1.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-newline-to-break": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-newline-to-break/-/mdast-util-newline-to-break-2.0.0.tgz", - "integrity": "sha512-MbgeFca0hLYIEx/2zGsszCSEJJ1JSCdiY5xQxRcLDDGa8EPvlLPupJ4DSajbMPAnC0je8jfb9TiUATnxxrHUog==", - "license": "MIT", - "peer": true, - "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-find-and-replace": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-phrasing": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", - "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", - "license": "MIT", - "peer": true, - "dependencies": { - "@types/mdast": "^4.0.0", - "unist-util-is": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-hast": { - "version": "13.2.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.0.tgz", - "integrity": "sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==", - "license": "MIT", - "peer": true, - "dependencies": { - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "@ungap/structured-clone": "^1.0.0", - "devlop": "^1.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "trim-lines": "^3.0.0", - "unist-util-position": "^5.0.0", - "unist-util-visit": "^5.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-markdown": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz", - "integrity": "sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==", - "license": "MIT", - "peer": true, - "dependencies": { - "@types/mdast": "^4.0.0", - "@types/unist": "^3.0.0", - "longest-streak": "^3.0.0", - "mdast-util-phrasing": "^4.0.0", - "mdast-util-to-string": "^4.0.0", - "micromark-util-classify-character": "^2.0.0", - "micromark-util-decode-string": "^2.0.0", - "unist-util-visit": "^5.0.0", - "zwitch": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", - "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", - "license": "MIT", - "peer": true, - "dependencies": { - "@types/mdast": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/mdn-data": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", @@ -29027,597 +23817,6 @@ "node": ">= 0.6" } }, - "node_modules/micromark": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.2.tgz", - "integrity": "sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "peer": true, - "dependencies": { - "@types/debug": "^4.0.0", - "debug": "^4.0.0", - "decode-named-character-reference": "^1.0.0", - "devlop": "^1.0.0", - "micromark-core-commonmark": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-combine-extensions": "^2.0.0", - "micromark-util-decode-numeric-character-reference": "^2.0.0", - "micromark-util-encode": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-resolve-all": "^2.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "micromark-util-subtokenize": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-core-commonmark": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.3.tgz", - "integrity": "sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "peer": true, - "dependencies": { - "decode-named-character-reference": "^1.0.0", - "devlop": "^1.0.0", - "micromark-factory-destination": "^2.0.0", - "micromark-factory-label": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-factory-title": "^2.0.0", - "micromark-factory-whitespace": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-classify-character": "^2.0.0", - "micromark-util-html-tag-name": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-resolve-all": "^2.0.0", - "micromark-util-subtokenize": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-extension-gfm": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz", - "integrity": "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==", - "license": "MIT", - "peer": true, - "dependencies": { - "micromark-extension-gfm-autolink-literal": "^2.0.0", - "micromark-extension-gfm-footnote": "^2.0.0", - "micromark-extension-gfm-strikethrough": "^2.0.0", - "micromark-extension-gfm-table": "^2.0.0", - "micromark-extension-gfm-tagfilter": "^2.0.0", - "micromark-extension-gfm-task-list-item": "^2.0.0", - "micromark-util-combine-extensions": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-autolink-literal": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.1.0.tgz", - "integrity": "sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==", - "license": "MIT", - "peer": true, - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-footnote": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.1.0.tgz", - "integrity": "sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==", - "license": "MIT", - "peer": true, - "dependencies": { - "devlop": "^1.0.0", - "micromark-core-commonmark": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-strikethrough": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.1.0.tgz", - "integrity": "sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==", - "license": "MIT", - "peer": true, - "dependencies": { - "devlop": "^1.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-classify-character": "^2.0.0", - "micromark-util-resolve-all": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-table": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.1.tgz", - "integrity": "sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==", - "license": "MIT", - "peer": true, - "dependencies": { - "devlop": "^1.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-tagfilter": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz", - "integrity": "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==", - "license": "MIT", - "peer": true, - "dependencies": { - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-task-list-item": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.1.0.tgz", - "integrity": "sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==", - "license": "MIT", - "peer": true, - "dependencies": { - "devlop": "^1.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-factory-destination": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz", - "integrity": "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "peer": true, - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-label": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz", - "integrity": "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "peer": true, - "dependencies": { - "devlop": "^1.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-space": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", - "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "peer": true, - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-title": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz", - "integrity": "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "peer": true, - "dependencies": { - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-whitespace": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz", - "integrity": "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "peer": true, - "dependencies": { - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-character": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", - "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "peer": true, - "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-chunked": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz", - "integrity": "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "peer": true, - "dependencies": { - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/micromark-util-classify-character": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz", - "integrity": "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "peer": true, - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-combine-extensions": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz", - "integrity": "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "peer": true, - "dependencies": { - "micromark-util-chunked": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-decode-numeric-character-reference": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz", - "integrity": "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "peer": true, - "dependencies": { - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/micromark-util-decode-string": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz", - "integrity": "sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "peer": true, - "dependencies": { - "decode-named-character-reference": "^1.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-decode-numeric-character-reference": "^2.0.0", - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/micromark-util-encode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz", - "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "peer": true - }, - "node_modules/micromark-util-html-tag-name": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz", - "integrity": "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "peer": true - }, - "node_modules/micromark-util-normalize-identifier": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz", - "integrity": "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "peer": true, - "dependencies": { - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/micromark-util-resolve-all": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz", - "integrity": "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "peer": true, - "dependencies": { - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-sanitize-uri": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz", - "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "peer": true, - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-encode": "^2.0.0", - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/micromark-util-subtokenize": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.1.0.tgz", - "integrity": "sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "peer": true, - "dependencies": { - "devlop": "^1.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "peer": true - }, - "node_modules/micromark-util-types": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.2.tgz", - "integrity": "sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "peer": true - }, "node_modules/micromatch": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", @@ -31871,23 +26070,6 @@ "node": ">= 0.8.0" } }, - "node_modules/prettier": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", - "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", - "license": "MIT", - "optional": true, - "peer": true, - "bin": { - "prettier": "bin-prettier.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, "node_modules/pretty-bytes": { "version": "5.6.0", "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", @@ -32000,17 +26182,6 @@ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", "license": "MIT" }, - "node_modules/property-information": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.1.0.tgz", - "integrity": "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==", - "license": "MIT", - "peer": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/prosemirror-changeset": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/prosemirror-changeset/-/prosemirror-changeset-2.3.1.tgz", @@ -33013,20 +27184,6 @@ "node": ">=14.0.0" } }, - "node_modules/react-scripts/node_modules/yaml": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.1.tgz", - "integrity": "sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==", - "license": "ISC", - "optional": true, - "peer": true, - "bin": { - "yaml": "bin.mjs" - }, - "engines": { - "node": ">= 14.6" - } - }, "node_modules/react-toastify": { "version": "11.0.5", "resolved": "https://registry.npmjs.org/react-toastify/-/react-toastify-11.0.5.tgz", @@ -33275,63 +27432,6 @@ "regjsparser": "bin/parser" } }, - "node_modules/rehype-dom-parse": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/rehype-dom-parse/-/rehype-dom-parse-5.0.2.tgz", - "integrity": "sha512-8CqP11KaqvtWsMqVEC2yM3cZWZsDNqqpr8nPvogjraLuh45stabgcpXadCAxu1n6JaUNJ/Xr3GIqXP7okbNqLg==", - "license": "ISC", - "peer": true, - "dependencies": { - "@types/hast": "^3.0.0", - "hast-util-from-dom": "^5.0.0", - "unified": "^11.0.0" - } - }, - "node_modules/rehype-dom-stringify": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/rehype-dom-stringify/-/rehype-dom-stringify-4.0.2.tgz", - "integrity": "sha512-2HVFYbtmm5W3C2j8QsV9lcHdIMc2Yn/ytlPKcSC85/tRx2haZbU8V67Wxyh8STT38ZClvKlZ993Me/Hw8g88Aw==", - "license": "ISC", - "peer": true, - "dependencies": { - "@types/hast": "^3.0.0", - "hast-util-to-dom": "^4.0.0", - "unified": "^11.0.0" - } - }, - "node_modules/rehype-minify-whitespace": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/rehype-minify-whitespace/-/rehype-minify-whitespace-6.0.2.tgz", - "integrity": "sha512-Zk0pyQ06A3Lyxhe9vGtOtzz3Z0+qZ5+7icZ/PL/2x1SHPbKao5oB/g/rlc6BCTajqBb33JcOe71Ye1oFsuYbnw==", - "license": "MIT", - "peer": true, - "dependencies": { - "@types/hast": "^3.0.0", - "hast-util-minify-whitespace": "^1.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/rehype-remark": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/rehype-remark/-/rehype-remark-10.0.1.tgz", - "integrity": "sha512-EmDndlb5NVwXGfUa4c9GPK+lXeItTilLhE6ADSaQuHr4JUlKw9MidzGzx4HpqZrNCt6vnHmEifXQiiA+CEnjYQ==", - "license": "MIT", - "peer": true, - "dependencies": { - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "hast-util-to-mdast": "^10.0.0", - "unified": "^11.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/relateurl": { "version": "0.2.7", "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", @@ -33341,92 +27441,6 @@ "node": ">= 0.10" } }, - "node_modules/remark-breaks": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/remark-breaks/-/remark-breaks-4.0.0.tgz", - "integrity": "sha512-IjEjJOkH4FuJvHZVIW0QCDWxcG96kCq7An/KVH2NfJe6rKZU2AsHeB3OEjPNRxi4QC34Xdx7I2KGYn6IpT7gxQ==", - "license": "MIT", - "peer": true, - "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-newline-to-break": "^2.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-gfm": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.1.tgz", - "integrity": "sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==", - "license": "MIT", - "peer": true, - "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-gfm": "^3.0.0", - "micromark-extension-gfm": "^3.0.0", - "remark-parse": "^11.0.0", - "remark-stringify": "^11.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-parse": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", - "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", - "license": "MIT", - "peer": true, - "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-from-markdown": "^2.0.0", - "micromark-util-types": "^2.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-rehype": { - "version": "11.1.2", - "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.2.tgz", - "integrity": "sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==", - "license": "MIT", - "peer": true, - "dependencies": { - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "mdast-util-to-hast": "^13.0.0", - "unified": "^11.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-stringify": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz", - "integrity": "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==", - "license": "MIT", - "peer": true, - "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-to-markdown": "^2.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/renderkid": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", @@ -33818,7 +27832,7 @@ "version": "1.93.3", "resolved": "https://registry.npmjs.org/sass/-/sass-1.93.3.tgz", "integrity": "sha512-elOcIZRTM76dvxNAjqYrucTSI0teAF/L2Lv0s6f6b7FOwcwIuA357bIE871580AjHJuSvLIRUosgV+lIWx6Rgg==", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "chokidar": "^4.0.0", @@ -33880,7 +27894,7 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "readdirp": "^4.0.1" @@ -33896,7 +27910,7 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">= 14.18.0" @@ -34450,17 +28464,6 @@ "deprecated": "Please use @jridgewell/sourcemap-codec instead", "license": "MIT" }, - "node_modules/space-separated-tokens": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", - "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", - "license": "MIT", - "peer": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/spawno": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/spawno/-/spawno-1.0.4.tgz", @@ -34848,21 +28851,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/stringify-entities": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", - "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", - "license": "MIT", - "peer": true, - "dependencies": { - "character-entities-html4": "^2.0.0", - "character-entities-legacy": "^3.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/stringify-object": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", @@ -35614,39 +29602,6 @@ "node": ">=8" } }, - "node_modules/trim-lines": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", - "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", - "license": "MIT", - "peer": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/trim-trailing-lines": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-2.1.0.tgz", - "integrity": "sha512-5UR5Biq4VlVOtzqkm2AZlgvSlDJtME46uV0br0gENbwN4l5+mMKT4b9gJKqWtuL2zAIqajGJGuvbCbcAJUZqBg==", - "license": "MIT", - "peer": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/trough": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", - "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==", - "license": "MIT", - "peer": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/tryer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", @@ -35864,20 +29819,6 @@ "is-typedarray": "^1.0.0" } }, - "node_modules/typescript": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", - "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", - "license": "Apache-2.0", - "peer": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, "node_modules/uc.micro": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz", @@ -35969,26 +29910,6 @@ "node": ">=4" } }, - "node_modules/unified": { - "version": "11.0.5", - "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz", - "integrity": "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==", - "license": "MIT", - "peer": true, - "dependencies": { - "@types/unist": "^3.0.0", - "bail": "^2.0.0", - "devlop": "^1.0.0", - "extend": "^3.0.0", - "is-plain-obj": "^4.0.0", - "trough": "^2.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/unique-string": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", @@ -36001,94 +29922,6 @@ "node": ">=8" } }, - "node_modules/unist-util-find-after": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unist-util-find-after/-/unist-util-find-after-5.0.0.tgz", - "integrity": "sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==", - "license": "MIT", - "peer": true, - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-is": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-is": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.1.tgz", - "integrity": "sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==", - "license": "MIT", - "peer": true, - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-position": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", - "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", - "license": "MIT", - "peer": true, - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-stringify-position": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", - "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", - "license": "MIT", - "peer": true, - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-visit": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", - "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", - "license": "MIT", - "peer": true, - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-is": "^6.0.0", - "unist-util-visit-parents": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-visit-parents": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.2.tgz", - "integrity": "sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==", - "license": "MIT", - "peer": true, - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-is": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/universalify": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", @@ -36270,36 +30103,6 @@ "node": ">= 0.8" } }, - "node_modules/vfile": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", - "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==", - "license": "MIT", - "peer": true, - "dependencies": { - "@types/unist": "^3.0.0", - "vfile-message": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/vfile-message": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.3.tgz", - "integrity": "sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==", - "license": "MIT", - "peer": true, - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-stringify-position": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/victory-vendor": { "version": "37.3.6", "resolved": "https://registry.npmjs.org/victory-vendor/-/victory-vendor-37.3.6.tgz", @@ -36322,29 +30125,6 @@ "d3-timer": "^3.0.1" } }, - "node_modules/vue": { - "version": "2.7.16", - "resolved": "https://registry.npmjs.org/vue/-/vue-2.7.16.tgz", - "integrity": "sha512-4gCtFXaAA3zYZdTp5s4Hl2sozuySsgz4jy1EnpBHNfpMa9dK1ZCG7viqBPCwXtmgc8nHqUsAu3G4gtmXkkY3Sw==", - "deprecated": "Vue 2 has reached EOL and is no longer actively maintained. See https://v2.vuejs.org/eol/ for more details.", - "license": "MIT", - "peer": true, - "dependencies": { - "@vue/compiler-sfc": "2.7.16", - "csstype": "^3.1.0" - } - }, - "node_modules/vue-template-compiler": { - "version": "2.7.16", - "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.16.tgz", - "integrity": "sha512-AYbUWAJHLGGQM7+cNTELw+KsOG9nl2CnSv467WobS5Cv9uk3wFcnr1Etsz2sEIHEZvw1U+o9mRlEO6QbZvUPGQ==", - "license": "MIT", - "peer": true, - "dependencies": { - "de-indent": "^1.0.2", - "he": "^1.2.0" - } - }, "node_modules/w3c-hr-time": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", @@ -36413,17 +30193,6 @@ "minimalistic-assert": "^1.0.0" } }, - "node_modules/web-namespaces": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz", - "integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==", - "license": "MIT", - "peer": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/web-streams-polyfill": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz", @@ -37697,17 +31466,6 @@ "funding": { "url": "https://github.com/sponsors/sindresorhus" } - }, - "node_modules/zwitch": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", - "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", - "license": "MIT", - "peer": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } } } } diff --git a/src/PagesMedico/DoctorAgendamentoManager.jsx b/src/PagesMedico/DoctorAgendamentoManager.jsx index 7f0d77e..25a8cae 100644 --- a/src/PagesMedico/DoctorAgendamentoManager.jsx +++ b/src/PagesMedico/DoctorAgendamentoManager.jsx @@ -2,7 +2,6 @@ import React, { useState, useMemo, useEffect, useCallback } from 'react'; import { useNavigate } from 'react-router-dom'; import API_KEY from '../components/utils/apiKeys.js'; import AgendamentoCadastroManager from '../pages/AgendamentoCadastroManager.jsx'; -// Removidos imports não utilizados no novo fluxo import { GetAllDoctors } from '../components/utils/Functions-Endpoints/Doctor.js'; import { useAuth } from '../components/utils/AuthProvider.js'; import dayjs from 'dayjs'; @@ -25,7 +24,7 @@ const Agendamento = () => { const { getAuthorizationHeader, user } = useAuth(); const authHeader = getAuthorizationHeader(); - // ID do médico que você quer visualizar + const ID_MEDICO_ESPECIFICO = "078d2a67-b4c1-43c8-ae32-c1e75bb5b3df"; const [listaTodosAgendamentos, setListaTodosAgendamentos] = useState([]); @@ -56,7 +55,7 @@ const Agendamento = () => { year: currentDate.year() }); - // ✨ ALTERAÇÃO PRINCIPAL: A busca agora filtra pelo ID do médico direto na API + const fetchAppointments = useCallback(async () => { if (!authHeader) return; setShowSpinner(true); @@ -65,7 +64,7 @@ const Agendamento = () => { myHeaders.append("apikey", API_KEY); const requestOptions = { method: 'GET', headers: myHeaders, redirect: 'follow' }; - // A URL agora contém o filtro para o ID do médico específico + const apiUrl = `https://yuanqfswhberkoevtmfr.supabase.co/rest/v1/appointments?doctor_id=eq.${ID_MEDICO_ESPECIFICO}&select=*`; try { @@ -131,7 +130,7 @@ const Agendamento = () => { useEffect(() => { if(authHeader) { fetchAppointments(); - // A busca de todos os médicos pode continuar caso a secretária precise ver a lista + if (user?.role !== 'doctor') { GetAllDoctors(authHeader).then(docs => { if (docs) { @@ -144,7 +143,7 @@ const Agendamento = () => { useEffect(() => { const processData = async () => { - // Como os dados já vêm filtrados da API, não precisamos mais da verificação de 'user' aqui + if (!listaTodosAgendamentos.length) { setAgendamentosOrganizados({}); setFilaEsperaData([]); @@ -153,8 +152,7 @@ const Agendamento = () => { setShowSpinner(true); - // ✨ SIMPLIFICAÇÃO: Não é mais necessário filtrar por `user.role`, - // pois a API já retornou apenas os agendamentos do médico desejado. + const appointmentsToShow = listaTodosAgendamentos; const patientIdsToFetch = new Set(); @@ -179,7 +177,7 @@ const Agendamento = () => { }).then(res => res.json()) ); } else { - fetchPromises.push(Promise.resolve(null)); // Mantém a ordem do Promise.all + fetchPromises.push(Promise.resolve(null)); } if (doctorIdsToFetch.size > 0) { @@ -239,9 +237,9 @@ const Agendamento = () => { }; processData(); - }, [listaTodosAgendamentos, authHeader]); // Removido 'user' das dependências pois não é mais usado aqui + }, [listaTodosAgendamentos, authHeader]); + - // O restante do código permanece o mesmo... const handleEditConsulta = (agendamento) => { setAgendamentoParaEdicao(agendamento); @@ -276,22 +274,20 @@ const Agendamento = () => { const weekDays = ['Dom', 'Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'Sáb']; const handleDateClick = (day) => setSelectedDay(day); const DeleteModal = () => ( -
+
-
+
Confirmação de Cancelamento
-
-

Qual o motivo do cancelamento? (Opcional)

- +

Qual o motivo do cancelamento?

+
-
- - {/* ✨ Botão sempre ativo ✨ */} +
+
@@ -379,33 +375,58 @@ const DeleteModal = () => ( {!PageNovaConsulta ? (
{user?.role !== 'doctor' && ( -
-
-
-
-
- handleSearchMedicos(e.target.value)} /> -
+
+
+ + Filtrar por Médico +
+
+ handleSearchMedicos(e.target.value)} + /> + Buscar médico para filtrar consultas + + {searchTermDoctor && FiltredTodosMedicos.length > 0 && ( +
+ {FiltredTodosMedicos.map((medico) => ( + + ))}
- {searchTermDoctor && FiltredTodosMedicos.length > 0 && ( -
- {FiltredTodosMedicos.map((medico) => ( -
{ - setSearchTermDoctor(medico.nomeMedico); - setFiltredTodosMedicos([]); - setMedicoFiltrado({ id: medico.idMedico }); - }} - > -

{medico.nomeMedico}

-
- ))} -
- )} -
+ )}
+ + {MedicoFiltrado.id !== "vazio" && ( +
+ + + {searchTermDoctor} + + +
+ )}
)}
diff --git a/src/PagesMedico/DoctorRelatorioManager.jsx b/src/PagesMedico/DoctorRelatorioManager.jsx index 13add57..6f86f00 100644 --- a/src/PagesMedico/DoctorRelatorioManager.jsx +++ b/src/PagesMedico/DoctorRelatorioManager.jsx @@ -46,7 +46,7 @@ const DoctorRelatorioManager = () => { if (authHeader) myHeaders.append('Authorization', authHeader); const requestOptions = { method: 'GET', headers: myHeaders, redirect: 'follow' }; - // Tenta descobrir o ID do usuário logado para aplicar filtro por médico + let userId = null; let userFullName = null; try { @@ -60,12 +60,12 @@ const DoctorRelatorioManager = () => { console.warn('Não foi possível obter UserInfos (pode não estar logado):', err); } - // Monta a URL com possíveis filtros preferenciais + const baseUrl = "https://yuanqfswhberkoevtmfr.supabase.co/rest/v1/reports?select=*"; let data = []; if (userId) { - // 1) tenta por doctor_id + try { const res = await fetch(`${baseUrl}&doctor_id=eq.${userId}`, requestOptions); data = await res.json(); @@ -74,7 +74,7 @@ const DoctorRelatorioManager = () => { data = []; } - // 2) fallback para created_by (se vazio) + if ((!Array.isArray(data) || data.length === 0) && userId) { try { const res2 = await fetch(`${baseUrl}&created_by=eq.${userId}`, requestOptions); @@ -85,10 +85,9 @@ const DoctorRelatorioManager = () => { } } - // 3) fallback para requested_by com nome completo (se ainda vazio) if ((!Array.isArray(data) || data.length === 0) && userFullName) { try { - // encode para evitar problemas com espaços/caracteres especiais + const encodedName = encodeURIComponent(userFullName); const res3 = await fetch(`${baseUrl}&requested_by=eq.${encodedName}`, requestOptions); data = await res3.json(); @@ -99,7 +98,6 @@ const DoctorRelatorioManager = () => { } } - // Se não obteve userId ou nenhuma das tentativas acima retornou algo, busca tudo (comportamento anterior) if (!userId || (!Array.isArray(data) || data.length === 0)) { try { const resAll = await fetch(baseUrl, requestOptions); @@ -110,7 +108,7 @@ const DoctorRelatorioManager = () => { } } - // garante unicidade e ordenação por criação + const uniqueMap = new Map(); (Array.isArray(data) ? data : []).forEach(r => { if (r && r.id) uniqueMap.set(r.id, r); @@ -144,14 +142,14 @@ const DoctorRelatorioManager = () => { }; }, [authHeader]); - // Busca dados de pacientes e médicos baseados na lista final que aparece na tela + useEffect(() => { const fetchRelData = async () => { const pacientes = []; const medicos = []; for (let i = 0; i < relatoriosFinais.length; i++) { const rel = relatoriosFinais[i]; - // paciente + try { const pacienteRes = await GetPatientByID(rel.patient_id, authHeader); pacientes.push(Array.isArray(pacienteRes) ? pacienteRes[0] : pacienteRes); @@ -159,13 +157,12 @@ const DoctorRelatorioManager = () => { pacientes.push(null); } - // médico: prioriza campos com id (doctor_id ou created_by). Se tiver somente requested_by (nome), usa nome. try { if (rel.doctor_id) { const docRes = await GetDoctorByID(rel.doctor_id, authHeader); medicos.push(Array.isArray(docRes) ? docRes[0] : docRes); } else if (rel.created_by) { - // created_by costuma ser id + const docRes = await GetDoctorByID(rel.created_by, authHeader); medicos.push(Array.isArray(docRes) ? docRes[0] : docRes); } else if (rel.requested_by) { @@ -174,7 +171,6 @@ const DoctorRelatorioManager = () => { medicos.push({ full_name: '' }); } } catch (err) { - // fallback para requested_by se houver medicos.push({ full_name: rel.requested_by || '' }); } } @@ -190,7 +186,6 @@ const DoctorRelatorioManager = () => { }, [relatoriosFinais, authHeader]); const abrirModal = (relatorio, pageIndex) => { - // encontra índice global do relatório no array relatoriosFinais (para alinhar com pacientes/medicos) const globalIndex = relatoriosFinais.findIndex(r => r.id === relatorio.id); const indexToUse = globalIndex >= 0 ? globalIndex : (indiceInicial + pageIndex); setRelatorioModal(relatorio); @@ -198,7 +193,7 @@ const DoctorRelatorioManager = () => { setShowModal(true); }; - // Função para limpar filtros + const limparFiltros = () => { setTermoPesquisa(''); setFiltroExame(''); @@ -256,12 +251,11 @@ const DoctorRelatorioManager = () => { return (
{showModal && ( -
setShowModal(false)}> -
e.stopPropagation()}> +
+
-
+
Relatório de {pacientesComRelatorios[modalIndex]?.full_name}
-
@@ -290,11 +284,11 @@ const DoctorRelatorioManager = () => {
-
+
-
diff --git a/src/PagesPaciente/ConsultasPaciente.jsx b/src/PagesPaciente/ConsultasPaciente.jsx index 24a4811..55fe2e7 100644 --- a/src/PagesPaciente/ConsultasPaciente.jsx +++ b/src/PagesPaciente/ConsultasPaciente.jsx @@ -42,6 +42,16 @@ const Agendamento = ({ setDictInfo }) => { }); + const [searchConsultas, setSearchConsultas] = useState(''); + const [searchFilaEspera, setSearchFilaEspera] = useState(''); + + + const [waitPage, setWaitPage] = useState(1); + const [waitPerPage, setWaitPerPage] = useState(10); + const [waitSortKey, setWaitSortKey] = useState(null); + const [waitSortDir, setWaitSortDir] = useState('asc'); + + const [isCancelModalOpen, setIsCancelModalOpen] = useState(false); const [appointmentToCancel, setAppointmentToCancel] = useState(null); @@ -202,6 +212,63 @@ const Agendamento = ({ setDictInfo }) => { const weekDays = ['Dom', 'Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'Sáb']; const handleDateClick = (day) => setSelectedDay(day); + + const consultasDoDiaFiltradas = useMemo(() => { + const consultas = DictAgendamentosOrganizados[selectedDay.format('YYYY-MM-DD')] || []; + if (!searchConsultas.trim()) return consultas; + const term = searchConsultas.toLowerCase(); + return consultas.filter(app => + app.medico_nome?.toLowerCase().includes(term) || + app.status?.toLowerCase().includes(term) + ); + }, [DictAgendamentosOrganizados, selectedDay, searchConsultas]); + + + const filaEsperaFiltrada = useMemo(() => { + if (!searchFilaEspera.trim()) return filaEsperaData; + const term = searchFilaEspera.toLowerCase(); + return filaEsperaData.filter(item => + item.Infos?.medico_nome?.toLowerCase().includes(term) + ); + }, [filaEsperaData, searchFilaEspera]); + + const applySortingWaitlist = (arr) => { + if (!Array.isArray(arr) || !waitSortKey) return arr; + const copy = [...arr]; + if (waitSortKey === 'medico') { + copy.sort((a, b) => (a?.Infos?.medico_nome || '').localeCompare(b?.Infos?.medico_nome || '')); + } else if (waitSortKey === 'data') { + copy.sort((a, b) => new Date(a?.agendamento?.created_at || 0) - new Date(b?.agendamento?.created_at || 0)); + } + if (waitSortDir === 'desc') copy.reverse(); + return copy; + }; + + const filaEsperaOrdenada = applySortingWaitlist(filaEsperaFiltrada); + + // Paginação + const waitTotalPages = Math.ceil(filaEsperaOrdenada.length / waitPerPage) || 1; + const waitIndiceInicial = (waitPage - 1) * waitPerPage; + const waitIndiceFinal = waitIndiceInicial + waitPerPage; + const filaEsperaPaginada = filaEsperaOrdenada.slice(waitIndiceInicial, waitIndiceFinal); + + const gerarNumerosWaitPages = () => { + const paginas = []; + const paginasParaMostrar = 5; + let inicio = Math.max(1, waitPage - Math.floor(paginasParaMostrar / 2)); + let fim = Math.min(waitTotalPages, inicio + paginasParaMostrar - 1); + inicio = Math.max(1, fim - paginasParaMostrar + 1); + for (let i = inicio; i <= fim; i++) { + paginas.push(i); + } + return paginas; + }; + + + useEffect(() => { + setWaitPage(1); + }, [searchFilaEspera, waitSortKey, waitSortDir]); + const activeButtonStyle = { backgroundColor: '#1B2A41', color: 'white', @@ -274,10 +341,21 @@ const Agendamento = ({ setDictInfo }) => {
{selectedDay.format('MMM')}{selectedDay.format('DD')}

{selectedDay.format('dddd')}

{selectedDay.format('D [de] MMMM [de] YYYY')}

+ +
+ setSearchConsultas(e.target.value)} + /> +
+

Consultas para {selectedDay.format('DD/MM')}

- {(DictAgendamentosOrganizados[selectedDay.format('YYYY-MM-DD')]?.length > 0) ? ( - DictAgendamentosOrganizados[selectedDay.format('YYYY-MM-DD')].map(app => ( + {(consultasDoDiaFiltradas.length > 0) ? ( + consultasDoDiaFiltradas.map(app => (
{dayjs(app.scheduled_at).format('HH:mm')}
@@ -340,6 +418,56 @@ const Agendamento = ({ setDictInfo }) => {

Minhas Solicitações em Fila de Espera

+ +
+
+ + Filtros +
+
+ setSearchFilaEspera(e.target.value)} + /> + Digite o nome do médico +
+ +
+ Ordenar por: + {(() => { + const sortValue = waitSortKey ? `${waitSortKey}-${waitSortDir}` : ''; + return ( + + ); + })()} +
+ +
+
+ {filaEsperaFiltrada.length} DE {filaEsperaData.length} SOLICITAÇÕES ENCONTRADAS +
+
+
+
@@ -350,7 +478,7 @@ const Agendamento = ({ setDictInfo }) => { - {filaEsperaData.length > 0 ? (filaEsperaData.map((item) => ( + {filaEsperaPaginada.length > 0 ? (filaEsperaPaginada.map((item) => ( @@ -369,6 +497,58 @@ const Agendamento = ({ setDictInfo }) => { )}
Dr(a). {item.Infos?.medico_nome} {dayjs(item.agendamento.created_at).format('DD/MM/YYYY HH:mm')}
+ + {filaEsperaFiltrada.length > 0 && ( +
+
+ Itens por página: + +
+ +
+ + Página {waitPage} de {waitTotalPages} • + Mostrando {waitIndiceInicial + 1}-{Math.min(waitIndiceFinal, filaEsperaFiltrada.length)} de {filaEsperaFiltrada.length} + + + +
+
+ )}
@@ -383,44 +563,55 @@ const Agendamento = ({ setDictInfo }) => { )} - {} {isCancelModalOpen && ( -
-
-
-

Confirmação de Cancelamento

- -
-
-

Qual o motivo do cancelamento?

- -
-
- - +
+
+
+
+
+ Confirmação de Cancelamento +
+
+ +
+

Qual o motivo do cancelamento?

+ +
+ +
+ + + +
)} - {}
) } diff --git a/src/components/Header/Header.css b/src/components/Header/Header.css index f51e931..c52a86d 100644 --- a/src/components/Header/Header.css +++ b/src/components/Header/Header.css @@ -461,6 +461,115 @@ background-color: #0056b3; } +/* Avatar Modal */ +.avatar-modal-content { + max-width: 500px; +} + +.avatar-preview-container { + text-align: center; + margin: 20px 0; +} + +.avatar-preview-wrapper { + width: 150px; + height: 150px; + margin: 0 auto 20px; + border-radius: 50%; + overflow: hidden; + background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); + display: flex; + align-items: center; + justify-content: center; +} + +.avatar-preview-image { + width: 100%; + height: 100%; + object-fit: cover; +} + +.avatar-preview-placeholder { + font-size: 4rem; + color: white; +} + +.avatar-error-message { + color: #dc3545; + margin-bottom: 10px; + font-size: 0.9rem; +} + +.avatar-file-input { + display: none; +} + +.avatar-actions { + display: flex; + gap: 10px; + justify-content: center; + flex-wrap: wrap; +} + +.avatar-upload-button { + padding: 10px 20px; + border: none; + border-radius: 8px; + background: #007bff; + color: white; + cursor: pointer; + font-size: 0.9rem; + transition: background-color 0.2s; +} + +.avatar-upload-button:hover { + background: #0056b3; +} + +.avatar-upload-button:disabled { + cursor: not-allowed; + opacity: 0.6; +} + +.avatar-remove-button { + padding: 10px 20px; + border: 1px solid #dc3545; + border-radius: 8px; + background: transparent; + color: #dc3545; + cursor: pointer; + font-size: 0.9rem; + transition: all 0.2s; +} + +.avatar-remove-button:hover { + background: #dc3545; + color: white; +} + +.avatar-remove-button:disabled { + cursor: not-allowed; + opacity: 0.6; +} + +.avatar-info-text { + margin-top: 15px; + font-size: 0.85rem; + color: #666; +} + +.avatar-actions-spacing { + margin-top: 20px; +} + +.avatar-close-button { + background: #6c757d; +} + +.avatar-close-button:hover { + background: #5a6268; +} + /* Responsividade */ @media (max-width: 768px) { .header-container { @@ -487,4 +596,13 @@ width: calc(100vw - 20px); max-width: none; } + + .avatar-modal-content { + max-width: 90%; + } + + .avatar-preview-wrapper { + width: 120px; + height: 120px; + } } \ No newline at end of file diff --git a/src/components/Header/Header.jsx b/src/components/Header/Header.jsx index b1d2806..2426e0b 100644 --- a/src/components/Header/Header.jsx +++ b/src/components/Header/Header.jsx @@ -1,6 +1,9 @@ import React, { useState, useRef, useEffect } from 'react'; import { useNavigate } from 'react-router-dom'; import './Header.css'; +import API_KEY from '../utils/apiKeys'; + +const SUPABASE_URL = 'https://yuanqfswhberkoevtmfr.supabase.co'; const Header = () => { const [isDropdownOpen, setIsDropdownOpen] = useState(false); @@ -10,16 +13,111 @@ const Header = () => { const [mensagens, setMensagens] = useState([]); const [showLogoutModal, setShowLogoutModal] = useState(false); const [avatarUrl, setAvatarUrl] = useState(null); + const [showAvatarModal, setShowAvatarModal] = useState(false); + const [isUploading, setIsUploading] = useState(false); + const [avatarError, setAvatarError] = useState(null); const navigate = useNavigate(); const chatInputRef = useRef(null); const mensagensContainerRef = useRef(null); + const fileInputRef = useRef(null); + + const loadAvatarFromSupabase = async (userId) => { + const extensions = ['jpg', 'jpeg', 'png', 'webp', 'gif']; + + for (const ext of extensions) { + try { + const avatarUrl = `${SUPABASE_URL}/storage/v1/object/public/avatars/${userId}/avatar.${ext}`; + + const response = await fetch(avatarUrl, { + method: 'GET', + mode: 'cors' + }); + + if (response.ok) { + const blob = await response.blob(); + const imageUrl = URL.createObjectURL(blob); + return imageUrl; + } + } catch (err) { + continue; + } + } + + return null; + }; useEffect(() => { - const loadAvatar = () => { + const loadAvatar = async () => { + let userId = localStorage.getItem('userId') || localStorage.getItem('user_id'); + + if (!userId) { + try { + const userData = localStorage.getItem('user') || localStorage.getItem('userData'); + if (userData) { + const parsed = JSON.parse(userData); + userId = parsed.id || parsed.user_id || parsed.sub || parsed.userId; + + if (userId) { + localStorage.setItem('userId', userId); + } + } + } catch (e) { + console.error('Erro ao parsear dados do usuário:', e); + } + } + + if (!userId) { + try { + const token = localStorage.getItem('token') || + localStorage.getItem('authToken') || + localStorage.getItem('access_token'); + + if (token) { + const myHeaders = new Headers(); + myHeaders.append('apikey', API_KEY); + myHeaders.append('Authorization', token.startsWith('Bearer') ? token : `Bearer ${token}`); + + const response = await fetch( + 'https://yuanqfswhberkoevtmfr.supabase.co/functions/v1/user-info', + { method: 'GET', headers: myHeaders } + ); + + if (response.ok) { + const userInfo = await response.json(); + userId = userInfo.id || userInfo.user_id || userInfo.sub || userInfo.user?.id; + + if (userId) { + localStorage.setItem('userId', userId); + } + } + } + } catch (e) { + console.error('Erro ao buscar userId da API:', e); + } + } + + if (!userId) { + const localAvatar = localStorage.getItem('user_avatar'); + if (localAvatar) { + setAvatarUrl(localAvatar); + } + return; + } + const localAvatar = localStorage.getItem('user_avatar'); if (localAvatar) { setAvatarUrl(localAvatar); } + + try { + const supabaseAvatarUrl = await loadAvatarFromSupabase(userId); + if (supabaseAvatarUrl) { + setAvatarUrl(supabaseAvatarUrl); + localStorage.setItem('user_avatar', supabaseAvatarUrl); + } + } catch (error) { + console.error('Erro ao carregar avatar do Supabase:', error); + } }; loadAvatar(); @@ -44,7 +142,6 @@ const Header = () => { } }, [mensagens]); - // --- Logout --- const handleLogoutClick = () => { setShowLogoutModal(true); setIsDropdownOpen(false); @@ -100,7 +197,7 @@ const Header = () => { }; const clearAuthData = () => { - ["token", "authToken", "userToken", "access_token", "user", "auth", "userData"].forEach(key => { + ["token", "authToken", "userToken", "access_token", "user", "auth", "userData", "user_avatar"].forEach(key => { localStorage.removeItem(key); sessionStorage.removeItem(key); }); @@ -121,10 +218,169 @@ const Header = () => { }; const handleViewProfile = () => { - navigate('/perfil'); + setShowAvatarModal(true); setIsDropdownOpen(false); }; + const handleAvatarUpload = async (event) => { + const file = event.target.files[0]; + if (!file) return; + + setAvatarError(null); + + const MAX_FILE_SIZE = 5 * 1024 * 1024; + const ACCEPTED_TYPES = ['image/jpeg', 'image/png', 'image/gif', 'image/webp']; + + if (file.size > MAX_FILE_SIZE) { + setAvatarError("Arquivo muito grande. Máximo 5MB."); + return; + } + + if (!ACCEPTED_TYPES.includes(file.type)) { + setAvatarError("Tipo de arquivo não suportado. Use JPEG, PNG, GIF ou WebP."); + return; + } + + setIsUploading(true); + + try { + let userId = localStorage.getItem('userId') || localStorage.getItem('user_id'); + + if (!userId) { + try { + const userData = localStorage.getItem('user') || localStorage.getItem('userData'); + if (userData) { + const parsed = JSON.parse(userData); + userId = parsed.id || parsed.user_id || parsed.sub || parsed.userId; + if (userId) { + localStorage.setItem('userId', userId); + } + } + } catch (e) { + console.error('Erro ao buscar userId:', e); + } + } + + if (userId) { + try { + await uploadAvatarToSupabase(file, userId); + + const ext = file.name.split('.').pop(); + const publicAvatarUrl = `${SUPABASE_URL}/storage/v1/object/public/avatars/${userId}/avatar.${ext}`; + + const response = await fetch(publicAvatarUrl); + if (response.ok) { + const blob = await response.blob(); + const imageUrl = URL.createObjectURL(blob); + setAvatarUrl(imageUrl); + localStorage.setItem('user_avatar', imageUrl); + window.dispatchEvent(new Event('storage')); + return; + } + } catch (apiError) { + console.error('Erro ao enviar para Supabase:', apiError); + } + } + + + const reader = new FileReader(); + reader.onload = (e) => { + const imageDataUrl = e.target.result; + localStorage.setItem('user_avatar', imageDataUrl); + setAvatarUrl(imageDataUrl); + window.dispatchEvent(new Event('storage')); + }; + reader.readAsDataURL(file); + + } catch (error) { + console.error('Erro no processamento:', error); + setAvatarError('Erro ao processar imagem'); + + const reader = new FileReader(); + reader.onload = (e) => { + const imageDataUrl = e.target.result; + localStorage.setItem('user_avatar', imageDataUrl); + setAvatarUrl(imageDataUrl); + }; + reader.readAsDataURL(file); + } finally { + setIsUploading(false); + if (event.target) event.target.value = ''; + } + }; + + const uploadAvatarToSupabase = async (file, userId) => { + const ext = file.name.split('.').pop(); + const filePath = `${userId}/avatar.${ext}`; + + const myHeaders = new Headers(); + myHeaders.append('apikey', API_KEY); + myHeaders.append('Content-Type', file.type); + + const token = localStorage.getItem('token') || localStorage.getItem('authToken'); + if (token) { + myHeaders.append('Authorization', `Bearer ${token}`); + } + + const response = await fetch(`${SUPABASE_URL}/storage/v1/object/avatars/${filePath}`, { + method: 'POST', + headers: myHeaders, + body: file + }); + + if (!response.ok) { + + const updateResponse = await fetch(`${SUPABASE_URL}/storage/v1/object/avatars/${filePath}`, { + method: 'PUT', + headers: myHeaders, + body: file + }); + + if (!updateResponse.ok) { + throw new Error('Erro ao fazer upload do avatar'); + } + return await updateResponse.json(); + } + + return await response.json(); + }; + + const clearAvatar = async () => { + const userId = localStorage.getItem('userId') || localStorage.getItem('user_id'); + + if (userId) { + try { + const extensions = ['jpg', 'jpeg', 'png', 'webp', 'gif']; + + for (const ext of extensions) { + const filePath = `${userId}/avatar.${ext}`; + const myHeaders = new Headers(); + myHeaders.append('apikey', API_KEY); + + const token = localStorage.getItem('token') || localStorage.getItem('authToken'); + if (token) { + myHeaders.append('Authorization', `Bearer ${token}`); + } + + try { + await fetch(`${SUPABASE_URL}/storage/v1/object/avatars/${filePath}`, { + method: 'DELETE', + headers: myHeaders + }); + } catch (e) { + continue; + } + } + } catch (error) { + console.error('Erro ao remover avatar da API:', error); + } + } + + localStorage.removeItem('user_avatar'); + setAvatarUrl(null); + window.dispatchEvent(new Event('storage')); + }; + const handleSuporteClick = () => { setIsSuporteCardOpen(!isSuporteCardOpen); if (isDropdownOpen) setIsDropdownOpen(false); @@ -157,7 +413,7 @@ const Header = () => { e.preventDefault(); if (mensagem.trim() === '') return; - // Mensagem do usuário + const novaMensagemUsuario = { id: Date.now(), texto: mensagem, @@ -177,7 +433,7 @@ const Header = () => { const data = await response.json(); - // Resposta da IA + const respostaSuporte = { id: Date.now() + 1, texto: data.resposta || data.reply || "Desculpe, não consegui processar sua pergunta no momento 😅", @@ -266,7 +522,31 @@ const Header = () => {
-
+ {avatarUrl ? ( + Avatar { + const userId = localStorage.getItem('userId') || localStorage.getItem('user_id'); + if (userId) { + loadAvatarFromSupabase(userId).then(newUrl => { + if (newUrl) { + setAvatarUrl(newUrl); + localStorage.setItem('user_avatar', newUrl); + } else { + setAvatarUrl(null); + localStorage.removeItem('user_avatar'); + } + }); + } + }} + /> + ) : ( +
+ +
+ )}
{isDropdownOpen && ( @@ -282,7 +562,6 @@ const Header = () => {
- {/* Modal de Logout */} {showLogoutModal && (
@@ -315,6 +594,79 @@ const Header = () => {
)} + {showAvatarModal && ( +
setShowAvatarModal(false)}> +
e.stopPropagation()}> +

Gerenciar Avatar

+ +
+
+ {avatarUrl ? ( + Avatar { + setAvatarUrl(null); + localStorage.removeItem('user_avatar'); + }} + /> + ) : ( + 👤 + )} +
+ + {avatarError && ( +
+ {avatarError} +
+ )} + + + +
+ + + {avatarUrl && ( + + )} +
+ +

+ Formatos aceitos: JPEG, PNG, GIF, WebP (máx. 5MB) +

+
+ +
+ +
+
+
+ )}
); }; diff --git a/src/pages/Agendamento.jsx b/src/pages/Agendamento.jsx index 89e9388..3f71eaf 100644 --- a/src/pages/Agendamento.jsx +++ b/src/pages/Agendamento.jsx @@ -184,7 +184,18 @@ const Agendamento = ({ setDictInfo }) => { }, [authHeader]); - const handleSearchMedicos = (term) => { }; + const handleSearchMedicos = (term) => { + setSearchTermDoctor(term); + if (term.trim() === '') { + setFiltredTodosMedicos([]); + setMedicoFiltrado({ id: "vazio" }); + return; + } + const filtered = ListaDeMedicos.filter(medico => + medico.nomeMedico.toLowerCase().includes(term.toLowerCase()) + ); + setFiltredTodosMedicos(filtered); + }; const filaEsperaFiltrada = useMemo(() => { @@ -233,9 +244,8 @@ const Agendamento = ({ setDictInfo }) => {
-
+
Confirmação de Cancelamento
-

Qual o motivo do cancelamento?

@@ -243,7 +253,7 @@ const Agendamento = ({ setDictInfo }) => {
- +
@@ -278,33 +288,79 @@ const Agendamento = ({ setDictInfo }) => {

Agendar nova consulta

- {/* LIMPA O OBJETO DE EDIÇÃO AO CLICAR EM "ADICIONAR" */} +
{!PageNovaConsulta ? (
-
-
-
-
-
- handleSearchMedicos(e.target.value)} /> -
-
- {searchTermDoctor && FiltredTodosMedicos.length > 0 && (
{FiltredTodosMedicos.map((medico) => (
{ setSearchTermDoctor(medico.nomeMedico); setFiltredTodosMedicos([]); setMedicoFiltrado(medico); }}>

{medico.nomeMedico}

))}
)} -
-
-
+ + {!FiladeEspera && ( +
+
+ + Filtrar por Médico +
+
+ handleSearchMedicos(e.target.value)} + /> + + Filtre os agendamentos por médico + +
+ {searchTermDoctor && FiltredTodosMedicos.length > 0 && ( +
+ {FiltredTodosMedicos.map((medico) => ( + + ))} +
+ )} + {MedicoFiltrado.id !== "vazio" && ( +
+ + + Filtrando por: {searchTermDoctor} + + +
+ )} +
+ )} +
{FiladeEspera === false ? (
@@ -313,18 +369,24 @@ const Agendamento = ({ setDictInfo }) => {

{selectedDay.format('dddd')}

{selectedDay.format('D [de] MMMM [de] YYYY')}

Consultas para {selectedDay.format('DD/MM')}

- {showSpinner ? : (DictAgendamentosOrganizados[selectedDay.format('YYYY-MM-DD')]?.length > 0) ? (DictAgendamentosOrganizados[selectedDay.format('YYYY-MM-DD')].map(app => ( + {showSpinner ? : (DictAgendamentosOrganizados[selectedDay.format('YYYY-MM-DD')]?.length > 0) ? ( + DictAgendamentosOrganizados[selectedDay.format('YYYY-MM-DD')] + .filter(app => { + if (MedicoFiltrado.id === "vazio") return true; + return app.doctor_id === MedicoFiltrado.idMedico; + }) + .map(app => (
{dayjs(app.scheduled_at).format('HH:mm')}
{app.paciente_nome}Dr(a). {app.medico_nome}
{app.status === 'cancelled' ? ( ) : ( <> - {/* MUDANÇA: PASSA O OBJETO COMPLETO 'app' PARA O ESTADO DE EDIÇÃO */} + - {/* Botão de Cancelar */} + diff --git a/src/pages/DisponibilidadesDoctorPage.jsx b/src/pages/DisponibilidadesDoctorPage.jsx index 3f2e27f..296f015 100644 --- a/src/pages/DisponibilidadesDoctorPage.jsx +++ b/src/pages/DisponibilidadesDoctorPage.jsx @@ -18,6 +18,8 @@ const DisponibilidadesDoctorPage = () => { const [selectedDoctor, setSelectedDoctor] = useState(null); const [editando, setEditando] = useState(null); const [doctorsLoading, setDoctorsLoading] = useState(true); + const [showDeleteModal, setShowDeleteModal] = useState(false); + const [selectedDisponibilidadeId, setSelectedDisponibilidadeId] = useState(null); useEffect(() => { const fetchDoctors = async () => { @@ -108,8 +110,6 @@ const DisponibilidadesDoctorPage = () => { }; const deletarDisponibilidade = async (id) => { - if (!window.confirm("Deseja realmente excluir esta disponibilidade?")) - return; try { const res = await fetch(`${ENDPOINT}?id=eq.${id}`, { method: "DELETE", @@ -118,6 +118,8 @@ const DisponibilidadesDoctorPage = () => { if (res.ok) { alert("Disponibilidade excluída com sucesso!"); setDisponibilidades((prev) => prev.filter((d) => d.id !== id)); + setShowDeleteModal(false); + setSelectedDisponibilidadeId(null); } else { const errorData = await res.json(); console.error("Erro na resposta:", errorData); @@ -181,62 +183,68 @@ const DisponibilidadesDoctorPage = () => { Disponibilidades dos Médicos -
- { - setSearchTerm(e.target.value); - setSelectedDoctor(null); - }} - style={{ - border: "1px solid #ccc", - borderRadius: "4px", - padding: "6px", - width: "300px", - }} - /> - {searchTerm && ( -
    +
    + + Filtrar por Médico +
    +
    + { + setSearchTerm(e.target.value); + if (!e.target.value) setSelectedDoctor(null); }} - > - {filteredDoctors.length > 0 ? ( - filteredDoctors.map((doc) => ( -
  • + Buscar médico para filtrar disponibilidades + + {searchTerm && !selectedDoctor && filteredDoctors.length > 0 && ( +
    + {filteredDoctors.map((doc) => ( +
  • - )) - ) : ( -
  • - Nenhum médico encontrado -
  • + + ))} +
    + )} +
+ +
+
+ {selectedDoctor && ( + + + {selectedDoctor.name} + )} - - )} +
+ {disponibilidades.length} DISPONIBILIDADES ENCONTRADAS +
+
+ + {selectedDoctor && ( + + )} +
@@ -312,39 +320,24 @@ const DisponibilidadesDoctorPage = () => { -
- +
+ - -
+ +
); @@ -354,6 +347,54 @@ const DisponibilidadesDoctorPage = () => { )}
+ + {showDeleteModal && ( +
+
+
+
+
+ Confirmação de Exclusão +
+
+ +
+

+ Tem certeza que deseja excluir esta disponibilidade? +

+
+ +
+ + + +
+
+
+
+ )}
); }; diff --git a/src/pages/DoctorEditPage.jsx b/src/pages/DoctorEditPage.jsx index f50b934..2baa931 100644 --- a/src/pages/DoctorEditPage.jsx +++ b/src/pages/DoctorEditPage.jsx @@ -1,5 +1,5 @@ import React, { useEffect, useState, useCallback } from "react"; -import { useParams, useSearchParams } from "react-router-dom"; +import { useParams, useSearchParams, useNavigate } from "react-router-dom"; import { GetDoctorByID } from "../components/utils/Functions-Endpoints/Doctor"; import DoctorForm from "../components/doctors/DoctorForm"; import { useAuth } from "../components/utils/AuthProvider"; @@ -10,7 +10,9 @@ const ENDPOINT_AVAILABILITY = const DoctorEditPage = ({DictInfo}) => { const { getAuthorizationHeader } = useAuth(); + const navigate = useNavigate(); const [DoctorToPUT, setDoctorPUT] = useState({}); + const [showSuccessModal, setShowSuccessModal] = useState(false); const Parametros = useParams(); const [searchParams] = useSearchParams(); @@ -46,10 +48,17 @@ const DoctorEditPage = ({DictInfo}) => { }; fetch(`https://yuanqfswhberkoevtmfr.supabase.co/rest/v1/doctors?id=eq.${DictInfo.id}`,requestOptions) - .then(response => console.log(response)) + .then(response => { + console.log(response) + if (response.ok) { + setShowSuccessModal(true) + } + return response + }) + .catch(error => console.log("erro", error)) }; - // 2. Função para Atualizar DISPONIBILIDADE (PATCH) + const HandlePatchAvailability = async (data) => { const authHeader = getAuthorizationHeader(); @@ -76,8 +85,6 @@ const DoctorEditPage = ({DictInfo}) => { ); console.log("Resposta PATCH Disponibilidade:", response); alert("Disponibilidade atualizada com sucesso!"); - // Opcional: Redirecionar de volta para a lista de disponibilidades - // navigate('/disponibilidades'); } catch (error) { console.error("Erro ao atualizar disponibilidade:", error); alert("Erro ao atualizar disponibilidade."); @@ -97,6 +104,46 @@ const DoctorEditPage = ({DictInfo}) => { } isEditingAvailability={mode === "availability"} /> + + {showSuccessModal && ( +
+
+
+
+
+ Médico Editado +
+
+ +
+

+ Médico editado com sucesso! +

+
+ +
+ +
+
+
+
+ )}
); }; diff --git a/src/pages/DoctorTable.jsx b/src/pages/DoctorTable.jsx index cdcce24..3ab9dd5 100644 --- a/src/pages/DoctorTable.jsx +++ b/src/pages/DoctorTable.jsx @@ -27,9 +27,8 @@ function TableDoctor({setDictInfo}) { const [showDeleteModal, setShowDeleteModal] = useState(false); const [selectedDoctorId, setSelectedDoctorId] = useState(null); - // Ordenação rápida - const [sortKey, setSortKey] = useState(null); // 'nome' | 'idade' | null - const [sortDir, setSortDir] = useState('asc'); // 'asc' | 'desc' + const [sortKey, setSortKey] = useState(null); + const [sortDir, setSortDir] = useState('asc'); const limparFiltros = () => { setSearch(""); @@ -147,7 +146,6 @@ function TableDoctor({setDictInfo}) { return resultado; }) : []; - // Aplica ordenação rápida const applySorting = (arr) => { if (!Array.isArray(arr) || !sortKey) return arr; const copy = [...arr]; @@ -277,7 +275,7 @@ function TableDoctor({setDictInfo}) {
- {/* Ordenação rápida */} +
Ordenar por: @@ -481,7 +479,6 @@ function TableDoctor({setDictInfo}) { - {/* Paginação */} {medicosFiltrados.length > 0 && (
@@ -554,15 +551,10 @@ function TableDoctor({setDictInfo}) { >
-
+
Confirmação de Exclusão
-
diff --git a/src/pages/EditPage.jsx b/src/pages/EditPage.jsx index 0f9bb18..dac83d8 100644 --- a/src/pages/EditPage.jsx +++ b/src/pages/EditPage.jsx @@ -9,6 +9,7 @@ import { useAuth } from '../components/utils/AuthProvider' const EditPage = ({DictInfo}) => { const navigate = useNavigate() const [PatientToPUT, setPatientPUT] = useState({}) + const [showSuccessModal, setShowSuccessModal] = useState(false) const { getAuthorizationHeader, isAuthenticated } = useAuth(); @@ -37,9 +38,15 @@ const HandlePutPatient = async () => { }; fetch(`https://yuanqfswhberkoevtmfr.supabase.co/rest/v1/patients?id=eq.${PatientToPUT.id}`,requestOptions) - .then(response => console.log(response)) + .then(response => { + console.log(response) + if (response.ok) { + setShowSuccessModal(true) + } + return response + }) .then(result => console.log(result)) - .catch(console.log("erro")) + .catch(error => console.log("erro", error)) }; @@ -52,6 +59,46 @@ const HandlePutPatient = async () => { formData={PatientToPUT} setFormData={setPatientPUT} /> + + {showSuccessModal && ( +
+
+
+
+
+ Paciente Editado +
+
+ +
+

+ Paciente editado com sucesso! +

+
+ +
+ +
+
+
+
+ )}
) diff --git a/src/pages/ExcecoesDisponibilidade.jsx b/src/pages/ExcecoesDisponibilidade.jsx index db2e034..e4f834b 100644 --- a/src/pages/ExcecoesDisponibilidade.jsx +++ b/src/pages/ExcecoesDisponibilidade.jsx @@ -1,4 +1,5 @@ import React, { useState, useEffect, useCallback, useMemo } from 'react'; +import { useNavigate } from 'react-router-dom'; import dayjs from 'dayjs'; import 'dayjs/locale/pt-br'; import weekday from 'dayjs/plugin/weekday'; @@ -23,12 +24,10 @@ const getDateRange = (date, view) => { toDate = startDayjs.format('YYYY-MM-DD'); titleRange = startDayjs.format('DD/MM/YYYY'); } else if (view === 'semanal') { - // Padrão Dayjs: Sunday=0, Monday=1. - // startOf('week') pode ser Domingo ou Segunda, dependendo do locale. - // Se precisar forçar a Segunda-feira: + let weekStart = startDayjs.startOf('week'); - if (weekStart.day() !== 1) { // Se não for segunda-feira (1), ajusta - weekStart = startDayjs.weekday(1); // Vai para a segunda-feira desta semana + if (weekStart.day() !== 1) { + weekStart = startDayjs.weekday(1); } const weekEnd = weekStart.add(6, 'day'); @@ -52,12 +51,21 @@ const getDateRange = (date, view) => { const ExcecoesDisponibilidade = () => { const { getAuthorizationHeader } = useAuth(); + const navigate = useNavigate(); const [pageNovaExcecao, setPageNovaExcecao] = useState(false); const [excecoes, setExcecoes] = useState([]); const [loading, setLoading] = useState(false); + const [showDeleteModal, setShowDeleteModal] = useState(false); + const [selectedExceptionId, setSelectedExceptionId] = useState(null); + const [showSuccessModal, setShowSuccessModal] = useState(false); + const [successMessage, setSuccessMessage] = useState(''); const [filtroMedicoId, setFiltroMedicoId] = useState(''); const [filtroData, setFiltroData] = useState(dayjs().format('YYYY-MM-DD')); + const [listaDeMedicos, setListaDeMedicos] = useState([]); + const [searchTermDoctor, setSearchTermDoctor] = useState(''); + const [filteredDoctors, setFilteredDoctors] = useState([]); + const [selectedDoctor, setSelectedDoctor] = useState(null); const [visualizacao, setVisualizacao] = useState('diario'); @@ -123,8 +131,51 @@ const ExcecoesDisponibilidade = () => { fetchExcecoes(fromDate, toDate, filtroMedicoId); }, [fetchExcecoes, filtroMedicoId, fromDate, toDate]); + useEffect(() => { + const fetchDoctors = async () => { + const myHeaders = new Headers(); + const authHeader = resolveAuthHeader(); + if (authHeader) myHeaders.append("Authorization", authHeader); + if (API_KEY) myHeaders.append("apikey", API_KEY); + + try { + const response = await fetch('https://yuanqfswhberkoevtmfr.supabase.co/rest/v1/doctors?select=id,full_name', { + method: 'GET', + headers: myHeaders + }); + if (response.ok) { + const doctors = await response.json(); + setListaDeMedicos(doctors); + } + } catch (error) { + console.error('Erro ao buscar médicos:', error); + } + }; + fetchDoctors(); + }, []); + + const handleSearchDoctors = (term) => { + setSearchTermDoctor(term); + if (term.trim() === '') { + setFilteredDoctors([]); + return; + } + const filtered = listaDeMedicos.filter(doc => + doc.full_name.toLowerCase().includes(term.toLowerCase()) + ); + setFilteredDoctors(filtered); + }; + + const limparFiltros = () => { + setSearchTermDoctor(''); + setFilteredDoctors([]); + setSelectedDoctor(null); + setFiltroMedicoId(''); + setFiltroData(dayjs().format('YYYY-MM-DD')); + setVisualizacao('diario'); + }; + const deleteExcecao = async (id) => { - if (!window.confirm("Confirma exclusão desta exceção?")) return; const myHeaders = new Headers(); const authHeader = resolveAuthHeader(); if (authHeader) myHeaders.append("Authorization", authHeader); @@ -139,6 +190,9 @@ const ExcecoesDisponibilidade = () => { }); if (res.ok) { setExcecoes(prev => prev.filter(x => x.id !== id)); + setShowDeleteModal(false); + setSuccessMessage('Exceção excluída com sucesso!'); + setShowSuccessModal(true); } else { const text = await res.text(); console.error('Erro ao deletar exceção', res.status, text); @@ -163,7 +217,7 @@ const ExcecoesDisponibilidade = () => { return (
- {/* Título e Botão de Criação */} +

Gerenciar Exceções de Disponibilidade

-
+
+
+ + Filtros +
- {/* Filtros de Médico e Data */} -
-
- +
+
+ setFiltroMedicoId(e.target.value)} + className="form-control" + placeholder="Digite o nome do médico..." + value={searchTermDoctor} + onChange={(e) => handleSearchDoctors(e.target.value)} /> + Filtre as exceções por médico + {searchTermDoctor && filteredDoctors.length > 0 && ( +
+ {filteredDoctors.map((doc) => ( + + ))} +
+ )}
-
- - + + setFiltroData(e.target.value)} /> + Selecione a data base para visualização
- {/* Botões de Visualização (Dia/Semana/Mês) */} +
+
+ {selectedDoctor && ( + + + {selectedDoctor.full_name} + + )} +
+ {excecoes.length} DE {excecoes.length} EXCEÇÕES ENCONTRADAS +
+
+ + +
+
+ +
+ +
- {/* Tabela de Exceções (Título usa o titleRange calculado) */} +

Exceções em {titleRange} ({excecoes.length})

@@ -264,7 +368,10 @@ const ExcecoesDisponibilidade = () => { @@ -278,6 +385,89 @@ const ExcecoesDisponibilidade = () => {
+ + {showDeleteModal && ( +
+
+
+
+
+ Confirmação de Exclusão +
+
+ +
+

+ Tem certeza que deseja excluir esta exceção? +

+
+ +
+ + + +
+
+
+
+ )} + + + {showSuccessModal && ( +
+
+
+
+
+ Sucesso +
+
+ +
+

+ {successMessage} +

+
+ +
+ +
+
+
+
+ )}
); } diff --git a/src/pages/LaudoManager.jsx b/src/pages/LaudoManager.jsx index e603dfa..e881d77 100644 --- a/src/pages/LaudoManager.jsx +++ b/src/pages/LaudoManager.jsx @@ -32,7 +32,6 @@ const LaudoManager = () => { const [paginaAtual, setPaginaAtual] = useState(1); const [itensPorPagina, setItensPorPagina] = useState(10); - // agora guardamos a mensagem (null = sem aviso) const [noPermissionText, setNoPermissionText] = useState(null); const isSecretary = true; @@ -162,11 +161,11 @@ const LaudoManager = () => { const handleLiberarLaudo = async (relatorio) => { if (isSecretary) { - // MUDANÇA: mostrar "Ainda não implementado" + setNoPermissionText('Ainda não implementado'); return; } - // para médicos: implementação real já estava antes (mantive o bloco, caso queira) + try { const myHeaders = new Headers(); myHeaders.append('apikey', API_KEY); @@ -187,7 +186,6 @@ const LaudoManager = () => { throw new Error('Erro ao liberar laudo: ' + res.status + ' ' + txt); } - // refetch simples const refreshed = await fetch("https://yuanqfswhberkoevtmfr.supabase.co/rest/v1/reports?select=*", { method: 'GET', headers: (() => { const h=new Headers(); h.append('apikey', API_KEY); if(authHeader) h.append('Authorization', authHeader); return h; })(), @@ -327,7 +325,7 @@ const LaudoManager = () => { Editar - {/* Removido o botão "Imprimir" daqui (agora no Ver Detalhes) */} +
- {/* Modal principal (detalhes) */} + {showModal && relatorioModal && ( -
setShowModal(false)}> -
e.stopPropagation()}> +
+
-
+
Relatório de {pacientesComRelatorios[modalIndex]?.full_name || relatorioModal.patient_name || 'Paciente'}
-
@@ -441,11 +438,11 @@ const LaudoManager = () => {
-
+
-
@@ -454,14 +451,13 @@ const LaudoManager = () => {
)} - {/* Modal Protocolo */} + {showProtocolModal && protocolForIndex && ( -
setShowProtocolModal(false)}> -
e.stopPropagation()}> +
+
-
+
Protocolo de Entrega - {protocolForIndex.relatorio?.patient_name || 'Paciente'}
-
@@ -474,14 +470,14 @@ const LaudoManager = () => {
-
+
-
@@ -490,17 +486,18 @@ const LaudoManager = () => {
)} - {/* Variável de aviso: mostra texto personalizado */} {noPermissionText && ( -
setNoPermissionText(null)}> -
e.stopPropagation()}> +
+
-
-
{noPermissionText}
-

{/* opcional descrição aqui */}

-
- -
+
+
Aviso
+
+
+

{noPermissionText}

+
+
+
diff --git a/src/pages/ProfilePage.jsx b/src/pages/ProfilePage.jsx index ab47356..a41bfe8 100644 --- a/src/pages/ProfilePage.jsx +++ b/src/pages/ProfilePage.jsx @@ -2,14 +2,6 @@ import React, { useState, useEffect, useCallback } from "react"; import { useLocation, useNavigate } from "react-router-dom"; import "./style/ProfilePage.css"; - -const MOCK_API_BASE_URL = "https://mock.apidog.com/m1/1053378-0-default"; - - -const getLocalAvatar = () => localStorage.getItem('user_avatar'); -const setLocalAvatar = (avatarData) => localStorage.setItem('user_avatar', avatarData); -const clearLocalAvatar = () => localStorage.removeItem('user_avatar'); - const ROLES = { ADMIN: "Administrador", SECRETARY: "Secretária", @@ -36,7 +28,6 @@ const ProfilePage = () => { const [userEmail, setUserEmail] = useState("admin@squad23.com"); const [avatarUrl, setAvatarUrl] = useState(null); const [isEditingName, setIsEditingName] = useState(false); - const [isUploading, setIsUploading] = useState(false); const [error, setError] = useState(null); @@ -52,14 +43,21 @@ const ProfilePage = () => { useEffect(() => { const loadProfileData = () => { - - const localAvatar = getLocalAvatar(); + const localAvatar = localStorage.getItem('user_avatar'); if (localAvatar) { setAvatarUrl(localAvatar); } }; loadProfileData(); + + + const handleStorageChange = () => { + loadProfileData(); + }; + + window.addEventListener('storage', handleStorageChange); + return () => window.removeEventListener('storage', handleStorageChange); }, []); const handleNameSave = () => { @@ -83,104 +81,6 @@ const ProfilePage = () => { const handleClose = () => navigate(-1); - - const handleAvatarUpload = async (event) => { - const file = event.target.files[0]; - if (!file) return; - - setError(null); - - - const MAX_FILE_SIZE = 5 * 1024 * 1024; - const ACCEPTED_TYPES = ['image/jpeg', 'image/png', 'image/gif', 'image/webp']; - - if (file.size > MAX_FILE_SIZE) { - setError("Arquivo muito grande. Máximo 5MB."); - return; - } - - if (!ACCEPTED_TYPES.includes(file.type)) { - setError("Tipo de arquivo não suportado. Use JPEG, PNG, GIF ou WebP."); - return; - } - - setIsUploading(true); - - try { - - try { - const result = await uploadAvatarToMockAPI(file); - - const newAvatarUrl = result.url || result.avatarUrl; - if (newAvatarUrl) { - setAvatarUrl(newAvatarUrl); - setLocalAvatar(newAvatarUrl); - console.log('Avatar enviado para API com sucesso'); - return; - } - } catch (apiError) { - - console.log('API não disponível, salvando localmente...'); - } - - - const reader = new FileReader(); - reader.onload = (e) => { - const imageDataUrl = e.target.result; - setLocalAvatar(imageDataUrl); - setAvatarUrl(imageDataUrl); - console.log('Avatar salvo localmente'); - }; - reader.readAsDataURL(file); - - } catch (error) { - - console.error('Erro no processamento:', error); - const reader = new FileReader(); - reader.onload = (e) => { - const imageDataUrl = e.target.result; - setLocalAvatar(imageDataUrl); - setAvatarUrl(imageDataUrl); - }; - reader.readAsDataURL(file); - } finally { - setIsUploading(false); - event.target.value = ''; - } - }; - - - const uploadAvatarToMockAPI = async (file) => { - const formData = new FormData(); - formData.append("avatar", file); - - const response = await fetch(`${MOCK_API_BASE_URL}/storage/v1/object/avatars/[path]`, { - method: "POST", - body: formData - }); - - if (!response.ok) { - - return null; - } - - return await response.json(); - }; - - - const clearAvatar = () => { - - fetch(`${MOCK_API_BASE_URL}/storage/v1/object/avatars/[path]`, { - method: "DELETE" - }).catch(() => { - - }); - - - clearLocalAvatar(); - setAvatarUrl(null); - }; - return (
@@ -203,7 +103,7 @@ const ProfilePage = () => { className="avatar-img" onError={() => { setAvatarUrl(null); - clearLocalAvatar(); + localStorage.removeItem('user_avatar'); }} /> ) : ( @@ -212,26 +112,15 @@ const ProfilePage = () => {
)}
- - - - {isUploading && ( -

- Processando imagem... -

- )} + +

+ Gerencie seu avatar no menu do perfil acima +

@@ -287,11 +176,6 @@ const ProfilePage = () => {
- {avatarUrl && ( - - )} - {/* Ordenação rápida (estilo compacto por select) */}
Ordenar por: @@ -550,11 +550,15 @@ function TablePaciente({ setCurrentPage, setPatientID,setDictInfo }) { - - - +
From 220e436fa0a076d05030ae20342e019a736acf5e Mon Sep 17 00:00:00 2001 From: RafaelMTA13 Date: Wed, 26 Nov 2025 15:50:28 -0300 Subject: [PATCH 02/10] =?UTF-8?q?Cria=C3=A7=C3=A3o=20da=20tela=20de=20rela?= =?UTF-8?q?t=C3=B3rio=20com=20IA=20e=20integra=C3=A7=C3=A3o=20backend?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package-lock.json | 552 +++--------------- src/PagesMedico/NovoRelatorioAudio.jsx | 215 +++++++ .../styleMedico/NovoRelatorioAudio.css | 97 +++ src/components/FormRelatorio.jsx | 371 +++++++----- src/data/sidebar-items-medico.json | 11 +- src/perfis/Perfil_medico/PerfilMedico.jsx | 3 + 6 files changed, 616 insertions(+), 633 deletions(-) create mode 100644 src/PagesMedico/NovoRelatorioAudio.jsx create mode 100644 src/PagesMedico/styleMedico/NovoRelatorioAudio.css diff --git a/package-lock.json b/package-lock.json index b9f9b87..9e7a597 100644 --- a/package-lock.json +++ b/package-lock.json @@ -119,6 +119,7 @@ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.5.tgz", "integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==", "license": "MIT", + "peer": true, "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.5", @@ -768,6 +769,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.27.1.tgz", "integrity": "sha512-p9OkPbZ5G7UT1MofwYFigGebnrzGJacoBSQM0/6bi/PUMVE+qlWDD/OalvQKbwgQzU6dl0xAv6r4X7Jme0RYxA==", "license": "MIT", + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" }, @@ -1651,6 +1653,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.27.1.tgz", "integrity": "sha512-2KH4LWGSrJIkVf5tSiBFYuXDAoWRq2MMwgivCf+93dd0GQi8RXLjKA/0EvRnVV5G0hrHczsquXuD01L8s6dmBw==", "license": "MIT", + "peer": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.27.1", "@babel/helper-module-imports": "^7.27.1", @@ -2552,7 +2555,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-alignment/-/ckeditor5-alignment-47.2.0.tgz", "integrity": "sha512-lfcJAC8yJOQux3t33ikJrWRsZvywLr2zmU6mDR96SuCmeCyAN3UGXzCNa8kWPExpFGV01ZR61EZkjTah8LP2sQ==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-icons": "47.2.0", @@ -2566,7 +2568,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-engine": "47.2.0", "@ckeditor/ckeditor5-ui": "47.2.0", @@ -2580,7 +2581,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-utils": "47.2.0", "es-toolkit": "1.39.5" @@ -2591,7 +2591,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", @@ -2610,7 +2609,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-ui": "47.2.0", "es-toolkit": "1.39.5" @@ -2621,7 +2619,6 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" }, @@ -2634,7 +2631,6 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", "license": "MIT", - "peer": true, "engines": { "node": ">=12.20" } @@ -2644,7 +2640,6 @@ "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" } @@ -3066,7 +3061,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-autosave/-/ckeditor5-autosave-47.2.0.tgz", "integrity": "sha512-44nGL/M0qLURA1BEFkqZg6JzpjtvGyWJEluv728vb29JNQUGx0iNykjHBgtPX5s1Ztblx5ZwqFiuNiLkpmHptg==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-utils": "47.2.0", @@ -3079,7 +3073,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-engine": "47.2.0", "@ckeditor/ckeditor5-ui": "47.2.0", @@ -3093,7 +3086,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-utils": "47.2.0", "es-toolkit": "1.39.5" @@ -3104,7 +3096,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", @@ -3123,7 +3114,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-ui": "47.2.0", "es-toolkit": "1.39.5" @@ -3134,7 +3124,6 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" }, @@ -3147,7 +3136,6 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", "license": "MIT", - "peer": true, "engines": { "node": ">=12.20" } @@ -3157,7 +3145,6 @@ "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" } @@ -3991,7 +3978,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-bookmark/-/ckeditor5-bookmark-47.2.0.tgz", "integrity": "sha512-FDFDZXm8MqktIt3x0WVrYFuXy9sxcCH31Cpa0/mV19lW8CzoCZCAfvXNzPWsz2eFo8qOsna2c/e55ax8OM/Ncg==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-icons": "47.2.0", @@ -4007,7 +3993,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-engine": "47.2.0", "@ckeditor/ckeditor5-ui": "47.2.0", @@ -4021,7 +4006,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-utils": "47.2.0", "es-toolkit": "1.39.5" @@ -4032,7 +4016,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-image/-/ckeditor5-image-47.2.0.tgz", "integrity": "sha512-XbXvRS++kFku0l7GABhsribmQTBC/SOAfimDNKjg5rayhAXCfovys7YmmU0eicydpo4//fAaa8zvDYc8uXWZGA==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-clipboard": "47.2.0", "@ckeditor/ckeditor5-core": "47.2.0", @@ -4053,7 +4036,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-link/-/ckeditor5-link-47.2.0.tgz", "integrity": "sha512-ijaF1Ic23FH9qulW2ZuaxecmdT0JuK/4XNkdaoRntloHiVZ/tFAu+o/6st/pDXfutDBmnEXwrNGVtzO/JTPhrw==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-clipboard": "47.2.0", "@ckeditor/ckeditor5-core": "47.2.0", @@ -4073,7 +4055,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-typing/-/ckeditor5-typing-47.2.0.tgz", "integrity": "sha512-BDJLlaX9SHFUfZegOEW7ZeJ0o/TBgabINNxa3CwtGuGBLHUAQ3IAFJ0Cd6jHq12J2kRDwiXZzvvgMyCH7jeeUQ==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-engine": "47.2.0", @@ -4086,7 +4067,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", @@ -4105,7 +4085,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-ui": "47.2.0", "es-toolkit": "1.39.5" @@ -4116,7 +4095,6 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" }, @@ -4129,7 +4107,6 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", "license": "MIT", - "peer": true, "engines": { "node": ">=12.20" } @@ -4139,7 +4116,6 @@ "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" } @@ -7161,7 +7137,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-clipboard/-/ckeditor5-clipboard-47.2.0.tgz", "integrity": "sha512-x/ehXk+ga5tnumA8TenrZRU684DvpzzhTLfZScRxX3/3BJPYlFp7BWx60KJPQHKXYgb+I0qkQrgxuBXp83ed2g==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-engine": "47.2.0", @@ -7176,7 +7151,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-engine": "47.2.0", "@ckeditor/ckeditor5-ui": "47.2.0", @@ -7190,7 +7164,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-utils": "47.2.0", "es-toolkit": "1.39.5" @@ -7201,7 +7174,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", @@ -7220,7 +7192,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-ui": "47.2.0", "es-toolkit": "1.39.5" @@ -7231,7 +7202,6 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" }, @@ -7244,7 +7214,6 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", "license": "MIT", - "peer": true, "engines": { "node": ">=12.20" } @@ -7254,7 +7223,6 @@ "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" } @@ -7676,7 +7644,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-code-block/-/ckeditor5-code-block-47.2.0.tgz", "integrity": "sha512-8SH10L7i+wirkouDmg4MdBN4R3AZDyutsuSCwDPALoKSHQs7KlYB+8TJxcejt/dSBd0JWgrBi7rVu9Arkk3I1A==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-clipboard": "47.2.0", "@ckeditor/ckeditor5-core": "47.2.0", @@ -7693,7 +7660,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-engine": "47.2.0", "@ckeditor/ckeditor5-ui": "47.2.0", @@ -7707,7 +7673,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-utils": "47.2.0", "es-toolkit": "1.39.5" @@ -7718,7 +7683,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", @@ -7737,7 +7701,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-ui": "47.2.0", "es-toolkit": "1.39.5" @@ -7748,7 +7711,6 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" }, @@ -7761,7 +7723,6 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", "license": "MIT", - "peer": true, "engines": { "node": ">=12.20" } @@ -7771,7 +7732,6 @@ "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" } @@ -8204,7 +8164,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-editor-balloon/-/ckeditor5-editor-balloon-47.2.0.tgz", "integrity": "sha512-szIx59pnw6kgxYuAyqecMnSlwtwWu2q23XV4TpKF/V3NlHs9ZeIFusTX3icO8JLQR4ExsYa0bsYpabGdZdx2Ug==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-engine": "47.2.0", @@ -8219,7 +8178,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-engine": "47.2.0", "@ckeditor/ckeditor5-ui": "47.2.0", @@ -8233,7 +8191,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-utils": "47.2.0", "es-toolkit": "1.39.5" @@ -8244,7 +8201,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", @@ -8263,7 +8219,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-ui": "47.2.0", "es-toolkit": "1.39.5" @@ -8274,7 +8229,6 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" }, @@ -8287,7 +8241,6 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", "license": "MIT", - "peer": true, "engines": { "node": ">=12.20" } @@ -8297,7 +8250,6 @@ "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" } @@ -8720,7 +8672,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-editor-decoupled/-/ckeditor5-editor-decoupled-47.2.0.tgz", "integrity": "sha512-h1Yw6/XHeEe5aW/4VV0njAGe5nsuIBkARCun039noA+b2bq+Qb9bAExzaSHULf7nZW4HHVJMcYvb2HwcX8MZ6g==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-engine": "47.2.0", @@ -8735,7 +8686,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-engine": "47.2.0", "@ckeditor/ckeditor5-ui": "47.2.0", @@ -8749,7 +8699,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-utils": "47.2.0", "es-toolkit": "1.39.5" @@ -8760,7 +8709,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", @@ -8779,7 +8727,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-ui": "47.2.0", "es-toolkit": "1.39.5" @@ -8790,7 +8737,6 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" }, @@ -8803,7 +8749,6 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", "license": "MIT", - "peer": true, "engines": { "node": ">=12.20" } @@ -8813,7 +8758,6 @@ "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" } @@ -8823,7 +8767,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-editor-inline/-/ckeditor5-editor-inline-47.2.0.tgz", "integrity": "sha512-6kGG8Q4ggOim7KU/J3iMvmf5/faNjYL/ucg2RPMvzhH/eTqlZBlMdDid86b0YAW0fbKPvIIACifoOBHIGlcZyA==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-engine": "47.2.0", @@ -8838,7 +8781,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-engine": "47.2.0", "@ckeditor/ckeditor5-ui": "47.2.0", @@ -8852,7 +8794,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-utils": "47.2.0", "es-toolkit": "1.39.5" @@ -8863,7 +8804,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", @@ -8882,7 +8822,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-ui": "47.2.0", "es-toolkit": "1.39.5" @@ -8893,7 +8832,6 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" }, @@ -8906,7 +8844,6 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", "license": "MIT", - "peer": true, "engines": { "node": ">=12.20" } @@ -8916,7 +8853,6 @@ "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" } @@ -8926,7 +8862,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-editor-multi-root/-/ckeditor5-editor-multi-root-47.2.0.tgz", "integrity": "sha512-bIkPzkpLGznNnDLAuSkVNP+LfICLbUj80IdkVLB9KeXnuZ1WKYkLqBGfDv6y70iJnANAiiP6Z8EaucBNzfjS7g==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-engine": "47.2.0", @@ -8941,7 +8876,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-engine": "47.2.0", "@ckeditor/ckeditor5-ui": "47.2.0", @@ -8955,7 +8889,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-utils": "47.2.0", "es-toolkit": "1.39.5" @@ -8966,7 +8899,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", @@ -8985,7 +8917,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-ui": "47.2.0", "es-toolkit": "1.39.5" @@ -8996,7 +8927,6 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" }, @@ -9009,7 +8939,6 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", "license": "MIT", - "peer": true, "engines": { "node": ">=12.20" } @@ -9019,7 +8948,6 @@ "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" } @@ -9029,7 +8957,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-emoji/-/ckeditor5-emoji-47.2.0.tgz", "integrity": "sha512-pS1G0QVFOK2Z+BLrVmm6pVjFZRpkC95YgQeASuuIySLZBllYD3+tlys2lPt3el5PAd0IQB7s85XuTdbCXDFr6A==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-icons": "47.2.0", @@ -9047,7 +8974,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-engine": "47.2.0", "@ckeditor/ckeditor5-ui": "47.2.0", @@ -9061,7 +8987,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-utils": "47.2.0", "es-toolkit": "1.39.5" @@ -9072,7 +8997,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-typing/-/ckeditor5-typing-47.2.0.tgz", "integrity": "sha512-BDJLlaX9SHFUfZegOEW7ZeJ0o/TBgabINNxa3CwtGuGBLHUAQ3IAFJ0Cd6jHq12J2kRDwiXZzvvgMyCH7jeeUQ==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-engine": "47.2.0", @@ -9085,7 +9009,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", @@ -9104,7 +9027,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-ui": "47.2.0", "es-toolkit": "1.39.5" @@ -9115,7 +9037,6 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" }, @@ -9128,7 +9049,6 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", "license": "MIT", - "peer": true, "engines": { "node": ">=12.20" } @@ -9138,7 +9058,6 @@ "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" } @@ -9158,7 +9077,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-enter/-/ckeditor5-enter-47.2.0.tgz", "integrity": "sha512-7ZHfrxDSs55IXgs5yAX6Nl8COY1dqefZ5HiWT/UM0cOP/4aMffp5I1yYYP7NVfBkTW9DlUoeAkHFTv2miTwclQ==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-engine": "47.2.0", @@ -9170,7 +9088,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-engine": "47.2.0", "@ckeditor/ckeditor5-ui": "47.2.0", @@ -9184,7 +9101,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-utils": "47.2.0", "es-toolkit": "1.39.5" @@ -9195,7 +9111,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", @@ -9214,7 +9129,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-ui": "47.2.0", "es-toolkit": "1.39.5" @@ -9225,7 +9139,6 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" }, @@ -9238,7 +9151,6 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", "license": "MIT", - "peer": true, "engines": { "node": ">=12.20" } @@ -9248,7 +9160,6 @@ "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" } @@ -9670,7 +9581,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-find-and-replace/-/ckeditor5-find-and-replace-47.2.0.tgz", "integrity": "sha512-34Uzpbxi+/eJx/0CR9/T92wDaw67KLaYcm39+RY4OUCxC9EywEFruIJEg/M/Xu4iTVjdVKbpQ3ovGBuciiL1vQ==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-icons": "47.2.0", @@ -9685,7 +9595,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-engine": "47.2.0", "@ckeditor/ckeditor5-ui": "47.2.0", @@ -9699,7 +9608,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-utils": "47.2.0", "es-toolkit": "1.39.5" @@ -9710,7 +9618,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", @@ -9729,7 +9636,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-ui": "47.2.0", "es-toolkit": "1.39.5" @@ -9740,7 +9646,6 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" }, @@ -9753,7 +9658,6 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", "license": "MIT", - "peer": true, "engines": { "node": ">=12.20" } @@ -9763,7 +9667,6 @@ "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" } @@ -9773,7 +9676,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-font/-/ckeditor5-font-47.2.0.tgz", "integrity": "sha512-X/AYeNHc3Hibd56OfPwOEdYRIGX3eWtGQ/qIAEVkS2xCEDPhM0fTHpLTEpDsMukw9NRAqmhnQHIp2amGaOwY8g==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-engine": "47.2.0", @@ -9788,7 +9690,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-engine": "47.2.0", "@ckeditor/ckeditor5-ui": "47.2.0", @@ -9802,7 +9703,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-utils": "47.2.0", "es-toolkit": "1.39.5" @@ -9813,7 +9713,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", @@ -9832,7 +9731,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-ui": "47.2.0", "es-toolkit": "1.39.5" @@ -9843,7 +9741,6 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" }, @@ -9856,7 +9753,6 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", "license": "MIT", - "peer": true, "engines": { "node": ">=12.20" } @@ -9866,7 +9762,6 @@ "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" } @@ -9876,7 +9771,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-fullscreen/-/ckeditor5-fullscreen-47.2.0.tgz", "integrity": "sha512-Kf//0eQIuslGNVSbNkHXBELn/jZT+OsTIeo8PulZEbVI5do0vB/52w0F40rhgk8EudlGTxEmMOi0x/jrdR0MHg==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-editor-classic": "47.2.0", @@ -9892,7 +9786,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-engine": "47.2.0", "@ckeditor/ckeditor5-ui": "47.2.0", @@ -9906,7 +9799,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-editor-classic/-/ckeditor5-editor-classic-47.2.0.tgz", "integrity": "sha512-fYy4RKmvM4kYvUgCRuBdUqVLE8ts1Kj4q1Caaq5VZyBudmaj/RZqQBSdiu5pZgKMdj1oMaIQ5Gextg96iJ3LTw==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-engine": "47.2.0", @@ -9921,7 +9813,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-utils": "47.2.0", "es-toolkit": "1.39.5" @@ -9932,7 +9823,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", @@ -9951,7 +9841,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-ui": "47.2.0", "es-toolkit": "1.39.5" @@ -9962,7 +9851,6 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" }, @@ -9975,7 +9863,6 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", "license": "MIT", - "peer": true, "engines": { "node": ">=12.20" } @@ -9985,7 +9872,6 @@ "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" } @@ -10407,7 +10293,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-highlight/-/ckeditor5-highlight-47.2.0.tgz", "integrity": "sha512-Fp59HRybXJpJl/DtliMTjiVrIA95jmm0SptvXtIucD0hdP9ZX6TOFPTzrRl29LZGITNuYDulPqvNTpFoechRmQ==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-icons": "47.2.0", @@ -10421,7 +10306,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-engine": "47.2.0", "@ckeditor/ckeditor5-ui": "47.2.0", @@ -10435,7 +10319,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-utils": "47.2.0", "es-toolkit": "1.39.5" @@ -10446,7 +10329,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", @@ -10465,7 +10347,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-ui": "47.2.0", "es-toolkit": "1.39.5" @@ -10476,7 +10357,6 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" }, @@ -10489,7 +10369,6 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", "license": "MIT", - "peer": true, "engines": { "node": ">=12.20" } @@ -10499,7 +10378,6 @@ "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" } @@ -10509,7 +10387,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-horizontal-line/-/ckeditor5-horizontal-line-47.2.0.tgz", "integrity": "sha512-/DHVMhI9vNs/NI+NQBbUXdzsXHj9hGKihtNDmbV5UP3Hy7l32Gv8k9nJVnBlDbBbHI6Wpxjj6GUxAiLZ46mc1Q==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-icons": "47.2.0", @@ -10524,7 +10401,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-engine": "47.2.0", "@ckeditor/ckeditor5-ui": "47.2.0", @@ -10538,7 +10414,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-utils": "47.2.0", "es-toolkit": "1.39.5" @@ -10549,7 +10424,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", @@ -10568,7 +10442,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-ui": "47.2.0", "es-toolkit": "1.39.5" @@ -10579,7 +10452,6 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" }, @@ -10592,7 +10464,6 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", "license": "MIT", - "peer": true, "engines": { "node": ">=12.20" } @@ -10602,7 +10473,6 @@ "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" } @@ -10612,7 +10482,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-html-embed/-/ckeditor5-html-embed-47.2.0.tgz", "integrity": "sha512-VhI789/KDKmQhz9nQqq64odOtLpwjJbPQ/Pf54J2d7AGDvbuNVkjAMVdj5xXXzb/nXdys6zM8lPQZfQGI/Ya8A==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-icons": "47.2.0", @@ -10627,7 +10496,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-engine": "47.2.0", "@ckeditor/ckeditor5-ui": "47.2.0", @@ -10641,7 +10509,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-utils": "47.2.0", "es-toolkit": "1.39.5" @@ -10652,7 +10519,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", @@ -10671,7 +10537,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-ui": "47.2.0", "es-toolkit": "1.39.5" @@ -10682,7 +10547,6 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" }, @@ -10695,7 +10559,6 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", "license": "MIT", - "peer": true, "engines": { "node": ">=12.20" } @@ -10705,7 +10568,6 @@ "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" } @@ -10715,7 +10577,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-html-support/-/ckeditor5-html-support-47.2.0.tgz", "integrity": "sha512-IwaFBdv0qQQXfnA1LHL2BVQoioNJa9T8NIKDq2OG3mXg02jJvhJl84QADJ0ro36igjKsyfttsl8lM1pf00XAhA==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-engine": "47.2.0", @@ -10736,7 +10597,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-engine": "47.2.0", "@ckeditor/ckeditor5-ui": "47.2.0", @@ -10750,7 +10610,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-utils": "47.2.0", "es-toolkit": "1.39.5" @@ -10761,7 +10620,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-heading/-/ckeditor5-heading-47.2.0.tgz", "integrity": "sha512-m1zSERVh7gdVXwLLYgcAsy7lkIOuadmA5YuwyPpR/g3oa0j1gcuNm5y/73MTOPflPUn0g0Y9DzocF2G1WY2NiQ==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-engine": "47.2.0", @@ -10777,7 +10635,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-image/-/ckeditor5-image-47.2.0.tgz", "integrity": "sha512-XbXvRS++kFku0l7GABhsribmQTBC/SOAfimDNKjg5rayhAXCfovys7YmmU0eicydpo4//fAaa8zvDYc8uXWZGA==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-clipboard": "47.2.0", "@ckeditor/ckeditor5-core": "47.2.0", @@ -10798,7 +10655,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-list/-/ckeditor5-list-47.2.0.tgz", "integrity": "sha512-PDjTQLn2CqrZ4XuAAJWY2vA5bkVu8UHKQZa1+ddfS4FbvfF2QR3eDX5axywpuaCb2Dm2ZQoqxpA5GQmt1fUehg==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-clipboard": "47.2.0", "@ckeditor/ckeditor5-core": "47.2.0", @@ -10817,7 +10673,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-paragraph/-/ckeditor5-paragraph-47.2.0.tgz", "integrity": "sha512-x6nqRQjlAcOhirOE9umNdK8WckWcz7JPVU7IlPTzlrVAYCq+wiz6rgpuh4COUHnee4c31fF21On+OVyqgu7JvQ==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-engine": "47.2.0", @@ -10831,7 +10686,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-table/-/ckeditor5-table-47.2.0.tgz", "integrity": "sha512-zxNHpl4L7HsOLCYiKrbyyHoM2dMGetgP4eTjYyWfn9gf+ydVs7o+LJVN5bsWt3J4ToamCj5G7VHZUmqUcPbN6A==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-clipboard": "47.2.0", "@ckeditor/ckeditor5-core": "47.2.0", @@ -10849,7 +10703,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-typing/-/ckeditor5-typing-47.2.0.tgz", "integrity": "sha512-BDJLlaX9SHFUfZegOEW7ZeJ0o/TBgabINNxa3CwtGuGBLHUAQ3IAFJ0Cd6jHq12J2kRDwiXZzvvgMyCH7jeeUQ==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-engine": "47.2.0", @@ -10862,7 +10715,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", @@ -10881,7 +10733,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-ui": "47.2.0", "es-toolkit": "1.39.5" @@ -10892,7 +10743,6 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" }, @@ -10905,7 +10755,6 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", "license": "MIT", - "peer": true, "engines": { "node": ">=12.20" } @@ -10915,7 +10764,6 @@ "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" } @@ -10924,8 +10772,7 @@ "version": "47.2.0", "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-icons/-/ckeditor5-icons-47.2.0.tgz", "integrity": "sha512-9rxAWNQEjZBHyMBQ8XXwfa+ubPBzQntd+nkWBAGTK6ddqHZIaQLsiLrUAdR5tyKKK9tnTkwyx1jycGRspZnoxw==", - "license": "SEE LICENSE IN LICENSE.md", - "peer": true + "license": "SEE LICENSE IN LICENSE.md" }, "node_modules/@ckeditor/ckeditor5-image": { "version": "41.4.2", @@ -11770,7 +11617,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-language/-/ckeditor5-language-47.2.0.tgz", "integrity": "sha512-kc5MqQnvQtUPuvRJfdqXHQZNQyHVy/ZZv5laPY1AKrsKqc5SJO4y3v//4yHvdn45V4QKLwMOy4yC365Sdq0UpA==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-ui": "47.2.0", @@ -11783,7 +11629,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-engine": "47.2.0", "@ckeditor/ckeditor5-ui": "47.2.0", @@ -11797,7 +11642,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-utils": "47.2.0", "es-toolkit": "1.39.5" @@ -11808,7 +11652,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", @@ -11827,7 +11670,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-ui": "47.2.0", "es-toolkit": "1.39.5" @@ -11838,7 +11680,6 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" }, @@ -11851,7 +11692,6 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", "license": "MIT", - "peer": true, "engines": { "node": ">=12.20" } @@ -11861,7 +11701,6 @@ "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" } @@ -12697,7 +12536,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-markdown-gfm/-/ckeditor5-markdown-gfm-47.2.0.tgz", "integrity": "sha512-mt47/GMxrsAL3u/aBjOuH5ETSLH0knoYJpchYb7sXzIuQlY7xPqvcONyD9700TAN30FV7qpOVKUqI7tRyLL5uA==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-clipboard": "47.2.0", "@ckeditor/ckeditor5-core": "47.2.0", @@ -12725,7 +12563,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-engine": "47.2.0", "@ckeditor/ckeditor5-ui": "47.2.0", @@ -12739,7 +12576,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-utils": "47.2.0", "es-toolkit": "1.39.5" @@ -12750,7 +12586,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", @@ -12769,7 +12604,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-ui": "47.2.0", "es-toolkit": "1.39.5" @@ -12780,7 +12614,6 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" }, @@ -12793,7 +12626,6 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", "license": "MIT", - "peer": true, "engines": { "node": ">=12.20" } @@ -12803,7 +12635,6 @@ "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" } @@ -13226,7 +13057,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-mention/-/ckeditor5-mention-47.2.0.tgz", "integrity": "sha512-ZPvVwEQxcCUI0SvJa28JUULww/SCXiiZpfnMtaneMxsIOqesAFxPqMXA9HkyLotikuK1sezu5XzgJ2S5gdqw3A==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-typing": "47.2.0", @@ -13241,7 +13071,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-engine": "47.2.0", "@ckeditor/ckeditor5-ui": "47.2.0", @@ -13255,7 +13084,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-utils": "47.2.0", "es-toolkit": "1.39.5" @@ -13266,7 +13094,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-typing/-/ckeditor5-typing-47.2.0.tgz", "integrity": "sha512-BDJLlaX9SHFUfZegOEW7ZeJ0o/TBgabINNxa3CwtGuGBLHUAQ3IAFJ0Cd6jHq12J2kRDwiXZzvvgMyCH7jeeUQ==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-engine": "47.2.0", @@ -13279,7 +13106,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", @@ -13298,7 +13124,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-ui": "47.2.0", "es-toolkit": "1.39.5" @@ -13309,7 +13134,6 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" }, @@ -13322,7 +13146,6 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", "license": "MIT", - "peer": true, "engines": { "node": ">=12.20" } @@ -13332,7 +13155,6 @@ "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" } @@ -13342,7 +13164,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-minimap/-/ckeditor5-minimap-47.2.0.tgz", "integrity": "sha512-Th6HspywP3JeGBMRUmpAuIyFa8XtrpMiGdsjazlKcHaitT6bHBTzaTjaWVnOuVY3gBdFAKsalv2ZEk8vIPqkhg==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-engine": "47.2.0", @@ -13356,7 +13177,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-engine": "47.2.0", "@ckeditor/ckeditor5-ui": "47.2.0", @@ -13370,7 +13190,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-utils": "47.2.0", "es-toolkit": "1.39.5" @@ -13381,7 +13200,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", @@ -13400,7 +13218,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-ui": "47.2.0", "es-toolkit": "1.39.5" @@ -13411,7 +13228,6 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" }, @@ -13424,7 +13240,6 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", "license": "MIT", - "peer": true, "engines": { "node": ">=12.20" } @@ -13434,7 +13249,6 @@ "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" } @@ -13444,7 +13258,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-page-break/-/ckeditor5-page-break-47.2.0.tgz", "integrity": "sha512-DosfUorg3wZ3a6yM/ymsJQ1E2Rbqi08RFOQ4oQLPPAi2VRdTLt0BiqQPFMKJmy2T2k5K4TLc7bs0s3E96aQyXg==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-icons": "47.2.0", @@ -13459,7 +13272,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-engine": "47.2.0", "@ckeditor/ckeditor5-ui": "47.2.0", @@ -13473,7 +13285,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-utils": "47.2.0", "es-toolkit": "1.39.5" @@ -13484,7 +13295,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", @@ -13503,7 +13313,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-ui": "47.2.0", "es-toolkit": "1.39.5" @@ -13514,7 +13323,6 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" }, @@ -13527,7 +13335,6 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", "license": "MIT", - "peer": true, "engines": { "node": ">=12.20" } @@ -13537,7 +13344,6 @@ "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" } @@ -13983,7 +13789,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-remove-format/-/ckeditor5-remove-format-47.2.0.tgz", "integrity": "sha512-CRWs7Osok8k3Oi2N7RvA12ECxi47wIyrDTsJ3lJYo8zDIbZdOXlv5o+In+mbsZ7lzNKLhKMAgRcF/PrGWcAaUg==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-icons": "47.2.0", @@ -13997,7 +13802,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-engine": "47.2.0", "@ckeditor/ckeditor5-ui": "47.2.0", @@ -14011,7 +13815,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-utils": "47.2.0", "es-toolkit": "1.39.5" @@ -14022,7 +13825,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", @@ -14041,7 +13843,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-ui": "47.2.0", "es-toolkit": "1.39.5" @@ -14052,7 +13853,6 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" }, @@ -14065,7 +13865,6 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", "license": "MIT", - "peer": true, "engines": { "node": ">=12.20" } @@ -14075,7 +13874,6 @@ "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" } @@ -14085,7 +13883,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-restricted-editing/-/ckeditor5-restricted-editing-47.2.0.tgz", "integrity": "sha512-ziFgoZCHaHzzrLeQ6XIlrcEazoGF6IC2+qzxGnO1A1NKY/8WVLmokKFLmUgDMnPLrhvz5Qqldj0dSS2pKhj6QQ==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-engine": "47.2.0", @@ -14100,7 +13897,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-engine": "47.2.0", "@ckeditor/ckeditor5-ui": "47.2.0", @@ -14114,7 +13910,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-utils": "47.2.0", "es-toolkit": "1.39.5" @@ -14125,7 +13920,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", @@ -14144,7 +13938,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-ui": "47.2.0", "es-toolkit": "1.39.5" @@ -14155,7 +13948,6 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" }, @@ -14168,7 +13960,6 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", "license": "MIT", - "peer": true, "engines": { "node": ">=12.20" } @@ -14178,7 +13969,6 @@ "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" } @@ -14188,7 +13978,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-select-all/-/ckeditor5-select-all-47.2.0.tgz", "integrity": "sha512-4kswe9jmKp6y1hTwWfJBxF8XuX1pgZxraAlm+ugJLhjsus/vGBVXBFNN7kH+RoNxC6tf1ZXly69dGTG4P/nXrg==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-engine": "47.2.0", @@ -14202,7 +13991,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-engine": "47.2.0", "@ckeditor/ckeditor5-ui": "47.2.0", @@ -14216,7 +14004,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-utils": "47.2.0", "es-toolkit": "1.39.5" @@ -14227,7 +14014,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", @@ -14246,7 +14032,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-ui": "47.2.0", "es-toolkit": "1.39.5" @@ -14257,7 +14042,6 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" }, @@ -14270,7 +14054,6 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", "license": "MIT", - "peer": true, "engines": { "node": ">=12.20" } @@ -14280,7 +14063,6 @@ "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" } @@ -14290,7 +14072,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-show-blocks/-/ckeditor5-show-blocks-47.2.0.tgz", "integrity": "sha512-eIzvA5zQEWNGVXhkCTYVfw32tpsFEx4nTPAVpsFEv0hb1sAMaOv5fIoFmwcx/C8CmN9sBiZtuovXGM5i/pwoTQ==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-icons": "47.2.0", @@ -14304,7 +14085,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-engine": "47.2.0", "@ckeditor/ckeditor5-ui": "47.2.0", @@ -14318,7 +14098,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-utils": "47.2.0", "es-toolkit": "1.39.5" @@ -14329,7 +14108,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", @@ -14348,7 +14126,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-ui": "47.2.0", "es-toolkit": "1.39.5" @@ -14359,7 +14136,6 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" }, @@ -14372,7 +14148,6 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", "license": "MIT", - "peer": true, "engines": { "node": ">=12.20" } @@ -14382,7 +14157,6 @@ "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" } @@ -14392,7 +14166,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-source-editing/-/ckeditor5-source-editing-47.2.0.tgz", "integrity": "sha512-B82fbUiTBWYR3XTfUk/30Hsk9PAmPkmraKNJKGDoch0NXduPz8ehpCwbnrJdIvm7pozbgB11RjWzq56VcBX2Qw==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-icons": "47.2.0", @@ -14407,7 +14180,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-engine": "47.2.0", "@ckeditor/ckeditor5-ui": "47.2.0", @@ -14421,7 +14193,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-utils": "47.2.0", "es-toolkit": "1.39.5" @@ -14432,7 +14203,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", @@ -14451,7 +14221,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-ui": "47.2.0", "es-toolkit": "1.39.5" @@ -14462,7 +14231,6 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" }, @@ -14475,7 +14243,6 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", "license": "MIT", - "peer": true, "engines": { "node": ">=12.20" } @@ -14485,7 +14252,6 @@ "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" } @@ -14495,7 +14261,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-special-characters/-/ckeditor5-special-characters-47.2.0.tgz", "integrity": "sha512-aH1E1SEMRUF6gMdqPuFeDZvZRCUNJ/n8RWwXHFicsJArYDGOiATxVZQZbwk50duAsWcxxj0uTSHGwFXBL9evyQ==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-icons": "47.2.0", @@ -14510,7 +14275,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-engine": "47.2.0", "@ckeditor/ckeditor5-ui": "47.2.0", @@ -14524,7 +14288,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-utils": "47.2.0", "es-toolkit": "1.39.5" @@ -14535,7 +14298,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-typing/-/ckeditor5-typing-47.2.0.tgz", "integrity": "sha512-BDJLlaX9SHFUfZegOEW7ZeJ0o/TBgabINNxa3CwtGuGBLHUAQ3IAFJ0Cd6jHq12J2kRDwiXZzvvgMyCH7jeeUQ==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-engine": "47.2.0", @@ -14548,7 +14310,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", @@ -14567,7 +14328,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-ui": "47.2.0", "es-toolkit": "1.39.5" @@ -14578,7 +14338,6 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" }, @@ -14591,7 +14350,6 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", "license": "MIT", - "peer": true, "engines": { "node": ">=12.20" } @@ -14601,7 +14359,6 @@ "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" } @@ -14611,7 +14368,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-style/-/ckeditor5-style-47.2.0.tgz", "integrity": "sha512-XAIl8oNHpFxTRbGIE+2vpKLgrP3VnknUTyasvL/HeS3iUHKLDRlh9d3ghozhuUqQaF5rnkzUQEBv/fv+4u3Y7A==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-html-support": "47.2.0", @@ -14629,7 +14385,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-engine": "47.2.0", "@ckeditor/ckeditor5-ui": "47.2.0", @@ -14643,7 +14398,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-utils": "47.2.0", "es-toolkit": "1.39.5" @@ -14654,7 +14408,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-list/-/ckeditor5-list-47.2.0.tgz", "integrity": "sha512-PDjTQLn2CqrZ4XuAAJWY2vA5bkVu8UHKQZa1+ddfS4FbvfF2QR3eDX5axywpuaCb2Dm2ZQoqxpA5GQmt1fUehg==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-clipboard": "47.2.0", "@ckeditor/ckeditor5-core": "47.2.0", @@ -14673,7 +14426,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-table/-/ckeditor5-table-47.2.0.tgz", "integrity": "sha512-zxNHpl4L7HsOLCYiKrbyyHoM2dMGetgP4eTjYyWfn9gf+ydVs7o+LJVN5bsWt3J4ToamCj5G7VHZUmqUcPbN6A==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-clipboard": "47.2.0", "@ckeditor/ckeditor5-core": "47.2.0", @@ -14691,7 +14443,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-typing/-/ckeditor5-typing-47.2.0.tgz", "integrity": "sha512-BDJLlaX9SHFUfZegOEW7ZeJ0o/TBgabINNxa3CwtGuGBLHUAQ3IAFJ0Cd6jHq12J2kRDwiXZzvvgMyCH7jeeUQ==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-engine": "47.2.0", @@ -14704,7 +14455,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", @@ -14723,7 +14473,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-ui": "47.2.0", "es-toolkit": "1.39.5" @@ -14734,7 +14483,6 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" }, @@ -14747,7 +14495,6 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", "license": "MIT", - "peer": true, "engines": { "node": ">=12.20" } @@ -14757,7 +14504,6 @@ "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" } @@ -15181,7 +14927,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-theme-lark/-/ckeditor5-theme-lark-47.2.0.tgz", "integrity": "sha512-5Guefuo+Nllq4FMaFnLJlU/fICy2IQYw3T+0PTYjFqd59xTx6suwjv2ou41HKPfJ1b6NCbmkbhuaC59lGIfBtQ==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-ui": "47.2.0" } @@ -15191,7 +14936,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-engine": "47.2.0", "@ckeditor/ckeditor5-ui": "47.2.0", @@ -15205,7 +14949,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-utils": "47.2.0", "es-toolkit": "1.39.5" @@ -15216,7 +14959,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", @@ -15235,7 +14977,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-ui": "47.2.0", "es-toolkit": "1.39.5" @@ -15246,7 +14987,6 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" }, @@ -15259,7 +14999,6 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", "license": "MIT", - "peer": true, "engines": { "node": ">=12.20" } @@ -15269,7 +15008,6 @@ "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" } @@ -15305,7 +15043,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-undo/-/ckeditor5-undo-47.2.0.tgz", "integrity": "sha512-smq5O3GdqJXB+9o54BTn/LyB52OHiW9ekzacOuMNxtuA/KBwHpdsPFMcGFGH04W9O0qUtSdt3fYC0i+SJjYAww==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-engine": "47.2.0", @@ -15319,7 +15056,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-engine": "47.2.0", "@ckeditor/ckeditor5-ui": "47.2.0", @@ -15333,7 +15069,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-utils": "47.2.0", "es-toolkit": "1.39.5" @@ -15344,7 +15079,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", @@ -15363,7 +15097,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-ui": "47.2.0", "es-toolkit": "1.39.5" @@ -15374,7 +15107,6 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" }, @@ -15387,7 +15119,6 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", "license": "MIT", - "peer": true, "engines": { "node": ">=12.20" } @@ -15397,7 +15128,6 @@ "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" } @@ -15407,7 +15137,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-upload/-/ckeditor5-upload-47.2.0.tgz", "integrity": "sha512-uE4FwVtmJ6UACDC9N+H6HHGhlpAF8Fk2QCF/iBboh4VqhlFbFjMbXCAbsWrDik6C/p9r4Iv+IEmbpjsRTD+9SQ==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-utils": "47.2.0" @@ -15418,7 +15147,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-engine": "47.2.0", "@ckeditor/ckeditor5-ui": "47.2.0", @@ -15432,7 +15160,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-utils": "47.2.0", "es-toolkit": "1.39.5" @@ -15443,7 +15170,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", @@ -15462,7 +15188,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-ui": "47.2.0", "es-toolkit": "1.39.5" @@ -15473,7 +15198,6 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" }, @@ -15486,7 +15210,6 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", "license": "MIT", - "peer": true, "engines": { "node": ">=12.20" } @@ -15496,7 +15219,6 @@ "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" } @@ -15515,7 +15237,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-watchdog/-/ckeditor5-watchdog-47.2.0.tgz", "integrity": "sha512-C1AT7OqLBkPCUm4pjJe4n64qj+5vvMdQb2+lLMSz0SMsBqmYFrVYMlZWW4LjpaYUAYEmvTPcyDoqukBKRWNrRQ==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", @@ -15529,7 +15250,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-engine": "47.2.0", "@ckeditor/ckeditor5-ui": "47.2.0", @@ -15543,7 +15263,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-utils": "47.2.0", "es-toolkit": "1.39.5" @@ -15554,7 +15273,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", @@ -15573,7 +15291,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-ui": "47.2.0", "es-toolkit": "1.39.5" @@ -15584,7 +15301,6 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" }, @@ -15597,7 +15313,6 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", "license": "MIT", - "peer": true, "engines": { "node": ">=12.20" } @@ -15607,7 +15322,6 @@ "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" } @@ -15617,7 +15331,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-widget/-/ckeditor5-widget-47.2.0.tgz", "integrity": "sha512-1vhfdeVPNc6UtCPAC+aKDNIi0EDxpAJ7TudepJVLXnS752V5rnArjPrYBfH6dkpHYV920CuxxsoS1sSuVVMrkA==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-engine": "47.2.0", @@ -15634,7 +15347,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-engine": "47.2.0", "@ckeditor/ckeditor5-ui": "47.2.0", @@ -15648,7 +15360,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-utils": "47.2.0", "es-toolkit": "1.39.5" @@ -15659,7 +15370,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-typing/-/ckeditor5-typing-47.2.0.tgz", "integrity": "sha512-BDJLlaX9SHFUfZegOEW7ZeJ0o/TBgabINNxa3CwtGuGBLHUAQ3IAFJ0Cd6jHq12J2kRDwiXZzvvgMyCH7jeeUQ==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-engine": "47.2.0", @@ -15672,7 +15382,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", @@ -15691,7 +15400,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-ui": "47.2.0", "es-toolkit": "1.39.5" @@ -15702,7 +15410,6 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" }, @@ -15715,7 +15422,6 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", "license": "MIT", - "peer": true, "engines": { "node": ">=12.20" } @@ -15725,7 +15431,6 @@ "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" } @@ -15735,7 +15440,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-word-count/-/ckeditor5-word-count-47.2.0.tgz", "integrity": "sha512-1ouy59G1Qxf6hTRnW9tSL7Xjsx8kGfTJvrH9mZWGIpmNo0pIM6Ts96U/qgr5RB0LbhYtqhbDq87F9QjMcfYUjQ==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-ui": "47.2.0", @@ -15749,7 +15453,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-engine": "47.2.0", "@ckeditor/ckeditor5-ui": "47.2.0", @@ -15763,7 +15466,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-utils": "47.2.0", "es-toolkit": "1.39.5" @@ -15774,7 +15476,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", @@ -15793,7 +15494,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-ui": "47.2.0", "es-toolkit": "1.39.5" @@ -15804,7 +15504,6 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" }, @@ -15817,7 +15516,6 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", "license": "MIT", - "peer": true, "engines": { "node": ">=12.20" } @@ -15827,7 +15525,6 @@ "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" } @@ -16252,6 +15949,7 @@ "resolved": "https://registry.npmjs.org/@firebase/app/-/app-0.14.5.tgz", "integrity": "sha512-zyNY77xJOGwcuB+xCxF8z8lSiHvD4ox7BCsqLEHEvgqQoRjxFZ0fkROR6NV5QyXmCqRLodMM8J5d2EStOocWIw==", "license": "Apache-2.0", + "peer": true, "dependencies": { "@firebase/component": "0.7.0", "@firebase/logger": "0.5.0", @@ -16318,6 +16016,7 @@ "resolved": "https://registry.npmjs.org/@firebase/app-compat/-/app-compat-0.5.5.tgz", "integrity": "sha512-lVG/nRnXaot0rQSZazmTNqy83ti9O3+kdwoaE0d5wahRIWNoDirbIMcGVjDDgdmf4IE6FYreWOMh0L3DV1475w==", "license": "Apache-2.0", + "peer": true, "dependencies": { "@firebase/app": "0.14.5", "@firebase/component": "0.7.0", @@ -16333,7 +16032,8 @@ "version": "0.9.3", "resolved": "https://registry.npmjs.org/@firebase/app-types/-/app-types-0.9.3.tgz", "integrity": "sha512-kRVpIl4vVGJ4baogMDINbyrIOtOxqhkZQg4jTq3l8Lw6WSk0xfpEYzezFu+Kl4ve4fbPl79dvwRtaFqAC/ucCw==", - "license": "Apache-2.0" + "license": "Apache-2.0", + "peer": true }, "node_modules/@firebase/auth-compat": { "version": "0.6.1", @@ -16790,6 +16490,7 @@ "integrity": "sha512-0AZUyYUfpMNcztR5l09izHwXkZpghLgCUaAGjtMwXnCg3bj4ml5VgiwqOMOxJ+Nw4qN/zJAaOQBcJ7KGkWStqQ==", "hasInstallScript": true, "license": "Apache-2.0", + "peer": true, "dependencies": { "tslib": "^2.1.0" }, @@ -16813,17 +16514,6 @@ "@floating-ui/utils": "^0.2.10" } }, - "node_modules/@floating-ui/dom": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.4.tgz", - "integrity": "sha512-OOchDgh4F2CchOX94cRVqhvy7b3AFb+/rQXyswmzmGakRfkMgoWVjfnLWkRirfLEfuD4ysVW16eXzwt3jHIzKA==", - "license": "MIT", - "optional": true, - "dependencies": { - "@floating-ui/core": "^1.7.3", - "@floating-ui/utils": "^0.2.10" - } - }, "node_modules/@floating-ui/utils": { "version": "0.2.10", "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.10.tgz", @@ -16845,6 +16535,7 @@ "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-7.1.0.tgz", "integrity": "sha512-fNxRUk1KhjSbnbuBxlWSnBLKLBNun52ZBTcs22H/xEEzM6Ap81ZFTQ4bZBxVQGQgVY0xugKGoRcCbaKjLQ3XZA==", "license": "MIT", + "peer": true, "dependencies": { "@fortawesome/fontawesome-common-types": "7.1.0" }, @@ -16882,6 +16573,7 @@ "resolved": "https://registry.npmjs.org/@fullcalendar/core/-/core-6.1.19.tgz", "integrity": "sha512-z0aVlO5e4Wah6p6mouM0UEqtRf1MZZPt4mwzEyU6kusaNL+dlWQgAasF2cK23hwT4cmxkEmr4inULXgpyeExdQ==", "license": "MIT", + "peer": true, "dependencies": { "preact": "~10.12.1" } @@ -17953,6 +17645,7 @@ "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==", "license": "MIT", + "peer": true, "funding": { "type": "opencollective", "url": "https://opencollective.com/popperjs" @@ -18298,6 +17991,7 @@ "resolved": "https://registry.npmjs.org/@svgdotjs/svg.js/-/svg.js-3.2.5.tgz", "integrity": "sha512-/VNHWYhNu+BS7ktbYoVGrCmsXDh+chFMaONMwGNdIBcFHrWqk2jY8fNyr3DLdtQUIalvkPfM554ZSFa3dm3nxQ==", "license": "MIT", + "peer": true, "funding": { "type": "github", "url": "https://github.com/sponsors/Fuzzyma" @@ -18321,6 +18015,7 @@ "resolved": "https://registry.npmjs.org/@svgdotjs/svg.select.js/-/svg.select.js-4.0.3.tgz", "integrity": "sha512-qkMgso1sd2hXKd1FZ1weO7ANq12sNmQJeGDjs46QwDVsxSRcHmvWKL2NDF7Yimpwf3sl5esOLkPqtV2bQ3v/Jg==", "license": "MIT", + "peer": true, "engines": { "node": ">= 14.18" }, @@ -18570,6 +18265,7 @@ "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.1.tgz", "integrity": "sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg==", "license": "MIT", + "peer": true, "dependencies": { "@babel/code-frame": "^7.10.4", "@babel/runtime": "^7.12.5", @@ -18657,6 +18353,7 @@ "resolved": "https://registry.npmjs.org/@tiptap/core/-/core-3.10.1.tgz", "integrity": "sha512-YY/u+RsjLVhcUaIn+wv6vjMx8kldO7SzFFnRu0iuC+QW57VrlqUzqz5PR6CenphwJHuqGM5b3SCr4K2ZPjN8jQ==", "license": "MIT", + "peer": true, "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" @@ -18879,6 +18576,7 @@ "resolved": "https://registry.npmjs.org/@tiptap/extension-list/-/extension-list-3.10.1.tgz", "integrity": "sha512-v1TqDqNq3RXwKXyCoObv+42qrxAEtpac3BRZKWwwUcxM55oP5HxeaiEo2usheLs3+fEFkKtWKof2I9gUW0HLvA==", "license": "MIT", + "peer": true, "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" @@ -18997,6 +18695,7 @@ "resolved": "https://registry.npmjs.org/@tiptap/extensions/-/extensions-3.10.1.tgz", "integrity": "sha512-tZZ1IGIcch4ezuoid3iPSirh0s2GQuSKY6ceWRJCVeZ2gT2LsN3i10tqfidcYrsmyQRMuM7QUfRmH5HOKJZ73Q==", "license": "MIT", + "peer": true, "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" @@ -19011,6 +18710,7 @@ "resolved": "https://registry.npmjs.org/@tiptap/pm/-/pm-3.10.1.tgz", "integrity": "sha512-LhTRI+bECLFqitWN821A7faVFVw5OitFGWn45LIIRc/1Jg3lkqsaqx3LcLN1sjXd+f/vfoeXLKSD6VJvv/B/nQ==", "license": "MIT", + "peer": true, "dependencies": { "prosemirror-changeset": "^2.3.0", "prosemirror-collab": "^1.3.1", @@ -19188,7 +18888,6 @@ "resolved": "https://registry.npmjs.org/@types/color-convert/-/color-convert-2.0.4.tgz", "integrity": "sha512-Ub1MmDdyZ7mX//g25uBAoH/mWGd9swVbt8BseymnaE18SU4po/PjmCrHxqIIRjBo3hV/vh1KGr0eMxUhp+t+dQ==", "license": "MIT", - "peer": true, "dependencies": { "@types/color-name": "^1.1.0" } @@ -19197,8 +18896,7 @@ "version": "1.1.5", "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.5.tgz", "integrity": "sha512-j2K5UJqGTxeesj6oQuGpMgifpT5k9HprgQd8D1Y0lOFqKHl3PJu5GMeS4Y5EgjS55AE6OQxf8mPED9uaGbf4Cg==", - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/@types/connect": { "version": "3.4.38", @@ -19287,7 +18985,6 @@ "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", "license": "MIT", - "peer": true, "dependencies": { "@types/ms": "*" } @@ -19368,7 +19065,6 @@ "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", "license": "MIT", - "peer": true, "dependencies": { "@types/unist": "*" } @@ -19451,7 +19147,6 @@ "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", "license": "MIT", - "peer": true, "dependencies": { "@types/unist": "*" } @@ -19472,8 +19167,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz", "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==", - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/@types/node": { "version": "24.9.2", @@ -19562,6 +19256,7 @@ "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.2.tgz", "integrity": "sha512-6mDvHUFSjyT2B2yeNx2nUgMxh9LtOWvkhIU3uePn2I2oyNymUAX1NIsdgviM4CH+JSrp2D2hsMvJOkxY+0wNRA==", "license": "MIT", + "peer": true, "dependencies": { "csstype": "^3.0.2" } @@ -19670,8 +19365,7 @@ "version": "3.0.3", "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/@types/use-sync-external-store": { "version": "0.0.6", @@ -19714,6 +19408,7 @@ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", "license": "MIT", + "peer": true, "dependencies": { "@eslint-community/regexpp": "^4.4.0", "@typescript-eslint/scope-manager": "5.62.0", @@ -19767,6 +19462,7 @@ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", "license": "BSD-2-Clause", + "peer": true, "dependencies": { "@typescript-eslint/scope-manager": "5.62.0", "@typescript-eslint/types": "5.62.0", @@ -19948,7 +19644,6 @@ "version": "2.7.16", "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-2.7.16.tgz", "integrity": "sha512-KWhJ9k5nXuNtygPU7+t1rX6baZeqOYLEforUPjgNDBnLicfHCoi48H87Q8XyLZOrNNsmhuwKqtpDQWjEFe6Ekg==", - "peer": true, "dependencies": { "@babel/parser": "^7.23.5", "postcss": "^8.4.14", @@ -19963,7 +19658,6 @@ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "license": "BSD-3-Clause", - "peer": true, "engines": { "node": ">=0.10.0" } @@ -20157,6 +19851,7 @@ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "license": "MIT", + "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -20255,6 +19950,7 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "license": "MIT", + "peer": true, "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -20410,6 +20106,7 @@ "resolved": "https://registry.npmjs.org/apexcharts/-/apexcharts-5.3.5.tgz", "integrity": "sha512-I04DY/WBZbJgJD2uixeV5EzyiL+J5LgKQXEu8rctqAwyRmKv44aDVeofJoLdTJe3ao4r2KEQfCgtVzXn6pqirg==", "license": "SEE LICENSE IN LICENSE", + "peer": true, "dependencies": { "@svgdotjs/svg.draggable.js": "^3.0.4", "@svgdotjs/svg.filter.js": "^3.0.8", @@ -21000,7 +20697,6 @@ "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", "license": "MIT", - "peer": true, "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -21203,6 +20899,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "baseline-browser-mapping": "^2.8.19", "caniuse-lite": "^1.0.30001751", @@ -21406,7 +21103,6 @@ "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", "license": "MIT", - "peer": true, "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -21457,7 +21153,6 @@ "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", "license": "MIT", - "peer": true, "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -21468,7 +21163,6 @@ "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", "license": "MIT", - "peer": true, "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -21479,7 +21173,6 @@ "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", "license": "MIT", - "peer": true, "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -21562,7 +21255,6 @@ "resolved": "https://registry.npmjs.org/ckeditor5/-/ckeditor5-47.2.0.tgz", "integrity": "sha512-mrG9UdpT4JC0I44vK1DV5UwfGhruEG/FMXIWwGv+LWYrKt4aLL/5NyNpW86UDO9YAFSaw6IdEcbJGC/WkMJJjA==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-adapter-ckfinder": "47.2.0", "@ckeditor/ckeditor5-alignment": "47.2.0", @@ -21632,7 +21324,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-adapter-ckfinder/-/ckeditor5-adapter-ckfinder-47.2.0.tgz", "integrity": "sha512-zzuINBzWuheU76Ans9m59VCVMiljESoKxzpMh0aYu+M3YB5IDctOPU8pdOpXPIdBwoYv64+ioZE/T5TyZDckSw==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-upload": "47.2.0", @@ -21644,7 +21335,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-autoformat/-/ckeditor5-autoformat-47.2.0.tgz", "integrity": "sha512-d9ZwAB8JwWlgLK2Um+u3ctiCtv5bkBHGk/rSdXB6D/V7QHCl31NyPFYByxTyCOY9SsoNn1l/8zbJfvp89LJm2w==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-engine": "47.2.0", @@ -21659,7 +21349,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-basic-styles/-/ckeditor5-basic-styles-47.2.0.tgz", "integrity": "sha512-a8pPHq3CXmyxPPXPQZ8C92OOyBoCfpY8M30dS7et/dLXW3nuVo9VVLMw0vR1j+zcKXClp3+/odyw2/rxP+qntA==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-icons": "47.2.0", @@ -21674,7 +21363,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-block-quote/-/ckeditor5-block-quote-47.2.0.tgz", "integrity": "sha512-BlFFfunyWpYcGhLsOmCR0yEz5VgrOmHREHQZIRcL6fKzXJwdpA/VFWPirotwF/QErJjguhhDZ5a3PBEnUAmW/A==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-enter": "47.2.0", @@ -21690,7 +21378,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ckbox/-/ckeditor5-ckbox-47.2.0.tgz", "integrity": "sha512-Cu+nJTXhcmdE8DWHoTY1nrrjxyG4pfxMrEcO/PNV28cojwtOQaWGt4EbWlXOfZZTEWlZO18JIw/YrxYXwx5mTA==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-cloud-services": "47.2.0", "@ckeditor/ckeditor5-core": "47.2.0", @@ -21710,7 +21397,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ckfinder/-/ckeditor5-ckfinder-47.2.0.tgz", "integrity": "sha512-nsxn9weZNwdplW/BHfEJ/rvb+wZj0KECN2Av9zFRekTxE1mp0hTShQ9MNlKImRQ4X2UV6bGN6+DXwJJIU0smlQ==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-icons": "47.2.0", @@ -21725,7 +21411,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-cloud-services/-/ckeditor5-cloud-services-47.2.0.tgz", "integrity": "sha512-794mxJ8MFhz2SxSjlMSp4cZbyBBpVjinQ3GxOS5VqO7H4m/iT2hdSPJaWpML53soxpEoG/6ax4vVKe5d0+xoqA==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-utils": "47.2.0", @@ -21737,7 +21422,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-engine": "47.2.0", "@ckeditor/ckeditor5-ui": "47.2.0", @@ -21751,7 +21435,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-easy-image/-/ckeditor5-easy-image-47.2.0.tgz", "integrity": "sha512-lSnbiGDzYdu9GeOaYjVpowaZWDJbrb7NHCuUN5Af2474jXTDyYmG7qOm39fWEBlcxjMTzDR8fFzPcRNhOvSRRA==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-cloud-services": "47.2.0", "@ckeditor/ckeditor5-core": "47.2.0", @@ -21765,7 +21448,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-editor-classic/-/ckeditor5-editor-classic-47.2.0.tgz", "integrity": "sha512-fYy4RKmvM4kYvUgCRuBdUqVLE8ts1Kj4q1Caaq5VZyBudmaj/RZqQBSdiu5pZgKMdj1oMaIQ5Gextg96iJ3LTw==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-engine": "47.2.0", @@ -21780,7 +21462,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-utils": "47.2.0", "es-toolkit": "1.39.5" @@ -21791,7 +21472,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-essentials/-/ckeditor5-essentials-47.2.0.tgz", "integrity": "sha512-d3hHtkuLhvI+RvsDU7cKFc/K9uD27Tvi4NVjALcN1Ybr0k8dkJFGU1nUwXuo6zcdqRnkIJMWxIR+cwteuMCGQg==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-clipboard": "47.2.0", "@ckeditor/ckeditor5-core": "47.2.0", @@ -21808,7 +21488,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-heading/-/ckeditor5-heading-47.2.0.tgz", "integrity": "sha512-m1zSERVh7gdVXwLLYgcAsy7lkIOuadmA5YuwyPpR/g3oa0j1gcuNm5y/73MTOPflPUn0g0Y9DzocF2G1WY2NiQ==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-engine": "47.2.0", @@ -21824,7 +21503,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-image/-/ckeditor5-image-47.2.0.tgz", "integrity": "sha512-XbXvRS++kFku0l7GABhsribmQTBC/SOAfimDNKjg5rayhAXCfovys7YmmU0eicydpo4//fAaa8zvDYc8uXWZGA==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-clipboard": "47.2.0", "@ckeditor/ckeditor5-core": "47.2.0", @@ -21845,7 +21523,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-indent/-/ckeditor5-indent-47.2.0.tgz", "integrity": "sha512-Q85+b+o+nonhJ/I9K9wB9XeZ5W8rS9k66VvoDHxL3jJ6g6C+oyEAOomooTDCvJvBgDN6vGpcwzznKp0Q8baoCQ==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-engine": "47.2.0", @@ -21862,7 +21539,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-link/-/ckeditor5-link-47.2.0.tgz", "integrity": "sha512-ijaF1Ic23FH9qulW2ZuaxecmdT0JuK/4XNkdaoRntloHiVZ/tFAu+o/6st/pDXfutDBmnEXwrNGVtzO/JTPhrw==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-clipboard": "47.2.0", "@ckeditor/ckeditor5-core": "47.2.0", @@ -21882,7 +21558,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-list/-/ckeditor5-list-47.2.0.tgz", "integrity": "sha512-PDjTQLn2CqrZ4XuAAJWY2vA5bkVu8UHKQZa1+ddfS4FbvfF2QR3eDX5axywpuaCb2Dm2ZQoqxpA5GQmt1fUehg==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-clipboard": "47.2.0", "@ckeditor/ckeditor5-core": "47.2.0", @@ -21901,7 +21576,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-media-embed/-/ckeditor5-media-embed-47.2.0.tgz", "integrity": "sha512-lATTMej9pBsZk4qm8cOqLXhmrCq/t+HpP/zg3DWnYbiD6zclO69PSJxD09l9NsyOo0YZb8SYAsVISoKNaIOr0A==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-clipboard": "47.2.0", "@ckeditor/ckeditor5-core": "47.2.0", @@ -21920,7 +21594,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-paragraph/-/ckeditor5-paragraph-47.2.0.tgz", "integrity": "sha512-x6nqRQjlAcOhirOE9umNdK8WckWcz7JPVU7IlPTzlrVAYCq+wiz6rgpuh4COUHnee4c31fF21On+OVyqgu7JvQ==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-engine": "47.2.0", @@ -21934,7 +21607,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-paste-from-office/-/ckeditor5-paste-from-office-47.2.0.tgz", "integrity": "sha512-DGGNGNhl25ub8dFBKJF4jfMBoSSbF5uKzFShMNIaAVAagV6kkDWR0HJWAir5CuFrElzWTkPd0ZC5RNL76yTbtg==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-clipboard": "47.2.0", "@ckeditor/ckeditor5-core": "47.2.0", @@ -21947,7 +21619,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-table/-/ckeditor5-table-47.2.0.tgz", "integrity": "sha512-zxNHpl4L7HsOLCYiKrbyyHoM2dMGetgP4eTjYyWfn9gf+ydVs7o+LJVN5bsWt3J4ToamCj5G7VHZUmqUcPbN6A==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-clipboard": "47.2.0", "@ckeditor/ckeditor5-core": "47.2.0", @@ -21965,7 +21636,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-typing/-/ckeditor5-typing-47.2.0.tgz", "integrity": "sha512-BDJLlaX9SHFUfZegOEW7ZeJ0o/TBgabINNxa3CwtGuGBLHUAQ3IAFJ0Cd6jHq12J2kRDwiXZzvvgMyCH7jeeUQ==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-engine": "47.2.0", @@ -21978,7 +21648,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-core": "47.2.0", "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", @@ -21997,7 +21666,6 @@ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", "license": "SEE LICENSE IN LICENSE.md", - "peer": true, "dependencies": { "@ckeditor/ckeditor5-ui": "47.2.0", "es-toolkit": "1.39.5" @@ -22008,7 +21676,6 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" }, @@ -22021,7 +21688,6 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.2.tgz", "integrity": "sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==", "license": "MIT", - "peer": true, "engines": { "node": ">=12.20" } @@ -22031,7 +21697,6 @@ "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", "license": "MIT", - "peer": true, "dependencies": { "color-name": "^2.0.0" } @@ -22249,7 +21914,6 @@ "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", "license": "MIT", - "peer": true, "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -23099,8 +22763,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", "integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==", - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/debug": { "version": "4.4.3", @@ -23136,7 +22799,6 @@ "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.2.0.tgz", "integrity": "sha512-c6fcElNV6ShtZXmsgNgFFV5tVX2PaV4g+MOAkb8eXHvn6sryJBrZa9r0zV6+dtTyoCKxtDy5tyQ5ZwQuidtd+Q==", "license": "MIT", - "peer": true, "dependencies": { "character-entities": "^2.0.0" }, @@ -23344,7 +23006,6 @@ "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", "license": "MIT", - "peer": true, "dependencies": { "dequal": "^2.0.0" }, @@ -23946,6 +23607,7 @@ "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", "license": "MIT", + "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", @@ -25355,8 +25017,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/fuzzysort/-/fuzzysort-3.1.0.tgz", "integrity": "sha512-sR9BNCjBg6LNgwvxlBd0sBABvQitkLzoVY9MYYROQVX/FvfJ4Mai9LsGhDgd8qYdds0bY77VzYd5iuB+v5rwQQ==", - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/generator-function": { "version": "2.0.1", @@ -25737,7 +25398,6 @@ "resolved": "https://registry.npmjs.org/hast-util-embedded/-/hast-util-embedded-3.0.0.tgz", "integrity": "sha512-naH8sld4Pe2ep03qqULEtvYr7EjrLK2QHY8KJR6RJkTUjPGObe1vnx585uzem2hGra+s1q08DZZpfgDVYRbaXA==", "license": "MIT", - "peer": true, "dependencies": { "@types/hast": "^3.0.0", "hast-util-is-element": "^3.0.0" @@ -25752,7 +25412,6 @@ "resolved": "https://registry.npmjs.org/hast-util-from-dom/-/hast-util-from-dom-5.0.1.tgz", "integrity": "sha512-N+LqofjR2zuzTjCPzyDUdSshy4Ma6li7p/c3pA78uTwzFgENbgbUrm2ugwsOdcjI1muO+o6Dgzp9p8WHtn/39Q==", "license": "ISC", - "peer": true, "dependencies": { "@types/hast": "^3.0.0", "hastscript": "^9.0.0", @@ -25768,7 +25427,6 @@ "resolved": "https://registry.npmjs.org/hast-util-has-property/-/hast-util-has-property-3.0.0.tgz", "integrity": "sha512-MNilsvEKLFpV604hwfhVStK0usFY/QmM5zX16bo7EjnAEGofr5YyI37kzopBlZJkHD4t887i+q/C8/tr5Q94cA==", "license": "MIT", - "peer": true, "dependencies": { "@types/hast": "^3.0.0" }, @@ -25782,7 +25440,6 @@ "resolved": "https://registry.npmjs.org/hast-util-is-body-ok-link/-/hast-util-is-body-ok-link-3.0.1.tgz", "integrity": "sha512-0qpnzOBLztXHbHQenVB8uNuxTnm/QBFUOmdOSsEn7GnBtyY07+ENTWVFBAnXd/zEgd9/SUG3lRY7hSIBWRgGpQ==", "license": "MIT", - "peer": true, "dependencies": { "@types/hast": "^3.0.0" }, @@ -25796,7 +25453,6 @@ "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz", "integrity": "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==", "license": "MIT", - "peer": true, "dependencies": { "@types/hast": "^3.0.0" }, @@ -25810,7 +25466,6 @@ "resolved": "https://registry.npmjs.org/hast-util-minify-whitespace/-/hast-util-minify-whitespace-1.0.1.tgz", "integrity": "sha512-L96fPOVpnclQE0xzdWb/D12VT5FabA7SnZOUMtL1DbXmYiHJMXZvFkIZfiMmTCNJHUeO2K9UYNXoVyfz+QHuOw==", "license": "MIT", - "peer": true, "dependencies": { "@types/hast": "^3.0.0", "hast-util-embedded": "^3.0.0", @@ -25828,7 +25483,6 @@ "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz", "integrity": "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==", "license": "MIT", - "peer": true, "dependencies": { "@types/hast": "^3.0.0" }, @@ -25842,7 +25496,6 @@ "resolved": "https://registry.npmjs.org/hast-util-phrasing/-/hast-util-phrasing-3.0.1.tgz", "integrity": "sha512-6h60VfI3uBQUxHqTyMymMZnEbNl1XmEGtOxxKYL7stY2o601COo62AWAYBQR9lZbYXYSBoxag8UpPRXK+9fqSQ==", "license": "MIT", - "peer": true, "dependencies": { "@types/hast": "^3.0.0", "hast-util-embedded": "^3.0.0", @@ -25860,7 +25513,6 @@ "resolved": "https://registry.npmjs.org/hast-util-to-dom/-/hast-util-to-dom-4.0.1.tgz", "integrity": "sha512-z1VE7sZ8uFzS2baF3LEflX1IPw2gSzrdo3QFEsyoi23MkCVY3FoE9x6nLgOgjwJu8VNWgo+07iaxtONhDzKrUQ==", "license": "ISC", - "peer": true, "dependencies": { "@types/hast": "^3.0.0", "property-information": "^7.0.0", @@ -25876,7 +25528,6 @@ "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.5.tgz", "integrity": "sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==", "license": "MIT", - "peer": true, "dependencies": { "@types/hast": "^3.0.0", "@types/unist": "^3.0.0", @@ -25900,7 +25551,6 @@ "resolved": "https://registry.npmjs.org/hast-util-to-mdast/-/hast-util-to-mdast-10.1.2.tgz", "integrity": "sha512-FiCRI7NmOvM4y+f5w32jPRzcxDIz+PUqDwEqn1A+1q2cdp3B8Gx7aVrXORdOKjMNDQsD1ogOr896+0jJHW1EFQ==", "license": "MIT", - "peer": true, "dependencies": { "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", @@ -25927,7 +25577,6 @@ "resolved": "https://registry.npmjs.org/hast-util-to-text/-/hast-util-to-text-4.0.2.tgz", "integrity": "sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==", "license": "MIT", - "peer": true, "dependencies": { "@types/hast": "^3.0.0", "@types/unist": "^3.0.0", @@ -25944,7 +25593,6 @@ "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", "license": "MIT", - "peer": true, "dependencies": { "@types/hast": "^3.0.0" }, @@ -25958,7 +25606,6 @@ "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-9.0.1.tgz", "integrity": "sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==", "license": "MIT", - "peer": true, "dependencies": { "@types/hast": "^3.0.0", "comma-separated-tokens": "^2.0.0", @@ -26106,7 +25753,6 @@ "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz", "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==", "license": "MIT", - "peer": true, "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -26851,7 +26497,6 @@ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", "license": "MIT", - "peer": true, "engines": { "node": ">=12" }, @@ -27232,6 +26877,7 @@ "resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz", "integrity": "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==", "license": "MIT", + "peer": true, "dependencies": { "@jest/core": "^27.5.1", "import-local": "^3.0.2", @@ -28117,6 +27763,7 @@ "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz", "integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==", "license": "MIT", + "peer": true, "bin": { "jiti": "bin/jiti.js" } @@ -28573,7 +28220,6 @@ "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", "license": "MIT", - "peer": true, "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -28691,7 +28337,6 @@ "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.4.tgz", "integrity": "sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==", "license": "MIT", - "peer": true, "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -28723,7 +28368,6 @@ "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.2.tgz", "integrity": "sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==", "license": "MIT", - "peer": true, "dependencies": { "@types/mdast": "^4.0.0", "escape-string-regexp": "^5.0.0", @@ -28740,7 +28384,6 @@ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", "license": "MIT", - "peer": true, "engines": { "node": ">=12" }, @@ -28753,7 +28396,6 @@ "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz", "integrity": "sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==", "license": "MIT", - "peer": true, "dependencies": { "@types/mdast": "^4.0.0", "@types/unist": "^3.0.0", @@ -28778,7 +28420,6 @@ "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.1.0.tgz", "integrity": "sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==", "license": "MIT", - "peer": true, "dependencies": { "mdast-util-from-markdown": "^2.0.0", "mdast-util-gfm-autolink-literal": "^2.0.0", @@ -28798,7 +28439,6 @@ "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.1.tgz", "integrity": "sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==", "license": "MIT", - "peer": true, "dependencies": { "@types/mdast": "^4.0.0", "ccount": "^2.0.0", @@ -28816,7 +28456,6 @@ "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.1.0.tgz", "integrity": "sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==", "license": "MIT", - "peer": true, "dependencies": { "@types/mdast": "^4.0.0", "devlop": "^1.1.0", @@ -28834,7 +28473,6 @@ "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz", "integrity": "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==", "license": "MIT", - "peer": true, "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-from-markdown": "^2.0.0", @@ -28850,7 +28488,6 @@ "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz", "integrity": "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==", "license": "MIT", - "peer": true, "dependencies": { "@types/mdast": "^4.0.0", "devlop": "^1.0.0", @@ -28868,7 +28505,6 @@ "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz", "integrity": "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==", "license": "MIT", - "peer": true, "dependencies": { "@types/mdast": "^4.0.0", "devlop": "^1.0.0", @@ -28885,7 +28521,6 @@ "resolved": "https://registry.npmjs.org/mdast-util-newline-to-break/-/mdast-util-newline-to-break-2.0.0.tgz", "integrity": "sha512-MbgeFca0hLYIEx/2zGsszCSEJJ1JSCdiY5xQxRcLDDGa8EPvlLPupJ4DSajbMPAnC0je8jfb9TiUATnxxrHUog==", "license": "MIT", - "peer": true, "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-find-and-replace": "^3.0.0" @@ -28900,7 +28535,6 @@ "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", "license": "MIT", - "peer": true, "dependencies": { "@types/mdast": "^4.0.0", "unist-util-is": "^6.0.0" @@ -28915,7 +28549,6 @@ "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.0.tgz", "integrity": "sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==", "license": "MIT", - "peer": true, "dependencies": { "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", @@ -28937,7 +28570,6 @@ "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz", "integrity": "sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==", "license": "MIT", - "peer": true, "dependencies": { "@types/mdast": "^4.0.0", "@types/unist": "^3.0.0", @@ -28959,7 +28591,6 @@ "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", "license": "MIT", - "peer": true, "dependencies": { "@types/mdast": "^4.0.0" }, @@ -29052,7 +28683,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "@types/debug": "^4.0.0", "debug": "^4.0.0", @@ -29088,7 +28718,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "decode-named-character-reference": "^1.0.0", "devlop": "^1.0.0", @@ -29113,7 +28742,6 @@ "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz", "integrity": "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==", "license": "MIT", - "peer": true, "dependencies": { "micromark-extension-gfm-autolink-literal": "^2.0.0", "micromark-extension-gfm-footnote": "^2.0.0", @@ -29134,7 +28762,6 @@ "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.1.0.tgz", "integrity": "sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==", "license": "MIT", - "peer": true, "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-sanitize-uri": "^2.0.0", @@ -29151,7 +28778,6 @@ "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.1.0.tgz", "integrity": "sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==", "license": "MIT", - "peer": true, "dependencies": { "devlop": "^1.0.0", "micromark-core-commonmark": "^2.0.0", @@ -29172,7 +28798,6 @@ "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.1.0.tgz", "integrity": "sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==", "license": "MIT", - "peer": true, "dependencies": { "devlop": "^1.0.0", "micromark-util-chunked": "^2.0.0", @@ -29191,7 +28816,6 @@ "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.1.tgz", "integrity": "sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==", "license": "MIT", - "peer": true, "dependencies": { "devlop": "^1.0.0", "micromark-factory-space": "^2.0.0", @@ -29209,7 +28833,6 @@ "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz", "integrity": "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==", "license": "MIT", - "peer": true, "dependencies": { "micromark-util-types": "^2.0.0" }, @@ -29223,7 +28846,6 @@ "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.1.0.tgz", "integrity": "sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==", "license": "MIT", - "peer": true, "dependencies": { "devlop": "^1.0.0", "micromark-factory-space": "^2.0.0", @@ -29251,7 +28873,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", @@ -29273,7 +28894,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "devlop": "^1.0.0", "micromark-util-character": "^2.0.0", @@ -29296,7 +28916,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-types": "^2.0.0" @@ -29317,7 +28936,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", @@ -29340,7 +28958,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", @@ -29363,7 +28980,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" @@ -29384,7 +29000,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "micromark-util-symbol": "^2.0.0" } @@ -29404,7 +29019,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", @@ -29426,7 +29040,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "micromark-util-chunked": "^2.0.0", "micromark-util-types": "^2.0.0" @@ -29447,7 +29060,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "micromark-util-symbol": "^2.0.0" } @@ -29467,7 +29079,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "decode-named-character-reference": "^1.0.0", "micromark-util-character": "^2.0.0", @@ -29489,8 +29100,7 @@ "url": "https://opencollective.com/unified" } ], - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/micromark-util-html-tag-name": { "version": "2.0.1", @@ -29506,8 +29116,7 @@ "url": "https://opencollective.com/unified" } ], - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/micromark-util-normalize-identifier": { "version": "2.0.1", @@ -29524,7 +29133,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "micromark-util-symbol": "^2.0.0" } @@ -29544,7 +29152,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "micromark-util-types": "^2.0.0" } @@ -29564,7 +29171,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-encode": "^2.0.0", @@ -29586,7 +29192,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "devlop": "^1.0.0", "micromark-util-chunked": "^2.0.0", @@ -29608,8 +29213,7 @@ "url": "https://opencollective.com/unified" } ], - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/micromark-util-types": { "version": "2.0.2", @@ -29625,8 +29229,7 @@ "url": "https://opencollective.com/unified" } ], - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/micromatch": { "version": "4.0.8", @@ -30614,6 +30217,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", @@ -31748,6 +31352,7 @@ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", "license": "MIT", + "peer": true, "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -31881,6 +31486,22 @@ "node": ">= 0.8.0" } }, + "node_modules/prettier": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "license": "MIT", + "optional": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, "node_modules/pretty-bytes": { "version": "5.6.0", "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", @@ -31998,7 +31619,6 @@ "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.1.0.tgz", "integrity": "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==", "license": "MIT", - "peer": true, "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -32116,6 +31736,7 @@ "resolved": "https://registry.npmjs.org/prosemirror-model/-/prosemirror-model-1.25.4.tgz", "integrity": "sha512-PIM7E43PBxKce8OQeezAs9j4TP+5yDpZVbuurd1h5phUxEKIu+G2a+EUZzIC5nS1mJktDJWzbqS23n1tsAf5QA==", "license": "MIT", + "peer": true, "dependencies": { "orderedmap": "^2.0.0" } @@ -32145,6 +31766,7 @@ "resolved": "https://registry.npmjs.org/prosemirror-state/-/prosemirror-state-1.4.4.tgz", "integrity": "sha512-6jiYHH2CIGbCfnxdHbXZ12gySFY/fz/ulZE333G6bPqIZ4F+TXo9ifiR86nAHpWnfoNjOb3o5ESi7J8Uz1jXHw==", "license": "MIT", + "peer": true, "dependencies": { "prosemirror-model": "^1.0.0", "prosemirror-transform": "^1.0.0", @@ -32193,6 +31815,7 @@ "resolved": "https://registry.npmjs.org/prosemirror-view/-/prosemirror-view-1.41.3.tgz", "integrity": "sha512-SqMiYMUQNNBP9kfPhLO8WXEk/fon47vc52FQsUiJzTBuyjKgEcoAwMyF04eQ4WZ2ArMn7+ReypYL60aKngbACQ==", "license": "MIT", + "peer": true, "dependencies": { "prosemirror-model": "^1.20.0", "prosemirror-state": "^1.0.0", @@ -32416,6 +32039,7 @@ "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", "license": "MIT", + "peer": true, "dependencies": { "loose-envify": "^1.1.0" }, @@ -32594,6 +32218,7 @@ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", "license": "MIT", + "peer": true, "dependencies": { "loose-envify": "^1.1.0", "scheduler": "^0.23.2" @@ -32647,7 +32272,8 @@ "version": "19.2.0", "resolved": "https://registry.npmjs.org/react-is/-/react-is-19.2.0.tgz", "integrity": "sha512-x3Ax3kNSMIIkyVYhWPyO09bu0uttcAIoecO/um/rKGQ4EltYWVYtyiGkS/3xMynrbVQdS69Jhlv8FXUEZehlzA==", - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/react-lifecycles-compat": { "version": "3.0.4", @@ -32721,6 +32347,7 @@ "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-9.2.0.tgz", "integrity": "sha512-ROY9fvHhwOD9ySfrF0wmvu//bKCQ6AeZZq1nJNtbDC+kk5DuSuNX/n6YWYF/SYy7bSba4D4FSz8DJeKY/S/r+g==", "license": "MIT", + "peer": true, "dependencies": { "@types/use-sync-external-store": "^0.0.6", "use-sync-external-store": "^1.4.0" @@ -32744,6 +32371,7 @@ "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz", "integrity": "sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==", "license": "MIT", + "peer": true, "engines": { "node": ">=0.10.0" } @@ -33006,20 +32634,6 @@ "node": ">=14.0.0" } }, - "node_modules/react-scripts/node_modules/yaml": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.1.tgz", - "integrity": "sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==", - "license": "ISC", - "optional": true, - "peer": true, - "bin": { - "yaml": "bin.mjs" - }, - "engines": { - "node": ">= 14.6" - } - }, "node_modules/react-toastify": { "version": "11.0.5", "resolved": "https://registry.npmjs.org/react-toastify/-/react-toastify-11.0.5.tgz", @@ -33150,7 +32764,8 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/redux/-/redux-5.0.1.tgz", "integrity": "sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w==", - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/redux-thunk": { "version": "3.1.0", @@ -33273,7 +32888,6 @@ "resolved": "https://registry.npmjs.org/rehype-dom-parse/-/rehype-dom-parse-5.0.2.tgz", "integrity": "sha512-8CqP11KaqvtWsMqVEC2yM3cZWZsDNqqpr8nPvogjraLuh45stabgcpXadCAxu1n6JaUNJ/Xr3GIqXP7okbNqLg==", "license": "ISC", - "peer": true, "dependencies": { "@types/hast": "^3.0.0", "hast-util-from-dom": "^5.0.0", @@ -33285,7 +32899,6 @@ "resolved": "https://registry.npmjs.org/rehype-dom-stringify/-/rehype-dom-stringify-4.0.2.tgz", "integrity": "sha512-2HVFYbtmm5W3C2j8QsV9lcHdIMc2Yn/ytlPKcSC85/tRx2haZbU8V67Wxyh8STT38ZClvKlZ993Me/Hw8g88Aw==", "license": "ISC", - "peer": true, "dependencies": { "@types/hast": "^3.0.0", "hast-util-to-dom": "^4.0.0", @@ -33297,7 +32910,6 @@ "resolved": "https://registry.npmjs.org/rehype-minify-whitespace/-/rehype-minify-whitespace-6.0.2.tgz", "integrity": "sha512-Zk0pyQ06A3Lyxhe9vGtOtzz3Z0+qZ5+7icZ/PL/2x1SHPbKao5oB/g/rlc6BCTajqBb33JcOe71Ye1oFsuYbnw==", "license": "MIT", - "peer": true, "dependencies": { "@types/hast": "^3.0.0", "hast-util-minify-whitespace": "^1.0.0" @@ -33312,7 +32924,6 @@ "resolved": "https://registry.npmjs.org/rehype-remark/-/rehype-remark-10.0.1.tgz", "integrity": "sha512-EmDndlb5NVwXGfUa4c9GPK+lXeItTilLhE6ADSaQuHr4JUlKw9MidzGzx4HpqZrNCt6vnHmEifXQiiA+CEnjYQ==", "license": "MIT", - "peer": true, "dependencies": { "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", @@ -33339,7 +32950,6 @@ "resolved": "https://registry.npmjs.org/remark-breaks/-/remark-breaks-4.0.0.tgz", "integrity": "sha512-IjEjJOkH4FuJvHZVIW0QCDWxcG96kCq7An/KVH2NfJe6rKZU2AsHeB3OEjPNRxi4QC34Xdx7I2KGYn6IpT7gxQ==", "license": "MIT", - "peer": true, "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-newline-to-break": "^2.0.0", @@ -33355,7 +32965,6 @@ "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.1.tgz", "integrity": "sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==", "license": "MIT", - "peer": true, "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-gfm": "^3.0.0", @@ -33374,7 +32983,6 @@ "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", "license": "MIT", - "peer": true, "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-from-markdown": "^2.0.0", @@ -33391,7 +32999,6 @@ "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.2.tgz", "integrity": "sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==", "license": "MIT", - "peer": true, "dependencies": { "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", @@ -33409,7 +33016,6 @@ "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz", "integrity": "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==", "license": "MIT", - "peer": true, "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-to-markdown": "^2.0.0", @@ -33629,6 +33235,7 @@ "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.2.tgz", "integrity": "sha512-fS6iqSPZDs3dr/y7Od6y5nha8dW1YnbgtsyotCVvoFGKbERG++CVRFv1meyGDE1SNItQA8BrnCw7ScdAhRJ3XQ==", "license": "MIT", + "peer": true, "bin": { "rollup": "dist/bin/rollup" }, @@ -33813,6 +33420,7 @@ "integrity": "sha512-elOcIZRTM76dvxNAjqYrucTSI0teAF/L2Lv0s6f6b7FOwcwIuA357bIE871580AjHJuSvLIRUosgV+lIWx6Rgg==", "devOptional": true, "license": "MIT", + "peer": true, "dependencies": { "chokidar": "^4.0.0", "immutable": "^5.0.2", @@ -33950,6 +33558,7 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "license": "MIT", + "peer": true, "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", @@ -34448,7 +34057,6 @@ "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", "license": "MIT", - "peer": true, "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -34846,7 +34454,6 @@ "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", "license": "MIT", - "peer": true, "dependencies": { "character-entities-html4": "^2.0.0", "character-entities-legacy": "^3.0.0" @@ -35612,7 +35219,6 @@ "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", "license": "MIT", - "peer": true, "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -35623,7 +35229,6 @@ "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-2.1.0.tgz", "integrity": "sha512-5UR5Biq4VlVOtzqkm2AZlgvSlDJtME46uV0br0gENbwN4l5+mMKT4b9gJKqWtuL2zAIqajGJGuvbCbcAJUZqBg==", "license": "MIT", - "peer": true, "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -35634,7 +35239,6 @@ "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==", "license": "MIT", - "peer": true, "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -35753,6 +35357,7 @@ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "license": "(MIT OR CC0-1.0)", + "peer": true, "engines": { "node": ">=10" }, @@ -35967,7 +35572,6 @@ "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz", "integrity": "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==", "license": "MIT", - "peer": true, "dependencies": { "@types/unist": "^3.0.0", "bail": "^2.0.0", @@ -35999,7 +35603,6 @@ "resolved": "https://registry.npmjs.org/unist-util-find-after/-/unist-util-find-after-5.0.0.tgz", "integrity": "sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==", "license": "MIT", - "peer": true, "dependencies": { "@types/unist": "^3.0.0", "unist-util-is": "^6.0.0" @@ -36014,7 +35617,6 @@ "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.1.tgz", "integrity": "sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==", "license": "MIT", - "peer": true, "dependencies": { "@types/unist": "^3.0.0" }, @@ -36028,7 +35630,6 @@ "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", "license": "MIT", - "peer": true, "dependencies": { "@types/unist": "^3.0.0" }, @@ -36042,7 +35643,6 @@ "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", "license": "MIT", - "peer": true, "dependencies": { "@types/unist": "^3.0.0" }, @@ -36056,7 +35656,6 @@ "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", "license": "MIT", - "peer": true, "dependencies": { "@types/unist": "^3.0.0", "unist-util-is": "^6.0.0", @@ -36072,7 +35671,6 @@ "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.2.tgz", "integrity": "sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==", "license": "MIT", - "peer": true, "dependencies": { "@types/unist": "^3.0.0", "unist-util-is": "^6.0.0" @@ -36268,7 +35866,6 @@ "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==", "license": "MIT", - "peer": true, "dependencies": { "@types/unist": "^3.0.0", "vfile-message": "^4.0.0" @@ -36283,7 +35880,6 @@ "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.3.tgz", "integrity": "sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==", "license": "MIT", - "peer": true, "dependencies": { "@types/unist": "^3.0.0", "unist-util-stringify-position": "^4.0.0" @@ -36411,7 +36007,6 @@ "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz", "integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==", "license": "MIT", - "peer": true, "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -36446,6 +36041,7 @@ "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.102.1.tgz", "integrity": "sha512-7h/weGm9d/ywQ6qzJ+Xy+r9n/3qgp/thalBbpOi5i223dPXKi04IBtqPN9nTd+jBc7QKfvDbaBnFipYp4sJAUQ==", "license": "MIT", + "peer": true, "dependencies": { "@types/eslint-scope": "^3.7.7", "@types/estree": "^1.0.8", @@ -36538,6 +36134,7 @@ "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.2.tgz", "integrity": "sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==", "license": "MIT", + "peer": true, "dependencies": { "@types/bonjour": "^3.5.9", "@types/connect-history-api-fallback": "^1.3.5", @@ -37277,6 +36874,7 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "license": "MIT", + "peer": true, "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", @@ -37600,6 +37198,7 @@ "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz", "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==", "license": "MIT", + "peer": true, "engines": { "node": ">=10.0.0" }, @@ -37696,7 +37295,6 @@ "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", "license": "MIT", - "peer": true, "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" diff --git a/src/PagesMedico/NovoRelatorioAudio.jsx b/src/PagesMedico/NovoRelatorioAudio.jsx new file mode 100644 index 0000000..6012435 --- /dev/null +++ b/src/PagesMedico/NovoRelatorioAudio.jsx @@ -0,0 +1,215 @@ +import React, { useState } from 'react'; +import { useNavigate } from 'react-router-dom'; +import html2pdf from 'html2pdf.js'; +import './styleMedico/NovoRelatorioAudio.css'; + +const NovoRelatorioAudio = () => { + const navigate = useNavigate(); + const [loading, setLoading] = useState(false); + + const [formData, setFormData] = useState({ + paciente_nome: '', + data_exame: new Date().toISOString().split('T')[0], + exam: '', + diagnostico: '', + conclusao: '', + medico_nome: 'Dr.______________________' + }); + + const handleAudioUpload = async (e) => { + const file = e.target.files[0]; + if (!file) return; + + setLoading(true); + const data = new FormData(); + data.append('audio', file); + + try { + const response = await fetch('http://localhost:3001/api/transcrever-relatorio', { + method: 'POST', + body: data, + }); + + if (!response.ok) throw new Error('Erro na comunicação com a API'); + + const result = await response.json(); + + setFormData(prev => ({ + ...prev, + exam: result.exam || prev.exam, + diagnostico: result.diagnostico || prev.diagnostico, + conclusao: result.conclusao || prev.conclusao + })); + + } catch (error) { + console.error(error); + alert("Erro: Verifique se o backend (porta 3001) está rodando."); + } finally { + setLoading(false); + e.target.value = null; + } + }; + + const handleChange = (e) => { + const { name, value } = e.target; + setFormData(prev => ({ ...prev, [name]: value })); + }; + + const handlePrintPDF = () => { + const element = document.getElementById('documento-final'); + const opt = { + margin: 0, + filename: `Laudo_${formData.paciente_nome || 'SemNome'}.pdf`, + image: { type: 'jpeg', quality: 0.98 }, + html2canvas: { scale: 2 }, + jsPDF: { unit: 'mm', format: 'a4', orientation: 'portrait' } + }; + html2pdf().set(opt).from(element).save(); + }; + + return ( +
+ +
+
+

AI Report

+

Gerador de laudos automatizado

+
+ +
+ {loading ? ( +
+ ) : ( + <> + + + + )} +
+ +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+
+ +
+
+ +
+
+

CLÍNICA RISE UP

+

Excelência em Diagnóstico por Imagem

+
+
+

{formData.medico_nome}

+

CRM/SP 123456

+

{new Date().toLocaleDateString()}

+
+
+ +
+ + + + + + + + + + + + + + + +
Paciente:{formData.paciente_nome || '__________________________'}
Exame:{formData.exam || '__________________________'}
Data:{new Date(formData.data_exame).toLocaleDateString('pt-BR')}
+
+ +
+

Relatório Médico

+ +

Análise:

+

+ {formData.diagnostico || O diagnóstico aparecerá aqui após o processamento do áudio...} +

+ +

Conclusão:

+

+ {formData.conclusao} +

+
+ +
+

________________________________________

+

{formData.medico_nome}

+

Assinatura Eletrônica

+
+ +
+
+
+ ); +}; + +export default NovoRelatorioAudio; \ No newline at end of file diff --git a/src/PagesMedico/styleMedico/NovoRelatorioAudio.css b/src/PagesMedico/styleMedico/NovoRelatorioAudio.css new file mode 100644 index 0000000..8a38863 --- /dev/null +++ b/src/PagesMedico/styleMedico/NovoRelatorioAudio.css @@ -0,0 +1,97 @@ +/* Container que ocupa toda a altura da tela (menos o header do site) */ +.ai-editor-container { + display: flex; + min-height: calc(100vh - 80px); /* Ajuste conforme seu header */ + background-color: #e9ecef; /* Cor de "Mesa" */ + overflow: hidden; +} + +/* --- LADO ESQUERDO: PAINEL DE CONTROLE --- */ +.editor-sidebar { + width: 400px; + background-color: #212529; /* Dark Mode para o painel */ + color: #fff; + padding: 20px; + overflow-y: auto; + display: flex; + flex-direction: column; + gap: 15px; + box-shadow: 4px 0 10px rgba(0,0,0,0.1); +} + +.editor-sidebar h4 { + color: #0dcaf0; /* Ciano para destaque */ + margin-bottom: 20px; + font-weight: 700; +} + +.editor-sidebar label { + font-size: 0.85rem; + color: #adb5bd; + margin-bottom: 5px; +} + +/* Estilo customizado para inputs no fundo escuro */ +.dark-input { + background-color: #343a40; + border: 1px solid #495057; + color: #fff; + border-radius: 6px; +} +.dark-input:focus { + background-color: #3b4248; + color: #fff; + border-color: #0dcaf0; + box-shadow: none; +} + +/* Área de Upload Destacada */ +.ai-upload-box { + border: 2px dashed #0dcaf0; + border-radius: 10px; + padding: 20px; + text-align: center; + background: rgba(13, 202, 240, 0.1); + transition: 0.3s; + cursor: pointer; +} +.ai-upload-box:hover { + background: rgba(13, 202, 240, 0.2); +} + +/* --- LADO DIREITO: PREVIEW A4 --- */ +.preview-area { + flex: 1; + display: flex; + justify-content: center; + align-items: flex-start; + padding: 40px; + overflow-y: auto; +} + +.paper-a4 { + width: 210mm; + min-height: 297mm; + background: white; + padding: 25mm; + box-shadow: 0 0 20px rgba(0,0,0,0.15); + color: #000; + font-family: 'Georgia', serif; /* Fonte mais séria para o documento */ + font-size: 12pt; + line-height: 1.6; +} + +/* Responsividade: Em celular vira coluna única */ +@media (max-width: 900px) { + .ai-editor-container { + flex-direction: column; + } + .editor-sidebar { + width: 100%; + height: auto; + } + .paper-a4 { + width: 100%; + padding: 15mm; + } +} \ No newline at end of file diff --git a/src/components/FormRelatorio.jsx b/src/components/FormRelatorio.jsx index 7c04a49..fb7a01e 100644 --- a/src/components/FormRelatorio.jsx +++ b/src/components/FormRelatorio.jsx @@ -1,55 +1,97 @@ -import React from 'react' +import React, { useState } from 'react' import '../PagesMedico/styleMedico/FormNovoRelatorio.css' -import { useState } from 'react' import { useNavigate } from 'react-router-dom' import { useAuth } from '../components/utils/AuthProvider' import { GetPatientByCPF } from '../components/utils/Functions-Endpoints/Patient' import { FormatCPF } from '../components/utils/Formatar/Format' import html2pdf from 'html2pdf.js' -const FormRelatorio = ({onSave, DictInfo, setDictInfo }) => { - const {getAuthorizationHeader} = useAuth() +const FormRelatorio = ({ onSave, DictInfo, setDictInfo }) => { + const { getAuthorizationHeader } = useAuth() let authHeader = getAuthorizationHeader() - const navigate= useNavigate() - + const navigate = useNavigate() + const [showModal, setShowModal] = useState(false) + + // --- NOVO: Estado para controlar o loading da transcrição --- + const [isTranscribing, setIsTranscribing] = useState(false); + + // --- NOVA FUNÇÃO: Envia o áudio e preenche o formulário --- + const handleAudioUpload = async (e) => { + const file = e.target.files[0]; + if (!file) return; + + setIsTranscribing(true); // Ativa o spinner + + const formData = new FormData(); + formData.append('audio', file); // 'audio' deve ser o nome esperado no backend + + try { + // ⚠️ ATENÇÃO: Substitua essa URL pela rota do seu backend que criamos + const response = await fetch('http://localhost:3001/api/transcrever-relatorio', { + method: 'POST', + body: formData, + // headers: { 'Authorization': authHeader } // Descomente se seu backend precisar de token + }); + + if (!response.ok) throw new Error("Falha na transcrição"); + + const data = await response.json(); + + // Atualiza o DictInfo com os dados vindos da IA + setDictInfo((prev) => ({ + ...prev, + exam: data.exam || prev.exam, // Preenche se a IA achou, senão mantém o antigo + diagnostico: data.diagnostico || prev.diagnostico, + conclusao: data.conclusao || prev.conclusao + })); + + } catch (error) { + console.error("Erro no upload de áudio:", error); + alert("Não foi possível gerar o relatório por áudio. Verifique o backend."); + } finally { + setIsTranscribing(false); // Desativa o spinner + e.target.value = null; // Limpa o input para permitir enviar o mesmo arquivo novamente se quiser + } + }; + // ----------------------------------------------------------- const BaixarPDFdoRelatorio = () => { const elemento = document.getElementById("folhaA4"); // tua div do relatório - const opt = { - margin: 0, - filename: `relatorio_${DictInfo?.paciente_nome || "paciente"}.pdf`, - html2canvas: { scale: 2 }, - jsPDF: { unit: "mm", format: "a4", orientation: "portrait" }, - }; + const opt = { + margin: 0, + filename: `relatorio_${DictInfo?.paciente_nome || "paciente"}.pdf`, + html2canvas: { scale: 2 }, + jsPDF: { unit: "mm", format: "a4", orientation: "portrait" }, + }; - html2pdf().set(opt).from(elemento).save(); + html2pdf().set(opt).from(elemento).save(); } const handleChange = (e) => { const { name, value } = e.target; console.log(name, value) - if(name === 'paciente_cpf') { - const formattedCPF = FormatCPF(value); - setDictInfo((prev) => ({ ...prev, [name]: formattedCPF })); + if (name === 'paciente_cpf') { + const formattedCPF = FormatCPF(value); + setDictInfo((prev) => ({ ...prev, [name]: formattedCPF })); - const fetchPatient = async () => { - const patientData = await GetPatientByCPF(formattedCPF, authHeader); - if (patientData) { - setDictInfo((prev) => ({ - ...prev, - paciente_cpf:value, - paciente_nome: patientData.full_name, - paciente_id: patientData.id - })); + const fetchPatient = async () => { + const patientData = await GetPatientByCPF(formattedCPF, authHeader); + if (patientData) { + setDictInfo((prev) => ({ + ...prev, + paciente_cpf: value, + paciente_nome: patientData.full_name, + paciente_id: patientData.id + })); + } + + }; + if (formattedCPF.length === 14) { + fetchPatient(); } - - }; - if(formattedCPF.length === 14){ - fetchPatient(); - } - }else{ - setDictInfo((prev) => ({ ...prev, [name]: value })); + } else { + setDictInfo((prev) => ({ ...prev, [name]: value })); } } @@ -57,145 +99,164 @@ const FormRelatorio = ({onSave, DictInfo, setDictInfo }) => { e.preventDefault(); console.log(DictInfo) setShowModal(true) - - -onSave({ - "patient_id": DictInfo.paciente_id, - - "exam": DictInfo.exam, - "diagnosis": DictInfo.diagnosis, - "conclusion": DictInfo.conclusao, - "status": "draft", - "requested_by": DictInfo.requested_by, - - "hide_date": false, - "hide_signature": false, -}); + onSave({ + "patient_id": DictInfo.paciente_id, + "exam": DictInfo.exam, + "diagnosis": DictInfo.diagnostico, // Garanta que o backend espera 'diagnosis' mas seu state usa 'diagnostico' + "conclusion": DictInfo.conclusao, + "status": "draft", + "requested_by": DictInfo.requested_by, + "hide_date": false, + "hide_signature": false, + }); } - return ( -
- {showModal &&( -
-
-
-
-
Relatório criado com sucesso
- + return ( +
+ {showModal && ( +
+
+
+
+
Relatório criado com sucesso
+ +
+
+

Você também pode baixa-lo agora em pdf

+
+
+ + + +
+
+
-
-

Você também pode baixa-lo agora em pdf

-
-
- + )} - -
-
-
-
- )} - -
- -
-
- -
- - -
- -
- - -
- - -
- - -
- -
- - -
- - -
- - -
- -
- -
-
- - -
- -
- - -
-
- - +
- -
+ {/* --- ÁREA DE UPLOAD DE ÁUDIO (INSERIDA AQUI) --- */} +
+ +
+ {isTranscribing ? ( +
+
+ A IA está gerando o relatório... aguarde. +
+ ) : ( + + )} +
+ Envie um áudio ditando o exame, diagnóstico e conclusão. +
+ {/* ----------------------------------------------- */} -

Modelo do relatório

-
+
+
-
-

Clinica Rise up

-

Dr {DictInfo.requested_by} - CRM/SP 123456

-

Avenida - (79) 9 4444-4444

-
+
+ + +
-
-

Paciente: {DictInfo?.paciente_nome}

-

Data de nascimento:

+
+ + +
-

Data do exame: {DictInfo.data_exam}

-

Exame: {DictInfo.exam}

+
+ + +
-

Diagnostico: {DictInfo.diagnostico}

+
+ + +
-

Conclusão: {DictInfo.conclusao}

- -
-
-

Dr {DictInfo.requested_by}

-

Emitido em: 0

-
+
+ + +
-
- -
- ) +
+ +
+
+ + +
+ +
+ + +
+
+ + + + +
+ +

Modelo do relatório

+
+ +
+

Clinica Rise up

+

Dr {DictInfo.requested_by} - CRM/SP 123456

+

Avenida - (79) 9 4444-4444

+
+ +
+

Paciente: {DictInfo?.paciente_nome}

+

Data de nascimento:

+ + {/* Corrigi de data_exam para data_exame para bater com o state */} +

Data do exame: {DictInfo.data_exame}

+ +

Exame: {DictInfo.exam}

+ +

Diagnostico: {DictInfo.diagnostico}

+ +

Conclusão: {DictInfo.conclusao}

+ +
+ +
+

Dr {DictInfo.requested_by}

+

Emitido em: {new Date().toLocaleDateString()}

+
+ +
+ +
+ ) } export default FormRelatorio \ No newline at end of file diff --git a/src/data/sidebar-items-medico.json b/src/data/sidebar-items-medico.json index 0ededdb..b023323 100644 --- a/src/data/sidebar-items-medico.json +++ b/src/data/sidebar-items-medico.json @@ -5,17 +5,26 @@ "url": "/medico/agendamento" }, + + + { + "name": "Relatório por Áudio", + "icon": "file-earmark-plus-fill", + "url": "/medico/novo-relatorio-audio" + }, + { "name": "Relatórios", "icon": "file-earmark-text-fill", "url": "/medico/relatorios" }, + { "name": "Chat com pacientes", "icon": "chat-dots-fill", "url": "/medico/chat" } - + ] diff --git a/src/perfis/Perfil_medico/PerfilMedico.jsx b/src/perfis/Perfil_medico/PerfilMedico.jsx index c8e2648..4a23db0 100644 --- a/src/perfis/Perfil_medico/PerfilMedico.jsx +++ b/src/perfis/Perfil_medico/PerfilMedico.jsx @@ -9,6 +9,7 @@ import Chat from "../../PagesMedico/Chat"; import DoctorItems from "../../data/sidebar-items-medico.json"; import FormNovoRelatorio from "../../PagesMedico/FormNovoRelatorio"; import EditPageRelatorio from "../../PagesMedico/EditPageRelatorio"; +import NovoRelatorioAudio from "../../PagesMedico/NovoRelatorioAudio"; import BotaoVideoChamada from '../../components/BotaoVideoChamada'; import DoctorAgendamentoEditPage from "../../PagesMedico/DoctorAgendamentoEditPage"; @@ -25,6 +26,8 @@ function PerfilMedico() {
} /> + } /> + } /> } /> } /> } /> From 57f8024bb2af8abab183e6acb0587ca31c191239 Mon Sep 17 00:00:00 2001 From: Caio Miguel Lima Nunes Date: Wed, 26 Nov 2025 22:15:58 -0300 Subject: [PATCH 03/10] =?UTF-8?q?Minhas=20altera=C3=A7=C3=B5es=20nos=20det?= =?UTF-8?q?alhes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/PagesAdm/gestao.css | 242 +++++++---- src/PagesAdm/gestao.jsx | 28 +- src/components/Header/Header.css | 159 ++----- src/components/Header/Header.jsx | 710 ++++++++++--------------------- src/data/sidebar-items-adm.json | 5 + 5 files changed, 442 insertions(+), 702 deletions(-) diff --git a/src/PagesAdm/gestao.css b/src/PagesAdm/gestao.css index 5991041..9951eae 100644 --- a/src/PagesAdm/gestao.css +++ b/src/PagesAdm/gestao.css @@ -1,4 +1,3 @@ - .dashboard-container { padding: 2rem; font-family: 'Arial', sans-serif; @@ -6,7 +5,6 @@ min-height: 100vh; } - .dashboard-header { display: flex; justify-content: space-between; @@ -34,143 +32,133 @@ border: none; border-radius: 8px; font-size: 1rem; + font-weight: 600; cursor: pointer; - transition: background-color 0.3s, transform 0.25s ease, box-shadow 0.25s ease; + transition: all 0.3s ease; + box-shadow: 0 2px 8px rgba(30, 58, 138, 0.3); } .new-user-btn:hover { background-color: #162d6b; transform: translateY(-2px); - box-shadow: 0px 4px 12px rgba(30, 58, 138, 0.3); + box-shadow: 0 4px 12px rgba(30, 58, 138, 0.4); } - .filters-container { background: #fff; border-radius: 12px; - padding: 1.5rem; - box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); + padding: 1.2rem; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); margin-bottom: 2rem; - transition: transform 0.2s ease, box-shadow 0.2s ease; -} - -.filters-container:hover { - transform: translateY(-3px); - box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15); } .filters-title { - font-size: 18px; + font-size: 16px; font-weight: bold; margin-bottom: 0.3rem; color: #333; } .filters-subtitle { - font-size: 0.9rem; + font-size: 0.85rem; color: #666; margin-bottom: 1rem; } .filters-content { display: flex; - gap: 1rem; + gap: 0.8rem; align-items: center; } .filters-input { flex: 1; - padding: 0.6rem 1rem; + padding: 0.5rem 0.8rem; border: 1px solid #d1d5db; - border-radius: 8px; - font-size: 0.95rem; + border-radius: 6px; + font-size: 0.9rem; color: #333; - transition: border-color 0.2s, box-shadow 0.2s; + min-width: 200px; + transition: all 0.2s ease; } .filters-input:focus { border-color: #1e3a8a; - box-shadow: 0px 0px 0px 3px rgba(30, 58, 138, 0.2); + box-shadow: 0 0 0 2px rgba(30, 58, 138, 0.1); outline: none; } .filters-select { - padding: 0.6rem 1rem; + padding: 0.5rem 0.8rem; border: 1px solid #d1d5db; - border-radius: 8px; - font-size: 0.95rem; + border-radius: 6px; + font-size: 0.9rem; background: #fff; color: #333; cursor: pointer; - transition: border-color 0.2s, box-shadow 0.2s; + min-width: 140px; + transition: all 0.2s ease; } .filters-select:focus { border-color: #1e3a8a; - box-shadow: 0px 0px 0px 3px rgba(30, 58, 138, 0.2); + box-shadow: 0 0 0 2px rgba(30, 58, 138, 0.1); outline: none; } - .cards-container { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); - gap: 1.5rem; + gap: 1.2rem; margin-bottom: 2rem; } .card { background-color: white; - padding: 1.5rem; - border-radius: 12px; - box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); + padding: 1.2rem; + border-radius: 10px; + box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1); border: 1px solid transparent; - transition: transform 0.25s ease, box-shadow 0.25s ease, border 0.25s ease, background 0.25s ease; + transition: all 0.25s ease; cursor: pointer; } .highlight:hover { - transform: translateY(-6px); - box-shadow: 0 8px 20px rgba(30, 58, 138, 0.2); + transform: translateY(-4px); + box-shadow: 0 6px 16px rgba(30, 58, 138, 0.2); background: #f8faff; border: 1px solid #1e3a8a33; } .card-label { - font-size: 0.9rem; + font-size: 0.85rem; color: #999; margin-bottom: 0.5rem; } .card-value { - font-size: 1.8rem; + font-size: 1.6rem; font-weight: bold; margin: 0; color: #333; } .card-extra { - font-size: 0.85rem; + font-size: 0.8rem; color: #666; } .card-extra.positive { color: #1e3a8a; + font-weight: 600; } - .user-table-container { background: #fff; border-radius: 12px; - padding: 1.5rem; - box-shadow: 0 4px 6px rgba(0,0,0,0.1); + padding: 1.2rem; + box-shadow: 0 2px 8px rgba(0,0,0,0.1); margin-top: 2rem; - transition: transform 0.25s ease, box-shadow 0.25s ease; -} - -.user-table-container:hover { - transform: translateY(-4px); - box-shadow: 0 6px 14px rgba(0,0,0,0.15); } .user-table-container h2 { @@ -193,7 +181,7 @@ .user-table th, .user-table td { - padding: 12px 15px; + padding: 10px 12px; text-align: left; border-bottom: 1px solid #e0e0e0; } @@ -202,10 +190,11 @@ background-color: #f3f4f6; color: #333; font-weight: 600; + font-size: 0.9rem; } .user-table tr { - transition: background-color 0.25s ease; + transition: background-color 0.2s ease; } .user-table tr:hover { @@ -214,44 +203,115 @@ .profile-badge { background-color: #1e3a8a; - color: #f7f7f7; - padding: 3px 8px; - border-radius: 8px; - font-size: 0.85rem; + color: white; + padding: 4px 10px; + border-radius: 6px; + font-size: 0.8rem; + font-weight: 500; display: inline-block; } .status-badge { - padding: 3px 8px; - border-radius: 8px; - font-size: 0.85rem; + padding: 4px 10px; + border-radius: 6px; + font-size: 0.8rem; color: #fff; + font-weight: 500; display: inline-block; text-transform: capitalize; } .status-badge.ativo { - background-color: #28a745; + background-color: #1e3a8a; } .status-badge.inativo { - background-color: #dc3545; + background-color: #6c757d; } .actions { display: flex; - gap: 10px; + gap: 8px; + flex-wrap: wrap; } -.action-icon { +.action-btn { + border: none; + padding: 6px 12px; + font-size: 0.8rem; + font-weight: 500; cursor: pointer; - color: #555; - transition: color 0.2s, transform 0.2s; + transition: all 0.2s ease; + border-radius: 4px; + display: inline-flex; + align-items: center; + gap: 4px; } -.action-icon:hover { - color: #1e3a8a; - transform: scale(1.2); +.action-btn.detalhes { + background-color: #e6f2ff; + color: #004085; + border: 1px solid #b8d4ff; +} + +.action-btn.detalhes:hover { + background-color: #cce4ff; + transform: translateY(-1px); +} + +.action-btn.editar { + background-color: #fff3cd; + color: #856405; + border: 1px solid #ffeaa7; +} + +.action-btn.editar:hover { + background-color: #ffeaa7; + transform: translateY(-1px); +} + +.action-btn.excluir { + background-color: #f8d7da; + color: #721c24; + border: 1px solid #f1b0b7; +} + +.action-btn.excluir:hover { + background-color: #f1b0b7; + transform: translateY(-1px); +} + +.save-btn { + background-color: #1e3a8a; + color: white; + border: none; + padding: 8px 16px; + border-radius: 6px; + font-weight: 600; + cursor: pointer; + transition: all 0.3s ease; +} + +.save-btn:hover { + background-color: #162d6b; + transform: translateY(-1px); + box-shadow: 0 4px 8px rgba(30, 58, 138, 0.3); +} + +.edit-btn { + background-color: #fff3cd; + color: #856405; + border: 1px solid #ffeaa7; + padding: 8px 16px; + border-radius: 6px; + font-weight: 600; + cursor: pointer; + transition: all 0.3s ease; +} + +.edit-btn:hover { + background-color: #ffeaa7; + transform: translateY(-1px); } html[data-bs-theme="dark"] .dashboard-container { @@ -266,18 +326,17 @@ html[data-bs-theme="dark"] .dashboard-subtitle { } html[data-bs-theme="dark"] .new-user-btn { - background-color: #2563eb; - color: #fff; + background-color: #1e3a8a; } html[data-bs-theme="dark"] .new-user-btn:hover { - background-color: #1e40af; + background-color: #162d6b; } html[data-bs-theme="dark"] .filters-container, html[data-bs-theme="dark"] .user-table-container { background: #1a1a1a; - box-shadow: 0 4px 6px rgba(0,0,0,0.4); + box-shadow: 0 2px 8px rgba(0,0,0,0.4); } html[data-bs-theme="dark"] .filters-title, @@ -299,19 +358,19 @@ html[data-bs-theme="dark"] .filters-select { html[data-bs-theme="dark"] .filters-input:focus, html[data-bs-theme="dark"] .filters-select:focus { - border-color: #2563eb; - box-shadow: 0px 0px 0px 3px rgba(37, 99, 235, 0.2); + border-color: #1e3a8a; + box-shadow: 0 0 0 2px rgba(30, 58, 138, 0.2); } html[data-bs-theme="dark"] .cards-container .card { background-color: #181818; color: #e0e0e0; - box-shadow: 0 4px 6px rgba(0,0,0,0.4); + box-shadow: 0 2px 6px rgba(0,0,0,0.4); } html[data-bs-theme="dark"] .highlight:hover { - background: #232a3a; - border: 1px solid #2563eb33; + background: #1a1f2e; + border: 1px solid #1e3a8a33; } html[data-bs-theme="dark"] .card-label { @@ -327,7 +386,7 @@ html[data-bs-theme="dark"] .card-extra { } html[data-bs-theme="dark"] .card-extra.positive { - color: #2563eb; + color: #1e3a8a; } html[data-bs-theme="dark"] .user-table th { @@ -341,26 +400,39 @@ html[data-bs-theme="dark"] .user-table td { } html[data-bs-theme="dark"] .user-table tr:hover { - background-color: #232a3a; + background-color: #1a1f2e; } html[data-bs-theme="dark"] .profile-badge { - background-color: #2563eb; - color: #fff; + background-color: #1e3a8a; } -html[data-bs-theme="dark"] .status-badge.ativo { - background-color: #28a745; +html[data-bs-theme="dark"] .action-btn.detalhes { + background-color: #e6f2ff; + color: #004085; + border: 1px solid #b8d4ff; } -html[data-bs-theme="dark"] .status-badge.inativo { - background-color: #dc3545; +html[data-bs-theme="dark"] .action-btn.detalhes:hover { + background-color: #cce4ff; } -html[data-bs-theme="dark"] .action-icon { - color: #bdbdbd; +html[data-bs-theme="dark"] .action-btn.editar { + background-color: #fff3cd; + color: #856405; + border: 1px solid #ffeaa7; } -html[data-bs-theme="dark"] .action-icon:hover { - color: #2563eb; +html[data-bs-theme="dark"] .action-btn.editar:hover { + background-color: #ffeaa7; +} + +html[data-bs-theme="dark"] .action-btn.excluir { + background-color: #f8d7da; + color: #721c24; + border: 1px solid #f1b0b7; +} + +html[data-bs-theme="dark"] .action-btn.excluir:hover { + background-color: #f1b0b7; } \ No newline at end of file diff --git a/src/PagesAdm/gestao.jsx b/src/PagesAdm/gestao.jsx index 7d982b9..a5ecd88 100644 --- a/src/PagesAdm/gestao.jsx +++ b/src/PagesAdm/gestao.jsx @@ -1,14 +1,9 @@ - import React from "react"; import "./gestao.css"; -import { FaEdit, FaTrash } from "react-icons/fa"; - function UserDashboard() { return ( - -
- +

Gestão de Usuários

@@ -91,8 +86,9 @@ function UserDashboard() { Ativo 20/12/2024, 08:30 - - + + + @@ -103,8 +99,9 @@ function UserDashboard() { Ativo 19/12/2024, 14:20 - - + + + @@ -115,8 +112,9 @@ function UserDashboard() { Ativo 20/12/2024, 07:45 - - + + + @@ -127,8 +125,9 @@ function UserDashboard() { Inativo 15/12/2024, 16:30 - - + + + @@ -138,5 +137,4 @@ function UserDashboard() { ); } - export default UserDashboard; \ No newline at end of file diff --git a/src/components/Header/Header.css b/src/components/Header/Header.css index c52a86d..9effbec 100644 --- a/src/components/Header/Header.css +++ b/src/components/Header/Header.css @@ -461,115 +461,6 @@ background-color: #0056b3; } -/* Avatar Modal */ -.avatar-modal-content { - max-width: 500px; -} - -.avatar-preview-container { - text-align: center; - margin: 20px 0; -} - -.avatar-preview-wrapper { - width: 150px; - height: 150px; - margin: 0 auto 20px; - border-radius: 50%; - overflow: hidden; - background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); - display: flex; - align-items: center; - justify-content: center; -} - -.avatar-preview-image { - width: 100%; - height: 100%; - object-fit: cover; -} - -.avatar-preview-placeholder { - font-size: 4rem; - color: white; -} - -.avatar-error-message { - color: #dc3545; - margin-bottom: 10px; - font-size: 0.9rem; -} - -.avatar-file-input { - display: none; -} - -.avatar-actions { - display: flex; - gap: 10px; - justify-content: center; - flex-wrap: wrap; -} - -.avatar-upload-button { - padding: 10px 20px; - border: none; - border-radius: 8px; - background: #007bff; - color: white; - cursor: pointer; - font-size: 0.9rem; - transition: background-color 0.2s; -} - -.avatar-upload-button:hover { - background: #0056b3; -} - -.avatar-upload-button:disabled { - cursor: not-allowed; - opacity: 0.6; -} - -.avatar-remove-button { - padding: 10px 20px; - border: 1px solid #dc3545; - border-radius: 8px; - background: transparent; - color: #dc3545; - cursor: pointer; - font-size: 0.9rem; - transition: all 0.2s; -} - -.avatar-remove-button:hover { - background: #dc3545; - color: white; -} - -.avatar-remove-button:disabled { - cursor: not-allowed; - opacity: 0.6; -} - -.avatar-info-text { - margin-top: 15px; - font-size: 0.85rem; - color: #666; -} - -.avatar-actions-spacing { - margin-top: 20px; -} - -.avatar-close-button { - background: #6c757d; -} - -.avatar-close-button:hover { - background: #5a6268; -} - /* Responsividade */ @media (max-width: 768px) { .header-container { @@ -596,13 +487,43 @@ width: calc(100vw - 20px); max-width: none; } - - .avatar-modal-content { - max-width: 90%; - } - - .avatar-preview-wrapper { - width: 120px; - height: 120px; - } -} \ No newline at end of file +} + +/* permite que cliques "passem" através do header (exceto para os elementos interativos) */ +.header-container { + pointer-events: none; /* header não captura cliques */ +} + +/* mas permite que os controles no canto (telefone e profile) continuem clicáveis */ +.phone-icon-container, +.profile-section { + pointer-events: auto; +} + +/* Garantir pointer-events nos elementos do header e overlays criados por portal */ +.header-container { pointer-events: auto; } +.phone-icon-container, .profile-section { pointer-events: auto; } + +/* Força que os overlays criados por portal fiquem por cima */ +.logout-modal-overlay, .suporte-card-overlay, .chat-overlay { + z-index: 110000 !important; + pointer-events: auto !important; +} + +/* Pequeno ajuste visual dos botões do modal (pode se misturar com seu CSS atual) */ +.logout-cancel-button { + padding: 10px 18px; + border-radius: 8px; + border: 1px solid #ccc; + background: white; + cursor: pointer; +} +.logout-confirm-button { + padding: 10px 18px; + border-radius: 8px; + border: none; + background: #dc3545; + color: #fff; + cursor: pointer; +} + diff --git a/src/components/Header/Header.jsx b/src/components/Header/Header.jsx index 2426e0b..2bea179 100644 --- a/src/components/Header/Header.jsx +++ b/src/components/Header/Header.jsx @@ -1,11 +1,11 @@ +// src/components/Header/Header.jsx import React, { useState, useRef, useEffect } from 'react'; -import { useNavigate } from 'react-router-dom'; +import { createPortal } from 'react-dom'; +import { useNavigate, useLocation } from 'react-router-dom'; import './Header.css'; -import API_KEY from '../utils/apiKeys'; - -const SUPABASE_URL = 'https://yuanqfswhberkoevtmfr.supabase.co'; const Header = () => { + // --- hooks (sempre na mesma ordem) --- const [isDropdownOpen, setIsDropdownOpen] = useState(false); const [isSuporteCardOpen, setIsSuporteCardOpen] = useState(false); const [isChatOpen, setIsChatOpen] = useState(false); @@ -13,142 +13,70 @@ const Header = () => { const [mensagens, setMensagens] = useState([]); const [showLogoutModal, setShowLogoutModal] = useState(false); const [avatarUrl, setAvatarUrl] = useState(null); - const [showAvatarModal, setShowAvatarModal] = useState(false); - const [isUploading, setIsUploading] = useState(false); - const [avatarError, setAvatarError] = useState(null); + const navigate = useNavigate(); + const location = useLocation(); + const chatInputRef = useRef(null); const mensagensContainerRef = useRef(null); - const fileInputRef = useRef(null); - - const loadAvatarFromSupabase = async (userId) => { - const extensions = ['jpg', 'jpeg', 'png', 'webp', 'gif']; - - for (const ext of extensions) { - try { - const avatarUrl = `${SUPABASE_URL}/storage/v1/object/public/avatars/${userId}/avatar.${ext}`; - - const response = await fetch(avatarUrl, { - method: 'GET', - mode: 'cors' - }); - - if (response.ok) { - const blob = await response.blob(); - const imageUrl = URL.createObjectURL(blob); - return imageUrl; - } - } catch (err) { - continue; - } - } - - return null; - }; - - useEffect(() => { - const loadAvatar = async () => { - let userId = localStorage.getItem('userId') || localStorage.getItem('user_id'); - - if (!userId) { - try { - const userData = localStorage.getItem('user') || localStorage.getItem('userData'); - if (userData) { - const parsed = JSON.parse(userData); - userId = parsed.id || parsed.user_id || parsed.sub || parsed.userId; - - if (userId) { - localStorage.setItem('userId', userId); - } - } - } catch (e) { - console.error('Erro ao parsear dados do usuário:', e); - } - } - - if (!userId) { - try { - const token = localStorage.getItem('token') || - localStorage.getItem('authToken') || - localStorage.getItem('access_token'); - - if (token) { - const myHeaders = new Headers(); - myHeaders.append('apikey', API_KEY); - myHeaders.append('Authorization', token.startsWith('Bearer') ? token : `Bearer ${token}`); - - const response = await fetch( - 'https://yuanqfswhberkoevtmfr.supabase.co/functions/v1/user-info', - { method: 'GET', headers: myHeaders } - ); - - if (response.ok) { - const userInfo = await response.json(); - userId = userInfo.id || userInfo.user_id || userInfo.sub || userInfo.user?.id; - - if (userId) { - localStorage.setItem('userId', userId); - } - } - } - } catch (e) { - console.error('Erro ao buscar userId da API:', e); - } - } - - if (!userId) { - const localAvatar = localStorage.getItem('user_avatar'); - if (localAvatar) { - setAvatarUrl(localAvatar); - } - return; - } - - const localAvatar = localStorage.getItem('user_avatar'); - if (localAvatar) { - setAvatarUrl(localAvatar); - } - - try { - const supabaseAvatarUrl = await loadAvatarFromSupabase(userId); - if (supabaseAvatarUrl) { - setAvatarUrl(supabaseAvatarUrl); - localStorage.setItem('user_avatar', supabaseAvatarUrl); - } - } catch (error) { - console.error('Erro ao carregar avatar do Supabase:', error); - } - }; - - loadAvatar(); - - const handleStorageChange = () => { - loadAvatar(); - }; - - window.addEventListener('storage', handleStorageChange); - return () => window.removeEventListener('storage', handleStorageChange); - }, []); + // foco quando abre chat useEffect(() => { if (isChatOpen && chatInputRef.current) { chatInputRef.current.focus(); } }, [isChatOpen]); + // scroll automático quando nova mensagem useEffect(() => { if (mensagensContainerRef.current) { mensagensContainerRef.current.scrollTop = mensagensContainerRef.current.scrollHeight; } }, [mensagens]); + // carrega avatar se existir + useEffect(() => { + const loadAvatar = () => { + const localAvatar = localStorage.getItem('user_avatar'); + if (localAvatar) setAvatarUrl(localAvatar); + }; + loadAvatar(); + const onStorage = () => loadAvatar(); + window.addEventListener('storage', onStorage); + return () => window.removeEventListener('storage', onStorage); + }, []); + + // ESC fecha qualquer overlay/portal aberto (logout / suporte / chat) + useEffect(() => { + const onKey = (e) => { + if (e.key === 'Escape') { + if (showLogoutModal) setShowLogoutModal(false); + if (isSuporteCardOpen) setIsSuporteCardOpen(false); + if (isChatOpen) setIsChatOpen(false); + } + }; + window.addEventListener('keydown', onKey); + return () => window.removeEventListener('keydown', onKey); + }, [showLogoutModal, isSuporteCardOpen, isChatOpen]); + + // --- handlers logout (mantive comportamento) --- const handleLogoutClick = () => { setShowLogoutModal(true); setIsDropdownOpen(false); }; - const handleLogoutCancel = () => { - setShowLogoutModal(false); + const clearAuthData = () => { + ["token","authToken","userToken","access_token","user","auth","userData"].forEach(key => { + localStorage.removeItem(key); + sessionStorage.removeItem(key); + }); + if (window.caches) { + caches.keys().then(names => { + names.forEach(name => { + if (name.includes("auth") || name.includes("api")) caches.delete(name); + }); + }).catch(()=>{}); + } }; const handleLogoutConfirm = async () => { @@ -162,55 +90,34 @@ const Header = () => { sessionStorage.getItem("authToken"); if (token) { - const response = await fetch( - "https://mock.apidog.com/m1/1053378-0-default/auth/v1/logout", - { + try { + await fetch("https://mock.apidog.com/m1/1053378-0-default/auth/v1/logout", { method: "POST", headers: { "Content-Type": "application/json", Authorization: `Bearer ${token}`, }, - } - ); - - if (response.status === 204) console.log("Logout realizado com sucesso"); - else if (response.status === 401) console.log("Token inválido ou expirado"); - else { - try { - const errorData = await response.json(); - console.error("Erro no logout:", errorData); - } catch { - console.error("Erro no logout - status:", response.status); - } + }); + } catch (err) { + // ignora erro de rede / endpoint — prossegue para limpar local + console.warn('logout endpoint error (ignored):', err); } } clearAuthData(); - navigate("/login"); - } catch (error) { - console.error("Erro durante logout:", error); + navigate('/login'); + } catch (err) { + console.error('Erro no logout:', err); clearAuthData(); - navigate("/login"); + navigate('/login'); } finally { setShowLogoutModal(false); } }; - const clearAuthData = () => { - ["token", "authToken", "userToken", "access_token", "user", "auth", "userData", "user_avatar"].forEach(key => { - localStorage.removeItem(key); - sessionStorage.removeItem(key); - }); - - if (window.caches) { - caches.keys().then(names => { - names.forEach(name => { - if (name.includes("auth") || name.includes("api")) caches.delete(name); - }); - }); - } - }; + const handleLogoutCancel = () => setShowLogoutModal(false); + // --- profile / suporte / chat handlers --- const handleProfileClick = () => { setIsDropdownOpen(!isDropdownOpen); if (isSuporteCardOpen) setIsSuporteCardOpen(false); @@ -218,178 +125,17 @@ const Header = () => { }; const handleViewProfile = () => { - setShowAvatarModal(true); + navigate('/perfil'); setIsDropdownOpen(false); }; - const handleAvatarUpload = async (event) => { - const file = event.target.files[0]; - if (!file) return; - - setAvatarError(null); - - const MAX_FILE_SIZE = 5 * 1024 * 1024; - const ACCEPTED_TYPES = ['image/jpeg', 'image/png', 'image/gif', 'image/webp']; - - if (file.size > MAX_FILE_SIZE) { - setAvatarError("Arquivo muito grande. Máximo 5MB."); - return; - } - - if (!ACCEPTED_TYPES.includes(file.type)) { - setAvatarError("Tipo de arquivo não suportado. Use JPEG, PNG, GIF ou WebP."); - return; - } - - setIsUploading(true); - - try { - let userId = localStorage.getItem('userId') || localStorage.getItem('user_id'); - - if (!userId) { - try { - const userData = localStorage.getItem('user') || localStorage.getItem('userData'); - if (userData) { - const parsed = JSON.parse(userData); - userId = parsed.id || parsed.user_id || parsed.sub || parsed.userId; - if (userId) { - localStorage.setItem('userId', userId); - } - } - } catch (e) { - console.error('Erro ao buscar userId:', e); - } - } - - if (userId) { - try { - await uploadAvatarToSupabase(file, userId); - - const ext = file.name.split('.').pop(); - const publicAvatarUrl = `${SUPABASE_URL}/storage/v1/object/public/avatars/${userId}/avatar.${ext}`; - - const response = await fetch(publicAvatarUrl); - if (response.ok) { - const blob = await response.blob(); - const imageUrl = URL.createObjectURL(blob); - setAvatarUrl(imageUrl); - localStorage.setItem('user_avatar', imageUrl); - window.dispatchEvent(new Event('storage')); - return; - } - } catch (apiError) { - console.error('Erro ao enviar para Supabase:', apiError); - } - } - - - const reader = new FileReader(); - reader.onload = (e) => { - const imageDataUrl = e.target.result; - localStorage.setItem('user_avatar', imageDataUrl); - setAvatarUrl(imageDataUrl); - window.dispatchEvent(new Event('storage')); - }; - reader.readAsDataURL(file); - - } catch (error) { - console.error('Erro no processamento:', error); - setAvatarError('Erro ao processar imagem'); - - const reader = new FileReader(); - reader.onload = (e) => { - const imageDataUrl = e.target.result; - localStorage.setItem('user_avatar', imageDataUrl); - setAvatarUrl(imageDataUrl); - }; - reader.readAsDataURL(file); - } finally { - setIsUploading(false); - if (event.target) event.target.value = ''; - } - }; - - const uploadAvatarToSupabase = async (file, userId) => { - const ext = file.name.split('.').pop(); - const filePath = `${userId}/avatar.${ext}`; - - const myHeaders = new Headers(); - myHeaders.append('apikey', API_KEY); - myHeaders.append('Content-Type', file.type); - - const token = localStorage.getItem('token') || localStorage.getItem('authToken'); - if (token) { - myHeaders.append('Authorization', `Bearer ${token}`); - } - - const response = await fetch(`${SUPABASE_URL}/storage/v1/object/avatars/${filePath}`, { - method: 'POST', - headers: myHeaders, - body: file - }); - - if (!response.ok) { - - const updateResponse = await fetch(`${SUPABASE_URL}/storage/v1/object/avatars/${filePath}`, { - method: 'PUT', - headers: myHeaders, - body: file - }); - - if (!updateResponse.ok) { - throw new Error('Erro ao fazer upload do avatar'); - } - return await updateResponse.json(); - } - - return await response.json(); - }; - - const clearAvatar = async () => { - const userId = localStorage.getItem('userId') || localStorage.getItem('user_id'); - - if (userId) { - try { - const extensions = ['jpg', 'jpeg', 'png', 'webp', 'gif']; - - for (const ext of extensions) { - const filePath = `${userId}/avatar.${ext}`; - const myHeaders = new Headers(); - myHeaders.append('apikey', API_KEY); - - const token = localStorage.getItem('token') || localStorage.getItem('authToken'); - if (token) { - myHeaders.append('Authorization', `Bearer ${token}`); - } - - try { - await fetch(`${SUPABASE_URL}/storage/v1/object/avatars/${filePath}`, { - method: 'DELETE', - headers: myHeaders - }); - } catch (e) { - continue; - } - } - } catch (error) { - console.error('Erro ao remover avatar da API:', error); - } - } - - localStorage.removeItem('user_avatar'); - setAvatarUrl(null); - window.dispatchEvent(new Event('storage')); - }; - const handleSuporteClick = () => { - setIsSuporteCardOpen(!isSuporteCardOpen); - if (isDropdownOpen) setIsDropdownOpen(false); + setIsSuporteCardOpen((s) => !s); + setIsDropdownOpen(false); if (isChatOpen) setIsChatOpen(false); }; - const handleCloseSuporteCard = () => { - setIsSuporteCardOpen(false); - }; + const handleCloseSuporteCard = () => setIsSuporteCardOpen(false); const handleChatClick = () => { setIsChatOpen(true); @@ -397,7 +143,7 @@ const Header = () => { setMensagens([ { id: 1, - texto: 'Olá! Me chamo Ágatha e sou sua assistente virtual. 👋 Bem-vindo ao suporte Mediconnect. Como posso te ajudar hoje?', + texto: 'Olá! Bem-vindo ao suporte Mediconnect. Como podemos ajudar você hoje?', remetente: 'suporte', hora: new Date().toLocaleTimeString('pt-BR', { hour: '2-digit', minute: '2-digit' }) } @@ -409,11 +155,10 @@ const Header = () => { setMensagem(''); }; - const handleEnviarMensagem = async (e) => { + const handleEnviarMensagem = (e) => { e.preventDefault(); if (mensagem.trim() === '') return; - const novaMensagemUsuario = { id: Date.now(), texto: mensagem, @@ -424,37 +169,30 @@ const Header = () => { setMensagens(prev => [...prev, novaMensagemUsuario]); setMensagem(''); - try { - const response = await fetch("http://localhost:5000/api/chat", { - method: "POST", - headers: { "Content-Type": "application/json" }, - body: JSON.stringify({ message: mensagem }), - }); - - const data = await response.json(); - + setTimeout(() => { + if (chatInputRef.current) chatInputRef.current.focus(); + }, 0); + setTimeout(() => { + const respostas = [ + 'Entendi sua dúvida. Vou verificar isso para você.', + 'Obrigado pela informação. Estou analisando seu caso.', + 'Pode me dar mais detalhes sobre o problema?', + 'Já encaminhei sua solicitação para nossa equipe técnica.', + 'Vou ajudar você a resolver isso!' + ]; const respostaSuporte = { id: Date.now() + 1, - texto: data.resposta || data.reply || "Desculpe, não consegui processar sua pergunta no momento 😅", + texto: respostas[Math.floor(Math.random() * respostas.length)], remetente: 'suporte', hora: new Date().toLocaleTimeString('pt-BR', { hour: '2-digit', minute: '2-digit' }) }; - setMensagens(prev => [...prev, respostaSuporte]); - } catch (error) { - console.error("Erro ao conectar com o servidor:", error); - const erroMsg = { - id: Date.now() + 1, - texto: "Ops! Ocorreu um erro ao tentar falar com o suporte.", - remetente: 'suporte', - hora: new Date().toLocaleTimeString('pt-BR', { hour: '2-digit', minute: '2-digit' }) - }; - setMensagens(prev => [...prev, erroMsg]); - } + }, 900); }; - const SuporteCard = () => ( + // --- subcomponentes (UI) --- + const SuporteCardContent = ({ onOpenChat }) => (

Suporte

Entre em contato conosco através dos canais abaixo

@@ -473,7 +211,7 @@ const Header = () => {
-
+
Chat Online
Disponível 24/7
@@ -482,11 +220,11 @@ const Header = () => {
); - const ChatOnline = () => ( -
+ const ChatOnlineContent = ({ mensagens, onSend, onClose }) => ( +

Chat de Suporte

- +
@@ -498,7 +236,7 @@ const Header = () => { ))}
-
+ {
); + // --- portals: Logout / Suporte / Chat (garante top-most e clickable) --- + const PortalWrapper = ({ children, z = 99999 }) => { + if (typeof document === 'undefined') return null; + return createPortal( +
+ {children} +
, + document.body + ); + }; + + const LogoutModalPortal = ({ onCancel, onConfirm }) => { + if (typeof document === 'undefined') return null; + return createPortal( +
+
e.stopPropagation()} + > +

Confirmar Logout

+

Tem certeza que deseja encerrar a sessão?

+
+ + +
+
+
, + document.body + ); + }; + + const SuportePortal = ({ onClose, children }) => { + if (typeof document === 'undefined') return null; + return createPortal( +
+
e.stopPropagation()} + > + {children} +
+
, + document.body + ); + }; + + const ChatPortal = ({ onClose, children }) => { + if (typeof document === 'undefined') return null; + return createPortal( +
+
e.stopPropagation()} + > + {children} +
+
, + document.body + ); + }; + + // --- evita render na rota de login (mantendo hooks invocados) --- + if (location.pathname === '/login') { + return null; + } + + // --- JSX principal (header visual) --- return ( -
+
-
+
📞
-
-
- {avatarUrl ? ( - Avatar { - const userId = localStorage.getItem('userId') || localStorage.getItem('user_id'); - if (userId) { - loadAvatarFromSupabase(userId).then(newUrl => { - if (newUrl) { - setAvatarUrl(newUrl); - localStorage.setItem('user_avatar', newUrl); - } else { - setAvatarUrl(null); - localStorage.removeItem('user_avatar'); - } - }); - } - }} - /> - ) : ( -
- -
- )} +
+
+
{isDropdownOpen && ( -
- - +
e.stopPropagation()}> + +
)}
- {showLogoutModal && ( -
-
-

Confirmar Logout

-

Tem certeza que deseja encerrar a sessão?

-
- - -
-
-
- )} + {/* logout modal via portal */} + {showLogoutModal && } + {/* suporte portal */} {isSuporteCardOpen && ( -
-
e.stopPropagation()}> - -
-
+ + + )} + {/* chat portal */} {isChatOpen && ( -
-
- -
-
- )} - {showAvatarModal && ( -
setShowAvatarModal(false)}> -
e.stopPropagation()}> -

Gerenciar Avatar

- -
-
- {avatarUrl ? ( - Avatar { - setAvatarUrl(null); - localStorage.removeItem('user_avatar'); - }} - /> - ) : ( - 👤 - )} -
- - {avatarError && ( -
- {avatarError} -
- )} - - - -
- - - {avatarUrl && ( - - )} -
- -

- Formatos aceitos: JPEG, PNG, GIF, WebP (máx. 5MB) -

-
- -
- -
-
-
+ + + )}
); }; -export default Header; \ No newline at end of file +export default Header; + + + diff --git a/src/data/sidebar-items-adm.json b/src/data/sidebar-items-adm.json index 5b4c554..1eb3da2 100644 --- a/src/data/sidebar-items-adm.json +++ b/src/data/sidebar-items-adm.json @@ -25,5 +25,10 @@ "name": "Painel Administrativo", "icon": "file-bar-graph-fill", "url": "/admin/painel" + }, + { + "name": "Gestão de Usuários", + "icon": "people-fill", + "url": "/admin/gestao" } ] From ef7ef938878caa35ddde9333c53a82e5238db62c Mon Sep 17 00:00:00 2001 From: Caio Miguel Lima Nunes Date: Wed, 26 Nov 2025 22:37:53 -0300 Subject: [PATCH 04/10] Resolucao de conflitos --- package-lock.json | 6250 +++++++++++++++++++++- src/PagesPaciente/ConsultasPaciente.jsx | 489 -- src/components/Header/Header.css | 15 +- src/components/Header/Header.jsx | 6 - src/pages/Agendamento.jsx | 296 - src/pages/DisponibilidadesDoctorPage.jsx | 181 +- src/pages/DoctorEditPage.jsx | 117 - src/pages/DoctorTable.jsx | 4 - 8 files changed, 6276 insertions(+), 1082 deletions(-) diff --git a/package-lock.json b/package-lock.json index 73b0334..44324ac 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2547,6 +2547,108 @@ "@ckeditor/ckeditor5-word-count": "41.4.2" } }, + "node_modules/@ckeditor/ckeditor5-alignment": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-alignment/-/ckeditor5-alignment-47.2.0.tgz", + "integrity": "sha512-lfcJAC8yJOQux3t33ikJrWRsZvywLr2zmU6mDR96SuCmeCyAN3UGXzCNa8kWPExpFGV01ZR61EZkjTah8LP2sQ==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "ckeditor5": "47.2.0" + } + }, + "node_modules/@ckeditor/ckeditor5-alignment/node_modules/@ckeditor/ckeditor5-core": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", + "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@ckeditor/ckeditor5-watchdog": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-alignment/node_modules/@ckeditor/ckeditor5-engine": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", + "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-utils": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-alignment/node_modules/@ckeditor/ckeditor5-ui": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", + "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@types/color-convert": "2.0.4", + "color-convert": "3.1.0", + "color-parse": "2.0.2", + "es-toolkit": "1.39.5", + "vanilla-colorful": "0.7.2" + } + }, + "node_modules/@ckeditor/ckeditor5-alignment/node_modules/@ckeditor/ckeditor5-utils": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", + "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-ui": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-alignment/node_modules/color-convert": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", + "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + }, + "engines": { + "node": ">=14.6" + } + }, + "node_modules/@ckeditor/ckeditor5-alignment/node_modules/color-name": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.1.0.tgz", + "integrity": "sha512-1bPaDNFm0axzE4MEAzKPuqKWeRaT43U/hyxKPBdqTfmPF+d6n7FSoTFxLVULUJOmiLp01KjhIPPH+HrXZJN4Rg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=12.20" + } + }, + "node_modules/@ckeditor/ckeditor5-alignment/node_modules/color-parse": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", + "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + } + }, "node_modules/@ckeditor/ckeditor5-autoformat": { "version": "41.4.2", "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-autoformat/-/ckeditor5-autoformat-41.4.2.tgz", @@ -2959,6 +3061,107 @@ "@ckeditor/ckeditor5-word-count": "41.4.2" } }, + "node_modules/@ckeditor/ckeditor5-autosave": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-autosave/-/ckeditor5-autosave-47.2.0.tgz", + "integrity": "sha512-44nGL/M0qLURA1BEFkqZg6JzpjtvGyWJEluv728vb29JNQUGx0iNykjHBgtPX5s1Ztblx5ZwqFiuNiLkpmHptg==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "ckeditor5": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-autosave/node_modules/@ckeditor/ckeditor5-core": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", + "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@ckeditor/ckeditor5-watchdog": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-autosave/node_modules/@ckeditor/ckeditor5-engine": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", + "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-utils": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-autosave/node_modules/@ckeditor/ckeditor5-ui": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", + "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@types/color-convert": "2.0.4", + "color-convert": "3.1.0", + "color-parse": "2.0.2", + "es-toolkit": "1.39.5", + "vanilla-colorful": "0.7.2" + } + }, + "node_modules/@ckeditor/ckeditor5-autosave/node_modules/@ckeditor/ckeditor5-utils": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", + "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-ui": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-autosave/node_modules/color-convert": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", + "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + }, + "engines": { + "node": ">=14.6" + } + }, + "node_modules/@ckeditor/ckeditor5-autosave/node_modules/color-name": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.1.0.tgz", + "integrity": "sha512-1bPaDNFm0axzE4MEAzKPuqKWeRaT43U/hyxKPBdqTfmPF+d6n7FSoTFxLVULUJOmiLp01KjhIPPH+HrXZJN4Rg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=12.20" + } + }, + "node_modules/@ckeditor/ckeditor5-autosave/node_modules/color-parse": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", + "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + } + }, "node_modules/@ckeditor/ckeditor5-basic-styles": { "version": "41.4.2", "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-basic-styles/-/ckeditor5-basic-styles-41.4.2.tgz", @@ -3783,6 +3986,164 @@ "@ckeditor/ckeditor5-word-count": "41.4.2" } }, + "node_modules/@ckeditor/ckeditor5-bookmark": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-bookmark/-/ckeditor5-bookmark-47.2.0.tgz", + "integrity": "sha512-FDFDZXm8MqktIt3x0WVrYFuXy9sxcCH31Cpa0/mV19lW8CzoCZCAfvXNzPWsz2eFo8qOsna2c/e55ax8OM/Ncg==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-link": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@ckeditor/ckeditor5-widget": "47.2.0", + "ckeditor5": "47.2.0" + } + }, + "node_modules/@ckeditor/ckeditor5-bookmark/node_modules/@ckeditor/ckeditor5-core": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", + "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@ckeditor/ckeditor5-watchdog": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-bookmark/node_modules/@ckeditor/ckeditor5-engine": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", + "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-utils": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-bookmark/node_modules/@ckeditor/ckeditor5-image": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-image/-/ckeditor5-image-47.2.0.tgz", + "integrity": "sha512-XbXvRS++kFku0l7GABhsribmQTBC/SOAfimDNKjg5rayhAXCfovys7YmmU0eicydpo4//fAaa8zvDYc8uXWZGA==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-clipboard": "47.2.0", + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-typing": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-undo": "47.2.0", + "@ckeditor/ckeditor5-upload": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@ckeditor/ckeditor5-widget": "47.2.0", + "ckeditor5": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-bookmark/node_modules/@ckeditor/ckeditor5-link": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-link/-/ckeditor5-link-47.2.0.tgz", + "integrity": "sha512-ijaF1Ic23FH9qulW2ZuaxecmdT0JuK/4XNkdaoRntloHiVZ/tFAu+o/6st/pDXfutDBmnEXwrNGVtzO/JTPhrw==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-clipboard": "47.2.0", + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-image": "47.2.0", + "@ckeditor/ckeditor5-typing": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@ckeditor/ckeditor5-widget": "47.2.0", + "ckeditor5": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-bookmark/node_modules/@ckeditor/ckeditor5-typing": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-typing/-/ckeditor5-typing-47.2.0.tgz", + "integrity": "sha512-BDJLlaX9SHFUfZegOEW7ZeJ0o/TBgabINNxa3CwtGuGBLHUAQ3IAFJ0Cd6jHq12J2kRDwiXZzvvgMyCH7jeeUQ==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-bookmark/node_modules/@ckeditor/ckeditor5-ui": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", + "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@types/color-convert": "2.0.4", + "color-convert": "3.1.0", + "color-parse": "2.0.2", + "es-toolkit": "1.39.5", + "vanilla-colorful": "0.7.2" + } + }, + "node_modules/@ckeditor/ckeditor5-bookmark/node_modules/@ckeditor/ckeditor5-utils": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", + "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-ui": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-bookmark/node_modules/color-convert": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", + "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + }, + "engines": { + "node": ">=14.6" + } + }, + "node_modules/@ckeditor/ckeditor5-bookmark/node_modules/color-name": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.1.0.tgz", + "integrity": "sha512-1bPaDNFm0axzE4MEAzKPuqKWeRaT43U/hyxKPBdqTfmPF+d6n7FSoTFxLVULUJOmiLp01KjhIPPH+HrXZJN4Rg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=12.20" + } + }, + "node_modules/@ckeditor/ckeditor5-bookmark/node_modules/color-parse": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", + "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + } + }, "node_modules/@ckeditor/ckeditor5-build-balloon": { "version": "41.4.2", "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-build-balloon/-/ckeditor5-build-balloon-41.4.2.tgz", @@ -6795,6 +7156,109 @@ "@ckeditor/ckeditor5-word-count": "41.4.2" } }, + "node_modules/@ckeditor/ckeditor5-clipboard": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-clipboard/-/ckeditor5-clipboard-47.2.0.tgz", + "integrity": "sha512-x/ehXk+ga5tnumA8TenrZRU684DvpzzhTLfZScRxX3/3BJPYlFp7BWx60KJPQHKXYgb+I0qkQrgxuBXp83ed2g==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@ckeditor/ckeditor5-widget": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-clipboard/node_modules/@ckeditor/ckeditor5-core": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", + "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@ckeditor/ckeditor5-watchdog": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-clipboard/node_modules/@ckeditor/ckeditor5-engine": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", + "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-utils": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-clipboard/node_modules/@ckeditor/ckeditor5-ui": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", + "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@types/color-convert": "2.0.4", + "color-convert": "3.1.0", + "color-parse": "2.0.2", + "es-toolkit": "1.39.5", + "vanilla-colorful": "0.7.2" + } + }, + "node_modules/@ckeditor/ckeditor5-clipboard/node_modules/@ckeditor/ckeditor5-utils": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", + "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-ui": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-clipboard/node_modules/color-convert": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", + "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + }, + "engines": { + "node": ">=14.6" + } + }, + "node_modules/@ckeditor/ckeditor5-clipboard/node_modules/color-name": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.1.0.tgz", + "integrity": "sha512-1bPaDNFm0axzE4MEAzKPuqKWeRaT43U/hyxKPBdqTfmPF+d6n7FSoTFxLVULUJOmiLp01KjhIPPH+HrXZJN4Rg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=12.20" + } + }, + "node_modules/@ckeditor/ckeditor5-clipboard/node_modules/color-parse": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", + "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + } + }, "node_modules/@ckeditor/ckeditor5-cloud-services": { "version": "41.4.2", "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-cloud-services/-/ckeditor5-cloud-services-41.4.2.tgz", @@ -7207,6 +7671,111 @@ "@ckeditor/ckeditor5-word-count": "41.4.2" } }, + "node_modules/@ckeditor/ckeditor5-code-block": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-code-block/-/ckeditor5-code-block-47.2.0.tgz", + "integrity": "sha512-8SH10L7i+wirkouDmg4MdBN4R3AZDyutsuSCwDPALoKSHQs7KlYB+8TJxcejt/dSBd0JWgrBi7rVu9Arkk3I1A==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-clipboard": "47.2.0", + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-enter": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "ckeditor5": "47.2.0" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/@ckeditor/ckeditor5-core": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", + "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@ckeditor/ckeditor5-watchdog": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/@ckeditor/ckeditor5-engine": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", + "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-utils": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/@ckeditor/ckeditor5-ui": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", + "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@types/color-convert": "2.0.4", + "color-convert": "3.1.0", + "color-parse": "2.0.2", + "es-toolkit": "1.39.5", + "vanilla-colorful": "0.7.2" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/@ckeditor/ckeditor5-utils": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", + "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-ui": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/color-convert": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", + "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + }, + "engines": { + "node": ">=14.6" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/color-name": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.1.0.tgz", + "integrity": "sha512-1bPaDNFm0axzE4MEAzKPuqKWeRaT43U/hyxKPBdqTfmPF+d6n7FSoTFxLVULUJOmiLp01KjhIPPH+HrXZJN4Rg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=12.20" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/color-parse": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", + "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + } + }, "node_modules/@ckeditor/ckeditor5-core": { "version": "41.4.2", "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-41.4.2.tgz", @@ -7630,6 +8199,109 @@ "@ckeditor/ckeditor5-word-count": "41.4.2" } }, + "node_modules/@ckeditor/ckeditor5-editor-balloon": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-editor-balloon/-/ckeditor5-editor-balloon-47.2.0.tgz", + "integrity": "sha512-szIx59pnw6kgxYuAyqecMnSlwtwWu2q23XV4TpKF/V3NlHs9ZeIFusTX3icO8JLQR4ExsYa0bsYpabGdZdx2Ug==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "ckeditor5": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-editor-balloon/node_modules/@ckeditor/ckeditor5-core": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", + "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@ckeditor/ckeditor5-watchdog": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-editor-balloon/node_modules/@ckeditor/ckeditor5-engine": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", + "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-utils": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-editor-balloon/node_modules/@ckeditor/ckeditor5-ui": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", + "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@types/color-convert": "2.0.4", + "color-convert": "3.1.0", + "color-parse": "2.0.2", + "es-toolkit": "1.39.5", + "vanilla-colorful": "0.7.2" + } + }, + "node_modules/@ckeditor/ckeditor5-editor-balloon/node_modules/@ckeditor/ckeditor5-utils": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", + "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-ui": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-editor-balloon/node_modules/color-convert": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", + "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + }, + "engines": { + "node": ">=14.6" + } + }, + "node_modules/@ckeditor/ckeditor5-editor-balloon/node_modules/color-name": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.1.0.tgz", + "integrity": "sha512-1bPaDNFm0axzE4MEAzKPuqKWeRaT43U/hyxKPBdqTfmPF+d6n7FSoTFxLVULUJOmiLp01KjhIPPH+HrXZJN4Rg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=12.20" + } + }, + "node_modules/@ckeditor/ckeditor5-editor-balloon/node_modules/color-parse": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", + "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + } + }, "node_modules/@ckeditor/ckeditor5-editor-classic": { "version": "41.4.2", "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-editor-classic/-/ckeditor5-editor-classic-41.4.2.tgz", @@ -8043,6 +8715,434 @@ "@ckeditor/ckeditor5-word-count": "41.4.2" } }, + "node_modules/@ckeditor/ckeditor5-editor-decoupled": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-editor-decoupled/-/ckeditor5-editor-decoupled-47.2.0.tgz", + "integrity": "sha512-h1Yw6/XHeEe5aW/4VV0njAGe5nsuIBkARCun039noA+b2bq+Qb9bAExzaSHULf7nZW4HHVJMcYvb2HwcX8MZ6g==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "ckeditor5": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-editor-decoupled/node_modules/@ckeditor/ckeditor5-core": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", + "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@ckeditor/ckeditor5-watchdog": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-editor-decoupled/node_modules/@ckeditor/ckeditor5-engine": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", + "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-utils": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-editor-decoupled/node_modules/@ckeditor/ckeditor5-ui": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", + "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@types/color-convert": "2.0.4", + "color-convert": "3.1.0", + "color-parse": "2.0.2", + "es-toolkit": "1.39.5", + "vanilla-colorful": "0.7.2" + } + }, + "node_modules/@ckeditor/ckeditor5-editor-decoupled/node_modules/@ckeditor/ckeditor5-utils": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", + "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-ui": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-editor-decoupled/node_modules/color-convert": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", + "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + }, + "engines": { + "node": ">=14.6" + } + }, + "node_modules/@ckeditor/ckeditor5-editor-decoupled/node_modules/color-name": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.1.0.tgz", + "integrity": "sha512-1bPaDNFm0axzE4MEAzKPuqKWeRaT43U/hyxKPBdqTfmPF+d6n7FSoTFxLVULUJOmiLp01KjhIPPH+HrXZJN4Rg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=12.20" + } + }, + "node_modules/@ckeditor/ckeditor5-editor-decoupled/node_modules/color-parse": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", + "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + } + }, + "node_modules/@ckeditor/ckeditor5-editor-inline": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-editor-inline/-/ckeditor5-editor-inline-47.2.0.tgz", + "integrity": "sha512-6kGG8Q4ggOim7KU/J3iMvmf5/faNjYL/ucg2RPMvzhH/eTqlZBlMdDid86b0YAW0fbKPvIIACifoOBHIGlcZyA==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "ckeditor5": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-editor-inline/node_modules/@ckeditor/ckeditor5-core": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", + "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@ckeditor/ckeditor5-watchdog": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-editor-inline/node_modules/@ckeditor/ckeditor5-engine": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", + "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-utils": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-editor-inline/node_modules/@ckeditor/ckeditor5-ui": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", + "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@types/color-convert": "2.0.4", + "color-convert": "3.1.0", + "color-parse": "2.0.2", + "es-toolkit": "1.39.5", + "vanilla-colorful": "0.7.2" + } + }, + "node_modules/@ckeditor/ckeditor5-editor-inline/node_modules/@ckeditor/ckeditor5-utils": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", + "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-ui": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-editor-inline/node_modules/color-convert": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", + "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + }, + "engines": { + "node": ">=14.6" + } + }, + "node_modules/@ckeditor/ckeditor5-editor-inline/node_modules/color-name": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.1.0.tgz", + "integrity": "sha512-1bPaDNFm0axzE4MEAzKPuqKWeRaT43U/hyxKPBdqTfmPF+d6n7FSoTFxLVULUJOmiLp01KjhIPPH+HrXZJN4Rg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=12.20" + } + }, + "node_modules/@ckeditor/ckeditor5-editor-inline/node_modules/color-parse": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", + "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + } + }, + "node_modules/@ckeditor/ckeditor5-editor-multi-root": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-editor-multi-root/-/ckeditor5-editor-multi-root-47.2.0.tgz", + "integrity": "sha512-bIkPzkpLGznNnDLAuSkVNP+LfICLbUj80IdkVLB9KeXnuZ1WKYkLqBGfDv6y70iJnANAiiP6Z8EaucBNzfjS7g==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "ckeditor5": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-editor-multi-root/node_modules/@ckeditor/ckeditor5-core": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", + "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@ckeditor/ckeditor5-watchdog": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-editor-multi-root/node_modules/@ckeditor/ckeditor5-engine": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", + "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-utils": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-editor-multi-root/node_modules/@ckeditor/ckeditor5-ui": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", + "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@types/color-convert": "2.0.4", + "color-convert": "3.1.0", + "color-parse": "2.0.2", + "es-toolkit": "1.39.5", + "vanilla-colorful": "0.7.2" + } + }, + "node_modules/@ckeditor/ckeditor5-editor-multi-root/node_modules/@ckeditor/ckeditor5-utils": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", + "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-ui": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-editor-multi-root/node_modules/color-convert": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", + "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + }, + "engines": { + "node": ">=14.6" + } + }, + "node_modules/@ckeditor/ckeditor5-editor-multi-root/node_modules/color-name": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.1.0.tgz", + "integrity": "sha512-1bPaDNFm0axzE4MEAzKPuqKWeRaT43U/hyxKPBdqTfmPF+d6n7FSoTFxLVULUJOmiLp01KjhIPPH+HrXZJN4Rg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=12.20" + } + }, + "node_modules/@ckeditor/ckeditor5-editor-multi-root/node_modules/color-parse": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", + "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + } + }, + "node_modules/@ckeditor/ckeditor5-emoji": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-emoji/-/ckeditor5-emoji-47.2.0.tgz", + "integrity": "sha512-pS1G0QVFOK2Z+BLrVmm6pVjFZRpkC95YgQeASuuIySLZBllYD3+tlys2lPt3el5PAd0IQB7s85XuTdbCXDFr6A==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-mention": "47.2.0", + "@ckeditor/ckeditor5-typing": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "ckeditor5": "47.2.0", + "es-toolkit": "1.39.5", + "fuzzysort": "3.1.0" + } + }, + "node_modules/@ckeditor/ckeditor5-emoji/node_modules/@ckeditor/ckeditor5-core": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", + "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@ckeditor/ckeditor5-watchdog": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-emoji/node_modules/@ckeditor/ckeditor5-engine": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", + "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-utils": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-emoji/node_modules/@ckeditor/ckeditor5-typing": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-typing/-/ckeditor5-typing-47.2.0.tgz", + "integrity": "sha512-BDJLlaX9SHFUfZegOEW7ZeJ0o/TBgabINNxa3CwtGuGBLHUAQ3IAFJ0Cd6jHq12J2kRDwiXZzvvgMyCH7jeeUQ==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-emoji/node_modules/@ckeditor/ckeditor5-ui": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", + "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@types/color-convert": "2.0.4", + "color-convert": "3.1.0", + "color-parse": "2.0.2", + "es-toolkit": "1.39.5", + "vanilla-colorful": "0.7.2" + } + }, + "node_modules/@ckeditor/ckeditor5-emoji/node_modules/@ckeditor/ckeditor5-utils": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", + "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-ui": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-emoji/node_modules/color-convert": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", + "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + }, + "engines": { + "node": ">=14.6" + } + }, + "node_modules/@ckeditor/ckeditor5-emoji/node_modules/color-name": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.1.0.tgz", + "integrity": "sha512-1bPaDNFm0axzE4MEAzKPuqKWeRaT43U/hyxKPBdqTfmPF+d6n7FSoTFxLVULUJOmiLp01KjhIPPH+HrXZJN4Rg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=12.20" + } + }, + "node_modules/@ckeditor/ckeditor5-emoji/node_modules/color-parse": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", + "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + } + }, "node_modules/@ckeditor/ckeditor5-engine": { "version": "41.4.2", "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-41.4.2.tgz", @@ -8053,6 +9153,106 @@ "lodash-es": "4.17.21" } }, + "node_modules/@ckeditor/ckeditor5-enter": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-enter/-/ckeditor5-enter-47.2.0.tgz", + "integrity": "sha512-7ZHfrxDSs55IXgs5yAX6Nl8COY1dqefZ5HiWT/UM0cOP/4aMffp5I1yYYP7NVfBkTW9DlUoeAkHFTv2miTwclQ==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0" + } + }, + "node_modules/@ckeditor/ckeditor5-enter/node_modules/@ckeditor/ckeditor5-core": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", + "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@ckeditor/ckeditor5-watchdog": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-enter/node_modules/@ckeditor/ckeditor5-engine": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", + "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-utils": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-enter/node_modules/@ckeditor/ckeditor5-ui": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", + "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@types/color-convert": "2.0.4", + "color-convert": "3.1.0", + "color-parse": "2.0.2", + "es-toolkit": "1.39.5", + "vanilla-colorful": "0.7.2" + } + }, + "node_modules/@ckeditor/ckeditor5-enter/node_modules/@ckeditor/ckeditor5-utils": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", + "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-ui": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-enter/node_modules/color-convert": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", + "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + }, + "engines": { + "node": ">=14.6" + } + }, + "node_modules/@ckeditor/ckeditor5-enter/node_modules/color-name": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.1.0.tgz", + "integrity": "sha512-1bPaDNFm0axzE4MEAzKPuqKWeRaT43U/hyxKPBdqTfmPF+d6n7FSoTFxLVULUJOmiLp01KjhIPPH+HrXZJN4Rg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=12.20" + } + }, + "node_modules/@ckeditor/ckeditor5-enter/node_modules/color-parse": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", + "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + } + }, "node_modules/@ckeditor/ckeditor5-essentials": { "version": "41.4.2", "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-essentials/-/ckeditor5-essentials-41.4.2.tgz", @@ -8465,6 +9665,331 @@ "@ckeditor/ckeditor5-word-count": "41.4.2" } }, + "node_modules/@ckeditor/ckeditor5-find-and-replace": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-find-and-replace/-/ckeditor5-find-and-replace-47.2.0.tgz", + "integrity": "sha512-34Uzpbxi+/eJx/0CR9/T92wDaw67KLaYcm39+RY4OUCxC9EywEFruIJEg/M/Xu4iTVjdVKbpQ3ovGBuciiL1vQ==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "ckeditor5": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-find-and-replace/node_modules/@ckeditor/ckeditor5-core": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", + "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@ckeditor/ckeditor5-watchdog": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-find-and-replace/node_modules/@ckeditor/ckeditor5-engine": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", + "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-utils": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-find-and-replace/node_modules/@ckeditor/ckeditor5-ui": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", + "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@types/color-convert": "2.0.4", + "color-convert": "3.1.0", + "color-parse": "2.0.2", + "es-toolkit": "1.39.5", + "vanilla-colorful": "0.7.2" + } + }, + "node_modules/@ckeditor/ckeditor5-find-and-replace/node_modules/@ckeditor/ckeditor5-utils": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", + "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-ui": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-find-and-replace/node_modules/color-convert": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", + "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + }, + "engines": { + "node": ">=14.6" + } + }, + "node_modules/@ckeditor/ckeditor5-find-and-replace/node_modules/color-name": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.1.0.tgz", + "integrity": "sha512-1bPaDNFm0axzE4MEAzKPuqKWeRaT43U/hyxKPBdqTfmPF+d6n7FSoTFxLVULUJOmiLp01KjhIPPH+HrXZJN4Rg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=12.20" + } + }, + "node_modules/@ckeditor/ckeditor5-find-and-replace/node_modules/color-parse": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", + "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + } + }, + "node_modules/@ckeditor/ckeditor5-font": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-font/-/ckeditor5-font-47.2.0.tgz", + "integrity": "sha512-X/AYeNHc3Hibd56OfPwOEdYRIGX3eWtGQ/qIAEVkS2xCEDPhM0fTHpLTEpDsMukw9NRAqmhnQHIp2amGaOwY8g==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "ckeditor5": "47.2.0" + } + }, + "node_modules/@ckeditor/ckeditor5-font/node_modules/@ckeditor/ckeditor5-core": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", + "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@ckeditor/ckeditor5-watchdog": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-font/node_modules/@ckeditor/ckeditor5-engine": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", + "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-utils": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-font/node_modules/@ckeditor/ckeditor5-ui": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", + "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@types/color-convert": "2.0.4", + "color-convert": "3.1.0", + "color-parse": "2.0.2", + "es-toolkit": "1.39.5", + "vanilla-colorful": "0.7.2" + } + }, + "node_modules/@ckeditor/ckeditor5-font/node_modules/@ckeditor/ckeditor5-utils": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", + "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-ui": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-font/node_modules/color-convert": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", + "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + }, + "engines": { + "node": ">=14.6" + } + }, + "node_modules/@ckeditor/ckeditor5-font/node_modules/color-name": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.1.0.tgz", + "integrity": "sha512-1bPaDNFm0axzE4MEAzKPuqKWeRaT43U/hyxKPBdqTfmPF+d6n7FSoTFxLVULUJOmiLp01KjhIPPH+HrXZJN4Rg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=12.20" + } + }, + "node_modules/@ckeditor/ckeditor5-font/node_modules/color-parse": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", + "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + } + }, + "node_modules/@ckeditor/ckeditor5-fullscreen": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-fullscreen/-/ckeditor5-fullscreen-47.2.0.tgz", + "integrity": "sha512-Kf//0eQIuslGNVSbNkHXBELn/jZT+OsTIeo8PulZEbVI5do0vB/52w0F40rhgk8EudlGTxEmMOi0x/jrdR0MHg==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-editor-classic": "47.2.0", + "@ckeditor/ckeditor5-editor-decoupled": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "ckeditor5": "47.2.0" + } + }, + "node_modules/@ckeditor/ckeditor5-fullscreen/node_modules/@ckeditor/ckeditor5-core": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", + "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@ckeditor/ckeditor5-watchdog": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-fullscreen/node_modules/@ckeditor/ckeditor5-editor-classic": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-editor-classic/-/ckeditor5-editor-classic-47.2.0.tgz", + "integrity": "sha512-fYy4RKmvM4kYvUgCRuBdUqVLE8ts1Kj4q1Caaq5VZyBudmaj/RZqQBSdiu5pZgKMdj1oMaIQ5Gextg96iJ3LTw==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "ckeditor5": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-fullscreen/node_modules/@ckeditor/ckeditor5-engine": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", + "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-utils": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-fullscreen/node_modules/@ckeditor/ckeditor5-ui": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", + "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@types/color-convert": "2.0.4", + "color-convert": "3.1.0", + "color-parse": "2.0.2", + "es-toolkit": "1.39.5", + "vanilla-colorful": "0.7.2" + } + }, + "node_modules/@ckeditor/ckeditor5-fullscreen/node_modules/@ckeditor/ckeditor5-utils": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", + "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-ui": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-fullscreen/node_modules/color-convert": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", + "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + }, + "engines": { + "node": ">=14.6" + } + }, + "node_modules/@ckeditor/ckeditor5-fullscreen/node_modules/color-name": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.1.0.tgz", + "integrity": "sha512-1bPaDNFm0axzE4MEAzKPuqKWeRaT43U/hyxKPBdqTfmPF+d6n7FSoTFxLVULUJOmiLp01KjhIPPH+HrXZJN4Rg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=12.20" + } + }, + "node_modules/@ckeditor/ckeditor5-fullscreen/node_modules/color-parse": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", + "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + } + }, "node_modules/@ckeditor/ckeditor5-heading": { "version": "41.4.2", "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-heading/-/ckeditor5-heading-41.4.2.tgz", @@ -8877,6 +10402,531 @@ "@ckeditor/ckeditor5-word-count": "41.4.2" } }, + "node_modules/@ckeditor/ckeditor5-highlight": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-highlight/-/ckeditor5-highlight-47.2.0.tgz", + "integrity": "sha512-Fp59HRybXJpJl/DtliMTjiVrIA95jmm0SptvXtIucD0hdP9ZX6TOFPTzrRl29LZGITNuYDulPqvNTpFoechRmQ==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "ckeditor5": "47.2.0" + } + }, + "node_modules/@ckeditor/ckeditor5-highlight/node_modules/@ckeditor/ckeditor5-core": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", + "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@ckeditor/ckeditor5-watchdog": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-highlight/node_modules/@ckeditor/ckeditor5-engine": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", + "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-utils": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-highlight/node_modules/@ckeditor/ckeditor5-ui": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", + "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@types/color-convert": "2.0.4", + "color-convert": "3.1.0", + "color-parse": "2.0.2", + "es-toolkit": "1.39.5", + "vanilla-colorful": "0.7.2" + } + }, + "node_modules/@ckeditor/ckeditor5-highlight/node_modules/@ckeditor/ckeditor5-utils": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", + "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-ui": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-highlight/node_modules/color-convert": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", + "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + }, + "engines": { + "node": ">=14.6" + } + }, + "node_modules/@ckeditor/ckeditor5-highlight/node_modules/color-name": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.1.0.tgz", + "integrity": "sha512-1bPaDNFm0axzE4MEAzKPuqKWeRaT43U/hyxKPBdqTfmPF+d6n7FSoTFxLVULUJOmiLp01KjhIPPH+HrXZJN4Rg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=12.20" + } + }, + "node_modules/@ckeditor/ckeditor5-highlight/node_modules/color-parse": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", + "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + } + }, + "node_modules/@ckeditor/ckeditor5-horizontal-line": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-horizontal-line/-/ckeditor5-horizontal-line-47.2.0.tgz", + "integrity": "sha512-/DHVMhI9vNs/NI+NQBbUXdzsXHj9hGKihtNDmbV5UP3Hy7l32Gv8k9nJVnBlDbBbHI6Wpxjj6GUxAiLZ46mc1Q==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@ckeditor/ckeditor5-widget": "47.2.0", + "ckeditor5": "47.2.0" + } + }, + "node_modules/@ckeditor/ckeditor5-horizontal-line/node_modules/@ckeditor/ckeditor5-core": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", + "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@ckeditor/ckeditor5-watchdog": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-horizontal-line/node_modules/@ckeditor/ckeditor5-engine": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", + "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-utils": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-horizontal-line/node_modules/@ckeditor/ckeditor5-ui": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", + "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@types/color-convert": "2.0.4", + "color-convert": "3.1.0", + "color-parse": "2.0.2", + "es-toolkit": "1.39.5", + "vanilla-colorful": "0.7.2" + } + }, + "node_modules/@ckeditor/ckeditor5-horizontal-line/node_modules/@ckeditor/ckeditor5-utils": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", + "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-ui": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-horizontal-line/node_modules/color-convert": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", + "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + }, + "engines": { + "node": ">=14.6" + } + }, + "node_modules/@ckeditor/ckeditor5-horizontal-line/node_modules/color-name": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.1.0.tgz", + "integrity": "sha512-1bPaDNFm0axzE4MEAzKPuqKWeRaT43U/hyxKPBdqTfmPF+d6n7FSoTFxLVULUJOmiLp01KjhIPPH+HrXZJN4Rg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=12.20" + } + }, + "node_modules/@ckeditor/ckeditor5-horizontal-line/node_modules/color-parse": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", + "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + } + }, + "node_modules/@ckeditor/ckeditor5-html-embed": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-html-embed/-/ckeditor5-html-embed-47.2.0.tgz", + "integrity": "sha512-VhI789/KDKmQhz9nQqq64odOtLpwjJbPQ/Pf54J2d7AGDvbuNVkjAMVdj5xXXzb/nXdys6zM8lPQZfQGI/Ya8A==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@ckeditor/ckeditor5-widget": "47.2.0", + "ckeditor5": "47.2.0" + } + }, + "node_modules/@ckeditor/ckeditor5-html-embed/node_modules/@ckeditor/ckeditor5-core": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", + "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@ckeditor/ckeditor5-watchdog": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-html-embed/node_modules/@ckeditor/ckeditor5-engine": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", + "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-utils": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-html-embed/node_modules/@ckeditor/ckeditor5-ui": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", + "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@types/color-convert": "2.0.4", + "color-convert": "3.1.0", + "color-parse": "2.0.2", + "es-toolkit": "1.39.5", + "vanilla-colorful": "0.7.2" + } + }, + "node_modules/@ckeditor/ckeditor5-html-embed/node_modules/@ckeditor/ckeditor5-utils": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", + "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-ui": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-html-embed/node_modules/color-convert": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", + "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + }, + "engines": { + "node": ">=14.6" + } + }, + "node_modules/@ckeditor/ckeditor5-html-embed/node_modules/color-name": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.1.0.tgz", + "integrity": "sha512-1bPaDNFm0axzE4MEAzKPuqKWeRaT43U/hyxKPBdqTfmPF+d6n7FSoTFxLVULUJOmiLp01KjhIPPH+HrXZJN4Rg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=12.20" + } + }, + "node_modules/@ckeditor/ckeditor5-html-embed/node_modules/color-parse": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", + "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + } + }, + "node_modules/@ckeditor/ckeditor5-html-support": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-html-support/-/ckeditor5-html-support-47.2.0.tgz", + "integrity": "sha512-IwaFBdv0qQQXfnA1LHL2BVQoioNJa9T8NIKDq2OG3mXg02jJvhJl84QADJ0ro36igjKsyfttsl8lM1pf00XAhA==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-enter": "47.2.0", + "@ckeditor/ckeditor5-heading": "47.2.0", + "@ckeditor/ckeditor5-image": "47.2.0", + "@ckeditor/ckeditor5-list": "47.2.0", + "@ckeditor/ckeditor5-remove-format": "47.2.0", + "@ckeditor/ckeditor5-table": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@ckeditor/ckeditor5-widget": "47.2.0", + "ckeditor5": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-html-support/node_modules/@ckeditor/ckeditor5-core": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", + "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@ckeditor/ckeditor5-watchdog": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-html-support/node_modules/@ckeditor/ckeditor5-engine": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", + "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-utils": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-html-support/node_modules/@ckeditor/ckeditor5-heading": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-heading/-/ckeditor5-heading-47.2.0.tgz", + "integrity": "sha512-m1zSERVh7gdVXwLLYgcAsy7lkIOuadmA5YuwyPpR/g3oa0j1gcuNm5y/73MTOPflPUn0g0Y9DzocF2G1WY2NiQ==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-paragraph": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "ckeditor5": "47.2.0" + } + }, + "node_modules/@ckeditor/ckeditor5-html-support/node_modules/@ckeditor/ckeditor5-image": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-image/-/ckeditor5-image-47.2.0.tgz", + "integrity": "sha512-XbXvRS++kFku0l7GABhsribmQTBC/SOAfimDNKjg5rayhAXCfovys7YmmU0eicydpo4//fAaa8zvDYc8uXWZGA==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-clipboard": "47.2.0", + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-typing": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-undo": "47.2.0", + "@ckeditor/ckeditor5-upload": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@ckeditor/ckeditor5-widget": "47.2.0", + "ckeditor5": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-html-support/node_modules/@ckeditor/ckeditor5-list": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-list/-/ckeditor5-list-47.2.0.tgz", + "integrity": "sha512-PDjTQLn2CqrZ4XuAAJWY2vA5bkVu8UHKQZa1+ddfS4FbvfF2QR3eDX5axywpuaCb2Dm2ZQoqxpA5GQmt1fUehg==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-clipboard": "47.2.0", + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-enter": "47.2.0", + "@ckeditor/ckeditor5-font": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-typing": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "ckeditor5": "47.2.0" + } + }, + "node_modules/@ckeditor/ckeditor5-html-support/node_modules/@ckeditor/ckeditor5-paragraph": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-paragraph/-/ckeditor5-paragraph-47.2.0.tgz", + "integrity": "sha512-x6nqRQjlAcOhirOE9umNdK8WckWcz7JPVU7IlPTzlrVAYCq+wiz6rgpuh4COUHnee4c31fF21On+OVyqgu7JvQ==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0" + } + }, + "node_modules/@ckeditor/ckeditor5-html-support/node_modules/@ckeditor/ckeditor5-table": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-table/-/ckeditor5-table-47.2.0.tgz", + "integrity": "sha512-zxNHpl4L7HsOLCYiKrbyyHoM2dMGetgP4eTjYyWfn9gf+ydVs7o+LJVN5bsWt3J4ToamCj5G7VHZUmqUcPbN6A==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-clipboard": "47.2.0", + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@ckeditor/ckeditor5-widget": "47.2.0", + "ckeditor5": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-html-support/node_modules/@ckeditor/ckeditor5-typing": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-typing/-/ckeditor5-typing-47.2.0.tgz", + "integrity": "sha512-BDJLlaX9SHFUfZegOEW7ZeJ0o/TBgabINNxa3CwtGuGBLHUAQ3IAFJ0Cd6jHq12J2kRDwiXZzvvgMyCH7jeeUQ==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-html-support/node_modules/@ckeditor/ckeditor5-ui": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", + "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@types/color-convert": "2.0.4", + "color-convert": "3.1.0", + "color-parse": "2.0.2", + "es-toolkit": "1.39.5", + "vanilla-colorful": "0.7.2" + } + }, + "node_modules/@ckeditor/ckeditor5-html-support/node_modules/@ckeditor/ckeditor5-utils": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", + "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-ui": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-html-support/node_modules/color-convert": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", + "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + }, + "engines": { + "node": ">=14.6" + } + }, + "node_modules/@ckeditor/ckeditor5-html-support/node_modules/color-name": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.1.0.tgz", + "integrity": "sha512-1bPaDNFm0axzE4MEAzKPuqKWeRaT43U/hyxKPBdqTfmPF+d6n7FSoTFxLVULUJOmiLp01KjhIPPH+HrXZJN4Rg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=12.20" + } + }, + "node_modules/@ckeditor/ckeditor5-html-support/node_modules/color-parse": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", + "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + } + }, + "node_modules/@ckeditor/ckeditor5-icons": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-icons/-/ckeditor5-icons-47.2.0.tgz", + "integrity": "sha512-9rxAWNQEjZBHyMBQ8XXwfa+ubPBzQntd+nkWBAGTK6ddqHZIaQLsiLrUAdR5tyKKK9tnTkwyx1jycGRspZnoxw==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true + }, "node_modules/@ckeditor/ckeditor5-image": { "version": "41.4.2", "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-image/-/ckeditor5-image-41.4.2.tgz", @@ -9715,6 +11765,107 @@ "ckeditor5": ">=42.0.0 || ^0.0.0-nightly" } }, + "node_modules/@ckeditor/ckeditor5-language": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-language/-/ckeditor5-language-47.2.0.tgz", + "integrity": "sha512-kc5MqQnvQtUPuvRJfdqXHQZNQyHVy/ZZv5laPY1AKrsKqc5SJO4y3v//4yHvdn45V4QKLwMOy4yC365Sdq0UpA==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "ckeditor5": "47.2.0" + } + }, + "node_modules/@ckeditor/ckeditor5-language/node_modules/@ckeditor/ckeditor5-core": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", + "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@ckeditor/ckeditor5-watchdog": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-language/node_modules/@ckeditor/ckeditor5-engine": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", + "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-utils": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-language/node_modules/@ckeditor/ckeditor5-ui": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", + "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@types/color-convert": "2.0.4", + "color-convert": "3.1.0", + "color-parse": "2.0.2", + "es-toolkit": "1.39.5", + "vanilla-colorful": "0.7.2" + } + }, + "node_modules/@ckeditor/ckeditor5-language/node_modules/@ckeditor/ckeditor5-utils": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", + "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-ui": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-language/node_modules/color-convert": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", + "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + }, + "engines": { + "node": ">=14.6" + } + }, + "node_modules/@ckeditor/ckeditor5-language/node_modules/color-name": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.1.0.tgz", + "integrity": "sha512-1bPaDNFm0axzE4MEAzKPuqKWeRaT43U/hyxKPBdqTfmPF+d6n7FSoTFxLVULUJOmiLp01KjhIPPH+HrXZJN4Rg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=12.20" + } + }, + "node_modules/@ckeditor/ckeditor5-language/node_modules/color-parse": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", + "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + } + }, "node_modules/@ckeditor/ckeditor5-link": { "version": "41.4.2", "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-link/-/ckeditor5-link-41.4.2.tgz", @@ -10541,6 +12692,122 @@ "@ckeditor/ckeditor5-word-count": "41.4.2" } }, + "node_modules/@ckeditor/ckeditor5-markdown-gfm": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-markdown-gfm/-/ckeditor5-markdown-gfm-47.2.0.tgz", + "integrity": "sha512-mt47/GMxrsAL3u/aBjOuH5ETSLH0knoYJpchYb7sXzIuQlY7xPqvcONyD9700TAN30FV7qpOVKUqI7tRyLL5uA==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-clipboard": "47.2.0", + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@types/hast": "3.0.4", + "ckeditor5": "47.2.0", + "hast-util-from-dom": "5.0.1", + "hast-util-to-html": "9.0.5", + "hast-util-to-mdast": "10.1.2", + "hastscript": "9.0.1", + "rehype-dom-parse": "5.0.2", + "rehype-dom-stringify": "4.0.2", + "rehype-remark": "10.0.1", + "remark-breaks": "4.0.0", + "remark-gfm": "4.0.1", + "remark-parse": "11.0.0", + "remark-rehype": "11.1.2", + "remark-stringify": "11.0.0", + "unified": "11.0.5", + "unist-util-visit": "5.0.0" + } + }, + "node_modules/@ckeditor/ckeditor5-markdown-gfm/node_modules/@ckeditor/ckeditor5-core": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", + "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@ckeditor/ckeditor5-watchdog": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-markdown-gfm/node_modules/@ckeditor/ckeditor5-engine": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", + "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-utils": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-markdown-gfm/node_modules/@ckeditor/ckeditor5-ui": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", + "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@types/color-convert": "2.0.4", + "color-convert": "3.1.0", + "color-parse": "2.0.2", + "es-toolkit": "1.39.5", + "vanilla-colorful": "0.7.2" + } + }, + "node_modules/@ckeditor/ckeditor5-markdown-gfm/node_modules/@ckeditor/ckeditor5-utils": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", + "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-ui": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-markdown-gfm/node_modules/color-convert": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", + "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + }, + "engines": { + "node": ">=14.6" + } + }, + "node_modules/@ckeditor/ckeditor5-markdown-gfm/node_modules/color-name": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.1.0.tgz", + "integrity": "sha512-1bPaDNFm0axzE4MEAzKPuqKWeRaT43U/hyxKPBdqTfmPF+d6n7FSoTFxLVULUJOmiLp01KjhIPPH+HrXZJN4Rg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=12.20" + } + }, + "node_modules/@ckeditor/ckeditor5-markdown-gfm/node_modules/color-parse": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", + "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + } + }, "node_modules/@ckeditor/ckeditor5-media-embed": { "version": "41.4.2", "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-media-embed/-/ckeditor5-media-embed-41.4.2.tgz", @@ -10954,6 +13221,327 @@ "@ckeditor/ckeditor5-word-count": "41.4.2" } }, + "node_modules/@ckeditor/ckeditor5-mention": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-mention/-/ckeditor5-mention-47.2.0.tgz", + "integrity": "sha512-ZPvVwEQxcCUI0SvJa28JUULww/SCXiiZpfnMtaneMxsIOqesAFxPqMXA9HkyLotikuK1sezu5XzgJ2S5gdqw3A==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-typing": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "ckeditor5": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-mention/node_modules/@ckeditor/ckeditor5-core": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", + "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@ckeditor/ckeditor5-watchdog": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-mention/node_modules/@ckeditor/ckeditor5-engine": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", + "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-utils": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-mention/node_modules/@ckeditor/ckeditor5-typing": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-typing/-/ckeditor5-typing-47.2.0.tgz", + "integrity": "sha512-BDJLlaX9SHFUfZegOEW7ZeJ0o/TBgabINNxa3CwtGuGBLHUAQ3IAFJ0Cd6jHq12J2kRDwiXZzvvgMyCH7jeeUQ==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-mention/node_modules/@ckeditor/ckeditor5-ui": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", + "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@types/color-convert": "2.0.4", + "color-convert": "3.1.0", + "color-parse": "2.0.2", + "es-toolkit": "1.39.5", + "vanilla-colorful": "0.7.2" + } + }, + "node_modules/@ckeditor/ckeditor5-mention/node_modules/@ckeditor/ckeditor5-utils": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", + "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-ui": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-mention/node_modules/color-convert": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", + "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + }, + "engines": { + "node": ">=14.6" + } + }, + "node_modules/@ckeditor/ckeditor5-mention/node_modules/color-name": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.1.0.tgz", + "integrity": "sha512-1bPaDNFm0axzE4MEAzKPuqKWeRaT43U/hyxKPBdqTfmPF+d6n7FSoTFxLVULUJOmiLp01KjhIPPH+HrXZJN4Rg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=12.20" + } + }, + "node_modules/@ckeditor/ckeditor5-mention/node_modules/color-parse": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", + "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + } + }, + "node_modules/@ckeditor/ckeditor5-minimap": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-minimap/-/ckeditor5-minimap-47.2.0.tgz", + "integrity": "sha512-Th6HspywP3JeGBMRUmpAuIyFa8XtrpMiGdsjazlKcHaitT6bHBTzaTjaWVnOuVY3gBdFAKsalv2ZEk8vIPqkhg==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "ckeditor5": "47.2.0" + } + }, + "node_modules/@ckeditor/ckeditor5-minimap/node_modules/@ckeditor/ckeditor5-core": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", + "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@ckeditor/ckeditor5-watchdog": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-minimap/node_modules/@ckeditor/ckeditor5-engine": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", + "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-utils": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-minimap/node_modules/@ckeditor/ckeditor5-ui": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", + "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@types/color-convert": "2.0.4", + "color-convert": "3.1.0", + "color-parse": "2.0.2", + "es-toolkit": "1.39.5", + "vanilla-colorful": "0.7.2" + } + }, + "node_modules/@ckeditor/ckeditor5-minimap/node_modules/@ckeditor/ckeditor5-utils": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", + "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-ui": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-minimap/node_modules/color-convert": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", + "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + }, + "engines": { + "node": ">=14.6" + } + }, + "node_modules/@ckeditor/ckeditor5-minimap/node_modules/color-name": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.1.0.tgz", + "integrity": "sha512-1bPaDNFm0axzE4MEAzKPuqKWeRaT43U/hyxKPBdqTfmPF+d6n7FSoTFxLVULUJOmiLp01KjhIPPH+HrXZJN4Rg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=12.20" + } + }, + "node_modules/@ckeditor/ckeditor5-minimap/node_modules/color-parse": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", + "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + } + }, + "node_modules/@ckeditor/ckeditor5-page-break": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-page-break/-/ckeditor5-page-break-47.2.0.tgz", + "integrity": "sha512-DosfUorg3wZ3a6yM/ymsJQ1E2Rbqi08RFOQ4oQLPPAi2VRdTLt0BiqQPFMKJmy2T2k5K4TLc7bs0s3E96aQyXg==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@ckeditor/ckeditor5-widget": "47.2.0", + "ckeditor5": "47.2.0" + } + }, + "node_modules/@ckeditor/ckeditor5-page-break/node_modules/@ckeditor/ckeditor5-core": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", + "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@ckeditor/ckeditor5-watchdog": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-page-break/node_modules/@ckeditor/ckeditor5-engine": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", + "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-utils": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-page-break/node_modules/@ckeditor/ckeditor5-ui": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", + "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@types/color-convert": "2.0.4", + "color-convert": "3.1.0", + "color-parse": "2.0.2", + "es-toolkit": "1.39.5", + "vanilla-colorful": "0.7.2" + } + }, + "node_modules/@ckeditor/ckeditor5-page-break/node_modules/@ckeditor/ckeditor5-utils": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", + "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-ui": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-page-break/node_modules/color-convert": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", + "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + }, + "engines": { + "node": ">=14.6" + } + }, + "node_modules/@ckeditor/ckeditor5-page-break/node_modules/color-name": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.1.0.tgz", + "integrity": "sha512-1bPaDNFm0axzE4MEAzKPuqKWeRaT43U/hyxKPBdqTfmPF+d6n7FSoTFxLVULUJOmiLp01KjhIPPH+HrXZJN4Rg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=12.20" + } + }, + "node_modules/@ckeditor/ckeditor5-page-break/node_modules/color-parse": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", + "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + } + }, "node_modules/@ckeditor/ckeditor5-paragraph": { "version": "41.4.2", "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-paragraph/-/ckeditor5-paragraph-41.4.2.tgz", @@ -11390,6 +13978,790 @@ "react": "^16.13.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, + "node_modules/@ckeditor/ckeditor5-remove-format": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-remove-format/-/ckeditor5-remove-format-47.2.0.tgz", + "integrity": "sha512-CRWs7Osok8k3Oi2N7RvA12ECxi47wIyrDTsJ3lJYo8zDIbZdOXlv5o+In+mbsZ7lzNKLhKMAgRcF/PrGWcAaUg==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "ckeditor5": "47.2.0" + } + }, + "node_modules/@ckeditor/ckeditor5-remove-format/node_modules/@ckeditor/ckeditor5-core": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", + "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@ckeditor/ckeditor5-watchdog": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-remove-format/node_modules/@ckeditor/ckeditor5-engine": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", + "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-utils": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-remove-format/node_modules/@ckeditor/ckeditor5-ui": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", + "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@types/color-convert": "2.0.4", + "color-convert": "3.1.0", + "color-parse": "2.0.2", + "es-toolkit": "1.39.5", + "vanilla-colorful": "0.7.2" + } + }, + "node_modules/@ckeditor/ckeditor5-remove-format/node_modules/@ckeditor/ckeditor5-utils": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", + "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-ui": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-remove-format/node_modules/color-convert": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", + "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + }, + "engines": { + "node": ">=14.6" + } + }, + "node_modules/@ckeditor/ckeditor5-remove-format/node_modules/color-name": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.1.0.tgz", + "integrity": "sha512-1bPaDNFm0axzE4MEAzKPuqKWeRaT43U/hyxKPBdqTfmPF+d6n7FSoTFxLVULUJOmiLp01KjhIPPH+HrXZJN4Rg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=12.20" + } + }, + "node_modules/@ckeditor/ckeditor5-remove-format/node_modules/color-parse": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", + "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + } + }, + "node_modules/@ckeditor/ckeditor5-restricted-editing": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-restricted-editing/-/ckeditor5-restricted-editing-47.2.0.tgz", + "integrity": "sha512-ziFgoZCHaHzzrLeQ6XIlrcEazoGF6IC2+qzxGnO1A1NKY/8WVLmokKFLmUgDMnPLrhvz5Qqldj0dSS2pKhj6QQ==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "ckeditor5": "47.2.0" + } + }, + "node_modules/@ckeditor/ckeditor5-restricted-editing/node_modules/@ckeditor/ckeditor5-core": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", + "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@ckeditor/ckeditor5-watchdog": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-restricted-editing/node_modules/@ckeditor/ckeditor5-engine": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", + "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-utils": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-restricted-editing/node_modules/@ckeditor/ckeditor5-ui": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", + "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@types/color-convert": "2.0.4", + "color-convert": "3.1.0", + "color-parse": "2.0.2", + "es-toolkit": "1.39.5", + "vanilla-colorful": "0.7.2" + } + }, + "node_modules/@ckeditor/ckeditor5-restricted-editing/node_modules/@ckeditor/ckeditor5-utils": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", + "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-ui": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-restricted-editing/node_modules/color-convert": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", + "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + }, + "engines": { + "node": ">=14.6" + } + }, + "node_modules/@ckeditor/ckeditor5-restricted-editing/node_modules/color-name": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.1.0.tgz", + "integrity": "sha512-1bPaDNFm0axzE4MEAzKPuqKWeRaT43U/hyxKPBdqTfmPF+d6n7FSoTFxLVULUJOmiLp01KjhIPPH+HrXZJN4Rg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=12.20" + } + }, + "node_modules/@ckeditor/ckeditor5-restricted-editing/node_modules/color-parse": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", + "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + } + }, + "node_modules/@ckeditor/ckeditor5-select-all": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-select-all/-/ckeditor5-select-all-47.2.0.tgz", + "integrity": "sha512-4kswe9jmKp6y1hTwWfJBxF8XuX1pgZxraAlm+ugJLhjsus/vGBVXBFNN7kH+RoNxC6tf1ZXly69dGTG4P/nXrg==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0" + } + }, + "node_modules/@ckeditor/ckeditor5-select-all/node_modules/@ckeditor/ckeditor5-core": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", + "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@ckeditor/ckeditor5-watchdog": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-select-all/node_modules/@ckeditor/ckeditor5-engine": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", + "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-utils": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-select-all/node_modules/@ckeditor/ckeditor5-ui": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", + "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@types/color-convert": "2.0.4", + "color-convert": "3.1.0", + "color-parse": "2.0.2", + "es-toolkit": "1.39.5", + "vanilla-colorful": "0.7.2" + } + }, + "node_modules/@ckeditor/ckeditor5-select-all/node_modules/@ckeditor/ckeditor5-utils": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", + "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-ui": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-select-all/node_modules/color-convert": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", + "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + }, + "engines": { + "node": ">=14.6" + } + }, + "node_modules/@ckeditor/ckeditor5-select-all/node_modules/color-name": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.1.0.tgz", + "integrity": "sha512-1bPaDNFm0axzE4MEAzKPuqKWeRaT43U/hyxKPBdqTfmPF+d6n7FSoTFxLVULUJOmiLp01KjhIPPH+HrXZJN4Rg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=12.20" + } + }, + "node_modules/@ckeditor/ckeditor5-select-all/node_modules/color-parse": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", + "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + } + }, + "node_modules/@ckeditor/ckeditor5-show-blocks": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-show-blocks/-/ckeditor5-show-blocks-47.2.0.tgz", + "integrity": "sha512-eIzvA5zQEWNGVXhkCTYVfw32tpsFEx4nTPAVpsFEv0hb1sAMaOv5fIoFmwcx/C8CmN9sBiZtuovXGM5i/pwoTQ==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "ckeditor5": "47.2.0" + } + }, + "node_modules/@ckeditor/ckeditor5-show-blocks/node_modules/@ckeditor/ckeditor5-core": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", + "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@ckeditor/ckeditor5-watchdog": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-show-blocks/node_modules/@ckeditor/ckeditor5-engine": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", + "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-utils": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-show-blocks/node_modules/@ckeditor/ckeditor5-ui": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", + "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@types/color-convert": "2.0.4", + "color-convert": "3.1.0", + "color-parse": "2.0.2", + "es-toolkit": "1.39.5", + "vanilla-colorful": "0.7.2" + } + }, + "node_modules/@ckeditor/ckeditor5-show-blocks/node_modules/@ckeditor/ckeditor5-utils": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", + "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-ui": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-show-blocks/node_modules/color-convert": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", + "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + }, + "engines": { + "node": ">=14.6" + } + }, + "node_modules/@ckeditor/ckeditor5-show-blocks/node_modules/color-name": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.1.0.tgz", + "integrity": "sha512-1bPaDNFm0axzE4MEAzKPuqKWeRaT43U/hyxKPBdqTfmPF+d6n7FSoTFxLVULUJOmiLp01KjhIPPH+HrXZJN4Rg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=12.20" + } + }, + "node_modules/@ckeditor/ckeditor5-show-blocks/node_modules/color-parse": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", + "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + } + }, + "node_modules/@ckeditor/ckeditor5-source-editing": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-source-editing/-/ckeditor5-source-editing-47.2.0.tgz", + "integrity": "sha512-B82fbUiTBWYR3XTfUk/30Hsk9PAmPkmraKNJKGDoch0NXduPz8ehpCwbnrJdIvm7pozbgB11RjWzq56VcBX2Qw==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-theme-lark": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "ckeditor5": "47.2.0" + } + }, + "node_modules/@ckeditor/ckeditor5-source-editing/node_modules/@ckeditor/ckeditor5-core": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", + "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@ckeditor/ckeditor5-watchdog": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-source-editing/node_modules/@ckeditor/ckeditor5-engine": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", + "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-utils": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-source-editing/node_modules/@ckeditor/ckeditor5-ui": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", + "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@types/color-convert": "2.0.4", + "color-convert": "3.1.0", + "color-parse": "2.0.2", + "es-toolkit": "1.39.5", + "vanilla-colorful": "0.7.2" + } + }, + "node_modules/@ckeditor/ckeditor5-source-editing/node_modules/@ckeditor/ckeditor5-utils": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", + "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-ui": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-source-editing/node_modules/color-convert": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", + "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + }, + "engines": { + "node": ">=14.6" + } + }, + "node_modules/@ckeditor/ckeditor5-source-editing/node_modules/color-name": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.1.0.tgz", + "integrity": "sha512-1bPaDNFm0axzE4MEAzKPuqKWeRaT43U/hyxKPBdqTfmPF+d6n7FSoTFxLVULUJOmiLp01KjhIPPH+HrXZJN4Rg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=12.20" + } + }, + "node_modules/@ckeditor/ckeditor5-source-editing/node_modules/color-parse": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", + "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + } + }, + "node_modules/@ckeditor/ckeditor5-special-characters": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-special-characters/-/ckeditor5-special-characters-47.2.0.tgz", + "integrity": "sha512-aH1E1SEMRUF6gMdqPuFeDZvZRCUNJ/n8RWwXHFicsJArYDGOiATxVZQZbwk50duAsWcxxj0uTSHGwFXBL9evyQ==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-typing": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "ckeditor5": "47.2.0" + } + }, + "node_modules/@ckeditor/ckeditor5-special-characters/node_modules/@ckeditor/ckeditor5-core": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", + "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@ckeditor/ckeditor5-watchdog": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-special-characters/node_modules/@ckeditor/ckeditor5-engine": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", + "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-utils": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-special-characters/node_modules/@ckeditor/ckeditor5-typing": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-typing/-/ckeditor5-typing-47.2.0.tgz", + "integrity": "sha512-BDJLlaX9SHFUfZegOEW7ZeJ0o/TBgabINNxa3CwtGuGBLHUAQ3IAFJ0Cd6jHq12J2kRDwiXZzvvgMyCH7jeeUQ==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-special-characters/node_modules/@ckeditor/ckeditor5-ui": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", + "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@types/color-convert": "2.0.4", + "color-convert": "3.1.0", + "color-parse": "2.0.2", + "es-toolkit": "1.39.5", + "vanilla-colorful": "0.7.2" + } + }, + "node_modules/@ckeditor/ckeditor5-special-characters/node_modules/@ckeditor/ckeditor5-utils": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", + "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-ui": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-special-characters/node_modules/color-convert": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", + "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + }, + "engines": { + "node": ">=14.6" + } + }, + "node_modules/@ckeditor/ckeditor5-special-characters/node_modules/color-name": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.1.0.tgz", + "integrity": "sha512-1bPaDNFm0axzE4MEAzKPuqKWeRaT43U/hyxKPBdqTfmPF+d6n7FSoTFxLVULUJOmiLp01KjhIPPH+HrXZJN4Rg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=12.20" + } + }, + "node_modules/@ckeditor/ckeditor5-special-characters/node_modules/color-parse": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", + "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + } + }, + "node_modules/@ckeditor/ckeditor5-style": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-style/-/ckeditor5-style-47.2.0.tgz", + "integrity": "sha512-XAIl8oNHpFxTRbGIE+2vpKLgrP3VnknUTyasvL/HeS3iUHKLDRlh9d3ghozhuUqQaF5rnkzUQEBv/fv+4u3Y7A==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-html-support": "47.2.0", + "@ckeditor/ckeditor5-list": "47.2.0", + "@ckeditor/ckeditor5-table": "47.2.0", + "@ckeditor/ckeditor5-typing": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "ckeditor5": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-style/node_modules/@ckeditor/ckeditor5-core": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", + "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@ckeditor/ckeditor5-watchdog": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-style/node_modules/@ckeditor/ckeditor5-engine": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", + "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-utils": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-style/node_modules/@ckeditor/ckeditor5-list": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-list/-/ckeditor5-list-47.2.0.tgz", + "integrity": "sha512-PDjTQLn2CqrZ4XuAAJWY2vA5bkVu8UHKQZa1+ddfS4FbvfF2QR3eDX5axywpuaCb2Dm2ZQoqxpA5GQmt1fUehg==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-clipboard": "47.2.0", + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-enter": "47.2.0", + "@ckeditor/ckeditor5-font": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-typing": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "ckeditor5": "47.2.0" + } + }, + "node_modules/@ckeditor/ckeditor5-style/node_modules/@ckeditor/ckeditor5-table": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-table/-/ckeditor5-table-47.2.0.tgz", + "integrity": "sha512-zxNHpl4L7HsOLCYiKrbyyHoM2dMGetgP4eTjYyWfn9gf+ydVs7o+LJVN5bsWt3J4ToamCj5G7VHZUmqUcPbN6A==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-clipboard": "47.2.0", + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@ckeditor/ckeditor5-widget": "47.2.0", + "ckeditor5": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-style/node_modules/@ckeditor/ckeditor5-typing": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-typing/-/ckeditor5-typing-47.2.0.tgz", + "integrity": "sha512-BDJLlaX9SHFUfZegOEW7ZeJ0o/TBgabINNxa3CwtGuGBLHUAQ3IAFJ0Cd6jHq12J2kRDwiXZzvvgMyCH7jeeUQ==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-style/node_modules/@ckeditor/ckeditor5-ui": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", + "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@types/color-convert": "2.0.4", + "color-convert": "3.1.0", + "color-parse": "2.0.2", + "es-toolkit": "1.39.5", + "vanilla-colorful": "0.7.2" + } + }, + "node_modules/@ckeditor/ckeditor5-style/node_modules/@ckeditor/ckeditor5-utils": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", + "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-ui": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-style/node_modules/color-convert": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", + "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + }, + "engines": { + "node": ">=14.6" + } + }, + "node_modules/@ckeditor/ckeditor5-style/node_modules/color-name": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.1.0.tgz", + "integrity": "sha512-1bPaDNFm0axzE4MEAzKPuqKWeRaT43U/hyxKPBdqTfmPF+d6n7FSoTFxLVULUJOmiLp01KjhIPPH+HrXZJN4Rg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=12.20" + } + }, + "node_modules/@ckeditor/ckeditor5-style/node_modules/color-parse": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", + "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + } + }, "node_modules/@ckeditor/ckeditor5-table": { "version": "41.4.2", "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-table/-/ckeditor5-table-41.4.2.tgz", @@ -11804,6 +15176,104 @@ "@ckeditor/ckeditor5-word-count": "41.4.2" } }, + "node_modules/@ckeditor/ckeditor5-theme-lark": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-theme-lark/-/ckeditor5-theme-lark-47.2.0.tgz", + "integrity": "sha512-5Guefuo+Nllq4FMaFnLJlU/fICy2IQYw3T+0PTYjFqd59xTx6suwjv2ou41HKPfJ1b6NCbmkbhuaC59lGIfBtQ==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-ui": "47.2.0" + } + }, + "node_modules/@ckeditor/ckeditor5-theme-lark/node_modules/@ckeditor/ckeditor5-core": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", + "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@ckeditor/ckeditor5-watchdog": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-theme-lark/node_modules/@ckeditor/ckeditor5-engine": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", + "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-utils": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-theme-lark/node_modules/@ckeditor/ckeditor5-ui": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", + "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@types/color-convert": "2.0.4", + "color-convert": "3.1.0", + "color-parse": "2.0.2", + "es-toolkit": "1.39.5", + "vanilla-colorful": "0.7.2" + } + }, + "node_modules/@ckeditor/ckeditor5-theme-lark/node_modules/@ckeditor/ckeditor5-utils": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", + "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-ui": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-theme-lark/node_modules/color-convert": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", + "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + }, + "engines": { + "node": ">=14.6" + } + }, + "node_modules/@ckeditor/ckeditor5-theme-lark/node_modules/color-name": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.1.0.tgz", + "integrity": "sha512-1bPaDNFm0axzE4MEAzKPuqKWeRaT43U/hyxKPBdqTfmPF+d6n7FSoTFxLVULUJOmiLp01KjhIPPH+HrXZJN4Rg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=12.20" + } + }, + "node_modules/@ckeditor/ckeditor5-theme-lark/node_modules/color-parse": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", + "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + } + }, "node_modules/@ckeditor/ckeditor5-typing": { "version": "41.4.2", "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-typing/-/ckeditor5-typing-41.4.2.tgz", @@ -11830,6 +15300,207 @@ "vanilla-colorful": "0.7.2" } }, + "node_modules/@ckeditor/ckeditor5-undo": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-undo/-/ckeditor5-undo-47.2.0.tgz", + "integrity": "sha512-smq5O3GdqJXB+9o54BTn/LyB52OHiW9ekzacOuMNxtuA/KBwHpdsPFMcGFGH04W9O0qUtSdt3fYC0i+SJjYAww==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0" + } + }, + "node_modules/@ckeditor/ckeditor5-undo/node_modules/@ckeditor/ckeditor5-core": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", + "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@ckeditor/ckeditor5-watchdog": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-undo/node_modules/@ckeditor/ckeditor5-engine": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", + "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-utils": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-undo/node_modules/@ckeditor/ckeditor5-ui": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", + "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@types/color-convert": "2.0.4", + "color-convert": "3.1.0", + "color-parse": "2.0.2", + "es-toolkit": "1.39.5", + "vanilla-colorful": "0.7.2" + } + }, + "node_modules/@ckeditor/ckeditor5-undo/node_modules/@ckeditor/ckeditor5-utils": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", + "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-ui": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-undo/node_modules/color-convert": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", + "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + }, + "engines": { + "node": ">=14.6" + } + }, + "node_modules/@ckeditor/ckeditor5-undo/node_modules/color-name": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.1.0.tgz", + "integrity": "sha512-1bPaDNFm0axzE4MEAzKPuqKWeRaT43U/hyxKPBdqTfmPF+d6n7FSoTFxLVULUJOmiLp01KjhIPPH+HrXZJN4Rg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=12.20" + } + }, + "node_modules/@ckeditor/ckeditor5-undo/node_modules/color-parse": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", + "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + } + }, + "node_modules/@ckeditor/ckeditor5-upload": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-upload/-/ckeditor5-upload-47.2.0.tgz", + "integrity": "sha512-uE4FwVtmJ6UACDC9N+H6HHGhlpAF8Fk2QCF/iBboh4VqhlFbFjMbXCAbsWrDik6C/p9r4Iv+IEmbpjsRTD+9SQ==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0" + } + }, + "node_modules/@ckeditor/ckeditor5-upload/node_modules/@ckeditor/ckeditor5-core": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", + "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@ckeditor/ckeditor5-watchdog": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-upload/node_modules/@ckeditor/ckeditor5-engine": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", + "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-utils": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-upload/node_modules/@ckeditor/ckeditor5-ui": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", + "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@types/color-convert": "2.0.4", + "color-convert": "3.1.0", + "color-parse": "2.0.2", + "es-toolkit": "1.39.5", + "vanilla-colorful": "0.7.2" + } + }, + "node_modules/@ckeditor/ckeditor5-upload/node_modules/@ckeditor/ckeditor5-utils": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", + "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-ui": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-upload/node_modules/color-convert": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", + "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + }, + "engines": { + "node": ">=14.6" + } + }, + "node_modules/@ckeditor/ckeditor5-upload/node_modules/color-name": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.1.0.tgz", + "integrity": "sha512-1bPaDNFm0axzE4MEAzKPuqKWeRaT43U/hyxKPBdqTfmPF+d6n7FSoTFxLVULUJOmiLp01KjhIPPH+HrXZJN4Rg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=12.20" + } + }, + "node_modules/@ckeditor/ckeditor5-upload/node_modules/color-parse": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", + "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + } + }, "node_modules/@ckeditor/ckeditor5-utils": { "version": "41.4.2", "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-41.4.2.tgz", @@ -11839,6 +15510,328 @@ "lodash-es": "4.17.21" } }, + "node_modules/@ckeditor/ckeditor5-watchdog": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-watchdog/-/ckeditor5-watchdog-47.2.0.tgz", + "integrity": "sha512-C1AT7OqLBkPCUm4pjJe4n64qj+5vvMdQb2+lLMSz0SMsBqmYFrVYMlZWW4LjpaYUAYEmvTPcyDoqukBKRWNrRQ==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-watchdog/node_modules/@ckeditor/ckeditor5-core": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", + "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@ckeditor/ckeditor5-watchdog": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-watchdog/node_modules/@ckeditor/ckeditor5-engine": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", + "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-utils": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-watchdog/node_modules/@ckeditor/ckeditor5-ui": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", + "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@types/color-convert": "2.0.4", + "color-convert": "3.1.0", + "color-parse": "2.0.2", + "es-toolkit": "1.39.5", + "vanilla-colorful": "0.7.2" + } + }, + "node_modules/@ckeditor/ckeditor5-watchdog/node_modules/@ckeditor/ckeditor5-utils": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", + "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-ui": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-watchdog/node_modules/color-convert": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", + "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + }, + "engines": { + "node": ">=14.6" + } + }, + "node_modules/@ckeditor/ckeditor5-watchdog/node_modules/color-name": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.1.0.tgz", + "integrity": "sha512-1bPaDNFm0axzE4MEAzKPuqKWeRaT43U/hyxKPBdqTfmPF+d6n7FSoTFxLVULUJOmiLp01KjhIPPH+HrXZJN4Rg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=12.20" + } + }, + "node_modules/@ckeditor/ckeditor5-watchdog/node_modules/color-parse": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", + "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + } + }, + "node_modules/@ckeditor/ckeditor5-widget": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-widget/-/ckeditor5-widget-47.2.0.tgz", + "integrity": "sha512-1vhfdeVPNc6UtCPAC+aKDNIi0EDxpAJ7TudepJVLXnS752V5rnArjPrYBfH6dkpHYV920CuxxsoS1sSuVVMrkA==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-enter": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-typing": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-widget/node_modules/@ckeditor/ckeditor5-core": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", + "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@ckeditor/ckeditor5-watchdog": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-widget/node_modules/@ckeditor/ckeditor5-engine": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", + "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-utils": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-widget/node_modules/@ckeditor/ckeditor5-typing": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-typing/-/ckeditor5-typing-47.2.0.tgz", + "integrity": "sha512-BDJLlaX9SHFUfZegOEW7ZeJ0o/TBgabINNxa3CwtGuGBLHUAQ3IAFJ0Cd6jHq12J2kRDwiXZzvvgMyCH7jeeUQ==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-widget/node_modules/@ckeditor/ckeditor5-ui": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", + "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@types/color-convert": "2.0.4", + "color-convert": "3.1.0", + "color-parse": "2.0.2", + "es-toolkit": "1.39.5", + "vanilla-colorful": "0.7.2" + } + }, + "node_modules/@ckeditor/ckeditor5-widget/node_modules/@ckeditor/ckeditor5-utils": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", + "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-ui": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-widget/node_modules/color-convert": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", + "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + }, + "engines": { + "node": ">=14.6" + } + }, + "node_modules/@ckeditor/ckeditor5-widget/node_modules/color-name": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.1.0.tgz", + "integrity": "sha512-1bPaDNFm0axzE4MEAzKPuqKWeRaT43U/hyxKPBdqTfmPF+d6n7FSoTFxLVULUJOmiLp01KjhIPPH+HrXZJN4Rg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=12.20" + } + }, + "node_modules/@ckeditor/ckeditor5-widget/node_modules/color-parse": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", + "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + } + }, + "node_modules/@ckeditor/ckeditor5-word-count": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-word-count/-/ckeditor5-word-count-47.2.0.tgz", + "integrity": "sha512-1ouy59G1Qxf6hTRnW9tSL7Xjsx8kGfTJvrH9mZWGIpmNo0pIM6Ts96U/qgr5RB0LbhYtqhbDq87F9QjMcfYUjQ==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "ckeditor5": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-word-count/node_modules/@ckeditor/ckeditor5-core": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", + "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@ckeditor/ckeditor5-watchdog": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-word-count/node_modules/@ckeditor/ckeditor5-engine": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", + "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-utils": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-word-count/node_modules/@ckeditor/ckeditor5-ui": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", + "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@types/color-convert": "2.0.4", + "color-convert": "3.1.0", + "color-parse": "2.0.2", + "es-toolkit": "1.39.5", + "vanilla-colorful": "0.7.2" + } + }, + "node_modules/@ckeditor/ckeditor5-word-count/node_modules/@ckeditor/ckeditor5-utils": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", + "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-ui": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-word-count/node_modules/color-convert": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", + "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + }, + "engines": { + "node": ">=14.6" + } + }, + "node_modules/@ckeditor/ckeditor5-word-count/node_modules/color-name": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.1.0.tgz", + "integrity": "sha512-1bPaDNFm0axzE4MEAzKPuqKWeRaT43U/hyxKPBdqTfmPF+d6n7FSoTFxLVULUJOmiLp01KjhIPPH+HrXZJN4Rg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=12.20" + } + }, + "node_modules/@ckeditor/ckeditor5-word-count/node_modules/color-parse": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", + "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + } + }, "node_modules/@csstools/normalize.css": { "version": "12.1.1", "resolved": "https://registry.npmjs.org/@csstools/normalize.css/-/normalize.css-12.1.1.tgz", @@ -15190,6 +19183,23 @@ "@types/node": "*" } }, + "node_modules/@types/color-convert": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/color-convert/-/color-convert-2.0.4.tgz", + "integrity": "sha512-Ub1MmDdyZ7mX//g25uBAoH/mWGd9swVbt8BseymnaE18SU4po/PjmCrHxqIIRjBo3hV/vh1KGr0eMxUhp+t+dQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/color-name": "^1.1.0" + } + }, + "node_modules/@types/color-name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.5.tgz", + "integrity": "sha512-j2K5UJqGTxeesj6oQuGpMgifpT5k9HprgQd8D1Y0lOFqKHl3PJu5GMeS4Y5EgjS55AE6OQxf8mPED9uaGbf4Cg==", + "license": "MIT", + "peer": true + }, "node_modules/@types/connect": { "version": "3.4.38", "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", @@ -15272,6 +19282,16 @@ "integrity": "sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==", "license": "MIT" }, + "node_modules/@types/debug": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", + "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/ms": "*" + } + }, "node_modules/@types/eslint": { "version": "8.56.12", "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.12.tgz", @@ -15343,6 +19363,16 @@ "@types/node": "*" } }, + "node_modules/@types/hast": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", + "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/unist": "*" + } + }, "node_modules/@types/html-minifier-terser": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", @@ -15416,6 +19446,16 @@ "@types/mdurl": "^2" } }, + "node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/unist": "*" + } + }, "node_modules/@types/mdurl": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-2.0.0.tgz", @@ -15428,6 +19468,13 @@ "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", "license": "MIT" }, + "node_modules/@types/ms": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz", + "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==", + "license": "MIT", + "peer": true + }, "node_modules/@types/node": { "version": "24.9.2", "resolved": "https://registry.npmjs.org/@types/node/-/node-24.9.2.tgz", @@ -15519,6 +19566,16 @@ "csstype": "^3.0.2" } }, + "node_modules/@types/react-dom": { + "version": "19.2.3", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.2.3.tgz", + "integrity": "sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==", + "license": "MIT", + "peer": true, + "peerDependencies": { + "@types/react": "^19.2.0" + } + }, "node_modules/@types/react-transition-group": { "version": "4.4.12", "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.12.tgz", @@ -15609,6 +19666,13 @@ "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", "license": "MIT" }, + "node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT", + "peer": true + }, "node_modules/@types/use-sync-external-store": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.6.tgz", @@ -15880,6 +19944,30 @@ "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", "license": "ISC" }, + "node_modules/@vue/compiler-sfc": { + "version": "2.7.16", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-2.7.16.tgz", + "integrity": "sha512-KWhJ9k5nXuNtygPU7+t1rX6baZeqOYLEforUPjgNDBnLicfHCoi48H87Q8XyLZOrNNsmhuwKqtpDQWjEFe6Ekg==", + "peer": true, + "dependencies": { + "@babel/parser": "^7.23.5", + "postcss": "^8.4.14", + "source-map": "^0.6.1" + }, + "optionalDependencies": { + "prettier": "^1.18.2 || ^2.0.0" + } + }, + "node_modules/@vue/compiler-sfc/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/@webassemblyjs/ast": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", @@ -16907,6 +20995,17 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/bail": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", + "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", + "license": "MIT", + "peer": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -17302,6 +21401,17 @@ "node": ">=4" } }, + "node_modules/ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", + "license": "MIT", + "peer": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -17342,6 +21452,39 @@ "node": ">=10" } }, + "node_modules/character-entities": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", + "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", + "license": "MIT", + "peer": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-html4": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", + "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", + "license": "MIT", + "peer": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-legacy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", + "license": "MIT", + "peer": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/check-types": { "version": "11.2.3", "resolved": "https://registry.npmjs.org/check-types/-/check-types-11.2.3.tgz", @@ -17414,6 +21557,485 @@ "integrity": "sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==", "license": "MIT" }, + "node_modules/ckeditor5": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/ckeditor5/-/ckeditor5-47.2.0.tgz", + "integrity": "sha512-mrG9UdpT4JC0I44vK1DV5UwfGhruEG/FMXIWwGv+LWYrKt4aLL/5NyNpW86UDO9YAFSaw6IdEcbJGC/WkMJJjA==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-adapter-ckfinder": "47.2.0", + "@ckeditor/ckeditor5-alignment": "47.2.0", + "@ckeditor/ckeditor5-autoformat": "47.2.0", + "@ckeditor/ckeditor5-autosave": "47.2.0", + "@ckeditor/ckeditor5-basic-styles": "47.2.0", + "@ckeditor/ckeditor5-block-quote": "47.2.0", + "@ckeditor/ckeditor5-bookmark": "47.2.0", + "@ckeditor/ckeditor5-ckbox": "47.2.0", + "@ckeditor/ckeditor5-ckfinder": "47.2.0", + "@ckeditor/ckeditor5-clipboard": "47.2.0", + "@ckeditor/ckeditor5-cloud-services": "47.2.0", + "@ckeditor/ckeditor5-code-block": "47.2.0", + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-easy-image": "47.2.0", + "@ckeditor/ckeditor5-editor-balloon": "47.2.0", + "@ckeditor/ckeditor5-editor-classic": "47.2.0", + "@ckeditor/ckeditor5-editor-decoupled": "47.2.0", + "@ckeditor/ckeditor5-editor-inline": "47.2.0", + "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", + "@ckeditor/ckeditor5-emoji": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-enter": "47.2.0", + "@ckeditor/ckeditor5-essentials": "47.2.0", + "@ckeditor/ckeditor5-find-and-replace": "47.2.0", + "@ckeditor/ckeditor5-font": "47.2.0", + "@ckeditor/ckeditor5-fullscreen": "47.2.0", + "@ckeditor/ckeditor5-heading": "47.2.0", + "@ckeditor/ckeditor5-highlight": "47.2.0", + "@ckeditor/ckeditor5-horizontal-line": "47.2.0", + "@ckeditor/ckeditor5-html-embed": "47.2.0", + "@ckeditor/ckeditor5-html-support": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-image": "47.2.0", + "@ckeditor/ckeditor5-indent": "47.2.0", + "@ckeditor/ckeditor5-language": "47.2.0", + "@ckeditor/ckeditor5-link": "47.2.0", + "@ckeditor/ckeditor5-list": "47.2.0", + "@ckeditor/ckeditor5-markdown-gfm": "47.2.0", + "@ckeditor/ckeditor5-media-embed": "47.2.0", + "@ckeditor/ckeditor5-mention": "47.2.0", + "@ckeditor/ckeditor5-minimap": "47.2.0", + "@ckeditor/ckeditor5-page-break": "47.2.0", + "@ckeditor/ckeditor5-paragraph": "47.2.0", + "@ckeditor/ckeditor5-paste-from-office": "47.2.0", + "@ckeditor/ckeditor5-remove-format": "47.2.0", + "@ckeditor/ckeditor5-restricted-editing": "47.2.0", + "@ckeditor/ckeditor5-select-all": "47.2.0", + "@ckeditor/ckeditor5-show-blocks": "47.2.0", + "@ckeditor/ckeditor5-source-editing": "47.2.0", + "@ckeditor/ckeditor5-special-characters": "47.2.0", + "@ckeditor/ckeditor5-style": "47.2.0", + "@ckeditor/ckeditor5-table": "47.2.0", + "@ckeditor/ckeditor5-theme-lark": "47.2.0", + "@ckeditor/ckeditor5-typing": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-undo": "47.2.0", + "@ckeditor/ckeditor5-upload": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@ckeditor/ckeditor5-watchdog": "47.2.0", + "@ckeditor/ckeditor5-widget": "47.2.0", + "@ckeditor/ckeditor5-word-count": "47.2.0" + } + }, + "node_modules/ckeditor5/node_modules/@ckeditor/ckeditor5-adapter-ckfinder": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-adapter-ckfinder/-/ckeditor5-adapter-ckfinder-47.2.0.tgz", + "integrity": "sha512-zzuINBzWuheU76Ans9m59VCVMiljESoKxzpMh0aYu+M3YB5IDctOPU8pdOpXPIdBwoYv64+ioZE/T5TyZDckSw==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-upload": "47.2.0", + "ckeditor5": "47.2.0" + } + }, + "node_modules/ckeditor5/node_modules/@ckeditor/ckeditor5-autoformat": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-autoformat/-/ckeditor5-autoformat-47.2.0.tgz", + "integrity": "sha512-d9ZwAB8JwWlgLK2Um+u3ctiCtv5bkBHGk/rSdXB6D/V7QHCl31NyPFYByxTyCOY9SsoNn1l/8zbJfvp89LJm2w==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-heading": "47.2.0", + "@ckeditor/ckeditor5-typing": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "ckeditor5": "47.2.0" + } + }, + "node_modules/ckeditor5/node_modules/@ckeditor/ckeditor5-basic-styles": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-basic-styles/-/ckeditor5-basic-styles-47.2.0.tgz", + "integrity": "sha512-a8pPHq3CXmyxPPXPQZ8C92OOyBoCfpY8M30dS7et/dLXW3nuVo9VVLMw0vR1j+zcKXClp3+/odyw2/rxP+qntA==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-typing": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "ckeditor5": "47.2.0" + } + }, + "node_modules/ckeditor5/node_modules/@ckeditor/ckeditor5-block-quote": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-block-quote/-/ckeditor5-block-quote-47.2.0.tgz", + "integrity": "sha512-BlFFfunyWpYcGhLsOmCR0yEz5VgrOmHREHQZIRcL6fKzXJwdpA/VFWPirotwF/QErJjguhhDZ5a3PBEnUAmW/A==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-enter": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-typing": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "ckeditor5": "47.2.0" + } + }, + "node_modules/ckeditor5/node_modules/@ckeditor/ckeditor5-ckbox": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ckbox/-/ckeditor5-ckbox-47.2.0.tgz", + "integrity": "sha512-Cu+nJTXhcmdE8DWHoTY1nrrjxyG4pfxMrEcO/PNV28cojwtOQaWGt4EbWlXOfZZTEWlZO18JIw/YrxYXwx5mTA==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-cloud-services": "47.2.0", + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-image": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-upload": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "blurhash": "2.0.5", + "ckeditor5": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/ckeditor5/node_modules/@ckeditor/ckeditor5-ckfinder": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ckfinder/-/ckeditor5-ckfinder-47.2.0.tgz", + "integrity": "sha512-nsxn9weZNwdplW/BHfEJ/rvb+wZj0KECN2Av9zFRekTxE1mp0hTShQ9MNlKImRQ4X2UV6bGN6+DXwJJIU0smlQ==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-image": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "ckeditor5": "47.2.0" + } + }, + "node_modules/ckeditor5/node_modules/@ckeditor/ckeditor5-cloud-services": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-cloud-services/-/ckeditor5-cloud-services-47.2.0.tgz", + "integrity": "sha512-794mxJ8MFhz2SxSjlMSp4cZbyBBpVjinQ3GxOS5VqO7H4m/iT2hdSPJaWpML53soxpEoG/6ax4vVKe5d0+xoqA==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "ckeditor5": "47.2.0" + } + }, + "node_modules/ckeditor5/node_modules/@ckeditor/ckeditor5-core": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.2.0.tgz", + "integrity": "sha512-NwUNa25g//ScxaVPASalcGfMDhUSv7nIpxC07oVv99zJjk64RTBr4TZHpjKLCVqN9gAn3phAtjtkxa2KOgOMtQ==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@ckeditor/ckeditor5-watchdog": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/ckeditor5/node_modules/@ckeditor/ckeditor5-easy-image": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-easy-image/-/ckeditor5-easy-image-47.2.0.tgz", + "integrity": "sha512-lSnbiGDzYdu9GeOaYjVpowaZWDJbrb7NHCuUN5Af2474jXTDyYmG7qOm39fWEBlcxjMTzDR8fFzPcRNhOvSRRA==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-cloud-services": "47.2.0", + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-upload": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "ckeditor5": "47.2.0" + } + }, + "node_modules/ckeditor5/node_modules/@ckeditor/ckeditor5-editor-classic": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-editor-classic/-/ckeditor5-editor-classic-47.2.0.tgz", + "integrity": "sha512-fYy4RKmvM4kYvUgCRuBdUqVLE8ts1Kj4q1Caaq5VZyBudmaj/RZqQBSdiu5pZgKMdj1oMaIQ5Gextg96iJ3LTw==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "ckeditor5": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/ckeditor5/node_modules/@ckeditor/ckeditor5-engine": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.2.0.tgz", + "integrity": "sha512-T3pFgycam60ytkbLOo2r99UPkbalLfzp4e6QrDVdZnloY7BO46zAbU5p3TqgfCdxODPhZh7srFGzANh6IsLMeg==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-utils": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/ckeditor5/node_modules/@ckeditor/ckeditor5-essentials": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-essentials/-/ckeditor5-essentials-47.2.0.tgz", + "integrity": "sha512-d3hHtkuLhvI+RvsDU7cKFc/K9uD27Tvi4NVjALcN1Ybr0k8dkJFGU1nUwXuo6zcdqRnkIJMWxIR+cwteuMCGQg==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-clipboard": "47.2.0", + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-enter": "47.2.0", + "@ckeditor/ckeditor5-select-all": "47.2.0", + "@ckeditor/ckeditor5-typing": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-undo": "47.2.0", + "ckeditor5": "47.2.0" + } + }, + "node_modules/ckeditor5/node_modules/@ckeditor/ckeditor5-heading": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-heading/-/ckeditor5-heading-47.2.0.tgz", + "integrity": "sha512-m1zSERVh7gdVXwLLYgcAsy7lkIOuadmA5YuwyPpR/g3oa0j1gcuNm5y/73MTOPflPUn0g0Y9DzocF2G1WY2NiQ==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-paragraph": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "ckeditor5": "47.2.0" + } + }, + "node_modules/ckeditor5/node_modules/@ckeditor/ckeditor5-image": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-image/-/ckeditor5-image-47.2.0.tgz", + "integrity": "sha512-XbXvRS++kFku0l7GABhsribmQTBC/SOAfimDNKjg5rayhAXCfovys7YmmU0eicydpo4//fAaa8zvDYc8uXWZGA==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-clipboard": "47.2.0", + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-typing": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-undo": "47.2.0", + "@ckeditor/ckeditor5-upload": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@ckeditor/ckeditor5-widget": "47.2.0", + "ckeditor5": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/ckeditor5/node_modules/@ckeditor/ckeditor5-indent": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-indent/-/ckeditor5-indent-47.2.0.tgz", + "integrity": "sha512-Q85+b+o+nonhJ/I9K9wB9XeZ5W8rS9k66VvoDHxL3jJ6g6C+oyEAOomooTDCvJvBgDN6vGpcwzznKp0Q8baoCQ==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-heading": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-list": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "ckeditor5": "47.2.0" + } + }, + "node_modules/ckeditor5/node_modules/@ckeditor/ckeditor5-link": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-link/-/ckeditor5-link-47.2.0.tgz", + "integrity": "sha512-ijaF1Ic23FH9qulW2ZuaxecmdT0JuK/4XNkdaoRntloHiVZ/tFAu+o/6st/pDXfutDBmnEXwrNGVtzO/JTPhrw==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-clipboard": "47.2.0", + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-image": "47.2.0", + "@ckeditor/ckeditor5-typing": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@ckeditor/ckeditor5-widget": "47.2.0", + "ckeditor5": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/ckeditor5/node_modules/@ckeditor/ckeditor5-list": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-list/-/ckeditor5-list-47.2.0.tgz", + "integrity": "sha512-PDjTQLn2CqrZ4XuAAJWY2vA5bkVu8UHKQZa1+ddfS4FbvfF2QR3eDX5axywpuaCb2Dm2ZQoqxpA5GQmt1fUehg==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-clipboard": "47.2.0", + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-enter": "47.2.0", + "@ckeditor/ckeditor5-font": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-typing": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "ckeditor5": "47.2.0" + } + }, + "node_modules/ckeditor5/node_modules/@ckeditor/ckeditor5-media-embed": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-media-embed/-/ckeditor5-media-embed-47.2.0.tgz", + "integrity": "sha512-lATTMej9pBsZk4qm8cOqLXhmrCq/t+HpP/zg3DWnYbiD6zclO69PSJxD09l9NsyOo0YZb8SYAsVISoKNaIOr0A==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-clipboard": "47.2.0", + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-typing": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-undo": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@ckeditor/ckeditor5-widget": "47.2.0", + "ckeditor5": "47.2.0" + } + }, + "node_modules/ckeditor5/node_modules/@ckeditor/ckeditor5-paragraph": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-paragraph/-/ckeditor5-paragraph-47.2.0.tgz", + "integrity": "sha512-x6nqRQjlAcOhirOE9umNdK8WckWcz7JPVU7IlPTzlrVAYCq+wiz6rgpuh4COUHnee4c31fF21On+OVyqgu7JvQ==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0" + } + }, + "node_modules/ckeditor5/node_modules/@ckeditor/ckeditor5-paste-from-office": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-paste-from-office/-/ckeditor5-paste-from-office-47.2.0.tgz", + "integrity": "sha512-DGGNGNhl25ub8dFBKJF4jfMBoSSbF5uKzFShMNIaAVAagV6kkDWR0HJWAir5CuFrElzWTkPd0ZC5RNL76yTbtg==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-clipboard": "47.2.0", + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "ckeditor5": "47.2.0" + } + }, + "node_modules/ckeditor5/node_modules/@ckeditor/ckeditor5-table": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-table/-/ckeditor5-table-47.2.0.tgz", + "integrity": "sha512-zxNHpl4L7HsOLCYiKrbyyHoM2dMGetgP4eTjYyWfn9gf+ydVs7o+LJVN5bsWt3J4ToamCj5G7VHZUmqUcPbN6A==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-clipboard": "47.2.0", + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-ui": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@ckeditor/ckeditor5-widget": "47.2.0", + "ckeditor5": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/ckeditor5/node_modules/@ckeditor/ckeditor5-typing": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-typing/-/ckeditor5-typing-47.2.0.tgz", + "integrity": "sha512-BDJLlaX9SHFUfZegOEW7ZeJ0o/TBgabINNxa3CwtGuGBLHUAQ3IAFJ0Cd6jHq12J2kRDwiXZzvvgMyCH7jeeUQ==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/ckeditor5/node_modules/@ckeditor/ckeditor5-ui": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.2.0.tgz", + "integrity": "sha512-/yd1/JmIqJybqBRZvk/QGzeY6DZlJvPtyEqq9Ay+U4bUftr2DOrfOikM62okepYRCCtMQ4nQk3c2eFmacfym2A==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-core": "47.2.0", + "@ckeditor/ckeditor5-editor-multi-root": "47.2.0", + "@ckeditor/ckeditor5-engine": "47.2.0", + "@ckeditor/ckeditor5-icons": "47.2.0", + "@ckeditor/ckeditor5-utils": "47.2.0", + "@types/color-convert": "2.0.4", + "color-convert": "3.1.0", + "color-parse": "2.0.2", + "es-toolkit": "1.39.5", + "vanilla-colorful": "0.7.2" + } + }, + "node_modules/ckeditor5/node_modules/@ckeditor/ckeditor5-utils": { + "version": "47.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.2.0.tgz", + "integrity": "sha512-1b9SWtGuPZApm9065swh+fivxQMvuAsVXHuo26OGV2EnQK//w7kHsxKhVGJMzfHeuev5KvhJ2zdo8SUvePfBoA==", + "license": "SEE LICENSE IN LICENSE.md", + "peer": true, + "dependencies": { + "@ckeditor/ckeditor5-ui": "47.2.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/ckeditor5/node_modules/color-convert": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", + "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + }, + "engines": { + "node": ">=14.6" + } + }, + "node_modules/ckeditor5/node_modules/color-name": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.1.0.tgz", + "integrity": "sha512-1bPaDNFm0axzE4MEAzKPuqKWeRaT43U/hyxKPBdqTfmPF+d6n7FSoTFxLVULUJOmiLp01KjhIPPH+HrXZJN4Rg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=12.20" + } + }, + "node_modules/ckeditor5/node_modules/color-parse": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", + "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^2.0.0" + } + }, "node_modules/classnames": { "version": "2.5.1", "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.5.1.tgz", @@ -17622,6 +22244,17 @@ "node": ">= 0.8" } }, + "node_modules/comma-separated-tokens": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", + "license": "MIT", + "peer": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/commander": { "version": "8.3.0", "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", @@ -18462,6 +23095,13 @@ "integrity": "sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw==", "license": "MIT" }, + "node_modules/de-indent": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", + "integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==", + "license": "MIT", + "peer": true + }, "node_modules/debug": { "version": "4.4.3", "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", @@ -18491,6 +23131,20 @@ "integrity": "sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg==", "license": "MIT" }, + "node_modules/decode-named-character-reference": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.2.0.tgz", + "integrity": "sha512-c6fcElNV6ShtZXmsgNgFFV5tVX2PaV4g+MOAkb8eXHvn6sryJBrZa9r0zV6+dtTyoCKxtDy5tyQ5ZwQuidtd+Q==", + "license": "MIT", + "peer": true, + "dependencies": { + "character-entities": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/dedent": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", @@ -18685,6 +23339,20 @@ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "license": "MIT" }, + "node_modules/devlop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", + "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", + "license": "MIT", + "peer": true, + "dependencies": { + "dequal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/didyoumean": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", @@ -20683,6 +25351,13 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/fuzzysort": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/fuzzysort/-/fuzzysort-3.1.0.tgz", + "integrity": "sha512-sR9BNCjBg6LNgwvxlBd0sBABvQitkLzoVY9MYYROQVX/FvfJ4Mai9LsGhDgd8qYdds0bY77VzYd5iuB+v5rwQQ==", + "license": "MIT", + "peer": true + }, "node_modules/generator-function": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/generator-function/-/generator-function-2.0.1.tgz", @@ -21057,6 +25732,245 @@ "node": ">= 0.4" } }, + "node_modules/hast-util-embedded": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-embedded/-/hast-util-embedded-3.0.0.tgz", + "integrity": "sha512-naH8sld4Pe2ep03qqULEtvYr7EjrLK2QHY8KJR6RJkTUjPGObe1vnx585uzem2hGra+s1q08DZZpfgDVYRbaXA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-is-element": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-from-dom": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/hast-util-from-dom/-/hast-util-from-dom-5.0.1.tgz", + "integrity": "sha512-N+LqofjR2zuzTjCPzyDUdSshy4Ma6li7p/c3pA78uTwzFgENbgbUrm2ugwsOdcjI1muO+o6Dgzp9p8WHtn/39Q==", + "license": "ISC", + "peer": true, + "dependencies": { + "@types/hast": "^3.0.0", + "hastscript": "^9.0.0", + "web-namespaces": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-has-property": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-has-property/-/hast-util-has-property-3.0.0.tgz", + "integrity": "sha512-MNilsvEKLFpV604hwfhVStK0usFY/QmM5zX16bo7EjnAEGofr5YyI37kzopBlZJkHD4t887i+q/C8/tr5Q94cA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-is-body-ok-link": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/hast-util-is-body-ok-link/-/hast-util-is-body-ok-link-3.0.1.tgz", + "integrity": "sha512-0qpnzOBLztXHbHQenVB8uNuxTnm/QBFUOmdOSsEn7GnBtyY07+ENTWVFBAnXd/zEgd9/SUG3lRY7hSIBWRgGpQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-is-element": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz", + "integrity": "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-minify-whitespace": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hast-util-minify-whitespace/-/hast-util-minify-whitespace-1.0.1.tgz", + "integrity": "sha512-L96fPOVpnclQE0xzdWb/D12VT5FabA7SnZOUMtL1DbXmYiHJMXZvFkIZfiMmTCNJHUeO2K9UYNXoVyfz+QHuOw==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-embedded": "^3.0.0", + "hast-util-is-element": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-parse-selector": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz", + "integrity": "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-phrasing": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/hast-util-phrasing/-/hast-util-phrasing-3.0.1.tgz", + "integrity": "sha512-6h60VfI3uBQUxHqTyMymMZnEbNl1XmEGtOxxKYL7stY2o601COo62AWAYBQR9lZbYXYSBoxag8UpPRXK+9fqSQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-embedded": "^3.0.0", + "hast-util-has-property": "^3.0.0", + "hast-util-is-body-ok-link": "^3.0.0", + "hast-util-is-element": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-dom": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/hast-util-to-dom/-/hast-util-to-dom-4.0.1.tgz", + "integrity": "sha512-z1VE7sZ8uFzS2baF3LEflX1IPw2gSzrdo3QFEsyoi23MkCVY3FoE9x6nLgOgjwJu8VNWgo+07iaxtONhDzKrUQ==", + "license": "ISC", + "peer": true, + "dependencies": { + "@types/hast": "^3.0.0", + "property-information": "^7.0.0", + "web-namespaces": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-html": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.5.tgz", + "integrity": "sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-whitespace": "^3.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "stringify-entities": "^4.0.0", + "zwitch": "^2.0.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-mdast": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/hast-util-to-mdast/-/hast-util-to-mdast-10.1.2.tgz", + "integrity": "sha512-FiCRI7NmOvM4y+f5w32jPRzcxDIz+PUqDwEqn1A+1q2cdp3B8Gx7aVrXORdOKjMNDQsD1ogOr896+0jJHW1EFQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@ungap/structured-clone": "^1.0.0", + "hast-util-phrasing": "^3.0.0", + "hast-util-to-html": "^9.0.0", + "hast-util-to-text": "^4.0.0", + "hast-util-whitespace": "^3.0.0", + "mdast-util-phrasing": "^4.0.0", + "mdast-util-to-hast": "^13.0.0", + "mdast-util-to-string": "^4.0.0", + "rehype-minify-whitespace": "^6.0.0", + "trim-trailing-lines": "^2.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-text": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hast-util-to-text/-/hast-util-to-text-4.0.2.tgz", + "integrity": "sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "hast-util-is-element": "^3.0.0", + "unist-util-find-after": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-whitespace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", + "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hastscript": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-9.0.1.tgz", + "integrity": "sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-parse-selector": "^4.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/he": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", @@ -21187,6 +26101,17 @@ "node": ">=12" } }, + "node_modules/html-void-elements": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz", + "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==", + "license": "MIT", + "peer": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/html-webpack-plugin": { "version": "5.6.4", "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.4.tgz", @@ -21464,7 +26389,7 @@ "version": "5.1.4", "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.4.tgz", "integrity": "sha512-p6u1bG3YSnINT5RQmx/yRZBpenIl30kVxkTLDyHLIMk0gict704Q9n+thfDI7lTRm9vXdDYutVzXhzcThxTnXA==", - "dev": true, + "devOptional": true, "license": "MIT" }, "node_modules/import-fresh": { @@ -21921,6 +26846,19 @@ "node": ">=8" } }, + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-potential-custom-element-name": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", @@ -23630,6 +28568,17 @@ "integrity": "sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==", "license": "Apache-2.0" }, + "node_modules/longest-streak": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", + "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", + "license": "MIT", + "peer": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", @@ -23737,6 +28686,17 @@ "markdown-it": "bin/markdown-it.mjs" } }, + "node_modules/markdown-table": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.4.tgz", + "integrity": "sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==", + "license": "MIT", + "peer": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/marked": { "version": "4.0.12", "resolved": "https://registry.npmjs.org/marked/-/marked-4.0.12.tgz", @@ -23758,6 +28718,256 @@ "node": ">= 0.4" } }, + "node_modules/mdast-util-find-and-replace": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.2.tgz", + "integrity": "sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/mdast": "^4.0.0", + "escape-string-regexp": "^5.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-find-and-replace/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mdast-util-from-markdown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz", + "integrity": "sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark": "^4.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.1.0.tgz", + "integrity": "sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-gfm-autolink-literal": "^2.0.0", + "mdast-util-gfm-footnote": "^2.0.0", + "mdast-util-gfm-strikethrough": "^2.0.0", + "mdast-util-gfm-table": "^2.0.0", + "mdast-util-gfm-task-list-item": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-autolink-literal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.1.tgz", + "integrity": "sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/mdast": "^4.0.0", + "ccount": "^2.0.0", + "devlop": "^1.0.0", + "mdast-util-find-and-replace": "^3.0.0", + "micromark-util-character": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-footnote": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.1.0.tgz", + "integrity": "sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-strikethrough": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz", + "integrity": "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-table": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz", + "integrity": "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "markdown-table": "^3.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-task-list-item": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz", + "integrity": "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-newline-to-break": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-newline-to-break/-/mdast-util-newline-to-break-2.0.0.tgz", + "integrity": "sha512-MbgeFca0hLYIEx/2zGsszCSEJJ1JSCdiY5xQxRcLDDGa8EPvlLPupJ4DSajbMPAnC0je8jfb9TiUATnxxrHUog==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-find-and-replace": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-phrasing": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", + "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/mdast": "^4.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-hast": { + "version": "13.2.1", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.1.tgz", + "integrity": "sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@ungap/structured-clone": "^1.0.0", + "devlop": "^1.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "trim-lines": "^3.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-markdown": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz", + "integrity": "sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "longest-streak": "^3.0.0", + "mdast-util-phrasing": "^4.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "unist-util-visit": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/mdn-data": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", @@ -23827,6 +29037,597 @@ "node": ">= 0.6" } }, + "node_modules/micromark": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.2.tgz", + "integrity": "sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "peer": true, + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-core-commonmark": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.3.tgz", + "integrity": "sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "peer": true, + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-destination": "^2.0.0", + "micromark-factory-label": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-title": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-html-tag-name": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-gfm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz", + "integrity": "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==", + "license": "MIT", + "peer": true, + "dependencies": { + "micromark-extension-gfm-autolink-literal": "^2.0.0", + "micromark-extension-gfm-footnote": "^2.0.0", + "micromark-extension-gfm-strikethrough": "^2.0.0", + "micromark-extension-gfm-table": "^2.0.0", + "micromark-extension-gfm-tagfilter": "^2.0.0", + "micromark-extension-gfm-task-list-item": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-autolink-literal": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.1.0.tgz", + "integrity": "sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==", + "license": "MIT", + "peer": true, + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-footnote": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.1.0.tgz", + "integrity": "sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==", + "license": "MIT", + "peer": true, + "dependencies": { + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-strikethrough": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.1.0.tgz", + "integrity": "sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==", + "license": "MIT", + "peer": true, + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-table": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.1.tgz", + "integrity": "sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==", + "license": "MIT", + "peer": true, + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-tagfilter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz", + "integrity": "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==", + "license": "MIT", + "peer": true, + "dependencies": { + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-task-list-item": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.1.0.tgz", + "integrity": "sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==", + "license": "MIT", + "peer": true, + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-factory-destination": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz", + "integrity": "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "peer": true, + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-label": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz", + "integrity": "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "peer": true, + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-space": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", + "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "peer": true, + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-title": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz", + "integrity": "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "peer": true, + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-whitespace": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz", + "integrity": "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "peer": true, + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "peer": true, + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-chunked": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz", + "integrity": "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "peer": true, + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-classify-character": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz", + "integrity": "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "peer": true, + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-combine-extensions": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz", + "integrity": "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "peer": true, + "dependencies": { + "micromark-util-chunked": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-numeric-character-reference": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz", + "integrity": "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "peer": true, + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-string": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz", + "integrity": "sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "peer": true, + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-encode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz", + "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "peer": true + }, + "node_modules/micromark-util-html-tag-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz", + "integrity": "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "peer": true + }, + "node_modules/micromark-util-normalize-identifier": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz", + "integrity": "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "peer": true, + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-resolve-all": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz", + "integrity": "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "peer": true, + "dependencies": { + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-sanitize-uri": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz", + "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "peer": true, + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-subtokenize": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.1.0.tgz", + "integrity": "sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "peer": true, + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "peer": true + }, + "node_modules/micromark-util-types": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.2.tgz", + "integrity": "sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "peer": true + }, "node_modules/micromatch": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", @@ -26080,6 +31881,23 @@ "node": ">= 0.8.0" } }, + "node_modules/prettier": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "license": "MIT", + "optional": true, + "peer": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, "node_modules/pretty-bytes": { "version": "5.6.0", "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", @@ -26192,6 +32010,17 @@ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", "license": "MIT" }, + "node_modules/property-information": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.1.0.tgz", + "integrity": "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==", + "license": "MIT", + "peer": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/prosemirror-changeset": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/prosemirror-changeset/-/prosemirror-changeset-2.3.1.tgz", @@ -27194,6 +33023,20 @@ "node": ">=14.0.0" } }, + "node_modules/react-scripts/node_modules/yaml": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.1.tgz", + "integrity": "sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==", + "license": "ISC", + "optional": true, + "peer": true, + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14.6" + } + }, "node_modules/react-toastify": { "version": "11.0.5", "resolved": "https://registry.npmjs.org/react-toastify/-/react-toastify-11.0.5.tgz", @@ -27442,6 +33285,63 @@ "regjsparser": "bin/parser" } }, + "node_modules/rehype-dom-parse": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/rehype-dom-parse/-/rehype-dom-parse-5.0.2.tgz", + "integrity": "sha512-8CqP11KaqvtWsMqVEC2yM3cZWZsDNqqpr8nPvogjraLuh45stabgcpXadCAxu1n6JaUNJ/Xr3GIqXP7okbNqLg==", + "license": "ISC", + "peer": true, + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-from-dom": "^5.0.0", + "unified": "^11.0.0" + } + }, + "node_modules/rehype-dom-stringify": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/rehype-dom-stringify/-/rehype-dom-stringify-4.0.2.tgz", + "integrity": "sha512-2HVFYbtmm5W3C2j8QsV9lcHdIMc2Yn/ytlPKcSC85/tRx2haZbU8V67Wxyh8STT38ZClvKlZ993Me/Hw8g88Aw==", + "license": "ISC", + "peer": true, + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-to-dom": "^4.0.0", + "unified": "^11.0.0" + } + }, + "node_modules/rehype-minify-whitespace": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/rehype-minify-whitespace/-/rehype-minify-whitespace-6.0.2.tgz", + "integrity": "sha512-Zk0pyQ06A3Lyxhe9vGtOtzz3Z0+qZ5+7icZ/PL/2x1SHPbKao5oB/g/rlc6BCTajqBb33JcOe71Ye1oFsuYbnw==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-minify-whitespace": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-remark": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/rehype-remark/-/rehype-remark-10.0.1.tgz", + "integrity": "sha512-EmDndlb5NVwXGfUa4c9GPK+lXeItTilLhE6ADSaQuHr4JUlKw9MidzGzx4HpqZrNCt6vnHmEifXQiiA+CEnjYQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "hast-util-to-mdast": "^10.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/relateurl": { "version": "0.2.7", "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", @@ -27451,6 +33351,92 @@ "node": ">= 0.10" } }, + "node_modules/remark-breaks": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/remark-breaks/-/remark-breaks-4.0.0.tgz", + "integrity": "sha512-IjEjJOkH4FuJvHZVIW0QCDWxcG96kCq7An/KVH2NfJe6rKZU2AsHeB3OEjPNRxi4QC34Xdx7I2KGYn6IpT7gxQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-newline-to-break": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-gfm": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.1.tgz", + "integrity": "sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-gfm": "^3.0.0", + "micromark-extension-gfm": "^3.0.0", + "remark-parse": "^11.0.0", + "remark-stringify": "^11.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-parse": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", + "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-rehype": { + "version": "11.1.2", + "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.2.tgz", + "integrity": "sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "mdast-util-to-hast": "^13.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-stringify": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz", + "integrity": "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-to-markdown": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/renderkid": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", @@ -27842,7 +33828,7 @@ "version": "1.93.3", "resolved": "https://registry.npmjs.org/sass/-/sass-1.93.3.tgz", "integrity": "sha512-elOcIZRTM76dvxNAjqYrucTSI0teAF/L2Lv0s6f6b7FOwcwIuA357bIE871580AjHJuSvLIRUosgV+lIWx6Rgg==", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "chokidar": "^4.0.0", @@ -27904,7 +33890,7 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "readdirp": "^4.0.1" @@ -27920,7 +33906,7 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">= 14.18.0" @@ -28474,6 +34460,17 @@ "deprecated": "Please use @jridgewell/sourcemap-codec instead", "license": "MIT" }, + "node_modules/space-separated-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", + "license": "MIT", + "peer": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/spawno": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/spawno/-/spawno-1.0.4.tgz", @@ -28861,6 +34858,21 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/stringify-entities": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", + "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", + "license": "MIT", + "peer": true, + "dependencies": { + "character-entities-html4": "^2.0.0", + "character-entities-legacy": "^3.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/stringify-object": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", @@ -29612,6 +35624,39 @@ "node": ">=8" } }, + "node_modules/trim-lines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", + "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", + "license": "MIT", + "peer": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/trim-trailing-lines": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-2.1.0.tgz", + "integrity": "sha512-5UR5Biq4VlVOtzqkm2AZlgvSlDJtME46uV0br0gENbwN4l5+mMKT4b9gJKqWtuL2zAIqajGJGuvbCbcAJUZqBg==", + "license": "MIT", + "peer": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/trough": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", + "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==", + "license": "MIT", + "peer": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/tryer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", @@ -29829,6 +35874,20 @@ "is-typedarray": "^1.0.0" } }, + "node_modules/typescript": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "license": "Apache-2.0", + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, "node_modules/uc.micro": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz", @@ -29920,6 +35979,26 @@ "node": ">=4" } }, + "node_modules/unified": { + "version": "11.0.5", + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz", + "integrity": "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/unist": "^3.0.0", + "bail": "^2.0.0", + "devlop": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/unique-string": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", @@ -29932,6 +36011,94 @@ "node": ">=8" } }, + "node_modules/unist-util-find-after": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-find-after/-/unist-util-find-after-5.0.0.tgz", + "integrity": "sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-is": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.1.tgz", + "integrity": "sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", + "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", + "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-parents": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.2.tgz", + "integrity": "sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/universalify": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", @@ -30113,6 +36280,36 @@ "node": ">= 0.8" } }, + "node_modules/vfile": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", + "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/unist": "^3.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-message": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.3.tgz", + "integrity": "sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/victory-vendor": { "version": "37.3.6", "resolved": "https://registry.npmjs.org/victory-vendor/-/victory-vendor-37.3.6.tgz", @@ -30135,6 +36332,29 @@ "d3-timer": "^3.0.1" } }, + "node_modules/vue": { + "version": "2.7.16", + "resolved": "https://registry.npmjs.org/vue/-/vue-2.7.16.tgz", + "integrity": "sha512-4gCtFXaAA3zYZdTp5s4Hl2sozuySsgz4jy1EnpBHNfpMa9dK1ZCG7viqBPCwXtmgc8nHqUsAu3G4gtmXkkY3Sw==", + "deprecated": "Vue 2 has reached EOL and is no longer actively maintained. See https://v2.vuejs.org/eol/ for more details.", + "license": "MIT", + "peer": true, + "dependencies": { + "@vue/compiler-sfc": "2.7.16", + "csstype": "^3.1.0" + } + }, + "node_modules/vue-template-compiler": { + "version": "2.7.16", + "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.16.tgz", + "integrity": "sha512-AYbUWAJHLGGQM7+cNTELw+KsOG9nl2CnSv467WobS5Cv9uk3wFcnr1Etsz2sEIHEZvw1U+o9mRlEO6QbZvUPGQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "de-indent": "^1.0.2", + "he": "^1.2.0" + } + }, "node_modules/w3c-hr-time": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", @@ -30203,6 +36423,17 @@ "minimalistic-assert": "^1.0.0" } }, + "node_modules/web-namespaces": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz", + "integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==", + "license": "MIT", + "peer": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/web-streams-polyfill": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz", @@ -31476,6 +37707,17 @@ "funding": { "url": "https://github.com/sponsors/sindresorhus" } + }, + "node_modules/zwitch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", + "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", + "license": "MIT", + "peer": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } } } } diff --git a/src/PagesPaciente/ConsultasPaciente.jsx b/src/PagesPaciente/ConsultasPaciente.jsx index 5dc3527..45de7a0 100644 --- a/src/PagesPaciente/ConsultasPaciente.jsx +++ b/src/PagesPaciente/ConsultasPaciente.jsx @@ -135,200 +135,19 @@ const Agendamento = ({ setDictInfo }) => { setAppointmentToCancel(null); setCancellationReason(''); -<<<<<<< HEAD if (success) { alert("Solicitação cancelada com sucesso!"); -======= - const [searchConsultas, setSearchConsultas] = useState(''); - const [searchFilaEspera, setSearchFilaEspera] = useState(''); - - - const [waitPage, setWaitPage] = useState(1); - const [waitPerPage, setWaitPerPage] = useState(10); - const [waitSortKey, setWaitSortKey] = useState(null); - const [waitSortDir, setWaitSortDir] = useState('asc'); - - - - const [isCancelModalOpen, setIsCancelModalOpen] = useState(false); - const [appointmentToCancel, setAppointmentToCancel] = useState(null); - const [cancellationReason, setCancellationReason] = useState(''); - - const authHeader = useMemo(() => getAuthorizationHeader(), [getAuthorizationHeader]); ->>>>>>> alteracoes-modais-tabela setDictAgendamentosOrganizados(prev => { const newDict = { ...prev }; for (const date in newDict) { newDict[date] = newDict[date].filter(app => app.id !== appointmentToCancel); } -<<<<<<< HEAD return newDict; }); setFilaDeEsperaData(prev => prev.filter(item => item.agendamento.id !== appointmentToCancel)); } else { alert("Falha ao cancelar a solicitação."); -======= - }; - - - const handleCancelClick = (appointmentId) => { - setAppointmentToCancel(appointmentId); - setCancellationReason(''); - setIsCancelModalOpen(true); - }; - - - - const executeCancellation = async () => { - if (!appointmentToCancel) return; - - setIsLoading(true); - - - const motivo = cancellationReason.trim() || "Cancelado pelo paciente (motivo não especificado)"; - - const success = await updateAppointmentStatus(appointmentToCancel, { - status: "cancelled", - cancellation_reason: motivo, - updated_at: new Date().toISOString() - }); - - - setIsCancelModalOpen(false); - setAppointmentToCancel(null); - setCancellationReason(''); - - - if (success) { - alert("Solicitação cancelada com sucesso!"); - - setDictAgendamentosOrganizados(prev => { - const newDict = { ...prev }; - for (const date in newDict) { - newDict[date] = newDict[date].filter(app => app.id !== appointmentToCancel); - } - return newDict; - }); - setFilaDeEsperaData(prev => prev.filter(item => item.agendamento.id !== appointmentToCancel)); - } else { - alert("Falha ao cancelar a solicitação."); - } - setIsLoading(false); - }; - - - const handleQuickJumpChange = (type, value) => setQuickJump(prev => ({ ...prev, [type]: Number(value) })); - const applyQuickJump = () => { - const newDate = dayjs().year(quickJump.year).month(quickJump.month).date(1); - setCurrentDate(newDate); - setSelectedDay(newDate); - }; - const dateGrid = useMemo(() => { - const grid = []; - const startOfMonth = currentDate.startOf('month'); - let currentDay = startOfMonth.subtract(startOfMonth.day(), 'day'); - for (let i = 0; i < 42; i++) { - grid.push(currentDay); - currentDay = currentDay.add(1, 'day'); - } - return grid; - }, [currentDate]); - const weekDays = ['Dom', 'Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'Sáb']; - const handleDateClick = (day) => setSelectedDay(day); - - - const consultasDoDiaFiltradas = useMemo(() => { - const consultas = DictAgendamentosOrganizados[selectedDay.format('YYYY-MM-DD')] || []; - if (!searchConsultas.trim()) return consultas; - const term = searchConsultas.toLowerCase(); - return consultas.filter(app => - app.medico_nome?.toLowerCase().includes(term) || - app.status?.toLowerCase().includes(term) - ); - }, [DictAgendamentosOrganizados, selectedDay, searchConsultas]); - - - const filaEsperaFiltrada = useMemo(() => { - if (!searchFilaEspera.trim()) return filaEsperaData; - const term = searchFilaEspera.toLowerCase(); - return filaEsperaData.filter(item => - item.Infos?.medico_nome?.toLowerCase().includes(term) - ); - }, [filaEsperaData, searchFilaEspera]); - - const applySortingWaitlist = (arr) => { - if (!Array.isArray(arr) || !waitSortKey) return arr; - const copy = [...arr]; - if (waitSortKey === 'medico') { - copy.sort((a, b) => (a?.Infos?.medico_nome || '').localeCompare(b?.Infos?.medico_nome || '')); - } else if (waitSortKey === 'data') { - copy.sort((a, b) => new Date(a?.agendamento?.created_at || 0) - new Date(b?.agendamento?.created_at || 0)); - } - if (waitSortDir === 'desc') copy.reverse(); - return copy; - }; - - const filaEsperaOrdenada = applySortingWaitlist(filaEsperaFiltrada); - - // Paginação - const waitTotalPages = Math.ceil(filaEsperaOrdenada.length / waitPerPage) || 1; - const waitIndiceInicial = (waitPage - 1) * waitPerPage; - const waitIndiceFinal = waitIndiceInicial + waitPerPage; - const filaEsperaPaginada = filaEsperaOrdenada.slice(waitIndiceInicial, waitIndiceFinal); - - const gerarNumerosWaitPages = () => { - const paginas = []; - const paginasParaMostrar = 5; - let inicio = Math.max(1, waitPage - Math.floor(paginasParaMostrar / 2)); - let fim = Math.min(waitTotalPages, inicio + paginasParaMostrar - 1); - inicio = Math.max(1, fim - paginasParaMostrar + 1); - for (let i = inicio; i <= fim; i++) { - paginas.push(i); - } - return paginas; - }; - - - useEffect(() => { - setWaitPage(1); - }, [searchFilaEspera, waitSortKey, waitSortDir]); - - const activeButtonStyle = { - backgroundColor: '#1B2A41', - color: 'white', - padding: '6px 12px', - fontSize: '0.875rem', - borderRadius: '8px', - border: '1px solid white', - display: 'flex', - alignItems: 'center', - gap: '8px', - cursor: 'pointer' - }; - - const inactiveButtonStyle = { - backgroundColor: '#1B2A41', - color: 'white', - padding: '6px 12px', - fontSize: '0.875rem', - borderRadius: '8px', - border: '1px solid #1B2A41', - display: 'flex', - alignItems: 'center', - gap: '8px', - cursor: 'pointer' - }; - - - - if (isLoading) { - return ( -
- -
- ); ->>>>>>> alteracoes-modais-tabela } setIsLoading(false); }; @@ -354,7 +173,6 @@ const Agendamento = ({ setDictInfo }) => { if (isLoading) { return ( -<<<<<<< HEAD
@@ -439,310 +257,6 @@ const Agendamento = ({ setDictInfo }) => {
-======= -
-

Minhas consultas

-
- - - - -
- - {!PageNovaConsulta ? ( -
-
- {!FiladeEspera ? ( - -
-
-
{selectedDay.format('MMM')}{selectedDay.format('DD')}
-

{selectedDay.format('dddd')}

{selectedDay.format('D [de] MMMM [de] YYYY')}

- -
- setSearchConsultas(e.target.value)} - /> -
- -
-

Consultas para {selectedDay.format('DD/MM')}

- {(consultasDoDiaFiltradas.length > 0) ? ( - consultasDoDiaFiltradas.map(app => ( -
-
{dayjs(app.scheduled_at).format('HH:mm')}
-
- Consulta com Dr(a). {app.medico_nome} -
-
- {app.status !== 'cancelled' && dayjs(app.scheduled_at).isAfter(dayjs()) && ( - - )} -
-
- )) - ) : (

Nenhuma consulta agendada para esta data.

)} -
-
-
-
-
Realizado
Confirmado
Agendado
Cancelado
-
-
-
-

{currentDate.format('MMMM [de] YYYY')}

-
- - - -
-
-
- - - -
-
-
- {weekDays.map(day =>
{day}
)} - {dateGrid.map((day, index) => { - const appointmentsOnDay = DictAgendamentosOrganizados[day.format('YYYY-MM-DD')] || []; - const cellClasses = `day-cell ${day.isSame(currentDate, 'month') ? 'current-month' : 'other-month'} ${day.isSame(dayjs(), 'day') ? 'today' : ''} ${day.isSame(selectedDay, 'day') ? 'selected' : ''}`; - return ( -
handleDateClick(day)}> - {day.format('D')} - {appointmentsOnDay.length > 0 &&
{appointmentsOnDay.length}
} -
- ); - })} -
-
-
- ) : ( -
-
-
-
-

Minhas Solicitações em Fila de Espera

-
- -
-
- - Filtros -
-
- setSearchFilaEspera(e.target.value)} - /> - Digite o nome do médico -
- -
- Ordenar por: - {(() => { - const sortValue = waitSortKey ? `${waitSortKey}-${waitSortDir}` : ''; - return ( - - ); - })()} -
- -
-
- {filaEsperaFiltrada.length} DE {filaEsperaData.length} SOLICITAÇÕES ENCONTRADAS -
-
-
- -
- - - - - - - - - - {filaEsperaPaginada.length > 0 ? (filaEsperaPaginada.map((item) => ( - - - - - - ))) : ( - - - - )} - -
Médico SolicitadoData da SolicitaçãoAções
Dr(a). {item.Infos?.medico_nome}{dayjs(item.agendamento.created_at).format('DD/MM/YYYY HH:mm')} - -
-
Nenhuma solicitação na fila de espera.
-
- - {filaEsperaFiltrada.length > 0 && ( -
-
- Itens por página: - -
- -
- - Página {waitPage} de {waitTotalPages} • - Mostrando {waitIndiceInicial + 1}-{Math.min(waitIndiceFinal, filaEsperaFiltrada.length)} de {filaEsperaFiltrada.length} - - - -
-
- )} -
-
-
-
-
-
- )} -
-
- ) : ( - - )} - - - {isCancelModalOpen && ( -
-
-
-
-
- Confirmação de Cancelamento -
-
- -
-

Qual o motivo do cancelamento?

- -
- -
- - - -
-
->>>>>>> alteracoes-modais-tabela
@@ -808,10 +322,7 @@ const Agendamento = ({ setDictInfo }) => {
)} -<<<<<<< HEAD -======= ->>>>>>> alteracoes-modais-tabela
) : ( diff --git a/src/components/Header/Header.css b/src/components/Header/Header.css index 4e37928..b07ccae 100644 --- a/src/components/Header/Header.css +++ b/src/components/Header/Header.css @@ -489,28 +489,27 @@ } } -/* permite que cliques "passem" através do header (exceto para os elementos interativos) */ .header-container { - pointer-events: none; /* header não captura cliques */ + pointer-events: none; } -/* mas permite que os controles no canto (telefone e profile) continuem clicáveis */ + .phone-icon-container, .profile-section { pointer-events: auto; } -/* Garantir pointer-events nos elementos do header e overlays criados por portal */ + .header-container { pointer-events: auto; } .phone-icon-container, .profile-section { pointer-events: auto; } -/* Força que os overlays criados por portal fiquem por cima */ + .logout-modal-overlay, .suporte-card-overlay, .chat-overlay { z-index: 110000 !important; pointer-events: auto !important; } -/* Pequeno ajuste visual dos botões do modal (pode se misturar com seu CSS atual) */ + .logout-cancel-button { padding: 10px 18px; border-radius: 8px; @@ -526,7 +525,3 @@ color: #fff; cursor: pointer; } -<<<<<<< HEAD -======= - ->>>>>>> alteracoes-modais-tabela diff --git a/src/components/Header/Header.jsx b/src/components/Header/Header.jsx index c8ca1a6..18df67f 100644 --- a/src/components/Header/Header.jsx +++ b/src/components/Header/Header.jsx @@ -413,9 +413,3 @@ const Header = () => { }; export default Header; -<<<<<<< HEAD -======= - - - ->>>>>>> alteracoes-modais-tabela diff --git a/src/pages/Agendamento.jsx b/src/pages/Agendamento.jsx index 6eae272..8daecec 100644 --- a/src/pages/Agendamento.jsx +++ b/src/pages/Agendamento.jsx @@ -172,7 +172,6 @@ const Agendamento = ({ setDictInfo }) => { paciente_cpf: paciente?.cpf }; -<<<<<<< HEAD if (agendamento.status === "requested") { newFila.push({ agendamento: agendamentoMelhorado, Infos: agendamentoMelhorado }); } else { @@ -190,84 +189,14 @@ const Agendamento = ({ setDictInfo }) => { setAgendamentosOrganizados(newDict); setFilaEsperaData(newFila); setShowSpinner(false); -======= - - useEffect(() => { - fetchAppointments(); - GetAllDoctors(authHeader).then(docs => setListaDeMedicos(docs.map(d => ({ nomeMedico: d.full_name, idMedico: d.id })))); - }, [authHeader]); - - - const handleSearchMedicos = (term) => { - setSearchTermDoctor(term); - if (term.trim() === '') { - setFiltredTodosMedicos([]); - setMedicoFiltrado({ id: "vazio" }); - return; - } - const filtered = ListaDeMedicos.filter(medico => - medico.nomeMedico.toLowerCase().includes(term.toLowerCase()) - ); - setFiltredTodosMedicos(filtered); - }; - - - const filaEsperaFiltrada = useMemo(() => { - if (!waitlistSearch.trim()) return filaEsperaData; - const term = waitlistSearch.toLowerCase(); - return filaEsperaData.filter(item => (item?.Infos?.paciente_nome?.toLowerCase() || '').includes(term) || (item?.Infos?.paciente_cpf?.toLowerCase() || '').includes(term) || (item?.Infos?.nome_medico?.toLowerCase() || '').includes(term)); - }, [waitlistSearch, filaEsperaData]); - - const applySortingWaitlist = (arr) => { - if (!Array.isArray(arr) || !waitSortKey) return arr; - const copy = [...arr]; - if (waitSortKey === 'paciente') { copy.sort((a, b) => (a?.Infos?.paciente_nome || '').localeCompare((b?.Infos?.paciente_nome || ''))); } - else if (waitSortKey === 'medico') { copy.sort((a, b) => (a?.Infos?.nome_medico || '').localeCompare((b?.Infos?.nome_medico || ''))); } - else if (waitSortKey === 'data') { copy.sort((a, b) => new Date(a?.agendamento?.scheduled_at || 0) - new Date(b?.agendamento?.scheduled_at || 0)); } - if (waitSortDir === 'desc') copy.reverse(); - return copy; ->>>>>>> alteracoes-modais-tabela }; fetchDados(); }, [listaTodosAgendamentos, authHeader, cacheMedicos, cachePacientes]); -<<<<<<< HEAD useEffect(() => { fetchAppointments(); GetAllDoctors(authHeader).then(docs => setListaDeMedicos(docs.map(d => ({ nomeMedico: d.full_name, idMedico: d.id }))) -======= - - const generateDateGrid = () => { - const grid = []; const startOfMonth = currentDate.startOf('month'); - let currentDay = startOfMonth.subtract(startOfMonth.day(), 'day'); - for (let i = 0; i < 42; i++) { grid.push(currentDay); currentDay = currentDay.add(1, 'day'); } - return grid; - }; - const dateGrid = useMemo(() => generateDateGrid(), [currentDate]); - const weekDays = ['Dom', 'Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'Sáb']; - const handleDateClick = (day) => setSelectedDay(day); - - - const DeleteModal = () => ( -
-
-
-
-
Confirmação de Cancelamento
-
-
-

Qual o motivo do cancelamento?

- -
-
- - -
-
-
-
->>>>>>> alteracoes-modais-tabela ); }, [authHeader]); @@ -305,7 +234,6 @@ const Agendamento = ({ setDictInfo }) => { const waitIndiceFinal = waitIndiceInicial + waitPerPage; const filaEsperaPaginada = filaEsperaOrdenada.slice(waitIndiceInicial, waitIndiceFinal); -<<<<<<< HEAD const gerarNumerosWaitPages = () => { const paginas = []; const paginasParaMostrar = 5; @@ -550,230 +478,6 @@ const Agendamento = ({ setDictInfo }) => {
)}
-======= - return ( -
-

Agendar nova consulta

-
- - - - -
- {!PageNovaConsulta ? ( -
-
- - -
- - {!FiladeEspera && ( -
-
- - Filtrar por Médico -
-
- handleSearchMedicos(e.target.value)} - /> - - Filtre os agendamentos por médico - -
- {searchTermDoctor && FiltredTodosMedicos.length > 0 && ( -
- {FiltredTodosMedicos.map((medico) => ( - - ))} -
- )} - {MedicoFiltrado.id !== "vazio" && ( -
- - - Filtrando por: {searchTermDoctor} - - -
- )} -
- )} - -
- {FiladeEspera === false ? ( -
-
-
{selectedDay.format('MMM')}{selectedDay.format('DD')}
-

{selectedDay.format('dddd')}

{selectedDay.format('D [de] MMMM [de] YYYY')}

-
-

Consultas para {selectedDay.format('DD/MM')}

- {showSpinner ? : (DictAgendamentosOrganizados[selectedDay.format('YYYY-MM-DD')]?.length > 0) ? ( - DictAgendamentosOrganizados[selectedDay.format('YYYY-MM-DD')] - .filter(app => { - if (MedicoFiltrado.id === "vazio") return true; - return app.doctor_id === MedicoFiltrado.idMedico; - }) - .map(app => ( -
-
{dayjs(app.scheduled_at).format('HH:mm')}
-
{app.paciente_nome}Dr(a). {app.medico_nome}
-
- {app.status === 'cancelled' ? ( - - ) : ( - <> - - - - - - )} -
-
- ))) : (

Nenhuma consulta agendada.

)} -
-
-
-
-
Realizado
Confirmado
Agendado
Cancelado
-
-
-
-

{currentDate.format('MMMM [de] YYYY')}

-
- - - -
-
- -
- - - -
-
- -
- {weekDays.map(day =>
{day}
)} - {dateGrid.map((day, index) => { - const appointmentsOnDay = DictAgendamentosOrganizados[day.format('YYYY-MM-DD')] || []; - const cellClasses = `day-cell ${day.isSame(currentDate, 'month') ? 'current-month' : 'other-month'} ${day.isSame(dayjs(), 'day') ? 'today' : ''} ${day.isSame(selectedDay, 'day') ? 'selected' : ''}`; - return (
handleDateClick(day)}>{day.format('D')}{appointmentsOnDay.length > 0 &&
{appointmentsOnDay.length}
}
); - })} -
-
-
- ) : ( -
-
-
-
-

Fila de Espera

-
-
-
Filtros
-
setWaitlistSearch(e.target.value)} />Digite o nome do paciente, CPF ou nome do médico
-
-
- Ordenar por: - {(() => { const sortValue = waitSortKey ? `${waitSortKey}-${waitSortDir}` : ''; return ();})()} -
-
-
{filaEsperaFiltrada.length} DE {filaEsperaData.length} SOLICITAÇÕES ENCONTRADAS
-
-
- - - - {filaEsperaPaginada.length > 0 ? (filaEsperaPaginada.map((item, index) => ( - - ))) : ()} - -
Nome do PacienteCPFMédico SolicitadoData da SolicitaçãoAções
{item?.Infos?.paciente_nome}{item?.Infos?.paciente_cpf}{item?.Infos?.nome_medico}{dayjs(item.agendamento.scheduled_at).format('DD/MM/YYYY')}
{showSpinner ? : (<>

Nenhuma solicitação encontrada.

)}
- {filaEsperaFiltrada.length > 0 && (
-
Itens por página:
-
Página {waitPage} de {waitTotalPages} • Mostrando {waitIndiceInicial + 1}-{Math.min(waitIndiceFinal, filaEsperaFiltrada.length)} de {filaEsperaFiltrada.length}
-
)} -
-
-
-
-
-
- )} -
->>>>>>> alteracoes-modais-tabela
diff --git a/src/pages/DisponibilidadesDoctorPage.jsx b/src/pages/DisponibilidadesDoctorPage.jsx index 49968a0..5f79a67 100644 --- a/src/pages/DisponibilidadesDoctorPage.jsx +++ b/src/pages/DisponibilidadesDoctorPage.jsx @@ -35,10 +35,12 @@ const DisponibilidadesDoctorPage = () => { const [doctors, setDoctors] = useState([]); const [searchTerm, setSearchTerm] = useState(""); const [editando, setEditando] = useState(null); -<<<<<<< HEAD const [expandedDoctors, setExpandedDoctors] = useState({}); const [showSuggestions, setShowSuggestions] = useState(false); const [availabilityEdit, setAvailabilityEdit] = useState([]); + // Add the missing state variables + const [showDeleteModal, setShowDeleteModal] = useState(false); + const [selectedDisponibilidadeId, setSelectedDisponibilidadeId] = useState(null); const getHeaders = () => { const myHeaders = new Headers(); @@ -49,11 +51,6 @@ const DisponibilidadesDoctorPage = () => { myHeaders.append("Prefer", "return=representation"); return myHeaders; }; -======= - const [doctorsLoading, setDoctorsLoading] = useState(true); - const [showDeleteModal, setShowDeleteModal] = useState(false); - const [selectedDisponibilidadeId, setSelectedDisponibilidadeId] = useState(null); ->>>>>>> alteracoes-modais-tabela useEffect(() => { const fetchDoctors = async () => { @@ -173,33 +170,27 @@ const DisponibilidadesDoctorPage = () => { }; const deletarDisponibilidade = async (id) => { -<<<<<<< HEAD if (!window.confirm("Deseja realmente excluir esta disponibilidade?")) return; try { const res = await fetch(`${ENDPOINT}?id=eq.${id}`, { method: "DELETE", headers: getHeaders() }); - if (res.ok) setDisponibilidades((prev) => prev.filter((d) => d.id !== id)); - } catch (error) {} -======= - try { - const res = await fetch(`${ENDPOINT}?id=eq.${id}`, { - method: "DELETE", - headers: getHeaders(), - }); if (res.ok) { - alert("Disponibilidade excluída com sucesso!"); setDisponibilidades((prev) => prev.filter((d) => d.id !== id)); setShowDeleteModal(false); setSelectedDisponibilidadeId(null); - } else { - const errorData = await res.json(); - console.error("Erro na resposta:", errorData); - alert("Erro ao excluir disponibilidade"); } } catch (error) { - console.error("Erro:", error); - alert("Erro ao conectar com o servidor"); + console.error("Erro ao excluir disponibilidade:", error); } ->>>>>>> alteracoes-modais-tabela + }; + + const handleOpenDeleteModal = (id) => { + setSelectedDisponibilidadeId(id); + setShowDeleteModal(true); + }; + + const handleCloseDeleteModal = () => { + setShowDeleteModal(false); + setSelectedDisponibilidadeId(null); }; const disponibilidadesAgrupadas = useMemo(() => { @@ -313,7 +304,6 @@ const DisponibilidadesDoctorPage = () => { setAvailabilityEdit([]); }; -<<<<<<< HEAD const handleDoctorSelect = (doctor) => { setSearchTerm(doctor.full_name || doctor.name); setShowSuggestions(false); @@ -369,70 +359,6 @@ const DisponibilidadesDoctorPage = () => { ))}
)} -======= -
-
- - Filtrar por Médico -
-
- { - setSearchTerm(e.target.value); - if (!e.target.value) setSelectedDoctor(null); - }} - /> - Buscar médico para filtrar disponibilidades - - {searchTerm && !selectedDoctor && filteredDoctors.length > 0 && ( -
- {filteredDoctors.map((doc) => ( - - ))} -
- )} -
- -
-
- {selectedDoctor && ( - - - {selectedDoctor.name} - - )} -
- {disponibilidades.length} DISPONIBILIDADES ENCONTRADAS -
-
- - {selectedDoctor && ( - - )} -
->>>>>>> alteracoes-modais-tabela
@@ -467,7 +393,6 @@ const DisponibilidadesDoctorPage = () => {
) : ( -<<<<<<< HEAD
{disponibilidadesAgrupadas.length === 0 ? (

Nenhum médico encontrado

@@ -514,7 +439,16 @@ const DisponibilidadesDoctorPage = () => { {getStatusText(disp)} - {!disp.is_empty && } + + {!disp.is_empty && ( + + )} + ))} @@ -526,68 +460,6 @@ const DisponibilidadesDoctorPage = () => { )) )}
-======= - - - - - - - - - - - - - - - {disponibilidades.map((disp) => { - const medico = doctors.find((d) => d.id === disp.doctor_id); - return ( - - - - - - - - - - - ); - })} - -
MédicoDia da SemanaInícioTérminoIntervalo (min)TipoStatusAções
{medico ? medico.name : disp.doctor_id}{diasDaSemana[disp.weekday]}{disp.start_time}{disp.end_time}{disp.slot_minutes || 30}{disp.appointment_type || "presencial"} - - {disp.active === false ? "Inativa" : "Ativa"} - - -
- - - -
-
->>>>>>> alteracoes-modais-tabela )}
@@ -619,10 +491,7 @@ const DisponibilidadesDoctorPage = () => { diff --git a/src/pages/DoctorEditPage.jsx b/src/pages/DoctorEditPage.jsx index 809a431..a4e00cf 100644 --- a/src/pages/DoctorEditPage.jsx +++ b/src/pages/DoctorEditPage.jsx @@ -1,11 +1,5 @@ -<<<<<<< HEAD import React, { useState, useEffect, useMemo } from "react"; import { useParams, useNavigate, useLocation } from "react-router-dom"; -======= -import React, { useEffect, useState, useCallback } from "react"; -import { useParams, useSearchParams, useNavigate } from "react-router-dom"; -import { GetDoctorByID } from "../components/utils/Functions-Endpoints/Doctor"; ->>>>>>> alteracoes-modais-tabela import DoctorForm from "../components/doctors/DoctorForm"; import { useAuth } from "../components/utils/AuthProvider"; import API_KEY from "../components/utils/apiKeys"; @@ -32,17 +26,11 @@ const EditDoctorPage = () => { const navigate = useNavigate(); const location = useLocation(); const { getAuthorizationHeader } = useAuth(); -<<<<<<< HEAD const [doctor, setDoctor] = useState(null); const [availability, setAvailability] = useState([]); const [isLoading, setIsLoading] = useState(true); const [isSaving, setIsSaving] = useState(false); -======= - const navigate = useNavigate(); - const [DoctorToPUT, setDoctorPUT] = useState({}); - const [showSuccessModal, setShowSuccessModal] = useState(false); ->>>>>>> alteracoes-modais-tabela const effectiveId = id; @@ -51,58 +39,12 @@ const EditDoctorPage = () => { const authHeader = getAuthorizationHeader(); if (authHeader) myHeaders.append("Authorization", authHeader); myHeaders.append("Content-Type", "application/json"); -<<<<<<< HEAD if (API_KEY) myHeaders.append("apikey", API_KEY); myHeaders.append("Prefer", "return=representation"); return myHeaders; }; const salvarDisponibilidades = async (doctorId, horariosAtualizados) => { -======= - - var raw = JSON.stringify(DoctorToPUT); - - console.log("Enviando médico para atualização (PUT):", DoctorToPUT); - - var requestOptions = { - method: "PUT", - headers: myHeaders, - body: raw, - redirect: "follow", - }; - - fetch(`https://yuanqfswhberkoevtmfr.supabase.co/rest/v1/doctors?id=eq.${DictInfo.id}`,requestOptions) - .then(response => { - console.log(response) - if (response.ok) { - setShowSuccessModal(true) - } - return response - }) - .catch(error => console.log("erro", error)) - }; - - - const HandlePatchAvailability = async (data) => { - const authHeader = getAuthorizationHeader(); - - var myHeaders = new Headers(); - myHeaders.append("apikey", API_KEY); - myHeaders.append("Authorization", authHeader); - myHeaders.append("Content-Type", "application/json"); - - var raw = JSON.stringify(data); - - console.log("Enviando disponibilidade para atualização (PATCH):", data); - - var requestOptions = { - method: "PATCH", - headers: myHeaders, - body: raw, - redirect: "follow", - }; - ->>>>>>> alteracoes-modais-tabela try { const headers = getHeaders(); const promises = []; @@ -167,7 +109,6 @@ const EditDoctorPage = () => { `${ENDPOINT_AVAILABILITY}?doctor_id=eq.${String(doctorId)}`, { method: "GET", headers } ); -<<<<<<< HEAD if (existingDisponibilidadesRes.ok) { const existingDisponibilidades = await existingDisponibilidadesRes.json(); @@ -193,10 +134,6 @@ const EditDoctorPage = () => { const updatedData = await updatedResponse.json(); setAvailability(updatedData); } -======= - console.log("Resposta PATCH Disponibilidade:", response); - alert("Disponibilidade atualizada com sucesso!"); ->>>>>>> alteracoes-modais-tabela } catch (error) { throw error; } @@ -375,7 +312,6 @@ const EditDoctorPage = () => { }; return ( -<<<<<<< HEAD
@@ -390,59 +326,6 @@ const EditDoctorPage = () => { />
-======= -
- - - {showSuccessModal && ( -
-
-
-
-
- Médico Editado -
-
- -
-

- Médico editado com sucesso! -

-
- -
- -
-
-
-
- )} ->>>>>>> alteracoes-modais-tabela
); }; diff --git a/src/pages/DoctorTable.jsx b/src/pages/DoctorTable.jsx index 153a019..e5becd7 100644 --- a/src/pages/DoctorTable.jsx +++ b/src/pages/DoctorTable.jsx @@ -146,10 +146,6 @@ function TableDoctor({setDictInfo}) { return resultado; }) : []; -<<<<<<< HEAD - -======= ->>>>>>> alteracoes-modais-tabela const applySorting = (arr) => { if (!Array.isArray(arr) || !sortKey) return arr; const copy = [...arr]; From b46da18c456ea74540ede57694a3e69fb14489e1 Mon Sep 17 00:00:00 2001 From: pedrofedericoo Date: Thu, 27 Nov 2025 01:02:34 -0300 Subject: [PATCH 05/10] =?UTF-8?q?Corre=C3=A7=C3=B5es=20de=20design?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/PagesMedico/DoctorAgendamentoManager.jsx | 1578 +++++++++++------- src/pages/FinanceiroDashboard.jsx | 38 +- src/pages/style/Agendamento.css | 1 + src/pages/style/FinanceiroDashboard.css | 124 +- src/pages/style/Inicio.css | 8 +- 5 files changed, 1093 insertions(+), 656 deletions(-) diff --git a/src/PagesMedico/DoctorAgendamentoManager.jsx b/src/PagesMedico/DoctorAgendamentoManager.jsx index 7f0d77e..34eb294 100644 --- a/src/PagesMedico/DoctorAgendamentoManager.jsx +++ b/src/PagesMedico/DoctorAgendamentoManager.jsx @@ -1,654 +1,1018 @@ -import React, { useState, useMemo, useEffect, useCallback } from 'react'; -import { useNavigate } from 'react-router-dom'; -import API_KEY from '../components/utils/apiKeys.js'; -import AgendamentoCadastroManager from '../pages/AgendamentoCadastroManager.jsx'; +import React, { useState, useMemo, useEffect, useCallback } from "react"; +import { useNavigate } from "react-router-dom"; +import API_KEY from "../components/utils/apiKeys.js"; +import AgendamentoCadastroManager from "../pages/AgendamentoCadastroManager.jsx"; // Removidos imports não utilizados no novo fluxo -import { GetAllDoctors } from '../components/utils/Functions-Endpoints/Doctor.js'; -import { useAuth } from '../components/utils/AuthProvider.js'; -import dayjs from 'dayjs'; -import 'dayjs/locale/pt-br'; -import isBetween from 'dayjs/plugin/isBetween'; -import localeData from 'dayjs/plugin/localeData'; -import { Search, ChevronLeft, ChevronRight, Edit, Trash2, CheckCircle } from 'lucide-react'; +import { GetAllDoctors } from "../components/utils/Functions-Endpoints/Doctor.js"; +import { useAuth } from "../components/utils/AuthProvider.js"; +import dayjs from "dayjs"; +import "dayjs/locale/pt-br"; +import isBetween from "dayjs/plugin/isBetween"; +import localeData from "dayjs/plugin/localeData"; +import { + Search, + ChevronLeft, + ChevronRight, + Edit, + Trash2, + CheckCircle, +} from "lucide-react"; import "../pages/style/Agendamento.css"; -import '../pages/style/FilaEspera.css'; -import Spinner from '../components/Spinner.jsx'; +import "../pages/style/FilaEspera.css"; +import Spinner from "../components/Spinner.jsx"; - -dayjs.locale('pt-br'); +dayjs.locale("pt-br"); dayjs.extend(isBetween); dayjs.extend(localeData); - const Agendamento = () => { - const navigate = useNavigate(); - const { getAuthorizationHeader, user } = useAuth(); - const authHeader = getAuthorizationHeader(); + const navigate = useNavigate(); + const { getAuthorizationHeader, user } = useAuth(); + const authHeader = getAuthorizationHeader(); - // ID do médico que você quer visualizar - const ID_MEDICO_ESPECIFICO = "078d2a67-b4c1-43c8-ae32-c1e75bb5b3df"; + // ID do médico que você quer visualizar + const ID_MEDICO_ESPECIFICO = "078d2a67-b4c1-43c8-ae32-c1e75bb5b3df"; - const [listaTodosAgendamentos, setListaTodosAgendamentos] = useState([]); - const [selectedID, setSelectedId] = useState('0'); - const [filaEsperaData, setFilaEsperaData] = useState([]); - const [FiladeEspera, setFiladeEspera] = useState(false); - const [PageNovaConsulta, setPageConsulta] = useState(false); - const [DictAgendamentosOrganizados, setAgendamentosOrganizados] = useState({}); - const [showDeleteModal, setShowDeleteModal] = useState(false); - const [ListaDeMedicos, setListaDeMedicos] = useState([]); - const [FiltredTodosMedicos, setFiltredTodosMedicos] = useState([]); - const [searchTermDoctor, setSearchTermDoctor] = useState(''); - const [MedicoFiltrado, setMedicoFiltrado] = useState({ id: "vazio" }); - const [motivoCancelamento, setMotivoCancelamento] = useState(""); - const [showSpinner, setShowSpinner] = useState(true); - const [waitlistSearch, setWaitlistSearch] = useState(''); - const [waitSortKey, setWaitSortKey] = useState(null); - const [waitSortDir, setWaitSortDir] = useState('asc'); - const [waitPage, setWaitPage] = useState(1); - const [waitPerPage, setWaitPerPage] = useState(10); - const [cacheMedicos, setCacheMedicos] = useState({}); - const [cachePacientes, setCachePacientes] = useState({}); - const [currentDate, setCurrentDate] = useState(dayjs()); - const [selectedDay, setSelectedDay] = useState(dayjs()); - const [agendamentoParaEdicao, setAgendamentoParaEdicao] = useState(null); - const [quickJump, setQuickJump] = useState({ - month: currentDate.month(), - year: currentDate.year() - }); + const [listaTodosAgendamentos, setListaTodosAgendamentos] = useState([]); + const [selectedID, setSelectedId] = useState("0"); + const [filaEsperaData, setFilaEsperaData] = useState([]); + const [FiladeEspera, setFiladeEspera] = useState(false); + const [PageNovaConsulta, setPageConsulta] = useState(false); + const [DictAgendamentosOrganizados, setAgendamentosOrganizados] = useState( + {} + ); + const [showDeleteModal, setShowDeleteModal] = useState(false); + const [ListaDeMedicos, setListaDeMedicos] = useState([]); + const [FiltredTodosMedicos, setFiltredTodosMedicos] = useState([]); + const [searchTermDoctor, setSearchTermDoctor] = useState(""); + const [MedicoFiltrado, setMedicoFiltrado] = useState({ id: "vazio" }); + const [motivoCancelamento, setMotivoCancelamento] = useState(""); + const [showSpinner, setShowSpinner] = useState(true); + const [waitlistSearch, setWaitlistSearch] = useState(""); + const [waitSortKey, setWaitSortKey] = useState(null); + const [waitSortDir, setWaitSortDir] = useState("asc"); + const [waitPage, setWaitPage] = useState(1); + const [waitPerPage, setWaitPerPage] = useState(10); + const [cacheMedicos, setCacheMedicos] = useState({}); + const [cachePacientes, setCachePacientes] = useState({}); + const [currentDate, setCurrentDate] = useState(dayjs()); + const [selectedDay, setSelectedDay] = useState(dayjs()); + const [agendamentoParaEdicao, setAgendamentoParaEdicao] = useState(null); + const [quickJump, setQuickJump] = useState({ + month: currentDate.month(), + year: currentDate.year(), + }); - // ✨ ALTERAÇÃO PRINCIPAL: A busca agora filtra pelo ID do médico direto na API - const fetchAppointments = useCallback(async () => { - if (!authHeader) return; - setShowSpinner(true); - const myHeaders = new Headers(); - myHeaders.append("Authorization", authHeader); - myHeaders.append("apikey", API_KEY); - const requestOptions = { method: 'GET', headers: myHeaders, redirect: 'follow' }; + // ✨ ALTERAÇÃO PRINCIPAL: A busca agora filtra pelo ID do médico direto na API + const fetchAppointments = useCallback(async () => { + if (!authHeader) return; + setShowSpinner(true); + const myHeaders = new Headers(); + myHeaders.append("Authorization", authHeader); + myHeaders.append("apikey", API_KEY); + const requestOptions = { + method: "GET", + headers: myHeaders, + redirect: "follow", + }; - // A URL agora contém o filtro para o ID do médico específico - const apiUrl = `https://yuanqfswhberkoevtmfr.supabase.co/rest/v1/appointments?doctor_id=eq.${ID_MEDICO_ESPECIFICO}&select=*`; + // A URL agora contém o filtro para o ID do médico específico + const apiUrl = `https://yuanqfswhberkoevtmfr.supabase.co/rest/v1/appointments?doctor_id=eq.${ID_MEDICO_ESPECIFICO}&select=*`; - try { - const res = await fetch(apiUrl, requestOptions); - const data = await res.json(); - setListaTodosAgendamentos(data || []); - } catch (err) { - console.error('Erro ao buscar agendamentos', err); - setListaTodosAgendamentos([]); - } finally { - setShowSpinner(false); - } - }, [authHeader, ID_MEDICO_ESPECIFICO]); + try { + const res = await fetch(apiUrl, requestOptions); + const data = await res.json(); + setListaTodosAgendamentos(data || []); + } catch (err) { + console.error("Erro ao buscar agendamentos", err); + setListaTodosAgendamentos([]); + } finally { + setShowSpinner(false); + } + }, [authHeader, ID_MEDICO_ESPECIFICO]); - - const updateAppointmentStatus = useCallback(async (id, updates) => { - setShowSpinner(true); - const myHeaders = new Headers(); - myHeaders.append("Authorization", authHeader); - myHeaders.append("apikey", API_KEY); - myHeaders.append("Content-Type", "application/json"); - myHeaders.append("Prefer", "return=representation"); - const requestOptions = { method: 'PATCH', headers: myHeaders, body: JSON.stringify(updates) }; - try { - const response = await fetch(`https://yuanqfswhberkoevtmfr.supabase.co/rest/v1/appointments?id=eq.${id}`, requestOptions); - if (response.ok) { - await fetchAppointments(); - return true; - } else { - console.error('Erro ao atualizar agendamento:', await response.text()); - return false; - } - } catch (error) { - console.error('Erro de rede/servidor:', error); - return false; - } finally { - setShowSpinner(false); - } - }, [authHeader, fetchAppointments]); - - - const deleteConsulta = useCallback(async (id) => { - const success = await updateAppointmentStatus(id, { status: "cancelled", cancellation_reason: motivoCancelamento, updated_at: new Date().toISOString() }); - if (success) { - setShowDeleteModal(false); - setMotivoCancelamento(""); - setSelectedId('0'); + const updateAppointmentStatus = useCallback( + async (id, updates) => { + setShowSpinner(true); + const myHeaders = new Headers(); + myHeaders.append("Authorization", authHeader); + myHeaders.append("apikey", API_KEY); + myHeaders.append("Content-Type", "application/json"); + myHeaders.append("Prefer", "return=representation"); + const requestOptions = { + method: "PATCH", + headers: myHeaders, + body: JSON.stringify(updates), + }; + try { + const response = await fetch( + `https://yuanqfswhberkoevtmfr.supabase.co/rest/v1/appointments?id=eq.${id}`, + requestOptions + ); + if (response.ok) { + await fetchAppointments(); + return true; } else { - alert("Falha ao cancelar a consulta."); + console.error( + "Erro ao atualizar agendamento:", + await response.text() + ); + return false; } - }, [motivoCancelamento, updateAppointmentStatus]); + } catch (error) { + console.error("Erro de rede/servidor:", error); + return false; + } finally { + setShowSpinner(false); + } + }, + [authHeader, fetchAppointments] + ); + const deleteConsulta = useCallback( + async (id) => { + const success = await updateAppointmentStatus(id, { + status: "cancelled", + cancellation_reason: motivoCancelamento, + updated_at: new Date().toISOString(), + }); + if (success) { + setShowDeleteModal(false); + setMotivoCancelamento(""); + setSelectedId("0"); + } else { + alert("Falha ao cancelar a consulta."); + } + }, + [motivoCancelamento, updateAppointmentStatus] + ); - const confirmConsulta = useCallback(async (id) => { - const success = await updateAppointmentStatus(id, { status: "agendado", cancellation_reason: null, updated_at: new Date().toISOString() }); - if (success) { - setSelectedId('0'); - } else { - alert("Falha ao reverter o cancelamento."); + const confirmConsulta = useCallback( + async (id) => { + const success = await updateAppointmentStatus(id, { + status: "agendado", + cancellation_reason: null, + updated_at: new Date().toISOString(), + }); + if (success) { + setSelectedId("0"); + } else { + alert("Falha ao reverter o cancelamento."); + } + }, + [updateAppointmentStatus] + ); + + useEffect(() => { + if (authHeader) { + fetchAppointments(); + // A busca de todos os médicos pode continuar caso a secretária precise ver a lista + if (user?.role !== "doctor") { + GetAllDoctors(authHeader).then((docs) => { + if (docs) { + setListaDeMedicos( + docs.map((d) => ({ nomeMedico: d.full_name, idMedico: d.id })) + ); + } + }); + } + } + }, [authHeader, fetchAppointments, user?.role]); + + useEffect(() => { + const processData = async () => { + // Como os dados já vêm filtrados da API, não precisamos mais da verificação de 'user' aqui + if (!listaTodosAgendamentos.length) { + setAgendamentosOrganizados({}); + setFilaEsperaData([]); + return; + } + + setShowSpinner(true); + + // ✨ SIMPLIFICAÇÃO: Não é mais necessário filtrar por `user.role`, + // pois a API já retornou apenas os agendamentos do médico desejado. + const appointmentsToShow = listaTodosAgendamentos; + + const patientIdsToFetch = new Set(); + const doctorIdsToFetch = new Set(); + + appointmentsToShow.forEach((ag) => { + if (ag.patient_id && !cachePacientes[ag.patient_id]) { + patientIdsToFetch.add(ag.patient_id); } - }, [updateAppointmentStatus]); - - useEffect(() => { - if(authHeader) { - fetchAppointments(); - // A busca de todos os médicos pode continuar caso a secretária precise ver a lista - if (user?.role !== 'doctor') { - GetAllDoctors(authHeader).then(docs => { - if (docs) { - setListaDeMedicos(docs.map(d => ({ nomeMedico: d.full_name, idMedico: d.id }))); - } - }); - } + if (ag.doctor_id && !cacheMedicos[ag.doctor_id]) { + doctorIdsToFetch.add(ag.doctor_id); } - }, [authHeader, fetchAppointments, user?.role]); + }); - useEffect(() => { - const processData = async () => { - // Como os dados já vêm filtrados da API, não precisamos mais da verificação de 'user' aqui - if (!listaTodosAgendamentos.length) { - setAgendamentosOrganizados({}); - setFilaEsperaData([]); - return; + const fetchPromises = []; + + if (patientIdsToFetch.size > 0) { + const query = `id=in.(${Array.from(patientIdsToFetch).join(",")})`; + fetchPromises.push( + fetch( + `https://yuanqfswhberkoevtmfr.supabase.co/rest/v1/patients?${query}&select=*`, + { + headers: { apikey: API_KEY, Authorization: authHeader }, } + ).then((res) => res.json()) + ); + } else { + fetchPromises.push(Promise.resolve(null)); // Mantém a ordem do Promise.all + } - setShowSpinner(true); - - // ✨ SIMPLIFICAÇÃO: Não é mais necessário filtrar por `user.role`, - // pois a API já retornou apenas os agendamentos do médico desejado. - const appointmentsToShow = listaTodosAgendamentos; - - const patientIdsToFetch = new Set(); - const doctorIdsToFetch = new Set(); - - appointmentsToShow.forEach(ag => { - if (ag.patient_id && !cachePacientes[ag.patient_id]) { - patientIdsToFetch.add(ag.patient_id); - } - if (ag.doctor_id && !cacheMedicos[ag.doctor_id]) { - doctorIdsToFetch.add(ag.doctor_id); - } - }); - - const fetchPromises = []; - - if (patientIdsToFetch.size > 0) { - const query = `id=in.(${Array.from(patientIdsToFetch).join(',')})`; - fetchPromises.push( - fetch(`https://yuanqfswhberkoevtmfr.supabase.co/rest/v1/patients?${query}&select=*`, { - headers: { apikey: API_KEY, Authorization: authHeader } - }).then(res => res.json()) - ); - } else { - fetchPromises.push(Promise.resolve(null)); // Mantém a ordem do Promise.all + if (doctorIdsToFetch.size > 0) { + const query = `id=in.(${Array.from(doctorIdsToFetch).join(",")})`; + fetchPromises.push( + fetch( + `https://yuanqfswhberkoevtmfr.supabase.co/rest/v1/doctors?${query}&select=id,full_name`, + { + headers: { apikey: API_KEY, Authorization: authHeader }, } + ).then((res) => res.json()) + ); + } else { + fetchPromises.push(Promise.resolve(null)); + } - if (doctorIdsToFetch.size > 0) { - const query = `id=in.(${Array.from(doctorIdsToFetch).join(',')})`; - fetchPromises.push( - fetch(`https://yuanqfswhberkoevtmfr.supabase.co/rest/v1/doctors?${query}&select=id,full_name`, { - headers: { apikey: API_KEY, Authorization: authHeader } - }).then(res => res.json()) - ); - } else { - fetchPromises.push(Promise.resolve(null)); - } - - const [newPatients, newDoctors] = await Promise.all(fetchPromises); + const [newPatients, newDoctors] = await Promise.all(fetchPromises); - const updatedPatientCache = { ...cachePacientes }; - if (newPatients) newPatients.forEach(p => updatedPatientCache[p.id] = p); + const updatedPatientCache = { ...cachePacientes }; + if (newPatients) + newPatients.forEach((p) => (updatedPatientCache[p.id] = p)); - const updatedDoctorCache = { ...cacheMedicos }; - if (newDoctors) newDoctors.forEach(d => updatedDoctorCache[d.id] = d); - - setCachePacientes(updatedPatientCache); - setCacheMedicos(updatedDoctorCache); + const updatedDoctorCache = { ...cacheMedicos }; + if (newDoctors) newDoctors.forEach((d) => (updatedDoctorCache[d.id] = d)); - const newDict = {}; - const newFila = []; + setCachePacientes(updatedPatientCache); + setCacheMedicos(updatedDoctorCache); - for (const agendamento of appointmentsToShow) { - const medico = updatedDoctorCache[agendamento.doctor_id]; - const paciente = updatedPatientCache[agendamento.patient_id]; + const newDict = {}; + const newFila = []; - if (!medico || !paciente) continue; + for (const agendamento of appointmentsToShow) { + const medico = updatedDoctorCache[agendamento.doctor_id]; + const paciente = updatedPatientCache[agendamento.patient_id]; - const agendamentoMelhorado = { - ...agendamento, - medico_nome: medico.full_name || 'N/A', - paciente_nome: paciente.full_name || 'N/A', - paciente_cpf: paciente.cpf || 'N/A' - }; + if (!medico || !paciente) continue; - if (agendamento.status === "requested") { - newFila.push({ agendamento: agendamentoMelhorado, Infos: agendamentoMelhorado }); - } else { - const DiaAgendamento = dayjs(agendamento.scheduled_at).format("YYYY-MM-DD"); - if (!newDict[DiaAgendamento]) newDict[DiaAgendamento] = []; - newDict[DiaAgendamento].push(agendamentoMelhorado); - } - } - - for (const key in newDict) { - newDict[key].sort((a, b) => new Date(a.scheduled_at) - new Date(b.scheduled_at)); - } - - setAgendamentosOrganizados(newDict); - setFilaEsperaData(newFila); - setShowSpinner(false); + const agendamentoMelhorado = { + ...agendamento, + medico_nome: medico.full_name || "N/A", + paciente_nome: paciente.full_name || "N/A", + paciente_cpf: paciente.cpf || "N/A", }; - processData(); - }, [listaTodosAgendamentos, authHeader]); // Removido 'user' das dependências pois não é mais usado aqui - - // O restante do código permanece o mesmo... - - const handleEditConsulta = (agendamento) => { - setAgendamentoParaEdicao(agendamento); - setPageConsulta(true); - }; - - const handleSearchMedicos = (term) => { - setSearchTermDoctor(term); - if (term.trim()) { - const filtered = ListaDeMedicos.filter(medico => - medico.nomeMedico.toLowerCase().includes(term.toLowerCase()) - ); - setFiltredTodosMedicos(filtered); + if (agendamento.status === "requested") { + newFila.push({ + agendamento: agendamentoMelhorado, + Infos: agendamentoMelhorado, + }); } else { - setFiltredTodosMedicos([]); - setMedicoFiltrado({ id: "vazio" }); + const DiaAgendamento = dayjs(agendamento.scheduled_at).format( + "YYYY-MM-DD" + ); + if (!newDict[DiaAgendamento]) newDict[DiaAgendamento] = []; + newDict[DiaAgendamento].push(agendamentoMelhorado); } - }; - - const generateDateGrid = () => { - const grid = []; - const startOfMonth = currentDate.startOf('month'); - let currentDay = startOfMonth.subtract(startOfMonth.day(), 'day'); - for (let i = 0; i < 42; i++) { - grid.push(currentDay); - currentDay = currentDay.add(1, 'day'); - } - return grid; - }; + } - const dateGrid = useMemo(() => generateDateGrid(), [currentDate]); - const weekDays = ['Dom', 'Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'Sáb']; - const handleDateClick = (day) => setSelectedDay(day); -const DeleteModal = () => ( -
-
-
-
-
Confirmação de Cancelamento
- -
-
-

Qual o motivo do cancelamento? (Opcional)

- -
-
- - {/* ✨ Botão sempre ativo ✨ */} - -
-
-
-
-); - - - useEffect(() => { - setQuickJump({ - month: currentDate.month(), - year: currentDate.year() - }); - }, [currentDate]); - - const filaEsperaFiltrada = useMemo(() => { - if (!waitlistSearch.trim()) return filaEsperaData; - const term = waitlistSearch.toLowerCase(); - return filaEsperaData.filter(item => - (item?.Infos?.paciente_nome?.toLowerCase() || '').includes(term) || - (item?.Infos?.paciente_cpf?.toLowerCase() || '').includes(term) || - (item?.Infos?.medico_nome?.toLowerCase() || '').includes(term) + for (const key in newDict) { + newDict[key].sort( + (a, b) => new Date(a.scheduled_at) - new Date(b.scheduled_at) ); - }, [waitlistSearch, filaEsperaData]); + } - const applySortingWaitlist = useCallback((arr) => { - if (!Array.isArray(arr) || !waitSortKey) return arr; - const copy = [...arr]; - const key = waitSortKey; - const dir = waitSortDir === 'asc' ? 1 : -1; - copy.sort((a, b) => { - const valA = key === 'data' ? new Date(a.agendamento.scheduled_at) : (a.Infos?.[`${key}_nome`] || ''); - const valB = key === 'data' ? new Date(b.agendamento.scheduled_at) : (b.Infos?.[`${key}_nome`] || ''); - if (valA < valB) return -1 * dir; - if (valA > valB) return 1 * dir; - return 0; - }); - return copy; - }, [waitSortKey, waitSortDir]); - - const filaEsperaOrdenada = useMemo(() => applySortingWaitlist(filaEsperaFiltrada), [filaEsperaFiltrada, applySortingWaitlist]); - const waitTotalPages = Math.ceil(filaEsperaOrdenada.length / waitPerPage) || 1; - const waitIndiceInicial = (waitPage - 1) * waitPerPage; - const waitIndiceFinal = waitIndiceInicial + waitPerPage; - const filaEsperaPaginada = filaEsperaOrdenada.slice(waitIndiceInicial, waitIndiceFinal); - - const gerarNumerosWaitPages = () => { - const paginas = []; - const paginasParaMostrar = 5; - let inicio = Math.max(1, waitPage - Math.floor(paginasParaMostrar / 2)); - let fim = Math.min(waitTotalPages, inicio + paginasParaMostrar - 1); - inicio = Math.max(1, fim - paginasParaMostrar + 1); - for (let i = inicio; i <= fim; i++) paginas.push(i); - return paginas; + setAgendamentosOrganizados(newDict); + setFilaEsperaData(newFila); + setShowSpinner(false); }; - useEffect(() => { setWaitPage(1); }, [waitlistSearch, waitSortKey, waitSortDir]); + processData(); + }, [listaTodosAgendamentos, authHeader]); // Removido 'user' das dependências pois não é mais usado aqui - const handleQuickJumpChange = (type, value) => { - setQuickJump(prev => ({ ...prev, [type]: Number(value) })); - }; + // O restante do código permanece o mesmo... - const applyQuickJump = () => { - let newDate = dayjs().year(quickJump.year).month(quickJump.month).date(1); - setCurrentDate(newDate); - setSelectedDay(newDate); - }; + const handleEditConsulta = (agendamento) => { + setAgendamentoParaEdicao(agendamento); + setPageConsulta(true); + }; - return ( -
-

Agendar nova consulta

-
- - - -
- {!PageNovaConsulta ? ( -
- {user?.role !== 'doctor' && ( -
-
-
-
-
- handleSearchMedicos(e.target.value)} /> -
-
- {searchTermDoctor && FiltredTodosMedicos.length > 0 && ( -
- {FiltredTodosMedicos.map((medico) => ( -
{ - setSearchTermDoctor(medico.nomeMedico); - setFiltredTodosMedicos([]); - setMedicoFiltrado({ id: medico.idMedico }); - }} - > -

{medico.nomeMedico}

-
- ))} -
- )} -
-
-
- )} -
- - -
-
- {!FiladeEspera ? ( -
-
-
{selectedDay.format('MMM')}{selectedDay.format('DD')}
-

{selectedDay.format('dddd')}

{selectedDay.format('D [de] MMMM [de] YYYY')}

-
-

Consultas para {selectedDay.format('DD/MM')}

- {showSpinner ? : (DictAgendamentosOrganizados[selectedDay.format('YYYY-MM-DD')]?.filter(app => MedicoFiltrado.id === "vazio" || app.doctor_id === MedicoFiltrado.id).length > 0) ? ( - DictAgendamentosOrganizados[selectedDay.format('YYYY-MM-DD')] - .filter(app => MedicoFiltrado.id === "vazio" || app.doctor_id === MedicoFiltrado.id) - .map(app => ( -
-
{dayjs(app.scheduled_at).format('HH:mm')}
-
{app.paciente_nome}Dr(a). {app.medico_nome}
-
- {app.status === 'cancelled' ? ( - - ) : ( - - )} - {app.status !== 'cancelled' && ( - - )} -
-
- )) - ) : (

Nenhuma consulta agendada.

)} -
-
-
-
-
Realizado
-
Confirmado
-
Agendado
-
Cancelado
-
-
-
-

{currentDate.format('MMMM [de] YYYY')}

-
- - - -
-
-
- - - -
-
-
- {weekDays.map(day =>
{day}
)} - {dateGrid.map((day, index) => { - const dayString = day.format('YYYY-MM-DD'); - const appointmentsOnDay = DictAgendamentosOrganizados[dayString] || []; - const filteredAppointments = appointmentsOnDay.filter(app => MedicoFiltrado.id === "vazio" || app.doctor_id === MedicoFiltrado.id); - const cellClasses = `day-cell ${day.isSame(currentDate, 'month') ? 'current-month' : 'other-month'} ${day.isSame(dayjs(), 'day') ? 'today' : ''} ${day.isSame(selectedDay, 'day') ? 'selected' : ''}`; - return ( -
handleDateClick(day)}> - {day.format('D')} - {filteredAppointments.length > 0 &&
{filteredAppointments.length}
} -
- ); - })} -
-
-
- ) : ( -
-
-
-
-

Fila de Espera

-
-
-
Filtros
-
setWaitlistSearch(e.target.value)} />Digite o nome do paciente, CPF ou nome do médico
-
-
- Ordenar por: - -
-
-
-
{filaEsperaFiltrada.length} DE {filaEsperaData.length} SOLICITAÇÕES ENCONTRADAS
-
-
-
- - - - - - - - - - - - {filaEsperaPaginada.length > 0 ? ( - filaEsperaPaginada.map((item, index) => ( - - - - - - - - )) - ) : ( - - - - )} - -
Nome do PacienteCPFMédico SolicitadoData da SolicitaçãoAções
{item?.Infos?.paciente_nome}{item?.Infos?.paciente_cpf}{item?.Infos?.medico_nome}{dayjs(item.agendamento.scheduled_at).format('DD/MM/YYYY')} - -
-
- {showSpinner ? : (<>

Nenhuma solicitação encontrada.

)} -
-
- {filaEsperaFiltrada.length > 0 && ( -
-
- Itens por página: - -
-
- Página {waitPage} de {waitTotalPages} • Mostrando {waitIndiceInicial + 1}-{Math.min(waitIndiceFinal, filaEsperaFiltrada.length)} de {filaEsperaFiltrada.length} - -
-
- )} -
-
-
-
-
-
- )} -
-
- ) : ( - { - setPageConsulta(false); - fetchAppointments(); - }} - /> - )} - {showDeleteModal && } + const handleSearchMedicos = (term) => { + setSearchTermDoctor(term); + if (term.trim()) { + const filtered = ListaDeMedicos.filter((medico) => + medico.nomeMedico.toLowerCase().includes(term.toLowerCase()) + ); + setFiltredTodosMedicos(filtered); + } else { + setFiltredTodosMedicos([]); + setMedicoFiltrado({ id: "vazio" }); + } + }; + + const generateDateGrid = () => { + const grid = []; + const startOfMonth = currentDate.startOf("month"); + let currentDay = startOfMonth.subtract(startOfMonth.day(), "day"); + for (let i = 0; i < 42; i++) { + grid.push(currentDay); + currentDay = currentDay.add(1, "day"); + } + return grid; + }; + + const dateGrid = useMemo(() => generateDateGrid(), [currentDate]); + const weekDays = ["Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sáb"]; + const handleDateClick = (day) => setSelectedDay(day); + const DeleteModal = () => ( +
+
+
+
+
Confirmação de Cancelamento
+ +
+
+

Qual o motivo do cancelamento? (Opcional)

+ +
+
+ + {/* ✨ Botão sempre ativo ✨ */} + +
+
+
+ ); + + useEffect(() => { + setQuickJump({ + month: currentDate.month(), + year: currentDate.year(), + }); + }, [currentDate]); + + const filaEsperaFiltrada = useMemo(() => { + if (!waitlistSearch.trim()) return filaEsperaData; + const term = waitlistSearch.toLowerCase(); + return filaEsperaData.filter( + (item) => + (item?.Infos?.paciente_nome?.toLowerCase() || "").includes(term) || + (item?.Infos?.paciente_cpf?.toLowerCase() || "").includes(term) || + (item?.Infos?.medico_nome?.toLowerCase() || "").includes(term) ); -} + }, [waitlistSearch, filaEsperaData]); + + const applySortingWaitlist = useCallback( + (arr) => { + if (!Array.isArray(arr) || !waitSortKey) return arr; + const copy = [...arr]; + const key = waitSortKey; + const dir = waitSortDir === "asc" ? 1 : -1; + copy.sort((a, b) => { + const valA = + key === "data" + ? new Date(a.agendamento.scheduled_at) + : a.Infos?.[`${key}_nome`] || ""; + const valB = + key === "data" + ? new Date(b.agendamento.scheduled_at) + : b.Infos?.[`${key}_nome`] || ""; + if (valA < valB) return -1 * dir; + if (valA > valB) return 1 * dir; + return 0; + }); + return copy; + }, + [waitSortKey, waitSortDir] + ); + + const filaEsperaOrdenada = useMemo( + () => applySortingWaitlist(filaEsperaFiltrada), + [filaEsperaFiltrada, applySortingWaitlist] + ); + const waitTotalPages = + Math.ceil(filaEsperaOrdenada.length / waitPerPage) || 1; + const waitIndiceInicial = (waitPage - 1) * waitPerPage; + const waitIndiceFinal = waitIndiceInicial + waitPerPage; + const filaEsperaPaginada = filaEsperaOrdenada.slice( + waitIndiceInicial, + waitIndiceFinal + ); + + const gerarNumerosWaitPages = () => { + const paginas = []; + const paginasParaMostrar = 5; + let inicio = Math.max(1, waitPage - Math.floor(paginasParaMostrar / 2)); + let fim = Math.min(waitTotalPages, inicio + paginasParaMostrar - 1); + inicio = Math.max(1, fim - paginasParaMostrar + 1); + for (let i = inicio; i <= fim; i++) paginas.push(i); + return paginas; + }; + + useEffect(() => { + setWaitPage(1); + }, [waitlistSearch, waitSortKey, waitSortDir]); + + const handleQuickJumpChange = (type, value) => { + setQuickJump((prev) => ({ ...prev, [type]: Number(value) })); + }; + + const applyQuickJump = () => { + let newDate = dayjs().year(quickJump.year).month(quickJump.month).date(1); + setCurrentDate(newDate); + setSelectedDay(newDate); + }; + + return ( +
+

Agendar nova consulta

+ {!PageNovaConsulta ? ( +
+ {user?.role !== "doctor" && ( +
+
+
+
+
+ handleSearchMedicos(e.target.value)} + /> +
+
+ {searchTermDoctor && FiltredTodosMedicos.length > 0 && ( +
+ {FiltredTodosMedicos.map((medico) => ( +
{ + setSearchTermDoctor(medico.nomeMedico); + setFiltredTodosMedicos([]); + setMedicoFiltrado({ id: medico.idMedico }); + }} + > +

{medico.nomeMedico}

+
+ ))} +
+ )} +
+
+
+ )} +
+
+ + +
+
+ + + +
+
+
+ {!FiladeEspera ? ( +
+
+
+ {selectedDay.format("MMM")} + {selectedDay.format("DD")} +
+
+

{selectedDay.format("dddd")}

+

{selectedDay.format("D [de] MMMM [de] YYYY")}

+
+
+

Consultas para {selectedDay.format("DD/MM")}

+ {showSpinner ? ( + + ) : DictAgendamentosOrganizados[ + selectedDay.format("YYYY-MM-DD") + ]?.filter( + (app) => + MedicoFiltrado.id === "vazio" || + app.doctor_id === MedicoFiltrado.id + ).length > 0 ? ( + DictAgendamentosOrganizados[ + selectedDay.format("YYYY-MM-DD") + ] + .filter( + (app) => + MedicoFiltrado.id === "vazio" || + app.doctor_id === MedicoFiltrado.id + ) + .map((app) => ( +
+
+ {dayjs(app.scheduled_at).format("HH:mm")} +
+
+ {app.paciente_nome} + Dr(a). {app.medico_nome} +
+
+ {app.status === "cancelled" ? ( + + ) : ( + + )} + {app.status !== "cancelled" && ( + + )} +
+
+ )) + ) : ( +
+

Nenhuma consulta agendada.

+
+ )} +
+
+
+
+
+ Realizado +
+
+ Confirmado +
+
+ Agendado +
+
+ Cancelado +
+
+
+
+

{currentDate.format("MMMM [de] YYYY")}

+
+ + + +
+
+
+ + + +
+
+
+ {weekDays.map((day) => ( +
+ {day} +
+ ))} + {dateGrid.map((day, index) => { + const dayString = day.format("YYYY-MM-DD"); + const appointmentsOnDay = + DictAgendamentosOrganizados[dayString] || []; + const filteredAppointments = appointmentsOnDay.filter( + (app) => + MedicoFiltrado.id === "vazio" || + app.doctor_id === MedicoFiltrado.id + ); + const cellClasses = `day-cell ${ + day.isSame(currentDate, "month") + ? "current-month" + : "other-month" + } ${day.isSame(dayjs(), "day") ? "today" : ""} ${ + day.isSame(selectedDay, "day") ? "selected" : "" + }`; + return ( +
handleDateClick(day)} + > + {day.format("D")} + {filteredAppointments.length > 0 && ( +
+ {filteredAppointments.length} +
+ )} +
+ ); + })} +
+
+
+ ) : ( +
+
+
+
+
+

Fila de Espera

+
+
+
+
+ {" "} + Filtros +
+
+ + setWaitlistSearch(e.target.value) + } + /> + + Digite o nome do paciente, CPF ou nome do médico + +
+
+
+ + Ordenar por: + + +
+
+
+
+ {filaEsperaFiltrada.length} DE{" "} + {filaEsperaData.length} SOLICITAÇÕES ENCONTRADAS +
+
+
+
+ + + + + + + + + + + + {filaEsperaPaginada.length > 0 ? ( + filaEsperaPaginada.map((item, index) => ( + + + + + + + + )) + ) : ( + + + + )} + +
Nome do PacienteCPFMédico SolicitadoData da SolicitaçãoAções
{item?.Infos?.paciente_nome}{item?.Infos?.paciente_cpf}{item?.Infos?.medico_nome} + {dayjs( + item.agendamento.scheduled_at + ).format("DD/MM/YYYY")} + + +
+
+ {showSpinner ? ( + + ) : ( + <> + +

+ Nenhuma solicitação encontrada. +

+ + )} +
+
+ {filaEsperaFiltrada.length > 0 && ( +
+
+ + Itens por página: + + +
+
+ + Página {waitPage} de {waitTotalPages} • + Mostrando {waitIndiceInicial + 1}- + {Math.min( + waitIndiceFinal, + filaEsperaFiltrada.length + )}{" "} + de {filaEsperaFiltrada.length} + + +
+
+ )} +
+
+
+
+
+
+ )} +
+
+ ) : ( + { + setPageConsulta(false); + fetchAppointments(); + }} + /> + )} + {showDeleteModal && } +
+ ); +}; export default Agendamento; diff --git a/src/pages/FinanceiroDashboard.jsx b/src/pages/FinanceiroDashboard.jsx index b3768ce..d2bf772 100644 --- a/src/pages/FinanceiroDashboard.jsx +++ b/src/pages/FinanceiroDashboard.jsx @@ -86,7 +86,7 @@ function mockFetchPagamentos() { { id: "PAY-001", paciente: { nome: "Sarah Oliveira", convenio: "Unimed" }, - valor: 20000, + valor: 20000, forma_pagamento: "Cartão", data_vencimento: "2025-09-30", status: "pendente", @@ -96,7 +96,7 @@ function mockFetchPagamentos() { { id: "PAY-002", paciente: { nome: "Laissa Marquetti", convenio: "Bradesco Saúde" }, - valor: 15000, + valor: 15000, forma_pagamento: "Dinheiro", data_vencimento: "2025-09-15", status: "pago", @@ -106,14 +106,14 @@ function mockFetchPagamentos() { { id: "PAY-003", paciente: { nome: "Vera Santos", convenio: "Particular" }, - valor: 30000, + valor: 30000, forma_pagamento: "Pix", data_vencimento: "2025-09-20", - status: "vencido", + status: "vencido", desconto: 0, observacoes: "Não respondeu ao contato" }, - { + { id: "PAY-004", paciente: { nome: "Carlos Almeida", convenio: "Particular" }, valor: 10000, @@ -169,7 +169,7 @@ export default function FinanceiroDashboard() { recebido += valorLiquido; descontos += p.desconto; } else { - aReceber += p.valor; + aReceber += valorLiquido; } }); @@ -244,8 +244,7 @@ export default function FinanceiroDashboard() {
@@ -416,15 +415,14 @@ export default function FinanceiroDashboard() {
-
@@ -432,4 +430,4 @@ export default function FinanceiroDashboard() { )}
); -} +} \ No newline at end of file diff --git a/src/pages/style/Agendamento.css b/src/pages/style/Agendamento.css index 6a4964f..806e78c 100644 --- a/src/pages/style/Agendamento.css +++ b/src/pages/style/Agendamento.css @@ -273,6 +273,7 @@ justify-content: space-between; align-items: center; margin: 15px 0 20px; + color: #fff; } .tabs-agenda-fila { diff --git a/src/pages/style/FinanceiroDashboard.css b/src/pages/style/FinanceiroDashboard.css index d9caac7..2d9fb6a 100644 --- a/src/pages/style/FinanceiroDashboard.css +++ b/src/pages/style/FinanceiroDashboard.css @@ -39,6 +39,7 @@ margin: 0 0 8px 0; font-size: 14px; font-weight: 500; + color: #fff; opacity: 0.9; } @@ -107,35 +108,79 @@ } /* Botões de ação */ -.action-group { - display: flex; - gap: 8px; - align-items: center; + +.btn-view { + background-color: #E6F2FF !important; + color: #004085 !important; + border: 1px solid #B8D4F0 !important; + padding: 0.375rem 0.75rem; + font-size: 0.875rem; + border-radius: 6px; + cursor: pointer; + transition: all 0.15s ease-in-out; + text-decoration: none; + display: inline-block; + text-align: center; } -.action-btn { - cursor: pointer; - padding: 6px 12px; - border-radius: 6px; - border: 1px solid #d7e6fb; - background: #fff; - transition: all 0.2s ease; - font-size: 13px; +.btn-view:hover { + background-color: #D1E7FF !important; + border-color: #9EC5FE !important; } -.action-btn:hover { - background: #f6f9fc; - border-color: #93c5fd; +.btn-edit { + background-color: #FFF3CD !important; + color: #856404 !important; + border: 1px solid #FFEAA7 !important; + padding: 0.375rem 0.75rem; + font-size: 0.875rem; + border-radius: 6px; + cursor: pointer; + transition: all 0.15s ease-in-out; + text-decoration: none; + display: inline-block; + text-align: center; } -.action-btn.delete { - border-color: #fca5a5; - color: #b91c1c; +.btn-edit:hover { + background-color: #FFEEBA !important; + border-color: #FFE087 !important; } -.action-btn.delete:hover { - background: #fee2e2; - border-color: #ef4444; +.btn-delete:hover { + background-color: #F1B0B7 !important; + border-color: #ED969E !important; +} +.btn-delete { + background-color: #F8D7DA !important; + color: #721C24 !important; + border: 1px solid #F5C6CB !important; + padding: 0.375rem 0.75rem; + font-size: 0.875rem; + border-radius: 6px; + cursor: pointer; + transition: all 0.15s ease-in-out; + text-decoration: none; + display: inline-block; + text-align: center; +} + +html[data-bs-theme="dark"] .btn-view { + background-color: #1e3a8a !important; + color: #e0e0e0 !important; + border-color: #374151 !important; +} + +html[data-bs-theme="dark"] .btn-edit { + background-color: #78350f !important; + color: #fef3c7 !important; + border-color: #374151 !important; +} + +html[data-bs-theme="dark"] .btn-delete { + background-color: #7f1d1d !important; + color: #fee2e2 !important; + border-color: #374151 !important; } /* Badges de status */ @@ -182,8 +227,8 @@ padding: 24px; width: 100%; max-width: 550px; - max-height: 90vh; - overflow-y: auto; + max-height: 85vh; + overflow-y: auto; box-sizing: border-box; box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1); } @@ -208,6 +253,12 @@ gap: 16px; } +.modal-card .input-field, +.modal-card .select-field, +.modal-card textarea { + width: 100%; +} + .form-group { display: flex; flex-direction: column; @@ -241,12 +292,23 @@ gap: 10px; margin-top: 24px; } +.input-field, +.select-field, +textarea { + padding: 10px 12px; + border: 1px solid #d1d5db; + border-radius: 8px; + box-sizing: border-box; + font-size: 14px; + transition: border-color 0.2s, box-shadow 0.2s; + background-color: #fff; +} + /* Inputs e selects */ .input-field, .select-field, textarea { - width: 100%; padding: 10px 12px; border: 1px solid #d1d5db; border-radius: 8px; @@ -269,6 +331,18 @@ textarea { min-height: 80px; } +.financeiro-wrap .input-field:not(.modal-card *), +.financeiro-wrap .select-field:not(.modal-card *), +.financeiro-wrap textarea:not(.modal-card *) { + width: 30%; +} + +.modal-card .input-field, +.modal-card .select-field, +.modal-card textarea { + width: 100%; +} + /* Mensagem quando não há pagamentos */ .empty { text-align: center; @@ -366,4 +440,4 @@ html[data-bs-theme="dark"] textarea:focus { border-color: #3b82f6; box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.25); outline: none; -} \ No newline at end of file +} diff --git a/src/pages/style/Inicio.css b/src/pages/style/Inicio.css index 21e4058..a7da5d5 100644 --- a/src/pages/style/Inicio.css +++ b/src/pages/style/Inicio.css @@ -70,10 +70,10 @@ } /* Cores dos ícones */ -.stat-icon-wrapper.blue { background-color: #5d5dff; } -.stat-icon-wrapper.green { background-color: #30d158; } -.stat-icon-wrapper.purple { background-color: #a272ff; } -.stat-icon-wrapper.orange { background-color: #f1952e; } +.stat-icon-wrapper.blue { background-color: #1D3B88; } +.stat-icon-wrapper.green { background-color: #399CE5; } +.stat-icon-wrapper.purple { background-color: #5F5DF2; } +.stat-icon-wrapper.orange { background-color: #051AFF; } /* Seção de Ações Rápidas */ .quick-actions h2 { From d67f4d6db440f8d61ecd225f760b61bc283bd6b7 Mon Sep 17 00:00:00 2001 From: pedrofedericoo Date: Thu, 27 Nov 2025 12:05:41 -0300 Subject: [PATCH 06/10] =?UTF-8?q?Ultimas=20corre=C3=A7=C3=B5es?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/PagesMedico/DoctorAgendamentoManager.jsx | 1090 +++++++++++------- src/PagesMedico/styleMedico/Agendamento.css | 1 + src/pages/FinanceiroDashboard.jsx | 379 +++--- src/pages/style/FinanceiroDashboard.css | 7 +- src/pages/style/inicioPaciente.css | 22 +- 5 files changed, 942 insertions(+), 557 deletions(-) diff --git a/src/PagesMedico/DoctorAgendamentoManager.jsx b/src/PagesMedico/DoctorAgendamentoManager.jsx index d89a68f..567646c 100644 --- a/src/PagesMedico/DoctorAgendamentoManager.jsx +++ b/src/PagesMedico/DoctorAgendamentoManager.jsx @@ -1,14 +1,21 @@ -import React, { useState, useMemo, useEffect, useCallback } from 'react'; -import { useNavigate } from 'react-router-dom'; -import API_KEY from '../components/utils/apiKeys.js'; -import AgendamentoCadastroManager from '../pages/AgendamentoCadastroManager.jsx'; -import { GetAllDoctors } from '../components/utils/Functions-Endpoints/Doctor.js'; -import { useAuth } from '../components/utils/AuthProvider.js'; -import dayjs from 'dayjs'; -import 'dayjs/locale/pt-br'; -import isBetween from 'dayjs/plugin/isBetween'; -import localeData from 'dayjs/plugin/localeData'; -import { Search, ChevronLeft, ChevronRight, Edit, Trash2, CheckCircle } from 'lucide-react'; +import React, { useState, useMemo, useEffect, useCallback } from "react"; +import { useNavigate } from "react-router-dom"; +import API_KEY from "../components/utils/apiKeys.js"; +import AgendamentoCadastroManager from "../pages/AgendamentoCadastroManager.jsx"; +import { GetAllDoctors } from "../components/utils/Functions-Endpoints/Doctor.js"; +import { useAuth } from "../components/utils/AuthProvider.js"; +import dayjs from "dayjs"; +import "dayjs/locale/pt-br"; +import isBetween from "dayjs/plugin/isBetween"; +import localeData from "dayjs/plugin/localeData"; +import { + Search, + ChevronLeft, + ChevronRight, + Edit, + Trash2, + CheckCircle, +} from "lucide-react"; import "../pages/style/Agendamento.css"; import "../pages/style/FilaEspera.css"; import Spinner from "../components/Spinner.jsx"; @@ -22,8 +29,7 @@ const Agendamento = () => { const { getAuthorizationHeader, user } = useAuth(); const authHeader = getAuthorizationHeader(); - - const ID_MEDICO_ESPECIFICO = "078d2a67-b4c1-43c8-ae32-c1e75bb5b3df"; + const ID_MEDICO_ESPECIFICO = "078d2a67-b4c1-43c8-ae32-c1e75bb5b3df"; const [listaTodosAgendamentos, setListaTodosAgendamentos] = useState([]); const [selectedID, setSelectedId] = useState("0"); @@ -55,17 +61,19 @@ const Agendamento = () => { year: currentDate.year(), }); + const fetchAppointments = useCallback(async () => { + if (!authHeader) return; + setShowSpinner(true); + const myHeaders = new Headers(); + myHeaders.append("Authorization", authHeader); + myHeaders.append("apikey", API_KEY); + const requestOptions = { + method: "GET", + headers: myHeaders, + redirect: "follow", + }; - const fetchAppointments = useCallback(async () => { - if (!authHeader) return; - setShowSpinner(true); - const myHeaders = new Headers(); - myHeaders.append("Authorization", authHeader); - myHeaders.append("apikey", API_KEY); - const requestOptions = { method: 'GET', headers: myHeaders, redirect: 'follow' }; - - - const apiUrl = `https://yuanqfswhberkoevtmfr.supabase.co/rest/v1/appointments?doctor_id=eq.${ID_MEDICO_ESPECIFICO}&select=*`; + const apiUrl = `https://yuanqfswhberkoevtmfr.supabase.co/rest/v1/appointments?doctor_id=eq.${ID_MEDICO_ESPECIFICO}&select=*`; try { const res = await fetch(apiUrl, requestOptions); @@ -151,33 +159,33 @@ const Agendamento = () => { [updateAppointmentStatus] ); - useEffect(() => { - if(authHeader) { - fetchAppointments(); - - if (user?.role !== 'doctor') { - GetAllDoctors(authHeader).then(docs => { - if (docs) { - setListaDeMedicos(docs.map(d => ({ nomeMedico: d.full_name, idMedico: d.id }))); - } - }); - } - } - }, [authHeader, fetchAppointments, user?.role]); + useEffect(() => { + if (authHeader) { + fetchAppointments(); - useEffect(() => { - const processData = async () => { - - if (!listaTodosAgendamentos.length) { - setAgendamentosOrganizados({}); - setFilaEsperaData([]); - return; - } + if (user?.role !== "doctor") { + GetAllDoctors(authHeader).then((docs) => { + if (docs) { + setListaDeMedicos( + docs.map((d) => ({ nomeMedico: d.full_name, idMedico: d.id })) + ); + } + }); + } + } + }, [authHeader, fetchAppointments, user?.role]); + + useEffect(() => { + const processData = async () => { + if (!listaTodosAgendamentos.length) { + setAgendamentosOrganizados({}); + setFilaEsperaData([]); + return; + } setShowSpinner(true); - - const appointmentsToShow = listaTodosAgendamentos; + const appointmentsToShow = listaTodosAgendamentos; const patientIdsToFetch = new Set(); const doctorIdsToFetch = new Set(); @@ -193,16 +201,19 @@ const Agendamento = () => { const fetchPromises = []; - if (patientIdsToFetch.size > 0) { - const query = `id=in.(${Array.from(patientIdsToFetch).join(',')})`; - fetchPromises.push( - fetch(`https://yuanqfswhberkoevtmfr.supabase.co/rest/v1/patients?${query}&select=*`, { - headers: { apikey: API_KEY, Authorization: authHeader } - }).then(res => res.json()) - ); - } else { - fetchPromises.push(Promise.resolve(null)); + if (patientIdsToFetch.size > 0) { + const query = `id=in.(${Array.from(patientIdsToFetch).join(",")})`; + fetchPromises.push( + fetch( + `https://yuanqfswhberkoevtmfr.supabase.co/rest/v1/patients?${query}&select=*`, + { + headers: { apikey: API_KEY, Authorization: authHeader }, } + ).then((res) => res.json()) + ); + } else { + fetchPromises.push(Promise.resolve(null)); + } if (doctorIdsToFetch.size > 0) { const query = `id=in.(${Array.from(doctorIdsToFetch).join(",")})`; @@ -271,10 +282,8 @@ const Agendamento = () => { setShowSpinner(false); }; - processData(); - }, [listaTodosAgendamentos, authHeader]); - - + processData(); + }, [listaTodosAgendamentos, authHeader]); const handleEditConsulta = (agendamento) => { setAgendamentoParaEdicao(agendamento); @@ -305,28 +314,54 @@ const Agendamento = () => { return grid; }; - const dateGrid = useMemo(() => generateDateGrid(), [currentDate]); - const weekDays = ['Dom', 'Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'Sáb']; - const handleDateClick = (day) => setSelectedDay(day); -const DeleteModal = () => ( -
-
-
-
-
Confirmação de Cancelamento
-
-
-

Qual o motivo do cancelamento?

- -
-
- - -
-
+ const dateGrid = useMemo(() => generateDateGrid(), [currentDate]); + const weekDays = ["Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sáb"]; + const handleDateClick = (day) => setSelectedDay(day); + const DeleteModal = () => ( +
+
+
+
+
Confirmação de Cancelamento
+
+
+

Qual o motivo do cancelamento?

+ +
+
+ + +
+
); @@ -409,320 +444,591 @@ const DeleteModal = () => ( setSelectedDay(newDate); }; - return ( -
-

Agendar nova consulta

-
- - - -
- {!PageNovaConsulta ? ( -
- {user?.role !== 'doctor' && ( -
-
- - Filtrar por Médico -
-
- handleSearchMedicos(e.target.value)} - /> - Buscar médico para filtrar consultas - - {searchTermDoctor && FiltredTodosMedicos.length > 0 && ( -
- {FiltredTodosMedicos.map((medico) => ( - - ))} -
- )} -
- - {MedicoFiltrado.id !== "vazio" && ( -
- - - {searchTermDoctor} - - -
- )} -
- )} -
- - -
-
- {!FiladeEspera ? ( -
-
-
{selectedDay.format('MMM')}{selectedDay.format('DD')}
-

{selectedDay.format('dddd')}

{selectedDay.format('D [de] MMMM [de] YYYY')}

-
-

Consultas para {selectedDay.format('DD/MM')}

- {showSpinner ? : (DictAgendamentosOrganizados[selectedDay.format('YYYY-MM-DD')]?.filter(app => MedicoFiltrado.id === "vazio" || app.doctor_id === MedicoFiltrado.id).length > 0) ? ( - DictAgendamentosOrganizados[selectedDay.format('YYYY-MM-DD')] - .filter(app => MedicoFiltrado.id === "vazio" || app.doctor_id === MedicoFiltrado.id) - .map(app => ( -
-
{dayjs(app.scheduled_at).format('HH:mm')}
-
{app.paciente_nome}Dr(a). {app.medico_nome}
-
- {app.status === 'cancelled' ? ( - - ) : ( - - )} - {app.status !== 'cancelled' && ( - - )} -
-
- )) - ) : (

Nenhuma consulta agendada.

)} -
-
-
-
-
Realizado
-
Confirmado
-
Agendado
-
Cancelado
-
-
-
-

{currentDate.format('MMMM [de] YYYY')}

-
- - - -
-
-
- - - -
-
-
- {weekDays.map(day =>
{day}
)} - {dateGrid.map((day, index) => { - const dayString = day.format('YYYY-MM-DD'); - const appointmentsOnDay = DictAgendamentosOrganizados[dayString] || []; - const filteredAppointments = appointmentsOnDay.filter(app => MedicoFiltrado.id === "vazio" || app.doctor_id === MedicoFiltrado.id); - const cellClasses = `day-cell ${day.isSame(currentDate, 'month') ? 'current-month' : 'other-month'} ${day.isSame(dayjs(), 'day') ? 'today' : ''} ${day.isSame(selectedDay, 'day') ? 'selected' : ''}`; - return ( -
handleDateClick(day)}> - {day.format('D')} - {filteredAppointments.length > 0 &&
{filteredAppointments.length}
} -
- ); - })} -
-
-
- ) : ( -
-
-
-
-

Fila de Espera

-
-
-
Filtros
-
setWaitlistSearch(e.target.value)} />Digite o nome do paciente, CPF ou nome do médico
-
-
- Ordenar por: - -
-
-
-
{filaEsperaFiltrada.length} DE {filaEsperaData.length} SOLICITAÇÕES ENCONTRADAS
-
-
-
- - - - - - - - - - - - {filaEsperaPaginada.length > 0 ? ( - filaEsperaPaginada.map((item, index) => ( - - - - - - - - )) - ) : ( - - - - )} - -
Nome do PacienteCPFMédico SolicitadoData da SolicitaçãoAções
{item?.Infos?.paciente_nome}{item?.Infos?.paciente_cpf}{item?.Infos?.medico_nome}{dayjs(item.agendamento.scheduled_at).format('DD/MM/YYYY')} - -
-
- {showSpinner ? : (<>

Nenhuma solicitação encontrada.

)} -
-
- {filaEsperaFiltrada.length > 0 && ( -
-
- Itens por página: - -
-
- Página {waitPage} de {waitTotalPages} • Mostrando {waitIndiceInicial + 1}-{Math.min(waitIndiceFinal, filaEsperaFiltrada.length)} de {filaEsperaFiltrada.length} - -
-
- )} -
-
-
-
-
-
- )} -
-
- ) : ( - { - setPageConsulta(false); - fetchAppointments(); - }} + return ( +
+

Agendar nova consulta

+ {!PageNovaConsulta ? ( +
+ {user?.role !== "doctor" && ( +
+
+ + Filtrar por Médico +
+
+ handleSearchMedicos(e.target.value)} /> + + Buscar médico para filtrar consultas + + + {searchTermDoctor && FiltredTodosMedicos.length > 0 && ( +
+ {FiltredTodosMedicos.map((medico) => ( + + ))} +
+ )} +
+ + {MedicoFiltrado.id !== "vazio" && ( +
+ + + {searchTermDoctor} + + +
+ )} +
+ )} +
+
+ + +
+
+ + + +
+
+ +
+ {!FiladeEspera ? ( +
+
+
+ {selectedDay.format("MMM")} + {selectedDay.format("DD")} +
+
+

{selectedDay.format("dddd")}

+

{selectedDay.format("D [de] MMMM [de] YYYY")}

+
+
+

Consultas para {selectedDay.format("DD/MM")}

+ {showSpinner ? ( + + ) : DictAgendamentosOrganizados[ + selectedDay.format("YYYY-MM-DD") + ]?.filter( + (app) => + MedicoFiltrado.id === "vazio" || + app.doctor_id === MedicoFiltrado.id + ).length > 0 ? ( + DictAgendamentosOrganizados[ + selectedDay.format("YYYY-MM-DD") + ] + .filter( + (app) => + MedicoFiltrado.id === "vazio" || + app.doctor_id === MedicoFiltrado.id + ) + .map((app) => ( +
+
+ {dayjs(app.scheduled_at).format("HH:mm")} +
+
+ {app.paciente_nome} + Dr(a). {app.medico_nome} +
+
+ {app.status === "cancelled" ? ( + + ) : ( + + )} + {app.status !== "cancelled" && ( + + )} +
+
+ )) + ) : ( +
+

Nenhuma consulta agendada.

+
+ )} +
+
+
+
+
+ Realizado +
+
+ Confirmado +
+
+ Agendado +
+
+ Cancelado +
+
+
+
+

{currentDate.format("MMMM [de] YYYY")}

+
+ + + +
+
+
+ + + +
+
+
+ {weekDays.map((day) => ( +
+ {day} +
+ ))} + {dateGrid.map((day, index) => { + const dayString = day.format("YYYY-MM-DD"); + const appointmentsOnDay = + DictAgendamentosOrganizados[dayString] || []; + const filteredAppointments = appointmentsOnDay.filter( + (app) => + MedicoFiltrado.id === "vazio" || + app.doctor_id === MedicoFiltrado.id + ); + const cellClasses = `day-cell ${ + day.isSame(currentDate, "month") + ? "current-month" + : "other-month" + } ${day.isSame(dayjs(), "day") ? "today" : ""} ${ + day.isSame(selectedDay, "day") ? "selected" : "" + }`; + return ( +
handleDateClick(day)} + > + {day.format("D")} + {filteredAppointments.length > 0 && ( +
+ {filteredAppointments.length} +
+ )} +
+ ); + })} +
+
+
+ ) : ( +
+
+
+
+
+

Fila de Espera

+
+
+
+
+ {" "} + Filtros +
+
+ + setWaitlistSearch(e.target.value) + } + /> + + Digite o nome do paciente, CPF ou nome do médico + +
+
+
+ + Ordenar por: + + +
+
+
+
+ {filaEsperaFiltrada.length} DE{" "} + {filaEsperaData.length} SOLICITAÇÕES ENCONTRADAS +
+
+
+
+ + + + + + + + + + + + {filaEsperaPaginada.length > 0 ? ( + filaEsperaPaginada.map((item, index) => ( + + + + + + + + )) + ) : ( + + + + )} + +
Nome do PacienteCPFMédico SolicitadoData da SolicitaçãoAções
{item?.Infos?.paciente_nome}{item?.Infos?.paciente_cpf}{item?.Infos?.medico_nome} + {dayjs( + item.agendamento.scheduled_at + ).format("DD/MM/YYYY")} + + +
+
+ {showSpinner ? ( + + ) : ( + <> + +

+ Nenhuma solicitação encontrada. +

+ + )} +
+
+ {filaEsperaFiltrada.length > 0 && ( +
+
+ + Itens por página: + + +
+
+ + Página {waitPage} de {waitTotalPages} • + Mostrando {waitIndiceInicial + 1}- + {Math.min( + waitIndiceFinal, + filaEsperaFiltrada.length + )}{" "} + de {filaEsperaFiltrada.length} + + +
+
+ )} +
+
+
+
+
+
)} - {showDeleteModal && } +
- ); -} + ) : ( + { + setPageConsulta(false); + fetchAppointments(); + }} + /> + )} + {showDeleteModal && } +
+ ); +}; export default Agendamento; diff --git a/src/PagesMedico/styleMedico/Agendamento.css b/src/PagesMedico/styleMedico/Agendamento.css index ffa5552..09cde6f 100644 --- a/src/PagesMedico/styleMedico/Agendamento.css +++ b/src/PagesMedico/styleMedico/Agendamento.css @@ -140,6 +140,7 @@ border-bottom: 3px solid transparent; padding: 8px; border-radius: 10px 10px 0px 0px; + color: #fff; font-weight: bold; cursor: pointer; } diff --git a/src/pages/FinanceiroDashboard.jsx b/src/pages/FinanceiroDashboard.jsx index d2bf772..e41b321 100644 --- a/src/pages/FinanceiroDashboard.jsx +++ b/src/pages/FinanceiroDashboard.jsx @@ -1,5 +1,5 @@ import React, { useState, useEffect, useMemo, useCallback } from "react"; -import './style/FinanceiroDashboard.css'; +import "./style/FinanceiroDashboard.css"; const CONVENIOS_LIST = [ "Particular", @@ -8,72 +8,77 @@ const CONVENIOS_LIST = [ "SulAmérica", "Unimed", "Cassio", - "Outro" + "Outro", ]; function CurrencyInput({ value, onChange, label, id }) { const formattedValue = useMemo(() => { let numericValue = Number(value) || 0; - + let stringValue = String(numericValue); while (stringValue.length < 3) { - stringValue = '0' + stringValue; + stringValue = "0" + stringValue; } const integerPart = stringValue.slice(0, -2); const decimalPart = stringValue.slice(-2); - - const formattedInteger = integerPart.replace(/\B(?=(\d{3})+(?!\d))/g, '.'); + + const formattedInteger = integerPart.replace(/\B(?=(\d{3})+(?!\d))/g, "."); return `R$ ${formattedInteger},${decimalPart}`; }, [value]); - const handleKeyDown = useCallback((e) => { - const key = e.key; + const handleKeyDown = useCallback( + (e) => { + const key = e.key; - if (['Backspace', 'Delete', 'ArrowLeft', 'ArrowRight', 'Tab'].includes(key)) { - if (key === 'Backspace' || key === 'Delete') { + if ( + ["Backspace", "Delete", "ArrowLeft", "ArrowRight", "Tab"].includes(key) + ) { + if (key === "Backspace" || key === "Delete") { e.preventDefault(); const numericValue = value || 0; let newValueString = String(numericValue); if (newValueString.length <= 1) { - onChange(0); + onChange(0); } else { - const newNumericValue = parseInt(newValueString.slice(0, -1)) || 0; - onChange(newNumericValue); + const newNumericValue = parseInt(newValueString.slice(0, -1)) || 0; + onChange(newNumericValue); } + } + return; + } + + if (!/^\d$/.test(key)) { + e.preventDefault(); + return; } - return; - } - if (!/^\d$/.test(key)) { e.preventDefault(); - return; - } - - e.preventDefault(); - - const digit = key; - const numericValue = value || 0; - let newValueString = String(numericValue) + digit; - - if (newValueString.length > 10) return; + const digit = key; + const numericValue = value || 0; - const newNumericValue = parseInt(newValueString); + let newValueString = String(numericValue) + digit; - onChange(newNumericValue); - }, [value, onChange]); + if (newValueString.length > 10) return; + + const newNumericValue = parseInt(newValueString); + + onChange(newNumericValue); + }, + [value, onChange] + ); return (
- {}} + className="input-field currency-input" + type="text" + value={formattedValue} + onChange={() => {}} onKeyDown={handleKeyDown} placeholder="R$ 0,00" /> @@ -91,27 +96,27 @@ function mockFetchPagamentos() { data_vencimento: "2025-09-30", status: "pendente", desconto: 0, - observacoes: "Pagamento parcelado em 2x" + observacoes: "Pagamento parcelado em 2x", }, { id: "PAY-002", paciente: { nome: "Laissa Marquetti", convenio: "Bradesco Saúde" }, - valor: 15000, + valor: 15000, forma_pagamento: "Dinheiro", data_vencimento: "2025-09-15", status: "pago", - desconto: 1000, - observacoes: "" + desconto: 1000, + observacoes: "", }, { id: "PAY-003", paciente: { nome: "Vera Santos", convenio: "Particular" }, - valor: 30000, + valor: 30000, forma_pagamento: "Pix", data_vencimento: "2025-09-20", - status: "vencido", + status: "vencido", desconto: 0, - observacoes: "Não respondeu ao contato" + observacoes: "Não respondeu ao contato", }, { id: "PAY-004", @@ -120,9 +125,9 @@ function mockFetchPagamentos() { forma_pagamento: "Transferência", data_vencimento: "2025-09-29", status: "pago", - desconto: 500, - observacoes: "Desconto por pagamento adiantado" - } + desconto: 500, + observacoes: "Desconto por pagamento adiantado", + }, ]; } @@ -132,7 +137,11 @@ export default function FinanceiroDashboard() { const [query, setQuery] = useState(""); const [filtroStatus, setFiltroStatus] = useState("Todos"); const [novoPagamento, setNovoPagamento] = useState(false); - const [summary, setSummary] = useState({ totalRecebido: 0, totalAReceber: 0, totalDescontos: 0 }); + const [summary, setSummary] = useState({ + totalRecebido: 0, + totalAReceber: 0, + totalDescontos: 0, + }); useEffect(() => { const data = mockFetchPagamentos(); @@ -141,7 +150,13 @@ export default function FinanceiroDashboard() { function formatCurrency(centavos) { const valorEmReais = centavos / 100; - return "R$ " + valorEmReais.toFixed(2).replace(".", ",").replace(/\B(?=(\d{3})+(?!\d))/g, '.'); + return ( + "R$ " + + valorEmReais + .toFixed(2) + .replace(".", ",") + .replace(/\B(?=(\d{3})+(?!\d))/g, ".") + ); } function getValorLiquido(valor, desconto) { @@ -149,11 +164,12 @@ export default function FinanceiroDashboard() { } const filteredPagamentos = useMemo(() => { - return pagamentos.filter(p => { + return pagamentos.filter((p) => { const q = query.toLowerCase(); const statusOk = filtroStatus === "Todos" || p.status === filtroStatus; - const buscaOk = p.paciente.nome.toLowerCase().includes(q) || - p.id.toLowerCase().includes(q); + const buscaOk = + p.paciente.nome.toLowerCase().includes(q) || + p.id.toLowerCase().includes(q); return statusOk && buscaOk; }); }, [pagamentos, query, filtroStatus]); @@ -163,47 +179,55 @@ export default function FinanceiroDashboard() { let aReceber = 0; let descontos = 0; - filteredPagamentos.forEach(p => { + filteredPagamentos.forEach((p) => { const valorLiquido = getValorLiquido(p.valor, p.desconto); - if (p.status === 'pago') { + if (p.status === "pago") { recebido += valorLiquido; descontos += p.desconto; } else { - aReceber += valorLiquido; + aReceber += valorLiquido; } }); setSummary({ totalRecebido: recebido, totalAReceber: aReceber, - totalDescontos: descontos + totalDescontos: descontos, }); }, [filteredPagamentos]); function handleDelete(id) { if (window.confirm("Tem certeza que deseja excluir este pagamento?")) { - setPagamentos(prev => prev.filter(p => p.id !== id)); + setPagamentos((prev) => prev.filter((p) => p.id !== id)); setModalPagamento(null); } } function handleSave(pagamento) { - if (!pagamento.paciente.nome || !pagamento.valor || !pagamento.data_vencimento || !pagamento.paciente.convenio) { - alert("Preencha Paciente, Convênio, Valor e Data de Vencimento."); - return; + if ( + !pagamento.paciente.nome || + !pagamento.valor || + !pagamento.data_vencimento || + !pagamento.paciente.convenio + ) { + alert("Preencha Paciente, Convênio, Valor e Data de Vencimento."); + return; } if (novoPagamento) { - const newId = "PAY-" + (pagamentos.length + 1).toString().padStart(3, "0"); - pagamento.id = newId; - setPagamentos(prev => [...prev, pagamento]); + const newId = + "PAY-" + (pagamentos.length + 1).toString().padStart(3, "0"); + pagamento.id = newId; + setPagamentos((prev) => [...prev, pagamento]); } else { - setPagamentos(prev => prev.map(p => p.id === pagamento.id ? pagamento : p)); + setPagamentos((prev) => + prev.map((p) => (p.id === pagamento.id ? pagamento : p)) + ); } setModalPagamento(null); setNovoPagamento(false); } - + const closeModal = () => { setModalPagamento(null); setNovoPagamento(false); @@ -212,50 +236,54 @@ export default function FinanceiroDashboard() { return (

Controle Financeiro

- +
-

Total Recebido (Filtrado)

-

{formatCurrency(summary.totalRecebido)}

+

Total Recebido (Filtrado)

+

{formatCurrency(summary.totalRecebido)}

-

Total a Receber (Filtrado)

-

{formatCurrency(summary.totalAReceber)}

+

Total a Receber (Filtrado)

+

{formatCurrency(summary.totalAReceber)}

-

Descontos Aplicados

-

{formatCurrency(summary.totalDescontos)}

+

Descontos Aplicados

+

{formatCurrency(summary.totalDescontos)}

-
-
- +
+ setQuery(e.target.value)} + placeholder="Buscar paciente" + value={query} + onChange={(e) => setQuery(e.target.value)} style={{ flexGrow: 1 }} /> - setFiltroStatus(e.target.value)} + > -
-
+
)} @@ -508,52 +328,38 @@ const Agendamento = ({ setDictInfo }) => { )} - {/* ===== MODAL DE CANCELAMENTO ===== */} {isCancelModalOpen && ( -
e.target.classList.contains("modal") && setIsCancelModalOpen(false)} - > -
-
-
-
Confirmação de Cancelamento
-
- -
-

Deseja realmente cancelar esta consulta?

-

Esta ação não pode ser desfeita.

- - - -
- -
- - - -
+
+
+
+

Confirmação de Cancelamento

+ +
+
+

Qual o motivo do cancelamento?

+ +
+
+ +
diff --git a/src/PagesPaciente/style.css b/src/PagesPaciente/style.css index 2d0b21f..e675e55 100644 --- a/src/PagesPaciente/style.css +++ b/src/PagesPaciente/style.css @@ -1,14 +1,71 @@ /* Estilo geral do card para agrupar e dar um formato */ .card-consulta { - background-color: #007bff; /* Um tom de azul padrão */ - display: flex; /* Para colocar horário e info lado a lado */ - border-radius: 10px; /* Cantos arredondados */ - box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Sombra suave */ - overflow: hidden; /* Garante que o fundo azul não 'vaze' */ - /* width: 280px; /* Largura de exemplo */ + background-color: #007bff; + display: flex; + border-radius: 10px; + box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); + overflow: hidden; margin: 20px; - font-family: Arial, sans-serif; /* Fonte legível */ + font-family: Arial, sans-serif; +} + +@media (max-width: 768px) { + .card-consulta { + flex-direction: column; + margin: 10px; + } + + .horario-container { + border-right: none; + border-bottom: 1px solid #0056b3; + padding: 10px 15px; + } + + .horario { + font-size: 1.8em; + } + + .info-container { + flex-direction: column; + align-items: flex-start; + gap: 1rem; + padding: 15px; + } + + .actions-container { + opacity: 1; + visibility: visible; + background: none; + backdrop-filter: none; + -webkit-backdrop-filter: none; + border: none; + box-shadow: none; + margin-left: 0; + padding: 0; + justify-content: flex-start; + margin-top: 10px; + } + + .card-consulta:hover .actions-container { + transform: none; + } +} + +@media (max-width: 576px) { + .horario { + font-size: 1.5em; + } + + .informacao { + font-size: 1em; + } + + .btn-edit-custom-style, + .btn-delete-custom-style { + padding: 6px 10px; + font-size: 0.8rem; + } } /* 1. Estilo para o Horário (Fundo Azul e Texto Branco/Grande) */ diff --git a/src/components/AgendarConsulta/style/card-consulta.css b/src/components/AgendarConsulta/style/card-consulta.css index 34d8dea..285a558 100644 --- a/src/components/AgendarConsulta/style/card-consulta.css +++ b/src/components/AgendarConsulta/style/card-consulta.css @@ -1,3 +1,10 @@ +@media (max-width: 768px) { + .container-cardconsulta { + padding-right: 80px; /* Espaço para os botões */ + position: relative; + } +} + .actions-container { display: flex; gap: 8px; @@ -84,4 +91,50 @@ .tabelamensal .container-cardconsulta{ width: 24rem; +} + +@media (max-width: 768px) { + .actions-container { + opacity: 1; + visibility: visible; + background: none; + backdrop-filter: none; + -webkit-backdrop-filter: none; + border: none; + box-shadow: none; + margin-left: 0; + padding: 0; + justify-content: flex-end; + position: absolute; + top: 10px; + right: 10px; + } + + .container-cardconsulta:hover .actions-container { + transform: none; + } + + .tabelamensal .container-cardconsulta { + width: 100%; + max-width: 100%; + } +} + +@media (max-width: 576px) { + .container-cardconsulta { + padding-right: 10px; /* Remove o padding extra para telas muito pequenas */ + } + + .actions-container { + position: static; + margin-top: 10px; + justify-content: flex-start; + } + + .btn-edit-custom-style, + .btn-delete-custom-style, + .btn-confirm-style { + padding: 6px 10px; + font-size: 0.8rem; + } } \ No newline at end of file diff --git a/src/components/AgendarConsulta/style/formagendamentos.css b/src/components/AgendarConsulta/style/formagendamentos.css index d3fc9ae..0b1135a 100644 --- a/src/components/AgendarConsulta/style/formagendamentos.css +++ b/src/components/AgendarConsulta/style/formagendamentos.css @@ -183,6 +183,67 @@ textarea{ gap: 16px; } +@media (max-width: 768px) { + .campos-informacoes-paciente, + .campo-informacoes-atendimento { + flex-direction: column; + gap: 10px; + } + + #informacoes-atendimento-segunda-linha { + flex-direction: column; + gap: 10px; + } + + #informacoes-atendimento-segunda-linha-esquerda select[name="unidade"], + input[type="time"], + select[name=solicitante], + .campo-de-input { + width: 100% !important; + max-width: 100%; + } + + .tipo_atendimento { + margin-left: 0; + } + + .linha { + flex-direction: column; + align-items: stretch; + gap: 10px; + } + + .sessao-contador { + width: 100px; + } +} + +@media (max-width: 576px) { + .form-container { + padding: 15px; + } + + .form-title { + font-size: 22px; + } + + .form-agendamento input, + .form-agendamento select, + .form-agendamento textarea { + font-size: 13px; + } + + .form-actions { + flex-direction: column; + gap: 10px; + } + + .btn-primary, + .btn-cancel { + width: 100%; + } +} + .campo-de-input { flex: 1; display: flex; diff --git a/src/components/Estilo/Toggle.css b/src/components/Estilo/Toggle.css index 299f874..731f0cf 100644 --- a/src/components/Estilo/Toggle.css +++ b/src/components/Estilo/Toggle.css @@ -259,18 +259,6 @@ z-index: 10; } -/* Estilo para o item Início para ficar com borda semelhante aos blocos */ -.inicio-item .sidebar-link { - border: 1px solid var(--toggle-border); - border-radius: 8px; - background: var(--toggle-bg); - padding: 10px 12px; -} - -.inicio-item .sidebar-link:hover { - background-color: var(--toggle-hover); -} - .logout-button { display: flex; align-items: center; diff --git a/src/components/Header/Header.css b/src/components/Header/Header.css index 6d708d6..292356f 100644 --- a/src/components/Header/Header.css +++ b/src/components/Header/Header.css @@ -223,6 +223,8 @@ z-index: 2001; margin-top: 80px; margin-right: 20px; + /* Adicionado para responsividade */ + max-width: 90vw; } .suporte-card { @@ -309,6 +311,8 @@ z-index: 3001; margin-top: 80px; margin-right: 20px; + /* Adicionado para responsividade */ + max-width: 90vw; } .chat-online { @@ -462,6 +466,81 @@ } /* Responsividade */ +@media (max-width: 768px) { + .header-container { + padding: 10px 15px; + } + + .right-corner-elements { + gap: 15px; + } + + .profile-picture-container { + width: 40px; + height: 40px; + } + + .suporte-card-container, + .chat-container { + margin-top: 60px; + margin-right: 10px; + margin-left: 10px; + } + + .suporte-card, + .chat-online { + width: calc(100vw - 20px); + max-width: none; + } +} + +@media (max-width: 576px) { + .header-container { + padding: 8px 10px; + } + + .right-corner-elements { + gap: 10px; + } + + .profile-picture-container { + width: 35px; + height: 35px; + } + + .phone-icon-container { + font-size: 20px; + } + + .suporte-card-container, + .chat-container { + margin-top: 50px; + margin-right: 5px; + margin-left: 5px; + } + + .suporte-card { + padding: 1rem; + } + + .chat-online { + width: calc(100vw - 10px); + height: 80vh; /* Limita a altura para telas pequenas */ + } + + .chat-input { + padding: 0.75rem; + } + + .chat-campo { + padding: 0.5rem; + } + + .chat-enviar { + padding: 0.5rem 1rem; + } +} + @media (max-width: 768px) { .header-container { padding: 10px 15px; @@ -525,31 +604,3 @@ color: #fff; cursor: pointer; } - -/* Avatar Styles */ -.profile-avatar-image { - width: 100%; - height: 100%; - border-radius: 50%; - object-fit: cover; -} - -.profile-placeholder-loading { - display: flex; - align-items: center; - justifyContent: center; - fontSize: 20px; -} - -.profile-placeholder-initials { - display: flex; - align-items: center; - justify-content: center; - font-size: 18px; - font-weight: bold; - color: #fff; - background-color: #6c63ff; - text-transform: uppercase; - width: 100%; - height: 100%; -} diff --git a/src/components/Header/Header.jsx b/src/components/Header/Header.jsx index b4a3921..18df67f 100644 --- a/src/components/Header/Header.jsx +++ b/src/components/Header/Header.jsx @@ -2,11 +2,10 @@ import React, { useState, useRef, useEffect } from 'react'; import { createPortal } from 'react-dom'; import { useNavigate, useLocation } from 'react-router-dom'; -import API_KEY from '../utils/apiKeys'; -import { UserInfos } from '../utils/Functions-Endpoints/General'; import './Header.css'; const Header = () => { + // --- hooks (sempre na mesma ordem) --- const [isDropdownOpen, setIsDropdownOpen] = useState(false); const [isSuporteCardOpen, setIsSuporteCardOpen] = useState(false); const [isChatOpen, setIsChatOpen] = useState(false); @@ -14,89 +13,40 @@ const Header = () => { const [mensagens, setMensagens] = useState([]); const [showLogoutModal, setShowLogoutModal] = useState(false); const [avatarUrl, setAvatarUrl] = useState(null); - const [uploadingAvatar, setUploadingAvatar] = useState(false); - const [userName, setUserName] = useState(''); - const [userId, setUserId] = useState(null); const navigate = useNavigate(); const location = useLocation(); - const fileInputRef = useRef(null); const chatInputRef = useRef(null); const mensagensContainerRef = useRef(null); + // foco quando abre chat useEffect(() => { if (isChatOpen && chatInputRef.current) { chatInputRef.current.focus(); } }, [isChatOpen]); + // scroll automático quando nova mensagem useEffect(() => { if (mensagensContainerRef.current) { mensagensContainerRef.current.scrollTop = mensagensContainerRef.current.scrollHeight; } }, [mensagens]); + // carrega avatar se existir useEffect(() => { - const loadUserAndAvatar = async () => { - try { - const token = localStorage.getItem('access_token') || localStorage.getItem('token') || localStorage.getItem('authToken') || sessionStorage.getItem('token'); - - if (!token) return; - - const userInfo = await UserInfos(`Bearer ${token}`); - - const userIdFromInfo = userInfo?.id || userInfo?.user?.id || userInfo?.sub; - - const userFullName = - userInfo?.full_name || - userInfo?.user?.full_name || - userInfo?.profile?.full_name || - userInfo?.user?.user_metadata?.full_name || - userInfo?.user?.email || - userInfo?.email || - 'Usuário'; - - setUserId(userIdFromInfo); - setUserName(userFullName); - - if (!userIdFromInfo) return; - - const avatarPath = `${userIdFromInfo}/avatar.jpg`; - - const myHeaders = new Headers(); - myHeaders.append('apikey', API_KEY); - myHeaders.append('Authorization', `Bearer ${token}`); - - const response = await fetch( - `https://yuanqfswhberkoevtmfr.supabase.co/storage/v1/object/public/avatars/${avatarPath}`, - { method: 'GET', headers: myHeaders, redirect: 'follow' } - ); - - if (response.ok) { - const blob = await response.blob(); - const url = URL.createObjectURL(blob); - setAvatarUrl(url); - } else { - const authResponse = await fetch( - `https://yuanqfswhberkoevtmfr.supabase.co/storage/v1/object/avatars/${avatarPath}`, - { method: 'GET', headers: myHeaders, redirect: 'follow' } - ); - - if (authResponse.ok) { - const blob = await authResponse.blob(); - const url = URL.createObjectURL(blob); - setAvatarUrl(url); - } - } - } catch (err) { - console.warn('Erro ao carregar usuário/avatar:', err); - } + const loadAvatar = () => { + const localAvatar = localStorage.getItem('user_avatar'); + if (localAvatar) setAvatarUrl(localAvatar); }; - - loadUserAndAvatar(); + loadAvatar(); + const onStorage = () => loadAvatar(); + window.addEventListener('storage', onStorage); + return () => window.removeEventListener('storage', onStorage); }, []); + // ESC fecha qualquer overlay/portal aberto (logout / suporte / chat) useEffect(() => { const onKey = (e) => { if (e.key === 'Escape') { @@ -109,6 +59,7 @@ const Header = () => { return () => window.removeEventListener('keydown', onKey); }, [showLogoutModal, isSuporteCardOpen, isChatOpen]); + // --- handlers logout (mantive comportamento) --- const handleLogoutClick = () => { setShowLogoutModal(true); setIsDropdownOpen(false); @@ -148,6 +99,7 @@ const Header = () => { }, }); } catch (err) { + // ignora erro de rede / endpoint — prossegue para limpar local console.warn('logout endpoint error (ignored):', err); } } @@ -165,6 +117,7 @@ const Header = () => { const handleLogoutCancel = () => setShowLogoutModal(false); + // --- profile / suporte / chat handlers --- const handleProfileClick = () => { setIsDropdownOpen(!isDropdownOpen); if (isSuporteCardOpen) setIsSuporteCardOpen(false); @@ -176,75 +129,6 @@ const Header = () => { setIsDropdownOpen(false); }; - const handleAvatarClick = () => { - if (fileInputRef.current) { - fileInputRef.current.click(); - } - }; - - const handleAvatarUpload = async (event) => { - const file = event.target.files?.[0]; - if (!file) return; - - // Validar tipo de arquivo - if (!file.type.startsWith('image/')) { - alert('Por favor, selecione um arquivo de imagem válido.'); - return; - } - - // Validar tamanho (máximo 5MB) - if (file.size > 5 * 1024 * 1024) { - alert('A imagem deve ter no máximo 5MB.'); - return; - } - - try { - setUploadingAvatar(true); - - if (!userId) { - alert('Usuário não identificado. Faça login novamente.'); - return; - } - - const avatarPath = `${userId}/avatar.jpg`; - const token = localStorage.getItem('access_token') || localStorage.getItem('token') || localStorage.getItem('authToken') || sessionStorage.getItem('token'); - - const formData = new FormData(); - formData.append('file', file); - - const myHeaders = new Headers(); - myHeaders.append('apikey', API_KEY); - if (token) myHeaders.append('Authorization', `Bearer ${token}`); - - const response = await fetch( - `https://yuanqfswhberkoevtmfr.supabase.co/storage/v1/object/avatars/${avatarPath}`, - { - method: 'POST', - headers: myHeaders, - body: formData, - redirect: 'follow' - } - ); - - if (response.ok) { - // Recarregar avatar - const url = URL.createObjectURL(file); - setAvatarUrl(url); - alert('Avatar atualizado com sucesso!'); - } else { - const errorText = await response.text(); - console.error('Erro ao fazer upload:', errorText); - alert('Erro ao fazer upload do avatar. Tente novamente.'); - } - } catch (err) { - console.error('Erro no upload:', err); - alert('Erro ao fazer upload do avatar. Tente novamente.'); - } finally { - setUploadingAvatar(false); - if (fileInputRef.current) fileInputRef.current.value = ''; - } - }; - const handleSuporteClick = () => { setIsSuporteCardOpen((s) => !s); setIsDropdownOpen(false); @@ -307,6 +191,7 @@ const Header = () => { }, 900); }; + // --- subcomponentes (UI) --- const SuporteCardContent = ({ onOpenChat }) => (

Suporte

@@ -474,10 +359,12 @@ const Header = () => { ); }; + // --- evita render na rota de login (mantendo hooks invocados) --- if (location.pathname === '/login') { return null; } + // --- JSX principal (header visual) --- return (
@@ -492,54 +379,12 @@ const Header = () => {
- -
- {uploadingAvatar ? ( -
- -
- ) : avatarUrl ? ( - Avatar - ) : userName ? ( -
- {(() => { - const words = userName.trim().split(/\s+/).filter(w => w.length > 0); - if (words.length >= 2) { - return words.slice(0, 2).map(w => w[0]).join(''); - } else if (words.length === 1 && words[0].length >= 2) { - return words[0].substring(0, 2); - } else { - return words[0]?.[0] || 'U'; - } - })()} -
- ) : ( -
- )} +
+
{isDropdownOpen && (
e.stopPropagation()}> -
diff --git a/src/components/Sidebar.jsx b/src/components/Sidebar.jsx index 0fdbe4c..006a396 100644 --- a/src/components/Sidebar.jsx +++ b/src/components/Sidebar.jsx @@ -242,14 +242,6 @@ function Sidebar({ menuItems }) {
    - - {/* Botão Início fixo */} -
  • - - - Início - -
  • {roleUser.includes("admin") && diff --git a/src/index.css b/src/index.css index bd5bd6d..43cf021 100644 --- a/src/index.css +++ b/src/index.css @@ -1,13 +1,19 @@ -body { - margin: 0; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', - 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', - sans-serif; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -code { - font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', - monospace; -} +*, +*::before, +*::after { + box-sizing: border-box; +} + +body { + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', + 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', + sans-serif; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +code { + font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', + monospace; +} diff --git a/src/pages/Agendamento.jsx b/src/pages/Agendamento.jsx index 223f0d2..8daecec 100644 --- a/src/pages/Agendamento.jsx +++ b/src/pages/Agendamento.jsx @@ -338,7 +338,41 @@ const Agendamento = ({ setDictInfo }) => { {!PageNovaConsulta ? (
    - +
    +
    +
    +
    +
    + handleSearchMedicos(e.target.value)} + /> +
    +
    + {searchTermDoctor && FiltredTodosMedicos.length > 0 && ( +
    + {FiltredTodosMedicos.map((medico) => ( +
    { + setSearchTermDoctor(medico.nomeMedico); + setFiltredTodosMedicos([]); + setMedicoFiltrado(medico); + }} + > +

    {medico.nomeMedico}

    +
    + ))} +
    + )} +
    +
    +
    + + {/* ABA + BOTÕES NA MESMA BARRA */}
    - - {gerarNumerosWaitPages().map(pagina => ( -
  • + {filaEsperaFiltrada.length > 0 && ( +
    +
    + Itens por página: + +
    +
    + + Página {waitPage} de {waitTotalPages} • Mostrando {waitIndiceInicial + 1}-{Math.min(waitIndiceFinal, filaEsperaFiltrada.length)} de {filaEsperaFiltrada.length} + + + {gerarNumerosWaitPages().map(pagina => ( +
  • + +
  • + ))} +
  • + +
  • +
+ +
-
- )} + )} +
@@ -719,4 +755,4 @@ const Agendamento = ({ setDictInfo }) => { ); }; -export default Agendamento; \ No newline at end of file +export default Agendamento; diff --git a/src/pages/DoctorTable.jsx b/src/pages/DoctorTable.jsx index b7175da..e5becd7 100644 --- a/src/pages/DoctorTable.jsx +++ b/src/pages/DoctorTable.jsx @@ -1,17 +1,17 @@ import React, { useState, useEffect } from "react"; import API_KEY from "../components/utils/apiKeys"; import { useAuth } from "../components/utils/AuthProvider"; -import { Link, useNavigate } from "react-router-dom"; +import { Link } from "react-router-dom"; import "./style/TableDoctor.css"; -function TableDoctor({ setDictInfo }) { +function TableDoctor({setDictInfo}) { const { getAuthorizationHeader, isAuthenticated } = useAuth(); - const navigate = useNavigate(); const [medicos, setMedicos] = useState([]); const [search, setSearch] = useState(""); const [filtroEspecialidade, setFiltroEspecialidade] = useState("Todos"); const [filtroAniversariante, setFiltroAniversariante] = useState(false); + const [showFiltrosAvancados, setShowFiltrosAvancados] = useState(false); const [filtroCidade, setFiltroCidade] = useState(""); const [filtroEstado, setFiltroEstado] = useState(""); @@ -20,8 +20,6 @@ function TableDoctor({ setDictInfo }) { const [dataInicial, setDataInicial] = useState(""); const [dataFinal, setDataFinal] = useState(""); - const [sortKey, setSortKey] = useState(null); - const [sortDir, setSortDir] = useState('asc'); const [paginaAtual, setPaginaAtual] = useState(1); const [itensPorPagina, setItensPorPagina] = useState(10); @@ -29,11 +27,52 @@ function TableDoctor({ setDictInfo }) { const [showDeleteModal, setShowDeleteModal] = useState(false); const [selectedDoctorId, setSelectedDoctorId] = useState(null); - // ===== FUNÇÕES AUXILIARES ===== + const [sortKey, setSortKey] = useState(null); + const [sortDir, setSortDir] = useState('asc'); + + const limparFiltros = () => { + setSearch(""); + setFiltroEspecialidade("Todos"); + setFiltroAniversariante(false); + setShowFiltrosAvancados(false); + setFiltroCidade(""); + setFiltroEstado(""); + setIdadeMinima(""); + setIdadeMaxima(""); + setDataInicial(""); + setDataFinal(""); + setPaginaAtual(1); + }; + + const deleteDoctor = async (id) => { + const authHeader = getAuthorizationHeader() + console.log(id, 'teu id') + + var myHeaders = new Headers(); + myHeaders.append('apikey', API_KEY); + myHeaders.append("Authorization", authHeader) + + var requestOptions = { method: "DELETE", redirect: "follow", headers: myHeaders }; + + try { + const result = await fetch( + `https://yuanqfswhberkoevtmfr.supabase.co/rest/v1/doctors?id=eq.${id}`, + requestOptions + ); + setMedicos((prev) => prev.filter((p) => p.id !== id)); + console.log(result) + } catch (error) { + console.log("Deu problema", error); + } finally { + setShowDeleteModal(false); + } + }; + const ehAniversariante = (dataNascimento) => { if (!dataNascimento) return false; const hoje = new Date(); const nascimento = new Date(dataNascimento); + return ( hoje.getDate() === nascimento.getDate() && hoje.getMonth() === nascimento.getMonth() @@ -46,44 +85,17 @@ function TableDoctor({ setDictInfo }) { const nascimento = new Date(dataNascimento); let idade = hoje.getFullYear() - nascimento.getFullYear(); const mes = hoje.getMonth() - nascimento.getMonth(); + if (mes < 0 || (mes === 0 && hoje.getDate() < nascimento.getDate())) { idade--; } return idade; }; - // ===== FUNÇÕES DE API ===== - const deleteDoctor = async (id) => { - const authHeader = getAuthorizationHeader(); - var myHeaders = new Headers(); - myHeaders.append('apikey', API_KEY); - myHeaders.append("Authorization", authHeader); - var requestOptions = { - method: "DELETE", - redirect: "follow", - headers: myHeaders - }; - - try { - const response = await fetch( - `https://yuanqfswhberkoevtmfr.supabase.co/rest/v1/doctors?id=eq.${id}`, - requestOptions - ); - - if (!response.ok) { - throw new Error(`Erro ${response.status}: ${response.statusText}`); - } - - setMedicos((prev) => prev.filter((p) => p.id !== id)); - } catch (error) { - console.error("Erro ao excluir médico:", error); - } finally { - setShowDeleteModal(false); - } - }; - useEffect(() => { - const authHeader = getAuthorizationHeader(); + const authHeader = getAuthorizationHeader() + console.log(authHeader, 'aqui autorização') + var myHeaders = new Headers(); myHeaders.append("apikey", API_KEY); myHeaders.append("Authorization", `${authHeader}`); @@ -99,20 +111,6 @@ function TableDoctor({ setDictInfo }) { .catch(error => console.log('error', error)); }, [isAuthenticated, getAuthorizationHeader]); - // ===== FILTRAGEM ===== - const limparFiltros = () => { - setSearch(""); - setFiltroEspecialidade("Todos"); - setFiltroAniversariante(false); - setFiltroCidade(""); - setFiltroEstado(""); - setIdadeMinima(""); - setIdadeMaxima(""); - setDataInicial(""); - setDataFinal(""); - setPaginaAtual(1); - }; - const medicosFiltrados = Array.isArray(medicos) ? medicos.filter((medico) => { const buscaNome = medico.full_name?.toLowerCase().includes(search.toLowerCase()); const buscaCPF = medico.cpf?.toLowerCase().includes(search.toLowerCase()); @@ -120,24 +118,35 @@ function TableDoctor({ setDictInfo }) { const passaBusca = search === "" || buscaNome || buscaCPF || buscaEmail; const passaEspecialidade = filtroEspecialidade === "Todos" || medico.specialty === filtroEspecialidade; - const passaAniversario = filtroAniversariante ? ehAniversariante(medico.birth_date) : true; - const passaCidade = filtroCidade ? medico.city?.toLowerCase().includes(filtroCidade.toLowerCase()) : true; - const passaEstado = filtroEstado ? medico.state?.toLowerCase().includes(filtroEstado.toLowerCase()) : true; + + const passaAniversario = filtroAniversariante + ? ehAniversariante(medico.birth_date) + : true; + + const passaCidade = filtroCidade ? + medico.city?.toLowerCase().includes(filtroCidade.toLowerCase()) : true; + + const passaEstado = filtroEstado ? + medico.state?.toLowerCase().includes(filtroEstado.toLowerCase()) : true; const idade = calcularIdade(medico.birth_date); const passaIdadeMinima = idadeMinima ? idade >= parseInt(idadeMinima) : true; const passaIdadeMaxima = idadeMaxima ? idade <= parseInt(idadeMaxima) : true; - const passaDataInicial = dataInicial ? medico.created_at && new Date(medico.created_at) >= new Date(dataInicial) : true; - const passaDataFinal = dataFinal ? medico.created_at && new Date(medico.created_at) <= new Date(dataFinal) : true; + const passaDataInicial = dataInicial ? + medico.created_at && new Date(medico.created_at) >= new Date(dataInicial) : true; - return passaBusca && passaEspecialidade && passaAniversario && + const passaDataFinal = dataFinal ? + medico.created_at && new Date(medico.created_at) <= new Date(dataFinal) : true; + + const resultado = passaBusca && passaEspecialidade && passaAniversario && passaCidade && passaEstado && passaIdadeMinima && passaIdadeMaxima && passaDataInicial && passaDataFinal; + + return resultado; }) : []; - // ===== ORDENAÇÃO ===== - const aplicarOrdenacao = (arr) => { + const applySorting = (arr) => { if (!Array.isArray(arr) || !sortKey) return arr; const copy = [...arr]; if (sortKey === 'nome') { @@ -149,25 +158,44 @@ function TableDoctor({ setDictInfo }) { return copy; }; - const medicosOrdenados = aplicarOrdenacao(medicosFiltrados); + const medicosOrdenados = applySorting(medicosFiltrados); - // ===== PAGINAÇÃO ===== const totalPaginas = Math.ceil(medicosFiltrados.length / itensPorPagina); const indiceInicial = (paginaAtual - 1) * itensPorPagina; const indiceFinal = indiceInicial + itensPorPagina; const medicosPaginados = medicosOrdenados.slice(indiceInicial, indiceFinal); - const irParaPagina = (pagina) => setPaginaAtual(pagina); - const avancarPagina = () => paginaAtual < totalPaginas && setPaginaAtual(p => p + 1); - const voltarPagina = () => paginaAtual > 1 && setPaginaAtual(p => p - 1); + + const irParaPagina = (pagina) => { + setPaginaAtual(pagina); + }; + const avancarPagina = () => { + if (paginaAtual < totalPaginas) { + setPaginaAtual(paginaAtual + 1); + } + }; + + const voltarPagina = () => { + if (paginaAtual > 1) { + setPaginaAtual(paginaAtual - 1); + } + }; + + const gerarNumerosPaginas = () => { const paginas = []; const paginasParaMostrar = 5; + let inicio = Math.max(1, paginaAtual - Math.floor(paginasParaMostrar / 2)); let fim = Math.min(totalPaginas, inicio + paginasParaMostrar - 1); + inicio = Math.max(1, fim - paginasParaMostrar + 1); - for (let i = inicio; i <= fim; i++) paginas.push(i); + + for (let i = inicio; i <= fim; i++) { + paginas.push(i); + } + return paginas; }; @@ -180,364 +208,359 @@ function TableDoctor({ setDictInfo }) {

Lista de Médicos

-
-
-
-

Médicos Cadastrados

- - - -
- -
- {/* ===== FILTROS PADRONIZADOS ===== */} -
-
- Filtros -
- - {/* Busca */} -
- setSearch(e.target.value)} - /> +
+
+
+
+

Médicos Cadastrados

+ + +
- {/* Linha de Filtros Básicos - MESMO PADRÃO DA TABLE PACIENTE */} -
- {/* Especialidade */} -
- - -
+
+
+
+ {" "} + Filtros +
- {/* Aniversariantes */} -
- - -
+
+ setSearch(e.target.value)} + /> + + Digite o nome completo, CPF ou email + +
- {/* Separador */} -
+
+ - {/* Ordenação */} -
- - -
-
- - {/* Linha de Ações */} -
- - - -
- - {/* Filtros Avançados */} - {showFiltrosAvancados && ( -
-
Filtros Avançados
-
-
- - setFiltroCidade(e.target.value)} - /> +
+
-
- - setFiltroEstado(e.target.value)} - /> + + +
+
+ Ordenar por: + {(() => { + const sortValue = sortKey ? `${sortKey}-${sortDir}` : ''; + return ( + + ); + })()}
-
- - setIdadeMinima(e.target.value)} - min="0" - max="150" - /> +
+ +
+ + + +
+ + {showFiltrosAvancados && ( +
+
Filtros Avançados
+ +
+
+ + setFiltroCidade(e.target.value)} + /> +
+
+ + setFiltroEstado(e.target.value)} + /> +
+ +
+ + setIdadeMinima(e.target.value)} + min="0" + max="150" + /> +
+
+ + setIdadeMaxima(e.target.value)} + min="0" + max="150" + /> +
+ +
+ + setDataInicial(e.target.value)} + /> +
+
+ + setDataFinal(e.target.value)} + /> +
+
-
- - setIdadeMaxima(e.target.value)} - min="0" - max="150" - /> -
-
- - setDataInicial(e.target.value)} - /> -
-
- - setDataFinal(e.target.value)} - /> + )} + +
+
+ {medicosFiltrados.length} DE {medicos.length} MÉDICOS ENCONTRADOS
- )} - {/* Contador */} -
-
- {medicosFiltrados.length} DE {medicos.length} MÉDICOS ENCONTRADOS -
-
-
+
+ + + + + + + + + + + + {medicosPaginados.length > 0 ? ( + medicosPaginados.map((medico) => ( + + + + + + -
NomeCPFEspecialidadeEmailAções
+
+ {medico.full_name} + {ehAniversariante(medico.birth_date) && ( + + + + )} +
+
{medico.cpf} + + {medico.specialty || 'Não informado'} + + {medico.email || 'Não informado'} +
+ + + - {/* ===== TABELA SIMPLIFICADA ===== */} -
- - - - - - - - - - - - {medicosPaginados.length > 0 ? ( - medicosPaginados.map((medico) => ( - - + + )) + ) : ( + + - - - - - - )) - ) : ( - - - + + + )} + +
NomeCPFEspecialidadeEmailAções
-
- {medico.full_name} -
- {ehAniversariante(medico.birth_date) && ( - - - + + + + + +
+
+
+ +

Nenhum médico encontrado com os filtros aplicados.

+ {(search || filtroEspecialidade !== "Todos" || filtroAniversariante || + filtroCidade || filtroEstado || idadeMinima || idadeMaxima || dataInicial || dataFinal) && ( + )}
- -
{medico.cpf} - - {medico.specialty || 'Não informado'} - - {medico.email || 'Não informado'} -
- - - -
-
-
- -

Nenhum médico encontrado com os filtros aplicados.

- {(search || filtroEspecialidade !== "Todos" || filtroAniversariante || - filtroCidade || filtroEstado || idadeMinima || idadeMaxima || dataInicial || dataFinal) && ( - - )} -
-
+ + {medicosFiltrados.length > 0 && ( +
+
+ Itens por página: + +
+ +
+ + Página {paginaAtual} de {totalPaginas} • + Mostrando {indiceInicial + 1}-{Math.min(indiceFinal, medicosFiltrados.length)} de {medicosFiltrados.length} médicos + + + +
+
)} -
- - {/* ===== PAGINAÇÃO ===== */} - {medicosFiltrados.length > 0 && ( -
-
- Itens por página: - -
- -
- - Página {paginaAtual} de {totalPaginas} • - Mostrando {indiceInicial + 1}-{Math.min(indiceFinal, medicosFiltrados.length)} de {medicosFiltrados.length} médicos - - - -
- )} +
-
+
- {/* ===== MODAL DE EXCLUSÃO ===== */} {showDeleteModal && (
e.target.classList.contains("modal") && setShowDeleteModal(false)} + onClick={(e) => + e.target.classList.contains("modal") && setShowDeleteModal(false) + } >
-
Confirmação de Exclusão
+
+ Confirmação de Exclusão +
-

Tem certeza que deseja excluir este médico?

-

Esta ação não pode ser desfeita.

+

+ Tem certeza que deseja excluir este médico? +

@@ -565,4 +588,4 @@ function TableDoctor({ setDictInfo }) { ); } -export default TableDoctor; \ No newline at end of file +export default TableDoctor; diff --git a/src/pages/LaudoManager.jsx b/src/pages/LaudoManager.jsx index d269663..e881d77 100644 --- a/src/pages/LaudoManager.jsx +++ b/src/pages/LaudoManager.jsx @@ -9,7 +9,6 @@ import { useNavigate } from 'react-router-dom'; import html2pdf from 'html2pdf.js'; import TiptapViewer from '../PagesMedico/TiptapViewer' import '../PagesMedico/styleMedico/DoctorRelatorioManager.css'; -import './style/TableDoctor.css'; const LaudoManager = () => { const navigate = useNavigate(); @@ -32,8 +31,6 @@ const LaudoManager = () => { const [paginaAtual, setPaginaAtual] = useState(1); const [itensPorPagina, setItensPorPagina] = useState(10); - const [sortKey, setSortKey] = useState(null); - const [sortDir, setSortDir] = useState('asc'); const [noPermissionText, setNoPermissionText] = useState(null); @@ -131,25 +128,9 @@ const LaudoManager = () => { const limparFiltros = () => { setTermoPesquisa(''); setFiltroExame(''); - setSortKey(null); - setSortDir('asc'); setRelatoriosFinais(relatoriosOriginais); }; - const applySorting = (arr) => { - if (!Array.isArray(arr) || !sortKey) return arr; - const copy = [...arr]; - if (sortKey === 'paciente') { - copy.sort((a, b) => (a.patient_name || '').localeCompare(b.patient_name || '')); - } else if (sortKey === 'exame') { - copy.sort((a, b) => (a.exam || a.exame || '').localeCompare(b.exam || b.exame || '')); - } else if (sortKey === 'data') { - copy.sort((a, b) => new Date(a.created_at || 0) - new Date(b.created_at || 0)); - } - if (sortDir === 'desc') copy.reverse(); - return copy; - }; - const BaixarPDFdoRelatorio = (nome_paciente, idx) => { const elemento = document.getElementById(`folhaA4-${idx}`); if (!elemento) { @@ -234,11 +215,10 @@ const LaudoManager = () => { } if (ex) items = items.filter(r => (r.exam || r.exame || '').toLowerCase().includes(ex)); - const itemsOrdenados = applySorting(items); - setRelatoriosFiltrados(itemsOrdenados); - setRelatoriosFinais(itemsOrdenados); + setRelatoriosFiltrados(items); + setRelatoriosFinais(items); setPaginaAtual(1); - }, [termoPesquisa, filtroExame, relatoriosOriginais, sortKey, sortDir]); + }, [termoPesquisa, filtroExame, relatoriosOriginais]); const irParaPagina = (pagina) => setPaginaAtual(pagina); const avancarPagina = () => { if (paginaAtual < totalPaginas) setPaginaAtual(paginaAtual + 1); }; @@ -256,118 +236,76 @@ const LaudoManager = () => { return (

Lista de Relatórios

- -
-
-
-

Relatórios Cadastrados

- -
- -
- {/* ===== FILTROS PADRONIZADOS ===== */} -
-
- Filtros -
- - {/* Busca */} -
- setTermoPesquisa(e.target.value)} - /> -
- - {/* Linha de Filtros Básicos */} -
- {/* Tipo de Exame */} -
- - setFiltroExame(e.target.value)} - style={{ minWidth: "180px" }} - /> -
- - {/* Separador */} -
- - {/* Ordenação */} -
- - + Adicionar Relatório +
- {/* Linha de Ações */} -
- -
- - {/* Contador */} -
-
- {relatoriosFinais.length} DE {relatoriosOriginais.length} RELATÓRIOS ENCONTRADOS +
+
+
+ Filtros +
+
+
+
+ + setTermoPesquisa(e.target.value)} + /> +
+
+
+
+ + setFiltroExame(e.target.value)} + /> +
+
+
+ +
+
+
+
+ {relatoriosFinais.length} DE {relatoriosOriginais.length} RELATÓRIOS ENCONTRADOS +
+
-
-
- {/* ===== TABELA SIMPLIFICADA ===== */} -
- - {/* ===== TABELA SIMPLIFICADA ===== */} -
- - - - - - - - - +
+
PacienteCPFExameAções
+ + + + + + + + {relatoriosPaginados.length > 0 ? ( relatoriosPaginados.map((relatorio, index) => { @@ -387,6 +325,8 @@ const LaudoManager = () => { Editar + + @@ -400,19 +340,11 @@ const LaudoManager = () => { ); }) ) : ( - - - + )}
PacienteCPFExame
-
- -

Nenhum relatório encontrado.

-
-
Nenhum relatório encontrado.
- {/* ===== PAGINAÇÃO ===== */} {relatoriosFinais.length > 0 && (
@@ -432,13 +364,13 @@ const LaudoManager = () => {
-
- - Página {paginaAtual} de {totalPaginas} • - Mostrando {indiceInicial + 1}-{Math.min(indiceFinal, relatoriosFinais.length)} de {relatoriosFinais.length} relatórios - +
+ + Página {paginaAtual} de {totalPaginas} • + Mostrando {indiceInicial + 1}-{Math.min(indiceFinal, relatoriosFinais.length)} de {relatoriosFinais.length} itens + -
-
- + +
+ {showModal && relatorioModal && (
diff --git a/src/pages/ProfilePage.jsx b/src/pages/ProfilePage.jsx index 5620f76..a41bfe8 100644 --- a/src/pages/ProfilePage.jsx +++ b/src/pages/ProfilePage.jsx @@ -1,7 +1,5 @@ -import React, { useState, useEffect, useCallback, useRef } from "react"; +import React, { useState, useEffect, useCallback } from "react"; import { useLocation, useNavigate } from "react-router-dom"; -import API_KEY from "../components/utils/apiKeys"; -import { UserInfos } from "../components/utils/Functions-Endpoints/General"; import "./style/ProfilePage.css"; const ROLES = { @@ -31,9 +29,6 @@ const ProfilePage = () => { const [avatarUrl, setAvatarUrl] = useState(null); const [isEditingName, setIsEditingName] = useState(false); const [error, setError] = useState(null); - const [userId, setUserId] = useState(null); - const [uploadingAvatar, setUploadingAvatar] = useState(false); - const fileInputRef = useRef(null); useEffect(() => { @@ -47,62 +42,22 @@ const ProfilePage = () => { useEffect(() => { - const loadProfileData = async () => { - try { - const token = localStorage.getItem('access_token') || localStorage.getItem('token') || localStorage.getItem('authToken') || sessionStorage.getItem('token'); - - if (!token) return; - - const userInfo = await UserInfos(`Bearer ${token}`); - - const userIdFromInfo = userInfo?.id || userInfo?.user?.id || userInfo?.sub; - const userFullName = - userInfo?.full_name || - userInfo?.user?.full_name || - userInfo?.profile?.full_name || - userInfo?.user?.user_metadata?.full_name || - 'Usuário'; - const email = userInfo?.user?.email || userInfo?.email || 'email@example.com'; - - setUserId(userIdFromInfo); - setUserName(userFullName); - setUserEmail(email); - - if (!userIdFromInfo) return; - - const avatarPath = `${userIdFromInfo}/avatar.jpg`; - - const myHeaders = new Headers(); - myHeaders.append('apikey', API_KEY); - myHeaders.append('Authorization', `Bearer ${token}`); - - const response = await fetch( - `https://yuanqfswhberkoevtmfr.supabase.co/storage/v1/object/public/avatars/${avatarPath}`, - { method: 'GET', headers: myHeaders, redirect: 'follow' } - ); - - if (response.ok) { - const blob = await response.blob(); - const url = URL.createObjectURL(blob); - setAvatarUrl(url); - } else { - const authResponse = await fetch( - `https://yuanqfswhberkoevtmfr.supabase.co/storage/v1/object/avatars/${avatarPath}`, - { method: 'GET', headers: myHeaders, redirect: 'follow' } - ); - - if (authResponse.ok) { - const blob = await authResponse.blob(); - const url = URL.createObjectURL(blob); - setAvatarUrl(url); - } - } - } catch (err) { - console.warn('Erro ao carregar perfil:', err); + const loadProfileData = () => { + const localAvatar = localStorage.getItem('user_avatar'); + if (localAvatar) { + setAvatarUrl(localAvatar); } }; loadProfileData(); + + + const handleStorageChange = () => { + loadProfileData(); + }; + + window.addEventListener('storage', handleStorageChange); + return () => window.removeEventListener('storage', handleStorageChange); }, []); const handleNameSave = () => { @@ -126,73 +81,6 @@ const ProfilePage = () => { const handleClose = () => navigate(-1); - const handleAvatarClick = () => { - if (fileInputRef.current) { - fileInputRef.current.click(); - } - }; - - const handleAvatarUpload = async (event) => { - const file = event.target.files?.[0]; - if (!file) return; - - if (!file.type.startsWith('image/')) { - alert('Por favor, selecione um arquivo de imagem válido.'); - return; - } - - if (file.size > 5 * 1024 * 1024) { - alert('A imagem deve ter no máximo 5MB.'); - return; - } - - try { - setUploadingAvatar(true); - - if (!userId) { - alert('Usuário não identificado. Faça login novamente.'); - return; - } - - const avatarPath = `${userId}/avatar.jpg`; - const token = localStorage.getItem('access_token') || localStorage.getItem('token') || localStorage.getItem('authToken') || sessionStorage.getItem('token'); - - const formData = new FormData(); - formData.append('file', file); - - const myHeaders = new Headers(); - myHeaders.append('apikey', API_KEY); - if (token) myHeaders.append('Authorization', `Bearer ${token}`); - - const response = await fetch( - `https://yuanqfswhberkoevtmfr.supabase.co/storage/v1/object/avatars/${avatarPath}`, - { - method: 'POST', - headers: myHeaders, - body: formData, - redirect: 'follow' - } - ); - - if (response.ok) { - const url = URL.createObjectURL(file); - setAvatarUrl(url); - alert('Avatar atualizado com sucesso!'); - window.dispatchEvent(new Event('storage')); - } else { - const errorText = await response.text(); - console.error('Erro ao fazer upload:', errorText); - alert('Erro ao fazer upload do avatar. Tente novamente.'); - } - } catch (err) { - console.error('Erro no upload:', err); - alert('Erro ao fazer upload do avatar. Tente novamente.'); - } finally { - setUploadingAvatar(false); - if (fileInputRef.current) fileInputRef.current.value = ''; - } - }; - return (
@@ -206,53 +94,33 @@ const ProfilePage = () => {
-
- {uploadingAvatar ? ( -
- -
- ) : avatarUrl ? ( + {avatarUrl ? ( Avatar do usuário { setAvatarUrl(null); + localStorage.removeItem('user_avatar'); }} /> ) : (
- {(() => { - const words = userName.trim().split(/\s+/).filter(w => w.length > 0); - if (words.length >= 2) { - return words.slice(0, 2).map(w => w[0]).join(''); - } else if (words.length === 1 && words[0].length >= 2) { - return words[0].substring(0, 2); - } else { - return words[0]?.[0] || 'U'; - } - })()} + {userName.split(' ').map(n => n[0]).join('').toUpperCase()}
)}
- +

+ Gerencie seu avatar no menu do perfil acima +

diff --git a/src/pages/TablePaciente.jsx b/src/pages/TablePaciente.jsx index 7b7de22..2ebafe4 100644 --- a/src/pages/TablePaciente.jsx +++ b/src/pages/TablePaciente.jsx @@ -6,7 +6,8 @@ import "./style/TablePaciente.css"; import ModalErro from "../components/utils/fetchErros/ModalErro"; import manager from "../components/utils/fetchErros/ManagerFunction"; -function TablePaciente({ setCurrentPage, setPatientID, setDictInfo }) { +function TablePaciente({ setCurrentPage, setPatientID,setDictInfo }) { + const { getAuthorizationHeader, isAuthenticated } = useAuth(); const navigate = useNavigate(); @@ -23,9 +24,11 @@ function TablePaciente({ setCurrentPage, setPatientID, setDictInfo }) { const [dataInicial, setDataInicial] = useState(""); const [dataFinal, setDataFinal] = useState(""); + const [sortKey, setSortKey] = useState(null); const [sortDir, setSortDir] = useState('asc'); + const [paginaAtual, setPaginaAtual] = useState(1); const [itensPorPagina, setItensPorPagina] = useState(10); @@ -33,55 +36,25 @@ function TablePaciente({ setCurrentPage, setPatientID, setDictInfo }) { const [selectedPatientId, setSelectedPatientId] = useState(null); const [showModalError, setShowModalError] = useState(""); - const [ErrorInfo, setErrorInfo] = useState({}); - // Funções auxiliares - const ehAniversariante = (dataNascimento) => { - if (!dataNascimento) return false; - const hoje = new Date(); - const nascimento = new Date(dataNascimento); - return ( - hoje.getDate() === nascimento.getDate() && - hoje.getMonth() === nascimento.getMonth() - ); - }; + const [ErrorInfo, setErrorInfo] = useState({}) - const calcularIdade = (dataNascimento) => { - if (!dataNascimento) return 0; - const hoje = new Date(); - const nascimento = new Date(dataNascimento); - let idade = hoje.getFullYear() - nascimento.getFullYear(); - const mes = hoje.getMonth() - nascimento.getMonth(); - if (mes < 0 || (mes === 0 && hoje.getDate() < nascimento.getDate())) { - idade--; - } - return idade; - }; - - const formatarData = (dataString) => { - if (!dataString) return 'Nunca'; - const data = new Date(dataString); - return data.toLocaleDateString('pt-BR', { - day: '2-digit', - month: '2-digit', - year: 'numeric', - hour: '2-digit', - minute: '2-digit' - }); - }; - - // Funções de API (mantidas do seu código original) const GetAnexos = async (id) => { var myHeaders = new Headers(); myHeaders.append("Authorization", "Bearer "); - var requestOptions = { method: "GET", headers: myHeaders, redirect: "follow" }; - + + var requestOptions = { + method: "GET", + headers: myHeaders, + redirect: "follow", + }; try { const response = await fetch( `https://mock.apidog.com/m1/1053378-0-default/pacientes/${id}/anexos`, requestOptions ); const result = await response.json(); + return result.data; } catch (error) { console.log("error", error); @@ -91,11 +64,20 @@ function TablePaciente({ setCurrentPage, setPatientID, setDictInfo }) { const DeleteAnexo = async (patientID) => { const RespostaGetAnexos = await GetAnexos(patientID); + for (let i = 0; i < RespostaGetAnexos.length; i++) { const idAnexo = RespostaGetAnexos[i].id; + + console.log("anexos", RespostaGetAnexos); + var myHeaders = new Headers(); myHeaders.append("Authorization", "Bearer "); - var requestOptions = { method: "DELETE", headers: myHeaders, redirect: "follow" }; + + var requestOptions = { + method: "DELETE", + headers: myHeaders, + redirect: "follow", + }; fetch( `https://mock.apidog.com/m1/1053378-0-default/pacientes/${patientID}/anexos/${idAnexo}`, @@ -108,10 +90,14 @@ function TablePaciente({ setCurrentPage, setPatientID, setDictInfo }) { }; const deletePatient = async (id) => { - const authHeader = getAuthorizationHeader(); + + const authHeader = getAuthorizationHeader() + console.log(id) var myHeaders = new Headers(); myHeaders.append('apikey', API_KEY); - myHeaders.append("Authorization", authHeader); + myHeaders.append("Authorization", authHeader) + + var requestOptions = { method: "DELETE", redirect: "follow", headers: myHeaders }; try { @@ -120,6 +106,7 @@ function TablePaciente({ setCurrentPage, setPatientID, setDictInfo }) { requestOptions ); setPacientes((prev) => prev.filter((p) => p.id !== id)); + console.log(result) } catch (error) { console.log("Deu problema", error); } finally { @@ -132,38 +119,83 @@ function TablePaciente({ setCurrentPage, setPatientID, setDictInfo }) { }; useEffect(() => { - const authHeader = getAuthorizationHeader(); + + const authHeader = getAuthorizationHeader() + + console.log(authHeader, 'aqui autorização') + var myHeaders = new Headers(); myHeaders.append("apikey", API_KEY); myHeaders.append("Authorization", `${authHeader}`); - var requestOptions = { method: 'GET', headers: myHeaders, redirect: 'follow' }; + var requestOptions = { + method: 'GET', + headers: myHeaders, + redirect: 'follow' + }; - fetch("https://yuanqfswhberkoevtmfr.supabase.co/rest/v1/patients", requestOptions) - .then(response => { - if (!response.ok) { - return response.json().then(errorData => { - const errorObject = { - httpStatus: response.status, - apiCode: errorData.code, - message: errorData.message || response.statusText, - details: errorData.details, - hint: errorData.hint - }; - throw errorObject; - }); - } - return response.json(); - }) - .then(result => { - setPacientes(result); - setShowModalError(false); - }) - .catch(error => { - manager(setShowModalError, RefreshingToken, setErrorInfo, error); + fetch("https://yuanqfswhberkoevtmfr.supabase.co/rest/v1/patients", requestOptions) + .then(response => { + + + if (!response.ok) { + + return response.json().then(errorData => { + + const errorObject = { + httpStatus: response.status, + apiCode: errorData.code, + message: errorData.message || response.statusText, + details: errorData.details, + hint: errorData.hint + }; + + console.error("ERRO DETALHADO:", errorObject); + throw errorObject; }); + + } + + + return response.json(); + }) + .then(result => { + + setPacientes(result); + console.log("Sucesso:", result); + + setShowModalError(false); + }) + .catch(error => { + console.error(error, "deu erro") + manager(setShowModalError, RefreshingToken, setErrorInfo, error) + + }); }, [isAuthenticated, getAuthorizationHeader]); - // Filtragem + const ehAniversariante = (dataNascimento) => { + if (!dataNascimento) return false; + const hoje = new Date(); + const nascimento = new Date(dataNascimento); + + return ( + hoje.getDate() === nascimento.getDate() && + hoje.getMonth() === nascimento.getMonth() + ); + }; + + const calcularIdade = (dataNascimento) => { + if (!dataNascimento) return 0; + const hoje = new Date(); + const nascimento = new Date(dataNascimento); + let idade = hoje.getFullYear() - nascimento.getFullYear(); + const mes = hoje.getMonth() - nascimento.getMonth(); + + if (mes < 0 || (mes === 0 && hoje.getDate() < nascimento.getDate())) { + idade--; + } + return idade; + }; + const limparFiltros = () => { setSearch(""); setFiltroConvenio("Todos"); @@ -179,31 +211,48 @@ function TablePaciente({ setCurrentPage, setPatientID, setDictInfo }) { }; const pacientesFiltrados = Array.isArray(pacientes) ? pacientes.filter((paciente) => { + const buscaNome = paciente.full_name?.toLowerCase().includes(search.toLowerCase()); const buscaCPF = paciente.cpf?.toLowerCase().includes(search.toLowerCase()); - const buscaEmail = paciente.email?.toLowerCase().includes(search.toLowerCase()); - const passaBusca = search === "" || buscaNome || buscaCPF || buscaEmail; + const passaBusca = search === "" || buscaNome || buscaCPF; + const passaConvenio = filtroConvenio === "Todos" || paciente.insurance_plan === filtroConvenio; - const passaVIP = filtroVIP ? paciente.vip === true : true; - const passaAniversario = filtroAniversariante ? ehAniversariante(paciente.birth_date) : true; - const passaCidade = filtroCidade ? paciente.city?.toLowerCase().includes(filtroCidade.toLowerCase()) : true; - const passaEstado = filtroEstado ? paciente.state?.toLowerCase().includes(filtroEstado.toLowerCase()) : true; + const passaVIP = filtroVIP ? paciente.vip === true : true; + const passaAniversario = filtroAniversariante + ? ehAniversariante(paciente.birth_date) + : true; + + + const passaCidade = filtroCidade ? + paciente.city?.toLowerCase().includes(filtroCidade.toLowerCase()) : true; + + const passaEstado = filtroEstado ? + paciente.state?.toLowerCase().includes(filtroEstado.toLowerCase()) : true; + + const idade = calcularIdade(paciente.birth_date); const passaIdadeMinima = idadeMinima ? idade >= parseInt(idadeMinima) : true; const passaIdadeMaxima = idadeMaxima ? idade <= parseInt(idadeMaxima) : true; - const passaDataInicial = dataInicial ? paciente.last_appointment && new Date(paciente.last_appointment) >= new Date(dataInicial) : true; - const passaDataFinal = dataFinal ? paciente.last_appointment && new Date(paciente.last_appointment) <= new Date(dataFinal) : true; + + const passaDataInicial = dataInicial ? + paciente.last_appointment && new Date(paciente.last_appointment) >= new Date(dataInicial) : true; - return passaBusca && passaConvenio && passaVIP && passaAniversario && + const passaDataFinal = dataFinal ? + paciente.last_appointment && new Date(paciente.last_appointment) <= new Date(dataFinal) : true; + + + const resultado = passaBusca && passaConvenio && passaVIP && passaAniversario && passaCidade && passaEstado && passaIdadeMinima && passaIdadeMaxima && passaDataInicial && passaDataFinal; + + return resultado; }) : []; - // Ordenação - const aplicarOrdenacao = (arr) => { + + const applySorting = (arr) => { if (!Array.isArray(arr) || !sortKey) return arr; const copy = [...arr]; if (sortKey === 'nome') { @@ -215,28 +264,48 @@ function TablePaciente({ setCurrentPage, setPatientID, setDictInfo }) { return copy; }; - const pacientesOrdenados = aplicarOrdenacao(pacientesFiltrados); + const pacientesOrdenados = applySorting(pacientesFiltrados); - // Paginação const totalPaginas = Math.ceil(pacientesFiltrados.length / itensPorPagina); const indiceInicial = (paginaAtual - 1) * itensPorPagina; const indiceFinal = indiceInicial + itensPorPagina; const pacientesPaginados = pacientesOrdenados.slice(indiceInicial, indiceFinal); - const irParaPagina = (pagina) => setPaginaAtual(pagina); - const avancarPagina = () => paginaAtual < totalPaginas && setPaginaAtual(p => p + 1); - const voltarPagina = () => paginaAtual > 1 && setPaginaAtual(p => p - 1); + + const irParaPagina = (pagina) => { + setPaginaAtual(pagina); + }; + + const avancarPagina = () => { + if (paginaAtual < totalPaginas) { + setPaginaAtual(paginaAtual + 1); + } + }; + + const voltarPagina = () => { + if (paginaAtual > 1) { + setPaginaAtual(paginaAtual - 1); + } + }; + const gerarNumerosPaginas = () => { const paginas = []; const paginasParaMostrar = 5; + let inicio = Math.max(1, paginaAtual - Math.floor(paginasParaMostrar / 2)); let fim = Math.min(totalPaginas, inicio + paginasParaMostrar - 1); + inicio = Math.max(1, fim - paginasParaMostrar + 1); - for (let i = inicio; i <= fim; i++) paginas.push(i); + + for (let i = inicio; i <= fim; i++) { + paginas.push(i); + } + return paginas; }; + useEffect(() => { setPaginaAtual(1); }, [search, filtroConvenio, filtroVIP, filtroAniversariante, filtroCidade, filtroEstado, idadeMinima, idadeMaxima, dataInicial, dataFinal, sortKey, sortDir]); @@ -246,372 +315,366 @@ function TablePaciente({ setCurrentPage, setPatientID, setDictInfo }) {

Lista de Pacientes

-
-
-
-

Pacientes Cadastrados

- - - -
- -
- {/* ===== FILTROS PADRONIZADOS ===== */} -
-
- Filtros -
- - {/* Busca */} -
- setSearch(e.target.value)} - /> +
+
+
+
+

Pacientes Cadastrados

+ + +
- {/* Linha de Filtros Básicos - TUDO EM UMA LINHA SÓ */} -
- {/* Convênio */} -
- - -
+
+
+
+ {" "} + Filtros +
- {/* Status VIP */} -
- - -
+
+ setSearch(e.target.value)} + /> + + Digite o nome completo ou número do CPF + +
- {/* Aniversariantes */} -
- - -
+
+ - {/* Separador */} -
+ - {/* Ordenação */} -
- - -
-
+ - {/* Linha de Ações */} -
- - - -
- - {/* Filtros Avançados */} - {showFiltrosAvancados && ( -
-
Filtros Avançados
-
-
- - setFiltroCidade(e.target.value)} - /> +
+
+ Ordenar por: + {(() => { + const sortValue = sortKey ? `${sortKey}-${sortDir}` : ''; + return ( + + ); + })()}
-
- - setFiltroEstado(e.target.value)} - /> +
+ +
+ + + +
+ + {showFiltrosAvancados && ( +
+
Filtros Avançados
+ +
+
+ + setFiltroCidade(e.target.value)} + /> +
+
+ + setFiltroEstado(e.target.value)} + /> +
+ +
+ + setIdadeMinima(e.target.value)} + min="0" + max="150" + /> +
+
+ + setIdadeMaxima(e.target.value)} + min="0" + max="150" + /> +
+ +
+ + setDataInicial(e.target.value)} + /> +
+
+ + setDataFinal(e.target.value)} + /> +
+
-
- - setIdadeMinima(e.target.value)} - min="0" - max="150" - /> -
-
- - setIdadeMaxima(e.target.value)} - min="0" - max="150" - /> -
-
- - setDataInicial(e.target.value)} - /> -
-
- - setDataFinal(e.target.value)} - /> + )} + +
+
+ {pacientesFiltrados.length} DE {pacientes.length} PACIENTES ENCONTRADOS
- )} - {/* Contador */} -
-
- {pacientesFiltrados.length} DE {pacientes.length} PACIENTES ENCONTRADOS -
-
-
+
+ + + + + + + + + + + + {pacientesPaginados.length > 0 ? ( + pacientesPaginados.map((paciente) => ( + + + + + + - - )) - ) : ( - - - + + + {gerarNumerosPaginas().map(pagina => ( +
  • + +
  • + ))} + +
  • + +
  • + + + + )} - -
    NomeCPFConvênioEmailAções
    +
    + {paciente.full_name} +
    + {ehAniversariante(paciente.birth_date) && ( + + + + )} + {paciente.vip && ( + + VIP + + )} +
    +
    +
    {paciente.cpf} + + {paciente.insurance_plan || 'Não informado'} + + {paciente.email || 'Não informado'} +
    + + + - {/* ===== TABELA SIMPLIFICADA ===== */} -
    - - - - - - - - - - - - {pacientesPaginados.length > 0 ? ( - pacientesPaginados.map((paciente) => ( - - + + )) + ) : ( + + - - - - + + )} + +
    NomeCPFConvênioEmailAções
    -
    - {paciente.full_name} -
    - {ehAniversariante(paciente.birth_date) && ( - - - - )} - {paciente.vip && ( - - VIP - + + + +
    +
    +
    + +

    Nenhum paciente encontrado com os filtros aplicados.

    + {(search || filtroConvenio !== "Todos" || filtroVIP || filtroAniversariante || + filtroCidade || filtroEstado || idadeMinima || idadeMaxima || dataInicial || dataFinal) && ( + )}
    - -
    {paciente.cpf} - - {paciente.insurance_plan || '-'} - - {paciente.email || 'Não informado'} -
    - -
    + + + {pacientesFiltrados.length > 0 && ( +
    +
    + Itens por página: + +
    + +
    + + Página {paginaAtual} de {totalPaginas} • + Mostrando {indiceInicial + 1}-{Math.min(indiceFinal, pacientesFiltrados.length)} de {pacientesFiltrados.length} pacientes + + +
    -
    -
    - -

    Nenhum paciente encontrado com os filtros aplicados.

    - {(search || filtroConvenio !== "Todos" || filtroVIP || filtroAniversariante || - filtroCidade || filtroEstado || idadeMinima || idadeMaxima || dataInicial || dataFinal) && ( - - )} -
    -
    - - {/* ===== PAGINAÇÃO ===== */} - {pacientesFiltrados.length > 0 && ( -
    -
    - Itens por página: - -
    - -
    - - Página {paginaAtual} de {totalPaginas} • - Mostrando {indiceInicial + 1}-{Math.min(indiceFinal, pacientesFiltrados.length)} de {pacientesFiltrados.length} pacientes - - - -
    - )} +
    -
    +
    - {/* ===== MODAL DE EXCLUSÃO ===== */} {showDeleteModal && (
    e.target.classList.contains("modal") && setShowDeleteModal(false)} + onClick={(e) => + e.target.classList.contains("modal") && setShowDeleteModal(false) + } >
    -
    Confirmação de Exclusão
    +
    + Confirmação de Exclusão +
    -

    Tem certeza que deseja excluir este paciente?

    -

    Esta ação não pode ser desfeita.

    +

    + Tem certeza que deseja excluir este paciente? +

    @@ -639,4 +702,4 @@ function TablePaciente({ setCurrentPage, setPatientID, setDictInfo }) { ); } -export default TablePaciente; \ No newline at end of file +export default TablePaciente; diff --git a/src/pages/style/Agendamento.css b/src/pages/style/Agendamento.css index 806e78c..124ff0a 100644 --- a/src/pages/style/Agendamento.css +++ b/src/pages/style/Agendamento.css @@ -43,6 +43,33 @@ margin-left: 0; } +@media (max-width: 576px) { + .busca-atendimento { + flex-direction: column; + gap: 10px; + } + +.container-btns-agenda-fila_esepera { + flex-direction: column; + align-items: flex-start; + gap: 10px; + flex-wrap: wrap; /* Adicionado para permitir quebra de linha nos botões */ +} + +.btns-gerenciamento-e-consulta { + width: 100%; + justify-content: space-between; + flex-wrap: wrap; /* Adicionado para permitir quebra de linha nos botões */ +} + +.btn-adicionar-consulta { + padding: 8px 12px; /* Reduzido o padding */ + font-size: 0.8rem; /* Reduzido o tamanho da fonte */ + white-space: normal; /* Permite quebra de linha no texto do botão */ + text-align: center; +} +} + .container-btns-agenda-fila_esepera { margin-top: 20px; margin-left: 0; @@ -57,7 +84,7 @@ background-color: transparent; border: 0; border-bottom: 2px solid transparent; - padding: 12px 24px; + padding: 10px 12px; /* Reduzido o padding */ border-radius: 0; font-weight: 600; color: #718096; @@ -108,7 +135,23 @@ font-family: 'Inter', sans-serif; margin-top: 20px; } + +@media (max-width: 768px) { + .calendar-wrapper { + flex-direction: column; + padding: 16px; + } +} .calendar-info-panel { flex: 0 0 300px; border-right: 1px solid #E2E8F0; padding-right: 24px; display: flex; flex-direction: column; } + +@media (max-width: 768px) { + .calendar-info-panel { + border-right: none; + border-bottom: 1px solid #E2E8F0; + padding-right: 0; + padding-bottom: 16px; + } +} .info-date-display { background-color: #EDF2F7; border-radius: 8px; padding: 12px; text-align: center; margin-bottom: 16px; } .info-date-display span { font-weight: 600; color: #718096; text-transform: uppercase; font-size: 0.9rem; } .info-date-display strong { display: block; font-size: 2.5rem; font-weight: 700; color: #2D3748; } @@ -135,6 +178,14 @@ .nav-buttons button { padding: 8px 12px; border-radius: 6px; border: 1px solid #CBD5E0; background-color: #fff; font-weight: 600; cursor: pointer; transition: all 0.2s; } .nav-buttons button:hover { background-color: #EDF2F7; } .calendar-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; } + +@media (max-width: 1200px) { + .calendar-grid { grid-template-columns: repeat(4, 1fr); } +} + +@media (max-width: 768px) { + .calendar-grid { grid-template-columns: repeat(2, 1fr); } +} .day-header { font-weight: 600; color: #718096; text-align: center; padding: 8px 0; font-size: 0.875rem; } .day-cell { min-height: 110px; border-radius: 8px; border: 1px solid #E2E8F0; padding: 8px; transition: background-color 0.2s, border-color 0.2s; cursor: pointer; position: relative; } .day-cell span { font-weight: 600; color: #4A5568; } @@ -233,7 +284,7 @@ } @media (max-width: 576px) { - .calendar-grid { grid-template-columns: repeat(2, 1fr); } + .calendar-grid { grid-template-columns: 1fr; } /* 1 coluna em telas muito pequenas */ .date-indicator h2 { font-size: 1.25rem; } .legend-item { font-size: 0.75rem; padding: 4px 8px; } .appointment-item { flex-direction: column; align-items: stretch; gap: 8px; } @@ -284,6 +335,7 @@ .btns-gerenciamento-e-consulta { display: flex; gap: 10px; + flex-wrap: wrap; /* Permite quebra de linha */ } .container-btns-agenda-fila_esepera { display: flex; diff --git a/src/pages/style/FilaEspera.css b/src/pages/style/FilaEspera.css index 18c8f49..8ba91fc 100644 --- a/src/pages/style/FilaEspera.css +++ b/src/pages/style/FilaEspera.css @@ -190,6 +190,12 @@ html, body { } /* ===== Fila de Espera ===== */ + +@media (max-width: 992px) { + .fila-container { + overflow-x: auto; + } +} .fila-container { width: 100%; max-width: none; @@ -286,6 +292,13 @@ html, body { transition: border-color 0.2s; } +@media (max-width: 768px) { + .busca-fila-espera { + width: 100%; + position: static; + } +} + .busca-fila-espera:focus { border-color: #888; } diff --git a/src/pages/style/FinanceiroDashboard.css b/src/pages/style/FinanceiroDashboard.css index b43b433..6d83da1 100644 --- a/src/pages/style/FinanceiroDashboard.css +++ b/src/pages/style/FinanceiroDashboard.css @@ -21,6 +21,12 @@ margin-bottom: 10px; } +@media (max-width: 1200px) { + .summary-card { + min-width: 180px; + } +} + .summary-card { flex: 1; min-width: 200px; @@ -232,6 +238,13 @@ html[data-bs-theme="dark"] .btn-delete { box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1); } +@media (max-width: 576px) { + .modal-card { + padding: 16px; + max-height: 95vh; + } +} + .modal-header { display: flex; justify-content: space-between; @@ -336,6 +349,14 @@ textarea { width: 30%; } +@media (max-width: 768px) { + .financeiro-wrap .input-field:not(.modal-card *), + .financeiro-wrap .select-field:not(.modal-card *), + .financeiro-wrap textarea:not(.modal-card *) { + width: 100%; + } +} + .modal-card .input-field, .modal-card .select-field, .modal-card textarea { diff --git a/src/pages/style/Inicio.css b/src/pages/style/Inicio.css index a7da5d5..8772147 100644 --- a/src/pages/style/Inicio.css +++ b/src/pages/style/Inicio.css @@ -1,3 +1,134 @@ +/* Container Principal */ + +/* Responsividade */ +@media (max-width: 1200px) { + .dashboard-container { + padding: 1.5rem; + } +} + +@media (max-width: 768px) { + .dashboard-container { + padding: 1rem; + } + + .dashboard-header h1 { + font-size: 1.5rem; + } + + .dashboard-header p { + margin-bottom: 1.5rem; + } + + .stats-grid { + grid-template-columns: 1fr 1fr; /* 2 colunas em tablets */ + gap: 1rem; + } + + .stat-value { + font-size: 1.5rem; + } + + .stat-icon-wrapper { + width: 40px; + height: 40px; + } + + .stat-icon { + font-size: 1rem; + } + + .actions-grid { + grid-template-columns: 1fr; /* 1 coluna em tablets */ + gap: 1rem; + } + + .action-icon { + font-size: 1.8rem; + } + + .action-title { + font-size: 0.9rem; + } + + .appointments-section { + padding: 1.5rem; + } + + .agendamento-info { + flex-direction: column; + align-items: flex-start; + gap: 0.5rem; + } + + .agendamento-time-date { + flex-direction: row; + gap: 1rem; + min-width: auto; + } + + .agendamento-detalhes { + min-width: auto; + } +} + +@media (max-width: 576px) { + .dashboard-container { + padding: 0.5rem; + } + + .dashboard-header h1 { + font-size: 1.3rem; + } + + .dashboard-header p { + margin-bottom: 1rem; + } + + .stats-grid { + grid-template-columns: 1fr; /* 1 coluna em celulares */ + } + + .stat-card { + padding: 1rem; + } + + .stat-value { + font-size: 1.3rem; + } + + .action-button { + padding: 1rem; + } + + .appointments-section { + padding: 1rem; + } + + .agendamento-item { + padding: 0.75rem 1rem; + } + + .agendamento-hora { + font-size: 1.1rem; + } + + .agendamento-data { + font-size: 0.7rem; + } + + .agendamento-paciente, + .agendamento-medico { + font-size: 0.85rem; + } + + .manage-button, + .view-all-button { + padding: 0.6rem 1.2rem; + font-size: 0.8rem; + } +} + /* Container Principal */ .dashboard-container { padding: 2rem; diff --git a/src/pages/style/TableDoctor.css b/src/pages/style/TableDoctor.css index 64d342c..8ec8809 100644 --- a/src/pages/style/TableDoctor.css +++ b/src/pages/style/TableDoctor.css @@ -1,114 +1,79 @@ -/* ===== VARIÁVEIS CSS ===== */ -:root { - --primary-color: #1e3a8a; - --secondary-color: #3b82f6; - --bg-light: #f8f9fa; - --border-light: #dee2e6; - --text-primary: #495057; - --text-muted: #6c757d; - --border-radius: 0.375rem; - --box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075); - --spacing-sm: 0.5rem; - --spacing-md: 1rem; - --spacing-lg: 1.5rem; -} - -/* ===== CONTAINER PRINCIPAL ===== */ .table-doctor-container { - padding: 1.5rem; - background-color: white; + line-height: 2.5; +} + +/* Adiciona responsividade para a tabela */ +@media (max-width: 992px) { + .table-doctor-card { + overflow-x: auto; + } +} + +.table-doctor-container { + line-height: 2.5; } -/* ===== CARD ===== */ .table-doctor-card { border: none; - box-shadow: var(--box-shadow); - border-radius: var(--border-radius); + box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075); } .table-doctor-card .card-header { - background-color: var(--bg-light); - border-bottom: 1px solid var(--border-light); + background-color: #f8f9fa; + border-bottom: 1px solid #dee2e6; padding: 1rem 1.25rem; - display: flex; - justify-content: space-between; - align-items: center; } -.table-doctor-card .card-header h4 { - margin-bottom: 0; - color: var(--text-primary); - font-weight: 600; -} - -/* ===== FILTROS ===== */ .table-doctor-filters { - background-color: var(--bg-light); - border: 1px solid var(--border-light); - border-radius: var(--border-radius); - padding: 1rem; - margin-bottom: 1rem; + background-color: #f8f9fa; + border: 1px solid #dee2e6; + border-radius: 0.375rem; } .table-doctor-filters h5 { - color: var(--text-primary); + color: #495057; font-weight: 600; - margin-bottom: 1rem; - display: flex; - align-items: center; - gap: 0.5rem; } -/* ===== TABELA ===== */ .table-doctor-table { width: 100%; border-collapse: collapse; - margin-bottom: 0; } .table-doctor-table th { - background-color: var(--bg-light); - color: var(--text-primary); + background-color: #f8f9fa; + color: #495057; font-weight: 600; padding: 15px 8px; - border-bottom: 2px solid var(--border-light); + border-bottom: 2px solid #dee2e6; vertical-align: middle; - text-align: left; } .table-doctor-table td { padding: 15px 8px; vertical-align: middle; - border-bottom: 1px solid var(--border-light); + border-bottom: 1px solid #dee2e6; } .table-doctor-table tbody tr:hover { background-color: rgba(0, 0, 0, 0.025); - transition: background-color 0.15s ease-in-out; } -/* ===== BADGES ===== */ + .specialty-badge { - background-color: var(--primary-color) !important; + background-color: #1e3a8a !important; color: white !important; padding: 0.35em 0.65em; font-size: 0.75em; font-weight: 500; - border-radius: 0.25rem; } -.status-badge { - padding: 0.35em 0.65em; - font-size: 0.75em; +.results-badge { + background-color: #1e3a8a; + color: white; + padding: 0.5em 0.75em; + font-size: 0.875em; font-weight: 500; - border-radius: 0.25rem; -} - -.vip-badge { - background-color: #ffc107; - color: #000; - padding: 0.35em 0.65em; - font-size: 0.75em; } .anniversary-badge { @@ -118,22 +83,12 @@ font-size: 0.75em; } -.results-badge { - background-color: var(--primary-color); - color: white; - padding: 0.5em 0.75em; - font-size: 0.875em; - font-weight: 500; -} - -/* ===== BOTÕES DE AÇÃO ===== */ .btn-view { background-color: #E6F2FF !important; color: #004085 !important; border: 1px solid #B8D4F0; padding: 0.375rem 0.75rem; font-size: 0.875rem; - transition: all 0.15s ease-in-out; } .btn-view:hover { @@ -147,7 +102,6 @@ border: 1px solid #FFEAA7; padding: 0.375rem 0.75rem; font-size: 0.875rem; - transition: all 0.15s ease-in-out; } .btn-edit:hover { @@ -161,7 +115,6 @@ border: 1px solid #F5C6CB; padding: 0.375rem 0.75rem; font-size: 0.875rem; - transition: all 0.15s ease-in-out; } .btn-delete:hover { @@ -169,71 +122,22 @@ border-color: #ED969E; } -/* ===== CONTADOR ===== */ -.contador-medicos { - background-color: var(--primary-color); - color: white; - padding: 0.5em 0.75em; - font-size: 0.875em; - font-weight: 500; - border-radius: var(--border-radius); - text-align: center; - display: inline-block; -} - -/* ===== PAGINAÇÃO ===== */ -.pagination { - margin-bottom: 0; -} - -.page-link { - color: var(--text-primary); - border: 1px solid var(--border-light); - padding: 0.375rem 0.75rem; - font-size: 0.875rem; -} - -.page-link:hover { - color: var(--primary-color); - background-color: #e9ecef; - border-color: var(--border-light); -} - -.page-item.active .page-link { - background-color: var(--primary-color); - border-color: var(--primary-color); - color: white; -} - -.page-item.disabled .page-link { - color: var(--text-muted); - background-color: var(--bg-light); - border-color: var(--border-light); -} -/* ===== FILTROS AVANÇADOS ===== */ .advanced-filters { - border: 1px solid var(--border-light) !important; - border-radius: var(--border-radius); - background-color: var(--bg-light); - padding: 1rem; + border: 1px solid #dee2e6; + border-radius: 0.375rem; + background-color: white; } .advanced-filters h6 { - color: var(--text-primary); + color: #495057; font-weight: 600; - font-size: 0.9rem; -} - -.advanced-filters .form-control-sm { - font-size: 0.825rem; } .form-label.fw-bold { - color: var(--text-primary); + color: #495057; font-size: 0.875rem; } -/* ===== MODAL DE EXCLUSÃO ===== */ .delete-modal .modal-header { background-color: rgba(220, 53, 69, 0.1); border-bottom: 1px solid rgba(220, 53, 69, 0.2); @@ -244,7 +148,6 @@ font-weight: 600; } -/* ===== FILTROS ESPECÍFICOS ===== */ .filter-especialidade { min-width: 180px !important; max-width: 200px; @@ -268,133 +171,18 @@ gap: 0.75rem; } -/* ===== SELECTS COMPACTOS ===== */ -.form-select-sm.compact-select { - min-width: 150px; - border: 1px solid var(--border-light); - border-radius: var(--border-radius); +@media (max-width: 576px) { + .table-doctor-card .card-header { padding: 0.75rem 1rem; } + .table-doctor-table th, .table-doctor-table td { padding: 8px 6px; } + .table-doctor-table thead th:nth-child(2), + .table-doctor-table thead th:nth-child(4), + .table-doctor-table tbody td:nth-child(2), + .table-doctor-table tbody td:nth-child(4) { display: none; } + .filter-buttons-container { width: 100%; } + .filter-btn { width: 100%; } } -.form-select.form-select-sm.w-auto { - border: 1px solid var(--border-light); - border-radius: var(--border-radius); - font-size: 0.875rem; -} - -.form-select-sm:focus { - border-color: var(--primary-color); - box-shadow: 0 0 0 0.2rem rgba(30, 58, 138, 0.25); -} - -.btn-outline-secondary.btn-sm { - border-color: var(--text-muted); - color: var(--text-muted); - font-size: 0.8rem; - padding: 0.35rem 0.75rem; -} - -.btn-outline-secondary.btn-sm:hover { - background-color: var(--text-muted); - color: white; -} - -/* ===== ESTADOS VAZIOS ===== */ -.empty-state { - padding: 2rem; - text-align: center; - color: var(--text-muted); -} - -.empty-state td { - border-bottom: none; - padding: 2rem !important; -} - -.text-center.py-4 .text-muted { - padding: 2rem; -} - -.text-center.py-4 .bi-search { - font-size: 3rem; - opacity: 0.5; -} - -.text-center.py-4 p { - margin-bottom: 0.5rem; - font-size: 1.1rem; -} - -.text-center.py-4 td { - border-bottom: none; - padding: 2rem !important; -} - -/* ===== BADGES DE FILTROS ATIVOS ===== */ -.filters-active .badge { - font-size: 0.75em; - padding: 0.4em 0.65em; - margin-bottom: 0.25rem; -} - -/* ===== SEÇÃO DE PAGINAÇÃO ===== */ -.d-flex.justify-content-between.align-items-center { - border-top: 1px solid var(--border-light); - padding-top: 1rem; - margin-top: 1rem; -} - -/* ===== NOME DE PACIENTE/MÉDICO COM BADGES ===== */ -.patient-name-container, -.doctor-name-container { - display: flex; - align-items: center; - flex-wrap: wrap; -} - -.patient-badges, -.doctor-badges { - display: flex; - gap: 0.25rem; - margin-left: 0.5rem; -} - -/* ===== TRANSIÇÕES ===== */ -.table-doctor-table tbody tr { - transition: background-color 0.15s ease-in-out; -} - -/* ===== RESPONSIVIDADE ===== */ @media (max-width: 768px) { - .table-doctor-container { - padding: 1rem; - } - - .table-doctor-card .card-header { - flex-direction: column; - gap: 1rem; - align-items: flex-start; - } - - .table-doctor-filters .d-flex.flex-wrap.align-items-center.gap-3 { - gap: 1rem !important; - flex-direction: column; - align-items: flex-start; - } - - .table-doctor-filters .d-flex.align-items-center.gap-2 { - width: 100%; - justify-content: space-between; - } - - .table-doctor-filters .form-select-sm.compact-select { - min-width: 100% !important; - margin-top: 0.25rem; - } - - .vr.d-none.d-md-block { - display: none !important; - } - .table-doctor-table { font-size: 0.875rem; } @@ -411,48 +199,6 @@ font-size: 0.75rem; } - .table-doctor-filters .d-flex { - flex-direction: column; - gap: 0.5rem; - } - - .table-doctor-filters .form-select { - min-width: 100% !important; - } - - .patient-name-container, - .doctor-name-container { - flex-direction: column; - align-items: flex-start !important; - gap: 0.25rem; - } - - .d-flex.justify-content-between.align-items-center { - flex-direction: column; - gap: 1rem; - align-items: stretch !important; - } - - .d-flex.justify-content-between.align-items-center > div { - justify-content: center !important; - } - - .pagination { - flex-wrap: wrap; - justify-content: center; - } - - .me-3.text-muted { - text-align: center; - margin-bottom: 0.5rem; - font-size: 0.8rem; - } - - .contador-medicos { - font-size: 0.8rem; - padding: 0.4em 0.6em; - } - .filtros-basicos { flex-direction: column; align-items: stretch; @@ -472,43 +218,142 @@ flex: 1; text-align: center; } +} - /* Ocultar colunas em mobile */ - .table-doctor-table thead th:nth-child(3), - .table-doctor-table thead th:nth-child(4), - .table-doctor-table tbody td:nth-child(3), - .table-doctor-table tbody td:nth-child(4) { - display: none; +.empty-state { + padding: 2rem; + text-align: center; + color: #6c757d; +} + +.empty-state td { + border-bottom: none; + padding: 2rem !important; +} + +.filters-active .badge { + font-size: 0.75em; + padding: 0.4em 0.65em; +} + +.table-doctor-table tbody tr { + transition: background-color 0.15s ease-in-out; +} + +.btn-view, +.btn-edit, +.btn-delete { + transition: all 0.15s ease-in-out; +} + + + +.contador-medicos { + background-color: #1e3a8a; + color: white; + padding: 0.5em 0.75em; + font-size: 0.875em; + font-weight: 500; + border-radius: 0.375rem; + text-align: center; + display: inline-block; +} + + +.pagination { + margin-bottom: 0; +} + +.page-link { + color: #495057; + border: 1px solid #dee2e6; + padding: 0.375rem 0.75rem; + font-size: 0.875rem; +} + +.page-link:hover { + color: #1e3a8a; + background-color: #e9ecef; + border-color: #dee2e6; +} + +.page-item.active .page-link { + background-color: #1e3a8a; + border-color: #1e3a8a; + color: white; +} + +.page-item.disabled .page-link { + color: #6c757d; + background-color: #f8f9fa; + border-color: #dee2e6; +} + + +.d-flex.justify-content-between.align-items-center { + border-top: 1px solid #dee2e6; + padding-top: 1rem; + margin-top: 1rem; +} + + +.text-center.py-4 .text-muted { + padding: 2rem; +} + +.text-center.py-4 .bi-search { + font-size: 3rem; + opacity: 0.5; +} + +.text-center.py-4 p { + margin-bottom: 0.5rem; + font-size: 1.1rem; +} + +.text-center.py-4 td { + border-bottom: none; + padding: 2rem !important; +} + + +@media (max-width: 768px) { + .d-flex.justify-content-between.align-items-center { + flex-direction: column; + gap: 1rem; + align-items: stretch !important; + } + + .d-flex.justify-content-between.align-items-center > div { + justify-content: center !important; + } + + .pagination { + flex-wrap: wrap; + justify-content: center; + } + + .me-3.text-muted { + text-align: center; + margin-bottom: 0.5rem; + font-size: 0.8rem; + } + + .contador-medicos { + font-size: 0.8rem; + padding: 0.4em 0.6em; } } -@media (max-width: 576px) { - .table-doctor-card .card-header { - padding: 0.75rem 1rem; - } - - .table-doctor-table th, - .table-doctor-table td { - padding: 8px 6px; - } - - .table-doctor-filters .btn-sm { - width: 100%; - } +.form-select.form-select-sm.w-auto { + border: 1px solid #dee2e6; + border-radius: 0.375rem; + font-size: 0.875rem; +} - .filter-buttons-container { - width: 100%; - } - .filter-btn { - width: 100%; - } - - /* Ocultar mais colunas em telas muito pequenas */ - .table-doctor-table thead th:nth-child(2), - .table-doctor-table thead th:nth-child(5), - .table-doctor-table tbody td:nth-child(2), - .table-doctor-table tbody td:nth-child(5) { - display: none; - } +.filters-active .badge { + font-size: 0.75em; + padding: 0.4em 0.65em; + margin-bottom: 0.25rem; } \ No newline at end of file diff --git a/src/pages/style/TablePaciente.css b/src/pages/style/TablePaciente.css index 04aabb1..93ef7f7 100644 --- a/src/pages/style/TablePaciente.css +++ b/src/pages/style/TablePaciente.css @@ -1,29 +1,14 @@ -/* ===== VARIÁVEIS CSS PADRONIZADAS ===== */ -:root { - --primary-blue: #1e3a8a; - --light-blue: #E6F2FF; - --medium-blue: #D1E7FF; - --border-blue: #B8D4F0; - --warning-light: #FFF3CD; - --warning-dark: #856404; - --warning-border: #FFEAA7; - --danger-light: #F8D7DA; - --danger-dark: #721C24; - --danger-border: #F5C6CB; - --success-light: #d1edff; - --success-dark: #0d6efd; - --bg-light: #f1f4fb; - --border-light: #dee2e6; - --text-muted: #6c757d; - --text-dark: #495057; - --spacing-xs: 0.25rem; - --spacing-sm: 0.5rem; - --spacing-md: 1rem; - --spacing-lg: 1.5rem; - --border-radius: 0.375rem; +.table-paciente-container { + line-height: 2.5; +} + +/* Adiciona responsividade para a tabela */ +@media (max-width: 992px) { + .table-paciente-card { + overflow-x: auto; + } } -/* ===== ESTILOS EXISTENTES MANTIDOS ===== */ .table-paciente-container { line-height: 2.5; } @@ -37,71 +22,65 @@ background-color: #f8f9fa; border-bottom: 1px solid #dee2e6; padding: 1rem 1.25rem; - display: flex; - justify-content: space-between; - align-items: center; } -/* ===== ESTILOS PADRONIZADOS DA TABELA ===== */ .table-paciente-filters { - background-color: var(--bg-light); - border: 1px solid var(--border-light); - border-radius: var(--border-radius); - padding: var(--spacing-md); - margin-bottom: var(--spacing-md); + background-color: #f8f9fa; + border: 1px solid #dee2e6; + border-radius: 0.375rem; } .table-paciente-filters h5 { - color: var(--text-dark); + color: #495057; font-weight: 600; - font-size: 1.1rem; } .table-paciente-table { width: 100%; border-collapse: collapse; - margin-top: 1rem; } .table-paciente-table th { - background-color: var(--bg-light); - color: var(--text-dark); + background-color: #f8f9fa; + color: #495057; font-weight: 600; - padding: 12px 8px; - border-bottom: 2px solid var(--border-light); + padding: 15px 8px; + border-bottom: 2px solid #dee2e6; vertical-align: middle; - font-size: 0.9rem; } .table-paciente-table td { - padding: 12px 8px; + padding: 15px 8px; vertical-align: middle; - border-bottom: 1px solid var(--border-light); - font-size: 0.875rem; + border-bottom: 1px solid #dee2e6; } .table-paciente-table tbody tr:hover { background-color: rgba(0, 0, 0, 0.025); } -/* ===== BADGES E STATUS ===== */ .insurance-badge { - background-color: transparent !important; - color: var(--text-dark) !important; - padding: 0.35em 0.65em; - font-size: 0.75em; - font-weight: 500; - border: 1px solid var(--border-light); - border-radius: var(--border-radius); -} - -.vip-badge { - background-color: var(--primary-blue) !important; + background-color: #6c757d !important; color: white !important; padding: 0.35em 0.65em; font-size: 0.75em; font-weight: 500; - border-radius: var(--border-radius); +} + +.vip-badge { + background-color: #1e3a8a !important; + color: white !important; + padding: 0.35em 0.65em; + font-size: 0.75em; + font-weight: 500; +} + +.results-badge { + background-color: #1e3a8a; + color: white; + padding: 0.5em 0.75em; + font-size: 0.875em; + font-weight: 500; } .anniversary-badge { @@ -109,52 +88,27 @@ color: #000; padding: 0.35em 0.65em; font-size: 0.75em; - border-radius: 50%; } -.status-badge { - padding: 0.35em 0.65em; - font-size: 0.75em; - font-weight: 500; - border-radius: var(--border-radius); - display: inline-block; - text-transform: capitalize; -} - -.status-badge.ativo { - background-color: var(--primary-blue); - color: white; -} - -.status-badge.inativo { - background-color: var(--text-muted); - color: white; -} - -/* ===== BOTÕES DE AÇÃO ===== */ .btn-view { - background-color: var(--light-blue) !important; + background-color: #E6F2FF !important; color: #004085 !important; - border: 1px solid var(--border-blue); + border: 1px solid #B8D4F0; padding: 0.375rem 0.75rem; font-size: 0.875rem; - border-radius: var(--border-radius); - transition: all 0.15s ease-in-out; } .btn-view:hover { - background-color: var(--medium-blue) !important; + background-color: #D1E7FF !important; border-color: #9EC5FE; } .btn-edit { - background-color: var(--warning-light) !important; - color: var(--warning-dark) !important; - border: 1px solid var(--warning-border); + background-color: #FFF3CD !important; + color: #856404 !important; + border: 1px solid #FFEAA7; padding: 0.375rem 0.75rem; font-size: 0.875rem; - border-radius: var(--border-radius); - transition: all 0.15s ease-in-out; } .btn-edit:hover { @@ -163,13 +117,11 @@ } .btn-delete { - background-color: var(--danger-light) !important; - color: var(--danger-dark) !important; - border: 1px solid var(--danger-border); + background-color: #F8D7DA !important; + color: #721C24 !important; + border: 1px solid #F5C6CB; padding: 0.375rem 0.75rem; font-size: 0.875rem; - border-radius: var(--border-radius); - transition: all 0.15s ease-in-out; } .btn-delete:hover { @@ -177,25 +129,22 @@ border-color: #ED969E; } -/* ===== FILTROS AVANÇADOS ===== */ .advanced-filters { - border: 1px solid var(--border-light); - border-radius: var(--border-radius); + border: 1px solid #dee2e6; + border-radius: 0.375rem; background-color: white; } .advanced-filters h6 { - color: var(--text-dark); - font-size: 0.9rem; + color: #495057; font-weight: 600; } .form-label.fw-bold { - color: var(--text-dark); + color: #495057; font-size: 0.875rem; } -/* ===== MODAL DE EXCLUSÃO ===== */ .delete-modal .modal-header { background-color: rgba(220, 53, 69, 0.1); border-bottom: 1px solid rgba(220, 53, 69, 0.2); @@ -206,103 +155,6 @@ font-weight: 600; } -/* ===== CONTADOR DE PACIENTES ===== */ -.contador-pacientes { - background-color: var(--primary-blue); - color: white; - padding: 0.5em 0.75em; - font-size: 0.875em; - font-weight: 500; - border-radius: var(--border-radius); - text-align: center; - display: inline-block; -} - -/* ===== PAGINAÇÃO ===== */ -.pagination { - margin-bottom: 0; -} - -.page-link { - color: var(--text-dark); - border: 1px solid var(--border-light); - padding: 0.375rem 0.75rem; - font-size: 0.875rem; -} - -.page-link:hover { - color: var(--primary-blue); - background-color: #e9ecef; - border-color: var(--border-light); -} - -.page-item.active .page-link { - background-color: var(--primary-blue); - border-color: var(--primary-blue); - color: white; -} - -.page-item.disabled .page-link { - color: var(--text-muted); - background-color: var(--bg-light); - border-color: var(--border-light); -} - -/* ===== AJUSTES ESPECÍFICOS PARA OS FILTROS ===== */ -.table-paciente-filters .form-select-sm { - font-size: 0.825rem; - padding: 0.35rem 0.5rem; - border-radius: 0.25rem; -} - -.table-paciente-filters .form-label.small { - font-size: 0.8rem; - font-weight: 500; - color: #6c757d; - min-width: auto; - white-space: nowrap; -} - -/* Alinhamento dos grupos de filtro */ -.table-paciente-filters .d-flex.align-items-center.gap-2 { - flex-wrap: nowrap; -} - -/* Ajuste do contador */ -.contador-pacientes { - background-color: #1e3a8a; - color: white; - padding: 0.4rem 0.8rem; - font-size: 0.8rem; - font-weight: 600; - border-radius: 0.375rem; - text-align: center; - display: inline-block; - letter-spacing: 0.5px; -} - -/* Botão de filtros avançados */ -.btn-link { - color: #1e3a8a !important; - font-weight: 500; - transition: all 0.2s ease; -} - -.btn-link:hover { - color: #162d6b !important; - transform: translateY(-1px); -} - -/* Selects compactos */ -.compact-select { - font-size: 0.9rem; - padding: 0.45rem 0.5rem; - min-width: 150px; - border: 1px solid var(--border-light); - border-radius: var(--border-radius); -} - -/* ===== ESTADOS VAZIOS ===== */ .empty-state { padding: 2rem; text-align: center; @@ -314,6 +166,128 @@ padding: 2rem !important; } +.filters-active .badge { + font-size: 0.75em; + padding: 0.4em 0.65em; +} + +.table-paciente-table tbody tr { + transition: background-color 0.15s ease-in-out; +} + +.btn-view, +.btn-edit, +.btn-delete { + transition: all 0.15s ease-in-out; +} + +@media (max-width: 768px) { + .table-paciente-table { + font-size: 0.875rem; + } + + .table-paciente-table th, + .table-paciente-table td { + padding: 10px 6px; + } + + .btn-view, + .btn-edit, + .btn-delete { + padding: 0.25rem 0.5rem; + font-size: 0.75rem; + } + + .table-paciente-filters .d-flex { + flex-direction: column; + gap: 0.5rem; + } + + .table-paciente-filters .form-select { + min-width: 100% !important; + } + + .patient-name-container { + flex-direction: column; + align-items: flex-start !important; + gap: 0.25rem; + } + + .patient-badges { + margin-left: 0 !important; + } +} + +.compact-select { + font-size: 1.0rem; + padding: 0.45rem 0.5rem; +} + +.compact-select option { + font-size: 0.875rem; +} + +.table-paciente-filters .btn-sm { + font-size: 0.8rem; + white-space: nowrap; +} + +.table-paciente-filters .d-flex { + align-items: center; + gap: 8px; +} + +/* ===== ESTILOS PARA PAGINAÇÃO ===== */ + +.contador-pacientes { + background-color: #1e3a8a; + color: white; + padding: 0.5em 0.75em; + font-size: 0.875em; + font-weight: 500; + border-radius: 0.375rem; + text-align: center; + display: inline-block; +} + +/* Estilos para a paginação */ +.pagination { + margin-bottom: 0; +} + +.page-link { + color: #495057; + border: 1px solid #dee2e6; + padding: 0.375rem 0.75rem; + font-size: 0.875rem; +} + +.page-link:hover { + color: #1e3a8a; + background-color: #e9ecef; + border-color: #dee2e6; +} + +.page-item.active .page-link { + background-color: #1e3a8a; + border-color: #1e3a8a; + color: white; +} + +.page-item.disabled .page-link { + color: #6c757d; + background-color: #f8f9fa; + border-color: #dee2e6; +} + +/* Ajustes para a seção de paginação */ +.d-flex.justify-content-between.align-items-center { + border-top: 1px solid #dee2e6; + padding-top: 1rem; + margin-top: 1rem; +} + +/* Estilos para empty state */ .text-center.py-4 .text-muted { padding: 2rem; } @@ -333,147 +307,6 @@ padding: 2rem !important; } -/* ===== RESPONSIVIDADE ===== */ -@media (max-width: 768px) { - .table-paciente-container { - padding: 1rem; - } - - .table-paciente-card .card-header { - flex-direction: column; - gap: 1rem; - align-items: flex-start; - } - - .table-paciente-filters .d-flex.flex-wrap.align-items-center.gap-3 { - gap: 1rem !important; - flex-direction: column; - align-items: flex-start; - } - - .table-paciente-filters .d-flex.align-items-center.gap-2 { - width: 100%; - justify-content: space-between; - } - - .table-paciente-filters .form-select-sm.compact-select { - min-width: 100% !important; - margin-top: 0.25rem; - } - - .vr.d-none.d-md-block { - display: none !important; - } - - .table-paciente-table { - font-size: 0.875rem; - } - - .table-paciente-table th, - .table-paciente-table td { - padding: 10px 6px; - } - - .btn-view, - .btn-edit, - .btn-delete { - padding: 0.25rem 0.5rem; - font-size: 0.75rem; - } - - .table-paciente-filters .d-flex { - flex-direction: column; - gap: 0.5rem; - } - - .table-paciente-filters .form-select { - min-width: 100% !important; - } - - .patient-name-container { - flex-direction: column; - align-items: flex-start !important; - gap: 0.25rem; - } - - .d-flex.justify-content-between.align-items-center { - flex-direction: column; - gap: 1rem; - align-items: stretch !important; - } - - /* Ocultar colunas em mobile */ - .table-paciente-table thead th:nth-child(3), - .table-paciente-table thead th:nth-child(4), - .table-paciente-table tbody td:nth-child(3), - .table-paciente-table tbody td:nth-child(4) { - display: none; - } -} - -@media (max-width: 576px) { - .table-paciente-card .card-header { - padding: 0.75rem 1rem; - } - - .table-paciente-table th, - .table-paciente-table td { - padding: 8px 6px; - } - - .table-paciente-filters .btn-sm { - width: 100%; - } - - /* Ocultar mais colunas em telas muito pequenas */ - .table-paciente-table thead th:nth-child(2), - .table-paciente-table thead th:nth-child(5), - .table-paciente-table tbody td:nth-child(2), - .table-paciente-table tbody td:nth-child(5) { - display: none; - } -} - -/* ===== MELHORIAS VISUAIS ===== */ -.form-select-sm:focus { - border-color: #1e3a8a; - box-shadow: 0 0 0 0.2rem rgba(30, 58, 138, 0.25); -} - -.btn-outline-secondary.btn-sm { - border-color: #6c757d; - color: #6c757d; - font-size: 0.8rem; - padding: 0.35rem 0.75rem; -} - -.btn-outline-secondary.btn-sm:hover { - background-color: #6c757d; - color: white; -} - -.advanced-filters { - background-color: var(--bg-light); - border: 1px solid #dee2e6 !important; -} - -.advanced-filters .form-control-sm { - font-size: 0.825rem; -} - -.advanced-filters h6 { - color: #495057; - font-size: 0.9rem; - font-weight: 600; -} - -/* Ajustes para a seção de paginação */ -.d-flex.justify-content-between.align-items-center { - border-top: 1px solid #dee2e6; - padding-top: 1rem; - margin-top: 1rem; -} - /* Responsividade para paginação */ @media (max-width: 768px) { .d-flex.justify-content-between.align-items-center { @@ -510,26 +343,19 @@ font-size: 0.875rem; } -/* Melhorar a aparência dos badges de paciente */ -.patient-badges { - display: flex; - gap: 0.25rem; - margin-left: 0.5rem; +/* Melhorar a aparência dos badges de filtros ativos */ +.filters-active .badge { + font-size: 0.75em; + padding: 0.4em 0.65em; + margin-bottom: 0.25rem; } -.patient-name-container { - display: flex; - align-items: center; - flex-wrap: wrap; -} - -/* Transições suaves */ -.table-paciente-table tbody tr { - transition: background-color 0.15s ease-in-out; -} - -.btn-view, -.btn-edit, -.btn-delete { - transition: all 0.15s ease-in-out; +@media (max-width: 576px) { + .table-paciente-card .card-header { padding: 0.75rem 1rem; } + .table-paciente-table th, .table-paciente-table td { padding: 8px 6px; } + .table-paciente-table thead th:nth-child(2), + .table-paciente-table thead th:nth-child(4), + .table-paciente-table tbody td:nth-child(2), + .table-paciente-table tbody td:nth-child(4) { display: none; } + .table-paciente-filters .btn-sm { width: 100%; } } \ No newline at end of file