Commit d5d3a9a4 authored by Sergey Shadrin's avatar Sergey Shadrin

[#124455] Installed `drupal/ckeditor5_plugin_pack`

-Module patched to use local libraries(downloaded from cdn)
-Set up installation in profile, configs updated
parent 69c1608e

Too many changes to show.

To preserve performance only 1000 of 1000+ files are displayed.

......@@ -28,6 +28,7 @@
"drupal/bootstrap": "^3.31",
"drupal/captcha": "^2.0",
"drupal/charts": "^5.0",
"drupal/ckeditor5_plugin_pack": "^1.1",
"drupal/classy": "^1.0",
"drupal/color": "^1.0",
"drupal/colorbox": "^2.0",
......@@ -147,7 +148,8 @@
"dealerdirect/phpcodesniffer-composer-installer": true,
"cweagans/composer-patches": true,
"oomphinc/composer-installers-extender": true,
"wikimedia/composer-merge-plugin": true
"wikimedia/composer-merge-plugin": true,
"php-http/discovery": true
},
"sort-packages": true
},
......@@ -230,6 +232,9 @@
"drupal/admin_toolbar": {
"Replace icons": "./patches/admin_toolbar/replace-icons.patch"
},
"drupal/ckeditor5_plugin_pack": {
"Path to library": "./patches/ckeditor5_plugin_pack/path_to_library.patch"
},
"drupal/select2": {
"3271205: Removing selected option sometimes needs multiple clicks": "https://www.drupal.org/files/issues/2022-04-20/select2-check-indexes-3271205-8.patch",
"3450644: BEF 7.0 compatible": "https://git.drupalcode.org/project/select2/-/merge_requests/36/diffs.patch"
......
This diff is collapsed.
/*!
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md.
*/(()=>{var e={331:(e,r,t)=>{e.exports=t(237)("./src/clipboard.js")},782:(e,r,t)=>{e.exports=t(237)("./src/core.js")},507:(e,r,t)=>{e.exports=t(237)("./src/enter.js")},727:(e,r,t)=>{e.exports=t(237)("./src/select-all.js")},834:(e,r,t)=>{e.exports=t(237)("./src/typing.js")},311:(e,r,t)=>{e.exports=t(237)("./src/ui.js")},251:(e,r,t)=>{e.exports=t(237)("./src/undo.js")},237:e=>{"use strict";e.exports=CKEditor5.dll}},r={};function t(s){var o=r[s];if(void 0!==o)return o.exports;var i=r[s]={exports:{}};return e[s](i,i.exports,t),i.exports}t.d=(e,r)=>{for(var s in r)t.o(r,s)&&!t.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:r[s]})},t.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),t.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var s={};(()=>{"use strict";t.r(s),t.d(s,{Essentials:()=>c});var e=t(782),r=t(331),o=t(507),i=t(727),n=t(834),l=t(251),p=t(311);class c extends e.Plugin{static get requires(){return[p.AccessibilityHelp,r.Clipboard,o.Enter,i.SelectAll,o.ShiftEnter,n.Typing,l.Undo]}static get pluginName(){return"Essentials"}}})(),(window.CKEditor5=window.CKEditor5||{}).essentials=s})();
\ No newline at end of file
[ZoneTransfer]
ZoneId=3
HostUrl=https://cdn.ckeditor.com/ckeditor5/41.3.1/dll/essentials/essentials.js
[ZoneTransfer]
ZoneId=3
HostUrl=https://cdn.ckeditor.com/ckeditor5/41.3.1/dll/find-and-replace/find-and-replace.js
!function(e){const t=e.af=e.af||{};t.dictionary=Object.assign(t.dictionary||{},{"Advanced options":"",Find:"Soek","Find and replace":"Soek en vervang","Find in text…":"Soek in teks …","Find in the document":"","Match case":"Hooflettersensitief","Next result":"Volgende resultaat","Previous result":"Vorige resultaat",Replace:"Vervang","Replace all":"Vervang alles","Replace with…":"Vervang met ...","Text to find must not be empty.":"Soekteks mag nie leeg wees nie.","Tip: Find some text first in order to replace it.":"Wenk: Soek eers 'n bietjie teks om dit te vervang.","Whole words only":"Slegs hele woorde"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
!function(e){const t=e.ar=e.ar||{};t.dictionary=Object.assign(t.dictionary||{},{"Advanced options":"الخيارات المتقدمة",Find:"البحث","Find and replace":"البحث والاستبدال","Find in text…":"البحث في النص...","Find in the document":"ابحثْ في الوثيقة","Match case":"مطابقة حالة الأحرف","Next result":"النتيجة التالية","Previous result":"النتيجة السابقة",Replace:"استبدال","Replace all":"استبدال الكل","Replace with…":"استبدال بـ...","Text to find must not be empty.":"لا يمكن لبيان النص المطلوب البحث عنه أن يكون فارغاً.","Tip: Find some text first in order to replace it.":"نصيحة: في البداية، ابحث عن جزء من النص؛ لتتمكن من استبداله. ","Whole words only":"الكلمات بأكملها فقط"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
!function(e){const t=e.bg=e.bg||{};t.dictionary=Object.assign(t.dictionary||{},{"Advanced options":"Разширени опции",Find:"Намери","Find and replace":"Намери и замени","Find in text…":"Намери в текста...","Find in the document":"Намиране на документ","Match case":"Сравни съвпадащ шрифт","Next result":"Следващ резултат","Previous result":"Предишен резултат",Replace:"Замени","Replace all":"Замени всички","Replace with…":"Замени с...","Text to find must not be empty.":"Текстът за намиране не трябва да е празен.","Tip: Find some text first in order to replace it.":"Съвет: Първо намерете някакъв текст, за да го замените.","Whole words only":"Само цели думи"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
!function(e){const n=e.bn=e.bn||{};n.dictionary=Object.assign(n.dictionary||{},{"Advanced options":"উন্নত বিকল্পগুলি",Find:"খুঁজুন ","Find and replace":"অনুসন্ধান ও প্রতিস্থাপন করুন","Find in text…":"টেক্সটে খুঁজুন…","Find in the document":"ডকুমেন্টে খুঁজুন","Match case":"ম্যাচ কেস","Next result":"পরবর্তী ফলাফল","Previous result":"পূর্ববর্তী ফলাফল",Replace:"প্রতিস্থাপন করুন","Replace all":"সব প্রতিস্থাপন","Replace with…":"এর সাথে প্রতিস্থাপন...","Text to find must not be empty.":"খুঁজে পেতে টেক্সট খালি হওয়া উচিত নয়।","Tip: Find some text first in order to replace it.":"পরামর্শঃ এটি প্রতিস্থাপন করতে প্রথমে কিছু টেক্সট খুঁজুন।","Whole words only":"শুধুমাত্র পুরো শব্দ"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
!function(e){const i=e.bs=e.bs||{};i.dictionary=Object.assign(i.dictionary||{},{"Advanced options":"",Find:"Pronađi","Find and replace":"Pronađi i zamijeni","Find in text…":"Pronađi u tekstu","Find in the document":"","Match case":"Podudaranje","Next result":"","Previous result":"Prethodni rezultat",Replace:"Zamijeni","Replace all":"Zamijeni sve","Replace with…":"Zamijeni sa...","Text to find must not be empty.":"Unesite tekst za pretragu.","Tip: Find some text first in order to replace it.":"","Whole words only":"Samo cijele riječi"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
!function(e){const t=e.ca=e.ca||{};t.dictionary=Object.assign(t.dictionary||{},{"Advanced options":"Opcions avançades",Find:"Trobar","Find and replace":"Trobar i substituir","Find in text…":"Trobar al text...","Find in the document":"Busca en el document","Match case":"Coincidència de majúscules i minúscules","Next result":"Següent resultat","Previous result":"Resultat anterior",Replace:"Substituir","Replace all":"Substituir-ho tot","Replace with…":"Substituir per...","Text to find must not be empty.":"El text per cercar no pot estar buit.","Tip: Find some text first in order to replace it.":"Consell: Troba primer un text per substituir-lo.","Whole words only":"Només paraules senceres"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
!function(t){const e=t.cs=t.cs||{};e.dictionary=Object.assign(e.dictionary||{},{"Advanced options":"Pokročilé možnosti",Find:"Najít","Find and replace":"Najít a nahradit","Find in text…":"Najít v textu...","Find in the document":"Najít v dokumentu","Match case":"Rozlišovat velikost písmen","Next result":"Další výskyt","Previous result":"Předchozí výskyt",Replace:"Nahradit","Replace all":"Nahradit vše","Replace with…":"Nahradit čím...","Text to find must not be empty.":"Hledaný text nesmí být prázdný.","Tip: Find some text first in order to replace it.":"Tip: Nejprve najděte nějaký text, abyste jej mohli nahradit.","Whole words only":"Pouze celá slova"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
!function(e){const t=e.da=e.da||{};t.dictionary=Object.assign(t.dictionary||{},{"Advanced options":"Avancerede indstillinger",Find:"Find","Find and replace":"Søg og erstat","Find in text…":"Find i tekst...","Find in the document":"Find i dokumentet","Match case":"Skeln mellem store og små bogstaver","Next result":"Næste","Previous result":"Forrige",Replace:"Erstat","Replace all":"Erstatte alle","Replace with…":"Erstat med...","Text to find must not be empty.":"Tekst der skal findes, må ikke være tom.","Tip: Find some text first in order to replace it.":"Tip: Find først noget tekst, for at erstatte det.","Whole words only":"Kun hele ord"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
!function(e){const n=e.de=e.de||{};n.dictionary=Object.assign(n.dictionary||{},{"Advanced options":"Erweiterte Optionen",Find:"Suchen","Find and replace":"Suchen und ersetzen","Find in text…":"In Text suchen…","Find in the document":"Dokument durchsuchen","Match case":"Groß-/Kleinschreibung beachten","Next result":"Nächstes Ergebnis","Previous result":"Vorheriges Ergebnis",Replace:"Ersetzen","Replace all":"Alle ersetzen","Replace with…":"Ersetzen durch…","Text to find must not be empty.":"Der Suchtext darf nicht leer sein.","Tip: Find some text first in order to replace it.":"Tipp: Zuerst nach Text suchen um diesen zu ersetzen.","Whole words only":"Nur ganze Wörter"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
!function(e){const t=e.el=e.el||{};t.dictionary=Object.assign(t.dictionary||{},{"Advanced options":"Προηγμένες επιλογές",Find:"Εύρεση","Find and replace":"Εύρεση και αντικατάσταση","Find in text…":"Εύρεση στο κείμενο...","Find in the document":"Εύρεση στο έγγραφο","Match case":"Ταίριασμα πεζών-ΚΕΦΑΛΑΙΩΝ","Next result":"Επόμενο αποτέλεσμα","Previous result":"Προηγούμενο αποτέλεσμα",Replace:"Αντικατάσταση","Replace all":"Αντικατάσταση όλων","Replace with…":"Αντικατάσταση με...","Text to find must not be empty.":"Το κείμενο προς εύρεση δεν πρέπει να είναι άδειο.","Tip: Find some text first in order to replace it.":"Επισήμανση: Βρείτε κάποιο κείμενο αρχικά ώστε να το αντικαταστήσετε.","Whole words only":"Μόνο ολόκληρες λέξεις"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
!function(e){const t=e["en-au"]=e["en-au"]||{};t.dictionary=Object.assign(t.dictionary||{},{"Advanced options":"",Find:"Find","Find and replace":"Find and replace","Find in text…":"Find in text…","Find in the document":"","Match case":"Match case","Next result":"Next result","Previous result":"Previous result",Replace:"Replace","Replace all":"Replace all","Replace with…":"Replace with…","Text to find must not be empty.":"Text to find must not be empty.","Tip: Find some text first in order to replace it.":"Tip: Find some text first in order to replace it.","Whole words only":"Whole words only"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
!function(e){const t=e["es-co"]=e["es-co"]||{};t.dictionary=Object.assign(t.dictionary||{},{"Advanced options":"",Find:"","Find and replace":"","Find in text…":"","Find in the document":"","Match case":"","Next result":"","Previous result":"",Replace:"Reemplazar","Replace all":"","Replace with…":"","Text to find must not be empty.":"","Tip: Find some text first in order to replace it.":"","Whole words only":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
!function(e){const a=e.es=e.es||{};a.dictionary=Object.assign(a.dictionary||{},{"Advanced options":"Opciones avanzadas",Find:"Buscar","Find and replace":"Buscar y reemplazar","Find in text…":"Buscar en el texto...","Find in the document":"Busca en el documento","Match case":"Respetar mayúsculas y minúsculas","Next result":"Siguiente resultado","Previous result":"Resultado anterior",Replace:"Reemplazar","Replace all":"Reemplazar todo","Replace with…":"Reemplazar con...","Text to find must not be empty.":"El texto a buscar no debe estar vacío.","Tip: Find some text first in order to replace it.":"Consejo: Primero busque algún texto para reemplazar.","Whole words only":"Solo palabras completas"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
!function(t){const e=t.et=t.et||{};e.dictionary=Object.assign(e.dictionary||{},{"Advanced options":"Rohkem valikuid",Find:"Otsi","Find and replace":"Otsi ja asenda","Find in text…":"Otsi tekstist...","Find in the document":"Leia dokumendist","Match case":"Erista juhtumit","Next result":"Järgmine tulemus","Previous result":"Eelmine tulemus",Replace:"Asenda","Replace all":"Asenda kõik","Replace with…":"Asenda...","Text to find must not be empty.":"Otsitav tekst ei tohi tühi olla.","Tip: Find some text first in order to replace it.":"Otsi esmalt tekst, mida asendada.","Whole words only":"Ainult terviksõnad"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
!function(e){const t=e.fa=e.fa||{};t.dictionary=Object.assign(t.dictionary||{},{"Advanced options":"",Find:"جست و جو","Find and replace":"جست و جو و جایگزینی","Find in text…":"جست و جو در متن...","Find in the document":"","Match case":"","Next result":"نتیجه بعدی","Previous result":"نتیجه قبلی",Replace:"جایگزینی","Replace all":"جایگزینی همه","Replace with…":"جایگزینی با...","Text to find must not be empty.":"واژه جست و جو شده نباید خالی باشد.","Tip: Find some text first in order to replace it.":"نکته: برای جایگزینی نخست واژه را پیدا کنید.","Whole words only":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
!function(a){const i=a.fi=a.fi||{};i.dictionary=Object.assign(i.dictionary||{},{"Advanced options":"Lisäasetukset",Find:"Etsi","Find and replace":"Etsi ja korvaa","Find in text…":"Etsi tekstissä…","Find in the document":"Paikanna asiakirjassa","Match case":"Hae tapaukselle vastapari","Next result":"Seuraava tulos","Previous result":"Edellinen tulos",Replace:"Korvaa","Replace all":"Korvaa kaikki","Replace with…":"Korvaa tällä…","Text to find must not be empty.":"Haettava teksti ei saa olla tyhjä.","Tip: Find some text first in order to replace it.":"Vinkki: hae ensin teksti korvataksesi sen.","Whole words only":"Vain kokonaisia sanoja"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
!function(e){const t=e.fr=e.fr||{};t.dictionary=Object.assign(t.dictionary||{},{"Advanced options":"Options avancées",Find:"Rechercher","Find and replace":"Rechercher et remplacer","Find in text…":"Rechercher dans le texte...","Find in the document":"Rechercher dans le document","Match case":"Sensible à la casse","Next result":"Résultat suivant","Previous result":"Résultat précédent",Replace:"Remplacer","Replace all":"Remplacer tout","Replace with…":"Remplacer par ...","Text to find must not be empty.":"L'expression à rechercher ne doit pas être vide","Tip: Find some text first in order to replace it.":"Astuce : rechercher une expression afin de la remplacer","Whole words only":"Mots entiers uniquement"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
!function(t){const e=t.gl=t.gl||{};e.dictionary=Object.assign(e.dictionary||{},{"Advanced options":"",Find:"Buscar","Find and replace":"Buscar e substituír","Find in text…":"Buscar no texto…","Find in the document":"","Match case":"Coincidencia de maiúsculas","Next result":"Seguinte resultado","Previous result":"Resultado anterior",Replace:"Substituír","Replace all":"Substituír todo","Replace with…":"Substituír por…","Text to find must not be empty.":"O texto a buscar non debe estar baleiro.","Tip: Find some text first in order to replace it.":"Consello: primeiro busca algo de texto para substituílo.","Whole words only":"Só palabras enteiras"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
!function(e){const t=e.he=e.he||{};t.dictionary=Object.assign(t.dictionary||{},{"Advanced options":"אפשרויות מתקדמות",Find:"חיפוש","Find and replace":"חיפוש והחלפה","Find in text…":"חיפוש בטקסט","Find in the document":"חיפוש במסמך","Match case":"התאם רישיות","Next result":"התוצאה הבאה","Previous result":"התוצאה הקודמת",Replace:"החלף","Replace all":"החלף הכל","Replace with…":"החלף ב…","Text to find must not be empty.":"הטקסט לחיפוש לא יכול להיות ריק.","Tip: Find some text first in order to replace it.":"טיפ: מצאו תחילה טקסט כדי להחליף אותו.","Whole words only":"מילים שלמות בלבד"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
!function(e){const i=e.hi=e.hi||{};i.dictionary=Object.assign(i.dictionary||{},{"Advanced options":"एडवांस्ड विकल्प",Find:"ढूँढें","Find and replace":"ढूँढें और बदलें","Find in text…":"टेक्स्ट में ढूंढें…","Find in the document":"डॉक्युमेंट में खोजें","Match case":"केस मैच करें","Next result":"अगला रेज़ल्ट","Previous result":"पिछला रेज़ल्ट",Replace:"बदलें","Replace all":"सब बदल दें","Replace with…":"...के साथ बदलें","Text to find must not be empty.":"खोजने के लिए टेक्स्ट खाली नहीं होना चाहिए.","Tip: Find some text first in order to replace it.":"टिप:उसे बदलने के लिए पहले कुछ वह टेक्स्ट खोजें.","Whole words only":"केवल पूरे शब्द"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
!function(e){const i=e.hr=e.hr||{};i.dictionary=Object.assign(i.dictionary||{},{"Advanced options":"",Find:"Pronađi","Find and replace":"Pronađi i zamijeni","Find in text…":"Pronađi u tekstu...","Find in the document":"","Match case":"Točna velika/mala slova","Next result":"Sljedeći rezultat","Previous result":"Prethodni rezultat",Replace:"Zamijeni","Replace all":"Zamijeni sve","Replace with…":"Zamijeni sa....","Text to find must not be empty.":"Morate upisati tekst za traženje.","Tip: Find some text first in order to replace it.":"Savjet: Pronađite neki tekst kako bi ga zamijenili.","Whole words only":"Samo cijele riječi"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
!function(e){const s=e.hu=e.hu||{};s.dictionary=Object.assign(s.dictionary||{},{"Advanced options":"Speciális beállítások",Find:"Keresés","Find and replace":"Keresés és csere","Find in text…":"Keresés szövegben...","Find in the document":"Keresés a dokumentumban","Match case":"Nagybetű érzékeny","Next result":"Következő találat","Previous result":"Előző találat",Replace:"Csere","Replace all":"Mind cserél","Replace with…":"Csere erre...","Text to find must not be empty.":"A keresendő szöveg nem lehet üres.","Tip: Find some text first in order to replace it.":"Tipp: Először keressen egy szöveget, hogy lecserélhesse.","Whole words only":"Csak teljes szavak"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
!function(a){const e=a.id=a.id||{};e.dictionary=Object.assign(e.dictionary||{},{"Advanced options":"Opsi lanjutan",Find:"Cari","Find and replace":"Cari dan ubah","Find in text…":"Cari di dalam teks...","Find in the document":"Temukan di dokumen","Match case":"Sesuaikan huruf","Next result":"Hasil berikutnya","Previous result":"Hasil sebelumnya",Replace:"Ubah","Replace all":"Ubah semua","Replace with…":"Ubah dengan...","Text to find must not be empty.":"Teks yang dicari tidak boleh kosong.","Tip: Find some text first in order to replace it.":"Tip: Cari suatu teks terlebih dahulu untuk menggantinya.","Whole words only":"Kata utuh saja"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
!function(t){const i=t.it=t.it||{};i.dictionary=Object.assign(i.dictionary||{},{"Advanced options":"Opzioni avanzate",Find:"Trova","Find and replace":"Trova e sostituisci","Find in text…":"Trova nel testo…","Find in the document":"Trova nel documento","Match case":"Distingui maiuscole e minuscole","Next result":"Risultato successivo","Previous result":"Risultato precedente",Replace:"Sostituisci","Replace all":"Sostituisci tutto","Replace with…":"Sostituisci con…","Text to find must not be empty.":"Il testo da cercare non può essere vuoto.","Tip: Find some text first in order to replace it.":"Consiglio: trova il testo prima di sostituirlo.","Whole words only":"Solo parole intere"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
!function(e){const t=e.ja=e.ja||{};t.dictionary=Object.assign(t.dictionary||{},{"Advanced options":"高度なオプション",Find:"見つける","Find and replace":"検索して置換","Find in text…":"テキスト内を検索...","Find in the document":"ドキュメント内を探す","Match case":"マッチケース","Next result":"次の結果","Previous result":"前の結果",Replace:"置換","Replace all":"全てを置換","Replace with…":"こちらと置換...","Text to find must not be empty.":"検索対象テキスト欄は空白にできません。","Tip: Find some text first in order to replace it.":"ヒント:置換するには、対象テキストを先に検索してください。","Whole words only":"単語全体のみ"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
!function(n){const a=n.jv=n.jv||{};a.dictionary=Object.assign(a.dictionary||{},{"Advanced options":"",Find:"Pados","Find and replace":"Pados lan gantos","Find in text…":"Pados ing seratan","Find in the document":"","Match case":"Samikaken aksara","Next result":"Kasil salajengipun","Previous result":"Kasil saderengipun",Replace:"Gantos","Replace all":"Gantos sedaya","Replace with…":"Gantos kaliyan...","Text to find must not be empty.":"Seratan ingkang dipunpadosi mboten angsal kosong.","Tip: Find some text first in order to replace it.":"","Whole words only":"Sedayaning ukanten"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
!function(e){const t=e.ko=e.ko||{};t.dictionary=Object.assign(t.dictionary||{},{"Advanced options":"고급 옵션",Find:"찾기","Find and replace":"찾기 및 바꾸기","Find in text…":"텍스트에서 찾기...","Find in the document":"문서에서 찾기","Match case":"대/소문자 구분","Next result":"다음 결과","Previous result":"이전 결과",Replace:"바꾸기","Replace all":"모두 바꾸기","Replace with…":"바꿀 내용...","Text to find must not be empty.":"찾을 텍스트를 입력해야 합니다.","Tip: Find some text first in order to replace it.":"팁: 바꾸려는 텍스트를 먼저 찾으세요.","Whole words only":"전체 단어만"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
!function(t){const i=t.lt=t.lt||{};i.dictionary=Object.assign(i.dictionary||{},{"Advanced options":"Išplėstinės pasirinktys",Find:"Surasti","Find and replace":"Rasti ir pakeisti","Find in text…":"Surasti tekste...","Find in the document":"Ieškoti dokumente","Match case":"Sutapties atvejis","Next result":"Kitas rezultatas","Previous result":"Buvęs rezultatas",Replace:"Pakeisti","Replace all":"Pakeisti visus","Replace with…":"Sukeisti su...","Text to find must not be empty.":"Ieškomas tekstas negali būti tuščias.","Tip: Find some text first in order to replace it.":"Patarimas: Pirmiausiai suraskite teksto, jog jį sukeistumėte.","Whole words only":"Tik vientisus žodžius"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
!function(t){const e=t.lv=t.lv||{};e.dictionary=Object.assign(e.dictionary||{},{"Advanced options":"Uzlabotas iespējas",Find:"Meklēt","Find and replace":"Meklēt un aizstāt","Find in text…":"Meklēt tekstā...","Find in the document":"Meklēt dokumentā","Match case":"Precīza atbilstība","Next result":"Nākamais rezultāts","Previous result":"Iepriekšējais rezultāts",Replace:"Aizstāt","Replace all":"Aizstāt visu","Replace with…":"Aizstāt ar...","Text to find must not be empty.":"Meklēšanas tekstam jābūt aizpildītam.","Tip: Find some text first in order to replace it.":"Padoms: Sākumā uzmeklējiet tekstu un tikai tad aizstājiet to.","Whole words only":"Tikai pilni vārdi"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
!function(a){const n=a.ms=a.ms||{};n.dictionary=Object.assign(n.dictionary||{},{"Advanced options":"Pilihan lanjutan",Find:"Cari","Find and replace":"Cari dan ganti","Find in text…":"Cari dalam teks...","Find in the document":"Cari dalam dokumen","Match case":"Sesuaikan kes","Next result":"Keputusan seterusnya","Previous result":"Keputusan sebelumnya",Replace:"Ganti","Replace all":"Ganti semua","Replace with…":"Gantikan dengan...","Text to find must not be empty.":"Teks yang hendak dicari tidak boleh ditinggalkan kosong.","Tip: Find some text first in order to replace it.":"Petua: Cari teks terlebih dahulu untuk menggantikannya.","Whole words only":"Perkataan penuh sahaja"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
!function(e){const n=e.nl=e.nl||{};n.dictionary=Object.assign(n.dictionary||{},{"Advanced options":"Geavanceerde opties",Find:"Zoeken","Find and replace":"Zoeken en vervangen","Find in text…":"Zoeken in tekst","Find in the document":"Zoek in het document","Match case":"Hoofdlettergevoelig","Next result":"Vorige zoeken","Previous result":"Volgende zoeken",Replace:"Vervangen","Replace all":"Alles vervangen","Replace with…":"Vervangen door","Text to find must not be empty.":"Dit veld mag niet leeg zijn","Tip: Find some text first in order to replace it.":"Tip: zoek eerst de tekst om hem te vervangen","Whole words only":"Alleen volledige woorden"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
!function(t){const e=t.no=t.no||{};e.dictionary=Object.assign(e.dictionary||{},{"Advanced options":"Avanserte alternativer",Find:"Søk","Find and replace":"Søk og erstatt","Find in text…":"Søk i tekst","Find in the document":"Finn i dokumentet","Match case":"Skill mellom store og små bokstaver","Next result":"Neste resultat","Previous result":"Forrige resultat",Replace:"Erstatt","Replace all":"Erstatt alt","Replace with…":"Erstatt med …","Text to find must not be empty.":"Teksten som skal finnes må ikke være tom","Tip: Find some text first in order to replace it.":"Tips: Finn noe tekst først for å kunne erstatte den.","Whole words only":"Kun hele ord"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
!function(e){const i=e.pl=e.pl||{};i.dictionary=Object.assign(i.dictionary||{},{"Advanced options":"Opcje zaawansowane",Find:"Znajdź","Find and replace":"Znajdź i zamień","Find in text…":"Znajdź…","Find in the document":"Otwiera interfejs Znajdź w dokumencie","Match case":"Uwzględnij wielkość liter","Next result":"Następny","Previous result":"Poprzedni",Replace:"Zamień","Replace all":"Zamień wszystko","Replace with…":"Zamień na…","Text to find must not be empty.":"Szukany tekst nie może być pusty.","Tip: Find some text first in order to replace it.":"Podpowiedź: Znajdź jakiś tekst, aby go zamienić.","Whole words only":"Znajdź tylko całe wyrazy"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
!function(i){const t=i["pt-br"]=i["pt-br"]||{};t.dictionary=Object.assign(t.dictionary||{},{"Advanced options":"Opções avançadas",Find:"Localizar","Find and replace":"Localizar e substituir","Find in text…":"Localizar no texto","Find in the document":"Pesquisar no documento","Match case":"Diferenciar maiúsculas de minúsculas","Next result":"Próxima ocorrência","Previous result":"Ocorrência anterior",Replace:"Substituir","Replace all":"Substituir todos","Replace with…":"Substituir por...","Text to find must not be empty.":"O texto a ser localizado não pode ser vazio.","Tip: Find some text first in order to replace it.":"Dica: Localize algum texto primeiro para poder substituí-lo.","Whole words only":"Apenas palavras inteiras"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
!function(t){const e=t.pt=t.pt||{};e.dictionary=Object.assign(e.dictionary||{},{"Advanced options":"Opções avançadas",Find:"Encontrar","Find and replace":"Encontrar e substituir","Find in text…":"Encontrar no texto...","Find in the document":"Localizar no documento","Match case":"Corresponder maiúsculas/minúsculas","Next result":"Resultado seguinte","Previous result":"Resultado anterior",Replace:"Substituir","Replace all":"Substituir todos","Replace with…":"Substituir por...","Text to find must not be empty.":"O texto a pesquisar não pode estar vazio.","Tip: Find some text first in order to replace it.":"Dica: Encontre algum texto primeiro para poder substituí-lo.","Whole words only":"Apenas palavras inteiras"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
!function(e){const t=e.ro=e.ro||{};t.dictionary=Object.assign(t.dictionary||{},{"Advanced options":"Opțiuni avansate",Find:"Găsire","Find and replace":"Găsire și înlocuire","Find in text…":"Găsire în text...","Find in the document":"Căutare în document","Match case":"Potrivire litere mari și mici","Next result":"Rezultatul următor","Previous result":"Rezultatul anterior",Replace:"Înlocuire","Replace all":"Înlocuire toate","Replace with…":"Înlocuire cu...","Text to find must not be empty.":"„Text de găsit” nu poate fi lăsat gol.","Tip: Find some text first in order to replace it.":"Sfat: Mai întâi găsiți textul pentru a-l înlocui.","Whole words only":"Doar cuvinte întregi"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
!function(e){const t=e.ru=e.ru||{};t.dictionary=Object.assign(t.dictionary||{},{"Advanced options":"Дополнительные параметры",Find:"Найти","Find and replace":"Найти и заменить","Find in text…":"Найти в тексте","Find in the document":"Найти в документе","Match case":"С учетом регистра","Next result":"Следующий результат","Previous result":"Предыдущий результат",Replace:"Заменить","Replace all":"Заменить всё","Replace with…":"Заменить на...","Text to find must not be empty.":"Искомый текст не должен быть пустым.","Tip: Find some text first in order to replace it.":"Совет: сначала найдите текст, чтобы заменить его.","Whole words only":"Только слова целиком"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
!function(e){const a=e.sk=e.sk||{};a.dictionary=Object.assign(a.dictionary||{},{"Advanced options":"Pokročilé nastavenia",Find:"Vyhľadať","Find and replace":"Vyhľadať a nahradiť","Find in text…":"Vyhľadať v texte...","Find in the document":"Nájsť v dokumente","Match case":"Presná zhoda","Next result":"Nasledujúci výsledok","Previous result":"Predchádzajúci výsledok",Replace:"Nahradiť","Replace all":"Nahradiť všetko","Replace with…":"Nahradiť za...","Text to find must not be empty.":"Text vyhľadávania nemôže byť prázdny.","Tip: Find some text first in order to replace it.":"Tip: Najskôr vyhľadajte text, ktorý následne môžete nahradiť.","Whole words only":"Iba celé slová"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
!function(e){const i=e["sr-latn"]=e["sr-latn"]||{};i.dictionary=Object.assign(i.dictionary||{},{"Advanced options":"",Find:"Pronađji","Find and replace":"Nađji i zameni","Find in text…":"Pronađji u tekstu…","Find in the document":"","Match case":"Podudaranje slučaj","Next result":"Sledeći rezultat","Previous result":"Prethodni rezultat",Replace:"Zameni","Replace all":"Zameni sve","Replace with…":"Zameni sa…","Text to find must not be empty.":"Tekst za pronalaženje ne sme biti prazan.","Tip: Find some text first in order to replace it.":"Savet: Prvo pronađjite neki tekst da biste ga zamenili.","Whole words only":"Samo cele reči"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
!function(e){const t=e.sr=e.sr||{};t.dictionary=Object.assign(t.dictionary||{},{"Advanced options":"Napredne opcije",Find:"Пронаћи","Find and replace":"Нађи и замени","Find in text…":"Пронађи у тексту… ","Find in the document":"Nađi u dokumentu","Match case":"Подударање случај ","Next result":"Следећи резултат ","Previous result":"Претходни резултат ",Replace:"Замени","Replace all":"Замени све","Replace with…":"Замени са…","Text to find must not be empty.":"Текст за проналажење не сме бити празан.","Tip: Find some text first in order to replace it.":"Савет: Прво пронађите неки текст да бисте га заменили. ","Whole words only":"Само целе речи "})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
!function(t){const e=t.sv=t.sv||{};e.dictionary=Object.assign(e.dictionary||{},{"Advanced options":"Avancerade alternativ",Find:"Hitta","Find and replace":"Hitta och ersätt","Find in text…":"Hitta i text ...","Find in the document":"Hitta i dokumentet","Match case":"Matcha versaler","Next result":"Nästa träff","Previous result":"Föregående träff",Replace:"Ersätt","Replace all":"Ersätt alla","Replace with…":"Ersätt med ...","Text to find must not be empty.":"Text att hitta får inte vara tom.","Tip: Find some text first in order to replace it.":"Tips: Hitta någon text först för att ersätta den.","Whole words only":"Enbart hela ord"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
!function(e){const t=e.th=e.th||{};t.dictionary=Object.assign(t.dictionary||{},{"Advanced options":"ตัวเลือกขั้นสูง",Find:"ค้นหา","Find and replace":"ค้นหาและแทนที่","Find in text…":"ค้นหาในข้อความ...","Find in the document":"ค้นหาในเอกสาร","Match case":"ตัวใหญ่-เล็ก ตรงกัน","Next result":"ผลลัพธ์ถัดไป","Previous result":"ผลลัพธ์ก่อนหน้านี้",Replace:"แทนที่","Replace all":"แทนที่ทั้งหมด","Replace with…":"แทนที่ด้วย...","Text to find must not be empty.":"ข้อความที่จะค้นหาต้องไม่ว่างเปล่า","Tip: Find some text first in order to replace it.":"เคล็ดลับ: ค้นหาข้อความบางอย่างก่อนจึงจะแทนที่ได้","Whole words only":"ตรงกันทุกตัวอักษร"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
!function(e){const i=e.tr=e.tr||{};i.dictionary=Object.assign(i.dictionary||{},{"Advanced options":"Gelişmiş seçenekler",Find:"Bul","Find and replace":"Bul ve değiştir","Find in text…":"Metinde bul...","Find in the document":"Belgede bul","Match case":"Büyük küçük harfe duyarlı","Next result":"Sonraki sonuç","Previous result":"Önceki sonuç",Replace:"Değiştir","Replace all":"Hepsini değiştir","Replace with…":"Şununla değiştir...","Text to find must not be empty.":"Bulunacak metin boş bırakılmamalıdır.","Tip: Find some text first in order to replace it.":"İpucu: Değiştirmek için önce bir metin bul.","Whole words only":"Sadece bütün kelimeler"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
!function(t){const e=t.tt=t.tt||{};e.dictionary=Object.assign(e.dictionary||{},{"Advanced options":"",Find:"Таб","Find and replace":"","Find in text…":"Текстта таб...","Find in the document":"","Match case":"","Next result":"","Previous result":"",Replace:"","Replace all":"","Replace with…":"","Text to find must not be empty.":"","Tip: Find some text first in order to replace it.":"","Whole words only":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
!function(e){const t=e.ug=e.ug||{};t.dictionary=Object.assign(t.dictionary||{},{"Advanced options":"",Find:"ئىزدە","Find and replace":"ئىزدە ۋە ئالماشتۇر","Find in text…":"تېكىستتىن ئىزدە…","Find in the document":"","Match case":"چوڭ كىچىك ھەرپنى پەرقلەندۈر","Next result":"كېيىنكى نەتىجە","Previous result":"ئالدىنقى نەتىجە",Replace:"ئالماشتۇر","Replace all":"ھەممىنى ئالماشتۇر","Replace with…":"ئالماشتۇرۇلۇدىغىنى…","Text to find must not be empty.":"ئىزدەيدىغان تېكىست بوش قالدۇرۇلمايدۇ.","Tip: Find some text first in order to replace it.":"ئەسكەرتىش: ئاۋال ئىزدەپ ئاندىن ئالماشتۇرىدۇ.","Whole words only":"سۆزلا"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
!function(e){const t=e.uk=e.uk||{};t.dictionary=Object.assign(t.dictionary||{},{"Advanced options":"Розширені опції",Find:"Знайти","Find and replace":"Знайти та замінити","Find in text…":"Знайти в тексті…","Find in the document":"Пошук в документі","Match case":"Врахувати регістр","Next result":"Наступний результат","Previous result":"Попередній результат",Replace:"Замінити","Replace all":"Замінити все","Replace with…":"Замінити…","Text to find must not be empty.":"Текст для пошуку не повинен бути порожнім.","Tip: Find some text first in order to replace it.":"Порада: спочатку знайдіть текст, щоб замінити його.","Whole words only":"Тільки цілі слова"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
!function(e){const t=e.ur=e.ur||{};t.dictionary=Object.assign(t.dictionary||{},{"Advanced options":"",Find:"تلاش","Find and replace":"تلاش و تبدیل","Find in text…":"متن میں تلاش۔۔۔","Find in the document":"","Match case":"بڑے چھوٹے حروف کا خیال رکھیں","Next result":"اگلا نتیجہ","Previous result":"گزشتہ نتیجہ",Replace:"بدل دیں","Replace all":"تمام بدل دیں","Replace with…":"اور اس سے تبدیل کریں...","Text to find must not be empty.":"تلاش کے لیے متن خالی نہیں ہونا چاہیے۔","Tip: Find some text first in order to replace it.":"نکتہ: تبدیل کرنے کے لیے پہلے متن کو تلاش کریں۔","Whole words only":"صرف الفاظ"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
!function(t){const n=t.vi=t.vi||{};n.dictionary=Object.assign(n.dictionary||{},{"Advanced options":"Tùy chọn nâng cao",Find:"Tìm","Find and replace":"Tìm và thay thế","Find in text…":"Tìm trong văn bản...","Find in the document":"Tìm trong tài liệu","Match case":"Khớp chữ hoa/chữ thường","Next result":"Kết quả tiếp theo","Previous result":"Kết quả trước",Replace:"Thay thế","Replace all":"Thay thế tất cả","Replace with…":"Thay thế bằng...","Text to find must not be empty.":"Không được để trống trường văn bản cần tìm.","Tip: Find some text first in order to replace it.":"Mẹo: Tìm một đoạn văn bản trước để thay thế.","Whole words only":"Chỉ toàn bộ từ"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
!function(e){const n=e["zh-cn"]=e["zh-cn"]||{};n.dictionary=Object.assign(n.dictionary||{},{"Advanced options":"高级选项",Find:"查找","Find and replace":"查找和替换","Find in text…":"查找的文本","Find in the document":"在文档中查找","Match case":"区分大小写","Next result":"下一个匹配项","Previous result":"上一个匹配项",Replace:"替换","Replace all":"全部替换","Replace with…":"替换的文本","Text to find must not be empty.":"查找的文本不可为空","Tip: Find some text first in order to replace it.":"提示:先查找文本再替换","Whole words only":"单词"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
!function(e){const t=e.zh=e.zh||{};t.dictionary=Object.assign(t.dictionary||{},{"Advanced options":"進階選項",Find:"尋找","Find and replace":"尋找和取代","Find in text…":"在文本中尋找","Find in the document":"在文件中尋找","Match case":"大小寫需相符","Next result":"後一個結果","Previous result":"前一個結果",Replace:"取代","Replace all":"全部取代","Replace with…":"以…替代","Text to find must not be empty.":"不能查找空字串","Tip: Find some text first in order to replace it.":"提示:先查找字串再取代","Whole words only":"僅全字拼寫"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
This diff is collapsed.
[ZoneTransfer]
ZoneId=3
HostUrl=https://cdn.ckeditor.com/ckeditor5/41.3.1/dll/font/font.js
This diff is collapsed.
[ZoneTransfer]
ZoneId=3
HostUrl=https://cdn.ckeditor.com/ckeditor5/41.3.1/dll/highlight/highlight.js
!function(e){const t=e.en=e.en||{};t.dictionary=Object.assign(t.dictionary||{},{"Page break":"Page break"})}(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={835:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var r=n(935),a=n.n(r)()((function(e){return e[1]}));a.push([e.id,'.ck-content .page-break{align-items:center;clear:both;display:flex;justify-content:center;padding:5px 0;position:relative}.ck-content .page-break:after{border-bottom:2px dashed #c4c4c4;content:"";position:absolute;width:100%}.ck-content .page-break__label{background:#fff;border:1px solid #c4c4c4;border-radius:2px;box-shadow:2px 2px 1px rgba(0,0,0,.15);color:#333;display:block;font-family:Helvetica,Arial,Tahoma,Verdana,Sans-Serif;font-size:.75em;font-weight:700;padding:.3em .6em;position:relative;text-transform:uppercase;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1}@media print{.ck-content .page-break{padding:0}.ck-content .page-break:after{display:none}}',""]);const o=a},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,r){"string"==typeof e&&(e=[[null,e,""]]);var a={};if(r)for(var o=0;o<this.length;o++){var i=this[o][0];null!=i&&(a[i]=!0)}for(var s=0;s<e.length;s++){var c=[].concat(e[s]);r&&a[c[0]]||(n&&(c[2]?c[2]="".concat(n," and ").concat(c[2]):c[2]=n),t.push(c))}},t}},591:(e,t,n)=>{"use strict";var r,a=function(){return void 0===r&&(r=Boolean(window&&document&&document.all&&!window.atob)),r},o=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]}}(),i=[];function s(e){for(var t=-1,n=0;n<i.length;n++)if(i[n].identifier===e){t=n;break}return t}function c(e,t){for(var n={},r=[],a=0;a<e.length;a++){var o=e[a],c=t.base?o[0]+t.base:o[0],l=n[c]||0,d="".concat(c," ").concat(l);n[c]=l+1;var u=s(d),p={css:o[1],media:o[2],sourceMap:o[3]};-1!==u?(i[u].references++,i[u].updater(p)):i.push({identifier:d,updater:h(p,t),references:1}),r.push(d)}return r}function l(e){var t=document.createElement("style"),r=e.attributes||{};if(void 0===r.nonce){var a=n.nc;a&&(r.nonce=a)}if(Object.keys(r).forEach((function(e){t.setAttribute(e,r[e])})),"function"==typeof e.insert)e.insert(t);else{var i=o(e.insert||"head");if(!i)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");i.appendChild(t)}return t}var d,u=(d=[],function(e,t){return d[e]=t,d.filter(Boolean).join("\n")});function p(e,t,n,r){var a=n?"":r.media?"@media ".concat(r.media," {").concat(r.css,"}"):r.css;if(e.styleSheet)e.styleSheet.cssText=u(t,a);else{var o=document.createTextNode(a),i=e.childNodes;i[t]&&e.removeChild(i[t]),i.length?e.insertBefore(o,i[t]):e.appendChild(o)}}function f(e,t,n){var r=n.css,a=n.media,o=n.sourceMap;if(a?e.setAttribute("media",a):e.removeAttribute("media"),o&&"undefined"!=typeof btoa&&(r+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(o))))," */")),e.styleSheet)e.styleSheet.cssText=r;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(r))}}var g=null,m=0;function h(e,t){var n,r,a;if(t.singleton){var o=m++;n=g||(g=l(t)),r=p.bind(null,n,o,!1),a=p.bind(null,n,o,!0)}else n=l(t),r=f.bind(null,n,t),a=function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(n)};return r(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;r(e=t)}else a()}}e.exports=function(e,t){(t=t||{}).singleton||"boolean"==typeof t.singleton||(t.singleton=a());var n=c(e=e||[],t);return function(e){if(e=e||[],"[object Array]"===Object.prototype.toString.call(e)){for(var r=0;r<n.length;r++){var a=s(n[r]);i[a].references--}for(var o=c(e,t),l=0;l<n.length;l++){var d=s(n[l]);0===i[d].references&&(i[d].updater(),i.splice(d,1))}n=o}}}},782:(e,t,n)=>{e.exports=n(237)("./src/core.js")},311:(e,t,n)=>{e.exports=n(237)("./src/ui.js")},901:(e,t,n)=>{e.exports=n(237)("./src/widget.js")},237:e=>{"use strict";e.exports=CKEditor5.dll}},t={};function n(r){var a=t[r];if(void 0!==a)return a.exports;var o=t[r]={id:r,exports:{}};return e[r](o,o.exports,n),o.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 r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},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 r={};(()=>{"use strict";n.r(r),n.d(r,{PageBreak:()=>p,PageBreakEditing:()=>l,PageBreakUI:()=>u});var e=n(782),t=n(901);class a extends e.Command{refresh(){const e=this.editor.model,n=e.schema,r=e.document.selection;this.isEnabled=function(e,n,r){const a=function(e,n){const r=(0,t.findOptimalInsertionRange)(e,n),a=r.start.parent;if(a.isEmpty&&!a.is("element","$root"))return a.parent;return a}(e,r);return n.checkChild(a,"pageBreak")}(r,n,e)}execute(){const e=this.editor.model;e.change((t=>{const n=t.createElement("pageBreak");e.insertObject(n,null,null,{setSelection:"after"})}))}}var o=n(591),i=n.n(o),s=n(835),c={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};i()(s.A,c);s.A.locals;class l extends e.Plugin{static get pluginName(){return"PageBreakEditing"}init(){const e=this.editor,n=e.model.schema,r=e.t,o=e.conversion;n.register("pageBreak",{inheritAllFrom:"$blockObject"}),o.for("dataDowncast").elementToStructure({model:"pageBreak",view:(e,{writer:t})=>t.createContainerElement("div",{class:"page-break",style:"page-break-after: always"},t.createContainerElement("span",{style:"display: none"}))}),o.for("editingDowncast").elementToStructure({model:"pageBreak",view:(e,{writer:n})=>{const a=r("Page break"),o=n.createContainerElement("div"),i=n.createRawElement("span",{class:"page-break__label"},(function(e){e.innerText=r("Page break")}));return n.addClass("page-break",o),n.insert(n.createPositionAt(o,0),i),function(e,n,r){return n.setCustomProperty("pageBreak",!0,e),(0,t.toWidget)(e,n,{label:r})}(o,n,a)}}),o.for("upcast").elementToElement({view:e=>{const t="always"==e.getStyle("page-break-before"),n="always"==e.getStyle("page-break-after");if(!t&&!n)return null;if(1==e.childCount){const t=e.getChild(0);if(!t.is("element","span")||"none"!=t.getStyle("display"))return null}else if(e.childCount>1)return null;return{name:!0}},model:"pageBreak",converterPriority:"high"}),e.commands.add("pageBreak",new a(e))}}var d=n(311);class u extends e.Plugin{static get pluginName(){return"PageBreakUI"}init(){const e=this.editor;e.ui.componentFactory.add("pageBreak",(()=>{const e=this._createButton(d.ButtonView);return e.set({tooltip:!0}),e})),e.ui.componentFactory.add("menuBar:pageBreak",(()=>this._createButton(d.MenuBarMenuListItemButtonView)))}_createButton(e){const t=this.editor,n=t.locale,r=t.commands.get("pageBreak"),a=new e(t.locale),o=n.t;return a.set({label:o("Page break"),icon:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M3.598.687h1.5v5h-1.5zm14.5 0h1.5v5h-1.5z"/><path d="M19.598 4.187v1.5h-16v-1.5zm-16 14.569h1.5v-5h-1.5zm14.5 0h1.5v-5h-1.5z"/><path d="M19.598 15.256v-1.5h-16v1.5zM5.081 9h6v2h-6zm8 0h6v2h-6zm-9.483 1L0 12.5v-5z"/></svg>'}),a.bind("isEnabled").to(r,"isEnabled"),this.listenTo(a,"execute",(()=>{t.execute("pageBreak"),t.editing.view.focus()})),a}}class p extends e.Plugin{static get requires(){return[l,u,t.Widget]}static get pluginName(){return"PageBreak"}}})(),(window.CKEditor5=window.CKEditor5||{}).pageBreak=r})();
\ No newline at end of file
[ZoneTransfer]
ZoneId=3
HostUrl=https://cdn.ckeditor.com/ckeditor5/41.3.1/dll/page-break/page-break.js
This diff is collapsed.
[ZoneTransfer]
ZoneId=3
HostUrl=https://cdn.ckeditor.com/ckeditor5/41.3.1/dll/template/template.js
!function(t){const e=t.en=t.en||{};e.dictionary=Object.assign(e.dictionary||{},{"Characters: %0":"Characters: %0","Words: %0":"Words: %0"})}(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 t={782:(t,e,r)=>{t.exports=r(237)("./src/core.js")},311:(t,e,r)=>{t.exports=r(237)("./src/ui.js")},584:(t,e,r)=>{t.exports=r(237)("./src/utils.js")},237:t=>{"use strict";t.exports=CKEditor5.dll}},e={};function r(o){var n=e[o];if(void 0!==n)return n.exports;var i=e[o]={exports:{}};return t[o](i,i.exports,r),i.exports}r.d=(t,e)=>{for(var o in e)r.o(e,o)&&!r.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:e[o]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var o={};(()=>{"use strict";r.r(o),r.d(o,{WordCount:()=>z});var t=r(782),e=r(311),n=r(584);function i(t){if(t.is("$text")||t.is("$textProxy"))return t.data;const e=t;let r="",o=null;for(const t of e.getChildren()){const e=i(t);o&&o.is("element")&&(r+="\n"),r+=e,o=t}return r}const s=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)};const c="object"==typeof global&&global&&global.Object===Object&&global;var a="object"==typeof self&&self&&self.Object===Object&&self;const u=c||a||Function("return this")();const d=function(){return u.Date.now()};var l=/\s/;const f=function(t){for(var e=t.length;e--&&l.test(t.charAt(e)););return e};var h=/^\s+/;const p=function(t){return t?t.slice(0,f(t)+1).replace(h,""):t};const g=u.Symbol;var v=Object.prototype,b=v.hasOwnProperty,w=v.toString,y=g?g.toStringTag:void 0;const _=function(t){var e=b.call(t,y),r=t[y];try{t[y]=void 0;var o=!0}catch(t){}var n=w.call(t);return o&&(e?t[y]=r:delete t[y]),n};var m=Object.prototype.toString;const j=function(t){return m.call(t)};var x=g?g.toStringTag:void 0;const O=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":x&&x in Object(t)?_(t):j(t)};const T=function(t){return null!=t&&"object"==typeof t};const C=function(t){return"symbol"==typeof t||T(t)&&"[object Symbol]"==O(t)};var S=/^[-+]0x[0-9a-f]+$/i,E=/^0b[01]+$/i,W=/^0o[0-7]+$/i,N=parseInt;const P=function(t){if("number"==typeof t)return t;if(C(t))return NaN;if(s(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=s(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=p(t);var r=E.test(t);return r||W.test(t)?N(t.slice(2),r?2:8):S.test(t)?NaN:+t};var V=Math.max,L=Math.min;const R=function(t,e,r){var o,n,i,c,a,u,l=0,f=!1,h=!1,p=!0;if("function"!=typeof t)throw new TypeError("Expected a function");function g(e){var r=o,i=n;return o=n=void 0,l=e,c=t.apply(i,r)}function v(t){var r=t-u;return void 0===u||r>=e||r<0||h&&t-l>=i}function b(){var t=d();if(v(t))return w(t);a=setTimeout(b,function(t){var r=e-(t-u);return h?L(r,i-(t-l)):r}(t))}function w(t){return a=void 0,p&&o?g(t):(o=n=void 0,c)}function y(){var t=d(),r=v(t);if(o=arguments,n=this,u=t,r){if(void 0===a)return function(t){return l=t,a=setTimeout(b,e),f?g(t):c}(u);if(h)return clearTimeout(a),a=setTimeout(b,e),g(u)}return void 0===a&&(a=setTimeout(b,e)),c}return e=P(e)||0,s(r)&&(f=!!r.leading,i=(h="maxWait"in r)?V(P(r.maxWait)||0,e):i,p="trailing"in r?!!r.trailing:p),y.cancel=function(){void 0!==a&&clearTimeout(a),l=0,o=u=n=a=void 0},y.flush=function(){return void 0===a?c:w(d())},y};const A=function(t,e,r){var o=!0,n=!0;if("function"!=typeof t)throw new TypeError("Expected a function");return s(r)&&(o="leading"in r?!!r.leading:o,n="trailing"in r?!!r.trailing:n),R(t,e,{leading:o,maxWait:e,trailing:n})};const M=function(t,e){return function(r){return t(e(r))}}(Object.getPrototypeOf,Object);var I=Function.prototype,K=Object.prototype,$=I.toString,k=K.hasOwnProperty,U=$.call(Object);const D=function(t){if(!T(t)||"[object Object]"!=O(t))return!1;var e=M(t);if(null===e)return!0;var r=k.call(e,"constructor")&&e.constructor;return"function"==typeof r&&r instanceof r&&$.call(r)==U};const F=function(t){return T(t)&&1===t.nodeType&&!D(t)};class z extends t.Plugin{constructor(t){super(t),this.set("characters",0),this.set("words",0),Object.defineProperties(this,{characters:{get(){return this.characters=this._getCharacters(this._getText())}},words:{get(){return this.words=this._getWords(this._getText())}}}),this.set("_wordsLabel",void 0),this.set("_charactersLabel",void 0),this._config=t.config.get("wordCount")||{},this._outputView=void 0,this._wordsMatchRegExp=n.env.features.isRegExpUnicodePropertySupported?new RegExp("([\\p{L}\\p{N}]+\\S?)+","gu"):/([a-zA-Z0-9À-ž]+\S?)+/gu}static get pluginName(){return"WordCount"}init(){this.editor.model.document.on("change:data",A(this._refreshStats.bind(this),250)),"function"==typeof this._config.onUpdate&&this.on("update",((t,e)=>{this._config.onUpdate(e)})),F(this._config.container)&&this._config.container.appendChild(this.wordCountContainer)}destroy(){this._outputView&&(this._outputView.element.remove(),this._outputView.destroy()),super.destroy()}get wordCountContainer(){const t=this.editor,r=t.t,o=t.config.get("wordCount.displayWords"),n=t.config.get("wordCount.displayCharacters"),i=e.Template.bind(this,this),s=[];return this._outputView||(this._outputView=new e.View,(o||void 0===o)&&(this.bind("_wordsLabel").to(this,"words",(t=>r("Words: %0",t))),s.push({tag:"div",children:[{text:[i.to("_wordsLabel")]}],attributes:{class:"ck-word-count__words"}})),(n||void 0===n)&&(this.bind("_charactersLabel").to(this,"characters",(t=>r("Characters: %0",t))),s.push({tag:"div",children:[{text:[i.to("_charactersLabel")]}],attributes:{class:"ck-word-count__characters"}})),this._outputView.setTemplate({tag:"div",attributes:{class:["ck","ck-word-count"]},children:s}),this._outputView.render()),this._outputView.element}_getText(){let t="";for(const e of this.editor.model.document.getRoots())""!==t&&(t+="\n"),t+=i(e);return t}_getCharacters(t){return t.replace(/\n/g,"").length}_getWords(t){return(t.match(this._wordsMatchRegExp)||[]).length}_refreshStats(){const t=this._getText(),e=this.words=this._getWords(t),r=this.characters=this._getCharacters(t);this.fire("update",{words:e,characters:r})}}})(),(window.CKEditor5=window.CKEditor5||{}).wordCount=o})();
\ No newline at end of file
[ZoneTransfer]
ZoneId=3
HostUrl=https://cdn.ckeditor.com/ckeditor5/41.3.1/dll/word-count/word-count.js
This diff is collapsed.
This file was automatically generated by Composer Patches (https://github.com/cweagans/composer-patches)
Patches applied to this directory:
Path to library
Source: ./patches/ckeditor5_plugin_pack/path_to_library.patch
ckeditor5_plugin_pack__drupal_powered_by:
ckeditor5:
plugins:
- drupalPoweredBy.DrupalPoweredBy
drupal:
label: Drupal powered by
elements: false
library: ckeditor5_plugin_pack/drupal_powered_by
class: Drupal\ckeditor5_plugin_pack\Plugin\CKEditor5Plugin\DrupalPoweredBy
name: CKEditor 5 Plugin Pack
type: module
description: "Provides common functions for other modules in the Plugin Pack."
package: CKEditor 5 Plugin Pack
core_version_requirement: ^9.4 || ^10.0
dependencies:
- drupal:editor
- drupal:ckeditor5
# Information added by Drupal.org packaging script on 2024-06-13
version: '1.1.0'
project: 'ckeditor5_plugin_pack'
datestamp: 1718271918
drupal_powered_by:
version: 20240325
js:
js/build/drupalPoweredBy.js: { minified: true }
<?php
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see https://ckeditor.com/legal/ckeditor-oss-license
*/
use Drupal\ckeditor5_plugin_pack\Utility\LibraryDefinitionItem;
/**
* @param array $libraries
* @return array
*/
function ckeditor5_plugin_pack_library_loader(array $libraries): array {
/** @var \Drupal\ckeditor5_plugin_pack\Config\SettingsConfigHandlerInterface $config_handler */
$config_handler = \Drupal::service('ckeditor5_plugin_pack.config_handler.settings');
$definitions = [];
foreach ($libraries as $library) {
$dll_location = $config_handler->getDllLocation();
// Local library.
$dll_location = str_replace('LIBRARY_NAME', $library, $dll_location);
$js_data = [
$dll_location . "$library.js" => [
'group' => JS_LIBRARY,
'type' => 'file',
'version' => $config_handler->getDllVersion(),
'minified' => FALSE,
],
];
$definition = new LibraryDefinitionItem(
$library,
"ckeditor5.$library",
$js_data,
);
$definitions[$definition->id()] = $definition->getDefinition();
}
return $definitions;
}
services:
ckeditor5_plugin_pack.core_library_version_checker:
class: Drupal\ckeditor5_plugin_pack\Utility\LibraryVersionChecker
arguments:
- '@library.discovery'
ckeditor5_plugin_pack.config_handler.settings:
class: Drupal\ckeditor5_plugin_pack\Config\SettingsConfigHandler
arguments:
- '@library.discovery'
{
"name": "drupal/ckeditor5_plugin_pack",
"type": "drupal-module",
"description": "The plugin pack for the CKEditor 5 WYSIWYG editor.",
"license": "GPL-2.0+",
"minimum-stability": "dev",
"homepage": "https://www.drupal.org/project/ckeditor5_plugin_pack",
"authors": [
{
"name": "Wojciech Kukowski (salmonek)",
"homepage": "https://www.drupal.org/u/salmonek",
"role": "Maintainer"
},
{
"name": "Dawid Olszewski (dolszewski)",
"homepage": "https://www.drupal.org/u/dolszewski",
"role": "Maintainer"
}
],
"support": {
"issues": "https://www.drupal.org/project/issues/ckeditor5_plugin_pack"
},
"require": {
"php": "^8.0",
"drupal/core": "^9.4 || ^10.0",
"drupal/ckeditor5_premium_features": "^1.2"
}
}
/*!
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see https://ckeditor.com/legal/ckeditor-oss-license
*/
!function(e,r){"object"==typeof exports&&"object"==typeof module?module.exports=r():"function"==typeof define&&define.amd?define([],r):"object"==typeof exports?exports.CKEditor5=r():(e.CKEditor5=e.CKEditor5||{},e.CKEditor5.drupalPoweredBy=r())}(self,(()=>(()=>{var e={"ckeditor5/src/core.js":(e,r,o)=>{e.exports=o("dll-reference CKEditor5.dll")("./src/core.js")},"dll-reference CKEditor5.dll":e=>{"use strict";e.exports=CKEditor5.dll}},r={};function o(t){var i=r[t];if(void 0!==i)return i.exports;var d=r[t]={exports:{}};return e[t](d,d.exports,o),d.exports}o.d=(e,r)=>{for(var t in r)o.o(r,t)&&!o.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},o.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r);var t={};return(()=>{"use strict";o.d(t,{default:()=>i});var e=o("ckeditor5/src/core.js");class r extends e.Plugin{static get pluginName(){return"drupalPoweredBy"}init(){const e=this.editor;e.config._config.drupalPoweredBy&&(e.config._config.ui?e.config._config.ui.poweredBy={forceVisible:!0}:e.config._config.ui={poweredBy:{forceVisible:!0}})}}const i={DrupalPoweredBy:r}})(),t=t.default})()));
\ No newline at end of file
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see https://ckeditor.com/legal/ckeditor-oss-license
*/
import { Plugin } from 'ckeditor5/src/core';
export default class DrupalPoweredBy extends Plugin {
static get pluginName() {
return 'drupalPoweredBy'
}
init() {
const editor = this.editor;
if (editor.config._config.drupalPoweredBy) {
if (!editor.config._config.ui) {
editor.config._config.ui = {
poweredBy: {
forceVisible: true
}
}
} else {
editor.config._config.ui.poweredBy = {
forceVisible: true
}
}
}
}
}
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see https://ckeditor.com/legal/ckeditor-oss-license
*/
import DrupalPoweredBy from './drupalPoweredBy';
export default {
DrupalPoweredBy: DrupalPoweredBy,
};
# CKEditor 5 Plugin Pack - Auto Image
This module is a part of CKEditor 5 Plugin Pack. It integrates the official Auto Image plugin with CKEditor 5 for Drupal 9 and 10.
The AutoImage plugin recognizes image links in the pasted content and embeds them shortly after they are injected into the document to speed up the editing.
Accepted image extensions are: jpg, jpeg, png, gif, and ico.
More info and demo available at https://ckeditor.com/docs/ckeditor5/latest/features/images/images-inserting.html#inserting-images-via-pasting-a-url-into-the-editor
## Installation and configuration
- Install CKEditor 5 Plugin Pack `composer require "drupal/ckeditor5_plugin_pack"`
- Enable `CKEditor 5` and `CKEditor 5 Auto Image`
- Create or edit existing rich text format that uses CKEditor 5 as editor: `/admin/config/content/formats`
- Enable the plugin in the CKEditor 5 plugin settings section.
No external dependencies required, the plugin is integrated directly via DLL Builds.
ckeditor5_plugin_pack_auto_image__auto_image:
ckeditor5:
plugins:
- image.AutoImage
drupal:
label: Auto Image
class: Drupal\ckeditor5_plugin_pack_auto_image\Plugin\CKEditor5Plugin\AutoImage
elements: false
conditions:
plugins:
- ckeditor5_image
name: CKEditor 5 Auto Image
type: module
description: "Provides the CKEditor 5 Auto Image plugin."
package: CKEditor 5 Plugin Pack
core_version_requirement: ^9.4 || ^10
dependencies:
- ckeditor5_plugin_pack:ckeditor5_plugin_pack
# Information added by Drupal.org packaging script on 2024-06-13
version: '1.1.0'
project: 'ckeditor5_plugin_pack'
datestamp: 1718271918
ckeditor5.plugin.ckeditor5_plugin_pack_auto_image__auto_image:
type: mapping
label: 'Auto Image'
mapping:
enabled:
type: boolean
label: 'Enabled'
<?php
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see https://ckeditor.com/legal/ckeditor-oss-license
*/
declare(strict_types=1);
namespace Drupal\ckeditor5_plugin_pack_auto_image\Plugin\CKEditor5Plugin;
use Drupal\ckeditor5\Plugin\CKEditor5PluginConfigurableInterface;
use Drupal\ckeditor5\Plugin\CKEditor5PluginConfigurableTrait;
use Drupal\ckeditor5\Plugin\CKEditor5PluginDefault;
use Drupal\Core\Form\FormStateInterface;
use Drupal\editor\EditorInterface;
/**
* CKEditor 5 Auto Image Plugin.
*
* @internal
* Plugin classes are internal.
*/
class AutoImage extends CKEditor5PluginDefault implements CKEditor5PluginConfigurableInterface {
use CKEditor5PluginConfigurableTrait;
/**
* {@inheritdoc}
*/
public function defaultConfiguration() {
return [
'enabled' => FALSE,
];
}
/**
* {@inheritdoc}
*/
public function buildConfigurationForm(array $form, FormStateInterface $form_state) {
$form['enabled'] = [
'#type' => 'checkbox',
'#title' => $this->t('Enable Auto Image'),
'#description' => $this->t('
The Auto Image plugin recognizes image links in the pasted content and embeds them shortly after they are injected into the document to speed up the editing. <br />
Accepted image extensions are: jpg, jpeg, png, gif, and ico.'),
'#default_value' => $this->configuration['enabled'] ?? FALSE,
];
return $form;
}
/**
* {@inheritdoc}
*/
public function validateConfigurationForm(array &$form, FormStateInterface $form_state) {
}
/**
* {@inheritdoc}
*/
public function submitConfigurationForm(array &$form, FormStateInterface $form_state) {
$values = $form_state->cleanValues()->getValues();
$this->configuration['enabled'] = (bool) $values['enabled'];
}
/**
* {@inheritdoc}
*/
public function getDynamicPluginConfig(array $static_plugin_config, EditorInterface $editor): array {
if (!$this->configuration['enabled']) {
$static_plugin_config['removePlugins'] = ['AutoImage'];
}
return $static_plugin_config;
}
}
# CKEditor 5 Plugin Pack - Find and replace
This module adds Find and Replace plugin for CKEditor 5 in Drupal 9 and 10.
The plugin allows to quickly find a desired phrase within the edited content and optionally replace it. The widget allows
to perform search with "Match case" and "Whole words only", additionally it allows to replace all found occurrences with
single click.
More info and demo available at https://ckeditor.com/docs/ckeditor5/latest/features/find-and-replace.html
## Installation and configuration
- Install CKEditor 5 Plugin Pack `composer require "drupal/ckeditor5_plugin_pack"`
- Enable `CKEditor 5` and `CKEditor 5 Find and replace`
- Create or edit existing rich text format that uses CKEditor 5 as editor: `/admin/config/content/formats`
- Drag & drop the "Find And Replace" widget from "Available buttons" to the "Active toolbar"
No external dependencies required, the plugin is integrated directly via DLL Builds.
## Attribution
This module is based on the [CKEditor Find/Replace](https://www.drupal.org/project/ckeditor_find) maintained by:
- Daniel Hansen ([dhansen](https://www.drupal.org/u/dhansen))
- Shawn Duncan ([FatherShawn](https://www.drupal.org/u/fathershawn))
- Kevin Finkenbinder ([kwfinken](https://www.drupal.org/u/kwfinken))
ckeditor5_plugin_pack_find_and_replace__find_and_replace:
ckeditor5:
plugins:
- findAndReplace.FindAndReplace
drupal:
label: Find and replace
elements: false
library: ckeditor5_plugin_pack_find_and_replace/find-and-replace
admin_library: ckeditor5_plugin_pack_find_and_replace/admin.find_and_replace
toolbar_items:
findAndReplace:
label: Find and replace
name: CKEditor 5 Find And Replace
type: module
description: 'Provides the CKEditor 5 Find and Replace plugin.'
package: CKEditor 5 Plugin Pack
core_version_requirement: ^9.4 || ^10
dependencies:
- ckeditor5_plugin_pack:ckeditor5_plugin_pack
# Information added by Drupal.org packaging script on 2024-06-13
version: '1.1.0'
project: 'ckeditor5_plugin_pack'
datestamp: 1718271918
<?php
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see https://ckeditor.com/legal/ckeditor-oss-license
*/
declare(strict_types=1);
/**
* Implements hook_library_info_build().
*/
function ckeditor5_plugin_pack_find_and_replace_library_info_build(): array {
return ckeditor5_plugin_pack_library_loader(['find-and-replace']);
}
/*
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see https://ckeditor.com/legal/ckeditor-oss-license
*/
.ckeditor5-toolbar-button-findAndReplace {
background-image: url(../icons/find-replace.svg);
}
/*
* Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
.ck-find-result {
background: var(--ck-color-highlight-background);
color: var(--ck-color-text);
}
.ck-find-result_selected {
background: hsl(29, 100%, 60%);
}
/*
* Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
.ck.ck-find-and-replace-form {
max-width: 100%;
}
.ck.ck-find-and-replace-form fieldset {
display: flex;
}
/* The find fieldset */
.ck.ck-find-and-replace-form fieldset.ck-find-and-replace-form__find .ck-results-counter {
position: absolute;
}
.ckeditor5-toolbar-button-findAndReplace {
background-image: url(../icons/find-replace.svg);
}
<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="m12.87 13.786 1.532-1.286 3.857 4.596a1 1 0 1 1-1.532 1.286l-3.857-4.596z"/><path d="M16.004 8.5a6.5 6.5 0 0 1-9.216 5.905c-1.154-.53-.863-1.415-.663-1.615.194-.194.564-.592 1.635-.141a4.5 4.5 0 0 0 5.89-5.904l-.104-.227 1.332-1.331c.045-.046.196-.041.224.007a6.47 6.47 0 0 1 .902 3.306zm-3.4-5.715c.562.305.742 1.106.354 1.494-.388.388-.995.414-1.476.178a4.5 4.5 0 0 0-6.086 5.882l.114.236-1.348 1.349c-.038.037-.17.022-.198-.023a6.5 6.5 0 0 1 5.54-9.9 6.469 6.469 0 0 1 3.1.784z"/><path d="M4.001 11.93.948 8.877a.2.2 0 0 1 .141-.341h6.106a.2.2 0 0 1 .141.341L4.283 11.93a.2.2 0 0 1-.282 0zm11.083-6.789 3.053 3.053a.2.2 0 0 1-.14.342H11.89a.2.2 0 0 1-.14-.342l3.052-3.053a.2.2 0 0 1 .282 0z"/></svg>
\ No newline at end of file
<?php
namespace Drupal\ckeditor5_plugin_pack_find_and_replace\Plugin\CKEditor4To5Upgrade;
use Drupal\ckeditor5\HTMLRestrictions;
use Drupal\ckeditor5\Plugin\CKEditor4To5UpgradePluginInterface;
use Drupal\filter\FilterFormatInterface;
use Drupal\Core\Plugin\PluginBase;
/**
* Provides a CKEditor4 to CKEditor5 upgrade path for the Find button.
*
* @CKEditor4To5Upgrade(
* id = "find",
* cke4_buttons = {
* "Find",
* "Find RTL",
* "Replace",
* },
* cke4_plugin_settings = {
* },
* cke5_plugin_elements_subset_configuration = {
* }
* )
*/
class Find extends PluginBase implements CKEditor4To5UpgradePluginInterface {
// phpcs:disable Drupal.NamingConventions.ValidFunctionNameSniff --inherited
/**
* {@inheritdoc}
*/
public function mapCKEditor4ToolbarButtonToCKEditor5ToolbarItem(string $cke4_button, HTMLRestrictions $text_format_html_restrictions): ?array {
$map = [
'Find' => 'findAndReplace',
'Find RTL' => 'findAndReplace',
'Replace' => 'findAndReplace',
];
if (array_key_exists($cke4_button, $map)) {
return [$map[$cke4_button]];
}
return NULL;
}
/**
* {@inheritdoc}
*/
public function mapCKEditor4SettingsToCKEditor5Configuration(string $cke4_plugin_id, array $cke4_plugin_settings): ?array {
throw new \OutOfBoundsException();
}
/**
* {@inheritdoc}
*/
public function computeCKEditor5PluginSubsetConfiguration(string $cke5_plugin_id, FilterFormatInterface $text_format): ?array {
throw new \OutOfBoundsException();
}
}
<?php
namespace Drupal\Tests\ckeditor5_plugin_pack_find_and_replace\FunctionalJavascript;
use Behat\Mink\Element\NodeElement;
use Drupal\ckeditor5\Plugin\Editor\CKEditor5;
use Drupal\editor\Entity\Editor;
use Drupal\filter\Entity\FilterFormat;
use Drupal\Tests\ckeditor5\FunctionalJavascript\CKEditor5TestBase;
use Drupal\Tests\ckeditor5\Traits\CKEditor5TestTrait;
use Drupal\user\RoleInterface;
use Symfony\Component\Validator\ConstraintViolation;
/**
* Verify presence and function of findAndReplace button.
*
* @group ckeditor_find
*/
class FindReplaceTest extends CKEditor5TestBase {
use CKEditor5TestTrait;
/**
* {@inheritdoc}
*/
protected static $modules = [
'ckeditor_find',
];
/**
* Verify button and functionality.
*/
public function testFindReplacePlugin() {
$page = $this->getSession()->getPage();
$assert_session = $this->assertSession();
FilterFormat::create([
'format' => 'ckeditor5',
'name' => 'CKEditor 5 with find-replace',
'roles' => [RoleInterface::AUTHENTICATED_ID],
])->save();
Editor::create([
'format' => 'ckeditor5',
'editor' => 'ckeditor5',
'settings' => [
'toolbar' => [
'items' => ['findAndReplace'],
],
],
])->save();
$this->assertSame([], array_map(
function (ConstraintViolation $v) {
return (string) $v->getMessage();
},
iterator_to_array(CKEditor5::validatePair(
Editor::load('ckeditor5'),
FilterFormat::load('ckeditor5')
))
));
$values = [
'body' => [
'value' => '<p>This is the first test content paragraph</p><p>This is the second test content paragraph</p>',
'format' => 'ckeditor5',
],
];
$node = $this->drupalCreateNode($values);
$this->drupalGet('node/' . $node->id() . '/edit');
$this->waitForEditor();
// Ensure that CKEditor 5 is focused.
$this->click('.ck-content');
$this->assertEditorButtonEnabled('Find and replace');
$this->pressEditorButton('Find and replace');
$findText = $page->find('css', 'fieldset.ck-find-and-replace-form__find input');
$this->isInstanceOf(NodeElement::class, $findText);
$findButton = $page->find('css', 'fieldset.ck-find-and-replace-form__find button.ck-button-find');
$this->isInstanceOf(NodeElement::class, $findButton);
$results = $page->find('css', 'span.ck-results-counter');
$this->isInstanceOf(NodeElement::class, $results);
$findText->setValue('paragraph');
$findButton->click();
$resultText = $results->getText();
$this->assertStringContainsString('of 2', $resultText);
}
}
# CKEditor 5 Plugin Pack - Font Plugins
This module is a part of CKEditor 5 Plugin Pack. It integrates the official font plugins with CKEditor 5 for Drupal 9 and 10.
## Module contents
The module adds integration of `FontFamily`, `FontSize`, `FontColor` and `FontBackgroundColor` plugins.
More info and demo available at https://ckeditor.com/docs/ckeditor5/latest/features/font.html
## Installation and configuration
- Install CKEditor 5 Plugin Pack `composer require "drupal/ckeditor5_plugin_pack"`
- Enable `CKEditor 5` and `CKEditor 5 Font Plugins`
- Create or edit existing rich text format that uses CKEditor 5 as editor: `/admin/config/content/formats`
- Drag & drop the widgets you want to use from "Available buttons" to the "Active toolbar"
- Optionally, specify your own custom options in the CKEditor 5 plugin settings section
No external dependencies required, the plugin is integrated directly via DLL Builds.
## Attribution
This module is based on the [CKEditor 5 - Font Plugin (Text Color, Background Color)](https://www.drupal.org/project/ckeditor5_font) maintained by:
- Ivan Sollima ([devicious](https://www.drupal.org/u/devicious))
- [renatog](https://www.drupal.org/u/renatog)
- Daniel Bielke ([dbielke1986](https://www.drupal.org/u/dbielke1986))
That project followed the trails of the old https://www.drupal.org/project/colorbutton project for CKEditor 4.
ckeditor5_plugin_pack_font__font_color:
ckeditor5:
plugins:
- font.FontColor
- font.FontBackgroundColor
drupal:
label: Font colors
library: ckeditor5_plugin_pack_font/font
admin_library: ckeditor5_plugin_pack_font/admin.font
elements:
- <span>
class: Drupal\ckeditor5_plugin_pack_font\Plugin\CKEditor5Plugin\FontColor
toolbar_items:
fontColor:
label: Color
fontBackgroundColor:
label: Background
ckeditor5_plugin_pack_font__font_family:
ckeditor5:
plugins:
- font.FontFamily
drupal:
label: Font family
library: ckeditor5_plugin_pack_font/font
admin_library: ckeditor5_plugin_pack_font/admin.font
class: Drupal\ckeditor5_plugin_pack_font\Plugin\CKEditor5Plugin\FontFamily
elements:
- <span>
toolbar_items:
fontFamily:
label: Font family
ckeditor5_plugin_pack_font__font_size:
ckeditor5:
plugins:
- font.FontSize
drupal:
label: Font size
library: ckeditor5_plugin_pack_font/font
admin_library: ckeditor5_plugin_pack_font/admin.font
class: Drupal\ckeditor5_plugin_pack_font\Plugin\CKEditor5Plugin\FontSize
elements:
- <span>
toolbar_items:
fontSize:
label: Font size
name: CKEditor 5 Font Plugins
type: module
description: 'Provides the CKEditor 5 Font Family, Size, and Color plugins.'
package: CKEditor 5 Plugin Pack
core_version_requirement: ^9.4 || ^10
dependencies:
- ckeditor5_plugin_pack:ckeditor5_plugin_pack
# Information added by Drupal.org packaging script on 2024-06-13
version: '1.1.0'
project: 'ckeditor5_plugin_pack'
datestamp: 1718271918
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment