1import{Accessibility as ce,Command as f,CommandCollection as de,Context as me,ContextPlugin as ue,EditingKeystrokeHandler as ke,Editor as he,ElementApiMixin as ge,MultiCommand as we,PendingActions as Ie,Plugin as h,_DEFAULT_ACCESSIBILITY_GROUP_ID as be,_getEditorUsageData as fe,attachToForm as pe,secureSourceElement as Ve}from"../../../frontend-editor-ckeditor-web/__liferay__/exports/@ckeditor$ckeditor5-core$dist$index.js.js";import{WIDGET_CLASS_NAME as Ce,WIDGET_SELECTED_CLASS_NAME as Ee,Widget as S,WidgetHighlightStack as Te,WidgetResize as ve,WidgetResizeState as Se,WidgetResizer as Ae,WidgetToolbarRepository as p,WidgetTypeAround as ye,_WIDGET_TYPE_AROUND_SELECTION_ATTRIBUTE as Le,_WidgetSizeView as Me,_getClosestWidgetTypeAroundDomButton as Pe,_getClosestWidgetViewElement as Fe,_getWidgetTypeAroundButtonPosition as De,_getWidgetTypeAroundFakeCaretPosition as xe,calculateResizeHostAncestorWidth as Re,calculateResizeHostPercentageWidth as Oe,findOptimalInsertionRange as Ne,getLabel as Ue,isTypeAroundWidget as He,isWidget as A,setHighlightHandling as We,setLabel as je,toWidget as y,toWidgetEditable as ze,verticalWidgetNavigationHandler as Ge,viewToModelPositionOutsideModelElement as Ke}from"../../../frontend-editor-ckeditor-web/__liferay__/exports/@ckeditor$ckeditor5-widget$dist$index.js.js";import{AccessibilityHelp as Qe,AccessibilityHelpContentView as Ye,AriaLiveAnnouncer as Je,AriaLiveAnnouncerPoliteness as Ze,AriaLiveAnnouncerRegionView as Xe,AriaLiveAnnouncerView as et,AutocompleteView as tt,Badge as ot,BalloonPanelView as L,BalloonToolbar as it,BlockButtonView as nt,BlockToolbar as rt,BodyCollection as st,BoxedEditorUIView as at,ButtonLabelView as lt,ButtonLabelWithHighlightView as ct,ButtonView as u,CollapsibleView as dt,ColorGridView as mt,ColorGridsFragmentView as ut,ColorPickerFragmentView as kt,ColorPickerInputRowView as ht,ColorPickerView as gt,ColorSelectorView as wt,ColorTileView as It,ComponentFactory as bt,ContextualBalloon as V,CssTransitionDisablerMixin as M,DefaultMenuBarItems as ft,Dialog as pt,DialogActionsView as Vt,DialogContentView as Bt,DialogView as _t,DialogViewPosition as Ct,DocumentColorCollection as Et,DraggableViewMixin as Tt,DropdownButtonView as vt,DropdownMenuButtonView as St,DropdownMenuListItemButtonView as At,DropdownMenuListItemView as yt,DropdownMenuListView as Lt,DropdownMenuNestedMenuPanelView as Mt,DropdownMenuNestedMenuView as Pt,DropdownMenuPanelPositioningFunctions as Ft,DropdownMenuRootListView as Dt,DropdownPanelView as xt,DropdownView as Rt,EditableUIView as Ot,EditorUI as Nt,EditorUIView as Ut,EvaluationBadge as Ht,FileDialogButtonView as Wt,FileDialogListItemButtonView as jt,FileDialogViewMixin as zt,FocusCycler as P,FormHeaderView as F,FormRowView as D,HighlightedTextView as Gt,IconView as x,IframeView as Kt,InlineEditableUIView as $t,InputBase as qt,InputNumberView as Qt,InputTextView as Yt,InputView as Jt,ItemsView as Zt,LabelView as R,LabelWithHighlightView as Xt,LabeledFieldView as O,LabeledInputView as eo,ListItemButtonView as to,ListItemGroupView as oo,ListItemView as io,ListSeparatorView as no,ListView as ro,MenuBarMenuButtonView as so,MenuBarMenuListItemButtonView as N,MenuBarMenuListItemFileDialogButtonView as ao,MenuBarMenuListItemView as lo,MenuBarMenuListView as co,MenuBarMenuPanelView as mo,MenuBarMenuView as uo,MenuBarView as ko,NESTED_TOOLBAR_ICONS as ho,Notification as go,PoweredBy as wo,SearchInfoView as Io,SearchResultsView as bo,SearchTextView as fo,SliderView as po,SpinnerView as Vo,SplitButtonView as Bo,StickyPanelView as _o,SwitchButtonView as Co,Template as Eo,TextareaView as To,ToolbarLineBreakView as vo,ToolbarSeparatorView as So,ToolbarView as Ao,TooltipManager as yo,UIModel as Lo,View as U,ViewCollection as H,ViewModel as Mo,_CheckIconHolderView as Po,_CollapsibleView as Fo,_ContextualBalloonRotatorView as Do,_DropdownMenuBehaviors as xo,_DropdownRootMenuBehaviors as Ro,_MenuBarBehaviors as Oo,_MenuBarMenuBehaviors as No,_MenuBarMenuViewPanelPositioningFunctions as Uo,_SearchInfoView as Ho,_SearchTextQueryView as Wo,_TemplateBinding as jo,_TemplateIfBinding as zo,_TemplateToBinding as Go,_convertColor as K
1o,_convertColorToHex as $o,_preventUiViewDefault as qo,_processMenuBarConfig as Qo,_registerCustomElement as Yo,_tryNormalizeHexColor as Jo,addKeyboardHandlingForGrid as Zo,addListToDropdown as Xo,addMenuToDropdown as ei,addToolbarToDropdown as ti,clickOutsideHandler as W,createDropdown as oi,createLabeledDropdown as ii,createLabeledInputNumber as ni,createLabeledInputText as j,createLabeledTextarea as ri,filterGroupAndItemNames as si,focusChildOnDropdownOpen as ai,getLocalizedColorOptions as li,isFocusable as ci,isViewWithFocusCycler as di,normalizeColorOptions as mi,normalizeMenuBarConfig as ui,normalizeSingleColorDefinition as ki,normalizeToolbarConfig as hi,submitHandler as z}from"../../../frontend-editor-ckeditor-web/__liferay__/exports/@ckeditor$ckeditor5-ui$dist$index.js.js";import{IconAccessibility as Ii,IconAddComment as bi,IconAlignBottom as fi,IconAlignCenter as pi,IconAlignJustify as Vi,IconAlignLeft as Bi,IconAlignMiddle as _i,IconAlignRight as Ci,IconAlignTop as Ei,IconArrowDown as Ti,IconArrowUp as vi,IconBold as Si,IconBookmark as G,IconBookmarkInline as K,IconBookmarkMedium as $,IconBookmarkSmall as q,IconBrowseFiles as Ai,IconBulletedList as yi,IconCancel as Li,IconCaption as Mi,IconCaseChange as Pi,IconCheck as Fi,IconChevronDown as Di,IconChevronUp as xi,IconCkboxImageEdit as Ri,IconCode as Oi,IconCodeBlock as Ni,IconCog as Ui,IconColorPalette as Hi,IconColorTileCheck as Wi,IconCommentsArchive as ji,IconContentLock as zi,IconContentUnlock as Gi,IconCopy as Ki,IconDragHandle as $i,IconDragIndicator as qi,IconDropbox as Qi,IconDropdownArrow as Yi,IconEditComment as Ji,IconEmoji as Zi,IconEraser as Xi,IconError as en,IconExportPdf as tn,IconExportWord as on,IconFacebook as nn,IconFindReplace as rn,IconFontBackground as sn,IconFontColor as an,IconFontFamily as ln,IconFontSize as cn,IconFullscreenEnter as dn,IconFullscreenLeave as mn,IconGoogleDrive as un,IconGooglePhotos as kn,IconHeading1 as hn,IconHeading2 as gn,IconHeading3 as wn,IconHeading4 as In,IconHeading5 as bn,IconHeading6 as fn,IconHistory as pn,IconHorizontalLine as Vn,IconHtml as Bn,IconImage as _n,IconImageAssetManager as Cn,IconImageUpload as En,IconImageUrl as Tn,IconImportExport as vn,IconImportWord as Sn,IconIndent as An,IconInsertMergeField as yn,IconItalic as Ln,IconLegalStyleList as Mn,IconLineHeight as Pn,IconLink as Fn,IconListStyleCircle as Dn,IconListStyleDecimal as xn,IconListStyleDecimalLeadingZero as Rn,IconListStyleDisc as On,IconListStyleLowerLatin as Nn,IconListStyleLowerRoman as Un,IconListStyleSquare as Hn,IconListStyleUpperLatin as Wn,IconListStyleUpperRoman as jn,IconLocal as zn,IconLoupe as Gn,IconLowVision as Kn,IconMagicWand as $n,IconMarker as qn,IconMedia as Qn,IconMediaPlaceholder as Yn,IconMultiLevelList as Jn,IconNextArrow as Zn,IconNotification as Xn,IconNumberedList as er,IconObjectCenter as tr,IconObjectFullWidth as or,IconObjectInline as ir,IconObjectInlineLeft as nr,IconObjectInlineRight as rr,IconObjectLeft as sr,IconObjectRight as ar,IconObjectSizeCustom as lr,IconObjectSizeFull as cr,IconObjectSizeLarge as dr,IconObjectSizeMedium as mr,IconObjectSizeSmall as ur,IconOneDrive as kr,IconOutdent as hr,IconPageBreak as gr,IconPaginationExample as wr,IconPaintRoller as Ir,IconPaintRollerCursorDefault as br,IconPaintRollerCursorText as fr,IconParagraph as pr,IconPen as Vr,IconPencil as Q,IconPilcrow as Br,IconPlay as _r,IconPlus as Cr,IconPreviewMergeFields as Er,IconPreviousArrow as Y,IconPrint as Tr,IconProjectLogo as vr,IconQuote as Sr,IconRedo as Ar,IconRemove as J,IconRemoveComment as yr,IconRemoveFormat as Lr,IconReturnArrow as Mr,IconRevisionHistory as Pr,IconRobotPencil as Fr,IconSelectAll as Dr,IconSettings as xr,IconShowBlocks as Rr,IconSource as Or,IconSpecialCharacters as Nr,IconStrikethrough as Ur,IconSubmit as Hr,IconSubscript as Wr,IconSuperscript as jr,IconTable as zr,IconTableCellProperties as Gr,IconTableColumn as Kr,IconTableLayout as $r,IconTableMergeCell as qr,IconTableOfContents as Qr,IconTableProperties as Yr,IconTableRow as Jr,IconTemplate as Zr,IconTemplateGeneric as Xr,IconText as es,IconTextAlternative as ts,IconThreeVerticalDots as os,IconTodoList as is,IconTrackChanges as ns,IconTrackChangesAccept as rs,IconTrackChangesDiscard as ss,IconUnderline as as,IconUndo as ls,IconUnlink as cs,IconUploadcareImageEdit as ds,IconUploadcareImageUpload as ms,IconUploadcareLink as us,IconUser as ks,IconWarning as hs}from"../../../frontend-editor-ckeditor-web/__liferay__/exports/@ckeditor$ckeditor5-icons$dist$index.js.js";
vendor: 17,169 bytes, lines 1-10
1import{CKEditorError as Is,Collection as bs,Config as fs,DOCUMENTATION_URL as ps,DomEmitterMixin as Vs,ElementReplacer as Bs,EmitterMixin as _s,EventInfo as Cs,FocusTracker as Z,KeystrokeHandler as X,Locale as Es,ObservableMixin as Ts,Rect as vs,ResizeObserver as Ss,_clearTranslations as As,_getEmitterId as ys,_getEmitterListenedTo as Ls,_getUserAgent as Ms,_isAndroid as Ps,_isBlink as Fs,_isGecko as Ds,_isMac as xs,_isMediaForcedColors as Rs,_isMotionReduced as Os,_isRegExpUnicodePropertySupported as Ns,_isSafari as Us,_isWindows as Hs,_isiOS as Ws,_setEmitterId as js,_translate as zs,_unifyTranslations as Gs,abortableDebounce as Ks,add as $s,areConnectedThroughProperties as qs,collectStylesheets as Qs,compareArrays as Ys,count as Js,crc32 as Zs,createElement as Xs,delay as ea,diff as ta,diffToChanges as oa,env as ia,exponentialDelay as na,fastDiff as ra,findClosestScrollableAncestor as sa,first as aa,formatHtml as la,getAncestors as ca,getBorderWidths as da,getCode as ma,getCommonAncestor as ua,getDataFromElement as ka,getEnvKeystrokeText as ha,getLanguageDirection as ga,getLocalizedArrowKeyCodeDirection as wa,getOptimalPosition as Ia,getPositionedAncestor as ba,getRangeFromMouseEvent as fa,getVisualViewportOffset as pa,global as Va,indexOf as Ba,insertAt as _a,insertToPriorityArray as Ca,isArrowKeyCode as Ea,isCombiningMark as Ta,isComment as va,isForwardArrowKeyCode as Sa,isHighSurrogateHalf as Aa,isInsideCombinedSymbol as ya,isInsideEmojiSequence as La,isInsideSurrogatePair as Ma,isIterable as Pa,isLowSurrogateHalf as Fa,isNode as Da,isRange as xa,isText as Ra,isValidAttributeName as Oa,isViewWithFocusTracker as Na,isVisible as Ua,isWindow as Ha,keyCodes as Wa,logError as ja,logWarning as B,mapsEqual as za,nth as Ga,objectToMap as Ka,parseBase64EncodedObject as $a,parseKeystroke as qa,priorities as Qa,releaseDate as Ya,remove as Ja,retry as Za,scrollAncestorsToShowTarget as Xa,scrollViewportToShowTarget as el,setDataInElement as tl,spliceArray as ol,spy as il,toArray as nl,toMap as rl,toUnit as sl,uid as al,version as ll,wait as cl}from"../../../frontend-editor-ckeditor-web/__liferay__/exports/@ckeditor$ckeditor5-utils$dist$index.js.js";var g=class extends U{focusTracker=new Z;keystrokes=new X;idInputView;backButtonView;saveButtonView;children;_validators;_focusables=new H;_focusCycler;constructor(e,t){super(e),this._validators=t,this.backButtonView=this._createBackButton(),this.saveButtonView=this._createSaveButton(),this.idInputView=this._createIdInput(),this.children=this.createCollection([this._createHeaderView()]),this.children.add(new D(e,{children:[this.idInputView,this.saveButtonView],class:["ck-form__row_with-submit","ck-form__row_large-top-padding"]})),this.keystrokes.set("Esc",(i,o)=>{this.fire("cancel"),o()}),this._focusCycler=new P({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this.setTemplate({tag:"form",attributes:{class:["ck","ck-form","ck-bookmark-form","ck-responsive-form"],tabindex:"-1"},children:this.children})}render(){super.render(),z({view:this}),[this.backButtonView,this.idInputView,this.saveButtonView].forEach(t=>{this._focusables.add(t),this.focusTracker.add(t.element)}),this.keystrokes.listenTo(this.element)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this.idInputView.focus()}isValid(){this.resetFormStatus();for(let e of this._validators){let t=e(this);if(t)return this.idInputView.errorText=t,!1}return!0}resetFormStatus(){this.idInputView.errorText=null}_createBackButton(){let e=this.locale.t,t=new u(this.locale);return t.set({class:"ck-button-back",label:e("Back"),icon:Y,tooltip:!0}),t.delegate("execute").to(this,"cancel"),t}_createSaveButton(){let e=this.locale.t,t=new u(this.locale);return t.set({label:e("Save"),withText:!0,type:"submit",class:"ck-button-action ck-button-bold"}),t}_createHeaderView(){let e=this.locale.t,t=new F(this.locale,{label:e("Bookmark")});return t.children.add(this.backButtonView,0),t}_createIdInput(){let e=this.locale.t,t=new O(this.locale,j);return t.label=e("Bookmark name"),t.infoText=e("Enter the bookmark name without spaces."),t.class="ck-labeled-field-view_full-width",t}get id(){let{element:e}=this.idInputView.fieldView;return e?e.value.trim():null}};function T(a){return!(!a||typeof a!="string"||/\s/.test(a))}var w=class extends f{refresh(){let t=this.editor.model.document.selection,i=this._getPositionToInsertBookmark(t);this.isEnabled=!!i}execute(e){if(!e)return;let{bookmarkId:t}=e;if(!T(t)){B("insert-bookmark-command-executed-with-invalid-name");return}let i=this.editor,o=i.model,n=o.document.selection;o.change(s=>{let r=this._getPositionToInsertBookmark(n);if(!o.schema.checkChild(r,"bookmark")){let k=i.execute("insertParagraph",{position:r});if(!k)return;r=k}let c=s.createElement("bookmark",{...Object.fromEntries(n.getAttributes()),bookmarkId:t});o.insertObject(c,r,null,{setSelection:"on"})})}_getPositionToInsertBookmark(e){let t=this.editor.model,i=t.schema,o=e.getFirstRange(),n=o.start;if(_(n,i))return n;for(let{previousPosition:s,item:r}of o){if(r.is("element")&&i.checkChild(r,"$text")&&_(r,i))return t.createPositionAt(r,0);if(_(s,i))return s}return null}};function _(a,e){return e.checkChild(a,"bookmark")?!0:e.checkChild(a,"paragraph")?e.checkChild("paragraph","bookmark"):!1}var I=class extends f{refresh(){let t=this.editor.model.document.selection,i=ee(t);this.isEnabled=!!i,this.value=i?i.getAttribute("bookmarkId"):void 0}execute(e){if(!e)return;let{bookmarkId:t}=e;if(!T(t)){B("update-bookmark-command-executed-with-invalid-name");return}let i=this.editor.model,o=i.document.selection,n=ee(o);n&&i.change(s=>{s.setAttribute("bookmarkId",t,n)})}};function ee(a){let e=a.getSelectedElement();return e&&e.is("element","bookmark")?e:null}var m=class extends h{_bookmarkElements=new Map;static get pluginName(){return"BookmarkEditing"}static get isOfficialPlugin(){return!0}constructor(e){super(e),e.config.define("bookmark",{toolbar:["bookmarkPreview","|","editBookmark","removeBookmark"]})}init(){let{editor:e}=this;this._defineSchema(),this._defineConverters(),e.commands.add("insertBookmark",new w(e)),e.commands.add("updateBookmark",new I(e)),this.listenTo(e.model.document,"change:data",()=>{this._trackBookmarkElements()})}getElementForBookmarkId(e){for(let[t,i]of this._bookmarkElements)if(i==e)return t;return null}getAllBookmarkNames(){return new Set(this._bookmarkElements.values())}_defineSchema(){this.editor.model.schema.register("bookmark",{inheritAllFrom:"$inlineObject",allowAttributes:"bookmarkId",disallowAttributes:["linkHref","htmlA"]})}_defineConverters(){let{editor:e}=this,{conversion:t,t:i}=e;e.data.htmlProcessor.domConverter.registerInlineObjectMatcher(o=>C(o)),e.editing.view.domConverter.registerInlineObjectMatcher(o=>C(o,!1)),t.for("dataDowncast").elementToElement({model:{name:"bookmark",attributes:["bookmarkId"]},view:(o,{writer:n})=>n.createEmptyElement("a",{id:o.getAttribute("bookmarkId")})}),t.for("editingDowncast").elementToElement({model:{name:"bookmark",attributes:["bookmarkId"]},view:(o,{writer:n})=>{let s=o.getAttribute("bookmarkId"),r=n.createContainerElement("a",{id:s,class:"ck-bookmark"},[this._createBookmarkUIElement(n)]);return n.setCustomProperty("bookmark",!0,r),this._bookmarkElements.set(o,s),y(r,n,{label:()=>`${s} ${i("bookmark widget")}`})}}),t.for("upcast").add(o=>o.on("element:a",ie(e)))}_createBookmarkUIElement(e){return e.createUIElement("span",{class:"ck-bookmark__icon"},function(t){let i=this.toDomElement(t),o=new x;return o.set({content:K,isColorInherited:!1}),o.render(),i.appendChild(o.element),i})}_trackBookmarkElements(){this._bookmarkElements.forEach((e,t)=>{t.root.rootName==="$graveyard"&&this._bookmarkElements.delete(t)})}};function C(a,e=!0){if(!(a.name==="a")||e&&!a.isEmpty)return null;let i=a.hasAttribute("id"),o=a.hasAttribute("name"),n=a.hasAttribute("href");return i&&!n?{name:!0,attributes:["id"]}:o&&!n?{name:!0,attributes:["name"]}:null}function ie(a){return(e,t,i)=>{let o=t.viewItem,n=C(o,!1);if(!n||!i.consumable.test(o,n)||!ne(a)&&!o.isEmpty)return;let r=i.writer,l=o.getAttribute("id"),c=o.getAttribute("name"),k=l||c,v=r.createElement("bookmark",{bookmarkId:k});if(!i.safeInsert(v,t.modelCursor))return;i.consumable.consume(o,n),l===c&&i.consumable.consume(o,{attributes:["name"]}),i.updateConversionResult(v,t);let{modelCursor:te,modelRange:oe}=i.convertChildren(o,t.modelCursor);t.modelCursor=te,t.modelRange=r.createRange(t.modelRange.start,oe.end)}}function ne(a){let e=a.config.get("bookmark.enableNonEmptyAnchorConversion");return e!==void 0?e:!0}var d="bookmark-ui",b=class extends h{formView=null;_balloon;static get requires(){return[m,V,p]}static get pluginName(){return"BookmarkUI"}static get isOfficialPlugin(){return!0}init(){let e=this.editor;this._balloon=e.plugins.get(V),e.plugins.has("LinkUI")&&this._registerLinkProvider(),this._registerComponents(),e.conversion.for("editingDowncast").markerToHighlight({model:d,view:{classes:["ck-fake-bookmark-selection"]}}),e.conversion.for("editingDowncast").markerToElement({model:d,view:(t,{writer:i})=>{if(!t.markerRange.isCollapsed)return null;let o=i.createUIElement("span");return i.addClass(["ck-fake-bookmark-selection","ck-fake-bookmark-selection_collapsed"],o),o}})}afterInit(){let e=this.editor,t=e.locale.t,i=this.editor.plugins.get(p),o=L.defaultPositions;i.register("bookmark",{ariaLabel:t("Bookmark toolbar"),items:e.config.get("bookmark.toolbar"),getRelatedElement:se,balloonClassName:"ck-bookmark-balloon ck-toolbar-container",positions:[o.southArrowNorth,o.southArrowNorthMiddleWest,o.southArrowNorthMiddleEast,o.southArrowNorthWest,o.southArrowNorthEast,o.northArrowSouth,o.northArrowSouthMiddleWest,o.northArrowSouthMiddleEast,o.northArrowSouthWest,o.northArrowSouthEast,o.viewportStickyNorth]})}destroy(){super.destroy(),this.formView&&this.formView.destroy()}_createViews(){this.formView=this._createFormView(),this._enableUserBalloonInteractions()}_createFormView(){let e=this.editor,t=e.locale,i=t.t,o=e.commands.get("insertBookmark"),n=e.commands.get("updateBookmark"),s=[o,n],r=new(M(g))(t,re(e));return r.idInputView.fieldView.bind("value").to(n,"value"),r.saveButtonView.bind("label").to(n,"value",l=>i(l?"Save":"Insert")),r.idInputView.bind("isEnabled").toMany(s,"isEnabled",(...l)=>l.some(c=>c)),r.saveButtonView.bind("isEnabled").toMany(s,"isEnabled",(...l)=>l.some(c=>c)),this.listenTo(r,"cancel",()=>{this._hideFormView()}),this.listenTo(r,"submit",()=>{if(r.isValid()){let l=r.id;this._getSelectedBookmarkElement()?e.execute("updateBookmark",{bookmarkId:l}):e.execute("insertBookmark",{bookmarkId:l}),this._hideFormView()}}),this.listenTo(r.idInputView,"change:errorText",()=>{e.ui.update()}),r}_registerLinkProvider(){let e=this.editor.locale.t,t=this.editor.plugins.get("LinkUI"),i=this.editor.plugins.get(m),o=()=>Array.from(i.getAllBookmarkNames()).sort((s,r)=>s.localeCompare(r)).map(s=>({id:s,href:`#${s}`,label:s,icon:$})),n=s=>{let r=[...i.getAllBookmarkNames()].find(l=>`#${l}`===s);return r?{href:s,label:r,icon:q,tooltip:e("Scroll to bookmark")}:null};t.registerLinksListProvider({label:e("Bookmarks"),emptyListPlaceholder:e("No bookmarks available."),navigate:({href:s})=>this._scrollToBookmark(s),getListItems:o,getItem:n})}_scrollToBookmark(e){let i=this.editor.plugins.get(m).getElementForBookmarkId(e.slice(1));return i?(this.editor.model.change(o=>{o.setSelection(i,"on")}),this.editor.editing.view.scrollToTheSelection({alignToTop:!0,forceScroll:!0}),!0):!1}_registerComponents(){let e=this.editor;e.ui.componentFactory.add("bookmark",()=>{let t=this._createBookmarkButton(u);return t.set({tooltip:!0}),t}),e.ui.componentFactory.add("menuBar:bookmark",()=>this._createBookmarkButton(N)),e.ui.componentFactory.add("bookmarkPreview",t=>{let i=e.commands.get("updateBookmark"),o=new R(t);return o.extendTemplate({attributes:{class:["ck-bookmark-toolbar__preview"]}}),o.bind("text").to(i,"value"),o}),e.ui.componentFactory.add("editBookmark",t=>{let i=e.commands.get("updateBookmark"),o=new u(t),n=t.t;return o.set({label:n("Edit bookmark"),icon:Q,tooltip:!0}),o.bind("isEnabled").to(i),this.listenTo(o,"execute",()=>{this._showFormView()}),o}),e.ui.componentFactory.add("removeBookmark",t=>{let i=e.commands.get("delete"),o=new u(t),n=t.t;return o.set({label:n("Remove bookmark"),icon:J,tooltip:!0}),o.bind("isEnabled").to(i),this.listenTo(o,"execute",()=>{e.execute("delete"),e.editing.view.focus()}),o})}_createBookmarkButton(e){let t=this.editor,i=t.locale,o=new e(i),n=t.commands.get("insertBookmark"),s=t.commands.get("updateBookmark"),r=i.t;return o.set({label:r("Bookmark"),icon:G}),this.listenTo(o,"execute",()=>{t.editing.view.scrollToTheSelection(),this._showFormView()}),o.bind("isEnabled").toMany([n,s],"isEnabled",(...l)=>l.some(c=>c)),o.bind("isOn").to(s,"value",l=>!!l),o}_enableUserBalloonInteractions(){this.editor.keystrokes.set("Esc",(e,t)=>{this._isFormVisible&&(this._hideFormView(),t())}),W({emitter:this.formView,activator:()=>this._isFormInPanel,contextElements:()=>[this._balloon.view.element],callback:()=>{this._hideFormView(!1)}})}_addFormView(){if(this.formView||this._createViews(),this._isFormInPanel)return;let e=this.editor.commands.get("updateBookmark");this.formView.disableCssTransitions(),this.formView.resetFormStatus(),this._balloon.add({view:this.formView,position:this._getBalloonPositionData()}),this.formView.backButtonView.isVisible=e.isEnabled,this.formView.idInputView.fieldView.value=e.value||"",this._balloon.visibleView===this.formView&&this.formView.idInputView.fieldView.select(),this.formView.enableCssTransitions()}_removeFormView(e=!0){this.formView.saveButtonView.focus(),this.formView.idInputView.fieldView.reset(),this._balloon.remove(this.formView),e&&this.editor.editing.view.focus(),this._hideFakeVisualSelection()}_showFormView(){this.formView||this._createViews(),this._getSelectedBookmarkElement()||this._showFakeVisualSelection(),this._addFormView(),this._balloon.showStack("main"),this._startUpdatingUI()}_hideFormView(e=!0){if(!this._isFormInPanel)return;let t=this.editor;this.stopListening(t.ui,"update"),this.stopListening(this._balloon,"change:visibleView"),e&&t.editing.view.focus(),this._removeFormView(e),this._hideFakeVisualSelection()}_startUpdatingUI(){let e=this.editor,t=e.editing.view.document,i=this._getSelectedBookmarkElement(),o=s(),n=()=>{let r=this._getSelectedBookmarkElement(),l=s();i&&!r||!i&&l!==o?this._hideFormView():this._isFormVisible&&this._balloon.updatePosition(this._getBalloonPositionData()),i=r,o=l};function s(){return t.selection.focus.getAncestors().reverse().find(r=>r.is("element"))}this.listenTo(e.ui,"update",n),this.listenTo(this._balloon,"change:visibleView",n)}get _isFormInPanel(){return!!this.formView&&this._balloon.hasView(this.formView)}get _isFormVisible(){return!!this.formView&&this._balloon.visibleView==this.formView}_getBalloonPositionData(){let e=this.editor.editing.view,t=this.editor.model,i,o=this._getSelectedBookmarkElement();if(t.markers.has(d)){let n=Array.from(this.editor.editing.mapper.markerNameToElements(d)),s=e.createRange(e.createPositionBefore(n[0]),e.createPositionAfter(n[n.length-1]));i=e.domConverter.viewRangeToDom(s)}else o&&(i=()=>{let n=this.editor.editing.mapper,s=e.domConverter,r=n.toViewElement(o);return s.mapViewToDom(r)});if(i)return{target:i}}_getSelectedBookmarkElement(){let t=this.editor.model.document.selection.getSelectedElement();return t&&t.is("element","bookmark")?t:null}_showFakeVisualSelection(){let e=this.editor.model;e.change(t=>{let i=e.document.selection.getFirstRange();if(e.markers.has(d))t.updateMarker(d,{range:i});else if(i.start.isAtEnd){let o=i.start.getLastMatchingPosition(({item:n})=>!e.schema.isContent(n),{boundaries:i});t.addMarker(d,{usingOperation:!1,affectsData:!1,range:t.createRange(o,i.end)})}else t.addMarker(d,{usingOperation:!1,affectsData:!1,range:i})})}_hideFakeVisualSelection(){let e=this.editor.model;e.markers.has(d)&&e.change(t=>{t.removeMarker(d)})}};function re(a){let{t:e}=a,t=a.plugins.get(m);return[i=>{if(!i.id)return e("Bookmark must not be empty.")},i=>{if(i.id&&/\s/.test(i.id))return e("Bookmark name cannot contain space characters.")},i=>{let o=a.model.document.selection.getSelectedElement(),n=t.getElementForBookmarkId(i.id);if(o!==n&&n)return e("Bookmark name already exists.")}]}function se(a){let e=a.getSelectedElement();return!e||!A(e)||!e.getCustomProperty("bookmark")?null:e}var E=class extends h{static get pluginName(){return"Bookmark"}static get requires(){return[m,b,S]}static get isOfficialPlugin(){return!0}};export{E as Bookmark,m as BookmarkEditing,g as BookmarkFormView,b as BookmarkUI,w as InsertBookmarkCommand,I as UpdateBookmarkCommand,T as _isBookmarkIdValid}; 2/*! Bundled license information: 3 4@ckeditor/ckeditor5-bookmark/dist/index.js: 5 (** 6 * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. 7 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options 8 *) 9*/ 10//# sourceMappingURL=@ckeditor$ckeditor5-bookmark$dist$index.js.(CVD2DVWS).js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.