1import{Accessibility as lr,Command as I,CommandCollection as ir,Context as rr,ContextPlugin as sr,EditingKeystrokeHandler as ar,Editor as cr,ElementApiMixin as dr,MultiCommand as ur,PendingActions as mr,Plugin as T,_DEFAULT_ACCESSIBILITY_GROUP_ID as hr,_getEditorUsageData as fr,attachToForm as gr,secureSourceElement as br}from"../../../frontend-editor-ckeditor-web/__liferay__/exports/@ckeditor$ckeditor5-core$dist$index.js.js";import{WIDGET_CLASS_NAME as Cr,WIDGET_SELECTED_CLASS_NAME as Tr,Widget as Zo,WidgetHighlightStack as _r,WidgetResize as yr,WidgetResizeState as xr,WidgetResizer as Ir,WidgetToolbarRepository as Ut,WidgetTypeAround as Ar,_WIDGET_TYPE_AROUND_SELECTION_ATTRIBUTE as vr,_WidgetSizeView as Sr,_getClosestWidgetTypeAroundDomButton as Rr,_getClosestWidgetViewElement as Vr,_getWidgetTypeAroundButtonPosition as Er,_getWidgetTypeAroundFakeCaretPosition as Pr,calculateResizeHostAncestorWidth as kr,calculateResizeHostPercentageWidth as Lr,findOptimalInsertionRange as Dr,getLabel as Br,isTypeAroundWidget as Wr,isWidget as Qo,setHighlightHandling as Mr,setLabel as Or,toWidget as en,toWidgetEditable as jt,verticalWidgetNavigationHandler as Fr,viewToModelPositionOutsideModelElement as Nr}from"../../../frontend-editor-ckeditor-web/__liferay__/exports/@ckeditor$ckeditor5-widget$dist$index.js.js";import{CKEditorError as Gt,Collection as ve,Config as Ur,DOCUMENTATION_URL as jr,DomEmitterMixin as tn,ElementReplacer as Gr,EmitterMixin as $r,EventInfo as Kr,FocusTracker as oe,KeystrokeHandler as ne,Locale as qr,ObservableMixin as Xr,Rect as le,ResizeObserver as Jr,_clearTranslations as Yr,_getEmitterId as Zr,_getEmitterListenedTo as Qr,_getUserAgent as es,_isAndroid as ts,_isBlink as os,_isGecko as ns,_isMac as ls,_isMediaForcedColors as is,_isMotionReduced as rs,_isRegExpUnicodePropertySupported as ss,_isSafari as as,_isWindows as cs,_isiOS as ds,_setEmitterId as us,_translate as ms,_unifyTranslations as hs,abortableDebounce as fs,add as gs,areConnectedThroughProperties as bs,collectStylesheets as ps,compareArrays as ws,count as Cs,crc32 as Ts,createElement as _s,delay as ys,diff as xs,diffToChanges as Is,env as As,exponentialDelay as vs,fastDiff as Ss,findClosestScrollableAncestor as Rs,first as Se,formatHtml as Vs,getAncestors as Es,getBorderWidths as Ps,getCode as ks,getCommonAncestor as Ls,getDataFromElement as Ds,getEnvKeystrokeText as Bs,getLanguageDirection as Ws,getLocalizedArrowKeyCodeDirection as on,getOptimalPosition as Ms,getPositionedAncestor as Os,getRangeFromMouseEvent as Fs,getVisualViewportOffset as Ns,global as ie,indexOf as zs,insertAt as Hs,insertToPriorityArray as Us,isArrowKeyCode as js,isCombiningMark as Gs,isComment as $s,isForwardArrowKeyCode as Ks,isHighSurrogateHalf as qs,isInsideCombinedSymbol as Xs,isInsideEmojiSequence as Js,isInsideSurrogatePair as Ys,isIterable as Zs,isLowSurrogateHalf as Qs,isNode as ea,isRange as ta,isText as oa,isValidAttributeName as na,isViewWithFocusTracker as la,isVisible as ia,isWindow as ra,keyCodes as sa,logError as aa,logWarning as ca,mapsEqual as da,nth as ua,objectToMap as ma,parseBase64EncodedObject as ha,parseKeystroke as fa,priorities as ga,releaseDate as ba,remove as pa,retry as wa,scrollAncestorsToShowTarget as Ca,scrollViewportToShowTarget as Ta,setDataInElement as _a,spliceArray as ya,spy as xa,toArray as Ia,toMap as Aa,toUnit as nn,uid as va,version as Sa,wait as Ra}from"../../../frontend-editor-ckeditor-web/__liferay__/exports/@ckeditor$ckeditor5-utils$dist$index.js.js";import{IconAccessibility as Pa,IconAddComment as ka,IconAlignBottom as ln,IconAlignCenter as rn,IconAlignJustify as sn,IconAlignLeft as an,IconAlignMiddle as cn,IconAlignRight as dn,IconAlignTop as un,IconArrowDown as La,IconArrowUp as Da,IconBold as Ba,IconBookmark as Wa,IconBookmarkInline as Ma,IconBookmarkMedium as Oa,IconBookmarkSmall as Fa,IconBrowseFiles as Na,IconBulletedList as za,IconCancel as $t,IconCaption as mn,IconCaseChange as Ha,IconCheck as Kt,IconChevronDown as Ua,IconChevronUp as ja,IconCkboxImageEdit as Ga,IconCode as $a,IconCodeBlock as Ka,IconCog as qa,IconColorPalette as Xa,IconColorTileCheck as Ja,IconCommentsArchive as Ya,IconContentLock as Za,IconContentUnlock as Qa,IconCopy as ec,IconDragHandle as tc,IconDragIndicator as oc,IconDropbox as nc,IconDropdownArrow as lc,IconEditComment as ic,IconEmoji as rc,IconEraser as sc,IconError as ac,IconExportPdf as cc,IconExportWord as dc,IconFacebook as uc,IconFindReplace as mc,IconFontBackgroun
1d as hc,IconFontColor as fc,IconFontFamily as gc,IconFontSize as bc,IconFullscreenEnter as pc,IconFullscreenLeave as wc,IconGoogleDrive as Cc,IconGooglePhotos as Tc,IconHeading1 as _c,IconHeading2 as yc,IconHeading3 as xc,IconHeading4 as Ic,IconHeading5 as Ac,IconHeading6 as vc,IconHistory as Sc,IconHorizontalLine as Rc,IconHtml as Vc,IconImage as Ec,IconImageAssetManager as Pc,IconImageUpload as kc,IconImageUrl as Lc,IconImportExport as Dc,IconImportWord as Bc,IconIndent as Wc,IconInsertMergeField as Mc,IconItalic as Oc,IconLegalStyleList as Fc,IconLineHeight as Nc,IconLink as zc,IconListStyleCircle as Hc,IconListStyleDecimal as Uc,IconListStyleDecimalLeadingZero as jc,IconListStyleDisc as Gc,IconListStyleLowerLatin as $c,IconListStyleLowerRoman as Kc,IconListStyleSquare as qc,IconListStyleUpperLatin as Xc,IconListStyleUpperRoman as Jc,IconLocal as Yc,IconLoupe as Zc,IconLowVision as Qc,IconMagicWand as ed,IconMarker as td,IconMedia as od,IconMediaPlaceholder as nd,IconMultiLevelList as ld,IconNextArrow as id,IconNotification as rd,IconNumberedList as sd,IconObjectCenter as hn,IconObjectFullWidth as ad,IconObjectInline as cd,IconObjectInlineLeft as fn,IconObjectInlineRight as gn,IconObjectLeft as dd,IconObjectRight as ud,IconObjectSizeCustom as md,IconObjectSizeFull as hd,IconObjectSizeLarge as fd,IconObjectSizeMedium as gd,IconObjectSizeSmall as bd,IconOneDrive as pd,IconOutdent as wd,IconPageBreak as Cd,IconPaginationExample as Td,IconPaintRoller as _d,IconPaintRollerCursorDefault as yd,IconPaintRollerCursorText as xd,IconParagraph as Id,IconPen as Ad,IconPencil as vd,IconPilcrow as Sd,IconPlay as Rd,IconPlus as Vd,IconPreviewMergeFields as Ed,IconPreviousArrow as Pd,IconPrint as kd,IconProjectLogo as Ld,IconQuote as Dd,IconRedo as Bd,IconRemove as Wd,IconRemoveComment as Md,IconRemoveFormat as Od,IconReturnArrow as Fd,IconRevisionHistory as Nd,IconRobotPencil as zd,IconSelectAll as Hd,IconSettings as Ud,IconShowBlocks as jd,IconSource as Gd,IconSpecialCharacters as $d,IconStrikethrough as Kd,IconSubmit as qd,IconSubscript as Xd,IconSuperscript as Jd,IconTable as qt,IconTableCellProperties as bn,IconTableColumn as pn,IconTableLayout as Xt,IconTableMergeCell as wn,IconTableOfContents as Yd,IconTableProperties as Jt,IconTableRow as Cn,IconTemplate as Zd,IconTemplateGeneric as Qd,IconText as eu,IconTextAlternative as tu,IconThreeVerticalDots as ou,IconTodoList as nu,IconTrackChanges as lu,IconTrackChangesAccept as iu,IconTrackChangesDiscard as ru,IconUnderline as su,IconUndo as au,IconUnlink as cu,IconUploadcareImageEdit as du,IconUploadcareImageUpload as uu,IconUploadcareLink as mu,IconUser as hu,IconWarning as fu}from"../../../frontend-editor-ckeditor-web/__liferay__/exports/@ckeditor$ckeditor5-icons$dist$index.js.js";import{AccessibilityHelp as pu,AccessibilityHelpContentView as wu,AriaLiveAnnouncer as Cu,AriaLiveAnnouncerPoliteness as Tu,AriaLiveAnnouncerRegionView as _u,AriaLiveAnnouncerView as yu,AutocompleteView as xu,Badge as Iu,BalloonPanelView as O,BalloonToolbar as Au,BlockButtonView as vu,BlockToolbar as Su,BodyCollection as Ru,BoxedEditorUIView as Vu,ButtonLabelView as Eu,ButtonLabelWithHighlightView as Pu,ButtonView as L,CollapsibleView as ku,ColorGridView as Lu,ColorGridsFragmentView as Du,ColorPickerFragmentView as Bu,ColorPickerInputRowView as Wu,ColorPickerView as Mu,ColorSelectorView as Tn,ColorTileView as Ou,ComponentFactory as Fu,ContextualBalloon as re,CssTransitionDisablerMixin as Nu,DefaultMenuBarItems as zu,Dialog as Hu,DialogActionsView as Uu,DialogContentView as ju,DialogView as Gu,DialogViewPosition as $u,DocumentColorCollection as Ku,DraggableViewMixin as qu,DropdownButtonView as _n,DropdownMenuButtonView as Xu,DropdownMenuListItemButtonView as Ju,DropdownMenuListItemView as Yu,DropdownMenuListView as Zu,DropdownMenuNestedMenuPanelView as Qu,DropdownMenuNestedMenuView as em,DropdownMenuPanelPositioningFunctions as tm,DropdownMenuRootListView as om,DropdownPanelView as nm,DropdownView as lm,EditableUIView as im,EditorUI as rm,EditorUIView as sm,EvaluationBadge as am,FileDialogButtonView as cm,FileDialogListItemButtonView as dm,FileDialogViewMixin as um,FocusCycler as Re,FormHeaderView as Yt,FormRowView as v,HighlightedTextView as mm,IconView as hm,IframeView as fm,InlineEditableUIView as gm,InputBase as bm,InputNumberView as pm,InputTextView as yn,InputView as wm,ItemsView as Cm,LabelView as W,LabelWithHighlightView as Tm,LabeledFieldView as S,LabeledInputVie
1w as _m,ListItemButtonView as ym,ListItemGroupView as xm,ListItemView as Im,ListSeparatorView as Am,ListView as vm,MenuBarMenuButtonView as Sm,MenuBarMenuListItemButtonView as Rm,MenuBarMenuListItemFileDialogButtonView as Vm,MenuBarMenuListItemView as Em,MenuBarMenuListView as Pm,MenuBarMenuPanelView as km,MenuBarMenuView as Zt,MenuBarView as Lm,NESTED_TOOLBAR_ICONS as Dm,Notification as Bm,PoweredBy as Wm,SearchInfoView as Mm,SearchResultsView as Om,SearchTextView as Fm,SliderView as Nm,SpinnerView as zm,SplitButtonView as Qt,StickyPanelView as Hm,SwitchButtonView as xn,Template as Um,TextareaView as jm,ToolbarLineBreakView as Gm,ToolbarSeparatorView as $m,ToolbarView as Ve,TooltipManager as Km,UIModel as Ee,View as F,ViewCollection as Pe,ViewModel as qm,_CheckIconHolderView as Xm,_CollapsibleView as Jm,_ContextualBalloonRotatorView as Ym,_DropdownMenuBehaviors as Zm,_DropdownRootMenuBehaviors as Qm,_MenuBarBehaviors as eh,_MenuBarMenuBehaviors as th,_MenuBarMenuViewPanelPositioningFunctions as oh,_SearchInfoView as nh,_SearchTextQueryView as lh,_TemplateBinding as ih,_TemplateIfBinding as rh,_TemplateToBinding as sh,_convertColor as ah,_convertColorToHex as ch,_preventUiViewDefault as dh,_processMenuBarConfig as uh,_registerCustomElement as mh,_tryNormalizeHexColor as hh,addKeyboardHandlingForGrid as In,addListToDropdown as se,addMenuToDropdown as fh,addToolbarToDropdown as gh,clickOutsideHandler as eo,createDropdown as
1j,createLabeledDropdown as to,createLabeledInputNumber as bh,createLabeledInputText as N,createLabeledTextarea as ph,filterGroupAndItemNames as wh,focusChildOnDropdownOpen as Ch,getLocalizedColorOptions as ae,isFocusable as Th,isViewWithFocusCycler as _h,normalizeColorOptions as ce,normalizeMenuBarConfig as yh,normalizeSingleColorDefinition as xh,normalizeToolbarConfig as Ih,submitHandler as oo}from"../../../frontend-editor-ckeditor-web/__liferay__/exports/@ckeditor$ckeditor5-ui$dist$index.js.js";import{Clipboard as Sh,ClipboardMarkersUtils as ke,ClipboardObserver as Rh,ClipboardPipeline as no,DragDrop as Vh,DragDropBlockToolbar as Eh,DragDropTarget as Ph,PastePlainText as kh,_ClipboardLineView as Lh,_DragDrop as Dh,_DragDropBlockToolbar as Bh,_DragDropTarget as Wh,_normalizeClipboardData as Mh,plainTextToHtml as Oh,viewToPlainText as Fh}from"../../../frontend-editor-ckeditor-web/__liferay__/exports/@ckeditor$ckeditor5-clipboard$dist$index.js.js";import{AttributeOperation as Hh,Batch as Uh,BubblingEmitterMixin as jh,BubblingEventInfo as Gh,ClickObserver as $h,CompositionObserver as Kh,Conversion as qh,ConversionHelpers as Xh,DataController as Jh,Differ as Yh,DomEventObserver as An,DowncastHelpers as Zh,EditingController as Qh,EditingView as ef,FakeSelectionObserver as tf,FocusObserver as of,History as nf,HtmlDataProcessor as lf,InputObserver as rf,InsertOperation as sf,KeyObserver as af,MarkerCollection as cf,MarkerOperation as df,Matcher as uf,MergeOperation as mf,Model as hf,ModelDocument as ff,ModelDocumentFragment as gf,ModelDocumentSelection as bf,ModelElement as vn,ModelLivePosition as pf,ModelLiveRange as wf,ModelNode as Cf,ModelNodeList as Tf,ModelPosition as _f,ModelRange as yf,ModelRootElement as xf,ModelSchemaContext as If,ModelSelection as Af,ModelText as vf,ModelTextProxy as Sf,ModelTreeWalker as Rf,ModelTypeCheckable as Vf,ModelWriter as Ef,MouseObserver as Pf,MoveOperation as kf,MutationObserver as Lf,NoOperation as Df,Observer as Bf,OperationFactory as Wf,RenameOperation as Mf,RootAttributeOperation as Of,RootOperation as Ff,SelectionObserver as Nf,SplitOperation as zf,StylesMap as Hf,StylesProcessor as Uf,TabObserver as jf,TouchObserver as Gf,UpcastHelpers as $f,UpcastWriter as Kf,ViewAttributeElement as qf,ViewContainerElement as Xf,ViewDataTransfer as Jf,ViewDocument as Yf,ViewDocumentDomEventData as Zf,ViewDocumentFragment as Qf,ViewDocumentSelection as eg,ViewDomConverter as tg,ViewDowncastWriter as og,ViewEditableElement as ng,ViewElement as lg,ViewEmptyElement as ig,ViewNode as rg,ViewPosition as sg,ViewRange as ag,ViewRawElement as cg,ViewRenderer as dg,ViewRootEditableElement as ug,ViewSelection as mg,ViewText as hg,Vie
1wTextProxy as fg,ViewTokenList as gg,ViewTreeWalker as bg,ViewTypeCheckable as pg,ViewUIElement as wg,ViewUpcastWriter as Cg,XmlDataProcessor as Tg,_DataProcessorBasicHtmlWriter as _g,_DetachOperation as yg,_MapperCache as xg,_OperationReplayer as Ig,_VIEW_BR_FILLER as Ag,_VIEW_INLINE_FILLER as vg,_VIEW_INLINE_FILLER_LENGTH as Sg,_VIEW_MARKED_NBSP_FILLER as Rg,_VIEW_NBSP_FILLER as Vg,_ViewElementConversionConsumables as Eg,_autoParagraphEmptyModelRoots as Pg,_convertMapToStringifiedObject as kg,_convertMapToTags as Lg,_deleteModelContent as Dg,_downcastCleanSelection as Bg,_downcastConvertCollapsedSelection as Wg,_downcastConvertRangeSelection as Mg,_downcastCreateViewElementFromDowncastHighlightDescriptor as Og,_downcastInsertAttributesAndChildren as Fg,_downcastInsertElement as Ng,_downcastInsertStructure as zg,_downcastInsertText as Hg,_downcastInsertUIElement as Ug,_downcastRemove as jg,_downcastWrap as Gg,_dumpTrees as $g,_getDataWithoutViewFiller as Kg,_getModelData as qg,_getModelNodeAfterPosition as Xg,_getModelNodeBeforePosition as Jg,_getModelTextNodeAtPosition as Yg,_getSelectedModelContent as Zg,_getViewData as Qg,_initDocumentDumping as eb,_injectModelSelectionPostFixer as tb,_injectViewQuirksHandling as ob,_injectViewUIElementHandling as nb,_insertIntoModelNodeList as lb,_insertModelContent as ib,_insertModelObject as rb,_isInlineViewFiller as sb,_isParagraphableModelNode as ab,_isViewPatternMatched as cb,_logDocument as db,_mergeIntersectingModelRanges as ub,_modifyModelSelection as mb,_moveInModelNodeList as hb,_normalizeConversionConsumables as fb,_normalizeInModelNodeList as gb,_operationTransform as bb,_parseModel as pb,_parseView as wb,_removeFromModelNodeList as Cb,_setAttributeInModelNodeList as Tb,_setModelData as _b,_setViewData as yb,_startsWithViewFiller as xb,_stringifyModel as Ib,_stringifyView as Ab,_tryFixingModelRange as vb,_upcastConvertSelectionChange as Sb,_upcastConvertText as Rb,_upcastConvertToModelFragment as Vb,_wrapInModelParagraph as Eb,addBackgroundStylesRules as lo,addBorderStylesRules as io,addMarginStylesRules as Pb,addPaddingStylesRules as Sn,autoParagraphEmptyRoots as kb,disableViewPlaceholder as Lb,enableViewPlaceholder as Rn,getBoxSidesStyleShorthandValue as Db,getBoxSidesStyleValueReducer as Bb,getBoxSidesStyleValues as Wb,getPositionStyleShorthandNormalizer as Mb,getShorthandStylesValues as Ob,getViewFillerOffset as Fb,hideViewPlaceholder as Nb,isAttachmentStyleValue as zb,isColorStyleValue as Vn,isLengthStyleValue as ro,isLineStyleValue as Hb,isParagraphable as Ub,isPercentageStyleValue as En,isPositionStyleValue as jb,isRepeatStyleValue as Gb,isURLStyleValue as $b,needsViewPlaceholder as Kb,showViewPlaceholder as qb,transformOperationSets as Xb,wrapInParagraph as Jb}from"../../../frontend-editor-ckeditor-web/__liferay__/exports/@ckeditor$ckeditor5-engine$dist$index.js.js";function so(i){return i!==null&&(typeof i=="object"||typeof i=="function")}function Pn(i,e){return i===e||Number.isNaN(i)&&Number.isNaN(e)}function ao(i){return Object.getOwnPropertySymbols(i).filter(e=>Object.prototype.propertyIsEnumerable.call(i,e))}function co(i){return i==null?i===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(i)}var kn="[object RegExp]",Ln="[object String]",Dn="[object Number]",Bn="[object Boolean]",uo="[object Arguments]",Wn="[object Symbol]",Mn="[object Date]",On="[object Map]",Fn="[object Set]",Nn="[object Array]",zn="[object Function]",Hn="[object ArrayBuffer]",Le="[object Object]",Un="[object Error]",jn="[object DataView]",Gn="[object Uint8Array]",$n="[object Uint8ClampedArray]",Kn="[object Uint16Array]",qn="[object Uint32Array]",Xn="[object BigUint64Array]",Jn="[object Int8Array]",Yn="[object Int16Array]",Zn="[object Int32Array]",Qn="[object BigInt64Array]",el="[object Float32Array]",tl="[object Float64Array]";function ol(i,e,{signal:t,edges:o}={}){let n,l=null,r=o!=null&&o.includes("leading"),s=o==null||o.includes("trailing"),a=()=>{l!==null&&(i.apply(n,l),n=void 0,l=null)},c=()=>{s&&a(),h()},d=null,u=()=>{d!=null&&clearTimeout(d),d=setTimeout(()=>{d=null,c()},e)},m=()=>{d!==null&&(clearTimeout(d),d=null)},h=()=>{m(),n=void 0,l=null},f=()=>{m(),a()},g=function(...b){if(t?.aborted)return;n=this,l=b;let p=d==null;u(),r&&p&&a()};return g.schedule=u,g.cancel=h,g.flush=f,t?.addEventListener("abort",h,{once:!0}),g}function q(i,e=0,t={}){typeof t!="object"&&(t={});let{leading:o=!1,trailing:n=!0,maxWait:l}=t,r=Array(2);o&&(r[0]="leading"),n&&(r[1]="trailing");let s,a=null,c=ol(function(...m){s=i.apply(this,m),a=null},e,{edges:r}),d=function(...m){return l!=null&&(a===null&&(a=Date.now()),Date.now()-a>=l)?(s=i.apply(this,m),a=Date.now(),c.cancel(),c.schedule(),s):(c.apply(this,m),s)},u=()=>(c.flush(),s);return d.cancel=c.cancel,d.flush=u,d}function mo(i,e=0,t={}){typeof t!="object"&&(t={});let{leading:o=!0,trailing:n=!0}=t;return q(i,e,{leading:o,trailing:n,maxWait:e})}function ho(i){if(!i||typeof i!="object")return!1;let e=Object.getPrototypeOf(i);
1return e===null||e===Object.prototype||Object.getPrototypeOf(e)===null?Object.prototype.toString.call(i)==="[object Object]":!1}function nl(i,e,t){return de(i,e,void 0,void 0,void 0,void 0,t)}function de(i,e,t,o,n,l,r){let s=r(i,e,t,o,n,l);if(s!==void 0)return s;if(typeof i==typeof e)switch(typeof i){case"bigint":case"string":case"boolean":case"symbol":case"undefined":return i===e;case"number":return i===e||Object.is(i,e);case"function":return i===e;case"object":return ue(i,e,l,r)}return ue(i,e,l,r)}function ue(i,e,t,o){if(Object.is(i,e))return!0;let n=co(i),l=co(e);if(n===uo&&(n=Le),l===uo&&(l=Le),n!==l)return!1;switch(n){case Ln:return i.toString()===e.toString();case Dn:{let a=i.valueOf(),c=e.valueOf();return Pn(a,c)}case Bn:case Mn:case Wn:return Object.is(i.valueOf(),e.valueOf());case kn:return i.source===e.source&&i.flags===e.flags;case zn:return i===e}t=t??new Map;let r=t.get(i),s=t.get(e);if(r!=null&&s!=null)return r===e;t.set(i,e),t.set(e,i);try{switch(n){case On:{if(i.size!==e.size)return!1;for(let[a,c]of i.entries())if(!e.has(a)||!de(c,e.get(a),a,i,e,t,o))return!1;return!0}case Fn:{if(i.size!==e.size)return!1;let a=Array.from(i.values()),c=Array.from(e.values());for(let d=0;d<a.length;d++){let u=a[d],m=c.findIndex(h=>de(u,h,void 0,i,e,t,o));if(m===-1)return!1;c.splice(m,1)}return!0}case Nn:case Gn:case $n:case Kn:case qn:case Xn:case Jn:case Yn:case Zn:case Qn:case el:case tl:{if(typeof Buffer<"u"&&Buffer.isBuffer(i)!==Buffer.isBuffer(e)||i.length!==e.length)return!1;for(let a=0;a<i.length;a++)if(!de(i[a],e[a],a,i,e,t,o))return!1;return!0}case Hn:return i.byteLength!==e.byteLength?!1:ue(new Uint8Array(i),new Uint8Array(e),t,o);case jn:return i.byteLength!==e.byteLength||i.byteOffset!==e.byteOffset?!1:ue(new Uint8Array(i),new Uint8Array(e),t,o);case Un:return i.name===e.name&&i.message===e.message;case Le:{if(!(ue(i.constructor,e.constructor,t,o)||ho(i)&&ho(e)))return!1;let c=[...Object.keys(i),...ao(i)],d=[...Object.keys(e),...ao(e)];if(c.length!==d.length)return!1;for(let u=0;u<c.length;u++){let m=c[u],h=i[m];if(!Object.hasOwn(e,m))return!1;let f=e[m];if(!de(h,f,m,i,e,t,o))return!1}return!0}default:return!1}}finally{t.delete(i),t.delete(e)}}function ll(){}function De(i,e){return nl(i,e,ll)}function Ot(i,e){let{modelAttribute:t,styleName:o,attributeName:n,attributeType:l,viewElement:r,defaultValue:s,shouldUpcast:a=()=>!0,reduceBoxSides:c=!1}=e;i.for("upcast").attributeToAttribute({view:{name:r,styles:{[o]:/[\s\S]+/}},model:{key:t,value:(d,u,m)=>{if(!a(d))return;let h=D(s,"",m),f=d.getNormalizedStyle(o),g=c?Me(f):f;if(h!==g)return g;u.consumable.consume(d,{styles:o})}}}),n&&i.for("upcast").attributeToAttribute({view:{name:r,attributes:{[n]:/.+/}},model:{key:t,value:(d,u,m)=>{if(d.name=="figure"||d.hasStyle(o)||d.name=="table"&&d.parent.name=="figure"&&d.parent.hasStyle(o))return;let h=D(s,"",m),f=d.getAttribute(n);if(f&&l=="length"&&!f.endsWith("px")&&(f+="px"),h!==f)return f;u.consumable.consume(d,{attributes:n})}}})}function Oe(i,e,t,o){i.for("upcast").add(n=>n.on("element:"+e,(l,r,s)=>{if(!r.modelRange)return;let a=["border-top-width","border-top-color","border-top-style","border-bottom-width","border-bottom-color","border-bottom-style","border-right-width","border-right-color","border-right-style","border-left-width","border-left-color","border-left-style"].filter(g=>r.viewItem.hasStyle(g));if(!a.length)return;let c={styles:a};if(!s.consumable.test(r.viewItem,c))return;let d=[...r.modelRange.getItems({shallow:!0})].pop(),u=d.findAncestor("table",{includeSelf:!0}),m=o;u&&u.getAttribute("tableType")=="layout"&&(m={style:"none",color:"",width:""}),s.consumable.consume(r.viewItem,c);let h={style:r.viewItem.getNormalizedStyle("border-style"),color:r.viewItem.getNormalizedStyle("border-color"),width:r.viewItem.getNormalizedStyle("border-width")},f={style:Me(h.style),color:Me(h.color),width:Me(h.width)};f.style!==m.style&&s.writer.setAttribute(t.style,f.style,d),f.color!==m.color&&s.writer.setAttribute(t.color,f.color,d),f.width!==m.width&&s.writer.setAttribute(t.width,f.width,d)}))}function J(i,e){let{modelElement:t,modelAttribute:o,styleName:n}=e;i.for("downcast").attributeToAttribute({model:{name:t,key:o},view:l=>({key:"style",value:{[n]:l}})})}function me(i,e){let{modelAttribute:t,styleName:o}=e;i.for("downcast").add(n=>n.on(`attribute:${t}:table`,(l,r,s)=>{let{item:a,attributeNewValue:c}
1=r,{mapper:d,writer:u}=s;if(!s.consumable.consume(r.item,l.name))return;let m=[...d.toViewElement(a).getChildren()].find(h=>h.is("element","table"));c?u.setStyle(o,c,m):u.removeStyle(o,m)}))}function D(i,e,t){let o=t.modelRange&&Se(t.modelRange.getItems({shallow:!0})),n=o&&o.is("element")&&o.findAncestor("table",{includeSelf:!0});return n&&n.getAttribute("tableType")==="layout"?e:i}function Me(i){if(!i)return;let e=["top","right","bottom","left"];if(!e.every(l=>i[l]))return i;let o=i.top;return e.every(l=>i[l]===o)?o:i}function y(i,e,t,o,n=1){e!=null&&n!==void 0&&n!==null&&e>n?o.setAttribute(i,e,t):o.removeAttribute(i,t)}function M(i,e,t={}){let o=i.createElement("tableCell",t);return i.insertElement("paragraph",o),i.insert(o,e),o}function Fe(i,e){let t=e.parent.parent,o=parseInt(t.getAttribute("headingColumns")||"0"),{column:n}=i.getCellLocation(e);return!!o&&n<o}function he(i,e,t){let{modelAttribute:o}=t;i.extend("tableCell",{allowAttributes:[o]}),i.setAttributeProperties(o,{isFormatting:!0}),Ot(e,{viewElement:/^(td|th)$/,...t}),J(e,{modelElement:"tableCell",...t})}function E(i){let e=i.getSelectedElement();return e&&e.is("element","table")?e:i.getFirstPosition().findAncestor("table")}function yl(){return i=>{i.on("element:figure",(e,t,o)=>{if(!o.consumable.test(t.viewItem,{name:!0,classes:"table"}))return;let n=Zl(t.viewItem);if(!n||!o.consumable.test(n,{name:!0}))return;o.consumable.consume(t.viewItem,{name:!0,classes:"table"});let l=o.convertItem(n,t.modelCursor),r=Se(l.modelRange.getItems());if(!r){o.consumable.revert(t.viewItem,{name:!0,classes:"table"});return}o.convertChildren(t.viewItem,o.writer.createPositionAt(r,"end")),o.updateConversionResult(r,t)})}}function xl(){return i=>{i.on("element:table",(e,t,o)=>{let n=t.viewItem;if(!o.consumable.test(n,{name:!0}))return;let{rows:l,headingRows:r,headingColumns:s}=Ql(n),a={};s&&(a.headingColumns=s),r&&(a.headingRows=r);let c=o.writer.createElement("table",a);if(o.safeInsert(c,t.modelCursor)){if(o.consumable.consume(n,{name:!0}),l.forEach(d=>o.convertItem(d,o.writer.createPositionAt(c,"end"))),o.convertChildren(n,o.writer.createPositionAt(c,"end")),c.isEmpty){let d=o.writer.createElement("tableRow");o.writer.insert(d,o.writer.createPositionAt(c,"end")),M(o.writer,o.writer.createPositionAt(d,"end"))}o.updateConversionResult(c,t)}})}}function Il(){return i=>{i.on("element:tr",(e,t)=>{t.viewItem.isEmpty&&t.modelCursor.index==0&&e.stop()},{priority:"high"})}}function bo(i){return e=>{e.on(`element:${i}`,(t,o,{writer:n})=>{if(!o.modelRange)return;let l=o.modelRange.start.nodeAfter,r=n.createPositionAt(l,0);if(o.viewItem.isEmpty){n.insertElement("paragraph",r);return}let s=Array.from(l.getChildren());if(s.every(a=>a.is("element","$marker"))){let a=n.createElement("paragraph");n.insert(a,n.createPositionAt(l,0));for(let c of s)n.move(n.createRangeOn(c),n.createPositionAt(a,"end"))}},{priority:"low"})}}function Zl(i){for(let e of i.getChildren())if(e.is("element","table"))return e}function Ql(i){let e=0,t,o=[],n=[],l;for(let r of Array.from(i.getChildren())){if(r.name!=="tbody"&&r.name!=="thead"&&r.name!=="tfoot")continue;r.name==="thead"&&!l&&(l=r);let s=Array.from(r.getChildren()).filter(c=>c.is("element","tr")),a=null;for(let c of s){let d=Array.from(c.getChildren()).filter(u=>u.is("element","td")||u.is("element","th"));if(l&&r===l||r.name==="tbody"&&d.length>0&&(a===null||d.length===a)&&d.every(u=>u.is("element","th")))e++,o.push(c);else{n.push(c);let u=ei(c);(!t||u<t)&&(t=u)}a=Math.max(a||0,d.length)}}return{headingRows:e,headingColumns:t||0,rows:[...o,...n]}}function ei(i){let e=0,t=0,o=Array.from(i.getChildren()).filter(n=>n.name==="th"||n.name==="td");for(;t<o.length&&o[t].name==="th";){let n=o[t],l=parseInt(n.getAttribute("colspan")||"1");e=e+l,t++}return e}var C=class{_table;_startRow;_endRow;_startColumn;_endColumn;_includeAllSlots;_skipRows;_row;_rowIndex;_column;_cellIndex;_spannedCells;_nextCellAtColumn;_jumpedToStartRow=!1;constructor(e,t={}){this._table=e,this._startRow=t.row!==void 0?t.row:t.startRow||0,this._endRow=t.row!==void 0?t.row:t.endRow,this._startColumn=t.column!==void 0?t.column:t.startColumn||0,this._endColumn=t.column!==void 0?t.column:t.endColumn,this._includeAllSlots=!!t.includeAllSlots,this._skipRows=new Set,this._row=0,this._rowIndex=0,this._column=0,this._cellIndex=0,this._spannedCells=new Map,this._nextCellAtColumn=-1}[Symbol.iterator](){return this}next(){this._canJumpToStartRow()&&this._jumpToNonSpannedRowClosestToStartRow();let e=this._table.getChild(this._rowIndex);if(!e||this._isOverEndRow())return{done:!0,value:void 0};if(!e.is("element","tableRow"))return this._rowIndex++,this.next();if(this._isOverEndColumn())return this._advanceToNextRow();let t=null,o=this._getSpanned();if(o)this._includeAllSlots&&!this._shouldSkipSlot()&&(t=this._formatOutValue(o.cell,o.row,o.column));else{let n=e.getChild(this._cellIndex);if(!n)return this._advanceToNextRow();let l=parseInt(n.getAttribute("colspan")||"1"),r=parseInt(n.getAttribute("rowspan")||"1");(l>1||r>1)&&this._recordSpans(n,r,l),this._shouldSkipSlot()||(t=this._formatOutValue(n)),this._nextCellAtColumn=this._column+l}return this._column++,this._column==this._nextCellAtColumn&&this._cellIndex++,t||this.next()}
vendor: 4,531 bytes, line 1
1skipRow(e){this._skipRows.add(e)}_advanceToNextRow(){return this._row++,this._rowIndex++,this._column=0,this._cellIndex=0,this._nextCellAtColumn=-1,this.next()}_isOverEndRow(){return this._endRow!==void 0&&this._row>this._endRow}_isOverEndColumn(){return this._endColumn!==void 0&&this._column>this._endColumn}_formatOutValue(e,t=this._row,o=this._column){return{done:!1,value:new po(this,e,t,o)}}_shouldSkipSlot(){let e=this._skipRows.has(this._row),t=this._row<this._startRow,o=this._column<this._startColumn,n=this._endColumn!==void 0&&this._column>this._endColumn;return e||t||o||n}_getSpanned(){let e=this._spannedCells.get(this._row);return e&&e.get(this._column)||null}_recordSpans(e,t,o){let n={cell:e,row:this._row,column:this._column};for(let l=this._row;l<this._row+t;l++)for(let r=this._column;r<this._column+o;r++)(l!=this._row||r!=this._column)&&this._markSpannedCell(l,r,n)}_markSpannedCell(e,t,o){this._spannedCells.has(e)||this._spannedCells.set(e,new Map),this._spannedCells.get(e).set(t,o)}_canJumpToStartRow(){return!!this._startRow&&this._startRow>0&&!this._jumpedToStartRow}_jumpToNonSpannedRowClosestToStartRow(){let e=this._getRowLength(0);for(let t=this._startRow;!this._jumpedToStartRow;t--)e===this._getRowLength(t)&&(this._row=t,this._rowIndex=t,this._jumpedToStartRow=!0)}_getRowLength(e){return[...this._table.getChild(e).getChildren()].reduce((o,n)=>o+parseInt(n.getAttribute("colspan")||"1"),0)}},po=class{cell;row;column;cellAnchorRow;cellAnchorColumn;_cellIndex;_rowIndex;_table;constructor(e,t,o,n){this.cell=t,this.row=e._row,this.column=e._column,this.cellAnchorRow=o,this.cellAnchorColumn=n,this._cellIndex=e._cellIndex,this._rowIndex=e._rowIndex,this._table=e._table}get isAnchor(){return this.row===this.cellAnchorRow&&this.column===this.cellAnchorColumn}get cellWidth(){return parseInt(this.cell.getAttribute("colspan")||"1")}get cellHeight(){return parseInt(this.cell.getAttribute("rowspan")||"1")}get rowIndex(){return this._rowIndex}getPositionBefore(){return this._table.root.document.model.createPositionAt(this._table.getChild(this.row),this._cellIndex)}};function wo(i,e){return(t,{writer:o})=>{let n=t.getAttribute("headingRows")||0,l=o.createContainerElement("table",null,[]),r=o.createContainerElement("figure",{class:"table"},l);n>0&&o.insert(o.createPositionAt(l,"end"),o.createContainerElement("thead",null,o.createSlot(s=>s.is("element","tableRow")&&s.index<n))),n<i.getRows(t)&&o.insert(o.createPositionAt(l,"end"),o.createContainerElement("tbody",null,o.createSlot(s=>s.is("element","tableRow")&&s.index>=n)));for(let{positionOffset:s,filter:a}of e.additionalSlots)o.insert(o.createPositionAt(l,s),o.createSlot(a));return o.insert(o.createPositionAt(l,"after"),o.createSlot(s=>s.is("element","tableRow")?!1:!e.additionalSlots.some(({filter:a})=>a(s)))),e.asWidget?ti(r,o):r}}function Al(){return(i,{writer:e})=>i.isEmpty?e.createEmptyElement("tr"):e.createContainerElement("tr")}function Co(i={}){return(e,{writer:t})=>{let o=e.parent,n=o.parent,l=n.getChildIndex(o),r=new C(n,{row:l}),s=n.getAttribute("headingRows")||0,a=n.getAttribute("headingColumns")||0,c=null;for(let d of r)if(d.cell==e){let m=d.row<s||d.column<a?"th":"td";c=i.asWidget?jt(t.createEditableElement(m),t,{withAriaRole:!1}):t.createContainerElement(m);break}return c}}function To(i={}){return(e,{writer:t})=>{if(!e.parent.is("element","tableCell")||!Po(e))return null;if(i.asWidget)return t.createContainerElement("span",{class:"ck-table-bogus-paragraph"});{let o=t.createContainerElement("p");return t.setCustomProperty("dataPipeline:transparentRendering",!0,o),o}}}function Po(i){return i.parent.childCount==1&&!oi(i)}function ti(i,e){return e.setCustomProperty("table",!0,i),en(i,e,{hasSelectionHandle:!0})}function oi(i){for(let e of i.getAttributeKeys())if(!(e.startsWith("selection:")||e=="htmlEmptyBlock"))return!0;return!1}var Ne=class extends I{refresh(){let e=this.editor.model,t=e.document.selection,o=e.schema;this.isEnabled=ni(t,o)}execute(e={}){let t=this.editor,o=t.model,n=t.plugins.get("TableUtils"),l=t.config.get("table.defaultHeadings.rows"),r=t.config.get("table.defaultHeadings.columns");e.headingRows===void 0&&l&&(e.headingRows=l),e.headingColumns===void 0&&r&&(e.headingColumns=r),o.change(s=>{let a=n.createTable(s,e);o.insertObject(a,null,null,{findOptimalPosition:"auto"}),s.setSelection(s.createPositionAt(a.getNodeByPath([0,0,0]),0))})}};function ni(i,e){let t=i.getFirstPosition().parent,o=t===t.root?t:t.parent;return e.checkChild(o,"table")}var fe=class extends I{order;
1constructor(e,t={}){super(e),this.order=t.order||"below"}refresh(){let e=this.editor.model.document.selection,o=!!this.editor.plugins.get("TableUtils").getSelectionAffectedTableCells(e).length;this.isEnabled=o}execute(){let e=this.editor,t=e.model.document.selection,o=e.plugins.get("TableUtils"),n=this.order==="above",l=o.getSelectionAffectedTableCells(t),r=o.getRowIndexes(l),s=n?r.first:r.last,a=l[0].findAncestor("table");o.insertRows(a,{at:n?s:s+1,copyStructureFromAbove:!n})}},ge=class extends I{order;constructor(e,t={}){super(e),this.order=t.order||"right"}refresh(){let e=this.editor.model.document.selection,o=!!this.editor.plugins.get("TableUtils").getSelectionAffectedTableCells(e).length;this.isEnabled=o}execute(){let e=this.editor,t=e.model.document.selection,o=e.plugins.get("TableUtils"),n=this.order==="left",l=o.getSelectionAffectedTableCells(t),r=o.getColumnIndexes(l),s=n?r.first:r.last,a=l[0].findAncestor("table");o.insertColumns(a,{columns:1,at:n?s:s+1})}},be=class extends I{direction;constructor(e,t={}){super(e),this.direction=t.direction||"horizontally"}refresh(){let t=this.editor.plugins.get("TableUtils").getSelectionAffectedTableCells(this.editor.model.document.selection);this.isEnabled=t.length===1}execute(){let e=this.editor.plugins.get("TableUtils"),t=e.getSelectionAffectedTableCells(this.editor.model.document.selection)[0];this.direction==="horizontally"?e.splitCellHorizontally(t,2):e.splitCellVertically(t,2)}};function ko(i,e,t){let{startRow:o,startColumn:n,endRow:l,endColumn:r}=e,s=t.createElement("table"),a=i.getAttribute("tableType");a&&t.setAttribute("tableType",a,s);let c=l-o+1;for(let u=0;u<c;u++)t.insertElement("tableRow",s,"end");let d=[...new C(i,{startRow:o,endRow:l,startColumn:n,endColumn:r,includeAllSlots:!0})];for(let{row:u,column:m,cell:h,isAnchor:f,cellAnchorRow:g,cellAnchorColumn:b}of d){let p=u-o,w=s.getChild(p);if(!f)(g<o||b<n)&&M(t,t.createPositionAt(w,"end"));else{let _=t.cloneElement(h);t.append(_,w),Mo(_,u,m,l,r,t)}}return li(s,i,o,n,t),s}function Lo(i,e,t=0){let o=[],n=new C(i,{startRow:t,endRow:e-1});for(let l of n){let{row:r,cellHeight:s}=l,a=r+s-1;r<e&&e<=a&&o.push(l)}return o}function Do(i,e,t){let o=i.parent,n=o.parent,l=o.index,r=parseInt(i.getAttribute("rowspan")),s=e-l,a={},c=r-s;c>1&&(a.rowspan=c);let d=parseInt(i.getAttribute("colspan")||"1");d>1&&(a.colspan=d);let u=l,m=u+s,h=[...new C(n,{startRow:u,endRow:m,includeAllSlots:!0})],f=null,g;for(let b of h){let{row:p,column:w,cell:_}=b;_===i&&g===void 0&&(g=w),g!==void 0&&g===w&&p===m&&(f=M(t,b.getPositionBefore(),a))}return y("rowspan",s,i,t),f}function Bo(i,e){let t=[],o=new C(i);for(let n of o){let{column:l,cellWidth:r}=n,s=l+r-1;l<e&&e<=s&&t.push(n)}return t}function Wo(i,e,t,o){let n=parseInt(i.getAttribute("colspan")),l=t-e,r={},s=n-l;s>1&&(r.colspan=s);let a=parseInt(i.getAttribute("rowspan")||"1");a>1&&(r.rowspan=a);let c=M(o,o.createPositionAfter(i),r);return y("colspan",l,i,o),c}function Mo(i,e,t,o,n,l){let r=parseInt(i.getAttribute("colspan")||"1"),s=parseInt(i.getAttribute("rowspan")||"1");if(t+r-1>n){let d=n-t+1;y("colspan",d,i,l,1)}if(e+s-1>o){let d=o-e+1;y("rowspan",d,i,l,1)}}function li(i,e,t,o,n){let l=parseInt(e.getAttribute("headingRows")||"0");if(l>0){let s=l-t;y("headingRows",s,i,n,0)}let r=parseInt(e.getAttribute("headingColumns")||"0");if(r>0){let s=r-o;y("headingColumns",s,i,n,0)}}function ze(i,e){let t=e.getColumns(i),o=new Array(t).fill(0);for(let{column:l}of new C(i))o[l]++;let n=o.reduce((l,r,s)=>r?l:[...l,s],[]);if(n.length>0){let l=n[n.length-1];return e.removeColumns(i,{at:l}),!0}return!1}function He(i,e){let t=[],o=e.getRows(i);for(let n=0;n<o;n++)i.getChild(n).isEmpty&&t.push(n);if(t.length>0){let n=t[t.length-1];return e.removeRows(i,{at:n}),!0}return!1}function Ft(i,e){ze(i,e)||He(i,e)}function Oo(i,e){let t=Array.from(new C(i,{startColumn:e.firstColumn,endColumn:e.lastColumn,row:e.lastRow}));if(t.every(({cellHeight:l})=>l===1))return e.lastRow;let n=t[0].cellHeight-1;return e.lastRow+n}function Fo(i,e){let t=Array.from(new C(i,{startRow:e.firstRow,endRow:e.lastRow,column:e.lastColumn}));if(t.every(({cellWidth:l})=>l===1))return e.lastColumn;let n=t[0].cellWidth-1;return e.lastColumn+n}var G=class extends I{direction;isHorizontal;constructor(e,t){super(e),this.direction=t.direction,this.isHorizontal=this.direction=="right"||this.direction=="left"}refresh(){let e=this._getMergeableCell();this.value=e,this.isEnabled=!!e}execute(){let e=this.editor.model,t=e.document,n=this.editor.plugins.get("TableUtils").getTableCellsContainingSelection(t.selection)[0],l=this.value,r=this.direction;e.change(s=>{let a=r=="right"||r=="down",c=a?n:l,d=a?l:n,u=d.parent;si(d,c,s);let m=this.isHorizontal?"colspan":"rowspan",h=parseInt(n.getAttribute(m)||"1"),f=parseInt(l.getAttribute(m)||"1");s.setAttribute(m,h+f,c),s.setSelection(s.createRangeIn(c));
1let g=this.editor.plugins.get("TableUtils"),b=u.findAncestor("table");Ft(b,g)})}_getMergeableCell(){let t=this.editor.model.document,o=this.editor.plugins.get("TableUtils"),n=o.getTableCellsContainingSelection(t.selection)[0];if(!n)return;let l=this.isHorizontal?ii(n,this.direction,o):ri(n,this.direction,o);if(!l)return;let r=this.isHorizontal?"rowspan":"colspan",s=parseInt(n.getAttribute(r)||"1");if(parseInt(l.getAttribute(r)||"1")===s)return l}};function ii(i,e,t){let n=i.parent.parent,l=e=="right"?i.nextSibling:i.previousSibling,r=(n.getAttribute("headingColumns")||0)>0;if(!l)return;let s=e=="right"?i:l,a=e=="right"?l:i,{column:c}=t.getCellLocation(s),{column:d}=t.getCellLocation(a),u=parseInt(s.getAttribute("colspan")||"1"),m=Fe(t,s),h=Fe(t,a);return r&&m!=h?void 0:c+u===d?l:void 0}function ri(i,e,t){let o=i.parent,n=o.parent,l=n.getChildIndex(o);if(e=="down"&&l===t.getRows(n)-1||e=="up"&&l===0)return null;let r=parseInt(i.getAttribute("rowspan")||"1"),s=n.getAttribute("headingRows")||0,a=e=="down"&&l+r===s,c=e=="up"&&l===s;if(s&&(a||c))return null;let d=parseInt(i.getAttribute("rowspan")||"1"),u=e=="down"?l+d:l,m=[...new C(n,{endRow:u})],f=m.find(b=>b.cell===i).column,g=m.find(({row:b,cellHeight:p,column:w})=>w!==f?!1:e=="down"?b===u:u===b+p);return g&&g.cell?g.cell:null}function si(i,e,t){il(i)||(il(e)&&t.remove(t.createRangeIn(e)),t.move(t.createRangeIn(i),t.createPositionAt(e,"end"))),t.remove(i)}function il(i){let e=i.getChild(0);return i.childCount==1&&e.is("element","paragraph")&&e.isEmpty}var Ue=class extends I{refresh(){let e=this.editor.plugins.get("TableUtils"),t=e.getSelectionAffectedTableCells(this.editor.model.document.selection),o=t[0];if(o){let n=o.findAncestor("table"),r=e.getRows(n)-1,s=e.getRowIndexes(t),a=s.first===0&&s.last===r;this.isEnabled=!a}else this.isEnabled=!1}execute(){let e=this.editor.model,t=this.editor.plugins.get("TableUtils"),o=t.getSelectionAffectedTableCells(e.document.selection),n=t.getRowIndexes(o),l=o[0],r=l.findAncestor("table"),s=t.getCellLocation(l).column;e.change(a=>{let c=n.last-n.first+1;t.removeRows(r,{at:n.first,rows:c});let d=ai(r,n.first,s,t.getRows(r));a.setSelection(a.createPositionAt(d,0))})}};function ai(i,e,t,o){let n=i.getChild(Math.min(e,o-1)),l=n.getChild(0),r=0;for(let s of n.getChildren()){if(r>t)return l;l=s,r+=parseInt(s.getAttribute("colspan")||"1")}return l}var je=class extends I{refresh(){let e=this.editor.plugins.get("TableUtils"),t=e.getSelectionAffectedTableCells(this.editor.model.document.selection),o=t[0];if(o){let n=o.findAncestor("table"),l=e.getColumns(n),{first:r,last:s}=e.getColumnIndexes(t);this.isEnabled=s-r<l-1}else this.isEnabled=!1}execute(){let e=this.editor.plugins.get("TableUtils"),[t,o]=di(this.editor.model.document.selection,e),n=t.parent.parent,l=[...new C(n)],r={first:l.find(a=>a.cell===t).column,last:l.find(a=>a.cell===o).column},s=ci(l,t,o,r);this.editor.model.change(a=>{let c=r.last-r.first+1;e.removeColumns(n,{at:r.first,columns:c}),a.setSelection(a.createPositionAt(s,0))})}};function ci(i,e,t,o){return parseInt(t.getAttribute("colspan")||"1")>1?t:e.previousSibling||t.nextSibling?t.nextSibling||e.previousSibling:o.first?i.reverse().find(({column:l})=>l<o.first).cell:i.reverse().find(({column:l})=>l>o.last).cell}function di(i,e){let t=e.getSelectionAffectedTableCells(i),o=t[0],n=t.pop(),l=[o,n];return o.isBefore(n)?l:l.reverse()}var Ge=class extends I{refresh(){let e=this.editor.plugins.get("TableUtils"),t=this.editor.model,o=e.getSelectionAffectedTableCells(t.document.selection);if(o.length===0){this.isEnabled=!1,this.value=!1;return}let n=o[0].findAncestor("table");this.isEnabled=t.schema.checkAttribute(n,"headingRows"),this.value=o.every(l=>this._isInHeading(l,l.parent.parent))}execute(e={}){if(e.forceValue===this.value)return;let t=this.editor.plugins.get("TableUtils"),o=this.editor.model,n=t.getSelectionAffectedTableCells(o.document.selection),l=n[0].findAncestor("table"),{first:r,last:s}=t.getRowIndexes(n),a=this.value?r:s+1,c=l.getAttribute("headingRows")||0;o.change(d=>{if(a){let u=a>c?c:0,m=Lo(l,a,u);for(let{cell:h}of m)Do(h,a,d)}y("headingRows",a,l,d,0)})}_isInHeading(e,t){let o=parseInt(t.getAttribute("headingRows")||"0");return!!o&&e.parent.index<o}},$e=class extends I{refresh(){let e=this.editor.plugins.get("TableUtils"),t=this.editor.model,o=e.getSelectionAffectedTableCells(t.document.selection);if(o.length===0){this.isEnabled=!1,this.value=!1;return}
1let n=o[0].findAncestor("table");this.isEnabled=t.schema.checkAttribute(n,"headingColumns"),this.value=o.every(l=>Fe(e,l))}execute(e={}){if(e.forceValue===this.value)return;let t=this.editor.plugins.get("TableUtils"),o=this.editor.model,n=t.getSelectionAffectedTableCells(o.document.selection),l=n[0].findAncestor("table"),{first:r,last:s}=t.getColumnIndexes(n),a=this.value?r:s+1;o.change(c=>{if(a){let d=Bo(l,a);for(let{cell:u,column:m}of d)Wo(u,m,a,c)}y("headingColumns",a,l,c,0)})}};var vl=5,Ke=40,Sl=2,Rl=3;function Vl(i){let e=new Set;for(let t of i.document.differ.getChanges()){let o=null;switch(t.type){case"insert":o=["table","tableRow","tableCell"].includes(t.name)?t.position:null;break;case"remove":o=["tableRow","tableCell"].includes(t.name)?t.position:null;break;case"attribute":t.range.start.nodeAfter&&(o=["table","tableRow","tableCell"].includes(t.range.start.nodeAfter.name)?t.range.start:null);break}if(!o)continue;let n=o.nodeAfter&&o.nodeAfter.is("element","table")?o.nodeAfter:o.findAncestor("table");for(let l of i.createRangeOn(n).getItems())l.is("element","table")&&Q(l)&&e.add(l)}return e}function El(i,e){return Ke*100/No(i,e)}function No(i,e){let t=rl(i,"tbody",e)||rl(i,"thead",e),o=e.editing.view.domConverter.mapViewToDom(t);return qe(o)}function rl(i,e,t){return[...[...t.editing.mapper.toViewElement(i).getChildren()].find(l=>l.is("element","table")).getChildren()].find(l=>l.is("element",e))}function qe(i){let e=ie.window.getComputedStyle(i);return e.boxSizing==="border-box"?parseFloat(e.width)-parseFloat(e.paddingLeft)-parseFloat(e.paddingRight)-parseFloat(e.borderLeftWidth)-parseFloat(e.borderRightWidth):parseFloat(e.width)}function Pl(i,e){let t=e.getCellLocation(i).column,o=i.getAttribute("colspan")||1;return{leftEdge:t,rightEdge:t+o-1}}function A(i){let e=Math.pow(10,Sl),t=typeof i=="number"?i:parseFloat(i);return Math.round(t*e)/e}function kl(i,e,t){return i<=e?A(e):i>=t?A(t):A(i)}function Ll(i,e){return Array(i).fill(e)}function Z(i){return i.map(e=>typeof e=="number"?e:parseFloat(e)).filter(e=>!Number.isNaN(e)).reduce((e,t)=>e+t,0)}function Nt(i){let e=i.map(n=>n==="auto"||n===void 0?"auto":parseFloat(n.replace("%",""))),t=ui(e),o=Z(t);return o!==100&&(t=t.map(n=>A(n*100/o)).map((n,l,r)=>{if(!(l===r.length-1))return n;let a=Z(r);return A(n+100-a)})),t.map(n=>n+"%")}function ui(i){let e=i.filter(n=>n==="auto").length;if(e===0)return i.map(n=>A(n));let t=Z(i),o=Math.max((100-t)/e,vl);return i.map(n=>n==="auto"?o:n).map(n=>A(n))}function Dl(i){let e=ie.window.getComputedStyle(i);return e.boxSizing==="border-box"?parseInt(e.width):parseFloat(e.width)+parseFloat(e.paddingLeft)+parseFloat(e.paddingRight)+parseFloat(e.borderWidth)}function zo(i,e,t,o){for(let n=0;n<Math.max(t.length,i.length);n++){let l=i[n],r=t[n];r?l?o.setAttribute("columnWidth",r,l):o.appendElement("tableColumn",{columnWidth:r},e):o.remove(l)}}function Q(i){if(i.is("element","tableColumnGroup"))return i;let e=i.getChildren();return Array.from(e).find(t=>t.is("element","tableColumnGroup"))}function ee(i){let e=Q(i);return e?Array.from(e.getChildren()):[]}function Bl(i){return ee(i).map(e=>e.getAttribute("columnWidth"))}function Wl(i,e){return ee(i).reduce((o,n)=>{let l=n.getAttribute("columnWidth"),r=n.getAttribute("colSpan");if(!r)return o.push(l),o;for(let s=0;s<r;s++)o.push(l);return e.removeAttribute("colSpan",n),o},[])}var x=class extends T{static get pluginName(){return"TableUtils"}static get isOfficialPlugin(){return!0}init(){this.decorate("insertColumns"),this.decorate("insertRows")}getCellLocation(e){let t=e.parent,o=t.parent,n=o.getChildIndex(t),l=new C(o,{row:n});for(let{cell:r,row:s,column:a}of l)if(r===e)return{row:s,column:a};}createTable(e,t){let o=e.createElement("table"),n=t.rows||2,l=t.columns||2;return fo(e,o,0,n,l),t.headingRows&&y("headingRows",Math.min(t.headingRows,n),o,e,0),t.headingColumns&&y("headingColumns",Math.min(t.headingColumns,l),o,e,0),o}insertRows(e,t={}){let o=this.editor.model,n=t.at||0,l=t.rows||1,r=t.copyStructureFromAbove!==void 0,s=t.copyStructureFromAbove?n-1:n,a=this.getRows(e),c=this.getColumns(e);if(n>a)throw new Gt("tableutils-insertrows-insert-out-of-range",this,{options:t});o.change(d=>{let u=e.getAttribute("headingRows")||0;if(u>n&&y("headingRows",u+l,e,d,0),!r&&(n===0||n===a)){fo(d,e,n,l,c);return}let m=r?Math.max(n,s):n,h=new C(e,{endRow:m}),f=new Array(c).fill(1);for(let{row:g,column:b,cellHeight:p,cellWidth:w,cell:_}of h){let R=g+p-1,k=g<n&&n<=R,te=g<=s&&s<=R;k?(d.setAttribute("rowspan",p+l,_),f[b]=-w):r&&te&&(f[b]=w)}for(let g=0;g<l;g++){let b=d.createElement("tableRow");d.insert(b,e,n);for(let p=0;p<f.length;p++){let w=f[p],_=d.createPositionAt(b,"end");w>0&&M(d,_,w>1?{colspan:w}:void 0),p+=Math.abs(w)-1}}})}insertColumns(e,t={}){let o=this.editor.model,n=t.at||0,l=t.columns||1;o.change(r=>{let s=e.getAttribute("headingColumns");n<s&&r.setAttribute("headingColumns",s+l,e);let a=this.getColumns(e);if(n===0||a===n){for(let d of e.getChildren())d.is("element","tableRow")&&X(l,r,r.createPositionAt(d,n?"end":0));return}let c=new C(e,{column:n,includeAllSlots:!0});for(let d of c){let{row:u,cell:m,cellAnchorColumn:h,cellAnchorRow:f,cellWidth:g,cellHeight:b}=d;if(h<n){r.setAttribute("colspan",g+l,m);let p=f+b-1;for(let w=u;w<=p;w++)c.skipRow(w)}else X(l,r,d.getPositionBefore())}})}removeRows(e,t){let o=this.editor.model,n=t.rows||1,l=this.getRows(e),r=t.at,s=r+n-1;if(s>l-1)throw new Gt("tableutils-removerows-row-index-out-of-range",this,{table:e,options:t});o.change(a=>{let c={first:r,last:s},{cellsToMove:d,cellsToTrim:u}=fi(e,c);if(d.size){let m=s+1;gi(e,m,d,a)}for(let m=s;m>=r;m--)a.remove(e.getChild(m));for(let{rowspan:m,cell:h}of u)y("rowspan",m,h,a);hi(e,c,a),ze(e,this)||He(e,this)})}
1removeColumns(e,t){let o=this.editor.model,n=t.at,l=t.columns||1,r=t.at+l-1;o.change(s=>{mi(e,{first:n,last:r},s);let a=ee(e);for(let c=r;c>=n;c--){for(let{cell:d,column:u,cellWidth:m}of[...new C(e)])u<=c&&m>1&&u+m>c?y("colspan",m-1,d,s):u===c&&s.remove(d);if(a[c]){let d=c===0?a[1]:a[c-1],u=parseFloat(a[c].getAttribute("columnWidth")),m=parseFloat(d.getAttribute("columnWidth"));s.remove(a[c]),s.setAttribute("columnWidth",u+m+"%",d)}}He(e,this)||ze(e,this)})}splitCellVertically(e,t=2){let o=this.editor.model,l=e.parent.parent,r=parseInt(e.getAttribute("rowspan")||"1"),s=parseInt(e.getAttribute("colspan")||"1");o.change(a=>{if(s>1){let{newCellsSpan:c,updatedSpan:d}=sl(s,t);y("colspan",d,e,a);let u={};c>1&&(u.colspan=c),r>1&&(u.rowspan=r);let m=s>t?t-1:s-1;X(m,a,a.createPositionAfter(e),u)}if(s<t){let c=t-s,d=[...new C(l)],{column:u}=d.find(({cell:g})=>g===e),m=d.filter(({cell:g,cellWidth:b,column:p})=>{let w=g!==e&&p===u,_=p<u&&p+b>u;return w||_});for(let{cell:g,cellWidth:b}of m)a.setAttribute("colspan",b+c,g);let h={};r>1&&(h.rowspan=r),X(c,a,a.createPositionAfter(e),h);let f=l.getAttribute("headingColumns")||0;f>u&&y("headingColumns",f+c,l,a)}})}splitCellHorizontally(e,t=2){let o=this.editor.model,n=e.parent,l=n.parent,r=l.getChildIndex(n),s=parseInt(e.getAttribute("rowspan")||"1"),a=parseInt(e.getAttribute("colspan")||"1");o.change(c=>{if(s>1){let d=[...new C(l,{startRow:r,endRow:r+s-1,includeAllSlots:!0})],{newCellsSpan:u,updatedSpan:m}=sl(s,t);y("rowspan",m,e,c);let{column:h}=d.find(({cell:b})=>b===e),f={};u>1&&(f.rowspan=u),a>1&&(f.colspan=a);let g=0;for(let b of d){let{column:p,row:w}=b,_=w>=r+m,R=p===h;g>=u&&R&&(g=0),_&&R&&(g||X(1,c,b.getPositionBefore(),f),g++)}}if(s<t){let d=t-s,u=[...new C(l,{startRow:0,endRow:r})];for(let{cell:f,cellHeight:g,row:b}of u)if(f!==e&&b+g>r){let p=g+d;c.setAttribute("rowspan",p,f)}let m={};a>1&&(m.colspan=a),fo(c,l,r+1,d,1,m);let h=l.getAttribute("headingRows")||0;h>r&&y("headingRows",h+d,l,c)}})}getColumns(e){return[...e.getChild(0).getChildren()].filter(o=>o.is("element","tableCell")).reduce((o,n)=>{let l=parseInt(n.getAttribute("colspan")||"1");return o+l},0)}getRows(e){return Array.from(e.getChildren()).reduce((t,o)=>o.is("element","tableRow")?t+1:t,0)}createTableWalker(e,t={}){return new C(e,t)}getSelectedTableCells(e){let t=[];for(let o of this.sortRanges(e.getRanges())){let n=o.getContainedElement();n&&n.is("element","tableCell")&&t.push(n)}return t}getTableCellsContainingSelection(e){let t=[];for(let o of e.getRanges()){let n=o.start.findAncestor("tableCell");n&&t.push(n)}return t}getSelectionAffectedTableCells(e){let t=this.getSelectedTableCells(e);return t.length?t:this.getTableCellsContainingSelection(e)}getRowIndexes(e){let t=e.map(o=>o.parent.index);return this._getFirstLastIndexesObject(t)}
1getColumnIndexes(e){let t=e[0].findAncestor("table"),n=[...new C(t)].filter(l=>e.includes(l.cell)).map(l=>l.column);return this._getFirstLastIndexesObject(n)}isSelectionRectangular(e){if(e.length<2||!this._areCellInTheSameTableSection(e))return!1;let t=new Set,o=new Set,n=0;for(let r of e){let{row:s,column:a}=this.getCellLocation(r),c=parseInt(r.getAttribute("rowspan"))||1,d=parseInt(r.getAttribute("colspan"))||1;t.add(s),o.add(a),c>1&&t.add(s+c-1),d>1&&o.add(a+d-1),n+=c*d}return pi(t,o)==n}sortRanges(e){return Array.from(e).sort(bi)}_getFirstLastIndexesObject(e){let t=e.sort((l,r)=>l-r),o=t[0],n=t[t.length-1];return{first:o,last:n}}_areCellInTheSameTableSection(e){let t=e[0].findAncestor("table"),o=this.getRowIndexes(e),n=parseInt(t.getAttribute("headingRows"))||0;if(!this._areIndexesInSameSection(o,n))return!1;let l=this.getColumnIndexes(e),r=parseInt(t.getAttribute("headingColumns"))||0;return this._areIndexesInSameSection(l,r)}_areIndexesInSameSection({first:e,last:t},o){let n=e<o,l=t<o;return n===l}};function fo(i,e,t,o,n,l={}){for(let r=0;r<o;r++){let s=i.createElement("tableRow");i.insert(s,e,t),X(n,i,i.createPositionAt(s,"end"),l)}}function X(i,e,t,o={}){for(let n=0;n<i;n++)M(e,t,o)}function sl(i,e){if(i<e)return{newCellsSpan:1,updatedSpan:1};let t=Math.floor(i/e),o=i-t*e+t;return{newCellsSpan:t,updatedSpan:o}}function mi(i,e,t){let o=i.getAttribute("headingColumns")||0;if(o&&e.first<o){let n=Math.min(o-1,e.last)-e.first+1;t.setAttribute("headingColumns",o-n,i)}}function hi(i,{first:e,last:t},o){let n=i.getAttribute("headingRows")||0;if(e<n){let l=t<n?n-(t-e+1):e;y("headingRows",l,i,o,0)}}function fi(i,{first:e,last:t}){let o=new Map,n=[];for(let{row:l,column:r,cellHeight:s,cell:a}of new C(i,{endRow:t})){let c=l+s-1;if(l>=e&&l<=t&&c>t){let m=t-l+1,h=s-m;o.set(r,{cell:a,rowspan:h})}if(l<e&&c>=e){let m;c>=t?m=t-e+1:m=c-e+1,n.push({cell:a,rowspan:s-m})}}return{cellsToMove:o,cellsToTrim:n}}function gi(i,e,t,o){let l=[...new C(i,{includeAllSlots:!0,row:e})],r=i.getChild(e),s;for(let{column:a,cell:c,isAnchor:d}of l)if(t.has(a)){let{cell:u,rowspan:m}=t.get(a),h=s?o.createPositionAfter(s):o.createPositionAt(r,0);o.move(o.createRangeOn(u),h),y("rowspan",m,u,o),s=u}else d&&(s=c)}function bi(i,e){let t=i.start,o=e.start;return t.isBefore(o)?-1:1}function pi(i,e){let t=Array.from(i.values()),o=Array.from(e.values()),n=Math.max(...t),l=Math.min(...t),r=Math.max(...o),s=Math.min(...o);return(n-l+1)*(r-s+1)}var Xe=class extends I{refresh(){let e=this.editor.plugins.get(x),t=e.getSelectedTableCells(this.editor.model.document.selection);this.isEnabled=e.isSelectionRectangular(t)}execute(){let e=this.editor.model,t=this.editor.plugins.get(x);e.change(o=>{let n=t.getSelectedTableCells(e.document.selection),l=n.shift(),{mergeWidth:r,mergeHeight:s}=Ci(l,n,t);y("colspan",r,l,o),y("rowspan",s,l,o);for(let c of n)wi(c,l,o);let a=l.findAncestor("table");Ft(a,t),o.setSelection(l,"in")})}};function wi(i,e,t){al(i)||(al(e)&&t.remove(t.createRangeIn(e)),t.move(t.createRangeIn(i),t.createPositionAt(e,"end"))),t.remove(i)}function al(i){let e=i.getChild(0);return i.childCount==1&&e.is("element","paragraph")&&e.isEmpty}function Ci(i,e,t){let o=0,n=0;for(let c of e){let{row:d,column:u}=t.getCellLocation(c);o=cl(c,u,o,"colspan"),n=cl(c,d,n,"rowspan")}let{row:l,column:r}=t.getCellLocation(i),s=o-r,a=n-l;return{mergeWidth:s,mergeHeight:a}}function cl(i,e,t,o){let n=parseInt(i.getAttribute(o)||"1");return Math.max(t,e+n)}var Je=class extends I{constructor(e){super(e),this.affectsData=!1}refresh(){let t=this.editor.plugins.get("TableUtils").getSelectionAffectedTableCells(this.editor.model.document.selection);this.isEnabled=t.length>0}execute(){let e=this.editor.model,t=this.editor.plugins.get("TableUtils"),o=t.getSelectionAffectedTableCells(e.document.selection),n=t.getRowIndexes(o),l=o[0].findAncestor("table"),r=[];for(let s=n.first;s<=n.last;s++)for(let a of l.getChild(s).getChildren())r.push(e.createRangeOn(a));e.change(s=>{s.setSelection(r)})}},Ye=class extends I{constructor(e){super(e),this.affectsData=!1}refresh(){let t=this.editor.plugins.get("TableUtils").getSelectionAffectedTableCells(this.editor.model.document.selection);this.isEnabled=t.length>0}execute(){let e=this.editor.plugins.get("TableUtils"),t=this.editor.model,o=e.getSelectionAffectedTableCells(t.document.selection),n=o[0],l=o.pop(),r=n.findAnce
vendor: 9,059 bytes, line 1
1stor("table"),s=e.getCellLocation(n),a=e.getCellLocation(l),c=Math.min(s.column,a.column),d=Math.max(s.column,a.column),u=[];for(let m of new C(r,{startColumn:c,endColumn:d}))u.push(t.createRangeOn(m.cell));t.change(m=>{m.setSelection(u)})}};function Ml(i){i.document.registerPostFixer(e=>Ti(e,i))}function Ti(i,e){let t=e.document.differ.getChanges(),o=!1,n=new Set;for(let l of t){let r=null;l.type=="insert"&&l.name=="table"&&(r=l.position.nodeAfter),(l.type=="insert"||l.type=="remove")&&(l.name=="tableRow"||l.name=="tableCell")&&(r=l.position.findAncestor("table")),Ai(l)&&(r=l.range.start.findAncestor("table")),r&&!n.has(r)&&(o=_i(r,i)||o,o=yi(r,i)||o,n.add(r))}return o}function _i(i,e){let t=!1,o=xi(i);if(o.length){t=!0;for(let n of o)y("rowspan",n.rowspan,n.cell,e,1)}return t}function yi(i,e){let t=!1,o=Ii(i),n=[];for(let[a,c]of o.entries())!c&&i.getChild(a).is("element","tableRow")&&n.push(a);if(n.length){t=!0;for(let a of n.reverse())e.remove(i.getChild(a)),o.splice(a,1)}let l=o.filter((a,c)=>i.getChild(c).is("element","tableRow")),r=l[0];if(!l.every(a=>a===r)){let a=l.reduce((c,d)=>d>c?d:c,0);for(let[c,d]of l.entries()){let u=a-d;if(u){for(let m=0;m<u;m++)M(e,e.createPositionAt(i.getChild(c),"end"));t=!0}}}return t}function xi(i){let e=parseInt(i.getAttribute("headingRows")||"0"),t=Array.from(i.getChildren()).reduce((n,l)=>l.is("element","tableRow")?n+1:n,0),o=[];for(let{row:n,cell:l,cellHeight:r}of new C(i)){if(r<2)continue;let a=n<e?e:t;if(n+r>a){let c=a-n;o.push({cell:l,rowspan:c})}}return o}function Ii(i){let e=new Array(i.childCount).fill(0);for(let{rowIndex:t}of new C(i,{includeAllSlots:!0}))e[t]++;return e}function Ai(i){if(i.type!=="attribute")return!1;let e=i.attributeKey;return e==="headingRows"||e==="colspan"||e==="rowspan"}function Ol(i){i.document.registerPostFixer(e=>vi(e,i))}function vi(i,e){let t=e.document.differ.getChanges(),o=!1;for(let n of t)n.type=="insert"&&n.name=="table"&&(o=Si(n.position.nodeAfter,i)||o),n.type=="insert"&&n.name=="tableRow"&&(o=Fl(n.position.nodeAfter,i)||o),n.type=="insert"&&n.name=="tableCell"&&(o=_o(n.position.nodeAfter,i)||o),(n.type=="remove"||n.type=="insert")&&Ri(n)&&(o=_o(n.position.parent,i)||o);return o}function Si(i,e){let t=!1;for(let o of i.getChildren())o.is("element","tableRow")&&(t=Fl(o,e)||t);return t}function Fl(i,e){let t=!1;for(let o of i.getChildren())t=_o(o,e)||t;return t}function _o(i,e){if(i.childCount==0)return e.insertElement("paragraph",i),!0;let t=Array.from(i.getChildren()).filter(o=>o.is("$text"));for(let o of t)e.wrap(e.createRangeOn(o),"paragraph");return!!t.length}function Ri(i){return i.position.parent.is("element","tableCell")?i.type=="insert"&&i.name=="$text"||i.type=="remove":!1}function Nl(i,e){let t=i.document.differ;for(let o of t.getChanges()){let n,l=!1;if(o.type=="attribute"){let c=o.range.start.nodeAfter;if(!c||!c.is("element","table")||o.attributeKey!="headingRows"&&o.attributeKey!="headingColumns")continue;n=c,l=o.attributeKey=="headingRows"}else(o.name=="tableRow"||o.name=="tableCell")&&(n=o.position.findAncestor("table"),l=o.name=="tableRow");if(!n)continue;let r=n.getAttribute("headingRows")||0,s=n.getAttribute("headingColumns")||0,a=new C(n);for(let c of a){let u=c.row<r||c.column<s?"th":"td",m=e.mapper.toViewElement(c.cell);m&&m.is("element")&&m.name!=u&&e.reconvertItem(l?c.cell.parent:c.cell)}}}function zl(i,e){let t=i.document.differ,o=new Set;for(let n of t.getChanges()){let l=n.type=="attribute"?n.range.start.parent:n.position.parent;l.is("element","tableCell")&&o.add(l)}for(let n of o.values()){let l=Array.from(n.getChildren()).filter(r=>Vi(r,e.mapper));for(let r of l)e.reconvertItem(r)}}function Vi(i,e){if(!i.is("element","paragraph"))return!1;let t=e.toViewElement(i);return t?Po(i)!==t.is("element","span"):!1}var z=class extends T{_additionalSlots;static get pluginName(){return"TableEditing"}static get isOfficialPlugin(){return!0}static get requires(){return[x]}constructor(e){super(e),this._additionalSlots=[]}init(){let e=this.editor,t=e.model,o=t.schema,n=e.conversion,l=e.plugins.get(x);o.register("table",{inheritAllFrom:"$blockObject",allowAttributes:["headingRows","headingColumns"]}),o.register("tableRow",{allowIn:"table",isLimit:!0}),o.register("tableCell",{allowContentOf:"$container",allowIn:"tableRow",allowAttributes:["colspan","rowspan"],isLimit:!0,isSelectable:!0}),n.for("upcast").add(yl()),n.for("upcast").add(xl()),n.for("editingDowncast").elementToStructure({model:{name:"table",attributes:["headingRows"]},view:wo(l,{asWidget:!0,additionalSlots:this._additionalSlots})}),n.for("dataDowncast").elementToStructure({model:{name:"table",attributes:["headingRows"]},view:wo(l,{additionalSlots:this._additionalSlots})}),n.for("upcast").elementToElement({model:"tableRow",view:"tr"}),n.for("upcast").add(Il()),n.for("downcast").elementToElement({model:"tableRow",view:Al()}),n.for("upcast").elementToElement({model:"tableCell",view:"td"}),n.for("upcast").elementToElement({model:"tableCell",view:"th"}),n.for("upcast").add(bo("td")),n.for("upcast").add(bo("th")),n.for("editingDowncast").elementToElement({model:"tableCell",view:Co({asWidget:!0})}),n.for("dataDowncast").elementToElement({model:"tableCell",view:Co()}),n.for("editingDowncast").elementToElement({model:"paragraph",view:To({asWidget:!0}),converterPriority:"high"}),n.for("dataDowncast").elementToElement({model:"paragraph",view:To(),converterPriority:"high"}),n.for("downcast").attributeToAttribute({model:"colspan",view:"colspan"}),n.for("upcast").attributeToAttribute({model:{key:"colspan",value:dl("colspan")},view:"colspan"}),n.for("downcast").attributeToAttribute({model:"rowspan",view:"rowspan"}),n.for("upcast").attributeToAttribute({model:{key:"rowspan",value:dl("rowspan")},view:"rowspan"}),e.config.define("table.defaultHeadings.rows",0),e.config.define("table.defaultHeadings.columns",0),e.commands.add("insertTable",new Ne(e)),e.commands.add("insertTableRowAbove",new fe(e,{order:"above"})),e.commands.add("insertTableRowBelow",new fe(e,{order:"below"})),e.commands.add("insertTableColumnLeft",new ge(e,{order:"left"})),e.commands.add("insertTableColumnRight",new ge(e,{order:"right"})),e.commands.add("removeTableRow",new Ue(e)),e.commands.add("removeTableColumn",new je(e)),e.commands.add("splitTableCellVertically",new be(e,{direction:"vertically"})),e.commands.add("splitTableCellHorizontally",new be(e,{direction:"horizontally"})),e.commands.add("mergeTableCells",new Xe(e)),e.commands.add("mergeTableCellRight",new G(e,{direction:"right"})),e.commands.add("mergeTableCellLeft",new G(e,{direction:"left"})),e.commands.add("mergeTableCellDown",new G(e,{direction:"down"})),e.commands.add("mergeTableCellUp",new G(e,{direction:"up"})),e.commands.add("setTableColumnHeader",new $e(e)),e.commands.add("setTableRowHeader",new Ge(e)),e.commands.add("selectTableRow",new Je(e)),e.commands.add("selectTableColumn",new Ye(e)),Ml(t),Ol(t),this.listenTo(t.document,"change:data",()=>{Nl(t,e.editing),zl(t,e.editing)})}registerAdditionalSlot(e){this._additionalSlots.push(e)}};function dl(i){return e=>{let t=parseInt(e.getAttribute(i));return Number.isNaN(t)||t<=0?null:t}}var $=class extends F{items;keystrokes;focusTracker;constructor(e){super(e);let t=this.bindTemplate;this.items=this._createGridCollection(),this.keystrokes=new ne,this.focusTracker=new oe,this.set("rows",0),this.set("columns",0),this.bind("label").to(this,"columns",this,"rows",(o,n)=>`${n} \xD7 ${o}`),this.setTemplate({tag:"div",attributes:{class:["ck"]},children:[{tag:"div",attributes:{class:["ck-insert-table-dropdown__grid"]},on:{"[email protected]":t.to("boxover")},children:this.items},{tag:"div",attributes:{class:["ck","ck-insert-table-dropdown__label"],"aria-hidden":!0},children:[{text:t.to("label")}]}],on:{mousedown:t.to(o=>{o.preventDefault()}),click:t.to(()=>{this.fire("execute")})}}),this.on("boxover",(o,n)=>{let{row:l,column:r}=n.target.dataset;this.items.get((parseInt(l,10)-1)*10+(parseInt(r,10)-1)).focus()}),this.focusTracker.on("change:focusedElement",(o,n,l)=>{if(!l)return;let{row:r,column:s}=l.dataset;this.set({rows:parseInt(r),columns:parseInt(s)})}),this.on("change:columns",()=>this._highlightGridBoxes()),this.on("change:rows",()=>this._highlightGridBoxes())}render(){super.render(),In({keystrokeHandler:this.keystrokes,focusTracker:this.focusTracker,gridItems:this.items,numberOfColumns:10,uiLanguageDirection:this.locale&&this.locale.uiLanguageDirection});for(let e of this.items)this.focusTracker.add(e.element);this.keystrokes.listenTo(this.element)}reset(){this.set({rows:1,columns:1})}focus(){this.items.get(0).focus()}focusLast(){this.items.get(0).focus()}_highlightGridBoxes(){let e=this.rows,t=this.columns;this.items.map((o,n)=>{let l=Math.floor(n/10),r=n%10,s=l<e&&r<t;o.set("isOn",s)})}_createGridButton(e,t,o,n){let l=new L(e);return l.set({label:n,class:"ck-insert-table-dropdown-grid-box"}),l.extendTemplate({attributes:{"data-row":t,"data-column":o}}),l}_createGridCollection(){let e=[];for(let t=0;t<100;t++){let o=Math.floor(t/10),n=t%10,l=`${o+1}
1 \xD7 ${n+1}`;e.push(this._createGridButton(this.locale,o+1,n+1,l))}return this.createCollection(e)}},Ze=class extends T{static get pluginName(){return"TableUI"}static get isOfficialPlugin(){return!0}init(){let e=this.editor,t=this.editor.t,n=e.locale.contentLanguageDirection==="ltr";e.ui.componentFactory.add("insertTable",l=>{let r=e.commands.get("insertTable"),s=j(l);s.bind("isEnabled").to(r),s.buttonView.set({icon:qt,label:t("Insert table"),tooltip:!0});let a;return s.on("change:isOpen",()=>{a||(a=new $(l),s.panelView.children.add(a),a.delegate("execute").to(s),s.on("execute",()=>{e.execute("insertTable",{rows:a.rows,columns:a.columns}),e.editing.view.focus()}))}),s}),e.ui.componentFactory.add("menuBar:insertTable",l=>{let r=e.commands.get("insertTable"),s=new Zt(l),a=new $(l);return a.delegate("execute").to(s),s.on("change:isOpen",(c,d,u)=>{u||a.reset()}),a.on("execute",()=>{e.execute("insertTable",{rows:a.rows,columns:a.columns}),e.editing.view.focus()}),s.buttonView.set({label:t("Table"),icon:qt}),s.panelView.children.add(a),s.bind("isEnabled").to(r),s}),e.ui.componentFactory.add("tableColumn",l=>{let r=[{type:"switchbutton",model:{commandName:"setTableColumnHeader",label:t("Header column"),bindIsOn:!0}},{type:"separator"},{type:"button",model:{commandName:n?"insertTableColumnLeft":"insertTableColumnRight",label:t("Insert column left")}},{type:"button",model:{commandName:n?"insertTableColumnRight":"insertTableColumnLeft",label:t("Insert column right")}},{type:"button",model:{commandName:"removeTableColumn",label:t("Delete column")}},{type:"button",model:{commandName:"selectTableColumn",label:t("Select column")}}];return this._prepareDropdown(t("Column"),pn,r,l)}),e.ui.componentFactory.add("tableRow",l=>{let r=[{type:"switchbutton",model:{commandName:"setTableRowHeader",label:t("Header row"),bindIsOn:!0}},{type:"separator"},{type:"button",model:{commandName:"insertTableRowAbove",label:t("Insert row above")}},{type:"button",model:{commandName:"insertTableRowBelow",label:t("Insert row below")}},{type:"button",model:{commandName:"removeTableRow",label:t("Delete row")}},{type:"button",model:{commandName:"selectTableRow",label:t("Select row")}}];return this._prepareDropdown(t("Row"),Cn,r,l)}),e.ui.componentFactory.add("mergeTableCells",l=>{let r=[{type:"button",model:{commandName:"mergeTableCellUp",label:t("Merge cell up")}},{type:"button",model:{commandName:n?"mergeTableCellRight":"mergeTableCellLeft",label:t("Merge cell right")}},{type:"button",model:{commandName:"mergeTableCellDown",label:t("Merge cell down")}},{type:"button",model:{commandName:n?"mergeTableCellLeft":"mergeTableCellRight",label:t("Merge cell left")}},{type:"separator"},{type:"button",model:{commandName:"splitTableCellVertically",label:t("Split cell vertically")}},{type:"button",model:{commandName:"splitTableCellHorizontally",label:t("Split cell horizontally")}}];return this._prepareMergeSplitButtonDropdown(t("Merge cells"),wn,r,l)})}_prepareDropdown(e,t,o,n){let l=this.editor,r=j(n),s=this._fillDropdownWithListOptions(r,o);return r.buttonView.set({label:e,icon:t,tooltip:!0}),r.bind("isEnabled").toMany(s,"isEnabled",(...a)=>a.some(c=>c)),this.listenTo(r,"execute",a=>{l.execute(a.source.commandName),a.source instanceof xn||l.editing.view.focus()}),r}_prepareMergeSplitButtonDropdown(e,t,o,n){let l=this.editor,r=j(n,Qt),s="mergeTableCells",a=l.commands.get(s),c=this._fillDropdownWithListOptions(r,o);return r.buttonView.set({label:e,icon:t,tooltip:!0,isEnabled:!0}),r.bind("isEnabled").toMany([a,...c],"isEnabled",(...d)=>d.some(u=>u)),this.listenTo(r.buttonView,"execute",()=>{l.execute(s),l.editing.view.focus()}),this.listenTo(r,"execute",d=>{l.execute(d.source.commandName),l.editing.view.focus()}),r}_fillDropdownWithListOptions(e,t){let o=this.editor,n=[],l=new ve;for(let r of t)Ei(r,o,n,l);return se(e,l),n}};function Ei(i,e,t,o){if(i.type==="button"||i.type==="switchbutton"){let n=i.model=new Ee(i.model),{commandName:l,bindIsOn:r}=i.model,s=e.commands.get(l);t.push(s),n.set({commandName:l}),n.bind("isEnabled").to(s),r&&n.bind("isOn").to(s,"value"),n.set({withText:!0})}o.add(i)}var P=class extends T{static get pluginName(){return"TableSelection"}static get isOfficialPlugin(){return!0}static get requires(){return[x,x]}init(){let e=this.editor,t=e.model,o=e.editing.view;this.listenTo(t,"deleteContent",(n,l)=>this._handleDeleteContent(n,l),{priority:"high"}),this.listenTo(o.document,"insertText",(n,l)=>this._handleInsertTextEvent(n,l),{priority:"high"}
vendor: 5,077 bytes, line 1
1),this._defineSelectionConverter(),this._enablePluginDisabling()}getSelectedTableCells(){let e=this.editor.plugins.get(x),t=this.editor.model.document.selection,o=e.getSelectedTableCells(t);return o.length==0?null:o}getSelectionAsFragment(){let e=this.editor.plugins.get(x),t=this.getSelectedTableCells();return t?this.editor.model.change(o=>{let n=o.createDocumentFragment(),{first:l,last:r}=e.getColumnIndexes(t),{first:s,last:a}=e.getRowIndexes(t),c=t[0].findAncestor("table"),d=a,u=r;if(e.isSelectionRectangular(t)){let f={firstColumn:l,lastColumn:r,firstRow:s,lastRow:a};d=Oo(c,f),u=Fo(c,f)}let h=ko(c,{startRow:s,startColumn:l,endRow:d,endColumn:u},o);return o.insert(h,n,0),n}):null}setCellSelection(e,t){let o=this._getCellsToSelect(e,t);this.editor.model.change(n=>{n.setSelection(o.cells.map(l=>n.createRangeOn(l)),{backward:o.backward})})}getFocusCell(){let o=[...this.editor.model.document.selection.getRanges()].pop().getContainedElement();return o&&o.is("element","tableCell")?o:null}getAnchorCell(){let e=this.editor.model.document.selection,o=Se(e.getRanges()).getContainedElement();return o&&o.is("element","tableCell")?o:null}_defineSelectionConverter(){let e=this.editor,t=new Set;e.conversion.for("editingDowncast").add(n=>n.on("selection",(l,r,s)=>{let a=s.writer;o(a);let c=this.getSelectedTableCells();if(!c)return;for(let u of c){let m=s.mapper.toViewElement(u);a.addClass("ck-editor__editable_selected",m),t.add(m)}let d=s.mapper.toViewElement(c[c.length-1]);a.setSelection(d,0)},{priority:"lowest"}));function o(n){for(let l of t)n.removeClass("ck-editor__editable_selected",l);t.clear()}}_enablePluginDisabling(){let e=this.editor;this.on("change:isEnabled",()=>{if(!this.isEnabled){let t=this.getSelectedTableCells();if(!t)return;e.model.change(o=>{let n=o.createPositionAt(t[0],0),l=e.model.schema.getNearestSelectionRange(n);o.setSelection(l)})}})}_handleDeleteContent(e,t){let o=this.editor.plugins.get(x),n=t[0],l=t[1],r=this.editor.model,s=!l||l.direction=="backward",a=o.getSelectedTableCells(n);a.length&&(e.stop(),r.change(c=>{let d=a[s?a.length-1:0];r.change(m=>{for(let h of a)r.deleteContent(m.createSelection(h,"in"))});let u=r.schema.getNearestSelectionRange(c.createPositionAt(d,0));n.is("documentSelection")?c.setSelection(u):n.setTo(u)}))}_handleInsertTextEvent(e,t){let o=this.editor,n=this.getSelectedTableCells();if(!n)return;let l=o.editing.view,r=o.editing.mapper,s=n.map(a=>l.createRangeOn(r.toViewElement(a)));t.selection=l.createSelection(s),t.preventDefault()}_getCellsToSelect(e,t){let o=this.editor.plugins.get("TableUtils"),n=o.getCellLocation(e),l=o.getCellLocation(t),r=Math.min(n.row,l.row),s=Math.max(n.row,l.row),a=Math.min(n.column,l.column),c=parseInt(t.getAttribute("colspan")||"1")-1,d=Math.max(n.column,l.column+c),u=new Array(s-r+1).fill(null).map(()=>[]),m={startRow:r,endRow:s,startColumn:a,endColumn:d};for(let{row:g,cell:b}of new C(e.findAncestor("table"),m))u[g-r].push(b);let h=l.row<n.row,f=l.column<n.column;return h&&u.reverse(),f&&u.forEach(g=>g.reverse()),{cells:u.flat(),backward:h||f}}},Qe=class extends T{static get pluginName(){return"TableClipboard"}static get isOfficialPlugin(){return!0}static get requires(){return[ke,no,P,x]}init(){let t=this.editor.editing.view.document;this.listenTo(t,"copy",(o,n)=>this._onCopyCut(o,n)),this.listenTo(t,"cut",(o,n)=>this._onCopyCut(o,n)),this._listenToContentInsertion(),this.decorate("_replaceTableSlotCell")}_listenToContentInsertion(){let{editor:e}=this,t=e.plugins.get(no),o=e.plugins.get(P),n=!1;t.on("contentInsertion",(l,r)=>{n=r.method==="paste"}),this.listenTo(e.model,"insertContent",(l,[r,s])=>{(n||o.getSelectedTableCells()!==null)&&this._onInsertContent(l,r,s)},{priority:"high"}),t.on("contentInsertion",()=>{n=!1},{priority:"lowest"})}_onCopyCut(e,t){let o=this.editor.editing.view,n=this.editor.plugins.get(P),l=this.editor.plugins.get(ke);n.getSelectedTableCells()&&(e.name=="cut"&&!this.editor.model.canEditAt(this.editor.model.document.selection)||(t.preventDefault(),e.stop(),this.editor.model.enqueueChange({isUndoable:e.name==="cut"},()=>{let r=l._copySelectedFragmentWithMarkers(e.name,this.editor.model.document.selection,()=>n.getSelectionAsFragment());o.document.fire("clipboardOutput",{dataTransfer:t.dataTransfer,content:this.editor.data.toView(r),method:e.name})})))}_onInsertContent(e,t,o){if(o&&!o.is("documentSelection"))return;let n=this.editor.model,l=this.editor.plugins.get(x),r=this.editor.plugins.get(ke),s=this.getTableIfOnlyTableInContent(t,n);if(!s)return;let a=l.getSelectionAffectedTableCells(n.document.selection);if(!a.length){Ft(s,l);return}e.stop(),t.is("documentFragment")?r._pasteMarkersIntoTransformedElement(t.markers,c=>this._replaceSelectedCells(s,a,c)):this.editor.model.change(c=>{this._replaceSelectedCells(s,a,c)})}_replaceSelectedCells(e,t,o){let n=this.editor.plugins.get(x),l={width:n.getColumns(e),height:n.getRows(e)},r=Pi(t,l,o,n),s=r.lastRow-r.firstRow+1,a=r.lastColumn-r.firstColumn+1,c={startRow:0,startColumn:0,endRow:Math.min(s,l.height)-1,endColumn:Math.min(a,l.width)-1};e=ko(e,c,o);
1let d=t[0].findAncestor("table"),u=this._replaceSelectedCellsWithPasted(e,l,d,r,o);if(this.editor.plugins.get("TableSelection").isEnabled){let m=n.sortRanges(u.map(h=>o.createRangeOn(h)));o.setSelection(m)}else o.setSelection(u[0],0);return d}_replaceSelectedCellsWithPasted(e,t,o,n,l){let{width:r,height:s}=t,a=Li(e,r,s),c=[...new C(o,{startRow:n.firstRow,endRow:n.lastRow,startColumn:n.firstColumn,endColumn:n.lastColumn,includeAllSlots:!0})],d=[],u;for(let b of c){let{row:p,column:w}=b;w===n.firstColumn&&(u=b.getPositionBefore());let _=p-n.firstRow,R=w-n.firstColumn,k=a[_%s][R%r],te=k?l.cloneElement(k):null,K=this._replaceTableSlotCell(b,te,u,l);K&&(Mo(K,p,w,n.lastRow,n.lastColumn,l),d.push(K),u=l.createPositionAfter(K))}let m=parseInt(o.getAttribute("headingRows")||"0"),h=parseInt(o.getAttribute("headingColumns")||"0"),f=n.firstRow<m&&m<=n.lastRow,g=n.firstColumn<h&&h<=n.lastColumn;if(f){let b={first:n.firstColumn,last:n.lastColumn},p=yo(o,m,b,l,n.firstRow);d.push(...p)}if(g){let b={first:n.firstRow,last:n.lastRow},p=xo(o,h,b,l);d.push(...p)}return d}_replaceTableSlotCell(e,t,o,n){let{cell:l,isAnchor:r}=e;return r&&n.remove(l),t?(n.insert(t,o),t):null}getTableIfOnlyTableInContent(e,t){if(!e.is("documentFragment")&&!e.is("element"))return null;if(e.is("element","table"))return e;if(e.childCount==1&&e.getChild(0).is("element","table"))return e.getChild(0);let o=t.createRangeIn(e);for(let n of o.getItems())if(n.is("element","table")){let l=t.createRange(o.start,t.createPositionBefore(n));if(t.hasContent(l,{ignoreWhitespaces:!0}))return null;let r=t.createRange(t.createPositionAfter(n),o.end);return t.hasContent(r,{ignoreWhitespaces:!0})?null:n}return null}};function Pi(i,e,t,o){let n=i[0].findAncestor("table"),l=o.getColumnIndexes(i),r=o.getRowIndexes(i),s={firstColumn:l.first,lastColumn:l.last,firstRow:r.first,lastRow:r.last},a=i.length===1;return a&&(s.lastRow+=e.height-1,s.lastColumn+=e.width-1,ki(n,s.lastRow+1,s.lastColumn+1,o)),a||!o.isSelectionRectangular(i)?Di(n,s,t):(s.lastRow=Oo(n,s),s.lastColumn=Fo(n,s)),s}function ki(i,e,t,o){let n=o.getColumns(i),l=o.getRows(i);t>n&&o.insertColumns(i,{at:n,columns:t-n}),e>l&&o.insertRows(i,{at:l,rows:e-l})}function Li(i,e,t){let o=new Array(t).fill(null).map(()=>new Array(e).fill(null));for(let{column:n,row:l,cell:r}of new C(i))o[l][n]=r;return o}function Di(i,e,t){let{firstRow:o,lastRow:n,firstColumn:l,lastColumn:r}=e,s={first:o,last:n},a={first:l,last:r};xo(i,l,s,t),xo(i,r+1,s,t),yo(i,o,a,t),yo(i,n+1,a,t,o)}function yo(i,e,t,o,n=0){return e<1?void 0:Lo(i,e,n).filter(({column:s,cellWidth:a})=>Hl(s,a,t)).map(({cell:s})=>Do(s,e,o))}function xo(i,e,t,o){return e<1?void 0:Bo(i,e).filter(({row:r,cellHeight:s})=>Hl(r,s,t)).map(({cell:r,column:s})=>Wo(r,s,e,o))}function Hl(i,e,t){let o=i+e-1,{first:n,last:l}=t,r=i>=n&&i<=l,s=i<n&&o>=n;return r||s}var et=class extends T{static get pluginName(){return"TableKeyboard"}static get isOfficialPlugin(){return!0}static get requires(){return[P,x]}init(){let e=this.editor,o=e.editing.view.document,n=e.t;this.listenTo(o,"arrowKey",(...l)=>this._onArrowKey(...l),{context:"table"}),this.listenTo(o,"tab",(...l)=>this._handleTabOnSelectedTable(...l),{context:"figure"}),this.listenTo(o,"tab",(...l)=>this._handleTab(...l),{context:["th","td"]}),e.accessibility.addKeystrokeInfoGroup({id:"table",label:n("Keystrokes that can be used in a table cell"),keystrokes:[{label:n("Move the selection to the next cell"),keystroke:"Tab"},{label:n("Move the selection to the previous cell"),keystroke:"Shift+Tab"},{label:n("Insert a new table row (when in the last cell of a table)"),keystroke:"Tab"},{label:n("Navigate through the table"),keystroke:[["arrowup"],["arrowright"],["arrowdown"],["arrowleft"]]}]})}_handleTabOnSelectedTable(e,t){let o=this.editor,l=o.model.document.selection.getSelectedElement();!l||!l.is("element","table")||(t.preventDefault(),t.stopPropagation(),e.stop(),o.model.change(r=>{r.setSelection(r.createRangeIn(l.getChild(0).getChild(0)))}))}_handleTab(e,t){let o=this.editor,n=this.editor.plugins.get(x),l=this.editor.plugins.get("TableSelection"),r=o.model.document.selection,s=!t.shiftKey,a=n.getTableCellsContainingSelection(r)[0];if(a||(a=l.getFocusCell()),!a)return;t.preventDefault(),t.stopPropagation(),e.stop();let c=a.parent,d=c.parent,u=d.getChildIndex(c),m=c.getChildIndex(a),h=m===0;if(!s&&h&&u===0){o.model.change(p=>{p.setSelection(p.createRangeOn(d))});return}let f=m===c.childCount-1,g=u===n.getRows(d)-1;if(s&&g&&f&&(o.execute("insertTableRowBelow"),u===n.getRows(d)-1)){o.model.change(p=>{p.setSelection(p.createRangeOn(d))});return}let b;if(s&&f)b=d.getChild(u+1).getChild(0);else if(!s&&h){let p=d.getChild(u-1);b=p.getChild(p.childCount-1)}else b=c.getChild(m+(s?1:-1));o.model.change(p=>{p.setSelection(p.createRangeIn(b))})}_onArrowKey(e,t){let o=this.editor,n=t.keyCode,l=on(n,o.locale.contentLanguageDirection);this._handleArrowKeys(l,t.shiftKey)&&(t.preventDefault(),t.stopPropagation(),e.stop())}_handleArrowKeys(e,t){let o=this.editor.plugins.get(x),n=this.editor.plugins.get("TableSelection"),l=this.editor.model,r=l.document.selection,s=["right","down"].includes(e),a=o.getSelectedTableCells(r);if(a.length){let d;return t?d=n.getFocusCell():d=s?a[a.length-1]:a[0],this._navigateFromCellInDirection(d,e,t),!0}
vendor: 4,616 bytes, line 1
1let c=r.focus.findAncestor("tableCell");if(!c)return!1;if(!r.isCollapsed)if(t){if(r.isBackward==s&&!r.containsEntireContent(c))return!1}else{let d=r.getSelectedElement();if(!d||!l.schema.isObject(d))return!1}return this._isSelectionAtCellEdge(r,c,s)?(this._navigateFromCellInDirection(c,e,t),!0):!1}_isSelectionAtCellEdge(e,t,o){let n=this.editor.model,l=this.editor.model.schema,r=o?e.getLastPosition():e.getFirstPosition();if(!l.getLimitElement(r).is("element","tableCell"))return n.createPositionAt(t,o?"end":0).isTouching(r);let s=n.createSelection(r);return n.modifySelection(s,{direction:o?"forward":"backward"}),r.isEqual(s.focus)}_navigateFromCellInDirection(e,t,o=!1){let n=this.editor.model,l=e.findAncestor("table"),r=[...new C(l,{includeAllSlots:!0})],{row:s,column:a}=r[r.length-1],c=r.find(({cell:w})=>w==e),{row:d,column:u}=c;switch(t){case"left":u--;break;case"up":d--;break;case"right":u+=c.cellWidth;break;case"down":d+=c.cellHeight;break}let m=d<0||d>s,h=u<0&&d<=0,f=u>a&&d>=s;if(m||h||f){n.change(w=>{w.setSelection(w.createRangeOn(l))});return}u<0?(u=o?0:a,d--):u>a&&(u=o?a:0,d++);let g=r.find(w=>w.row==d&&w.column==u).cell,b=["right","down"].includes(t),p=this.editor.plugins.get("TableSelection");if(o&&p.isEnabled){let w=p.getAnchorCell()||e;p.setCellSelection(w,g)}else{let w=n.createPositionAt(g,b?0:"end");n.change(_=>{_.setSelection(w)})}}},pe=class extends An{domEventType=["mousemove","mouseleave"];onDomEvent(e){this.fire(e.type,e)}},tt=class extends T{static get pluginName(){return"TableMouse"}static get isOfficialPlugin(){return!0}static get requires(){return[P,x]}init(){this.editor.editing.view.addObserver(pe),this._enableShiftClickSelection(),this._enableMouseDragSelection()}_enableShiftClickSelection(){let e=this.editor,t=e.plugins.get(x),o=!1,n=e.plugins.get(P);this.listenTo(e.editing.view.document,"mousedown",(l,r)=>{let s=e.model.document.selection;if(!this.isEnabled||!n.isEnabled||!r.domEvent.shiftKey)return;let a=n.getAnchorCell()||t.getTableCellsContainingSelection(s)[0];if(!a)return;let c=this._getModelTableCellFromDomEvent(r);c&&ul(a,c)&&(o=!0,n.setCellSelection(a,c),r.preventDefault())}),this.listenTo(e.editing.view.document,"mouseup",()=>{o=!1}),this.listenTo(e.editing.view.document,"selectionChange",l=>{o&&l.stop()},{priority:"highest"})}_enableMouseDragSelection(){let e=this.editor,t,o,n=!1,l=!1,r=e.plugins.get(P);this.listenTo(e.editing.view.document,"mousedown",(s,a)=>{!this.isEnabled||!r.isEnabled||a.domEvent.shiftKey||a.domEvent.ctrlKey||a.domEvent.altKey||(t=this._getModelTableCellFromDomEvent(a))}),this.listenTo(e.editing.view.document,"mousemove",(s,a)=>{if(!a.domEvent.buttons||!t)return;let c=this._getModelTableCellFromDomEvent(a);c&&ul(t,c)&&(o=c,!n&&o!=t&&(n=!0)),n&&(l=!0,r.setCellSelection(t,o),a.preventDefault())}),this.listenTo(e.editing.view.document,"mouseup",()=>{n=!1,l=!1,t=null,o=null}),this.listenTo(e.editing.view.document,"selectionChange",s=>{l&&s.stop()},{priority:"highest"})}_getModelTableCellFromDomEvent(e){let t=e.target,o=this.editor.editing.view.createPositionAt(t,0);return this.editor.editing.mapper.toModelPosition(o).parent.findAncestor("tableCell",{includeSelf:!0})}};function ul(i,e){return i.parent.parent==e.parent.parent}var ot=class extends T{static get requires(){return[z,Ze,P,tt,et,Qe,Zo]}static get pluginName(){return"Table"}static get isOfficialPlugin(){return!0}},nt=class extends T{static get pluginName(){return"PlainTableOutput"}static get isOfficialPlugin(){return!0}static get requires(){return[ot]}init(){let e=this.editor;e.conversion.for("dataDowncast").elementToStructure({model:"table",view:Bi,converterPriority:"high"}),e.plugins.has("TableCaption")&&e.conversion.for("dataDowncast").elementToElement({model:"caption",view:(t,{writer:o})=>{if(t.parent.name==="table")return o.createContainerElement("caption")},converterPriority:"high"}),e.plugins.has("TableProperties")&&Wi(e),e.conversion.for("upcast").add(t=>{t.on("element:table",(o,n,l)=>{l.consumable.consume(n.viewItem,{classes:"table"})})})}};function Bi(i,{writer:e}){let t=i.getAttribute("headingRows")||0,o=e.createSlot(c=>c.is("element","tableRow")&&c.index<t),n=e.createSlot(c=>c.is("element","tableRow")&&c.index>=t),l=e.createSlot(c=>!c.is("element","tableRow")),r=e.createContainerElement("thead",null,o),s=e.createContainerElement("tbody",null,n),a=[];return t&&a.push(r),t<i.childCount&&a.push(s),e.createContainerElement("table",{class:"table"},[l,...a])}function Wi(i){let e={"border-width":"tableBorderWidth","border-color":"tableBorderColor","border-style":"tableBorderStyle","background-color":"tableBackgroun
1dColor"};for(let[t,o]of Object.entries(e))i.conversion.for("dataDowncast").add(n=>n.on(`attribute:${o}:table`,(l,r,s)=>{let{item:a,attributeNewValue:c}=r,{mapper:d,writer:u}=s;if(!s.consumable.consume(a,l.name))return;let m=d.toViewElement(a);c?u.setStyle(t,c,m):u.removeStyle(t,m)},{priority:"high"}))}function we(i){let e=Ho(i);return e||Ie(i)}function Ho(i){let e=i.getSelectedElement();return e&&Ul(e)?e:null}function Ie(i){let e=i.getFirstPosition();if(!e)return null;let t=e.parent;for(;t;){if(t.is("element")&&Ul(t))return t;t=t.parent}return null}function Ul(i){return!!i.getCustomProperty("table")&&Qo(i)}var Io=class extends T{static get requires(){return[Ut]}static get pluginName(){return"TableToolbar"}static get isOfficialPlugin(){return!0}afterInit(){let e=this.editor,t=e.t,o=e.plugins.get(Ut),n=e.config.get("table.contentToolbar"),l=e.config.get("table.tableToolbar");n&&o.register("tableContent",{ariaLabel:t("Table toolbar"),items:n,getRelatedElement:Ie}),l&&o.register("table",{ariaLabel:t("Table toolbar"),items:l,getRelatedElement:Ho})}},lt=class extends F{options;focusTracker;focusCycler;_focusables;dropdownView;inputView;keystrokes;_stillTyping;constructor(e,t){super(e),this.set("value",""),this.set("isReadOnly",!1),this.set("isFocused",!1),this.set("isEmpty",!0),this.options=t,this.focusTracker=new oe,this._focusables=new Pe,this.dropdownView=this._createDropdownView(),this.inputView=this._createInputTextView(),this.keystrokes=new ne,this._stillTyping=!1,this.focusCycler=new Re({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this.setTemplate({tag:"div",attributes:{class:["ck","ck-input-color"]},children:[this.dropdownView,this.inputView]}),this.on("change:value",(o,n,l)=>this._setInputValue(l))}render(){super.render(),[this.inputView,this.dropdownView.buttonView].forEach(e=>{this.focusTracker.add(e.element),this._focusables.add(e)}),this.keystrokes.listenTo(this.element)}focus(e){e===-1?this.focusCycler.focusLast():this.focusCycler.focusFirst()}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}_createDropdownView(){let e=this.locale,t=e.t,o=this.bindTemplate,n=this._createColorSelector(e),l=j(e),r=new F;return r.setTemplate({tag:"span",attributes:{class:["ck","ck-input-color__button__preview"],style:{backgroundColor:o.to("value")}},children:[{tag:"span",attributes:{class:["ck","ck-input-color__button__preview__no-color-indicator",o.if("value","ck-hidden",s=>s!="")]}}]}),l.buttonView.extendTemplate({attributes:{class:"ck-input-color__button"}}),l.buttonView.children.add(r),l.buttonView.label=t("Color picker"),l.buttonView.tooltip=!0,l.panelPosition=e.uiLanguageDirection==="rtl"?"se":"sw",l.panelView.children.add(n),l.bind("isEnabled").to(this,"isReadOnly",s=>!s),l.on("change:isOpen",(s,a,c)=>{c&&(n.updateSelectedColors(),n.showColorGridsFragment())}),l}_createInputTextView(){let e=this.locale,t=new yn(e);return t.extendTemplate({on:{blur:t.bindTemplate.to("blur")}}),t.value=this.value,t.bind("isReadOnly","hasError").to(this),this.bind("isFocused","isEmpty").to(t),t.on("input",()=>{let o=t.element.value,n=this.options.colorDefinitions.find(l=>o===l.label);this._stillTyping=!0,this.value=n&&n.color||o}),t.on("blur",()=>{this._stillTyping=!1,this._setInputValue(t.element.value)}),t.delegate("input").to(this),t}_createColorSelector(e){let t=e.t,o=this.options.defaultColorValue||"",n=t(o?"Restore default":"Remove color"),l=new Tn(e,{colors:this.options.colorDefinitions,columns:this.options.columns,removeButtonLabel:n,colorPickerLabel:t("Color picker"),colorPickerViewConfig:this.options.colorPickerConfig===!1?!1:{...this.options.colorPickerConfig,hideInput:!0}});l.appendUI(),l.on("execute",(s,a)=>{if(a.source==="colorPickerSaveButton"){this.dropdownView.isOpen=!1;return}this.value=a.value||o,this.fire("input"),a.source!=="colorPicker"&&(this.dropdownView.isOpen=!1)});let r=this.value;return l.on("colorPicker:cancel",()=>{this.value=r,this.fire("input"),this.dropdownView.isOpen=!1}),l.colorGridsFragmentView.colorPickerButtonView.on("execute",()=>{r=this.value}),l.bind("selectedColor").to(this,"value"),l}_setInputValue(e){if(!this._stillTyping){let t=ml(e),o=this.options.colorDefinitions.find(n=>t===ml(n.color));
vendor: 5,004 bytes, line 1
1o?this.inputView.value=o.label:this.inputView.value=e||""}}};function ml(i){return i.replace(/([(,])\s+/g,"$1").replace(/^\s+|\s+(?=[),\s]|$)/g,"").replace(/,|\s/g," ")}var Uo=i=>i==="";function zt(i){return{none:i("None"),solid:i("Solid"),dotted:i("Dotted"),dashed:i("Dashed"),double:i("Double"),groove:i("Groove"),ridge:i("Ridge"),inset:i("Inset"),outset:i("Outset")}}function jo(i){return i('The color is invalid. Try "#FF0000" or "rgb(255,0,0)" or "red".')}function Go(i){return i('The value is invalid. Try "10px" or "2em" or simply "2".')}function Ce(i){return i=i.trim().toLowerCase(),Uo(i)||Vn(i)}function Y(i){return i=i.trim(),Uo(i)||jl(i)||ro(i)||En(i)}function $o(i){return i=i.trim(),Uo(i)||jl(i)||ro(i)}function Ko(i,e){let t=new ve,o=zt(i.t);for(let n in o){let l={type:"button",model:new Ee({_borderStyleValue:n,label:o[n],role:"menuitemradio",withText:!0})};n==="none"?l.model.bind("isOn").to(i,"borderStyle",r=>e==="none"?!r:r===n):l.model.bind("isOn").to(i,"borderStyle",r=>r===n),t.add(l)}return t}function it(i){let{view:e,icons:t,toolbar:o,labels:n,propertyName:l,nameToValue:r,defaultValue:s}=i;for(let a in n){let c=new L(e.locale);c.set({role:"radio",isToggleable:!0,label:n[a],icon:t[a],tooltip:n[a]});let d=r?r(a):a;c.bind("isOn").to(e,l,u=>{let m=u;return u===""&&s&&(m=s),d===m}),c.on("execute",()=>{!s&&d&&e[l]===d?e[l]=void 0:e[l]=d}),o.items.add(c)}}var Te=[{color:"hsl(0, 0%, 0%)",label:"Black"},{color:"hsl(0, 0%, 30%)",label:"Dim grey"},{color:"hsl(0, 0%, 60%)",label:"Grey"},{color:"hsl(0, 0%, 90%)",label:"Light grey"},{color:"hsl(0, 0%, 100%)",label:"White",hasBorder:!0},{color:"hsl(0, 75%, 60%)",label:"Red"},{color:"hsl(30, 75%, 60%)",label:"Orange"},{color:"hsl(60, 75%, 60%)",label:"Yellow"},{color:"hsl(90, 75%, 60%)",label:"Light green"},{color:"hsl(120, 75%, 60%)",label:"Green"},{color:"hsl(150, 75%, 60%)",label:"Aquamarine"},{color:"hsl(180, 75%, 60%)",label:"Turquoise"},{color:"hsl(210, 75%, 60%)",label:"Light blue"},{color:"hsl(240, 75%, 60%)",label:"Blue"},{color:"hsl(270, 75%, 60%)",label:"Purple"}];function _e(i){return(e,t,o)=>{let n=new lt(e.locale,{colorDefinitions:Mi(i.colorConfig),columns:i.columns,defaultColorValue:i.defaultColorValue,colorPickerConfig:i.colorPickerConfig});return n.inputView.set({id:t,ariaDescribedById:o}),n.bind("isReadOnly").to(e,"isEnabled",l=>!l),n.bind("hasError").to(e,"errorText",l=>!!l),n.on("input",()=>{e.errorText=null}),e.bind("isEmpty","isFocused").to(n),n}}function jl(i){let e=parseFloat(i);return!Number.isNaN(e)&&i===String(e)}function Mi(i){return i.map(e=>({color:e.model,label:e.label,options:{hasBorder:e.hasBorder}}))}var rt=class extends F{options;focusTracker;keystrokes;children;borderStyleDropdown;borderWidthInput;borderColorInput;backgroundInput;paddingInput;widthInput;heightInput;horizontalAlignmentToolbar;verticalAlignmentToolbar;saveButtonView;cancelButtonView;_focusables;_focusCycler;constructor(e,t){super(e),this.set({borderStyle:"",borderWidth:"",borderColor:"",padding:"",backgroundColor:"",width:"",height:"",horizontalAlignment:"",verticalAlignment:""}),this.options=t;let{borderStyleDropdown:o,borderWidthInput:n,borderColorInput:l,borderRowLabel:r}=this._createBorderFields(),{backgroundRowLabel:s,backgroundInput:a}=this._createBackgroundFields(),{widthInput:c,operatorLabel:d,heightInput:u,dimensionsLabel:m}=this._createDimensionFields(),{horizontalAlignmentToolbar:h,verticalAlignmentToolbar:f,alignmentLabel:g}=this._createAlignmentFields();this.focusTracker=new oe,this.keystrokes=new ne,this.children=this.createCollection(),this.borderStyleDropdown=o,this.borderWidthInput=n,this.borderColorInput=l,this.backgroundInput=a,this.paddingInput=this._createPaddingField(),this.widthInput=c,this.heightInput=u,this.horizontalAlignmentToolbar=h,this.verticalAlignmentToolbar=f;let{saveButtonView:b,cancelButtonView:p}=this._createActionButtons();this.saveButtonView=b,this.cancelButtonView=p,this._focusables=new Pe,this._focusCycler=new Re({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this.children.add(new Yt(e,{label:this.t("Cell properties")})),this.children.add(new v(e,{labelView:r,children:[r,o,l,n],class:"ck-table-form__border-row"})),this.children.add(new v(e,{labelView:s,children:[s,a],class:"ck-table-form__background-row"})),this.children.add(new v(e,{children:[new v(e,{labelView:m,children:[m,c,d,u],class:"ck-table-form__dimensions-row"}),new v(e,{children:[this.paddingInput],class:"ck-table-cell-properties-form__padding-row"})]})),this.children.add(new v(e,{labelView:g,children:[g,h,f],class:"ck-table-cell-properties-form__alignment-row"})),this.children.add(new v(e,{children:[this.saveButtonView,this.cancelButtonView],class:"ck-table-form__action-row"})),this.setTemplate({tag:"form",attributes:{class:["ck","ck-form","ck-table-form","ck-table-cell-properties-form"],tabindex:"-1"},children:this.children})}render(){super.render(),oo({view:this}
vendor: 6,223 bytes, line 1
1),[this.borderColorInput,this.backgroundInput].forEach(e=>{this._focusCycler.chain(e.fieldView.focusCycler)}),[this.borderStyleDropdown,this.borderColorInput,this.borderWidthInput,this.backgroundInput,this.widthInput,this.heightInput,this.paddingInput,this.horizontalAlignmentToolbar,this.verticalAlignmentToolbar,this.saveButtonView,this.cancelButtonView].forEach(e=>{this._focusables.add(e),this.focusTracker.add(e.element)}),this.keystrokes.listenTo(this.element)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}_createBorderFields(){let e=this.options.defaultTableCellProperties,t={style:e.borderStyle,width:e.borderWidth,color:e.borderColor},o=_e({colorConfig:this.options.borderColors,columns:5,defaultColorValue:t.color,colorPickerConfig:this.options.colorPickerConfig}),n=this.locale,l=this.t,r=l("Style"),s=new W(n);s.text=l("Border");let a=zt(l),c=new S(n,to);c.set({label:r,class:"ck-table-form__border-style"}),c.fieldView.buttonView.set({ariaLabel:r,ariaLabelledBy:void 0,isOn:!1,withText:!0,tooltip:r}),c.fieldView.buttonView.bind("label").to(this,"borderStyle",m=>a[m||"none"]),c.fieldView.on("execute",m=>{this.borderStyle=m.source._borderStyleValue}),c.bind("isEmpty").to(this,"borderStyle",m=>!m),se(c.fieldView,Ko(this,t.style),{role:"menu",ariaLabel:r});let d=new S(n,N);d.set({label:l("Width"),class:"ck-table-form__border-width"}),d.fieldView.bind("value").to(this,"borderWidth"),d.bind("isEnabled").to(this,"borderStyle",Be),d.fieldView.on("input",()=>{this.borderWidth=d.fieldView.element.value});let u=new S(n,o);return u.set({label:l("Color"),class:"ck-table-form__border-color"}),u.fieldView.bind("value").to(this,"borderColor"),u.bind("isEnabled").to(this,"borderStyle",Be),u.fieldView.on("input",()=>{this.borderColor=u.fieldView.value}),this.on("change:borderStyle",(m,h,f,g)=>{Be(f)||(this.borderColor="",this.borderWidth=""),Be(g)||(this.borderColor=t.color,this.borderWidth=t.width)}),{borderRowLabel:s,borderStyleDropdown:c,borderColorInput:u,borderWidthInput:d}}_createBackgroundFields(){let e=this.locale,t=this.t,o=new W(e);o.text=t("Background");let n=_e({colorConfig:this.options.backgroundColors,columns:5,defaultColorValue:this.options.defaultTableCellProperties.backgroundColor,colorPickerConfig:this.options.colorPickerConfig}),l=new S(e,n);return l.set({label:t("Color"),class:"ck-table-cell-properties-form__background"}),l.fieldView.bind("value").to(this,"backgroundColor"),l.fieldView.on("input",()=>{this.backgroundColor=l.fieldView.value}),{backgroundRowLabel:o,backgroundInput:l}}_createDimensionFields(){let e=this.locale,t=this.t,o=new W(e);o.text=t("Dimensions");let n=new S(e,N);n.set({label:t("Width"),class:"ck-table-form__dimensions-row__width"}),n.fieldView.bind("value").to(this,"width"),n.fieldView.on("input",()=>{this.width=n.fieldView.element.value});let l=new F(e);l.setTemplate({tag:"span",attributes:{class:["ck-table-form__dimension-operator"]},children:[{text:"\xD7"}]});let r=new S(e,N);return r.set({label:t("Height"),class:"ck-table-form__dimensions-row__height"}),r.fieldView.bind("value").to(this,"height"),r.fieldView.on("input",()=>{this.height=r.fieldView.element.value}),{dimensionsLabel:o,widthInput:n,operatorLabel:l,heightInput:r}}_createPaddingField(){let e=this.locale,t=this.t,o=new S(e,N);return o.set({label:t("Padding"),class:"ck-table-cell-properties-form__padding"}),o.fieldView.bind("value").to(this,"padding"),o.fieldView.on("input",()=>{this.padding=o.fieldView.element.value}),o}_createAlignmentFields(){let e=this.locale,t=this.t,o=new W(e),n={left:an,center:rn,right:dn,justify:sn,top:un,middle:cn,bottom:ln};o.text=t("Table cell text alignment");let l=new Ve(e),r=e.contentLanguageDirection==="rtl";l.set({isCompact:!0,role:"radiogroup",ariaLabel:t("Horizontal text alignment toolbar")}),it({view:this,icons:n,toolbar:l,labels:this._horizontalAlignmentLabels,propertyName:"horizontalAlignment",nameToValue:a=>{if(r){if(a==="left")return"right";if(a==="right")return"left"}return a},defaultValue:this.options.defaultTableCellProperties.horizontalAlignment});let s=new Ve(e);return s.set({isCompact:!0,role:"radiogroup",ariaLabel:t("Vertical text alignment toolbar")}),it({view:this,icons:n,toolbar:s,labels:this._verticalAlignmentLabels,propertyName:"verticalAlignment",defaultValue:this.options.defaultTableCellProperties.verticalAlignment}),{horizontalAlignmentToolbar:l,verticalAlignmentToolbar:s,alignmentLabel:o}}_createActionButtons(){let e=this.locale,t=this.t,o=new L(e),n=new L(e),l=[this.borderWidthInput,this.borderColorInput,this.backgroundInput,this.paddingInput];return o.set({label:t("Save"),icon:Kt,class:"ck-button-save",type:"submit",withText:!0}),o.bind("isEnabled").toMany(l,"errorText",(...r)=>r.every(s=>!s)),n.set({label:t("Cancel"),icon:$t,class:"ck-button-cancel",withText:!0}),n.delegate("execute").to(this,"cancel"),{saveButtonView:o,cancelButtonView:n}}get _horizontalAlignmentLabels(){let e=this.locale,t=this.t,o=t("Align cell text to the left"),n=t("Align cell text to the center"),l=t("Align cell text to the right"),r=t("Justify cell text");return e.uiLanguageDirection==="rtl"?{right:l,center:n,left:o,justify:r}:{left:o,center:n,right:l,justify:r}}get _verticalAlignmentLabels(){let e=this.t;return{top:e("Align cell text to the top"),middle:e("Align cell text to the middle"),bottom:e("Align cell text to the bottom")}}};function Be(i){return i!=="none"}var Ao=[O.defaultPositions.northArrowSouth,O.defaultPositions.northArrowSouthWest,O.defaultPositions.northArrowSouthEast,O.defaultPositions.southArrowNorth,O.defaultPositions.southArrowNorthWest,O.defaultPositions.southArrowNorthEast,O.defaultPositions.viewportStickyNorth];function qo(i,e){let t=i.plugins.get("ContextualBalloon"),o=i.editing.view.document.selection,n;e==="cell"?Ie(o)&&(n=Jo(i)):we(o)&&(n=Xo(i)),n&&t.updatePosition(n)}function Xo(i){let e=i.model.document.selection,t=E(e),o=i.editing.mapper.toViewElement(t);return{target:i.editing.view.domConverter.mapViewToDom(o),positions:Ao}}function Jo(i){let e=i.editing.mapper,t=i.editing.view.domConverter,o=i.model.document.selection;if(o.rangeCount>1)return{target:()=>Oi(o.getRanges(),i),positions:Ao};
1let n=Gl(o.getFirstPosition()),l=e.toViewElement(n);return{target:t.mapViewToDom(l),positions:Ao}}function Gl(i){return i.nodeAfter&&i.nodeAfter.is("element","tableCell")?i.nodeAfter:i.findAncestor("tableCell")}function Oi(i,e){let t=e.editing.mapper,o=e.editing.view.domConverter,n=Array.from(i).map(l=>{let r=Gl(l.start),s=t.toViewElement(r);return new le(o.mapViewToDom(s))});return le.getBoundingRect(n)}function H(i){if(!i||!so(i))return i;let{top:e,right:t,bottom:o,left:n}=i;if(e==t&&t==o&&o==n)return e}function U(i,e){let t=parseFloat(i);return Number.isNaN(t)||String(t)!==String(i)?i:`${t}${e}`}function Ae(i,e={}){let t={borderStyle:"none",borderWidth:"",borderColor:"",backgroundColor:"",width:"",height:"",...i};return e.includeAlignmentProperty&&!t.alignment&&(t.alignment="center"),e.includePaddingProperty&&!t.padding&&(t.padding=""),e.includeVerticalAlignmentProperty&&!t.verticalAlignment&&(t.verticalAlignment="middle"),e.includeHorizontalAlignmentProperty&&!t.horizontalAlignment&&(t.horizontalAlignment=e.isRightToLeftContent?"right":"left"),t}function Yo(i,e){return Ae({borderStyle:"double",borderColor:"hsl(0, 0%, 70%)",borderWidth:"1px",...i},e)}function Ht(i,e){return Ae({borderStyle:"solid",borderColor:"hsl(0, 0%, 75%)",borderWidth:"1px",...i},e)}var Fi=500,hl={borderStyle:"tableCellBorderStyle",borderColor:"tableCellBorderColor",borderWidth:"tableCellBorderWidth",height:"tableCellHeight",width:"tableCellWidth",padding:"tableCellPadding",backgroundColor:"tableCellBackgroun
1dColor",horizontalAlignment:"tableCellHorizontalAlignment",verticalAlignment:"tableCellVerticalAlignment"},st=class extends T{_defaultContentTableCellProperties;_defaultLayoutTableCellProperties;_balloon;view;_viewWithContentTableDefaults;_viewWithLayoutTableDefaults;_undoStepBatch;_isReady;static get requires(){return[re]}static get pluginName(){return"TableCellPropertiesUI"}static get isOfficialPlugin(){return!0}constructor(e){super(e),e.config.define("table.tableCellProperties",{borderColors:Te,backgroundColors:Te})}init(){let e=this.editor,t=e.t;this._defaultContentTableCellProperties=Ht(e.config.get("table.tableCellProperties.defaultProperties"),{includeVerticalAlignmentProperty:!0,includeHorizontalAlignmentProperty:!0,includePaddingProperty:!0,isRightToLeftContent:e.locale.contentLanguageDirection==="rtl"}),this._defaultLayoutTableCellProperties=Ae(void 0,{includeVerticalAlignmentProperty:!0,includeHorizontalAlignmentProperty:!0,isRightToLeftContent:e.locale.contentLanguageDirection==="rtl"}),this._balloon=e.plugins.get(re),this.view=null,this._isReady=!1,e.ui.componentFactory.add("tableCellProperties",o=>{let n=new L(o);n.set({label:t("Cell properties"),icon:bn,tooltip:!0}),this.listenTo(n,"execute",()=>this._showView());let l=Object.values(hl).map(r=>e.commands.get(r));return n.bind("isEnabled").toMany(l,"isEnabled",(...r)=>r.some(s=>s)),n})}destroy(){super.destroy(),this.view&&this.view.destroy()}_createPropertiesView(e){let t=this.editor,o=t.config.get("table.tableCellProperties"),n=ce(o.borderColors),l=ae(t.locale,n),r=ce(o.backgroundColors),s=ae(t.locale,r),a=o.colorPicker!==!1,c=new rt(t.locale,{borderColors:l,backgroundColors:s,defaultTableCellProperties:e,colorPickerConfig:a?o.colorPicker||{}:!1}),d=t.t;c.render(),this.listenTo(c,"submit",()=>{this._hideView()}),this.listenTo(c,"cancel",()=>{this._undoStepBatch.operations.length&&t.execute("undo",this._und
vendor: 1,205 bytes, line 1
1oStepBatch),this._hideView()}),c.keystrokes.set("Esc",(h,f)=>{this._hideView(),f()}),eo({emitter:c,activator:()=>this._isViewInBalloon,contextElements:[this._balloon.view.element],callback:()=>this._hideView()});let u=jo(d),m=Go(d);return c.on("change:borderStyle",this._getPropertyChangeCallback("tableCellBorderStyle")),c.on("change:borderColor",this._getValidatedPropertyChangeCallback({viewField:c.borderColorInput,commandName:"tableCellBorderColor",errorText:u,validator:Ce})),c.on("change:borderWidth",this._getValidatedPropertyChangeCallback({viewField:c.borderWidthInput,commandName:"tableCellBorderWidth",errorText:m,validator:$o})),c.on("change:padding",this._getValidatedPropertyChangeCallback({viewField:c.paddingInput,commandName:"tableCellPadding",errorText:m,validator:Y})),c.on("change:width",this._getValidatedPropertyChangeCallback({viewField:c.widthInput,commandName:"tableCellWidth",errorText:m,validator:Y})),c.on("change:height",this._getValidatedPropertyChangeCallback({viewField:c.heightInput,commandName:"tableCellHeight",errorText:m,validator:Y})),c.on("change:backgroundColor",this._getValidatedPropertyChangeCallback({viewField:c.backgroundInput,commandName:"tableCellBackgroun
1dColor",errorText:u,validator:Ce})),c.on("change:horizontalAlignment",this._getPropertyChangeCallback("tableCellHorizontalAlignment")),c.on("change:verticalAlignment",this._getPropertyChangeCallback("tableCellVerticalAlignment")),c}_fillViewFormFromCommandValues(){let e=this.editor.commands,t=e.get("tableCellBorderStyle");Object.entries(hl).map(([o,n])=>{let l=o,r=this.view===this._viewWithContentTableDefaults?this._defaultContentTableCellProperties[l]||"":this._defaultLayoutTableCellProperties[l]||"";return[o,e.get(n).value||r]}).forEach(([o,n])=>{(o==="borderColor"||o==="borderWidth")&&t.value==="none"||this.view.set(o,n)}),this._isReady=!0}_showView(){let e=this.editor,t=we(e.editing.view.document.selection),o=t&&e.editing.mapper.toModelElement(t),n=!o||o.getAttribute("tableType")!=="layout";n&&!this._viewWithContentTableDefaults?this._viewWithContentTableDefaults=this._createPropertiesView(this._defaultContentTableCellProperties):!n&&!this._viewWithLayoutTableDefaults&&(this._viewWithLayoutTableDefaults=this._createPropertiesView(this._defaultLayoutTableCellProperties)),this.view=n?this._viewWithContentTableDefaults:this._viewWithLayoutTableDefaults,this.listenTo(e.ui,"update",()=>{this._updateView()}),this._fillViewFormFromCommandValues(),this._balloon.add({view:this.view,position:Jo(e)}),this._undoStepBatch=e.model.createBatch(),this.view.focus()}_hideView(){let e=this.editor;this.stopListening(e.ui,"update"),this._isReady=!1,this.view.saveButtonView.focus(),this._balloon.remove(this.view),this.editor.editing.view.focus()}_updateView(){let e=this.editor,t=e.editing.view.document;Ie(t.selection)?this._isViewVisible&&qo(e,"cell"):this._hideView()}get _isViewVisible(){return!!this.view&&this._balloon.visibleView===this.view}get _isViewInBalloon(){return!!this.view&&this._balloon.hasView(this.view)}_getPropertyChangeCallback(e){return(t,o,n)=>{this._isReady&&this.editor.execute(e,{value:n,batch:this._undoStepBatch})}}_getValidatedPropertyChangeCallback(e){let{commandName:t,viewField:o,validator:n,errorText:l}=e,r=q(()=>{o.errorText=l},Fi);return(s,a,c)=>{r.cancel(),this._isReady&&(n(c)?(this.editor.execute(t,{value:c,batch:this._undoStepBatch}),o.errorText=null):r())}}},V=class extends I{attributeName;_defaultValue;_defaultContentTableValue;_defaultLayoutTableValue;constructor(e,t,o){switch(super(e),this.attributeName=t,this._defaultContentTableValue=o,t){case"tableCellBorderStyle":this._defaultLayoutTableValue="none";break;case"tableCellHorizontalAlignment":this._defaultLayoutTableValue="left";break;case"tableCellVerticalAlignment":this._defaultLayoutTableValue="middle";break;default:this._defaultLayoutTableValue=void 0}}refresh(){let t=this.editor.model.document.selection,n=this.editor.plugins.get("TableUtils").getSelectionAffectedTableCells(t),l=E(t);this._defaultValue=!l||l.getAttribute("tableType")!=="layout"?this._defaultContentTableValue:this._defaultLayoutTableValue,this.isEnabled=!!n.length,this.value=this._getSingleValue(n)}execute(e={}){let{value:t,batch:o}=e,n=this.editor.model,r=this.editor.plugins.get("TableUtils").getSelectionAffectedTableCells(n.document.selection),s=this._getValueToSet(t);n.enqueueChange(o,a=>{s?r.forEach(c=>a.setAttribute(this.attributeName,s,c)):r.forEach(c=>a.removeAttribute(this.attributeName,c))})}_getAttribute(e){if(!e)return;let t=e.getAttribute(this.attributeName);if(t!==this._defaultValue)return t}_getValueToSet(e){if(e!==this._defaultValue)return e}_getSingleValue(e){let t=this._getAttribute(e[0]);return e.every(n=>this._getAttribute(n)===t)?t:void 0}},at=class extends V{constructor(e,t){super(e,"tableCellWidth",t)}_getValueToSet(e){if(e=U(e,"px"),e!==this._defaultValue)return e}},ye=class extends T{static get pluginName(){return"TableCellWidthEditing"}static get isOfficialPlugin(){return!0}static get requires(){return[z]}init(){let e=this.editor,t=Ht(e.config.get("table.tableCellProperties.defaultProperties"));he(e.model.schema,e.conversion,{modelAttribute:"tableCellWidth",styleName:"width",attributeName:"width",attributeType:"length",defaultValue:t.width}),e.commands.add("tableCellWidth",new at(e,t.width))}},ct=class extends V{constructor(e,t){super(e,"tableCellPadding",t)}_getAttribute(e){if(!e)return;let t=H(e.getAttribute(this.attributeName));if(t!==this._defaultValue)return t}_getValueToSet(e){let t=U(e,"px");if(t!==this._defaultValue)return t}},dt=class extends V{constructor(e,t){super(e,"tableCellHeight",t)}_getValueToSet(e){let t=U(e,"px");if(t!==this._defaultValue)return t}},ut=class extends V{constructor(e,t){super(e,"tableCellBackgroun
1dColor",t)}},mt=class extends V{constructor(e,t){super(e,"tableCellVerticalAlignment",t)}},ht=class extends V{constructor(e,t){super(e,"tableCellHorizontalAlignment",t)}},ft=class extends V{constructor(e,t){super(e,"tableCellBorderStyle",t)}_getAttribute(e){if(!e)return;let t=H(e.getAttribute(this.attributeName));if(t!==this._defaultValue)return t}},gt=class extends V{constructor(e,t){super(e,"tableCellBorderColor",t)}_getAttribute(e){if(!e)return;let t=H(e.getAttribute(this.attributeName));if(t!==this._defaultValue)return t}},bt=class extends V{constructor(e,t){super(e,"tableCellBorderWidth",t)}_getAttribute(e){if(!e)return;let t=H(e.getAttribute(this.attributeName));if(t!==this._defaultValue)return t}_getValueToSet(e){let t=U(e,"px");if(t!==this._defaultValue)return t}},fl=/^(top|middle|bottom)$/,gl=/^(left|center|right|justify)$/,pt=class extends T{static get pluginName(){return"TableCellPropertiesEditing"}static get isOfficialPlugin(){return!0}static get requires(){return[z,ye]}init(){let e=this.editor,t=e.model.schema,o=e.conversion;e.config.define("table.tableCellProperties.defaultProperties",{});let n=Ht(e.config.get("table.tableCellProperties.defaultProperties"),{includeVerticalAlignmentProperty:!0,includeHorizontalAlignmentProperty:!0,includePaddingProperty:!0,isRightToLeftContent:e.locale.contentLanguageDirection==="rtl"});e.data.addStyleProcessorRules(io),Ni(t,o,{color:n.borderColor,style:n.borderStyle,width:n.borderWidth}),e.commands.add("tableCellBorderStyle",new ft(e,n.borderStyle)),e.commands.add("tableCellBorderColor",new gt(e,n.borderColor)),e.commands.add("tableCellBorderWidth",new bt(e,n.borderWidth)),he(t,o,{modelAttribute:"tableCellHeight",styleName:"height",attributeName:"height",attributeType:"length",defaultValue:n.height}),e.commands.add("tableCellHeight",new dt(e,n.height)),e.data.addStyleProcessorRules(Sn),he(t,o,{modelAttribute:"tableCellPadding",styleName:"padding",reduceBoxSides:!0,defaultValue:n.padding}),e.commands.add("tableCellPadding",new ct(e,n.padding)),e.data.addStyleProcessorRules(lo),he(t,o,{modelAttribute:"tableCellBackgroun
1dColor",styleName:"background-color",attributeName:"bgcolor",attributeType:"color",defaultValue:n.backgroundColor}),e.commands.add("tableCellBackgroundColor",new ut(e,n.backgroundColor)),zi(t,o,n.horizontalAlignment),e.commands.add("tableCellHorizontalAlignment",new ht(e,n.horizontalAlignment)),Hi(t,o,n.verticalAlignment),e.commands.add("tableCellVerticalAlignment",new mt(e,n.verticalAlignment))}};function Ni(i,e,t){let o={width:"tableCellBorderWidth",color:"tableCellBorderColor",style:"tableCellBorderStyle"};i.extend("tableCell",{allowAttributes:Object.values(o)});for(let n of Object.values(o))i.setAttributeProperties(n,{isFormatting:!0});Oe(e,"td",o,t),Oe(e,"th",o,t),J(e,{modelElement:"tableCell",modelAttribute:o.style,styleName:"border-style"}),J(e,{modelElement:"tableCell",modelAttribute:o.color,styleName:"border-color"}),J(e,{modelElement:"tableCell",modelAttribute:o.width,styleName:"border-width"})}function zi(i,e,t){i.extend("tableCell",{allowAttributes:["tableCellHorizontalAlignment"]}),i.setAttributeProperties("tableCellHorizontalAlignment",{isFormatting:!0}),e.for("downcast").attributeToAttribute({model:{name:"tableCell",key:"tableCellHorizontalAlignment"},view:o=>({key:"style",value:{"text-align":o}})}),e.for("upcast").attributeToAttribute({view:{name:/^(td|th)$/,styles:{"text-align":gl}},model:{key:"tableCellHorizontalAlignment",value:(o,n,l)=>{let r=D(t,"left",l),s=o.getStyle("text-align");if(s!==r)return s;n.consumable.consume(o,{styles:"text-align"})}}}).attributeToAttribute({view:{name:/^(td|th)$/,attributes:{align:gl}},model:{key:"tableCellHorizontalAlignment",value:(o,n,l)=>{let r=D(t,"left",l),s=o.getAttribute("align");if(s!==r)return s;n.consumable.consume(o,{attributes:"align"})}}})}function Hi(i,e,t){i.extend("tableCell",{allowAttributes:["tableCellVerticalAlignment"]}),i.setAttributeProperties("tableCellVerticalAlignment",{isFormatting:!0}),e.for("downcast").attributeToAttribute({model:{name:"tableCell",key:"tableCellVerticalAlignment"},view:o=>({key:"style",value:{"vertical-align":o}})}),e.for("upcast").attributeToAttribute({view:{name:/^(td|th)$/,styles:{"vertical-align":fl}},model:{key:"tableCellVerticalAlignment",value:(o,n,l)=>{let r=D(t,"middle",l),s=o.getStyle("vertical-align");if(s!==r)return s;n.consumable.consume(o,{styles:"vertical-align"})}}}).attributeToAttribute({view:{name:/^(td|th)$/,attributes:{valign:fl}},model:{key:"tableCellVerticalAlignment",value:(o,n,l)=>{let r=D(t,"middle",l),s=o.getAttribute("valign");if(s!==r)return s;n.consumable.consume(o,{attributes:"valign"})}}})}var vo=class extends T{static get pluginName(){return"TableCellProperties"}static get isOfficialPlugin(){return!0}static get requires(){return[pt,st]}},wt=class extends T{static get pluginName(){return"TableLayoutUI"}static get isOfficialPlugin(){return!0}init(){let e=this.editor,t=this.editor.t;e.ui.componentFactory.add("insertTableLayout",o=>{let n=e.commands.get("insertTableLayout"),l=j(o);l.bind("isEnabled").to(n),l.buttonView.set({icon:Xt,label:t("Insert table layout"),tooltip:!0});let r;return l.on("change:isOpen",()=>{r||(r=new $(o),l.panelView.children.add(r),r.delegate("execute").to(l),l.on("execute",()=>{e.execute("insertTableLayout",{rows:r.rows,columns:r.columns}),e.editing.view.focus()}))}),l}),e.ui.componentFactory.add("menuBar:insertTableLayout",o=>{let n=e.commands.get("insertTableLayout"),l=new Zt(o),r=new $(o);return r.delegate("execute").to(l),l.on("change:isOpen",(s,a,c)=>{c||r.reset()}),r.on("execute",()=>{e.execute("insertTableLayout",{rows:r.rows,columns:r.columns}),e.editing.view.focus()}),l.buttonView.set({label:t("Table layout"),icon:Xt}),l.panelView.children.add(r),l.bind("isEnabled").to(n),l}),e.ui.componentFactory.add("tableType",()=>{let o=this.editor,n=o.t,l=new _n(o.locale);return l.set({label:n("Table type"),icon:Jt,tooltip:!0}),bl(o,l)})}afterInit(){let e=this.editor;if(!e.plugins.has("TablePropertiesUI"))return;let t=e.plugins.get("TablePropertiesUI");e.ui.componentFactory.add("tableProperties",o=>{let n=t._createTablePropertiesButton(),l=new Qt(o,n);return bl(e,l)})}};function bl(i,e){let t=i.t,o=i.locale,n=i.commands.get("tableType"),l=j(o,e),r=Ui(i);return se(l,r,{ariaLabel:t("Table type options"),role:"menu"}),e.tooltip=t("Choose table type"),l.on("execute",s=>{let a=s.source.tableType;a&&n.execute(a)}),l}function Ui(i){let e=i.t,t=i.commands.get("tableType"),o=new ve;return o.add(pl(t,"layout",e("Layout table"))),o.add(pl(t,"content",e("Content table"))),o}function pl(i,e,t){let o=new Ee({label:t,role:"menuitemradio",withText:!0,tableType:e});return o.bind("isEnabled").to(i,"isEnabled"),o.bind("isOn").to(i,"value",n=>n===e),{type:"button",model:o}}var Ct=class extends I{refresh(){let e=this.editor.model,t=e.document.selection,o=e.schema;this.isEnabled=ji(t,o)}execute(e={}){let t=this.editor,o=t.model,n=t.plugins.get("TableUtils");o.change(l=>{let r={rows:e.rows||2,columns:e.columns||2},s=n.createTable(l,r);
vendor: 6,085 bytes, line 1
1l.setAttribute("tableType","layout",s),o.insertObject(s,null,null,{findOptimalPosition:"auto"});let a=`${100/r.columns}%`,c=Array(r.columns).fill(a);t.commands.get("resizeColumnWidths").execute({tableWidth:"100%",columnWidths:c,table:s}),l.setSelection(l.createPositionAt(s.getNodeByPath([0,0,0]),0))})}};function ji(i,e){let t=i.getFirstPosition().parent,o=t===t.root?t:t.parent;return e.checkChild(o,"table")}var Tt=class extends I{refresh(){this.isEnabled=!0}execute(e={}){let{model:t,plugins:o}=this.editor,{table:n=t.document.selection.getSelectedElement(),columnWidths:l,tableWidth:r}=e;l&&(l=Array.isArray(l)?l:l.split(",")),t.change(s=>{r?s.setAttribute("tableWidth",r,n):s.removeAttribute("tableWidth",n);let a=o.get("TableColumnResizeEditing").getColumnGroupElement(n);if(!l&&!a)return;if(!l)return s.remove(a);let c=Nt(l);if(a)Array.from(a.getChildren()).forEach((d,u)=>s.setAttribute("columnWidth",c[u],d));else{let d=s.createElement("tableColumnGroup");c.forEach(u=>s.appendElement("tableColumn",{columnWidth:u},d)),s.append(d,n)}})}};function $l(i){return e=>e.on("element:colgroup",(t,o,n)=>{let l=o.modelCursor.findAncestor("table"),r=Q(l);if(!r)return;let s=ee(r),a=i.getColumns(l),c=Wl(r,n.writer);c=Array.from({length:a},(d,u)=>c[u]||"auto"),(c.length!=s.length||c.includes("auto"))&&zo(s,r,Nt(c),n.writer)},{priority:"low"})}function Kl(){return i=>i.on("insert:table",(e,t,o)=>{let n=o.writer,l=t.item,r=o.mapper.toViewElement(l),s=r.is("element","table")?r:Array.from(r.getChildren()).find(c=>c.is("element","table"));Q(l)?n.addClass("ck-table-resized",s):n.removeClass("ck-table-resized",s)},{priority:"low"})}function Gi(){return i=>{i.on("element:table",(e,t,o)=>{o.consumable.consume(t.viewItem,{classes:"ck-table-resized"})})}}var wl=nn("px"),_t=class extends T{_isResizingActive;_resizingData;_domEmitter;_tableUtilsPlugin;_initialMouseEventData=null;static get requires(){return[z,x]}static get pluginName(){return"TableColumnResizeEditing"}static get isOfficialPlugin(){return!0}constructor(e){super(e),this._isResizingActive=!1,this.set("_isResizingAllowed",!0),this._resizingData=null,this._domEmitter=new(tn()),this._tableUtilsPlugin=e.plugins.get("TableUtils"),this.on("change:_isResizingAllowed",(t,o,n)=>{let l=n?"removeClass":"addClass";e.editing.view.change(r=>{for(let s of e.editing.view.document.roots)r[l]("ck-column-resize_disabled",e.editing.view.document.getRoot(s.rootName))})})}init(){this._extendSchema(),this._registerPostFixer(),this._registerConverters(),this._registerResizingListeners(),this._registerResizerInserter();let e=this.editor,t=e.plugins.get("TableColumnResize");e.plugins.get("TableEditing").registerAdditionalSlot({filter:l=>l.is("element","tableColumnGroup"),positionOffset:0});let n=new Tt(e);e.commands.add("resizeTableWidth",n),e.commands.add("resizeColumnWidths",n),this.bind("_isResizingAllowed").to(e,"isReadOnly",t,"isEnabled",n,"isEnabled",(l,r,s)=>!l&&r&&s)}destroy(){this._domEmitter.stopListening(),super.destroy()}getColumnGroupElement(e){return Q(e)}getTableColumnElements(e){return ee(e)}getTableColumnsWidths(e){return Bl(e)}_extendSchema(){let e=this.editor.model.schema;e.extend("table",{allowAttributes:["tableWidth"]}),e.register("tableColumnGroup",{allowIn:"table",isLimit:!0}),e.register("tableColumn",{allowIn:"tableColumnGroup",allowAttributes:["columnWidth","colSpan"],isLimit:!0}),e.setAttributeProperties("columnWidth",{isFormatting:!0})}_registerPostFixer(){let t=this.editor.model;t.document.registerPostFixer(l=>{let r=!1;for(let s of Vl(t)){let a=this.getColumnGroupElement(s),c=this.getTableColumnElements(a),d=this.getTableColumnsWidths(a),u=Nt(d);u=o(u,s,this),!De(d,u)&&(zo(c,a,u,l),r=!0)}return r});function o(l,r,s){let a=s._tableUtilsPlugin.getColumns(r);if(a-l.length===0)return l;let d=l.map(m=>Number(m.replace("%",""))),u=n(s.editor.model.document.differ,r);for(let m of u){let h=a-d.length;if(h===0)continue;let f=h>0,g=s._tableUtilsPlugin.getCellLocation(m).column;if(f){let b=El(r,s.editor),p=Ll(h,b);d.splice(g,0,...p)}else{let b=d.splice(g,Math.abs(h));d[g]+=Z(b)}}return d.map(m=>m+"%")}function n(l,r){let s=new Set;for(let a of l.getChanges())if(a.type=="insert"&&a.position.nodeAfter&&a.position.nodeAfter.name=="tableCell"&&a.position.nodeAfter.getAncestors().includes(r))s.add(a.position.nodeAfter);else if(a.type=="remove"){let c=a.position.nodeBefore||a.position.nodeAfter;c.name=="tableCell"&&c.getAncestors().includes(r)&&s.add(c)}return s}}_registerConverters(){let t=this.editor.conversion;t.for("upcast").attributeToAttribute({view:{name:/^(figure|table)$/,styles:{width:/[\s\S]+/}},model:{key:"tableWidth",value:o=>{if(!o.parent.is("element","figure"))return o.getStyle("width")}}}),t.for("downcast").attributeToAttribute({model:{name:"table",key:"tableWidth"},view:o=>({name:"figure",key:"style",value:{width:o}})}),t.elementToElement({model:"tableColumnGroup",view:"colgroup"}),t.elementToElement({model:"tableColumn",view:"col"}),t.for("downcast").add(Kl()),t.for("upcast").add(Gi()),t.for("upcast").add($l(this._tableUtilsPlugin)),t.for("upcast").attributeToAttribute({view:{name:"col",styles:{width:/.*/}},model:{key:"columnWidth",value:o=>{let n=o.getStyle("width");return!n||!n.endsWith("%")&&!n.endsWith("pt")?"auto":n}}}),t.for("upcast").attributeToAttribute({view:{name:"col",key:"span"},model:"colSpan"}),t.for("downcast").attributeToAttribute({model:{name:"tableColumn",key:"columnWidth"},view:o=>({key:"style",value:{width:o}})})}_registerResizingListeners(){let e=this.editor.editing.view;e.addObserver(pe),e.document.on("mouseover",this._onMouseOverHandler.bind(this),{priority:"high"}),e.document.on("mousedown",this._onMouseDownHandler.bind(this),{priority:"high"}),e.document.on("mouseout",this._onMouseOutHandler.bind(this),{priority:"high"}),this._domEmitter.listenTo(ie.window.document,"mousemove",mo(this._onMouseMoveHandler.bind(this),50)),this._domEmitter.listenTo(ie.window.document,"mouseup",this._onMouseUpHandler.bind(this))}_recalculateResizerElement(e){let t=this.editor,o=t.editing.view.domConverter,n=o.mapViewToDom(e.findAnce
1stor("table")),l=o.mapViewToDom(e.findAncestor(d=>["td","th"].includes(d.name))),r=new le(n),s=new le(l),a=wl(Number((r.top-s.top).toFixed(4))),c=wl(Number((s.bottom-r.bottom).toFixed(4)));t.editing.view.change(d=>{d.setStyle("top",a,e),d.setStyle("bottom",c,e)})}_resetResizerStyles(e){this.editor.editing.view.change(t=>{t.removeStyle("top",e),t.removeStyle("bottom",e)})}_onMouseOverHandler(e,t){let o=t.target;o.hasClass("ck-table-column-resizer")&&this._isResizingAllowed&&this._recalculateResizerElement(o)}_onMouseOutHandler(e,t){let o=t.target;o.hasClass("ck-table-column-resizer")&&this._isResizingAllowed&&(this._isResizingActive||this._resetResizerStyles(o))}_onMouseDownHandler(e,t){let o=t.target;if(!o.hasClass("ck-table-column-resizer")||!this._isResizingAllowed)return;let n=this.editor,l=n.editing.mapper.toModelElement(o.findAncestor("figure"));n.model.canEditAt(l)&&(t.preventDefault(),e.stop(),this._initialMouseEventData=t)}_startResizingAfterThreshold(){let e=this._initialMouseEventData,{target:t}=e,o=this.editor.editing.mapper.toModelElement(t.findAncestor("figure")),n=t.findAncestor("table"),l=r(o,this._tableUtilsPlugin,this.editor);Array.from(n.getChildren()).find(c=>c.is("element","colgroup"))||this.editor.editing.view.change(c=>{s(c,l,n)}),this._isResizingActive=!0,this._resizingData=this._getResizingData(e,l),this.editor.editing.view.change(c=>a(c,n,this._resizingData));function r(c,d,u){let m=Array(d.getColumns(c)),h=new C(c);for(let f of h){let g=u.editing.mapper.toViewElement(f.cell),b=u.editing.view.domConverter.mapViewToDom(g),p=Dl(b);(!m[f.column]||p<m[f.column])&&(m[f.column]=A(p))}return m}function s(c,d,u){let m=c.createContainerElement("colgroup");for(let h=0;h<d.length;h++){let f=c.createEmptyElement("col"),g=`${A(d[h]/Z(d)*100)}%`;c.setStyle("width",g,f),c.insert(c.createPositionAt(m,"end"),f)}c.insert(c.createPositionAt(u,0),m)}function a(c,d,u){let m=u.widths.viewFigureWidth/u.widths.viewFigureParentWidth;c.addClass("ck-table-resized",d),c.addClass("ck-table-column-resizer__active",u.elements.viewResizer),c.setStyle("width",`${A(m*100)}%`,d.findAncestor("figure"))}}_onMouseMoveHandler(e,t){if(this._initialMouseEventData){let _=this._initialMouseEventData.domEvent;if(Math.abs(t.clientX-_.clientX)>=Rl)this._startResizingAfterThreshold(),this._initialMouseEventData=null;else return}if(!this._isResizingActive)return;if(!this._isResizingAllowed){this._onMouseUpHandler();return}let{columnPosition:o,flags:{isRightEdge:n,isTableCentered:l,isLtrContent:r},elements:{viewFigure:s,viewLeftColumn:a,viewRightColumn:c,viewResizer:d},widths:{viewFigureParentWidth:u,tableWidth:m,leftColumnWidth:h,rightColumnWidth:f}}=this._resizingData,g=-h+Ke,b=n?u-m:f-Ke,p=(r?1:-1)*(n&&l?2:1),w=kl((t.clientX-o)*p,Math.min(g,0),Math.max(b,0));w!==0&&(this.editor.editing.view.change(_=>{let R=A((h+w)*100/m);if(_.setStyle("width",`${R}%`,a),n){let k=A((m+w)*100/u);_.setStyle("width",`${k}%`,s)}else{let k=A((f-w)*100/m);_.setStyle("width",`${k}%`,c)}}),this._recalculateResizerElement(d))}_onMouseUpHandler(){if(this._initialMouseEventData=null,!this._isResizingActive)return;let{viewResizer:e,modelTable:t,viewFigure:o,viewColgroup:n}=this._resizingData.elements,l=this.editor,r=l.editing.view,s=this.getColumnGroupElement(t),a=Array.from(n.getChildren()).filter(b=>b.is("view:element")),c=s?this.getTableColumnsWidths(s):null,d=a.map(b=>b.getStyle("width")),u=!De(c,d),m=t.getAttribute("tableWidth"),h=o.getStyle("width"),f=m!==h;(u||f)&&(this._isResizingAllowed?l.execute("resizeTableWidth",{table:t,tableWidth:`${A(h)}%`,columnWidths:d}):r.change(b=>{if(c)for(let p of a)b.setStyle("width",c.shift(),p);else b.remove(n);f&&(m?b.setStyle("width",m,o):b.removeStyle("width",o)),!c&&!m&&b.removeClass("ck-table-resized",[...o.getChildren()].find(p=>p.name==="table"))})),r.change(b=>{b.removeClass("ck-table-column-resizer__active",e)}),r.domConverter.mapViewToDom(e).matches(":hover")||this._resetResizerStyles(e),this._isResizingActive=!1,this._resizingData=null}_getResizingData(e,t){let o=this.editor,n=e.domEvent.clientX,l=e.target,r=l.findAnce
vendor: 6,338 bytes, line 1
1stor("td")||l.findAncestor("th"),s=o.editing.mapper.toModelElement(r),a=s.findAncestor("table"),c=Pl(s,this._tableUtilsPlugin).rightEdge,d=this._tableUtilsPlugin.getColumns(a)-1,u=c===d,m=!a.hasAttribute("tableAlignment"),h=o.locale.contentLanguageDirection!=="rtl",f=r.findAncestor("table"),g=f.findAncestor("figure"),b=[...f.getChildren()].find(Yl=>Yl.is("element","colgroup")),p=b.getChild(c),w=u?void 0:b.getChild(c+1),_=qe(o.editing.view.domConverter.mapViewToDom(g.parent)),R=qe(o.editing.view.domConverter.mapViewToDom(g)),k=No(a,o),te=t[c],K=u?void 0:t[c+1];return{columnPosition:n,flags:{isRightEdge:u,isTableCentered:m,isLtrContent:h},elements:{viewResizer:l,modelTable:a,viewFigure:g,viewColgroup:b,viewLeftColumn:p,viewRightColumn:w},widths:{viewFigureParentWidth:_,viewFigureWidth:R,tableWidth:k,leftColumnWidth:te,rightColumnWidth:K}}}_registerResizerInserter(){this.editor.conversion.for("editingDowncast").add(e=>{e.on("insert:tableCell",(t,o,n)=>{let l=o.item,r=n.mapper.toViewElement(l),s=n.writer;s.insert(s.createPositionAt(r,"end"),s.createUIElement("div",{class:"ck-table-column-resizer"}))},{priority:"lowest"})})}},xe=class extends T{static get requires(){return[_t,ye]}static get pluginName(){return"TableColumnResize"}static get isOfficialPlugin(){return!0}},yt=class extends I{refresh(){let t=this.editor.model.document.selection,o=E(t);o?(this.isEnabled=!0,this.value=o.getAttribute("tableType")):(this.isEnabled=!1,this.value=null)}execute(e){let o=this.editor.model,n=o.document.selection,l=E(n);l.getAttribute("tableType")!==e&&o.change(s=>{s.setAttribute("tableType",e,l),o.schema.removeDisallowedAttributes([l],s);let a=l.getChildren();for(let c of a)o.schema.checkChild(l,c)||s.remove(c)})}},$i=["content","layout"],xt=class extends T{static get pluginName(){return"TableLayoutEditing"}static get requires(){return[xe]}static get isOfficialPlugin(){return!0}init(){this._defineSchema(),this._defineConverters(),this._defineClipboardPasteHandlers(),this._registerTableTypeAttributePostfixer(),this.editor.commands.add("insertTableLayout",new Ct(this.editor)),this.editor.commands.add("tableType",new yt(this.editor))}_defineSchema(){let{schema:e}=this.editor.model;e.extend("table",{allowAttributes:"tableType"}),e.addChildCheck(go,"caption"),e.addAttributeCheck(go,"headingRows"),e.addAttributeCheck(go,"headingColumns")}_defineConverters(){let{editor:e}=this,{conversion:t}=e,o=e.config.get("table.tableLayout.preferredExternalTableType");t.for("upcast").add(Ki(o)),t.for("dataDowncast").add(qi()),t.for("editingDowncast").attributeToAttribute({model:{key:"tableType",values:["layout","content"]},view:{layout:{key:"class",value:["layout-table"]},content:{key:"class",value:["content-table"]}}})}_defineClipboardPasteHandlers(){let{plugins:e}=this.editor;if(!e.has("ClipboardPipeline"))return;let t=e.get("ClipboardPipeline");this.listenTo(t,"contentInsertion",(o,n)=>{n.sourceEditorId||this.editor.model.change(l=>{for(let{item:r}of l.createRangeIn(n.content))r.is("element","table")&&l.setAttribute("tableType","content",r)})})}_registerTableTypeAttributePostfixer(){let e=this.editor;e.model.document.registerPostFixer(t=>{let o=e.model.document.differ.getChanges(),n=!1;for(let l of o){if(l.type=="insert"&&l.name!="$text"){let r=l.position.nodeAfter,s=t.createRangeOn(r);for(let a of s.getItems())a.is("element","table")&&!a.hasAttribute("tableType")&&(t.setAttribute("tableType","content",a),n=!0)}if(l.type=="attribute"&&l.attributeKey=="tableType"){for(let r of l.range.getItems())if(r.is("element","table")){e.model.schema.removeDisallowedAttributes([r],t);let s=r.getChildren();for(let a of s)e.model.schema.checkChild(r,a)||(t.remove(a),n=!0)}}}return n})}};function Ki(i){return e=>{e.on("element:table",(t,o,n)=>{let l=o.viewItem;if(!n.consumable.test(l,{name:!0})||Cl(l,i)=="content")return;let s=n.writer.createElement("table",{tableType:"layout"});if(n.safeInsert(s,o.modelCursor)){n.consumable.consume(l,{name:!0}),n.consumable.consume(l,{attributes:["role"]}),n.consumable.consume(l,{classes:["layout-table"]});for(let a of l.getChildren())if(a.is("element"))for(let c of a.getChildren())c.is("element","tr")&&n.convertItem(c,n.writer.createPositionAt(s,"end"));if(n.convertChildren(l,n.writer.createPositionAt(s,"end")),s.isEmpty){let a=n.writer.createElement("tableRow");n.writer.insert(a,n.writer.createPositionAt(s,"end")),M(n.writer,n.writer.createPositionAt(a,"end"))}n.updateConversionResult(s,o)}},{priority:"high"}),e.on("element:table",(t,o,n)=>{let{viewItem:l,modelRange:r}=o;r&&(n.writer.setAttribute("tableType",Cl(l,i),r),n.consumable.consume(l,{classes:["layout-table"]}),n.consumable.consume(l,{classes:["content-table"]}))},{priority:"low"})}}function qi(){return i=>i.on("attribute:tableType:table",(e,t,o)=>{let{item:n,attributeNewValue:l}=t,{mapper:r,writer:s}=o;if(!o.consumable.test(n,e.name))return;let a=r.toViewElement(n);s.addClass(`${l}-table`,a),l=="layout"&&s.setAttribute("role","presentation",a),o.consumable.consume(n,e.name)})}function Cl(i,e){return i.hasClass("content-table")?"content":i.hasClass("layout-table")?"layout":e&&$i.includes(e)?e:i.parent.is("element","figure")||Array.from(i.getChildren()).some(o=>o.is("element","caption"))?"content":"layout"}function go(i){if(i.endsWith("table")&&i.last.getAttribute("tableType")=="layout")return!1}var So=class extends T{static get pluginName(){return"TableLayout"}static get isOfficialPlugin(){return!0}static get requires(){return[nt,xe,xt,wt]}},B=class extends I{attributeName;_defaultValue;_defaultContentTableValue;_defaultLayoutTableValue;constructor(e,t,o){super(e),this.attributeName=t,this._defaultContentTableValue=o,this._defaultLayoutTableValue=t==="tableBorderStyle"?"none":void 0}refresh(){let t=this.editor.model.document.selection,o=E(t);this._defaultValue=!o||o.getAttribute("tableType")!=="layout"?this._defaultContentTableValue:this._defaultLayoutTableValue,this.isEnabled=!!o,this.value=this._getValue(o)}execute(e={}){let t=this.editor.model,o=t.document.selection,{value:n,batch:l}=e,r=E(o),s=this._getValueToSet(n);t.enqueueChange(l,a=>{s?a.setAttribute(this.attributeName,s,r):a.removeAttribute(this.attributeName,r)})}_getValue(e){if(!e)return;let t=e.getAttribute(this.attributeName);if(t!==this._defaultValue)return t}_getValueToSet(e){if(e!==this._defaultValue)return e}}
1,It=class extends B{constructor(e,t){super(e,"tableBackgroundColor",t)}},At=class extends B{constructor(e,t){super(e,"tableBorderColor",t)}_getValue(e){if(!e)return;let t=H(e.getAttribute(this.attributeName));if(t!==this._defaultValue)return t}},vt=class extends B{constructor(e,t){super(e,"tableBorderStyle",t)}_getValue(e){if(!e)return;let t=H(e.getAttribute(this.attributeName));if(t!==this._defaultValue)return t}},St=class extends B{constructor(e,t){super(e,"tableBorderWidth",t)}_getValue(e){if(!e)return;let t=H(e.getAttribute(this.attributeName));if(t!==this._defaultValue)return t}_getValueToSet(e){let t=U(e,"px");if(t!==this._defaultValue)return t}},Rt=class extends B{constructor(e,t){super(e,"tableWidth",t)}_getValueToSet(e){if(e=U(e,"px"),e!==this._defaultValue)return e}},Vt=class extends B{constructor(e,t){super(e,"tableHeight",t)}_getValueToSet(e){if(e=U(e,"px"),e!==this._defaultValue)return e}},Et=class extends B{constructor(e,t){super(e,"tableAlignment",t)}},Xi=/^(left|center|right)$/,Ji=/^(left|none|right)$/,Pt=class extends T{static get pluginName(){return"TablePropertiesEditing"}static get isOfficialPlugin(){return!0}static get requires(){return[z]}init(){let e=this.editor,t=e.model.schema,o=e.conversion;e.config.define("table.tableProperties.defaultProperties",{});let n=Yo(e.config.get("table.tableProperties.defaultProperties"),{includeAlignmentProperty:!0});e.data.addStyleProcessorRules(io),Yi(t,o,{color:n.borderColor,style:n.borderStyle,width:n.borderWidth}),e.commands.add("tableBorderColor",new At(e,n.borderColor)),e.commands.add("tableBorderStyle",new vt(e,n.borderStyle)),e.commands.add("tableBorderWidth",new St(e,n.borderWidth)),Zi(t,o,n.alignment),e.commands.add("tableAlignment",new Et(e,n.alignment)),Tl(t,o,{modelAttribute:"tableWidth",styleName:"width",attributeName:"width",attributeType:"length",defaultValue:n.width}),e.commands.add("tableWidth",new Rt(e,n.width)),Tl(t,o,{modelAttribute:"tableHeight",styleName:"height",attributeName:"height",attributeType:"length",defaultValue:n.height}),e.commands.add("tableHeight",new Vt(e,n.height)),e.data.addStyleProcessorRules(lo),Qi(t,o,{modelAttribute:"tableBackgroundColor",styleName:"background-color",attributeName:"bgcolor",attributeType:"color",defaultValue:n.backgroundColor}),e.commands.add("tableBackgroundColor",new It(e,n.backgroundColor))}};function Yi(i,e,t){let o={width:"tableBorderWidth",color:"tableBorderColor",style:"tableBorderStyle"};i.extend("table",{allowAttributes:Object.values(o)});for(let n of Object.values(o))i.setAttributeProperties(n,{isFormatting:!0});Oe(e,"table",o,t),me(e,{modelAttribute:o.color,styleName:"border-color"}),me(e,{modelAttribute:o.style,styleName:"border-style"}),me(e,{modelAttribute:o.width,styleName:"border-width"})}function Zi(i,e,t){i.extend("table",{allowAttributes:["tableAlignment"]}),i.setAttributeProperties("tableAlignment",{isFormatting:!0}),e.for("downcast").attributeToAttribute({model:{name:"table",key:"tableAlignment",values:["left","center","right"]},view:{left:{key:"style",value:{float:"left"}},right:{key:"style",value:{float:"right"}},center:(o,n,l)=>({key:"style",value:l.item.getAttribute("tableType")!=="layout"?{float:"none"}:{"margin-left":"auto","margin-right":"auto"}})},converterPriority:"high"}),e.for("upcast").attributeToAttribute({view:{name:/^(table|figure)$/,styles:{float:Ji}},model:{key:"tableAlignment",value:(o,n,l)=>{if(o.name=="figure"&&!o.hasClass("table"))return;let r=D(t,"",l),s=o.getStyle("float");if(s==="none"&&(s="center"),s!==r)return s;n.consumable.consume(o,{styles:"float"})}}}).attributeToAttribute({view:{name:/^(table|figure)$/,styles:{"margin-left":"auto","margin-right":"auto"}},model:{key:"tableAlignment",value:(o,n,l)=>{if(o.name=="figure"&&!o.hasClass("table"))return;let r=D(t,"",l),s="center";if(s!==r)return s;n.consumable.consume(o,{styles:["margin-left","margin-right"]})}}}).attributeToAttribute({view:{name:"table",attributes:{align:Xi}},model:{key:"tableAlignment",value:(o,n,l)=>{let r=D(t,"",l),s=o.getAttribute("align");if(s!==r)return s;n.consumable.consume(o,{attributes:"align"})}}})}function Qi(i,e,t){let{modelAttribute:o}=t;i.extend("table",{allowAttributes:[o]}),i.setAttributeProperties(o,{isFormatting:!0}),Ot(e,{viewElement:"table",...t}),me(e,t)}function Tl(i,e,t){let{modelAttribute:o}=t;i.extend("table",{allowAttributes:[o]}),i.setAttributeProperties(o,{isFormatting:!0}),Ot(e,{viewElement:/^(table|figure)$/,shouldUpcast:n=>!(n.name=="table"&&n.parent.name=="figure"||n.name=="figure"&&!n.hasClass("table")),...t}),J(e,{modelElement:"table",...t})}var kt=class extends F{options;focusTracker;keystrokes;children;borderStyleDropdown;borderWidthInput;borderColorInput;backgroundInput;widthInput;heightInput;alignmentToolbar;saveButtonView;cancelButtonView;_focusables;_focusCycler;constructor(e,t){super(e),this.set({borderStyle:"",borderWidth:"",borderColor:"",backgroundColor:"",width:"",height:"",alignment:""}),this.options=t;let{borderStyleDropdown:o,borderWidthInput:n,borderColorInput:l,borderRowLabel:r}=this._createBorderFields(),{backgroundRowLabel:s,backgroundInput:a}
vendor: 5,998 bytes, line 1
1=this._createBackgroundFields(),{widthInput:c,operatorLabel:d,heightInput:u,dimensionsLabel:m}=this._createDimensionFields(),{alignmentToolbar:h,alignmentLabel:f}=this._createAlignmentFields();this.focusTracker=new oe,this.keystrokes=new ne,this.children=this.createCollection(),this.borderStyleDropdown=o,this.borderWidthInput=n,this.borderColorInput=l,this.backgroundInput=a,this.widthInput=c,this.heightInput=u,this.alignmentToolbar=h;let{saveButtonView:g,cancelButtonView:b}=this._createActionButtons();this.saveButtonView=g,this.cancelButtonView=b,this._focusables=new Pe,this._focusCycler=new Re({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this.children.add(new Yt(e,{label:this.t("Table properties")})),this.children.add(new v(e,{labelView:r,children:[r,o,l,n],class:"ck-table-form__border-row"})),this.children.add(new v(e,{labelView:s,children:[s,a],class:"ck-table-form__background-row"})),this.children.add(new v(e,{children:[new v(e,{labelView:m,children:[m,c,d,u],class:"ck-table-form__dimensions-row"}),new v(e,{labelView:f,children:[f,h],class:"ck-table-properties-form__alignment-row"})]})),this.children.add(new v(e,{children:[this.saveButtonView,this.cancelButtonView],class:"ck-table-form__action-row"})),this.setTemplate({tag:"form",attributes:{class:["ck","ck-form","ck-table-form","ck-table-properties-form"],tabindex:"-1"},children:this.children})}render(){super.render(),oo({view:this}),[this.borderColorInput,this.backgroundInput].forEach(e=>{this._focusCycler.chain(e.fieldView.focusCycler)}),[this.borderStyleDropdown,this.borderColorInput,this.borderWidthInput,this.backgroundInput,this.widthInput,this.heightInput,this.alignmentToolbar,this.saveButtonView,this.cancelButtonView].forEach(e=>{this._focusables.add(e),this.focusTracker.add(e.element)}),this.keystrokes.listenTo(this.element)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}_createBorderFields(){let e=this.options.defaultTableProperties,t={style:e.borderStyle,width:e.borderWidth,color:e.borderColor},o=_e({colorConfig:this.options.borderColors,columns:5,defaultColorValue:t.color,colorPickerConfig:this.options.colorPickerConfig}),n=this.locale,l=this.t,r=l("Style"),s=new W(n);s.text=l("Border");let a=zt(l),c=new S(n,to);c.set({label:r,class:"ck-table-form__border-style"}),c.fieldView.buttonView.set({ariaLabel:r,ariaLabelledBy:void 0,isOn:!1,withText:!0,tooltip:r}),c.fieldView.buttonView.bind("label").to(this,"borderStyle",m=>a[m||"none"]),c.fieldView.on("execute",m=>{this.borderStyle=m.source._borderStyleValue}),c.bind("isEmpty").to(this,"borderStyle",m=>!m),se(c.fieldView,Ko(this,t.style),{role:"menu",ariaLabel:r});let d=new S(n,N);d.set({label:l("Width"),class:"ck-table-form__border-width"}),d.fieldView.bind("value").to(this,"borderWidth"),d.bind("isEnabled").to(this,"borderStyle",We),d.fieldView.on("input",()=>{this.borderWidth=d.fieldView.element.value});let u=new S(n,o);return u.set({label:l("Color"),class:"ck-table-form__border-color"}),u.fieldView.bind("value").to(this,"borderColor"),u.bind("isEnabled").to(this,"borderStyle",We),u.fieldView.on("input",()=>{this.borderColor=u.fieldView.value}),this.on("change:borderStyle",(m,h,f,g)=>{We(f)||(this.borderColor="",this.borderWidth=""),We(g)||(this.borderColor=t.color,this.borderWidth=t.width)}),{borderRowLabel:s,borderStyleDropdown:c,borderColorInput:u,borderWidthInput:d}}_createBackgroundFields(){let e=this.locale,t=this.t,o=new W(e);o.text=t("Background");let n=_e({colorConfig:this.options.backgroundColors,columns:5,defaultColorValue:this.options.defaultTableProperties.backgroundColor,colorPickerConfig:this.options.colorPickerConfig}),l=new S(e,n);return l.set({label:t("Color"),class:"ck-table-properties-form__background"}),l.fieldView.bind("value").to(this,"backgroundColor"),l.fieldView.on("input",()=>{this.backgroundColor=l.fieldView.value}),{backgroundRowLabel:o,backgroundInput:l}}_createDimensionFields(){let e=this.locale,t=this.t,o=new W(e);o.text=t("Dimensions");let n=new S(e,N);n.set({label:t("Width"),class:"ck-table-form__dimensions-row__width"}),n.fieldView.bind("value").to(this,"width"),n.fieldView.on("input",()=>{this.width=n.fieldView.element.value});let l=new F(e);l.setTemplate({tag:"span",attributes:{class:["ck-table-form__dimension-operator"]},children:[{text:"\xD7"}]});let r=new S(e,N);return r.set({label:t("Height"),class:"ck-table-form__dimensions-row__height"}),r.fieldView.bind("value").to(this,"height"),r.fieldView.on("input",()=>{this.height=r.fieldView.element.value}),{dimensionsLabel:o,widthInput:n,operatorLabel:l,heightInput:r}}_createAlignmentFields(){let e=this.locale,t=this.t,o=new W(e);o.text=t("Alignment");let n=new Ve(e);return n.set({role:"radiogroup",isCompact:!0,ariaLabel:t("Table alignment toolbar")}),it({view:this,icons:{left:fn,center:hn,right:gn},toolbar:n,labels:this._alignmentLabels,propertyName:"alignment",defaultValue:this.options.defaultTableProperties.alignment}),{alignmentLabel:o,alignmentToolbar:n}}_createActionButtons(){let e=this.locale,t=this.t,o=new L(e),n=new L(e),l=[this.borderWidthInput,this.borderColorInput,this.backgroundInput,this.widthInput,this.heightInput];return o.set({label:t("Save"),icon:Kt,class:"ck-button-save",type:"submit",withText:!0}),o.bind("isEnabled").toMany(l,"errorText",(...r)=>r.every(s=>!s)),n.set({label:t("Cancel"),icon:$t,class:"ck-button-cancel",withText:!0}),n.delegate("execute").to(this,"cancel"),{saveButtonView:o,cancelButtonView:n}}get _alignmentLabels(){let e=this.locale,t=this.t,o=t("Align table to the left"),n=t("Center table"),l=t("Align table to the right");return e.uiLanguageDirection==="rtl"?{right:l,center:n,left:o}:{left:o,center:n,right:l}}};function We(i){return i!=="none"}var er=500,_l={borderStyle:"tableBorderStyle",borderColor:"tableBorderColor",borderWidth:"tableBorderWidth",backgroundColor:"tableBackgroun
1dColor",width:"tableWidth",height:"tableHeight",alignment:"tableAlignment"},Lt=class extends T{_defaultContentTableProperties;_defaultLayoutTableProperties;_balloon;view=null;_viewWithContentTableDefaults=null;_viewWithLayoutTableDefaults=null;_undoStepBatch;_isReady;static get requires(){return[re]}static get pluginName(){return"TablePropertiesUI"}static get isOfficialPlugin(){return!0}constructor(e){super(e),e.config.define("table.tableProperties",{borderColors:Te,backgroundColors:Te})}init(){let e=this.editor;this._defaultContentTableProperties=Yo(e.config.get("table.tableProperties.defaultProperties"),{includeAlignmentProperty:!0}),this._defaultLayoutTableProperties=Ae(),this._balloon=e.plugins.get(re),e.ui.componentFactory.add("tableProperties",()=>this._createTablePropertiesButton())}_createTablePropertiesButton(){let e=this.editor,t=e.t,o=new L(e.locale);o.set({label:t("Table properties"),icon:Jt,tooltip:!0}),this.listenTo(o,"execute",()=>this._showView());let n=Object.values(_l).map(l=>e.commands.get(l));return o.bind("isEnabled").toMany(n,"isEnabled",(...l)=>l.some(r=>r)),o}destroy(){super.destroy(),this.view&&this.view.destroy()}_createPropertiesView(e){let t=this.editor,o=t.config.get("table.tableProperties"),n=ce(o.borderColors),l=ae(t.locale,n),r=ce(o.backgroundColors),s=ae(t.locale,r),a=o.colorPicker!==!1,c=new kt(t.locale,{borderColors:l,backgroundColors:s,defaultTableProperties:e,colorPickerConfig:a?o.colorPicker||{}:!1}),d=t.t;c.render(),this.listenTo(c,"submit",()=>{this._hideView()}),this.listenTo(c,"cancel",()=>{this._undoStepBatch.operations.length&&t.execute("undo",this._und
vendor: 7,490 bytes, line 1
1oStepBatch),this._hideView()}),c.keystrokes.set("Esc",(h,f)=>{this._hideView(),f()}),eo({emitter:c,activator:()=>this._isViewInBalloon,contextElements:[this._balloon.view.element],callback:()=>this._hideView()});let u=jo(d),m=Go(d);return c.on("change:borderStyle",this._getPropertyChangeCallback("tableBorderStyle")),c.on("change:borderColor",this._getValidatedPropertyChangeCallback({viewField:c.borderColorInput,commandName:"tableBorderColor",errorText:u,validator:Ce})),c.on("change:borderWidth",this._getValidatedPropertyChangeCallback({viewField:c.borderWidthInput,commandName:"tableBorderWidth",errorText:m,validator:$o})),c.on("change:backgroundColor",this._getValidatedPropertyChangeCallback({viewField:c.backgroundInput,commandName:"tableBackgroundColor",errorText:u,validator:Ce})),c.on("change:width",this._getValidatedPropertyChangeCallback({viewField:c.widthInput,commandName:"tableWidth",errorText:m,validator:Y})),c.on("change:height",this._getValidatedPropertyChangeCallback({viewField:c.heightInput,commandName:"tableHeight",errorText:m,validator:Y})),c.on("change:alignment",this._getPropertyChangeCallback("tableAlignment")),c}_fillViewFormFromCommandValues(){let e=this.editor.commands,t=e.get("tableBorderStyle");Object.entries(_l).map(([o,n])=>{let l=o,r=this.view===this._viewWithContentTableDefaults?this._defaultContentTableProperties[l]||"":this._defaultLayoutTableProperties[l]||"";return[l,e.get(n).value||r]}).forEach(([o,n])=>{(o==="borderColor"||o==="borderWidth")&&t.value==="none"||this.view.set(o,n)}),this._isReady=!0}_showView(){let e=this.editor,t=we(e.editing.view.document.selection),o=t&&e.editing.mapper.toModelElement(t),n=!o||o.getAttribute("tableType")!=="layout";n&&!this._viewWithContentTableDefaults?this._viewWithContentTableDefaults=this._createPropertiesView(this._defaultContentTableProperties):!n&&!this._viewWithLayoutTableDefaults&&(this._viewWithLayoutTableDefaults=this._createPropertiesView(this._defaultLayoutTableProperties)),this.view=n?this._viewWithContentTableDefaults:this._viewWithLayoutTableDefaults,this.listenTo(e.ui,"update",()=>{this._updateView()}),this._fillViewFormFromCommandValues(),this._balloon.add({view:this.view,position:Xo(e)}),this._undoStepBatch=e.model.createBatch(),this.view.focus()}_hideView(){let e=this.editor;this.stopListening(e.ui,"update"),this._isReady=!1,this.view.saveButtonView.focus(),this._balloon.remove(this.view),this.editor.editing.view.focus()}_updateView(){let e=this.editor,t=e.editing.view.document;we(t.selection)?this._isViewVisible&&qo(e,"table"):this._hideView()}get _isViewVisible(){return!!this.view&&this._balloon.visibleView===this.view}get _isViewInBalloon(){return!!this.view&&this._balloon.hasView(this.view)}_getPropertyChangeCallback(e){return(t,o,n)=>{this._isReady&&this.editor.execute(e,{value:n,batch:this._undoStepBatch})}}_getValidatedPropertyChangeCallback(e){let{commandName:t,viewField:o,validator:n,errorText:l}=e,r=q(()=>{o.errorText=l},er);return(s,a,c)=>{r.cancel(),this._isReady&&(n(c)?(this.editor.execute(t,{value:c,batch:this._undoStepBatch}),o.errorText=null):r())}}},Ro=class extends T{static get pluginName(){return"TableProperties"}static get isOfficialPlugin(){return!0}static get requires(){return[Pt,Lt]}};function ql(i){i.document.registerPostFixer(e=>tr(e,i))}function tr(i,e){let t=e.document.differ.getChanges(),o=!1;for(let n of t){if(n.type!="insert")continue;let l=n.position.parent;if(l.is("element","table")||n.name=="table"){let r=n.name=="table"?n.position.nodeAfter:l,s=Array.from(r.getChildren()).filter(c=>c.is("element","caption")),a=s.shift();if(!a)continue;for(let c of s)i.move(i.createRangeIn(c),a,"end"),i.remove(c);a.nextSibling&&(i.move(i.createRangeOn(a),r,"end"),o=!0),o=!!s.length||o}}return o}function Vo(i){return!!i&&i.is("element","table")}function Dt(i){for(let e of i.getChildren())if(e.is("element","caption"))return e;return null}function Xl(i){let e=E(i);return e?Dt(e):null}function Jl(i){let e=i.parent;return i.name=="figcaption"&&e&&e.is("element","figure")&&e.hasClass("table")?{name:!0}:i.name=="caption"&&e&&e.is("element","table")?{name:!0}:null}var Bt=class extends I{refresh(){let e=this.editor,t=E(e.model.document.selection);this.isEnabled=!!t&&e.model.schema.checkChild(t,"caption"),this.isEnabled?this.value=!!Dt(t):this.value=!1}execute({focusCaptionOnShow:e=!1}={}){this.editor.model.change(t=>{this.value?this._hideTableCaption(t):this._showTableCaption(t,e)})}_showTableCaption(e,t){let o=this.editor.model,n=E(o.document.selection),s=this.editor.plugins.get("TableCaptionEditing")._getSavedCaption(n)||e.createElement("caption");o.insertContent(s,n,"end"),t&&e.setSelection(s,"in")}_hideTableCaption(e){let t=this.editor.model,o=E(t.document.selection),n=this.editor.plugins.get("TableCaptionEditing"),l=Dt(o);n._saveCaption(o,l),t.deleteContent(e.createSelection(l,"on"))}},Wt=class extends T{_savedCaptionsMap;static get pluginName(){return"TableCaptionEditing"}static get isOfficialPlugin(){return!0}constructor(e){super(e),this._savedCaptionsMap=new WeakMap}init(){let e=this.editor,t=e.model.schema,o=e.editing.view,n=e.t;t.isRegistered("caption")?t.extend("caption",{allowIn:"table"}):t.register("caption",{allowIn:"table",allowContentOf:"$block",isLimit:!0}),e.commands.add("toggleTableCaption",new Bt(this.editor)),e.conversion.for("upcast").elementToElement({view:Jl,model:"caption"}),e.conversion.for("dataDowncast").elementToElement({model:"caption",view:(l,{writer:r})=>Vo(l.parent)?r.createContainerElement("figcaption"):null}),e.conversion.for("editingDowncast").elementToElement({model:"caption",view:(l,{writer:r})=>{if(!Vo(l.parent))return null;let s=r.createEditableElement("figcaption");return r.setCustomProperty("tableCaption",!0,s),s.placeholder=n("Enter table caption"),Rn({view:o,element:s,keepOnFocus:!0}),jt(s,r)}}),ql(e.model)}_getSavedCaption(e){let t=this._savedCaptionsMap.get(e);return t?vn.fromJSON(t):null}_saveCaption(e,t){this._savedCaptionsMap.set(e,t.toJSON())}},Mt=class extends T{static get pluginName(){return"TableCaptionUI"}static get isOfficialPlugin(){return!0}init(){let e=this.editor,t=e.editing.view,o=e.t;e.ui.componentFactory.add("toggleTableCaption",n=>{let l=e.commands.get("toggleTableCaption"),r=new L(n);return r.set({icon:mn,tooltip:!0,isToggleable:!0}),r.bind("isOn","isEnabled").to(l,"value","isEnabled"),r.bind("label").to(l,"value",s=>o(s?"Toggle caption off":"Toggle caption on")),this.listenTo(r,"execute",()=>{if(e.execute("toggleTableCaption",{focusCaptionOnShow:!0}),l.value){let s=Xl(e.model.document.selection),a=e.editing.mapper.toViewElement(s);if(!a)return;t.scrollToTheSelection(),t.change(c=>{c.addClass("table__caption_highlighted",a)})}e.editing.view.focus()}),r})}},Eo=class extends T{static get pluginName(){return"TableCaption"}static get isOfficialPlugin(){return!0}static get requires(){return[Wt,Mt]}};export{ge as InsertColumnCommand,fe as InsertRowCommand,Ne as InsertTableCommand,Ct as InsertTableLayoutCommand,G as MergeCellCommand,Xe as MergeCellsCommand,nt as PlainTableOutput,je as RemoveColumnCommand,Ue as RemoveRowCommand,Ye as SelectColumnCommand,Je as SelectRowCommand,$e as SetHeaderColumnCommand,Ge as SetHeaderRowCommand,be as SplitCellCommand,ot as Table,Et as TableAlignmentCommand,It as TableBackgroundColorCommand,At as TableBorderColorCommand,vt as TableBorderStyleCommand,St as TableBorderWidthCommand,Eo as TableCaption,Wt as TableCaptionEditing,Mt as TableCaptionUI,ut as TableCellBackgroun
1dColorCommand,gt as TableCellBorderColorCommand,ft as TableCellBorderStyleCommand,bt as TableCellBorderWidthCommand,dt as TableCellHeightCommand,ht as TableCellHorizontalAlignmentCommand,ct as TableCellPaddingCommand,vo as TableCellProperties,pt as TableCellPropertiesEditing,st as TableCellPropertiesUI,rt as TableCellPropertiesView,V as TableCellPropertyCommand,mt as TableCellVerticalAlignmentCommand,at as TableCellWidthCommand,ye as TableCellWidthEditing,Qe as TableClipboard,xe as TableColumnResize,_t as TableColumnResizeEditing,z as TableEditing,Vt as TableHeightCommand,et as TableKeyboard,So as TableLayout,xt as TableLayoutEditing,wt as TableLayoutUI,tt as TableMouse,Ro as TableProperties,Pt as TablePropertiesEditing,Lt as TablePropertiesUI,kt as TablePropertiesView,B as TablePropertyCommand,P as TableSelection,Io as TableToolbar,yt as TableTypeCommand,Ze as TableUI,x as TableUtils,C as TableWalker,Rt as TableWidthCommand,Tt as TableWidthsCommand,Bt as ToggleTableCaptionCommand,$ as _InsertTableView,vl as _TABLE_COLUMN_MIN_WIDTH_AS_PERCENTAGE,Ke as _TABLE_COLUMN_MIN_WIDTH_IN_PIXELS,Rl as _TABLE_COLUMN_RESIZE_DISTANCE_THRESHOLD,Sl as _TABLE_COLUMN_WIDTH_PRECISION,Te as _TABLE_DEFAULT_COLORS,lt as _TableColorInputView,pe as _TableMouseEventsObserver,U as _addDefaultUnitToNumericValue,Fo as _adjustLastTableColumnIndex,Oo as _adjustLastTableRowIndex,kl as _clamp,Ce as _colorTableFieldValidator,To as _convertParagraphInTableCell,M as _createEmptyTableCell,Ll as _createFilledArray,ko as _cropTableToDimensions,wo as _downcastTable,me as _downcastTableAttribute,J as _downcastTableAttributeToStyle,Co as _downcastTableCell,Kl as _downcastTableResizedClass,Al as _downcastTableRow,he as _enableTableCellProperty,bo as _ensureParagraphInTableCell,it as _fillTableOrCellToolbar,Jo as _getBalloonTableCellPositionData,Xo as _getBalloonTablePositionData,zt as _getBorderTableStyleLabels,Vl as _getChangedResizedTables,D as _getDefaultTableValueAdjusted,Dl as _getDomTableCellOuterWidth,qe as _getElementWidthInPixels,Bo as _getHorizontallyOverlappingTableCells,_e as _getLabeledTableColorInputCreator,jo as _getLocalizedTableColorErrorText,Go as _getLocalizedTableLengthErrorText,Ae as _getNormalizedDefaultTableBaseProperties,Ht as _getNormalizedDefaultTableCellProperties,Yo as _getNormalizedDefaultTableProperties,Ho as _getSelectedTableWidget,E as _getSelectionAffectedTable,we as _getSelectionAffectedTableWidget,H as _getTableBorderBoxSingleValue,Dt as _getTableCaptionFromModelElement,Xl as _getTableCaptionFromModelSelection,Pl as _getTableColumnEdgesIndexes,ee as _getTableColumnElements,Q as _getTableColumnGroupElement,El as _getTableColumnMinWidthAsPercentage,Bl as _getTableColumnsWidths,Ko as _getTableOrCellBorderStyleDefinitions,Ie as _getTableWidgetAncestor,No as _getTableWidthInPixels,Lo as _getVerticallyOverlappingTableCells,ql as _injectTableCaptionPostFixer,Ol as _injectTableCellParagraphPostFixer,Ml as _injectTableLayoutPostFixer,Po as _isSingleTableParagraphWithoutAttributes,Fe as _isTableHeadingColumnCell,Vo as _isTableModelElement,Y as _lengthTableFieldValidator,$o as _lineWidthTableFieldValidator,Jl as _matchTableCaptionViewElement,Nt as _normalizeTableColumnWidths,ze as _removeEmptyTableColumns,He as _removeEmptyTableRows,Ft as _removeEmptyTableRowsColumns,qo as _repositionTableContextualBalloon,Il as _skipEmptyTableRow,Do as _splitTableCellHorizontally,Wo as _splitTableCellVertically,Z as _sumArray,zl as _tableCellRefreshHandler,Nl as _tableHeadingsRefreshHandler,A as _toPrecision,Wl as _translateTableColspanAttribute,Mo as _trimTableCellIfNeeded,Ot as _upcastNormalizedTableStyleToAttribute,xl as _upcastTable,Oe as _upcastTableBorderStyles,$l as _upcastTableColgroupElement,yl as _upcastTableFigure,zo as _updateTableColumnElements,y as _updateTableNumericAttribute}; 2/*! Bundled license information: 3 4@ckeditor/ckeditor5-table/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 (* istanbul ignore next -- @preserve *)
10 (* istanbul ignore if: paranoid check -- @preserve *) 11*/ 12//# sourceMappingURL=@ckeditor$ckeditor5-table$dist$index.js.(TK2UQVGB).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.