diff --git a/package-lock.json b/package-lock.json index ad05efb..44324ac 100644 --- a/package-lock.json +++ b/package-lock.json @@ -119,7 +119,6 @@ "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", @@ -769,7 +768,6 @@ "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" }, @@ -1653,7 +1651,6 @@ "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", @@ -2555,6 +2552,7 @@ "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", @@ -2568,6 +2566,7 @@ "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", @@ -2581,6 +2580,7 @@ "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,6 +2591,7 @@ "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", @@ -2609,6 +2610,7 @@ "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" @@ -2619,6 +2621,7 @@ "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" }, @@ -2631,6 +2634,7 @@ "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" } @@ -2640,6 +2644,7 @@ "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" } @@ -3061,6 +3066,7 @@ "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", @@ -3073,6 +3079,7 @@ "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", @@ -3086,6 +3093,7 @@ "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" @@ -3096,6 +3104,7 @@ "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", @@ -3114,6 +3123,7 @@ "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" @@ -3124,6 +3134,7 @@ "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" }, @@ -3136,6 +3147,7 @@ "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" } @@ -3145,6 +3157,7 @@ "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" } @@ -3978,6 +3991,7 @@ "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", @@ -3993,6 +4007,7 @@ "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", @@ -4006,6 +4021,7 @@ "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" @@ -4016,6 +4032,7 @@ "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", @@ -4036,6 +4053,7 @@ "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", @@ -4055,6 +4073,7 @@ "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", @@ -4067,6 +4086,7 @@ "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", @@ -4085,6 +4105,7 @@ "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" @@ -4095,6 +4116,7 @@ "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" }, @@ -4107,6 +4129,7 @@ "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" } @@ -4116,6 +4139,7 @@ "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" } @@ -7137,6 +7161,7 @@ "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", @@ -7151,6 +7176,7 @@ "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", @@ -7164,6 +7190,7 @@ "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" @@ -7174,6 +7201,7 @@ "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", @@ -7192,6 +7220,7 @@ "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" @@ -7202,6 +7231,7 @@ "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" }, @@ -7214,6 +7244,7 @@ "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" } @@ -7223,6 +7254,7 @@ "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" } @@ -7644,6 +7676,7 @@ "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", @@ -7660,6 +7693,7 @@ "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", @@ -7673,6 +7707,7 @@ "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" @@ -7683,6 +7718,7 @@ "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", @@ -7701,6 +7737,7 @@ "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" @@ -7711,6 +7748,7 @@ "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" }, @@ -7723,6 +7761,7 @@ "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" } @@ -7732,6 +7771,7 @@ "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" } @@ -8164,6 +8204,7 @@ "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", @@ -8178,6 +8219,7 @@ "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", @@ -8191,6 +8233,7 @@ "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" @@ -8201,6 +8244,7 @@ "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", @@ -8219,6 +8263,7 @@ "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" @@ -8229,6 +8274,7 @@ "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" }, @@ -8241,6 +8287,7 @@ "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" } @@ -8250,6 +8297,7 @@ "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" } @@ -8672,6 +8720,7 @@ "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", @@ -8686,6 +8735,7 @@ "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", @@ -8699,6 +8749,7 @@ "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" @@ -8709,6 +8760,7 @@ "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", @@ -8727,6 +8779,7 @@ "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" @@ -8737,6 +8790,7 @@ "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" }, @@ -8749,6 +8803,7 @@ "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" } @@ -8758,6 +8813,7 @@ "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" } @@ -8767,6 +8823,7 @@ "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", @@ -8781,6 +8838,7 @@ "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", @@ -8794,6 +8852,7 @@ "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" @@ -8804,6 +8863,7 @@ "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", @@ -8822,6 +8882,7 @@ "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" @@ -8832,6 +8893,7 @@ "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" }, @@ -8844,6 +8906,7 @@ "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" } @@ -8853,6 +8916,7 @@ "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" } @@ -8862,6 +8926,7 @@ "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", @@ -8876,6 +8941,7 @@ "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", @@ -8889,6 +8955,7 @@ "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" @@ -8899,6 +8966,7 @@ "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", @@ -8917,6 +8985,7 @@ "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" @@ -8927,6 +8996,7 @@ "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" }, @@ -8939,6 +9009,7 @@ "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" } @@ -8948,6 +9019,7 @@ "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" } @@ -8957,6 +9029,7 @@ "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", @@ -8974,6 +9047,7 @@ "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", @@ -8987,6 +9061,7 @@ "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" @@ -8997,6 +9072,7 @@ "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", @@ -9009,6 +9085,7 @@ "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", @@ -9027,6 +9104,7 @@ "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" @@ -9037,6 +9115,7 @@ "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" }, @@ -9049,6 +9128,7 @@ "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" } @@ -9058,6 +9138,7 @@ "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" } @@ -9077,6 +9158,7 @@ "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", @@ -9088,6 +9170,7 @@ "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", @@ -9101,6 +9184,7 @@ "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" @@ -9111,6 +9195,7 @@ "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", @@ -9129,6 +9214,7 @@ "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" @@ -9139,6 +9225,7 @@ "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" }, @@ -9151,6 +9238,7 @@ "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" } @@ -9160,6 +9248,7 @@ "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" } @@ -9581,6 +9670,7 @@ "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", @@ -9595,6 +9685,7 @@ "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", @@ -9608,6 +9699,7 @@ "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" @@ -9618,6 +9710,7 @@ "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", @@ -9636,6 +9729,7 @@ "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" @@ -9646,6 +9740,7 @@ "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" }, @@ -9658,6 +9753,7 @@ "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" } @@ -9667,6 +9763,7 @@ "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" } @@ -9676,6 +9773,7 @@ "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", @@ -9690,6 +9788,7 @@ "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", @@ -9703,6 +9802,7 @@ "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" @@ -9713,6 +9813,7 @@ "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", @@ -9731,6 +9832,7 @@ "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" @@ -9741,6 +9843,7 @@ "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,6 +9856,7 @@ "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" } @@ -9762,6 +9866,7 @@ "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" } @@ -9771,6 +9876,7 @@ "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", @@ -9786,6 +9892,7 @@ "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", @@ -9799,6 +9906,7 @@ "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", @@ -9813,6 +9921,7 @@ "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" @@ -9823,6 +9932,7 @@ "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", @@ -9841,6 +9951,7 @@ "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" @@ -9851,6 +9962,7 @@ "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" }, @@ -9863,6 +9975,7 @@ "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" } @@ -9872,6 +9985,7 @@ "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" } @@ -10293,6 +10407,7 @@ "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", @@ -10306,6 +10421,7 @@ "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", @@ -10319,6 +10435,7 @@ "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" @@ -10329,6 +10446,7 @@ "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", @@ -10347,6 +10465,7 @@ "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" @@ -10357,6 +10476,7 @@ "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" }, @@ -10369,6 +10489,7 @@ "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" } @@ -10378,6 +10499,7 @@ "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" } @@ -10387,6 +10509,7 @@ "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", @@ -10401,6 +10524,7 @@ "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", @@ -10414,6 +10538,7 @@ "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" @@ -10424,6 +10549,7 @@ "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", @@ -10442,6 +10568,7 @@ "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" @@ -10452,6 +10579,7 @@ "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" }, @@ -10464,6 +10592,7 @@ "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" } @@ -10473,6 +10602,7 @@ "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" } @@ -10482,6 +10612,7 @@ "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", @@ -10496,6 +10627,7 @@ "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", @@ -10509,6 +10641,7 @@ "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" @@ -10519,6 +10652,7 @@ "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", @@ -10537,6 +10671,7 @@ "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" @@ -10547,6 +10682,7 @@ "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" }, @@ -10559,6 +10695,7 @@ "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" } @@ -10568,6 +10705,7 @@ "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" } @@ -10577,6 +10715,7 @@ "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", @@ -10597,6 +10736,7 @@ "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", @@ -10610,6 +10750,7 @@ "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" @@ -10620,6 +10761,7 @@ "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", @@ -10635,6 +10777,7 @@ "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", @@ -10655,6 +10798,7 @@ "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", @@ -10673,6 +10817,7 @@ "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", @@ -10686,6 +10831,7 @@ "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", @@ -10703,6 +10849,7 @@ "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", @@ -10715,6 +10862,7 @@ "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", @@ -10733,6 +10881,7 @@ "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" @@ -10743,6 +10892,7 @@ "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" }, @@ -10755,6 +10905,7 @@ "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" } @@ -10764,6 +10915,7 @@ "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" } @@ -10772,7 +10924,8 @@ "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" + "license": "SEE LICENSE IN LICENSE.md", + "peer": true }, "node_modules/@ckeditor/ckeditor5-image": { "version": "41.4.2", @@ -11617,6 +11770,7 @@ "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", @@ -11629,6 +11783,7 @@ "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", @@ -11642,6 +11797,7 @@ "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" @@ -11652,6 +11808,7 @@ "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", @@ -11670,6 +11827,7 @@ "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" @@ -11680,6 +11838,7 @@ "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" }, @@ -11692,6 +11851,7 @@ "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" } @@ -11701,6 +11861,7 @@ "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" } @@ -12536,6 +12697,7 @@ "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", @@ -12563,6 +12725,7 @@ "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", @@ -12576,6 +12739,7 @@ "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" @@ -12586,6 +12750,7 @@ "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", @@ -12604,6 +12769,7 @@ "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" @@ -12614,6 +12780,7 @@ "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" }, @@ -12626,6 +12793,7 @@ "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" } @@ -12635,6 +12803,7 @@ "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" } @@ -13057,6 +13226,7 @@ "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", @@ -13071,6 +13241,7 @@ "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", @@ -13084,6 +13255,7 @@ "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" @@ -13094,6 +13266,7 @@ "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", @@ -13106,6 +13279,7 @@ "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", @@ -13124,6 +13298,7 @@ "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" @@ -13134,6 +13309,7 @@ "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" }, @@ -13146,6 +13322,7 @@ "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" } @@ -13155,6 +13332,7 @@ "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" } @@ -13164,6 +13342,7 @@ "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", @@ -13177,6 +13356,7 @@ "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", @@ -13190,6 +13370,7 @@ "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" @@ -13200,6 +13381,7 @@ "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", @@ -13218,6 +13400,7 @@ "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" @@ -13228,6 +13411,7 @@ "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" }, @@ -13240,6 +13424,7 @@ "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" } @@ -13249,6 +13434,7 @@ "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" } @@ -13258,6 +13444,7 @@ "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", @@ -13272,6 +13459,7 @@ "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", @@ -13285,6 +13473,7 @@ "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" @@ -13295,6 +13484,7 @@ "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", @@ -13313,6 +13503,7 @@ "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" @@ -13323,6 +13514,7 @@ "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" }, @@ -13335,6 +13527,7 @@ "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" } @@ -13344,6 +13537,7 @@ "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" } @@ -13789,6 +13983,7 @@ "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", @@ -13802,6 +13997,7 @@ "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", @@ -13815,6 +14011,7 @@ "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" @@ -13825,6 +14022,7 @@ "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", @@ -13843,6 +14041,7 @@ "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" @@ -13853,6 +14052,7 @@ "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" }, @@ -13865,6 +14065,7 @@ "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" } @@ -13874,6 +14075,7 @@ "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" } @@ -13883,6 +14085,7 @@ "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", @@ -13897,6 +14100,7 @@ "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", @@ -13910,6 +14114,7 @@ "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" @@ -13920,6 +14125,7 @@ "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", @@ -13938,6 +14144,7 @@ "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" @@ -13948,6 +14155,7 @@ "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" }, @@ -13960,6 +14168,7 @@ "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" } @@ -13969,6 +14178,7 @@ "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" } @@ -13978,6 +14188,7 @@ "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", @@ -13991,6 +14202,7 @@ "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", @@ -14004,6 +14216,7 @@ "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" @@ -14014,6 +14227,7 @@ "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", @@ -14032,6 +14246,7 @@ "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" @@ -14042,6 +14257,7 @@ "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" }, @@ -14054,6 +14270,7 @@ "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" } @@ -14063,6 +14280,7 @@ "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" } @@ -14072,6 +14290,7 @@ "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", @@ -14085,6 +14304,7 @@ "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", @@ -14098,6 +14318,7 @@ "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" @@ -14108,6 +14329,7 @@ "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", @@ -14126,6 +14348,7 @@ "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" @@ -14136,6 +14359,7 @@ "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" }, @@ -14148,6 +14372,7 @@ "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" } @@ -14157,6 +14382,7 @@ "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" } @@ -14166,6 +14392,7 @@ "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", @@ -14180,6 +14407,7 @@ "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", @@ -14193,6 +14421,7 @@ "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" @@ -14203,6 +14432,7 @@ "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", @@ -14221,6 +14451,7 @@ "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" @@ -14231,6 +14462,7 @@ "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" }, @@ -14243,6 +14475,7 @@ "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" } @@ -14252,6 +14485,7 @@ "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" } @@ -14261,6 +14495,7 @@ "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", @@ -14275,6 +14510,7 @@ "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", @@ -14288,6 +14524,7 @@ "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" @@ -14298,6 +14535,7 @@ "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", @@ -14310,6 +14548,7 @@ "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", @@ -14328,6 +14567,7 @@ "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" @@ -14338,6 +14578,7 @@ "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" }, @@ -14350,6 +14591,7 @@ "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" } @@ -14359,6 +14601,7 @@ "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" } @@ -14368,6 +14611,7 @@ "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", @@ -14385,6 +14629,7 @@ "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", @@ -14398,6 +14643,7 @@ "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" @@ -14408,6 +14654,7 @@ "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", @@ -14426,6 +14673,7 @@ "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", @@ -14443,6 +14691,7 @@ "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", @@ -14455,6 +14704,7 @@ "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", @@ -14473,6 +14723,7 @@ "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" @@ -14483,6 +14734,7 @@ "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" }, @@ -14495,6 +14747,7 @@ "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" } @@ -14504,6 +14757,7 @@ "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" } @@ -14927,6 +15181,7 @@ "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" } @@ -14936,6 +15191,7 @@ "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", @@ -14949,6 +15205,7 @@ "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" @@ -14959,6 +15216,7 @@ "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", @@ -14977,6 +15235,7 @@ "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" @@ -14987,6 +15246,7 @@ "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" }, @@ -14999,6 +15259,7 @@ "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" } @@ -15008,6 +15269,7 @@ "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" } @@ -15043,6 +15305,7 @@ "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", @@ -15056,6 +15319,7 @@ "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", @@ -15069,6 +15333,7 @@ "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" @@ -15079,6 +15344,7 @@ "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", @@ -15097,6 +15363,7 @@ "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" @@ -15107,6 +15374,7 @@ "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" }, @@ -15119,6 +15387,7 @@ "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" } @@ -15128,6 +15397,7 @@ "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" } @@ -15137,6 +15407,7 @@ "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" @@ -15147,6 +15418,7 @@ "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", @@ -15160,6 +15432,7 @@ "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" @@ -15170,6 +15443,7 @@ "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", @@ -15188,6 +15462,7 @@ "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" @@ -15198,6 +15473,7 @@ "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" }, @@ -15210,6 +15486,7 @@ "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" } @@ -15219,6 +15496,7 @@ "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" } @@ -15237,6 +15515,7 @@ "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", @@ -15250,6 +15529,7 @@ "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", @@ -15263,6 +15543,7 @@ "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" @@ -15273,6 +15554,7 @@ "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", @@ -15291,6 +15573,7 @@ "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" @@ -15301,6 +15584,7 @@ "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" }, @@ -15313,6 +15597,7 @@ "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" } @@ -15322,6 +15607,7 @@ "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" } @@ -15331,6 +15617,7 @@ "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", @@ -15347,6 +15634,7 @@ "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", @@ -15360,6 +15648,7 @@ "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" @@ -15370,6 +15659,7 @@ "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", @@ -15382,6 +15672,7 @@ "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", @@ -15400,6 +15691,7 @@ "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" @@ -15410,6 +15702,7 @@ "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" }, @@ -15422,6 +15715,7 @@ "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" } @@ -15431,6 +15725,7 @@ "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" } @@ -15440,6 +15735,7 @@ "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", @@ -15453,6 +15749,7 @@ "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", @@ -15466,6 +15763,7 @@ "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" @@ -15476,6 +15774,7 @@ "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", @@ -15494,6 +15793,7 @@ "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" @@ -15504,6 +15804,7 @@ "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" }, @@ -15516,6 +15817,7 @@ "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" } @@ -15525,6 +15827,7 @@ "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" } @@ -15949,7 +16252,6 @@ "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", @@ -16016,7 +16318,6 @@ "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", @@ -16032,8 +16333,7 @@ "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", - "peer": true + "license": "Apache-2.0" }, "node_modules/@firebase/auth-compat": { "version": "0.6.1", @@ -16490,7 +16790,6 @@ "integrity": "sha512-0AZUyYUfpMNcztR5l09izHwXkZpghLgCUaAGjtMwXnCg3bj4ml5VgiwqOMOxJ+Nw4qN/zJAaOQBcJ7KGkWStqQ==", "hasInstallScript": true, "license": "Apache-2.0", - "peer": true, "dependencies": { "tslib": "^2.1.0" }, @@ -16514,6 +16813,17 @@ "@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", @@ -16535,7 +16845,6 @@ "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" }, @@ -16573,7 +16882,6 @@ "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" } @@ -17645,7 +17953,6 @@ "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" @@ -17991,7 +18298,6 @@ "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" @@ -18015,7 +18321,6 @@ "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" }, @@ -18265,7 +18570,6 @@ "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", @@ -18353,7 +18657,6 @@ "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" @@ -18576,7 +18879,6 @@ "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" @@ -18695,7 +18997,6 @@ "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" @@ -18710,7 +19011,6 @@ "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", @@ -18888,6 +19188,7 @@ "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" } @@ -18896,7 +19197,8 @@ "version": "1.1.5", "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.5.tgz", "integrity": "sha512-j2K5UJqGTxeesj6oQuGpMgifpT5k9HprgQd8D1Y0lOFqKHl3PJu5GMeS4Y5EgjS55AE6OQxf8mPED9uaGbf4Cg==", - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/@types/connect": { "version": "3.4.38", @@ -18985,6 +19287,7 @@ "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": "*" } @@ -19065,6 +19368,7 @@ "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": "*" } @@ -19147,6 +19451,7 @@ "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", "license": "MIT", + "peer": true, "dependencies": { "@types/unist": "*" } @@ -19167,7 +19472,8 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz", "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==", - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/@types/node": { "version": "24.9.2", @@ -19256,7 +19562,6 @@ "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" } @@ -19365,7 +19670,8 @@ "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" + "license": "MIT", + "peer": true }, "node_modules/@types/use-sync-external-store": { "version": "0.0.6", @@ -19408,7 +19714,6 @@ "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", @@ -19462,7 +19767,6 @@ "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", @@ -19644,6 +19948,7 @@ "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", @@ -19658,6 +19963,7 @@ "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" } @@ -19851,7 +20157,6 @@ "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" }, @@ -19950,7 +20255,6 @@ "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", @@ -20106,7 +20410,6 @@ "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", @@ -20697,6 +21000,7 @@ "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" @@ -20899,7 +21203,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "baseline-browser-mapping": "^2.8.19", "caniuse-lite": "^1.0.30001751", @@ -21103,6 +21406,7 @@ "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" @@ -21153,6 +21457,7 @@ "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" @@ -21163,6 +21468,7 @@ "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" @@ -21173,6 +21479,7 @@ "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" @@ -21255,6 +21562,7 @@ "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", @@ -21324,6 +21632,7 @@ "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", @@ -21335,6 +21644,7 @@ "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", @@ -21349,6 +21659,7 @@ "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", @@ -21363,6 +21674,7 @@ "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", @@ -21378,6 +21690,7 @@ "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", @@ -21397,6 +21710,7 @@ "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", @@ -21411,6 +21725,7 @@ "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", @@ -21422,6 +21737,7 @@ "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", @@ -21435,6 +21751,7 @@ "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", @@ -21448,6 +21765,7 @@ "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", @@ -21462,6 +21780,7 @@ "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" @@ -21472,6 +21791,7 @@ "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", @@ -21488,6 +21808,7 @@ "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", @@ -21503,6 +21824,7 @@ "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", @@ -21523,6 +21845,7 @@ "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", @@ -21539,6 +21862,7 @@ "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", @@ -21558,6 +21882,7 @@ "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", @@ -21576,6 +21901,7 @@ "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", @@ -21594,6 +21920,7 @@ "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", @@ -21607,6 +21934,7 @@ "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", @@ -21619,6 +21947,7 @@ "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", @@ -21636,6 +21965,7 @@ "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", @@ -21648,6 +21978,7 @@ "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", @@ -21666,6 +21997,7 @@ "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" @@ -21676,6 +22008,7 @@ "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" }, @@ -21688,6 +22021,7 @@ "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" } @@ -21697,6 +22031,7 @@ "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" } @@ -21914,6 +22249,7 @@ "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" @@ -22763,7 +23099,8 @@ "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" + "license": "MIT", + "peer": true }, "node_modules/debug": { "version": "4.4.3", @@ -22799,6 +23136,7 @@ "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" }, @@ -23006,6 +23344,7 @@ "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" }, @@ -23607,7 +23946,6 @@ "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", @@ -25017,7 +25355,8 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/fuzzysort/-/fuzzysort-3.1.0.tgz", "integrity": "sha512-sR9BNCjBg6LNgwvxlBd0sBABvQitkLzoVY9MYYROQVX/FvfJ4Mai9LsGhDgd8qYdds0bY77VzYd5iuB+v5rwQQ==", - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/generator-function": { "version": "2.0.1", @@ -25398,6 +25737,7 @@ "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" @@ -25412,6 +25752,7 @@ "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", @@ -25427,6 +25768,7 @@ "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" }, @@ -25440,6 +25782,7 @@ "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" }, @@ -25453,6 +25796,7 @@ "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" }, @@ -25466,6 +25810,7 @@ "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", @@ -25483,6 +25828,7 @@ "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" }, @@ -25496,6 +25842,7 @@ "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", @@ -25513,6 +25860,7 @@ "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", @@ -25528,6 +25876,7 @@ "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", @@ -25551,6 +25900,7 @@ "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", @@ -25577,6 +25927,7 @@ "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", @@ -25593,6 +25944,7 @@ "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" }, @@ -25606,6 +25958,7 @@ "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", @@ -25753,6 +26106,7 @@ "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" @@ -26497,6 +26851,7 @@ "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" }, @@ -26877,7 +27232,6 @@ "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", @@ -27763,7 +28117,6 @@ "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" } @@ -28220,6 +28573,7 @@ "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" @@ -28337,6 +28691,7 @@ "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" @@ -28368,6 +28723,7 @@ "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", @@ -28384,6 +28740,7 @@ "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" }, @@ -28396,6 +28753,7 @@ "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", @@ -28420,6 +28778,7 @@ "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", @@ -28439,6 +28798,7 @@ "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", @@ -28456,6 +28816,7 @@ "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", @@ -28473,6 +28834,7 @@ "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", @@ -28488,6 +28850,7 @@ "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", @@ -28505,6 +28868,7 @@ "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", @@ -28521,6 +28885,7 @@ "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" @@ -28535,6 +28900,7 @@ "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" @@ -28549,6 +28915,7 @@ "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", @@ -28570,6 +28937,7 @@ "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", @@ -28591,6 +28959,7 @@ "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" }, @@ -28683,6 +29052,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "@types/debug": "^4.0.0", "debug": "^4.0.0", @@ -28718,6 +29088,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "decode-named-character-reference": "^1.0.0", "devlop": "^1.0.0", @@ -28742,6 +29113,7 @@ "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", @@ -28762,6 +29134,7 @@ "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", @@ -28778,6 +29151,7 @@ "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", @@ -28798,6 +29172,7 @@ "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", @@ -28816,6 +29191,7 @@ "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", @@ -28833,6 +29209,7 @@ "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" }, @@ -28846,6 +29223,7 @@ "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", @@ -28873,6 +29251,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", @@ -28894,6 +29273,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "devlop": "^1.0.0", "micromark-util-character": "^2.0.0", @@ -28916,6 +29296,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-types": "^2.0.0" @@ -28936,6 +29317,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", @@ -28958,6 +29340,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", @@ -28980,6 +29363,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" @@ -29000,6 +29384,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "micromark-util-symbol": "^2.0.0" } @@ -29019,6 +29404,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", @@ -29040,6 +29426,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "micromark-util-chunked": "^2.0.0", "micromark-util-types": "^2.0.0" @@ -29060,6 +29447,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "micromark-util-symbol": "^2.0.0" } @@ -29079,6 +29467,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "decode-named-character-reference": "^1.0.0", "micromark-util-character": "^2.0.0", @@ -29100,7 +29489,8 @@ "url": "https://opencollective.com/unified" } ], - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/micromark-util-html-tag-name": { "version": "2.0.1", @@ -29116,7 +29506,8 @@ "url": "https://opencollective.com/unified" } ], - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/micromark-util-normalize-identifier": { "version": "2.0.1", @@ -29133,6 +29524,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "micromark-util-symbol": "^2.0.0" } @@ -29152,6 +29544,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "micromark-util-types": "^2.0.0" } @@ -29171,6 +29564,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-encode": "^2.0.0", @@ -29192,6 +29586,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "devlop": "^1.0.0", "micromark-util-chunked": "^2.0.0", @@ -29213,7 +29608,8 @@ "url": "https://opencollective.com/unified" } ], - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/micromark-util-types": { "version": "2.0.2", @@ -29229,7 +29625,8 @@ "url": "https://opencollective.com/unified" } ], - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/micromatch": { "version": "4.0.8", @@ -30217,7 +30614,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", @@ -31352,7 +31748,6 @@ "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" @@ -31492,6 +31887,7 @@ "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", "license": "MIT", "optional": true, + "peer": true, "bin": { "prettier": "bin-prettier.js" }, @@ -31619,6 +32015,7 @@ "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" @@ -31736,7 +32133,6 @@ "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" } @@ -31766,7 +32162,6 @@ "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", @@ -31815,7 +32210,6 @@ "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", @@ -32039,7 +32433,6 @@ "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" }, @@ -32218,7 +32611,6 @@ "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" @@ -32272,8 +32664,7 @@ "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", - "peer": true + "license": "MIT" }, "node_modules/react-lifecycles-compat": { "version": "3.0.4", @@ -32347,7 +32738,6 @@ "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" @@ -32371,7 +32761,6 @@ "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" } @@ -32634,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", @@ -32764,8 +33167,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/redux/-/redux-5.0.1.tgz", "integrity": "sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w==", - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/redux-thunk": { "version": "3.1.0", @@ -32888,6 +33290,7 @@ "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", @@ -32899,6 +33302,7 @@ "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", @@ -32910,6 +33314,7 @@ "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" @@ -32924,6 +33329,7 @@ "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", @@ -32950,6 +33356,7 @@ "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", @@ -32965,6 +33372,7 @@ "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", @@ -32983,6 +33391,7 @@ "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", @@ -32999,6 +33408,7 @@ "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", @@ -33016,6 +33426,7 @@ "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", @@ -33235,7 +33646,6 @@ "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" }, @@ -33420,7 +33830,6 @@ "integrity": "sha512-elOcIZRTM76dvxNAjqYrucTSI0teAF/L2Lv0s6f6b7FOwcwIuA357bIE871580AjHJuSvLIRUosgV+lIWx6Rgg==", "devOptional": true, "license": "MIT", - "peer": true, "dependencies": { "chokidar": "^4.0.0", "immutable": "^5.0.2", @@ -33558,7 +33967,6 @@ "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", @@ -34057,6 +34465,7 @@ "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" @@ -34454,6 +34863,7 @@ "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" @@ -35219,6 +35629,7 @@ "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" @@ -35229,6 +35640,7 @@ "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" @@ -35239,6 +35651,7 @@ "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" @@ -35357,7 +35770,6 @@ "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" }, @@ -35572,6 +35984,7 @@ "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", @@ -35603,6 +36016,7 @@ "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" @@ -35617,6 +36031,7 @@ "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" }, @@ -35630,6 +36045,7 @@ "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" }, @@ -35643,6 +36059,7 @@ "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" }, @@ -35656,6 +36073,7 @@ "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", @@ -35671,6 +36089,7 @@ "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" @@ -35866,6 +36285,7 @@ "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" @@ -35880,6 +36300,7 @@ "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" @@ -36007,6 +36428,7 @@ "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" @@ -36041,7 +36463,6 @@ "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", @@ -36134,7 +36555,6 @@ "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", @@ -36874,7 +37294,6 @@ "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", @@ -37198,7 +37617,6 @@ "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" }, @@ -37295,6 +37713,7 @@ "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/PagesAdm/gestao.css b/src/PagesAdm/gestao.css index 9951eae..17c8e49 100644 --- a/src/PagesAdm/gestao.css +++ b/src/PagesAdm/gestao.css @@ -1,3 +1,26 @@ +: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; + --bg-light: #f8f9fa; + --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; +} + +/* ===== ESTILOS EXISTENTES DO DASHBOARD ===== */ .dashboard-container { padding: 2rem; font-family: 'Arial', sans-serif; @@ -44,68 +67,6 @@ box-shadow: 0 4px 12px rgba(30, 58, 138, 0.4); } -.filters-container { - background: #fff; - border-radius: 12px; - padding: 1.2rem; - box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); - margin-bottom: 2rem; -} - -.filters-title { - font-size: 16px; - font-weight: bold; - margin-bottom: 0.3rem; - color: #333; -} - -.filters-subtitle { - font-size: 0.85rem; - color: #666; - margin-bottom: 1rem; -} - -.filters-content { - display: flex; - gap: 0.8rem; - align-items: center; -} - -.filters-input { - flex: 1; - padding: 0.5rem 0.8rem; - border: 1px solid #d1d5db; - border-radius: 6px; - font-size: 0.9rem; - color: #333; - min-width: 200px; - transition: all 0.2s ease; -} - -.filters-input:focus { - border-color: #1e3a8a; - box-shadow: 0 0 0 2px rgba(30, 58, 138, 0.1); - outline: none; -} - -.filters-select { - padding: 0.5rem 0.8rem; - border: 1px solid #d1d5db; - border-radius: 6px; - font-size: 0.9rem; - background: #fff; - color: #333; - cursor: pointer; - min-width: 140px; - transition: all 0.2s ease; -} - -.filters-select:focus { - border-color: #1e3a8a; - 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)); @@ -156,283 +117,396 @@ .user-table-container { background: #fff; border-radius: 12px; - padding: 1.2rem; + padding: 1.5rem; box-shadow: 0 2px 8px rgba(0,0,0,0.1); - margin-top: 2rem; + margin-top: 1rem; } -.user-table-container h2 { - font-size: 18px; - font-weight: bold; - margin-bottom: 0.3rem; - color: #333; +/* ===== ESTILOS DA TABELA AVANÇADA ===== */ +.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); } -.user-table-container p { - font-size: 0.9rem; - color: #666; - margin-bottom: 1rem; +.table-paciente-filters h5 { + color: var(--text-dark); + font-weight: 600; + font-size: 1.1rem; } -.user-table { +.table-paciente-table { width: 100%; border-collapse: collapse; + margin-top: 1rem; } -.user-table th, -.user-table td { - padding: 10px 12px; - text-align: left; - border-bottom: 1px solid #e0e0e0; -} - -.user-table th { - background-color: #f3f4f6; - color: #333; +.table-paciente-table th { + background-color: var(--bg-light); + color: var(--text-dark); font-weight: 600; + padding: 12px 8px; + border-bottom: 2px solid var(--border-light); + vertical-align: middle; font-size: 0.9rem; } -.user-table tr { - transition: background-color 0.2s ease; +.table-paciente-table td { + padding: 12px 8px; + vertical-align: middle; + border-bottom: 1px solid var(--border-light); + font-size: 0.875rem; } -.user-table tr:hover { - background-color: #f0f4ff; +.table-paciente-table tbody tr:hover { + background-color: rgba(0, 0, 0, 0.025); } -.profile-badge { - background-color: #1e3a8a; - color: white; - padding: 4px 10px; - border-radius: 6px; - font-size: 0.8rem; +.insurance-badge { + background-color: transparent !important; + color: var(--text-dark) !important; + padding: 0.35em 0.65em; + font-size: 0.75em; font-weight: 500; - display: inline-block; + border: 1px solid var(--border-light); + border-radius: var(--border-radius); } .status-badge { - padding: 4px 10px; - border-radius: 6px; - font-size: 0.8rem; - color: #fff; + 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: #1e3a8a; + background-color: var(--primary-blue); + color: white; } .status-badge.inativo { - background-color: #6c757d; + background-color: var(--text-muted); + color: white; } -.actions { - display: flex; - gap: 8px; - flex-wrap: wrap; +.anniversary-badge { + background-color: #ffc107; + color: #000; + padding: 0.35em 0.65em; + font-size: 0.75em; + border-radius: 50%; } -.action-btn { - border: none; - padding: 6px 12px; +.btn-view { + background-color: var(--light-blue) !important; + color: #004085 !important; + border: 1px solid var(--border-blue); + 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; + border-color: #9EC5FE; +} + +.btn-edit { + background-color: var(--warning-light) !important; + color: var(--warning-dark) !important; + border: 1px solid var(--warning-border); + padding: 0.375rem 0.75rem; + font-size: 0.875rem; + border-radius: var(--border-radius); + transition: all 0.15s ease-in-out; +} + +.btn-edit:hover { + background-color: #FFEEBA !important; + border-color: #FFE087; +} + +.btn-delete { + background-color: var(--danger-light) !important; + color: var(--danger-dark) !important; + border: 1px solid var(--danger-border); + padding: 0.375rem 0.75rem; + font-size: 0.875rem; + border-radius: var(--border-radius); + transition: all 0.15s ease-in-out; +} + +.btn-delete:hover { + background-color: #F1B0B7 !important; + border-color: #ED969E; +} + +.advanced-filters { + border: 1px solid var(--border-light); + border-radius: var(--border-radius); + background-color: white; +} + +.advanced-filters h6 { + color: var(--text-dark); + font-size: 0.9rem; + font-weight: 600; +} + +.form-label.fw-bold { + color: var(--text-dark); + font-size: 0.875rem; +} + +.delete-modal .modal-header { + background-color: rgba(220, 53, 69, 0.1); + border-bottom: 1px solid rgba(220, 53, 69, 0.2); +} + +.delete-modal .modal-title { + color: #dc3545; + font-weight: 600; +} + +.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; - cursor: pointer; - transition: all 0.2s ease; - border-radius: 4px; - display: inline-flex; - align-items: center; - gap: 4px; + color: #6c757d; + min-width: auto; + white-space: nowrap; } -.action-btn.detalhes { - background-color: #e6f2ff; - color: #004085; - border: 1px solid #b8d4ff; +/* Alinhamento dos grupos de filtro */ +.table-paciente-filters .d-flex.align-items-center.gap-2 { + flex-wrap: nowrap; } -.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 { +/* Ajuste do contador */ +.contador-pacientes { background-color: #1e3a8a; color: white; - border: none; - padding: 8px 16px; - border-radius: 6px; + padding: 0.4rem 0.8rem; + font-size: 0.8rem; font-weight: 600; - cursor: pointer; - transition: all 0.3s ease; + border-radius: 0.375rem; + text-align: center; + display: inline-block; + letter-spacing: 0.5px; } -.save-btn:hover { - background-color: #162d6b; - transform: translateY(-1px); - box-shadow: 0 4px 8px rgba(30, 58, 138, 0.3); +/* Botão de filtros avançados */ +.btn-link { + color: #1e3a8a !important; + font-weight: 500; + transition: all 0.2s ease; } -.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; +.btn-link:hover { + color: #162d6b !important; transform: translateY(-1px); } -html[data-bs-theme="dark"] .dashboard-container { - background-color: #121212; - color: #e0e0e0; +/* Ajustes responsivos para mobile */ +@media (max-width: 768px) { + .dashboard-container { + padding: 1rem; + } + + .dashboard-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; + } + + .table-paciente-table thead th:nth-child(6), + .table-paciente-table tbody td:nth-child(6) { + display: none; + } } -html[data-bs-theme="dark"] .dashboard-header, -html[data-bs-theme="dark"] .dashboard-title, -html[data-bs-theme="dark"] .dashboard-subtitle { - color: #e0e0e0; -} - -html[data-bs-theme="dark"] .new-user-btn { - background-color: #1e3a8a; -} - -html[data-bs-theme="dark"] .new-user-btn:hover { - background-color: #162d6b; -} - -html[data-bs-theme="dark"] .filters-container, -html[data-bs-theme="dark"] .user-table-container { - background: #1a1a1a; - box-shadow: 0 2px 8px rgba(0,0,0,0.4); -} - -html[data-bs-theme="dark"] .filters-title, -html[data-bs-theme="dark"] .user-table-container h2 { - color: #e0e0e0; -} - -html[data-bs-theme="dark"] .filters-subtitle, -html[data-bs-theme="dark"] .user-table-container p { - color: #bdbdbd; -} - -html[data-bs-theme="dark"] .filters-input, -html[data-bs-theme="dark"] .filters-select { - background: #232323; - color: #e0e0e0; - border-color: #333; -} - -html[data-bs-theme="dark"] .filters-input:focus, -html[data-bs-theme="dark"] .filters-select:focus { +/* Estilo para os selects quando estão ativos */ +.form-select-sm:focus { border-color: #1e3a8a; - box-shadow: 0 0 0 2px rgba(30, 58, 138, 0.2); + box-shadow: 0 0 0 0.2rem rgba(30, 58, 138, 0.25); } -html[data-bs-theme="dark"] .cards-container .card { - background-color: #181818; - color: #e0e0e0; - box-shadow: 0 2px 6px rgba(0,0,0,0.4); +/* Ajuste do botão limpar filtros */ +.btn-outline-secondary.btn-sm { + border-color: #6c757d; + color: #6c757d; + font-size: 0.8rem; + padding: 0.35rem 0.75rem; } -html[data-bs-theme="dark"] .highlight:hover { - background: #1a1f2e; - border: 1px solid #1e3a8a33; +.btn-outline-secondary.btn-sm:hover { + background-color: #6c757d; + color: white; } -html[data-bs-theme="dark"] .card-label { - color: #888; +/* Melhoria na aparência dos filtros avançados */ +.advanced-filters { + background-color: #f8f9fa; + border: 1px solid #dee2e6 !important; } -html[data-bs-theme="dark"] .card-value { - color: #e0e0e0; +.advanced-filters .form-control-sm { + font-size: 0.825rem; } -html[data-bs-theme="dark"] .card-extra { - color: #bdbdbd; +.advanced-filters h6 { + color: #495057; + font-size: 0.9rem; + font-weight: 600; } -html[data-bs-theme="dark"] .card-extra.positive { - color: #1e3a8a; +.compact-select { + font-size: 0.9rem; + padding: 0.45rem 0.5rem; + min-width: 150px; } -html[data-bs-theme="dark"] .user-table th { - background-color: #232323; - color: #e0e0e0; -} - -html[data-bs-theme="dark"] .user-table td { - color: #e0e0e0; - border-bottom: 1px solid #333; -} - -html[data-bs-theme="dark"] .user-table tr:hover { - background-color: #1a1f2e; -} - -html[data-bs-theme="dark"] .profile-badge { +/* Badge de Perfil */ +.badge-medico { background-color: #1e3a8a; + color: white; + padding: 0.35rem 0.75rem; + border-radius: 0.375rem; + font-size: 0.85rem; + font-weight: 500; } -html[data-bs-theme="dark"] .action-btn.detalhes { - background-color: #e6f2ff; - color: #004085; - border: 1px solid #b8d4ff; +.badge-paciente { + background-color: #1e3a8a; + color: white; + padding: 0.35rem 0.75rem; + border-radius: 0.375rem; + font-size: 0.85rem; + font-weight: 500; } -html[data-bs-theme="dark"] .action-btn.detalhes:hover { - background-color: #cce4ff; -} - -html[data-bs-theme="dark"] .action-btn.editar { - background-color: #fff3cd; - color: #856405; - border: 1px solid #ffeaa7; -} - -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; +@media (max-width: 576px) { + .cards-container { + grid-template-columns: 1fr; + } + + .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; + } + + .user-table-container { + padding: 1rem; + } } \ No newline at end of file diff --git a/src/PagesAdm/gestao.jsx b/src/PagesAdm/gestao.jsx index a5ecd88..3494da6 100644 --- a/src/PagesAdm/gestao.jsx +++ b/src/PagesAdm/gestao.jsx @@ -1,9 +1,186 @@ -import React from "react"; +import React, { useState, useEffect } from "react"; import "./gestao.css"; +import { GetAllDoctors } from "../components/utils/Functions-Endpoints/Doctor"; +import { GetAllPatients } from "../components/utils/Functions-Endpoints/Patient"; +import API_KEY from "../components/utils/apiKeys"; function UserDashboard() { + // Estados principais + const [usuarios, setUsuarios] = useState([]); + const [busca, setBusca] = useState(""); + const [filtroPerfil, setFiltroPerfil] = useState("Todos"); + const [filtroStatus, setFiltroStatus] = useState("Todos"); + const [filtroDepartamento, setFiltroDepartamento] = useState("Todos"); + const [showFiltrosAvancados, setShowFiltrosAvancados] = useState(false); + const [loading, setLoading] = useState(true); + + // Estados de paginação + const [paginaAtual, setPaginaAtual] = useState(1); + const [itensPorPagina, setItensPorPagina] = useState(10); + + // Estados de ordenação + const [sortKey, setSortKey] = useState(null); + const [sortDir, setSortDir] = useState('asc'); + + // Estados para modais + const [showDeleteModal, setShowDeleteModal] = useState(false); + const [selectedUserId, setSelectedUserId] = useState(null); + + // Buscar dados reais da API + useEffect(() => { + const fetchUsuarios = async () => { + try { + setLoading(true); + const access_token = localStorage.getItem("access_token"); + const authHeader = access_token ? `Bearer ${access_token}` : null; + + // Buscar médicos e pacientes em paralelo + const [medicos, pacientes] = await Promise.all([ + GetAllDoctors(authHeader), + GetAllPatients(authHeader) + ]); + + console.log("Médicos:", medicos); + console.log("Pacientes:", pacientes); + + // Transformar médicos + const usuariosMedicos = medicos.map(medico => ({ + id: `doctor-${medico.id}`, + nome: medico.full_name || "Nome não informado", + email: medico.email || "Email não informado", + perfil: "Médico", + departamento: medico.specialization || "Não informado", + status: "ativo", + ultimoAcesso: medico.updated_at || medico.created_at || new Date().toISOString(), + dataCadastro: medico.created_at || new Date().toISOString(), + telefone: medico.phone || "Não informado", + crm: medico.crm + })); + + // Transformar pacientes + const usuariosPacientes = pacientes.map(paciente => ({ + id: `patient-${paciente.id}`, + nome: paciente.full_name || "Nome não informado", + email: paciente.email || "Email não informado", + perfil: "Paciente", + departamento: "Pacientes", + status: "ativo", + ultimoAcesso: paciente.updated_at || paciente.created_at || new Date().toISOString(), + dataCadastro: paciente.created_at || new Date().toISOString(), + telefone: paciente.phone || "Não informado", + cpf: paciente.cpf + })); + + // Combinar todos os usuários + const todosUsuarios = [...usuariosMedicos, ...usuariosPacientes]; + setUsuarios(todosUsuarios); + } catch (error) { + console.error("Erro ao buscar usuários:", error); + } finally { + setLoading(false); + } + }; + + fetchUsuarios(); + }, []); + + // Funções auxiliares + const formatarData = (dataString) => { + const data = new Date(dataString); + return data.toLocaleDateString('pt-BR', { + day: '2-digit', + month: '2-digit', + year: 'numeric', + hour: '2-digit', + minute: '2-digit' + }); + }; + + const calcularDiasDesdeUltimoAcesso = (dataString) => { + const ultimoAcesso = new Date(dataString); + const hoje = new Date(); + const diffTime = Math.abs(hoje - ultimoAcesso); + return Math.ceil(diffTime / (1000 * 60 * 60 * 24)); + }; + + // Filtragem + const usuariosFiltrados = usuarios.filter(usuario => { + const passaBusca = busca === "" || + usuario.nome.toLowerCase().includes(busca.toLowerCase()) || + usuario.email.toLowerCase().includes(busca.toLowerCase()); + + const passaPerfil = filtroPerfil === "Todos" || usuario.perfil === filtroPerfil; + const passaStatus = filtroStatus === "Todos" || usuario.status === filtroStatus; + const passaDepartamento = filtroDepartamento === "Todos" || usuario.departamento === filtroDepartamento; + + return passaBusca && passaPerfil && passaStatus && passaDepartamento; + }); + + // Ordenação + const aplicarOrdenacao = (arr) => { + if (!sortKey) return arr; + + const copia = [...arr]; + copia.sort((a, b) => { + if (sortKey === 'nome') { + return a.nome.localeCompare(b.nome); + } else if (sortKey === 'dataCadastro') { + return new Date(a.dataCadastro) - new Date(b.dataCadastro); + } else if (sortKey === 'ultimoAcesso') { + return new Date(a.ultimoAcesso) - new Date(b.ultimoAcesso); + } + return 0; + }); + + return sortDir === 'desc' ? copia.reverse() : copia; + }; + + const usuariosOrdenados = aplicarOrdenacao(usuariosFiltrados); + + // Paginação + const totalPaginas = Math.ceil(usuariosFiltrados.length / itensPorPagina); + const indiceInicial = (paginaAtual - 1) * itensPorPagina; + const indiceFinal = indiceInicial + itensPorPagina; + const usuariosPaginados = usuariosOrdenados.slice(indiceInicial, indiceFinal); + + // Navegação de páginas + const irParaPagina = (pagina) => setPaginaAtual(pagina); + const avancarPagina = () => paginaAtual < totalPaginas && setPaginaAtual(p => p + 1); + const voltarPagina = () => paginaAtual > 1 && setPaginaAtual(p => p - 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); + return paginas; + }; + + // Funções de ação + const limparFiltros = () => { + setBusca(""); + setFiltroPerfil("Todos"); + setFiltroStatus("Todos"); + setFiltroDepartamento("Todos"); + setPaginaAtual(1); + }; + + const excluirUsuario = (id) => { + setUsuarios(prev => prev.filter(u => u.id !== id)); + setShowDeleteModal(false); + }; + + // Resetar paginação quando filtros mudarem + useEffect(() => { + setPaginaAtual(1); + }, [busca, filtroPerfil, filtroStatus, filtroDepartamento, sortKey, sortDir]); + return (
+ {/* Header */}

Gestão de Usuários

@@ -14,125 +191,363 @@ function UserDashboard() {
+ {/* Cards de Estatísticas */}

Total de Usuários

-

15

-

+3 este mês

+

{loading ? "..." : usuarios.length}

+

Médicos e Pacientes

+
+
+

Médicos

+

{loading ? "..." : usuarios.filter(u => u.perfil === 'Médico').length}

+

Profissionais cadastrados

+
+
+

Pacientes

+

{loading ? "..." : usuarios.filter(u => u.perfil === 'Paciente').length}

+

Pacientes cadastrados

Usuários Ativos

-

12

-

80.0% do total

-
-
-

Tempo Médio Sessão

-

2h 30min

-

Última semana

-
-
-

Usuários Hoje

-

10

-

+2 desde ontem

-
-
- -
-

Filtros

-

- Use os filtros abaixo para encontrar usuários específicos -

-
- - - +

{loading ? "..." : usuarios.filter(u => u.status === 'ativo').length}

+

{usuarios.length > 0 ? ((usuarios.filter(u => u.status === 'ativo').length / usuarios.length) * 100).toFixed(1) : 0}% do total

+ {/* Container Principal da Tabela */}
-

Usuários do Sistema

-

Lista completa de usuários e suas permissões

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NomeEmailPerfilDepartamentoStatusÚltimo AcessoAções
Ana Silvaana.silva@mediconnect.comGestão / CoordenaçãoAdministraçãoAtivo20/12/2024, 08:30 - - - -
Dr. Carlos Santoscarlos.santos@mediconnect.comMédicoCardiologiaAtivo19/12/2024, 14:20 - - - -
Maria Oliveiramaria.oliveira@mediconnect.comSecretáriaRecepçãoAtivo20/12/2024, 07:45 - - - -
Dr. João Pereirajoao.pereira@mediconnect.comMédicoOrtopediaInativo15/12/2024, 16:30 - - - -
+ + {/* Filtros Avançados - FORMATADO */} +
+
+ Filtros +
+ + {/* Busca */} +
+ setBusca(e.target.value)} + /> +
+ + {/* Linha de Filtros Básicos */} +
+ {/* Perfil */} +
+ + +
+ + {/* Status */} +
+ + +
+ + {/* Departamento */} +
+ + setFiltroDepartamento(e.target.value || 'Todos')} + style={{ minWidth: "180px" }} + /> +
+ + {/* Separador */} +
+ + {/* Ordenação */} +
+ + +
+
+ + {/* Linha de Ações */} +
+ + + +
+ + {/* Filtros Avançados (Ocultos por padrão) */} + {showFiltrosAvancados && ( +
+
Filtros Avançados
+
+
+ + setFiltroDepartamento(e.target.value || 'Todos')} + /> +
+
+ + setFiltroPerfil(e.target.value || 'Todos')} + /> +
+
+
+ )} + + {/* Contador */} +
+
+ {usuariosFiltrados.length} DE {usuarios.length} USUÁRIOS ENCONTRADOS +
+
+
+ + {/* Tabela de Usuários */} +
+ {loading ? ( +
+
+ Carregando... +
+

Carregando usuários...

+
+ ) : ( + + + + + + + + + + + + {usuariosPaginados.length > 0 ? ( + usuariosPaginados.map((usuario) => ( + + + + + + + + )) + ) : ( + + + + )} + +
NomeEmailPerfilEspecialização/CategoriaAções
+
+ {usuario.nome} +
+
{usuario.email} + + {usuario.perfil} + + {usuario.departamento} +
+ + + +
+
+
+ +

Nenhum usuário encontrado com os filtros aplicados.

+ {(busca || filtroPerfil !== "Todos" || filtroStatus !== "Todos" || filtroDepartamento !== "Todos") && ( + + )} +
+
+ )} + + {/* Paginação */} + {usuariosFiltrados.length > 0 && ( +
+
+ Itens por página: + +
+ +
+ + Página {paginaAtual} de {totalPaginas} • + Mostrando {indiceInicial + 1}-{Math.min(indiceFinal, usuariosFiltrados.length)} de {usuariosFiltrados.length} usuários + + + +
+
+ )} +
+ + {/* Modal de Confirmação de Exclusão */} + {showDeleteModal && ( +
+ e.target.classList.contains("modal") && setShowDeleteModal(false) + } + > +
+
+
+
+ Confirmação de Exclusão +
+
+ +
+

+ Tem certeza que deseja excluir este usuário? +

+

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

+
+ +
+ + + +
+
+
+
+ )}
); } diff --git a/src/PagesMedico/DoctorAgendamentoManager.jsx b/src/PagesMedico/DoctorAgendamentoManager.jsx index 567646c..ec04b95 100644 --- a/src/PagesMedico/DoctorAgendamentoManager.jsx +++ b/src/PagesMedico/DoctorAgendamentoManager.jsx @@ -18,6 +18,7 @@ import { } from "lucide-react"; import "../pages/style/Agendamento.css"; import "../pages/style/FilaEspera.css"; +import "../pages/style/TableDoctor.css"; import Spinner from "../components/Spinner.jsx"; dayjs.locale("pt-br"); @@ -449,89 +450,17 @@ const Agendamento = () => {

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} - - -
- )} -
- )}
@@ -541,7 +470,7 @@ const Agendamento = () => { style={{ display: "flex", gap: "10px", marginBottom: "20px" }} > ) : (
-
- Realizado -
-
- Confirmado -
-
- Agendado -
-
- Cancelado -
+
Realizado
+
Confirmado
+
Agendado
+
Cancelado

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

) : ( -
-
-
-
-
-

Fila de Espera

+
+
+
+

Fila de Espera

+
+
+
+
+ Filtros +
+ + {/* Busca */} +
+ setWaitlistSearch(e.target.value)} + />
-
-
-
- {" "} - 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} - - -
-
- )} -
+ + {/* Linha de Filtros Básicos */} +
+ {/* Ordenação */} +
+ + +
+
+ + {/* Contador */} +
+
+ {filaEsperaFiltrada.length} DE {filaEsperaData.length} SOLICITAÇÕES ENCONTRADAS
-
+ + {/* ===== TABELA SIMPLIFICADA ===== */} +
+ + + + + + + + + + + + {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.

+ + )} +
+
+ + {/* ===== PAGINAÇÃO ===== */} + {filaEsperaFiltrada.length > 0 && ( +
+
+ Itens por página: + +
+
+ + Página {waitPage} de {waitTotalPages} • Mostrando {waitIndiceInicial + 1}- + {Math.min(waitIndiceFinal, filaEsperaFiltrada.length)} de {filaEsperaFiltrada.length} + + +
+
+ )} +
+
+
)}
diff --git a/src/PagesMedico/DoctorRelatorioManager.jsx b/src/PagesMedico/DoctorRelatorioManager.jsx index 6f86f00..3501732 100644 --- a/src/PagesMedico/DoctorRelatorioManager.jsx +++ b/src/PagesMedico/DoctorRelatorioManager.jsx @@ -10,6 +10,7 @@ import { useNavigate } from 'react-router-dom'; import html2pdf from 'html2pdf.js'; import TiptapViewer from './TiptapViewer'; import './styleMedico/DoctorRelatorioManager.css'; +import '../pages/style/TableDoctor.css'; const DoctorRelatorioManager = () => { const navigate = useNavigate(); @@ -25,12 +26,15 @@ const DoctorRelatorioManager = () => { const [relatorioModal, setRelatorioModal] = useState(null); const [termoPesquisa, setTermoPesquisa] = useState(''); const [filtroExame, setFiltroExame] = useState(''); - const [examesDisponiveis, setExamesDisponiveis] = useState([]); const [modalIndex, setModalIndex] = useState(0); + const [loadingPacientes, setLoadingPacientes] = useState(false); const [paginaAtual, setPaginaAtual] = useState(1); const [itensPorPagina, setItensPorPagina] = useState(10); + const [sortKey, setSortKey] = useState(''); + const [sortDir, setSortDir] = useState('asc'); + const totalPaginas = Math.max(1, Math.ceil(relatoriosFinais.length / itensPorPagina)); const indiceInicial = (paginaAtual - 1) * itensPorPagina; const indiceFinal = indiceInicial + itensPorPagina; @@ -46,7 +50,6 @@ const DoctorRelatorioManager = () => { if (authHeader) myHeaders.append('Authorization', authHeader); const requestOptions = { method: 'GET', headers: myHeaders, redirect: 'follow' }; - let userId = null; let userFullName = null; try { @@ -60,12 +63,10 @@ const DoctorRelatorioManager = () => { console.warn('Não foi possível obter UserInfos (pode não estar logado):', err); } - const baseUrl = "https://yuanqfswhberkoevtmfr.supabase.co/rest/v1/reports?select=*"; let data = []; if (userId) { - try { const res = await fetch(`${baseUrl}&doctor_id=eq.${userId}`, requestOptions); data = await res.json(); @@ -74,7 +75,6 @@ const DoctorRelatorioManager = () => { data = []; } - if ((!Array.isArray(data) || data.length === 0) && userId) { try { const res2 = await fetch(`${baseUrl}&created_by=eq.${userId}`, requestOptions); @@ -87,7 +87,6 @@ const DoctorRelatorioManager = () => { if ((!Array.isArray(data) || data.length === 0) && userFullName) { try { - const encodedName = encodeURIComponent(userFullName); const res3 = await fetch(`${baseUrl}&requested_by=eq.${encodedName}`, requestOptions); data = await res3.json(); @@ -108,7 +107,6 @@ const DoctorRelatorioManager = () => { } } - const uniqueMap = new Map(); (Array.isArray(data) ? data : []).forEach(r => { if (r && r.id) uniqueMap.set(r.id, r); @@ -142,13 +140,13 @@ const DoctorRelatorioManager = () => { }; }, [authHeader]); - useEffect(() => { const fetchRelData = async () => { + setLoadingPacientes(true); const pacientes = []; const medicos = []; - for (let i = 0; i < relatoriosFinais.length; i++) { - const rel = relatoriosFinais[i]; + for (let i = 0; i < relatoriosOriginais.length; i++) { + const rel = relatoriosOriginais[i]; try { const pacienteRes = await GetPatientByID(rel.patient_id, authHeader); @@ -162,7 +160,6 @@ const DoctorRelatorioManager = () => { const docRes = await GetDoctorByID(rel.doctor_id, authHeader); medicos.push(Array.isArray(docRes) ? docRes[0] : docRes); } else if (rel.created_by) { - const docRes = await GetDoctorByID(rel.created_by, authHeader); medicos.push(Array.isArray(docRes) ? docRes[0] : docRes); } else if (rel.requested_by) { @@ -176,14 +173,82 @@ const DoctorRelatorioManager = () => { } setPacientesComRelatorios(pacientes); setMedicosComRelatorios(medicos); + setLoadingPacientes(false); }; - if (relatoriosFinais.length > 0) fetchRelData(); + if (relatoriosOriginais.length > 0) fetchRelData(); else { setPacientesComRelatorios([]); setMedicosComRelatorios([]); + setLoadingPacientes(false); } - }, [relatoriosFinais, authHeader]); + }, [relatoriosOriginais, authHeader]); + + // Filtragem e Ordenação + useEffect(() => { + // Aguardar o carregamento dos pacientes antes de filtrar + if (loadingPacientes) { + return; + } + + const q = (termoPesquisa || '').toLowerCase().trim(); + const ex = (filtroExame || '').toLowerCase().trim(); + + let items = relatoriosOriginais || []; + + // Aplicar filtros + if (q || ex) { + items = items.filter((r, idx) => { + let passaBusca = true; + let passaExame = true; + + if (q) { + const paciente = pacientesComRelatorios[idx]; + const patientName = (paciente?.full_name || r.patient_name || r.patient_fullname || '').toString().toLowerCase(); + const patientCPF = (paciente?.cpf || '').toString().toLowerCase(); + const pedido = (r.id || r.request_id || r.request || '').toString().toLowerCase(); + passaBusca = patientName.includes(q) || patientCPF.includes(q) || pedido.includes(q) || (r.patient_id && r.patient_id.toString().includes(q)); + } + + if (ex) { + passaExame = (r.exam || r.exame || '').toLowerCase().includes(ex); + } + + return passaBusca && passaExame; + }); + } + + // Aplicar ordenação + if (sortKey) { + items = [...items].sort((a, b) => { + let aValue = ''; + let bValue = ''; + + if (sortKey === 'paciente') { + const aIdx = relatoriosOriginais.findIndex(r => r.id === a.id); + const bIdx = relatoriosOriginais.findIndex(r => r.id === b.id); + const aPaciente = pacientesComRelatorios[aIdx]; + const bPaciente = pacientesComRelatorios[bIdx]; + aValue = (aPaciente?.full_name || a.patient_name || a.patient_fullname || '').toLowerCase(); + bValue = (bPaciente?.full_name || b.patient_name || b.patient_fullname || '').toLowerCase(); + } else if (sortKey === 'exame') { + aValue = (a.exam || a.exame || '').toLowerCase(); + bValue = (b.exam || b.exame || '').toLowerCase(); + } else if (sortKey === 'data') { + aValue = new Date(a.due_at || a.date || a.created_at || 0); + bValue = new Date(b.due_at || b.date || b.created_at || 0); + } + + if (aValue < bValue) return sortDir === 'asc' ? -1 : 1; + if (aValue > bValue) return sortDir === 'asc' ? 1 : -1; + return 0; + }); + } + + setRelatoriosFiltrados(items); + setRelatoriosFinais(items); + setPaginaAtual(1); + }, [termoPesquisa, filtroExame, relatoriosOriginais, sortKey, sortDir, pacientesComRelatorios, loadingPacientes]); const abrirModal = (relatorio, pageIndex) => { const globalIndex = relatoriosFinais.findIndex(r => r.id === relatorio.id); @@ -193,10 +258,11 @@ const DoctorRelatorioManager = () => { setShowModal(true); }; - const limparFiltros = () => { setTermoPesquisa(''); setFiltroExame(''); + setSortKey(''); + setSortDir('asc'); setRelatoriosFinais(relatoriosOriginais); setPaginaAtual(1); }; @@ -216,41 +282,257 @@ const DoctorRelatorioManager = () => { html2pdf().set(opt).from(elemento).save(); }; - const irParaPagina = (pagina) => { - setPaginaAtual(pagina); - }; - - const avancarPagina = () => { - if (paginaAtual < totalPaginas) { - setPaginaAtual(paginaAtual + 1); - } - }; - - const voltarPagina = () => { - if (paginaAtual > 1) { - setPaginaAtual(paginaAtual - 1); - } - }; + const irParaPagina = (pagina) => setPaginaAtual(pagina); + const avancarPagina = () => paginaAtual < totalPaginas && setPaginaAtual(p => p + 1); + const voltarPagina = () => paginaAtual > 1 && setPaginaAtual(p => p - 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; }; return (
- {showModal && ( +
+

Lista de Relatórios

+
+ +
+
+
+

Relatórios Cadastrados

+ + + +
+ +
+ {/* ===== FILTROS PADRONIZADOS ===== */} +
+
+ Filtros +
+ + {/* Busca */} +
+ setTermoPesquisa(e.target.value)} + /> +
+ + {/* Linha de Filtros Básicos - TUDO EM UMA LINHA SÓ */} +
+ {/* Filtro Exame */} +
+ + setFiltroExame(e.target.value)} + style={{ minWidth: "180px" }} + /> +
+ + {/* Separador */} +
+ + {/* Ordenação */} +
+ + +
+
+ + {/* Linha de Ações */} +
+
{/* Espaço vazio para alinhamento */} + + +
+ + {/* Contador */} +
+
+ {relatoriosFinais.length} DE {relatoriosOriginais.length} RELATÓRIOS ENCONTRADOS +
+
+
+ + {/* ===== TABELA SIMPLIFICADA ===== */} +
+ + + + + + + + + + + + {relatoriosPaginados.length > 0 ? ( + relatoriosPaginados.map((relatorio, index) => { + const globalIndex = relatoriosFinais.findIndex(r => r.id === relatorio.id); + const paciente = pacientesComRelatorios[globalIndex]; + const dataRelatorio = relatorio.due_at || relatorio.date || relatorio.created_at; + const dataFormatada = dataRelatorio ? new Date(dataRelatorio).toLocaleDateString('pt-BR') : '—'; + + return ( + + + + + + + + ); + }) + ) : ( + + + + )} + +
PacienteCPFExameDataAções
+
+ {paciente?.full_name || 'Carregando...'} +
+
{paciente?.cpf || 'Carregando...'} + + {relatorio.exam || '—'} + + + + {dataFormatada} + + +
+ + +
+
+
+ +

Nenhum relatório encontrado com os filtros aplicados.

+ {(termoPesquisa || filtroExame) && ( + + )} +
+
+ + {/* ===== PAGINAÇÃO ===== */} + {relatoriosFinais.length > 0 && ( +
+
+ Itens por página: + +
+ +
+ + Página {paginaAtual} de {totalPaginas} • + Mostrando {indiceInicial + 1}-{Math.min(indiceFinal, relatoriosFinais.length)} de {relatoriosFinais.length} relatórios + + + +
+
+ )} +
+
+
+
+ + {/* ===== MODAL DE DETALHES ===== */} + {showModal && relatorioModal && (
@@ -296,161 +578,8 @@ const DoctorRelatorioManager = () => {
)} - -

Lista de Relatórios

-
-
-
-
-
-

Relatórios Cadastrados

- - - -
-
-
-
- Filtros -
-
-
-
- - setTermoPesquisa(e.target.value)} - /> -
-
-
-
- - setFiltroExame(e.target.value)} - /> -
-
-
- -
-
-
-
- {relatoriosFinais.length} DE {relatoriosOriginais.length} RELATÓRIOS ENCONTRADOS -
-
-
- -
- - - - - - - - - - - {relatoriosPaginados.length > 0 ? ( - relatoriosPaginados.map((relatorio, index) => { - const globalIndex = relatoriosFinais.findIndex(r => r.id === relatorio.id); - const paciente = pacientesComRelatorios[globalIndex]; - return ( - - - - - - - ); - }) - ) : ( - - )} - -
PacienteCPFExame
{paciente?.full_name || 'Carregando...'}{paciente?.cpf || 'Carregando...'}{relatorio.exam} -
- - -
-
Nenhum relatório encontrado.
- - {relatoriosFinais.length > 0 && ( -
-
- Itens por página: - -
- -
- - Página {paginaAtual} de {totalPaginas} • - Mostrando {indiceInicial + 1}-{Math.min(indiceFinal, relatoriosFinais.length)} de {relatoriosFinais.length} itens - - - -
-
- )} -
-
-
-
-
-
); }; -export default DoctorRelatorioManager; +export default DoctorRelatorioManager; \ No newline at end of file diff --git a/src/PagesPaciente/ConsultasPaciente.jsx b/src/PagesPaciente/ConsultasPaciente.jsx index 45de7a0..4f5fb41 100644 --- a/src/PagesPaciente/ConsultasPaciente.jsx +++ b/src/PagesPaciente/ConsultasPaciente.jsx @@ -10,6 +10,7 @@ import localeData from 'dayjs/plugin/localeData'; import { ChevronLeft, ChevronRight, Edit, Trash2 } from 'lucide-react'; import "../pages/style/Agendamento.css"; import '../pages/style/FilaEspera.css'; +import '../pages/style/TableDoctor.css'; import Spinner from '../components/Spinner.jsx'; dayjs.locale('pt-br'); @@ -37,6 +38,13 @@ const Agendamento = ({ setDictInfo }) => { const [appointmentToCancel, setAppointmentToCancel] = useState(null); const [cancellationReason, setCancellationReason] = useState(''); + // Estados para filtro, ordenação e paginação da fila de espera + 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 authHeader = useMemo(() => getAuthorizationHeader(), [getAuthorizationHeader]); useEffect(() => { @@ -171,6 +179,51 @@ const Agendamento = ({ setDictInfo }) => { const weekDays = ['Dom', 'Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'Sáb']; const handleDateClick = (day) => setSelectedDay(day); + // Filtro e ordenação da fila de espera + const filaEsperaFiltrada = useMemo(() => { + if (!waitlistSearch.trim()) return filaEsperaData; + const term = waitlistSearch.toLowerCase(); + return filaEsperaData.filter( + (item) => + (item?.Infos?.medico_nome?.toLowerCase() || '').includes(term) + ); + }, [waitlistSearch, filaEsperaData]); + + 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); + 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]); + + if (isLoading) { return (
@@ -280,46 +333,173 @@ const Agendamento = ({ setDictInfo }) => {
) : ( -
-
-
-
-

Minhas Solicitações em Fila de Espera

-
-
- - - - - - - - - - {filaEsperaData.length > 0 ? (filaEsperaData.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.
-
+
+
+
+

Minhas Solicitações em Fila de Espera

+
+
+ {/* ===== FILTROS PADRONIZADOS ===== */} +
+
+ Filtros +
+ + {/* Busca */} +
+ setWaitlistSearch(e.target.value)} + /> +
+ + {/* Linha de Filtros Básicos */} +
+ {/* Ordenação */} +
+ + +
+
+ + {/* Contador */} +
+
+ {filaEsperaFiltrada.length} DE {filaEsperaData.length} SOLICITAÇÕES ENCONTRADAS
+ + {/* ===== TABELA SIMPLIFICADA ===== */} +
+ + + + + + + + + + {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.

+
+
+ + {/* ===== PAGINAÇÃO ===== */} + {filaEsperaFiltrada.length > 0 && ( +
+
+ Itens por página: + +
+ +
+ + Página {waitPage} de {waitTotalPages} • + Mostrando {waitIndiceInicial + 1}-{Math.min(waitIndiceFinal, filaEsperaFiltrada.length)} de {filaEsperaFiltrada.length} solicitações + + + +
+
+ )} +
-
+
)} @@ -328,38 +508,52 @@ const Agendamento = ({ setDictInfo }) => { )} + {/* ===== MODAL DE CANCELAMENTO ===== */} {isCancelModalOpen && ( -
-
-
-

Confirmação de Cancelamento

- -
-
-

Qual o motivo do cancelamento?

- -
-
- - +
e.target.classList.contains("modal") && setIsCancelModalOpen(false)} + > +
+
+
+
Confirmação de Cancelamento
+
+ +
+

Deseja realmente cancelar esta consulta?

+

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

+ + + +
+ +
+ + + +
diff --git a/src/components/Estilo/Toggle.css b/src/components/Estilo/Toggle.css index 731f0cf..299f874 100644 --- a/src/components/Estilo/Toggle.css +++ b/src/components/Estilo/Toggle.css @@ -259,6 +259,18 @@ 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 b07ccae..6d708d6 100644 --- a/src/components/Header/Header.css +++ b/src/components/Header/Header.css @@ -525,3 +525,31 @@ 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 18df67f..b4a3921 100644 --- a/src/components/Header/Header.jsx +++ b/src/components/Header/Header.jsx @@ -2,10 +2,11 @@ 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); @@ -13,40 +14,89 @@ 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 loadAvatar = () => { - const localAvatar = localStorage.getItem('user_avatar'); - if (localAvatar) setAvatarUrl(localAvatar); + 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); + } }; - loadAvatar(); - const onStorage = () => loadAvatar(); - window.addEventListener('storage', onStorage); - return () => window.removeEventListener('storage', onStorage); + + loadUserAndAvatar(); }, []); - // ESC fecha qualquer overlay/portal aberto (logout / suporte / chat) useEffect(() => { const onKey = (e) => { if (e.key === 'Escape') { @@ -59,7 +109,6 @@ const Header = () => { return () => window.removeEventListener('keydown', onKey); }, [showLogoutModal, isSuporteCardOpen, isChatOpen]); - // --- handlers logout (mantive comportamento) --- const handleLogoutClick = () => { setShowLogoutModal(true); setIsDropdownOpen(false); @@ -99,7 +148,6 @@ const Header = () => { }, }); } catch (err) { - // ignora erro de rede / endpoint — prossegue para limpar local console.warn('logout endpoint error (ignored):', err); } } @@ -117,7 +165,6 @@ const Header = () => { const handleLogoutCancel = () => setShowLogoutModal(false); - // --- profile / suporte / chat handlers --- const handleProfileClick = () => { setIsDropdownOpen(!isDropdownOpen); if (isSuporteCardOpen) setIsSuporteCardOpen(false); @@ -129,6 +176,75 @@ 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); @@ -191,7 +307,6 @@ const Header = () => { }, 900); }; - // --- subcomponentes (UI) --- const SuporteCardContent = ({ onOpenChat }) => (

Suporte

@@ -359,12 +474,10 @@ const Header = () => { ); }; - // --- evita render na rota de login (mantendo hooks invocados) --- if (location.pathname === '/login') { return null; } - // --- JSX principal (header visual) --- return (
@@ -379,12 +492,54 @@ 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 006a396..0fdbe4c 100644 --- a/src/components/Sidebar.jsx +++ b/src/components/Sidebar.jsx @@ -242,6 +242,14 @@ function Sidebar({ menuItems }) {
    + + {/* Botão Início fixo */} +
  • + + + Início + +
  • {roleUser.includes("admin") && diff --git a/src/pages/Agendamento.jsx b/src/pages/Agendamento.jsx index 8daecec..223f0d2 100644 --- a/src/pages/Agendamento.jsx +++ b/src/pages/Agendamento.jsx @@ -338,41 +338,7 @@ 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} 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} + + +
+
+ )}
@@ -755,4 +719,4 @@ const Agendamento = ({ setDictInfo }) => { ); }; -export default Agendamento; +export default Agendamento; \ No newline at end of file diff --git a/src/pages/DoctorTable.jsx b/src/pages/DoctorTable.jsx index e5becd7..b7175da 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 } from "react-router-dom"; +import { Link, useNavigate } 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,6 +20,8 @@ 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); @@ -27,52 +29,11 @@ function TableDoctor({setDictInfo}) { const [showDeleteModal, setShowDeleteModal] = useState(false); const [selectedDoctorId, setSelectedDoctorId] = useState(null); - 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); - } - }; - + // ===== 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() @@ -85,17 +46,44 @@ 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; }; - useEffect(() => { - const authHeader = getAuthorizationHeader() - console.log(authHeader, 'aqui autorização') + // ===== 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(); var myHeaders = new Headers(); myHeaders.append("apikey", API_KEY); myHeaders.append("Authorization", `${authHeader}`); @@ -111,6 +99,20 @@ 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()); @@ -118,35 +120,24 @@ 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 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 passaDataFinal = dataFinal ? - medico.created_at && new Date(medico.created_at) <= new Date(dataFinal) : true; - - const resultado = passaBusca && passaEspecialidade && passaAniversario && + return passaBusca && passaEspecialidade && passaAniversario && passaCidade && passaEstado && passaIdadeMinima && passaIdadeMaxima && passaDataInicial && passaDataFinal; - - return resultado; }) : []; - const applySorting = (arr) => { + // ===== ORDENAÇÃO ===== + const aplicarOrdenacao = (arr) => { if (!Array.isArray(arr) || !sortKey) return arr; const copy = [...arr]; if (sortKey === 'nome') { @@ -158,44 +149,25 @@ function TableDoctor({setDictInfo}) { return copy; }; - const medicosOrdenados = applySorting(medicosFiltrados); + const medicosOrdenados = aplicarOrdenacao(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 irParaPagina = (pagina) => setPaginaAtual(pagina); + const avancarPagina = () => paginaAtual < totalPaginas && setPaginaAtual(p => p + 1); + const voltarPagina = () => paginaAtual > 1 && setPaginaAtual(p => p - 1); - 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; }; @@ -208,359 +180,364 @@ function TableDoctor({setDictInfo}) {

Lista de Médicos

+
-
-
-
-
-

Médicos Cadastrados

- - - +
+
+

Médicos Cadastrados

+ + + +
+ +
+ {/* ===== FILTROS PADRONIZADOS ===== */} +
+
+ Filtros +
+ + {/* Busca */} +
+ setSearch(e.target.value)} + />
-
-
-
- {" "} - Filtros -
+ {/* Linha de Filtros Básicos - MESMO PADRÃO DA TABLE PACIENTE */} +
+ {/* Especialidade */} +
+ + +
-
- setSearch(e.target.value)} - /> - - Digite o nome completo, CPF ou email - -
+ {/* 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" + />
- )} - -
-
- {medicosFiltrados.length} DE {medicos.length} MÉDICOS ENCONTRADOS +
+ + setIdadeMaxima(e.target.value)} + min="0" + max="150" + /> +
+
+ + setDataInicial(e.target.value)} + /> +
+
+ + setDataFinal(e.target.value)} + />
+ )} -
- - - - - - - - - - - - {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'} -
- - - - - - - - - -
-
-
- -

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 - - - -
-
- )} + {/* Contador */} +
+
+ {medicosFiltrados.length} DE {medicos.length} MÉDICOS ENCONTRADOS
+ + {/* ===== TABELA SIMPLIFICADA ===== */} +
+ + + + + + + + + + + + {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'} +
+ + + +
+
+
+ +

Nenhum médico encontrado com os filtros aplicados.

+ {(search || filtroEspecialidade !== "Todos" || filtroAniversariante || + filtroCidade || filtroEstado || idadeMinima || idadeMaxima || dataInicial || dataFinal) && ( + + )} +
+
+ + {/* ===== 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? -

+

Tem certeza que deseja excluir este médico?

+

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

@@ -588,4 +565,4 @@ function TableDoctor({setDictInfo}) { ); } -export default TableDoctor; +export default TableDoctor; \ No newline at end of file diff --git a/src/pages/LaudoManager.jsx b/src/pages/LaudoManager.jsx index e881d77..d269663 100644 --- a/src/pages/LaudoManager.jsx +++ b/src/pages/LaudoManager.jsx @@ -9,6 +9,7 @@ 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(); @@ -31,6 +32,8 @@ 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); @@ -128,9 +131,25 @@ 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) { @@ -215,10 +234,11 @@ const LaudoManager = () => { } if (ex) items = items.filter(r => (r.exam || r.exame || '').toLowerCase().includes(ex)); - setRelatoriosFiltrados(items); - setRelatoriosFinais(items); + const itemsOrdenados = applySorting(items); + setRelatoriosFiltrados(itemsOrdenados); + setRelatoriosFinais(itemsOrdenados); setPaginaAtual(1); - }, [termoPesquisa, filtroExame, relatoriosOriginais]); + }, [termoPesquisa, filtroExame, relatoriosOriginais, sortKey, sortDir]); const irParaPagina = (pagina) => setPaginaAtual(pagina); const avancarPagina = () => { if (paginaAtual < totalPaginas) setPaginaAtual(paginaAtual + 1); }; @@ -236,76 +256,118 @@ 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 */} +
+ +
-
-
-
- Filtros -
-
-
-
- - setTermoPesquisa(e.target.value)} - /> -
-
-
-
- - setFiltroExame(e.target.value)} - /> -
-
-
- -
-
-
-
- {relatoriosFinais.length} DE {relatoriosOriginais.length} RELATÓRIOS ENCONTRADOS -
-
-
+ {/* Linha de Ações */} +
+ +
-
- - - - - - - - - + {/* Contador */} +
+
+ {relatoriosFinais.length} DE {relatoriosOriginais.length} RELATÓRIOS ENCONTRADOS +
+
+ + + {/* ===== TABELA SIMPLIFICADA ===== */} +
+ + {/* ===== TABELA SIMPLIFICADA ===== */} +
+
PacienteCPFExame
+ + + + + + + + {relatoriosPaginados.length > 0 ? ( relatoriosPaginados.map((relatorio, index) => { @@ -325,8 +387,6 @@ const LaudoManager = () => { Editar - - @@ -340,11 +400,19 @@ const LaudoManager = () => { ); }) ) : ( - + + + )}
PacienteCPFExameAções
Nenhum relatório encontrado.
+
+ +

Nenhum relatório encontrado.

+
+
+ {/* ===== PAGINAÇÃO ===== */} {relatoriosFinais.length > 0 && (
@@ -364,13 +432,13 @@ const LaudoManager = () => {
-
- - Página {paginaAtual} de {totalPaginas} • - Mostrando {indiceInicial + 1}-{Math.min(indiceFinal, relatoriosFinais.length)} de {relatoriosFinais.length} itens - +
+ + Página {paginaAtual} de {totalPaginas} • + Mostrando {indiceInicial + 1}-{Math.min(indiceFinal, relatoriosFinais.length)} de {relatoriosFinais.length} relatórios + -
-
-
- +
+ {showModal && relatorioModal && (
diff --git a/src/pages/ProfilePage.jsx b/src/pages/ProfilePage.jsx index a41bfe8..5620f76 100644 --- a/src/pages/ProfilePage.jsx +++ b/src/pages/ProfilePage.jsx @@ -1,5 +1,7 @@ -import React, { useState, useEffect, useCallback } from "react"; +import React, { useState, useEffect, useCallback, useRef } 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 = { @@ -29,6 +31,9 @@ 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(() => { @@ -42,22 +47,62 @@ const ProfilePage = () => { useEffect(() => { - const loadProfileData = () => { - const localAvatar = localStorage.getItem('user_avatar'); - if (localAvatar) { - setAvatarUrl(localAvatar); + 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); } }; loadProfileData(); - - - const handleStorageChange = () => { - loadProfileData(); - }; - - window.addEventListener('storage', handleStorageChange); - return () => window.removeEventListener('storage', handleStorageChange); }, []); const handleNameSave = () => { @@ -81,6 +126,73 @@ 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 (
@@ -94,33 +206,53 @@ const ProfilePage = () => {
+
- {avatarUrl ? ( + {uploadingAvatar ? ( +
+ +
+ ) : avatarUrl ? ( Avatar do usuário { setAvatarUrl(null); - localStorage.removeItem('user_avatar'); }} /> ) : (
- {userName.split(' ').map(n => n[0]).join('').toUpperCase()} + {(() => { + 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'; + } + })()}
)}
-

- Gerencie seu avatar no menu do perfil acima -

+
diff --git a/src/pages/TablePaciente.jsx b/src/pages/TablePaciente.jsx index 2ebafe4..7b7de22 100644 --- a/src/pages/TablePaciente.jsx +++ b/src/pages/TablePaciente.jsx @@ -6,8 +6,7 @@ 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(); @@ -24,11 +23,9 @@ 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); @@ -36,147 +33,13 @@ function TablePaciente({ setCurrentPage, setPatientID,setDictInfo }) { const [selectedPatientId, setSelectedPatientId] = useState(null); const [showModalError, setShowModalError] = useState(""); + const [ErrorInfo, setErrorInfo] = useState({}); - const [ErrorInfo, setErrorInfo] = useState({}) - - const GetAnexos = async (id) => { - var myHeaders = new Headers(); - myHeaders.append("Authorization", "Bearer "); - - 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); - return []; - } - }; - - 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", - }; - - fetch( - `https://mock.apidog.com/m1/1053378-0-default/pacientes/${patientID}/anexos/${idAnexo}`, - requestOptions - ) - .then((response) => response.text()) - .then((result) => console.log("anexo excluido com sucesso", result)) - .catch((error) => console.log("error", error)); - } - }; - - const deletePatient = async (id) => { - - const authHeader = getAuthorizationHeader() - console.log(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/patients?id=eq.${id}`, - requestOptions - ); - setPacientes((prev) => prev.filter((p) => p.id !== id)); - console.log(result) - } catch (error) { - console.log("Deu problema", error); - } finally { - setShowDeleteModal(false); - } - }; - - const RefreshingToken = () => { - console.log("Refreshing token..."); - }; - - useEffect(() => { - - 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' - }; - - 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]); - + // 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() @@ -189,13 +52,118 @@ function TablePaciente({ setCurrentPage, setPatientID,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; }; + 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" }; + + 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); + return []; + } + }; + + const DeleteAnexo = async (patientID) => { + const RespostaGetAnexos = await GetAnexos(patientID); + for (let i = 0; i < RespostaGetAnexos.length; i++) { + const idAnexo = RespostaGetAnexos[i].id; + var myHeaders = new Headers(); + myHeaders.append("Authorization", "Bearer "); + var requestOptions = { method: "DELETE", headers: myHeaders, redirect: "follow" }; + + fetch( + `https://mock.apidog.com/m1/1053378-0-default/pacientes/${patientID}/anexos/${idAnexo}`, + requestOptions + ) + .then((response) => response.text()) + .then((result) => console.log("anexo excluido com sucesso", result)) + .catch((error) => console.log("error", error)); + } + }; + + const deletePatient = 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 result = await fetch( + `https://yuanqfswhberkoevtmfr.supabase.co/rest/v1/patients?id=eq.${id}`, + requestOptions + ); + setPacientes((prev) => prev.filter((p) => p.id !== id)); + } catch (error) { + console.log("Deu problema", error); + } finally { + setShowDeleteModal(false); + } + }; + + const RefreshingToken = () => { + console.log("Refreshing token..."); + }; + + useEffect(() => { + const authHeader = getAuthorizationHeader(); + var myHeaders = new Headers(); + myHeaders.append("apikey", API_KEY); + myHeaders.append("Authorization", `${authHeader}`); + 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); + }); + }, [isAuthenticated, getAuthorizationHeader]); + + // Filtragem const limparFiltros = () => { setSearch(""); setFiltroConvenio("Todos"); @@ -211,48 +179,31 @@ 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 passaBusca = search === "" || buscaNome || buscaCPF; - + const buscaEmail = paciente.email?.toLowerCase().includes(search.toLowerCase()); + const passaBusca = search === "" || buscaNome || buscaCPF || buscaEmail; const passaConvenio = filtroConvenio === "Todos" || paciente.insurance_plan === filtroConvenio; - const passaVIP = filtroVIP ? paciente.vip === true : true; - const passaAniversario = filtroAniversariante - ? ehAniversariante(paciente.birth_date) - : 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 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 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 passaDataFinal = dataFinal ? - paciente.last_appointment && new Date(paciente.last_appointment) <= new Date(dataFinal) : true; - - - const resultado = passaBusca && passaConvenio && passaVIP && passaAniversario && + return passaBusca && passaConvenio && passaVIP && passaAniversario && passaCidade && passaEstado && passaIdadeMinima && passaIdadeMaxima && passaDataInicial && passaDataFinal; - - return resultado; }) : []; - - const applySorting = (arr) => { + // Ordenação + const aplicarOrdenacao = (arr) => { if (!Array.isArray(arr) || !sortKey) return arr; const copy = [...arr]; if (sortKey === 'nome') { @@ -264,48 +215,28 @@ function TablePaciente({ setCurrentPage, setPatientID,setDictInfo }) { return copy; }; - const pacientesOrdenados = applySorting(pacientesFiltrados); + const pacientesOrdenados = aplicarOrdenacao(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 = () => { - if (paginaAtual < totalPaginas) { - setPaginaAtual(paginaAtual + 1); - } - }; - - const voltarPagina = () => { - if (paginaAtual > 1) { - setPaginaAtual(paginaAtual - 1); - } - }; - + const irParaPagina = (pagina) => setPaginaAtual(pagina); + const avancarPagina = () => paginaAtual < totalPaginas && setPaginaAtual(p => p + 1); + const voltarPagina = () => paginaAtual > 1 && setPaginaAtual(p => p - 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]); @@ -315,366 +246,372 @@ function TablePaciente({ setCurrentPage, setPatientID,setDictInfo }) {

Lista de Pacientes

+
-
-
-
-
-

Pacientes Cadastrados

- - - +
+
+

Pacientes Cadastrados

+ + + +
+ +
+ {/* ===== FILTROS PADRONIZADOS ===== */} +
+
+ Filtros +
+ + {/* Busca */} +
+ setSearch(e.target.value)} + />
-
-
-
- {" "} - Filtros -
+ {/* Linha de Filtros Básicos - TUDO EM UMA LINHA SÓ */} +
+ {/* Convênio */} +
+ + +
-
- setSearch(e.target.value)} - /> - - Digite o nome completo ou número do CPF - -
+ {/* Status VIP */} +
+ + +
-
- + {/* Aniversariantes */} +
+ + +
- + {/* Separador */} +
- + {/* Ordenação */} +
+ + +
+
-
-
- Ordenar por: - {(() => { - const sortValue = sortKey ? `${sortKey}-${sortDir}` : ''; - return ( - - ); - })()} + {/* Linha de Ações */} +
+ + + +
+ + {/* Filtros Avançados */} + {showFiltrosAvancados && ( +
+
Filtros Avançados
+
+
+ + setFiltroCidade(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)} - /> -
-
+
+ + setFiltroEstado(e.target.value)} + />
- )} - -
-
- {pacientesFiltrados.length} DE {pacientes.length} PACIENTES ENCONTRADOS +
+ + setIdadeMinima(e.target.value)} + min="0" + max="150" + /> +
+
+ + setIdadeMaxima(e.target.value)} + min="0" + max="150" + /> +
+
+ + setDataInicial(e.target.value)} + /> +
+
+ + setDataFinal(e.target.value)} + />
+ )} -
- - - - - - - - - - - - {pacientesPaginados.length > 0 ? ( - pacientesPaginados.map((paciente) => ( - - - - - - - - )) - ) : ( - - - - )} - -
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'} -
- - - - - - - -
-
-
- -

Nenhum paciente encontrado com os filtros aplicados.

- {(search || filtroConvenio !== "Todos" || filtroVIP || filtroAniversariante || - filtroCidade || filtroEstado || idadeMinima || idadeMaxima || dataInicial || dataFinal) && ( - - )} -
-
- - - {pacientesFiltrados.length > 0 && ( -
-
- Itens por página: - -
- -
- - Página {paginaAtual} de {totalPaginas} • - Mostrando {indiceInicial + 1}-{Math.min(indiceFinal, pacientesFiltrados.length)} de {pacientesFiltrados.length} pacientes - - - -
-
- )} + {/* Contador */} +
+
+ {pacientesFiltrados.length} DE {pacientes.length} PACIENTES ENCONTRADOS
+ + {/* ===== TABELA SIMPLIFICADA ===== */} +
+ + + + + + + + + + + + {pacientesPaginados.length > 0 ? ( + pacientesPaginados.map((paciente) => ( + + + + + + + + )) + ) : ( + + + + )} + +
NomeCPFConvênioEmailAções
+
+ {paciente.full_name} +
+ {ehAniversariante(paciente.birth_date) && ( + + + + )} + {paciente.vip && ( + + VIP + + )} +
+
+
{paciente.cpf} + + {paciente.insurance_plan || '-'} + + {paciente.email || 'Não informado'} +
+ + + + + +
+
+
+ +

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? -

+

Tem certeza que deseja excluir este paciente?

+

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

@@ -702,4 +639,4 @@ function TablePaciente({ setCurrentPage, setPatientID,setDictInfo }) { ); } -export default TablePaciente; +export default TablePaciente; \ No newline at end of file diff --git a/src/pages/style/TableDoctor.css b/src/pages/style/TableDoctor.css index da439c5..64d342c 100644 --- a/src/pages/style/TableDoctor.css +++ b/src/pages/style/TableDoctor.css @@ -1,68 +1,114 @@ -.table-doctor-container { - line-height: 2.5; +/* ===== 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; +} + +/* ===== CARD ===== */ .table-doctor-card { border: none; - box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075); + box-shadow: var(--box-shadow); + border-radius: var(--border-radius); } .table-doctor-card .card-header { - background-color: #f8f9fa; - border-bottom: 1px solid #dee2e6; + background-color: var(--bg-light); + border-bottom: 1px solid var(--border-light); 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: #f8f9fa; - border: 1px solid #dee2e6; - border-radius: 0.375rem; + background-color: var(--bg-light); + border: 1px solid var(--border-light); + border-radius: var(--border-radius); + padding: 1rem; + margin-bottom: 1rem; } .table-doctor-filters h5 { - color: #495057; + color: var(--text-primary); 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: #f8f9fa; - color: #495057; + background-color: var(--bg-light); + color: var(--text-primary); font-weight: 600; padding: 15px 8px; - border-bottom: 2px solid #dee2e6; + border-bottom: 2px solid var(--border-light); vertical-align: middle; + text-align: left; } .table-doctor-table td { padding: 15px 8px; vertical-align: middle; - border-bottom: 1px solid #dee2e6; + border-bottom: 1px solid var(--border-light); } .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: #1e3a8a !important; + background-color: var(--primary-color) !important; color: white !important; padding: 0.35em 0.65em; font-size: 0.75em; font-weight: 500; + border-radius: 0.25rem; } -.results-badge { - background-color: #1e3a8a; - color: white; - padding: 0.5em 0.75em; - font-size: 0.875em; +.status-badge { + padding: 0.35em 0.65em; + font-size: 0.75em; 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 { @@ -72,12 +118,22 @@ 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 { @@ -91,6 +147,7 @@ border: 1px solid #FFEAA7; padding: 0.375rem 0.75rem; font-size: 0.875rem; + transition: all 0.15s ease-in-out; } .btn-edit:hover { @@ -104,6 +161,7 @@ border: 1px solid #F5C6CB; padding: 0.375rem 0.75rem; font-size: 0.875rem; + transition: all 0.15s ease-in-out; } .btn-delete:hover { @@ -111,22 +169,71 @@ border-color: #ED969E; } -.advanced-filters { - border: 1px solid #dee2e6; - border-radius: 0.375rem; - background-color: white; +/* ===== 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; } -.advanced-filters h6 { - color: #495057; - font-weight: 600; +/* ===== PAGINAÇÃO ===== */ +.pagination { + margin-bottom: 0; } -.form-label.fw-bold { - color: #495057; +.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; +} + +.advanced-filters h6 { + color: var(--text-primary); + font-weight: 600; + font-size: 0.9rem; +} + +.advanced-filters .form-control-sm { + font-size: 0.825rem; +} + +.form-label.fw-bold { + color: var(--text-primary); + 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); @@ -137,6 +244,7 @@ font-weight: 600; } +/* ===== FILTROS ESPECÍFICOS ===== */ .filter-especialidade { min-width: 180px !important; max-width: 200px; @@ -160,18 +268,133 @@ gap: 0.75rem; } -@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%; } +/* ===== SELECTS COMPACTOS ===== */ +.form-select-sm.compact-select { + min-width: 150px; + border: 1px solid var(--border-light); + border-radius: var(--border-radius); } +.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; } @@ -188,6 +411,48 @@ 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; @@ -207,142 +472,43 @@ 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; +@media (max-width: 576px) { + .table-doctor-card .card-header { + padding: 0.75rem 1rem; } - .d-flex.justify-content-between.align-items-center > div { - justify-content: center !important; + .table-doctor-table th, + .table-doctor-table td { + padding: 8px 6px; } - .pagination { - flex-wrap: wrap; - justify-content: center; + .table-doctor-filters .btn-sm { + width: 100%; + } + + .filter-buttons-container { + width: 100%; + } + + .filter-btn { + width: 100%; } - .me-3.text-muted { - text-align: center; - margin-bottom: 0.5rem; - font-size: 0.8rem; + /* 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; } - - .contador-medicos { - font-size: 0.8rem; - padding: 0.4em 0.6em; - } -} - -.form-select.form-select-sm.w-auto { - border: 1px solid #dee2e6; - border-radius: 0.375rem; - font-size: 0.875rem; -} - - -.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 55e3557..04aabb1 100644 --- a/src/pages/style/TablePaciente.css +++ b/src/pages/style/TablePaciente.css @@ -1,3 +1,29 @@ +/* ===== 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; +} + +/* ===== ESTILOS EXISTENTES MANTIDOS ===== */ .table-paciente-container { line-height: 2.5; } @@ -11,65 +37,71 @@ 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: #f8f9fa; - border: 1px solid #dee2e6; - border-radius: 0.375rem; + 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); } .table-paciente-filters h5 { - color: #495057; + color: var(--text-dark); font-weight: 600; + font-size: 1.1rem; } .table-paciente-table { width: 100%; border-collapse: collapse; + margin-top: 1rem; } .table-paciente-table th { - background-color: #f8f9fa; - color: #495057; + background-color: var(--bg-light); + color: var(--text-dark); font-weight: 600; - padding: 15px 8px; - border-bottom: 2px solid #dee2e6; + padding: 12px 8px; + border-bottom: 2px solid var(--border-light); vertical-align: middle; + font-size: 0.9rem; } .table-paciente-table td { - padding: 15px 8px; + padding: 12px 8px; vertical-align: middle; - border-bottom: 1px solid #dee2e6; + border-bottom: 1px solid var(--border-light); + font-size: 0.875rem; } .table-paciente-table tbody tr:hover { background-color: rgba(0, 0, 0, 0.025); } +/* ===== BADGES E STATUS ===== */ .insurance-badge { - background-color: #6c757d !important; - color: white !important; + 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: #1e3a8a !important; + background-color: var(--primary-blue) !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; + border-radius: var(--border-radius); } .anniversary-badge { @@ -77,27 +109,52 @@ 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: #E6F2FF !important; + background-color: var(--light-blue) !important; color: #004085 !important; - border: 1px solid #B8D4F0; + border: 1px solid var(--border-blue); 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: #D1E7FF !important; + background-color: var(--medium-blue) !important; border-color: #9EC5FE; } .btn-edit { - background-color: #FFF3CD !important; - color: #856404 !important; - border: 1px solid #FFEAA7; + background-color: var(--warning-light) !important; + color: var(--warning-dark) !important; + border: 1px solid var(--warning-border); padding: 0.375rem 0.75rem; font-size: 0.875rem; + border-radius: var(--border-radius); + transition: all 0.15s ease-in-out; } .btn-edit:hover { @@ -106,11 +163,13 @@ } .btn-delete { - background-color: #F8D7DA !important; - color: #721C24 !important; - border: 1px solid #F5C6CB; + background-color: var(--danger-light) !important; + color: var(--danger-dark) !important; + border: 1px solid var(--danger-border); padding: 0.375rem 0.75rem; font-size: 0.875rem; + border-radius: var(--border-radius); + transition: all 0.15s ease-in-out; } .btn-delete:hover { @@ -118,22 +177,25 @@ border-color: #ED969E; } +/* ===== FILTROS AVANÇADOS ===== */ .advanced-filters { - border: 1px solid #dee2e6; - border-radius: 0.375rem; + border: 1px solid var(--border-light); + border-radius: var(--border-radius); background-color: white; } .advanced-filters h6 { - color: #495057; + color: var(--text-dark); + font-size: 0.9rem; font-weight: 600; } .form-label.fw-bold { - color: #495057; + color: var(--text-dark); 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); @@ -144,6 +206,103 @@ 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; @@ -155,128 +314,6 @@ 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; } @@ -296,6 +333,147 @@ 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 { @@ -332,19 +510,26 @@ font-size: 0.875rem; } -/* 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; +/* Melhorar a aparência dos badges de paciente */ +.patient-badges { + display: flex; + gap: 0.25rem; + margin-left: 0.5rem; } -@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%; } +.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; } \ No newline at end of file