@ckeditor/ckeditor5-find-and-replace 31.0.0 → 31.1.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.
- package/build/find-and-replace.js +1 -1
- package/build/translations/da.js +1 -0
- package/build/translations/es.js +1 -0
- package/build/translations/hu.js +1 -1
- package/build/translations/id.js +1 -0
- package/build/translations/pt-br.js +1 -0
- package/build/translations/zh.js +1 -0
- package/lang/translations/da.po +69 -0
- package/lang/translations/es.po +69 -0
- package/lang/translations/hu.po +3 -3
- package/lang/translations/id.po +69 -0
- package/lang/translations/pt-br.po +69 -0
- package/lang/translations/zh.po +69 -0
- package/package.json +20 -20
- package/src/ui/findandreplaceformview.js +11 -1
- package/src/utils.js +1 -1
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
* @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.
|
|
3
3
|
* For licensing, see LICENSE.md.
|
|
4
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",(e,t,i)=>{i?(n.disableCssTransitions(),n.reset(),n._findInputView.fieldView.select(),n.focus(),n.enableCssTransitions()):(n.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 t.change(n=>{[...e].forEach(({type:e,item:o})=>{if("elementStart"===e&&t.schema.checkChild(o,"$text")){const e=i({item:o,text:B(t.createRangeIn(o))});if(!e)return;e.forEach(e=>{const t="findResult:"+Object(s.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}(r,i);r.add({id:t,label:e.label,marker:i},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.affectsData=!1,this._state=t}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();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 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.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 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 ${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 L(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)($,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=L(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 L(e)?e.startContainer.ownerDocument.defaultView:e.ownerDocument.defaultView}function he(e){if(L(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 $(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
|
+
!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()}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,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.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 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",(e,t,i)=>{i?(n.disableCssTransitions(),n.reset(),n._findInputView.fieldView.select(),n.focus(),n.enableCssTransitions()):(n.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 t.change(n=>{[...e].forEach(({type:e,item:o})=>{if("elementStart"===e&&t.schema.checkChild(o,"$text")){const e=i({item:o,text:B(t.createRangeIn(o))});if(!e)return;e.forEach(e=>{const t="findResult:"+Object(s.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}(r,i);r.add({id:t,label:e.label,marker:i},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.affectsData=!1,this._state=t}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();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 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.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 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 ${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 L(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)($,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=L(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 L(e)?e.startContainer.ownerDocument.defaultView:e.ownerDocument.defaultView}function he(e){if(L(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 $(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()})}}}]);
|
|
@@ -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={}));
|
|
@@ -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={}));
|
package/build/translations/hu.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e){const
|
|
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={}));
|
|
@@ -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 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-2021, CKSource - Frederico Knabben. 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 ""
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# Copyright (c) 2003-2021, CKSource - Frederico Knabben. 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"
|
package/lang/translations/hu.po
CHANGED
|
@@ -58,12 +58,12 @@ msgstr "Csere erre..."
|
|
|
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 "A keresendő szöveg nem lehet üres."
|
|
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: Először keressen egy szöveget, hogy lecserélhesse."
|
|
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 "Beállítások megjelenítése"
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# Copyright (c) 2003-2021, CKSource - Frederico Knabben. 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: Indonesian (https://www.transifex.com/ckeditor/teams/11143/id/)\n"
|
|
16
|
+
"Language: id\n"
|
|
17
|
+
"Plural-Forms: nplurals=1; plural=0;\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 "Cari dan ubah"
|
|
22
|
+
|
|
23
|
+
msgctxt "The label for the searched text in the find and replace dropdown."
|
|
24
|
+
msgid "Find in text…"
|
|
25
|
+
msgstr "Cari di dalam teks..."
|
|
26
|
+
|
|
27
|
+
msgctxt "The label for the find action button in the find and replace dropdown."
|
|
28
|
+
msgid "Find"
|
|
29
|
+
msgstr "Cari"
|
|
30
|
+
|
|
31
|
+
msgctxt "The label for the previous result button in the find and replace dropdown."
|
|
32
|
+
msgid "Previous result"
|
|
33
|
+
msgstr "Hasil sebelumnya"
|
|
34
|
+
|
|
35
|
+
msgctxt "The label for the previous result button in the find and replace dropdown."
|
|
36
|
+
msgid "Next result"
|
|
37
|
+
msgstr "Hasil berikutnya"
|
|
38
|
+
|
|
39
|
+
msgctxt "The label for the (single) replace action button in the find and replace dropdown."
|
|
40
|
+
msgid "Replace"
|
|
41
|
+
msgstr "Ubah"
|
|
42
|
+
|
|
43
|
+
msgctxt "The label for the replace all action button in the find and replace dropdown."
|
|
44
|
+
msgid "Replace all"
|
|
45
|
+
msgstr "Ubah semua"
|
|
46
|
+
|
|
47
|
+
msgctxt "The label for the match case checkbox in the find and replace dropdown."
|
|
48
|
+
msgid "Match case"
|
|
49
|
+
msgstr "Sesuaikan huruf"
|
|
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 "Ubah dengan..."
|
|
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 "Teks yang dicari tidak boleh kosong."
|
|
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 "Tampilkan opsi"
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# Copyright (c) 2003-2021, CKSource - Frederico Knabben. 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: Portuguese (Brazil) (https://www.transifex.com/ckeditor/teams/11143/pt_BR/)\n"
|
|
16
|
+
"Language: pt_BR\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 "Pesquisar e substituir"
|
|
22
|
+
|
|
23
|
+
msgctxt "The label for the searched text in the find and replace dropdown."
|
|
24
|
+
msgid "Find in text…"
|
|
25
|
+
msgstr "Pesquisar no texto"
|
|
26
|
+
|
|
27
|
+
msgctxt "The label for the find action button in the find and replace dropdown."
|
|
28
|
+
msgid "Find"
|
|
29
|
+
msgstr "Pesquisar"
|
|
30
|
+
|
|
31
|
+
msgctxt "The label for the previous result button in the find and replace dropdown."
|
|
32
|
+
msgid "Previous result"
|
|
33
|
+
msgstr "Ocorrência anterior"
|
|
34
|
+
|
|
35
|
+
msgctxt "The label for the previous result button in the find and replace dropdown."
|
|
36
|
+
msgid "Next result"
|
|
37
|
+
msgstr "Próxima ocorrência"
|
|
38
|
+
|
|
39
|
+
msgctxt "The label for the (single) replace action button in the find and replace dropdown."
|
|
40
|
+
msgid "Replace"
|
|
41
|
+
msgstr "Substituir"
|
|
42
|
+
|
|
43
|
+
msgctxt "The label for the replace all action button in the find and replace dropdown."
|
|
44
|
+
msgid "Replace all"
|
|
45
|
+
msgstr "Substituir tudo"
|
|
46
|
+
|
|
47
|
+
msgctxt "The label for the match case checkbox in the find and replace dropdown."
|
|
48
|
+
msgid "Match case"
|
|
49
|
+
msgstr "Diferenciar maiúsculas de minúsculas"
|
|
50
|
+
|
|
51
|
+
msgctxt "The label for the whole words only checkbox in the find and replace dropdown."
|
|
52
|
+
msgid "Whole words only"
|
|
53
|
+
msgstr "Apenas palavras inteiras"
|
|
54
|
+
|
|
55
|
+
msgctxt "The label for the text replacement in the find and replace dropdown."
|
|
56
|
+
msgid "Replace with…"
|
|
57
|
+
msgstr "Substituir por..."
|
|
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 "Texto a ser pesquisado não pode ser vazio."
|
|
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 "Dica: Pesquise por algum texto antes para poder substituí-la."
|
|
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 "Mostrar opções"
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# Copyright (c) 2003-2021, CKSource - Frederico Knabben. 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: Chinese (Taiwan) (https://www.transifex.com/ckeditor/teams/11143/zh_TW/)\n"
|
|
16
|
+
"Language: zh_TW\n"
|
|
17
|
+
"Plural-Forms: nplurals=1; plural=0;\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 "尋找和取代"
|
|
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 "前一個結果"
|
|
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 "取代"
|
|
42
|
+
|
|
43
|
+
msgctxt "The label for the replace all action button in the find and replace dropdown."
|
|
44
|
+
msgid "Replace all"
|
|
45
|
+
msgstr "全部取代"
|
|
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 "顯示設定"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ckeditor/ckeditor5-find-and-replace",
|
|
3
|
-
"version": "31.
|
|
3
|
+
"version": "31.1.0",
|
|
4
4
|
"description": "Find and replace feature for CKEditor 5.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ckeditor",
|
|
@@ -12,28 +12,28 @@
|
|
|
12
12
|
],
|
|
13
13
|
"main": "src/index.js",
|
|
14
14
|
"dependencies": {
|
|
15
|
-
"@ckeditor/ckeditor5-ui": "^31.
|
|
16
|
-
"@ckeditor/ckeditor5-utils": "^31.
|
|
17
|
-
"ckeditor5": "^31.
|
|
15
|
+
"@ckeditor/ckeditor5-ui": "^31.1.0",
|
|
16
|
+
"@ckeditor/ckeditor5-utils": "^31.1.0",
|
|
17
|
+
"ckeditor5": "^31.1.0",
|
|
18
18
|
"lodash-es": "^4.17.15"
|
|
19
19
|
},
|
|
20
20
|
"devDependencies": {
|
|
21
|
-
"@ckeditor/ckeditor5-dev-utils": "^
|
|
22
|
-
"@ckeditor/ckeditor5-basic-styles": "^31.
|
|
23
|
-
"@ckeditor/ckeditor5-core": "^31.
|
|
24
|
-
"@ckeditor/ckeditor5-editor-classic": "^31.
|
|
25
|
-
"@ckeditor/ckeditor5-editor-decoupled": "^31.
|
|
26
|
-
"@ckeditor/ckeditor5-engine": "^31.
|
|
27
|
-
"@ckeditor/ckeditor5-essentials": "^31.
|
|
28
|
-
"@ckeditor/ckeditor5-heading": "^31.
|
|
29
|
-
"@ckeditor/ckeditor5-font": "^31.
|
|
30
|
-
"@ckeditor/ckeditor5-highlight": "^31.
|
|
31
|
-
"@ckeditor/ckeditor5-link": "^31.
|
|
32
|
-
"@ckeditor/ckeditor5-list": "^31.
|
|
33
|
-
"@ckeditor/ckeditor5-paragraph": "^31.
|
|
34
|
-
"@ckeditor/ckeditor5-source-editing": "^31.
|
|
35
|
-
"@ckeditor/ckeditor5-theme-lark": "^31.
|
|
36
|
-
"@ckeditor/ckeditor5-undo": "^31.
|
|
21
|
+
"@ckeditor/ckeditor5-dev-utils": "^26.0.0",
|
|
22
|
+
"@ckeditor/ckeditor5-basic-styles": "^31.1.0",
|
|
23
|
+
"@ckeditor/ckeditor5-core": "^31.1.0",
|
|
24
|
+
"@ckeditor/ckeditor5-editor-classic": "^31.1.0",
|
|
25
|
+
"@ckeditor/ckeditor5-editor-decoupled": "^31.1.0",
|
|
26
|
+
"@ckeditor/ckeditor5-engine": "^31.1.0",
|
|
27
|
+
"@ckeditor/ckeditor5-essentials": "^31.1.0",
|
|
28
|
+
"@ckeditor/ckeditor5-heading": "^31.1.0",
|
|
29
|
+
"@ckeditor/ckeditor5-font": "^31.1.0",
|
|
30
|
+
"@ckeditor/ckeditor5-highlight": "^31.1.0",
|
|
31
|
+
"@ckeditor/ckeditor5-link": "^31.1.0",
|
|
32
|
+
"@ckeditor/ckeditor5-list": "^31.1.0",
|
|
33
|
+
"@ckeditor/ckeditor5-paragraph": "^31.1.0",
|
|
34
|
+
"@ckeditor/ckeditor5-source-editing": "^31.1.0",
|
|
35
|
+
"@ckeditor/ckeditor5-theme-lark": "^31.1.0",
|
|
36
|
+
"@ckeditor/ckeditor5-undo": "^31.1.0",
|
|
37
37
|
"webpack": "^4.43.0",
|
|
38
38
|
"webpack-cli": "^3.3.11"
|
|
39
39
|
},
|
|
@@ -353,6 +353,16 @@ export default class FindAndReplaceFormView extends View {
|
|
|
353
353
|
this._initKeystrokeHandling();
|
|
354
354
|
}
|
|
355
355
|
|
|
356
|
+
/**
|
|
357
|
+
* @inheritDoc
|
|
358
|
+
*/
|
|
359
|
+
destroy() {
|
|
360
|
+
super.destroy();
|
|
361
|
+
|
|
362
|
+
this._focusTracker.destroy();
|
|
363
|
+
this._keystrokes.destroy();
|
|
364
|
+
}
|
|
365
|
+
|
|
356
366
|
/**
|
|
357
367
|
* Focuses the fist {@link #_focusables} in the form.
|
|
358
368
|
*/
|
|
@@ -725,7 +735,7 @@ export default class FindAndReplaceFormView extends View {
|
|
|
725
735
|
this._findButtonView.fire( 'execute' );
|
|
726
736
|
}
|
|
727
737
|
stopPropagationAndPreventDefault( event );
|
|
728
|
-
} else if ( target === this._replaceInputView.fieldView.element ) {
|
|
738
|
+
} else if ( target === this._replaceInputView.fieldView.element && !this.isDirty ) {
|
|
729
739
|
this._replaceButtonView.fire( 'execute' );
|
|
730
740
|
stopPropagationAndPreventDefault( event );
|
|
731
741
|
}
|
package/src/utils.js
CHANGED
|
@@ -150,7 +150,7 @@ export function findByTextCallback( searchTerm, options ) {
|
|
|
150
150
|
}
|
|
151
151
|
|
|
152
152
|
if ( !new RegExp( nonLetterGroup + '$' ).test( searchTerm ) ) {
|
|
153
|
-
regExpQuery = `${ regExpQuery }(
|
|
153
|
+
regExpQuery = `${ regExpQuery }(?=_|${ nonLetterGroup }|$)`;
|
|
154
154
|
}
|
|
155
155
|
}
|
|
156
156
|
|