@ncino/web-components 9.2.0-preview.4 → 9.2.1
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/dist/components/accordion/gator/base/accordion.gator.js +1 -1
- package/dist/components/accordion/gator/group/accordion-group.gator.js +1 -1
- package/dist/components/alert/gator/base/alert.gator.js +1 -1
- package/dist/components/banner/gator/banner.gator.js +1 -1
- package/dist/components/button/gator/button.gator.js +1 -1
- package/dist/components/display-card/gator/display-card.gator.js +1 -1
- package/dist/components/headline-card/gator/headline-card.gator.js +1 -1
- package/dist/components/icon/gator/icon.gator.js +2 -2
- package/dist/components/icon/gator/index.js +1 -1
- package/dist/components/icon/gator/templates/arrows-down-up.js +8 -0
- package/dist/components/icon/gator/templates/index.js +1 -1
- package/dist/components/image-card/gator/image-card.gator.js +1 -1
- package/dist/components/input/base/input-base.gator.js +1 -1
- package/dist/components/input/gator/dropdown/input-dropdown.gator.js +1 -1
- package/dist/components/input/gator/help-text/help-text.gator.js +1 -1
- package/dist/components/input/gator/input-file/file-uploaded-preview/file-upload-preview.gator.js +1 -1
- package/dist/components/input/gator/input-file/input-file.gator.js +1 -1
- package/dist/components/input/gator/input-textarea/input-textarea.gator.js +1 -1
- package/dist/components/input/gator/input-time/input-time.gator.js +1 -1
- package/dist/components/input-rich-text/ckeditor-config.js +1 -1
- package/dist/components/input-rich-text/input-rich-text.slds.js +2 -2
- package/dist/components/list/gator/list-item/list-item.gator.js +1 -1
- package/dist/components/popover/popover.js +1 -1
- package/dist/components/selection-box/selection-box.gator.js +1 -1
- package/dist/components/table/gator/table-pagination/table-pagination.gator.js +1 -1
- package/dist/components/table/gator/table.gator.js +135 -45
- package/dist/node_modules/.pnpm/{@ckeditor_ckeditor5-alignment@47.5.0 → @ckeditor_ckeditor5-alignment@47.6.0}/node_modules/@ckeditor/ckeditor5-alignment/dist/index.js +1 -1
- package/dist/node_modules/.pnpm/{@ckeditor_ckeditor5-autoformat@47.5.0 → @ckeditor_ckeditor5-autoformat@47.6.0}/node_modules/@ckeditor/ckeditor5-autoformat/dist/index.js +1 -1
- package/dist/node_modules/.pnpm/{@ckeditor_ckeditor5-autosave@47.5.0 → @ckeditor_ckeditor5-autosave@47.6.0}/node_modules/@ckeditor/ckeditor5-autosave/dist/index.js +1 -1
- package/dist/node_modules/.pnpm/{@ckeditor_ckeditor5-basic-styles@47.5.0 → @ckeditor_ckeditor5-basic-styles@47.6.0}/node_modules/@ckeditor/ckeditor5-basic-styles/dist/index.js +1 -1
- package/dist/node_modules/.pnpm/{@ckeditor_ckeditor5-block-quote@47.5.0 → @ckeditor_ckeditor5-block-quote@47.6.0}/node_modules/@ckeditor/ckeditor5-block-quote/dist/index.js +1 -1
- package/dist/node_modules/.pnpm/{@ckeditor_ckeditor5-clipboard@47.5.0 → @ckeditor_ckeditor5-clipboard@47.6.0}/node_modules/@ckeditor/ckeditor5-clipboard/dist/index.js +1 -1
- package/dist/node_modules/.pnpm/{@ckeditor_ckeditor5-cloud-services@47.5.0 → @ckeditor_ckeditor5-cloud-services@47.6.0}/node_modules/@ckeditor/ckeditor5-cloud-services/dist/index.js +1 -1
- package/dist/node_modules/.pnpm/{@ckeditor_ckeditor5-code-block@47.5.0 → @ckeditor_ckeditor5-code-block@47.6.0}/node_modules/@ckeditor/ckeditor5-code-block/dist/index.js +1 -1
- package/dist/node_modules/.pnpm/{@ckeditor_ckeditor5-core@47.5.0 → @ckeditor_ckeditor5-core@47.6.0}/node_modules/@ckeditor/ckeditor5-core/dist/index.js +1 -1
- package/dist/node_modules/.pnpm/{@ckeditor_ckeditor5-editor-classic@47.5.0 → @ckeditor_ckeditor5-editor-classic@47.6.0}/node_modules/@ckeditor/ckeditor5-editor-classic/dist/index.js +1 -1
- package/dist/node_modules/.pnpm/{@ckeditor_ckeditor5-engine@47.5.0 → @ckeditor_ckeditor5-engine@47.6.0}/node_modules/@ckeditor/ckeditor5-engine/dist/index.js +1 -1
- package/dist/node_modules/.pnpm/{@ckeditor_ckeditor5-enter@47.5.0 → @ckeditor_ckeditor5-enter@47.6.0}/node_modules/@ckeditor/ckeditor5-enter/dist/index.js +1 -1
- package/dist/node_modules/.pnpm/{@ckeditor_ckeditor5-essentials@47.5.0 → @ckeditor_ckeditor5-essentials@47.6.0}/node_modules/@ckeditor/ckeditor5-essentials/dist/index.js +1 -1
- package/dist/node_modules/.pnpm/{@ckeditor_ckeditor5-find-and-replace@47.5.0 → @ckeditor_ckeditor5-find-and-replace@47.6.0}/node_modules/@ckeditor/ckeditor5-find-and-replace/dist/index.js +1 -1
- package/dist/node_modules/.pnpm/{@ckeditor_ckeditor5-font@47.5.0 → @ckeditor_ckeditor5-font@47.6.0}/node_modules/@ckeditor/ckeditor5-font/dist/index.js +1 -1
- package/dist/node_modules/.pnpm/{@ckeditor_ckeditor5-heading@47.5.0 → @ckeditor_ckeditor5-heading@47.6.0}/node_modules/@ckeditor/ckeditor5-heading/dist/index.js +1 -1
- package/dist/node_modules/.pnpm/{@ckeditor_ckeditor5-highlight@47.5.0 → @ckeditor_ckeditor5-highlight@47.6.0}/node_modules/@ckeditor/ckeditor5-highlight/dist/index.js +1 -1
- package/dist/node_modules/.pnpm/{@ckeditor_ckeditor5-horizontal-line@47.5.0 → @ckeditor_ckeditor5-horizontal-line@47.6.0}/node_modules/@ckeditor/ckeditor5-horizontal-line/dist/index.js +1 -1
- package/dist/node_modules/.pnpm/{@ckeditor_ckeditor5-html-embed@47.5.0 → @ckeditor_ckeditor5-html-embed@47.6.0}/node_modules/@ckeditor/ckeditor5-html-embed/dist/index.js +1 -1
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-html-support@47.6.0/node_modules/@ckeditor/ckeditor5-html-support/dist/index.js +3 -0
- package/dist/node_modules/.pnpm/{@ckeditor_ckeditor5-icons@47.5.0 → @ckeditor_ckeditor5-icons@47.6.0}/node_modules/@ckeditor/ckeditor5-icons/dist/index.js +3 -3
- package/dist/node_modules/.pnpm/{@ckeditor_ckeditor5-image@47.5.0 → @ckeditor_ckeditor5-image@47.6.0}/node_modules/@ckeditor/ckeditor5-image/dist/index.js +1 -1
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-indent@47.6.0/node_modules/@ckeditor/ckeditor5-indent/dist/index.js +1 -0
- package/dist/node_modules/.pnpm/{@ckeditor_ckeditor5-language@47.5.0 → @ckeditor_ckeditor5-language@47.6.0}/node_modules/@ckeditor/ckeditor5-language/dist/index.js +1 -1
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-link@47.6.0/node_modules/@ckeditor/ckeditor5-link/dist/index.js +1 -0
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-list@47.6.0/node_modules/@ckeditor/ckeditor5-list/dist/index.js +1 -0
- package/dist/node_modules/.pnpm/{@ckeditor_ckeditor5-markdown-gfm@47.5.0 → @ckeditor_ckeditor5-markdown-gfm@47.6.0}/node_modules/@ckeditor/ckeditor5-markdown-gfm/dist/index.js +1 -1
- package/dist/node_modules/.pnpm/{@ckeditor_ckeditor5-media-embed@47.5.0 → @ckeditor_ckeditor5-media-embed@47.6.0}/node_modules/@ckeditor/ckeditor5-media-embed/dist/index.js +1 -1
- package/dist/node_modules/.pnpm/{@ckeditor_ckeditor5-mention@47.5.0 → @ckeditor_ckeditor5-mention@47.6.0}/node_modules/@ckeditor/ckeditor5-mention/dist/index.js +1 -1
- package/dist/node_modules/.pnpm/{@ckeditor_ckeditor5-page-break@47.5.0 → @ckeditor_ckeditor5-page-break@47.6.0}/node_modules/@ckeditor/ckeditor5-page-break/dist/index.js +1 -1
- package/dist/node_modules/.pnpm/{@ckeditor_ckeditor5-paragraph@47.5.0 → @ckeditor_ckeditor5-paragraph@47.6.0}/node_modules/@ckeditor/ckeditor5-paragraph/dist/index.js +1 -1
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-paste-from-office@47.6.0/node_modules/@ckeditor/ckeditor5-paste-from-office/dist/index.js +1 -0
- package/dist/node_modules/.pnpm/{@ckeditor_ckeditor5-remove-format@47.5.0 → @ckeditor_ckeditor5-remove-format@47.6.0}/node_modules/@ckeditor/ckeditor5-remove-format/dist/index.js +1 -1
- package/dist/node_modules/.pnpm/{@ckeditor_ckeditor5-select-all@47.5.0 → @ckeditor_ckeditor5-select-all@47.6.0}/node_modules/@ckeditor/ckeditor5-select-all/dist/index.js +1 -1
- package/dist/node_modules/.pnpm/{@ckeditor_ckeditor5-show-blocks@47.5.0 → @ckeditor_ckeditor5-show-blocks@47.6.0}/node_modules/@ckeditor/ckeditor5-show-blocks/dist/index.js +1 -1
- package/dist/node_modules/.pnpm/{@ckeditor_ckeditor5-source-editing@47.5.0 → @ckeditor_ckeditor5-source-editing@47.6.0}/node_modules/@ckeditor/ckeditor5-source-editing/dist/index.js +1 -1
- package/dist/node_modules/.pnpm/{@ckeditor_ckeditor5-special-characters@47.5.0 → @ckeditor_ckeditor5-special-characters@47.6.0}/node_modules/@ckeditor/ckeditor5-special-characters/dist/index.js +1 -1
- package/dist/node_modules/.pnpm/{@ckeditor_ckeditor5-style@47.5.0 → @ckeditor_ckeditor5-style@47.6.0}/node_modules/@ckeditor/ckeditor5-style/dist/index.js +1 -1
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-table@47.6.0/node_modules/@ckeditor/ckeditor5-table/dist/index.js +1 -0
- package/dist/node_modules/.pnpm/{@ckeditor_ckeditor5-typing@47.5.0 → @ckeditor_ckeditor5-typing@47.6.0}/node_modules/@ckeditor/ckeditor5-typing/dist/index.js +1 -1
- package/dist/node_modules/.pnpm/{@ckeditor_ckeditor5-ui@47.5.0 → @ckeditor_ckeditor5-ui@47.6.0}/node_modules/@ckeditor/ckeditor5-ui/dist/index.js +1 -1
- package/dist/node_modules/.pnpm/{@ckeditor_ckeditor5-undo@47.5.0 → @ckeditor_ckeditor5-undo@47.6.0}/node_modules/@ckeditor/ckeditor5-undo/dist/index.js +1 -1
- package/dist/node_modules/.pnpm/{@ckeditor_ckeditor5-upload@47.5.0 → @ckeditor_ckeditor5-upload@47.6.0}/node_modules/@ckeditor/ckeditor5-upload/dist/index.js +1 -1
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-utils@47.6.0/node_modules/@ckeditor/ckeditor5-utils/dist/index.js +8 -0
- package/dist/node_modules/.pnpm/{@ckeditor_ckeditor5-widget@47.5.0 → @ckeditor_ckeditor5-widget@47.6.0}/node_modules/@ckeditor/ckeditor5-widget/dist/index.js +1 -1
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/compat/object/pick.js +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/compat/predicate/isNil.js +1 -0
- package/dist/packages/web-components/src/components/popover/gator/popover.gator.scss.js +1 -1
- package/dist/packages/web-components/src/components/table/gator/table.gator.scss.js +1 -1
- package/dist/types/components/icon/gator/templates/arrows-down-up.d.ts +1 -0
- package/dist/types/components/icon/gator/templates/index.d.ts +1 -0
- package/dist/types/components/popover/popover.d.ts +2 -0
- package/dist/types/components/table/gator/table.gator.d.ts +27 -0
- package/dist/types/components/table/table-column-definition.d.ts +8 -0
- package/package.json +5 -5
- package/web-types.json +35 -5
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-html-support@47.5.0/node_modules/@ckeditor/ckeditor5-html-support/dist/index.js +0 -3
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-indent@47.5.0/node_modules/@ckeditor/ckeditor5-indent/dist/index.js +0 -1
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-link@47.5.0/node_modules/@ckeditor/ckeditor5-link/dist/index.js +0 -1
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-list@47.5.0/node_modules/@ckeditor/ckeditor5-list/dist/index.js +0 -1
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-paste-from-office@47.5.0/node_modules/@ckeditor/ckeditor5-paste-from-office/dist/index.js +0 -1
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-table@47.5.0/node_modules/@ckeditor/ckeditor5-table/dist/index.js +0 -1
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-utils@47.5.0/node_modules/@ckeditor/ckeditor5-utils/dist/index.js +0 -8
- /package/dist/assets/node_modules/.pnpm/{ckeditor5@47.5.0 → ckeditor5@47.6.0}/node_modules/ckeditor5/dist/ckeditor5.css +0 -0
- /package/dist/node_modules/.pnpm/{@ckeditor_ckeditor5-watchdog@47.5.0 → @ckeditor_ckeditor5-watchdog@47.6.0}/node_modules/@ckeditor/ckeditor5-watchdog/dist/index.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Plugin as u,Command as _}from"../../../../../@ckeditor_ckeditor5-core@47.
|
|
1
|
+
import{Plugin as u,Command as _}from"../../../../../@ckeditor_ckeditor5-core@47.6.0/node_modules/@ckeditor/ckeditor5-core/dist/index.js";import{transformOperationSets as B,NoOperation as b}from"../../../../../@ckeditor_ckeditor5-engine@47.6.0/node_modules/@ckeditor/ckeditor5-engine/dist/index.js";import{ButtonView as y,MenuBarMenuListItemButtonView as R}from"../../../../../@ckeditor_ckeditor5-ui@47.6.0/node_modules/@ckeditor/ckeditor5-ui/dist/index.js";import{IconUndo as f,IconRedo as p}from"../../../../../@ckeditor_ckeditor5-icons@47.6.0/node_modules/@ckeditor/ckeditor5-icons/dist/index.js";class g extends _{_stack=[];_createdBatches=new WeakSet;constructor(t){super(t),this.refresh(),this._isEnabledBasedOnSelection=!1,this.listenTo(t.data,"set",(e,o)=>{o[1]={...o[1]};const s=o[1];s.batchType||(s.batchType={isUndoable:!1})},{priority:"high"}),this.listenTo(t.data,"set",(e,o)=>{o[1].batchType.isUndoable||this.clearStack()})}refresh(){this.isEnabled=this._stack.length>0}get createdBatches(){return this._createdBatches}addBatch(t){const e=this.editor.model.document.selection,o={ranges:e.hasOwnRange?Array.from(e.getRanges()):[],isBackward:e.isBackward};this._stack.push({batch:t,selection:o}),this.refresh()}clearStack(){this._stack=[],this.refresh()}_restoreSelection(t,e,o){const s=this.editor.model,i=s.document,n=[],d=t.map(r=>r.getTransformedByOperations(o)),h=d.flat();for(const r of d){const l=r.filter(c=>c.root!=i.graveyard).filter(c=>!C(c,h));l.length&&(k(l),n.push(l[0]))}n.length&&s.change(r=>{r.setSelection(n,{backward:e})})}_undo(t,e){const o=this.editor.model,s=o.document;this._createdBatches.add(e);const i=t.operations.slice().filter(n=>n.isDocumentOperation);i.reverse();for(const n of i){const d=n.baseVersion+1,h=Array.from(s.history.getOperations(d)),l=B([n.getReversed()],h,{useRelations:!0,document:this.editor.model.document,forceWeakRemove:!0}).operationsA;for(let c of l){const m=c.affectedSelectable;m&&!o.canEditAt(m)&&(c=new b(c.baseVersion)),e.addOperation(c),o.applyOperation(c),s.history.setOperationAsUndone(n,c)}}}}function k(a){a.sort((t,e)=>t.start.isBefore(e.start)?-1:1);for(let t=1;t<a.length;t++){const o=a[t-1].getJoined(a[t],!0);o&&(t--,a.splice(t,2,o))}}function C(a,t){return t.some(e=>e!==a&&e.containsRange(a,!0))}class T extends g{execute(t=null){const e=t?this._stack.findIndex(i=>i.batch==t):this._stack.length-1,o=this._stack.splice(e,1)[0],s=this.editor.model.createBatch({isUndo:!0});this.editor.model.enqueueChange(s,()=>{this._undo(o.batch,s);const i=this.editor.model.document.history.getOperations(o.batch.baseVersion);this._restoreSelection(o.selection.ranges,o.selection.isBackward,i)}),this.fire("revert",o.batch,s),this.refresh()}}class U extends g{execute(){const t=this._stack.pop(),e=this.editor.model.createBatch({isUndo:!0});this.editor.model.enqueueChange(e,()=>{const s=t.batch.operations[t.batch.operations.length-1].baseVersion+1,i=this.editor.model.document.history.getOperations(s);this._restoreSelection(t.selection.ranges,t.selection.isBackward,i),this._undo(t.batch,e)}),this.fire("revert",t.batch,e),this.refresh()}}class O extends u{_undoCommand;_redoCommand;_batchRegistry=new WeakSet;static get pluginName(){return"UndoEditing"}static get isOfficialPlugin(){return!0}init(){const t=this.editor,e=t.t;this._undoCommand=new T(t),this._redoCommand=new U(t),t.commands.add("undo",this._undoCommand),t.commands.add("redo",this._redoCommand),this.listenTo(t.model,"applyOperation",(o,s)=>{const i=s[0];if(!i.isDocumentOperation)return;const n=i.batch,d=this._redoCommand.createdBatches.has(n),h=this._undoCommand.createdBatches.has(n);this._batchRegistry.has(n)||(this._batchRegistry.add(n),n.isUndoable&&(d?this._undoCommand.addBatch(n):h||(this._undoCommand.addBatch(n),this._redoCommand.clearStack())))},{priority:"highest"}),this.listenTo(this._undoCommand,"revert",(o,s,i)=>{this._redoCommand.addBatch(i)}),t.keystrokes.set("CTRL+Z","undo"),t.keystrokes.set("CTRL+Y","redo"),t.keystrokes.set("CTRL+SHIFT+Z","redo"),t.accessibility.addKeystrokeInfos({keystrokes:[{label:e("Undo"),keystroke:"CTRL+Z"},{label:e("Redo"),keystroke:[["CTRL+Y"],["CTRL+SHIFT+Z"]]}]})}}class w extends u{static get pluginName(){return"UndoUI"}static get isOfficialPlugin(){return!0}init(){const t=this.editor,e=t.locale,o=t.t,s=e.uiLanguageDirection=="ltr"?f:p,i=e.uiLanguageDirection=="ltr"?p:f;this._addButtonsToFactory("undo",o("Undo"),"CTRL+Z",s),this._addButtonsToFactory("redo",o("Redo"),"CTRL+Y",i)}_addButtonsToFactory(t,e,o,s){const i=this.editor;i.ui.componentFactory.add(t,()=>{const n=this._createButton(y,t,e,o,s);return n.set({tooltip:!0}),n}),i.ui.componentFactory.add("menuBar:"+t,()=>this._createButton(R,t,e,o,s))}_createButton(t,e,o,s,i){const n=this.editor,d=n.locale,h=n.commands.get(e),r=new t(d);return r.set({label:o,icon:i,keystroke:s}),r.bind("isEnabled").to(h,"isEnabled"),this.listenTo(r,"execute",()=>{n.execute(e),n.editing.view.focus()}),r}}class L extends u{static get requires(){return[O,w]}static get pluginName(){return"Undo"}static get isOfficialPlugin(){return!0}}export{U as RedoCommand,L as Undo,T as UndoCommand,O as UndoEditing,g as UndoRedoBaseCommand,w as UndoUI};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Plugin as h,PendingActions as o}from"../../../../../@ckeditor_ckeditor5-core@47.
|
|
1
|
+
import{Plugin as h,PendingActions as o}from"../../../../../@ckeditor_ckeditor5-core@47.6.0/node_modules/@ckeditor/ckeditor5-core/dist/index.js";import{Collection as p,logWarning as c,ObservableMixin as u,uid as g,CKEditorError as d}from"../../../../../@ckeditor_ckeditor5-utils@47.6.0/node_modules/@ckeditor/ckeditor5-utils/dist/index.js";class _ extends u(){total;_reader;_data;constructor(){super();const e=new window.FileReader;this._reader=e,this._data=void 0,this.set("loaded",0),e.onprogress=t=>{this.loaded=t.loaded}}get error(){return this._reader.error}get data(){return this._data}read(e){const t=this._reader;return this.total=e.size,new Promise((r,s)=>{t.onload=()=>{const i=t.result;this._data=i,r(i)},t.onerror=()=>{s("error")},t.onabort=()=>{s("aborted")},this._reader.readAsDataURL(e)})}abort(){this._reader.abort()}}class n extends h{loaders=new p;_loadersMap=new Map;_pendingAction=null;static get pluginName(){return"FileRepository"}static get isOfficialPlugin(){return!0}static get requires(){return[o]}init(){this.loaders.on("change",()=>this._updatePendingAction()),this.set("uploaded",0),this.set("uploadTotal",null),this.bind("uploadedPercent").to(this,"uploaded",this,"uploadTotal",(e,t)=>t?e/t*100:0)}getLoader(e){return this._loadersMap.get(e)||null}createLoader(e){if(!this.createUploadAdapter)return c("filerepository-no-upload-adapter"),null;const t=new l(Promise.resolve(e),this.createUploadAdapter);return this.loaders.add(t),this._loadersMap.set(e,t),e instanceof Promise&&t.file.then(r=>{this._loadersMap.set(r,t)}).catch(()=>{}),t.on("change:uploaded",()=>{let r=0;for(const s of this.loaders)r+=s.uploaded;this.uploaded=r}),t.on("change:uploadTotal",()=>{let r=0;for(const s of this.loaders)s.uploadTotal&&(r+=s.uploadTotal);this.uploadTotal=r}),t}destroyLoader(e){const t=e instanceof l?e:this.getLoader(e);t._destroy(),this.loaders.remove(t),this._loadersMap.forEach((r,s)=>{r===t&&this._loadersMap.delete(s)})}_updatePendingAction(){const e=this.editor.plugins.get(o);if(this.loaders.length){if(!this._pendingAction){const t=this.editor.t,r=s=>`${t("Upload in progress")} ${parseInt(s)}%.`;this._pendingAction=e.add(r(this.uploadedPercent)),this._pendingAction.bind("message").to(this,"uploadedPercent",r)}}else e.remove(this._pendingAction),this._pendingAction=null}}class l extends u(){id;_filePromiseWrapper;_adapter;_reader;constructor(e,t){super(),this.id=g(),this._filePromiseWrapper=this._createFilePromiseWrapper(e),this._adapter=t(this),this._reader=new _,this.set("status","idle"),this.set("uploaded",0),this.set("uploadTotal",null),this.bind("uploadedPercent").to(this,"uploaded",this,"uploadTotal",(r,s)=>s?r/s*100:0),this.set("uploadResponse",null)}get file(){return this._filePromiseWrapper?this._filePromiseWrapper.promise.then(e=>this._filePromiseWrapper?e:null):Promise.resolve(null)}get data(){return this._reader.data}read(){if(this.status!="idle")throw new d("filerepository-read-wrong-status",this);return this.status="reading",this.file.then(e=>this._reader.read(e)).then(e=>{if(this.status!=="reading")throw this.status;return this.status="idle",e}).catch(e=>{throw e==="aborted"?(this.status="aborted","aborted"):(this.status="error",this._reader.error?this._reader.error:e)})}upload(){if(this.status!="idle")throw new d("filerepository-upload-wrong-status",this);return this.status="uploading",this.file.then(()=>this._adapter.upload()).then(e=>(this.uploadResponse=e,this.status="idle",e)).catch(e=>{throw this.status==="aborted"?"aborted":(this.status="error",e)})}abort(){const e=this.status;this.status="aborted",this._filePromiseWrapper.isFulfilled?e=="reading"?this._reader.abort():e=="uploading"&&this._adapter.abort&&this._adapter.abort():(this._filePromiseWrapper.promise.catch(()=>{}),this._filePromiseWrapper.rejecter("aborted")),this._destroy()}_destroy(){this._filePromiseWrapper=void 0,this._reader=void 0,this._adapter=void 0,this.uploadResponse=void 0}_createFilePromiseWrapper(e){const t={};return t.promise=new Promise((r,s)=>{t.rejecter=s,t.isFulfilled=!1,e.then(i=>{t.isFulfilled=!0,r(i)}).catch(i=>{t.isFulfilled=!0,s(i)})}),t}}class P extends h{static get requires(){return[n]}static get pluginName(){return"Base64UploadAdapter"}static get licenseFeatureCode(){return"B64A"}static get isOfficialPlugin(){return!0}static get isPremiumPlugin(){return!0}init(){this.editor.plugins.get(n).createUploadAdapter=e=>new f(e)}}let f=class{loader;reader;constructor(e){this.loader=e}upload(){return new Promise((e,t)=>{const r=this.reader=new window.FileReader;r.addEventListener("load",()=>{e({default:r.result})}),r.addEventListener("error",s=>{t(s)}),r.addEventListener("abort",()=>{t()}),this.loader.file.then(s=>{r.readAsDataURL(s)})})}abort(){this.reader.abort()}};export{P as Base64UploadAdapter,_ as FileReader,n as FileRepository};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import{isObject as Wt}from"../../../../../es-toolkit@1.39.5/node_modules/es-toolkit/dist/compat/predicate/isObject.js";import{isString as nt}from"../../../../../es-toolkit@1.39.5/node_modules/es-toolkit/dist/compat/predicate/isString.js";import{isFunction as it}from"../../../../../es-toolkit@1.39.5/node_modules/es-toolkit/dist/compat/predicate/isFunction.js";import{isElement as Et}from"../../../../../es-toolkit@1.39.5/node_modules/es-toolkit/dist/compat/predicate/isElement.js";import{isPlainObject as M}from"../../../../../es-toolkit@1.39.5/node_modules/es-toolkit/dist/compat/predicate/isPlainObject.js";import{cloneDeepWith as Kt}from"../../../../../es-toolkit@1.39.5/node_modules/es-toolkit/dist/compat/object/cloneDeepWith.js";import{merge as Ut}from"../../../../../es-toolkit@1.39.5/node_modules/es-toolkit/dist/compat/object/merge.js";let _;try{_={window,document}}catch{_={window:{},document:{}}}function $t(){try{return navigator.userAgent.toLowerCase()}catch{return""}}const T=$t(),C={isMac:Tt(T),isWindows:Ht(T),isGecko:Gt(T),isSafari:qt(T),isiOS:Yt(T),isAndroid:Xt(T),isBlink:Jt(T),get isMediaForcedColors(){return Qt()}};function Tt(e){return e.indexOf("macintosh")>-1}function Ht(e){return e.indexOf("windows")>-1}function Gt(e){return!!e.match(/gecko\/\d+/)}function qt(e){return e.indexOf(" applewebkit/")>-1&&e.indexOf("chrome")===-1}function Yt(e){return!!e.match(/iphone|ipad/i)||Tt(e)&&navigator.maxTouchPoints>0}function Xt(e){return e.indexOf("android")>-1}function Jt(e){return e.indexOf("chrome/")>-1&&e.indexOf("edge/")<0}function Qt(){return _.window.matchMedia?_.window.matchMedia("(forced-colors: active)").matches:!1}function Zt(e,t,n,i){n=n||function(c,a){return c===a};const s=Array.isArray(e)?e:Array.prototype.slice.call(e),o=Array.isArray(t)?t:Array.prototype.slice.call(t),r=zt(s,o,n);return i?ee(r,o.length):te(o,r)}function zt(e,t,n){const i=st(e,t,n);if(i===-1)return{firstIndex:-1,lastIndexOld:-1,lastIndexNew:-1};const s=ot(e,i),o=ot(t,i),r=st(s,o,n),l=e.length-r,c=t.length-r;return{firstIndex:i,lastIndexOld:l,lastIndexNew:c}}function st(e,t,n){for(let i=0;i<Math.max(e.length,t.length);i++)if(e[i]===void 0||t[i]===void 0||!n(e[i],t[i]))return i;return-1}function ot(e,t){return e.slice(t).reverse()}function te(e,t){const n=[],{firstIndex:i,lastIndexOld:s,lastIndexNew:o}=t;return o-i>0&&n.push({index:i,type:"insert",values:e.slice(i,o)}),s-i>0&&n.push({index:i+(o-i),type:"delete",howMany:s-i}),n}function ee(e,t){const{firstIndex:n,lastIndexOld:i,lastIndexNew:s}=e;if(n===-1)return Array(t).fill("equal");let o=[];return n>0&&(o=o.concat(Array(n).fill("equal"))),s-n>0&&(o=o.concat(Array(s-n).fill("insert"))),i-n>0&&(o=o.concat(Array(i-n).fill("delete"))),s<t&&(o=o.concat(Array(t-s).fill("equal"))),o}function xt(e,t,n){n=n||function(p,k){return p===k};const i=e.length,s=t.length;if(i>200||s>200||i+s>300)return xt.fastDiff(e,t,n,!0);let o,r;if(s<i){const p=e;e=t,t=p,o="delete",r="insert"}else o="insert",r="delete";const l=e.length,c=t.length,a=c-l,f={},u={};function w(p){const k=(u[p-1]!==void 0?u[p-1]:-1)+1,D=u[p+1]!==void 0?u[p+1]:-1,et=k>D?-1:1;f[p+et]&&(f[p]=f[p+et].slice(0)),f[p]||(f[p]=[]),f[p].push(k>D?o:r);let F=Math.max(k,D),j=F-p;for(;j<l&&F<c&&n(e[j],t[F]);)j++,F++,f[p].push("equal");return F}let L=0,y;do{for(y=-L;y<a;y++)u[y]=w(y);for(y=a+L;y>a;y--)u[y]=w(y);u[a]=w(a),L++}while(u[a]!==c);return f[a].slice(1)}xt.fastDiff=Zt;function rt(){return function e(){e.called=!0}}class ${source;name;path;stop;off;return;constructor(t,n){this.source=t,this.name=n,this.path=[],this.stop=rt(),this.off=rt()}}const b=new Array(256).fill("").map((e,t)=>("0"+t.toString(16)).slice(-2));function X(){const[e,t,n,i]=crypto.getRandomValues(new Uint32Array(4));return"e"+b[e>>0&255]+b[e>>8&255]+b[e>>16&255]+b[e>>24&255]+b[t>>0&255]+b[t>>8&255]+b[t>>16&255]+b[t>>24&255]+b[n>>0&255]+b[n>>8&255]+b[n>>16&255]+b[n>>24&255]+b[i>>0&255]+b[i>>8&255]+b[i>>16&255]+b[i>>24&255]}const H={get(e="normal"){return typeof e!="number"?this[e]||this.normal:e},highest:1e5,high:1e3,normal:0,low:-1e3,lowest:-1e5};function ne(e,t){const n=H.get(t.priority);let i=0,s=e.length;for(;i<s;){const o=i+s>>1;H.get(e[o].priority)<n?s=o:i=o+1}e.splice(i,0,t)}const ie="https://ckeditor.com/docs/ckeditor5/latest/support/error-codes.html";class d extends Error{context;data;constructor(t,n,i,s){super(se(t,i,s)),this.name="CKEditorError",this.context=n,this.data=i,s&&(this.stack=s.stack)}is(t){return t==="CKEditorError"}static rethrowUnexpectedError(t,n){throw t.is&&t.is("CKEditorError")?t:new d("unexpected-error",n,void 0,t)}}function gn(e,t){console.warn(...At(e,t))}function mn(e,t){console.error(...At(e,t))}function It(e){return`
|
|
2
|
+
Read more: ${ie}#error-${e}`}function se(e,t,n){const i=new WeakSet,o=t?` ${JSON.stringify(t,(c,a)=>{if(typeof a=="object"&&a!==null){if(i.has(a))return`[object ${a.constructor.name}]`;i.add(a)}return a})}`:"",r=It(e),l=n?`
|
|
3
|
+
Original error: ${n.name}: ${n.message}`:"";return e+o+r+l}function At(e,t){const n=It(e);return t?[e,t,n]:[e,n]}const oe="47.6.0",bn=new Date(2026,2,4);if(globalThis.CKEDITOR_VERSION)throw new d("ckeditor-duplicated-modules",null);globalThis.CKEDITOR_VERSION=oe;const A=Symbol("listeningTo"),G=Symbol("emitterId"),E=Symbol("delegations"),re=I(Object);function I(e){if(!e)return re;class t extends e{on(i,s,o){this.listenTo(this,i,s,o)}once(i,s,o){let r=!1;const l=(c,...a)=>{r||(r=!0,c.off(),s.call(this,c,...a))};this.listenTo(this,i,l,o)}off(i,s){this.stopListening(this,i,s)}listenTo(i,s,o,r={}){let l,c;this[A]||(this[A]={});const a=this[A];O(i)||Ct(i);const f=O(i);(l=a[f])||(l=a[f]={emitter:i,callbacks:{}}),(c=l.callbacks[s])||(c=l.callbacks[s]=[]),c.push(o),ue(this,i,s,o,r)}stopListening(i,s,o){const r=this[A];let l=i&&O(i);const c=r&&l?r[l]:void 0,a=c&&s?c.callbacks[s]:void 0;if(!(!r||i&&!c||s&&!a))if(o)W(this,i,s,o),a.indexOf(o)!==-1&&(a.length===1?delete c.callbacks[s]:W(this,i,s,o));else if(a){for(;o=a.pop();)W(this,i,s,o);delete c.callbacks[s]}else if(c){for(s in c.callbacks)this.stopListening(i,s);delete r[l]}else{for(l in r)this.stopListening(r[l].emitter);delete this[A]}}fire(i,...s){try{const o=i instanceof $?i:new $(this,i),r=o.name;let l=fe(this,r);if(o.path.push(this),l){l=l.slice();for(let a=0;a<l.length;a++){const f=l[a].callback;if(f.call(this,o,...s),o.off.called&&(delete o.off.called,this._removeEventListener(r,f)),o.stop.called)break}}const c=this[E];if(c){const a=c.get(r),f=c.get("*");a&<(a,o,s),f&<(f,o,s)}return o.return}catch(o){d.rethrowUnexpectedError(o,this)}}delegate(...i){return{to:(s,o)=>{this[E]||(this[E]=new Map),i.forEach(r=>{const l=this[E].get(r);l?l.set(s,o):this[E].set(r,new Map([[s,o]]))})}}}stopDelegating(i,s){if(this[E])if(!i)this[E].clear();else if(!s)this[E].delete(i);else{const o=this[E].get(i);o&&o.delete(s)}}_addEventListener(i,s,o){ae(this,i);const r=q(this,i),l=H.get(o.priority),c={callback:s,priority:l};for(const a of r)ne(a,c)}_removeEventListener(i,s){const o=q(this,i);for(const r of o)for(let l=0;l<r.length;l++)r[l].callback==s&&(r.splice(l,1),l--)}}return t}function le(e,t){const n=e[A];return n&&n[t]?n[t].emitter:null}function Ct(e,t){e[G]||(e[G]=t||X())}function O(e){return e[G]}function Lt(e){return e._events||Object.defineProperty(e,"_events",{value:{}}),e._events}function ce(){return{callbacks:[],childEvents:[]}}function ae(e,t){const n=Lt(e);if(n[t])return;let i=t,s=null;const o=[];for(;i!==""&&!n[i];)n[i]=ce(),o.push(n[i]),s&&n[i].childEvents.push(s),s=i,i=i.substr(0,i.lastIndexOf(":"));if(i!==""){for(const r of o)r.callbacks=n[i].callbacks.slice();n[i].childEvents.push(s)}}function q(e,t){const n=Lt(e)[t];if(!n)return[];let i=[n.callbacks];for(let s=0;s<n.childEvents.length;s++){const o=q(e,n.childEvents[s]);i=i.concat(o)}return i}function fe(e,t){if(!e._events)return null;let n=t;do{const i=e._events[n];if(i&&i.callbacks&&i.callbacks.length)return i.callbacks;const s=n.lastIndexOf(":");n=s>-1?n.substring(0,s):""}while(n);return null}function lt(e,t,n){for(let[i,s]of e){s?typeof s=="function"&&(s=s(t.name)):s=t.name;const o=new $(t.source,s);o.path=[...t.path],i.fire(o,...n)}}function ue(e,t,n,i,s){t._addEventListener?t._addEventListener(n,i,s):e._addEventListener.call(t,n,i,s)}function W(e,t,n,i){t._removeEventListener?t._removeEventListener(n,i):e._removeEventListener.call(t,n,i)}const S=Symbol("observableProperties"),V=Symbol("boundObservables"),R=Symbol("boundProperties"),x=Symbol("decoratedMethods"),ct=Symbol("decoratedOriginal"),de=kt(I());function kt(e){if(!e)return de;class t extends e{set(i,s){if(Wt(i)){Object.keys(i).forEach(r=>{this.set(r,i[r])},this);return}K(this);const o=this[S];if(i in this&&!o.has(i))throw new d("observable-set-cannot-override",this);Object.defineProperty(this,i,{enumerable:!0,configurable:!0,get(){return o.get(i)},set(r){const l=o.get(i);let c=this.fire(`set:${i}`,i,r,l);c===void 0&&(c=r),(l!==c||!o.has(i))&&(o.set(i,c),this.fire(`change:${i}`,i,c,l))}}),this[i]=s}bind(...i){if(!i.length||!at(i))throw new d("observable-bind-wrong-properties",this);if(new Set(i).size!==i.length)throw new d("observable-bind-duplicate-properties",this);K(this);const s=this[R];i.forEach(r=>{if(s.has(r))throw new d("observable-bind-rebind",this)});const o=new Map;return i.forEach(r=>{const l={property:r,to:[]};s.set(r,l),o.set(r,l)}),{to:he,toMany:pe,_observable:this,_bindProperties:i,_to:[],_bindings:o}}unbind(...i){if(!this[S])return;const s=this[R],o=this[V];if(i.length){if(!at(i))throw new d("observable-unbind-wrong-properties",this);i.forEach(r=>{const l=s.get(r);l&&(l.to.forEach(([c,a])=>{const f=o.get(c),u=f[a];u.delete(l),u.size||delete f[a],Object.keys(f).length||(o.delete(c),this.stopListening(c,"change"))}),s.delete(r))})}else o.forEach((r,l)=>{this.stopListening(l,"change")}),o.clear(),s.clear()}decorate(i){K(this);const s=this[i];if(!s)throw new d("observablemixin-cannot-decorate-undefined",this,{object:this,methodName:i});this.on(i,(o,r)=>{o.return=s.apply(this,r)}),this[i]=function(...o){return this.fire(i,o)},this[i][ct]=s,this[x]||(this[x]=[]),this[x].push(i)}stopListening(i,s,o){if(!i&&this[x]){for(const r of this[x])this[r]=this[r][ct];delete this[x]}super.stopListening(i,s,o)}[S];[x];[R];[V]}return t}function K(e){e[S]||(Object.defineProperty(e,S,{value:new Map}),Object.defineProperty(e,V,{value:new Map}),Object.defineProperty(e,R,{value:new Map}))}function he(...e){const t=me(...e),n=Array.from(this._bindings.keys()),i=n.length;if(!t.callback&&t.to.length>1)throw new d("observable-bind-to-no-callback",this);if(i>1&&t.callback)throw new d("observable-bind-to-extra-callback",this);t.to.forEach(s=>{if(s.properties.length&&s.properties.length!==i)throw new d("observable-bind-to-properties-length",this);s.properties.length||(s.properties=this._bindProperties)}),this._to=t.to,t.callback&&(this._bindings.get(n[0]).callback=t.callback),we(this._observable,this._to),_e(this),this._bindProperties.forEach(s=>{Ft(this._observable,s)})}function pe(e,t,n){if(this._bindings.size>1)throw new d("observable-bind-to-many-not-one-binding",this);this.to(...ge(e,t),n)}function ge(e,t){const n=e.map(i=>[i,t]);return Array.prototype.concat.apply([],n)}function at(e){return e.every(t=>typeof t=="string")}function me(...e){if(!e.length)throw new d("observable-bind-to-parse-error",null);const t={to:[]};let n;return typeof e[e.length-1]=="function"&&(t.callback=e.pop()),e.forEach(i=>{if(typeof i=="string")n.properties.push(i);else if(typeof i=="object")n={observable:i,properties:[]},t.to.push(n);else throw new d("observable-bind-to-parse-error",null)}),t}function be(e,t,n,i){const s=e[V],o=s.get(n),r=o||{};r[i]||(r[i]=new Set),r[i].add(t),o||s.set(n,r)}function _e(e){let t;e._bindings.forEach((n,i)=>{e._to.forEach(s=>{t=s.properties[n.callback?0:e._bindProperties.indexOf(i)],n.to.push([s.observable,t]),be(e._observable,n,s.observable,t)})})}function Ft(e,t){const i=e[R].get(t);let s;i.callback?s=i.callback.apply(e,i.to.map(o=>o[0][o[1]])):(s=i.to[0],s=s[0][s[1]]),Object.prototype.hasOwnProperty.call(e,t)?e[t]=s:e.set(t,s)}function we(e,t){t.forEach(n=>{const i=e[V];let s;i.get(n.observable)||e.listenTo(n.observable,"change",(o,r)=>{s=i.get(n.observable)[r],s&&s.forEach(l=>{Ft(e,l.property)})})})}class _n{_replacedElements;constructor(){this._replacedElements=[]}replace(t,n){this._replacedElements.push({element:t,newElement:n}),t.style.display="none",n&&t.parentNode.insertBefore(n,t.nextSibling)}restore(){this._replacedElements.forEach(({element:t,newElement:n})=>{t.style.display="",n&&n.remove()}),this._replacedElements=[]}}function wn(e){let t=0;for(const n of e)t++;return t}function yn(e,t){const n=Math.min(e.length,t.length);for(let i=0;i<n;i++)if(e[i]!=t[i])return i;return e.length==t.length?"same":e.length<t.length?"prefix":"extension"}function J(e){return!!(e&&e[Symbol.iterator])}function En(e,t,n={},i=[]){const s=n&&n.xmlns,o=s?e.createElementNS(s,t):e.createElement(t);for(const r in n)o.setAttribute(r,n[r]);(nt(i)||!J(i))&&(i=[i]);for(let r of i)nt(r)&&(r=e.createTextNode(r)),o.appendChild(r);return o}class Tn{_config;constructor(t,n){this._config=Object.create(null),n&&this.define(ft(n)),t&&this._setObjectToTarget(this._config,t)}set(t,n){this._setToTarget(this._config,t,n)}define(t,n){this._setToTarget(this._config,t,n,!0)}get(t){return this._getFromSource(this._config,t)}*names(){for(const t of Object.keys(this._config))yield t}_setToTarget(t,n,i,s=!1){if(M(n)){this._setObjectToTarget(t,n,s);return}const o=n.split(".");n=o.pop();for(const r of o)M(t[r])||(t[r]=Object.create(null)),t=t[r];if(M(i)){M(t[n])||(t[n]=Object.create(null)),t=t[n],this._setObjectToTarget(t,i,s);return}s&&typeof t[n]<"u"||(t[n]=i)}_getFromSource(t,n){const i=n.split(".");n=i.pop();for(const s of i){if(!M(t[s])){t=null;break}t=t[s]}return t?ft(t[n]):void 0}_setObjectToTarget(t,n,i){Object.keys(n).forEach(s=>{this._setToTarget(t,s,n[s],i)})}}function ft(e){return Kt(e,ye)}function ye(e){return Et(e)||typeof e=="function"?e:void 0}function ut(e){if(e){if(e.defaultView)return e instanceof e.defaultView.Document;if(e.ownerDocument&&e.ownerDocument.defaultView)return e instanceof e.ownerDocument.defaultView.Node}return!1}function N(e){const t=Object.prototype.toString.apply(e);return t=="[object Window]"||t=="[object global]"}const Ee=Q(I());function Q(e){if(!e)return Ee;class t extends e{listenTo(i,s,o,r={}){if(ut(i)||N(i)||i instanceof _.window.EventTarget){const l={capture:!!r.useCapture,passive:!!r.usePassive},c=this._getProxyEmitter(i,l)||new Te(i,l);this.listenTo(c,s,o,r)}else super.listenTo(i,s,o,r)}stopListening(i,s,o){if(ut(i)||N(i)||i instanceof _.window.EventTarget){const r=this._getAllProxyEmitters(i);for(const l of r)this.stopListening(l,s,o)}else super.stopListening(i,s,o)}_getProxyEmitter(i,s){return le(this,Mt(i,s))}_getAllProxyEmitters(i){return[{capture:!1,passive:!1},{capture:!1,passive:!0},{capture:!0,passive:!1},{capture:!0,passive:!0}].map(s=>this._getProxyEmitter(i,s)).filter(s=>!!s)}}return t}class Te extends I(){_domNode;_options;constructor(t,n){super(),Ct(this,Mt(t,n)),this._domNode=t,this._options=n}_domListeners;attach(t){if(this._domListeners&&this._domListeners[t])return;const n=this._createDomListener(t);this._domNode.addEventListener(t,n,this._options),this._domListeners||(this._domListeners={}),this._domListeners[t]=n}detach(t){let n;this._domListeners[t]&&(!(n=this._events[t])||!n.callbacks.length)&&this._domListeners[t].removeListener()}_addEventListener(t,n,i){this.attach(t),I().prototype._addEventListener.call(this,t,n,i)}_removeEventListener(t,n){I().prototype._removeEventListener.call(this,t,n),this.detach(t)}_createDomListener(t){const n=i=>{this.fire(t,i)};return n.removeListener=()=>{this._domNode.removeEventListener(t,n,this._options),delete this._domListeners[t]},n}}function xe(e){return e["data-ck-expando"]||(e["data-ck-expando"]=X())}function Mt(e,t){let n=xe(e);for(const i of Object.keys(t).sort())t[i]&&(n+="-"+i);return n}function xn(e){const t=[];let n=e;for(;n&&n.nodeType!=Node.DOCUMENT_NODE;)t.unshift(n),n=n.parentNode;return t}function In(e){return e instanceof HTMLTextAreaElement?e.value:e.innerHTML}function St(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)}}function An(e){if(!e.target)return null;const t=e.target.ownerDocument,n=e.clientX,i=e.clientY;let s=null;return t.caretRangeFromPoint&&t.caretRangeFromPoint(n,i)?s=t.caretRangeFromPoint(n,i):e.rangeParent&&(s=t.createRange(),s.setStart(e.rangeParent,e.rangeOffset),s.collapse(!0)),s}function Rt(e){return!e||!e.parentNode||e.offsetParent===_.document.body?null:e.offsetParent}function Z(e){return Object.prototype.toString.call(e)=="[object Text]"}function z(e){return Object.prototype.toString.apply(e)=="[object Range]"}const Vt=["top","right","bottom","left","width","height"],Ie=new Set(["relative","absolute","fixed","sticky"]);class m{top;right;bottom;left;width;height;_source;constructor(t){const n=z(t);if(Object.defineProperty(this,"_source",{value:t._source||t,writable:!0,enumerable:!1}),Y(t)||n)if(n){const i=m.getDomRangeRects(t);v(this,m.getBoundingRect(i))}else v(this,t.getBoundingClientRect());else if(N(t)){const{innerWidth:i,innerHeight:s}=t;v(this,{top:0,right:i,bottom:s,left:0,width:i,height:s})}else v(this,t)}clone(){return new m(this)}moveTo(t,n){return this.top=n,this.right=t+this.width,this.bottom=n+this.height,this.left=t,this}moveBy(t,n){return this.top+=n,this.right+=t,this.left+=t,this.bottom+=n,this}getIntersection(t){const n={top:Math.max(this.top,t.top),right:Math.min(this.right,t.right),bottom:Math.min(this.bottom,t.bottom),left:Math.max(this.left,t.left),width:0,height:0};if(n.width=n.right-n.left,n.height=n.bottom-n.top,n.width<0||n.height<0)return null;{const i=new m(n);return i._source=this._source,i}}getIntersectionArea(t){const n=this.getIntersection(t);return n?n.getArea():0}getArea(){return this.width*this.height}getVisible(){const t=this._source;let n=this.clone();if(dt(t))return n;let i=t,s=t.parentNode||t.commonAncestorContainer,o;for(;s&&!dt(s);){const r=Ae(s)==="visible";if(ht(i)&&(o=i),r||o&&vt(o)==="absolute"&&!ht(s)){i=s,s=s.parentNode;continue}const l=new m(s),c=n.getIntersection(l);if(c)c.getArea()<n.getArea()&&(n=c);else return null;i=s,s=s.parentNode}return n}isEqual(t){for(const n of Vt)if(this[n]!==t[n])return!1;return!0}contains(t){const n=this.getIntersection(t);return!!(n&&n.isEqual(t))}toAbsoluteRect(){const{scrollX:t,scrollY:n}=_.window,i=this.clone().moveBy(t,n);if(Y(i._source)){const s=Rt(i._source);s&&Ce(i,s)}return i}excludeScrollbarsAndBorders(){const t=this._source;let n,i,s;if(N(t))n=t.innerWidth-t.document.documentElement.clientWidth,i=t.innerHeight-t.document.documentElement.clientHeight,s=t.getComputedStyle(t.document.documentElement).direction;else{const o=St(t);n=t.offsetWidth-t.clientWidth-o.left-o.right,i=t.offsetHeight-t.clientHeight-o.top-o.bottom,s=t.ownerDocument.defaultView.getComputedStyle(t).direction,this.left+=o.left,this.top+=o.top,this.right-=o.right,this.bottom-=o.bottom,this.width=this.right-this.left,this.height=this.bottom-this.top}return this.width-=n,s==="ltr"?this.right-=n:this.left+=n,this.height-=i,this.bottom-=i,this}static getDomRangeRects(t){const n=[],i=Array.from(t.getClientRects());if(i.length)for(const s of i){const o=new m(s);o._source=t,n.push(o)}else{let s=t.startContainer;Z(s)&&(s=s.parentNode);const o=new m(s.getBoundingClientRect());o.right=o.left,o.width=0,n.push(o)}return n}static getBoundingRect(t){const n={left:Number.POSITIVE_INFINITY,top:Number.POSITIVE_INFINITY,right:Number.NEGATIVE_INFINITY,bottom:Number.NEGATIVE_INFINITY,width:0,height:0};let i=0;for(const s of t)i++,n.left=Math.min(n.left,s.left),n.top=Math.min(n.top,s.top),n.right=Math.max(n.right,s.right),n.bottom=Math.max(n.bottom,s.bottom);return i==0?null:(n.width=n.right-n.left,n.height=n.bottom-n.top,new m(n))}}function v(e,t){for(const n of Vt)e[n]=t[n]}function dt(e){return Y(e)?e===e.ownerDocument.body:!1}function Y(e){return e!==null&&typeof e=="object"&&e.nodeType===1&&typeof e.getBoundingClientRect=="function"}function vt(e){return e.ownerDocument.defaultView.getComputedStyle(e).position}function Ae(e){return e instanceof HTMLElement?e.ownerDocument.defaultView.getComputedStyle(e).overflow:"visible"}function ht(e){return e instanceof HTMLElement&&Ie.has(vt(e))}function Ce(e,t){const n=new m(t),i=St(t);let s=0,o=0;s-=n.left,o-=n.top,s+=t.scrollLeft,o+=t.scrollTop,s-=i.left,o-=i.top,e.moveBy(s,o)}class h{_element;_callback;static _observerInstance=null;static _elementCallbacks=null;constructor(t,n){h._observerInstance||h._createObserver(),this._element=t,this._callback=n,h._addElementCallback(t,n),h._observerInstance.observe(t)}get element(){return this._element}destroy(){h._deleteElementCallback(this._element,this._callback)}static _addElementCallback(t,n){h._elementCallbacks||(h._elementCallbacks=new Map);let i=h._elementCallbacks.get(t);i||(i=new Set,h._elementCallbacks.set(t,i)),i.add(n)}static _deleteElementCallback(t,n){const i=h._getElementCallbacks(t);i&&(i.delete(n),i.size||(h._elementCallbacks.delete(t),h._observerInstance.unobserve(t))),h._elementCallbacks&&!h._elementCallbacks.size&&(h._observerInstance=null,h._elementCallbacks=null)}static _getElementCallbacks(t){return h._elementCallbacks?h._elementCallbacks.get(t):null}static _createObserver(){h._observerInstance=new _.window.ResizeObserver(t=>{for(const n of t){const i=h._getElementCallbacks(n.target);if(i)for(const s of i)s(n)}})}}function Cn(e,t){e instanceof HTMLTextAreaElement&&(e.value=t),e.innerHTML=t}function Ln(e){return t=>t+e}function kn(e){let t=0;for(;e.previousSibling;)e=e.previousSibling,t++;return t}function Fn(e,t,n){e.insertBefore(n,e.childNodes[t]||null)}function Mn(e){return e&&e.nodeType===Node.COMMENT_NODE}function Sn(e){try{_.document.createAttribute(e)}catch{return!1}return!0}function Le(e){return e?Z(e)?Le(e.parentElement):e.getClientRects?!!e.getClientRects().length:!1:!1}function Rn({element:e,target:t,positions:n,limiter:i,fitInViewport:s,viewportOffsetConfig:o}){it(t)&&(t=t()),it(i)&&(i=i());const r=Rt(e),l=ke(o),c=new m(e),a=pt(t,l);let f;if(!a||!l.getIntersection(a))return null;const u={targetRect:a,elementRect:c,positionedElementAncestor:r,viewportRect:l};if(!i&&!s)f=new Pt(n[0],u);else{if(i){const w=pt(i,l);w&&(u.limiterRect=w)}f=Fe(n,u)}return f}function pt(e,t){const n=new m(e).getVisible();return n?n.getIntersection(t):null}function ke(e){e=Object.assign({top:0,bottom:0,left:0,right:0},e);const t=new m(_.window);return t.top+=e.top,t.height-=e.top,t.bottom-=e.bottom,t.height-=e.bottom,t.left+=e.left,t.right-=e.right,t.width-=e.left+e.right,t}function Fe(e,t){const{elementRect:n}=t,i=n.getArea(),s=e.map(l=>new Pt(l,t)).filter(l=>!!l.name);let o=0,r=null;for(const l of s){const{limiterIntersectionArea:c,viewportIntersectionArea:a}=l;if(c===i)return l;const f=a**2+c**2;f>o&&(o=f,r=l)}return r}class Pt{name;config;_positioningFunctionCoordinates;_options;_cachedRect;_cachedAbsoluteRect;constructor(t,n){const i=t(n.targetRect,n.elementRect,n.viewportRect,n.limiterRect);if(!i)return;const{left:s,top:o,name:r,config:l}=i;this.name=r,this.config=l,this._positioningFunctionCoordinates={left:s,top:o},this._options=n}get left(){return this._absoluteRect.left}get top(){return this._absoluteRect.top}get limiterIntersectionArea(){const t=this._options.limiterRect;return t?t.getIntersectionArea(this._rect):0}get viewportIntersectionArea(){return this._options.viewportRect.getIntersectionArea(this._rect)}get _rect(){return this._cachedRect?this._cachedRect:(this._cachedRect=this._options.elementRect.clone().moveTo(this._positioningFunctionCoordinates.left,this._positioningFunctionCoordinates.top),this._cachedRect)}get _absoluteRect(){return this._cachedAbsoluteRect?this._cachedAbsoluteRect:(this._cachedAbsoluteRect=this._rect.toAbsoluteRect(),this._cachedAbsoluteRect)}}function Vn(e){const t=e.parentNode;t&&t.removeChild(e)}function vn(){const e=_.window.visualViewport;if(!e||!(C.isiOS||C.isSafari))return{left:0,top:0};const t=Math.max(Math.round(e.offsetLeft),0),n=Math.max(Math.round(e.offsetTop),0);return{left:t,top:n}}function Pn({target:e,viewportOffset:t=0,ancestorOffset:n=0,alignToTop:i,forceScroll:s}){const o=tt(e);let r=o,l=null;for(t=Re(t);r;){let c;r==o?c=gt(e):c=gt(l),Se({parent:c,getRect:()=>U(e,r),alignToTop:i,ancestorOffset:n,forceScroll:s});let a=U(e,r);const f=U(c,r);if(a.height>f.height){const u=a.getIntersection(f);u&&(a=u)}if(Me({window:r,rect:a,viewportOffset:t,alignToTop:i,forceScroll:s}),r.parent!=r){if(l=r.frameElement,r=r.parent,!l)return}else r=null}}function Me({window:e,rect:t,alignToTop:n,forceScroll:i,viewportOffset:s}){const o=t.clone().moveBy(0,s.bottom),r=t.clone().moveBy(0,-s.top),l=new m(e).excludeScrollbarsAndBorders(),c=[r,o],a=n&&i,f=c.every(p=>l.contains(p));let{scrollX:u,scrollY:w}=e;const L=u,y=w;a?w-=l.top-t.top+s.top:f||(Bt(r,l)?w-=l.top-t.top+s.top:Nt(o,l)&&(n?w+=t.top-l.top-s.top:w+=t.bottom-l.bottom+s.bottom)),f||(Dt(t,l)?u-=l.left-t.left+s.left:jt(t,l)&&(u+=t.right-l.right+s.right)),(u!=L||w!==y)&&e.scrollTo(u,w)}function Se({parent:e,getRect:t,alignToTop:n,forceScroll:i,ancestorOffset:s=0,limiterElement:o}){const r=tt(e),l=n&&i;let c,a,f;const u=o||r.document.body;for(;e!=u;)a=t(),c=new m(e).excludeScrollbarsAndBorders(),f=c.contains(a),l?e.scrollTop-=c.top-a.top+s:f||(Bt(a,c)?e.scrollTop-=c.top-a.top+s:Nt(a,c)&&(n?e.scrollTop+=a.top-c.top-s:e.scrollTop+=a.bottom-c.bottom+s)),f||(Dt(a,c)?e.scrollLeft-=c.left-a.left+s:jt(a,c)&&(e.scrollLeft+=a.right-c.right+s)),e=e.parentNode}function Nt(e,t){return e.bottom>t.bottom}function Bt(e,t){return e.top<t.top}function Dt(e,t){return e.left<t.left}function jt(e,t){return e.right>t.right}function tt(e){return z(e)?e.startContainer.ownerDocument.defaultView:e.ownerDocument.defaultView}function gt(e){if(z(e)){let t=e.commonAncestorContainer;return Z(t)&&(t=t.parentNode),t}else return e.parentNode}function U(e,t){const n=tt(e),i=new m(e);if(n===t)return i;{let s=n;for(;s!=t;){const o=s.frameElement,r=new m(o).excludeScrollbarsAndBorders();i.moveBy(r.left,r.top),s=s.parent}}return i}function Re(e){return typeof e=="number"?{top:e,bottom:e,left:e,right:e}:e}const Ve={ctrl:"⌃",cmd:"⌘",alt:"⌥",shift:"⇧"},ve={ctrl:"Ctrl+",alt:"Alt+",shift:"Shift+"},mt={37:"←",38:"↑",39:"→",40:"↓",9:"⇥",33:"Page Up",34:"Page Down"},g=De(),Pe=Object.fromEntries(Object.entries(g).map(([e,t])=>{let n;return t in mt?n=mt[t]:n=e.charAt(0).toUpperCase()+e.slice(1),[t,n]}));function B(e){let t;if(typeof e=="string"){if(t=g[e.toLowerCase()],!t)throw new d("keyboard-unknown-key",null,{key:e})}else t=e.keyCode+(e.altKey?g.alt:0)+(e.ctrlKey?g.ctrl:0)+(e.shiftKey?g.shift:0)+(e.metaKey?g.cmd:0);return t}function Ot(e){return typeof e=="string"&&(e=je(e)),e.map(t=>typeof t=="string"?Be(t):t).reduce((t,n)=>n+t,0)}function Nn(e,t){let n=Ot(e);const i=C.isMac||C.isiOS;return Object.entries(i?Ve:ve).reduce((r,[l,c])=>((n&g[l])!=0&&(n&=~g[l],r+=c),r),"")+(n?Pe[n]:"")}function Bn(e){return e==g.arrowright||e==g.arrowleft||e==g.arrowup||e==g.arrowdown}function Ne(e,t){const n=t==="ltr";switch(e){case g.arrowleft:return n?"left":"right";case g.arrowright:return n?"right":"left";case g.arrowup:return"up";case g.arrowdown:return"down"}}function Be(e){if(e.endsWith("!"))return B(e.slice(0,-1));const t=B(e);return(C.isMac||C.isiOS)&&t==g.ctrl?g.cmd:t}function Dn(e,t){const n=Ne(e,t);return n==="down"||n==="right"}function De(){const e={pageup:33,pagedown:34,end:35,home:36,arrowleft:37,arrowup:38,arrowright:39,arrowdown:40,backspace:8,delete:46,enter:13,space:32,esc:27,tab:9,ctrl:1114112,shift:2228224,alt:4456448,cmd:8912896};for(let t=65;t<=90;t++){const n=String.fromCharCode(t);e[n.toLowerCase()]=t}for(let t=48;t<=57;t++)e[t-48]=t;for(let t=112;t<=123;t++)e["f"+(t-111)]=t;return Object.assign(e,{"'":222,",":108,"-":109,".":110,"/":111,";":186,"=":187,"[":219,"\\":220,"]":221,"`":223}),e}function je(e){return e.split("+").map(t=>t.trim())}const Oe=["ar","ara","dv","div","fa","per","fas","he","heb","ku","kur","ug","uig","ur","urd"];function bt(e){return Oe.includes(e)?"rtl":"ltr"}function We(e){return Array.isArray(e)?e:[e]}_.window.CKEDITOR_TRANSLATIONS||(_.window.CKEDITOR_TRANSLATIONS={});function Ke(e,t,n=1,i){if(typeof n!="number")throw new d("translation-service-quantity-not-a-number",null,{quantity:n});const s=i||_.window.CKEDITOR_TRANSLATIONS,o=He(s);o===1&&(e=Object.keys(s)[0]);const r=t.id||t.string;if(o===0||!$e(e,r,s))return n!==1?t.plural:t.string;const l=s[e].dictionary,c=s[e].getPluralForm||(u=>u===1?0:1),a=l[r];if(typeof a=="string")return a;const f=Number(c(n));return a[f]}function Ue(e){return Array.isArray(e)?e.reduce((t,n)=>Ut(t,n)):e}function $e(e,t,n){return!!n[e]&&!!n[e].dictionary[t]}function He(e){return Object.keys(e).length}class jn{uiLanguage;uiLanguageDirection;contentLanguage;contentLanguageDirection;t;translations;constructor({uiLanguage:t="en",contentLanguage:n,translations:i}={}){this.uiLanguage=t,this.contentLanguage=n||this.uiLanguage,this.uiLanguageDirection=bt(this.uiLanguage),this.contentLanguageDirection=bt(this.contentLanguage),this.translations=Ue(i),this.t=(s,o)=>this._t(s,o)}_t(t,n=[]){n=We(n),typeof t=="string"&&(t={string:t});const s=!!t.plural?n[0]:1,o=Ke(this.uiLanguage,t,s,this.translations);return Ge(o,n)}}function Ge(e,t){return e.replace(/%(\d+)/g,(n,i)=>i<t.length?t[i]:n)}class On extends I(){_items;_itemMap;_idProperty;_bindToCollection;_bindToExternalToInternalMap;_bindToInternalToExternalMap;_skippedIndexesFromExternal;constructor(t={},n={}){super();const i=J(t);if(i||(n=t),this._items=[],this._itemMap=new Map,this._idProperty=n.idProperty||"id",this._bindToExternalToInternalMap=new WeakMap,this._bindToInternalToExternalMap=new WeakMap,this._skippedIndexesFromExternal=[],i)for(const s of t)this._items.push(s),this._itemMap.set(this._getItemIdBeforeAdding(s),s)}get length(){return this._items.length}get first(){return this._items[0]||null}get last(){return this._items[this.length-1]||null}add(t,n){return this.addMany([t],n)}addMany(t,n){if(n===void 0)n=this._items.length;else if(n>this._items.length||n<0)throw new d("collection-add-item-invalid-index",this);let i=0;for(const s of t){const o=this._getItemIdBeforeAdding(s),r=n+i;this._items.splice(r,0,s),this._itemMap.set(o,s),this.fire("add",s,r),i++}return this.fire("change",{added:t,removed:[],index:n}),this}get(t){let n;if(typeof t=="string")n=this._itemMap.get(t);else if(typeof t=="number")n=this._items[t];else throw new d("collection-get-invalid-arg",this);return n||null}has(t){if(typeof t=="string")return this._itemMap.has(t);{const n=this._idProperty,i=t[n];return i&&this._itemMap.has(i)}}getIndex(t){let n;return typeof t=="string"?n=this._itemMap.get(t):n=t,n?this._items.indexOf(n):-1}remove(t){const[n,i]=this._remove(t);return this.fire("change",{added:[],removed:[n],index:i}),n}map(t,n){return this._items.map(t,n)}forEach(t,n){this._items.forEach(t,n)}find(t,n){return this._items.find(t,n)}filter(t,n){return this._items.filter(t,n)}clear(){this._bindToCollection&&(this.stopListening(this._bindToCollection),this._bindToCollection=null);const t=Array.from(this._items);for(;this.length;)this._remove(0);this.fire("change",{added:[],removed:t,index:0})}bindTo(t){if(this._bindToCollection)throw new d("collection-bind-to-rebind",this);return this._bindToCollection=t,{as:n=>{this._setUpBindToBinding(i=>new n(i))},using:n=>{typeof n=="function"?this._setUpBindToBinding(n):this._setUpBindToBinding(i=>i[n])}}}_setUpBindToBinding(t){const n=this._bindToCollection,i=(s,o,r)=>{const l=n._bindToCollection==this,c=n._bindToInternalToExternalMap.get(o);if(l&&c)this._bindToExternalToInternalMap.set(o,c),this._bindToInternalToExternalMap.set(c,o);else{const a=t(o);if(!a){this._skippedIndexesFromExternal.push(r);return}let f=r;for(const u of this._skippedIndexesFromExternal)r>u&&f--;for(const u of n._skippedIndexesFromExternal)f>=u&&f++;this._bindToExternalToInternalMap.set(o,a),this._bindToInternalToExternalMap.set(a,o),this.add(a,f);for(let u=0;u<n._skippedIndexesFromExternal.length;u++)f<=n._skippedIndexesFromExternal[u]&&n._skippedIndexesFromExternal[u]++}};for(const s of n)i(null,s,n.getIndex(s));this.listenTo(n,"add",i),this.listenTo(n,"remove",(s,o,r)=>{const l=this._bindToExternalToInternalMap.get(o);l&&this.remove(l),this._skippedIndexesFromExternal=this._skippedIndexesFromExternal.reduce((c,a)=>(r<a&&c.push(a-1),r>a&&c.push(a),c),[])})}_getItemIdBeforeAdding(t){const n=this._idProperty;let i;if(n in t){if(i=t[n],typeof i!="string")throw new d("collection-add-invalid-id",this);if(this.get(i))throw new d("collection-add-item-already-exists",this)}else t[n]=i=X();return i}_remove(t){let n,i,s,o=!1;const r=this._idProperty;if(typeof t=="string"?(i=t,s=this._itemMap.get(i),o=!s,s&&(n=this._items.indexOf(s))):typeof t=="number"?(n=t,s=this._items[n],o=!s,s&&(i=s[r])):(s=t,i=s[r],n=this._items.indexOf(s),o=n==-1||!this._itemMap.get(i)),o)throw new d("collection-remove-404",this);this._items.splice(n,1),this._itemMap.delete(i);const l=this._bindToInternalToExternalMap.get(s);return this._bindToInternalToExternalMap.delete(s),this._bindToExternalToInternalMap.delete(l),this.fire("remove",s,n),[s,n]}[Symbol.iterator](){return this._items[Symbol.iterator]()}}function Wn(e){const t=e.next();return t.done?null:t.value}class qe extends Q(kt()){_elements=new Set;_externalViews=new Set;_blurTimeout=null;constructor(){super(),this.set("isFocused",!1),this.set("focusedElement",null)}get elements(){return Array.from(this._elements.values())}get externalViews(){return Array.from(this._externalViews.values())}add(t){if(wt(t))this._addElement(t);else if(_t(t))this._addView(t);else{if(!t.element)throw new d("focustracker-add-view-missing-element",{focusTracker:this,view:t});this._addElement(t.element)}}remove(t){wt(t)?this._removeElement(t):_t(t)?this._removeView(t):this._removeElement(t.element)}_addElement(t){if(this._elements.has(t))throw new d("focustracker-add-element-already-exist",this);this.listenTo(t,"focus",()=>{const n=this.externalViews.find(i=>Ye(t,i));n?this._focus(n.element):this._focus(t)},{useCapture:!0}),this.listenTo(t,"blur",()=>{this._blur()},{useCapture:!0}),this._elements.add(t)}_removeElement(t){this._elements.has(t)&&(this.stopListening(t),this._elements.delete(t)),t===this.focusedElement&&this._blur()}_addView(t){t.element&&this._addElement(t.element),this.listenTo(t.focusTracker,"change:focusedElement",()=>{t.focusTracker.focusedElement?t.element&&this._focus(t.element):this._blur()}),this._externalViews.add(t)}_removeView(t){t.element&&this._removeElement(t.element),this.stopListening(t.focusTracker),this._externalViews.delete(t)}destroy(){this.stopListening(),this._elements.clear(),this._externalViews.clear(),this.isFocused=!1,this.focusedElement=null}_focus(t){this._clearBlurTimeout(),this.focusedElement=t,this.isFocused=!0}_blur(){this.elements.find(i=>i.contains(document.activeElement))||this.externalViews.find(i=>i.focusTracker.isFocused&&!i.focusTracker._blurTimeout)||(this._clearBlurTimeout(),this._blurTimeout=setTimeout(()=>{this.focusedElement=null,this.isFocused=!1},0))}_clearBlurTimeout(){clearTimeout(this._blurTimeout),this._blurTimeout=null}}function _t(e){return"focusTracker"in e&&e.focusTracker instanceof qe}function wt(e){return Et(e)}function Ye(e,t){return yt(e,t)?!0:!!t.focusTracker.externalViews.find(n=>yt(e,n))}function yt(e,t){return!!t.element&&t.element.contains(document.activeElement)&&e.contains(t.element)}class Kn{_listener;constructor(){this._listener=new(Q())}listenTo(t){this._listener.listenTo(t,"keydown",(n,i)=>{this._listener.fire("_keydown:"+B(i),i)})}set(t,n,i={}){const s=Ot(t),o=i.priority;this._listener.listenTo(this._listener,"_keydown:"+s,(r,l)=>{i.filter&&!i.filter(l)||(n(l,()=>{l.preventDefault(),l.stopPropagation(),r.stop()}),r.return=!0)},{priority:o})}press(t){return!!this._listener.fire("_keydown:"+B(t),t)}stopListening(t){this._listener.stopListening(t)}destroy(){this.stopListening()}}function Xe(e){const t=new Map;for(const n in e)t.set(n,e[n]);return t}function Un(e){return J(e)?new Map(e):Xe(e)}function $n(e,t,n){const i=e.length,s=t.length;for(let o=i-1;o>=n;o--)e[o+s]=e[o];for(let o=0;o<s;o++)e[n+o]=t[o]}function Hn(e,t){let n;function i(...s){i.cancel(),n=setTimeout(()=>e(...s),t)}return i.cancel=()=>{clearTimeout(n)},i}function Je(e){try{if(!e.startsWith("ey"))return null;const t=atob(e.replace(/-/g,"+").replace(/_/g,"/"));return JSON.parse(t)}catch{return null}}function Qe(){const e=[];for(let t=0;t<256;t++){let n=t;for(let i=0;i<8;i++)n&1?n=3988292384^n>>>1:n=n>>>1;e[t]=n}return e}function Gn(e){const t=Array.isArray(e)?e:[e],n=Qe();let i=-1;const s=t.map(o=>Array.isArray(o)?o.join(""):String(o)).join("");for(let o=0;o<s.length;o++){const r=s.charCodeAt(o);i=i>>>8^n[(i^r)&255]}return i=(i^-1)>>>0,i.toString(16).padStart(8,"0")}function qn(e){const t=[{name:"address",isVoid:!1},{name:"article",isVoid:!1},{name:"aside",isVoid:!1},{name:"blockquote",isVoid:!1},{name:"details",isVoid:!1},{name:"dialog",isVoid:!1},{name:"dd",isVoid:!1},{name:"div",isVoid:!1},{name:"dl",isVoid:!1},{name:"dt",isVoid:!1},{name:"fieldset",isVoid:!1},{name:"figcaption",isVoid:!1},{name:"figure",isVoid:!1},{name:"footer",isVoid:!1},{name:"form",isVoid:!1},{name:"h1",isVoid:!1},{name:"h2",isVoid:!1},{name:"h3",isVoid:!1},{name:"h4",isVoid:!1},{name:"h5",isVoid:!1},{name:"h6",isVoid:!1},{name:"header",isVoid:!1},{name:"hgroup",isVoid:!1},{name:"hr",isVoid:!0},{name:"li",isVoid:!1},{name:"main",isVoid:!1},{name:"nav",isVoid:!1},{name:"ol",isVoid:!1},{name:"p",isVoid:!1},{name:"section",isVoid:!1},{name:"table",isVoid:!1},{name:"tbody",isVoid:!1},{name:"td",isVoid:!1},{name:"th",isVoid:!1},{name:"thead",isVoid:!1},{name:"tr",isVoid:!1},{name:"ul",isVoid:!1}],n=t.map(r=>r.name).join("|"),i=e.replace(new RegExp(`</?(${n})( .*?)?>`,"g"),`
|
|
4
|
+
$&
|
|
5
|
+
`).replace(/<br[^>]*>/g,`$&
|
|
6
|
+
`).split(`
|
|
7
|
+
`);let s=0,o=!1;return i.map(r=>(o=tn(r,o),!r.length&&!o?"":Ze(r,t)?P(r,s++):ze(r,t)?P(r,--s):o==="middle"||o==="last"?P(r,0):P(r,s))).join("").trimEnd()}function Ze(e,t){return t.some(n=>!(n.isVoid||!new RegExp(`<${n.name}( .*?)?>`).test(e)))}function ze(e,t){return t.some(n=>new RegExp(`</${n.name}>`).test(e))}function P(e,t,n=" "){return`${n.repeat(Math.max(0,t))}${e}
|
|
8
|
+
`}function tn(e,t){const n=/<pre( .*?)?>/.test(e),i=/<\/pre>/.test(e);return n&&i?!1:n?"first":i?"last":t==="first"||t==="middle"?"middle":!1}function en(e){return!!e&&e.length==1&&/[\u0300-\u036f\u1ab0-\u1aff\u1dc0-\u1dff\u20d0-\u20ff\ufe20-\ufe2f]/.test(e)}function nn(e){return!!e&&e.length==1&&/[\ud800-\udbff]/.test(e)}function sn(e){return!!e&&e.length==1&&/[\udc00-\udfff]/.test(e)}function Yn(e,t){return nn(e.charAt(t-1))&&sn(e.charAt(t))}function Xn(e,t){return en(e.charAt(t))}const on=rn();function Jn(e,t){const n=String(e).matchAll(on);return Array.from(n).some(i=>i.index<t&&t<i.index+i[0].length)}function rn(){const e=[new RegExp("\\p{Emoji}[\\u{E0020}-\\u{E007E}]+\\u{E007F}","u"),new RegExp("\\p{Emoji}\\u{FE0F}?\\u{20E3}","u"),new RegExp("\\p{Emoji}\\u{FE0F}","u"),new RegExp("(?=\\p{General_Category=Other_Symbol})\\p{Emoji}\\p{Emoji_Modifier}*","u")],t=new RegExp("\\p{Regional_Indicator}{2}","u").source,n="(?:"+e.map(s=>s.source).join("|")+")",i=`${t}|${n}(?:${n})*`;return new RegExp(i,"ug")}function Qn(e){if(!e)return null;const t=ln(e);return t?Je(t):null}function ln(e){const t=e.split(".");return t.length!=3?null:t[1]}function Zn(e,t){return(e.removeFeatures||[]).includes(t)}export{d as CKEditorError,On as Collection,Tn as Config,ie as DOCUMENTATION_URL,Q as DomEmitterMixin,_n as ElementReplacer,I as EmitterMixin,$ as EventInfo,qe as FocusTracker,Kn as KeystrokeHandler,jn as Locale,kt as ObservableMixin,m as Rect,h as ResizeObserver,O as _getEmitterId,le as _getEmitterListenedTo,$t as _getUserAgent,Xt as _isAndroid,Jt as _isBlink,Gt as _isGecko,Tt as _isMac,Qt as _isMediaForcedColors,qt as _isSafari,Ht as _isWindows,Yt as _isiOS,Ct as _setEmitterId,Ke as _translate,Ue as _unifyTranslations,yn as compareArrays,wn as count,Gn as crc32,En as createElement,Qn as decodeLicenseKey,Hn as delay,xt as diff,C as env,Zt as fastDiff,Wn as first,qn as formatHtml,xn as getAncestors,St as getBorderWidths,B as getCode,ke as getConstrainedViewportRect,In as getDataFromElement,Nn as getEnvKeystrokeText,bt as getLanguageDirection,Ne as getLocalizedArrowKeyCodeDirection,Rn as getOptimalPosition,Rt as getPositionedAncestor,An as getRangeFromMouseEvent,vn as getVisualViewportOffset,_ as global,kn as indexOf,Fn as insertAt,ne as insertToPriorityArray,Bn as isArrowKeyCode,en as isCombiningMark,Mn as isComment,Zn as isFeatureBlockedByLicenseKey,Dn as isForwardArrowKeyCode,nn as isHighSurrogateHalf,Xn as isInsideCombinedSymbol,Jn as isInsideEmojiSequence,Yn as isInsideSurrogatePair,J as isIterable,sn as isLowSurrogateHalf,ut as isNode,z as isRange,Z as isText,Sn as isValidAttributeName,_t as isViewWithFocusTracker,Le as isVisible,N as isWindow,g as keyCodes,mn as logError,gn as logWarning,Xe as objectToMap,Je as parseBase64EncodedObject,Ot as parseKeystroke,H as priorities,bn as releaseDate,Vn as remove,Pn as scrollViewportToShowTarget,Cn as setDataInElement,$n as spliceArray,rt as spy,We as toArray,Un as toMap,Ln as toUnit,X as uid,oe as version};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Plugin as P}from"../../../../../@ckeditor_ckeditor5-core@47.5.0/node_modules/@ckeditor/ckeditor5-core/dist/index.js";import{MouseObserver as F,PointerObserver as q,ModelTreeWalker as G}from"../../../../../@ckeditor_ckeditor5-engine@47.5.0/node_modules/@ckeditor/ckeditor5-engine/dist/index.js";import{Delete as N}from"../../../../../@ckeditor_ckeditor5-typing@47.5.0/node_modules/@ckeditor/ckeditor5-typing/dist/index.js";import{keyCodes as k,env as C,getLocalizedArrowKeyCodeDirection as Y,compareArrays as A,logWarning as X,CKEditorError as M,isForwardArrowKeyCode as J,getRangeFromMouseEvent as Q,global as x,DomEmitterMixin as Z,toArray as L,Rect as b,ObservableMixin as B,EmitterMixin as ee}from"../../../../../@ckeditor_ckeditor5-utils@47.5.0/node_modules/@ckeditor/ckeditor5-utils/dist/index.js";import{IconReturnArrow as te,IconDragHandle as ie}from"../../../../../@ckeditor_ckeditor5-icons@47.5.0/node_modules/@ckeditor/ckeditor5-icons/dist/index.js";import{ContextualBalloon as oe,ToolbarView as ne,BalloonPanelView as se,IconView as re,Template as R,View as le}from"../../../../../@ckeditor_ckeditor5-ui@47.5.0/node_modules/@ckeditor/ckeditor5-ui/dist/index.js";import{Enter as ce}from"../../../../../@ckeditor_ckeditor5-enter@47.5.0/node_modules/@ckeditor/ckeditor5-enter/dist/index.js";import{throttle as ae}from"../../../../../es-toolkit@1.39.5/node_modules/es-toolkit/dist/compat/function/throttle.js";class de extends ee(){_stack=[];add(e,t){const i=this._stack,o=i[0];this._insertDescriptor(e);const n=i[0];o!==n&&!T(o,n)&&this.fire("change:top",{oldDescriptor:o,newDescriptor:n,writer:t})}remove(e,t){const i=this._stack,o=i[0];this._removeDescriptor(e);const n=i[0];o!==n&&!T(o,n)&&this.fire("change:top",{oldDescriptor:o,newDescriptor:n,writer:t})}_insertDescriptor(e){const t=this._stack,i=t.findIndex(n=>n.id===e.id);if(T(e,t[i]))return;i>-1&&t.splice(i,1);let o=0;for(;t[o]&&he(t[o],e);)o++;t.splice(o,0,e)}_removeDescriptor(e){const t=this._stack,i=t.findIndex(o=>o.id===e);i>-1&&t.splice(i,1)}}function T(s,e){return s&&e&&s.priority==e.priority&&S(s.classes)==S(e.classes)}function he(s,e){return s.priority>e.priority?!0:s.priority<e.priority?!1:S(s.classes)>S(e.classes)}function S(s){return Array.isArray(s)?s.sort().join(","):s}const ue="ck-widget",z="ck-widget_selected";function f(s){return s.is("element")?!!s.getCustomProperty("widget"):!1}function nt(s,e,t={}){if(!s.is("containerElement"))throw new M("widget-to-widget-wrong-element-type",null,{element:s});return e.setAttribute("contenteditable","false",s),e.addClass(ue,s),e.setCustomProperty("widget",!0,s),s.getFillerOffset=we,e.setCustomProperty("widgetLabel",[],s),t.label&&pe(s,t.label),t.hasSelectionHandle&&_e(s,e),K(s,e),s}function ge(s,e,t){if(e.classes&&t.addClass(L(e.classes),s),e.attributes)for(const i in e.attributes)t.setAttribute(i,e.attributes[i],s)}function fe(s,e,t){if(e.classes&&t.removeClass(L(e.classes),s),e.attributes)for(const i in e.attributes)t.removeAttribute(i,s)}function K(s,e,t=ge,i=fe){const o=new de;o.on("change:top",(l,c)=>{c.oldDescriptor&&i(s,c.oldDescriptor,c.writer),c.newDescriptor&&t(s,c.newDescriptor,c.writer)});const n=(l,c,a)=>o.add(c,a),r=(l,c,a)=>o.remove(c,a);e.setCustomProperty("addHighlight",n,s),e.setCustomProperty("removeHighlight",r,s)}function pe(s,e){s.getCustomProperty("widgetLabel").push(e)}function me(s){return s.getCustomProperty("widgetLabel").reduce((t,i)=>typeof i=="function"?t?t+". "+i():i():t?t+". "+i:i,"")}function st(s,e,t={}){return e.addClass(["ck-editor__editable","ck-editor__nested-editable"],s),t.withAriaRole!==!1&&e.setAttribute("role","textbox",s),s.isReadOnly||e.setAttribute("tabindex","-1",s),t.label&&e.setAttribute("aria-label",t.label,s),e.setAttribute("contenteditable",s.isReadOnly?"false":"true",s),s.on("change:isReadOnly",(i,o,n)=>{e.setAttribute("contenteditable",n?"false":"true",s),n?e.removeAttribute("tabindex",s):e.setAttribute("tabindex","-1",s)}),s.on("change:isFocused",(i,o,n)=>{n?e.addClass("ck-editor__nested-editable_focused",s):e.removeClass("ck-editor__nested-editable_focused",s)}),K(s,e),s}function rt(s,e){const t=s.getSelectedElement();if(t){const i=w(s);if(i)return e.createRange(e.createPositionAt(t,i))}return e.schema.findOptimalInsertionRange(s)}function we(){return null}function _e(s,e){const t=e.createUIElement("div",{class:"ck ck-widget__selection-handle"},function(i){const o=this.toDomElement(i),n=new re;return n.set("content",ie),n.render(),o.appendChild(n.element),o});e.insert(e.createPositionAt(s,0),t),e.addClass(["ck-widget_with-selection-handle"],s)}function be(s){const e=l=>{const{width:c,paddingLeft:a,paddingRight:h}=l.ownerDocument.defaultView.getComputedStyle(l);return parseFloat(c)-(parseFloat(a)||0)-(parseFloat(h)||0)},t=s.parentElement;if(!t)return 0;let i=e(t);const o=5;let n=0,r=t;for(;isNaN(i);){if(r=r.parentElement,++n>o)return 0;i=e(r)}return i}function ye(s,e=new b(s)){const t=be(s);return t?e.width/t*100:0}const m="widget-type-around";function _(s,e,t){return!!s&&f(s)&&!t.isInline(e)}function ve(s){return s.closest(".ck-widget__type-around__button")}function Ee(s){return s.classList.contains("ck-widget__type-around__button_before")?"before":"after"}function Se(s,e){const t=s.closest(".ck-widget");return e.mapDomToView(t)}function w(s){return s.getAttribute(m)}const j=["before","after"],Pe=new DOMParser().parseFromString(te,"image/svg+xml").firstChild,V="ck-widget__type-around_disabled";class Te extends P{_currentFakeCaretModelElement=null;static get pluginName(){return"WidgetTypeAround"}static get isOfficialPlugin(){return!0}static get requires(){return[ce,N]}init(){const e=this.editor,t=e.editing.view;this.on("change:isEnabled",(i,o,n)=>{t.change(r=>{for(const l of t.document.roots)n?r.removeClass(V,l):r.addClass(V,l)}),n||e.model.change(r=>{r.removeSelectionAttribute(m)})}),this._enableTypeAroundUIInjection(),this._enableInsertingParagraphsOnButtonClick(),this._enableInsertingParagraphsOnEnterKeypress(),this._enableInsertingParagraphsOnTypingKeystroke(),this._enableTypeAroundFakeCaretActivationUsingKeyboardArrows(),this._enableDeleteIntegration(),this._enableInsertContentIntegration(),this._enableInsertObjectIntegration(),this._enableDeleteContentIntegration()}destroy(){super.destroy(),this._currentFakeCaretModelElement=null}_insertParagraph(e,t){const i=this.editor,o=i.editing.view,n=i.model.schema.getAttributesWithProperty(e,"copyOnReplace",!0);i.execute("insertParagraph",{position:i.model.createPositionAt(e,t),attributes:n}),o.focus(),o.scrollToTheSelection()}_listenToIfEnabled(e,t,i,o){this.listenTo(e,t,(...n)=>{this.isEnabled&&i(...n)},o)}_insertParagraphAccordingToFakeCaretPosition(){const i=this.editor.model.document.selection,o=w(i);if(!o)return!1;const n=i.getSelectedElement();return this._insertParagraph(n,o),!0}_enableTypeAroundUIInjection(){const e=this.editor,t=e.model.schema,i=e.locale.t,o={before:i("Insert paragraph before block"),after:i("Insert paragraph after block")};e.editing.downcastDispatcher.on("insert",(n,r,l)=>{const c=l.mapper.toViewElement(r.item);c&&_(c,r.item,t)&&(ke(l.writer,o,c),c.getCustomProperty("widgetLabel").push(()=>this.isEnabled?i("Press Enter to type after or press Shift + Enter to type before the widget"):""))},{priority:"low"})}_enableTypeAroundFakeCaretActivationUsingKeyboardArrows(){const e=this.editor,t=e.model,i=t.document.selection,o=t.schema,n=e.editing.view;this._listenToIfEnabled(n.document,"arrowKey",(l,c)=>{this._handleArrowKeyPress(l,c)},{context:[f,"$text"],priority:"high"}),this._listenToIfEnabled(i,"change:range",(l,c)=>{c.directChange&&e.model.change(a=>{a.removeSelectionAttribute(m)})}),this._listenToIfEnabled(t.document,"change:data",()=>{const l=i.getSelectedElement();if(l){const c=e.editing.mapper.toViewElement(l);if(_(c,l,o))return}e.model.change(c=>{c.removeSelectionAttribute(m)})}),this._listenToIfEnabled(e.editing.downcastDispatcher,"selection",(l,c,a)=>{const h=a.writer;if(this._currentFakeCaretModelElement){const p=a.mapper.toViewElement(this._currentFakeCaretModelElement);p&&(h.removeClass(j.map(r),p),this._currentFakeCaretModelElement=null)}const d=c.selection.getSelectedElement();if(!d)return;const u=a.mapper.toViewElement(d);if(!_(u,d,o))return;const g=w(c.selection);g&&(h.addClass(r(g),u),this._currentFakeCaretModelElement=d)}),this._listenToIfEnabled(e.ui.focusTracker,"change:isFocused",(l,c,a)=>{a||e.model.change(h=>{h.removeSelectionAttribute(m)})});function r(l){return`ck-widget_type-around_show-fake-caret_${l}`}}_handleArrowKeyPress(e,t){const i=this.editor,o=i.model,n=o.document.selection,r=o.schema,l=i.editing.view;if(t.shiftKey)return;const c=t.keyCode,a=J(c,i.locale.contentLanguageDirection),h=l.document.selection.getSelectedElement(),d=i.editing.mapper.toModelElement(h);let u;_(h,d,r)?u=this._handleArrowKeyPressOnSelectedWidget(a):n.isCollapsed?u=this._handleArrowKeyPressWhenSelectionNextToAWidget(a):t.shiftKey||(u=this._handleArrowKeyPressWhenNonCollapsedSelection(a)),u&&(t.preventDefault(),e.stop())}_handleArrowKeyPressOnSelectedWidget(e){const i=this.editor.model,o=i.document.selection,n=w(o);return i.change(r=>{if(n){if(!(n===(e?"after":"before")))return r.removeSelectionAttribute(m),!0}else return r.setSelectionAttribute(m,e?"after":"before"),!0;return!1})}_handleArrowKeyPressWhenSelectionNextToAWidget(e){const t=this.editor,i=t.model,o=i.schema,n=t.plugins.get("Widget"),r=n._getObjectElementNextToSelection(e),l=t.editing.mapper.toViewElement(r);return _(l,r,o)?(i.change(c=>{n._setSelectionOverElement(r),c.setSelectionAttribute(m,e?"before":"after")}),!0):!1}_handleArrowKeyPressWhenNonCollapsedSelection(e){const t=this.editor,i=t.model,o=i.schema,n=t.editing.mapper,r=i.document.selection,l=e?r.getLastPosition().nodeBefore:r.getFirstPosition().nodeAfter,c=n.toViewElement(l);return _(c,l,o)?(i.change(a=>{a.setSelection(l,"on"),a.setSelectionAttribute(m,e?"after":"before")}),!0):!1}_enableInsertingParagraphsOnButtonClick(){const e=this.editor,t=e.editing.view;this._listenToIfEnabled(t.document,"mousedown",(i,o)=>{const n=ve(o.domTarget);if(!n)return;const r=Ee(n),l=Se(n,t.domConverter),c=e.editing.mapper.toModelElement(l);this._insertParagraph(c,r),o.preventDefault(),i.stop()})}_enableInsertingParagraphsOnEnterKeypress(){const e=this.editor,t=e.model.document.selection,i=e.editing.view;this._listenToIfEnabled(i.document,"enter",(o,n)=>{if(o.eventPhase!="atTarget")return;const r=t.getSelectedElement(),l=e.editing.mapper.toViewElement(r),c=e.model.schema;let a;this._insertParagraphAccordingToFakeCaretPosition()?a=!0:_(l,r,c)&&(this._insertParagraph(r,n.isSoft?"before":"after"),a=!0),a&&(n.preventDefault(),o.stop())},{context:f})}_enableInsertingParagraphsOnTypingKeystroke(){const t=this.editor.editing.view.document;this._listenToIfEnabled(t,"insertText",(i,o)=>{this._insertParagraphAccordingToFakeCaretPosition()&&(o.selection=t.selection)},{priority:"high"}),C.isAndroid?this._listenToIfEnabled(t,"keydown",(i,o)=>{o.keyCode==229&&this._insertParagraphAccordingToFakeCaretPosition()}):this._listenToIfEnabled(t,"compositionstart",()=>{this._insertParagraphAccordingToFakeCaretPosition()},{priority:"highest"})}_enableDeleteIntegration(){const e=this.editor,t=e.editing.view,i=e.model,o=i.schema;this._listenToIfEnabled(t.document,"delete",(n,r)=>{if(n.eventPhase!="atTarget")return;const l=w(i.document.selection);if(!l)return;const c=r.direction,a=i.document.selection.getSelectedElement(),h=l==="before",d=c=="forward";if(h===d)e.execute("delete",{selection:i.createSelection(a,"on")});else{const g=o.getNearestSelectionRange(i.createPositionAt(a,l),c);if(g)if(!g.isCollapsed)i.change(p=>{p.setSelection(g),e.execute(d?"deleteForward":"delete")});else{const p=i.createSelection(g.start);if(i.modifySelection(p,{direction:c}),!p.focus.isEqual(g.start))i.change(v=>{v.setSelection(g),e.execute(d?"deleteForward":"delete")});else{const v=Re(o,g.start.parent);i.deleteContent(i.createSelection(v,"on"),{doNotAutoparagraph:!0})}}}r.preventDefault(),n.stop()},{context:f})}_enableInsertContentIntegration(){const e=this.editor,t=this.editor.model,i=t.document.selection;this._listenToIfEnabled(e.model,"insertContent",(o,[n,r])=>{if(r&&!r.is("documentSelection"))return;const l=w(i);if(l)return o.stop(),t.change(c=>{const a=i.getSelectedElement(),h=t.createPositionAt(a,l),d=c.createSelection(h),u=t.insertContent(n,d);return c.setSelection(d),u})},{priority:"high"})}_enableInsertObjectIntegration(){const e=this.editor,i=this.editor.model.document.selection;this._listenToIfEnabled(e.model,"insertObject",(o,n)=>{const[,r,l={}]=n;if(r&&!r.is("documentSelection"))return;const c=w(i);c&&(l.findOptimalPosition=c,n[3]=l)},{priority:"high"})}_enableDeleteContentIntegration(){const e=this.editor,i=this.editor.model.document.selection;this._listenToIfEnabled(e.model,"deleteContent",(o,[n])=>{if(n&&!n.is("documentSelection"))return;w(i)&&o.stop()},{priority:"high"})}}function ke(s,e,t){const i=s.createUIElement("div",{class:"ck ck-reset_all ck-widget__type-around"},function(o){const n=this.toDomElement(o);return Ce(n,e),Ae(n),n});s.insert(s.createPositionAt(t,"end"),i)}function Ce(s,e){for(const t of j){const i=new R({tag:"div",attributes:{class:["ck","ck-widget__type-around__button",`ck-widget__type-around__button_${t}`],title:e[t],"aria-hidden":"true"},children:[s.ownerDocument.importNode(Pe,!0)]});s.appendChild(i.render())}}function Ae(s){const e=new R({tag:"div",attributes:{class:["ck","ck-widget__type-around__fake-caret"]}});s.appendChild(e.render())}function Re(s,e){let t=e;for(const i of e.getAncestors({parentFirst:!0})){if(i.childCount>1||s.isLimit(i))break;t=i}return t}function We(s){const e=s.model;return(t,i)=>{const o=i.keyCode==k.arrowup,n=i.keyCode==k.arrowdown,r=i.shiftKey,l=e.document.selection;if(!o&&!n)return;const c=n,a=xe(s,l,c);if(a){if(a.isCollapsed){if(l.isCollapsed)return;if(r)return}(a.isCollapsed||ze(s,a,c))&&(e.change(h=>{const d=c?a.end:a.start;if(r){const u=e.createSelection(l.anchor);u.setFocus(d),h.setSelection(u)}else h.setSelection(d)}),t.stop(),i.preventDefault(),i.stopPropagation())}}}function xe(s,e,t){const i=s.model;if(t){const o=e.focus,n=H(i,o,"forward");if(!n)return;const r=i.createRange(o,n),l=I(i.schema,r,"backward");if(l)return i.createRange(o,l)}else{const o=e.focus,n=H(i,o,"backward");if(!n)return;const r=i.createRange(n,o),l=I(i.schema,r,"forward");if(l)return i.createRange(l,o)}}function H(s,e,t){const i=s.schema,o=s.createRangeIn(e.root),n=t=="forward"?"elementStart":"elementEnd";for(const{previousPosition:r,item:l,type:c}of o.getWalker({startPosition:e,direction:t})){if(i.isLimit(l)&&!i.isInline(l))return r;if(c==n&&i.isBlock(l))return null}return null}function I(s,e,t){const i=t=="backward"?e.end:e.start;if(s.checkChild(i,"$text"))return i;for(const{nextPosition:o}of e.getWalker({direction:t}))if(s.checkChild(o,"$text"))return o}function ze(s,e,t){const i=s.model,o=s.view.domConverter;if(t){const a=i.createSelection(e.start);i.modifySelection(a),!a.focus.isAtEnd&&!e.start.isEqual(a.focus)&&(e=i.createRange(a.focus,e.end))}const n=s.mapper.toViewRange(e),r=o.viewRangeToDom(n),l=b.getDomRangeRects(r);let c;for(const a of l){if(c===void 0){c=Math.round(a.bottom);continue}if(Math.round(a.top)>=c)return!1;c=Math.max(c,Math.round(a.bottom))}return!0}class lt extends P{_previouslySelected=new Set;static get pluginName(){return"Widget"}static get isOfficialPlugin(){return!0}static get requires(){return[Te,N]}init(){const e=this.editor,t=e.editing.view,i=t.document,o=e.t;this.editor.editing.downcastDispatcher.on("selection",(n,r,l)=>{const c=l.writer,a=r.selection;if(a.isCollapsed)return;const h=a.getSelectedElement();if(!h)return;const d=e.editing.mapper.toViewElement(h);f(d)&&l.consumable.consume(a,"selection")&&c.setSelection(c.createRangeOn(d),{fake:!0,label:me(d)})}),this.editor.editing.downcastDispatcher.on("selection",(n,r,l)=>{this._clearPreviouslySelectedWidgets(l.writer);const c=l.writer,a=c.document.selection;let h=null;for(const d of a.getRanges())for(const u of d){const g=u.item;f(g)&&!Oe(g,h)&&(c.addClass(z,g),this._previouslySelected.add(g),h=g)}},{priority:"low"}),t.addObserver(F),t.addObserver(q),this.listenTo(i,"mousedown",(...n)=>this._onMousedown(...n)),this.listenTo(i,"pointerdown",(...n)=>this._onPointerdown(...n)),this.listenTo(i,"arrowKey",(...n)=>{this._handleSelectionChangeOnArrowKeyPress(...n)},{context:[f,"$text"]}),this.listenTo(i,"arrowKey",(...n)=>{this._preventDefaultOnArrowKeyPress(...n)},{context:"$root"}),this.listenTo(i,"arrowKey",We(this.editor.editing),{context:"$text"}),this.listenTo(i,"delete",(n,r)=>{this._handleDelete(r.direction=="forward")&&(r.preventDefault(),n.stop())},{context:"$root"}),this.listenTo(i,"tab",(n,r)=>{this._selectNextEditable(r.shiftKey?"backward":"forward")&&(t.scrollToTheSelection(),r.preventDefault(),n.stop())},{context:n=>f(n)||n.is("editableElement"),priority:"low"}),this.listenTo(i,"keydown",(n,r)=>{r.keystroke==k.esc&&this._selectAncestorWidget()&&(r.preventDefault(),n.stop())},{context:n=>n.is("editableElement"),priority:"low"}),e.accessibility.addKeystrokeInfoGroup({id:"widget",label:o("Keystrokes that can be used when a widget is selected (for example: image, table, etc.)"),keystrokes:[{label:o("Move focus from an editable area back to the parent widget"),keystroke:"Esc"},{label:o("Insert a new paragraph directly after a widget"),keystroke:"Enter"},{label:o("Insert a new paragraph directly before a widget"),keystroke:"Shift+Enter"},{label:o("Move the caret to allow typing directly before a widget"),keystroke:[["arrowup"],["arrowleft"]]},{label:o("Move the caret to allow typing directly after a widget"),keystroke:[["arrowdown"],["arrowright"]]}]})}_onMousedown(e,t){const i=t.target;i&&t.domEvent.detail>=3&&this._selectBlockContent(i)&&t.preventDefault()}_onPointerdown(e,t){if(!t.domEvent.isPrimary)return;const i=this.editor,o=i.editing.view,n=o.document;let r=t.target;if(!r)return;if(!f(r)){const c=Ie(r);if(!c)return;if(f(c))r=c;else{const a=De(o,t);if(a&&f(a))r=a;else return}}(C.isAndroid||C.isiOS)&&t.preventDefault(),n.isFocused||o.focus();const l=i.editing.mapper.toModelElement(r);this._setSelectionOverElement(l)}_selectBlockContent(e){const t=this.editor,i=t.model,o=t.editing.mapper,n=i.schema,r=o.findMappedViewAncestor(this.editor.editing.view.createPositionAt(e,0)),l=Fe(o.toModelElement(r),i.schema);return l?(i.change(c=>{const a=n.isLimit(l)?null:Ne(c.createPositionAfter(l),n),h=c.createPositionAt(l,0),d=a?c.createPositionAt(a,0):c.createPositionAt(l,"end");c.setSelection(c.createRange(h,d))}),!0):!1}_handleSelectionChangeOnArrowKeyPress(e,t){const i=t.keyCode,o=this.editor.model,n=o.schema,r=o.document.selection,l=r.getSelectedElement(),c=Y(i,this.editor.locale.contentLanguageDirection),a=c=="down"||c=="right",h=c=="up"||c=="down";if(!t.shiftKey&&!r.isCollapsed){if(Ve(r,n)){const E=a?r.getLastPosition():r.getFirstPosition(),W=n.getNearestSelectionRange(E,a?"forward":"backward");W&&(o.change(U=>{U.setSelection(W)}),t.preventDefault(),e.stop())}return}const d=He(o,a),u=o.createSelection(d);if(o.modifySelection(u,{direction:a?"forward":"backward"}),u.isEqual(d))return;u.focus.isTouching(d.focus)&&o.modifySelection(u,{direction:a?"forward":"backward"});const g=a?d.focus.nodeBefore:d.focus.nodeAfter,p=u.focus.nodeBefore,v=u.focus.nodeAfter,y=a?p:v;if(t.shiftKey)(l&&n.isObject(l)||y&&n.isObject(y)||g&&n.isObject(g))&&(o.change(E=>{E.setSelection(u)}),t.preventDefault(),e.stop());else if(y&&n.isObject(y)){if(n.isInline(y)&&h)return;o.change(E=>{E.setSelection(y,"on")}),t.preventDefault(),e.stop()}}_preventDefaultOnArrowKeyPress(e,t){const i=this.editor.model,o=i.schema,n=i.document.selection.getSelectedElement();n&&o.isObject(n)&&(t.preventDefault(),e.stop())}_handleDelete(e){const i=this.editor.model.document.selection;if(!this.editor.model.canEditAt(i)||!i.isCollapsed)return;const o=this._getObjectElementNextToSelection(e);if(o)return this.editor.model.change(n=>{let r=i.anchor.parent;for(;r.isEmpty;){const l=r;r=l.parent,n.remove(l)}this._setSelectionOverElement(o)}),!0}_setSelectionOverElement(e){this.editor.model.change(t=>{t.setSelection(t.createRangeOn(e))})}_getObjectElementNextToSelection(e){const t=this.editor.model,i=t.schema,o=t.document.selection,n=t.createSelection(o);if(t.modifySelection(n,{direction:e?"forward":"backward"}),n.isEqual(o))return null;const r=e?n.focus.nodeBefore:n.focus.nodeAfter;return r&&i.isObject(r)?r:null}_clearPreviouslySelectedWidgets(e){for(const t of this._previouslySelected)e.removeClass(z,t);this._previouslySelected.clear()}_selectNextEditable(e){const t=this.editor.editing,i=t.view,o=this.editor.model,n=i.document.selection,r=o.document.selection;let l;if(r.rangeCount>1){const a=r.isBackward?r.getFirstRange():r.getLastRange();l=t.mapper.toViewPosition(e=="forward"?a.end:a.start)}else l=e=="forward"?n.getFirstPosition():n.getLastPosition();const c=this._findNextFocusRange(l,e);return c?(o.change(a=>{a.setSelection(c)}),!0):!1}_findNextFocusRange(e,t){const i=this.editor.editing,o=i.view,n=this.editor.model,r=o.document.selection,l=r.editableElement,c=l.getPath();let a=r.getSelectedElement();a&&!f(a)&&(a=null);const h=t=="forward"?o.createRange(e,o.createPositionAt(e.root,"end")):o.createRange(o.createPositionAt(e.root,0),e);for(const{nextPosition:d}of h.getWalker({direction:t})){const u=d.parent;if(f(u)&&u!=a){const g=i.mapper.toModelElement(u);if(!n.schema.isBlock(g))continue;if(A(c,u.getPath())!="extension")return n.createRangeOn(g)}else if(u.is("editableElement")){if(u==l&&!a)continue;const g=i.mapper.toModelPosition(d),p=n.schema.getNearestSelectionRange(g,t);if(!p)continue;return u==l&&a?p:A(c,u.getPath())!="extension"?n.createRangeIn(n.schema.getLimitElement(p)):p}}return null}_selectAncestorWidget(){const e=this.editor,t=e.editing.mapper,o=e.editing.view.document.selection.getFirstPosition().parent,r=(o.is("$text")?o.parent:o).findAncestor(f);if(!r)return!1;const l=t.toModelElement(r);return l?(e.model.change(c=>{c.setSelection(l,"on")}),!0):!1}}function Ve(s,e){const t=s.getFirstPosition(),i=s.getLastPosition(),o=t.nodeAfter,n=i.nodeBefore;return!!o&&e.isObject(o)||!!n&&e.isObject(n)}function He(s,e){const t=s.document.selection,i=t.getSelectedElement(),o=w(t);return i&&o=="before"?s.createSelection(i,"before"):i&&o=="after"?s.createSelection(i,"after"):s.createSelection(t.getRanges(),{backward:i&&s.schema.isObject(i)?!e:t.isBackward})}function Ie(s){let e=s;for(;e;){if(e.is("editableElement")||f(e))return e;e=e.parent}return null}function De(s,e){const t=Q(e.domEvent);let i=null;if(t?i=s.domConverter.domRangeToView(t):i=s.createRange(s.createPositionAt(e.target,0)),!i)return null;const o=i.start;if(!o.parent)return null;let n=o.parent;return o.parent.is("editableElement")&&(o.isAtEnd&&o.nodeBefore?n=o.nodeBefore:o.isAtStart&&o.nodeAfter&&(n=o.nodeAfter)),n.is("$text")?n.parent:n}function Oe(s,e){return e?Array.from(s.getAncestors()).includes(e):!1}function Fe(s,e){for(const t of s.getAncestors({includeSelf:!0,parentFirst:!0})){if(e.checkChild(t,"$text"))return t;if(e.isLimit(t)&&!e.isObject(t))break}return null}function Ne(s,e){const t=new G({startPosition:s});for(const{item:i}of t){if(e.isLimit(i)||!i.is("element"))return null;if(e.checkChild(i,"$text"))return i}return null}class ct extends P{_toolbarDefinitions=new Map;_balloon;static get requires(){return[oe]}static get pluginName(){return"WidgetToolbarRepository"}static get isOfficialPlugin(){return!0}init(){const e=this.editor;if(e.plugins.has("BalloonToolbar")){const t=e.plugins.get("BalloonToolbar");this.listenTo(t,"show",i=>{Me(e.editing.view.document.selection)&&i.stop()},{priority:"high"})}this._balloon=this.editor.plugins.get("ContextualBalloon"),this.on("change:isEnabled",()=>{this._updateToolbarsVisibility()}),this.listenTo(e.ui,"update",()=>{this._updateToolbarsVisibility()}),this.listenTo(e.ui.focusTracker,"change:isFocused",()=>{this._updateToolbarsVisibility()},{priority:"low"})}destroy(){super.destroy();for(const e of this._toolbarDefinitions.values())e.view.destroy()}register(e,{ariaLabel:t,items:i,getRelatedElement:o,balloonClassName:n="ck-toolbar-container",positions:r}){if(!i.length){X("widget-toolbar-no-items",{toolbarId:e});return}const l=this.editor,c=l.t,a=new ne(l.locale);if(a.ariaLabel=t||c("Widget toolbar"),this._toolbarDefinitions.has(e))throw new M("widget-toolbar-duplicated",this,{toolbarId:e});const h={view:a,getRelatedElement:o,balloonClassName:n,itemsConfig:i,positions:r,initialized:!1};l.ui.addToolbar(a,{isContextual:!0,beforeFocus:()=>{const d=o(l.editing.view.document.selection);d&&this._showToolbar(h,d)},afterBlur:()=>{this._hideToolbar(h)}}),this._toolbarDefinitions.set(e,h)}_updateToolbarsVisibility(){let e=0,t=null,i=null;for(const o of this._toolbarDefinitions.values()){const n=o.getRelatedElement(this.editor.editing.view.document.selection);if(!this.isEnabled||!n)this._isToolbarInBalloon(o)&&this._hideToolbar(o);else if(!this.editor.ui.focusTracker.isFocused)this._isToolbarVisible(o)&&this._hideToolbar(o);else{const r=n.getAncestors().length;r>e&&(e=r,t=n,i=o)}}i&&this._showToolbar(i,t)}_hideToolbar(e){this._balloon.remove(e.view),this.stopListening(this._balloon,"change:visibleView")}_showToolbar(e,t){this._isToolbarVisible(e)?D(this.editor,t,e.positions):this._isToolbarInBalloon(e)||(e.initialized||(e.initialized=!0,e.view.fillFromConfig(e.itemsConfig,this.editor.ui.componentFactory)),this._balloon.add({view:e.view,position:$(this.editor,t,e.positions),balloonClassName:e.balloonClassName}),this.listenTo(this._balloon,"change:visibleView",()=>{for(const i of this._toolbarDefinitions.values())if(this._isToolbarVisible(i)){const o=i.getRelatedElement(this.editor.editing.view.document.selection);D(this.editor,o,e.positions)}}))}_isToolbarVisible(e){return this._balloon.visibleView===e.view}_isToolbarInBalloon(e){return this._balloon.hasView(e.view)}}function D(s,e,t){const i=s.plugins.get("ContextualBalloon"),o=$(s,e,t);i.updatePosition(o)}function $(s,e,t){const i=s.editing.view,o=se.defaultPositions;return{target:i.domConverter.mapViewToDom(e),positions:t||[o.northArrowSouth,o.northArrowSouthWest,o.northArrowSouthEast,o.southArrowNorth,o.southArrowNorthWest,o.southArrowNorthEast,o.viewportStickyNorth]}}function Me(s){const e=s.getSelectedElement();return!!(e&&f(e))}class Le extends B(){_referenceCoordinates;_options;_originalWidth;_originalHeight;_originalWidthPercents;_aspectRatio;constructor(e){super(),this.set("activeHandlePosition",null),this.set("proposedWidthPercents",null),this.set("proposedWidth",null),this.set("proposedHeight",null),this.set("proposedHandleHostWidth",null),this.set("proposedHandleHostHeight",null),this._options=e,this._referenceCoordinates=null}get originalWidth(){return this._originalWidth}get originalHeight(){return this._originalHeight}get originalWidthPercents(){return this._originalWidthPercents}get aspectRatio(){return this._aspectRatio}begin(e,t,i){const o=new b(t);this.activeHandlePosition=je(e),this._referenceCoordinates=Be(t,$e(this.activeHandlePosition)),this._originalWidth=o.width,this._originalHeight=o.height,this._aspectRatio=o.width/o.height;const n=i.style.width;n&&n.match(/^\d+(\.\d*)?%$/)?this._originalWidthPercents=parseFloat(n):this._originalWidthPercents=ye(i,o)}update(e){this.proposedWidth=e.width,this.proposedHeight=e.height,this.proposedWidthPercents=e.widthPercents,this.proposedHandleHostWidth=e.handleHostWidth,this.proposedHandleHostHeight=e.handleHostHeight}}function Be(s,e){const t=new b(s),i=e.split("-"),o={x:i[1]=="right"?t.right:t.left,y:i[0]=="bottom"?t.bottom:t.top};return o.x+=s.ownerDocument.defaultView.scrollX,o.y+=s.ownerDocument.defaultView.scrollY,o}function Ke(s){return`ck-widget__resizer__handle-${s}`}function je(s){const e=["top-left","top-right","bottom-right","bottom-left"];for(const t of e)if(s.classList.contains(Ke(t)))return t}function $e(s){const e=s.split("-"),t={top:"bottom",bottom:"top",left:"right",right:"left"};return`${t[e[0]]}-${t[e[1]]}`}class Ue extends le{constructor(){super();const e=this.bindTemplate;this.setTemplate({tag:"div",attributes:{class:["ck","ck-size-view",e.to("_viewPosition",t=>t?`ck-orientation-${t}`:"")],style:{display:e.if("_isVisible","none",t=>!t)}},children:[{text:e.to("_label")}]})}_bindToState(e,t){this.bind("_isVisible").to(t,"proposedWidth",t,"proposedHeight",(i,o)=>i!==null&&o!==null),this.bind("_label").to(t,"proposedHandleHostWidth",t,"proposedHandleHostHeight",t,"proposedWidthPercents",(i,o,n)=>e.unit==="px"?`${i}×${o}`:`${n}%`),this.bind("_viewPosition").to(t,"activeHandlePosition",t,"proposedHandleHostWidth",t,"proposedHandleHostHeight",(i,o,n)=>o<50||n<50?"above-center":i)}_dismiss(){this.unbind(),this._isVisible=!1}}class O extends B(){_state;_sizeView;_options;_viewResizerWrapper=null;_initialViewWidth;constructor(e){super(),this._options=e,this.set("isEnabled",!0),this.set("isSelected",!1),this.bind("isVisible").to(this,"isEnabled",this,"isSelected",(t,i)=>t&&i),this.decorate("begin"),this.decorate("cancel"),this.decorate("commit"),this.decorate("updateSize"),this.on("commit",t=>{!this.state.proposedWidth&&!this.state.proposedWidthPercents&&(this._cleanup(),t.stop())},{priority:"high"})}get state(){return this._state}show(){this._options.editor.editing.view.change(t=>{t.removeClass("ck-hidden",this._viewResizerWrapper)})}hide(){this._options.editor.editing.view.change(t=>{t.addClass("ck-hidden",this._viewResizerWrapper)})}attach(){const e=this,t=this._options.viewElement;this._options.editor.editing.view.change(o=>{const n=o.createUIElement("div",{class:"ck ck-reset_all ck-widget__resizer"},function(r){const l=this.toDomElement(r);return e._appendHandles(l),e._appendSizeUI(l),l});o.insert(o.createPositionAt(t,"end"),n),o.addClass("ck-widget_with-resizer",t),this._viewResizerWrapper=n,this.isVisible||this.hide()}),this.on("change:isVisible",()=>{this.isVisible?(this.show(),this.redraw()):this.hide()})}begin(e){this._state=new Le(this._options),this._sizeView._bindToState(this._options,this.state),this._initialViewWidth=this._options.viewElement.getStyle("width"),this.state.begin(e,this._getHandleHost(),this._getResizeHost())}updateSize(e){const t=this._proposeNewSize(e);this._options.editor.editing.view.change(a=>{const h=this._options.unit||"%",d=(h==="%"?t.widthPercents:t.width)+h;a.setStyle("width",d,this._options.viewElement)});const o=this._getHandleHost(),n=new b(o),r=Math.round(n.width),l=Math.round(n.height),c=new b(o);t.width=Math.round(c.width),t.height=Math.round(c.height),this.redraw(n),this.state.update({...t,handleHostWidth:r,handleHostHeight:l})}commit(){const e=this._options.unit||"%",t=(e==="%"?this.state.proposedWidthPercents:this.state.proposedWidth)+e;this._options.editor.editing.view.change(()=>{this._cleanup(),this._options.onCommit(t)})}cancel(){this._cleanup()}destroy(){this.cancel()}redraw(e){const t=this._domResizerWrapper;if(!Ye(t))return;const i=t.parentElement,o=this._getHandleHost(),n=this._viewResizerWrapper,r=[n.getStyle("width"),n.getStyle("height"),n.getStyle("left"),n.getStyle("top")];let l;if(i.isSameNode(o)){const c=e||new b(o);l=[c.width+"px",c.height+"px",void 0,void 0]}else l=[o.offsetWidth+"px",o.offsetHeight+"px",o.offsetLeft+"px",o.offsetTop+"px"];A(r,l)!=="same"&&this._options.editor.editing.view.change(c=>{c.setStyle({width:l[0],height:l[1],left:l[2],top:l[3]},n)})}containsHandle(e){return this._domResizerWrapper.contains(e)}static isResizeHandle(e){return e.classList.contains("ck-widget__resizer__handle")}_cleanup(){this._sizeView._dismiss(),this._options.editor.editing.view.change(t=>{t.setStyle("width",this._initialViewWidth,this._options.viewElement)})}_proposeNewSize(e){const t=this.state,i=Ge(e),o=this._options.isCentered?this._options.isCentered(this):!0,n={x:t._referenceCoordinates.x-(i.x+t.originalWidth),y:i.y-t.originalHeight-t._referenceCoordinates.y};o&&t.activeHandlePosition.endsWith("-right")&&(n.x=i.x-(t._referenceCoordinates.x+t.originalWidth)),o&&(n.x*=2);let r=Math.abs(t.originalWidth+n.x),l=Math.abs(t.originalHeight+n.y);return(r/t.aspectRatio>l?"width":"height")=="width"?l=r/t.aspectRatio:r=l*t.aspectRatio,{width:Math.round(r),height:Math.round(l),widthPercents:Math.min(Math.round(t.originalWidthPercents/t.originalWidth*r*100)/100,100)}}_getResizeHost(){const e=this._domResizerWrapper.parentElement;return this._options.getResizeHost(e)}_getHandleHost(){const e=this._domResizerWrapper.parentElement;return this._options.getHandleHost(e)}get _domResizerWrapper(){return this._options.editor.editing.view.domConverter.mapViewToDom(this._viewResizerWrapper)}_appendHandles(e){const t=["top-left","top-right","bottom-right","bottom-left"];for(const i of t)e.appendChild(new R({tag:"div",attributes:{class:`ck-widget__resizer__handle ${qe(i)}`}}).render())}_appendSizeUI(e){this._sizeView=new Ue,this._sizeView.render(),e.appendChild(this._sizeView.element)}}function qe(s){return`ck-widget__resizer__handle-${s}`}function Ge(s){return{x:s.pageX,y:s.pageY}}function Ye(s){return s&&s.ownerDocument&&s.ownerDocument.contains(s)}class at extends P{_resizers=new Map;_observer;_redrawSelectedResizerThrottled;static get pluginName(){return"WidgetResize"}static get isOfficialPlugin(){return!0}init(){const e=this.editor.editing,t=x.window.document;this.set("selectedResizer",null),this.set("_activeResizer",null),e.view.addObserver(F),this._observer=new(Z()),this.listenTo(e.view.document,"mousedown",this._mouseDownListener.bind(this),{priority:"high"}),this._observer.listenTo(t,"mousemove",this._mouseMoveListener.bind(this)),this._observer.listenTo(t,"mouseup",this._mouseUpListener.bind(this)),this._redrawSelectedResizerThrottled=ae(()=>this.redrawSelectedResizer(),200),this.editor.ui.on("update",this._redrawSelectedResizerThrottled),this.editor.model.document.on("change",()=>{for(const[o,n]of this._resizers)o.isAttached()||(this._resizers.delete(o),n.destroy())},{priority:"lowest"}),this._observer.listenTo(x.window,"resize",this._redrawSelectedResizerThrottled);const i=this.editor.editing.view.document.selection;i.on("change",()=>{const o=i.getSelectedElement(),n=this.getResizerByViewElement(o)||null;n?this.select(n):this.deselect()})}redrawSelectedResizer(){this.selectedResizer&&this.selectedResizer.isVisible&&this.selectedResizer.redraw()}destroy(){super.destroy(),this._observer.stopListening();for(const e of this._resizers.values())e.destroy();this._redrawSelectedResizerThrottled.cancel()}select(e){this.deselect(),this.selectedResizer=e,this.selectedResizer.isSelected=!0}deselect(){this.selectedResizer&&(this.selectedResizer.isSelected=!1),this.selectedResizer=null}attachTo(e){const t=new O(e),i=this.editor.plugins;if(t.attach(),i.has("WidgetToolbarRepository")){const r=i.get("WidgetToolbarRepository");t.on("begin",()=>{r.forceDisabled("resize")},{priority:"lowest"}),t.on("cancel",()=>{r.clearForceDisabled("resize")},{priority:"highest"}),t.on("commit",()=>{r.clearForceDisabled("resize")},{priority:"highest"})}this._resizers.set(e.viewElement,t);const n=this.editor.editing.view.document.selection.getSelectedElement();return this.getResizerByViewElement(n)==t&&this.select(t),t}getResizerByViewElement(e){return this._resizers.get(e)}_getResizerByHandle(e){for(const t of this._resizers.values())if(t.containsHandle(e))return t}_mouseDownListener(e,t){const i=t.domTarget;O.isResizeHandle(i)&&(this._activeResizer=this._getResizerByHandle(i)||null,this._activeResizer&&(this._activeResizer.begin(i),e.stop(),t.preventDefault()))}_mouseMoveListener(e,t){this._activeResizer&&this._activeResizer.updateSize(t)}_mouseUpListener(){this._activeResizer&&(this._activeResizer.commit(),this._activeResizer=null)}}export{ue as WIDGET_CLASS_NAME,z as WIDGET_SELECTED_CLASS_NAME,lt as Widget,de as WidgetHighlightStack,at as WidgetResize,Le as WidgetResizeState,O as WidgetResizer,ct as WidgetToolbarRepository,Te as WidgetTypeAround,m as _WIDGET_TYPE_AROUND_SELECTION_ATTRIBUTE,Ue as _WidgetSizeView,ve as _getClosestWidgetTypeAroundDomButton,Se as _getClosestWidgetViewElement,Ee as _getWidgetTypeAroundButtonPosition,w as _getWidgetTypeAroundFakeCaretPosition,be as calculateResizeHostAncestorWidth,ye as calculateResizeHostPercentageWidth,rt as findOptimalInsertionRange,me as getLabel,_ as isTypeAroundWidget,f as isWidget,K as setHighlightHandling,pe as setLabel,nt as toWidget,st as toWidgetEditable,We as verticalWidgetNavigationHandler};
|
|
1
|
+
import{Plugin as P}from"../../../../../@ckeditor_ckeditor5-core@47.6.0/node_modules/@ckeditor/ckeditor5-core/dist/index.js";import{MouseObserver as F,PointerObserver as q,ModelTreeWalker as G}from"../../../../../@ckeditor_ckeditor5-engine@47.6.0/node_modules/@ckeditor/ckeditor5-engine/dist/index.js";import{Delete as N}from"../../../../../@ckeditor_ckeditor5-typing@47.6.0/node_modules/@ckeditor/ckeditor5-typing/dist/index.js";import{keyCodes as k,env as C,getLocalizedArrowKeyCodeDirection as Y,compareArrays as A,logWarning as X,CKEditorError as M,isForwardArrowKeyCode as J,getRangeFromMouseEvent as Q,global as x,DomEmitterMixin as Z,toArray as L,Rect as b,ObservableMixin as B,EmitterMixin as ee}from"../../../../../@ckeditor_ckeditor5-utils@47.6.0/node_modules/@ckeditor/ckeditor5-utils/dist/index.js";import{IconReturnArrow as te,IconDragHandle as ie}from"../../../../../@ckeditor_ckeditor5-icons@47.6.0/node_modules/@ckeditor/ckeditor5-icons/dist/index.js";import{ContextualBalloon as oe,ToolbarView as ne,BalloonPanelView as se,IconView as re,Template as R,View as le}from"../../../../../@ckeditor_ckeditor5-ui@47.6.0/node_modules/@ckeditor/ckeditor5-ui/dist/index.js";import{Enter as ce}from"../../../../../@ckeditor_ckeditor5-enter@47.6.0/node_modules/@ckeditor/ckeditor5-enter/dist/index.js";import{throttle as ae}from"../../../../../es-toolkit@1.39.5/node_modules/es-toolkit/dist/compat/function/throttle.js";class de extends ee(){_stack=[];add(e,t){const i=this._stack,o=i[0];this._insertDescriptor(e);const n=i[0];o!==n&&!T(o,n)&&this.fire("change:top",{oldDescriptor:o,newDescriptor:n,writer:t})}remove(e,t){const i=this._stack,o=i[0];this._removeDescriptor(e);const n=i[0];o!==n&&!T(o,n)&&this.fire("change:top",{oldDescriptor:o,newDescriptor:n,writer:t})}_insertDescriptor(e){const t=this._stack,i=t.findIndex(n=>n.id===e.id);if(T(e,t[i]))return;i>-1&&t.splice(i,1);let o=0;for(;t[o]&&he(t[o],e);)o++;t.splice(o,0,e)}_removeDescriptor(e){const t=this._stack,i=t.findIndex(o=>o.id===e);i>-1&&t.splice(i,1)}}function T(s,e){return s&&e&&s.priority==e.priority&&S(s.classes)==S(e.classes)}function he(s,e){return s.priority>e.priority?!0:s.priority<e.priority?!1:S(s.classes)>S(e.classes)}function S(s){return Array.isArray(s)?s.sort().join(","):s}const ue="ck-widget",z="ck-widget_selected";function f(s){return s.is("element")?!!s.getCustomProperty("widget"):!1}function nt(s,e,t={}){if(!s.is("containerElement"))throw new M("widget-to-widget-wrong-element-type",null,{element:s});return e.setAttribute("contenteditable","false",s),e.addClass(ue,s),e.setCustomProperty("widget",!0,s),s.getFillerOffset=we,e.setCustomProperty("widgetLabel",[],s),t.label&&pe(s,t.label),t.hasSelectionHandle&&_e(s,e),K(s,e),s}function ge(s,e,t){if(e.classes&&t.addClass(L(e.classes),s),e.attributes)for(const i in e.attributes)t.setAttribute(i,e.attributes[i],s)}function fe(s,e,t){if(e.classes&&t.removeClass(L(e.classes),s),e.attributes)for(const i in e.attributes)t.removeAttribute(i,s)}function K(s,e,t=ge,i=fe){const o=new de;o.on("change:top",(l,c)=>{c.oldDescriptor&&i(s,c.oldDescriptor,c.writer),c.newDescriptor&&t(s,c.newDescriptor,c.writer)});const n=(l,c,a)=>o.add(c,a),r=(l,c,a)=>o.remove(c,a);e.setCustomProperty("addHighlight",n,s),e.setCustomProperty("removeHighlight",r,s)}function pe(s,e){s.getCustomProperty("widgetLabel").push(e)}function me(s){return s.getCustomProperty("widgetLabel").reduce((t,i)=>typeof i=="function"?t?t+". "+i():i():t?t+". "+i:i,"")}function st(s,e,t={}){return e.addClass(["ck-editor__editable","ck-editor__nested-editable"],s),t.withAriaRole!==!1&&e.setAttribute("role","textbox",s),s.isReadOnly||e.setAttribute("tabindex","-1",s),t.label&&e.setAttribute("aria-label",t.label,s),e.setAttribute("contenteditable",s.isReadOnly?"false":"true",s),s.on("change:isReadOnly",(i,o,n)=>{e.setAttribute("contenteditable",n?"false":"true",s),n?e.removeAttribute("tabindex",s):e.setAttribute("tabindex","-1",s)}),s.on("change:isFocused",(i,o,n)=>{n?e.addClass("ck-editor__nested-editable_focused",s):e.removeClass("ck-editor__nested-editable_focused",s)}),K(s,e),s}function rt(s,e){const t=s.getSelectedElement();if(t){const i=w(s);if(i)return e.createRange(e.createPositionAt(t,i))}return e.schema.findOptimalInsertionRange(s)}function we(){return null}function _e(s,e){const t=e.createUIElement("div",{class:"ck ck-widget__selection-handle"},function(i){const o=this.toDomElement(i),n=new re;return n.set("content",ie),n.render(),o.appendChild(n.element),o});e.insert(e.createPositionAt(s,0),t),e.addClass(["ck-widget_with-selection-handle"],s)}function be(s){const e=l=>{const{width:c,paddingLeft:a,paddingRight:h}=l.ownerDocument.defaultView.getComputedStyle(l);return parseFloat(c)-(parseFloat(a)||0)-(parseFloat(h)||0)},t=s.parentElement;if(!t)return 0;let i=e(t);const o=5;let n=0,r=t;for(;isNaN(i);){if(r=r.parentElement,++n>o)return 0;i=e(r)}return i}function ye(s,e=new b(s)){const t=be(s);return t?e.width/t*100:0}const m="widget-type-around";function _(s,e,t){return!!s&&f(s)&&!t.isInline(e)}function ve(s){return s.closest(".ck-widget__type-around__button")}function Ee(s){return s.classList.contains("ck-widget__type-around__button_before")?"before":"after"}function Se(s,e){const t=s.closest(".ck-widget");return e.mapDomToView(t)}function w(s){return s.getAttribute(m)}const j=["before","after"],Pe=new DOMParser().parseFromString(te,"image/svg+xml").firstChild,V="ck-widget__type-around_disabled";class Te extends P{_currentFakeCaretModelElement=null;static get pluginName(){return"WidgetTypeAround"}static get isOfficialPlugin(){return!0}static get requires(){return[ce,N]}init(){const e=this.editor,t=e.editing.view;this.on("change:isEnabled",(i,o,n)=>{t.change(r=>{for(const l of t.document.roots)n?r.removeClass(V,l):r.addClass(V,l)}),n||e.model.change(r=>{r.removeSelectionAttribute(m)})}),this._enableTypeAroundUIInjection(),this._enableInsertingParagraphsOnButtonClick(),this._enableInsertingParagraphsOnEnterKeypress(),this._enableInsertingParagraphsOnTypingKeystroke(),this._enableTypeAroundFakeCaretActivationUsingKeyboardArrows(),this._enableDeleteIntegration(),this._enableInsertContentIntegration(),this._enableInsertObjectIntegration(),this._enableDeleteContentIntegration()}destroy(){super.destroy(),this._currentFakeCaretModelElement=null}_insertParagraph(e,t){const i=this.editor,o=i.editing.view,n=i.model.schema.getAttributesWithProperty(e,"copyOnReplace",!0);i.execute("insertParagraph",{position:i.model.createPositionAt(e,t),attributes:n}),o.focus(),o.scrollToTheSelection()}_listenToIfEnabled(e,t,i,o){this.listenTo(e,t,(...n)=>{this.isEnabled&&i(...n)},o)}_insertParagraphAccordingToFakeCaretPosition(){const i=this.editor.model.document.selection,o=w(i);if(!o)return!1;const n=i.getSelectedElement();return this._insertParagraph(n,o),!0}_enableTypeAroundUIInjection(){const e=this.editor,t=e.model.schema,i=e.locale.t,o={before:i("Insert paragraph before block"),after:i("Insert paragraph after block")};e.editing.downcastDispatcher.on("insert",(n,r,l)=>{const c=l.mapper.toViewElement(r.item);c&&_(c,r.item,t)&&(ke(l.writer,o,c),c.getCustomProperty("widgetLabel").push(()=>this.isEnabled?i("Press Enter to type after or press Shift + Enter to type before the widget"):""))},{priority:"low"})}_enableTypeAroundFakeCaretActivationUsingKeyboardArrows(){const e=this.editor,t=e.model,i=t.document.selection,o=t.schema,n=e.editing.view;this._listenToIfEnabled(n.document,"arrowKey",(l,c)=>{this._handleArrowKeyPress(l,c)},{context:[f,"$text"],priority:"high"}),this._listenToIfEnabled(i,"change:range",(l,c)=>{c.directChange&&e.model.change(a=>{a.removeSelectionAttribute(m)})}),this._listenToIfEnabled(t.document,"change:data",()=>{const l=i.getSelectedElement();if(l){const c=e.editing.mapper.toViewElement(l);if(_(c,l,o))return}e.model.change(c=>{c.removeSelectionAttribute(m)})}),this._listenToIfEnabled(e.editing.downcastDispatcher,"selection",(l,c,a)=>{const h=a.writer;if(this._currentFakeCaretModelElement){const p=a.mapper.toViewElement(this._currentFakeCaretModelElement);p&&(h.removeClass(j.map(r),p),this._currentFakeCaretModelElement=null)}const d=c.selection.getSelectedElement();if(!d)return;const u=a.mapper.toViewElement(d);if(!_(u,d,o))return;const g=w(c.selection);g&&(h.addClass(r(g),u),this._currentFakeCaretModelElement=d)}),this._listenToIfEnabled(e.ui.focusTracker,"change:isFocused",(l,c,a)=>{a||e.model.change(h=>{h.removeSelectionAttribute(m)})});function r(l){return`ck-widget_type-around_show-fake-caret_${l}`}}_handleArrowKeyPress(e,t){const i=this.editor,o=i.model,n=o.document.selection,r=o.schema,l=i.editing.view;if(t.shiftKey)return;const c=t.keyCode,a=J(c,i.locale.contentLanguageDirection),h=l.document.selection.getSelectedElement(),d=i.editing.mapper.toModelElement(h);let u;_(h,d,r)?u=this._handleArrowKeyPressOnSelectedWidget(a):n.isCollapsed?u=this._handleArrowKeyPressWhenSelectionNextToAWidget(a):t.shiftKey||(u=this._handleArrowKeyPressWhenNonCollapsedSelection(a)),u&&(t.preventDefault(),e.stop())}_handleArrowKeyPressOnSelectedWidget(e){const i=this.editor.model,o=i.document.selection,n=w(o);return i.change(r=>{if(n){if(!(n===(e?"after":"before")))return r.removeSelectionAttribute(m),!0}else return r.setSelectionAttribute(m,e?"after":"before"),!0;return!1})}_handleArrowKeyPressWhenSelectionNextToAWidget(e){const t=this.editor,i=t.model,o=i.schema,n=t.plugins.get("Widget"),r=n._getObjectElementNextToSelection(e),l=t.editing.mapper.toViewElement(r);return _(l,r,o)?(i.change(c=>{n._setSelectionOverElement(r),c.setSelectionAttribute(m,e?"before":"after")}),!0):!1}_handleArrowKeyPressWhenNonCollapsedSelection(e){const t=this.editor,i=t.model,o=i.schema,n=t.editing.mapper,r=i.document.selection,l=e?r.getLastPosition().nodeBefore:r.getFirstPosition().nodeAfter,c=n.toViewElement(l);return _(c,l,o)?(i.change(a=>{a.setSelection(l,"on"),a.setSelectionAttribute(m,e?"after":"before")}),!0):!1}_enableInsertingParagraphsOnButtonClick(){const e=this.editor,t=e.editing.view;this._listenToIfEnabled(t.document,"mousedown",(i,o)=>{const n=ve(o.domTarget);if(!n)return;const r=Ee(n),l=Se(n,t.domConverter),c=e.editing.mapper.toModelElement(l);this._insertParagraph(c,r),o.preventDefault(),i.stop()})}_enableInsertingParagraphsOnEnterKeypress(){const e=this.editor,t=e.model.document.selection,i=e.editing.view;this._listenToIfEnabled(i.document,"enter",(o,n)=>{if(o.eventPhase!="atTarget")return;const r=t.getSelectedElement(),l=e.editing.mapper.toViewElement(r),c=e.model.schema;let a;this._insertParagraphAccordingToFakeCaretPosition()?a=!0:_(l,r,c)&&(this._insertParagraph(r,n.isSoft?"before":"after"),a=!0),a&&(n.preventDefault(),o.stop())},{context:f})}_enableInsertingParagraphsOnTypingKeystroke(){const t=this.editor.editing.view.document;this._listenToIfEnabled(t,"insertText",(i,o)=>{this._insertParagraphAccordingToFakeCaretPosition()&&(o.selection=t.selection)},{priority:"high"}),C.isAndroid?this._listenToIfEnabled(t,"keydown",(i,o)=>{o.keyCode==229&&this._insertParagraphAccordingToFakeCaretPosition()}):this._listenToIfEnabled(t,"compositionstart",()=>{this._insertParagraphAccordingToFakeCaretPosition()},{priority:"highest"})}_enableDeleteIntegration(){const e=this.editor,t=e.editing.view,i=e.model,o=i.schema;this._listenToIfEnabled(t.document,"delete",(n,r)=>{if(n.eventPhase!="atTarget")return;const l=w(i.document.selection);if(!l)return;const c=r.direction,a=i.document.selection.getSelectedElement(),h=l==="before",d=c=="forward";if(h===d)e.execute("delete",{selection:i.createSelection(a,"on")});else{const g=o.getNearestSelectionRange(i.createPositionAt(a,l),c);if(g)if(!g.isCollapsed)i.change(p=>{p.setSelection(g),e.execute(d?"deleteForward":"delete")});else{const p=i.createSelection(g.start);if(i.modifySelection(p,{direction:c}),!p.focus.isEqual(g.start))i.change(v=>{v.setSelection(g),e.execute(d?"deleteForward":"delete")});else{const v=Re(o,g.start.parent);i.deleteContent(i.createSelection(v,"on"),{doNotAutoparagraph:!0})}}}r.preventDefault(),n.stop()},{context:f})}_enableInsertContentIntegration(){const e=this.editor,t=this.editor.model,i=t.document.selection;this._listenToIfEnabled(e.model,"insertContent",(o,[n,r])=>{if(r&&!r.is("documentSelection"))return;const l=w(i);if(l)return o.stop(),t.change(c=>{const a=i.getSelectedElement(),h=t.createPositionAt(a,l),d=c.createSelection(h),u=t.insertContent(n,d);return c.setSelection(d),u})},{priority:"high"})}_enableInsertObjectIntegration(){const e=this.editor,i=this.editor.model.document.selection;this._listenToIfEnabled(e.model,"insertObject",(o,n)=>{const[,r,l={}]=n;if(r&&!r.is("documentSelection"))return;const c=w(i);c&&(l.findOptimalPosition=c,n[3]=l)},{priority:"high"})}_enableDeleteContentIntegration(){const e=this.editor,i=this.editor.model.document.selection;this._listenToIfEnabled(e.model,"deleteContent",(o,[n])=>{if(n&&!n.is("documentSelection"))return;w(i)&&o.stop()},{priority:"high"})}}function ke(s,e,t){const i=s.createUIElement("div",{class:"ck ck-reset_all ck-widget__type-around"},function(o){const n=this.toDomElement(o);return Ce(n,e),Ae(n),n});s.insert(s.createPositionAt(t,"end"),i)}function Ce(s,e){for(const t of j){const i=new R({tag:"div",attributes:{class:["ck","ck-widget__type-around__button",`ck-widget__type-around__button_${t}`],title:e[t],"aria-hidden":"true"},children:[s.ownerDocument.importNode(Pe,!0)]});s.appendChild(i.render())}}function Ae(s){const e=new R({tag:"div",attributes:{class:["ck","ck-widget__type-around__fake-caret"]}});s.appendChild(e.render())}function Re(s,e){let t=e;for(const i of e.getAncestors({parentFirst:!0})){if(i.childCount>1||s.isLimit(i))break;t=i}return t}function We(s){const e=s.model;return(t,i)=>{const o=i.keyCode==k.arrowup,n=i.keyCode==k.arrowdown,r=i.shiftKey,l=e.document.selection;if(!o&&!n)return;const c=n,a=xe(s,l,c);if(a){if(a.isCollapsed){if(l.isCollapsed)return;if(r)return}(a.isCollapsed||ze(s,a,c))&&(e.change(h=>{const d=c?a.end:a.start;if(r){const u=e.createSelection(l.anchor);u.setFocus(d),h.setSelection(u)}else h.setSelection(d)}),t.stop(),i.preventDefault(),i.stopPropagation())}}}function xe(s,e,t){const i=s.model;if(t){const o=e.focus,n=H(i,o,"forward");if(!n)return;const r=i.createRange(o,n),l=I(i.schema,r,"backward");if(l)return i.createRange(o,l)}else{const o=e.focus,n=H(i,o,"backward");if(!n)return;const r=i.createRange(n,o),l=I(i.schema,r,"forward");if(l)return i.createRange(l,o)}}function H(s,e,t){const i=s.schema,o=s.createRangeIn(e.root),n=t=="forward"?"elementStart":"elementEnd";for(const{previousPosition:r,item:l,type:c}of o.getWalker({startPosition:e,direction:t})){if(i.isLimit(l)&&!i.isInline(l))return r;if(c==n&&i.isBlock(l))return null}return null}function I(s,e,t){const i=t=="backward"?e.end:e.start;if(s.checkChild(i,"$text"))return i;for(const{nextPosition:o}of e.getWalker({direction:t}))if(s.checkChild(o,"$text"))return o}function ze(s,e,t){const i=s.model,o=s.view.domConverter;if(t){const a=i.createSelection(e.start);i.modifySelection(a),!a.focus.isAtEnd&&!e.start.isEqual(a.focus)&&(e=i.createRange(a.focus,e.end))}const n=s.mapper.toViewRange(e),r=o.viewRangeToDom(n),l=b.getDomRangeRects(r);let c;for(const a of l){if(c===void 0){c=Math.round(a.bottom);continue}if(Math.round(a.top)>=c)return!1;c=Math.max(c,Math.round(a.bottom))}return!0}class lt extends P{_previouslySelected=new Set;static get pluginName(){return"Widget"}static get isOfficialPlugin(){return!0}static get requires(){return[Te,N]}init(){const e=this.editor,t=e.editing.view,i=t.document,o=e.t;this.editor.editing.downcastDispatcher.on("selection",(n,r,l)=>{const c=l.writer,a=r.selection;if(a.isCollapsed)return;const h=a.getSelectedElement();if(!h)return;const d=e.editing.mapper.toViewElement(h);f(d)&&l.consumable.consume(a,"selection")&&c.setSelection(c.createRangeOn(d),{fake:!0,label:me(d)})}),this.editor.editing.downcastDispatcher.on("selection",(n,r,l)=>{this._clearPreviouslySelectedWidgets(l.writer);const c=l.writer,a=c.document.selection;let h=null;for(const d of a.getRanges())for(const u of d){const g=u.item;f(g)&&!Oe(g,h)&&(c.addClass(z,g),this._previouslySelected.add(g),h=g)}},{priority:"low"}),t.addObserver(F),t.addObserver(q),this.listenTo(i,"mousedown",(...n)=>this._onMousedown(...n)),this.listenTo(i,"pointerdown",(...n)=>this._onPointerdown(...n)),this.listenTo(i,"arrowKey",(...n)=>{this._handleSelectionChangeOnArrowKeyPress(...n)},{context:[f,"$text"]}),this.listenTo(i,"arrowKey",(...n)=>{this._preventDefaultOnArrowKeyPress(...n)},{context:"$root"}),this.listenTo(i,"arrowKey",We(this.editor.editing),{context:"$text"}),this.listenTo(i,"delete",(n,r)=>{this._handleDelete(r.direction=="forward")&&(r.preventDefault(),n.stop())},{context:"$root"}),this.listenTo(i,"tab",(n,r)=>{this._selectNextEditable(r.shiftKey?"backward":"forward")&&(t.scrollToTheSelection(),r.preventDefault(),n.stop())},{context:n=>f(n)||n.is("editableElement"),priority:"low"}),this.listenTo(i,"keydown",(n,r)=>{r.keystroke==k.esc&&this._selectAncestorWidget()&&(r.preventDefault(),n.stop())},{context:n=>n.is("editableElement"),priority:"low"}),e.accessibility.addKeystrokeInfoGroup({id:"widget",label:o("Keystrokes that can be used when a widget is selected (for example: image, table, etc.)"),keystrokes:[{label:o("Move focus from an editable area back to the parent widget"),keystroke:"Esc"},{label:o("Insert a new paragraph directly after a widget"),keystroke:"Enter"},{label:o("Insert a new paragraph directly before a widget"),keystroke:"Shift+Enter"},{label:o("Move the caret to allow typing directly before a widget"),keystroke:[["arrowup"],["arrowleft"]]},{label:o("Move the caret to allow typing directly after a widget"),keystroke:[["arrowdown"],["arrowright"]]}]})}_onMousedown(e,t){const i=t.target;i&&t.domEvent.detail>=3&&this._selectBlockContent(i)&&t.preventDefault()}_onPointerdown(e,t){if(!t.domEvent.isPrimary)return;const i=this.editor,o=i.editing.view,n=o.document;let r=t.target;if(!r)return;if(!f(r)){const c=Ie(r);if(!c)return;if(f(c))r=c;else{const a=De(o,t);if(a&&f(a))r=a;else return}}(C.isAndroid||C.isiOS)&&t.preventDefault(),n.isFocused||o.focus();const l=i.editing.mapper.toModelElement(r);this._setSelectionOverElement(l)}_selectBlockContent(e){const t=this.editor,i=t.model,o=t.editing.mapper,n=i.schema,r=o.findMappedViewAncestor(this.editor.editing.view.createPositionAt(e,0)),l=Fe(o.toModelElement(r),i.schema);return l?(i.change(c=>{const a=n.isLimit(l)?null:Ne(c.createPositionAfter(l),n),h=c.createPositionAt(l,0),d=a?c.createPositionAt(a,0):c.createPositionAt(l,"end");c.setSelection(c.createRange(h,d))}),!0):!1}_handleSelectionChangeOnArrowKeyPress(e,t){const i=t.keyCode,o=this.editor.model,n=o.schema,r=o.document.selection,l=r.getSelectedElement(),c=Y(i,this.editor.locale.contentLanguageDirection),a=c=="down"||c=="right",h=c=="up"||c=="down";if(!t.shiftKey&&!r.isCollapsed){if(Ve(r,n)){const E=a?r.getLastPosition():r.getFirstPosition(),W=n.getNearestSelectionRange(E,a?"forward":"backward");W&&(o.change(U=>{U.setSelection(W)}),t.preventDefault(),e.stop())}return}const d=He(o,a),u=o.createSelection(d);if(o.modifySelection(u,{direction:a?"forward":"backward"}),u.isEqual(d))return;u.focus.isTouching(d.focus)&&o.modifySelection(u,{direction:a?"forward":"backward"});const g=a?d.focus.nodeBefore:d.focus.nodeAfter,p=u.focus.nodeBefore,v=u.focus.nodeAfter,y=a?p:v;if(t.shiftKey)(l&&n.isObject(l)||y&&n.isObject(y)||g&&n.isObject(g))&&(o.change(E=>{E.setSelection(u)}),t.preventDefault(),e.stop());else if(y&&n.isObject(y)){if(n.isInline(y)&&h)return;o.change(E=>{E.setSelection(y,"on")}),t.preventDefault(),e.stop()}}_preventDefaultOnArrowKeyPress(e,t){const i=this.editor.model,o=i.schema,n=i.document.selection.getSelectedElement();n&&o.isObject(n)&&(t.preventDefault(),e.stop())}_handleDelete(e){const i=this.editor.model.document.selection;if(!this.editor.model.canEditAt(i)||!i.isCollapsed)return;const o=this._getObjectElementNextToSelection(e);if(o)return this.editor.model.change(n=>{let r=i.anchor.parent;for(;r.isEmpty;){const l=r;r=l.parent,n.remove(l)}this._setSelectionOverElement(o)}),!0}_setSelectionOverElement(e){this.editor.model.change(t=>{t.setSelection(t.createRangeOn(e))})}_getObjectElementNextToSelection(e){const t=this.editor.model,i=t.schema,o=t.document.selection,n=t.createSelection(o);if(t.modifySelection(n,{direction:e?"forward":"backward"}),n.isEqual(o))return null;const r=e?n.focus.nodeBefore:n.focus.nodeAfter;return r&&i.isObject(r)?r:null}_clearPreviouslySelectedWidgets(e){for(const t of this._previouslySelected)e.removeClass(z,t);this._previouslySelected.clear()}_selectNextEditable(e){const t=this.editor.editing,i=t.view,o=this.editor.model,n=i.document.selection,r=o.document.selection;let l;if(r.rangeCount>1){const a=r.isBackward?r.getFirstRange():r.getLastRange();l=t.mapper.toViewPosition(e=="forward"?a.end:a.start)}else l=e=="forward"?n.getFirstPosition():n.getLastPosition();const c=this._findNextFocusRange(l,e);return c?(o.change(a=>{a.setSelection(c)}),!0):!1}_findNextFocusRange(e,t){const i=this.editor.editing,o=i.view,n=this.editor.model,r=o.document.selection,l=r.editableElement,c=l.getPath();let a=r.getSelectedElement();a&&!f(a)&&(a=null);const h=t=="forward"?o.createRange(e,o.createPositionAt(e.root,"end")):o.createRange(o.createPositionAt(e.root,0),e);for(const{nextPosition:d}of h.getWalker({direction:t})){const u=d.parent;if(f(u)&&u!=a){const g=i.mapper.toModelElement(u);if(!n.schema.isBlock(g))continue;if(A(c,u.getPath())!="extension")return n.createRangeOn(g)}else if(u.is("editableElement")){if(u==l&&!a)continue;const g=i.mapper.toModelPosition(d),p=n.schema.getNearestSelectionRange(g,t);if(!p)continue;return u==l&&a?p:A(c,u.getPath())!="extension"?n.createRangeIn(n.schema.getLimitElement(p)):p}}return null}_selectAncestorWidget(){const e=this.editor,t=e.editing.mapper,o=e.editing.view.document.selection.getFirstPosition().parent,r=(o.is("$text")?o.parent:o).findAncestor(f);if(!r)return!1;const l=t.toModelElement(r);return l?(e.model.change(c=>{c.setSelection(l,"on")}),!0):!1}}function Ve(s,e){const t=s.getFirstPosition(),i=s.getLastPosition(),o=t.nodeAfter,n=i.nodeBefore;return!!o&&e.isObject(o)||!!n&&e.isObject(n)}function He(s,e){const t=s.document.selection,i=t.getSelectedElement(),o=w(t);return i&&o=="before"?s.createSelection(i,"before"):i&&o=="after"?s.createSelection(i,"after"):s.createSelection(t.getRanges(),{backward:i&&s.schema.isObject(i)?!e:t.isBackward})}function Ie(s){let e=s;for(;e;){if(e.is("editableElement")||f(e))return e;e=e.parent}return null}function De(s,e){const t=Q(e.domEvent);let i=null;if(t?i=s.domConverter.domRangeToView(t):i=s.createRange(s.createPositionAt(e.target,0)),!i)return null;const o=i.start;if(!o.parent)return null;let n=o.parent;return o.parent.is("editableElement")&&(o.isAtEnd&&o.nodeBefore?n=o.nodeBefore:o.isAtStart&&o.nodeAfter&&(n=o.nodeAfter)),n.is("$text")?n.parent:n}function Oe(s,e){return e?Array.from(s.getAncestors()).includes(e):!1}function Fe(s,e){for(const t of s.getAncestors({includeSelf:!0,parentFirst:!0})){if(e.checkChild(t,"$text"))return t;if(e.isLimit(t)&&!e.isObject(t))break}return null}function Ne(s,e){const t=new G({startPosition:s});for(const{item:i}of t){if(e.isLimit(i)||!i.is("element"))return null;if(e.checkChild(i,"$text"))return i}return null}class ct extends P{_toolbarDefinitions=new Map;_balloon;static get requires(){return[oe]}static get pluginName(){return"WidgetToolbarRepository"}static get isOfficialPlugin(){return!0}init(){const e=this.editor;if(e.plugins.has("BalloonToolbar")){const t=e.plugins.get("BalloonToolbar");this.listenTo(t,"show",i=>{Me(e.editing.view.document.selection)&&i.stop()},{priority:"high"})}this._balloon=this.editor.plugins.get("ContextualBalloon"),this.on("change:isEnabled",()=>{this._updateToolbarsVisibility()}),this.listenTo(e.ui,"update",()=>{this._updateToolbarsVisibility()}),this.listenTo(e.ui.focusTracker,"change:isFocused",()=>{this._updateToolbarsVisibility()},{priority:"low"})}destroy(){super.destroy();for(const e of this._toolbarDefinitions.values())e.view.destroy()}register(e,{ariaLabel:t,items:i,getRelatedElement:o,balloonClassName:n="ck-toolbar-container",positions:r}){if(!i.length){X("widget-toolbar-no-items",{toolbarId:e});return}const l=this.editor,c=l.t,a=new ne(l.locale);if(a.ariaLabel=t||c("Widget toolbar"),this._toolbarDefinitions.has(e))throw new M("widget-toolbar-duplicated",this,{toolbarId:e});const h={view:a,getRelatedElement:o,balloonClassName:n,itemsConfig:i,positions:r,initialized:!1};l.ui.addToolbar(a,{isContextual:!0,beforeFocus:()=>{const d=o(l.editing.view.document.selection);d&&this._showToolbar(h,d)},afterBlur:()=>{this._hideToolbar(h)}}),this._toolbarDefinitions.set(e,h)}_updateToolbarsVisibility(){let e=0,t=null,i=null;for(const o of this._toolbarDefinitions.values()){const n=o.getRelatedElement(this.editor.editing.view.document.selection);if(!this.isEnabled||!n)this._isToolbarInBalloon(o)&&this._hideToolbar(o);else if(!this.editor.ui.focusTracker.isFocused)this._isToolbarVisible(o)&&this._hideToolbar(o);else{const r=n.getAncestors().length;r>e&&(e=r,t=n,i=o)}}i&&this._showToolbar(i,t)}_hideToolbar(e){this._balloon.remove(e.view),this.stopListening(this._balloon,"change:visibleView")}_showToolbar(e,t){this._isToolbarVisible(e)?D(this.editor,t,e.positions):this._isToolbarInBalloon(e)||(e.initialized||(e.initialized=!0,e.view.fillFromConfig(e.itemsConfig,this.editor.ui.componentFactory)),this._balloon.add({view:e.view,position:$(this.editor,t,e.positions),balloonClassName:e.balloonClassName}),this.listenTo(this._balloon,"change:visibleView",()=>{for(const i of this._toolbarDefinitions.values())if(this._isToolbarVisible(i)){const o=i.getRelatedElement(this.editor.editing.view.document.selection);D(this.editor,o,e.positions)}}))}_isToolbarVisible(e){return this._balloon.visibleView===e.view}_isToolbarInBalloon(e){return this._balloon.hasView(e.view)}}function D(s,e,t){const i=s.plugins.get("ContextualBalloon"),o=$(s,e,t);i.updatePosition(o)}function $(s,e,t){const i=s.editing.view,o=se.defaultPositions;return{target:i.domConverter.mapViewToDom(e),positions:t||[o.northArrowSouth,o.northArrowSouthWest,o.northArrowSouthEast,o.southArrowNorth,o.southArrowNorthWest,o.southArrowNorthEast,o.viewportStickyNorth]}}function Me(s){const e=s.getSelectedElement();return!!(e&&f(e))}class Le extends B(){_referenceCoordinates;_options;_originalWidth;_originalHeight;_originalWidthPercents;_aspectRatio;constructor(e){super(),this.set("activeHandlePosition",null),this.set("proposedWidthPercents",null),this.set("proposedWidth",null),this.set("proposedHeight",null),this.set("proposedHandleHostWidth",null),this.set("proposedHandleHostHeight",null),this._options=e,this._referenceCoordinates=null}get originalWidth(){return this._originalWidth}get originalHeight(){return this._originalHeight}get originalWidthPercents(){return this._originalWidthPercents}get aspectRatio(){return this._aspectRatio}begin(e,t,i){const o=new b(t);this.activeHandlePosition=je(e),this._referenceCoordinates=Be(t,$e(this.activeHandlePosition)),this._originalWidth=o.width,this._originalHeight=o.height,this._aspectRatio=o.width/o.height;const n=i.style.width;n&&n.match(/^\d+(\.\d*)?%$/)?this._originalWidthPercents=parseFloat(n):this._originalWidthPercents=ye(i,o)}update(e){this.proposedWidth=e.width,this.proposedHeight=e.height,this.proposedWidthPercents=e.widthPercents,this.proposedHandleHostWidth=e.handleHostWidth,this.proposedHandleHostHeight=e.handleHostHeight}}function Be(s,e){const t=new b(s),i=e.split("-"),o={x:i[1]=="right"?t.right:t.left,y:i[0]=="bottom"?t.bottom:t.top};return o.x+=s.ownerDocument.defaultView.scrollX,o.y+=s.ownerDocument.defaultView.scrollY,o}function Ke(s){return`ck-widget__resizer__handle-${s}`}function je(s){const e=["top-left","top-right","bottom-right","bottom-left"];for(const t of e)if(s.classList.contains(Ke(t)))return t}function $e(s){const e=s.split("-"),t={top:"bottom",bottom:"top",left:"right",right:"left"};return`${t[e[0]]}-${t[e[1]]}`}class Ue extends le{constructor(){super();const e=this.bindTemplate;this.setTemplate({tag:"div",attributes:{class:["ck","ck-size-view",e.to("_viewPosition",t=>t?`ck-orientation-${t}`:"")],style:{display:e.if("_isVisible","none",t=>!t)}},children:[{text:e.to("_label")}]})}_bindToState(e,t){this.bind("_isVisible").to(t,"proposedWidth",t,"proposedHeight",(i,o)=>i!==null&&o!==null),this.bind("_label").to(t,"proposedHandleHostWidth",t,"proposedHandleHostHeight",t,"proposedWidthPercents",(i,o,n)=>e.unit==="px"?`${i}×${o}`:`${n}%`),this.bind("_viewPosition").to(t,"activeHandlePosition",t,"proposedHandleHostWidth",t,"proposedHandleHostHeight",(i,o,n)=>o<50||n<50?"above-center":i)}_dismiss(){this.unbind(),this._isVisible=!1}}class O extends B(){_state;_sizeView;_options;_viewResizerWrapper=null;_initialViewWidth;constructor(e){super(),this._options=e,this.set("isEnabled",!0),this.set("isSelected",!1),this.bind("isVisible").to(this,"isEnabled",this,"isSelected",(t,i)=>t&&i),this.decorate("begin"),this.decorate("cancel"),this.decorate("commit"),this.decorate("updateSize"),this.on("commit",t=>{!this.state.proposedWidth&&!this.state.proposedWidthPercents&&(this._cleanup(),t.stop())},{priority:"high"})}get state(){return this._state}show(){this._options.editor.editing.view.change(t=>{t.removeClass("ck-hidden",this._viewResizerWrapper)})}hide(){this._options.editor.editing.view.change(t=>{t.addClass("ck-hidden",this._viewResizerWrapper)})}attach(){const e=this,t=this._options.viewElement;this._options.editor.editing.view.change(o=>{const n=o.createUIElement("div",{class:"ck ck-reset_all ck-widget__resizer"},function(r){const l=this.toDomElement(r);return e._appendHandles(l),e._appendSizeUI(l),l});o.insert(o.createPositionAt(t,"end"),n),o.addClass("ck-widget_with-resizer",t),this._viewResizerWrapper=n,this.isVisible||this.hide()}),this.on("change:isVisible",()=>{this.isVisible?(this.show(),this.redraw()):this.hide()})}begin(e){this._state=new Le(this._options),this._sizeView._bindToState(this._options,this.state),this._initialViewWidth=this._options.viewElement.getStyle("width"),this.state.begin(e,this._getHandleHost(),this._getResizeHost())}updateSize(e){const t=this._proposeNewSize(e);this._options.editor.editing.view.change(a=>{const h=this._options.unit||"%",d=(h==="%"?t.widthPercents:t.width)+h;a.setStyle("width",d,this._options.viewElement)});const o=this._getHandleHost(),n=new b(o),r=Math.round(n.width),l=Math.round(n.height),c=new b(o);t.width=Math.round(c.width),t.height=Math.round(c.height),this.redraw(n),this.state.update({...t,handleHostWidth:r,handleHostHeight:l})}commit(){const e=this._options.unit||"%",t=(e==="%"?this.state.proposedWidthPercents:this.state.proposedWidth)+e;this._options.editor.editing.view.change(()=>{this._cleanup(),this._options.onCommit(t)})}cancel(){this._cleanup()}destroy(){this.cancel()}redraw(e){const t=this._domResizerWrapper;if(!Ye(t))return;const i=t.parentElement,o=this._getHandleHost(),n=this._viewResizerWrapper,r=[n.getStyle("width"),n.getStyle("height"),n.getStyle("left"),n.getStyle("top")];let l;if(i.isSameNode(o)){const c=e||new b(o);l=[c.width+"px",c.height+"px",void 0,void 0]}else l=[o.offsetWidth+"px",o.offsetHeight+"px",o.offsetLeft+"px",o.offsetTop+"px"];A(r,l)!=="same"&&this._options.editor.editing.view.change(c=>{c.setStyle({width:l[0],height:l[1],left:l[2],top:l[3]},n)})}containsHandle(e){return this._domResizerWrapper.contains(e)}static isResizeHandle(e){return e.classList.contains("ck-widget__resizer__handle")}_cleanup(){this._sizeView._dismiss(),this._options.editor.editing.view.change(t=>{t.setStyle("width",this._initialViewWidth,this._options.viewElement)})}_proposeNewSize(e){const t=this.state,i=Ge(e),o=this._options.isCentered?this._options.isCentered(this):!0,n={x:t._referenceCoordinates.x-(i.x+t.originalWidth),y:i.y-t.originalHeight-t._referenceCoordinates.y};o&&t.activeHandlePosition.endsWith("-right")&&(n.x=i.x-(t._referenceCoordinates.x+t.originalWidth)),o&&(n.x*=2);let r=Math.abs(t.originalWidth+n.x),l=Math.abs(t.originalHeight+n.y);return(r/t.aspectRatio>l?"width":"height")=="width"?l=r/t.aspectRatio:r=l*t.aspectRatio,{width:Math.round(r),height:Math.round(l),widthPercents:Math.min(Math.round(t.originalWidthPercents/t.originalWidth*r*100)/100,100)}}_getResizeHost(){const e=this._domResizerWrapper.parentElement;return this._options.getResizeHost(e)}_getHandleHost(){const e=this._domResizerWrapper.parentElement;return this._options.getHandleHost(e)}get _domResizerWrapper(){return this._options.editor.editing.view.domConverter.mapViewToDom(this._viewResizerWrapper)}_appendHandles(e){const t=["top-left","top-right","bottom-right","bottom-left"];for(const i of t)e.appendChild(new R({tag:"div",attributes:{class:`ck-widget__resizer__handle ${qe(i)}`}}).render())}_appendSizeUI(e){this._sizeView=new Ue,this._sizeView.render(),e.appendChild(this._sizeView.element)}}function qe(s){return`ck-widget__resizer__handle-${s}`}function Ge(s){return{x:s.pageX,y:s.pageY}}function Ye(s){return s&&s.ownerDocument&&s.ownerDocument.contains(s)}class at extends P{_resizers=new Map;_observer;_redrawSelectedResizerThrottled;static get pluginName(){return"WidgetResize"}static get isOfficialPlugin(){return!0}init(){const e=this.editor.editing,t=x.window.document;this.set("selectedResizer",null),this.set("_activeResizer",null),e.view.addObserver(F),this._observer=new(Z()),this.listenTo(e.view.document,"mousedown",this._mouseDownListener.bind(this),{priority:"high"}),this._observer.listenTo(t,"mousemove",this._mouseMoveListener.bind(this)),this._observer.listenTo(t,"mouseup",this._mouseUpListener.bind(this)),this._redrawSelectedResizerThrottled=ae(()=>this.redrawSelectedResizer(),200),this.editor.ui.on("update",this._redrawSelectedResizerThrottled),this.editor.model.document.on("change",()=>{for(const[o,n]of this._resizers)o.isAttached()||(this._resizers.delete(o),n.destroy())},{priority:"lowest"}),this._observer.listenTo(x.window,"resize",this._redrawSelectedResizerThrottled);const i=this.editor.editing.view.document.selection;i.on("change",()=>{const o=i.getSelectedElement(),n=this.getResizerByViewElement(o)||null;n?this.select(n):this.deselect()})}redrawSelectedResizer(){this.selectedResizer&&this.selectedResizer.isVisible&&this.selectedResizer.redraw()}destroy(){super.destroy(),this._observer.stopListening();for(const e of this._resizers.values())e.destroy();this._redrawSelectedResizerThrottled.cancel()}select(e){this.deselect(),this.selectedResizer=e,this.selectedResizer.isSelected=!0}deselect(){this.selectedResizer&&(this.selectedResizer.isSelected=!1),this.selectedResizer=null}attachTo(e){const t=new O(e),i=this.editor.plugins;if(t.attach(),i.has("WidgetToolbarRepository")){const r=i.get("WidgetToolbarRepository");t.on("begin",()=>{r.forceDisabled("resize")},{priority:"lowest"}),t.on("cancel",()=>{r.clearForceDisabled("resize")},{priority:"highest"}),t.on("commit",()=>{r.clearForceDisabled("resize")},{priority:"highest"})}this._resizers.set(e.viewElement,t);const n=this.editor.editing.view.document.selection.getSelectedElement();return this.getResizerByViewElement(n)==t&&this.select(t),t}getResizerByViewElement(e){return this._resizers.get(e)}_getResizerByHandle(e){for(const t of this._resizers.values())if(t.containsHandle(e))return t}_mouseDownListener(e,t){const i=t.domTarget;O.isResizeHandle(i)&&(this._activeResizer=this._getResizerByHandle(i)||null,this._activeResizer&&(this._activeResizer.begin(i),e.stop(),t.preventDefault()))}_mouseMoveListener(e,t){this._activeResizer&&this._activeResizer.updateSize(t)}_mouseUpListener(){this._activeResizer&&(this._activeResizer.commit(),this._activeResizer=null)}}export{ue as WIDGET_CLASS_NAME,z as WIDGET_SELECTED_CLASS_NAME,lt as Widget,de as WidgetHighlightStack,at as WidgetResize,Le as WidgetResizeState,O as WidgetResizer,ct as WidgetToolbarRepository,Te as WidgetTypeAround,m as _WIDGET_TYPE_AROUND_SELECTION_ATTRIBUTE,Ue as _WidgetSizeView,ve as _getClosestWidgetTypeAroundDomButton,Se as _getClosestWidgetViewElement,Ee as _getWidgetTypeAroundButtonPosition,w as _getWidgetTypeAroundFakeCaretPosition,be as calculateResizeHostAncestorWidth,ye as calculateResizeHostPercentageWidth,rt as findOptimalInsertionRange,me as getLabel,_ as isTypeAroundWidget,f as isWidget,K as setHighlightHandling,pe as setLabel,nt as toWidget,st as toWidgetEditable,We as verticalWidgetNavigationHandler};
|
package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/compat/object/pick.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{get as n}from"./get.js";import{has as a}from"./has.js";import{set as c}from"./set.js";import{isArrayLike as m}from"../predicate/isArrayLike.js";import{isNil as l}from"../predicate/isNil.js";function h(t,...f){if(l(t))return{};const i={};for(let o=0;o<f.length;o++){let e=f[o];switch(typeof e){case"object":{Array.isArray(e)||(m(e)?e=Array.from(e):e=[e]);break}case"string":case"symbol":case"number":{e=[e];break}}for(const r of e){const s=n(t,r);s===void 0&&!a(t,r)||(typeof r=="string"&&Object.hasOwn(t,r)?i[r]=s:c(i,r,s))}}return i}export{h as pick};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function i(n){return n==null}export{i as isNil};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const r='.gator-popover{position:relative;box-shadow:var(--shadow-popover);border-radius:var(--ngc-popover-border-radius, var(--border-radius-large));background-color:var(--ngc-popover-background-color, var(--color-surface-primary));pointer-events:auto}.gator-popover-small{width:240px}.gator-popover-medium{width:320px}.gator-popover-large{width:400px}.gator-popover-body{display:flex;flex-direction:column;padding:var(--ngc-popover-body-padding, .75rem 1.75rem .75rem .75rem)}.gator-popover-body-container{display:flex;margin-top:.75rem}.gator-popover-body-container ngc-icon{margin-right:.5rem}.gator-popover-body-content{display:flex;flex-direction:column;flex-grow:1}.gator-popover-body-title{font-family:var(--ngc-font-family-body, var(--font-family-body, "Open Sans")),sans-serif;font-size:var(--font-size-subtitle-1);font-weight:var(--font-weight-bold);line-height:var(--line-height-subtitle-1);margin-bottom:var(--spacing-5)}.gator-popover-divider{height:1px;background-color:var(--color-border-tertiary)}.gator-popover-footer{display:flex;justify-content:flex-end;align-items:center;padding:var(--ngc-popover-footer-padding, var(--spacing-5) var(--spacing-8))}.gator-popover-footer ngc-help-text{margin-right:auto}#gator-popover-close{position:absolute;top:.25rem;right:.25rem;--ngc-icon-button-hover-box-shadow: none}.gator-popover-nubbin_bottom-start:before{content:"";position:absolute;width:1rem;height:1rem;transform:rotate(45deg);background-color:inherit;left:1.75rem;bottom:-.5rem;margin-left:-.5rem;border-radius:100% 0 3px}.gator-popover-nubbin_bottom-center:before{content:"";position:absolute;width:1rem;height:1rem;transform:rotate(45deg);background-color:inherit;left:50%;bottom:-.5rem;margin-left:-.5rem;border-radius:100% 0 3px}.gator-popover-nubbin_bottom-end:before{content:"";position:absolute;width:1rem;height:1rem;transform:rotate(45deg);background-color:inherit;right:1.75rem;bottom:-.5rem;margin-left:-.5rem;border-radius:100% 0 3px}.gator-popover-nubbin_top-start:before{content:"";position:absolute;width:1rem;height:1rem;transform:rotate(45deg);background-color:inherit;left:1.75rem;top:-.5rem;margin-left:-.5rem;border-radius:3px 0 100%}.gator-popover-nubbin_top-center:before{content:"";position:absolute;width:1rem;height:1rem;transform:rotate(45deg);background-color:inherit;left:50%;top:-.5rem;margin-left:-.5rem;border-radius:3px 0 100%}.gator-popover-nubbin_top-end:before{content:"";position:absolute;width:1rem;height:1rem;transform:rotate(45deg);background-color:inherit;right:1.75rem;top:-.5rem;margin-left:-.5rem;border-radius:3px 0 100%}.gator-popover-nubbin_left-start:before{content:"";position:absolute;width:1rem;height:1rem;transform:rotate(45deg);background-color:inherit;left:-.5rem;top:1.4rem;margin-top:-.5rem;border-radius:0 100% 0 3px}.gator-popover-nubbin_left-center:before{content:"";position:absolute;width:1rem;height:1rem;transform:rotate(45deg);background-color:inherit;left:-.5rem;top:50%;margin-top:-.5rem;border-radius:0 100% 0 3px}.gator-popover-nubbin_left-end:before{content:"";position:absolute;width:1rem;height:1rem;transform:rotate(45deg);background-color:inherit;left:-.5rem;bottom:1rem;margin-top:-.5rem;border-radius:0 100% 0 3px}.gator-popover-nubbin_right-start:before{content:"";position:absolute;width:1rem;height:1rem;transform:rotate(45deg);background-color:inherit;right:-.5rem;top:1.4rem;margin-top:-.5rem;border-radius:0 3px 0 100%}.gator-popover-nubbin_right-center:before{content:"";position:absolute;width:1rem;height:1rem;transform:rotate(45deg);background-color:inherit;right:-.5rem;top:50%;margin-top:-.5rem;border-radius:0 3px 0 100%}.gator-popover-nubbin_right-end:before{content:"";position:absolute;width:1rem;height:1rem;transform:rotate(45deg);background-color:inherit;right:-.5rem;bottom:1rem;margin-top:-.5rem;border-radius:0 3px 0 100%}';export{r as default};
|
|
1
|
+
const r='.gator-popover{position:relative;box-shadow:var(--shadow-popover);border-radius:var(--ngc-popover-border-radius, var(--border-radius-large));background-color:var(--ngc-popover-background-color, var(--color-surface-primary));pointer-events:auto}.gator-popover-small{width:240px}.gator-popover-medium{width:320px}.gator-popover-large{width:400px}.gator-popover-body{display:flex;flex-direction:column;padding:var(--ngc-popover-body-padding, .75rem 1.75rem .75rem .75rem)}.gator-popover-body-container{display:flex;margin-top:.75rem}.gator-popover-body-container ngc-icon{margin-right:.5rem}.gator-popover-body-content{display:flex;flex-direction:column;flex-grow:1}.gator-popover-body-title{font-family:var(--ngc-font-family-body, var(--font-family-body, "Open Sans")),sans-serif;font-size:var(--font-size-subtitle-1);font-weight:var(--font-weight-bold);line-height:var(--line-height-subtitle-1);margin-bottom:var(--spacing-5)}.gator-popover-divider{height:1px;background-color:var(--color-border-tertiary)}.gator-popover-footer{display:flex;justify-content:flex-end;align-items:center;padding:var(--ngc-popover-footer-padding, var(--spacing-5) var(--spacing-8))}.gator-popover-footer ::slotted(*){width:100%}.gator-popover-footer ngc-help-text{margin-right:auto}#gator-popover-close{position:absolute;top:.25rem;right:.25rem;--ngc-icon-button-hover-box-shadow: none}.gator-popover-nubbin_bottom-start:before{content:"";position:absolute;width:1rem;height:1rem;transform:rotate(45deg);background-color:inherit;left:1.75rem;bottom:-.5rem;margin-left:-.5rem;border-radius:100% 0 3px}.gator-popover-nubbin_bottom-center:before{content:"";position:absolute;width:1rem;height:1rem;transform:rotate(45deg);background-color:inherit;left:50%;bottom:-.5rem;margin-left:-.5rem;border-radius:100% 0 3px}.gator-popover-nubbin_bottom-end:before{content:"";position:absolute;width:1rem;height:1rem;transform:rotate(45deg);background-color:inherit;right:1.75rem;bottom:-.5rem;margin-left:-.5rem;border-radius:100% 0 3px}.gator-popover-nubbin_top-start:before{content:"";position:absolute;width:1rem;height:1rem;transform:rotate(45deg);background-color:inherit;left:1.75rem;top:-.5rem;margin-left:-.5rem;border-radius:3px 0 100%}.gator-popover-nubbin_top-center:before{content:"";position:absolute;width:1rem;height:1rem;transform:rotate(45deg);background-color:inherit;left:50%;top:-.5rem;margin-left:-.5rem;border-radius:3px 0 100%}.gator-popover-nubbin_top-end:before{content:"";position:absolute;width:1rem;height:1rem;transform:rotate(45deg);background-color:inherit;right:1.75rem;top:-.5rem;margin-left:-.5rem;border-radius:3px 0 100%}.gator-popover-nubbin_left-start:before{content:"";position:absolute;width:1rem;height:1rem;transform:rotate(45deg);background-color:inherit;left:-.5rem;top:1.4rem;margin-top:-.5rem;border-radius:0 100% 0 3px}.gator-popover-nubbin_left-center:before{content:"";position:absolute;width:1rem;height:1rem;transform:rotate(45deg);background-color:inherit;left:-.5rem;top:50%;margin-top:-.5rem;border-radius:0 100% 0 3px}.gator-popover-nubbin_left-end:before{content:"";position:absolute;width:1rem;height:1rem;transform:rotate(45deg);background-color:inherit;left:-.5rem;bottom:1rem;margin-top:-.5rem;border-radius:0 100% 0 3px}.gator-popover-nubbin_right-start:before{content:"";position:absolute;width:1rem;height:1rem;transform:rotate(45deg);background-color:inherit;right:-.5rem;top:1.4rem;margin-top:-.5rem;border-radius:0 3px 0 100%}.gator-popover-nubbin_right-center:before{content:"";position:absolute;width:1rem;height:1rem;transform:rotate(45deg);background-color:inherit;right:-.5rem;top:50%;margin-top:-.5rem;border-radius:0 3px 0 100%}.gator-popover-nubbin_right-end:before{content:"";position:absolute;width:1rem;height:1rem;transform:rotate(45deg);background-color:inherit;right:-.5rem;bottom:1rem;margin-top:-.5rem;border-radius:0 3px 0 100%}';export{r as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const r='.gator-table{font-family:var(--font-family-body, "Open Sans"),sans-serif;border-spacing:0;width:100%;overflow:auto;border-radius:var(--ngc-table-border-radius, var(--border-radius-medium));background-color:var(--ngc-table-row-background-color, var(--color-surface-primary))}.gator-table thead>th,.gator-table thead>tr{height:3rem;min-height:3rem}.gator-table thead>th :first-child,.gator-table thead>tr :first-child{border-top-left-radius:var(--ngc-table-border-radius, var(--border-radius-medium))}.gator-table thead>th :last-child,.gator-table thead>tr :last-child{border-top-right-radius:var(--ngc-table-border-radius, var(--border-radius-medium))}.gator-table tbody>tr,.gator-table tfoot>tr{min-height:3rem;height:3rem}.gator-table th{background:var(--ngc-table-header-background-color, var(--color-surface-brand));text-align:left;padding:var(--spacing-5) var(--spacing-8);border-bottom:1px solid var(--ngc-table-header-border-bottom-color, var(--color-border-tertiary))}.gator-table th:hover{background:var(--ngc-table-header-background-color-hover, var(--color-surface-brand-secondary))}.gator-table [dir=rtl] th.mat-header-cell{text-align:right}.gator-table td{padding:var(--spacing-5) var(--spacing-8);border-bottom:1px solid var(--ngc-table-row-border-bottom-color, var(--color-border-tertiary))}.gator-table tr:has(td:hover){background:var(--ngc-table-row-background-color-hover, var(--color-surface-secondary))}.gator-table tbody:last-child>tr:last-child th:first-child,.gator-table tbody:last-child>tr:last-child td:first-child{border-bottom-left-radius:var(--ngc-table-border-radius, var(--border-radius-medium))}.gator-table tbody:last-child>tr:last-child td:last-child{border-bottom-right-radius:var(--ngc-table-border-radius, var(--border-radius-medium))}.gator-table th:first-of-type,.gator-table td:first-of-type{padding-left:24px}.gator-table [dir=rtl] th:first-of-type,.gator-table [dir=rtl] td:first-of-type{padding-left:0;padding-right:24px}.gator-table th:last-of-type,.gator-table td:last-of-type{padding-right:24px}.gator-table [dir=rtl] th:last-of-type,.gator-table [dir=rtl] td:last-of-type{padding-right:0;padding-left:24px}.gator-table ngc-checkbox{--ngc-input-margin-bottom: 0}.gator-table ngc-input-dropdown,.gator-table ngc-input-text{--ngc-input-margin-bottom: 0}.gator-table .gator-table-cell-left{text-align:left}.gator-table .gator-table-cell-center{text-align:center}.gator-table .gator-table-cell-right{text-align:right}.gator-table .gator-table-cell-avatar{display:flex;align-items:center;gap:var(--spacing-4, 8px)}.gator-table .gator-table-cell-avatar .gator-table-cell-avatar-label{flex:1}.gator-table-checkbox-column{width:1%}.gator-table-row-selected{background-color:var(--ngc-table-row-background-color-selected, var(--color-surface-brand))}.gator-table-elevated{box-shadow:var(--shadow-1-card)}.gator-table-category-header{background-color:var(--ngc-table-header-background-color, var(--color-surface-brand))}.gator-table-category-header:hover{background-color:var(--ngc-table-header-hover-background-color, var(--color-surface-brand-secondary))!important}.gator-table-category-header th{border-bottom:none!important;font-weight:var(--font-weight-bold);background-color:var(--ngc-table-header-background-color, var(--color-surface-brand));color:var(--color-text-primary);line-height:var(--line-height-subtitle-2);letter-spacing:var(--letter-spacing-default)}.gator-table-total-row{background-color:var(--ngc-table-total-row-background-color, var(--color-surface-secondary))!important;font-weight:var(--font-weight-bold)}.gator-table-total-row:hover{background-color:var(--ngc-table-total-row-hover-background-color, var(--color-surface-tertiary))!important}.gator-table-total-row td,.gator-table-total-row th{background-color:var(--ngc-table-total-row-background-color, var(--color-surface-secondary))!important;border-top:1px solid var(--ngc-table-total-row-border-bottom-color, var(--color-border-tertiary));border-bottom:none!important}.gator-table-total-row th:hover{background-color:var(--ngc-table-total-row-background-color, var(--color-surface-tertiary))!important}.gator-table-total-label{font-weight:var(--font-weight-bold);color:var(--color-text-primary)}';export{r as default};
|
|
1
|
+
const r='.gator-table-filter-chips{display:flex;flex-wrap:wrap;gap:var(--spacing-8);padding:var(--spacing-8) 0;align-items:center}.gator-table-filter-chips-clear-all{font-family:var(--font-family-body, "Open Sans"),sans-serif;font-size:var(--font-size-body-2);font-weight:var(--font-weight-regular, 400);line-height:var(--line-height-body-2);letter-spacing:var(--letter-spacing-default, 0);color:var(--color-text-brand, var(--color-text-primary));background:none;border:none;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.gator-table-filter-chips-clear-all:hover{color:var(--color-feedback-brand-secondary)}.gator-table-filter-chips-clear-all:focus{outline:none}.gator-table-filter-chips-clear-all:focus-visible{outline:2px solid var(--color-border-focus, currentColor);outline-offset:2px}.gator-table{font-family:var(--font-family-body, "Open Sans"),sans-serif;border-spacing:0;width:100%;overflow:auto;border-radius:var(--ngc-table-border-radius, var(--border-radius-medium));background-color:var(--ngc-table-row-background-color, var(--color-surface-primary))}.gator-table thead>th,.gator-table thead>tr{height:3rem;min-height:3rem}.gator-table thead>th :first-child,.gator-table thead>tr :first-child{border-top-left-radius:var(--ngc-table-border-radius, var(--border-radius-medium))}.gator-table thead>th :last-child,.gator-table thead>tr :last-child{border-top-right-radius:var(--ngc-table-border-radius, var(--border-radius-medium))}.gator-table tbody>tr,.gator-table tfoot>tr{min-height:3rem;height:3rem}.gator-table th{background:var(--ngc-table-header-background-color, var(--color-surface-brand));text-align:left;padding:var(--spacing-5) var(--spacing-8);border-bottom:1px solid var(--ngc-table-header-border-bottom-color, var(--color-border-tertiary))}.gator-table th:hover{background:var(--ngc-table-header-background-color-hover, var(--color-surface-brand-secondary))}.gator-table .gator-table-header-cell-interactive{cursor:default}.gator-table .gator-table-header-cell-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-5);width:100%;min-width:0}.gator-table .gator-table-header-sort-trigger{display:inline-flex;align-items:center;gap:8px;min-width:0;cursor:pointer;flex:1}.gator-table .gator-table-header-sort-trigger:focus{outline:none}.gator-table .gator-table-header-sort-trigger:focus-visible{outline:2px solid var(--color-border-focus, currentColor);outline-offset:2px;border-radius:0}.gator-table .gator-table-header-label{min-width:0}.gator-table .gator-table-sort-icon-wrap{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;pointer-events:none}.gator-table .gator-table-sort-icon{flex-shrink:0}.gator-table th:not(.gator-table-header-cell-sort-active) .gator-table-header-sort-trigger .gator-table-sort-icon-wrap .gator-table-sort-icon{opacity:0}.gator-table th:hover .gator-table-header-sort-trigger .gator-table-sort-icon-wrap .gator-table-sort-icon,.gator-table th.gator-table-header-cell-sort-active .gator-table-header-sort-trigger .gator-table-sort-icon-wrap .gator-table-sort-icon{opacity:1}.gator-table .gator-table-header-filter-trigger-wrap{flex-shrink:0;display:inline-flex;align-items:center;width:2rem;margin-left:var(--spacing-5);opacity:0;pointer-events:none;transition:opacity .15s ease}.gator-table .gator-table-header-filter-trigger-wrap.gator-table-header-filter-trigger-visible{opacity:1;pointer-events:auto}.gator-table .gator-table-header-filter-icon-active{color:var(--color-text-brand, currentColor)}.gator-table .gator-table-header-filter-trigger-wrap,.gator-table .gator-table-header-filter-trigger-wrap ngc-popover{font-weight:var(--font-weight-regular)}.gator-table .gator-table-filter-popover-content{min-width:0;display:flex;flex-direction:column;gap:var(--spacing-5)}.gator-table .gator-table-filter-popover-search{--ngc-input-search-margin-bottom: 0}.gator-table .gator-table-filter-popover-footer{display:flex;gap:var(--spacing-5);justify-content:flex-start;width:100%}.gator-table [dir=rtl] th.mat-header-cell{text-align:right}.gator-table td{padding:var(--spacing-5) var(--spacing-8);border-bottom:1px solid var(--ngc-table-row-border-bottom-color, var(--color-border-tertiary))}.gator-table tr:has(td:hover){background:var(--ngc-table-row-background-color-hover, var(--color-surface-secondary))}.gator-table tbody:last-child>tr:last-child th:first-child,.gator-table tbody:last-child>tr:last-child td:first-child{border-bottom-left-radius:var(--ngc-table-border-radius, var(--border-radius-medium))}.gator-table tbody:last-child>tr:last-child td:last-child{border-bottom-right-radius:var(--ngc-table-border-radius, var(--border-radius-medium))}.gator-table th:first-of-type,.gator-table td:first-of-type{padding-left:24px}.gator-table [dir=rtl] th:first-of-type,.gator-table [dir=rtl] td:first-of-type{padding-left:0;padding-right:24px}.gator-table th:last-of-type,.gator-table td:last-of-type{padding-right:24px}.gator-table [dir=rtl] th:last-of-type,.gator-table [dir=rtl] td:last-of-type{padding-right:0;padding-left:24px}.gator-table ngc-checkbox{--ngc-input-margin-bottom: 0}.gator-table ngc-input-dropdown,.gator-table ngc-input-text{--ngc-input-margin-bottom: 0}.gator-table .gator-table-cell-left{text-align:left}.gator-table .gator-table-cell-center{text-align:center}.gator-table .gator-table-cell-right{text-align:right}.gator-table .gator-table-cell-avatar{display:flex;align-items:center;gap:var(--spacing-4, 8px)}.gator-table .gator-table-cell-avatar .gator-table-cell-avatar-label{flex:1}.gator-table-checkbox-column{width:1%}.gator-table-row-selected{background-color:var(--ngc-table-row-background-color-selected, var(--color-surface-brand))}.gator-table-elevated{box-shadow:var(--shadow-1-card)}.gator-table-category-header{background-color:var(--ngc-table-header-background-color, var(--color-surface-brand))}.gator-table-category-header:hover{background-color:var(--ngc-table-header-hover-background-color, var(--color-surface-brand-secondary))!important}.gator-table-category-header th{border-bottom:none!important;font-weight:var(--font-weight-bold);background-color:var(--ngc-table-header-background-color, var(--color-surface-brand));color:var(--color-text-primary);line-height:var(--line-height-subtitle-2);letter-spacing:var(--letter-spacing-default)}.gator-table-total-row{background-color:var(--ngc-table-total-row-background-color, var(--color-surface-secondary))!important;font-weight:var(--font-weight-bold)}.gator-table-total-row:hover{background-color:var(--ngc-table-total-row-hover-background-color, var(--color-surface-tertiary))!important}.gator-table-total-row td,.gator-table-total-row th{background-color:var(--ngc-table-total-row-background-color, var(--color-surface-secondary))!important;border-top:1px solid var(--ngc-table-total-row-border-bottom-color, var(--color-border-tertiary));border-bottom:none!important}.gator-table-total-row th:hover{background-color:var(--ngc-table-total-row-background-color, var(--color-surface-tertiary))!important}.gator-table-total-label{font-weight:var(--font-weight-bold);color:var(--color-text-primary)}';export{r as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const ArrowsDownUp: import('lit').TemplateResult;
|
|
@@ -53,9 +53,11 @@ export declare class NjcPopover extends TestableLitElement {
|
|
|
53
53
|
_popoverRef: Ref<HTMLElement>;
|
|
54
54
|
_cleanup: (() => void) | undefined;
|
|
55
55
|
private _forceOpen;
|
|
56
|
+
private _open;
|
|
56
57
|
private _mousedInsidePopover;
|
|
57
58
|
protected _placement: Placement;
|
|
58
59
|
popoverId: string;
|
|
60
|
+
get isOpen(): boolean;
|
|
59
61
|
firstUpdated(): void;
|
|
60
62
|
protected updated(_changedProperties: PropertyValues): void;
|
|
61
63
|
get referenceElement(): HTMLElement;
|
|
@@ -6,8 +6,16 @@ export declare class NgcTable extends NjcTable {
|
|
|
6
6
|
elevated: boolean;
|
|
7
7
|
includePagination: boolean;
|
|
8
8
|
skeleton: boolean;
|
|
9
|
+
sortField: string | null;
|
|
10
|
+
sortDirection: 'asc' | 'desc' | null;
|
|
11
|
+
filterValues: Record<string, string | string[]>;
|
|
9
12
|
selectedRows: RowData[];
|
|
10
13
|
_currentPage: number;
|
|
14
|
+
_sortField: string | null;
|
|
15
|
+
_sortDirection: 'asc' | 'desc' | null;
|
|
16
|
+
_hoveredHeaderColumnField: string | null;
|
|
17
|
+
_pendingFilterValues: Record<string, string | string[]>;
|
|
18
|
+
_filterSearchQuery: Record<string, string>;
|
|
11
19
|
protected updated(_changedProperties: PropertyValues): void;
|
|
12
20
|
render(): TemplateResult<1> | null;
|
|
13
21
|
private get _skeletonLoaderColumns();
|
|
@@ -18,7 +26,26 @@ export declare class NgcTable extends NjcTable {
|
|
|
18
26
|
handleItemsPerPageChanged(event: CustomEvent): void;
|
|
19
27
|
private getTableHeader;
|
|
20
28
|
handleSelectAll(event: CustomEvent): void;
|
|
29
|
+
private get effectiveSortField();
|
|
30
|
+
private get effectiveSortDirection();
|
|
31
|
+
private getSortIcon;
|
|
32
|
+
private getSortAriaSort;
|
|
33
|
+
private handleSortColumn;
|
|
21
34
|
private getTableHeaderColumn;
|
|
35
|
+
private getEffectivePending;
|
|
36
|
+
private getFilterPopoverForColumn;
|
|
37
|
+
private isFilterPopoverOpen;
|
|
38
|
+
private renderHeaderFilterPopover;
|
|
39
|
+
private handleFilterPopoverClosed;
|
|
40
|
+
private handleFilterSearchInput;
|
|
41
|
+
private handleFilterCheckboxGroupChange;
|
|
42
|
+
private handleFilterRadioGroupChange;
|
|
43
|
+
private handleFilterPopoverApply;
|
|
44
|
+
private handleFilterPopoverClear;
|
|
45
|
+
private hasActiveFilter;
|
|
46
|
+
private getActiveFilterChips;
|
|
47
|
+
private handleFilterChipDismiss;
|
|
48
|
+
private handleClearAllFilters;
|
|
22
49
|
private getTableBody;
|
|
23
50
|
private getCategoryBody;
|
|
24
51
|
private getTotalRow;
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
import { RowData, TableAvatarCellConfig, TableButtonCellConfig, TableCheckboxCellConfig, TableChipCellConfig, TableInputDropdownCellConfig, TableInputTextCellConfig, TableIconButtonCellConfig, TableTextCellConfig, TableTextLinkCellConfig } from './table-cell-config.ts';
|
|
2
|
+
export type TableColumnFilterOption = {
|
|
3
|
+
label: string;
|
|
4
|
+
value: string | number;
|
|
5
|
+
};
|
|
2
6
|
interface BaseColumnDefinition {
|
|
3
7
|
id?: string;
|
|
4
8
|
field: string;
|
|
@@ -6,6 +10,10 @@ interface BaseColumnDefinition {
|
|
|
6
10
|
cellRenderer?: (rowData: RowData) => string;
|
|
7
11
|
includedInTotals?: boolean;
|
|
8
12
|
decimalPlaces?: number;
|
|
13
|
+
sortable?: boolean;
|
|
14
|
+
filterable?: boolean;
|
|
15
|
+
filterOptions?: TableColumnFilterOption[];
|
|
16
|
+
filterMultiselect?: boolean;
|
|
9
17
|
}
|
|
10
18
|
export interface TextColumnDefinition extends BaseColumnDefinition {
|
|
11
19
|
cellType?: 'text';
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ncino/web-components",
|
|
3
3
|
"author": "nCino",
|
|
4
|
-
"version": "9.2.
|
|
4
|
+
"version": "9.2.1",
|
|
5
5
|
"license": "(c) Copyright 2023 nCino, Inc., all rights reserved",
|
|
6
6
|
"publishConfig": {
|
|
7
7
|
"registry": "https://registry.npmjs.org/"
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
"@deltablot/dropzone": "^7.4.3",
|
|
57
57
|
"@floating-ui/dom": "^1.7.5",
|
|
58
58
|
"@lit/localize": "^0.12.2",
|
|
59
|
-
"ckeditor5": "^47.
|
|
59
|
+
"ckeditor5": "^47.6.0",
|
|
60
60
|
"color": "5.0.3",
|
|
61
61
|
"libphonenumber-js": "^1.12.37",
|
|
62
62
|
"lit": "^3.3.2"
|
|
@@ -79,8 +79,8 @@
|
|
|
79
79
|
"@vitest/ui": "4.0.18",
|
|
80
80
|
"axe-core": "^4.11.1",
|
|
81
81
|
"cem-plugin-expanded-types": "^1.4.0",
|
|
82
|
-
"chromatic": "^15.
|
|
83
|
-
"conventional-changelog-conventionalcommits": "^9.
|
|
82
|
+
"chromatic": "^15.2.0",
|
|
83
|
+
"conventional-changelog-conventionalcommits": "^9.3.0",
|
|
84
84
|
"custom-element-jet-brains-integration": "^1.7.0",
|
|
85
85
|
"custom-elements-manifest": "^2.1.0",
|
|
86
86
|
"eslint": "^10.0.1",
|
|
@@ -100,7 +100,7 @@
|
|
|
100
100
|
"vite-plugin-static-copy": "^3.2.0",
|
|
101
101
|
"vitest": "^4.0.18",
|
|
102
102
|
"yaml-eslint-parser": "^2.0.0",
|
|
103
|
-
"@ncino/styles": "9.2.
|
|
103
|
+
"@ncino/styles": "9.2.1"
|
|
104
104
|
},
|
|
105
105
|
"peerDependencies": {
|
|
106
106
|
"@ncino/styles": ">=8.0.0-preview.0"
|