diff --git a/package-lock.json b/package-lock.json index 2a09a39..0501e90 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,6 +13,7 @@ "@ckeditor/ckeditor5-basic-styles": "^47.4.0", "@ckeditor/ckeditor5-block-quote": "^47.4.0", "@ckeditor/ckeditor5-cloud-services": "^47.4.0", + "@ckeditor/ckeditor5-code-block": "^47.4.0", "@ckeditor/ckeditor5-editor-classic": "^47.4.0", "@ckeditor/ckeditor5-essentials": "^47.4.0", "@ckeditor/ckeditor5-heading": "^47.4.0", @@ -1007,22 +1008,6 @@ "es-toolkit": "1.39.5" } }, - "node_modules/@ckeditor/ckeditor5-alignment/node_modules/@ckeditor/ckeditor5-code-block": { - "version": "47.4.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-code-block/-/ckeditor5-code-block-47.4.0.tgz", - "integrity": "sha512-lfZd1Zu6FvHbOEXa1yJnuRDK0jYXZR0OaV9ek6A2ZQ6Z169Brc+aH1sTakw7r6S8m1clTz+vRH3UuVk7ETsQGA==", - "license": "SEE LICENSE IN LICENSE.md", - "dependencies": { - "@ckeditor/ckeditor5-clipboard": "47.4.0", - "@ckeditor/ckeditor5-core": "47.4.0", - "@ckeditor/ckeditor5-engine": "47.4.0", - "@ckeditor/ckeditor5-enter": "47.4.0", - "@ckeditor/ckeditor5-icons": "47.4.0", - "@ckeditor/ckeditor5-ui": "47.4.0", - "@ckeditor/ckeditor5-utils": "47.4.0", - "ckeditor5": "47.4.0" - } - }, "node_modules/@ckeditor/ckeditor5-alignment/node_modules/@ckeditor/ckeditor5-core": { "version": "47.4.0", "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.4.0.tgz", @@ -2631,22 +2616,6 @@ "es-toolkit": "1.39.5" } }, - "node_modules/@ckeditor/ckeditor5-autoformat/node_modules/@ckeditor/ckeditor5-code-block": { - "version": "47.4.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-code-block/-/ckeditor5-code-block-47.4.0.tgz", - "integrity": "sha512-lfZd1Zu6FvHbOEXa1yJnuRDK0jYXZR0OaV9ek6A2ZQ6Z169Brc+aH1sTakw7r6S8m1clTz+vRH3UuVk7ETsQGA==", - "license": "SEE LICENSE IN LICENSE.md", - "dependencies": { - "@ckeditor/ckeditor5-clipboard": "47.4.0", - "@ckeditor/ckeditor5-core": "47.4.0", - "@ckeditor/ckeditor5-engine": "47.4.0", - "@ckeditor/ckeditor5-enter": "47.4.0", - "@ckeditor/ckeditor5-icons": "47.4.0", - "@ckeditor/ckeditor5-ui": "47.4.0", - "@ckeditor/ckeditor5-utils": "47.4.0", - "ckeditor5": "47.4.0" - } - }, "node_modules/@ckeditor/ckeditor5-autoformat/node_modules/@ckeditor/ckeditor5-core": { "version": "47.4.0", "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.4.0.tgz", @@ -4298,22 +4267,6 @@ "es-toolkit": "1.39.5" } }, - "node_modules/@ckeditor/ckeditor5-basic-styles/node_modules/@ckeditor/ckeditor5-code-block": { - "version": "47.4.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-code-block/-/ckeditor5-code-block-47.4.0.tgz", - "integrity": "sha512-lfZd1Zu6FvHbOEXa1yJnuRDK0jYXZR0OaV9ek6A2ZQ6Z169Brc+aH1sTakw7r6S8m1clTz+vRH3UuVk7ETsQGA==", - "license": "SEE LICENSE IN LICENSE.md", - "dependencies": { - "@ckeditor/ckeditor5-clipboard": "47.4.0", - "@ckeditor/ckeditor5-core": "47.4.0", - "@ckeditor/ckeditor5-engine": "47.4.0", - "@ckeditor/ckeditor5-enter": "47.4.0", - "@ckeditor/ckeditor5-icons": "47.4.0", - "@ckeditor/ckeditor5-ui": "47.4.0", - "@ckeditor/ckeditor5-utils": "47.4.0", - "ckeditor5": "47.4.0" - } - }, "node_modules/@ckeditor/ckeditor5-basic-styles/node_modules/@ckeditor/ckeditor5-core": { "version": "47.4.0", "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.4.0.tgz", @@ -5923,22 +5876,6 @@ "es-toolkit": "1.39.5" } }, - "node_modules/@ckeditor/ckeditor5-block-quote/node_modules/@ckeditor/ckeditor5-code-block": { - "version": "47.4.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-code-block/-/ckeditor5-code-block-47.4.0.tgz", - "integrity": "sha512-lfZd1Zu6FvHbOEXa1yJnuRDK0jYXZR0OaV9ek6A2ZQ6Z169Brc+aH1sTakw7r6S8m1clTz+vRH3UuVk7ETsQGA==", - "license": "SEE LICENSE IN LICENSE.md", - "dependencies": { - "@ckeditor/ckeditor5-clipboard": "47.4.0", - "@ckeditor/ckeditor5-core": "47.4.0", - "@ckeditor/ckeditor5-engine": "47.4.0", - "@ckeditor/ckeditor5-enter": "47.4.0", - "@ckeditor/ckeditor5-icons": "47.4.0", - "@ckeditor/ckeditor5-ui": "47.4.0", - "@ckeditor/ckeditor5-utils": "47.4.0", - "ckeditor5": "47.4.0" - } - }, "node_modules/@ckeditor/ckeditor5-block-quote/node_modules/@ckeditor/ckeditor5-core": { "version": "47.4.0", "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.4.0.tgz", @@ -7548,22 +7485,6 @@ "es-toolkit": "1.39.5" } }, - "node_modules/@ckeditor/ckeditor5-bookmark/node_modules/@ckeditor/ckeditor5-code-block": { - "version": "47.4.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-code-block/-/ckeditor5-code-block-47.4.0.tgz", - "integrity": "sha512-lfZd1Zu6FvHbOEXa1yJnuRDK0jYXZR0OaV9ek6A2ZQ6Z169Brc+aH1sTakw7r6S8m1clTz+vRH3UuVk7ETsQGA==", - "license": "SEE LICENSE IN LICENSE.md", - "dependencies": { - "@ckeditor/ckeditor5-clipboard": "47.4.0", - "@ckeditor/ckeditor5-core": "47.4.0", - "@ckeditor/ckeditor5-engine": "47.4.0", - "@ckeditor/ckeditor5-enter": "47.4.0", - "@ckeditor/ckeditor5-icons": "47.4.0", - "@ckeditor/ckeditor5-ui": "47.4.0", - "@ckeditor/ckeditor5-utils": "47.4.0", - "ckeditor5": "47.4.0" - } - }, "node_modules/@ckeditor/ckeditor5-bookmark/node_modules/@ckeditor/ckeditor5-core": { "version": "47.4.0", "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.4.0.tgz", @@ -9356,22 +9277,6 @@ "es-toolkit": "1.39.5" } }, - "node_modules/@ckeditor/ckeditor5-cloud-services/node_modules/@ckeditor/ckeditor5-code-block": { - "version": "47.4.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-code-block/-/ckeditor5-code-block-47.4.0.tgz", - "integrity": "sha512-lfZd1Zu6FvHbOEXa1yJnuRDK0jYXZR0OaV9ek6A2ZQ6Z169Brc+aH1sTakw7r6S8m1clTz+vRH3UuVk7ETsQGA==", - "license": "SEE LICENSE IN LICENSE.md", - "dependencies": { - "@ckeditor/ckeditor5-clipboard": "47.4.0", - "@ckeditor/ckeditor5-core": "47.4.0", - "@ckeditor/ckeditor5-engine": "47.4.0", - "@ckeditor/ckeditor5-enter": "47.4.0", - "@ckeditor/ckeditor5-icons": "47.4.0", - "@ckeditor/ckeditor5-ui": "47.4.0", - "@ckeditor/ckeditor5-utils": "47.4.0", - "ckeditor5": "47.4.0" - } - }, "node_modules/@ckeditor/ckeditor5-cloud-services/node_modules/@ckeditor/ckeditor5-core": { "version": "47.4.0", "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.4.0.tgz", @@ -10897,127 +10802,1613 @@ } }, "node_modules/@ckeditor/ckeditor5-code-block": { - "version": "41.3.1", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-code-block/-/ckeditor5-code-block-41.3.1.tgz", - "integrity": "sha512-T7krLjLoHanjaW5nYClzGf5TPcSb/Y9B1DWcAmLMUFf8y+1MbYYaK95r7iTyafG0B9bIFafxoKRnMJLVmBWQkA==", - "license": "GPL-2.0-or-later", + "version": "47.4.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-code-block/-/ckeditor5-code-block-47.4.0.tgz", + "integrity": "sha512-lfZd1Zu6FvHbOEXa1yJnuRDK0jYXZR0OaV9ek6A2ZQ6Z169Brc+aH1sTakw7r6S8m1clTz+vRH3UuVk7ETsQGA==", + "license": "SEE LICENSE IN LICENSE.md", "dependencies": { - "ckeditor5": "41.3.1" + "@ckeditor/ckeditor5-clipboard": "47.4.0", + "@ckeditor/ckeditor5-core": "47.4.0", + "@ckeditor/ckeditor5-engine": "47.4.0", + "@ckeditor/ckeditor5-enter": "47.4.0", + "@ckeditor/ckeditor5-icons": "47.4.0", + "@ckeditor/ckeditor5-ui": "47.4.0", + "@ckeditor/ckeditor5-utils": "47.4.0", + "ckeditor5": "47.4.0" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/@ckeditor/ckeditor5-adapter-ckfinder": { + "version": "47.4.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-adapter-ckfinder/-/ckeditor5-adapter-ckfinder-47.4.0.tgz", + "integrity": "sha512-g90RXXOoyBL0hsUMo6/IsCKF6qlKtxYlwzeTch+XboZOxkvJmozETKY4mnkR+XI1xZeO1bqqzLe8sKiFRvG7Hg==", + "license": "SEE LICENSE IN LICENSE.md", + "dependencies": { + "@ckeditor/ckeditor5-core": "47.4.0", + "@ckeditor/ckeditor5-upload": "47.4.0", + "ckeditor5": "47.4.0" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/@ckeditor/ckeditor5-autosave": { + "version": "47.4.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-autosave/-/ckeditor5-autosave-47.4.0.tgz", + "integrity": "sha512-1DpjdGn+xXfYoeDd6SIcQbkUiOeHQbjN7qmjQWrd6JvowQ6loPtDPGL9OHmL4OFubrVn5GM4dS3E1+cU29SVHg==", + "license": "SEE LICENSE IN LICENSE.md", + "dependencies": { + "@ckeditor/ckeditor5-core": "47.4.0", + "@ckeditor/ckeditor5-utils": "47.4.0", + "ckeditor5": "47.4.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/@ckeditor/ckeditor5-ckbox": { + "version": "47.4.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ckbox/-/ckeditor5-ckbox-47.4.0.tgz", + "integrity": "sha512-Utk9nYwzVRLQXYVVR+oi3x4xN7C0lzt+ZUyPjBRf3k60ijP/OpA8lsJJWzonuEEsdELsLzaBNSivTa9hjLZLDA==", + "license": "SEE LICENSE IN LICENSE.md", + "dependencies": { + "@ckeditor/ckeditor5-cloud-services": "47.4.0", + "@ckeditor/ckeditor5-core": "47.4.0", + "@ckeditor/ckeditor5-engine": "47.4.0", + "@ckeditor/ckeditor5-icons": "47.4.0", + "@ckeditor/ckeditor5-image": "47.4.0", + "@ckeditor/ckeditor5-ui": "47.4.0", + "@ckeditor/ckeditor5-upload": "47.4.0", + "@ckeditor/ckeditor5-utils": "47.4.0", + "blurhash": "2.0.5", + "ckeditor5": "47.4.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/@ckeditor/ckeditor5-ckfinder": { + "version": "47.4.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ckfinder/-/ckeditor5-ckfinder-47.4.0.tgz", + "integrity": "sha512-jXWwDfzFOn2S/oK84Io6cB7I0W9I7CwMyBfg5YbCEhYtv5aeNQBpRqwik/5cfmMrBMBXrPu1QRs60NIwegk/Eg==", + "license": "SEE LICENSE IN LICENSE.md", + "dependencies": { + "@ckeditor/ckeditor5-core": "47.4.0", + "@ckeditor/ckeditor5-icons": "47.4.0", + "@ckeditor/ckeditor5-image": "47.4.0", + "@ckeditor/ckeditor5-ui": "47.4.0", + "@ckeditor/ckeditor5-utils": "47.4.0", + "ckeditor5": "47.4.0" } }, "node_modules/@ckeditor/ckeditor5-code-block/node_modules/@ckeditor/ckeditor5-clipboard": { - "version": "41.3.1", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-clipboard/-/ckeditor5-clipboard-41.3.1.tgz", - "integrity": "sha512-6S7tq6FlnHYZmPACeqdf135Jx2bTKHVY8mHQ+CHC8ZZu0XVm62vVeeSLS2IcdtYmHjf4ced1G7suTUBHlfBCLw==", - "license": "GPL-2.0-or-later", + "version": "47.4.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-clipboard/-/ckeditor5-clipboard-47.4.0.tgz", + "integrity": "sha512-LUR5yTXjHxLn8YLKrJj4/DBtqk6zdPg5SAVXkpNSz5UxU63aaj/L7jKCInr36Uy23Ov5TgT6FkgXPaBtakAqDA==", + "license": "SEE LICENSE IN LICENSE.md", "dependencies": { - "@ckeditor/ckeditor5-core": "41.3.1", - "@ckeditor/ckeditor5-engine": "41.3.1", - "@ckeditor/ckeditor5-ui": "41.3.1", - "@ckeditor/ckeditor5-utils": "41.3.1", - "@ckeditor/ckeditor5-widget": "41.3.1", - "lodash-es": "4.17.21" + "@ckeditor/ckeditor5-core": "47.4.0", + "@ckeditor/ckeditor5-engine": "47.4.0", + "@ckeditor/ckeditor5-ui": "47.4.0", + "@ckeditor/ckeditor5-utils": "47.4.0", + "@ckeditor/ckeditor5-widget": "47.4.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/@ckeditor/ckeditor5-core": { + "version": "47.4.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.4.0.tgz", + "integrity": "sha512-upV/3x9fhgFWxVVtwR47zCOAvZKgP8a8N7UQOFwfs3Tr52+oE1gULWKTiS9079MBaXaIqtM/EbelNdvBh4gOGg==", + "license": "SEE LICENSE IN LICENSE.md", + "dependencies": { + "@ckeditor/ckeditor5-engine": "47.4.0", + "@ckeditor/ckeditor5-ui": "47.4.0", + "@ckeditor/ckeditor5-utils": "47.4.0", + "@ckeditor/ckeditor5-watchdog": "47.4.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/@ckeditor/ckeditor5-easy-image": { + "version": "47.4.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-easy-image/-/ckeditor5-easy-image-47.4.0.tgz", + "integrity": "sha512-YMxvD3Gh6kVux1OKdtdubvjtUHu4TIN7YgCThqsfnuumpnx94Dhq3+wy8o/dO73dRcq/iVvb/9LmkivT4+8uXg==", + "license": "SEE LICENSE IN LICENSE.md", + "dependencies": { + "@ckeditor/ckeditor5-cloud-services": "47.4.0", + "@ckeditor/ckeditor5-core": "47.4.0", + "@ckeditor/ckeditor5-upload": "47.4.0", + "@ckeditor/ckeditor5-utils": "47.4.0", + "ckeditor5": "47.4.0" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/@ckeditor/ckeditor5-editor-balloon": { + "version": "47.4.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-editor-balloon/-/ckeditor5-editor-balloon-47.4.0.tgz", + "integrity": "sha512-FZuHy5EhzssTQZTuXQF7aVRJyvY0QaIOr6yj8fttRoWQgIDMzJNm+rVW9C9FRa1+j1i9tlrE21+GYIhCgEGyOg==", + "license": "SEE LICENSE IN LICENSE.md", + "dependencies": { + "@ckeditor/ckeditor5-core": "47.4.0", + "@ckeditor/ckeditor5-engine": "47.4.0", + "@ckeditor/ckeditor5-ui": "47.4.0", + "@ckeditor/ckeditor5-utils": "47.4.0", + "ckeditor5": "47.4.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/@ckeditor/ckeditor5-editor-decoupled": { + "version": "47.4.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-editor-decoupled/-/ckeditor5-editor-decoupled-47.4.0.tgz", + "integrity": "sha512-4Nk/fe5Sob9aUf8gf4K7GQjqI0XftDThGRjX1eKOSDs+OGXRyB4Fxtu+tHLCyCt8cITac/PAMWaO7dwqbAK8bA==", + "license": "SEE LICENSE IN LICENSE.md", + "dependencies": { + "@ckeditor/ckeditor5-core": "47.4.0", + "@ckeditor/ckeditor5-engine": "47.4.0", + "@ckeditor/ckeditor5-ui": "47.4.0", + "@ckeditor/ckeditor5-utils": "47.4.0", + "ckeditor5": "47.4.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/@ckeditor/ckeditor5-editor-inline": { + "version": "47.4.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-editor-inline/-/ckeditor5-editor-inline-47.4.0.tgz", + "integrity": "sha512-/xKtAwq0Pg3Zq7q9QcmrUnqc8XScrUlixWnl58gOxsdmflaSaK4qLtnId0FmSrax0tqVp1qihsUfvE5uUNnyGg==", + "license": "SEE LICENSE IN LICENSE.md", + "dependencies": { + "@ckeditor/ckeditor5-core": "47.4.0", + "@ckeditor/ckeditor5-engine": "47.4.0", + "@ckeditor/ckeditor5-ui": "47.4.0", + "@ckeditor/ckeditor5-utils": "47.4.0", + "ckeditor5": "47.4.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/@ckeditor/ckeditor5-editor-multi-root": { + "version": "47.4.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-editor-multi-root/-/ckeditor5-editor-multi-root-47.4.0.tgz", + "integrity": "sha512-gKYQeg2QI+9JM2gujYVBaLVlh7Dw4XfkX1g4jYMEqq4YG5E17Hpbc1A/IqUb0LLpAd1TG64AR4s/vxK0JrnY1g==", + "license": "SEE LICENSE IN LICENSE.md", + "dependencies": { + "@ckeditor/ckeditor5-core": "47.4.0", + "@ckeditor/ckeditor5-engine": "47.4.0", + "@ckeditor/ckeditor5-ui": "47.4.0", + "@ckeditor/ckeditor5-utils": "47.4.0", + "ckeditor5": "47.4.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/@ckeditor/ckeditor5-engine": { + "version": "47.4.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-47.4.0.tgz", + "integrity": "sha512-U3Zq3qZ86Si6L4BslJIXotK9oVXu59zAuDVWlx3prAUS5Mrz7MfVlWdz9HeWu9W1i2FmUGVksX+uoO/ng2CZUA==", + "license": "SEE LICENSE IN LICENSE.md", + "dependencies": { + "@ckeditor/ckeditor5-utils": "47.4.0", + "es-toolkit": "1.39.5" } }, "node_modules/@ckeditor/ckeditor5-code-block/node_modules/@ckeditor/ckeditor5-enter": { - "version": "41.3.1", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-enter/-/ckeditor5-enter-41.3.1.tgz", - "integrity": "sha512-iwhvJpfsutqcv/bf8QPMKhMolb7GtShaOT+UIDW3OXjMZaBKZOTyR8OceijwgBmZeillTaXQq9y2e9lbJd46xg==", - "license": "GPL-2.0-or-later", + "version": "47.4.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-enter/-/ckeditor5-enter-47.4.0.tgz", + "integrity": "sha512-BQjJ7CjXENoF8Inv8ydRl+luRMKQvw1ohkiYsTEruHjGKkAFyDTGrorzkoGp2IU98n5SVGJE+XwVxpKgjsKAVQ==", + "license": "SEE LICENSE IN LICENSE.md", "dependencies": { - "@ckeditor/ckeditor5-core": "41.3.1", - "@ckeditor/ckeditor5-engine": "41.3.1", - "@ckeditor/ckeditor5-utils": "41.3.1" + "@ckeditor/ckeditor5-core": "47.4.0", + "@ckeditor/ckeditor5-engine": "47.4.0", + "@ckeditor/ckeditor5-utils": "47.4.0" } }, - "node_modules/@ckeditor/ckeditor5-code-block/node_modules/@ckeditor/ckeditor5-paragraph": { - "version": "41.3.1", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-paragraph/-/ckeditor5-paragraph-41.3.1.tgz", - "integrity": "sha512-weRPLyO/1Z8PpU9+lET4gYgJ8adDuCjYiREup81URSuS1DDQ8vb3D29xA+4Ov7lwg8BaNAMCpTBdp07GHHzv6w==", - "license": "GPL-2.0-or-later", + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/@ckeditor/ckeditor5-find-and-replace": { + "version": "47.4.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-find-and-replace/-/ckeditor5-find-and-replace-47.4.0.tgz", + "integrity": "sha512-CZAX1XxrJcnOAwENfw4x4DiLyZ6uOHUHJqFXyyJdQC9qfEizvFYTXn3zO6fbViyDd/k4ugAoLBjpaZh6p9FyOQ==", + "license": "SEE LICENSE IN LICENSE.md", "dependencies": { - "@ckeditor/ckeditor5-core": "41.3.1", - "@ckeditor/ckeditor5-ui": "41.3.1", - "@ckeditor/ckeditor5-utils": "41.3.1" + "@ckeditor/ckeditor5-core": "47.4.0", + "@ckeditor/ckeditor5-icons": "47.4.0", + "@ckeditor/ckeditor5-ui": "47.4.0", + "@ckeditor/ckeditor5-utils": "47.4.0", + "ckeditor5": "47.4.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/@ckeditor/ckeditor5-font": { + "version": "47.4.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-font/-/ckeditor5-font-47.4.0.tgz", + "integrity": "sha512-QRIThyZg0kT1R4LTotD6cV9gm0NX3Z0Cq/IOQtuwTbRb3wa+kWXhVfKZPV9Qru5HifvrCrcWXMjkBRRIdfqp+Q==", + "license": "SEE LICENSE IN LICENSE.md", + "dependencies": { + "@ckeditor/ckeditor5-core": "47.4.0", + "@ckeditor/ckeditor5-engine": "47.4.0", + "@ckeditor/ckeditor5-icons": "47.4.0", + "@ckeditor/ckeditor5-ui": "47.4.0", + "@ckeditor/ckeditor5-utils": "47.4.0", + "ckeditor5": "47.4.0" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/@ckeditor/ckeditor5-highlight": { + "version": "47.4.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-highlight/-/ckeditor5-highlight-47.4.0.tgz", + "integrity": "sha512-SHBkoMVu/uTkvE0/1zaehlvCpEqYuh/u1Rh7SHNysrD05Nacs1t5jw+l2lTFoyJnhTy+RA9IONYSDF+5tK3dqQ==", + "license": "SEE LICENSE IN LICENSE.md", + "dependencies": { + "@ckeditor/ckeditor5-core": "47.4.0", + "@ckeditor/ckeditor5-icons": "47.4.0", + "@ckeditor/ckeditor5-ui": "47.4.0", + "@ckeditor/ckeditor5-utils": "47.4.0", + "ckeditor5": "47.4.0" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/@ckeditor/ckeditor5-horizontal-line": { + "version": "47.4.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-horizontal-line/-/ckeditor5-horizontal-line-47.4.0.tgz", + "integrity": "sha512-UvL0x55QxRGiem8EPO9n/WQk6218TDNatKSCRueZkAYUrFC1bmtVs9g6GqvSl59RoRGcTxVcz0fXbsxrhZY6HA==", + "license": "SEE LICENSE IN LICENSE.md", + "dependencies": { + "@ckeditor/ckeditor5-core": "47.4.0", + "@ckeditor/ckeditor5-icons": "47.4.0", + "@ckeditor/ckeditor5-ui": "47.4.0", + "@ckeditor/ckeditor5-utils": "47.4.0", + "@ckeditor/ckeditor5-widget": "47.4.0", + "ckeditor5": "47.4.0" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/@ckeditor/ckeditor5-html-embed": { + "version": "47.4.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-html-embed/-/ckeditor5-html-embed-47.4.0.tgz", + "integrity": "sha512-SnidyadvuC0ohT2kZ0crsnFy8adQwhHcRaGUNXx5qAHRK7K1wGp3nxdnyOW5GdK2CIe8DTo+H3v8nXfvt7VgnQ==", + "license": "SEE LICENSE IN LICENSE.md", + "dependencies": { + "@ckeditor/ckeditor5-core": "47.4.0", + "@ckeditor/ckeditor5-icons": "47.4.0", + "@ckeditor/ckeditor5-ui": "47.4.0", + "@ckeditor/ckeditor5-utils": "47.4.0", + "@ckeditor/ckeditor5-widget": "47.4.0", + "ckeditor5": "47.4.0" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/@ckeditor/ckeditor5-html-support": { + "version": "47.4.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-html-support/-/ckeditor5-html-support-47.4.0.tgz", + "integrity": "sha512-SGd6wvPB9VGNqEWvoEdK1kQJ3lpvrTNfsA5Pg02V/Zr3gIxnAqajYEArWDYtsz3ajaUDs06i1tFdpCbFB7JRMg==", + "license": "SEE LICENSE IN LICENSE.md", + "dependencies": { + "@ckeditor/ckeditor5-core": "47.4.0", + "@ckeditor/ckeditor5-engine": "47.4.0", + "@ckeditor/ckeditor5-enter": "47.4.0", + "@ckeditor/ckeditor5-heading": "47.4.0", + "@ckeditor/ckeditor5-image": "47.4.0", + "@ckeditor/ckeditor5-list": "47.4.0", + "@ckeditor/ckeditor5-remove-format": "47.4.0", + "@ckeditor/ckeditor5-table": "47.4.0", + "@ckeditor/ckeditor5-utils": "47.4.0", + "@ckeditor/ckeditor5-widget": "47.4.0", + "ckeditor5": "47.4.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/@ckeditor/ckeditor5-indent": { + "version": "47.4.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-indent/-/ckeditor5-indent-47.4.0.tgz", + "integrity": "sha512-lFPYPUSuByK6GHiTnkHeLkWHD5/SbXCQ5TJVzRJ3uaWvbqo0b0Hvoz92vtKueOwi1QsgXD38aYhMljs0h8eP5g==", + "license": "SEE LICENSE IN LICENSE.md", + "dependencies": { + "@ckeditor/ckeditor5-core": "47.4.0", + "@ckeditor/ckeditor5-engine": "47.4.0", + "@ckeditor/ckeditor5-heading": "47.4.0", + "@ckeditor/ckeditor5-icons": "47.4.0", + "@ckeditor/ckeditor5-list": "47.4.0", + "@ckeditor/ckeditor5-ui": "47.4.0", + "@ckeditor/ckeditor5-utils": "47.4.0", + "ckeditor5": "47.4.0" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/@ckeditor/ckeditor5-language": { + "version": "47.4.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-language/-/ckeditor5-language-47.4.0.tgz", + "integrity": "sha512-3FEoS59ZOTm6m0m0O5qEpsf4tGX/r+r0LjkDrRjhIcaGJh0W4Ao2J6cSrXv7hikDpgBjbHIkEy0V6KkIWWAZpg==", + "license": "SEE LICENSE IN LICENSE.md", + "dependencies": { + "@ckeditor/ckeditor5-core": "47.4.0", + "@ckeditor/ckeditor5-ui": "47.4.0", + "@ckeditor/ckeditor5-utils": "47.4.0", + "ckeditor5": "47.4.0" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/@ckeditor/ckeditor5-markdown-gfm": { + "version": "47.4.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-markdown-gfm/-/ckeditor5-markdown-gfm-47.4.0.tgz", + "integrity": "sha512-2W1dBzxPIdEsE0CiU19K4xQfBS2jSBruJh5XV924eyuJPh76CdXKDGPBwuVd6i1oK7x+ji0Griu9Y+R2F0jRIw==", + "license": "SEE LICENSE IN LICENSE.md", + "dependencies": { + "@ckeditor/ckeditor5-clipboard": "47.4.0", + "@ckeditor/ckeditor5-core": "47.4.0", + "@ckeditor/ckeditor5-engine": "47.4.0", + "@types/hast": "3.0.4", + "ckeditor5": "47.4.0", + "hast-util-from-dom": "5.0.1", + "hast-util-to-html": "9.0.5", + "hast-util-to-mdast": "10.1.2", + "hastscript": "9.0.1", + "rehype-dom-parse": "5.0.2", + "rehype-dom-stringify": "4.0.2", + "rehype-remark": "10.0.1", + "remark-breaks": "4.0.0", + "remark-gfm": "4.0.1", + "remark-parse": "11.0.0", + "remark-rehype": "11.1.2", + "remark-stringify": "11.0.0", + "unified": "11.0.5", + "unist-util-visit": "5.0.0" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/@ckeditor/ckeditor5-mention": { + "version": "47.4.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-mention/-/ckeditor5-mention-47.4.0.tgz", + "integrity": "sha512-1niRMaI5HxYbSTosxjU/6F5Uo+2hCEa3s18emwIBMTG1zOu0OViubuj+P8wCOqmSmpzvfkNybl4kk74MahGk0w==", + "license": "SEE LICENSE IN LICENSE.md", + "dependencies": { + "@ckeditor/ckeditor5-core": "47.4.0", + "@ckeditor/ckeditor5-typing": "47.4.0", + "@ckeditor/ckeditor5-ui": "47.4.0", + "@ckeditor/ckeditor5-utils": "47.4.0", + "ckeditor5": "47.4.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/@ckeditor/ckeditor5-minimap": { + "version": "47.4.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-minimap/-/ckeditor5-minimap-47.4.0.tgz", + "integrity": "sha512-j0bOrjhEB5U6wCrz8CgW8ueFgHJJORtgqkOiRfQd++SBHGULSRr/WJwvaObcrhhNrY4Mlme8Nws6s5YJxzlFhA==", + "license": "SEE LICENSE IN LICENSE.md", + "dependencies": { + "@ckeditor/ckeditor5-core": "47.4.0", + "@ckeditor/ckeditor5-engine": "47.4.0", + "@ckeditor/ckeditor5-ui": "47.4.0", + "@ckeditor/ckeditor5-utils": "47.4.0", + "ckeditor5": "47.4.0" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/@ckeditor/ckeditor5-page-break": { + "version": "47.4.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-page-break/-/ckeditor5-page-break-47.4.0.tgz", + "integrity": "sha512-v4VR4OhLqj5Rp/Dwb9BSb9lSNAkGVF9n5ThvC0dFeHMikC4ENcqH8NpcbVnaua4tsM9tX0jZLHbcX+jMune4IQ==", + "license": "SEE LICENSE IN LICENSE.md", + "dependencies": { + "@ckeditor/ckeditor5-core": "47.4.0", + "@ckeditor/ckeditor5-icons": "47.4.0", + "@ckeditor/ckeditor5-ui": "47.4.0", + "@ckeditor/ckeditor5-utils": "47.4.0", + "@ckeditor/ckeditor5-widget": "47.4.0", + "ckeditor5": "47.4.0" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/@ckeditor/ckeditor5-paste-from-office": { + "version": "47.4.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-paste-from-office/-/ckeditor5-paste-from-office-47.4.0.tgz", + "integrity": "sha512-yKOk+CDV0dAy+XeqUcP5Drur1u69h6UCdLwDUEbS/egSv/+o+tJwCGrTCRzPqBeUxIahUGBMk0obID7v6xT9IQ==", + "license": "SEE LICENSE IN LICENSE.md", + "dependencies": { + "@ckeditor/ckeditor5-clipboard": "47.4.0", + "@ckeditor/ckeditor5-core": "47.4.0", + "@ckeditor/ckeditor5-engine": "47.4.0", + "ckeditor5": "47.4.0" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/@ckeditor/ckeditor5-remove-format": { + "version": "47.4.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-remove-format/-/ckeditor5-remove-format-47.4.0.tgz", + "integrity": "sha512-XD6LY76m3bZr/twRGTjNRnU4z0VU1akDC7evVMhRPaDruR71km00VT1YNPRChCDmdssEVeWEynHhLQ/kRjy+0w==", + "license": "SEE LICENSE IN LICENSE.md", + "dependencies": { + "@ckeditor/ckeditor5-core": "47.4.0", + "@ckeditor/ckeditor5-icons": "47.4.0", + "@ckeditor/ckeditor5-ui": "47.4.0", + "@ckeditor/ckeditor5-utils": "47.4.0", + "ckeditor5": "47.4.0" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/@ckeditor/ckeditor5-restricted-editing": { + "version": "47.4.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-restricted-editing/-/ckeditor5-restricted-editing-47.4.0.tgz", + "integrity": "sha512-roywT2jKCs0NVd6TVhYlmrnP0oI4499M5L1mV8Vqq4wc9puVeEPSIKoZNdIF5YWXsHjpCUCMejpuigLTIbf9MQ==", + "license": "SEE LICENSE IN LICENSE.md", + "dependencies": { + "@ckeditor/ckeditor5-core": "47.4.0", + "@ckeditor/ckeditor5-engine": "47.4.0", + "@ckeditor/ckeditor5-icons": "47.4.0", + "@ckeditor/ckeditor5-ui": "47.4.0", + "@ckeditor/ckeditor5-utils": "47.4.0", + "ckeditor5": "47.4.0" } }, "node_modules/@ckeditor/ckeditor5-code-block/node_modules/@ckeditor/ckeditor5-select-all": { - "version": "41.3.1", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-select-all/-/ckeditor5-select-all-41.3.1.tgz", - "integrity": "sha512-a/LAPO+O9fwHjQ/8s3UNtyrqQRieAnpnPw2IhLlGqOS7nxPKMR2vkb6WnG2LUdO+wYqkCzxUDpBlfVkjkQEI0w==", - "license": "GPL-2.0-or-later", + "version": "47.4.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-select-all/-/ckeditor5-select-all-47.4.0.tgz", + "integrity": "sha512-9fVsmNFmSj53kJKPKUmCkgpXUev2OeMJ5cFVKXvzEvsm6jFTO8/9iHRTbN/j/ZzWuK5MoO/I3gVn4wGOIX//zw==", + "license": "SEE LICENSE IN LICENSE.md", "dependencies": { - "@ckeditor/ckeditor5-core": "41.3.1", - "@ckeditor/ckeditor5-ui": "41.3.1", - "@ckeditor/ckeditor5-utils": "41.3.1" + "@ckeditor/ckeditor5-core": "47.4.0", + "@ckeditor/ckeditor5-engine": "47.4.0", + "@ckeditor/ckeditor5-icons": "47.4.0", + "@ckeditor/ckeditor5-ui": "47.4.0", + "@ckeditor/ckeditor5-utils": "47.4.0" } }, - "node_modules/@ckeditor/ckeditor5-code-block/node_modules/@ckeditor/ckeditor5-typing": { - "version": "41.3.1", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-typing/-/ckeditor5-typing-41.3.1.tgz", - "integrity": "sha512-4Oeafc3if6fTITOest1ILQ573fnkzE9/tn5eNm3zWnHVYR79mRCYxaha9yUlKVQiqaxZ48EVo2FjHiouXmn9+Q==", - "license": "GPL-2.0-or-later", + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/@ckeditor/ckeditor5-show-blocks": { + "version": "47.4.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-show-blocks/-/ckeditor5-show-blocks-47.4.0.tgz", + "integrity": "sha512-uIFHsH2HMPYRWmK+heZoiXRVqbxFJZwYZY1WmNKjE5g7OM8y+PVowe0ZYICjauV2/Z2rwCWtodDKb1bnVnl+mQ==", + "license": "SEE LICENSE IN LICENSE.md", "dependencies": { - "@ckeditor/ckeditor5-core": "41.3.1", - "@ckeditor/ckeditor5-engine": "41.3.1", - "@ckeditor/ckeditor5-utils": "41.3.1", - "lodash-es": "4.17.21" + "@ckeditor/ckeditor5-core": "47.4.0", + "@ckeditor/ckeditor5-icons": "47.4.0", + "@ckeditor/ckeditor5-ui": "47.4.0", + "@ckeditor/ckeditor5-utils": "47.4.0", + "ckeditor5": "47.4.0" } }, - "node_modules/@ckeditor/ckeditor5-code-block/node_modules/@ckeditor/ckeditor5-undo": { - "version": "41.3.1", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-undo/-/ckeditor5-undo-41.3.1.tgz", - "integrity": "sha512-PElWTnlIwuQ94mvdhuH7Mno99oocSnOWPMHi9UuWe6+zVgznQwn0f0diBZvX3l5y8hFgK6q/pQ/CCmbvvYnovA==", - "license": "GPL-2.0-or-later", + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/@ckeditor/ckeditor5-source-editing": { + "version": "47.4.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-source-editing/-/ckeditor5-source-editing-47.4.0.tgz", + "integrity": "sha512-AtamOK+Dya6abkuo9XYME05FYFigBRic5gr3/KzhyFfHh7qiFlZFLCDH0S/JEQ0AduFjfgUx4h0ST22RIhiYoA==", + "license": "SEE LICENSE IN LICENSE.md", "dependencies": { - "@ckeditor/ckeditor5-core": "41.3.1", - "@ckeditor/ckeditor5-engine": "41.3.1", - "@ckeditor/ckeditor5-ui": "41.3.1" + "@ckeditor/ckeditor5-core": "47.4.0", + "@ckeditor/ckeditor5-icons": "47.4.0", + "@ckeditor/ckeditor5-theme-lark": "47.4.0", + "@ckeditor/ckeditor5-ui": "47.4.0", + "@ckeditor/ckeditor5-utils": "47.4.0", + "ckeditor5": "47.4.0" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/@ckeditor/ckeditor5-special-characters": { + "version": "47.4.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-special-characters/-/ckeditor5-special-characters-47.4.0.tgz", + "integrity": "sha512-eYP23WZY8ayA0q8LNVCUcP85yf9J2gSpVE9E6LNIku4rbzox6mCf0sZF0ZhzvqHyXyj9Mn+S21IZpLOTuTUW0g==", + "license": "SEE LICENSE IN LICENSE.md", + "dependencies": { + "@ckeditor/ckeditor5-core": "47.4.0", + "@ckeditor/ckeditor5-icons": "47.4.0", + "@ckeditor/ckeditor5-typing": "47.4.0", + "@ckeditor/ckeditor5-ui": "47.4.0", + "@ckeditor/ckeditor5-utils": "47.4.0", + "ckeditor5": "47.4.0" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/@ckeditor/ckeditor5-style": { + "version": "47.4.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-style/-/ckeditor5-style-47.4.0.tgz", + "integrity": "sha512-R6kt9jX9FOnYRXKn7kX0ZdIdW5A3S7ZZBfcdwzG9O/t7r5IIkp+yhC1y6/uBAc2twvvqMhG7Gu5KH2o/TVVjSg==", + "license": "SEE LICENSE IN LICENSE.md", + "dependencies": { + "@ckeditor/ckeditor5-core": "47.4.0", + "@ckeditor/ckeditor5-html-support": "47.4.0", + "@ckeditor/ckeditor5-list": "47.4.0", + "@ckeditor/ckeditor5-table": "47.4.0", + "@ckeditor/ckeditor5-typing": "47.4.0", + "@ckeditor/ckeditor5-ui": "47.4.0", + "@ckeditor/ckeditor5-utils": "47.4.0", + "ckeditor5": "47.4.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/@ckeditor/ckeditor5-theme-lark": { + "version": "47.4.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-theme-lark/-/ckeditor5-theme-lark-47.4.0.tgz", + "integrity": "sha512-kdtwV5HJ+8/oNcsGM8sdpULhXr2TfM7gEKlH/EAdycLDa6topcJuTl7iVSEu4hZzwVo2agiEMmdUIf3dvWweow==", + "license": "SEE LICENSE IN LICENSE.md", + "dependencies": { + "@ckeditor/ckeditor5-ui": "47.4.0" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/@ckeditor/ckeditor5-ui": { + "version": "47.4.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-47.4.0.tgz", + "integrity": "sha512-sL67wp2DX+P3zxeJLo2I7yLhBlX6Zhd0xfUAB6vX6SkjhMeC0L2gLOIr3kKq/OMKEuS+0iZ+qVvEN1j+2Flzlg==", + "license": "SEE LICENSE IN LICENSE.md", + "dependencies": { + "@ckeditor/ckeditor5-core": "47.4.0", + "@ckeditor/ckeditor5-editor-multi-root": "47.4.0", + "@ckeditor/ckeditor5-engine": "47.4.0", + "@ckeditor/ckeditor5-icons": "47.4.0", + "@ckeditor/ckeditor5-utils": "47.4.0", + "@types/color-convert": "2.0.4", + "color-convert": "3.1.0", + "color-parse": "2.0.2", + "es-toolkit": "1.39.5", + "vanilla-colorful": "0.7.2" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/@ckeditor/ckeditor5-upload": { + "version": "47.4.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-upload/-/ckeditor5-upload-47.4.0.tgz", + "integrity": "sha512-9gMfYltVNi5aYNs8IixTXww9kyU0+oEeY9pN8W6YLrhToVJdnN14pW3yNkQJKJPK7HS2RgM6L1Y+u50qu/IL2g==", + "license": "SEE LICENSE IN LICENSE.md", + "dependencies": { + "@ckeditor/ckeditor5-core": "47.4.0", + "@ckeditor/ckeditor5-utils": "47.4.0" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/@ckeditor/ckeditor5-utils": { + "version": "47.4.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-47.4.0.tgz", + "integrity": "sha512-+5v1k3+8Yr0VUnO+3GfP7MsDCqt5KD9f9Z5wUVRig/J61hPTv8cUQp0859K87IuOLdAP/rZ1iQpdi1psanQeIQ==", + "license": "SEE LICENSE IN LICENSE.md", + "dependencies": { + "@ckeditor/ckeditor5-ui": "47.4.0", + "es-toolkit": "1.39.5" } }, "node_modules/@ckeditor/ckeditor5-code-block/node_modules/@ckeditor/ckeditor5-watchdog": { - "version": "41.3.1", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-watchdog/-/ckeditor5-watchdog-41.3.1.tgz", - "integrity": "sha512-iDwdYxC8euSKxfRq4y5vVOX9GVUbEbC9z6glkXpxa1BogqYh39+fywjt+s4o3Ub3b8FJ/EUYuNc+/vK+CzEg4g==", - "license": "GPL-2.0-or-later", + "version": "47.4.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-watchdog/-/ckeditor5-watchdog-47.4.0.tgz", + "integrity": "sha512-MEfHIVYV4SILXi++G00y3wREm/1gT5dO+pTGpQY+NNYw8wgi32rg1q8hO2P/upsVaPzbeD3WLURyqeIxKwY20Q==", + "license": "SEE LICENSE IN LICENSE.md", "dependencies": { - "lodash-es": "4.17.21" + "@ckeditor/ckeditor5-core": "47.4.0", + "@ckeditor/ckeditor5-editor-multi-root": "47.4.0", + "@ckeditor/ckeditor5-engine": "47.4.0", + "@ckeditor/ckeditor5-utils": "47.4.0", + "es-toolkit": "1.39.5" } }, "node_modules/@ckeditor/ckeditor5-code-block/node_modules/@ckeditor/ckeditor5-widget": { - "version": "41.3.1", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-widget/-/ckeditor5-widget-41.3.1.tgz", - "integrity": "sha512-rdBxGS3bxWNhp+yxyBYkcbRV6/mdTDab+konDVhZ/ME1jVZ5cf8OBZcgHUqAxzuWt4XMEdzKINbo1OnSDwApUg==", - "license": "GPL-2.0-or-later", + "version": "47.4.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-widget/-/ckeditor5-widget-47.4.0.tgz", + "integrity": "sha512-wffwrMQ6h+Hdu9IMG0H0QAf0YWWn+AGeJwPs69cRjRwB5pNOCUmMyM4h8MtNp15UEvGGARlhOjFf1TniMUkKrw==", + "license": "SEE LICENSE IN LICENSE.md", "dependencies": { - "@ckeditor/ckeditor5-core": "41.3.1", - "@ckeditor/ckeditor5-engine": "41.3.1", - "@ckeditor/ckeditor5-enter": "41.3.1", - "@ckeditor/ckeditor5-typing": "41.3.1", - "@ckeditor/ckeditor5-ui": "41.3.1", - "@ckeditor/ckeditor5-utils": "41.3.1", - "lodash-es": "4.17.21" + "@ckeditor/ckeditor5-core": "47.4.0", + "@ckeditor/ckeditor5-engine": "47.4.0", + "@ckeditor/ckeditor5-enter": "47.4.0", + "@ckeditor/ckeditor5-icons": "47.4.0", + "@ckeditor/ckeditor5-typing": "47.4.0", + "@ckeditor/ckeditor5-ui": "47.4.0", + "@ckeditor/ckeditor5-utils": "47.4.0", + "es-toolkit": "1.39.5" } }, - "node_modules/@ckeditor/ckeditor5-code-block/node_modules/ckeditor5": { - "version": "41.3.1", - "resolved": "https://registry.npmjs.org/ckeditor5/-/ckeditor5-41.3.1.tgz", - "integrity": "sha512-pBK1YZV9Sy4R53XG70TEeLFOvTFC7tg8AmS6d6zizegtwkH8seblkcERkykcNuvmfzZ/2h9JbafJ4kisZOwiUQ==", - "license": "GPL-2.0-or-later", + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/@ckeditor/ckeditor5-word-count": { + "version": "47.4.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-word-count/-/ckeditor5-word-count-47.4.0.tgz", + "integrity": "sha512-JeiwHJyBdlUCdzfW3K2KoGO/QhDe1qOKNPXiVXzExIyZpww+hm5HjV/zi5gX4xAvWg9ew0UaQRco5Dy7mBBfRQ==", + "license": "SEE LICENSE IN LICENSE.md", "dependencies": { - "@ckeditor/ckeditor5-clipboard": "41.3.1", - "@ckeditor/ckeditor5-core": "41.3.1", - "@ckeditor/ckeditor5-engine": "41.3.1", - "@ckeditor/ckeditor5-enter": "41.3.1", - "@ckeditor/ckeditor5-paragraph": "41.3.1", - "@ckeditor/ckeditor5-select-all": "41.3.1", - "@ckeditor/ckeditor5-typing": "41.3.1", - "@ckeditor/ckeditor5-ui": "41.3.1", - "@ckeditor/ckeditor5-undo": "41.3.1", - "@ckeditor/ckeditor5-upload": "41.3.1", - "@ckeditor/ckeditor5-utils": "41.3.1", - "@ckeditor/ckeditor5-watchdog": "41.3.1", - "@ckeditor/ckeditor5-widget": "41.3.1" + "@ckeditor/ckeditor5-core": "47.4.0", + "@ckeditor/ckeditor5-ui": "47.4.0", + "@ckeditor/ckeditor5-utils": "47.4.0", + "ckeditor5": "47.4.0", + "es-toolkit": "1.39.5" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/@types/hast": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", + "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/ckeditor5": { + "version": "47.4.0", + "resolved": "https://registry.npmjs.org/ckeditor5/-/ckeditor5-47.4.0.tgz", + "integrity": "sha512-6RTRV2w6nhmBSLBnA0O9QzcBC/Cf74ogziaKHOK61H+PcM6aP3ltb/fNScGyy3NVw3+OzaxjbPF7NSykVmmMMw==", + "license": "SEE LICENSE IN LICENSE.md", + "dependencies": { + "@ckeditor/ckeditor5-adapter-ckfinder": "47.4.0", + "@ckeditor/ckeditor5-alignment": "47.4.0", + "@ckeditor/ckeditor5-autoformat": "47.4.0", + "@ckeditor/ckeditor5-autosave": "47.4.0", + "@ckeditor/ckeditor5-basic-styles": "47.4.0", + "@ckeditor/ckeditor5-block-quote": "47.4.0", + "@ckeditor/ckeditor5-bookmark": "47.4.0", + "@ckeditor/ckeditor5-ckbox": "47.4.0", + "@ckeditor/ckeditor5-ckfinder": "47.4.0", + "@ckeditor/ckeditor5-clipboard": "47.4.0", + "@ckeditor/ckeditor5-cloud-services": "47.4.0", + "@ckeditor/ckeditor5-code-block": "47.4.0", + "@ckeditor/ckeditor5-core": "47.4.0", + "@ckeditor/ckeditor5-easy-image": "47.4.0", + "@ckeditor/ckeditor5-editor-balloon": "47.4.0", + "@ckeditor/ckeditor5-editor-classic": "47.4.0", + "@ckeditor/ckeditor5-editor-decoupled": "47.4.0", + "@ckeditor/ckeditor5-editor-inline": "47.4.0", + "@ckeditor/ckeditor5-editor-multi-root": "47.4.0", + "@ckeditor/ckeditor5-emoji": "47.4.0", + "@ckeditor/ckeditor5-engine": "47.4.0", + "@ckeditor/ckeditor5-enter": "47.4.0", + "@ckeditor/ckeditor5-essentials": "47.4.0", + "@ckeditor/ckeditor5-find-and-replace": "47.4.0", + "@ckeditor/ckeditor5-font": "47.4.0", + "@ckeditor/ckeditor5-fullscreen": "47.4.0", + "@ckeditor/ckeditor5-heading": "47.4.0", + "@ckeditor/ckeditor5-highlight": "47.4.0", + "@ckeditor/ckeditor5-horizontal-line": "47.4.0", + "@ckeditor/ckeditor5-html-embed": "47.4.0", + "@ckeditor/ckeditor5-html-support": "47.4.0", + "@ckeditor/ckeditor5-icons": "47.4.0", + "@ckeditor/ckeditor5-image": "47.4.0", + "@ckeditor/ckeditor5-indent": "47.4.0", + "@ckeditor/ckeditor5-language": "47.4.0", + "@ckeditor/ckeditor5-link": "47.4.0", + "@ckeditor/ckeditor5-list": "47.4.0", + "@ckeditor/ckeditor5-markdown-gfm": "47.4.0", + "@ckeditor/ckeditor5-media-embed": "47.4.0", + "@ckeditor/ckeditor5-mention": "47.4.0", + "@ckeditor/ckeditor5-minimap": "47.4.0", + "@ckeditor/ckeditor5-page-break": "47.4.0", + "@ckeditor/ckeditor5-paragraph": "47.4.0", + "@ckeditor/ckeditor5-paste-from-office": "47.4.0", + "@ckeditor/ckeditor5-remove-format": "47.4.0", + "@ckeditor/ckeditor5-restricted-editing": "47.4.0", + "@ckeditor/ckeditor5-select-all": "47.4.0", + "@ckeditor/ckeditor5-show-blocks": "47.4.0", + "@ckeditor/ckeditor5-source-editing": "47.4.0", + "@ckeditor/ckeditor5-special-characters": "47.4.0", + "@ckeditor/ckeditor5-style": "47.4.0", + "@ckeditor/ckeditor5-table": "47.4.0", + "@ckeditor/ckeditor5-theme-lark": "47.4.0", + "@ckeditor/ckeditor5-typing": "47.4.0", + "@ckeditor/ckeditor5-ui": "47.4.0", + "@ckeditor/ckeditor5-undo": "47.4.0", + "@ckeditor/ckeditor5-upload": "47.4.0", + "@ckeditor/ckeditor5-utils": "47.4.0", + "@ckeditor/ckeditor5-watchdog": "47.4.0", + "@ckeditor/ckeditor5-widget": "47.4.0", + "@ckeditor/ckeditor5-word-count": "47.4.0" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/color-convert": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz", + "integrity": "sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA==", + "license": "MIT", + "dependencies": { + "color-name": "^2.0.0" + }, + "engines": { + "node": ">=14.6" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/color-name": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.1.0.tgz", + "integrity": "sha512-1bPaDNFm0axzE4MEAzKPuqKWeRaT43U/hyxKPBdqTfmPF+d6n7FSoTFxLVULUJOmiLp01KjhIPPH+HrXZJN4Rg==", + "license": "MIT", + "engines": { + "node": ">=12.20" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/color-parse": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", + "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", + "license": "MIT", + "dependencies": { + "color-name": "^2.0.0" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/hast-util-parse-selector": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz", + "integrity": "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/hastscript": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-9.0.1.tgz", + "integrity": "sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-parse-selector": "^4.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/mdast-util-find-and-replace": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.2.tgz", + "integrity": "sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "escape-string-regexp": "^5.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/mdast-util-from-markdown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz", + "integrity": "sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark": "^4.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/mdast-util-gfm": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.1.0.tgz", + "integrity": "sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==", + "license": "MIT", + "dependencies": { + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-gfm-autolink-literal": "^2.0.0", + "mdast-util-gfm-footnote": "^2.0.0", + "mdast-util-gfm-strikethrough": "^2.0.0", + "mdast-util-gfm-table": "^2.0.0", + "mdast-util-gfm-task-list-item": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/mdast-util-gfm-autolink-literal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.1.tgz", + "integrity": "sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "ccount": "^2.0.0", + "devlop": "^1.0.0", + "mdast-util-find-and-replace": "^3.0.0", + "micromark-util-character": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/mdast-util-gfm-footnote": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.1.0.tgz", + "integrity": "sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/mdast-util-gfm-strikethrough": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz", + "integrity": "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/mdast-util-gfm-table": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz", + "integrity": "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "markdown-table": "^3.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/mdast-util-gfm-task-list-item": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz", + "integrity": "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/mdast-util-phrasing": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", + "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/mdast-util-to-markdown": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz", + "integrity": "sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "longest-streak": "^3.0.0", + "mdast-util-phrasing": "^4.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "unist-util-visit": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/mdast-util-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/micromark": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.2.tgz", + "integrity": "sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/micromark-core-commonmark": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.3.tgz", + "integrity": "sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-destination": "^2.0.0", + "micromark-factory-label": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-title": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-html-tag-name": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/micromark-extension-gfm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz", + "integrity": "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==", + "license": "MIT", + "dependencies": { + "micromark-extension-gfm-autolink-literal": "^2.0.0", + "micromark-extension-gfm-footnote": "^2.0.0", + "micromark-extension-gfm-strikethrough": "^2.0.0", + "micromark-extension-gfm-table": "^2.0.0", + "micromark-extension-gfm-tagfilter": "^2.0.0", + "micromark-extension-gfm-task-list-item": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/micromark-extension-gfm-autolink-literal": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.1.0.tgz", + "integrity": "sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==", + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/micromark-extension-gfm-footnote": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.1.0.tgz", + "integrity": "sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/micromark-extension-gfm-strikethrough": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.1.0.tgz", + "integrity": "sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/micromark-extension-gfm-table": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.1.tgz", + "integrity": "sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/micromark-extension-gfm-tagfilter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz", + "integrity": "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==", + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/micromark-extension-gfm-task-list-item": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.1.0.tgz", + "integrity": "sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/micromark-factory-destination": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz", + "integrity": "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/micromark-factory-label": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz", + "integrity": "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/micromark-factory-space": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", + "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/micromark-factory-title": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz", + "integrity": "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/micromark-factory-whitespace": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz", + "integrity": "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/micromark-util-chunked": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz", + "integrity": "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/micromark-util-classify-character": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz", + "integrity": "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/micromark-util-combine-extensions": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz", + "integrity": "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-chunked": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/micromark-util-decode-numeric-character-reference": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz", + "integrity": "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/micromark-util-decode-string": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz", + "integrity": "sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/micromark-util-encode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz", + "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/micromark-util-html-tag-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz", + "integrity": "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/micromark-util-normalize-identifier": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz", + "integrity": "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/micromark-util-resolve-all": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz", + "integrity": "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/micromark-util-sanitize-uri": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz", + "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/micromark-util-subtokenize": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.1.0.tgz", + "integrity": "sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/micromark-util-types": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.2.tgz", + "integrity": "sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/property-information": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.1.0.tgz", + "integrity": "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/remark-gfm": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.1.tgz", + "integrity": "sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-gfm": "^3.0.0", + "micromark-extension-gfm": "^3.0.0", + "remark-parse": "^11.0.0", + "remark-stringify": "^11.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/remark-parse": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", + "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/remark-rehype": { + "version": "11.1.2", + "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.2.tgz", + "integrity": "sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "mdast-util-to-hast": "^13.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/unified": { + "version": "11.0.5", + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz", + "integrity": "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "bail": "^2.0.0", + "devlop": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/unist-util-is": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.1.tgz", + "integrity": "sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@ckeditor/ckeditor5-code-block/node_modules/vfile": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", + "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, "node_modules/@ckeditor/ckeditor5-core": { @@ -11296,22 +12687,6 @@ "es-toolkit": "1.39.5" } }, - "node_modules/@ckeditor/ckeditor5-editor-classic/node_modules/@ckeditor/ckeditor5-code-block": { - "version": "47.4.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-code-block/-/ckeditor5-code-block-47.4.0.tgz", - "integrity": "sha512-lfZd1Zu6FvHbOEXa1yJnuRDK0jYXZR0OaV9ek6A2ZQ6Z169Brc+aH1sTakw7r6S8m1clTz+vRH3UuVk7ETsQGA==", - "license": "SEE LICENSE IN LICENSE.md", - "dependencies": { - "@ckeditor/ckeditor5-clipboard": "47.4.0", - "@ckeditor/ckeditor5-core": "47.4.0", - "@ckeditor/ckeditor5-engine": "47.4.0", - "@ckeditor/ckeditor5-enter": "47.4.0", - "@ckeditor/ckeditor5-icons": "47.4.0", - "@ckeditor/ckeditor5-ui": "47.4.0", - "@ckeditor/ckeditor5-utils": "47.4.0", - "ckeditor5": "47.4.0" - } - }, "node_modules/@ckeditor/ckeditor5-editor-classic/node_modules/@ckeditor/ckeditor5-core": { "version": "47.4.0", "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.4.0.tgz", @@ -13100,22 +14475,6 @@ "es-toolkit": "1.39.5" } }, - "node_modules/@ckeditor/ckeditor5-emoji/node_modules/@ckeditor/ckeditor5-code-block": { - "version": "47.4.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-code-block/-/ckeditor5-code-block-47.4.0.tgz", - "integrity": "sha512-lfZd1Zu6FvHbOEXa1yJnuRDK0jYXZR0OaV9ek6A2ZQ6Z169Brc+aH1sTakw7r6S8m1clTz+vRH3UuVk7ETsQGA==", - "license": "SEE LICENSE IN LICENSE.md", - "dependencies": { - "@ckeditor/ckeditor5-clipboard": "47.4.0", - "@ckeditor/ckeditor5-core": "47.4.0", - "@ckeditor/ckeditor5-engine": "47.4.0", - "@ckeditor/ckeditor5-enter": "47.4.0", - "@ckeditor/ckeditor5-icons": "47.4.0", - "@ckeditor/ckeditor5-ui": "47.4.0", - "@ckeditor/ckeditor5-utils": "47.4.0", - "ckeditor5": "47.4.0" - } - }, "node_modules/@ckeditor/ckeditor5-emoji/node_modules/@ckeditor/ckeditor5-core": { "version": "47.4.0", "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.4.0.tgz", @@ -14778,22 +16137,6 @@ "es-toolkit": "1.39.5" } }, - "node_modules/@ckeditor/ckeditor5-essentials/node_modules/@ckeditor/ckeditor5-code-block": { - "version": "47.4.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-code-block/-/ckeditor5-code-block-47.4.0.tgz", - "integrity": "sha512-lfZd1Zu6FvHbOEXa1yJnuRDK0jYXZR0OaV9ek6A2ZQ6Z169Brc+aH1sTakw7r6S8m1clTz+vRH3UuVk7ETsQGA==", - "license": "SEE LICENSE IN LICENSE.md", - "dependencies": { - "@ckeditor/ckeditor5-clipboard": "47.4.0", - "@ckeditor/ckeditor5-core": "47.4.0", - "@ckeditor/ckeditor5-engine": "47.4.0", - "@ckeditor/ckeditor5-enter": "47.4.0", - "@ckeditor/ckeditor5-icons": "47.4.0", - "@ckeditor/ckeditor5-ui": "47.4.0", - "@ckeditor/ckeditor5-utils": "47.4.0", - "ckeditor5": "47.4.0" - } - }, "node_modules/@ckeditor/ckeditor5-essentials/node_modules/@ckeditor/ckeditor5-core": { "version": "47.4.0", "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.4.0.tgz", @@ -16585,22 +17928,6 @@ "es-toolkit": "1.39.5" } }, - "node_modules/@ckeditor/ckeditor5-fullscreen/node_modules/@ckeditor/ckeditor5-code-block": { - "version": "47.4.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-code-block/-/ckeditor5-code-block-47.4.0.tgz", - "integrity": "sha512-lfZd1Zu6FvHbOEXa1yJnuRDK0jYXZR0OaV9ek6A2ZQ6Z169Brc+aH1sTakw7r6S8m1clTz+vRH3UuVk7ETsQGA==", - "license": "SEE LICENSE IN LICENSE.md", - "dependencies": { - "@ckeditor/ckeditor5-clipboard": "47.4.0", - "@ckeditor/ckeditor5-core": "47.4.0", - "@ckeditor/ckeditor5-engine": "47.4.0", - "@ckeditor/ckeditor5-enter": "47.4.0", - "@ckeditor/ckeditor5-icons": "47.4.0", - "@ckeditor/ckeditor5-ui": "47.4.0", - "@ckeditor/ckeditor5-utils": "47.4.0", - "ckeditor5": "47.4.0" - } - }, "node_modules/@ckeditor/ckeditor5-fullscreen/node_modules/@ckeditor/ckeditor5-core": { "version": "47.4.0", "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.4.0.tgz", @@ -18210,22 +19537,6 @@ "es-toolkit": "1.39.5" } }, - "node_modules/@ckeditor/ckeditor5-heading/node_modules/@ckeditor/ckeditor5-code-block": { - "version": "47.4.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-code-block/-/ckeditor5-code-block-47.4.0.tgz", - "integrity": "sha512-lfZd1Zu6FvHbOEXa1yJnuRDK0jYXZR0OaV9ek6A2ZQ6Z169Brc+aH1sTakw7r6S8m1clTz+vRH3UuVk7ETsQGA==", - "license": "SEE LICENSE IN LICENSE.md", - "dependencies": { - "@ckeditor/ckeditor5-clipboard": "47.4.0", - "@ckeditor/ckeditor5-core": "47.4.0", - "@ckeditor/ckeditor5-engine": "47.4.0", - "@ckeditor/ckeditor5-enter": "47.4.0", - "@ckeditor/ckeditor5-icons": "47.4.0", - "@ckeditor/ckeditor5-ui": "47.4.0", - "@ckeditor/ckeditor5-utils": "47.4.0", - "ckeditor5": "47.4.0" - } - }, "node_modules/@ckeditor/ckeditor5-heading/node_modules/@ckeditor/ckeditor5-core": { "version": "47.4.0", "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.4.0.tgz", @@ -20063,22 +21374,6 @@ "es-toolkit": "1.39.5" } }, - "node_modules/@ckeditor/ckeditor5-image/node_modules/@ckeditor/ckeditor5-code-block": { - "version": "47.4.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-code-block/-/ckeditor5-code-block-47.4.0.tgz", - "integrity": "sha512-lfZd1Zu6FvHbOEXa1yJnuRDK0jYXZR0OaV9ek6A2ZQ6Z169Brc+aH1sTakw7r6S8m1clTz+vRH3UuVk7ETsQGA==", - "license": "SEE LICENSE IN LICENSE.md", - "dependencies": { - "@ckeditor/ckeditor5-clipboard": "47.4.0", - "@ckeditor/ckeditor5-core": "47.4.0", - "@ckeditor/ckeditor5-engine": "47.4.0", - "@ckeditor/ckeditor5-enter": "47.4.0", - "@ckeditor/ckeditor5-icons": "47.4.0", - "@ckeditor/ckeditor5-ui": "47.4.0", - "@ckeditor/ckeditor5-utils": "47.4.0", - "ckeditor5": "47.4.0" - } - }, "node_modules/@ckeditor/ckeditor5-image/node_modules/@ckeditor/ckeditor5-core": { "version": "47.4.0", "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.4.0.tgz", @@ -21885,22 +23180,6 @@ "es-toolkit": "1.39.5" } }, - "node_modules/@ckeditor/ckeditor5-link/node_modules/@ckeditor/ckeditor5-code-block": { - "version": "47.4.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-code-block/-/ckeditor5-code-block-47.4.0.tgz", - "integrity": "sha512-lfZd1Zu6FvHbOEXa1yJnuRDK0jYXZR0OaV9ek6A2ZQ6Z169Brc+aH1sTakw7r6S8m1clTz+vRH3UuVk7ETsQGA==", - "license": "SEE LICENSE IN LICENSE.md", - "dependencies": { - "@ckeditor/ckeditor5-clipboard": "47.4.0", - "@ckeditor/ckeditor5-core": "47.4.0", - "@ckeditor/ckeditor5-engine": "47.4.0", - "@ckeditor/ckeditor5-enter": "47.4.0", - "@ckeditor/ckeditor5-icons": "47.4.0", - "@ckeditor/ckeditor5-ui": "47.4.0", - "@ckeditor/ckeditor5-utils": "47.4.0", - "ckeditor5": "47.4.0" - } - }, "node_modules/@ckeditor/ckeditor5-link/node_modules/@ckeditor/ckeditor5-core": { "version": "47.4.0", "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.4.0.tgz", @@ -23513,22 +24792,6 @@ "es-toolkit": "1.39.5" } }, - "node_modules/@ckeditor/ckeditor5-list/node_modules/@ckeditor/ckeditor5-code-block": { - "version": "47.4.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-code-block/-/ckeditor5-code-block-47.4.0.tgz", - "integrity": "sha512-lfZd1Zu6FvHbOEXa1yJnuRDK0jYXZR0OaV9ek6A2ZQ6Z169Brc+aH1sTakw7r6S8m1clTz+vRH3UuVk7ETsQGA==", - "license": "SEE LICENSE IN LICENSE.md", - "dependencies": { - "@ckeditor/ckeditor5-clipboard": "47.4.0", - "@ckeditor/ckeditor5-core": "47.4.0", - "@ckeditor/ckeditor5-engine": "47.4.0", - "@ckeditor/ckeditor5-enter": "47.4.0", - "@ckeditor/ckeditor5-icons": "47.4.0", - "@ckeditor/ckeditor5-ui": "47.4.0", - "@ckeditor/ckeditor5-utils": "47.4.0", - "ckeditor5": "47.4.0" - } - }, "node_modules/@ckeditor/ckeditor5-list/node_modules/@ckeditor/ckeditor5-core": { "version": "47.4.0", "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.4.0.tgz", @@ -25187,22 +26450,6 @@ "es-toolkit": "1.39.5" } }, - "node_modules/@ckeditor/ckeditor5-media-embed/node_modules/@ckeditor/ckeditor5-code-block": { - "version": "47.4.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-code-block/-/ckeditor5-code-block-47.4.0.tgz", - "integrity": "sha512-lfZd1Zu6FvHbOEXa1yJnuRDK0jYXZR0OaV9ek6A2ZQ6Z169Brc+aH1sTakw7r6S8m1clTz+vRH3UuVk7ETsQGA==", - "license": "SEE LICENSE IN LICENSE.md", - "dependencies": { - "@ckeditor/ckeditor5-clipboard": "47.4.0", - "@ckeditor/ckeditor5-core": "47.4.0", - "@ckeditor/ckeditor5-engine": "47.4.0", - "@ckeditor/ckeditor5-enter": "47.4.0", - "@ckeditor/ckeditor5-icons": "47.4.0", - "@ckeditor/ckeditor5-ui": "47.4.0", - "@ckeditor/ckeditor5-utils": "47.4.0", - "ckeditor5": "47.4.0" - } - }, "node_modules/@ckeditor/ckeditor5-media-embed/node_modules/@ckeditor/ckeditor5-core": { "version": "47.4.0", "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.4.0.tgz", @@ -26996,22 +28243,6 @@ "es-toolkit": "1.39.5" } }, - "node_modules/@ckeditor/ckeditor5-paragraph/node_modules/@ckeditor/ckeditor5-code-block": { - "version": "47.4.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-code-block/-/ckeditor5-code-block-47.4.0.tgz", - "integrity": "sha512-lfZd1Zu6FvHbOEXa1yJnuRDK0jYXZR0OaV9ek6A2ZQ6Z169Brc+aH1sTakw7r6S8m1clTz+vRH3UuVk7ETsQGA==", - "license": "SEE LICENSE IN LICENSE.md", - "dependencies": { - "@ckeditor/ckeditor5-clipboard": "47.4.0", - "@ckeditor/ckeditor5-core": "47.4.0", - "@ckeditor/ckeditor5-engine": "47.4.0", - "@ckeditor/ckeditor5-enter": "47.4.0", - "@ckeditor/ckeditor5-icons": "47.4.0", - "@ckeditor/ckeditor5-ui": "47.4.0", - "@ckeditor/ckeditor5-utils": "47.4.0", - "ckeditor5": "47.4.0" - } - }, "node_modules/@ckeditor/ckeditor5-paragraph/node_modules/@ckeditor/ckeditor5-core": { "version": "47.4.0", "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.4.0.tgz", @@ -29253,22 +30484,6 @@ "es-toolkit": "1.39.5" } }, - "node_modules/@ckeditor/ckeditor5-table/node_modules/@ckeditor/ckeditor5-code-block": { - "version": "47.4.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-code-block/-/ckeditor5-code-block-47.4.0.tgz", - "integrity": "sha512-lfZd1Zu6FvHbOEXa1yJnuRDK0jYXZR0OaV9ek6A2ZQ6Z169Brc+aH1sTakw7r6S8m1clTz+vRH3UuVk7ETsQGA==", - "license": "SEE LICENSE IN LICENSE.md", - "dependencies": { - "@ckeditor/ckeditor5-clipboard": "47.4.0", - "@ckeditor/ckeditor5-core": "47.4.0", - "@ckeditor/ckeditor5-engine": "47.4.0", - "@ckeditor/ckeditor5-enter": "47.4.0", - "@ckeditor/ckeditor5-icons": "47.4.0", - "@ckeditor/ckeditor5-ui": "47.4.0", - "@ckeditor/ckeditor5-utils": "47.4.0", - "ckeditor5": "47.4.0" - } - }, "node_modules/@ckeditor/ckeditor5-table/node_modules/@ckeditor/ckeditor5-core": { "version": "47.4.0", "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.4.0.tgz", @@ -30884,22 +32099,6 @@ "es-toolkit": "1.39.5" } }, - "node_modules/@ckeditor/ckeditor5-typing/node_modules/@ckeditor/ckeditor5-code-block": { - "version": "47.4.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-code-block/-/ckeditor5-code-block-47.4.0.tgz", - "integrity": "sha512-lfZd1Zu6FvHbOEXa1yJnuRDK0jYXZR0OaV9ek6A2ZQ6Z169Brc+aH1sTakw7r6S8m1clTz+vRH3UuVk7ETsQGA==", - "license": "SEE LICENSE IN LICENSE.md", - "dependencies": { - "@ckeditor/ckeditor5-clipboard": "47.4.0", - "@ckeditor/ckeditor5-core": "47.4.0", - "@ckeditor/ckeditor5-engine": "47.4.0", - "@ckeditor/ckeditor5-enter": "47.4.0", - "@ckeditor/ckeditor5-icons": "47.4.0", - "@ckeditor/ckeditor5-ui": "47.4.0", - "@ckeditor/ckeditor5-utils": "47.4.0", - "ckeditor5": "47.4.0" - } - }, "node_modules/@ckeditor/ckeditor5-typing/node_modules/@ckeditor/ckeditor5-core": { "version": "47.4.0", "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.4.0.tgz", @@ -32521,22 +33720,6 @@ "es-toolkit": "1.39.5" } }, - "node_modules/@ckeditor/ckeditor5-undo/node_modules/@ckeditor/ckeditor5-code-block": { - "version": "47.4.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-code-block/-/ckeditor5-code-block-47.4.0.tgz", - "integrity": "sha512-lfZd1Zu6FvHbOEXa1yJnuRDK0jYXZR0OaV9ek6A2ZQ6Z169Brc+aH1sTakw7r6S8m1clTz+vRH3UuVk7ETsQGA==", - "license": "SEE LICENSE IN LICENSE.md", - "dependencies": { - "@ckeditor/ckeditor5-clipboard": "47.4.0", - "@ckeditor/ckeditor5-core": "47.4.0", - "@ckeditor/ckeditor5-engine": "47.4.0", - "@ckeditor/ckeditor5-enter": "47.4.0", - "@ckeditor/ckeditor5-icons": "47.4.0", - "@ckeditor/ckeditor5-ui": "47.4.0", - "@ckeditor/ckeditor5-utils": "47.4.0", - "ckeditor5": "47.4.0" - } - }, "node_modules/@ckeditor/ckeditor5-undo/node_modules/@ckeditor/ckeditor5-core": { "version": "47.4.0", "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-47.4.0.tgz", @@ -61738,6 +62921,15 @@ "ckeditor5": "41.3.1" } }, + "vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block": { + "version": "41.3.1", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-code-block/-/ckeditor5-code-block-41.3.1.tgz", + "integrity": "sha512-T7krLjLoHanjaW5nYClzGf5TPcSb/Y9B1DWcAmLMUFf8y+1MbYYaK95r7iTyafG0B9bIFafxoKRnMJLVmBWQkA==", + "license": "GPL-2.0-or-later", + "dependencies": { + "ckeditor5": "41.3.1" + } + }, "vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-editor-classic": { "version": "41.3.1", "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-editor-classic/-/ckeditor5-editor-classic-41.3.1.tgz", diff --git a/package.json b/package.json index 3385b9c..030082a 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "@ckeditor/ckeditor5-basic-styles": "^47.4.0", "@ckeditor/ckeditor5-block-quote": "^47.4.0", "@ckeditor/ckeditor5-cloud-services": "^47.4.0", + "@ckeditor/ckeditor5-code-block": "^47.4.0", "@ckeditor/ckeditor5-editor-classic": "^47.4.0", "@ckeditor/ckeditor5-essentials": "^47.4.0", "@ckeditor/ckeditor5-heading": "^47.4.0", diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/CHANGELOG.md b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/CHANGELOG.md new file mode 100644 index 0000000..7edc87f --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/CHANGELOG.md @@ -0,0 +1,37 @@ +Changelog +========= + +All changes in the package are documented in the main repository. See: https://github.com/ckeditor/ckeditor5/blob/master/CHANGELOG.md. + +Changes for the past releases are available below. + +## [19.0.0](https://github.com/ckeditor/ckeditor5-code-block/compare/v18.0.0...v19.0.0) (April 29, 2020) + +### Other changes + +* XML and HTML are no longer treated as the same language. Closes [ckeditor/ckeditor5#5794](https://github.com/ckeditor/ckeditor5/issues/5794). ([58a7009](https://github.com/ckeditor/ckeditor5-code-block/commit/58a7009)) +* Updated translations. ([5300e22](https://github.com/ckeditor/ckeditor5-code-block/commit/5300e22)) + + +## [18.0.0](https://github.com/ckeditor/ckeditor5-code-block/compare/v17.0.0...v18.0.0) (March 19, 2020) + +### Other changes + +* Updated translations. ([8613554](https://github.com/ckeditor/ckeditor5-code-block/commit/8613554)) + + +## [17.0.0](https://github.com/ckeditor/ckeditor5-code-block/compare/v16.0.0...v17.0.0) (February 19, 2020) + +### Bug fixes + +* It should be possible to use multiple CSS classes in the language configuration. Closes [ckeditor/ckeditor5#5924](https://github.com/ckeditor/ckeditor5/issues/5924). ([dca0fe4](https://github.com/ckeditor/ckeditor5-code-block/commit/dca0fe4)) +* Spell checker is now disabled inside code blocks. Closes [ckeditor/ckeditor5#5978](https://github.com/ckeditor/ckeditor5/issues/5978). ([cd03e20](https://github.com/ckeditor/ckeditor5-code-block/commit/cd03e20)) + +### Other changes + +* Updated translations. ([3604224](https://github.com/ckeditor/ckeditor5-code-block/commit/3604224)) + + +## [16.0.0](https://github.com/ckeditor/ckeditor5-code-block/tree/v16.0.0) (December 4, 2019) + +The initial release. diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/LICENSE.md b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/LICENSE.md new file mode 100644 index 0000000..6e33a2f --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/LICENSE.md @@ -0,0 +1,21 @@ +Software License Agreement +========================== + +**CKEditor 5 code block feature** – https://github.com/ckeditor/ckeditor5-code-block
+Copyright (c) 2003–2024, [CKSource Holding sp. z o.o.](https://cksource.com) All rights reserved. + +Licensed under the terms of [GNU General Public License Version 2 or later](http://www.gnu.org/licenses/gpl.html). + +Sources of Intellectual Property Included in CKEditor +----------------------------------------------------- + +Where not otherwise indicated, all CKEditor content is authored by CKSource engineers and consists of CKSource-owned intellectual property. In some specific instances, CKEditor will incorporate work done by developers outside of CKSource with their express permission. + +The following libraries are included in CKEditor under the [MIT license](https://opensource.org/licenses/MIT): + +* Lodash - Copyright (c) JS Foundation and other contributors https://js.foundation/. Based on Underscore.js, copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors http://underscorejs.org/. + +Trademarks +---------- + +**CKEditor** is a trademark of [CKSource Holding sp. z o.o.](https://cksource.com) All other brand and product names are trademarks, registered trademarks, or service marks of their respective holders. diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/README.md b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/README.md new file mode 100644 index 0000000..288bacd --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/README.md @@ -0,0 +1,20 @@ +CKEditor 5 code block feature +======================================== + +[![npm version](https://badge.fury.io/js/%40ckeditor%2Fckeditor5-code-block.svg)](https://www.npmjs.com/package/@ckeditor/ckeditor5-code-block) +[![Coverage Status](https://coveralls.io/repos/github/ckeditor/ckeditor5/badge.svg?branch=master)](https://coveralls.io/github/ckeditor/ckeditor5?branch=master) +[![Build Status](https://travis-ci.com/ckeditor/ckeditor5.svg?branch=master)](https://app.travis-ci.com/github/ckeditor/ckeditor5) + +This package implements the code block feature for CKEditor 5. + +## Demo + +Check out the [demo in the code block feature guide](https://ckeditor.com/docs/ckeditor5/latest/features/code-blocks.html#demo). + +## Documentation + +See the [`@ckeditor/ckeditor5-code-block` package](https://ckeditor.com/docs/ckeditor5/latest/api/code-block.html) page as well as the [code block feature](https://ckeditor.com/docs/ckeditor5/latest/features/code-blocks.html) guide in the [CKEditor 5 documentation](https://ckeditor.com/docs/ckeditor5/latest/). + +## License + +Licensed under the terms of [GNU General Public License Version 2 or later](http://www.gnu.org/licenses/gpl.html). For full details about the license, please check the `LICENSE.md` file or [https://ckeditor.com/legal/ckeditor-oss-license](https://ckeditor.com/legal/ckeditor-oss-license). diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/code-block.js b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/code-block.js new file mode 100644 index 0000000..103e6a0 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/code-block.js @@ -0,0 +1,5 @@ +!function(e){const t=e.en=e.en||{};t.dictionary=Object.assign(t.dictionary||{},{"Code block":"Code block","Insert code block":"Insert code block","Plain text":"Plain text"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})), +/*! + * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md. + */(()=>{var e={535:(e,t,n)=>{"use strict";n.d(t,{A:()=>r});var o=n(935),i=n.n(o)()((function(e){return e[1]}));i.push([e.id,".ck-content pre{background:hsla(0,0%,78%,.3);border:1px solid #c4c4c4;border-radius:2px;color:#353535;direction:ltr;font-style:normal;min-width:200px;padding:1em;tab-size:4;text-align:left;white-space:pre-wrap}.ck-content pre code{background:unset;border-radius:0;padding:0}.ck.ck-editor__editable pre{position:relative}.ck.ck-editor__editable pre[data-language]:after{content:attr(data-language);position:absolute}:root{--ck-color-code-block-label-background:#757575}.ck.ck-editor__editable pre[data-language]:after{background:var(--ck-color-code-block-label-background);color:#fff;font-family:var(--ck-font-face);font-size:10px;line-height:16px;padding:var(--ck-spacing-tiny) var(--ck-spacing-medium);right:10px;top:-1px;white-space:nowrap}.ck.ck-code-block-dropdown .ck-dropdown__panel{max-height:250px;overflow-x:hidden;overflow-y:auto}",""]);const r=i},935:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n=e(t);return t[2]?"@media ".concat(t[2]," {").concat(n,"}"):n})).join("")},t.i=function(e,n,o){"string"==typeof e&&(e=[[null,e,""]]);var i={};if(o)for(var r=0;r{"use strict";var o,i=function(){return void 0===o&&(o=Boolean(window&&document&&document.all&&!window.atob)),o},r=function(){var e={};return function(t){if(void 0===e[t]){var n=document.querySelector(t);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}e[t]=n}return e[t]}}(),c=[];function a(e){for(var t=-1,n=0;n{e.exports=n(237)("./src/core.js")},783:(e,t,n)=>{e.exports=n(237)("./src/engine.js")},507:(e,t,n)=>{e.exports=n(237)("./src/enter.js")},311:(e,t,n)=>{e.exports=n(237)("./src/ui.js")},584:(e,t,n)=>{e.exports=n(237)("./src/utils.js")},237:e=>{"use strict";e.exports=CKEditor5.dll}},t={};function n(o){var i=t[o];if(void 0!==i)return i.exports;var r=t[o]={id:o,exports:{}};return e[o](r,r.exports,n),r.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var o in t)n.o(t,o)&&!n.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.nc=void 0;var o={};(()=>{"use strict";n.r(o),n.d(o,{CodeBlock:()=>E,CodeBlockEditing:()=>v,CodeBlockUI:()=>A});var e=n(782),t=n(507),i=n(783),r=n(584);function c(e){const t=e.t,n=e.config.get("codeBlock.languages");for(const e of n)"Plain text"===e.label&&(e.label=t("Plain text")),void 0===e.class&&(e.class=`language-${e.language}`);return n}function a(e,t,n){const o={};for(const i of e)if("class"===t){o[i[t].split(" ").shift()]=i[n]}else o[i[t]]=i[n];return o}function s(e){return e.data.match(/^(\s*)/)[0]}function l(e){const t=e.document.selection,n=[];if(t.isCollapsed)return[t.anchor];const o=t.getFirstRange().getWalker({ignoreElementEnd:!0,direction:"backward"});for(const{item:t}of o){if(!t.is("$textProxy"))continue;const{parent:o,startOffset:i}=t.textNode;if(!o.is("element","codeBlock"))continue;const r=s(t.textNode),c=e.createPositionAt(o,i+r.length);n.push(c)}return n}function d(e){const t=(0,r.first)(e.getSelectedBlocks());return!!t&&t.is("element","codeBlock")}function u(e,t){return!t.is("rootElement")&&!e.isLimit(t)&&e.checkChild(t.parent,"codeBlock")}class g extends e.Command{constructor(e){super(e),this._lastLanguage=null}refresh(){this.value=this._getValue(),this.isEnabled=this._checkEnabled()}execute(e={}){const t=this.editor,n=t.model,o=n.document.selection,i=c(t)[0],r=Array.from(o.getSelectedBlocks()),a=null==e.forceValue?!this.value:e.forceValue,s=function(e,t,n){if(e.language)return e.language;if(e.usePreviousLanguageChoice&&t)return t;return n}(e,this._lastLanguage,i.language);n.change((e=>{a?this._applyCodeBlock(e,r,s):this._removeCodeBlock(e,r)}))}_getValue(){const e=this.editor.model.document.selection,t=(0,r.first)(e.getSelectedBlocks());return!!!(!t||!t.is("element","codeBlock"))&&t.getAttribute("language")}_checkEnabled(){if(this.value)return!0;const e=this.editor.model.document.selection,t=this.editor.model.schema,n=(0,r.first)(e.getSelectedBlocks());return!!n&&u(t,n)}_applyCodeBlock(e,t,n){this._lastLanguage=n;const o=this.editor.model.schema,i=t.filter((e=>u(o,e)));for(const t of i)e.rename(t,"codeBlock"),e.setAttribute("language",n,t),o.removeDisallowedAttributes([t],e),Array.from(t.getChildren()).filter((e=>!o.checkChild(t,e))).forEach((t=>e.remove(t)));i.reverse().forEach(((t,n)=>{const o=i[n+1];t.previousSibling===o&&(e.appendElement("softBreak",o),e.merge(e.createPositionBefore(t)))}))}_removeCodeBlock(e,t){const n=t.filter((e=>e.is("element","codeBlock")));for(const t of n){const n=e.createRangeOn(t);for(const t of Array.from(n.getItems()).reverse())if(t.is("element","softBreak")&&t.parent.is("element","codeBlock")){const{position:n}=e.split(e.createPositionBefore(t)),o=n.nodeAfter;e.rename(o,"paragraph"),e.removeAttribute("language",o),e.remove(t)}e.rename(t,"paragraph"),e.removeAttribute("language",t)}}}class f extends e.Command{constructor(e){super(e),this._indentSequence=e.config.get("codeBlock.indentSequence")}refresh(){this.isEnabled=this._checkEnabled()}execute(){const e=this.editor.model;e.change((t=>{const n=l(e);for(const o of n){const n=t.createText(this._indentSequence);e.insertContent(n,o)}}))}_checkEnabled(){return!!this._indentSequence&&d(this.editor.model.document.selection)}}class m extends e.Command{constructor(e){super(e),this._indentSequence=e.config.get("codeBlock.indentSequence")}refresh(){this.isEnabled=this._checkEnabled()}execute(){const e=this.editor.model;e.change((()=>{const t=l(e);for(const n of t){const t=p(e,n,this._indentSequence);t&&e.deleteContent(e.createSelection(t))}}))}_checkEnabled(){if(!this._indentSequence)return!1;const e=this.editor.model;return!!d(e.document.selection)&&l(e).some((t=>p(e,t,this._indentSequence)))}}function p(e,t,n){const o=function(e){let t=e.parent.getChild(e.index);t&&!t.is("element","softBreak")||(t=e.nodeBefore);if(!t||t.is("element","softBreak"))return null;return t}(t);if(!o)return null;const i=s(o),r=i.lastIndexOf(n);if(r+n.length!==i.length)return null;if(-1===r)return null;const{parent:c,startOffset:a}=o;return e.createRange(e.createPositionAt(c,a+r),e.createPositionAt(c,a+r+n.length))}function h(e,t,n=!1){const o=a(t,"language","class"),i=a(t,"language","label");return(t,r,c)=>{const{writer:a,mapper:s,consumable:l}=c;if(!l.consume(r.item,"insert"))return;const d=r.item.getAttribute("language"),u=s.toViewPosition(e.createPositionBefore(r.item)),g={};n&&(g["data-language"]=i[d],g.spellcheck="false");const f=o[d]?{class:o[d]}:void 0,m=a.createContainerElement("code",f),p=a.createContainerElement("pre",g,m);a.insert(u,p),s.bindElements(r.item,m)}}const b="paragraph";class v extends e.Plugin{static get pluginName(){return"CodeBlockEditing"}static get requires(){return[t.ShiftEnter]}constructor(e){super(e),e.config.define("codeBlock",{languages:[{language:"plaintext",label:"Plain text"},{language:"c",label:"C"},{language:"cs",label:"C#"},{language:"cpp",label:"C++"},{language:"css",label:"CSS"},{language:"diff",label:"Diff"},{language:"html",label:"HTML"},{language:"java",label:"Java"},{language:"javascript",label:"JavaScript"},{language:"php",label:"PHP"},{language:"python",label:"Python"},{language:"ruby",label:"Ruby"},{language:"typescript",label:"TypeScript"},{language:"xml",label:"XML"}],indentSequence:"\t"})}init(){const e=this.editor,t=e.model.schema,n=e.model,o=e.editing.view,r=e.plugins.has("ListEditing")?e.plugins.get("ListEditing"):null,s=c(e);e.commands.add("codeBlock",new g(e)),e.commands.add("indentCodeBlock",new f(e)),e.commands.add("outdentCodeBlock",new m(e)),this.listenTo(o.document,"tab",((t,n)=>{const o=n.shiftKey?"outdentCodeBlock":"indentCodeBlock";e.commands.get(o).isEnabled&&(e.execute(o),n.stopPropagation(),n.preventDefault(),t.stop())}),{context:"pre"}),t.register("codeBlock",{allowWhere:"$block",allowChildren:"$text",isBlock:!0,allowAttributes:["language"]}),t.addAttributeCheck(((e,t)=>!!(e.endsWith("codeBlock")&&r&&r.getListAttributeNames().includes(t))||!e.endsWith("codeBlock $text")&&void 0)),e.model.schema.addChildCheck(((e,t)=>{if(e.endsWith("codeBlock")&&t.isObject)return!1})),e.editing.downcastDispatcher.on("insert:codeBlock",h(n,s,!0)),e.data.downcastDispatcher.on("insert:codeBlock",h(n,s)),e.data.downcastDispatcher.on("insert:softBreak",function(e){return(t,n,o)=>{if("codeBlock"!==n.item.parent.name)return;const{writer:i,mapper:r,consumable:c}=o;if(!c.consume(n.item,"insert"))return;const a=r.toViewPosition(e.createPositionBefore(n.item));i.insert(a,i.createText("\n"))}}(n),{priority:"high"}),e.data.upcastDispatcher.on("element:code",function(e,t){const n=a(t,"class","language"),o=t[0].language;return(e,t,i)=>{const r=t.viewItem,c=r.parent;if(!c||!c.is("element","pre"))return;if(t.modelCursor.findAncestor("codeBlock"))return;const{consumable:a,writer:s}=i;if(!a.test(r,{name:!0}))return;const l=s.createElement("codeBlock"),d=[...r.getClassNames()];d.length||d.push("");for(const e of d){const t=n[e];if(t){s.setAttribute("language",t,l);break}}l.hasAttribute("language")||s.setAttribute("language",o,l),i.convertChildren(r,l),i.safeInsert(l,t.modelCursor)&&(a.consume(r,{name:!0}),i.updateConversionResult(l,t))}}(0,s)),e.data.upcastDispatcher.on("text",((e,t,{consumable:n,writer:o})=>{let i=t.modelCursor;if(!n.test(t.viewItem))return;if(!i.findAncestor("codeBlock"))return;n.consume(t.viewItem);const r=t.viewItem.data.split("\n").map((e=>o.createText(e))),c=r[r.length-1];for(const e of r)if(o.insert(e,i),i=i.getShiftedBy(e.offsetSize),e!==c){const e=o.createElement("softBreak");o.insert(e,i),i=o.createPositionAfter(e)}t.modelRange=o.createRange(t.modelCursor,i),t.modelCursor=i})),e.data.upcastDispatcher.on("element:pre",((e,t,{consumable:n})=>{const o=t.viewItem;if(o.findAncestor("pre"))return;const i=Array.from(o.getChildren()),r=i.find((e=>e.is("element","code")));if(r)for(const e of i)e!==r&&e.is("$text")&&n.consume(e,{name:!0})}),{priority:"high"}),this.listenTo(e.editing.view.document,"clipboardInput",((t,o)=>{let r=n.createRange(n.document.selection.anchor);if(o.targetRanges&&(r=e.editing.mapper.toModelRange(o.targetRanges[0])),!r.start.parent.is("element","codeBlock"))return;const c=o.dataTransfer.getData("text/plain"),a=new i.UpcastWriter(e.editing.view.document);o.content=function(e,t){const n=e.createDocumentFragment(),o=t.split("\n"),i=o.reduce(((t,n,i)=>(t.push(n),i{const i=o.anchor;!o.isCollapsed&&i.parent.is("element","codeBlock")&&i.hasSameParentAs(o.focus)&&n.change((n=>{const r=e.return;if(i.parent.is("element")&&(r.childCount>1||o.containsEntireContent(i.parent))){const t=n.createElement("codeBlock",i.parent.getAttributes());n.append(r,t);const o=n.createDocumentFragment();return n.append(t,o),void(e.return=o)}const c=r.getChild(0);t.checkAttribute(c,"code")&&n.setAttribute("code",!0,c)}))}))}afterInit(){const e=this.editor,t=e.commands,n=t.get("indent"),o=t.get("outdent");n&&n.registerChildCommand(t.get("indentCodeBlock"),{priority:"highest"}),o&&o.registerChildCommand(t.get("outdentCodeBlock")),this.listenTo(e.editing.view.document,"enter",((t,n)=>{e.model.document.selection.getLastPosition().parent.is("element","codeBlock")&&(function(e,t){const n=e.model,o=n.document,i=e.editing.view,r=o.selection.getLastPosition(),c=r.nodeAfter;if(t||!o.selection.isCollapsed||!r.isAtStart)return!1;if(!B(c))return!1;return e.model.change((t=>{e.execute("enter");const n=o.selection.anchor.parent.previousSibling;t.rename(n,b),t.setSelection(n,"in"),e.model.schema.removeDisallowedAttributes([n],t),t.remove(c)})),i.scrollToTheSelection(),!0}(e,n.isSoft)||function(e,t){const n=e.model,o=n.document,i=e.editing.view,r=o.selection.getLastPosition(),c=r.nodeBefore;let a;if(t||!o.selection.isCollapsed||!r.isAtEnd||!c||!c.previousSibling)return!1;if(B(c)&&B(c.previousSibling))a=n.createRange(n.createPositionBefore(c.previousSibling),n.createPositionAfter(c));else if(k(c)&&B(c.previousSibling)&&B(c.previousSibling.previousSibling))a=n.createRange(n.createPositionBefore(c.previousSibling.previousSibling),n.createPositionAfter(c));else{if(!(k(c)&&B(c.previousSibling)&&k(c.previousSibling.previousSibling)&&c.previousSibling.previousSibling&&B(c.previousSibling.previousSibling.previousSibling)))return!1;a=n.createRange(n.createPositionBefore(c.previousSibling.previousSibling.previousSibling),n.createPositionAfter(c))}return e.model.change((t=>{t.remove(a),e.execute("enter");const n=o.selection.anchor.parent;t.rename(n,b),e.model.schema.removeDisallowedAttributes([n],t)})),i.scrollToTheSelection(),!0}(e,n.isSoft)||function(e){const t=e.model,n=t.document,o=n.selection.getLastPosition(),i=o.nodeBefore||o.textNode;let r;i&&i.is("$text")&&(r=s(i));e.model.change((t=>{e.execute("shiftEnter"),r&&t.insertText(r,n.selection.anchor)}))}(e),n.preventDefault(),t.stop())}),{context:"pre"})}}function k(e){return e&&e.is("$text")&&!e.data.match(/\S/)}function B(e){return e&&e.is("element","softBreak")}var w=n(311),C=n(591),x=n.n(C),S=n(535),y={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};x()(S.A,y);S.A.locals;class A extends e.Plugin{static get pluginName(){return"CodeBlockUI"}init(){const t=this.editor,n=t.t,o=t.ui.componentFactory,i=c(t),r=this._getLanguageListItemDefinitions(i),a=t.commands.get("codeBlock");o.add("codeBlock",(o=>{const i=(0,w.createDropdown)(o,w.SplitButtonView),c=i.buttonView,s=n("Insert code block");return c.set({label:s,tooltip:!0,icon:e.icons.codeBlock,isToggleable:!0}),c.bind("isOn").to(a,"value",(e=>!!e)),c.on("execute",(()=>{t.execute("codeBlock",{usePreviousLanguageChoice:!0}),t.editing.view.focus()})),i.on("execute",(e=>{t.execute("codeBlock",{language:e.source._codeBlockLanguage,forceValue:!0}),t.editing.view.focus()})),i.class="ck-code-block-dropdown",i.bind("isEnabled").to(a),(0,w.addListToDropdown)(i,r,{role:"menu",ariaLabel:s}),i})),o.add("menuBar:codeBlock",(o=>{const i=new w.MenuBarMenuView(o);i.buttonView.set({label:n("Code block"),icon:e.icons.codeBlock}),i.bind("isEnabled").to(a);const c=new w.MenuBarMenuListView(o);c.set({ariaLabel:n("Insert code block")});for(const e of r){const n=new w.MenuBarMenuListItemView(o,i),r=new w.MenuBarMenuListItemButtonView(o);r.bind(...Object.keys(e.model)).to(e.model),r.bind("ariaChecked").to(r,"isOn"),r.delegate("execute").to(i),r.on("execute",(()=>{t.execute("codeBlock",{language:e.model._codeBlockLanguage,forceValue:a.value!=e.model._codeBlockLanguage}),t.editing.view.focus()})),n.children.add(r),c.items.add(n)}return i.panelView.children.add(c),i}))}_getLanguageListItemDefinitions(e){const t=this.editor.commands.get("codeBlock"),n=new r.Collection;for(const o of e){const e={type:"button",model:new w.ViewModel({_codeBlockLanguage:o.language,label:o.label,role:"menuitemradio",withText:!0})};e.model.bind("isOn").to(t,"value",(t=>t===e.model._codeBlockLanguage)),n.add(e)}return n}}class E extends e.Plugin{static get requires(){return[v,A]}static get pluginName(){return"CodeBlock"}}})(),(window.CKEditor5=window.CKEditor5||{}).codeBlock=o})(); \ No newline at end of file diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/af.js b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/af.js new file mode 100644 index 0000000..04d6139 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/af.js @@ -0,0 +1 @@ +!function(o){const n=o.af=o.af||{};n.dictionary=Object.assign(n.dictionary||{},{"Code block":"","Insert code block":"Voeg bronkodeblok in","Plain text":"Gewone skrif"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/ar.js b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/ar.js new file mode 100644 index 0000000..d538499 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/ar.js @@ -0,0 +1 @@ +!function(n){const o=n.ar=n.ar||{};o.dictionary=Object.assign(o.dictionary||{},{"Code block":"كتلة تعليمات برمجية","Insert code block":"إدراج كتلة تعليمات برمجية","Plain text":"نص عادي"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/az.js b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/az.js new file mode 100644 index 0000000..9732468 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/az.js @@ -0,0 +1 @@ +!function(n){const o=n.az=n.az||{};o.dictionary=Object.assign(o.dictionary||{},{"Code block":"","Insert code block":"Kod blokunu əlavə et","Plain text":"Sadə mətn"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/bg.js b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/bg.js new file mode 100644 index 0000000..9a1f61a --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/bg.js @@ -0,0 +1 @@ +!function(n){const o=n.bg=n.bg||{};o.dictionary=Object.assign(o.dictionary||{},{"Code block":"Кодов блок","Insert code block":"Въведи кодов блок","Plain text":"Обикновен текст"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/bn.js b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/bn.js new file mode 100644 index 0000000..4651d9d --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/bn.js @@ -0,0 +1 @@ +!function(n){const o=n.bn=n.bn||{};o.dictionary=Object.assign(o.dictionary||{},{"Code block":"কোড ব্লক","Insert code block":"কোড ব্লক ঢোকান","Plain text":"প্লেইন টেক্সট"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/bs.js b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/bs.js new file mode 100644 index 0000000..921428d --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/bs.js @@ -0,0 +1 @@ +!function(o){const n=o.bs=o.bs||{};n.dictionary=Object.assign(n.dictionary||{},{"Code block":"","Insert code block":"Umetni kod blok","Plain text":"Tekst"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/ca.js b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/ca.js new file mode 100644 index 0000000..21302bd --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/ca.js @@ -0,0 +1 @@ +!function(o){const c=o.ca=o.ca||{};c.dictionary=Object.assign(c.dictionary||{},{"Code block":"Bloc de codis","Insert code block":"Introduir un bloc de codi","Plain text":"Text simple"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/cs.js b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/cs.js new file mode 100644 index 0000000..8c0522c --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/cs.js @@ -0,0 +1 @@ +!function(o){const t=o.cs=o.cs||{};t.dictionary=Object.assign(t.dictionary||{},{"Code block":"Blok kódu","Insert code block":"Vložit blok zdrojového kódu","Plain text":"Prostý text"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/da.js b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/da.js new file mode 100644 index 0000000..e8d8106 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/da.js @@ -0,0 +1 @@ +!function(o){const n=o.da=o.da||{};n.dictionary=Object.assign(n.dictionary||{},{"Code block":"Kodeblok","Insert code block":"Indsæt kodeblok","Plain text":"Plain tekst"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/de-ch.js b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/de-ch.js new file mode 100644 index 0000000..9f8b894 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/de-ch.js @@ -0,0 +1 @@ +!function(n){const o=n["de-ch"]=n["de-ch"]||{};o.dictionary=Object.assign(o.dictionary||{},{"Code block":"","Insert code block":"Code-Block einfügen","Plain text":"Nur Text"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/de.js b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/de.js new file mode 100644 index 0000000..f7bc765 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/de.js @@ -0,0 +1 @@ +!function(o){const e=o.de=o.de||{};e.dictionary=Object.assign(e.dictionary||{},{"Code block":"Codeblock","Insert code block":"Code-Block einfügen","Plain text":"Nur Text"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/el.js b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/el.js new file mode 100644 index 0000000..4f43be6 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/el.js @@ -0,0 +1 @@ +!function(n){const o=n.el=n.el||{};o.dictionary=Object.assign(o.dictionary||{},{"Code block":"Μπλοκ κώδικα","Insert code block":"Εισαγωγή τμήματος κώδικα","Plain text":"Απλό κέιμενο"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/en-au.js b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/en-au.js new file mode 100644 index 0000000..05a8470 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/en-au.js @@ -0,0 +1 @@ +!function(n){const o=n["en-au"]=n["en-au"]||{};o.dictionary=Object.assign(o.dictionary||{},{"Code block":"","Insert code block":"Insert code block","Plain text":"Plain text"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/es-co.js b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/es-co.js new file mode 100644 index 0000000..978d13e --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/es-co.js @@ -0,0 +1 @@ +!function(o){const n=o["es-co"]=o["es-co"]||{};n.dictionary=Object.assign(n.dictionary||{},{"Code block":"","Insert code block":"Insertar bloque de código","Plain text":"Texto plano"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/es.js b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/es.js new file mode 100644 index 0000000..db3cadb --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/es.js @@ -0,0 +1 @@ +!function(o){const e=o.es=o.es||{};e.dictionary=Object.assign(e.dictionary||{},{"Code block":"Bloque de código","Insert code block":"Insertar bloque de código","Plain text":"Texto plano"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/et.js b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/et.js new file mode 100644 index 0000000..d73e119 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/et.js @@ -0,0 +1 @@ +!function(o){const t=o.et=o.et||{};t.dictionary=Object.assign(t.dictionary||{},{"Code block":"Koodiplokk","Insert code block":"Sisesta koodiplokk","Plain text":"Lihtsalt tekst"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/fa.js b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/fa.js new file mode 100644 index 0000000..8980667 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/fa.js @@ -0,0 +1 @@ +!function(n){const o=n.fa=n.fa||{};o.dictionary=Object.assign(o.dictionary||{},{"Code block":"","Insert code block":"درج بلوک کد","Plain text":"متن ساده"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/fi.js b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/fi.js new file mode 100644 index 0000000..9093a00 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/fi.js @@ -0,0 +1 @@ +!function(o){const i=o.fi=o.fi||{};i.dictionary=Object.assign(i.dictionary||{},{"Code block":"Koodilohko","Insert code block":"Liitä koodilohko","Plain text":"Pelkkä teksti"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/fr.js b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/fr.js new file mode 100644 index 0000000..86c1709 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/fr.js @@ -0,0 +1 @@ +!function(o){const c=o.fr=o.fr||{};c.dictionary=Object.assign(c.dictionary||{},{"Code block":"Bloc de code","Insert code block":"Insérer un bloc de code","Plain text":"Texte brut"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/gl.js b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/gl.js new file mode 100644 index 0000000..82d1d9b --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/gl.js @@ -0,0 +1 @@ +!function(o){const i=o.gl=o.gl||{};i.dictionary=Object.assign(i.dictionary||{},{"Code block":"","Insert code block":"Inserir bloque de código","Plain text":"Texto simple"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/he.js b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/he.js new file mode 100644 index 0000000..16efefe --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/he.js @@ -0,0 +1 @@ +!function(n){const o=n.he=n.he||{};o.dictionary=Object.assign(o.dictionary||{},{"Code block":"בלוק קוד","Insert code block":"הוספת קטע קוד","Plain text":"טקסט פשוט"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/hi.js b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/hi.js new file mode 100644 index 0000000..be1dcd1 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/hi.js @@ -0,0 +1 @@ +!function(i){const n=i.hi=i.hi||{};n.dictionary=Object.assign(n.dictionary||{},{"Code block":"कोड ब्लॉक","Insert code block":"Insert code block","Plain text":"Plain text"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/hr.js b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/hr.js new file mode 100644 index 0000000..4149bb4 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/hr.js @@ -0,0 +1 @@ +!function(n){const o=n.hr=n.hr||{};o.dictionary=Object.assign(o.dictionary||{},{"Code block":"","Insert code block":"Umetni blok koda","Plain text":"Običan tekst"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/hu.js b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/hu.js new file mode 100644 index 0000000..0f8c0c1 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/hu.js @@ -0,0 +1 @@ +!function(o){const n=o.hu=o.hu||{};n.dictionary=Object.assign(n.dictionary||{},{"Code block":"Kódblokk","Insert code block":"Kód blokk beszúrása","Plain text":"Egyszerű szöveg"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/id.js b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/id.js new file mode 100644 index 0000000..b7cc86c --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/id.js @@ -0,0 +1 @@ +!function(o){const i=o.id=o.id||{};i.dictionary=Object.assign(i.dictionary||{},{"Code block":"Blok kode","Insert code block":"Sisipkan blok kode","Plain text":"Teks mentah"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/it.js b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/it.js new file mode 100644 index 0000000..13b2446 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/it.js @@ -0,0 +1 @@ +!function(c){const i=c.it=c.it||{};i.dictionary=Object.assign(i.dictionary||{},{"Code block":"Blocco di codice","Insert code block":"Inserisci blocco di codice","Plain text":"Testo semplice"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/ja.js b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/ja.js new file mode 100644 index 0000000..463a39c --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/ja.js @@ -0,0 +1 @@ +!function(n){const o=n.ja=n.ja||{};o.dictionary=Object.assign(o.dictionary||{},{"Code block":"コードブロック","Insert code block":"コードブロックの挿入","Plain text":"プレインテキスト"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/jv.js b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/jv.js new file mode 100644 index 0000000..cf53492 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/jv.js @@ -0,0 +1 @@ +!function(n){const i=n.jv=n.jv||{};i.dictionary=Object.assign(i.dictionary||{},{"Code block":"","Insert code block":"","Plain text":"Seratan biasa"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/ko.js b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/ko.js new file mode 100644 index 0000000..44ddd2a --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/ko.js @@ -0,0 +1 @@ +!function(o){const n=o.ko=o.ko||{};n.dictionary=Object.assign(n.dictionary||{},{"Code block":"코드 블록","Insert code block":"코드 블럭 삽입","Plain text":"평문"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/ku.js b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/ku.js new file mode 100644 index 0000000..f8218e7 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/ku.js @@ -0,0 +1 @@ +!function(n){const o=n.ku=n.ku||{};o.dictionary=Object.assign(o.dictionary||{},{"Code block":"","Insert code block":"دانانی خشتەی کۆد","Plain text":"تێکستی سادە"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/lt.js b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/lt.js new file mode 100644 index 0000000..bb65f1b --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/lt.js @@ -0,0 +1 @@ +!function(t){const o=t.lt=t.lt||{};o.dictionary=Object.assign(o.dictionary||{},{"Code block":"Kodų blokas","Insert code block":"Įterpti codų bloką","Plain text":"Paprastasis tekstas"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/lv.js b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/lv.js new file mode 100644 index 0000000..8cb4b36 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/lv.js @@ -0,0 +1 @@ +!function(o){const t=o.lv=o.lv||{};t.dictionary=Object.assign(t.dictionary||{},{"Code block":"Koda bloks","Insert code block":"Ievietot koda bloku","Plain text":"Vienkāršs teksts"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/ms.js b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/ms.js new file mode 100644 index 0000000..2f83b4b --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/ms.js @@ -0,0 +1 @@ +!function(o){const n=o.ms=o.ms||{};n.dictionary=Object.assign(n.dictionary||{},{"Code block":"Sekatan kod","Insert code block":"Masukkan blok kod","Plain text":"Teks kosong"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/nl.js b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/nl.js new file mode 100644 index 0000000..1a5f943 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/nl.js @@ -0,0 +1 @@ +!function(o){const n=o.nl=o.nl||{};n.dictionary=Object.assign(n.dictionary||{},{"Code block":"Codeblok","Insert code block":"Codeblok invoegen","Plain text":"Platte tekst"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/no.js b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/no.js new file mode 100644 index 0000000..70d23bb --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/no.js @@ -0,0 +1 @@ +!function(o){const n=o.no=o.no||{};n.dictionary=Object.assign(n.dictionary||{},{"Code block":"Kodeblokk","Insert code block":"Sett inn kodeblokk","Plain text":"Ren tekst"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/pl.js b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/pl.js new file mode 100644 index 0000000..bf3cb9f --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/pl.js @@ -0,0 +1 @@ +!function(o){const t=o.pl=o.pl||{};t.dictionary=Object.assign(t.dictionary||{},{"Code block":"Blok kodu","Insert code block":"Wstaw blok kodu","Plain text":"Zwykły tekst"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/pt-br.js b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/pt-br.js new file mode 100644 index 0000000..c837a4e --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/pt-br.js @@ -0,0 +1 @@ +!function(o){const c=o["pt-br"]=o["pt-br"]||{};c.dictionary=Object.assign(c.dictionary||{},{"Code block":"Bloco de código","Insert code block":"Inserir bloco de código","Plain text":"Texto sem formatação"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/pt.js b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/pt.js new file mode 100644 index 0000000..accc410 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/pt.js @@ -0,0 +1 @@ +!function(o){const i=o.pt=o.pt||{};i.dictionary=Object.assign(i.dictionary||{},{"Code block":"Bloco de código","Insert code block":"Inserir bloco de citação","Plain text":"Texto simples"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/ro.js b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/ro.js new file mode 100644 index 0000000..0f567c6 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/ro.js @@ -0,0 +1 @@ +!function(o){const c=o.ro=o.ro||{};c.dictionary=Object.assign(c.dictionary||{},{"Code block":"Bloc de cod","Insert code block":"Inserează un bloc code","Plain text":"Text simplu"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/ru.js b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/ru.js new file mode 100644 index 0000000..5fdab3d --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/ru.js @@ -0,0 +1 @@ +!function(n){const o=n.ru=n.ru||{};o.dictionary=Object.assign(o.dictionary||{},{"Code block":"Блок кодов","Insert code block":"Вставить код","Plain text":"Простой текст"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/sk.js b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/sk.js new file mode 100644 index 0000000..723f8bc --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/sk.js @@ -0,0 +1 @@ +!function(o){const t=o.sk=o.sk||{};t.dictionary=Object.assign(t.dictionary||{},{"Code block":"Blok kódu","Insert code block":"Vložte blok kódu","Plain text":"Čistý text"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/sq.js b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/sq.js new file mode 100644 index 0000000..a08fa8d --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/sq.js @@ -0,0 +1 @@ +!function(o){const t=o.sq=o.sq||{};t.dictionary=Object.assign(t.dictionary||{},{"Code block":"","Insert code block":"Shto bllokun e kodit","Plain text":"Teksti i thjeshtë"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/sr-latn.js b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/sr-latn.js new file mode 100644 index 0000000..2e84a13 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/sr-latn.js @@ -0,0 +1 @@ +!function(n){const o=n["sr-latn"]=n["sr-latn"]||{};o.dictionary=Object.assign(o.dictionary||{},{"Code block":"","Insert code block":"Dodaj blok koda","Plain text":"Običan tekst"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/sr.js b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/sr.js new file mode 100644 index 0000000..818633c --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/sr.js @@ -0,0 +1 @@ +!function(o){const n=o.sr=o.sr||{};n.dictionary=Object.assign(n.dictionary||{},{"Code block":"Blok koda","Insert code block":"Додај блок кода","Plain text":"Обичан текст"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/sv.js b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/sv.js new file mode 100644 index 0000000..c6bc064 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/sv.js @@ -0,0 +1 @@ +!function(o){const n=o.sv=o.sv||{};n.dictionary=Object.assign(n.dictionary||{},{"Code block":"Kodblock","Insert code block":"Infoga kodblock","Plain text":"Vanlig text"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/th.js b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/th.js new file mode 100644 index 0000000..414a139 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/th.js @@ -0,0 +1 @@ +!function(n){const o=n.th=n.th||{};o.dictionary=Object.assign(o.dictionary||{},{"Code block":"บล็อกรหัส","Insert code block":"เพิ่มโค้ดบล็อก","Plain text":"ข้อความธรรมดา"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/tk.js b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/tk.js new file mode 100644 index 0000000..41bd031 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/tk.js @@ -0,0 +1 @@ +!function(o){const t=o.tk=o.tk||{};t.dictionary=Object.assign(t.dictionary||{},{"Code block":"","Insert code block":"Kod blogyna goýuň","Plain text":"Düz tekst"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/tr.js b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/tr.js new file mode 100644 index 0000000..7f6dfd9 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/tr.js @@ -0,0 +1 @@ +!function(o){const n=o.tr=o.tr||{};n.dictionary=Object.assign(n.dictionary||{},{"Code block":"Kod bloku","Insert code block":"Kod bloğu ekle","Plain text":"Düz metin"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/ug.js b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/ug.js new file mode 100644 index 0000000..959b128 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/ug.js @@ -0,0 +1 @@ +!function(n){const o=n.ug=n.ug||{};o.dictionary=Object.assign(o.dictionary||{},{"Code block":"","Insert code block":"كود بۆلىكى قىستۇر","Plain text":"ساپ تېكىست"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/uk.js b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/uk.js new file mode 100644 index 0000000..8ba3fac --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/uk.js @@ -0,0 +1 @@ +!function(n){const o=n.uk=n.uk||{};o.dictionary=Object.assign(o.dictionary||{},{"Code block":"Блок коду","Insert code block":"Вставте блок коду","Plain text":"Простий текст"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/ur.js b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/ur.js new file mode 100644 index 0000000..d08bf24 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/ur.js @@ -0,0 +1 @@ +!function(n){const o=n.ur=n.ur||{};o.dictionary=Object.assign(o.dictionary||{},{"Code block":"","Insert code block":"کوڈ خانہ نصب کیرں","Plain text":"سادہ متن"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/uz.js b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/uz.js new file mode 100644 index 0000000..28cc805 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/uz.js @@ -0,0 +1 @@ +!function(i){const n=i.uz=i.uz||{};n.dictionary=Object.assign(n.dictionary||{},{"Code block":"","Insert code block":"Kodni kiritish","Plain text":"Oddiy matn"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/vi.js b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/vi.js new file mode 100644 index 0000000..7fd2049 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/vi.js @@ -0,0 +1 @@ +!function(n){const i=n.vi=n.vi||{};i.dictionary=Object.assign(i.dictionary||{},{"Code block":"Khối mã","Insert code block":"Chèn khối mã","Plain text":"Văn bản thuần"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/zh-cn.js b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/zh-cn.js new file mode 100644 index 0000000..59876c6 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/zh-cn.js @@ -0,0 +1 @@ +!function(n){const c=n["zh-cn"]=n["zh-cn"]||{};c.dictionary=Object.assign(c.dictionary||{},{"Code block":"代码块","Insert code block":"插入代码块","Plain text":"纯文本"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/zh.js b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/zh.js new file mode 100644 index 0000000..5f33bd7 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/build/translations/zh.js @@ -0,0 +1 @@ +!function(n){const o=n.zh=n.zh||{};o.dictionary=Object.assign(o.dictionary||{},{"Code block":"程式碼區塊","Insert code block":"插入程式碼區塊","Plain text":"純文字"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/ckeditor5-metadata.json b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/ckeditor5-metadata.json new file mode 100644 index 0000000..8a3b298 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/ckeditor5-metadata.json @@ -0,0 +1,34 @@ +{ + "plugins": [ + { + "name": "Code blocks", + "className": "CodeBlock", + "description": "Allows for inserting and editing of blocks of pre–formatted code with the programming language assigned.", + "docs": "features/code-blocks.html", + "path": "src/codeblock.js", + "uiComponents": [ + { + "type": "Button", + "name": "codeBlock", + "iconPath": "@ckeditor/ckeditor5-core/theme/icons/codeblock.svg" + } + ], + "htmlOutput": [ + { + "elements": "pre" + }, + { + "elements": "code", + "classes": "language-*", + "_comment": "By default, the language of the code block is represented as a CSS class prefixed by `language-`" + }, + { + "elements": "code", + "classes": "*", + "isAlternative": true, + "_comment": "The CSS class name can be customized via the `config.codeBlock.languages` array." + } + ] + } + ] +} diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/contexts.json b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/contexts.json new file mode 100644 index 0000000..63f1456 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/contexts.json @@ -0,0 +1,5 @@ +{ + "Insert code block": "A label of the button that allows inserting a new code block into the editor content.", + "Plain text": "A language of the code block in the editor content when no specific programming language is associated with it.", + "Code block": "The accessible label of the menu bar button that inserts a code block into editor content." +} diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/af.po b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/af.po new file mode 100644 index 0000000..e46060a --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/af.po @@ -0,0 +1,30 @@ +# Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. +# +# !!! IMPORTANT !!! +# +# Before you edit this file, please keep in mind that contributing to the project +# translations is possible ONLY via the Transifex online service. +# +# To submit your translations, visit https://www.transifex.com/ckeditor/ckeditor5. +# +# To learn more, check out the official contributor's guide: +# https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/contributing.html +# +msgid "" +msgstr "" +"Language-Team: Afrikaans (https://app.transifex.com/ckeditor/teams/11143/af/)\n" +"Language: af\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Content-Type: text/plain; charset=UTF-8\n" + +msgctxt "A label of the button that allows inserting a new code block into the editor content." +msgid "Insert code block" +msgstr "Voeg bronkodeblok in" + +msgctxt "A language of the code block in the editor content when no specific programming language is associated with it." +msgid "Plain text" +msgstr "Gewone skrif" + +msgctxt "The accessible label of the menu bar button that inserts a code block into editor content." +msgid "Code block" +msgstr "" diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/ar.po b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/ar.po new file mode 100644 index 0000000..392da5e --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/ar.po @@ -0,0 +1,30 @@ +# Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. +# +# !!! IMPORTANT !!! +# +# Before you edit this file, please keep in mind that contributing to the project +# translations is possible ONLY via the Transifex online service. +# +# To submit your translations, visit https://www.transifex.com/ckeditor/ckeditor5. +# +# To learn more, check out the official contributor's guide: +# https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/contributing.html +# +msgid "" +msgstr "" +"Language-Team: Arabic (https://app.transifex.com/ckeditor/teams/11143/ar/)\n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" +"Content-Type: text/plain; charset=UTF-8\n" + +msgctxt "A label of the button that allows inserting a new code block into the editor content." +msgid "Insert code block" +msgstr "إدراج كتلة تعليمات برمجية" + +msgctxt "A language of the code block in the editor content when no specific programming language is associated with it." +msgid "Plain text" +msgstr "نص عادي" + +msgctxt "The accessible label of the menu bar button that inserts a code block into editor content." +msgid "Code block" +msgstr "كتلة تعليمات برمجية" diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/az.po b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/az.po new file mode 100644 index 0000000..e153ea3 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/az.po @@ -0,0 +1,30 @@ +# Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. +# +# !!! IMPORTANT !!! +# +# Before you edit this file, please keep in mind that contributing to the project +# translations is possible ONLY via the Transifex online service. +# +# To submit your translations, visit https://www.transifex.com/ckeditor/ckeditor5. +# +# To learn more, check out the official contributor's guide: +# https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/contributing.html +# +msgid "" +msgstr "" +"Language-Team: Azerbaijani (https://app.transifex.com/ckeditor/teams/11143/az/)\n" +"Language: az\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Content-Type: text/plain; charset=UTF-8\n" + +msgctxt "A label of the button that allows inserting a new code block into the editor content." +msgid "Insert code block" +msgstr "Kod blokunu əlavə et" + +msgctxt "A language of the code block in the editor content when no specific programming language is associated with it." +msgid "Plain text" +msgstr "Sadə mətn" + +msgctxt "The accessible label of the menu bar button that inserts a code block into editor content." +msgid "Code block" +msgstr "" diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/bg.po b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/bg.po new file mode 100644 index 0000000..256be8c --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/bg.po @@ -0,0 +1,30 @@ +# Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. +# +# !!! IMPORTANT !!! +# +# Before you edit this file, please keep in mind that contributing to the project +# translations is possible ONLY via the Transifex online service. +# +# To submit your translations, visit https://www.transifex.com/ckeditor/ckeditor5. +# +# To learn more, check out the official contributor's guide: +# https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/contributing.html +# +msgid "" +msgstr "" +"Language-Team: Bulgarian (https://app.transifex.com/ckeditor/teams/11143/bg/)\n" +"Language: bg\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Content-Type: text/plain; charset=UTF-8\n" + +msgctxt "A label of the button that allows inserting a new code block into the editor content." +msgid "Insert code block" +msgstr "Въведи кодов блок" + +msgctxt "A language of the code block in the editor content when no specific programming language is associated with it." +msgid "Plain text" +msgstr "Обикновен текст" + +msgctxt "The accessible label of the menu bar button that inserts a code block into editor content." +msgid "Code block" +msgstr "Кодов блок" diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/bn.po b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/bn.po new file mode 100644 index 0000000..9d118ba --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/bn.po @@ -0,0 +1,30 @@ +# Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. +# +# !!! IMPORTANT !!! +# +# Before you edit this file, please keep in mind that contributing to the project +# translations is possible ONLY via the Transifex online service. +# +# To submit your translations, visit https://www.transifex.com/ckeditor/ckeditor5. +# +# To learn more, check out the official contributor's guide: +# https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/contributing.html +# +msgid "" +msgstr "" +"Language-Team: Bengali (https://app.transifex.com/ckeditor/teams/11143/bn/)\n" +"Language: bn\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Content-Type: text/plain; charset=UTF-8\n" + +msgctxt "A label of the button that allows inserting a new code block into the editor content." +msgid "Insert code block" +msgstr "কোড ব্লক ঢোকান" + +msgctxt "A language of the code block in the editor content when no specific programming language is associated with it." +msgid "Plain text" +msgstr "প্লেইন টেক্সট" + +msgctxt "The accessible label of the menu bar button that inserts a code block into editor content." +msgid "Code block" +msgstr "কোড ব্লক" diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/bs.po b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/bs.po new file mode 100644 index 0000000..dd291d6 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/bs.po @@ -0,0 +1,30 @@ +# Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. +# +# !!! IMPORTANT !!! +# +# Before you edit this file, please keep in mind that contributing to the project +# translations is possible ONLY via the Transifex online service. +# +# To submit your translations, visit https://www.transifex.com/ckeditor/ckeditor5. +# +# To learn more, check out the official contributor's guide: +# https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/contributing.html +# +msgid "" +msgstr "" +"Language-Team: Bosnian (https://app.transifex.com/ckeditor/teams/11143/bs/)\n" +"Language: bs\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Content-Type: text/plain; charset=UTF-8\n" + +msgctxt "A label of the button that allows inserting a new code block into the editor content." +msgid "Insert code block" +msgstr "Umetni kod blok" + +msgctxt "A language of the code block in the editor content when no specific programming language is associated with it." +msgid "Plain text" +msgstr "Tekst" + +msgctxt "The accessible label of the menu bar button that inserts a code block into editor content." +msgid "Code block" +msgstr "" diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/ca.po b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/ca.po new file mode 100644 index 0000000..1545c8f --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/ca.po @@ -0,0 +1,30 @@ +# Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. +# +# !!! IMPORTANT !!! +# +# Before you edit this file, please keep in mind that contributing to the project +# translations is possible ONLY via the Transifex online service. +# +# To submit your translations, visit https://www.transifex.com/ckeditor/ckeditor5. +# +# To learn more, check out the official contributor's guide: +# https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/contributing.html +# +msgid "" +msgstr "" +"Language-Team: Catalan (https://app.transifex.com/ckeditor/teams/11143/ca/)\n" +"Language: ca\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Content-Type: text/plain; charset=UTF-8\n" + +msgctxt "A label of the button that allows inserting a new code block into the editor content." +msgid "Insert code block" +msgstr "Introduir un bloc de codi" + +msgctxt "A language of the code block in the editor content when no specific programming language is associated with it." +msgid "Plain text" +msgstr "Text simple" + +msgctxt "The accessible label of the menu bar button that inserts a code block into editor content." +msgid "Code block" +msgstr "Bloc de codis" diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/cs.po b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/cs.po new file mode 100644 index 0000000..fa5bd20 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/cs.po @@ -0,0 +1,30 @@ +# Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. +# +# !!! IMPORTANT !!! +# +# Before you edit this file, please keep in mind that contributing to the project +# translations is possible ONLY via the Transifex online service. +# +# To submit your translations, visit https://www.transifex.com/ckeditor/ckeditor5. +# +# To learn more, check out the official contributor's guide: +# https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/contributing.html +# +msgid "" +msgstr "" +"Language-Team: Czech (https://app.transifex.com/ckeditor/teams/11143/cs/)\n" +"Language: cs\n" +"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n" +"Content-Type: text/plain; charset=UTF-8\n" + +msgctxt "A label of the button that allows inserting a new code block into the editor content." +msgid "Insert code block" +msgstr "Vložit blok zdrojového kódu" + +msgctxt "A language of the code block in the editor content when no specific programming language is associated with it." +msgid "Plain text" +msgstr "Prostý text" + +msgctxt "The accessible label of the menu bar button that inserts a code block into editor content." +msgid "Code block" +msgstr "Blok kódu" diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/da.po b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/da.po new file mode 100644 index 0000000..9c33905 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/da.po @@ -0,0 +1,30 @@ +# Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. +# +# !!! IMPORTANT !!! +# +# Before you edit this file, please keep in mind that contributing to the project +# translations is possible ONLY via the Transifex online service. +# +# To submit your translations, visit https://www.transifex.com/ckeditor/ckeditor5. +# +# To learn more, check out the official contributor's guide: +# https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/contributing.html +# +msgid "" +msgstr "" +"Language-Team: Danish (https://app.transifex.com/ckeditor/teams/11143/da/)\n" +"Language: da\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Content-Type: text/plain; charset=UTF-8\n" + +msgctxt "A label of the button that allows inserting a new code block into the editor content." +msgid "Insert code block" +msgstr "Indsæt kodeblok" + +msgctxt "A language of the code block in the editor content when no specific programming language is associated with it." +msgid "Plain text" +msgstr "Plain tekst" + +msgctxt "The accessible label of the menu bar button that inserts a code block into editor content." +msgid "Code block" +msgstr "Kodeblok" diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/de-ch.po b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/de-ch.po new file mode 100644 index 0000000..ff90faa --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/de-ch.po @@ -0,0 +1,30 @@ +# Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. +# +# !!! IMPORTANT !!! +# +# Before you edit this file, please keep in mind that contributing to the project +# translations is possible ONLY via the Transifex online service. +# +# To submit your translations, visit https://www.transifex.com/ckeditor/ckeditor5. +# +# To learn more, check out the official contributor's guide: +# https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/contributing.html +# +msgid "" +msgstr "" +"Language-Team: German (Switzerland) (https://app.transifex.com/ckeditor/teams/11143/de_CH/)\n" +"Language: de_CH\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Content-Type: text/plain; charset=UTF-8\n" + +msgctxt "A label of the button that allows inserting a new code block into the editor content." +msgid "Insert code block" +msgstr "Code-Block einfügen" + +msgctxt "A language of the code block in the editor content when no specific programming language is associated with it." +msgid "Plain text" +msgstr "Nur Text" + +msgctxt "The accessible label of the menu bar button that inserts a code block into editor content." +msgid "Code block" +msgstr "" diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/de.po b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/de.po new file mode 100644 index 0000000..839e304 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/de.po @@ -0,0 +1,30 @@ +# Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. +# +# !!! IMPORTANT !!! +# +# Before you edit this file, please keep in mind that contributing to the project +# translations is possible ONLY via the Transifex online service. +# +# To submit your translations, visit https://www.transifex.com/ckeditor/ckeditor5. +# +# To learn more, check out the official contributor's guide: +# https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/contributing.html +# +msgid "" +msgstr "" +"Language-Team: German (https://app.transifex.com/ckeditor/teams/11143/de/)\n" +"Language: de\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Content-Type: text/plain; charset=UTF-8\n" + +msgctxt "A label of the button that allows inserting a new code block into the editor content." +msgid "Insert code block" +msgstr "Code-Block einfügen" + +msgctxt "A language of the code block in the editor content when no specific programming language is associated with it." +msgid "Plain text" +msgstr "Nur Text" + +msgctxt "The accessible label of the menu bar button that inserts a code block into editor content." +msgid "Code block" +msgstr "Codeblock" diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/el.po b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/el.po new file mode 100644 index 0000000..70c16c7 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/el.po @@ -0,0 +1,30 @@ +# Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. +# +# !!! IMPORTANT !!! +# +# Before you edit this file, please keep in mind that contributing to the project +# translations is possible ONLY via the Transifex online service. +# +# To submit your translations, visit https://www.transifex.com/ckeditor/ckeditor5. +# +# To learn more, check out the official contributor's guide: +# https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/contributing.html +# +msgid "" +msgstr "" +"Language-Team: Greek (https://app.transifex.com/ckeditor/teams/11143/el/)\n" +"Language: el\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Content-Type: text/plain; charset=UTF-8\n" + +msgctxt "A label of the button that allows inserting a new code block into the editor content." +msgid "Insert code block" +msgstr "Εισαγωγή τμήματος κώδικα" + +msgctxt "A language of the code block in the editor content when no specific programming language is associated with it." +msgid "Plain text" +msgstr "Απλό κέιμενο" + +msgctxt "The accessible label of the menu bar button that inserts a code block into editor content." +msgid "Code block" +msgstr "Μπλοκ κώδικα" diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/en-au.po b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/en-au.po new file mode 100644 index 0000000..fccac62 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/en-au.po @@ -0,0 +1,30 @@ +# Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. +# +# !!! IMPORTANT !!! +# +# Before you edit this file, please keep in mind that contributing to the project +# translations is possible ONLY via the Transifex online service. +# +# To submit your translations, visit https://www.transifex.com/ckeditor/ckeditor5. +# +# To learn more, check out the official contributor's guide: +# https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/contributing.html +# +msgid "" +msgstr "" +"Language-Team: English (Australia) (https://app.transifex.com/ckeditor/teams/11143/en_AU/)\n" +"Language: en_AU\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Content-Type: text/plain; charset=UTF-8\n" + +msgctxt "A label of the button that allows inserting a new code block into the editor content." +msgid "Insert code block" +msgstr "Insert code block" + +msgctxt "A language of the code block in the editor content when no specific programming language is associated with it." +msgid "Plain text" +msgstr "Plain text" + +msgctxt "The accessible label of the menu bar button that inserts a code block into editor content." +msgid "Code block" +msgstr "" diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/en.po b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/en.po new file mode 100644 index 0000000..3904066 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/en.po @@ -0,0 +1,30 @@ +# Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. +# +# !!! IMPORTANT !!! +# +# Before you edit this file, please keep in mind that contributing to the project +# translations is possible ONLY via the Transifex online service. +# +# To submit your translations, visit https://www.transifex.com/ckeditor/ckeditor5. +# +# To learn more, check out the official contributor's guide: +# https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/contributing.html +# +msgid "" +msgstr "" +"Language: \n" +"Language-Team: \n" +"Plural-Forms: \n" +"Content-Type: text/plain; charset=UTF-8\n" + +msgctxt "A label of the button that allows inserting a new code block into the editor content." +msgid "Insert code block" +msgstr "Insert code block" + +msgctxt "A language of the code block in the editor content when no specific programming language is associated with it." +msgid "Plain text" +msgstr "Plain text" + +msgctxt "The accessible label of the menu bar button that inserts a code block into editor content." +msgid "Code block" +msgstr "Code block" diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/es-co.po b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/es-co.po new file mode 100644 index 0000000..2ab1418 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/es-co.po @@ -0,0 +1,30 @@ +# Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. +# +# !!! IMPORTANT !!! +# +# Before you edit this file, please keep in mind that contributing to the project +# translations is possible ONLY via the Transifex online service. +# +# To submit your translations, visit https://www.transifex.com/ckeditor/ckeditor5. +# +# To learn more, check out the official contributor's guide: +# https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/contributing.html +# +msgid "" +msgstr "" +"Language-Team: Spanish (Colombia) (https://app.transifex.com/ckeditor/teams/11143/es_CO/)\n" +"Language: es_CO\n" +"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" +"Content-Type: text/plain; charset=UTF-8\n" + +msgctxt "A label of the button that allows inserting a new code block into the editor content." +msgid "Insert code block" +msgstr "Insertar bloque de código" + +msgctxt "A language of the code block in the editor content when no specific programming language is associated with it." +msgid "Plain text" +msgstr "Texto plano" + +msgctxt "The accessible label of the menu bar button that inserts a code block into editor content." +msgid "Code block" +msgstr "" diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/es.po b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/es.po new file mode 100644 index 0000000..c267aa9 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/es.po @@ -0,0 +1,30 @@ +# Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. +# +# !!! IMPORTANT !!! +# +# Before you edit this file, please keep in mind that contributing to the project +# translations is possible ONLY via the Transifex online service. +# +# To submit your translations, visit https://www.transifex.com/ckeditor/ckeditor5. +# +# To learn more, check out the official contributor's guide: +# https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/contributing.html +# +msgid "" +msgstr "" +"Language-Team: Spanish (https://app.transifex.com/ckeditor/teams/11143/es/)\n" +"Language: es\n" +"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" +"Content-Type: text/plain; charset=UTF-8\n" + +msgctxt "A label of the button that allows inserting a new code block into the editor content." +msgid "Insert code block" +msgstr "Insertar bloque de código" + +msgctxt "A language of the code block in the editor content when no specific programming language is associated with it." +msgid "Plain text" +msgstr "Texto plano" + +msgctxt "The accessible label of the menu bar button that inserts a code block into editor content." +msgid "Code block" +msgstr "Bloque de código" diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/et.po b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/et.po new file mode 100644 index 0000000..86a21a7 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/et.po @@ -0,0 +1,30 @@ +# Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. +# +# !!! IMPORTANT !!! +# +# Before you edit this file, please keep in mind that contributing to the project +# translations is possible ONLY via the Transifex online service. +# +# To submit your translations, visit https://www.transifex.com/ckeditor/ckeditor5. +# +# To learn more, check out the official contributor's guide: +# https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/contributing.html +# +msgid "" +msgstr "" +"Language-Team: Estonian (https://app.transifex.com/ckeditor/teams/11143/et/)\n" +"Language: et\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Content-Type: text/plain; charset=UTF-8\n" + +msgctxt "A label of the button that allows inserting a new code block into the editor content." +msgid "Insert code block" +msgstr "Sisesta koodiplokk" + +msgctxt "A language of the code block in the editor content when no specific programming language is associated with it." +msgid "Plain text" +msgstr "Lihtsalt tekst" + +msgctxt "The accessible label of the menu bar button that inserts a code block into editor content." +msgid "Code block" +msgstr "Koodiplokk" diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/fa.po b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/fa.po new file mode 100644 index 0000000..a5c5002 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/fa.po @@ -0,0 +1,30 @@ +# Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. +# +# !!! IMPORTANT !!! +# +# Before you edit this file, please keep in mind that contributing to the project +# translations is possible ONLY via the Transifex online service. +# +# To submit your translations, visit https://www.transifex.com/ckeditor/ckeditor5. +# +# To learn more, check out the official contributor's guide: +# https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/contributing.html +# +msgid "" +msgstr "" +"Language-Team: Persian (https://app.transifex.com/ckeditor/teams/11143/fa/)\n" +"Language: fa\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"Content-Type: text/plain; charset=UTF-8\n" + +msgctxt "A label of the button that allows inserting a new code block into the editor content." +msgid "Insert code block" +msgstr "درج بلوک کد" + +msgctxt "A language of the code block in the editor content when no specific programming language is associated with it." +msgid "Plain text" +msgstr "متن ساده" + +msgctxt "The accessible label of the menu bar button that inserts a code block into editor content." +msgid "Code block" +msgstr "" diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/fi.po b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/fi.po new file mode 100644 index 0000000..9520827 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/fi.po @@ -0,0 +1,30 @@ +# Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. +# +# !!! IMPORTANT !!! +# +# Before you edit this file, please keep in mind that contributing to the project +# translations is possible ONLY via the Transifex online service. +# +# To submit your translations, visit https://www.transifex.com/ckeditor/ckeditor5. +# +# To learn more, check out the official contributor's guide: +# https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/contributing.html +# +msgid "" +msgstr "" +"Language-Team: Finnish (https://app.transifex.com/ckeditor/teams/11143/fi/)\n" +"Language: fi\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Content-Type: text/plain; charset=UTF-8\n" + +msgctxt "A label of the button that allows inserting a new code block into the editor content." +msgid "Insert code block" +msgstr "Liitä koodilohko" + +msgctxt "A language of the code block in the editor content when no specific programming language is associated with it." +msgid "Plain text" +msgstr "Pelkkä teksti" + +msgctxt "The accessible label of the menu bar button that inserts a code block into editor content." +msgid "Code block" +msgstr "Koodilohko" diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/fr.po b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/fr.po new file mode 100644 index 0000000..b4f64b2 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/fr.po @@ -0,0 +1,30 @@ +# Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. +# +# !!! IMPORTANT !!! +# +# Before you edit this file, please keep in mind that contributing to the project +# translations is possible ONLY via the Transifex online service. +# +# To submit your translations, visit https://www.transifex.com/ckeditor/ckeditor5. +# +# To learn more, check out the official contributor's guide: +# https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/contributing.html +# +msgid "" +msgstr "" +"Language-Team: French (https://app.transifex.com/ckeditor/teams/11143/fr/)\n" +"Language: fr\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" +"Content-Type: text/plain; charset=UTF-8\n" + +msgctxt "A label of the button that allows inserting a new code block into the editor content." +msgid "Insert code block" +msgstr "Insérer un bloc de code" + +msgctxt "A language of the code block in the editor content when no specific programming language is associated with it." +msgid "Plain text" +msgstr "Texte brut" + +msgctxt "The accessible label of the menu bar button that inserts a code block into editor content." +msgid "Code block" +msgstr "Bloc de code" diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/gl.po b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/gl.po new file mode 100644 index 0000000..38165a3 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/gl.po @@ -0,0 +1,30 @@ +# Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. +# +# !!! IMPORTANT !!! +# +# Before you edit this file, please keep in mind that contributing to the project +# translations is possible ONLY via the Transifex online service. +# +# To submit your translations, visit https://www.transifex.com/ckeditor/ckeditor5. +# +# To learn more, check out the official contributor's guide: +# https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/contributing.html +# +msgid "" +msgstr "" +"Language-Team: Galician (https://app.transifex.com/ckeditor/teams/11143/gl/)\n" +"Language: gl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Content-Type: text/plain; charset=UTF-8\n" + +msgctxt "A label of the button that allows inserting a new code block into the editor content." +msgid "Insert code block" +msgstr "Inserir bloque de código" + +msgctxt "A language of the code block in the editor content when no specific programming language is associated with it." +msgid "Plain text" +msgstr "Texto simple" + +msgctxt "The accessible label of the menu bar button that inserts a code block into editor content." +msgid "Code block" +msgstr "" diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/he.po b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/he.po new file mode 100644 index 0000000..dc8b121 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/he.po @@ -0,0 +1,30 @@ +# Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. +# +# !!! IMPORTANT !!! +# +# Before you edit this file, please keep in mind that contributing to the project +# translations is possible ONLY via the Transifex online service. +# +# To submit your translations, visit https://www.transifex.com/ckeditor/ckeditor5. +# +# To learn more, check out the official contributor's guide: +# https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/contributing.html +# +msgid "" +msgstr "" +"Language-Team: Hebrew (https://app.transifex.com/ckeditor/teams/11143/he/)\n" +"Language: he\n" +"Plural-Forms: nplurals=3; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: 2;\n" +"Content-Type: text/plain; charset=UTF-8\n" + +msgctxt "A label of the button that allows inserting a new code block into the editor content." +msgid "Insert code block" +msgstr "הוספת קטע קוד" + +msgctxt "A language of the code block in the editor content when no specific programming language is associated with it." +msgid "Plain text" +msgstr "טקסט פשוט" + +msgctxt "The accessible label of the menu bar button that inserts a code block into editor content." +msgid "Code block" +msgstr "בלוק קוד" diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/hi.po b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/hi.po new file mode 100644 index 0000000..678dc6f --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/hi.po @@ -0,0 +1,30 @@ +# Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. +# +# !!! IMPORTANT !!! +# +# Before you edit this file, please keep in mind that contributing to the project +# translations is possible ONLY via the Transifex online service. +# +# To submit your translations, visit https://www.transifex.com/ckeditor/ckeditor5. +# +# To learn more, check out the official contributor's guide: +# https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/contributing.html +# +msgid "" +msgstr "" +"Language-Team: Hindi (https://app.transifex.com/ckeditor/teams/11143/hi/)\n" +"Language: hi\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Content-Type: text/plain; charset=UTF-8\n" + +msgctxt "A label of the button that allows inserting a new code block into the editor content." +msgid "Insert code block" +msgstr "Insert code block" + +msgctxt "A language of the code block in the editor content when no specific programming language is associated with it." +msgid "Plain text" +msgstr "Plain text" + +msgctxt "The accessible label of the menu bar button that inserts a code block into editor content." +msgid "Code block" +msgstr "कोड ब्लॉक" diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/hr.po b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/hr.po new file mode 100644 index 0000000..dc1d8ca --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/hr.po @@ -0,0 +1,30 @@ +# Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. +# +# !!! IMPORTANT !!! +# +# Before you edit this file, please keep in mind that contributing to the project +# translations is possible ONLY via the Transifex online service. +# +# To submit your translations, visit https://www.transifex.com/ckeditor/ckeditor5. +# +# To learn more, check out the official contributor's guide: +# https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/contributing.html +# +msgid "" +msgstr "" +"Language-Team: Croatian (https://app.transifex.com/ckeditor/teams/11143/hr/)\n" +"Language: hr\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"Content-Type: text/plain; charset=UTF-8\n" + +msgctxt "A label of the button that allows inserting a new code block into the editor content." +msgid "Insert code block" +msgstr "Umetni blok koda" + +msgctxt "A language of the code block in the editor content when no specific programming language is associated with it." +msgid "Plain text" +msgstr "Običan tekst" + +msgctxt "The accessible label of the menu bar button that inserts a code block into editor content." +msgid "Code block" +msgstr "" diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/hu.po b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/hu.po new file mode 100644 index 0000000..60179cb --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/hu.po @@ -0,0 +1,30 @@ +# Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. +# +# !!! IMPORTANT !!! +# +# Before you edit this file, please keep in mind that contributing to the project +# translations is possible ONLY via the Transifex online service. +# +# To submit your translations, visit https://www.transifex.com/ckeditor/ckeditor5. +# +# To learn more, check out the official contributor's guide: +# https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/contributing.html +# +msgid "" +msgstr "" +"Language-Team: Hungarian (https://app.transifex.com/ckeditor/teams/11143/hu/)\n" +"Language: hu\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Content-Type: text/plain; charset=UTF-8\n" + +msgctxt "A label of the button that allows inserting a new code block into the editor content." +msgid "Insert code block" +msgstr "Kód blokk beszúrása" + +msgctxt "A language of the code block in the editor content when no specific programming language is associated with it." +msgid "Plain text" +msgstr "Egyszerű szöveg" + +msgctxt "The accessible label of the menu bar button that inserts a code block into editor content." +msgid "Code block" +msgstr "Kódblokk" diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/id.po b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/id.po new file mode 100644 index 0000000..d12044e --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/id.po @@ -0,0 +1,30 @@ +# Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. +# +# !!! IMPORTANT !!! +# +# Before you edit this file, please keep in mind that contributing to the project +# translations is possible ONLY via the Transifex online service. +# +# To submit your translations, visit https://www.transifex.com/ckeditor/ckeditor5. +# +# To learn more, check out the official contributor's guide: +# https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/contributing.html +# +msgid "" +msgstr "" +"Language-Team: Indonesian (https://app.transifex.com/ckeditor/teams/11143/id/)\n" +"Language: id\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"Content-Type: text/plain; charset=UTF-8\n" + +msgctxt "A label of the button that allows inserting a new code block into the editor content." +msgid "Insert code block" +msgstr "Sisipkan blok kode" + +msgctxt "A language of the code block in the editor content when no specific programming language is associated with it." +msgid "Plain text" +msgstr "Teks mentah" + +msgctxt "The accessible label of the menu bar button that inserts a code block into editor content." +msgid "Code block" +msgstr "Blok kode" diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/it.po b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/it.po new file mode 100644 index 0000000..7a4f5d3 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/it.po @@ -0,0 +1,30 @@ +# Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. +# +# !!! IMPORTANT !!! +# +# Before you edit this file, please keep in mind that contributing to the project +# translations is possible ONLY via the Transifex online service. +# +# To submit your translations, visit https://www.transifex.com/ckeditor/ckeditor5. +# +# To learn more, check out the official contributor's guide: +# https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/contributing.html +# +msgid "" +msgstr "" +"Language-Team: Italian (https://app.transifex.com/ckeditor/teams/11143/it/)\n" +"Language: it\n" +"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" +"Content-Type: text/plain; charset=UTF-8\n" + +msgctxt "A label of the button that allows inserting a new code block into the editor content." +msgid "Insert code block" +msgstr "Inserisci blocco di codice" + +msgctxt "A language of the code block in the editor content when no specific programming language is associated with it." +msgid "Plain text" +msgstr "Testo semplice" + +msgctxt "The accessible label of the menu bar button that inserts a code block into editor content." +msgid "Code block" +msgstr "Blocco di codice" diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/ja.po b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/ja.po new file mode 100644 index 0000000..5e8bf07 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/ja.po @@ -0,0 +1,30 @@ +# Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. +# +# !!! IMPORTANT !!! +# +# Before you edit this file, please keep in mind that contributing to the project +# translations is possible ONLY via the Transifex online service. +# +# To submit your translations, visit https://www.transifex.com/ckeditor/ckeditor5. +# +# To learn more, check out the official contributor's guide: +# https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/contributing.html +# +msgid "" +msgstr "" +"Language-Team: Japanese (https://app.transifex.com/ckeditor/teams/11143/ja/)\n" +"Language: ja\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"Content-Type: text/plain; charset=UTF-8\n" + +msgctxt "A label of the button that allows inserting a new code block into the editor content." +msgid "Insert code block" +msgstr "コードブロックの挿入" + +msgctxt "A language of the code block in the editor content when no specific programming language is associated with it." +msgid "Plain text" +msgstr "プレインテキスト" + +msgctxt "The accessible label of the menu bar button that inserts a code block into editor content." +msgid "Code block" +msgstr "コードブロック" diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/jv.po b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/jv.po new file mode 100644 index 0000000..c4395d5 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/jv.po @@ -0,0 +1,30 @@ +# Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. +# +# !!! IMPORTANT !!! +# +# Before you edit this file, please keep in mind that contributing to the project +# translations is possible ONLY via the Transifex online service. +# +# To submit your translations, visit https://www.transifex.com/ckeditor/ckeditor5. +# +# To learn more, check out the official contributor's guide: +# https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/contributing.html +# +msgid "" +msgstr "" +"Language-Team: Javanese (https://app.transifex.com/ckeditor/teams/11143/jv/)\n" +"Language: jv\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"Content-Type: text/plain; charset=UTF-8\n" + +msgctxt "A label of the button that allows inserting a new code block into the editor content." +msgid "Insert code block" +msgstr "" + +msgctxt "A language of the code block in the editor content when no specific programming language is associated with it." +msgid "Plain text" +msgstr "Seratan biasa" + +msgctxt "The accessible label of the menu bar button that inserts a code block into editor content." +msgid "Code block" +msgstr "" diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/ko.po b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/ko.po new file mode 100644 index 0000000..e86f64e --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/ko.po @@ -0,0 +1,30 @@ +# Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. +# +# !!! IMPORTANT !!! +# +# Before you edit this file, please keep in mind that contributing to the project +# translations is possible ONLY via the Transifex online service. +# +# To submit your translations, visit https://www.transifex.com/ckeditor/ckeditor5. +# +# To learn more, check out the official contributor's guide: +# https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/contributing.html +# +msgid "" +msgstr "" +"Language-Team: Korean (https://app.transifex.com/ckeditor/teams/11143/ko/)\n" +"Language: ko\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"Content-Type: text/plain; charset=UTF-8\n" + +msgctxt "A label of the button that allows inserting a new code block into the editor content." +msgid "Insert code block" +msgstr "코드 블럭 삽입" + +msgctxt "A language of the code block in the editor content when no specific programming language is associated with it." +msgid "Plain text" +msgstr "평문" + +msgctxt "The accessible label of the menu bar button that inserts a code block into editor content." +msgid "Code block" +msgstr "코드 블록" diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/ku.po b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/ku.po new file mode 100644 index 0000000..fa60d78 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/ku.po @@ -0,0 +1,30 @@ +# Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. +# +# !!! IMPORTANT !!! +# +# Before you edit this file, please keep in mind that contributing to the project +# translations is possible ONLY via the Transifex online service. +# +# To submit your translations, visit https://www.transifex.com/ckeditor/ckeditor5. +# +# To learn more, check out the official contributor's guide: +# https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/contributing.html +# +msgid "" +msgstr "" +"Language-Team: Kurdish (https://app.transifex.com/ckeditor/teams/11143/ku/)\n" +"Language: ku\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Content-Type: text/plain; charset=UTF-8\n" + +msgctxt "A label of the button that allows inserting a new code block into the editor content." +msgid "Insert code block" +msgstr "دانانی خشتەی کۆد" + +msgctxt "A language of the code block in the editor content when no specific programming language is associated with it." +msgid "Plain text" +msgstr "تێکستی سادە" + +msgctxt "The accessible label of the menu bar button that inserts a code block into editor content." +msgid "Code block" +msgstr "" diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/lt.po b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/lt.po new file mode 100644 index 0000000..9c45c46 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/lt.po @@ -0,0 +1,30 @@ +# Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. +# +# !!! IMPORTANT !!! +# +# Before you edit this file, please keep in mind that contributing to the project +# translations is possible ONLY via the Transifex online service. +# +# To submit your translations, visit https://www.transifex.com/ckeditor/ckeditor5. +# +# To learn more, check out the official contributor's guide: +# https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/contributing.html +# +msgid "" +msgstr "" +"Language-Team: Lithuanian (https://app.transifex.com/ckeditor/teams/11143/lt/)\n" +"Language: lt\n" +"Plural-Forms: nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);\n" +"Content-Type: text/plain; charset=UTF-8\n" + +msgctxt "A label of the button that allows inserting a new code block into the editor content." +msgid "Insert code block" +msgstr "Įterpti codų bloką" + +msgctxt "A language of the code block in the editor content when no specific programming language is associated with it." +msgid "Plain text" +msgstr "Paprastasis tekstas" + +msgctxt "The accessible label of the menu bar button that inserts a code block into editor content." +msgid "Code block" +msgstr "Kodų blokas" diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/lv.po b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/lv.po new file mode 100644 index 0000000..9db902d --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/lv.po @@ -0,0 +1,30 @@ +# Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. +# +# !!! IMPORTANT !!! +# +# Before you edit this file, please keep in mind that contributing to the project +# translations is possible ONLY via the Transifex online service. +# +# To submit your translations, visit https://www.transifex.com/ckeditor/ckeditor5. +# +# To learn more, check out the official contributor's guide: +# https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/contributing.html +# +msgid "" +msgstr "" +"Language-Team: Latvian (https://app.transifex.com/ckeditor/teams/11143/lv/)\n" +"Language: lv\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\n" +"Content-Type: text/plain; charset=UTF-8\n" + +msgctxt "A label of the button that allows inserting a new code block into the editor content." +msgid "Insert code block" +msgstr "Ievietot koda bloku" + +msgctxt "A language of the code block in the editor content when no specific programming language is associated with it." +msgid "Plain text" +msgstr "Vienkāršs teksts" + +msgctxt "The accessible label of the menu bar button that inserts a code block into editor content." +msgid "Code block" +msgstr "Koda bloks" diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/ms.po b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/ms.po new file mode 100644 index 0000000..e997f49 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/ms.po @@ -0,0 +1,30 @@ +# Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. +# +# !!! IMPORTANT !!! +# +# Before you edit this file, please keep in mind that contributing to the project +# translations is possible ONLY via the Transifex online service. +# +# To submit your translations, visit https://www.transifex.com/ckeditor/ckeditor5. +# +# To learn more, check out the official contributor's guide: +# https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/contributing.html +# +msgid "" +msgstr "" +"Language-Team: Malay (https://app.transifex.com/ckeditor/teams/11143/ms/)\n" +"Language: ms\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"Content-Type: text/plain; charset=UTF-8\n" + +msgctxt "A label of the button that allows inserting a new code block into the editor content." +msgid "Insert code block" +msgstr "Masukkan blok kod" + +msgctxt "A language of the code block in the editor content when no specific programming language is associated with it." +msgid "Plain text" +msgstr "Teks kosong" + +msgctxt "The accessible label of the menu bar button that inserts a code block into editor content." +msgid "Code block" +msgstr "Sekatan kod" diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/nl.po b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/nl.po new file mode 100644 index 0000000..874aa7e --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/nl.po @@ -0,0 +1,30 @@ +# Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. +# +# !!! IMPORTANT !!! +# +# Before you edit this file, please keep in mind that contributing to the project +# translations is possible ONLY via the Transifex online service. +# +# To submit your translations, visit https://www.transifex.com/ckeditor/ckeditor5. +# +# To learn more, check out the official contributor's guide: +# https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/contributing.html +# +msgid "" +msgstr "" +"Language-Team: Dutch (https://app.transifex.com/ckeditor/teams/11143/nl/)\n" +"Language: nl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Content-Type: text/plain; charset=UTF-8\n" + +msgctxt "A label of the button that allows inserting a new code block into the editor content." +msgid "Insert code block" +msgstr "Codeblok invoegen" + +msgctxt "A language of the code block in the editor content when no specific programming language is associated with it." +msgid "Plain text" +msgstr "Platte tekst" + +msgctxt "The accessible label of the menu bar button that inserts a code block into editor content." +msgid "Code block" +msgstr "Codeblok" diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/no.po b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/no.po new file mode 100644 index 0000000..1976a2f --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/no.po @@ -0,0 +1,30 @@ +# Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. +# +# !!! IMPORTANT !!! +# +# Before you edit this file, please keep in mind that contributing to the project +# translations is possible ONLY via the Transifex online service. +# +# To submit your translations, visit https://www.transifex.com/ckeditor/ckeditor5. +# +# To learn more, check out the official contributor's guide: +# https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/contributing.html +# +msgid "" +msgstr "" +"Language-Team: Norwegian (https://app.transifex.com/ckeditor/teams/11143/no/)\n" +"Language: no\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Content-Type: text/plain; charset=UTF-8\n" + +msgctxt "A label of the button that allows inserting a new code block into the editor content." +msgid "Insert code block" +msgstr "Sett inn kodeblokk" + +msgctxt "A language of the code block in the editor content when no specific programming language is associated with it." +msgid "Plain text" +msgstr "Ren tekst" + +msgctxt "The accessible label of the menu bar button that inserts a code block into editor content." +msgid "Code block" +msgstr "Kodeblokk" diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/pl.po b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/pl.po new file mode 100644 index 0000000..7ff0d83 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/pl.po @@ -0,0 +1,30 @@ +# Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. +# +# !!! IMPORTANT !!! +# +# Before you edit this file, please keep in mind that contributing to the project +# translations is possible ONLY via the Transifex online service. +# +# To submit your translations, visit https://www.transifex.com/ckeditor/ckeditor5. +# +# To learn more, check out the official contributor's guide: +# https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/contributing.html +# +msgid "" +msgstr "" +"Language-Team: Polish (https://app.transifex.com/ckeditor/teams/11143/pl/)\n" +"Language: pl\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" +"Content-Type: text/plain; charset=UTF-8\n" + +msgctxt "A label of the button that allows inserting a new code block into the editor content." +msgid "Insert code block" +msgstr "Wstaw blok kodu" + +msgctxt "A language of the code block in the editor content when no specific programming language is associated with it." +msgid "Plain text" +msgstr "Zwykły tekst" + +msgctxt "The accessible label of the menu bar button that inserts a code block into editor content." +msgid "Code block" +msgstr "Blok kodu" diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/pt-br.po b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/pt-br.po new file mode 100644 index 0000000..619e13b --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/pt-br.po @@ -0,0 +1,30 @@ +# Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. +# +# !!! IMPORTANT !!! +# +# Before you edit this file, please keep in mind that contributing to the project +# translations is possible ONLY via the Transifex online service. +# +# To submit your translations, visit https://www.transifex.com/ckeditor/ckeditor5. +# +# To learn more, check out the official contributor's guide: +# https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/contributing.html +# +msgid "" +msgstr "" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/ckeditor/teams/11143/pt_BR/)\n" +"Language: pt_BR\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" +"Content-Type: text/plain; charset=UTF-8\n" + +msgctxt "A label of the button that allows inserting a new code block into the editor content." +msgid "Insert code block" +msgstr "Inserir bloco de código" + +msgctxt "A language of the code block in the editor content when no specific programming language is associated with it." +msgid "Plain text" +msgstr "Texto sem formatação" + +msgctxt "The accessible label of the menu bar button that inserts a code block into editor content." +msgid "Code block" +msgstr "Bloco de código" diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/pt.po b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/pt.po new file mode 100644 index 0000000..622eaab --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/pt.po @@ -0,0 +1,30 @@ +# Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. +# +# !!! IMPORTANT !!! +# +# Before you edit this file, please keep in mind that contributing to the project +# translations is possible ONLY via the Transifex online service. +# +# To submit your translations, visit https://www.transifex.com/ckeditor/ckeditor5. +# +# To learn more, check out the official contributor's guide: +# https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/contributing.html +# +msgid "" +msgstr "" +"Language-Team: Portuguese (https://app.transifex.com/ckeditor/teams/11143/pt/)\n" +"Language: pt\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" +"Content-Type: text/plain; charset=UTF-8\n" + +msgctxt "A label of the button that allows inserting a new code block into the editor content." +msgid "Insert code block" +msgstr "Inserir bloco de citação" + +msgctxt "A language of the code block in the editor content when no specific programming language is associated with it." +msgid "Plain text" +msgstr "Texto simples" + +msgctxt "The accessible label of the menu bar button that inserts a code block into editor content." +msgid "Code block" +msgstr "Bloco de código" diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/ro.po b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/ro.po new file mode 100644 index 0000000..9fcdcad --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/ro.po @@ -0,0 +1,30 @@ +# Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. +# +# !!! IMPORTANT !!! +# +# Before you edit this file, please keep in mind that contributing to the project +# translations is possible ONLY via the Transifex online service. +# +# To submit your translations, visit https://www.transifex.com/ckeditor/ckeditor5. +# +# To learn more, check out the official contributor's guide: +# https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/contributing.html +# +msgid "" +msgstr "" +"Language-Team: Romanian (https://app.transifex.com/ckeditor/teams/11143/ro/)\n" +"Language: ro\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" +"Content-Type: text/plain; charset=UTF-8\n" + +msgctxt "A label of the button that allows inserting a new code block into the editor content." +msgid "Insert code block" +msgstr "Inserează un bloc code" + +msgctxt "A language of the code block in the editor content when no specific programming language is associated with it." +msgid "Plain text" +msgstr "Text simplu" + +msgctxt "The accessible label of the menu bar button that inserts a code block into editor content." +msgid "Code block" +msgstr "Bloc de cod" diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/ru.po b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/ru.po new file mode 100644 index 0000000..da2e8f6 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/ru.po @@ -0,0 +1,30 @@ +# Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. +# +# !!! IMPORTANT !!! +# +# Before you edit this file, please keep in mind that contributing to the project +# translations is possible ONLY via the Transifex online service. +# +# To submit your translations, visit https://www.transifex.com/ckeditor/ckeditor5. +# +# To learn more, check out the official contributor's guide: +# https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/contributing.html +# +msgid "" +msgstr "" +"Language-Team: Russian (https://app.transifex.com/ckeditor/teams/11143/ru/)\n" +"Language: ru\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" +"Content-Type: text/plain; charset=UTF-8\n" + +msgctxt "A label of the button that allows inserting a new code block into the editor content." +msgid "Insert code block" +msgstr "Вставить код" + +msgctxt "A language of the code block in the editor content when no specific programming language is associated with it." +msgid "Plain text" +msgstr "Простой текст" + +msgctxt "The accessible label of the menu bar button that inserts a code block into editor content." +msgid "Code block" +msgstr "Блок кодов" diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/sk.po b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/sk.po new file mode 100644 index 0000000..96a7165 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/sk.po @@ -0,0 +1,30 @@ +# Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. +# +# !!! IMPORTANT !!! +# +# Before you edit this file, please keep in mind that contributing to the project +# translations is possible ONLY via the Transifex online service. +# +# To submit your translations, visit https://www.transifex.com/ckeditor/ckeditor5. +# +# To learn more, check out the official contributor's guide: +# https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/contributing.html +# +msgid "" +msgstr "" +"Language-Team: Slovak (https://app.transifex.com/ckeditor/teams/11143/sk/)\n" +"Language: sk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);\n" +"Content-Type: text/plain; charset=UTF-8\n" + +msgctxt "A label of the button that allows inserting a new code block into the editor content." +msgid "Insert code block" +msgstr "Vložte blok kódu" + +msgctxt "A language of the code block in the editor content when no specific programming language is associated with it." +msgid "Plain text" +msgstr "Čistý text" + +msgctxt "The accessible label of the menu bar button that inserts a code block into editor content." +msgid "Code block" +msgstr "Blok kódu" diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/sq.po b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/sq.po new file mode 100644 index 0000000..c598f2b --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/sq.po @@ -0,0 +1,30 @@ +# Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. +# +# !!! IMPORTANT !!! +# +# Before you edit this file, please keep in mind that contributing to the project +# translations is possible ONLY via the Transifex online service. +# +# To submit your translations, visit https://www.transifex.com/ckeditor/ckeditor5. +# +# To learn more, check out the official contributor's guide: +# https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/contributing.html +# +msgid "" +msgstr "" +"Language-Team: Albanian (https://app.transifex.com/ckeditor/teams/11143/sq/)\n" +"Language: sq\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Content-Type: text/plain; charset=UTF-8\n" + +msgctxt "A label of the button that allows inserting a new code block into the editor content." +msgid "Insert code block" +msgstr "Shto bllokun e kodit" + +msgctxt "A language of the code block in the editor content when no specific programming language is associated with it." +msgid "Plain text" +msgstr "Teksti i thjeshtë" + +msgctxt "The accessible label of the menu bar button that inserts a code block into editor content." +msgid "Code block" +msgstr "" diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/sr-latn.po b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/sr-latn.po new file mode 100644 index 0000000..1669ade --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/sr-latn.po @@ -0,0 +1,30 @@ +# Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. +# +# !!! IMPORTANT !!! +# +# Before you edit this file, please keep in mind that contributing to the project +# translations is possible ONLY via the Transifex online service. +# +# To submit your translations, visit https://www.transifex.com/ckeditor/ckeditor5. +# +# To learn more, check out the official contributor's guide: +# https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/contributing.html +# +msgid "" +msgstr "" +"Language-Team: Serbian (Latin) (https://app.transifex.com/ckeditor/teams/11143/sr@latin/)\n" +"Language: sr@latin\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Content-Type: text/plain; charset=UTF-8\n" + +msgctxt "A label of the button that allows inserting a new code block into the editor content." +msgid "Insert code block" +msgstr "Dodaj blok koda" + +msgctxt "A language of the code block in the editor content when no specific programming language is associated with it." +msgid "Plain text" +msgstr "Običan tekst" + +msgctxt "The accessible label of the menu bar button that inserts a code block into editor content." +msgid "Code block" +msgstr "" diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/sr.po b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/sr.po new file mode 100644 index 0000000..d33d570 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/sr.po @@ -0,0 +1,30 @@ +# Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. +# +# !!! IMPORTANT !!! +# +# Before you edit this file, please keep in mind that contributing to the project +# translations is possible ONLY via the Transifex online service. +# +# To submit your translations, visit https://www.transifex.com/ckeditor/ckeditor5. +# +# To learn more, check out the official contributor's guide: +# https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/contributing.html +# +msgid "" +msgstr "" +"Language-Team: Serbian (https://app.transifex.com/ckeditor/teams/11143/sr/)\n" +"Language: sr\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Content-Type: text/plain; charset=UTF-8\n" + +msgctxt "A label of the button that allows inserting a new code block into the editor content." +msgid "Insert code block" +msgstr "Додај блок кода" + +msgctxt "A language of the code block in the editor content when no specific programming language is associated with it." +msgid "Plain text" +msgstr "Обичан текст" + +msgctxt "The accessible label of the menu bar button that inserts a code block into editor content." +msgid "Code block" +msgstr "Blok koda" diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/sv.po b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/sv.po new file mode 100644 index 0000000..d1d8dad --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/sv.po @@ -0,0 +1,30 @@ +# Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. +# +# !!! IMPORTANT !!! +# +# Before you edit this file, please keep in mind that contributing to the project +# translations is possible ONLY via the Transifex online service. +# +# To submit your translations, visit https://www.transifex.com/ckeditor/ckeditor5. +# +# To learn more, check out the official contributor's guide: +# https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/contributing.html +# +msgid "" +msgstr "" +"Language-Team: Swedish (https://app.transifex.com/ckeditor/teams/11143/sv/)\n" +"Language: sv\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Content-Type: text/plain; charset=UTF-8\n" + +msgctxt "A label of the button that allows inserting a new code block into the editor content." +msgid "Insert code block" +msgstr "Infoga kodblock" + +msgctxt "A language of the code block in the editor content when no specific programming language is associated with it." +msgid "Plain text" +msgstr "Vanlig text" + +msgctxt "The accessible label of the menu bar button that inserts a code block into editor content." +msgid "Code block" +msgstr "Kodblock" diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/th.po b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/th.po new file mode 100644 index 0000000..5250be0 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/th.po @@ -0,0 +1,30 @@ +# Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. +# +# !!! IMPORTANT !!! +# +# Before you edit this file, please keep in mind that contributing to the project +# translations is possible ONLY via the Transifex online service. +# +# To submit your translations, visit https://www.transifex.com/ckeditor/ckeditor5. +# +# To learn more, check out the official contributor's guide: +# https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/contributing.html +# +msgid "" +msgstr "" +"Language-Team: Thai (https://app.transifex.com/ckeditor/teams/11143/th/)\n" +"Language: th\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"Content-Type: text/plain; charset=UTF-8\n" + +msgctxt "A label of the button that allows inserting a new code block into the editor content." +msgid "Insert code block" +msgstr "เพิ่มโค้ดบล็อก" + +msgctxt "A language of the code block in the editor content when no specific programming language is associated with it." +msgid "Plain text" +msgstr "ข้อความธรรมดา" + +msgctxt "The accessible label of the menu bar button that inserts a code block into editor content." +msgid "Code block" +msgstr "บล็อกรหัส" diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/tk.po b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/tk.po new file mode 100644 index 0000000..fd3c88c --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/tk.po @@ -0,0 +1,30 @@ +# Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. +# +# !!! IMPORTANT !!! +# +# Before you edit this file, please keep in mind that contributing to the project +# translations is possible ONLY via the Transifex online service. +# +# To submit your translations, visit https://www.transifex.com/ckeditor/ckeditor5. +# +# To learn more, check out the official contributor's guide: +# https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/contributing.html +# +msgid "" +msgstr "" +"Language-Team: Turkmen (https://app.transifex.com/ckeditor/teams/11143/tk/)\n" +"Language: tk\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Content-Type: text/plain; charset=UTF-8\n" + +msgctxt "A label of the button that allows inserting a new code block into the editor content." +msgid "Insert code block" +msgstr "Kod blogyna goýuň" + +msgctxt "A language of the code block in the editor content when no specific programming language is associated with it." +msgid "Plain text" +msgstr "Düz tekst" + +msgctxt "The accessible label of the menu bar button that inserts a code block into editor content." +msgid "Code block" +msgstr "" diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/tr.po b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/tr.po new file mode 100644 index 0000000..a9bd729 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/tr.po @@ -0,0 +1,30 @@ +# Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. +# +# !!! IMPORTANT !!! +# +# Before you edit this file, please keep in mind that contributing to the project +# translations is possible ONLY via the Transifex online service. +# +# To submit your translations, visit https://www.transifex.com/ckeditor/ckeditor5. +# +# To learn more, check out the official contributor's guide: +# https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/contributing.html +# +msgid "" +msgstr "" +"Language-Team: Turkish (https://app.transifex.com/ckeditor/teams/11143/tr/)\n" +"Language: tr\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"Content-Type: text/plain; charset=UTF-8\n" + +msgctxt "A label of the button that allows inserting a new code block into the editor content." +msgid "Insert code block" +msgstr "Kod bloğu ekle" + +msgctxt "A language of the code block in the editor content when no specific programming language is associated with it." +msgid "Plain text" +msgstr "Düz metin" + +msgctxt "The accessible label of the menu bar button that inserts a code block into editor content." +msgid "Code block" +msgstr "Kod bloku" diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/ug.po b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/ug.po new file mode 100644 index 0000000..c953366 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/ug.po @@ -0,0 +1,30 @@ +# Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. +# +# !!! IMPORTANT !!! +# +# Before you edit this file, please keep in mind that contributing to the project +# translations is possible ONLY via the Transifex online service. +# +# To submit your translations, visit https://www.transifex.com/ckeditor/ckeditor5. +# +# To learn more, check out the official contributor's guide: +# https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/contributing.html +# +msgid "" +msgstr "" +"Language-Team: Uyghur (https://app.transifex.com/ckeditor/teams/11143/ug/)\n" +"Language: ug\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Content-Type: text/plain; charset=UTF-8\n" + +msgctxt "A label of the button that allows inserting a new code block into the editor content." +msgid "Insert code block" +msgstr "كود بۆلىكى قىستۇر" + +msgctxt "A language of the code block in the editor content when no specific programming language is associated with it." +msgid "Plain text" +msgstr "ساپ تېكىست" + +msgctxt "The accessible label of the menu bar button that inserts a code block into editor content." +msgid "Code block" +msgstr "" diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/uk.po b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/uk.po new file mode 100644 index 0000000..b5fd81a --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/uk.po @@ -0,0 +1,30 @@ +# Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. +# +# !!! IMPORTANT !!! +# +# Before you edit this file, please keep in mind that contributing to the project +# translations is possible ONLY via the Transifex online service. +# +# To submit your translations, visit https://www.transifex.com/ckeditor/ckeditor5. +# +# To learn more, check out the official contributor's guide: +# https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/contributing.html +# +msgid "" +msgstr "" +"Language-Team: Ukrainian (https://app.transifex.com/ckeditor/teams/11143/uk/)\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" +"Content-Type: text/plain; charset=UTF-8\n" + +msgctxt "A label of the button that allows inserting a new code block into the editor content." +msgid "Insert code block" +msgstr "Вставте блок коду" + +msgctxt "A language of the code block in the editor content when no specific programming language is associated with it." +msgid "Plain text" +msgstr "Простий текст" + +msgctxt "The accessible label of the menu bar button that inserts a code block into editor content." +msgid "Code block" +msgstr "Блок коду" diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/ur.po b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/ur.po new file mode 100644 index 0000000..e1c6102 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/ur.po @@ -0,0 +1,30 @@ +# Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. +# +# !!! IMPORTANT !!! +# +# Before you edit this file, please keep in mind that contributing to the project +# translations is possible ONLY via the Transifex online service. +# +# To submit your translations, visit https://www.transifex.com/ckeditor/ckeditor5. +# +# To learn more, check out the official contributor's guide: +# https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/contributing.html +# +msgid "" +msgstr "" +"Language-Team: Urdu (https://app.transifex.com/ckeditor/teams/11143/ur/)\n" +"Language: ur\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Content-Type: text/plain; charset=UTF-8\n" + +msgctxt "A label of the button that allows inserting a new code block into the editor content." +msgid "Insert code block" +msgstr "کوڈ خانہ نصب کیرں" + +msgctxt "A language of the code block in the editor content when no specific programming language is associated with it." +msgid "Plain text" +msgstr "سادہ متن" + +msgctxt "The accessible label of the menu bar button that inserts a code block into editor content." +msgid "Code block" +msgstr "" diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/uz.po b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/uz.po new file mode 100644 index 0000000..65667d5 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/uz.po @@ -0,0 +1,30 @@ +# Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. +# +# !!! IMPORTANT !!! +# +# Before you edit this file, please keep in mind that contributing to the project +# translations is possible ONLY via the Transifex online service. +# +# To submit your translations, visit https://www.transifex.com/ckeditor/ckeditor5. +# +# To learn more, check out the official contributor's guide: +# https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/contributing.html +# +msgid "" +msgstr "" +"Language-Team: Uzbek (https://app.transifex.com/ckeditor/teams/11143/uz/)\n" +"Language: uz\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"Content-Type: text/plain; charset=UTF-8\n" + +msgctxt "A label of the button that allows inserting a new code block into the editor content." +msgid "Insert code block" +msgstr "Kodni kiritish" + +msgctxt "A language of the code block in the editor content when no specific programming language is associated with it." +msgid "Plain text" +msgstr "Oddiy matn" + +msgctxt "The accessible label of the menu bar button that inserts a code block into editor content." +msgid "Code block" +msgstr "" diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/vi.po b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/vi.po new file mode 100644 index 0000000..b6a6159 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/vi.po @@ -0,0 +1,30 @@ +# Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. +# +# !!! IMPORTANT !!! +# +# Before you edit this file, please keep in mind that contributing to the project +# translations is possible ONLY via the Transifex online service. +# +# To submit your translations, visit https://www.transifex.com/ckeditor/ckeditor5. +# +# To learn more, check out the official contributor's guide: +# https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/contributing.html +# +msgid "" +msgstr "" +"Language-Team: Vietnamese (https://app.transifex.com/ckeditor/teams/11143/vi/)\n" +"Language: vi\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"Content-Type: text/plain; charset=UTF-8\n" + +msgctxt "A label of the button that allows inserting a new code block into the editor content." +msgid "Insert code block" +msgstr "Chèn khối mã" + +msgctxt "A language of the code block in the editor content when no specific programming language is associated with it." +msgid "Plain text" +msgstr "Văn bản thuần" + +msgctxt "The accessible label of the menu bar button that inserts a code block into editor content." +msgid "Code block" +msgstr "Khối mã" diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/zh-cn.po b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/zh-cn.po new file mode 100644 index 0000000..34429c9 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/zh-cn.po @@ -0,0 +1,30 @@ +# Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. +# +# !!! IMPORTANT !!! +# +# Before you edit this file, please keep in mind that contributing to the project +# translations is possible ONLY via the Transifex online service. +# +# To submit your translations, visit https://www.transifex.com/ckeditor/ckeditor5. +# +# To learn more, check out the official contributor's guide: +# https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/contributing.html +# +msgid "" +msgstr "" +"Language-Team: Chinese (China) (https://app.transifex.com/ckeditor/teams/11143/zh_CN/)\n" +"Language: zh_CN\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"Content-Type: text/plain; charset=UTF-8\n" + +msgctxt "A label of the button that allows inserting a new code block into the editor content." +msgid "Insert code block" +msgstr "插入代码块" + +msgctxt "A language of the code block in the editor content when no specific programming language is associated with it." +msgid "Plain text" +msgstr "纯文本" + +msgctxt "The accessible label of the menu bar button that inserts a code block into editor content." +msgid "Code block" +msgstr "代码块" diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/zh.po b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/zh.po new file mode 100644 index 0000000..be60dae --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/lang/translations/zh.po @@ -0,0 +1,30 @@ +# Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. +# +# !!! IMPORTANT !!! +# +# Before you edit this file, please keep in mind that contributing to the project +# translations is possible ONLY via the Transifex online service. +# +# To submit your translations, visit https://www.transifex.com/ckeditor/ckeditor5. +# +# To learn more, check out the official contributor's guide: +# https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/contributing.html +# +msgid "" +msgstr "" +"Language-Team: Chinese (Taiwan) (https://app.transifex.com/ckeditor/teams/11143/zh_TW/)\n" +"Language: zh_TW\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"Content-Type: text/plain; charset=UTF-8\n" + +msgctxt "A label of the button that allows inserting a new code block into the editor content." +msgid "Insert code block" +msgstr "插入程式碼區塊" + +msgctxt "A language of the code block in the editor content when no specific programming language is associated with it." +msgid "Plain text" +msgstr "純文字" + +msgctxt "The accessible label of the menu bar button that inserts a code block into editor content." +msgid "Code block" +msgstr "程式碼區塊" diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/package.json b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/package.json new file mode 100644 index 0000000..5797452 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/package.json @@ -0,0 +1,37 @@ +{ + "name": "@ckeditor/ckeditor5-code-block", + "version": "41.3.1", + "description": "Code block feature for CKEditor 5.", + "keywords": [ + "ckeditor", + "ckeditor5", + "ckeditor 5", + "ckeditor5-feature", + "ckeditor5-plugin", + "ckeditor5-dll" + ], + "type": "module", + "main": "src/index.js", + "dependencies": { + "ckeditor5": "41.3.1" + }, + "author": "CKSource (http://cksource.com/)", + "license": "GPL-2.0-or-later", + "homepage": "https://ckeditor.com/ckeditor-5", + "bugs": "https://github.com/ckeditor/ckeditor5/issues", + "repository": { + "type": "git", + "url": "https://github.com/ckeditor/ckeditor5.git", + "directory": "packages/ckeditor5-code-block" + }, + "files": [ + "lang", + "src/**/*.js", + "src/**/*.d.ts", + "theme", + "build", + "ckeditor5-metadata.json", + "CHANGELOG.md" + ], + "types": "src/index.d.ts" +} diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/src/augmentation.d.ts b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/src/augmentation.d.ts new file mode 100644 index 0000000..17b9c76 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/src/augmentation.d.ts @@ -0,0 +1,25 @@ +/** + * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ +import type { CodeBlock, CodeBlockCommand, CodeBlockConfig, CodeBlockEditing, CodeBlockUI, IndentCodeBlockCommand, OutdentCodeBlockCommand } from './index.js'; +declare module '@ckeditor/ckeditor5-core' { + interface EditorConfig { + /** + * The configuration of the {@link module:code-block/codeblock~CodeBlock} feature. + * + * Read more in {@link module:code-block/codeblockconfig~CodeBlockConfig}. + */ + codeBlock?: CodeBlockConfig; + } + interface PluginsMap { + [CodeBlock.pluginName]: CodeBlock; + [CodeBlockEditing.pluginName]: CodeBlockEditing; + [CodeBlockUI.pluginName]: CodeBlockUI; + } + interface CommandsMap { + codeBlock: CodeBlockCommand; + indentCodeBlock: IndentCodeBlockCommand; + outdentCodeBlock: OutdentCodeBlockCommand; + } +} diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/src/augmentation.js b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/src/augmentation.js new file mode 100644 index 0000000..4fffd02 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/src/augmentation.js @@ -0,0 +1,5 @@ +/** + * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ +export {}; diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/src/codeblock.d.ts b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/src/codeblock.d.ts new file mode 100644 index 0000000..ec114ae --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/src/codeblock.d.ts @@ -0,0 +1,29 @@ +/** + * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ +/** + * @module code-block/codeblock + */ +import { Plugin } from 'ckeditor5/src/core.js'; +import CodeBlockEditing from './codeblockediting.js'; +import CodeBlockUI from './codeblockui.js'; +/** + * The code block plugin. + * + * For more information about this feature check the {@glink api/code-block package page} and the + * {@glink features/code-blocks code block} feature guide. + * + * This is a "glue" plugin that loads the {@link module:code-block/codeblockediting~CodeBlockEditing code block editing feature} + * and the {@link module:code-block/codeblockui~CodeBlockUI code block UI feature}. + */ +export default class CodeBlock extends Plugin { + /** + * @inheritDoc + */ + static get requires(): readonly [typeof CodeBlockEditing, typeof CodeBlockUI]; + /** + * @inheritDoc + */ + static get pluginName(): "CodeBlock"; +} diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/src/codeblock.js b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/src/codeblock.js new file mode 100644 index 0000000..3ef91c4 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/src/codeblock.js @@ -0,0 +1,33 @@ +/** + * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ +/** + * @module code-block/codeblock + */ +import { Plugin } from 'ckeditor5/src/core.js'; +import CodeBlockEditing from './codeblockediting.js'; +import CodeBlockUI from './codeblockui.js'; +/** + * The code block plugin. + * + * For more information about this feature check the {@glink api/code-block package page} and the + * {@glink features/code-blocks code block} feature guide. + * + * This is a "glue" plugin that loads the {@link module:code-block/codeblockediting~CodeBlockEditing code block editing feature} + * and the {@link module:code-block/codeblockui~CodeBlockUI code block UI feature}. + */ +export default class CodeBlock extends Plugin { + /** + * @inheritDoc + */ + static get requires() { + return [CodeBlockEditing, CodeBlockUI]; + } + /** + * @inheritDoc + */ + static get pluginName() { + return 'CodeBlock'; + } +} diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/src/codeblockcommand.d.ts b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/src/codeblockcommand.d.ts new file mode 100644 index 0000000..ab73bfa --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/src/codeblockcommand.d.ts @@ -0,0 +1,60 @@ +/** + * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ +import { Command, type Editor } from 'ckeditor5/src/core.js'; +/** + * The code block command plugin. + */ +export default class CodeBlockCommand extends Command { + /** + * Contains the last used language. + */ + private _lastLanguage; + /** + * Contains language if any is selected, false otherwise. + * @observable + * @readonly + */ + value: string | false; + /** + * @inheritDoc + */ + constructor(editor: Editor); + /** + * @inheritDoc + */ + refresh(): void; + /** + * Executes the command. When the command {@link #value is on}, all topmost code blocks within + * the selection will be removed. If it is off, all selected blocks will be flattened and + * wrapped by a code block. + * + * @fires execute + * @param options Command options. + * @param options.language The code block language. + * @param options.forceValue If set, it will force the command behavior. If `true`, the command will apply a code block, + * otherwise the command will remove the code block. If not set, the command will act basing on its current value. + * @param options.usePreviousLanguageChoice If set on `true` and the `options.language` is not specified, the command + * will apply the previous language (if the command was already executed) when inserting the `codeBlock` element. + */ + execute(options?: { + language?: string; + forceValue?: boolean; + usePreviousLanguageChoice?: boolean; + }): void; + /** + * Checks the command's {@link #value}. + * + * @returns The current value. + */ + private _getValue; + /** + * Checks whether the command can be enabled in the current context. + * + * @returns Whether the command should be enabled. + */ + private _checkEnabled; + private _applyCodeBlock; + private _removeCodeBlock; +} diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/src/codeblockcommand.js b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/src/codeblockcommand.js new file mode 100644 index 0000000..8c45db3 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/src/codeblockcommand.js @@ -0,0 +1,138 @@ +/** + * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ +import { Command } from 'ckeditor5/src/core.js'; +import { first } from 'ckeditor5/src/utils.js'; +import { getNormalizedAndLocalizedLanguageDefinitions, canBeCodeBlock } from './utils.js'; +/** + * The code block command plugin. + */ +export default class CodeBlockCommand extends Command { + /** + * @inheritDoc + */ + constructor(editor) { + super(editor); + this._lastLanguage = null; + } + /** + * @inheritDoc + */ + refresh() { + this.value = this._getValue(); + this.isEnabled = this._checkEnabled(); + } + /** + * Executes the command. When the command {@link #value is on}, all topmost code blocks within + * the selection will be removed. If it is off, all selected blocks will be flattened and + * wrapped by a code block. + * + * @fires execute + * @param options Command options. + * @param options.language The code block language. + * @param options.forceValue If set, it will force the command behavior. If `true`, the command will apply a code block, + * otherwise the command will remove the code block. If not set, the command will act basing on its current value. + * @param options.usePreviousLanguageChoice If set on `true` and the `options.language` is not specified, the command + * will apply the previous language (if the command was already executed) when inserting the `codeBlock` element. + */ + execute(options = {}) { + const editor = this.editor; + const model = editor.model; + const selection = model.document.selection; + const normalizedLanguagesDefs = getNormalizedAndLocalizedLanguageDefinitions(editor); + const firstLanguageInConfig = normalizedLanguagesDefs[0]; + const blocks = Array.from(selection.getSelectedBlocks()); + const value = options.forceValue == undefined ? !this.value : options.forceValue; + const language = getLanguage(options, this._lastLanguage, firstLanguageInConfig.language); + model.change(writer => { + if (value) { + this._applyCodeBlock(writer, blocks, language); + } + else { + this._removeCodeBlock(writer, blocks); + } + }); + } + /** + * Checks the command's {@link #value}. + * + * @returns The current value. + */ + _getValue() { + const selection = this.editor.model.document.selection; + const firstBlock = first(selection.getSelectedBlocks()); + const isCodeBlock = !!(firstBlock && firstBlock.is('element', 'codeBlock')); + return isCodeBlock ? firstBlock.getAttribute('language') : false; + } + /** + * Checks whether the command can be enabled in the current context. + * + * @returns Whether the command should be enabled. + */ + _checkEnabled() { + if (this.value) { + return true; + } + const selection = this.editor.model.document.selection; + const schema = this.editor.model.schema; + const firstBlock = first(selection.getSelectedBlocks()); + if (!firstBlock) { + return false; + } + return canBeCodeBlock(schema, firstBlock); + } + _applyCodeBlock(writer, blocks, language) { + this._lastLanguage = language; + const schema = this.editor.model.schema; + const allowedBlocks = blocks.filter(block => canBeCodeBlock(schema, block)); + for (const block of allowedBlocks) { + writer.rename(block, 'codeBlock'); + writer.setAttribute('language', language, block); + schema.removeDisallowedAttributes([block], writer); + // Remove children of the `codeBlock` element that are not allowed. See #9567. + Array.from(block.getChildren()) + .filter(child => !schema.checkChild(block, child)) + .forEach(child => writer.remove(child)); + } + allowedBlocks.reverse().forEach((currentBlock, i) => { + const nextBlock = allowedBlocks[i + 1]; + if (currentBlock.previousSibling === nextBlock) { + writer.appendElement('softBreak', nextBlock); + writer.merge(writer.createPositionBefore(currentBlock)); + } + }); + } + _removeCodeBlock(writer, blocks) { + const codeBlocks = blocks.filter(block => block.is('element', 'codeBlock')); + for (const block of codeBlocks) { + const range = writer.createRangeOn(block); + for (const item of Array.from(range.getItems()).reverse()) { + if (item.is('element', 'softBreak') && item.parent.is('element', 'codeBlock')) { + const { position } = writer.split(writer.createPositionBefore(item)); + const elementAfter = position.nodeAfter; + writer.rename(elementAfter, 'paragraph'); + writer.removeAttribute('language', elementAfter); + writer.remove(item); + } + } + writer.rename(block, 'paragraph'); + writer.removeAttribute('language', block); + } + } +} +/** + * Picks the language for the new code block. If any language is passed as an option, + * it will be returned. Else, if option usePreviousLanguageChoice is true and some + * code block was already created (lastLanguage is not null) then previously used + * language will be returned. If not, it will return default language. + */ +function getLanguage(options, lastLanguage, defaultLanguage) { + if (options.language) { + return options.language; + } + if (options.usePreviousLanguageChoice && lastLanguage) { + return lastLanguage; + } + return defaultLanguage; +} diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/src/codeblockconfig.d.ts b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/src/codeblockconfig.d.ts new file mode 100644 index 0000000..3c6baf1 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/src/codeblockconfig.d.ts @@ -0,0 +1,146 @@ +/** + * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ +/** + * @module code-block/codeblockconfig + */ +/** + * The configuration of the {@link module:code-block/codeblock~CodeBlock code block feature}. + * + * ```ts + * ClassicEditor + * .create( editorElement, { + * codeBlock: ... // The code block feature configuration. + * } ) + * .then( ... ) + * .catch( ... ); + * ``` + * + * See {@link module:core/editor/editorconfig~EditorConfig all editor options}. + */ +export interface CodeBlockConfig { + /** + * The list of code languages available in the user interface to choose for a particular code block. + * + * The language of the code block is represented as a CSS class (by default prefixed by "language-") set on the + * `` element, both when editing and in the editor data. The CSS class associated with the language + * can be used by third–party code syntax highlighters to detect and apply the correct highlighting. + * + * For instance, this language configuration: + * + * ```ts + * ClassicEditor + * .create( document.querySelector( '#editor' ), { + * codeBlock: { + * languages: [ + * // ... + * { language: 'javascript', label: 'JavaScript' }, + * // ... + * ] + * } + * } ) + * .then( ... ) + * .catch( ... ); + * ``` + * + * will result in the following structure of JavaScript code blocks in the editor editing and data: + * + * ```html + *
window.alert( 'Hello world!' )
+ * ``` + * + * You can customize the CSS class by specifying an optional `class` property in the language definition. + * You can set **multiple classes** but **only the first one** will be used as defining language class: + * + * ```ts + * ClassicEditor + * .create( document.querySelector( '#editor' ), { + * codeBlock: { + * languages: [ + * // Do not render the CSS class for the plain text code blocks. + * { language: 'plaintext', label: 'Plain text', class: '' }, + * + * // Use the "php-code" class for PHP code blocks. + * { language: 'php', label: 'PHP', class: 'php-code' }, + * + * // Use the "js" class for JavaScript code blocks. + * // Note that only the first ("js") class will determine the language of the block when loading data. + * { language: 'javascript', label: 'JavaScript', class: 'js javascript js-code' }, + * + * // Python code blocks will have the default "language-python" CSS class. + * { language: 'python', label: 'Python' } + * ] + * } + * } ) + * .then( ... ) + * .catch( ... ); + * ``` + * + * The default value of the language configuration is as follows: + * + * ```ts + * languages: [ + * { language: 'plaintext', label: 'Plain text' }, // The default language. + * { language: 'c', label: 'C' }, + * { language: 'cs', label: 'C#' }, + * { language: 'cpp', label: 'C++' }, + * { language: 'css', label: 'CSS' }, + * { language: 'diff', label: 'Diff' }, + * { language: 'html', label: 'HTML' }, + * { language: 'java', label: 'Java' }, + * { language: 'javascript', label: 'JavaScript' }, + * { language: 'php', label: 'PHP' }, + * { language: 'python', label: 'Python' }, + * { language: 'ruby', label: 'Ruby' }, + * { language: 'typescript', label: 'TypeScript' }, + * { language: 'xml', label: 'XML' } + * ] + * ``` + * + * **Note**: The first language defined in the configuration is considered the default one. This means it will be + * applied to code blocks loaded from the data that have no CSS `class` specified (or no matching `class` in the configuration). + * It will also be used when creating new code blocks using the main UI button. By default it is "Plain text". + */ + languages?: Array; + /** + * A sequence of characters inserted or removed from the code block lines when its indentation + * is changed by the user, for instance, using Tab and Shift+Tab keys. + * + * The default value is a single tab character (" ", `\u0009` in Unicode). + * + * This configuration is used by `indentCodeBlock` and `outdentCodeBlock` commands (instances of + * {@link module:code-block/indentcodeblockcommand~IndentCodeBlockCommand}). + * + * **Note**: Setting this configuration to `false` will disable the code block indentation commands + * and associated keystrokes. + * + */ + indentSequence?: string; +} +/** + * The code block language descriptor. See {@link module:code-block/codeblockconfig~CodeBlockConfig#languages} to learn more. + * + * ```ts + * { + * language: 'javascript', + * label: 'JavaScript' + * } + * ``` + */ +export interface CodeBlockLanguageDefinition { + /** + * The name of the language that will be stored in the model attribute. Also, when `class` + * is not specified, it will be used to create the CSS class associated with the language (prefixed by "language-"). + */ + language: string; + /** + * The human–readable label associated with the language and displayed in the UI. + */ + label: string; + /** + * The CSS class associated with the language. When not specified the `language` + * property is used to create a class prefixed by "language-". + */ + class?: string; +} diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/src/codeblockconfig.js b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/src/codeblockconfig.js new file mode 100644 index 0000000..4fffd02 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/src/codeblockconfig.js @@ -0,0 +1,5 @@ +/** + * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ +export {}; diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/src/codeblockediting.d.ts b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/src/codeblockediting.d.ts new file mode 100644 index 0000000..b61ef1a --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/src/codeblockediting.d.ts @@ -0,0 +1,36 @@ +/** + * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ +/** + * @module code-block/codeblockediting + */ +import { Plugin, type Editor } from 'ckeditor5/src/core.js'; +import { ShiftEnter } from 'ckeditor5/src/enter.js'; +/** + * The editing part of the code block feature. + * + * Introduces the `'codeBlock'` command and the `'codeBlock'` model element. + */ +export default class CodeBlockEditing extends Plugin { + /** + * @inheritDoc + */ + static get pluginName(): "CodeBlockEditing"; + /** + * @inheritDoc + */ + static get requires(): readonly [typeof ShiftEnter]; + /** + * @inheritDoc + */ + constructor(editor: Editor); + /** + * @inheritDoc + */ + init(): void; + /** + * @inheritDoc + */ + afterInit(): void; +} diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/src/codeblockediting.js b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/src/codeblockediting.js new file mode 100644 index 0000000..b39ecc3 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/src/codeblockediting.js @@ -0,0 +1,382 @@ +/** + * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ +/** + * @module code-block/codeblockediting + */ +import { Plugin } from 'ckeditor5/src/core.js'; +import { ShiftEnter } from 'ckeditor5/src/enter.js'; +import { UpcastWriter } from 'ckeditor5/src/engine.js'; +import CodeBlockCommand from './codeblockcommand.js'; +import IndentCodeBlockCommand from './indentcodeblockcommand.js'; +import OutdentCodeBlockCommand from './outdentcodeblockcommand.js'; +import { getNormalizedAndLocalizedLanguageDefinitions, getLeadingWhiteSpaces, rawSnippetTextToViewDocumentFragment } from './utils.js'; +import { modelToViewCodeBlockInsertion, modelToDataViewSoftBreakInsertion, dataViewToModelCodeBlockInsertion, dataViewToModelTextNewlinesInsertion, dataViewToModelOrphanNodeConsumer } from './converters.js'; +const DEFAULT_ELEMENT = 'paragraph'; +/** + * The editing part of the code block feature. + * + * Introduces the `'codeBlock'` command and the `'codeBlock'` model element. + */ +export default class CodeBlockEditing extends Plugin { + /** + * @inheritDoc + */ + static get pluginName() { + return 'CodeBlockEditing'; + } + /** + * @inheritDoc + */ + static get requires() { + return [ShiftEnter]; + } + /** + * @inheritDoc + */ + constructor(editor) { + super(editor); + editor.config.define('codeBlock', { + languages: [ + { language: 'plaintext', label: 'Plain text' }, + { language: 'c', label: 'C' }, + { language: 'cs', label: 'C#' }, + { language: 'cpp', label: 'C++' }, + { language: 'css', label: 'CSS' }, + { language: 'diff', label: 'Diff' }, + { language: 'html', label: 'HTML' }, + { language: 'java', label: 'Java' }, + { language: 'javascript', label: 'JavaScript' }, + { language: 'php', label: 'PHP' }, + { language: 'python', label: 'Python' }, + { language: 'ruby', label: 'Ruby' }, + { language: 'typescript', label: 'TypeScript' }, + { language: 'xml', label: 'XML' } + ], + // A single tab. + indentSequence: '\t' + }); + } + /** + * @inheritDoc + */ + init() { + const editor = this.editor; + const schema = editor.model.schema; + const model = editor.model; + const view = editor.editing.view; + const listEditing = editor.plugins.has('ListEditing') ? + editor.plugins.get('ListEditing') : null; + const normalizedLanguagesDefs = getNormalizedAndLocalizedLanguageDefinitions(editor); + // The main command. + editor.commands.add('codeBlock', new CodeBlockCommand(editor)); + // Commands that change the indentation. + editor.commands.add('indentCodeBlock', new IndentCodeBlockCommand(editor)); + editor.commands.add('outdentCodeBlock', new OutdentCodeBlockCommand(editor)); + this.listenTo(view.document, 'tab', (evt, data) => { + const commandName = data.shiftKey ? 'outdentCodeBlock' : 'indentCodeBlock'; + const command = editor.commands.get(commandName); + if (!command.isEnabled) { + return; + } + editor.execute(commandName); + data.stopPropagation(); + data.preventDefault(); + evt.stop(); + }, { context: 'pre' }); + schema.register('codeBlock', { + allowWhere: '$block', + allowChildren: '$text', + isBlock: true, + allowAttributes: ['language'] + }); + // Allow all list* attributes on `codeBlock` (integration with DocumentList). + // Disallow all attributes on $text inside `codeBlock`. + schema.addAttributeCheck((context, attributeName) => { + if (context.endsWith('codeBlock') && + listEditing && listEditing.getListAttributeNames().includes(attributeName)) { + return true; + } + if (context.endsWith('codeBlock $text')) { + return false; + } + }); + // Disallow object elements inside `codeBlock`. See #9567. + editor.model.schema.addChildCheck((context, childDefinition) => { + if (context.endsWith('codeBlock') && childDefinition.isObject) { + return false; + } + }); + // Conversion. + editor.editing.downcastDispatcher.on('insert:codeBlock', modelToViewCodeBlockInsertion(model, normalizedLanguagesDefs, true)); + editor.data.downcastDispatcher.on('insert:codeBlock', modelToViewCodeBlockInsertion(model, normalizedLanguagesDefs)); + editor.data.downcastDispatcher.on('insert:softBreak', modelToDataViewSoftBreakInsertion(model), { priority: 'high' }); + editor.data.upcastDispatcher.on('element:code', dataViewToModelCodeBlockInsertion(view, normalizedLanguagesDefs)); + editor.data.upcastDispatcher.on('text', dataViewToModelTextNewlinesInsertion()); + editor.data.upcastDispatcher.on('element:pre', dataViewToModelOrphanNodeConsumer(), { priority: 'high' }); + // Intercept the clipboard input (paste) when the selection is anchored in the code block and force the clipboard + // data to be pasted as a single plain text. Otherwise, the code lines will split the code block and + // "spill out" as separate paragraphs. + this.listenTo(editor.editing.view.document, 'clipboardInput', (evt, data) => { + let insertionRange = model.createRange(model.document.selection.anchor); + // Use target ranges in case this is a drop. + if (data.targetRanges) { + insertionRange = editor.editing.mapper.toModelRange(data.targetRanges[0]); + } + if (!insertionRange.start.parent.is('element', 'codeBlock')) { + return; + } + const text = data.dataTransfer.getData('text/plain'); + const writer = new UpcastWriter(editor.editing.view.document); + // Pass the view fragment to the default clipboardInput handler. + data.content = rawSnippetTextToViewDocumentFragment(writer, text); + }); + // Make sure multi–line selection is always wrapped in a code block when `getSelectedContent()` + // is used (e.g. clipboard copy). Otherwise, only the raw text will be copied to the clipboard and, + // upon next paste, this bare text will not be inserted as a code block, which is not the best UX. + // Similarly, when the selection in a single line, the selected content should be an inline code + // so it can be pasted later on and retain it's preformatted nature. + this.listenTo(model, 'getSelectedContent', (evt, [selection]) => { + const anchor = selection.anchor; + if (selection.isCollapsed || !anchor.parent.is('element', 'codeBlock') || !anchor.hasSameParentAs(selection.focus)) { + return; + } + model.change(writer => { + const docFragment = evt.return; + // fo[ob]ar -> [ob] + if (anchor.parent.is('element') && + (docFragment.childCount > 1 || selection.containsEntireContent(anchor.parent))) { + const codeBlock = writer.createElement('codeBlock', anchor.parent.getAttributes()); + writer.append(docFragment, codeBlock); + const newDocumentFragment = writer.createDocumentFragment(); + writer.append(codeBlock, newDocumentFragment); + evt.return = newDocumentFragment; + return; + } + // "f[oo]" -> <$text code="true">oo + const textNode = docFragment.getChild(0); + if (schema.checkAttribute(textNode, 'code')) { + writer.setAttribute('code', true, textNode); + } + }); + }); + } + /** + * @inheritDoc + */ + afterInit() { + const editor = this.editor; + const commands = editor.commands; + const indent = commands.get('indent'); + const outdent = commands.get('outdent'); + if (indent) { + // Priority is highest due to integration with `IndentList` command of `List` plugin. + // If selection is in a code block we give priority to it. This way list item cannot be indented + // but if we would give priority to indenting list item then user would have to indent list item + // as much as possible and only then he could indent code block. + indent.registerChildCommand(commands.get('indentCodeBlock'), { priority: 'highest' }); + } + if (outdent) { + outdent.registerChildCommand(commands.get('outdentCodeBlock')); + } + // Customize the response to the Enter and Shift+Enter + // key press when the selection is in the code block. Upon enter key press we can either + // leave the block if it's "two or three enters" in a row or create a new code block line, preserving + // previous line's indentation. + this.listenTo(editor.editing.view.document, 'enter', (evt, data) => { + const positionParent = editor.model.document.selection.getLastPosition().parent; + if (!positionParent.is('element', 'codeBlock')) { + return; + } + if (!leaveBlockStartOnEnter(editor, data.isSoft) && !leaveBlockEndOnEnter(editor, data.isSoft)) { + breakLineOnEnter(editor); + } + data.preventDefault(); + evt.stop(); + }, { context: 'pre' }); + } +} +/** + * Normally, when the Enter (or Shift+Enter) key is pressed, a soft line break is to be added to the + * code block. Let's try to follow the indentation of the previous line when possible, for instance: + * + * ```html + * // Before pressing enter (or shift enter) + * + * " foo()"[] // Indent of 4 spaces. + * + * + * // After pressing: + * + * " foo()" // Indent of 4 spaces. + * // A new soft break created by pressing enter. + * " "[] // Retain the indent of 4 spaces. + * + * ``` + */ +function breakLineOnEnter(editor) { + const model = editor.model; + const modelDoc = model.document; + const lastSelectionPosition = modelDoc.selection.getLastPosition(); + const node = lastSelectionPosition.nodeBefore || lastSelectionPosition.textNode; + let leadingWhiteSpaces; + // Figure out the indentation (white space chars) at the beginning of the line. + if (node && node.is('$text')) { + leadingWhiteSpaces = getLeadingWhiteSpaces(node); + } + // Keeping everything in a change block for a single undo step. + editor.model.change(writer => { + editor.execute('shiftEnter'); + // If the line before being broken in two had some indentation, let's retain it + // in the new line. + if (leadingWhiteSpaces) { + writer.insertText(leadingWhiteSpaces, modelDoc.selection.anchor); + } + }); +} +/** + * Leave the code block when Enter (but NOT Shift+Enter) has been pressed twice at the beginning + * of the code block: + * + * ```html + * // Before: + * []foo + * + * // After pressing: + * []foo + * ``` + * + * @param isSoftEnter When `true`, enter was pressed along with Shift. + * @returns `true` when selection left the block. `false` if stayed. + */ +function leaveBlockStartOnEnter(editor, isSoftEnter) { + const model = editor.model; + const modelDoc = model.document; + const view = editor.editing.view; + const lastSelectionPosition = modelDoc.selection.getLastPosition(); + const nodeAfter = lastSelectionPosition.nodeAfter; + if (isSoftEnter || !modelDoc.selection.isCollapsed || !lastSelectionPosition.isAtStart) { + return false; + } + if (!isSoftBreakNode(nodeAfter)) { + return false; + } + // We're doing everything in a single change block to have a single undo step. + editor.model.change(writer => { + // "Clone" the in the standard way. + editor.execute('enter'); + // The cloned block exists now before the original code block. + const newBlock = modelDoc.selection.anchor.parent.previousSibling; + // Make the cloned a regular (with clean attributes, so no language). + writer.rename(newBlock, DEFAULT_ELEMENT); + writer.setSelection(newBlock, 'in'); + editor.model.schema.removeDisallowedAttributes([newBlock], writer); + // Remove the that originally followed the selection position. + writer.remove(nodeAfter); + }); + // Eye candy. + view.scrollToTheSelection(); + return true; +} +/** + * Leave the code block when Enter (but NOT Shift+Enter) has been pressed twice at the end + * of the code block: + * + * ```html + * // Before: + * foo[] + * + * // After first press: + * foo[] + * + * // After second press: + * foo[] + * ``` + * + * @param isSoftEnter When `true`, enter was pressed along with Shift. + * @returns `true` when selection left the block. `false` if stayed. + */ +function leaveBlockEndOnEnter(editor, isSoftEnter) { + const model = editor.model; + const modelDoc = model.document; + const view = editor.editing.view; + const lastSelectionPosition = modelDoc.selection.getLastPosition(); + const nodeBefore = lastSelectionPosition.nodeBefore; + let emptyLineRangeToRemoveOnEnter; + if (isSoftEnter || !modelDoc.selection.isCollapsed || !lastSelectionPosition.isAtEnd || !nodeBefore || !nodeBefore.previousSibling) { + return false; + } + // When the position is directly preceded by two soft breaks + // + // foo[] + // + // it creates the following range that will be cleaned up before leaving: + // + // foo[] + // + if (isSoftBreakNode(nodeBefore) && isSoftBreakNode(nodeBefore.previousSibling)) { + emptyLineRangeToRemoveOnEnter = model.createRange(model.createPositionBefore(nodeBefore.previousSibling), model.createPositionAfter(nodeBefore)); + } + // When there's some text before the position that is + // preceded by two soft breaks and made purely of white–space characters + // + // foo [] + // + // it creates the following range to clean up before leaving: + // + // foo[ ] + // + else if (isEmptyishTextNode(nodeBefore) && + isSoftBreakNode(nodeBefore.previousSibling) && + isSoftBreakNode(nodeBefore.previousSibling.previousSibling)) { + emptyLineRangeToRemoveOnEnter = model.createRange(model.createPositionBefore(nodeBefore.previousSibling.previousSibling), model.createPositionAfter(nodeBefore)); + } + // When there's some text before the position that is made purely of white–space characters + // and is preceded by some other text made purely of white–space characters + // + // foo [] + // + // it creates the following range to clean up before leaving: + // + // foo[ ] + // + else if (isEmptyishTextNode(nodeBefore) && + isSoftBreakNode(nodeBefore.previousSibling) && + isEmptyishTextNode(nodeBefore.previousSibling.previousSibling) && + nodeBefore.previousSibling.previousSibling && + isSoftBreakNode(nodeBefore.previousSibling.previousSibling.previousSibling)) { + emptyLineRangeToRemoveOnEnter = model.createRange(model.createPositionBefore(nodeBefore.previousSibling.previousSibling.previousSibling), model.createPositionAfter(nodeBefore)); + } + // Not leaving the block in the following cases: + // + // [] + // a [] + // foo[] + // foobar[] + // foo a [] + // + else { + return false; + } + // We're doing everything in a single change block to have a single undo step. + editor.model.change(writer => { + // Remove the last s and all white space characters that followed them. + writer.remove(emptyLineRangeToRemoveOnEnter); + // "Clone" the in the standard way. + editor.execute('enter'); + const newBlock = modelDoc.selection.anchor.parent; + // Make the cloned a regular (with clean attributes, so no language). + writer.rename(newBlock, DEFAULT_ELEMENT); + editor.model.schema.removeDisallowedAttributes([newBlock], writer); + }); + // Eye candy. + view.scrollToTheSelection(); + return true; +} +function isEmptyishTextNode(node) { + return node && node.is('$text') && !node.data.match(/\S/); +} +function isSoftBreakNode(node) { + return node && node.is('element', 'softBreak'); +} diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/src/codeblockui.d.ts b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/src/codeblockui.d.ts new file mode 100644 index 0000000..e204a55 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/src/codeblockui.d.ts @@ -0,0 +1,29 @@ +/** + * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ +/** + * @module code-block/codeblockui + */ +import { Plugin } from 'ckeditor5/src/core.js'; +import '../theme/codeblock.css'; +/** + * The code block UI plugin. + * + * Introduces the `'codeBlock'` dropdown. + */ +export default class CodeBlockUI extends Plugin { + /** + * @inheritDoc + */ + static get pluginName(): "CodeBlockUI"; + /** + * @inheritDoc + */ + init(): void; + /** + * A helper returning a collection of the `codeBlock` dropdown items representing languages + * available for the user to choose from. + */ + private _getLanguageListItemDefinitions; +} diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/src/codeblockui.js b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/src/codeblockui.js new file mode 100644 index 0000000..e1a2b94 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/src/codeblockui.js @@ -0,0 +1,123 @@ +/** + * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ +/** + * @module code-block/codeblockui + */ +import { icons, Plugin } from 'ckeditor5/src/core.js'; +import { Collection } from 'ckeditor5/src/utils.js'; +import { ViewModel, SplitButtonView, createDropdown, addListToDropdown, MenuBarMenuListItemButtonView, MenuBarMenuListView, MenuBarMenuView, MenuBarMenuListItemView } from 'ckeditor5/src/ui.js'; +import { getNormalizedAndLocalizedLanguageDefinitions } from './utils.js'; +import '../theme/codeblock.css'; +/** + * The code block UI plugin. + * + * Introduces the `'codeBlock'` dropdown. + */ +export default class CodeBlockUI extends Plugin { + /** + * @inheritDoc + */ + static get pluginName() { + return 'CodeBlockUI'; + } + /** + * @inheritDoc + */ + init() { + const editor = this.editor; + const t = editor.t; + const componentFactory = editor.ui.componentFactory; + const normalizedLanguageDefs = getNormalizedAndLocalizedLanguageDefinitions(editor); + const itemDefinitions = this._getLanguageListItemDefinitions(normalizedLanguageDefs); + const command = editor.commands.get('codeBlock'); + componentFactory.add('codeBlock', locale => { + const dropdownView = createDropdown(locale, SplitButtonView); + const splitButtonView = dropdownView.buttonView; + const accessibleLabel = t('Insert code block'); + splitButtonView.set({ + label: accessibleLabel, + tooltip: true, + icon: icons.codeBlock, + isToggleable: true + }); + splitButtonView.bind('isOn').to(command, 'value', value => !!value); + splitButtonView.on('execute', () => { + editor.execute('codeBlock', { + usePreviousLanguageChoice: true + }); + editor.editing.view.focus(); + }); + dropdownView.on('execute', evt => { + editor.execute('codeBlock', { + language: evt.source._codeBlockLanguage, + forceValue: true + }); + editor.editing.view.focus(); + }); + dropdownView.class = 'ck-code-block-dropdown'; + dropdownView.bind('isEnabled').to(command); + addListToDropdown(dropdownView, itemDefinitions, { + role: 'menu', + ariaLabel: accessibleLabel + }); + return dropdownView; + }); + componentFactory.add('menuBar:codeBlock', locale => { + const menuView = new MenuBarMenuView(locale); + menuView.buttonView.set({ + label: t('Code block'), + icon: icons.codeBlock + }); + menuView.bind('isEnabled').to(command); + const listView = new MenuBarMenuListView(locale); + listView.set({ + ariaLabel: t('Insert code block') + }); + for (const definition of itemDefinitions) { + const listItemView = new MenuBarMenuListItemView(locale, menuView); + const buttonView = new MenuBarMenuListItemButtonView(locale); + buttonView.bind(...Object.keys(definition.model)).to(definition.model); + buttonView.bind('ariaChecked').to(buttonView, 'isOn'); + buttonView.delegate('execute').to(menuView); + buttonView.on('execute', () => { + editor.execute('codeBlock', { + language: definition.model._codeBlockLanguage, + forceValue: command.value == definition.model._codeBlockLanguage ? false : true + }); + editor.editing.view.focus(); + }); + listItemView.children.add(buttonView); + listView.items.add(listItemView); + } + menuView.panelView.children.add(listView); + return menuView; + }); + } + /** + * A helper returning a collection of the `codeBlock` dropdown items representing languages + * available for the user to choose from. + */ + _getLanguageListItemDefinitions(normalizedLanguageDefs) { + const editor = this.editor; + const command = editor.commands.get('codeBlock'); + const itemDefinitions = new Collection(); + for (const languageDef of normalizedLanguageDefs) { + const definition = { + type: 'button', + model: new ViewModel({ + _codeBlockLanguage: languageDef.language, + label: languageDef.label, + role: 'menuitemradio', + withText: true + }) + }; + definition.model.bind('isOn').to(command, 'value', value => { + return value === definition.model._codeBlockLanguage; + }); + itemDefinitions.add(definition); + } + return itemDefinitions; + } +} diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/src/converters.d.ts b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/src/converters.d.ts new file mode 100644 index 0000000..9e16462 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/src/converters.d.ts @@ -0,0 +1,126 @@ +/** + * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ +/** + * @module code-block/converters + */ +import type { GetCallback } from 'ckeditor5/src/utils.js'; +import type { DowncastInsertEvent, Model, UpcastElementEvent, UpcastTextEvent, EditingView } from 'ckeditor5/src/engine.js'; +import type { CodeBlockLanguageDefinition } from './codeblockconfig.js'; +/** + * A model-to-view (both editing and data) converter for the `codeBlock` element. + * + * Sample input: + * + * ```html + * foo();bar(); + * ``` + * + * Sample output (editing): + * + * ```html + *
foo();
bar();
+ * ``` + * + * Sample output (data, see {@link module:code-block/converters~modelToDataViewSoftBreakInsertion}): + * + * ```html + *
foo();\nbar();
+ * ``` + * + * @param languageDefs The normalized language configuration passed to the feature. + * @param useLabels When `true`, the `
` element will get a `data-language` attribute with a
+ * human–readable label of the language. Used only in the editing.
+ * @returns Returns a conversion callback.
+ */
+export declare function modelToViewCodeBlockInsertion(model: Model, languageDefs: Array, useLabels?: boolean): GetCallback;
+/**
+ * A model-to-data view converter for the new line (`softBreak`) separator.
+ *
+ * Sample input:
+ *
+ * ```html
+ * foo();bar();
+ * ```
+ *
+ * Sample output:
+ *
+ * ```html
+ * 
foo();\nbar();
+ * ``` + * + * @returns Returns a conversion callback. + */ +export declare function modelToDataViewSoftBreakInsertion(model: Model): GetCallback; +/** + * A view-to-model converter for `
` with the `` HTML.
+ *
+ * Sample input:
+ *
+ * ```html
+ * 
foo();bar();
+ * ``` + * + * Sample output: + * + * ```html + * foo();bar(); + * ``` + * + * @param languageDefs The normalized language configuration passed to the feature. + * @returns Returns a conversion callback. + */ +export declare function dataViewToModelCodeBlockInsertion(editingView: EditingView, languageDefs: Array): GetCallback; +/** + * A view-to-model converter for new line characters in `
`.
+ *
+ * Sample input:
+ *
+ * ```html
+ * 
foo();\nbar();
+ * ``` + * + * Sample output: + * + * ```html + * foo();bar(); + * ``` + * + * @returns {Function} Returns a conversion callback. + */ +export declare function dataViewToModelTextNewlinesInsertion(): GetCallback; +/** + * A view-to-model converter that handles orphan text nodes (white spaces, new lines, etc.) + * that surround `` inside `
`.
+ *
+ * Sample input:
+ *
+ * ```html
+ * // White spaces
+ * 
 foo() 
+ * + * // White spaces + *
      foo()      
+ * + * // White spaces + *
			foo()			
+ * + * // New lines + *
+ * 	foo()
+ * 
+ * + * // Redundant text + *
ABCfoo()DEF
+ * ``` + * + * Unified output for each case: + * + * ```html + * foo() + * ``` + * + * @returns Returns a conversion callback. + */ +export declare function dataViewToModelOrphanNodeConsumer(): GetCallback; diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/src/converters.js b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/src/converters.js new file mode 100644 index 0000000..ecf642e --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/src/converters.js @@ -0,0 +1,277 @@ +/** + * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ +import { getPropertyAssociation } from './utils.js'; +/** + * A model-to-view (both editing and data) converter for the `codeBlock` element. + * + * Sample input: + * + * ```html + * foo();bar(); + * ``` + * + * Sample output (editing): + * + * ```html + *
foo();
bar();
+ * ``` + * + * Sample output (data, see {@link module:code-block/converters~modelToDataViewSoftBreakInsertion}): + * + * ```html + *
foo();\nbar();
+ * ``` + * + * @param languageDefs The normalized language configuration passed to the feature. + * @param useLabels When `true`, the `
` element will get a `data-language` attribute with a
+ * human–readable label of the language. Used only in the editing.
+ * @returns Returns a conversion callback.
+ */
+export function modelToViewCodeBlockInsertion(model, languageDefs, useLabels = false) {
+    // Language CSS classes:
+    //
+    //		{
+    //			php: 'language-php',
+    //			python: 'language-python',
+    //			javascript: 'js',
+    //			...
+    //		}
+    const languagesToClasses = getPropertyAssociation(languageDefs, 'language', 'class');
+    // Language labels:
+    //
+    //		{
+    //			php: 'PHP',
+    //			python: 'Python',
+    //			javascript: 'JavaScript',
+    //			...
+    //		}
+    const languagesToLabels = getPropertyAssociation(languageDefs, 'language', 'label');
+    return (evt, data, conversionApi) => {
+        const { writer, mapper, consumable } = conversionApi;
+        if (!consumable.consume(data.item, 'insert')) {
+            return;
+        }
+        const codeBlockLanguage = data.item.getAttribute('language');
+        const targetViewPosition = mapper.toViewPosition(model.createPositionBefore(data.item));
+        const preAttributes = {};
+        // Attributes added only in the editing view.
+        if (useLabels) {
+            preAttributes['data-language'] = languagesToLabels[codeBlockLanguage];
+            preAttributes.spellcheck = 'false';
+        }
+        const codeAttributes = languagesToClasses[codeBlockLanguage] ? {
+            class: languagesToClasses[codeBlockLanguage]
+        } : undefined;
+        const code = writer.createContainerElement('code', codeAttributes);
+        const pre = writer.createContainerElement('pre', preAttributes, code);
+        writer.insert(targetViewPosition, pre);
+        mapper.bindElements(data.item, code);
+    };
+}
+/**
+ * A model-to-data view converter for the new line (`softBreak`) separator.
+ *
+ * Sample input:
+ *
+ * ```html
+ * foo();bar();
+ * ```
+ *
+ * Sample output:
+ *
+ * ```html
+ * 
foo();\nbar();
+ * ``` + * + * @returns Returns a conversion callback. + */ +export function modelToDataViewSoftBreakInsertion(model) { + return (evt, data, conversionApi) => { + if (data.item.parent.name !== 'codeBlock') { + return; + } + const { writer, mapper, consumable } = conversionApi; + if (!consumable.consume(data.item, 'insert')) { + return; + } + const position = mapper.toViewPosition(model.createPositionBefore(data.item)); + writer.insert(position, writer.createText('\n')); + }; +} +/** + * A view-to-model converter for `
` with the `` HTML.
+ *
+ * Sample input:
+ *
+ * ```html
+ * 
foo();bar();
+ * ``` + * + * Sample output: + * + * ```html + * foo();bar(); + * ``` + * + * @param languageDefs The normalized language configuration passed to the feature. + * @returns Returns a conversion callback. + */ +export function dataViewToModelCodeBlockInsertion(editingView, languageDefs) { + // Language names associated with CSS classes: + // + // { + // 'language-php': 'php', + // 'language-python': 'python', + // js: 'javascript', + // ... + // } + const classesToLanguages = getPropertyAssociation(languageDefs, 'class', 'language'); + const defaultLanguageName = languageDefs[0].language; + return (evt, data, conversionApi) => { + const viewCodeElement = data.viewItem; + const viewPreElement = viewCodeElement.parent; + if (!viewPreElement || !viewPreElement.is('element', 'pre')) { + return; + } + // In case of nested code blocks we don't want to convert to another code block. + if (data.modelCursor.findAncestor('codeBlock')) { + return; + } + const { consumable, writer } = conversionApi; + if (!consumable.test(viewCodeElement, { name: true })) { + return; + } + const codeBlock = writer.createElement('codeBlock'); + const viewChildClasses = [...viewCodeElement.getClassNames()]; + // As we're to associate each class with a model language, a lack of class (empty class) can be + // also associated with a language if the language definition was configured so. Pushing an empty + // string to make sure the association will work. + if (!viewChildClasses.length) { + viewChildClasses.push(''); + } + // Figure out if any of the element's class names is a valid programming + // language class. If so, use it on the model element (becomes the language of the entire block). + for (const className of viewChildClasses) { + const language = classesToLanguages[className]; + if (language) { + writer.setAttribute('language', language, codeBlock); + break; + } + } + // If no language value was set, use the default language from the config. + if (!codeBlock.hasAttribute('language')) { + writer.setAttribute('language', defaultLanguageName, codeBlock); + } + conversionApi.convertChildren(viewCodeElement, codeBlock); + // Let's try to insert code block. + if (!conversionApi.safeInsert(codeBlock, data.modelCursor)) { + return; + } + consumable.consume(viewCodeElement, { name: true }); + conversionApi.updateConversionResult(codeBlock, data); + }; +} +/** + * A view-to-model converter for new line characters in `
`.
+ *
+ * Sample input:
+ *
+ * ```html
+ * 
foo();\nbar();
+ * ``` + * + * Sample output: + * + * ```html + * foo();bar(); + * ``` + * + * @returns {Function} Returns a conversion callback. + */ +export function dataViewToModelTextNewlinesInsertion() { + return (evt, data, { consumable, writer }) => { + let position = data.modelCursor; + // When node is already converted then do nothing. + if (!consumable.test(data.viewItem)) { + return; + } + // When not inside `codeBlock` then do nothing. + if (!position.findAncestor('codeBlock')) { + return; + } + consumable.consume(data.viewItem); + const text = data.viewItem.data; + const textLines = text.split('\n').map(data => writer.createText(data)); + const lastLine = textLines[textLines.length - 1]; + for (const node of textLines) { + writer.insert(node, position); + position = position.getShiftedBy(node.offsetSize); + if (node !== lastLine) { + const softBreak = writer.createElement('softBreak'); + writer.insert(softBreak, position); + position = writer.createPositionAfter(softBreak); + } + } + data.modelRange = writer.createRange(data.modelCursor, position); + data.modelCursor = position; + }; +} +/** + * A view-to-model converter that handles orphan text nodes (white spaces, new lines, etc.) + * that surround `` inside `
`.
+ *
+ * Sample input:
+ *
+ * ```html
+ * // White spaces
+ * 
 foo() 
+ * + * // White spaces + *
      foo()      
+ * + * // White spaces + *
			foo()			
+ * + * // New lines + *
+ * 	foo()
+ * 
+ * + * // Redundant text + *
ABCfoo()DEF
+ * ``` + * + * Unified output for each case: + * + * ```html + * foo() + * ``` + * + * @returns Returns a conversion callback. + */ +export function dataViewToModelOrphanNodeConsumer() { + return (evt, data, { consumable }) => { + const preElement = data.viewItem; + // Don't clean up nested pre elements. Their content should stay as it is, they are not upcasted + // to code blocks. + if (preElement.findAncestor('pre')) { + return; + } + const preChildren = Array.from(preElement.getChildren()); + const childCodeElement = preChildren.find(node => node.is('element', 'code')); + // -less
. It will not upcast to code block in the model, skipping.
+        if (!childCodeElement) {
+            return;
+        }
+        for (const child of preChildren) {
+            if (child === childCodeElement || !child.is('$text')) {
+                continue;
+            }
+            // Consuming the orphan to remove it from the input data.
+            // Second argument in `consumable.consume` is discarded for text nodes.
+            consumable.consume(child, { name: true });
+        }
+    };
+}
diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/src/indentcodeblockcommand.d.ts b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/src/indentcodeblockcommand.d.ts
new file mode 100644
index 0000000..de1bc57
--- /dev/null
+++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/src/indentcodeblockcommand.d.ts
@@ -0,0 +1,33 @@
+/**
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+ */
+/**
+ * @module code-block/indentcodeblockcommand
+ */
+import { Command, type Editor } from 'ckeditor5/src/core.js';
+/**
+ * The code block indentation increase command plugin.
+ */
+export default class IndentCodeBlockCommand extends Command {
+    /**
+     * A sequence of characters added to the line when the command is executed.
+     */
+    private _indentSequence;
+    constructor(editor: Editor);
+    /**
+     * @inheritDoc
+     */
+    refresh(): void;
+    /**
+     * Executes the command. When the command {@link #isEnabled is enabled}, the indentation of the
+     * code lines in the selection will be increased.
+     *
+     * @fires execute
+     */
+    execute(): void;
+    /**
+     * Checks whether the command can be enabled in the current context.
+     */
+    private _checkEnabled;
+}
diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/src/indentcodeblockcommand.js b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/src/indentcodeblockcommand.js
new file mode 100644
index 0000000..a8d32a2
--- /dev/null
+++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/src/indentcodeblockcommand.js
@@ -0,0 +1,78 @@
+/**
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+ */
+/**
+ * @module code-block/indentcodeblockcommand
+ */
+import { Command } from 'ckeditor5/src/core.js';
+import { getIndentOutdentPositions, isModelSelectionInCodeBlock } from './utils.js';
+/**
+ * The code block indentation increase command plugin.
+ */
+export default class IndentCodeBlockCommand extends Command {
+    constructor(editor) {
+        super(editor);
+        this._indentSequence = editor.config.get('codeBlock.indentSequence');
+    }
+    /**
+     * @inheritDoc
+     */
+    refresh() {
+        this.isEnabled = this._checkEnabled();
+    }
+    /**
+     * Executes the command. When the command {@link #isEnabled is enabled}, the indentation of the
+     * code lines in the selection will be increased.
+     *
+     * @fires execute
+     */
+    execute() {
+        const editor = this.editor;
+        const model = editor.model;
+        model.change(writer => {
+            const positions = getIndentOutdentPositions(model);
+            // Indent all positions, for instance assuming the indent sequence is 4x space ("    "):
+            //
+            //		^foo        ->           foo
+            //
+            //		foo^bar     ->       foo    bar
+            //
+            // Also, when there is more than one position:
+            //
+            //		
+            //			^foobar
+            //			
+            //			^bazqux
+            //		
+            //
+            //		->
+            //
+            //		
+            //			    foobar
+            //			
+            //			    bazqux
+            //		
+            //
+            for (const position of positions) {
+                const indentSequenceTextElement = writer.createText(this._indentSequence);
+                // Previously insertion was done by writer.insertText(). It was changed to insertContent() to enable
+                // integration of code block with track changes. It's the easiest way of integration because insertContent()
+                // is already integrated with track changes, but if it ever cause any troubles it can be reverted, however
+                // some additional work will be required in track changes integration of code block.
+                model.insertContent(indentSequenceTextElement, position);
+            }
+        });
+    }
+    /**
+     * Checks whether the command can be enabled in the current context.
+     */
+    _checkEnabled() {
+        if (!this._indentSequence) {
+            return false;
+        }
+        // Indent (forward) command is always enabled when there's any code block in the selection
+        // because you can always indent code lines.
+        return isModelSelectionInCodeBlock(this.editor.model.document.selection);
+    }
+}
diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/src/index.d.ts b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/src/index.d.ts
new file mode 100644
index 0000000..c069715
--- /dev/null
+++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/src/index.d.ts
@@ -0,0 +1,15 @@
+/**
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+ */
+/**
+ * @module code-block
+ */
+export { default as CodeBlock } from './codeblock.js';
+export { default as CodeBlockEditing } from './codeblockediting.js';
+export { default as CodeBlockUI } from './codeblockui.js';
+export type { default as CodeBlockCommand } from './codeblockcommand.js';
+export type { default as IndentCodeBlockCommand } from './indentcodeblockcommand.js';
+export type { default as OutdentCodeBlockCommand } from './outdentcodeblockcommand.js';
+export type { CodeBlockConfig } from './codeblockconfig.js';
+import './augmentation.js';
diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/src/index.js b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/src/index.js
new file mode 100644
index 0000000..53475b7
--- /dev/null
+++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/src/index.js
@@ -0,0 +1,11 @@
+/**
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+ */
+/**
+ * @module code-block
+ */
+export { default as CodeBlock } from './codeblock.js';
+export { default as CodeBlockEditing } from './codeblockediting.js';
+export { default as CodeBlockUI } from './codeblockui.js';
+import './augmentation.js';
diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/src/outdentcodeblockcommand.d.ts b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/src/outdentcodeblockcommand.d.ts
new file mode 100644
index 0000000..0ea89da
--- /dev/null
+++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/src/outdentcodeblockcommand.d.ts
@@ -0,0 +1,33 @@
+/**
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+ */
+import { Command, type Editor } from 'ckeditor5/src/core.js';
+/**
+ * The code block indentation decrease command plugin.
+ */
+export default class OutdentCodeBlockCommand extends Command {
+    /**
+     * A sequence of characters removed from the line when the command is executed.
+     */
+    private readonly _indentSequence;
+    constructor(editor: Editor);
+    /**
+     * @inheritDoc
+     */
+    refresh(): void;
+    /**
+     * Executes the command. When the command {@link #isEnabled is enabled}, the indentation of the
+     * code lines in the selection will be decreased.
+     *
+     * @fires execute
+     */
+    execute(): void;
+    /**
+     * Checks whether the command can be enabled in the current context.
+     *
+     * @private
+     * @returns {Boolean} Whether the command should be enabled.
+     */
+    private _checkEnabled;
+}
diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/src/outdentcodeblockcommand.js b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/src/outdentcodeblockcommand.js
new file mode 100644
index 0000000..e740d10
--- /dev/null
+++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/src/outdentcodeblockcommand.js
@@ -0,0 +1,148 @@
+/**
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+ */
+import { Command } from 'ckeditor5/src/core.js';
+import { getLeadingWhiteSpaces, getIndentOutdentPositions, isModelSelectionInCodeBlock } from './utils.js';
+/**
+ * The code block indentation decrease command plugin.
+ */
+export default class OutdentCodeBlockCommand extends Command {
+    constructor(editor) {
+        super(editor);
+        this._indentSequence = editor.config.get('codeBlock.indentSequence');
+    }
+    /**
+     * @inheritDoc
+     */
+    refresh() {
+        this.isEnabled = this._checkEnabled();
+    }
+    /**
+     * Executes the command. When the command {@link #isEnabled is enabled}, the indentation of the
+     * code lines in the selection will be decreased.
+     *
+     * @fires execute
+     */
+    execute() {
+        const editor = this.editor;
+        const model = editor.model;
+        model.change(() => {
+            const positions = getIndentOutdentPositions(model);
+            // Outdent all positions, for instance assuming the indent sequence is 4x space ("    "):
+            //
+            //		^foo         ->       foo
+            //
+            //		    ^bar     ->       bar
+            //
+            // Also, when there is more than one position:
+            //
+            //		
+            //			    ^foobar
+            //			
+            //			    ^bazqux
+            //		
+            //
+            //		->
+            //
+            //		
+            //			foobar
+            //			
+            //			bazqux
+            //		
+            for (const position of positions) {
+                const range = getLastOutdentableSequenceRange(model, position, this._indentSequence);
+                if (range) {
+                    // Previously deletion was done by writer.remove(). It was changed to deleteContent() to enable
+                    // integration of code block with track changes. It's the easiest way of integration because deleteContent()
+                    // is already integrated with track changes, but if it ever cause any troubles it can be reverted, however
+                    // some additional work will be required in track changes integration of code block.
+                    model.deleteContent(model.createSelection(range));
+                }
+            }
+        });
+    }
+    /**
+     * Checks whether the command can be enabled in the current context.
+     *
+     * @private
+     * @returns {Boolean} Whether the command should be enabled.
+     */
+    _checkEnabled() {
+        if (!this._indentSequence) {
+            return false;
+        }
+        const model = this.editor.model;
+        if (!isModelSelectionInCodeBlock(model.document.selection)) {
+            return false;
+        }
+        // Outdent command can execute only when there is an indent character sequence
+        // in some of the lines.
+        return getIndentOutdentPositions(model).some(position => {
+            return getLastOutdentableSequenceRange(model, position, this._indentSequence);
+        });
+    }
+}
+// For a position coming from `getIndentOutdentPositions()`, it returns the range representing
+// the last occurrence of the indent sequence among the leading whitespaces of the code line the
+// position represents.
+//
+// For instance, assuming the indent sequence is 4x space ("    "):
+//
+//		foo^                                 ->          null
+//		foo^bar       ->          null
+//		  ^foo                               ->          null
+//		        ^foo                         ->              [    ]foo
+//		    ^foo    bar                      ->          [    ]foo    bar
+//
+// @param {} model
+// @param {} position
+// @param {String} sequence
+// @returns {|null}
+function getLastOutdentableSequenceRange(model, position, sequence) {
+    // Positions start before each text node (code line). Get the node corresponding to the position.
+    const nodeAtPosition = getCodeLineTextNodeAtPosition(position);
+    if (!nodeAtPosition) {
+        return null;
+    }
+    const leadingWhiteSpaces = getLeadingWhiteSpaces(nodeAtPosition);
+    const lastIndexOfSequence = leadingWhiteSpaces.lastIndexOf(sequence);
+    // For instance, assuming the indent sequence is 4x space ("    "):
+    //
+    //		    	^foo           ->             null
+    //
+    if (lastIndexOfSequence + sequence.length !== leadingWhiteSpaces.length) {
+        return null;
+    }
+    // For instance, assuming the indent sequence is 4x space ("    "):
+    //
+    //		  ^foo           ->             null
+    //
+    if (lastIndexOfSequence === -1) {
+        return null;
+    }
+    const { parent, startOffset } = nodeAtPosition;
+    // Create a range that contains the **last** indent sequence among the leading whitespaces
+    // of the line.
+    //
+    // For instance, assuming the indent sequence is 4x space ("    "):
+    //
+    //		        ^foo      ->         [    ]foo
+    //
+    return model.createRange(model.createPositionAt(parent, startOffset + lastIndexOfSequence), model.createPositionAt(parent, startOffset + lastIndexOfSequence + sequence.length));
+}
+function getCodeLineTextNodeAtPosition(position) {
+    // Positions start before each text node (code line). Get the node corresponding to the position.
+    let nodeAtPosition = position.parent.getChild(position.index);
+    // foo^
+    // foo^bar
+    if (!nodeAtPosition || nodeAtPosition.is('element', 'softBreak')) {
+        nodeAtPosition = position.nodeBefore;
+    }
+    // ^
+    // foo^bar
+    if (!nodeAtPosition || nodeAtPosition.is('element', 'softBreak')) {
+        return null;
+    }
+    return nodeAtPosition;
+}
diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/src/utils.d.ts b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/src/utils.d.ts
new file mode 100644
index 0000000..80f2de1
--- /dev/null
+++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/src/utils.d.ts
@@ -0,0 +1,138 @@
+/**
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+ */
+/**
+ * @module code-block/utils
+ */
+import type { Editor } from 'ckeditor5/src/core.js';
+import type { CodeBlockLanguageDefinition } from './codeblockconfig.js';
+import type { DocumentSelection, Element, Model, Position, Schema, Text, UpcastWriter, ViewDocumentFragment } from 'ckeditor5/src/engine.js';
+/**
+ * Returns code block languages as defined in `config.codeBlock.languages` but processed:
+ *
+ * * To consider the editor localization, i.e. to display {@link module:code-block/codeblockconfig~CodeBlockLanguageDefinition}
+ * in the correct language. There is no way to use {@link module:utils/locale~Locale#t} when the user
+ * configuration is defined because the editor does not exist yet.
+ * * To make sure each definition has a CSS class associated with it even if not specified
+ * in the original configuration.
+ */
+export declare function getNormalizedAndLocalizedLanguageDefinitions(editor: Editor): Array;
+/**
+ * Returns an object associating certain language definition properties with others. For instance:
+ *
+ * For:
+ *
+ * ```ts
+ * const definitions = {
+ * 	{ language: 'php', class: 'language-php', label: 'PHP' },
+ * 	{ language: 'javascript', class: 'js', label: 'JavaScript' },
+ * };
+ *
+ * getPropertyAssociation( definitions, 'class', 'language' );
+ * ```
+ *
+ * returns:
+ *
+ * ```ts
+ * {
+ * 	'language-php': 'php',
+ * 	'js': 'javascript'
+ * }
+ * ```
+ *
+ * and
+ *
+ * ```ts
+ * getPropertyAssociation( definitions, 'language', 'label' );
+ * ```
+ *
+ * returns:
+ *
+ * ```ts
+ * {
+ * 	'php': 'PHP',
+ * 	'javascript': 'JavaScript'
+ * }
+ * ```
+ */
+export declare function getPropertyAssociation(languageDefs: Array, key: keyof CodeBlockLanguageDefinition, value: keyof CodeBlockLanguageDefinition): Record;
+/**
+ * For a given model text node, it returns white spaces that precede other characters in that node.
+ * This corresponds to the indentation part of the code block line.
+ */
+export declare function getLeadingWhiteSpaces(textNode: Text): string;
+/**
+ * For plain text containing the code (a snippet), it returns a document fragment containing
+ * view text nodes separated by `
` elements (in place of new line characters "\n"), for instance: + * + * Input: + * + * ```ts + * "foo()\n + * bar()" + * ``` + * + * Output: + * + * ```html + * + * "foo()" + *
+ * "bar()" + *
+ * ``` + * + * @param text The raw code text to be converted. + */ +export declare function rawSnippetTextToViewDocumentFragment(writer: UpcastWriter, text: string): ViewDocumentFragment; +/** + * Returns an array of all model positions within the selection that represent code block lines. + * + * If the selection is collapsed, it returns the exact selection anchor position: + * + * ```html + * []foo -> ^foo + * foo[]bar -> foo^bar + * ``` + * + * Otherwise, it returns positions **before** each text node belonging to all code blocks contained by the selection: + * + * ```html + * + * foo[bar ^foobar + * -> + * baz]qux ^bazqux + * + * ``` + * + * It also works across other non–code blocks: + * + * ```html + * + * foo[bar ^foobar + * + * text -> text + * + * baz]qux ^bazqux + * + * ``` + * + * **Note:** The positions are in reverse order so they do not get outdated when iterating over them and + * the writer inserts or removes elements at the same time. + * + * **Note:** The position is located after the leading white spaces in the text node. + */ +export declare function getIndentOutdentPositions(model: Model): Array; +/** + * Checks if any of the blocks within the model selection is a code block. + */ +export declare function isModelSelectionInCodeBlock(selection: DocumentSelection): boolean; +/** + * Checks if an {@link module:engine/model/element~Element Element} can become a code block. + * + * @param schema Model's schema. + * @param element The element to be checked. + * @returns Check result. + */ +export declare function canBeCodeBlock(schema: Schema, element: Element): boolean; diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/src/utils.js b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/src/utils.js new file mode 100644 index 0000000..0b5035d --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/src/utils.js @@ -0,0 +1,209 @@ +/** + * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ +import { first } from 'ckeditor5/src/utils.js'; +/** + * Returns code block languages as defined in `config.codeBlock.languages` but processed: + * + * * To consider the editor localization, i.e. to display {@link module:code-block/codeblockconfig~CodeBlockLanguageDefinition} + * in the correct language. There is no way to use {@link module:utils/locale~Locale#t} when the user + * configuration is defined because the editor does not exist yet. + * * To make sure each definition has a CSS class associated with it even if not specified + * in the original configuration. + */ +export function getNormalizedAndLocalizedLanguageDefinitions(editor) { + const t = editor.t; + const languageDefs = editor.config.get('codeBlock.languages'); + for (const def of languageDefs) { + if (def.label === 'Plain text') { + def.label = t('Plain text'); + } + if (def.class === undefined) { + def.class = `language-${def.language}`; + } + } + return languageDefs; +} +/** + * Returns an object associating certain language definition properties with others. For instance: + * + * For: + * + * ```ts + * const definitions = { + * { language: 'php', class: 'language-php', label: 'PHP' }, + * { language: 'javascript', class: 'js', label: 'JavaScript' }, + * }; + * + * getPropertyAssociation( definitions, 'class', 'language' ); + * ``` + * + * returns: + * + * ```ts + * { + * 'language-php': 'php', + * 'js': 'javascript' + * } + * ``` + * + * and + * + * ```ts + * getPropertyAssociation( definitions, 'language', 'label' ); + * ``` + * + * returns: + * + * ```ts + * { + * 'php': 'PHP', + * 'javascript': 'JavaScript' + * } + * ``` + */ +export function getPropertyAssociation(languageDefs, key, value) { + const association = {}; + for (const def of languageDefs) { + if (key === 'class') { + // Only the first class is considered. + const newKey = (def[key]).split(' ').shift(); + association[newKey] = def[value]; + } + else { + association[def[key]] = def[value]; + } + } + return association; +} +/** + * For a given model text node, it returns white spaces that precede other characters in that node. + * This corresponds to the indentation part of the code block line. + */ +export function getLeadingWhiteSpaces(textNode) { + return textNode.data.match(/^(\s*)/)[0]; +} +/** + * For plain text containing the code (a snippet), it returns a document fragment containing + * view text nodes separated by `
` elements (in place of new line characters "\n"), for instance: + * + * Input: + * + * ```ts + * "foo()\n + * bar()" + * ``` + * + * Output: + * + * ```html + * + * "foo()" + *
+ * "bar()" + *
+ * ``` + * + * @param text The raw code text to be converted. + */ +export function rawSnippetTextToViewDocumentFragment(writer, text) { + const fragment = writer.createDocumentFragment(); + const textLines = text.split('\n'); + const items = textLines.reduce((nodes, line, lineIndex) => { + nodes.push(line); + if (lineIndex < textLines.length - 1) { + nodes.push(writer.createElement('br')); + } + return nodes; + }, []); + writer.appendChild(items, fragment); + return fragment; +} +/** + * Returns an array of all model positions within the selection that represent code block lines. + * + * If the selection is collapsed, it returns the exact selection anchor position: + * + * ```html + * []foo -> ^foo + * foo[]bar -> foo^bar + * ``` + * + * Otherwise, it returns positions **before** each text node belonging to all code blocks contained by the selection: + * + * ```html + * + * foo[bar ^foobar + * -> + * baz]qux ^bazqux + * + * ``` + * + * It also works across other non–code blocks: + * + * ```html + * + * foo[bar ^foobar + * + * text -> text + * + * baz]qux ^bazqux + * + * ``` + * + * **Note:** The positions are in reverse order so they do not get outdated when iterating over them and + * the writer inserts or removes elements at the same time. + * + * **Note:** The position is located after the leading white spaces in the text node. + */ +export function getIndentOutdentPositions(model) { + const selection = model.document.selection; + const positions = []; + // When the selection is collapsed, there's only one position we can indent or outdent. + if (selection.isCollapsed) { + return [selection.anchor]; + } + // When the selection is NOT collapsed, collect all positions starting before text nodes + // (code lines) in any within the selection. + // Walk backward so positions we are about to collect here do not get outdated when + // inserting or deleting using the writer. + const walker = selection.getFirstRange().getWalker({ + ignoreElementEnd: true, + direction: 'backward' + }); + for (const { item } of walker) { + if (!item.is('$textProxy')) { + continue; + } + const { parent, startOffset } = item.textNode; + if (!parent.is('element', 'codeBlock')) { + continue; + } + const leadingWhiteSpaces = getLeadingWhiteSpaces(item.textNode); + // Make sure the position is after all leading whitespaces in the text node. + const position = model.createPositionAt(parent, startOffset + leadingWhiteSpaces.length); + positions.push(position); + } + return positions; +} +/** + * Checks if any of the blocks within the model selection is a code block. + */ +export function isModelSelectionInCodeBlock(selection) { + const firstBlock = first(selection.getSelectedBlocks()); + return !!firstBlock && firstBlock.is('element', 'codeBlock'); +} +/** + * Checks if an {@link module:engine/model/element~Element Element} can become a code block. + * + * @param schema Model's schema. + * @param element The element to be checked. + * @returns Check result. + */ +export function canBeCodeBlock(schema, element) { + if (element.is('rootElement') || schema.isLimit(element)) { + return false; + } + return schema.checkChild(element.parent, 'codeBlock'); +} diff --git a/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/theme/codeblock.css b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/theme/codeblock.css new file mode 100644 index 0000000..082e403 --- /dev/null +++ b/vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-code-block/theme/codeblock.css @@ -0,0 +1,40 @@ +/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck-content pre { + padding: 1em; + color: hsl(0, 0%, 20.8%); + background: hsla(0, 0%, 78%, 0.3); + border: 1px solid hsl(0, 0%, 77%); + border-radius: 2px; + + /* Code block are language direction–agnostic. */ + text-align: left; + direction: ltr; + + tab-size: 4; + white-space: pre-wrap; + + /* Don't inherit the style, e.g. when in a block quote. */ + font-style: normal; + + /* Don't let the code be squashed e.g. when in a table cell. */ + min-width: 200px; + + & code { + background: unset; + padding: 0; + border-radius: 0; + } +} + +.ck.ck-editor__editable pre { + position: relative; + + &[data-language]::after { + content: attr(data-language); + position: absolute; + } +}