@ckeditor/ckeditor5-find-and-replace 29.2.0 → 32.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/LICENSE.md +2 -2
  2. package/build/find-and-replace.js +3 -3
  3. package/build/translations/bs.js +1 -0
  4. package/build/translations/cs.js +1 -0
  5. package/build/translations/da.js +1 -0
  6. package/build/translations/de.js +1 -1
  7. package/build/translations/es.js +1 -0
  8. package/build/translations/hu.js +1 -1
  9. package/build/translations/id.js +1 -0
  10. package/build/translations/it.js +1 -1
  11. package/build/translations/nl.js +1 -0
  12. package/build/translations/no.js +1 -0
  13. package/build/translations/pl.js +1 -0
  14. package/build/translations/pt-br.js +1 -0
  15. package/build/translations/sr-latn.js +1 -0
  16. package/build/translations/sr.js +1 -0
  17. package/build/translations/zh-cn.js +1 -0
  18. package/build/translations/zh.js +1 -0
  19. package/lang/translations/bs.po +69 -0
  20. package/lang/translations/cs.po +69 -0
  21. package/lang/translations/da.po +69 -0
  22. package/lang/translations/de.po +4 -4
  23. package/lang/translations/en.po +1 -1
  24. package/lang/translations/es.po +69 -0
  25. package/lang/translations/gl.po +1 -1
  26. package/lang/translations/hu.po +4 -4
  27. package/lang/translations/id.po +69 -0
  28. package/lang/translations/it.po +4 -4
  29. package/lang/translations/nl.po +69 -0
  30. package/lang/translations/no.po +69 -0
  31. package/lang/translations/pl.po +69 -0
  32. package/lang/translations/pt-br.po +69 -0
  33. package/lang/translations/ru.po +1 -1
  34. package/lang/translations/sr-latn.po +69 -0
  35. package/lang/translations/sr.po +69 -0
  36. package/lang/translations/zh-cn.po +69 -0
  37. package/lang/translations/zh.po +69 -0
  38. package/package.json +23 -22
  39. package/src/findandreplace.js +1 -1
  40. package/src/findandreplaceediting.js +18 -7
  41. package/src/findandreplacestate.js +14 -2
  42. package/src/findandreplaceui.js +15 -8
  43. package/src/findcommand.js +19 -15
  44. package/src/findnextcommand.js +12 -9
  45. package/src/findpreviouscommand.js +5 -2
  46. package/src/index.js +1 -1
  47. package/src/replaceallcommand.js +4 -2
  48. package/src/replacecommand.js +12 -2
  49. package/src/ui/findandreplaceformview.js +15 -4
  50. package/src/utils.js +29 -23
  51. package/theme/findandreplace.css +1 -1
  52. package/theme/findandreplaceform.css +1 -1
  53. package/CHANGELOG.md +0 -4
package/LICENSE.md CHANGED
@@ -2,7 +2,7 @@ Software License Agreement
2
2
  ==========================
3
3
 
4
4
  **CKEditor 5 Find and Replace Feature** – https://github.com/ckeditor/ckeditor5-find-and-replace <br>
5
- Copyright (c) 2003-2021, [CKSource](http://cksource.com) Frederico Knabben. All rights reserved.
5
+ Copyright (c) 2003-2022, [CKSource](http://cksource.com) Holding sp. z o.o. All rights reserved.
6
6
 
7
7
  Licensed under the terms of [GNU General Public License Version 2 or later](http://www.gnu.org/licenses/gpl.html).
8
8
 
@@ -14,4 +14,4 @@ Where not otherwise indicated, all CKEditor content is authored by CKSource engi
14
14
  Trademarks
15
15
  ----------
16
16
 
17
- **CKEditor** is a trademark of [CKSource](http://cksource.com) Frederico Knabben. All other brand and product names are trademarks, registered trademarks or service marks of their respective holders.
17
+ **CKEditor** is a trademark of [CKSource](http://cksource.com) Holding sp. z o.o. All other brand and product names are trademarks, registered trademarks or service marks of their respective holders.
@@ -1,5 +1,5 @@
1
+ !function(e){const t=e.en=e.en||{};t.dictionary=Object.assign(t.dictionary||{},{Find:"Find","Find and replace":"Find and replace","Find in text…":"Find in text…","Match case":"Match case","Next result":"Next result","Previous result":"Previous result",Replace:"Replace","Replace all":"Replace all","Replace with…":"Replace with…","Show options":"Show options","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={})),
1
2
  /*!
2
- * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.
3
+ * @license Copyright (c) 2003-2022, CKSource - Frederico Knabben. All rights reserved.
3
4
  * For licensing, see LICENSE.md.
4
- */
5
- !function(e){const t=e.en=e.en||{};t.dictionary=Object.assign(t.dictionary||{},{Find:"Find","Find and replace":"Find and replace","Find in text…":"Find in text…","Match case":"Match case","Next result":"Next result","Previous result":"Previous result",Replace:"Replace","Replace all":"Replace all","Replace with…":"Replace with…","Show options":"Show options","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={})),window.CKEditor5=window.CKEditor5||{},window.CKEditor5.findAndReplace=function(e){var t={};function i(n){if(t[n])return t[n].exports;var r=t[n]={i:n,l:!1,exports:{}};return e[n].call(r.exports,r,r.exports,i),r.l=!0,r.exports}return i.m=e,i.c=t,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)i.d(n,r,function(t){return e[t]}.bind(null,r));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="",i(i.s=14)}([function(e,t,i){e.exports=i(3)("./src/ui.js")},function(e,t,i){e.exports=i(3)("./src/core.js")},function(e,t,i){e.exports=i(3)("./src/utils.js")},function(e,t){e.exports=CKEditor5.dll},function(e,t,i){"use strict";var n,r=function(){return void 0===n&&(n=Boolean(window&&document&&document.all&&!window.atob)),n},s=function(){var e={};return function(t){if(void 0===e[t]){var i=document.querySelector(t);if(window.HTMLIFrameElement&&i instanceof window.HTMLIFrameElement)try{i=i.contentDocument.head}catch(e){i=null}e[t]=i}return e[t]}}(),o=[];function a(e){for(var t=-1,i=0;i<o.length;i++)if(o[i].identifier===e){t=i;break}return t}function c(e,t){for(var i={},n=[],r=0;r<e.length;r++){var s=e[r],c=t.base?s[0]+t.base:s[0],l=i[c]||0,d="".concat(c," ").concat(l);i[c]=l+1;var f=a(d),h={css:s[1],media:s[2],sourceMap:s[3]};-1!==f?(o[f].references++,o[f].updater(h)):o.push({identifier:d,updater:g(h,t),references:1}),n.push(d)}return n}function l(e){var t=document.createElement("style"),n=e.attributes||{};if(void 0===n.nonce){var r=i.nc;r&&(n.nonce=r)}if(Object.keys(n).forEach((function(e){t.setAttribute(e,n[e])})),"function"==typeof e.insert)e.insert(t);else{var o=s(e.insert||"head");if(!o)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");o.appendChild(t)}return t}var d,f=(d=[],function(e,t){return d[e]=t,d.filter(Boolean).join("\n")});function h(e,t,i,n){var r=i?"":n.media?"@media ".concat(n.media," {").concat(n.css,"}"):n.css;if(e.styleSheet)e.styleSheet.cssText=f(t,r);else{var s=document.createTextNode(r),o=e.childNodes;o[t]&&e.removeChild(o[t]),o.length?e.insertBefore(s,o[t]):e.appendChild(s)}}function u(e,t,i){var n=i.css,r=i.media,s=i.sourceMap;if(r?e.setAttribute("media",r):e.removeAttribute("media"),s&&"undefined"!=typeof btoa&&(n+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(s))))," */")),e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}var p=null,m=0;function g(e,t){var i,n,r;if(t.singleton){var s=m++;i=p||(p=l(t)),n=h.bind(null,i,s,!1),r=h.bind(null,i,s,!0)}else i=l(t),n=u.bind(null,i,t),r=function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(i)};return n(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;n(e=t)}else r()}}e.exports=function(e,t){(t=t||{}).singleton||"boolean"==typeof t.singleton||(t.singleton=r());var i=c(e=e||[],t);return function(e){if(e=e||[],"[object Array]"===Object.prototype.toString.call(e)){for(var n=0;n<i.length;n++){var r=a(i[n]);o[r].references--}for(var s=c(e,t),l=0;l<i.length;l++){var d=a(i[l]);0===o[d].references&&(o[d].updater(),o.splice(d,1))}i=s}}}},,function(e,t,i){"use strict";(function(e){var i="object"==typeof e&&e&&e.Object===Object&&e;t.a=i}).call(this,i(11))},function(e,t,i){var n=i(4),r=i(8);"string"==typeof(r=r.__esModule?r.default:r)&&(r=[[e.i,r,""]]);var s={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};n(r,s);e.exports=r.locals||{}},function(e,t){e.exports='.ck-vertical-form .ck-button:after{content:"";width:0;position:absolute;right:-1px;top:var(--ck-spacing-small);bottom:var(--ck-spacing-small);z-index:1}@media screen and (max-width:600px){.ck.ck-responsive-form .ck-button:after{content:"";width:0;position:absolute;right:-1px;top:var(--ck-spacing-small);bottom:var(--ck-spacing-small);z-index:1}}.ck-vertical-form>.ck-button:nth-last-child(2):after{border-right:1px solid var(--ck-color-base-border)}.ck.ck-responsive-form{padding:var(--ck-spacing-large)}.ck.ck-responsive-form:focus{outline:none}[dir=ltr] .ck.ck-responsive-form>:not(:first-child),[dir=rtl] .ck.ck-responsive-form>:not(:last-child){margin-left:var(--ck-spacing-standard)}@media screen and (max-width:600px){.ck.ck-responsive-form{padding:0;width:calc(var(--ck-input-text-width)*0.8)}.ck.ck-responsive-form .ck-labeled-field-view{margin:var(--ck-spacing-large) var(--ck-spacing-large) 0}.ck.ck-responsive-form .ck-labeled-field-view .ck-input-text{min-width:0;width:100%}.ck.ck-responsive-form .ck-labeled-field-view .ck-labeled-field-view__error{white-space:normal}.ck.ck-responsive-form>.ck-button:last-child,.ck.ck-responsive-form>.ck-button:nth-last-child(2){padding:var(--ck-spacing-standard);margin-top:var(--ck-spacing-large);border-radius:0;border:0;border-top:1px solid var(--ck-color-base-border)}[dir=ltr] .ck.ck-responsive-form>.ck-button:last-child,[dir=ltr] .ck.ck-responsive-form>.ck-button:nth-last-child(2),[dir=rtl] .ck.ck-responsive-form>.ck-button:last-child,[dir=rtl] .ck.ck-responsive-form>.ck-button:nth-last-child(2){margin-left:0}.ck.ck-responsive-form>.ck-button:nth-last-child(2):after,[dir=rtl] .ck.ck-responsive-form>.ck-button:last-child:last-of-type,[dir=rtl] .ck.ck-responsive-form>.ck-button:nth-last-child(2):last-of-type{border-right:1px solid var(--ck-color-base-border)}}'},function(e,t,i){var n=i(4),r=i(10);"string"==typeof(r=r.__esModule?r.default:r)&&(r=[[e.i,r,""]]);var s={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};n(r,s);e.exports=r.locals||{}},function(e,t){e.exports=".ck.ck-find-and-replace-form{max-width:100%}.ck.ck-find-and-replace-form fieldset{display:flex}.ck.ck-find-and-replace-form fieldset.ck-find-and-replace-form__find .ck-results-counter{position:absolute}.ck.ck-find-and-replace-form{width:400px}.ck.ck-find-and-replace-form:focus{outline:none}.ck.ck-find-and-replace-form fieldset{flex-direction:row;flex-wrap:nowrap;align-items:center;align-content:stretch;padding:var(--ck-spacing-large);border:0;margin:0}.ck.ck-find-and-replace-form fieldset>.ck-button{flex:0 0 auto}[dir=ltr] .ck.ck-find-and-replace-form fieldset>*+*{margin-left:var(--ck-spacing-standard)}[dir=rtl] .ck.ck-find-and-replace-form fieldset>*+*{margin-right:var(--ck-spacing-standard)}.ck.ck-find-and-replace-form fieldset .ck-labeled-field-view{flex:1 1 auto}.ck.ck-find-and-replace-form fieldset .ck-labeled-field-view .ck-input{width:100%;min-width:50px}.ck.ck-find-and-replace-form fieldset.ck-find-and-replace-form__find{align-items:flex-start}.ck.ck-find-and-replace-form fieldset.ck-find-and-replace-form__find>.ck-button-find{font-weight:700}.ck.ck-find-and-replace-form fieldset.ck-find-and-replace-form__find>.ck-button-find .ck-button__label{padding-left:var(--ck-spacing-large);padding-right:var(--ck-spacing-large)}.ck.ck-find-and-replace-form fieldset.ck-find-and-replace-form__find>.ck-button-prev>.ck-icon{transform:rotate(90deg)}.ck.ck-find-and-replace-form fieldset.ck-find-and-replace-form__find>.ck-button-next>.ck-icon{transform:rotate(-90deg)}.ck.ck-find-and-replace-form fieldset.ck-find-and-replace-form__find .ck-results-counter{top:50%;transform:translateY(-50%)}[dir=ltr] .ck.ck-find-and-replace-form fieldset.ck-find-and-replace-form__find .ck-results-counter{right:var(--ck-spacing-standard)}[dir=rtl] .ck.ck-find-and-replace-form fieldset.ck-find-and-replace-form__find .ck-results-counter{left:var(--ck-spacing-standard)}.ck.ck-find-and-replace-form fieldset.ck-find-and-replace-form__find .ck-results-counter{color:var(--ck-color-base-border)}.ck.ck-find-and-replace-form fieldset.ck-find-and-replace-form__replace{flex-wrap:wrap;justify-content:flex-end;margin-top:calc(var(--ck-spacing-large)*-1)}.ck.ck-find-and-replace-form fieldset.ck-find-and-replace-form__replace>.ck-labeled-field-view{margin-bottom:var(--ck-spacing-large)}.ck.ck-find-and-replace-form fieldset.ck-find-and-replace-form__replace>.ck-options-dropdown{margin-right:auto;margin-left:0}.ck.ck-find-and-replace-form fieldset.ck-find-and-replace-form__replace>.ck-labeled-field-view,.ck.ck-find-and-replace-form fieldset.ck-find-and-replace-form__replace>.ck-labeled-field-view .ck-input{width:100%}@media screen and (max-width:600px){.ck.ck-find-and-replace-form{width:300px}.ck.ck-find-and-replace-form fieldset{flex-wrap:wrap}.ck.ck-find-and-replace-form fieldset.ck-find-and-replace-form__find .ck-labeled-field-view{flex:1 0 auto;width:100%;margin-bottom:var(--ck-spacing-standard)}.ck.ck-find-and-replace-form fieldset.ck-find-and-replace-form__find>.ck-button{text-align:center}.ck.ck-find-and-replace-form fieldset.ck-find-and-replace-form__find>.ck-button:first-of-type{flex:1 1 auto}[dir=ltr] .ck.ck-find-and-replace-form fieldset.ck-find-and-replace-form__find>.ck-button:first-of-type{margin-left:0}[dir=rtl] .ck.ck-find-and-replace-form fieldset.ck-find-and-replace-form__find>.ck-button:first-of-type{margin-right:0}.ck.ck-find-and-replace-form fieldset.ck-find-and-replace-form__find>.ck-button:first-of-type .ck-button__label{width:100%;text-align:center}.ck.ck-find-and-replace-form fieldset.ck-find-and-replace-form__replace>:not(.ck-labeled-field-view){flex:1 1 auto}.ck.ck-find-and-replace-form fieldset.ck-find-and-replace-form__replace>:not(.ck-labeled-field-view).ck-dropdown{flex-grow:0}.ck.ck-find-and-replace-form fieldset.ck-find-and-replace-form__replace>:not(.ck-labeled-field-view).ck-button>.ck-button__label{width:100%;text-align:center}}"},function(e,t){var i;i=function(){return this}();try{i=i||new Function("return this")()}catch(e){"object"==typeof window&&(i=window)}e.exports=i},function(e,t,i){var n=i(4),r=i(13);"string"==typeof(r=r.__esModule?r.default:r)&&(r=[[e.i,r,""]]);var s={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};n(r,s);e.exports=r.locals||{}},function(e,t){e.exports=".ck-find-result{background:#ff0;color:var(--ck-color-text)}.ck-find-result_selected{background:#ff9633}"},function(e,t,i){"use strict";i.r(t),i.d(t,"FindAndReplace",(function(){return Ee}));var n=i(1),r=i(0),s=i(2),o=(i(7),i(9),'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M11.463 5.187a.888.888 0 1 1 1.254 1.255L9.16 10l3.557 3.557a.888.888 0 1 1-1.254 1.255L7.26 10.61a.888.888 0 0 1 .16-1.382l4.043-4.042z"/></svg>');class a extends r.View{constructor(e){super(e);const t=e.t;this.set("matchCount",0),this.set("highlightOffset",0),this.set("isDirty",!1),this.set("_areCommandsEnabled",{}),this.set("_resultsCounterText",""),this.set("_matchCase",!1),this.set("_wholeWordsOnly",!1),this.bind("_searchResultsFound").to(this,"matchCount",this,"isDirty",(e,t)=>e>0&&!t),this._findInputView=this._createInputField(t("Find in text…")),this._replaceInputView=this._createInputField(t("Replace with…")),this._findButtonView=this._createButton({label:t("Find"),class:"ck-button-find ck-button-action",withText:!0}),this._findPrevButtonView=this._createButton({label:t("Previous result"),class:"ck-button-prev",icon:o,keystroke:"Shift+F3",tooltip:!0}),this._findNextButtonView=this._createButton({label:t("Next result"),class:"ck-button-next",icon:o,keystroke:"F3",tooltip:!0}),this._optionsDropdown=this._createOptionsDropdown(),this._replaceButtonView=this._createButton({label:t("Replace"),class:"ck-button-replace",withText:!0}),this._replaceAllButtonView=this._createButton({label:t("Replace all"),class:"ck-button-replaceall",withText:!0}),this._findFieldsetView=this._createFindFieldset(),this._replaceFieldsetView=this._createReplaceFieldset(),this._focusTracker=new s.FocusTracker,this._keystrokes=new s.KeystrokeHandler,this._focusables=new r.ViewCollection,this._focusCycler=new r.FocusCycler({focusables:this._focusables,focusTracker:this._focusTracker,keystrokeHandler:this._keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this.setTemplate({tag:"form",attributes:{class:["ck","ck-find-and-replace-form"],tabindex:"-1"},children:[new r.FormHeaderView(e,{label:t("Find and replace")}),this._findFieldsetView,this._replaceFieldsetView]}),Object(r.injectCssTransitionDisabler)(this)}render(){super.render(),Object(r.submitHandler)({view:this}),this._initFocusCycling(),this._initKeystrokeHandling()}focus(){this._focusCycler.focusFirst()}reset(){this._findInputView.errorText=null,this.isDirty=!0}get _textToFind(){return this._findInputView.fieldView.element.value}get _textToReplace(){return this._replaceInputView.fieldView.element.value}_createFindFieldset(){const e=this.locale,t=new r.View(e);return this._findInputView.fieldView.on("input",()=>{this.isDirty=!0}),this._findButtonView.on("execute",this._onFindButtonExecute.bind(this)),this._findPrevButtonView.delegate("execute").to(this,"findPrevious"),this._findNextButtonView.delegate("execute").to(this,"findNext"),this._findPrevButtonView.bind("isEnabled").to(this,"_areCommandsEnabled",({findPrevious:e})=>e),this._findNextButtonView.bind("isEnabled").to(this,"_areCommandsEnabled",({findNext:e})=>e),this._injectFindResultsCounter(),t.setTemplate({tag:"fieldset",attributes:{class:["ck","ck-find-and-replace-form__find"]},children:[this._findInputView,this._findButtonView,this._findPrevButtonView,this._findNextButtonView]}),t}_onFindButtonExecute(){if(this._textToFind)this.isDirty=!1,this.fire("findNext",{searchText:this._textToFind,matchCase:this._matchCase,wholeWords:this._wholeWordsOnly});else{const e=this.t;this._findInputView.errorText=e("Text to find must not be empty.")}}_injectFindResultsCounter(){const e=this.locale,t=e.t,i=this.bindTemplate,n=new r.View(e);this.bind("_resultsCounterText").to(this,"highlightOffset",this,"matchCount",(e,i)=>t("%0 of %1",[e,i])),n.setTemplate({tag:"span",attributes:{class:["ck","ck-results-counter",i.if("isDirty","ck-hidden")]},children:[{text:i.to("_resultsCounterText")}]});const o=()=>{const t=this._findInputView.fieldView.element;if(!t||!t.offsetParent)return;const i=new s.Rect(n.element).width,r="ltr"===e.uiLanguageDirection?"paddingRight":"paddingLeft";t.style[r]=i?`calc( 2 * var(--ck-spacing-standard) + ${i}px )`:null};this.on("change:_resultsCounterText",o,{priority:"low"}),this.on("change:isDirty",o,{priority:"low"}),this._findInputView.template.children[0].children.push(n)}_createReplaceFieldset(){const e=this.locale,t=e.t,i=new r.View(e);return this._replaceButtonView.bind("isEnabled").to(this,"_areCommandsEnabled",this,"_searchResultsFound",({replace:e},t)=>e&&t),this._replaceAllButtonView.bind("isEnabled").to(this,"_areCommandsEnabled",this,"_searchResultsFound",({replaceAll:e},t)=>e&&t),this._replaceInputView.bind("isEnabled").to(this,"_areCommandsEnabled",this,"_searchResultsFound",({replace:e},t)=>e&&t),this._replaceInputView.bind("infoText").to(this._replaceInputView,"isEnabled",this._replaceInputView,"isFocused",(e,i)=>e||!i?"":t("Tip: Find some text first in order to replace it.")),this._replaceButtonView.on("execute",()=>{this.fire("replace",{searchText:this._textToFind,replaceText:this._textToReplace})}),this._replaceAllButtonView.on("execute",()=>{this.fire("replaceAll",{searchText:this._textToFind,replaceText:this._textToReplace}),this.focus()}),i.setTemplate({tag:"fieldset",attributes:{class:["ck","ck-find-and-replace-form__replace"]},children:[this._replaceInputView,this._optionsDropdown,this._replaceButtonView,this._replaceAllButtonView]}),i}_createOptionsDropdown(){const e=this.locale,t=e.t,i=Object(r.createDropdown)(e);i.class="ck-options-dropdown",i.buttonView.set({withText:!1,label:t("Show options"),icon:n.icons.cog,tooltip:!0});const o=new r.Model({withText:!0,label:t("Match case"),_isMatchCaseSwitch:!0}),a=new r.Model({withText:!0,label:t("Whole words only")});return o.bind("isOn").to(this,"_matchCase"),a.bind("isOn").to(this,"_wholeWordsOnly"),i.on("execute",e=>{e.source._isMatchCaseSwitch?this._matchCase=!this._matchCase:this._wholeWordsOnly=!this._wholeWordsOnly,this.isDirty=!0}),Object(r.addListToDropdown)(i,new s.Collection([{type:"switchbutton",model:o},{type:"switchbutton",model:a}])),i}_initFocusCycling(){[this._findInputView,this._findButtonView,this._findPrevButtonView,this._findNextButtonView,this._replaceInputView,this._optionsDropdown,this._replaceButtonView,this._replaceAllButtonView].forEach(e=>{this._focusables.add(e),this._focusTracker.add(e.element)})}_initKeystrokeHandling(){const e=e=>e.stopPropagation(),t=e=>{e.stopPropagation(),e.preventDefault()};this._keystrokes.listenTo(this.element),this._keystrokes.set("f3",e=>{t(e),this._findNextButtonView.fire("execute")}),this._keystrokes.set("shift+f3",e=>{t(e),this._findPrevButtonView.fire("execute")}),this._keystrokes.set("enter",e=>{const i=e.target;i===this._findInputView.fieldView.element?(this._areCommandsEnabled.findNext?this._findNextButtonView.fire("execute"):this._findButtonView.fire("execute"),t(e)):i===this._replaceInputView.fieldView.element&&(this._replaceButtonView.fire("execute"),t(e))}),this._keystrokes.set("shift+enter",e=>{e.target===this._findInputView.fieldView.element&&(this._areCommandsEnabled.findPrevious?this._findPrevButtonView.fire("execute"):this._findButtonView.fire("execute"),t(e))}),this._keystrokes.set("arrowright",e),this._keystrokes.set("arrowleft",e),this._keystrokes.set("arrowup",e),this._keystrokes.set("arrowdown",e),this.listenTo(this._findInputView.element,"selectstart",(e,t)=>{t.stopPropagation()},{priority:"high"}),this.listenTo(this._replaceInputView.element,"selectstart",(e,t)=>{t.stopPropagation()},{priority:"high"})}_createButton(e){const t=new r.ButtonView(this.locale);return t.set(e),t}_createInputField(e){const t=new r.LabeledFieldView(this.locale,r.createLabeledInputText);return t.label=e,t}}class c extends n.Plugin{static get pluginName(){return"FindAndReplaceUI"}constructor(e){super(e),this.formView=null}init(){const e=this.editor;e.ui.componentFactory.add("findAndReplace",t=>{const i=Object(r.createDropdown)(t),n=this.formView=new a(e.locale);return i.bind("isEnabled").to(e.commands.get("find")),i.panelView.children.add(n),i.on("change:isOpen",(t,i,r)=>{r?(n.disableCssTransitions(),n.reset(),n._findInputView.fieldView.select(),n.focus(),n.enableCssTransitions()):(e.editing.view.focus(),this.fire("searchReseted"))},{priority:"low"}),this._setupDropdownButton(i),this._setupFormView(n),i})}_setupDropdownButton(e){const t=this.editor,i=t.locale.t;e.buttonView.set({icon:'<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>',label:i("Find and replace"),keystroke:"CTRL+F",tooltip:!0}),t.keystrokes.set("Ctrl+F",(t,i)=>{e.isOpen=!0,i()})}_setupFormView(e){const t=this.editor.commands,i=this.editor.plugins.get("FindAndReplaceEditing").state,n={before:-1,same:0,after:1};e.bind("highlightOffset").to(i,"highlightedResult",e=>e?Array.from(i.results).sort((e,t)=>n[e.marker.getStart().compareWith(t.marker.getStart())]).indexOf(e)+1:0),e.listenTo(i.results,"change",()=>{e.matchCount=i.results.length}),e.bind("_areCommandsEnabled").to(t.get("findNext"),"isEnabled",t.get("findPrevious"),"isEnabled",t.get("replace"),"isEnabled",t.get("replaceAll"),"isEnabled",(e,t,i,n)=>({findNext:e,findPrevious:t,replace:i,replaceAll:n})),e.delegate("findNext","findPrevious","replace","replaceAll").to(this),e.on("change:isDirty",(e,t,i)=>{i&&this.fire("searchReseted")})}}var l=i(6),d="object"==typeof self&&self&&self.Object===Object&&self,f=l.a||d||Function("return this")(),h=f.Symbol;var u=function(e,t){for(var i=-1,n=null==e?0:e.length,r=Array(n);++i<n;)r[i]=t(e[i],i,e);return r},p=Array.isArray,m=Object.prototype,g=m.hasOwnProperty,k=m.toString,w=h?h.toStringTag:void 0;var b=function(e){var t=g.call(e,w),i=e[w];try{e[w]=void 0;var n=!0}catch(e){}var r=k.call(e);return n&&(t?e[w]=i:delete e[w]),r},_=Object.prototype.toString;var v=function(e){return _.call(e)},x=h?h.toStringTag:void 0;var y=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":x&&x in Object(e)?b(e):v(e)};var T=function(e){return null!=e&&"object"==typeof e};var R=function(e){return"symbol"==typeof e||T(e)&&"[object Symbol]"==y(e)},V=h?h.prototype:void 0,C=V?V.toString:void 0;var I=function e(t){if("string"==typeof t)return t;if(p(t))return u(t,e)+"";if(R(t))return C?C.call(t):"";var i=t+"";return"0"==i&&1/t==-1/0?"-0":i};var E=function(e){return null==e?"":I(e)},F=/[\\^$.*+?()[\]{}|]/g,O=RegExp(F.source);var N=function(e){return(e=E(e))&&O.test(e)?e.replace(F,"\\$&"):e};function A(e,t,i,n){const r=n||new s.Collection;return[...e].forEach(({type:e,item:n})=>{if("elementStart"===e&&t.schema.checkChild(n,"$text")){const e=i({item:n,text:B(t.createRangeIn(n))});if(!e)return;e.forEach(e=>{t.change(t=>{const i="findResult:"+Object(s.uid)(),o=t.addMarker(i,{usingOperation:!1,affectsData:!1,range:t.createRange(t.createPositionAt(n,e.start),t.createPositionAt(n,e.end))}),a=function(e,t){const i=e.find(({marker:e})=>t.getStart().isBefore(e.getStart()));return i?e.getIndex(i):e.length}(r,o);r.add({id:i,label:e.label,marker:o},a)})})}}),r}function B(e){return Array.from(e.getItems()).reduce((e,t)=>t.is("text")||t.is("textProxy")?e+t.data:e+"\n","")}function j(e){const t=e.length-1;let i=e.index;return 3===e.length&&(i+=e[1].length),{label:e[t],start:i,end:i+e[t].length}}function S(e,t){let i="gu";t.matchCase||(i+="i");let n=`(${N(e)})`;if(t.wholeWords){const t="[^a-zA-ZÀ-ɏḀ-ỿ]";new RegExp("^"+t).test(e)||(n=`(^|${t}|_)${n}`),new RegExp(t+"$").test(e)||(n=`${n}(?:_|${t}|$)`)}const r=new RegExp(n,i);return function({text:e}){return[...e.matchAll(r)].map(j)}}class M extends n.Command{constructor(e,t){super(e),this.isEnabled=!0,this.state=t,this.listenTo(e,"change:isReadOnly",(e,t,i)=>{i&&this.clearForceDisabled("readOnlyMode")})}execute(e,{matchCase:t,wholeWords:i}={}){const{editor:n}=this,{model:r}=n;let s;"string"==typeof e?(s=S(e,{matchCase:t,wholeWords:i}),this.state.searchText=e):s=e;const o=r.document.getRootNames().reduce((e,t)=>A(r.createRangeIn(r.document.getRoot(t)),r,s,e),null);return this.state.clear(r),this.state.results.addMany(Array.from(o)),this.state.highlightedResult=o.get(0),"string"==typeof e&&(this.state.searchText=e),this.state.matchCase=!!t,this.state.matchWholeWords=!!i,{results:o,findCallback:s}}}class P extends n.Command{constructor(e,t){super(e),this.isEnabled=!0,this._state=t}execute(e,t){const{model:i}=this.editor;i.change(n=>{const r=t.marker.getRange();let s={};for(const e of r.getItems())if(e.is("$text")||e.is("$textProxy")){s=e.getAttributes();break}i.insertContent(n.createText(e,s),r),this._state.results.has(t)&&this._state.results.remove(t)})}}class D extends P{execute(e,t){const{editor:i}=this,{model:n}=i,r=t instanceof s.Collection?t:n.document.getRootNames().reduce((e,i)=>A(n.createRangeIn(n.document.getRoot(i)),n,S(t,this._state),e),null);r.length&&n.change(()=>{[...r].forEach(t=>{super.execute(e,t)})})}}class W extends n.Command{constructor(e,t){super(e),this._state=t,this.isEnabled=!1,this.listenTo(this._state.results,"change",()=>{this.isEnabled=this._state.results.length>1}),this.listenTo(e,"change:isReadOnly",(e,t,i)=>{i&&this.clearForceDisabled("readOnlyMode")})}refresh(){this.isEnabled=this._state.results.length>1}execute(){const e=this._state.results,t=e.getIndex(this._state.highlightedResult),i=t+1>=e.length?0:t+1;this._state.highlightedResult=this._state.results.get(i)}}class H extends W{execute(){const e=this._state.results.getIndex(this._state.highlightedResult),t=e-1<0?this._state.results.length-1:e-1;this._state.highlightedResult=this._state.results.get(t)}}class L{constructor(e){this.set("results",new s.Collection),this.set("highlightedResult",null),this.set("searchText",""),this.set("replaceText",""),this.set("matchCase",!1),this.set("matchWholeWords",!1),this.results.on("change",(t,{removed:i,index:n})=>{if((i=Array.from(i)).length){let t=!1;if(e.change(n=>{for(const r of i)this.highlightedResult===r&&(t=!0),e.markers.has(r.marker.name)&&n.removeMarker(r.marker)}),t){const e=n>=this.results.length?0:n;this.highlightedResult=this.results.get(e)}}})}clear(e){this.searchText="",e.change(t=>{if(this.highlightedResult){const i=this.highlightedResult.marker.name.split(":")[1],n=e.markers.get("findResultHighlighted:"+i);n&&t.removeMarker(n)}[...this.results].forEach(({marker:e})=>{t.removeMarker(e)})}),this.results.clear()}}function $(e){return"[object Range]"==Object.prototype.toString.apply(e)}function z(e){const t=Object.prototype.toString.apply(e);return"[object Window]"==t||"[object global]"==t}function K(e){return"[object Text]"==Object.prototype.toString.call(e)}Object(s.mix)(L,s.ObservableMixin);var Y=function(e,t){return function(i){return e(t(i))}}(Object.getPrototypeOf,Object),U=Function.prototype,q=Object.prototype,G=U.toString,J=q.hasOwnProperty,X=G.call(Object);var Z=function(e){if(!T(e)||"[object Object]"!=y(e))return!1;var t=Y(e);if(null===t)return!0;var i=J.call(t,"constructor")&&t.constructor;return"function"==typeof i&&i instanceof i&&G.call(i)==X};var Q=function(e){return T(e)&&1===e.nodeType&&!Z(e)};const ee=["top","right","bottom","left","width","height"];class te{constructor(e){const t=$(e);if(Object.defineProperty(this,"_source",{value:e._source||e,writable:!0,enumerable:!1}),Q(e)||t)if(t){const t=te.getDomRangeRects(e);ie(this,te.getBoundingRect(t))}else ie(this,e.getBoundingClientRect());else if(z(e)){const{innerWidth:t,innerHeight:i}=e;ie(this,{top:0,right:t,bottom:i,left:0,width:t,height:i})}else ie(this,e)}clone(){return new te(this)}moveTo(e,t){return this.top=t,this.right=e+this.width,this.bottom=t+this.height,this.left=e,this}moveBy(e,t){return this.top+=t,this.right+=e,this.left+=e,this.bottom+=t,this}getIntersection(e){const t={top:Math.max(this.top,e.top),right:Math.min(this.right,e.right),bottom:Math.min(this.bottom,e.bottom),left:Math.max(this.left,e.left)};return t.width=t.right-t.left,t.height=t.bottom-t.top,t.width<0||t.height<0?null:new te(t)}getIntersectionArea(e){const t=this.getIntersection(e);return t?t.getArea():0}getArea(){return this.width*this.height}getVisible(){const e=this._source;let t=this.clone();if(!ne(e)){let i=e.parentNode||e.commonAncestorContainer;for(;i&&!ne(i);){const e=new te(i),n=t.getIntersection(e);if(!n)return null;n.getArea()<t.getArea()&&(t=n),i=i.parentNode}}return t}isEqual(e){for(const t of ee)if(this[t]!==e[t])return!1;return!0}contains(e){const t=this.getIntersection(e);return!(!t||!t.isEqual(e))}excludeScrollbarsAndBorders(){const e=this._source;let t,i,n;if(z(e))t=e.innerWidth-e.document.documentElement.clientWidth,i=e.innerHeight-e.document.documentElement.clientHeight,n=e.getComputedStyle(e.document.documentElement).direction;else{const r=function(e){const t=e.ownerDocument.defaultView.getComputedStyle(e);return{top:parseInt(t.borderTopWidth,10),right:parseInt(t.borderRightWidth,10),bottom:parseInt(t.borderBottomWidth,10),left:parseInt(t.borderLeftWidth,10)}}(this._source);t=e.offsetWidth-e.clientWidth-r.left-r.right,i=e.offsetHeight-e.clientHeight-r.top-r.bottom,n=e.ownerDocument.defaultView.getComputedStyle(e).direction,this.left+=r.left,this.top+=r.top,this.right-=r.right,this.bottom-=r.bottom,this.width=this.right-this.left,this.height=this.bottom-this.top}return this.width-=t,"ltr"===n?this.right-=t:this.left+=t,this.height-=i,this.bottom-=i,this}static getDomRangeRects(e){const t=[],i=Array.from(e.getClientRects());if(i.length)for(const e of i)t.push(new te(e));else{let i=e.startContainer;K(i)&&(i=i.parentNode);const n=new te(i.getBoundingClientRect());n.right=n.left,n.width=0,t.push(n)}return t}static getBoundingRect(e){const t={left:Number.POSITIVE_INFINITY,top:Number.POSITIVE_INFINITY,right:Number.NEGATIVE_INFINITY,bottom:Number.NEGATIVE_INFINITY};let i=0;for(const n of e)i++,t.left=Math.min(t.left,n.left),t.top=Math.min(t.top,n.top),t.right=Math.max(t.right,n.right),t.bottom=Math.max(t.bottom,n.bottom);return 0==i?null:(t.width=t.right-t.left,t.height=t.bottom-t.top,new te(t))}}function ie(e,t){for(const i of ee)e[i]=t[i]}function ne(e){return!!Q(e)&&e===e.ownerDocument.body}function re({target:e,viewportOffset:t=0}){const i=fe(e);let n=i,r=null;for(;n;){let s;s=he(n==i?e:r),oe(s,()=>ue(e,n));const o=ue(e,n);if(se(n,o,t),n.parent!=n){if(r=n.frameElement,n=n.parent,!r)return}else n=null}}function se(e,t,i){const n=t.clone().moveBy(0,i),r=t.clone().moveBy(0,-i),s=new te(e).excludeScrollbarsAndBorders();if(![r,n].every(e=>s.contains(e))){let{scrollX:o,scrollY:a}=e;ce(r,s)?a-=s.top-t.top+i:ae(n,s)&&(a+=t.bottom-s.bottom+i),le(t,s)?o-=s.left-t.left+i:de(t,s)&&(o+=t.right-s.right+i),e.scrollTo(o,a)}}function oe(e,t){const i=fe(e);let n,r;for(;e!=i.document.body;)r=t(),n=new te(e).excludeScrollbarsAndBorders(),n.contains(r)||(ce(r,n)?e.scrollTop-=n.top-r.top:ae(r,n)&&(e.scrollTop+=r.bottom-n.bottom),le(r,n)?e.scrollLeft-=n.left-r.left:de(r,n)&&(e.scrollLeft+=r.right-n.right)),e=e.parentNode}function ae(e,t){return e.bottom>t.bottom}function ce(e,t){return e.top<t.top}function le(e,t){return e.left<t.left}function de(e,t){return e.right>t.right}function fe(e){return $(e)?e.startContainer.ownerDocument.defaultView:e.ownerDocument.defaultView}function he(e){if($(e)){let t=e.commonAncestorContainer;return K(t)&&(t=t.parentNode),t}return e.parentNode}function ue(e,t){const i=fe(e),n=new te(e);if(i===t)return n;{let e=i;for(;e!=t;){const t=e.frameElement,i=new te(t).excludeScrollbarsAndBorders();n.moveBy(i.left,i.top),e=e.parent}}return n}Object.assign({},{scrollViewportToShowTarget:re,scrollAncestorsToShowTarget:function(e){oe(he(e),()=>new te(e))}});var pe=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)},me=function(){return f.Date.now()},ge=/\s/;var ke=function(e){for(var t=e.length;t--&&ge.test(e.charAt(t)););return t},we=/^\s+/;var be=function(e){return e?e.slice(0,ke(e)+1).replace(we,""):e},_e=/^[-+]0x[0-9a-f]+$/i,ve=/^0b[01]+$/i,xe=/^0o[0-7]+$/i,ye=parseInt;var Te=function(e){if("number"==typeof e)return e;if(R(e))return NaN;if(pe(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=pe(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=be(e);var i=ve.test(e);return i||xe.test(e)?ye(e.slice(2),i?2:8):_e.test(e)?NaN:+e},Re=Math.max,Ve=Math.min;var Ce=function(e,t,i){var n,r,s,o,a,c,l=0,d=!1,f=!1,h=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function u(t){var i=n,s=r;return n=r=void 0,l=t,o=e.apply(s,i)}function p(e){return l=e,a=setTimeout(g,t),d?u(e):o}function m(e){var i=e-c;return void 0===c||i>=t||i<0||f&&e-l>=s}function g(){var e=me();if(m(e))return k(e);a=setTimeout(g,function(e){var i=t-(e-c);return f?Ve(i,s-(e-l)):i}(e))}function k(e){return a=void 0,h&&n?u(e):(n=r=void 0,o)}function w(){var e=me(),i=m(e);if(n=arguments,r=this,c=e,i){if(void 0===a)return p(c);if(f)return clearTimeout(a),a=setTimeout(g,t),u(c)}return void 0===a&&(a=setTimeout(g,t)),o}return t=Te(t)||0,pe(i)&&(d=!!i.leading,s=(f="maxWait"in i)?Re(Te(i.maxWait)||0,t):s,h="trailing"in i?!!i.trailing:h),w.cancel=function(){void 0!==a&&clearTimeout(a),l=0,n=c=r=a=void 0},w.flush=function(){return void 0===a?o:k(me())},w};i(12);class Ie extends n.Plugin{static get pluginName(){return"FindAndReplaceEditing"}init(){this.activeResults=null,this.state=new L(this.editor.model),this._defineConverters(),this._defineCommands(),this.listenTo(this.state,"change:highlightedResult",(e,t,i,n)=>{const{model:r}=this.editor;r.change(e=>{if(n){const t=n.marker.name.split(":")[1],i=r.markers.get("findResultHighlighted:"+t);i&&e.removeMarker(i)}if(i){const t=i.marker.name.split(":")[1];e.addMarker("findResultHighlighted:"+t,{usingOperation:!1,affectsData:!1,range:i.marker.getRange()})}})});const e=Ce(function(e,t,i){if(i){const e=this.editor.editing.view.domConverter,t=this.editor.editing.mapper.toViewRange(i.marker.getRange());re({target:e.viewRangeToDom(t),viewportOffset:40})}}.bind(this),32);this.listenTo(this.state,"change:highlightedResult",e,{priority:"low"}),this.listenTo(this.editor,"destroy",e.cancel)}find(e){const{editor:t}=this,{model:i}=t,{findCallback:n,results:r}=t.execute("find",e);return this.activeResults=r,this.listenTo(i.document,"change:data",()=>function(e,t,i){const n=new Set,r=new Set;t.document.differ.getChanges().forEach(e=>{"$text"===e.name||t.schema.isInline(e.position.nodeAfter)?(n.add(e.position.parent),[...t.markers.getMarkersAtPosition(e.position)].forEach(e=>{r.add(e.name)})):"insert"===e.type&&n.add(e.position.nodeAfter)}),t.document.differ.getChangedMarkers().forEach(({name:e,data:{newRange:t}})=>{t&&"$graveyard"===t.start.root.rootName&&r.add(e)}),n.forEach(e=>{[...t.markers.getMarkersIntersectingRange(t.createRangeIn(e))].forEach(e=>r.add(e.name))}),t.change(t=>{r.forEach(i=>{e.has(i)&&e.remove(i),t.removeMarker(i)})}),n.forEach(n=>{A(t.createRangeOn(n),t,i,e)})}(this.activeResults,i,n)),this.activeResults}stop(){this.activeResults&&(this.stopListening(this.editor.model.document),this.state.clear(this.editor.model),this.activeResults=null)}_defineCommands(){this.editor.commands.add("find",new M(this.editor,this.state)),this.editor.commands.add("findNext",new W(this.editor,this.state)),this.editor.commands.add("findPrevious",new H(this.editor,this.state)),this.editor.commands.add("replace",new P(this.editor,this.state)),this.editor.commands.add("replaceAll",new D(this.editor,this.state))}_defineConverters(){const{editor:e}=this;e.conversion.for("editingDowncast").markerToHighlight({model:"findResult",view:({markerName:e})=>{const[,t]=e.split(":");return{name:"span",classes:["ck-find-result"],attributes:{"data-find-result":t}}}}),e.conversion.for("editingDowncast").markerToHighlight({model:"findResultHighlighted",view:({markerName:e})=>{const[,t]=e.split(":");return{name:"span",classes:["ck-find-result_selected"],attributes:{"data-find-result":t}}}})}}class Ee extends n.Plugin{static get requires(){return[Ie,c]}static get pluginName(){return"FindAndReplace"}init(){const e=this.editor.plugins.get("FindAndReplaceUI"),t=this.editor.plugins.get("FindAndReplaceEditing"),i=t.state;e.on("findNext",(e,t)=>{t?(i.searchText=t.searchText,this.editor.execute("find",t.searchText,t)):this.editor.execute("findNext")}),e.on("findPrevious",(e,t)=>{t&&i.searchText!==t.searchText?this.editor.execute("find",t.searchText):this.editor.execute("findPrevious")}),e.on("replace",(e,t)=>{i.searchText!==t.searchText&&this.editor.execute("find",t.searchText);const n=i.highlightedResult;n&&this.editor.execute("replace",t.replaceText,n)}),e.on("replaceAll",(e,t)=>{i.searchText!==t.searchText&&this.editor.execute("find",t.searchText),this.editor.execute("replaceAll",t.replaceText,i.results)}),e.on("searchReseted",()=>{i.clear(this.editor.model),t.stop()})}}}]);
5
+ */(()=>{var e={299:(e,t,i)=>{"use strict";i.d(t,{Z:()=>s});var n=i(609),r=i.n(n)()((function(e){return e[1]}));r.push([e.id,".ck-find-result{background:#ff0;color:var(--ck-color-text)}.ck-find-result_selected{background:#ff9633}",""]);const s=r},226:(e,t,i)=>{"use strict";i.d(t,{Z:()=>s});var n=i(609),r=i.n(n)()((function(e){return e[1]}));r.push([e.id,".ck.ck-find-and-replace-form{max-width:100%}.ck.ck-find-and-replace-form fieldset{display:flex}.ck.ck-find-and-replace-form fieldset.ck-find-and-replace-form__find .ck-results-counter{position:absolute}.ck.ck-find-and-replace-form{width:400px}.ck.ck-find-and-replace-form:focus{outline:none}.ck.ck-find-and-replace-form fieldset{flex-direction:row;flex-wrap:nowrap;align-items:center;align-content:stretch;padding:var(--ck-spacing-large);border:0;margin:0}.ck.ck-find-and-replace-form fieldset>.ck-button{flex:0 0 auto}[dir=ltr] .ck.ck-find-and-replace-form fieldset>*+*{margin-left:var(--ck-spacing-standard)}[dir=rtl] .ck.ck-find-and-replace-form fieldset>*+*{margin-right:var(--ck-spacing-standard)}.ck.ck-find-and-replace-form fieldset .ck-labeled-field-view{flex:1 1 auto}.ck.ck-find-and-replace-form fieldset .ck-labeled-field-view .ck-input{width:100%;min-width:50px}.ck.ck-find-and-replace-form fieldset.ck-find-and-replace-form__find{align-items:flex-start}.ck.ck-find-and-replace-form fieldset.ck-find-and-replace-form__find>.ck-button-find{font-weight:700}.ck.ck-find-and-replace-form fieldset.ck-find-and-replace-form__find>.ck-button-find .ck-button__label{padding-left:var(--ck-spacing-large);padding-right:var(--ck-spacing-large)}.ck.ck-find-and-replace-form fieldset.ck-find-and-replace-form__find>.ck-button-prev>.ck-icon{transform:rotate(90deg)}.ck.ck-find-and-replace-form fieldset.ck-find-and-replace-form__find>.ck-button-next>.ck-icon{transform:rotate(-90deg)}.ck.ck-find-and-replace-form fieldset.ck-find-and-replace-form__find .ck-results-counter{top:50%;transform:translateY(-50%)}[dir=ltr] .ck.ck-find-and-replace-form fieldset.ck-find-and-replace-form__find .ck-results-counter{right:var(--ck-spacing-standard)}[dir=rtl] .ck.ck-find-and-replace-form fieldset.ck-find-and-replace-form__find .ck-results-counter{left:var(--ck-spacing-standard)}.ck.ck-find-and-replace-form fieldset.ck-find-and-replace-form__find .ck-results-counter{color:var(--ck-color-base-border)}.ck.ck-find-and-replace-form fieldset.ck-find-and-replace-form__replace{flex-wrap:wrap;justify-content:flex-end;margin-top:calc(var(--ck-spacing-large)*-1)}.ck.ck-find-and-replace-form fieldset.ck-find-and-replace-form__replace>.ck-labeled-field-view{margin-bottom:var(--ck-spacing-large)}.ck.ck-find-and-replace-form fieldset.ck-find-and-replace-form__replace>.ck-options-dropdown{margin-right:auto;margin-left:0}.ck.ck-find-and-replace-form fieldset.ck-find-and-replace-form__replace>.ck-labeled-field-view,.ck.ck-find-and-replace-form fieldset.ck-find-and-replace-form__replace>.ck-labeled-field-view .ck-input{width:100%}@media screen and (max-width:600px){.ck.ck-find-and-replace-form{width:300px}.ck.ck-find-and-replace-form fieldset{flex-wrap:wrap}.ck.ck-find-and-replace-form fieldset.ck-find-and-replace-form__find .ck-labeled-field-view{flex:1 0 auto;width:100%;margin-bottom:var(--ck-spacing-standard)}.ck.ck-find-and-replace-form fieldset.ck-find-and-replace-form__find>.ck-button{text-align:center}.ck.ck-find-and-replace-form fieldset.ck-find-and-replace-form__find>.ck-button:first-of-type{flex:1 1 auto}[dir=ltr] .ck.ck-find-and-replace-form fieldset.ck-find-and-replace-form__find>.ck-button:first-of-type{margin-left:0}[dir=rtl] .ck.ck-find-and-replace-form fieldset.ck-find-and-replace-form__find>.ck-button:first-of-type{margin-right:0}.ck.ck-find-and-replace-form fieldset.ck-find-and-replace-form__find>.ck-button:first-of-type .ck-button__label{width:100%;text-align:center}.ck.ck-find-and-replace-form fieldset.ck-find-and-replace-form__replace>:not(.ck-labeled-field-view){flex:1 1 auto}.ck.ck-find-and-replace-form fieldset.ck-find-and-replace-form__replace>:not(.ck-labeled-field-view).ck-dropdown{flex-grow:0}.ck.ck-find-and-replace-form fieldset.ck-find-and-replace-form__replace>:not(.ck-labeled-field-view).ck-button>.ck-button__label{width:100%;text-align:center}}",""]);const s=r},764:(e,t,i)=>{"use strict";i.d(t,{Z:()=>s});var n=i(609),r=i.n(n)()((function(e){return e[1]}));r.push([e.id,'.ck-vertical-form .ck-button:after{content:"";width:0;position:absolute;right:-1px;top:var(--ck-spacing-small);bottom:var(--ck-spacing-small);z-index:1}@media screen and (max-width:600px){.ck.ck-responsive-form .ck-button:after{content:"";width:0;position:absolute;right:-1px;top:var(--ck-spacing-small);bottom:var(--ck-spacing-small);z-index:1}}.ck-vertical-form>.ck-button:nth-last-child(2):after{border-right:1px solid var(--ck-color-base-border)}.ck.ck-responsive-form{padding:var(--ck-spacing-large)}.ck.ck-responsive-form:focus{outline:none}[dir=ltr] .ck.ck-responsive-form>:not(:first-child),[dir=rtl] .ck.ck-responsive-form>:not(:last-child){margin-left:var(--ck-spacing-standard)}@media screen and (max-width:600px){.ck.ck-responsive-form{padding:0;width:calc(var(--ck-input-width)*0.8)}.ck.ck-responsive-form .ck-labeled-field-view{margin:var(--ck-spacing-large) var(--ck-spacing-large) 0}.ck.ck-responsive-form .ck-labeled-field-view .ck-input-text{min-width:0;width:100%}.ck.ck-responsive-form .ck-labeled-field-view .ck-labeled-field-view__error{white-space:normal}.ck.ck-responsive-form>.ck-button:last-child,.ck.ck-responsive-form>.ck-button:nth-last-child(2){padding:var(--ck-spacing-standard);margin-top:var(--ck-spacing-large);border-radius:0;border:0;border-top:1px solid var(--ck-color-base-border)}[dir=ltr] .ck.ck-responsive-form>.ck-button:last-child,[dir=ltr] .ck.ck-responsive-form>.ck-button:nth-last-child(2),[dir=rtl] .ck.ck-responsive-form>.ck-button:last-child,[dir=rtl] .ck.ck-responsive-form>.ck-button:nth-last-child(2){margin-left:0}.ck.ck-responsive-form>.ck-button:nth-last-child(2):after,[dir=rtl] .ck.ck-responsive-form>.ck-button:last-child:last-of-type,[dir=rtl] .ck.ck-responsive-form>.ck-button:nth-last-child(2):last-of-type{border-right:1px solid var(--ck-color-base-border)}}',""]);const s=r},609:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var i=e(t);return t[2]?"@media ".concat(t[2]," {").concat(i,"}"):i})).join("")},t.i=function(e,i,n){"string"==typeof e&&(e=[[null,e,""]]);var r={};if(n)for(var s=0;s<this.length;s++){var o=this[s][0];null!=o&&(r[o]=!0)}for(var a=0;a<e.length;a++){var c=[].concat(e[a]);n&&r[c[0]]||(i&&(c[2]?c[2]="".concat(i," and ").concat(c[2]):c[2]=i),t.push(c))}},t}},62:(e,t,i)=>{"use strict";var n,r=function(){return void 0===n&&(n=Boolean(window&&document&&document.all&&!window.atob)),n},s=function(){var e={};return function(t){if(void 0===e[t]){var i=document.querySelector(t);if(window.HTMLIFrameElement&&i instanceof window.HTMLIFrameElement)try{i=i.contentDocument.head}catch(e){i=null}e[t]=i}return e[t]}}(),o=[];function a(e){for(var t=-1,i=0;i<o.length;i++)if(o[i].identifier===e){t=i;break}return t}function c(e,t){for(var i={},n=[],r=0;r<e.length;r++){var s=e[r],c=t.base?s[0]+t.base:s[0],l=i[c]||0,d="".concat(c," ").concat(l);i[c]=l+1;var h=a(d),f={css:s[1],media:s[2],sourceMap:s[3]};-1!==h?(o[h].references++,o[h].updater(f)):o.push({identifier:d,updater:g(f,t),references:1}),n.push(d)}return n}function l(e){var t=document.createElement("style"),n=e.attributes||{};if(void 0===n.nonce){var r=i.nc;r&&(n.nonce=r)}if(Object.keys(n).forEach((function(e){t.setAttribute(e,n[e])})),"function"==typeof e.insert)e.insert(t);else{var o=s(e.insert||"head");if(!o)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");o.appendChild(t)}return t}var d,h=(d=[],function(e,t){return d[e]=t,d.filter(Boolean).join("\n")});function f(e,t,i,n){var r=i?"":n.media?"@media ".concat(n.media," {").concat(n.css,"}"):n.css;if(e.styleSheet)e.styleSheet.cssText=h(t,r);else{var s=document.createTextNode(r),o=e.childNodes;o[t]&&e.removeChild(o[t]),o.length?e.insertBefore(s,o[t]):e.appendChild(s)}}function u(e,t,i){var n=i.css,r=i.media,s=i.sourceMap;if(r?e.setAttribute("media",r):e.removeAttribute("media"),s&&"undefined"!=typeof btoa&&(n+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(s))))," */")),e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}var p=null,m=0;function g(e,t){var i,n,r;if(t.singleton){var s=m++;i=p||(p=l(t)),n=f.bind(null,i,s,!1),r=f.bind(null,i,s,!0)}else i=l(t),n=u.bind(null,i,t),r=function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(i)};return n(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;n(e=t)}else r()}}e.exports=function(e,t){(t=t||{}).singleton||"boolean"==typeof t.singleton||(t.singleton=r());var i=c(e=e||[],t);return function(e){if(e=e||[],"[object Array]"===Object.prototype.toString.call(e)){for(var n=0;n<i.length;n++){var r=a(i[n]);o[r].references--}for(var s=c(e,t),l=0;l<i.length;l++){var d=a(i[l]);0===o[d].references&&(o[d].updater(),o.splice(d,1))}i=s}}}},704:(e,t,i)=>{e.exports=i(79)("./src/core.js")},273:(e,t,i)=>{e.exports=i(79)("./src/ui.js")},209:(e,t,i)=>{e.exports=i(79)("./src/utils.js")},79:e=>{"use strict";e.exports=CKEditor5.dll}},t={};function i(n){var r=t[n];if(void 0!==r)return r.exports;var s=t[n]={id:n,exports:{}};return e[n](s,s.exports,i),s.exports}i.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return i.d(t,{a:t}),t},i.d=(e,t)=>{for(var n in t)i.o(t,n)&&!i.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};(()=>{"use strict";i.r(n),i.d(n,{FindAndReplace:()=>je});var e=i(704),t=i(273),r=i(209),s=i(62),o=i.n(s),a=i(764),c={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};o()(a.Z,c);a.Z.locals;var l=i(226),d={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};o()(l.Z,d);l.Z.locals;const h='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M11.463 5.187a.888.888 0 1 1 1.254 1.255L9.16 10l3.557 3.557a.888.888 0 1 1-1.254 1.255L7.26 10.61a.888.888 0 0 1 .16-1.382l4.043-4.042z"/></svg>';class f extends t.View{constructor(e){super(e);const i=e.t;this.set("matchCount",0),this.set("highlightOffset",0),this.set("isDirty",!1),this.set("_areCommandsEnabled",{}),this.set("_resultsCounterText",""),this.set("_matchCase",!1),this.set("_wholeWordsOnly",!1),this.bind("_searchResultsFound").to(this,"matchCount",this,"isDirty",((e,t)=>e>0&&!t)),this._findInputView=this._createInputField(i("Find in text…")),this._replaceInputView=this._createInputField(i("Replace with…")),this._findButtonView=this._createButton({label:i("Find"),class:"ck-button-find ck-button-action",withText:!0}),this._findPrevButtonView=this._createButton({label:i("Previous result"),class:"ck-button-prev",icon:h,keystroke:"Shift+F3",tooltip:!0}),this._findNextButtonView=this._createButton({label:i("Next result"),class:"ck-button-next",icon:h,keystroke:"F3",tooltip:!0}),this._optionsDropdown=this._createOptionsDropdown(),this._replaceButtonView=this._createButton({label:i("Replace"),class:"ck-button-replace",withText:!0}),this._replaceAllButtonView=this._createButton({label:i("Replace all"),class:"ck-button-replaceall",withText:!0}),this._findFieldsetView=this._createFindFieldset(),this._replaceFieldsetView=this._createReplaceFieldset(),this._focusTracker=new r.FocusTracker,this._keystrokes=new r.KeystrokeHandler,this._focusables=new t.ViewCollection,this._focusCycler=new t.FocusCycler({focusables:this._focusables,focusTracker:this._focusTracker,keystrokeHandler:this._keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this.setTemplate({tag:"form",attributes:{class:["ck","ck-find-and-replace-form"],tabindex:"-1"},children:[new t.FormHeaderView(e,{label:i("Find and replace")}),this._findFieldsetView,this._replaceFieldsetView]}),(0,t.injectCssTransitionDisabler)(this)}render(){super.render(),(0,t.submitHandler)({view:this}),this._initFocusCycling(),this._initKeystrokeHandling()}destroy(){super.destroy(),this._focusTracker.destroy(),this._keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}reset(){this._findInputView.errorText=null,this.isDirty=!0}get _textToFind(){return this._findInputView.fieldView.element.value}get _textToReplace(){return this._replaceInputView.fieldView.element.value}_createFindFieldset(){const e=this.locale,i=new t.View(e);return this._findInputView.fieldView.on("input",(()=>{this.isDirty=!0})),this._findButtonView.on("execute",this._onFindButtonExecute.bind(this)),this._findPrevButtonView.delegate("execute").to(this,"findPrevious"),this._findNextButtonView.delegate("execute").to(this,"findNext"),this._findPrevButtonView.bind("isEnabled").to(this,"_areCommandsEnabled",(({findPrevious:e})=>e)),this._findNextButtonView.bind("isEnabled").to(this,"_areCommandsEnabled",(({findNext:e})=>e)),this._injectFindResultsCounter(),i.setTemplate({tag:"fieldset",attributes:{class:["ck","ck-find-and-replace-form__find"]},children:[this._findInputView,this._findButtonView,this._findPrevButtonView,this._findNextButtonView]}),i}_onFindButtonExecute(){if(this._textToFind)this.isDirty=!1,this.fire("findNext",{searchText:this._textToFind,matchCase:this._matchCase,wholeWords:this._wholeWordsOnly});else{const e=this.t;this._findInputView.errorText=e("Text to find must not be empty.")}}_injectFindResultsCounter(){const e=this.locale,i=e.t,n=this.bindTemplate,s=new t.View(e);this.bind("_resultsCounterText").to(this,"highlightOffset",this,"matchCount",((e,t)=>i("%0 of %1",[e,t]))),s.setTemplate({tag:"span",attributes:{class:["ck","ck-results-counter",n.if("isDirty","ck-hidden")]},children:[{text:n.to("_resultsCounterText")}]});const o=()=>{const t=this._findInputView.fieldView.element;if(!t||!(0,r.isVisible)(t))return;const i=new r.Rect(s.element).width,n="ltr"===e.uiLanguageDirection?"paddingRight":"paddingLeft";t.style[n]=i?`calc( 2 * var(--ck-spacing-standard) + ${i}px )`:null};this.on("change:_resultsCounterText",o,{priority:"low"}),this.on("change:isDirty",o,{priority:"low"}),this._findInputView.template.children[0].children.push(s)}_createReplaceFieldset(){const e=this.locale,i=e.t,n=new t.View(e);return this._replaceButtonView.bind("isEnabled").to(this,"_areCommandsEnabled",this,"_searchResultsFound",(({replace:e},t)=>e&&t)),this._replaceAllButtonView.bind("isEnabled").to(this,"_areCommandsEnabled",this,"_searchResultsFound",(({replaceAll:e},t)=>e&&t)),this._replaceInputView.bind("isEnabled").to(this,"_areCommandsEnabled",this,"_searchResultsFound",(({replace:e},t)=>e&&t)),this._replaceInputView.bind("infoText").to(this._replaceInputView,"isEnabled",this._replaceInputView,"isFocused",((e,t)=>e||!t?"":i("Tip: Find some text first in order to replace it."))),this._replaceButtonView.on("execute",(()=>{this.fire("replace",{searchText:this._textToFind,replaceText:this._textToReplace})})),this._replaceAllButtonView.on("execute",(()=>{this.fire("replaceAll",{searchText:this._textToFind,replaceText:this._textToReplace}),this.focus()})),n.setTemplate({tag:"fieldset",attributes:{class:["ck","ck-find-and-replace-form__replace"]},children:[this._replaceInputView,this._optionsDropdown,this._replaceButtonView,this._replaceAllButtonView]}),n}_createOptionsDropdown(){const i=this.locale,n=i.t,s=(0,t.createDropdown)(i);s.class="ck-options-dropdown",s.buttonView.set({withText:!1,label:n("Show options"),icon:e.icons.cog,tooltip:!0});const o=new t.Model({withText:!0,label:n("Match case"),_isMatchCaseSwitch:!0}),a=new t.Model({withText:!0,label:n("Whole words only")});return o.bind("isOn").to(this,"_matchCase"),a.bind("isOn").to(this,"_wholeWordsOnly"),s.on("execute",(e=>{e.source._isMatchCaseSwitch?this._matchCase=!this._matchCase:this._wholeWordsOnly=!this._wholeWordsOnly,this.isDirty=!0})),(0,t.addListToDropdown)(s,new r.Collection([{type:"switchbutton",model:o},{type:"switchbutton",model:a}])),s}_initFocusCycling(){[this._findInputView,this._findButtonView,this._findPrevButtonView,this._findNextButtonView,this._replaceInputView,this._optionsDropdown,this._replaceButtonView,this._replaceAllButtonView].forEach((e=>{this._focusables.add(e),this._focusTracker.add(e.element)}))}_initKeystrokeHandling(){const e=e=>e.stopPropagation(),t=e=>{e.stopPropagation(),e.preventDefault()};this._keystrokes.listenTo(this.element),this._keystrokes.set("f3",(e=>{t(e),this._findNextButtonView.fire("execute")})),this._keystrokes.set("shift+f3",(e=>{t(e),this._findPrevButtonView.fire("execute")})),this._keystrokes.set("enter",(e=>{const i=e.target;i===this._findInputView.fieldView.element?(this._areCommandsEnabled.findNext?this._findNextButtonView.fire("execute"):this._findButtonView.fire("execute"),t(e)):i!==this._replaceInputView.fieldView.element||this.isDirty||(this._replaceButtonView.fire("execute"),t(e))})),this._keystrokes.set("shift+enter",(e=>{e.target===this._findInputView.fieldView.element&&(this._areCommandsEnabled.findPrevious?this._findPrevButtonView.fire("execute"):this._findButtonView.fire("execute"),t(e))})),this._keystrokes.set("arrowright",e),this._keystrokes.set("arrowleft",e),this._keystrokes.set("arrowup",e),this._keystrokes.set("arrowdown",e),this.listenTo(this._findInputView.element,"selectstart",((e,t)=>{t.stopPropagation()}),{priority:"high"}),this.listenTo(this._replaceInputView.element,"selectstart",((e,t)=>{t.stopPropagation()}),{priority:"high"})}_createButton(e){const i=new t.ButtonView(this.locale);return i.set(e),i}_createInputField(e){const i=new t.LabeledFieldView(this.locale,t.createLabeledInputText);return i.label=e,i}}class u extends e.Plugin{static get pluginName(){return"FindAndReplaceUI"}constructor(e){super(e),this.formView=null}init(){const e=this.editor;e.ui.componentFactory.add("findAndReplace",(i=>{const n=(0,t.createDropdown)(i),r=this.formView=new f(e.locale);return n.bind("isEnabled").to(e.commands.get("find")),n.panelView.children.add(r),n.on("change:isOpen",((e,t,i)=>{i?(r.disableCssTransitions(),r.reset(),r._findInputView.fieldView.select(),r.focus(),r.enableCssTransitions()):(r.focus(),this.fire("searchReseted"))}),{priority:"low"}),this._setupDropdownButton(n),this._setupFormView(r),n}))}_setupDropdownButton(e){const t=this.editor,i=t.locale.t;e.buttonView.set({icon:'<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>',label:i("Find and replace"),keystroke:"CTRL+F",tooltip:!0}),t.keystrokes.set("Ctrl+F",((t,i)=>{e.isOpen=!0,i()}))}_setupFormView(e){const t=this.editor.commands,i=this.editor.plugins.get("FindAndReplaceEditing").state,n={before:-1,same:0,after:1};e.bind("highlightOffset").to(i,"highlightedResult",(e=>e?Array.from(i.results).sort(((e,t)=>n[e.marker.getStart().compareWith(t.marker.getStart())])).indexOf(e)+1:0)),e.listenTo(i.results,"change",(()=>{e.matchCount=i.results.length})),e.bind("_areCommandsEnabled").to(t.get("findNext"),"isEnabled",t.get("findPrevious"),"isEnabled",t.get("replace"),"isEnabled",t.get("replaceAll"),"isEnabled",((e,t,i,n)=>({findNext:e,findPrevious:t,replace:i,replaceAll:n}))),e.delegate("findNext","findPrevious","replace","replaceAll").to(this),e.on("change:isDirty",((e,t,i)=>{i&&this.fire("searchReseted")}))}}const p="object"==typeof global&&global&&global.Object===Object&&global;var m="object"==typeof self&&self&&self.Object===Object&&self;const g=p||m||Function("return this")();const k=g.Symbol;const w=function(e,t){for(var i=-1,n=null==e?0:e.length,r=Array(n);++i<n;)r[i]=t(e[i],i,e);return r};const b=Array.isArray;var _=Object.prototype,v=_.hasOwnProperty,x=_.toString,y=k?k.toStringTag:void 0;const T=function(e){var t=v.call(e,y),i=e[y];try{e[y]=void 0;var n=!0}catch(e){}var r=x.call(e);return n&&(t?e[y]=i:delete e[y]),r};var R=Object.prototype.toString;const V=function(e){return R.call(e)};var C=k?k.toStringTag:void 0;const I=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":C&&C in Object(e)?T(e):V(e)};const E=function(e){return null!=e&&"object"==typeof e};const F=function(e){return"symbol"==typeof e||E(e)&&"[object Symbol]"==I(e)};var N=k?k.prototype:void 0,A=N?N.toString:void 0;const B=function e(t){if("string"==typeof t)return t;if(b(t))return w(t,e)+"";if(F(t))return A?A.call(t):"";var i=t+"";return"0"==i&&1/t==-Infinity?"-0":i};const O=function(e){return null==e?"":B(e)};var S=/[\\^$.*+?()[\]{}|]/g,j=RegExp(S.source);const M=function(e){return(e=O(e))&&j.test(e)?e.replace(S,"\\$&"):e};function P(e,t,i,n){const s=n||new r.Collection;return t.change((n=>{[...e].forEach((({type:e,item:o})=>{if("elementStart"===e&&t.schema.checkChild(o,"$text")){const e=i({item:o,text:D(t.createRangeIn(o))});if(!e)return;e.forEach((e=>{const t=`findResult:${(0,r.uid)()}`,i=n.addMarker(t,{usingOperation:!1,affectsData:!1,range:n.createRange(n.createPositionAt(o,e.start),n.createPositionAt(o,e.end))}),a=function(e,t){const i=e.find((({marker:e})=>t.getStart().isBefore(e.getStart())));return i?e.getIndex(i):e.length}(s,i);s.add({id:t,label:e.label,marker:i},a)}))}}))})),s}function D(e){return Array.from(e.getItems()).reduce(((e,t)=>t.is("text")||t.is("textProxy")?e+t.data:`${e}\n`),"")}function W(e){const t=e.length-1;let i=e.index;return 3===e.length&&(i+=e[1].length),{label:e[t],start:i,end:i+e[t].length}}function $(e,t){let i="gu";t.matchCase||(i+="i");let n=`(${M(e)})`;if(t.wholeWords){const t="[^a-zA-ZÀ-ɏḀ-ỿ]";new RegExp("^"+t).test(e)||(n=`(^|${t}|_)${n}`),new RegExp(t+"$").test(e)||(n=`${n}(?=_|${t}|$)`)}const r=new RegExp(n,i);return function({text:e}){return[...e.matchAll(r)].map(W)}}class H extends e.Command{constructor(e,t){super(e),this.isEnabled=!0,this.affectsData=!1,this._state=t}execute(e,{matchCase:t,wholeWords:i}={}){const{editor:n}=this,{model:r}=n;let s;"string"==typeof e?(s=$(e,{matchCase:t,wholeWords:i}),this._state.searchText=e):s=e;const o=r.document.getRootNames().reduce(((e,t)=>P(r.createRangeIn(r.document.getRoot(t)),r,s,e)),null);return this._state.clear(r),this._state.results.addMany(Array.from(o)),this._state.highlightedResult=o.get(0),"string"==typeof e&&(this._state.searchText=e),this._state.matchCase=!!t,this._state.matchWholeWords=!!i,{results:o,findCallback:s}}}class L extends e.Command{constructor(e,t){super(e),this.isEnabled=!0,this._state=t}execute(e,t){const{model:i}=this.editor;i.change((n=>{const r=t.marker.getRange();if("$graveyard"===r.root.rootName)return void this._state.results.remove(t);let s={};for(const e of r.getItems())if(e.is("$text")||e.is("$textProxy")){s=e.getAttributes();break}i.insertContent(n.createText(e,s),r),this._state.results.has(t)&&this._state.results.remove(t)}))}}class Z extends L{execute(e,t){const{editor:i}=this,{model:n}=i,s=t instanceof r.Collection?t:n.document.getRootNames().reduce(((e,i)=>P(n.createRangeIn(n.document.getRoot(i)),n,$(t,this._state),e)),null);s.length&&n.change((()=>{[...s].forEach((t=>{super.execute(e,t)}))}))}}class z extends e.Command{constructor(e,t){super(e),this.affectsData=!1,this._state=t,this.isEnabled=!1,this.listenTo(this._state.results,"change",(()=>{this.isEnabled=this._state.results.length>1}))}refresh(){this.isEnabled=this._state.results.length>1}execute(){const e=this._state.results,t=e.getIndex(this._state.highlightedResult),i=t+1>=e.length?0:t+1;this._state.highlightedResult=this._state.results.get(i)}}class K extends z{execute(){const e=this._state.results.getIndex(this._state.highlightedResult),t=e-1<0?this._state.results.length-1:e-1;this._state.highlightedResult=this._state.results.get(t)}}class Y{constructor(e){this.set("results",new r.Collection),this.set("highlightedResult",null),this.set("searchText",""),this.set("replaceText",""),this.set("matchCase",!1),this.set("matchWholeWords",!1),this.results.on("change",((t,{removed:i,index:n})=>{if((i=Array.from(i)).length){let t=!1;if(e.change((n=>{for(const r of i)this.highlightedResult===r&&(t=!0),e.markers.has(r.marker.name)&&n.removeMarker(r.marker)})),t){const e=n>=this.results.length?0:n;this.highlightedResult=this.results.get(e)}}}))}clear(e){this.searchText="",e.change((t=>{if(this.highlightedResult){const i=this.highlightedResult.marker.name.split(":")[1],n=e.markers.get(`findResultHighlighted:${i}`);n&&t.removeMarker(n)}[...this.results].forEach((({marker:e})=>{t.removeMarker(e)}))})),this.results.clear()}}function U(e){return"[object Range]"==Object.prototype.toString.apply(e)}function q(e){const t=Object.prototype.toString.apply(e);return"[object Window]"==t||"[object global]"==t}function G(e){return"[object Text]"==Object.prototype.toString.call(e)}(0,r.mix)(Y,r.ObservableMixin);const J=function(e,t){return function(i){return e(t(i))}}(Object.getPrototypeOf,Object);var X=Function.prototype,Q=Object.prototype,ee=X.toString,te=Q.hasOwnProperty,ie=ee.call(Object);const ne=function(e){if(!E(e)||"[object Object]"!=I(e))return!1;var t=J(e);if(null===t)return!0;var i=te.call(t,"constructor")&&t.constructor;return"function"==typeof i&&i instanceof i&&ee.call(i)==ie};const re=function(e){return E(e)&&1===e.nodeType&&!ne(e)},se=["top","right","bottom","left","width","height"];class oe{constructor(e){const t=U(e);if(Object.defineProperty(this,"_source",{value:e._source||e,writable:!0,enumerable:!1}),re(e)||t)if(t){const t=oe.getDomRangeRects(e);ae(this,oe.getBoundingRect(t))}else ae(this,e.getBoundingClientRect());else if(q(e)){const{innerWidth:t,innerHeight:i}=e;ae(this,{top:0,right:t,bottom:i,left:0,width:t,height:i})}else ae(this,e)}clone(){return new oe(this)}moveTo(e,t){return this.top=t,this.right=e+this.width,this.bottom=t+this.height,this.left=e,this}moveBy(e,t){return this.top+=t,this.right+=e,this.left+=e,this.bottom+=t,this}getIntersection(e){const t={top:Math.max(this.top,e.top),right:Math.min(this.right,e.right),bottom:Math.min(this.bottom,e.bottom),left:Math.max(this.left,e.left)};return t.width=t.right-t.left,t.height=t.bottom-t.top,t.width<0||t.height<0?null:new oe(t)}getIntersectionArea(e){const t=this.getIntersection(e);return t?t.getArea():0}getArea(){return this.width*this.height}getVisible(){const e=this._source;let t=this.clone();if(!ce(e)){let i=e.parentNode||e.commonAncestorContainer;for(;i&&!ce(i);){const e=new oe(i),n=t.getIntersection(e);if(!n)return null;n.getArea()<t.getArea()&&(t=n),i=i.parentNode}}return t}isEqual(e){for(const t of se)if(this[t]!==e[t])return!1;return!0}contains(e){const t=this.getIntersection(e);return!(!t||!t.isEqual(e))}excludeScrollbarsAndBorders(){const e=this._source;let t,i,n;if(q(e))t=e.innerWidth-e.document.documentElement.clientWidth,i=e.innerHeight-e.document.documentElement.clientHeight,n=e.getComputedStyle(e.document.documentElement).direction;else{const r=function(e){const t=e.ownerDocument.defaultView.getComputedStyle(e);return{top:parseInt(t.borderTopWidth,10),right:parseInt(t.borderRightWidth,10),bottom:parseInt(t.borderBottomWidth,10),left:parseInt(t.borderLeftWidth,10)}}(this._source);t=e.offsetWidth-e.clientWidth-r.left-r.right,i=e.offsetHeight-e.clientHeight-r.top-r.bottom,n=e.ownerDocument.defaultView.getComputedStyle(e).direction,this.left+=r.left,this.top+=r.top,this.right-=r.right,this.bottom-=r.bottom,this.width=this.right-this.left,this.height=this.bottom-this.top}return this.width-=t,"ltr"===n?this.right-=t:this.left+=t,this.height-=i,this.bottom-=i,this}static getDomRangeRects(e){const t=[],i=Array.from(e.getClientRects());if(i.length)for(const e of i)t.push(new oe(e));else{let i=e.startContainer;G(i)&&(i=i.parentNode);const n=new oe(i.getBoundingClientRect());n.right=n.left,n.width=0,t.push(n)}return t}static getBoundingRect(e){const t={left:Number.POSITIVE_INFINITY,top:Number.POSITIVE_INFINITY,right:Number.NEGATIVE_INFINITY,bottom:Number.NEGATIVE_INFINITY};let i=0;for(const n of e)i++,t.left=Math.min(t.left,n.left),t.top=Math.min(t.top,n.top),t.right=Math.max(t.right,n.right),t.bottom=Math.max(t.bottom,n.bottom);return 0==i?null:(t.width=t.right-t.left,t.height=t.bottom-t.top,new oe(t))}}function ae(e,t){for(const i of se)e[i]=t[i]}function ce(e){return!!re(e)&&e===e.ownerDocument.body}function le({target:e,viewportOffset:t=0}){const i=ge(e);let n=i,r=null;for(;n;){let s;s=ke(n==i?e:r),he(s,(()=>we(e,n)));const o=we(e,n);if(de(n,o,t),n.parent!=n){if(r=n.frameElement,n=n.parent,!r)return}else n=null}}function de(e,t,i){const n=t.clone().moveBy(0,i),r=t.clone().moveBy(0,-i),s=new oe(e).excludeScrollbarsAndBorders();if(![r,n].every((e=>s.contains(e)))){let{scrollX:o,scrollY:a}=e;ue(r,s)?a-=s.top-t.top+i:fe(n,s)&&(a+=t.bottom-s.bottom+i),pe(t,s)?o-=s.left-t.left+i:me(t,s)&&(o+=t.right-s.right+i),e.scrollTo(o,a)}}function he(e,t){const i=ge(e);let n,r;for(;e!=i.document.body;)r=t(),n=new oe(e).excludeScrollbarsAndBorders(),n.contains(r)||(ue(r,n)?e.scrollTop-=n.top-r.top:fe(r,n)&&(e.scrollTop+=r.bottom-n.bottom),pe(r,n)?e.scrollLeft-=n.left-r.left:me(r,n)&&(e.scrollLeft+=r.right-n.right)),e=e.parentNode}function fe(e,t){return e.bottom>t.bottom}function ue(e,t){return e.top<t.top}function pe(e,t){return e.left<t.left}function me(e,t){return e.right>t.right}function ge(e){return U(e)?e.startContainer.ownerDocument.defaultView:e.ownerDocument.defaultView}function ke(e){if(U(e)){let t=e.commonAncestorContainer;return G(t)&&(t=t.parentNode),t}return e.parentNode}function we(e,t){const i=ge(e),n=new oe(e);if(i===t)return n;{let e=i;for(;e!=t;){const t=e.frameElement,i=new oe(t).excludeScrollbarsAndBorders();n.moveBy(i.left,i.top),e=e.parent}}return n}Object.assign({},{scrollViewportToShowTarget:le,scrollAncestorsToShowTarget:function(e){he(ke(e),(()=>new oe(e)))}});const be=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)};const _e=function(){return g.Date.now()};var ve=/\s/;const xe=function(e){for(var t=e.length;t--&&ve.test(e.charAt(t)););return t};var ye=/^\s+/;const Te=function(e){return e?e.slice(0,xe(e)+1).replace(ye,""):e};var Re=/^[-+]0x[0-9a-f]+$/i,Ve=/^0b[01]+$/i,Ce=/^0o[0-7]+$/i,Ie=parseInt;const Ee=function(e){if("number"==typeof e)return e;if(F(e))return NaN;if(be(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=be(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=Te(e);var i=Ve.test(e);return i||Ce.test(e)?Ie(e.slice(2),i?2:8):Re.test(e)?NaN:+e};var Fe=Math.max,Ne=Math.min;const Ae=function(e,t,i){var n,r,s,o,a,c,l=0,d=!1,h=!1,f=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function u(t){var i=n,s=r;return n=r=void 0,l=t,o=e.apply(s,i)}function p(e){return l=e,a=setTimeout(g,t),d?u(e):o}function m(e){var i=e-c;return void 0===c||i>=t||i<0||h&&e-l>=s}function g(){var e=_e();if(m(e))return k(e);a=setTimeout(g,function(e){var i=t-(e-c);return h?Ne(i,s-(e-l)):i}(e))}function k(e){return a=void 0,f&&n?u(e):(n=r=void 0,o)}function w(){var e=_e(),i=m(e);if(n=arguments,r=this,c=e,i){if(void 0===a)return p(c);if(h)return clearTimeout(a),a=setTimeout(g,t),u(c)}return void 0===a&&(a=setTimeout(g,t)),o}return t=Ee(t)||0,be(i)&&(d=!!i.leading,s=(h="maxWait"in i)?Fe(Ee(i.maxWait)||0,t):s,f="trailing"in i?!!i.trailing:f),w.cancel=function(){void 0!==a&&clearTimeout(a),l=0,n=c=r=a=void 0},w.flush=function(){return void 0===a?o:k(_e())},w};var Be=i(299),Oe={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};o()(Be.Z,Oe);Be.Z.locals;class Se extends e.Plugin{static get pluginName(){return"FindAndReplaceEditing"}init(){this._activeResults=null,this.state=new Y(this.editor.model),this._defineConverters(),this._defineCommands(),this.listenTo(this.state,"change:highlightedResult",((e,t,i,n)=>{const{model:r}=this.editor;r.change((e=>{if(n){const t=n.marker.name.split(":")[1],i=r.markers.get(`findResultHighlighted:${t}`);i&&e.removeMarker(i)}if(i){const t=i.marker.name.split(":")[1];e.addMarker(`findResultHighlighted:${t}`,{usingOperation:!1,affectsData:!1,range:i.marker.getRange()})}}))}));const e=Ae(function(e,t,i){if(i){const e=this.editor.editing.view.domConverter,t=this.editor.editing.mapper.toViewRange(i.marker.getRange());le({target:e.viewRangeToDom(t),viewportOffset:40})}}.bind(this),32);this.listenTo(this.state,"change:highlightedResult",e,{priority:"low"}),this.listenTo(this.editor,"destroy",e.cancel)}find(e){const{editor:t}=this,{model:i}=t,{findCallback:n,results:r}=t.execute("find",e);return this._activeResults=r,this.listenTo(i.document,"change:data",(()=>function(e,t,i){const n=new Set,r=new Set;t.document.differ.getChanges().forEach((e=>{"$text"===e.name||t.schema.isInline(e.position.nodeAfter)?(n.add(e.position.parent),[...t.markers.getMarkersAtPosition(e.position)].forEach((e=>{r.add(e.name)}))):"insert"===e.type&&n.add(e.position.nodeAfter)})),t.document.differ.getChangedMarkers().forEach((({name:e,data:{newRange:t}})=>{t&&"$graveyard"===t.start.root.rootName&&r.add(e)})),n.forEach((e=>{[...t.markers.getMarkersIntersectingRange(t.createRangeIn(e))].forEach((e=>r.add(e.name)))})),t.change((t=>{r.forEach((i=>{e.has(i)&&e.remove(i),t.removeMarker(i)}))})),n.forEach((n=>{P(t.createRangeOn(n),t,i,e)}))}(this._activeResults,i,n))),this._activeResults}stop(){this._activeResults&&(this.stopListening(this.editor.model.document),this.state.clear(this.editor.model),this._activeResults=null)}_defineCommands(){this.editor.commands.add("find",new H(this.editor,this.state)),this.editor.commands.add("findNext",new z(this.editor,this.state)),this.editor.commands.add("findPrevious",new K(this.editor,this.state)),this.editor.commands.add("replace",new L(this.editor,this.state)),this.editor.commands.add("replaceAll",new Z(this.editor,this.state))}_defineConverters(){const{editor:e}=this;e.conversion.for("editingDowncast").markerToHighlight({model:"findResult",view:({markerName:e})=>{const[,t]=e.split(":");return{name:"span",classes:["ck-find-result"],attributes:{"data-find-result":t}}}}),e.conversion.for("editingDowncast").markerToHighlight({model:"findResultHighlighted",view:({markerName:e})=>{const[,t]=e.split(":");return{name:"span",classes:["ck-find-result_selected"],attributes:{"data-find-result":t}}}})}}class je extends e.Plugin{static get requires(){return[Se,u]}static get pluginName(){return"FindAndReplace"}init(){const e=this.editor.plugins.get("FindAndReplaceUI"),t=this.editor.plugins.get("FindAndReplaceEditing"),i=t.state;e.on("findNext",((e,t)=>{t?(i.searchText=t.searchText,this.editor.execute("find",t.searchText,t)):this.editor.execute("findNext")})),e.on("findPrevious",((e,t)=>{t&&i.searchText!==t.searchText?this.editor.execute("find",t.searchText):this.editor.execute("findPrevious")})),e.on("replace",((e,t)=>{i.searchText!==t.searchText&&this.editor.execute("find",t.searchText);const n=i.highlightedResult;n&&this.editor.execute("replace",t.replaceText,n)})),e.on("replaceAll",((e,t)=>{i.searchText!==t.searchText&&this.editor.execute("find",t.searchText),this.editor.execute("replaceAll",t.replaceText,i.results)})),e.on("searchReseted",(()=>{i.clear(this.editor.model),t.stop()}))}}})(),(window.CKEditor5=window.CKEditor5||{}).findAndReplace=n})();
@@ -0,0 +1 @@
1
+ !function(e){const i=e.bs=e.bs||{};i.dictionary=Object.assign(i.dictionary||{},{Find:"Pronađi","Find and replace":"Pronađi i zamijeni","Find in text…":"Pronađi u tekstu","Match case":"Podudaranje","Next result":"","Previous result":"Prethodni rezultat",Replace:"Zamijeni","Replace all":"Zamijeni sve","Replace with…":"Zamijeni sa...","Show options":"Prikaži opcije","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={}));
@@ -0,0 +1 @@
1
+ !function(t){const e=t.cs=t.cs||{};e.dictionary=Object.assign(e.dictionary||{},{Find:"Najít","Find and replace":"Najít a nahradit","Find in text…":"Najít v textu...","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...","Show options":"Zobrazit možnosti","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={}));
@@ -0,0 +1 @@
1
+ !function(t){const e=t.da=t.da||{};e.dictionary=Object.assign(e.dictionary||{},{Find:"","Find and replace":"Søg og erstat","Find in text…":"","Match case":"","Next result":"Næste","Previous result":"Forrige",Replace:"Erstat","Replace all":"Erstatte alle","Replace with…":"","Show options":"","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={}));
@@ -1 +1 @@
1
- !function(e){const n=e.de=e.de||{};n.dictionary=Object.assign(n.dictionary||{},{Find:"Suchen","Find and replace":"Suchen und ersetzen","Find in text…":"In Text suchen…","Match case":"Groß-/Kleinschreibung beachten","Next result":"Nächstes Ergebnis","Previous result":"Vorheriges Ergebnis",Replace:"Ersetzen","Replace all":"Alle ersetzen","Replace with…":"Ersetzen durch…","Show options":"","Text to find must not be empty.":"","Tip: Find some text first in order to replace it.":"","Whole words only":"Nur ganze Wörter"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
1
+ !function(e){const n=e.de=e.de||{};n.dictionary=Object.assign(n.dictionary||{},{Find:"Suchen","Find and replace":"Suchen und ersetzen","Find in text…":"In Text suchen…","Match case":"Groß-/Kleinschreibung beachten","Next result":"Nächstes Ergebnis","Previous result":"Vorheriges Ergebnis",Replace:"Ersetzen","Replace all":"Alle ersetzen","Replace with…":"Ersetzen durch…","Show options":"Optionen anzeigen","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={}));
@@ -0,0 +1 @@
1
+ !function(e){const t=e.es=e.es||{};t.dictionary=Object.assign(t.dictionary||{},{Find:"Buscar","Find and replace":"Buscar y reemplazar","Find in text…":"","Match case":"","Next result":"Siguiente resultado","Previous result":"Resultado anterior",Replace:"Reemplazar","Replace all":"Reemplazar todo","Replace with…":"","Show options":"Ver opciones","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={}));
@@ -1 +1 @@
1
- !function(e){const t=e.hu=e.hu||{};t.dictionary=Object.assign(t.dictionary||{},{Find:"Keresés","Find and replace":"Keresés és csere","Find in text…":"Keresés szövegben...","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...","Show options":"","Text to find must not be empty.":"","Tip: Find some text first in order to replace it.":"","Whole words only":"Csak teljes szavak"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
1
+ !function(e){const s=e.hu=e.hu||{};s.dictionary=Object.assign(s.dictionary||{},{Find:"Keresés","Find and replace":"Keresés és csere","Find in text…":"Keresés szövegben...","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...","Show options":"Beállítások megjelenítése","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={}));
@@ -0,0 +1 @@
1
+ !function(i){const a=i.id=i.id||{};a.dictionary=Object.assign(a.dictionary||{},{Find:"Cari","Find and replace":"Cari dan ubah","Find in text…":"Cari di dalam teks...","Match case":"Sesuaikan huruf","Next result":"Hasil berikutnya","Previous result":"Hasil sebelumnya",Replace:"Ubah","Replace all":"Ubah semua","Replace with…":"Ubah dengan...","Show options":"Tampilkan opsi","Text to find must not be empty.":"Teks yang dicari tidak boleh kosong.","Tip: Find some text first in order to replace it.":"","Whole words only":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +1 @@
1
- !function(t){const i=t.it=t.it||{};i.dictionary=Object.assign(i.dictionary||{},{Find:"Trova","Find and replace":"Trova e sostituisci","Find in text…":"Trova nel testo…","Match case":"Distingui maiuscole e minuscole","Next result":"Risultato successivo","Previous result":"Risultato precedente",Replace:"Sostituisci","Replace all":"Sostituisci tutto","Replace with…":"Sostituisci con…","Show options":"","Text to find must not be empty.":"","Tip: Find some text first in order to replace it.":"","Whole words only":"Solo parole intere"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
1
+ !function(t){const i=t.it=t.it||{};i.dictionary=Object.assign(i.dictionary||{},{Find:"Trova","Find and replace":"Trova e sostituisci","Find in text…":"Trova nel testo…","Match case":"Distingui maiuscole e minuscole","Next result":"Risultato successivo","Previous result":"Risultato precedente",Replace:"Sostituisci","Replace all":"Sostituisci tutto","Replace with…":"Sostituisci con…","Show options":"Mostra opzioni","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={}));
@@ -0,0 +1 @@
1
+ !function(e){const n=e.nl=e.nl||{};n.dictionary=Object.assign(n.dictionary||{},{Find:"Zoeken","Find and replace":"Zoeken en vervangen","Find in text…":"Zoeken in tekst","Match case":"Hoofdlettergevoelig","Next result":"Vorige zoeken","Previous result":"Volgende zoeken",Replace:"Vervangen","Replace all":"Alles vervangen","Replace with…":"Vervangen door","Show options":"Opties tonen","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={}));
@@ -0,0 +1 @@
1
+ !function(t){const e=t.no=t.no||{};e.dictionary=Object.assign(e.dictionary||{},{Find:"Søk","Find and replace":"Søk og erstatt","Find in text…":"Søk i tekst","Match case":"","Next result":"Neste resultat","Previous result":"Forrige resultat",Replace:"Erstatt","Replace all":"Erstatt alt","Replace with…":"","Show options":"","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={}));
@@ -0,0 +1 @@
1
+ !function(e){const i=e.pl=e.pl||{};i.dictionary=Object.assign(i.dictionary||{},{Find:"Znajdź","Find and replace":"Znajdź i zamień","Find in text…":"Znajdź…","Match case":"Uwzględnij wielkość liter","Next result":"Następny","Previous result":"Poprzedni",Replace:"Zamień","Replace all":"Zamień wszystko","Replace with…":"Zamień na…","Show options":"Pokaż opcje","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={}));
@@ -0,0 +1 @@
1
+ !function(i){const e=i["pt-br"]=i["pt-br"]||{};e.dictionary=Object.assign(e.dictionary||{},{Find:"Pesquisar","Find and replace":"Pesquisar e substituir","Find in text…":"Pesquisar no texto","Match case":"Diferenciar maiúsculas de minúsculas","Next result":"Próxima ocorrência","Previous result":"Ocorrência anterior",Replace:"Substituir","Replace all":"Substituir tudo","Replace with…":"Substituir por...","Show options":"Mostrar opções","Text to find must not be empty.":"Texto a ser pesquisado não pode ser vazio.","Tip: Find some text first in order to replace it.":"Dica: Pesquise por algum texto antes para poder substituí-la.","Whole words only":"Apenas palavras inteiras"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -0,0 +1 @@
1
+ !function(e){const i=e["sr-latn"]=e["sr-latn"]||{};i.dictionary=Object.assign(i.dictionary||{},{Find:"Pronađji","Find and replace":"Nađji i zameni","Find in text…":"Pronađji u tekstu…","Match case":"Podudaranje slučaj","Next result":"Sledeći rezultat","Previous result":"Prethodni rezultat",Replace:"Zameni","Replace all":"Zameni sve","Replace with…":"Zameni sa…","Show options":"Prikaži opcije","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={}));
@@ -0,0 +1 @@
1
+ !function(e){const t=e.sr=e.sr||{};t.dictionary=Object.assign(t.dictionary||{},{Find:"Пронаћи","Find and replace":"Нађи и замени","Find in text…":"Пронађи у тексту… ","Match case":"Подударање случај ","Next result":"Следећи резултат ","Previous result":"Претходни резултат ",Replace:"Замени","Replace all":"Замени све","Replace with…":"Замени са…","Show options":"Прикажи опције ","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={}));
@@ -0,0 +1 @@
1
+ !function(e){const t=e["zh-cn"]=e["zh-cn"]||{};t.dictionary=Object.assign(t.dictionary||{},{Find:"查找","Find and replace":"查找和替换","Find in text…":"查找的文本","Match case":"区分大小写","Next result":"下一个匹配项","Previous result":"上一个匹配项",Replace:"替换","Replace all":"全部替换","Replace with…":"替换的文本","Show options":"显示配置","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={}));
@@ -0,0 +1 @@
1
+ !function(e){const t=e.zh=e.zh||{};t.dictionary=Object.assign(t.dictionary||{},{Find:"尋找","Find and replace":"尋找和取代","Find in text…":"在文本中尋找","Match case":"大小寫需相符","Next result":"後一個結果","Previous result":"前一個結果",Replace:"取代","Replace all":"全部取代","Replace with…":"以…替代","Show options":"顯示設定","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={}));
@@ -0,0 +1,69 @@
1
+ # Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
2
+ #
3
+ # !!! IMPORTANT !!!
4
+ #
5
+ # Before you edit this file, please keep in mind that contributing to the project
6
+ # translations is possible ONLY via the Transifex online service.
7
+ #
8
+ # To submit your translations, visit https://www.transifex.com/ckeditor/ckeditor5.
9
+ #
10
+ # To learn more, check out the official contributor's guide:
11
+ # https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/contributing.html
12
+ #
13
+ msgid ""
14
+ msgstr ""
15
+ "Language-Team: Bosnian (https://www.transifex.com/ckeditor/teams/11143/bs/)\n"
16
+ "Language: bs\n"
17
+ "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"
18
+
19
+ msgctxt "The tooltip of a find and replace button in the toolbar. Also, the title of the find and replace form."
20
+ msgid "Find and replace"
21
+ msgstr "Pronađi i zamijeni"
22
+
23
+ msgctxt "The label for the searched text in the find and replace dropdown."
24
+ msgid "Find in text…"
25
+ msgstr "Pronađi u tekstu"
26
+
27
+ msgctxt "The label for the find action button in the find and replace dropdown."
28
+ msgid "Find"
29
+ msgstr "Pronađi"
30
+
31
+ msgctxt "The label for the previous result button in the find and replace dropdown."
32
+ msgid "Previous result"
33
+ msgstr "Prethodni rezultat"
34
+
35
+ msgctxt "The label for the previous result button in the find and replace dropdown."
36
+ msgid "Next result"
37
+ msgstr ""
38
+
39
+ msgctxt "The label for the (single) replace action button in the find and replace dropdown."
40
+ msgid "Replace"
41
+ msgstr "Zamijeni"
42
+
43
+ msgctxt "The label for the replace all action button in the find and replace dropdown."
44
+ msgid "Replace all"
45
+ msgstr "Zamijeni sve"
46
+
47
+ msgctxt "The label for the match case checkbox in the find and replace dropdown."
48
+ msgid "Match case"
49
+ msgstr "Podudaranje"
50
+
51
+ msgctxt "The label for the whole words only checkbox in the find and replace dropdown."
52
+ msgid "Whole words only"
53
+ msgstr "Samo cijele riječi"
54
+
55
+ msgctxt "The label for the text replacement in the find and replace dropdown."
56
+ msgid "Replace with…"
57
+ msgstr "Zamijeni sa..."
58
+
59
+ msgctxt "An error text displayed when user attempted to find an empty text."
60
+ msgid "Text to find must not be empty."
61
+ msgstr "Unesite tekst za pretragu."
62
+
63
+ msgctxt "A message displayed next to the replace field when disabled but user tries to use it."
64
+ msgid "Tip: Find some text first in order to replace it."
65
+ msgstr ""
66
+
67
+ msgctxt "The label and a tooltip of the options dropdown button in the find and replace form."
68
+ msgid "Show options"
69
+ msgstr "Prikaži opcije"
@@ -0,0 +1,69 @@
1
+ # Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
2
+ #
3
+ # !!! IMPORTANT !!!
4
+ #
5
+ # Before you edit this file, please keep in mind that contributing to the project
6
+ # translations is possible ONLY via the Transifex online service.
7
+ #
8
+ # To submit your translations, visit https://www.transifex.com/ckeditor/ckeditor5.
9
+ #
10
+ # To learn more, check out the official contributor's guide:
11
+ # https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/contributing.html
12
+ #
13
+ msgid ""
14
+ msgstr ""
15
+ "Language-Team: Czech (https://www.transifex.com/ckeditor/teams/11143/cs/)\n"
16
+ "Language: cs\n"
17
+ "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"
18
+
19
+ msgctxt "The tooltip of a find and replace button in the toolbar. Also, the title of the find and replace form."
20
+ msgid "Find and replace"
21
+ msgstr "Najít a nahradit"
22
+
23
+ msgctxt "The label for the searched text in the find and replace dropdown."
24
+ msgid "Find in text…"
25
+ msgstr "Najít v textu..."
26
+
27
+ msgctxt "The label for the find action button in the find and replace dropdown."
28
+ msgid "Find"
29
+ msgstr "Najít"
30
+
31
+ msgctxt "The label for the previous result button in the find and replace dropdown."
32
+ msgid "Previous result"
33
+ msgstr "Předchozí výskyt"
34
+
35
+ msgctxt "The label for the previous result button in the find and replace dropdown."
36
+ msgid "Next result"
37
+ msgstr "Další výskyt"
38
+
39
+ msgctxt "The label for the (single) replace action button in the find and replace dropdown."
40
+ msgid "Replace"
41
+ msgstr "Nahradit"
42
+
43
+ msgctxt "The label for the replace all action button in the find and replace dropdown."
44
+ msgid "Replace all"
45
+ msgstr "Nahradit vše"
46
+
47
+ msgctxt "The label for the match case checkbox in the find and replace dropdown."
48
+ msgid "Match case"
49
+ msgstr "Rozlišovat velikost písmen"
50
+
51
+ msgctxt "The label for the whole words only checkbox in the find and replace dropdown."
52
+ msgid "Whole words only"
53
+ msgstr "Pouze celá slova"
54
+
55
+ msgctxt "The label for the text replacement in the find and replace dropdown."
56
+ msgid "Replace with…"
57
+ msgstr "Nahradit čím..."
58
+
59
+ msgctxt "An error text displayed when user attempted to find an empty text."
60
+ msgid "Text to find must not be empty."
61
+ msgstr "Hledaný text nesmí být prázdný."
62
+
63
+ msgctxt "A message displayed next to the replace field when disabled but user tries to use it."
64
+ msgid "Tip: Find some text first in order to replace it."
65
+ msgstr "Tip: Nejprve najděte nějaký text, abyste jej mohli nahradit."
66
+
67
+ msgctxt "The label and a tooltip of the options dropdown button in the find and replace form."
68
+ msgid "Show options"
69
+ msgstr "Zobrazit možnosti"
@@ -0,0 +1,69 @@
1
+ # Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
2
+ #
3
+ # !!! IMPORTANT !!!
4
+ #
5
+ # Before you edit this file, please keep in mind that contributing to the project
6
+ # translations is possible ONLY via the Transifex online service.
7
+ #
8
+ # To submit your translations, visit https://www.transifex.com/ckeditor/ckeditor5.
9
+ #
10
+ # To learn more, check out the official contributor's guide:
11
+ # https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/contributing.html
12
+ #
13
+ msgid ""
14
+ msgstr ""
15
+ "Language-Team: Danish (https://www.transifex.com/ckeditor/teams/11143/da/)\n"
16
+ "Language: da\n"
17
+ "Plural-Forms: nplurals=2; plural=(n != 1);\n"
18
+
19
+ msgctxt "The tooltip of a find and replace button in the toolbar. Also, the title of the find and replace form."
20
+ msgid "Find and replace"
21
+ msgstr "Søg og erstat"
22
+
23
+ msgctxt "The label for the searched text in the find and replace dropdown."
24
+ msgid "Find in text…"
25
+ msgstr ""
26
+
27
+ msgctxt "The label for the find action button in the find and replace dropdown."
28
+ msgid "Find"
29
+ msgstr ""
30
+
31
+ msgctxt "The label for the previous result button in the find and replace dropdown."
32
+ msgid "Previous result"
33
+ msgstr "Forrige"
34
+
35
+ msgctxt "The label for the previous result button in the find and replace dropdown."
36
+ msgid "Next result"
37
+ msgstr "Næste"
38
+
39
+ msgctxt "The label for the (single) replace action button in the find and replace dropdown."
40
+ msgid "Replace"
41
+ msgstr "Erstat"
42
+
43
+ msgctxt "The label for the replace all action button in the find and replace dropdown."
44
+ msgid "Replace all"
45
+ msgstr "Erstatte alle"
46
+
47
+ msgctxt "The label for the match case checkbox in the find and replace dropdown."
48
+ msgid "Match case"
49
+ msgstr ""
50
+
51
+ msgctxt "The label for the whole words only checkbox in the find and replace dropdown."
52
+ msgid "Whole words only"
53
+ msgstr ""
54
+
55
+ msgctxt "The label for the text replacement in the find and replace dropdown."
56
+ msgid "Replace with…"
57
+ msgstr ""
58
+
59
+ msgctxt "An error text displayed when user attempted to find an empty text."
60
+ msgid "Text to find must not be empty."
61
+ msgstr ""
62
+
63
+ msgctxt "A message displayed next to the replace field when disabled but user tries to use it."
64
+ msgid "Tip: Find some text first in order to replace it."
65
+ msgstr ""
66
+
67
+ msgctxt "The label and a tooltip of the options dropdown button in the find and replace form."
68
+ msgid "Show options"
69
+ msgstr ""
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.
1
+ # Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -58,12 +58,12 @@ msgstr "Ersetzen durch…"
58
58
 
59
59
  msgctxt "An error text displayed when user attempted to find an empty text."
60
60
  msgid "Text to find must not be empty."
61
- msgstr ""
61
+ msgstr "Der Suchtext darf nicht leer sein."
62
62
 
63
63
  msgctxt "A message displayed next to the replace field when disabled but user tries to use it."
64
64
  msgid "Tip: Find some text first in order to replace it."
65
- msgstr ""
65
+ msgstr "Tipp: Zuerst nach Text suchen um diesen zu ersetzen."
66
66
 
67
67
  msgctxt "The label and a tooltip of the options dropdown button in the find and replace form."
68
68
  msgid "Show options"
69
- msgstr ""
69
+ msgstr "Optionen anzeigen"
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.
1
+ # Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -0,0 +1,69 @@
1
+ # Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
2
+ #
3
+ # !!! IMPORTANT !!!
4
+ #
5
+ # Before you edit this file, please keep in mind that contributing to the project
6
+ # translations is possible ONLY via the Transifex online service.
7
+ #
8
+ # To submit your translations, visit https://www.transifex.com/ckeditor/ckeditor5.
9
+ #
10
+ # To learn more, check out the official contributor's guide:
11
+ # https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/contributing.html
12
+ #
13
+ msgid ""
14
+ msgstr ""
15
+ "Language-Team: Spanish (https://www.transifex.com/ckeditor/teams/11143/es/)\n"
16
+ "Language: es\n"
17
+ "Plural-Forms: nplurals=2; plural=(n != 1);\n"
18
+
19
+ msgctxt "The tooltip of a find and replace button in the toolbar. Also, the title of the find and replace form."
20
+ msgid "Find and replace"
21
+ msgstr "Buscar y reemplazar"
22
+
23
+ msgctxt "The label for the searched text in the find and replace dropdown."
24
+ msgid "Find in text…"
25
+ msgstr ""
26
+
27
+ msgctxt "The label for the find action button in the find and replace dropdown."
28
+ msgid "Find"
29
+ msgstr "Buscar"
30
+
31
+ msgctxt "The label for the previous result button in the find and replace dropdown."
32
+ msgid "Previous result"
33
+ msgstr "Resultado anterior"
34
+
35
+ msgctxt "The label for the previous result button in the find and replace dropdown."
36
+ msgid "Next result"
37
+ msgstr "Siguiente resultado"
38
+
39
+ msgctxt "The label for the (single) replace action button in the find and replace dropdown."
40
+ msgid "Replace"
41
+ msgstr "Reemplazar"
42
+
43
+ msgctxt "The label for the replace all action button in the find and replace dropdown."
44
+ msgid "Replace all"
45
+ msgstr "Reemplazar todo"
46
+
47
+ msgctxt "The label for the match case checkbox in the find and replace dropdown."
48
+ msgid "Match case"
49
+ msgstr ""
50
+
51
+ msgctxt "The label for the whole words only checkbox in the find and replace dropdown."
52
+ msgid "Whole words only"
53
+ msgstr ""
54
+
55
+ msgctxt "The label for the text replacement in the find and replace dropdown."
56
+ msgid "Replace with…"
57
+ msgstr ""
58
+
59
+ msgctxt "An error text displayed when user attempted to find an empty text."
60
+ msgid "Text to find must not be empty."
61
+ msgstr ""
62
+
63
+ msgctxt "A message displayed next to the replace field when disabled but user tries to use it."
64
+ msgid "Tip: Find some text first in order to replace it."
65
+ msgstr ""
66
+
67
+ msgctxt "The label and a tooltip of the options dropdown button in the find and replace form."
68
+ msgid "Show options"
69
+ msgstr "Ver opciones"
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.
1
+ # Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #