@univerjs/sheets-ui 0.20.0 → 0.20.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/facade.js +1 -1
- package/lib/cjs/index.js +4 -4
- package/lib/cjs/locale/ca-ES.js +1 -1
- package/lib/cjs/locale/en-US.js +1 -1
- package/lib/cjs/locale/es-ES.js +1 -1
- package/lib/cjs/locale/fa-IR.js +1 -1
- package/lib/cjs/locale/fr-FR.js +1 -1
- package/lib/cjs/locale/ja-JP.js +1 -1
- package/lib/cjs/locale/ko-KR.js +1 -1
- package/lib/cjs/locale/ru-RU.js +1 -1
- package/lib/cjs/locale/sk-SK.js +1 -1
- package/lib/cjs/locale/vi-VN.js +1 -1
- package/lib/cjs/locale/zh-CN.js +1 -1
- package/lib/cjs/locale/zh-TW.js +1 -1
- package/lib/es/facade.js +1 -1
- package/lib/es/index.js +3 -3
- package/lib/es/locale/ca-ES.js +1 -1
- package/lib/es/locale/en-US.js +1 -1
- package/lib/es/locale/es-ES.js +1 -1
- package/lib/es/locale/fa-IR.js +1 -1
- package/lib/es/locale/fr-FR.js +1 -1
- package/lib/es/locale/ja-JP.js +1 -1
- package/lib/es/locale/ko-KR.js +1 -1
- package/lib/es/locale/ru-RU.js +1 -1
- package/lib/es/locale/sk-SK.js +1 -1
- package/lib/es/locale/vi-VN.js +1 -1
- package/lib/es/locale/zh-CN.js +1 -1
- package/lib/es/locale/zh-TW.js +1 -1
- package/lib/facade.js +1 -1
- package/lib/index.css +14 -0
- package/lib/index.js +3 -3
- package/lib/locale/ca-ES.js +1 -1
- package/lib/locale/en-US.js +1 -1
- package/lib/locale/es-ES.js +1 -1
- package/lib/locale/fa-IR.js +1 -1
- package/lib/locale/fr-FR.js +1 -1
- package/lib/locale/ja-JP.js +1 -1
- package/lib/locale/ko-KR.js +1 -1
- package/lib/locale/ru-RU.js +1 -1
- package/lib/locale/sk-SK.js +1 -1
- package/lib/locale/vi-VN.js +1 -1
- package/lib/locale/zh-CN.js +1 -1
- package/lib/locale/zh-TW.js +1 -1
- package/lib/types/controllers/clipboard/utils.d.ts +8 -2
- package/lib/types/locale/en-US.d.ts +2 -0
- package/lib/types/views/dropdown/date-dropdown/index.d.ts +3 -3
- package/lib/umd/facade.js +1 -1
- package/lib/umd/index.js +9 -9
- package/lib/umd/locale/ca-ES.js +1 -1
- package/lib/umd/locale/en-US.js +1 -1
- package/lib/umd/locale/es-ES.js +1 -1
- package/lib/umd/locale/fa-IR.js +1 -1
- package/lib/umd/locale/fr-FR.js +1 -1
- package/lib/umd/locale/ja-JP.js +1 -1
- package/lib/umd/locale/ko-KR.js +1 -1
- package/lib/umd/locale/ru-RU.js +1 -1
- package/lib/umd/locale/sk-SK.js +1 -1
- package/lib/umd/locale/vi-VN.js +1 -1
- package/lib/umd/locale/zh-CN.js +1 -1
- package/lib/umd/locale/zh-TW.js +1 -1
- package/package.json +12 -12
package/lib/es/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{BreakLineCommand as e,CoverContentCommand as t,DOCS_COMPONENT_MAIN_LAYER_INDEX as n,DOCS_VIEW_KEY as r,DOC_VERTICAL_PADDING as i,DeleteLeftCommand as a,DeleteRightCommand as o,DocSelectionRenderService as s,IEditorService as c,IMEInputCommand as l,InsertCommand as u,MoveCursorOperation as d,MoveSelectionOperation as f,NodePositionConvertToCursor as p,ReplaceSnapshotCommand as m,SetInlineFormatBoldCommand as h,SetInlineFormatCommand as g,SetInlineFormatFontFamilyCommand as _,SetInlineFormatFontSizeCommand as v,SetInlineFormatItalicCommand as y,SetInlineFormatStrikethroughCommand as b,SetInlineFormatSubscriptCommand as x,SetInlineFormatSuperscriptCommand as S,SetInlineFormatTextColorCommand as C,SetInlineFormatUnderlineCommand as w,VIEWPORT_KEY as T,convertBodyToHtml as E,getCanvasOffsetByEngine as D,getLineBounding as O}from"@univerjs/docs-ui";import{AbsoluteRefType as ee,BaselineOffset as te,BooleanNumber as ne,BorderStyleTypes as k,CellModeEnum as re,CellValueType as ie,ColorKit as ae,CommandType as A,CustomRangeType as oe,DEFAULT_EMPTY_DOCUMENT_VALUE as se,DEFAULT_STYLES as ce,DEFAULT_WORKSHEET_COLUMN_WIDTH as le,DEFAULT_WORKSHEET_COLUMN_WIDTH_KEY as ue,DEFAULT_WORKSHEET_ROW_HEIGHT as de,DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY as fe,DOCS_NORMAL_EDITOR_UNIT_ID_KEY as pe,DataStreamTreeTokenType as me,DependentOn as he,Direction as j,Disposable as M,DisposableCollection as ge,DocumentFlavor as _e,EDITOR_ACTIVATED as ve,ErrorService as ye,FOCUSING_COMMENT_EDITOR as be,FOCUSING_COMMON_DRAWINGS as xe,FOCUSING_EDITOR_BUT_HIDDEN as Se,FOCUSING_EDITOR_INPUT_FORMULA as Ce,FOCUSING_EDITOR_STANDALONE as we,FOCUSING_FX_BAR_EDITOR as Te,FOCUSING_SHAPE_TEXT_EDITOR as Ee,FOCUSING_SHEET as De,FOCUSING_UNIVER_EDITOR as Oe,FontItalic as ke,FontWeight as Ae,HorizontalAlign as je,IAuthzIoService as Me,ICommandService as N,IConfigService as Ne,IConfirmService as Pe,IContextService as Fe,ILogService as Ie,IPermissionService as Le,IUndoRedoService as Re,IUniverInstanceService as P,Inject as F,Injector as ze,InterceptorEffectEnum as Be,InterceptorManager as Ve,LRUMap as He,LocaleService as Ue,LocaleType as We,NilCommand as Ge,ObjectMatrix as Ke,Optional as qe,Plugin as Je,PresetListType as Ye,Quantity as Xe,RANGE_TYPE as I,Range as Ze,Rectangle as Qe,RxDisposable as $e,ThemeService as et,Tools as tt,UndoCommandId as nt,UniverInstanceType as L,UserManagerService as rt,VerticalAlign as it,Workbook as at,WrapStrategy as ot,cloneCellData as st,cloneCellDataMatrix as ct,cloneCellDataWithSpanAndDisplay as lt,cloneValue as ut,composeStyles as dt,convertCellToRange as ft,createIdentifier as pt,createInterceptorKey as mt,dayjs as ht,debounce as gt,extractPureTextFromCell as _t,fromEventSubject as vt,generateRandomId as yt,get as bt,getEmptyCell as xt,getNumfmtParseValueFilter as St,getReverseDirection as Ct,handleStyleToString as wt,isFormulaString as Tt,isNotNullOrUndefined as Et,isRealNum as Dt,isTextFormat as Ot,isValidRange as kt,merge as At,mergeOverrideWithDependencies as jt,nameCharacterCheck as Mt,numfmt as Nt,registerDependencies as Pt,sequenceExecute as Ft,set as It,skipParseTagNames as Lt,sortRules as Rt,splitIntoGrid as zt,throttle as Bt,toDisposable as Vt,touchDependencies as Ht,willLoseNumericPrecision as Ut}from"@univerjs/core";import{AnchoredContextMenu as Wt,BuiltInUIPart as Gt,COLOR_PICKER_COMPONENT as Kt,ComponentContainer as qt,ComponentManager as Jt,ContextMenuGroup as Yt,ContextMenuPosition as Xt,CopyCommand as Zt,CutCommand as Qt,DISABLE_AUTO_FOCUS_KEY as $t,FILE_PNG_CLIPBOARD_MIME_TYPE as en,FILE__BMP_CLIPBOARD_MIME_TYPE as tn,FILE__JPEG_CLIPBOARD_MIME_TYPE as nn,FILE__WEBP_CLIPBOARD_MIME_TYPE as rn,FONT_FAMILY_COMPONENT as an,FONT_FAMILY_ITEM_COMPONENT as on,FONT_SIZE_COMPONENT as sn,FONT_SIZE_LIST as cn,HTML_CLIPBOARD_MIME_TYPE as ln,ICanvasPopupService as un,IClipboardInterfaceService as dn,IContextMenuService as fn,IDialogService as pn,ILayoutService as mn,IMenuManagerService as hn,IMessageService as gn,INotificationService as _n,IPlatformService as vn,IShortcutService as yn,ISidebarService as bn,IUIPartsService as xn,IZenZoneService as Sn,KeyCode as R,MenuItemType as z,MetaKeys as Cn,PLAIN_TEXT_CLIPBOARD_MIME_TYPE as wn,PasteCommand as Tn,RibbonDataGroup as En,RibbonPosition as Dn,RibbonStartGroup as On,SheetPasteShortKeyCommandName as kn,Slider as An,ToolbarItem as jn,UI_PLUGIN_CONFIG_KEY as Mn,UniverMobileUIPlugin as Nn,connectInjector as Pn,getMenuHiddenObservable as B,handleStringToStyle as Fn,imageMimeTypeSet as In,sanitizeParsedHtml as Ln,textTrim as Rn,useComponentsOfPart as zn,useConfigValue as Bn,useDependency as V,useEvent as Vn,useObservable as Hn,useSidebarClick as Un}from"@univerjs/ui";import{CURSOR_TYPE as Wn,DEFAULT_PADDING_DATA as Gn,DashedRect as Kn,DeviceInputEventType as qn,FIX_ONE_PIXEL_BLUR_OFFSET as Jn,Group as Yn,IRenderManagerService as Xn,Layer as Zn,RENDER_CLASS_TYPE as Qn,RENDER_RAW_FORMULA_KEY as $n,Rect as er,RegularPolygon as tr,SHEET_EXTENSION_PREFIX as nr,SHEET_VIEWPORT_KEY as H,ScrollBar as rr,ScrollTimer as ir,ScrollTimerType as ar,Shape as or,SheetExtension as sr,Spreadsheet as cr,SpreadsheetColumnHeader as lr,SpreadsheetRowHeader as ur,TRANSFORM_CHANGE_OBSERVABLE_TYPE as dr,Vector2 as fr,Viewport as pr,cancelRequestFrame as mr,convertTextRotation as hr,convertTransformToOffsetX as gr,convertTransformToOffsetY as _r,fixLineWidthByScale as vr,getCurrentTypeOfRenderer as yr,hasCJKText as br,ptToPixel as xr,requestNewFrame as Sr,withCurrentTypeOfRenderer as Cr}from"@univerjs/engine-render";import{AUTO_FILL_APPLY_TYPE as wr,AUTO_FILL_HOOK_TYPE as Tr,AddMergeUndoMutationFactory as Er,AddRangeProtectionCommand as Dr,AddRangeProtectionMutation as Or,AddWorksheetMergeAllCommand as kr,AddWorksheetMergeCommand as Ar,AddWorksheetMergeHorizontalCommand as jr,AddWorksheetMergeMutation as Mr,AddWorksheetMergeVerticalCommand as Nr,AddWorksheetProtectionCommand as Pr,AutoClearContentCommand as Fr,AutoFillCommand as Ir,AutoFillController as Lr,BEFORE_CELL_EDIT as Rr,BorderStyleManagerService as zr,COMMAND_LISTENER_SKELETON_CHANGE as Br,COMMAND_LISTENER_VALUE_CHANGE as Vr,CancelFrozenCommand as Hr,CancelMarkDirtyRowAutoHeightMutation as Ur,ClearSelectionAllCommand as Wr,ClearSelectionContentCommand as Gr,ClearSelectionFormatCommand as Kr,CopySheetCommand as qr,DeleteRangeMoveLeftCommand as Jr,DeleteRangeMoveUpCommand as Yr,DeleteRangeProtectionCommand as Xr,DeleteRangeProtectionMutation as Zr,DeleteWorksheetProtectionCommand as Qr,DeltaColumnWidthCommand as $r,DeltaRowHeightCommand as ei,EditStateEnum as ti,IAutoFillService as ni,IExclusiveRangeService as ri,INTERCEPTOR_POINT as ii,INumfmtService as ai,IRefSelectionsService as oi,InsertColBeforeCommand as si,InsertColCommand as ci,InsertColMutation as li,InsertDefinedNameCommand as ui,InsertMultiColsLeftCommand as di,InsertMultiColsRightCommand as fi,InsertMultiRowsAboveCommand as pi,InsertMultiRowsAfterCommand as mi,InsertRangeMoveDownCommand as hi,InsertRangeMoveRightCommand as gi,InsertRowBeforeCommand as _i,InsertRowCommand as vi,InsertRowMutation as yi,InsertSheetCommand as bi,InsertSheetMutation as xi,MAX_CELL_PER_SHEET_KEY as Si,MERGE_CELL_INTERCEPTOR_CHECK as Ci,MarkDirtyRowAutoHeightMutation as wi,MergeCellController as Ti,MoveColsCommand as Ei,MoveColsMutation as Di,MoveRangeCommand as Oi,MoveRangeMutation as ki,MoveRowsCommand as Ai,MoveRowsMutation as ji,REF_SELECTIONS_ENABLED as Mi,RangeProtectionCache as Ni,RangeProtectionPermissionEditPoint as U,RangeProtectionPermissionViewPoint as Pi,RangeProtectionRuleModel as Fi,RefRangeService as Ii,RefSelectionsService as Li,RefillCommand as Ri,RemoveColCommand as zi,RemoveColMutation as Bi,RemoveDefinedNameCommand as Vi,RemoveMergeUndoMutationFactory as Hi,RemoveRowCommand as Ui,RemoveRowMutation as Wi,RemoveSheetCommand as Gi,RemoveSheetMutation as Ki,RemoveWorksheetMergeCommand as qi,RemoveWorksheetMergeMutation as Ji,ResetBackgroundColorCommand as Yi,ResetTextColorCommand as Xi,SCOPE_WORKBOOK_VALUE_DEFINED_NAME as Zi,SELECTIONS_ENABLED as Qi,SELECTION_CONTROL_BORDER_BUFFER_COLOR as $i,SELECTION_CONTROL_BORDER_BUFFER_WIDTH as ea,SHEETS_PLUGIN_CONFIG_KEY as ta,ScrollToCellOperation as na,SelectionMoveType as ra,SetBackgroundColorCommand as ia,SetBoldCommand as aa,SetBorderBasicCommand as oa,SetBorderCommand as sa,SetColHiddenCommand as ca,SetColHiddenMutation as la,SetColVisibleMutation as ua,SetColWidthCommand as da,SetDefinedNameCommand as fa,SetFontFamilyCommand as pa,SetFontSizeCommand as ma,SetFrozenCommand as ha,SetFrozenMutation as ga,SetFrozenMutationFactory as _a,SetHorizontalTextAlignCommand as va,SetItalicCommand as ya,SetProtectionCommand as ba,SetRangeValuesCommand as xa,SetRangeValuesMutation as Sa,SetRangeValuesUndoMutationFactory as Ca,SetRowHeightCommand as wa,SetRowHiddenCommand as Ta,SetRowHiddenMutation as Ea,SetRowVisibleMutation as Da,SetSelectedColsVisibleCommand as Oa,SetSelectedRowsVisibleCommand as ka,SetSelectionsOperation as Aa,SetSpecificColsVisibleCommand as ja,SetSpecificRowsVisibleCommand as Ma,SetStrikeThroughCommand as Na,SetStyleCommand as Pa,SetTabColorCommand as Fa,SetTabColorMutation as Ia,SetTextColorCommand as La,SetTextRotationCommand as Ra,SetTextWrapCommand as za,SetUnderlineCommand as Ba,SetVerticalTextAlignCommand as Va,SetWorksheetActivateCommand as Ha,SetWorksheetActiveOperation as Ua,SetWorksheetColWidthMutation as Wa,SetWorksheetColWidthMutationFactory as Ga,SetWorksheetHideCommand as Ka,SetWorksheetHideMutation as qa,SetWorksheetNameCommand as Ja,SetWorksheetNameMutation as Ya,SetWorksheetOrderCommand as Xa,SetWorksheetOrderMutation as Za,SetWorksheetPermissionPointsCommand as Qa,SetWorksheetRowAutoHeightMutation as $a,SetWorksheetRowAutoHeightMutationFactory as eo,SetWorksheetRowHeightMutation as to,SetWorksheetRowIsAutoHeightCommand as no,SetWorksheetRowIsAutoHeightMutation as ro,SetWorksheetShowCommand as io,SheetCopyDownCommand as ao,SheetCopyDownCommand as oo,SheetCopyRightCommand as so,SheetCopyRightCommand as co,SheetInterceptorService as lo,SheetPermissionCheckController as uo,SheetPermissionInitController as fo,SheetSkeletonService as po,SheetsSelectionsService as W,TextToNumberCommand as mo,ToggleCellCheckboxCommand as ho,ToggleGridlinesCommand as go,ToggleGridlinesMutation as _o,UnitAction as vo,UnitObject as yo,UniverSheetsPlugin as bo,ViewStateEnum as xo,WorkbookCopyPermission as So,WorkbookCreateProtectPermission as Co,WorkbookCreateSheetPermission as wo,WorkbookDeleteColumnPermission as To,WorkbookDeleteRowPermission as Eo,WorkbookDeleteSheetPermission as Do,WorkbookEditablePermission as G,WorkbookHideSheetPermission as Oo,WorkbookInsertColumnPermission as ko,WorkbookInsertRowPermission as Ao,WorkbookManageCollaboratorPermission as jo,WorkbookRenameSheetPermission as Mo,WorksheetCopyPermission as No,WorksheetDeleteColumnPermission as Po,WorksheetDeleteProtectionPermission as Fo,WorksheetDeleteRowPermission as Io,WorksheetEditPermission as K,WorksheetInsertColumnPermission as Lo,WorksheetInsertRowPermission as Ro,WorksheetManageCollaboratorPermission as zo,WorksheetProtectionPointModel as Bo,WorksheetProtectionRuleModel as Vo,WorksheetSetCellStylePermission as Ho,WorksheetSetCellValuePermission as Uo,WorksheetSetColumnStylePermission as Wo,WorksheetSetRowStylePermission as Go,WorksheetViewPermission as Ko,adjustRangeOnMutation as qo,alignToMergedCellsBorders as Jo,attachPrimaryWithCoord as Yo,attachRangeWithCoord as Xo,attachSelectionWithCoord as Zo,baseProtectionActions as Qo,convertPrimaryWithCoordToPrimary as $o,convertSelectionDataToRange as es,countCells as ts,defaultLargeSheetOperationConfig as ns,discreteRangeToRange as rs,expandToContinuousRange as is,getAddMergeMutationRangeByType as as,getAllWorksheetPermissionPoint as os,getCellAtRowCol as ss,getClearContentMutationParamsForRanges as cs,getMoveRangeCommandMutations as ls,getPrimaryForRange as us,getSelectionsService as ds,getSheetCommandTarget as fs,rangeToDiscreteRange as ps,setEndForRange as ms}from"@univerjs/sheets";import{BehaviorSubject as hs,EMPTY as gs,Observable as _s,Subject as vs,Subscription as ys,combineLatest as bs,combineLatestWith as xs,distinctUntilChanged as Ss,filter as Cs,map as ws,merge as Ts,of as Es,shareReplay as Ds,startWith as Os,switchMap as ks,takeUntil as As,throttleTime as js,withLatestFrom as Ms}from"rxjs";import{DocSelectionManagerService as Ns,DocSkeletonManagerService as Ps,RichTextEditingMutation as Fs,SetTextSelectionsOperation as Is}from"@univerjs/docs";import{ObjectScope as Ls,UnitAction as Rs,UnitObject as zs,UnitRole as Bs,UniverType as Vs}from"@univerjs/protocol";import{useCallback as Hs,useEffect as Us,useLayoutEffect as Ws,useMemo as Gs,useRef as Ks,useState as q}from"react";import{Avatar as qs,Button as Js,Calendar as Ys,CascaderList as Xs,ColorPicker as Zs,Confirm as Qs,Dropdown as $s,DropdownMenu as ec,FormLayout as tc,Input as nc,InputNumber as rc,MessageType as ic,Radio as ac,RadioGroup as oc,Select as sc,Separator as cc,Switch as lc,TimeInput as uc,Tooltip as dc,borderBottomClassName as fc,borderClassName as pc,borderRightClassName as mc,borderTopClassName as hc,clsx as gc,scrollbarClassName as _c}from"@univerjs/design";import{AutofillDoubleIcon as vc,CheckMarkIcon as yc,CloseIcon as bc,ConvertIcon as xc,DeleteIcon as Sc,DropdownIcon as Cc,ErrorIcon as wc,EyelashIcon as Tc,FxIcon as Ec,HideGridlinesDoubleIcon as Dc,IncreaseIcon as Oc,InfoIcon as kc,LockIcon as Ac,MoreDownIcon as jc,MoreIcon as Mc,PaintBucketDoubleIcon as Nc,PasteSpecialDoubleIcon as Pc,PenIcon as Fc,ProtectIcon as Ic,WarningIcon as Lc,WriteIcon as Rc}from"@univerjs/icons";import{Fragment as zc,jsx as J,jsxs as Y}from"react/jsx-runtime";import{FUNCTION_NAMES_MATH as Bc,FUNCTION_NAMES_STATISTICAL as Vc,FUNCTION_NAMES_TEXT as Hc,FormulaDataModel as Uc,IDefinedNamesService as Wc,IFunctionService as Gc,ISuperTableService as Kc,LexerTreeBuilder as qc,NullValueObject as Jc,SetFormulaCalculationNotificationMutation as Yc,deserializeRangeWithSheet as Xc,isReferenceStringWithEffectiveColumn as Zc,isReferenceStrings as Qc,matchToken as $c,operatorToken as el,sequenceNodeType as tl,serializeRange as nl,serializeRangeWithSheet as rl}from"@univerjs/engine-formula";import{ITelemetryService as il}from"@univerjs/telemetry";import{debounceTime as al,filter as ol,map as sl,shareReplay as cl,startWith as ll,switchMap as ul}from"rxjs/operators";function dl(e,t){if(e==null)return;let n=t.getRenderById(e);if(n==null)return;let{mainComponent:i,scene:a,engine:o,components:s}=n;return{document:i,docBackground:s.get(r.BACKGROUND),scene:a,engine:o}}function fl(e){return e.getContextValue(De)}function pl(e){return e.getContextValue(De)&&e.getContextValue(Oe)&&!e.getContextValue(ve)&&!e.getContextValue(xe)}function ml(e){return e.getContextValue(De)&&e.getContextValue(Oe)&&!e.getContextValue(ve)&&!e.getContextValue(Te)&&!e.getContextValue(xe)}function hl(e){return e.getContextValue(De)&&e.getContextValue(Oe)&&e.getContextValue(ve)}function gl(e){return e.getContextValue(Oe)&&e.getContextValue(ve)}function _l(e){return e.getContextValue(Te)&&e.getContextValue(Oe)}function vl(e){return e.getContextValue(De)&&e.getContextValue(ve)&&e.getContextValue(Ce)&&e.getContextValue(Oe)}function yl(e){return e.getContextValue(De)&&e.getContextValue(Oe)&&e.getContextValue(ve)&&!e.getContextValue(Ce)&&!e.getContextValue(we)}function bl(e){let t=[],n=[],r=[];return e.forEach(e=>{t=t.concat(e.rows),n=n.concat(e.cols)}),t=Array.from(new Set(t)).sort((e,t)=>e-t),n=Array.from(new Set(n)).sort((e,t)=>e-t),e.forEach(e=>{r.push({startRow:t.findIndex(t=>t===e.rows[0]),endRow:t.findIndex(t=>t===e.rows[e.rows.length-1]),startColumn:n.findIndex(t=>t===e.cols[0]),endColumn:n.findIndex(t=>t===e.cols[e.cols.length-1])})}),{ranges:r,mapFunc:(e,r)=>({row:t[e],col:n[r]})}}const xl=mt(`rangeMovePermissionCheck`),Sl=mt(`rangeFillPermissionCheck`);let Cl=function(e){return e[e.FORMULA_EDITOR_SHOW=100]=`FORMULA_EDITOR_SHOW`,e[e.MARK_SELECTION=1e4]=`MARK_SELECTION`,e}({});function wl(e){let t=e.getColorFromTheme(`primary.600`),n=e.getColorFromTheme(`white`),r=new ae(t).setAlpha(.07).toRgbString();return{strokeWidth:1,stroke:t,fill:r,widgets:{},widgetSize:6,widgetStrokeWidth:1,widgetStroke:n,autofillSize:6,autofillStrokeWidth:1,autofillStroke:n,rowHeaderFill:r,rowHeaderStroke:t,rowHeaderStrokeWidth:1,columnHeaderFill:r,columnHeaderStroke:t,columnHeaderStrokeWidth:1,expandCornerSize:40}}const Tl=[10,400],El=`RANGE_SELECTOR_COMPONENT_KEY`,Dl=`EMBEDDING_FORMULA_EDITOR_COMPONENT_KEY`;let Ol=function(e){return e.MAIN=`__SpreadsheetRender__`,e.ROW=`__SpreadsheetRowHeader__`,e.COLUMN=`__SpreadsheetColumnHeader__`,e.LEFT_TOP=`__SpreadsheetLeftTopPlaceholder__`,e}({});function kl(e){"@babel/helpers - typeof";return kl=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},kl(e)}function Al(e,t){if(kl(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(kl(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function jl(e){var t=Al(e,`string`);return kl(t)==`symbol`?t:t+``}function X(e,t,n){return(t=jl(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Ml=class{constructor(){X(this,`_startColumn`,-1),X(this,`_startRow`,-1),X(this,`_endColumn`,-1),X(this,`_endRow`,-1),X(this,`_startX`,0),X(this,`_startY`,0),X(this,`_endX`,0),X(this,`_endY`,0),X(this,`_primary`,void 0),X(this,`_rangeType`,I.NORMAL)}get startColumn(){return this._startColumn}get startRow(){return this._startRow}get endColumn(){return this._endColumn}get endRow(){return this._endRow}get startX(){return this._startX}get startY(){return this._startY}get endX(){return this._endX}get endY(){return this._endY}get currentCell(){return this._primary}get rangeType(){return this._rangeType}isEqual(e){let{startColumn:t,startRow:n,endColumn:r,endRow:i}=this,{startColumn:a,startRow:o,endColumn:s,endRow:c}=e;return t===a&&n===o&&r===s&&i===c}highlightToSelection(){if(this._primary)return ft(this._primary)}getRange(){return{startColumn:this._startColumn,startRow:this._startRow,endColumn:this._endColumn,endRow:this._endRow,startX:this._startX,startY:this._startY,endX:this._endX,endY:this._endY,rangeType:this.rangeType}}getCell(){return this._primary}getRangeType(){return this._rangeType}setRangeType(e){this._rangeType=e}getValue(){return{rangeWithCoord:this.getRange(),primaryWithCoord:this._primary}}setValue(e,t){let{startColumn:n,startRow:r,endColumn:i,endRow:a,startX:o,startY:s,endX:c,endY:l,rangeType:u}=e;this._startColumn=n,this._startRow=r,this._endColumn=i,this._endRow=a,this._startX=o,this._startY=s,this._endX=c,this._endY=l,u!==void 0&&(this._rangeType=u),t!==void 0&&this.setCurrentCell(t)}setCurrentCell(e){this._primary=e}clearCurrentCell(){this._primary=null}};const Nl={id:`sheet.command.set-row-header-width`,type:A.COMMAND,handler:async(e,t)=>{if(!t)return!1;let n=e.get(Xn);if(!n)return!1;let{unitId:r,subUnitId:i,size:a}=t,o=n.getRenderById(r);if(o){n.getRenderById(r).with(Vl).setRowHeaderSize(o,i,a);let{components:e}=o,t=e.get(Ol.ROW);t&&t.setCustomHeader({headerStyle:{size:a}},i)}return!0}},Pl={id:`sheet.command.set-col-header-height`,type:A.COMMAND,handler:async(e,t)=>{if(!t)return!1;let n=e.get(Xn);if(!n)return!1;let{unitId:r,subUnitId:i,size:a}=t,o=n.getRenderById(r);if(o){n.getRenderById(r).with(Vl).setColumnHeaderSize(o,i,a);let{components:e}=o,t=e.get(Ol.COLUMN);t&&t.setCustomHeader({headerStyle:{size:a}},i)}return!0}};var Fl=class extends Zn{render(e,t=!1){let n=tt.now();return super.render(e,t),this._afterRender(n),this}_afterRender(e){this.scene.getEngine().renderFrameTimeMetric$.next([`selectionLayer`,tt.now()-e])}};const Il=pt(`univer.sheet.selection-render-service`);var Ll=class extends M{get selectionMoving(){return this._selectionMoving}constructor(e,t,n,r,i){super(),this._injector=e,this._themeService=t,this._shortcutService=n,this._sheetSkeletonManagerService=r,this.contextService=i,X(this,`_downObserver`,void 0),X(this,`_scenePointerMoveSub`,void 0),X(this,`_scenePointerUpSub`,void 0),X(this,`_controlFillConfig$`,new hs(null)),X(this,`controlFillConfig$`,this._controlFillConfig$.asObservable()),X(this,`_selectionControls`,[]),X(this,`_startRangeWhenPointerDown`,{startY:0,endY:0,startX:0,endX:0,startRow:-1,endRow:-1,startColumn:-1,endColumn:-1}),X(this,`_activeControlIndex`,-1),X(this,`_startViewportPosX`,0),X(this,`_startViewportPosY`,0),X(this,`_scrollTimer`,void 0),X(this,`_cancelDownSubscription`,void 0),X(this,`_cancelUpSubscription`,void 0),X(this,`_skeleton`,void 0),X(this,`_scene`,void 0),X(this,`_highlightHeader`,!0),X(this,`_rangeType`,I.NORMAL),X(this,`_selectionStyle`,void 0),X(this,`_remainLastEnabled`,!1),X(this,`_skipLastEnabled`,!1),X(this,`_singleSelectionEnabled`,!1),X(this,`_selectionMoveEnd$`,new hs([])),X(this,`selectionMoveEnd$`,this._selectionMoveEnd$.asObservable()),X(this,`_selectionMoving$`,new vs),X(this,`selectionMoving$`,this._selectionMoving$.asObservable()),X(this,`_selectionMoveStart$`,new vs),X(this,`selectionMoveStart$`,this._selectionMoveStart$.asObservable()),X(this,`_selectionMoving`,!1),X(this,`_selectionTheme`,void 0),X(this,`_activeViewport`,void 0),X(this,`interceptor`,new Ve({RANGE_MOVE_PERMISSION_CHECK:xl,RANGE_FILL_PERMISSION_CHECK:Sl})),X(this,`_escapeShortcutDisposable`,null),this._initSelectionThemeFromThemeService(),this._initMoving()}get _shouldDetectMergedCells(){return this._rangeType===I.NORMAL}_initMoving(){this.disposeWithMe(this._selectionMoving$.subscribe(()=>{this._selectionMoving=!0})),this.disposeWithMe(this._selectionMoveEnd$.subscribe(()=>{this._selectionMoving=!1}))}_setSelectionStyle(e){this._selectionStyle=e}getViewPort(){return this._activeViewport}setSingleSelectionEnabled(e=!1){this._singleSelectionEnabled=e}newSelectionControl(e,t,n){let r=this.getSelectionControls().length,{rowHeaderWidth:i,columnHeaderHeight:a}=t,o=new Kl(e,r,this._selectionTheme,{highlightHeader:this._highlightHeader,rowHeaderWidth:i,columnHeaderHeight:a});this._selectionControls.push(o);let s=Zo(n,t);return o.updateRangeBySelectionWithCoord(s,t),o.setControlExtension({skeleton:t,scene:e,themeService:this._selectionTheme,injector:this._injector,selectionHooks:{selectionMoveEnd:()=>{this._selectionMoveEnd$.next(this.getSelectionDataWithStyle())}}}),o}resetSelectionsByModelData(e){let t=this.getSelectionControls(),n=this._skeleton;if(!(!t||!n)){for(let r=0,i=e.length;r<i;r++){let i=e[r],a=Zo(i,this._skeleton),o=t[r];o?o.updateRangeBySelectionWithCoord(a,n):this.isSelectionEnabled()&&this.newSelectionControl(this._scene,n,i)}e.length<t.length&&t.splice(e.length).forEach(e=>e.dispose())}}refreshSelectionMoveStart(){this._selectionMoveStart$.next(this.getSelectionDataWithStyle())}refreshSelectionMoveEnd(){this._selectionMoveEnd$.next(this.getSelectionDataWithStyle())}_initSelectionThemeFromThemeService(){let e=this._themeService.getCurrentTheme();this._selectionTheme=new et,this._selectionTheme.setTheme(e)}setSelectionTheme(e){this._selectionTheme.setTheme(e)}_changeRuntime(e,t,n){this._skeleton=e,this._scene=t,this._activeViewport=n||(t==null?void 0:t.getViewports()[0]),t.findLayerByZIndex(1)||t.addLayer(new Fl(t,[],1))}getSkeleton(){return this._skeleton}getSelectionDataWithStyle(){let e=this._selectionControls;if(this._skeleton.worksheet){let[t,n]=this._skeleton.getLocation();return e.map(e=>{let r=e.getValue();return r.rangeWithCoord.sheetId=n,r.rangeWithCoord.unitId=t,r})}return[]}getSelectionControls(){return this._selectionControls}_addSelectionControlByModelData(e){var t;let n=this._skeleton,r=(t=e.style)==null?wl(this._selectionTheme):t,i=this._scene;return e.style=r,this.newSelectionControl(i,n,e)}_clearAllSelectionControls(){let e=this._selectionControls;for(let t of e)t.dispose();this._selectionControls.length=0}_getFreeze(){var e;return(e=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:e.skeleton.getWorksheetConfig().freeze}_getViewportByCell(e,t){if(e===void 0||t===void 0)return null;let n=this._getFreeze();if(!n||n.startRow<=0&&n.startColumn<=0||e>n.startRow&&t>n.startColumn)return this._scene.getViewport(H.VIEW_MAIN);if(e<=n.startRow&&t<=n.startColumn)return this._scene.getViewport(H.VIEW_MAIN_LEFT_TOP);if(e<=n.startRow&&t>n.startColumn)return this._scene.getViewport(H.VIEW_MAIN_TOP);if(e>n.startRow&&t<=n.startColumn)return this._scene.getViewport(H.VIEW_MAIN_LEFT)}getActiveRange(){let e=this.getSelectionControls(),t=e&&e[e.length-1].model;return t&&{startRow:t.startRow,startColumn:t.startColumn,endRow:t.endRow,endColumn:t.endColumn}}setActiveSelectionIndex(e){this._activeControlIndex=e}resetActiveSelectionIndex(){this._activeControlIndex=-1}getActiveSelectionControl(){let e=this.getSelectionControls();if(e)return this._activeControlIndex<0?e[e.length-1]:e[this._activeControlIndex]}endSelection(){var e;this._clearUpdatingListeners(),this._selectionMoveEnd$.next(this.getSelectionDataWithStyle()),(e=this._escapeShortcutDisposable)==null||e.dispose(),this._escapeShortcutDisposable=null}_reset(){var e;this._clearAllSelectionControls(),(e=this._downObserver)==null||e.unsubscribe(),this._downObserver=null}_setupPointerMoveListener(e,t,n,r=ar.ALL,i,a){var o,s;let c=0,l=0,u=i,d=a;this._scrollTimer=ir.create(this._scene,r),this._scrollTimer.startScroll((o=e==null?void 0:e.left)==null?0:o,(s=e==null?void 0:e.top)==null?0:s,e);let f=this._scene,p=f.getActiveViewportByCoord(fr.FromArray([i,a]));this._scenePointerMoveSub=f.onPointerMove$.subscribeEvent(r=>{var i;let{offsetX:a,offsetY:o}=r,{x:s,y:m}=f.getCoordRelativeToViewport(fr.FromArray([a,o]));this._movingHandler(s,m,t,n);let h=s,g=m,_=this.getActiveSelectionControl(),v=this._getFreeze(),y=_==null?void 0:_.model,b=(i=f.getActiveViewportByCoord(fr.FromArray([a,o])))==null?this._getViewportByCell(y==null?void 0:y.endRow,y==null?void 0:y.endColumn):i;if((()=>{if(!p||!b||!e)return!1;let t=[H.VIEW_MAIN,H.VIEW_MAIN_LEFT_TOP,H.VIEW_MAIN_TOP,H.VIEW_MAIN_LEFT];return t.includes(p.viewportKey)&&t.includes(b.viewportKey)})()){if(!p||!b||!e)return!1;let t=u<e.left&&s>e.left||u>e.left&&s<e.left,n=d<e.top&&m>e.top||d>e.top&&m<e.top;t&&(c+=1),n&&(l+=1);let r=p.viewportKey,i=b.viewportKey;if(r===H.VIEW_ROW_TOP){var x,S;o<e.top&&((x=y==null?void 0:y.endRow)==null?0:x)<((S=v==null?void 0:v.startRow)==null?0:S)?g=e.top:n&&l%2==1&&e.scrollToViewportPos({viewportScrollY:0})}else if(r===H.VIEW_COLUMN_LEFT){var C,w;a<e.left&&((C=y==null?void 0:y.endColumn)==null?0:C)<((w=v==null?void 0:v.startColumn)==null?0:w)?h=e.left:t&&c%2==1&&e.scrollToViewportPos({viewportScrollX:0})}else if(r===i){var T,E,D,O;let t=!1,n=!1;r===H.VIEW_MAIN_LEFT_TOP?(t=!0,n=!0):r===H.VIEW_MAIN_TOP?n=!0:r===H.VIEW_MAIN_LEFT&&(t=!0),((T=y==null?void 0:y.endRow)==null?0:T)>((E=v==null?void 0:v.startRow)==null?0:E)&&(n=!1),((D=y==null?void 0:y.endColumn)==null?0:D)>((O=v==null?void 0:v.startColumn)==null?0:O)&&(t=!1),t&&(h=e.left),n&&(g=e.top)}else{let a={x:p.scrollX,y:p.scrollY},o={x:b.scrollX,y:b.scrollY},s=a.x!==o.x&&t&&c%2==1,u=a.y!==o.y&&n&&l%2==1;(s||u)&&(e.scrollToBarPos({x:s?a.x:void 0,y:u?a.y:void 0}),s||(h=e.left),u||(g=e.top)),(r===H.VIEW_MAIN_LEFT_TOP&&i===H.VIEW_MAIN_LEFT||i===H.VIEW_MAIN_LEFT_TOP&&r===H.VIEW_MAIN_LEFT)&&(h=e.left),(r===H.VIEW_MAIN_LEFT_TOP&&i===H.VIEW_MAIN_TOP||i===H.VIEW_MAIN_LEFT_TOP&&r===H.VIEW_MAIN_TOP)&&(g=e.top)}u=s,d=m}this._scrollTimer.scrolling(h,g,()=>{this._movingHandler(s,m,t,n)})})}getSelectionCellByPosition(e,t){return this.getCellWithCoordByOffset(e,t)}getCellWithCoordByOffset(e,t,n){let r=this._scene,i=n==null?this._skeleton:n,a=r.getViewportScrollXY(r.getViewport(H.VIEW_MAIN)),{scaleX:o,scaleY:s}=r.getAncestorScale();return i.getCellWithCoordByOffset(e-a.x,t-a.y,o,s,a)}_movingHandler(e,t,n,r){var i,a,o,s,c;let l=this._skeleton,u=this._scene,[d,f]=l.getLocation(),p={startRow:(i=n==null?void 0:n.model.startRow)==null?-1:i,endRow:(a=n==null?void 0:n.model.endRow)==null?-1:a,startColumn:(o=n==null?void 0:n.model.startColumn)==null?-1:o,endColumn:(s=n==null?void 0:n.model.endColumn)==null?-1:s,unitId:d,sheetId:f},m=u.getViewport(H.VIEW_MAIN),h=(c=this._getViewportByCell(p.endRow,p.endColumn))==null?m:c,g=u.getScrollXYInfoByViewport(fr.FromArray([this._startViewportPosX,this._startViewportPosY]),h),{scaleX:_,scaleY:v}=u.getAncestorScale();r===I.ROW?e=1/0:r===I.COLUMN&&(t=1/0);let y=this._skeleton.getCellByOffset(e,t,_,v,g);if(!y)return;let b={startRow:Math.min(y.startRow,this._startRangeWhenPointerDown.startRow),startColumn:Math.min(y.startColumn,this._startRangeWhenPointerDown.startColumn),endRow:Math.max(y.endRow,this._startRangeWhenPointerDown.endRow),endColumn:Math.max(y.endColumn,this._startRangeWhenPointerDown.endColumn)};this._shouldDetectMergedCells&&(b=l.expandRangeByMerge(b,this.inRefSelectionMode()));let x=Zo({range:b,primary:void 0,style:null},l);x.rangeWithCoord.unitId=d,x.rangeWithCoord.sheetId=f,x.rangeWithCoord.rangeType=r;let S=p.startRow!==b.startRow||p.startColumn!==b.startColumn||p.endRow!==b.endRow||p.endColumn!==b.endColumn;n!=null&&S&&(n.updateRangeBySelectionWithCoord(x),this._selectionMoving$.next(this.getSelectionDataWithStyle()))}_clearUpdatingListeners(){var e,t,n,r,i;this._scene.enableObjectsEvent(),(e=this._scenePointerMoveSub)==null||e.unsubscribe(),this._scenePointerMoveSub=null,(t=this._scenePointerUpSub)==null||t.unsubscribe(),this._scenePointerUpSub=null,(n=this._cancelDownSubscription)==null||n.unsubscribe(),this._cancelDownSubscription=null,(r=this._cancelUpSubscription)==null||r.unsubscribe(),this._cancelUpSubscription=null,(i=this._scrollTimer)==null||i.dispose()}_addEndingListeners(){var e,t,n;let r=this._scene,i=(e=r.getEngine())==null?void 0:e.activeScene;!i||i===r||((t=this._cancelDownSubscription)==null||t.unsubscribe(),this._cancelDownSubscription=null,(n=this._cancelUpSubscription)==null||n.unsubscribe(),this._cancelUpSubscription=null,this._cancelDownSubscription=i.onPointerDown$.subscribeEvent(()=>this._clearUpdatingListeners()),this._cancelUpSubscription=i.onPointerUp$.subscribeEvent(()=>this._clearUpdatingListeners()))}_getSelectionWithCoordByOffset(e,t,n,r,i){let a=this._skeleton;if(a==null)return null;if(this._shouldDetectMergedCells){let o=a==null?void 0:a.getCellWithCoordByOffset(e,t,n,r,i,{firstMatch:!0});return o?{primaryWithCoord:o,rangeWithCoord:ft(o)}:void 0}let{row:o,column:s}=a.getCellIndexByOffset(e,t,n,r,i),{startX:c,startY:l,endX:u,endY:d}=a.getNoMergeCellWithCoordByIndex(o,s),f={startY:l,endY:d,startX:c,endX:u,startRow:o,endRow:o,startColumn:s,endColumn:s};return{primaryWithCoord:{mergeInfo:f,actualRow:o,actualColumn:s,isMerged:!1,isMergedMainCell:!1,startY:l,endY:d,startX:c,endX:u},rangeWithCoord:f}}_checkClearPreviousControls(e){this.getSelectionControls().length!==0&&(!e.ctrlKey&&!e.shiftKey&&!this._remainLastEnabled||this._singleSelectionEnabled&&!e.shiftKey)&&this._clearAllSelectionControls()}_makeSelectionByTwoCells(e,t,n,r,i){let{actualRow:a,actualColumn:o,mergeInfo:s}=e;this._startRangeWhenPointerDown={...e.mergeInfo};let c=Math.min(a,t.startRow,s.startRow),l=Math.max(a,t.endRow,s.endRow),u=Math.min(o,t.startColumn,s.startColumn),d=Math.max(o,t.endColumn,s.endColumn),f=Zo({range:n.expandRangeByMerge({startRow:c,startColumn:u,endRow:l,endColumn:d}),primary:$o(e),style:null},n);i.updateRangeBySelectionWithCoord(f)}isSelectionEnabled(){return this.contextService.getContextValue(Qi)}isSelectionDisabled(){return this.contextService.getContextValue(Qi)===!1}inRefSelectionMode(){return this.contextService.getContextValue(Mi)}};function Rl(e){return{range:{startRow:0,startColumn:0,endRow:e.getRowCount()-1,endColumn:e.getColumnCount()-1,rangeType:I.ALL},primary:zl(e).primary,style:null}}function zl(e){return Bl(e,{startRow:0,startColumn:0,endRow:0,endColumn:0})}function Bl(e,t){let n=e.worksheet.getCellInfoInMergeData(t.startRow,t.startColumn),r=e.worksheet.getCellInfoInMergeData(t.endRow,t.endColumn);return{range:{startRow:n.startRow,startColumn:n.startColumn,endRow:r.endRow,endColumn:r.endColumn,rangeType:I.NORMAL},primary:{actualRow:n.startRow,actualColumn:n.startColumn,startRow:n.startRow,startColumn:n.startColumn,endRow:n.endRow,endColumn:n.endColumn,isMerged:n.isMerged,isMergedMainCell:n.isMergedMainCell},style:null}}function Z(e,t){return function(n,r){t(n,r,e)}}function Q(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}let Vl=class extends M{constructor(e,t){super(),this._context=e,this._sheetSkeletonService=t,X(this,`_sheetId`,``),X(this,`_currentSkeleton$`,new hs(null)),X(this,`currentSkeleton$`,this._currentSkeleton$.asObservable()),X(this,`_currentSkeletonBefore$`,new hs(null)),X(this,`currentSkeletonBefore$`,this._currentSkeletonBefore$.asObservable());let{unitId:n,scene:r}=this._context;this._sheetSkeletonService.setScene(n,r)}dispose(){super.dispose(),this._currentSkeletonBefore$.complete(),this._currentSkeleton$.complete()}getCurrentSkeleton(){var e;return(e=this.getCurrentParam())==null?void 0:e.skeleton}getCurrentParam(){return this._getSkeletonParam(this._sheetId)}getSkeleton(e){return this._getSkeleton(e)}getSkeletonParam(e){return this._getSkeletonParam(e)}setCurrent(e){this._setCurrent(e.sheetId)}_setCurrent(e){this._sheetId=e;let t=this._getSkeletonParam(e);if(t)this.reCalculate(t);else{let n=this._context.unit,r=n.getSheetBySheetId(e),i=this._context.unitId;if(!r)return;t=this._sheetSkeletonService.newSkeletonParam(i,e,r,n.getStyles())}this._currentSkeletonBefore$.next(t),this._currentSkeleton$.next(t)}reCalculate(e){let t=e||this.getCurrentParam();t&&(t.dirty&&(t.skeleton.makeDirty(!0),t.dirty=!1),t.skeleton.calculate())}makeDirty(e,t=!0){let n=this._getSkeletonParam(e.sheetId);n!=null&&(n.dirty=t)}ensureSkeleton(e){return this._sheetSkeletonService.ensureSkeleton(this._context.unitId,e)}_getSkeletonParam(e){return this._sheetSkeletonService.getSkeletonParam(this._context.unitId,e)}_getSkeleton(e){return this._sheetSkeletonService.getSkeleton(this._context.unitId,e)}setColumnHeaderSize(e,t,n){if(!e)return;let r=this.getSkeleton(t);if(!r)return;r.columnHeaderHeight=n,e.scene.getViewports()[0].top=n,e.scene.getViewport(H.VIEW_COLUMN_RIGHT).setViewportSize({height:n}),e.scene.getViewport(H.VIEW_COLUMN_LEFT).setViewportSize({height:n}),e.scene.getViewport(H.VIEW_ROW_BOTTOM).setViewportSize({top:n}),e.scene.getViewport(H.VIEW_ROW_TOP).setViewportSize({top:n}),e.scene.getViewport(H.VIEW_LEFT_TOP).setViewportSize({height:n});let i=e==null?void 0:e.with(W),a=e==null?void 0:e.with(Il),o=i.getCurrentSelections();a.resetSelectionsByModelData(o);let s=this._sheetSkeletonService.getSkeletonParam(e.unitId,t);s&&(s.commandId=Pl.id,this._currentSkeleton$.next(s))}setRowHeaderSize(e,t,n){if(!e)return;let r=this.getSkeleton(t);if(!r)return;r.rowHeaderWidth=n;let i=n-(e.scene.getViewport(H.VIEW_LEFT_TOP).width||46),a=e.scene.getViewports()[0].left;e.scene.getViewports()[0].left=a+i,e.scene.getViewport(H.VIEW_ROW_BOTTOM).setViewportSize({width:n}),e.scene.getViewport(H.VIEW_ROW_TOP).setViewportSize({width:n}),e.scene.getViewport(H.VIEW_COLUMN_LEFT).setViewportSize({left:n});let o=e.scene.getViewport(H.VIEW_COLUMN_RIGHT).left||0;e.scene.getViewport(H.VIEW_COLUMN_RIGHT).setViewportSize({left:o+i}),e.scene.getViewport(H.VIEW_LEFT_TOP).setViewportSize({width:n});let s=e==null?void 0:e.with(W),c=e==null?void 0:e.with(Il),l=s.getCurrentSelections();c.resetSelectionsByModelData(l);let u=this._sheetSkeletonService.getSkeletonParam(e.unitId,t);u&&(u.commandId=Nl.id,this._currentSkeleton$.next(u))}};Vl=Q([Z(1,F(po))],Vl);const Hl=`__SpreadsheetHelperSelectionTempRect`;var Ul=class{constructor(e,t){this._control=e,X(this,`_startOffsetX`,0),X(this,`_startOffsetY`,0),X(this,`_relativeSelectionPositionRow`,0),X(this,`_relativeSelectionPositionColumn`,0),X(this,`_relativeSelectionRowLength`,0),X(this,`_relativeSelectionColumnLength`,0),X(this,`_scenePointerMoveSub`,void 0),X(this,`_scenePointerUpSub`,void 0),X(this,`_disabled`,!1),X(this,`_helperSelection`,void 0),X(this,`_scrollTimer`,void 0),X(this,`_activeViewport`,void 0),X(this,`_targetSelection`,{startY:0,endY:0,startX:0,endX:0,startRow:-1,endRow:-1,startColumn:-1,endColumn:-1}),X(this,`_isInMergeState`,!1),X(this,`_fillControlColors`,[]),X(this,`_skeleton`,void 0),X(this,`_scene`,void 0),X(this,`_themeService`,void 0),X(this,`_injector`,void 0),X(this,`_selectionHooks`,void 0),this._skeleton=t.skeleton,this._scene=t.scene,this._themeService=t.themeService,this._injector=t.injector,this._selectionHooks=t.selectionHooks,this._initialControl(),this._initialWidget(),this._initialAutoFill(),this._control.dispose$.subscribe(()=>{this.dispose()})}get isHelperSelection(){return this._control.isHelperSelection}dispose(){var e,t;(e=this._scrollTimer)==null||e.dispose(),this._fillControlColors=[],this._clearObserverEvent(),(t=this._helperSelection)==null||t.dispose()}setDisabled(e){this._disabled=e}_getFreeze(){var e;return(e=Cr(L.UNIVER_SHEET,Vl,this._injector.get(P),this._injector.get(Xn)))==null||(e=e.getCurrentParam())==null?void 0:e.skeleton.getWorksheetConfig().freeze}_isSelectionInViewport(e,t){let n=this._getFreeze()||{startRow:-1,startColumn:-1,xSplit:0,ySplit:0};switch(t.viewportKey){case H.VIEW_MAIN:return e.endRow>=n.startRow&&e.endColumn>=n.startColumn;case H.VIEW_MAIN_TOP:case H.VIEW_COLUMN_RIGHT:return e.endColumn>=n.startColumn&&e.startRow<n.startRow;case H.VIEW_MAIN_LEFT:case H.VIEW_ROW_BOTTOM:return e.endRow>=n.startRow&&e.startColumn<n.startColumn;case H.VIEW_MAIN_LEFT_TOP:case H.VIEW_COLUMN_LEFT:case H.VIEW_ROW_TOP:case H.VIEW_LEFT_TOP:return e.startRow<n.startRow&&e.startColumn<n.startColumn;default:break}}_clearObserverEvent(){var e,t;(e=this._scenePointerMoveSub)==null||e.unsubscribe(),(t=this._scenePointerUpSub)==null||t.unsubscribe(),this._scenePointerMoveSub=null,this._scenePointerUpSub=null}_initialControl(){let{leftControl:e,rightControl:t,topControl:n,bottomControl:r}=this._control;[e,t,n,r].forEach(e=>{e.onPointerEnter$.subscribeEvent(()=>{var t;((t=this._injector.get(Il,Xe.OPTIONAL))==null?void 0:t.interceptor.fetchThroughInterceptors(xl)(!1,null))!==!1&&e.setCursor(Wn.MOVE)}),e.onPointerLeave$.subscribeEvent(()=>{e.resetCursor()}),e.onPointerDown$.subscribeEvent(this._controlPointerDownHandler.bind(this))})}_controlMoving(e,t){var n;let r=this._scene,i=r.getScrollXYInfoByViewport(fr.FromArray([e,t])),{scaleX:a,scaleY:o}=r.getAncestorScale(),{row:s,column:c}=this._skeleton.getCellIndexByOffset(e,t,a,o,i),l=this._skeleton.getRowCount()-1,u=this._skeleton.getColumnCount()-1,d=Math.max(0,s+this._relativeSelectionPositionRow),f=d+this._relativeSelectionRowLength;f>l&&(f=l,f-d<this._relativeSelectionRowLength&&(d=f-this._relativeSelectionRowLength));let p=Math.max(0,c+this._relativeSelectionPositionColumn),m=p+this._relativeSelectionColumnLength;m>u&&(m=u,m-p<this._relativeSelectionColumnLength&&(p=m-this._relativeSelectionColumnLength));let h=this._skeleton.worksheet.getCellInfoInMergeData(d,p),g=Zo({range:{startRow:d,endRow:f,startColumn:p,endColumn:m},primary:h,style:null},this._skeleton),_=this._skeleton.getNoMergeCellWithCoordByIndex(d,p),v=this._skeleton.getNoMergeCellWithCoordByIndex(f,m),y=(_==null?void 0:_.startY)||0,b=(v==null?void 0:v.endY)||0,x=(_==null?void 0:_.startX)||0,S=(v==null?void 0:v.endX)||0;(n=this._helperSelection)==null||n.transformByState({left:x,top:y,width:S-x,height:b-y}),this._targetSelection={...g.rangeWithCoord},this._control.selectionMoving$.next(g.rangeWithCoord)}_controlPointerDownHandler(e){let{offsetX:t,offsetY:n}=e,r=this._scene,i=r.getCoordRelativeToViewport(fr.FromArray([t,n])),{x:a,y:o}=i,s=r.getScrollXYInfoByViewport(i),{scaleX:c,scaleY:l}=r.getAncestorScale(),u=this._skeleton.getCellIndexByOffset(a,o,c,l,s);this._startOffsetX=a,this._startOffsetY=o;let{row:d,column:f}=u,{startRow:p,startColumn:m,endRow:h,endColumn:g}=this._control.model,_=0,v=0;d<p?--_:d>h&&(_+=1),f<m?--v:f>g&&(v+=1),this._relativeSelectionPositionRow=p-d+_,this._relativeSelectionPositionColumn=m-f+v,this._relativeSelectionRowLength=h-p,this._relativeSelectionColumnLength=g-m;let y=this._control.currentStyle,b=this._getScale();this.isHelperSelection&&(this._helperSelection=new er(Hl,{stroke:y.stroke,strokeWidth:y.strokeWidth/b}),r.addObject(this._helperSelection));let x=r.getViewport(H.VIEW_MAIN),S=ir.create(r);this._scrollTimer=S,S.startScroll(a,o,x),r.disableObjectsEvent(),this._scenePointerMoveSub=r.onPointerMove$.subscribeEvent(e=>{var t;if(this._disabled)return;let{offsetX:n,offsetY:i}=e;if(((t=this._injector.get(Il,Xe.OPTIONAL))==null?void 0:t.interceptor.fetchThroughInterceptors(xl)(!1,null))===!1)return;let{x:a,y:o}=r.getCoordRelativeToViewport(fr.FromArray([n,i]));this._controlMoving(a,o),r.setCursor(Wn.MOVE),S.scrolling(a,o,()=>{this._controlMoving(a,o)})}),this._scenePointerUpSub=r.onPointerUp$.subscribeEvent(()=>{var e,t,n,r;(e=this._helperSelection)==null||e.dispose();let i=this._scene;i.resetCursor(),this._clearObserverEvent(),i.enableObjectsEvent(),(t=this._scrollTimer)==null||t.dispose(),this._control.selectionMoveEnd$.next(this._targetSelection),(n=(r=this._selectionHooks).selectionMoveEnd)==null||n.call(r)})}_initialWidget(){let{topLeftWidget:e,topCenterWidget:t,topRightWidget:n,middleLeftWidget:r,middleRightWidget:i,bottomLeftWidget:a,bottomCenterWidget:o,bottomRightWidget:s}=this._control,c=[Wn.NORTH_WEST_RESIZE,Wn.NORTH_RESIZE,Wn.NORTH_EAST_RESIZE,Wn.WEST_RESIZE,Wn.EAST_RESIZE,Wn.SOUTH_WEST_RESIZE,Wn.SOUTH_RESIZE,Wn.SOUTH_EAST_RESIZE];[e,t,n,r,i,a,o,s].forEach((e,t)=>{e.onPointerEnter$.subscribeEvent(()=>{e.setCursor(c[t])}),e.onPointerLeave$.subscribeEvent(()=>{e.resetCursor()}),e.onPointerDown$.subscribeEvent(e=>{this._widgetPointerDownEvent(e,c[t])})})}_widgetPointerDownEvent(e,t){let n=this._scene,{offsetX:r,offsetY:i}=e,{x:a,y:o}=n.getCoordRelativeToViewport(fr.FromArray([r,i]));this._startOffsetX=r,this._startOffsetY=i;let{startRow:s,startColumn:c,endRow:l,endColumn:u}=this._control.model,d=Math.min(s,l),f=Math.min(c,u),p=Math.max(s,l),m=Math.max(c,u);this._relativeSelectionPositionRow=d,this._relativeSelectionPositionColumn=f,this._relativeSelectionRowLength=p-d,this._relativeSelectionColumnLength=m-f,t===Wn.NORTH_WEST_RESIZE?(this._relativeSelectionPositionRow=p,this._relativeSelectionPositionColumn=m):t===Wn.NORTH_RESIZE||t===Wn.NORTH_EAST_RESIZE?this._relativeSelectionPositionRow=p:t===Wn.WEST_RESIZE||t===Wn.SOUTH_WEST_RESIZE?this._relativeSelectionPositionColumn=m:t===Wn.SOUTH_RESIZE&&(this._relativeSelectionPositionRow=d);let h=ir.create(n),g=n.getViewport(H.VIEW_MAIN);h.startScroll(a,o,g),this._scrollTimer=h,n.disableObjectsEvent(),this._scenePointerMoveSub=n.onPointerMove$.subscribeEvent(e=>{let{offsetX:r,offsetY:i}=e,{x:a,y:o}=n.getCoordRelativeToViewport(fr.FromArray([r,i]));this._widgetMoving(a,o,t),n.setCursor(t),h.scrolling(a,o,()=>{this._widgetMoving(a,o,t)})}),this._scenePointerUpSub=n.onPointerUp$.subscribeEvent(()=>{var e,t,n;let r=this._scene;r.resetCursor(),this._clearObserverEvent(),r.enableObjectsEvent(),(e=this._scrollTimer)==null||e.dispose(),this._control.selectionScaled$.next(this._targetSelection),(t=(n=this._selectionHooks).selectionMoveEnd)==null||t.call(n)})}_widgetMoving(e,t,n){let r=this._scene,i=r.getScrollXYInfoByViewport(fr.FromArray([this._startOffsetX,this._startOffsetY])),{scaleX:a,scaleY:o}=r.getAncestorScale(),{row:s,column:c}=this._skeleton.getCellIndexByOffset(e,t,a,o,i),l=this._relativeSelectionPositionRow,u=this._relativeSelectionPositionColumn,d=s,f=c;n===Wn.NORTH_WEST_RESIZE?(l=s,u=c,d=this._relativeSelectionPositionRow,f=this._relativeSelectionPositionColumn):n===Wn.NORTH_RESIZE?(l=s,u=this._relativeSelectionPositionColumn,d=this._relativeSelectionPositionRow,f=this._relativeSelectionPositionColumn+this._relativeSelectionColumnLength):n===Wn.NORTH_EAST_RESIZE?(l=s,u=this._relativeSelectionPositionColumn,d=this._relativeSelectionPositionRow,f=c):n===Wn.WEST_RESIZE?(l=this._relativeSelectionPositionRow,u=c,d=this._relativeSelectionPositionRow+this._relativeSelectionRowLength,f=this._relativeSelectionPositionColumn):n===Wn.EAST_RESIZE?d=this._relativeSelectionPositionRow+this._relativeSelectionRowLength:n===Wn.SOUTH_WEST_RESIZE?(l=this._relativeSelectionPositionRow,u=c,d=s,f=this._relativeSelectionPositionColumn):n===Wn.SOUTH_RESIZE&&(l=this._relativeSelectionPositionRow,u=this._relativeSelectionPositionColumn,d=s,f=this._relativeSelectionPositionColumn+this._relativeSelectionColumnLength);let p=Zo({range:this._swapPositions(l,u,d,f),primary:this._skeleton.getCellWithMergeInfoByIndex(l,u),style:null},this._skeleton);this._targetSelection={...p.rangeWithCoord},this._control.updateRangeBySelectionWithCoord(p),this._control.selectionScaling$.next(this._targetSelection)}_initialAutoFill(){let{fillControl:e}=this._control;e.onPointerEnter$.subscribeEvent(t=>{this._injector.get(Il).interceptor.fetchThroughInterceptors(Sl)(!1,{x:t.offsetX,y:t.offsetY,skeleton:this._skeleton,scene:this._scene})&&e.setCursor(Wn.CROSSHAIR)}),e.onPointerLeave$.subscribeEvent(()=>{e.resetCursor()}),e.onPointerDown$.subscribeEvent(this._autoFillForPointerdown.bind(this))}_autoFillMoving(e,t){let n=this._scene,r=n.getViewportScrollXY(this._activeViewport),{scaleX:i,scaleY:a}=n.getAncestorScale(),{row:o,column:s}=this._skeleton.getCellIndexByOffset(e,t,i,a,r),c=n.getCoordRelativeToViewport(fr.FromArray([e,t])),l=this._skeleton.getRowCount()-1,u=this._skeleton.getColumnCount()-1,d=this._relativeSelectionPositionRow,f=this._relativeSelectionPositionColumn,p=this._relativeSelectionPositionRow+this._relativeSelectionRowLength,m=this._relativeSelectionPositionColumn+this._relativeSelectionColumnLength,h=!1,g=!0;if((s<f||s>m)&&o>=d&&o<=p){let e=this._fillRuler(s,f,m,this._relativeSelectionColumnLength,u);f=e.startRowOrColumn,m=e.endRowOrColumn,h=e.isLighten,g=!1}else if((o<d||o>p)&&s>=f&&s<=m){let e=this._fillRuler(o,d,p,this._relativeSelectionRowLength,l);d=e.startRowOrColumn,p=e.endRowOrColumn,h=e.isLighten}else if(Math.abs(this._startOffsetX-c.x-r.x)/2>Math.abs(this._startOffsetY-c.y-r.y)){let e=this._fillRuler(s,f,m,this._relativeSelectionColumnLength,u);f=e.startRowOrColumn,m=e.endRowOrColumn,h=e.isLighten,g=!1}else{let e=this._fillRuler(o,d,p,this._relativeSelectionRowLength,l);d=e.startRowOrColumn,p=e.endRowOrColumn,h=e.isLighten}let _=this._skeleton.getNoMergeCellWithCoordByIndex(d,f),v=this._skeleton.getNoMergeCellWithCoordByIndex(p,m),y=(_==null?void 0:_.startY)||0,b=(v==null?void 0:v.endY)||0,x=(_==null?void 0:_.startX)||0,S=(v==null?void 0:v.endX)||0;h?this._controlHandler((e,t)=>{let n=new ae(this._fillControlColors[t]).lighten(35).toRgbString();e.setProps({fill:n})}):this._controlHandler((e,t)=>{e.setProps({fill:this._fillControlColors[t]})});let C=ea/this._getScale();if(d===p&&g===!0||f===m&&g===!1){var w;(w=this._helperSelection)==null||w.hide()}else{var T,E;(T=this._helperSelection)==null||T.transformByState({left:x-C/2,top:y-C/2,width:S-x,height:b-y}),(E=this._helperSelection)==null||E.show()}this._targetSelection={startY:y,endY:b,startX:x,endX:S,startRow:d,endRow:p,startColumn:f,endColumn:m},this._control.selectionFilling$.next(this._targetSelection)}_autoFillForPointerdown(e){let{offsetX:t,offsetY:n}=e,r=this._scene,{x:i,y:a}=r.getCoordRelativeToViewport(fr.FromArray([t,n]));this._startOffsetX=i,this._startOffsetY=a;let{startRow:o,startColumn:s,endRow:c,endColumn:l}=this._control.model;this._isInMergeState=this._hasMergeInRange(o,s,c,l),this._relativeSelectionPositionRow=o,this._relativeSelectionPositionColumn=s,this._relativeSelectionRowLength=c-o,this._relativeSelectionColumnLength=l-s;let u=this._control.currentStyle,d=u==null?void 0:u.stroke,f=u==null?void 0:u.strokeWidth,p=wl(this._themeService);d==null&&(d=p.stroke),f==null&&(f=p.strokeWidth);let m=this._getScale();f/=m;let h=ea/m,g=new ae(d).darken(2).toRgbString();this.isHelperSelection&&(this._helperSelection=new er(Hl,{stroke:g,strokeWidth:f+h/2}),r.addObject(this._helperSelection)),this._activeViewport=r.getActiveViewportByCoord(fr.FromArray([t,n]));let _=r.getViewport(H.VIEW_MAIN),v=ir.create(r,this._activeViewport.viewportKey===H.VIEW_MAIN?ar.ALL:ar.NONE);v.startScroll(i,a,_),this._scrollTimer=v,r.disableObjectsEvent(),this._controlHandler(e=>{this._fillControlColors.push(e.fill)}),this._scenePointerMoveSub=r.onPointerMove$.subscribeEvent(t=>{var n;let{offsetX:i,offsetY:a}=t,l=r.getActiveViewportByCoord(fr.FromArray([i,a]));if(!this._injector.get(Il).interceptor.fetchThroughInterceptors(Sl)(!1,{x:e.offsetX,y:e.offsetY,skeleton:this._skeleton,scene:this._scene}))return;let{x:u,y:d}=r.getCoordRelativeToViewport(fr.FromArray([i,a]));this._autoFillMoving(u,d),r.setCursor(Wn.CROSSHAIR);let f=this._targetSelection;if(_&&l&&((n=this._activeViewport)==null?void 0:n.viewportKey)!==(l==null?void 0:l.viewportKey)){let e;f.startRow===o?f.endRow===c?f.startColumn===s?(v.scrollTimerType=ar.X,e={...f,startColumn:f.endColumn}):(v.scrollTimerType=ar.X,e={...f,endColumn:f.startColumn}):(v.scrollTimerType=ar.Y,e={...f,startRow:f.endRow}):(v.scrollTimerType=ar.Y,e={...f,endRow:f.startRow}),this._isSelectionInViewport(e,l)&&(this._viewportMainScrollBarNeedResetPosition(v.scrollTimerType,this._activeViewport.viewportKey,l.viewportKey)&&_.scrollToBarPos({x:v.scrollTimerType===ar.X?0:void 0,y:v.scrollTimerType===ar.Y?0:void 0}),this._activeViewport=l)}v.scrolling(u,d,()=>{this._autoFillMoving(u,d)})}),this._scenePointerUpSub=r.onPointerUp$.subscribeEvent(()=>{var e,t;(e=this._helperSelection)==null||e.dispose();let n=this._scene;n.resetCursor(),this._clearObserverEvent(),n.enableObjectsEvent(),(t=this._scrollTimer)==null||t.dispose(),this._control.refreshSelectionFilled(this._targetSelection),this._isInMergeState=!1,this._controlHandler((e,t)=>{e.setProps({fill:this._fillControlColors[t]})}),this._fillControlColors=[]})}_viewportMainScrollBarNeedResetPosition(e,t,n){return e===ar.X&&(t===H.VIEW_MAIN_LEFT||t===H.VIEW_MAIN_LEFT_TOP)&&(n===H.VIEW_MAIN||n===H.VIEW_MAIN_TOP)||e===ar.Y&&(t===H.VIEW_MAIN_TOP||t===H.VIEW_MAIN_LEFT_TOP)&&(n===H.VIEW_MAIN||n===H.VIEW_MAIN_LEFT)}_hasMergeInRange(e,t,n,r){return this._skeleton.worksheet.getMergedCellRange(e,t,n,r).length>0}_swapPositions(e,t,n,r){return{startRow:Math.min(e,n),startColumn:Math.min(t,r),endRow:Math.max(e,n),endColumn:Math.max(t,r)}}_controlHandler(e){let{leftControl:t,rightControl:n,topControl:r,bottomControl:i,backgroundControlTop:a,backgroundControlMiddleLeft:o,backgroundControlMiddleRight:s,backgroundControlBottom:c,fillControl:l}=this._control,u=[t,n,r,i,a,o,s,c,l];for(let t=0,n=u.length;t<n;t++){let n=u[t];e(n,t)}}_fillRuler(e,t,n,r,i){let a=!1;if(e<t)if(this._isInMergeState&&e<t){let n=t-e,i=r+1,a=Math.ceil(n/i),o=t-a*i;o<0&&(o=t-(a-1)*i),t=o}else t=e;else if(e>=t&&e<=n)a=!0,this._isInMergeState||(n=e);else if(this._isInMergeState&&e>n){let t=e-n,a=r+1,o=Math.ceil(t/a),s=n+o*a;s>i&&(s=n+(o-1)*a),n=s}else n=e;return{rowOrColumn:e,startRowOrColumn:t,endRowOrColumn:n,isLighten:a}}_getScale(){let{scaleX:e,scaleY:t}=this._scene.getAncestorScale();return Math.max(e,t)}};let Wl=function(e){return e.Selection=`__SpreadsheetSelectionShape__`,e.top=`__SpreadsheetSelectionTopControl__`,e.bottom=`__SpreadsheetSelectionBottomControl__`,e.left=`__SpreadsheetSelectionShapeLeftControl__`,e.right=`__SpreadsheetSelectionShapeRightControl__`,e.backgroundTop=`__SpreadsheetSelectionBackgroundControlTop__`,e.backgroundMiddleLeft=`__SpreadsheetSelectionBackgroundControlMiddleLeft__`,e.backgroundMiddleRight=`__SpreadsheetSelectionBackgroundControlMiddleRight__`,e.backgroundBottom=`__SpreadsheetSelectionBackgroundControlBottom__`,e.fill=`__SpreadsheetSelectionFillControl__`,e.fillTopLeft=`__SpreadsheetSelectionFillControlTopLeft__`,e.fillBottomRight=`__SpreadsheetSelectionFillControlBottomRight__`,e.fillTopLeftInner=`__SpreadsheetSelectionFillControlTopLeftInner__`,e.fillBottomRightInner=`__SpreadsheetSelectionFillControlBottomRightInner__`,e.lineMain=`__SpreadsheetDragLineMainControl__`,e.lineContent=`__SpreadsheetDragLineContentControl__`,e.line=`__SpreadsheetDragLineControl__`,e.dash=`__SpreadsheetDragDashControl__`,e.rowHeaderBackground=`__SpreadSheetSelectionRowHeaderBackground__`,e.rowHeaderBorder=`__SpreadSheetSelectionRowHeaderBorder__`,e.rowHeaderGroup=`__SpreadSheetSelectionRowHeaderGroup__`,e.columnHeaderBackground=`__SpreadSheetSelectionColumnHeaderBackground__`,e.columnHeaderBorder=`__SpreadSheetSelectionColumnHeaderBorder__`,e.columnHeaderGroup=`__SpreadSheetSelectionColumnHeaderGroup__`,e.topLeftWidget=`__SpreadSheetSelectionTopLeftWidget__`,e.topCenterWidget=`__SpreadSheetSelectionTopCenterWidget__`,e.topRightWidget=`__SpreadSheetSelectionTopRightWidget__`,e.middleLeftWidget=`__SpreadSheetSelectionMiddleLeftWidget__`,e.middleRightWidget=`__SpreadSheetSelectionMiddleRightWidget__`,e.bottomLeftWidget=`__SpreadSheetSelectionBottomLeftWidget__`,e.bottomCenterWidget=`__SpreadSheetSelectionBottomCenterWidget__`,e.bottomRightWidget=`__SpreadSheetSelectionBottomRightWidget__`,e}({});const Gl=.3;var Kl=class extends M{constructor(e,t,n,r){var i,a,o,s;super(),this._scene=e,this._zIndex=t,this._themeService=n,X(this,`_isHelperSelection`,!0),X(this,`_enableAutoFill`,!0),X(this,`_showAutoFill`,!1),X(this,`_highlightHeader`,!0),X(this,`_selectionRenderModel`,void 0),X(this,`_leftBorder`,void 0),X(this,`_rightBorder`,void 0),X(this,`_topBorder`,void 0),X(this,`_bottomBorder`,void 0),X(this,`_backgroundControlTop`,void 0),X(this,`_backgroundControlBottom`,void 0),X(this,`_backgroundControlMiddleLeft`,void 0),X(this,`_backgroundControlMiddleRight`,void 0),X(this,`_autoFillControl`,void 0),X(this,`_selectionShapeGroup`,void 0),X(this,`_rowHeaderBackground`,void 0),X(this,`_rowHeaderBorder`,void 0),X(this,`_rowHeaderGroup`,void 0),X(this,`_columnHeaderBackground`,void 0),X(this,`_columnHeaderBorder`,void 0),X(this,`_columnHeaderGroup`,void 0),X(this,`_dashedRect`,void 0),X(this,`_topLeftWidget`,void 0),X(this,`_topCenterWidget`,void 0),X(this,`_topRightWidget`,void 0),X(this,`_middleLeftWidget`,void 0),X(this,`_middleRightWidget`,void 0),X(this,`_bottomLeftWidget`,void 0),X(this,`_bottomCenterWidget`,void 0),X(this,`_bottomRightWidget`,void 0),X(this,`_defaultStyle`,void 0),X(this,`_currentStyle`,void 0),X(this,`_rowHeaderWidth`,0),X(this,`_columnHeaderHeight`,0),X(this,`_widgetRects`,[]),X(this,`_controlExtension`,void 0),X(this,`_dispose$`,new hs(this)),X(this,`dispose$`,this._dispose$.asObservable()),X(this,`selectionMoving$`,new vs),X(this,`selectionMoveEnd$`,new vs),X(this,`selectionScaling$`,new vs),X(this,`selectionScaled$`,new vs),X(this,`selectionFilling$`,new vs),X(this,`_selectionFilled$`,new vs),X(this,`selectionFilled$`,this._selectionFilled$.asObservable()),X(this,`_antLineOffset`,0),X(this,`_antRequestNewFrame`,-1),this._enableAutoFill=(i=r==null?void 0:r.enableAutoFill)==null?!0:i,this._highlightHeader=(a=r==null?void 0:r.highlightHeader)==null?!0:a,this._rowHeaderWidth=(o=r==null?void 0:r.rowHeaderWidth)==null?0:o,this._columnHeaderHeight=(s=r==null?void 0:r.columnHeaderHeight)==null?0:s,this._initializeSheetBody(),this._initialHeader()}_initializeSheetBody(){this._defaultStyle=wl(this._themeService),this._currentStyle=wl(this._themeService),this._selectionRenderModel=new Ml;let e=this._zIndex;this._leftBorder=new er(Wl.left+e,{zIndex:e}),this._rightBorder=new er(Wl.right+e,{zIndex:e}),this._topBorder=new er(Wl.top+e,{zIndex:e}),this._bottomBorder=new er(Wl.bottom+e,{zIndex:e}),this._backgroundControlTop=new er(Wl.backgroundTop+e,{zIndex:e-1,evented:!1}),this._backgroundControlBottom=new er(Wl.backgroundBottom+e,{zIndex:e-1,evented:!1}),this._backgroundControlMiddleLeft=new er(Wl.backgroundMiddleLeft+e,{zIndex:e-1,evented:!1}),this._backgroundControlMiddleRight=new er(Wl.backgroundMiddleRight+e,{zIndex:e-1,evented:!1}),this._autoFillControl=new er(Wl.fill+e,{zIndex:e+1}),this._autoFillControl.hide(),this._dashedRect=new Kn(Wl.dash+e,{zIndex:e+2,evented:!1,stroke:`#fff`});let t=[this._autoFillControl,this._leftBorder,this._rightBorder,this._topBorder,this._bottomBorder,this._backgroundControlTop,this._backgroundControlMiddleLeft,this._backgroundControlMiddleRight,this._backgroundControlBottom,this._dashedRect];this._widgetRects=this._initialWidget(),this._selectionShapeGroup=new Yn(Wl.Selection+e,...t,...this._widgetRects),this._selectionShapeGroup.hide(),this._selectionShapeGroup.evented=!1,this._selectionShapeGroup.zIndex=e;let n=this.getScene();n.addObject(this._selectionShapeGroup,1),this.disposeWithMe(Vt(n.onTransformChange$.subscribeEvent(e=>{e.type===dr.scale&&(this._updateLayoutOfSelectionControl(this._currentStyle),this._updateControlCoord())})))}_initialHeader(){let e=this._zIndex;this._rowHeaderBackground=new er(Wl.rowHeaderBackground+e,{zIndex:e-1,evented:!1}),this._rowHeaderBorder=new er(Wl.rowHeaderBorder+e,{zIndex:e-1,evented:!1}),this._rowHeaderGroup=new Yn(Wl.rowHeaderGroup+e,this._rowHeaderBackground,this._rowHeaderBorder),this._rowHeaderGroup.hide(),this._rowHeaderGroup.evented=!1,this._rowHeaderGroup.zIndex=e,this._columnHeaderBackground=new er(Wl.columnHeaderBackground+e,{zIndex:e-1,evented:!1}),this._columnHeaderBorder=new er(Wl.columnHeaderBorder+e,{zIndex:e-1,evented:!1}),this._columnHeaderGroup=new Yn(Wl.columnHeaderGroup+e,this._columnHeaderBackground,this._columnHeaderBorder),this._columnHeaderGroup.hide(),this._columnHeaderGroup.evented=!1,this._columnHeaderGroup.zIndex=e,this.getScene().addObjects([this._rowHeaderGroup,this._columnHeaderGroup],11)}_initialWidget(){let e=this._zIndex;return this._topLeftWidget=new er(Wl.topLeftWidget+e,{zIndex:e+1}),this._topCenterWidget=new er(Wl.topCenterWidget+e,{zIndex:e+1}),this._topRightWidget=new er(Wl.topRightWidget+e,{zIndex:e+1}),this._middleLeftWidget=new er(Wl.middleLeftWidget+e,{zIndex:e+1}),this._middleRightWidget=new er(Wl.middleRightWidget+e,{zIndex:e+1}),this._bottomLeftWidget=new er(Wl.bottomLeftWidget+e,{zIndex:e+1}),this._bottomCenterWidget=new er(Wl.bottomCenterWidget+e,{zIndex:e+1}),this._bottomRightWidget=new er(Wl.bottomRightWidget+e,{zIndex:e+1}),[this._topLeftWidget,this._topCenterWidget,this._topRightWidget,this._middleLeftWidget,this._middleRightWidget,this._bottomLeftWidget,this._bottomCenterWidget,this._bottomRightWidget]}get zIndex(){return this._zIndex}get leftControl(){return this._leftBorder}get rightControl(){return this._rightBorder}get topControl(){return this._topBorder}get bottomControl(){return this._bottomBorder}get fillControl(){return this._autoFillControl}get backgroundControlTop(){return this._backgroundControlTop}get backgroundControlBottom(){return this._backgroundControlBottom}get backgroundControlMiddleLeft(){return this._backgroundControlMiddleLeft}get backgroundControlMiddleRight(){return this._backgroundControlMiddleRight}get selectionShape(){return this._selectionShapeGroup}get columnHeaderGroup(){return this._columnHeaderGroup}get rowHeaderGroup(){return this._rowHeaderGroup}get selectionShapeGroup(){return this._selectionShapeGroup}get model(){return this._selectionRenderModel}get topLeftWidget(){return this._topLeftWidget}get topCenterWidget(){return this._topCenterWidget}get topRightWidget(){return this._topRightWidget}get middleLeftWidget(){return this._middleLeftWidget}get middleRightWidget(){return this._middleRightWidget}get bottomLeftWidget(){return this._bottomLeftWidget}get bottomCenterWidget(){return this._bottomCenterWidget}get bottomRightWidget(){return this._bottomRightWidget}get themeService(){return this._themeService}get selectionModel(){return this._selectionRenderModel}set selectionModel(e){this._selectionRenderModel=e}get currentStyle(){return this._currentStyle}set currentStyle(e){this._currentStyle=e}get dashedRect(){return this._dashedRect}get isHelperSelection(){return this._isHelperSelection}get rowHeaderWidth(){return this._rowHeaderWidth}set rowHeaderWidth(e){this._rowHeaderWidth=e}get columnHeaderHeight(){return this._columnHeaderHeight}set columnHeaderHeight(e){this._columnHeaderHeight=e}setControlExtension(e){this._controlExtension=new Ul(this,e)}setControlExtensionDisable(e){this._controlExtension&&this._controlExtension.setDisabled(e)}setEvent(e){this.leftControl.evented=e,this.rightControl.evented=e,this.topControl.evented=e,this.bottomControl.evented=e}refreshSelectionFilled(e){this._selectionFilled$.next(e)}_updateLayoutOfSelectionControl(e){e&&(this.currentStyle=Object.assign({},this._defaultStyle,e));let t=this.currentStyle,{stroke:n,widgets:r,autofillStroke:i,strokeDash:a,isAnimationDash:o}=t,s=t.autofillSize,c=t.strokeWidth,l=t.autofillStrokeWidth,u=this._getScale(),d=(c+ea)/2/u;c/=u,s/=u,l/=u<1?1:u;let f=ea/u,p=Jn/u,{startX:m,startY:h,endX:g,endY:_}=this._selectionRenderModel;if(this.leftControl.transformByState({height:_-h,left:-d+p,width:c,strokeWidth:f,top:-f/2+p}),this.leftControl.setProps({fill:n,stroke:$i}),this.rightControl.transformByState({height:_-h,left:g-m-d+p,width:c,strokeWidth:f,top:-f/2+p}),this.rightControl.setProps({fill:n,stroke:$i}),this.topControl.transformByState({width:g-m+c,top:-d+p,left:-d+p,height:c,strokeWidth:f}),this.topControl.setProps({fill:n,stroke:$i}),this.bottomControl.transformByState({width:g-m+c,top:_-h-d+p,height:c,left:-d+p,strokeWidth:f}),this.bottomControl.setProps({fill:n,stroke:$i}),a==null)this.dashedRect.hide(),this._stopAntLineAnimation();else{let e=t.strokeWidth*2/u;this.dashedRect.transformByState({height:_-h,width:g-m,strokeWidth:e,left:-e/2+p,top:-e/2+p}),this.dashedRect.setProps({strokeDashArray:[0,a/u]}),this._stopAntLineAnimation(),o!==!1&&this._startAntLineAnimation(),this.dashedRect.show()}if(this._showAutoFill=this._showAutoFill&&this._enableAutoFill,this._showAutoFill&&!this._hasWidgets(r)){let e={fill:n,stroke:i,strokeScaleEnabled:!1},t={width:s-l,height:s-l,left:g-m-s/2+l/2-p,top:_-h-s/2+l/2-p,strokeWidth:l};this._autoFillControl.setProps(e),this._autoFillControl.transformByState(t),this._autoFillControl.show()}else this._autoFillControl.hide();this._updateBackgroundControl(t),this._updateHeaderBackground(t),this._updateWidgets(t)}_updateControlCoord(){let{startX:e,startY:t}=this._selectionRenderModel;this.selectionShapeGroup.show(),this.selectionShapeGroup.translate(e,t),this.selectionShapeGroup.makeDirtyNoDebounce(!0)}updateStyle(e){this._updateLayoutOfSelectionControl(e),this._updateControlCoord()}updateRange(e,t){this._selectionRenderModel.setValue(e,t),this._showAutoFill=t!==null,this._updateLayoutOfSelectionControl(),this._updateControlCoord()}updateRangeBySelectionWithCoord(e,t){t&&(this._rowHeaderWidth=t.rowHeaderWidth,this._columnHeaderHeight=t.columnHeaderHeight),this._selectionRenderModel.setValue(e.rangeWithCoord,e.primaryWithCoord),this._showAutoFill=e.primaryWithCoord!==null,this._updateLayoutOfSelectionControl(e.style),this._updateControlCoord()}update(e,t=0,n=0,r,i){this._rowHeaderWidth=t,this._columnHeaderHeight=n,this.updateRangeBySelectionWithCoord({rangeWithCoord:e,primaryWithCoord:i,style:r}),r&&this.updateStyle(r)}updateCurrCell(e){this._showAutoFill=e!==null,this._selectionRenderModel.setCurrentCell(e)}clearHighlight(){this._showAutoFill=!1,this._selectionRenderModel.clearCurrentCell(),this._updateLayoutOfSelectionControl(this._currentStyle)}getScene(){return this._scene}dispose(){var e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w;(e=this._leftBorder)==null||e.dispose(),(t=this._rightBorder)==null||t.dispose(),(n=this._topBorder)==null||n.dispose(),(r=this._bottomBorder)==null||r.dispose(),(i=this._backgroundControlTop)==null||i.dispose(),(a=this._backgroundControlMiddleLeft)==null||a.dispose(),(o=this._backgroundControlMiddleRight)==null||o.dispose(),(s=this._backgroundControlBottom)==null||s.dispose(),this._autoFillControl.dispose(),(c=this._selectionShapeGroup)==null||c.dispose(),(l=this._rowHeaderBackground)==null||l.dispose(),(u=this._rowHeaderBorder)==null||u.dispose(),(d=this._rowHeaderGroup)==null||d.dispose(),(f=this._rowHeaderBackground)==null||f.dispose(),(p=this._columnHeaderBackground)==null||p.dispose(),(m=this._columnHeaderBorder)==null||m.dispose(),(h=this._columnHeaderGroup)==null||h.dispose(),(g=this._topLeftWidget)==null||g.dispose(),(_=this._topCenterWidget)==null||_.dispose(),(v=this._topRightWidget)==null||v.dispose(),(y=this._middleLeftWidget)==null||y.dispose(),(b=this._middleRightWidget)==null||b.dispose(),(x=this._bottomLeftWidget)==null||x.dispose(),(S=this._bottomCenterWidget)==null||S.dispose(),(C=this._bottomRightWidget)==null||C.dispose(),(w=this._controlExtension)==null||w.dispose(),super.dispose(),this._dispose$.next(this),this._dispose$.complete()}getCurrentCellInfo(){let e=this.model.currentCell;if(e){let t;if(e.isMerged){let n=e.mergeInfo;t={startRow:n.startRow,endRow:n.endRow,startColumn:n.startColumn,endColumn:n.endColumn,startX:n.startX,endX:n.endX,startY:n.startY,endY:n.endY}}else{let{actualRow:n,actualColumn:r,startX:i,endX:a,startY:o,endY:s}=e;t={startRow:n,endRow:n,startColumn:r,endColumn:r,startX:i,endX:a,startY:o,endY:s}}return t}}getValue(){return{...this._selectionRenderModel.getValue(),style:this._currentStyle}}getRange(){return this._selectionRenderModel.getValue().rangeWithCoord}enableHelperSelection(){this._isHelperSelection=!0}disableHelperSelection(){this._isHelperSelection=!1}_updateHeaderBackground(e){let{startX:t,startY:n,endX:r,endY:i,rangeType:a}=this._selectionRenderModel,o=this._currentStyle,s=this._getScale(),{stroke:c,rowHeaderFill:l=o.rowHeaderFill,rowHeaderStroke:u=o.rowHeaderStroke,columnHeaderFill:d=o.columnHeaderFill,columnHeaderStroke:f=o.columnHeaderStroke}=e,{rowHeaderStrokeWidth:p=o.rowHeaderStrokeWidth,columnHeaderStrokeWidth:m=o.columnHeaderStrokeWidth}=e;p/=s,m/=s;let h=this._rowHeaderWidth,g=this._columnHeaderHeight;if(this._highlightHeader&&g>0){let e=d;a===I.COLUMN&&(e=new ae(c).setAlpha(Gl).toString()),this._columnHeaderBackground.setProps({fill:e}),this._columnHeaderBackground.resize(r-t,g),this._columnHeaderBorder.setProps({fill:f}),this._columnHeaderBorder.transformByState({width:r-t,height:m,top:g-m+1/s}),this._columnHeaderGroup.show(),this._columnHeaderGroup.translate(t,0)}else this._columnHeaderGroup.hide();if(this._columnHeaderGroup.makeDirty(!0),this._highlightHeader&&h>0){let e=l;a===I.ROW&&(e=new ae(c).setAlpha(Gl).toString()),this._rowHeaderBackground.setProps({fill:e}),this._rowHeaderBackground.resize(h,i-n),this._rowHeaderBorder.setProps({fill:u}),this._rowHeaderBorder.transformByState({width:p,height:i-n,left:h-p+1/s}),this._rowHeaderGroup.show(),this._rowHeaderGroup.translate(0,n)}else this._rowHeaderGroup.hide();this._rowHeaderGroup.makeDirty(!0)}_updateBackgroundControl(e){let{startX:t,startY:n,endX:r,endY:i}=this._selectionRenderModel,a=this._getScale(),{fill:o=e.fill}=e,{strokeWidth:s}=e;s/=a;let c=this._selectionRenderModel.highlightToSelection();if(!c){this._backgroundControlTop.resize(r-t,i-n),this._backgroundControlTop.setProps({fill:o}),this._backgroundControlBottom.resize(0,0),this._backgroundControlMiddleLeft.resize(0,0),this._backgroundControlMiddleRight.resize(0,0);return}let{startX:l,startY:u,endX:d,endY:f}=c,p=s/2,m={left:-p,top:-p,width:r-t+p*2,height:u-n+p};m.height<0&&(m.width=0,m.height=0),this._backgroundControlTop.transformByState(m);let h={left:-p,top:u-n,width:l-t+p,height:f-u};h.width<0&&(h.width=0,h.height=0),this._backgroundControlMiddleLeft.transformByState(h);let g={left:d-t-p,top:u-n,width:r-d+p*2,height:f-u};g.width<0&&(g.width=0,g.height=0),this._backgroundControlMiddleRight.transformByState(g);let _={left:-p,top:f-n,width:r-t+p*2,height:i-f+p};_.height<0&&(_.width=0,_.height=0),this._backgroundControlBottom.transformByState(_),this._backgroundControlTop.setProps({fill:o}),this._backgroundControlMiddleLeft.setProps({fill:o}),this._backgroundControlMiddleRight.setProps({fill:o}),this._backgroundControlBottom.setProps({fill:o})}_updateWidgets(e){let{startX:t,startY:n,endX:r,endY:i}=this._selectionRenderModel,{stroke:a=e.stroke,widgets:o=e.widgets,widgetStroke:s=e.widgetStroke}=e,c=this._getScale(),{widgetSize:l,widgetStrokeWidth:u}=e;l/=c,u/=c;let d={left:-l/2+u/2,center:(r-t)/2-l/2+u/2,right:r-t-l/2+u/2,top:-l/2,middle:(i-n)/2-l/2,bottom:i-n-l/2+u/2},f=l-u;this._widgetRects.forEach(e=>{e.setProps({fill:a,stroke:s})}),o.tl===!0?(this._topLeftWidget.transformByState({height:f,width:f,left:d.left,top:d.top,strokeWidth:u}),this._topLeftWidget.show()):this._topLeftWidget.hide(),o.tc===!0?(this._topCenterWidget.transformByState({height:f,width:f,left:d.center,top:d.top,strokeWidth:u}),this._topCenterWidget.show()):this._topCenterWidget.hide(),o.tr===!0?(this._topRightWidget.transformByState({height:f,width:f,left:d.right,top:d.top,strokeWidth:u}),this._topRightWidget.show()):this._topRightWidget.hide(),o.ml===!0?(this._middleLeftWidget.transformByState({height:f,width:f,left:d.left,top:d.middle,strokeWidth:u}),this._middleLeftWidget.show()):this._middleLeftWidget.hide(),o.mr===!0?(this._middleRightWidget.transformByState({height:f,width:f,left:d.right,top:d.middle,strokeWidth:u}),this._middleRightWidget.show()):this._middleRightWidget.hide(),o.bl===!0?(this._bottomLeftWidget.transformByState({height:f,width:f,left:d.left,top:d.bottom,strokeWidth:u}),this._bottomLeftWidget.show()):this._bottomLeftWidget.hide(),o.bc===!0?(this._bottomCenterWidget.transformByState({height:f,width:f,left:d.center,top:d.bottom,strokeWidth:u}),this._bottomCenterWidget.show()):this._bottomCenterWidget.hide(),o.br===!0?(this._bottomRightWidget.transformByState({height:f,width:f,left:d.right,top:d.bottom,strokeWidth:u}),this._bottomRightWidget.show()):this._bottomRightWidget.hide()}_hasWidgets(e){if(e==null)return!1;let t=Object.keys(e);if(t.length===0)return!1;for(let n of t)if(e[n]===!0)return!0;return!1}_getScale(){let{scaleX:e,scaleY:t}=this._scene.getAncestorScale();return Math.max(e,t)}_stopAntLineAnimation(){this._antLineOffset=0,mr(this._antRequestNewFrame)}_startAntLineAnimation(){let e=this._getScale();this._antLineOffset+=.6/e,this._antLineOffset>160/e&&(this._antLineOffset=0),this.dashedRect.setProps({strokeDashOffset:-this._antLineOffset}),this._antRequestNewFrame=Sr(()=>{this._startAntLineAnimation()})}};const ql=Cl.MARK_SELECTION,Jl=pt(`univer.mark-selection-service`);let Yl=class extends M{constructor(e,t,n,r){super(),this._currentService=e,this._sheetSkeletonService=t,this._renderManagerService=n,this._themeService=r,X(this,`_shapeMap`,new Map)}addShape(e,t=[],n=ql){var r;let i=this._currentService.getCurrentUnitForType(L.UNIVER_SHEET),a=(r=i.getActiveSheet())==null?void 0:r.getSheetId();if(!a)return null;let o=yt(),s={selection:e,subUnitId:a,unitId:i.getUnitId(),zIndex:n,control:null,exits:t};return this._shapeMap.set(o,s),this.refreshShapes(),o}addShapeWithNoFresh(e,t=[],n=ql){var r;let i=this._currentService.getCurrentUnitForType(L.UNIVER_SHEET),a=(r=i.getActiveSheet())==null?void 0:r.getSheetId();if(!a)return null;let o=yt();return this._shapeMap.set(o,{selection:e,subUnitId:a,unitId:i.getUnitId(),zIndex:n,control:null,exits:t}),o}refreshShapes(){var e;let t=this._currentService.getCurrentUnitForType(L.UNIVER_SHEET);if(!t)return;let n=t.getUnitId(),r=(e=t.getActiveSheet())==null?void 0:e.getSheetId();this._shapeMap.forEach(e=>{let{unitId:t,subUnitId:i,selection:a,control:o,zIndex:s}=e;if(o==null||o.dispose(),t!==n||i!==r)return;let c=this._renderManagerService.getRenderById(t);if(!c)return;let l=this._sheetSkeletonService.getSkeleton(t,i);if(!l)return;let{scene:u}=c,{rowHeaderWidth:d,columnHeaderHeight:f}=l,p=new Kl(u,s,this._themeService,{enableAutoFill:!1,highlightHeader:!1,rowHeaderWidth:d,columnHeaderHeight:f}),m=Zo(a,l);p.updateRangeBySelectionWithCoord(m),e.control=p})}getShapeMap(){return this._shapeMap}removeShape(e){let t=this._shapeMap.get(e);if(!t)return;let{control:n}=t;n==null||n.dispose(),this._shapeMap.delete(e)}removeAllShapes(){for(let e of this._shapeMap.values()){let{control:t}=e;t==null||t.dispose()}this._shapeMap.clear()}};Yl=Q([Z(0,P),Z(1,F(po)),Z(2,Xn),Z(3,F(et))],Yl);function Xl(e){return{strokeWidth:1.5,stroke:e.getColorFromTheme(`primary.600`),fill:`rgba(178, 178, 178, 0.10)`,widgets:{},strokeDash:8}}function Zl(e){if(e==null)return e;let t={};return e.p!==void 0&&(t.p=e.p===null?null:ut(e.p)),e.s!==void 0&&(e.s===null||typeof e.s==`string`?t.s=e.s:t.s=ut(e.s)),e.v!==void 0&&(t.v=e.v),e.t!==void 0&&(t.t=e.t),e.f!==void 0&&(t.f=e.f),e.ref!==void 0&&(t.ref=e.ref),e.xf!==void 0&&(t.xf=e.xf),e.si!==void 0&&(t.si=e.si),e.custom!==void 0&&(t.custom=e.custom===null?null:ut(e.custom)),e.rowSpan!==void 0&&(t.rowSpan=e.rowSpan),e.colSpan!==void 0&&(t.colSpan=e.colSpan),e.plain!==void 0&&(t.plain=e.plain),t}function Ql(){return yt(6)}function $l(e){let t=e.match(/data-copy-id="([^\s]+)"/);return t&&t[1]?t[1]:null}var eu=class{constructor(){X(this,`_cache`,new He(10)),X(this,`_lastCopyId$`,new hs(null)),X(this,`lastCopyId$`,this._lastCopyId$.asObservable())}set(e,t){this._cache.set(e,t),this._lastCopyId$.next(e)}get(e){return this._cache.get(e)}del(e){this._cache.delete(e),this._lastCopyId$.getValue()===e&&this._lastCopyId$.next(null)}clear(){this._cache.clear(),this._lastCopyId$.next(null)}clearWithUnitId(e){this._cache.forEach((t,n)=>{t.unitId===e&&this._cache.delete(n)})}getLastCopyId(){return this._lastCopyId$.getValue()}};new eu;function tu(e,t){let n=t==null?e.style:t,r={},i=e.tagName.toLowerCase();switch(i){case`b`:case`em`:case`strong`:r.bl=ne.TRUE;break;case`s`:r.st={s:ne.TRUE};break;case`u`:r.ul={s:ne.TRUE};break;case`i`:r.it=ne.TRUE;break;case`sub`:case`sup`:r.va=i===`sup`?te.SUPERSCRIPT:te.SUBSCRIPT;break}return nu(n,r),r}function nu(e,t){if(e instanceof CSSStyleDeclaration)for(let n=0;n<e.length;n++){let r=e[n];ru(r,e.getPropertyValue(r),t)}else for(let n in e){let r=e[n];ru(n,r,t)}}function ru(e,t,n){switch(e){case`font-family`:n.ff=t;break;case`font-size`:{let e=Number.parseInt(t);Number.isNaN(e)||(t.endsWith(`pt`)?n.fs=e:t.endsWith(`px`)&&(n.fs=e*.75));break}case`font-style`:t===`italic`&&(n.it=ne.TRUE);break;case`font-weight`:(Number(t)>400||t===`bold`)&&(n.bl=ne.TRUE);break;case`text-decoration`:/underline/.test(t)?n.ul={s:ne.TRUE}:/overline/.test(t)?n.ol={s:ne.TRUE}:/line-through/.test(t)&&(n.st={s:ne.TRUE});break;case`color`:try{let e=new ae(t);e.isValid&&(n.cl={rgb:e.toRgbString()})}catch{}break;case`background-color`:{let e=new ae(t);e.isValid&&(n.bg={rgb:e.toRgbString()});break}default:break}}function iu(e){if(e.nodeType===Node.TEXT_NODE){e.textContent=(e.textContent||``).replace(/\r?\n[\t ]*/g,` `);return}e.childNodes.forEach(iu)}function au(e){let t=document.implementation.createHTMLDocument(``),n=t.createRange();n.selectNodeContents(t.body);let r=n.createContextualFragment(e);return Ln(r,{strippedSelector:`script, iframe, object, embed`}),iu(r),t.body.append(r),t.body}function ou(e){let t=e.style,n={};for(let e=0;e<t.length;e++){let r=t[e],i=t.getPropertyValue(r);switch(r){case`margin-top`:{let e=Number.parseInt(i);n.spaceAbove={v:/pt/.test(i)?xr(e):e};break}case`margin-bottom`:{let e=Number.parseInt(i);n.spaceBelow={v:/pt/.test(i)?xr(e):e};break}case`line-height`:n.lineSpacing=Number.parseFloat(i);break;default:break}}return Object.getOwnPropertyNames(n).length?n:null}function su(e,t){let n=[];for(let t=0,r=e.length;t<r;t++)e[t]===me.PARAGRAPH&&n.push({startIndex:t});if(t)for(let e of n)t.bullet&&(e.bullet=tt.deepClone(t.bullet)),t.paragraphStyle&&(e.paragraphStyle=tt.deepClone(t.paragraphStyle));return n}function cu(e,t,n){var r;let i=t.length,a=((r=n==null?void 0:n.length)==null?0:r)===1&&n[0].st===0&&n[0].ed===i;if(e.p){var o;return a&&!((o=e.p.body)==null||(o=o.textRuns)==null)&&o.length?(e.p.body.textRuns=[],{...e,s:n[0].ts}):e}else if(a)return{...e,s:n[0].ts};else return e;return e}const lu=[`color`,`background`,`font-size`,`text-align`,`vertical-align`,`font-weight`,`font-style`,`font-family`,`text-decoration`,`white-space`,`word-wrap`,`border-left`,`border-right`,`border-top`,`border-bottom`,`--data-rotate`];function uu(e,t){let n=e.tagName.toLowerCase();return typeof t==`string`?n===t:Array.isArray(t)?t.some(e=>e===n):t(e)}var du=class e{static use(e){if(this._pluginList.includes(e))throw Error(`Univer paste plugin ${e.name} already added`);this._pluginList.push(e)}constructor(e){X(this,`_styleMap`,new Map),X(this,`_styleCache`,new Map),X(this,`_styleRules`,[]),X(this,`_afterProcessRules`,[]),X(this,`_dom`,null),X(this,`_getCurrentSkeleton`,void 0),this._getCurrentSkeleton=e.getCurrentSkeleton}convert(t){let n=e._pluginList.find(e=>e.checkPasteType(t));n&&(this._styleRules=[...n.stylesRules],this._afterProcessRules=[...n.afterProcessRules]);let r=new Ke;this._dom=au(t);let i=this._dom.querySelector(`style`);if(i){let e=document.createElement(`div`),t=e.attachShadow({mode:`open`});document.body.appendChild(e),t.appendChild(i);for(let e of i.sheet.cssRules){let t=e,n=t.selectorText,r=t.style;this._styleMap.set(n,r)}i.remove(),e.remove()}let a={dataStream:``,textRuns:[]},o=[],s=[],c=t.match(/<table\b[^>]*>([\s\S]*?)<\/table>/gi);this.process(null,this._dom.childNodes,a,[]);let{paragraphs:l,dataStream:u,textRuns:d,payloads:f,customRanges:p}=a;if(l){let e=l.map(e=>e.startIndex+1);e.unshift(0);for(let t=0;t<e.length;t++){let n;if(t===e.length-1){if(n=`${u.substring(e[t])}\r\n`,n===`\r
|
|
1
|
+
import{BreakLineCommand as e,CoverContentCommand as t,DOCS_COMPONENT_MAIN_LAYER_INDEX as n,DOCS_VIEW_KEY as r,DOC_VERTICAL_PADDING as i,DeleteLeftCommand as a,DeleteRightCommand as o,DocSelectionRenderService as s,IEditorService as c,IMEInputCommand as l,InsertCommand as u,MoveCursorOperation as d,MoveSelectionOperation as f,NodePositionConvertToCursor as p,ReplaceSnapshotCommand as m,SetInlineFormatBoldCommand as h,SetInlineFormatCommand as g,SetInlineFormatFontFamilyCommand as _,SetInlineFormatFontSizeCommand as v,SetInlineFormatItalicCommand as y,SetInlineFormatStrikethroughCommand as b,SetInlineFormatSubscriptCommand as x,SetInlineFormatSuperscriptCommand as S,SetInlineFormatTextColorCommand as C,SetInlineFormatUnderlineCommand as w,VIEWPORT_KEY as T,convertBodyToHtml as E,getCanvasOffsetByEngine as D,getLineBounding as O}from"@univerjs/docs-ui";import{AbsoluteRefType as ee,BaselineOffset as te,BooleanNumber as ne,BorderStyleTypes as k,CellModeEnum as re,CellValueType as ie,ColorKit as ae,CommandType as A,CustomRangeType as oe,DEFAULT_EMPTY_DOCUMENT_VALUE as se,DEFAULT_STYLES as ce,DEFAULT_WORKSHEET_COLUMN_WIDTH as le,DEFAULT_WORKSHEET_COLUMN_WIDTH_KEY as ue,DEFAULT_WORKSHEET_ROW_HEIGHT as de,DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY as fe,DOCS_NORMAL_EDITOR_UNIT_ID_KEY as pe,DataStreamTreeTokenType as me,DependentOn as he,Direction as j,Disposable as M,DisposableCollection as ge,DocumentFlavor as _e,EDITOR_ACTIVATED as ve,ErrorService as ye,FOCUSING_COMMENT_EDITOR as be,FOCUSING_COMMON_DRAWINGS as xe,FOCUSING_EDITOR_BUT_HIDDEN as Se,FOCUSING_EDITOR_INPUT_FORMULA as Ce,FOCUSING_EDITOR_STANDALONE as we,FOCUSING_FX_BAR_EDITOR as Te,FOCUSING_SHAPE_TEXT_EDITOR as Ee,FOCUSING_SHEET as De,FOCUSING_UNIVER_EDITOR as Oe,FontItalic as ke,FontWeight as Ae,HorizontalAlign as je,IAuthzIoService as Me,ICommandService as N,IConfigService as Ne,IConfirmService as Pe,IContextService as Fe,ILogService as Ie,IPermissionService as Le,IUndoRedoService as Re,IUniverInstanceService as P,Inject as F,Injector as ze,InterceptorEffectEnum as Be,InterceptorManager as Ve,LRUMap as He,LocaleService as Ue,LocaleType as We,NilCommand as Ge,ObjectMatrix as Ke,Optional as qe,Plugin as Je,PresetListType as Ye,Quantity as Xe,RANGE_TYPE as I,Range as Ze,Rectangle as Qe,RxDisposable as $e,ThemeService as et,Tools as tt,UndoCommandId as nt,UniverInstanceType as L,UserManagerService as rt,VerticalAlign as it,Workbook as at,WrapStrategy as ot,cloneCellData as st,cloneCellDataMatrix as ct,cloneCellDataWithSpanAndDisplay as lt,cloneValue as ut,composeStyles as dt,convertCellToRange as ft,createIdentifier as pt,createInterceptorKey as mt,dateKit as ht,debounce as gt,extractPureTextFromCell as _t,fromEventSubject as vt,generateRandomId as yt,get as bt,getEmptyCell as xt,getNumfmtParseValueFilter as St,getReverseDirection as Ct,handleStyleToString as wt,isFormulaString as Tt,isNotNullOrUndefined as Et,isRealNum as Dt,isTextFormat as Ot,isValidRange as kt,merge as At,mergeOverrideWithDependencies as jt,nameCharacterCheck as Mt,numfmt as Nt,registerDependencies as Pt,sequenceExecute as Ft,set as It,skipParseTagNames as Lt,sortRules as Rt,splitIntoGrid as zt,throttle as Bt,toDisposable as Vt,touchDependencies as Ht,willLoseNumericPrecision as Ut}from"@univerjs/core";import{AnchoredContextMenu as Wt,BuiltInUIPart as Gt,COLOR_PICKER_COMPONENT as Kt,ComponentContainer as qt,ComponentManager as Jt,ContextMenuGroup as Yt,ContextMenuPosition as Xt,CopyCommand as Zt,CutCommand as Qt,DISABLE_AUTO_FOCUS_KEY as $t,FILE_PNG_CLIPBOARD_MIME_TYPE as en,FILE__BMP_CLIPBOARD_MIME_TYPE as tn,FILE__JPEG_CLIPBOARD_MIME_TYPE as nn,FILE__WEBP_CLIPBOARD_MIME_TYPE as rn,FONT_FAMILY_COMPONENT as an,FONT_FAMILY_ITEM_COMPONENT as on,FONT_SIZE_COMPONENT as sn,FONT_SIZE_LIST as cn,HTML_CLIPBOARD_MIME_TYPE as ln,ICanvasPopupService as un,IClipboardInterfaceService as dn,IContextMenuService as fn,IDialogService as pn,ILayoutService as mn,IMenuManagerService as hn,IMessageService as gn,INotificationService as _n,IPlatformService as vn,IShortcutService as yn,ISidebarService as bn,IUIPartsService as xn,IZenZoneService as Sn,KeyCode as R,MenuItemType as z,MetaKeys as Cn,PLAIN_TEXT_CLIPBOARD_MIME_TYPE as wn,PasteCommand as Tn,RibbonDataGroup as En,RibbonPosition as Dn,RibbonStartGroup as On,SheetPasteShortKeyCommandName as kn,Slider as An,ToolbarItem as jn,UI_PLUGIN_CONFIG_KEY as Mn,UniverMobileUIPlugin as Nn,connectInjector as Pn,getMenuHiddenObservable as B,handleStringToStyle as Fn,imageMimeTypeSet as In,sanitizeParsedHtml as Ln,textTrim as Rn,useComponentsOfPart as zn,useConfigValue as Bn,useDependency as V,useEvent as Vn,useObservable as Hn,useSidebarClick as Un}from"@univerjs/ui";import{CURSOR_TYPE as Wn,DEFAULT_PADDING_DATA as Gn,DashedRect as Kn,DeviceInputEventType as qn,FIX_ONE_PIXEL_BLUR_OFFSET as Jn,Group as Yn,IRenderManagerService as Xn,Layer as Zn,RENDER_CLASS_TYPE as Qn,RENDER_RAW_FORMULA_KEY as $n,Rect as er,RegularPolygon as tr,SHEET_EXTENSION_PREFIX as nr,SHEET_VIEWPORT_KEY as H,ScrollBar as rr,ScrollTimer as ir,ScrollTimerType as ar,Shape as or,SheetExtension as sr,Spreadsheet as cr,SpreadsheetColumnHeader as lr,SpreadsheetRowHeader as ur,TRANSFORM_CHANGE_OBSERVABLE_TYPE as dr,Vector2 as fr,Viewport as pr,cancelRequestFrame as mr,convertTextRotation as hr,convertTransformToOffsetX as gr,convertTransformToOffsetY as _r,fixLineWidthByScale as vr,getCurrentTypeOfRenderer as yr,hasCJKText as br,ptToPixel as xr,requestNewFrame as Sr,withCurrentTypeOfRenderer as Cr}from"@univerjs/engine-render";import{AUTO_FILL_APPLY_TYPE as wr,AUTO_FILL_HOOK_TYPE as Tr,AddMergeUndoMutationFactory as Er,AddRangeProtectionCommand as Dr,AddRangeProtectionMutation as Or,AddWorksheetMergeAllCommand as kr,AddWorksheetMergeCommand as Ar,AddWorksheetMergeHorizontalCommand as jr,AddWorksheetMergeMutation as Mr,AddWorksheetMergeVerticalCommand as Nr,AddWorksheetProtectionCommand as Pr,AutoClearContentCommand as Fr,AutoFillCommand as Ir,AutoFillController as Lr,BEFORE_CELL_EDIT as Rr,BorderStyleManagerService as zr,COMMAND_LISTENER_SKELETON_CHANGE as Br,COMMAND_LISTENER_VALUE_CHANGE as Vr,CancelFrozenCommand as Hr,CancelMarkDirtyRowAutoHeightOperation as Ur,ClearSelectionAllCommand as Wr,ClearSelectionContentCommand as Gr,ClearSelectionFormatCommand as Kr,CopySheetCommand as qr,DeleteRangeMoveLeftCommand as Jr,DeleteRangeMoveUpCommand as Yr,DeleteRangeProtectionCommand as Xr,DeleteRangeProtectionMutation as Zr,DeleteWorksheetProtectionCommand as Qr,DeltaColumnWidthCommand as $r,DeltaRowHeightCommand as ei,EditStateEnum as ti,IAutoFillService as ni,IExclusiveRangeService as ri,INTERCEPTOR_POINT as ii,INumfmtService as ai,IRefSelectionsService as oi,InsertColBeforeCommand as si,InsertColCommand as ci,InsertColMutation as li,InsertDefinedNameCommand as ui,InsertMultiColsLeftCommand as di,InsertMultiColsRightCommand as fi,InsertMultiRowsAboveCommand as pi,InsertMultiRowsAfterCommand as mi,InsertRangeMoveDownCommand as hi,InsertRangeMoveRightCommand as gi,InsertRowBeforeCommand as _i,InsertRowCommand as vi,InsertRowMutation as yi,InsertSheetCommand as bi,InsertSheetMutation as xi,MAX_CELL_PER_SHEET_KEY as Si,MERGE_CELL_INTERCEPTOR_CHECK as Ci,MarkDirtyRowAutoHeightOperation as wi,MergeCellController as Ti,MoveColsCommand as Ei,MoveColsMutation as Di,MoveRangeCommand as Oi,MoveRangeMutation as ki,MoveRowsCommand as Ai,MoveRowsMutation as ji,REF_SELECTIONS_ENABLED as Mi,RangeProtectionCache as Ni,RangeProtectionPermissionEditPoint as U,RangeProtectionPermissionViewPoint as Pi,RangeProtectionRuleModel as Fi,RefRangeService as Ii,RefSelectionsService as Li,RefillCommand as Ri,RemoveColCommand as zi,RemoveColMutation as Bi,RemoveDefinedNameCommand as Vi,RemoveMergeUndoMutationFactory as Hi,RemoveRowCommand as Ui,RemoveRowMutation as Wi,RemoveSheetCommand as Gi,RemoveSheetMutation as Ki,RemoveWorksheetMergeCommand as qi,RemoveWorksheetMergeMutation as Ji,ResetBackgroundColorCommand as Yi,ResetTextColorCommand as Xi,SCOPE_WORKBOOK_VALUE_DEFINED_NAME as Zi,SELECTIONS_ENABLED as Qi,SELECTION_CONTROL_BORDER_BUFFER_COLOR as $i,SELECTION_CONTROL_BORDER_BUFFER_WIDTH as ea,SHEETS_PLUGIN_CONFIG_KEY as ta,ScrollToCellOperation as na,SelectionMoveType as ra,SetBackgroundColorCommand as ia,SetBoldCommand as aa,SetBorderBasicCommand as oa,SetBorderCommand as sa,SetColHiddenCommand as ca,SetColHiddenMutation as la,SetColVisibleMutation as ua,SetColWidthCommand as da,SetDefinedNameCommand as fa,SetFontFamilyCommand as pa,SetFontSizeCommand as ma,SetFrozenCommand as ha,SetFrozenMutation as ga,SetFrozenMutationFactory as _a,SetHorizontalTextAlignCommand as va,SetItalicCommand as ya,SetProtectionCommand as ba,SetRangeValuesCommand as xa,SetRangeValuesMutation as Sa,SetRangeValuesUndoMutationFactory as Ca,SetRowHeightCommand as wa,SetRowHiddenCommand as Ta,SetRowHiddenMutation as Ea,SetRowVisibleMutation as Da,SetSelectedColsVisibleCommand as Oa,SetSelectedRowsVisibleCommand as ka,SetSelectionsOperation as Aa,SetSpecificColsVisibleCommand as ja,SetSpecificRowsVisibleCommand as Ma,SetStrikeThroughCommand as Na,SetStyleCommand as Pa,SetTabColorCommand as Fa,SetTabColorMutation as Ia,SetTextColorCommand as La,SetTextRotationCommand as Ra,SetTextWrapCommand as za,SetUnderlineCommand as Ba,SetVerticalTextAlignCommand as Va,SetWorksheetActivateCommand as Ha,SetWorksheetActiveOperation as Ua,SetWorksheetColWidthMutation as Wa,SetWorksheetColWidthMutationFactory as Ga,SetWorksheetHideCommand as Ka,SetWorksheetHideMutation as qa,SetWorksheetNameCommand as Ja,SetWorksheetNameMutation as Ya,SetWorksheetOrderCommand as Xa,SetWorksheetOrderMutation as Za,SetWorksheetPermissionPointsCommand as Qa,SetWorksheetRowAutoHeightMutation as $a,SetWorksheetRowAutoHeightMutationFactory as eo,SetWorksheetRowHeightMutation as to,SetWorksheetRowIsAutoHeightCommand as no,SetWorksheetRowIsAutoHeightMutation as ro,SetWorksheetShowCommand as io,SheetCopyDownCommand as ao,SheetCopyDownCommand as oo,SheetCopyRightCommand as so,SheetCopyRightCommand as co,SheetInterceptorService as lo,SheetPermissionCheckController as uo,SheetPermissionInitController as fo,SheetSkeletonService as po,SheetsSelectionsService as W,TextToNumberCommand as mo,ToggleCellCheckboxCommand as ho,ToggleGridlinesCommand as go,ToggleGridlinesMutation as _o,UnitAction as vo,UnitObject as yo,UniverSheetsPlugin as bo,ViewStateEnum as xo,WorkbookCopyPermission as So,WorkbookCreateProtectPermission as Co,WorkbookCreateSheetPermission as wo,WorkbookDeleteColumnPermission as To,WorkbookDeleteRowPermission as Eo,WorkbookDeleteSheetPermission as Do,WorkbookEditablePermission as G,WorkbookHideSheetPermission as Oo,WorkbookInsertColumnPermission as ko,WorkbookInsertRowPermission as Ao,WorkbookManageCollaboratorPermission as jo,WorkbookRenameSheetPermission as Mo,WorksheetCopyPermission as No,WorksheetDeleteColumnPermission as Po,WorksheetDeleteProtectionPermission as Fo,WorksheetDeleteRowPermission as Io,WorksheetEditPermission as K,WorksheetInsertColumnPermission as Lo,WorksheetInsertRowPermission as Ro,WorksheetManageCollaboratorPermission as zo,WorksheetProtectionPointModel as Bo,WorksheetProtectionRuleModel as Vo,WorksheetSetCellStylePermission as Ho,WorksheetSetCellValuePermission as Uo,WorksheetSetColumnStylePermission as Wo,WorksheetSetRowStylePermission as Go,WorksheetViewPermission as Ko,adjustRangeOnMutation as qo,alignToMergedCellsBorders as Jo,attachPrimaryWithCoord as Yo,attachRangeWithCoord as Xo,attachSelectionWithCoord as Zo,baseProtectionActions as Qo,convertPrimaryWithCoordToPrimary as $o,convertSelectionDataToRange as es,countCells as ts,defaultLargeSheetOperationConfig as ns,discreteRangeToRange as rs,expandToContinuousRange as is,getAddMergeMutationRangeByType as as,getAllWorksheetPermissionPoint as os,getCellAtRowCol as ss,getClearContentMutationParamsForRanges as cs,getMoveRangeCommandMutations as ls,getPrimaryForRange as us,getSelectionsService as ds,getSheetCommandTarget as fs,rangeToDiscreteRange as ps,setEndForRange as ms}from"@univerjs/sheets";import{BehaviorSubject as hs,EMPTY as gs,Observable as _s,Subject as vs,Subscription as ys,combineLatest as bs,combineLatestWith as xs,distinctUntilChanged as Ss,filter as Cs,map as ws,merge as Ts,of as Es,shareReplay as Ds,startWith as Os,switchMap as ks,takeUntil as As,throttleTime as js,withLatestFrom as Ms}from"rxjs";import{DocSelectionManagerService as Ns,DocSkeletonManagerService as Ps,RichTextEditingMutation as Fs,SetTextSelectionsOperation as Is}from"@univerjs/docs";import{ObjectScope as Ls,UnitAction as Rs,UnitObject as zs,UnitRole as Bs,UniverType as Vs}from"@univerjs/protocol";import{useCallback as Hs,useEffect as Us,useLayoutEffect as Ws,useMemo as Gs,useRef as Ks,useState as q}from"react";import{Avatar as qs,Button as Js,Calendar as Ys,CascaderList as Xs,ColorPicker as Zs,Confirm as Qs,Dropdown as $s,DropdownMenu as ec,FormLayout as tc,Input as nc,InputNumber as rc,MessageType as ic,Radio as ac,RadioGroup as oc,Select as sc,Separator as cc,Switch as lc,TimeInput as uc,Tooltip as dc,borderBottomClassName as fc,borderClassName as pc,borderRightClassName as mc,borderTopClassName as hc,clsx as gc,scrollbarClassName as _c}from"@univerjs/design";import{AutofillDoubleIcon as vc,CheckMarkIcon as yc,CloseIcon as bc,ConvertIcon as xc,DeleteIcon as Sc,DropdownIcon as Cc,ErrorIcon as wc,EyelashIcon as Tc,FxIcon as Ec,HideGridlinesDoubleIcon as Dc,IncreaseIcon as Oc,InfoIcon as kc,LockIcon as Ac,MoreDownIcon as jc,MoreIcon as Mc,PaintBucketDoubleIcon as Nc,PasteSpecialDoubleIcon as Pc,PenIcon as Fc,ProtectIcon as Ic,WarningIcon as Lc,WriteIcon as Rc}from"@univerjs/icons";import{Fragment as zc,jsx as J,jsxs as Y}from"react/jsx-runtime";import{FUNCTION_NAMES_MATH as Bc,FUNCTION_NAMES_STATISTICAL as Vc,FUNCTION_NAMES_TEXT as Hc,FormulaDataModel as Uc,IDefinedNamesService as Wc,IFunctionService as Gc,ISuperTableService as Kc,LexerTreeBuilder as qc,NullValueObject as Jc,SetFormulaCalculationNotificationMutation as Yc,deserializeRangeWithSheet as Xc,isReferenceStringWithEffectiveColumn as Zc,isReferenceStrings as Qc,matchToken as $c,operatorToken as el,sequenceNodeType as tl,serializeRange as nl,serializeRangeWithSheet as rl}from"@univerjs/engine-formula";import{ITelemetryService as il}from"@univerjs/telemetry";import{debounceTime as al,filter as ol,map as sl,shareReplay as cl,startWith as ll,switchMap as ul}from"rxjs/operators";function dl(e,t){if(e==null)return;let n=t.getRenderById(e);if(n==null)return;let{mainComponent:i,scene:a,engine:o,components:s}=n;return{document:i,docBackground:s.get(r.BACKGROUND),scene:a,engine:o}}function fl(e){return e.getContextValue(De)}function pl(e){return e.getContextValue(De)&&e.getContextValue(Oe)&&!e.getContextValue(ve)&&!e.getContextValue(xe)}function ml(e){return e.getContextValue(De)&&e.getContextValue(Oe)&&!e.getContextValue(ve)&&!e.getContextValue(Te)&&!e.getContextValue(xe)}function hl(e){return e.getContextValue(De)&&e.getContextValue(Oe)&&e.getContextValue(ve)}function gl(e){return e.getContextValue(Oe)&&e.getContextValue(ve)}function _l(e){return e.getContextValue(Te)&&e.getContextValue(Oe)}function vl(e){return e.getContextValue(De)&&e.getContextValue(ve)&&e.getContextValue(Ce)&&e.getContextValue(Oe)}function yl(e){return e.getContextValue(De)&&e.getContextValue(Oe)&&e.getContextValue(ve)&&!e.getContextValue(Ce)&&!e.getContextValue(we)}function bl(e){let t=[],n=[],r=[];return e.forEach(e=>{t=t.concat(e.rows),n=n.concat(e.cols)}),t=Array.from(new Set(t)).sort((e,t)=>e-t),n=Array.from(new Set(n)).sort((e,t)=>e-t),e.forEach(e=>{r.push({startRow:t.findIndex(t=>t===e.rows[0]),endRow:t.findIndex(t=>t===e.rows[e.rows.length-1]),startColumn:n.findIndex(t=>t===e.cols[0]),endColumn:n.findIndex(t=>t===e.cols[e.cols.length-1])})}),{ranges:r,mapFunc:(e,r)=>({row:t[e],col:n[r]})}}const xl=mt(`rangeMovePermissionCheck`),Sl=mt(`rangeFillPermissionCheck`);let Cl=function(e){return e[e.FORMULA_EDITOR_SHOW=100]=`FORMULA_EDITOR_SHOW`,e[e.MARK_SELECTION=1e4]=`MARK_SELECTION`,e}({});function wl(e){let t=e.getColorFromTheme(`primary.600`),n=e.getColorFromTheme(`white`),r=new ae(t).setAlpha(.07).toRgbString();return{strokeWidth:1,stroke:t,fill:r,widgets:{},widgetSize:6,widgetStrokeWidth:1,widgetStroke:n,autofillSize:6,autofillStrokeWidth:1,autofillStroke:n,rowHeaderFill:r,rowHeaderStroke:t,rowHeaderStrokeWidth:1,columnHeaderFill:r,columnHeaderStroke:t,columnHeaderStrokeWidth:1,expandCornerSize:40}}const Tl=[10,400],El=`RANGE_SELECTOR_COMPONENT_KEY`,Dl=`EMBEDDING_FORMULA_EDITOR_COMPONENT_KEY`;let Ol=function(e){return e.MAIN=`__SpreadsheetRender__`,e.ROW=`__SpreadsheetRowHeader__`,e.COLUMN=`__SpreadsheetColumnHeader__`,e.LEFT_TOP=`__SpreadsheetLeftTopPlaceholder__`,e}({});function kl(e){"@babel/helpers - typeof";return kl=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},kl(e)}function Al(e,t){if(kl(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(kl(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function jl(e){var t=Al(e,`string`);return kl(t)==`symbol`?t:t+``}function X(e,t,n){return(t=jl(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Ml=class{constructor(){X(this,`_startColumn`,-1),X(this,`_startRow`,-1),X(this,`_endColumn`,-1),X(this,`_endRow`,-1),X(this,`_startX`,0),X(this,`_startY`,0),X(this,`_endX`,0),X(this,`_endY`,0),X(this,`_primary`,void 0),X(this,`_rangeType`,I.NORMAL)}get startColumn(){return this._startColumn}get startRow(){return this._startRow}get endColumn(){return this._endColumn}get endRow(){return this._endRow}get startX(){return this._startX}get startY(){return this._startY}get endX(){return this._endX}get endY(){return this._endY}get currentCell(){return this._primary}get rangeType(){return this._rangeType}isEqual(e){let{startColumn:t,startRow:n,endColumn:r,endRow:i}=this,{startColumn:a,startRow:o,endColumn:s,endRow:c}=e;return t===a&&n===o&&r===s&&i===c}highlightToSelection(){if(this._primary)return ft(this._primary)}getRange(){return{startColumn:this._startColumn,startRow:this._startRow,endColumn:this._endColumn,endRow:this._endRow,startX:this._startX,startY:this._startY,endX:this._endX,endY:this._endY,rangeType:this.rangeType}}getCell(){return this._primary}getRangeType(){return this._rangeType}setRangeType(e){this._rangeType=e}getValue(){return{rangeWithCoord:this.getRange(),primaryWithCoord:this._primary}}setValue(e,t){let{startColumn:n,startRow:r,endColumn:i,endRow:a,startX:o,startY:s,endX:c,endY:l,rangeType:u}=e;this._startColumn=n,this._startRow=r,this._endColumn=i,this._endRow=a,this._startX=o,this._startY=s,this._endX=c,this._endY=l,u!==void 0&&(this._rangeType=u),t!==void 0&&this.setCurrentCell(t)}setCurrentCell(e){this._primary=e}clearCurrentCell(){this._primary=null}};const Nl={id:`sheet.command.set-row-header-width`,type:A.COMMAND,handler:async(e,t)=>{if(!t)return!1;let n=e.get(Xn);if(!n)return!1;let{unitId:r,subUnitId:i,size:a}=t,o=n.getRenderById(r);if(o){n.getRenderById(r).with(Vl).setRowHeaderSize(o,i,a);let{components:e}=o,t=e.get(Ol.ROW);t&&t.setCustomHeader({headerStyle:{size:a}},i)}return!0}},Pl={id:`sheet.command.set-col-header-height`,type:A.COMMAND,handler:async(e,t)=>{if(!t)return!1;let n=e.get(Xn);if(!n)return!1;let{unitId:r,subUnitId:i,size:a}=t,o=n.getRenderById(r);if(o){n.getRenderById(r).with(Vl).setColumnHeaderSize(o,i,a);let{components:e}=o,t=e.get(Ol.COLUMN);t&&t.setCustomHeader({headerStyle:{size:a}},i)}return!0}};var Fl=class extends Zn{render(e,t=!1){let n=tt.now();return super.render(e,t),this._afterRender(n),this}_afterRender(e){this.scene.getEngine().renderFrameTimeMetric$.next([`selectionLayer`,tt.now()-e])}};const Il=pt(`univer.sheet.selection-render-service`);var Ll=class extends M{get selectionMoving(){return this._selectionMoving}constructor(e,t,n,r,i){super(),this._injector=e,this._themeService=t,this._shortcutService=n,this._sheetSkeletonManagerService=r,this.contextService=i,X(this,`_downObserver`,void 0),X(this,`_scenePointerMoveSub`,void 0),X(this,`_scenePointerUpSub`,void 0),X(this,`_controlFillConfig$`,new hs(null)),X(this,`controlFillConfig$`,this._controlFillConfig$.asObservable()),X(this,`_selectionControls`,[]),X(this,`_startRangeWhenPointerDown`,{startY:0,endY:0,startX:0,endX:0,startRow:-1,endRow:-1,startColumn:-1,endColumn:-1}),X(this,`_activeControlIndex`,-1),X(this,`_startViewportPosX`,0),X(this,`_startViewportPosY`,0),X(this,`_scrollTimer`,void 0),X(this,`_cancelDownSubscription`,void 0),X(this,`_cancelUpSubscription`,void 0),X(this,`_skeleton`,void 0),X(this,`_scene`,void 0),X(this,`_highlightHeader`,!0),X(this,`_rangeType`,I.NORMAL),X(this,`_selectionStyle`,void 0),X(this,`_remainLastEnabled`,!1),X(this,`_skipLastEnabled`,!1),X(this,`_singleSelectionEnabled`,!1),X(this,`_selectionMoveEnd$`,new hs([])),X(this,`selectionMoveEnd$`,this._selectionMoveEnd$.asObservable()),X(this,`_selectionMoving$`,new vs),X(this,`selectionMoving$`,this._selectionMoving$.asObservable()),X(this,`_selectionMoveStart$`,new vs),X(this,`selectionMoveStart$`,this._selectionMoveStart$.asObservable()),X(this,`_selectionMoving`,!1),X(this,`_selectionTheme`,void 0),X(this,`_activeViewport`,void 0),X(this,`interceptor`,new Ve({RANGE_MOVE_PERMISSION_CHECK:xl,RANGE_FILL_PERMISSION_CHECK:Sl})),X(this,`_escapeShortcutDisposable`,null),this._initSelectionThemeFromThemeService(),this._initMoving()}get _shouldDetectMergedCells(){return this._rangeType===I.NORMAL}_initMoving(){this.disposeWithMe(this._selectionMoving$.subscribe(()=>{this._selectionMoving=!0})),this.disposeWithMe(this._selectionMoveEnd$.subscribe(()=>{this._selectionMoving=!1}))}_setSelectionStyle(e){this._selectionStyle=e}getViewPort(){return this._activeViewport}setSingleSelectionEnabled(e=!1){this._singleSelectionEnabled=e}newSelectionControl(e,t,n){let r=this.getSelectionControls().length,{rowHeaderWidth:i,columnHeaderHeight:a}=t,o=new Kl(e,r,this._selectionTheme,{highlightHeader:this._highlightHeader,rowHeaderWidth:i,columnHeaderHeight:a});this._selectionControls.push(o);let s=Zo(n,t);return o.updateRangeBySelectionWithCoord(s,t),o.setControlExtension({skeleton:t,scene:e,themeService:this._selectionTheme,injector:this._injector,selectionHooks:{selectionMoveEnd:()=>{this._selectionMoveEnd$.next(this.getSelectionDataWithStyle())}}}),o}resetSelectionsByModelData(e){let t=this.getSelectionControls(),n=this._skeleton;if(!(!t||!n)){for(let r=0,i=e.length;r<i;r++){let i=e[r],a=Zo(i,this._skeleton),o=t[r];o?o.updateRangeBySelectionWithCoord(a,n):this.isSelectionEnabled()&&this.newSelectionControl(this._scene,n,i)}e.length<t.length&&t.splice(e.length).forEach(e=>e.dispose())}}refreshSelectionMoveStart(){this._selectionMoveStart$.next(this.getSelectionDataWithStyle())}refreshSelectionMoveEnd(){this._selectionMoveEnd$.next(this.getSelectionDataWithStyle())}_initSelectionThemeFromThemeService(){let e=this._themeService.getCurrentTheme();this._selectionTheme=new et,this._selectionTheme.setTheme(e)}setSelectionTheme(e){this._selectionTheme.setTheme(e)}_changeRuntime(e,t,n){this._skeleton=e,this._scene=t,this._activeViewport=n||(t==null?void 0:t.getViewports()[0]),t.findLayerByZIndex(1)||t.addLayer(new Fl(t,[],1))}getSkeleton(){return this._skeleton}getSelectionDataWithStyle(){let e=this._selectionControls;if(this._skeleton.worksheet){let[t,n]=this._skeleton.getLocation();return e.map(e=>{let r=e.getValue();return r.rangeWithCoord.sheetId=n,r.rangeWithCoord.unitId=t,r})}return[]}getSelectionControls(){return this._selectionControls}_addSelectionControlByModelData(e){var t;let n=this._skeleton,r=(t=e.style)==null?wl(this._selectionTheme):t,i=this._scene;return e.style=r,this.newSelectionControl(i,n,e)}_clearAllSelectionControls(){let e=this._selectionControls;for(let t of e)t.dispose();this._selectionControls.length=0}_getFreeze(){var e;return(e=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:e.skeleton.getWorksheetConfig().freeze}_getViewportByCell(e,t){if(e===void 0||t===void 0)return null;let n=this._getFreeze();if(!n||n.startRow<=0&&n.startColumn<=0||e>n.startRow&&t>n.startColumn)return this._scene.getViewport(H.VIEW_MAIN);if(e<=n.startRow&&t<=n.startColumn)return this._scene.getViewport(H.VIEW_MAIN_LEFT_TOP);if(e<=n.startRow&&t>n.startColumn)return this._scene.getViewport(H.VIEW_MAIN_TOP);if(e>n.startRow&&t<=n.startColumn)return this._scene.getViewport(H.VIEW_MAIN_LEFT)}getActiveRange(){let e=this.getSelectionControls(),t=e&&e[e.length-1].model;return t&&{startRow:t.startRow,startColumn:t.startColumn,endRow:t.endRow,endColumn:t.endColumn}}setActiveSelectionIndex(e){this._activeControlIndex=e}resetActiveSelectionIndex(){this._activeControlIndex=-1}getActiveSelectionControl(){let e=this.getSelectionControls();if(e)return this._activeControlIndex<0?e[e.length-1]:e[this._activeControlIndex]}endSelection(){var e;this._clearUpdatingListeners(),this._selectionMoveEnd$.next(this.getSelectionDataWithStyle()),(e=this._escapeShortcutDisposable)==null||e.dispose(),this._escapeShortcutDisposable=null}_reset(){var e;this._clearAllSelectionControls(),(e=this._downObserver)==null||e.unsubscribe(),this._downObserver=null}_setupPointerMoveListener(e,t,n,r=ar.ALL,i,a){var o,s;let c=0,l=0,u=i,d=a;this._scrollTimer=ir.create(this._scene,r),this._scrollTimer.startScroll((o=e==null?void 0:e.left)==null?0:o,(s=e==null?void 0:e.top)==null?0:s,e);let f=this._scene,p=f.getActiveViewportByCoord(fr.FromArray([i,a]));this._scenePointerMoveSub=f.onPointerMove$.subscribeEvent(r=>{var i;let{offsetX:a,offsetY:o}=r,{x:s,y:m}=f.getCoordRelativeToViewport(fr.FromArray([a,o]));this._movingHandler(s,m,t,n);let h=s,g=m,_=this.getActiveSelectionControl(),v=this._getFreeze(),y=_==null?void 0:_.model,b=(i=f.getActiveViewportByCoord(fr.FromArray([a,o])))==null?this._getViewportByCell(y==null?void 0:y.endRow,y==null?void 0:y.endColumn):i;if((()=>{if(!p||!b||!e)return!1;let t=[H.VIEW_MAIN,H.VIEW_MAIN_LEFT_TOP,H.VIEW_MAIN_TOP,H.VIEW_MAIN_LEFT];return t.includes(p.viewportKey)&&t.includes(b.viewportKey)})()){if(!p||!b||!e)return!1;let t=u<e.left&&s>e.left||u>e.left&&s<e.left,n=d<e.top&&m>e.top||d>e.top&&m<e.top;t&&(c+=1),n&&(l+=1);let r=p.viewportKey,i=b.viewportKey;if(r===H.VIEW_ROW_TOP){var x,S;o<e.top&&((x=y==null?void 0:y.endRow)==null?0:x)<((S=v==null?void 0:v.startRow)==null?0:S)?g=e.top:n&&l%2==1&&e.scrollToViewportPos({viewportScrollY:0})}else if(r===H.VIEW_COLUMN_LEFT){var C,w;a<e.left&&((C=y==null?void 0:y.endColumn)==null?0:C)<((w=v==null?void 0:v.startColumn)==null?0:w)?h=e.left:t&&c%2==1&&e.scrollToViewportPos({viewportScrollX:0})}else if(r===i){var T,E,D,O;let t=!1,n=!1;r===H.VIEW_MAIN_LEFT_TOP?(t=!0,n=!0):r===H.VIEW_MAIN_TOP?n=!0:r===H.VIEW_MAIN_LEFT&&(t=!0),((T=y==null?void 0:y.endRow)==null?0:T)>((E=v==null?void 0:v.startRow)==null?0:E)&&(n=!1),((D=y==null?void 0:y.endColumn)==null?0:D)>((O=v==null?void 0:v.startColumn)==null?0:O)&&(t=!1),t&&(h=e.left),n&&(g=e.top)}else{let a={x:p.scrollX,y:p.scrollY},o={x:b.scrollX,y:b.scrollY},s=a.x!==o.x&&t&&c%2==1,u=a.y!==o.y&&n&&l%2==1;(s||u)&&(e.scrollToBarPos({x:s?a.x:void 0,y:u?a.y:void 0}),s||(h=e.left),u||(g=e.top)),(r===H.VIEW_MAIN_LEFT_TOP&&i===H.VIEW_MAIN_LEFT||i===H.VIEW_MAIN_LEFT_TOP&&r===H.VIEW_MAIN_LEFT)&&(h=e.left),(r===H.VIEW_MAIN_LEFT_TOP&&i===H.VIEW_MAIN_TOP||i===H.VIEW_MAIN_LEFT_TOP&&r===H.VIEW_MAIN_TOP)&&(g=e.top)}u=s,d=m}this._scrollTimer.scrolling(h,g,()=>{this._movingHandler(s,m,t,n)})})}getSelectionCellByPosition(e,t){return this.getCellWithCoordByOffset(e,t)}getCellWithCoordByOffset(e,t,n){let r=this._scene,i=n==null?this._skeleton:n,a=r.getViewportScrollXY(r.getViewport(H.VIEW_MAIN)),{scaleX:o,scaleY:s}=r.getAncestorScale();return i.getCellWithCoordByOffset(e-a.x,t-a.y,o,s,a)}_movingHandler(e,t,n,r){var i,a,o,s,c;let l=this._skeleton,u=this._scene,[d,f]=l.getLocation(),p={startRow:(i=n==null?void 0:n.model.startRow)==null?-1:i,endRow:(a=n==null?void 0:n.model.endRow)==null?-1:a,startColumn:(o=n==null?void 0:n.model.startColumn)==null?-1:o,endColumn:(s=n==null?void 0:n.model.endColumn)==null?-1:s,unitId:d,sheetId:f},m=u.getViewport(H.VIEW_MAIN),h=(c=this._getViewportByCell(p.endRow,p.endColumn))==null?m:c,g=u.getScrollXYInfoByViewport(fr.FromArray([this._startViewportPosX,this._startViewportPosY]),h),{scaleX:_,scaleY:v}=u.getAncestorScale();r===I.ROW?e=1/0:r===I.COLUMN&&(t=1/0);let y=this._skeleton.getCellByOffset(e,t,_,v,g);if(!y)return;let b={startRow:Math.min(y.startRow,this._startRangeWhenPointerDown.startRow),startColumn:Math.min(y.startColumn,this._startRangeWhenPointerDown.startColumn),endRow:Math.max(y.endRow,this._startRangeWhenPointerDown.endRow),endColumn:Math.max(y.endColumn,this._startRangeWhenPointerDown.endColumn)};this._shouldDetectMergedCells&&(b=l.expandRangeByMerge(b,this.inRefSelectionMode()));let x=Zo({range:b,primary:void 0,style:null},l);x.rangeWithCoord.unitId=d,x.rangeWithCoord.sheetId=f,x.rangeWithCoord.rangeType=r;let S=p.startRow!==b.startRow||p.startColumn!==b.startColumn||p.endRow!==b.endRow||p.endColumn!==b.endColumn;n!=null&&S&&(n.updateRangeBySelectionWithCoord(x),this._selectionMoving$.next(this.getSelectionDataWithStyle()))}_clearUpdatingListeners(){var e,t,n,r,i;this._scene.enableObjectsEvent(),(e=this._scenePointerMoveSub)==null||e.unsubscribe(),this._scenePointerMoveSub=null,(t=this._scenePointerUpSub)==null||t.unsubscribe(),this._scenePointerUpSub=null,(n=this._cancelDownSubscription)==null||n.unsubscribe(),this._cancelDownSubscription=null,(r=this._cancelUpSubscription)==null||r.unsubscribe(),this._cancelUpSubscription=null,(i=this._scrollTimer)==null||i.dispose()}_addEndingListeners(){var e,t,n;let r=this._scene,i=(e=r.getEngine())==null?void 0:e.activeScene;!i||i===r||((t=this._cancelDownSubscription)==null||t.unsubscribe(),this._cancelDownSubscription=null,(n=this._cancelUpSubscription)==null||n.unsubscribe(),this._cancelUpSubscription=null,this._cancelDownSubscription=i.onPointerDown$.subscribeEvent(()=>this._clearUpdatingListeners()),this._cancelUpSubscription=i.onPointerUp$.subscribeEvent(()=>this._clearUpdatingListeners()))}_getSelectionWithCoordByOffset(e,t,n,r,i){let a=this._skeleton;if(a==null)return null;if(this._shouldDetectMergedCells){let o=a==null?void 0:a.getCellWithCoordByOffset(e,t,n,r,i,{firstMatch:!0});return o?{primaryWithCoord:o,rangeWithCoord:ft(o)}:void 0}let{row:o,column:s}=a.getCellIndexByOffset(e,t,n,r,i),{startX:c,startY:l,endX:u,endY:d}=a.getNoMergeCellWithCoordByIndex(o,s),f={startY:l,endY:d,startX:c,endX:u,startRow:o,endRow:o,startColumn:s,endColumn:s};return{primaryWithCoord:{mergeInfo:f,actualRow:o,actualColumn:s,isMerged:!1,isMergedMainCell:!1,startY:l,endY:d,startX:c,endX:u},rangeWithCoord:f}}_checkClearPreviousControls(e){this.getSelectionControls().length!==0&&(!e.ctrlKey&&!e.shiftKey&&!this._remainLastEnabled||this._singleSelectionEnabled&&!e.shiftKey)&&this._clearAllSelectionControls()}_makeSelectionByTwoCells(e,t,n,r,i){let{actualRow:a,actualColumn:o,mergeInfo:s}=e;this._startRangeWhenPointerDown={...e.mergeInfo};let c=Math.min(a,t.startRow,s.startRow),l=Math.max(a,t.endRow,s.endRow),u=Math.min(o,t.startColumn,s.startColumn),d=Math.max(o,t.endColumn,s.endColumn),f=Zo({range:n.expandRangeByMerge({startRow:c,startColumn:u,endRow:l,endColumn:d}),primary:$o(e),style:null},n);i.updateRangeBySelectionWithCoord(f)}isSelectionEnabled(){return this.contextService.getContextValue(Qi)}isSelectionDisabled(){return this.contextService.getContextValue(Qi)===!1}inRefSelectionMode(){return this.contextService.getContextValue(Mi)}};function Rl(e){return{range:{startRow:0,startColumn:0,endRow:e.getRowCount()-1,endColumn:e.getColumnCount()-1,rangeType:I.ALL},primary:zl(e).primary,style:null}}function zl(e){return Bl(e,{startRow:0,startColumn:0,endRow:0,endColumn:0})}function Bl(e,t){let n=e.worksheet.getCellInfoInMergeData(t.startRow,t.startColumn),r=e.worksheet.getCellInfoInMergeData(t.endRow,t.endColumn);return{range:{startRow:n.startRow,startColumn:n.startColumn,endRow:r.endRow,endColumn:r.endColumn,rangeType:I.NORMAL},primary:{actualRow:n.startRow,actualColumn:n.startColumn,startRow:n.startRow,startColumn:n.startColumn,endRow:n.endRow,endColumn:n.endColumn,isMerged:n.isMerged,isMergedMainCell:n.isMergedMainCell},style:null}}function Z(e,t){return function(n,r){t(n,r,e)}}function Q(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}let Vl=class extends M{constructor(e,t){super(),this._context=e,this._sheetSkeletonService=t,X(this,`_sheetId`,``),X(this,`_currentSkeleton$`,new hs(null)),X(this,`currentSkeleton$`,this._currentSkeleton$.asObservable()),X(this,`_currentSkeletonBefore$`,new hs(null)),X(this,`currentSkeletonBefore$`,this._currentSkeletonBefore$.asObservable());let{unitId:n,scene:r}=this._context;this._sheetSkeletonService.setScene(n,r)}dispose(){super.dispose(),this._currentSkeletonBefore$.complete(),this._currentSkeleton$.complete()}getCurrentSkeleton(){var e;return(e=this.getCurrentParam())==null?void 0:e.skeleton}getCurrentParam(){return this._getSkeletonParam(this._sheetId)}getSkeleton(e){return this._getSkeleton(e)}getSkeletonParam(e){return this._getSkeletonParam(e)}setCurrent(e){this._setCurrent(e.sheetId)}_setCurrent(e){this._sheetId=e;let t=this._getSkeletonParam(e);if(t)this.reCalculate(t);else{let n=this._context.unit,r=n.getSheetBySheetId(e),i=this._context.unitId;if(!r)return;t=this._sheetSkeletonService.newSkeletonParam(i,e,r,n.getStyles())}this._currentSkeletonBefore$.next(t),this._currentSkeleton$.next(t)}reCalculate(e){let t=e||this.getCurrentParam();t&&(t.dirty&&(t.skeleton.makeDirty(!0),t.dirty=!1),t.skeleton.calculate())}makeDirty(e,t=!0){let n=this._getSkeletonParam(e.sheetId);n!=null&&(n.dirty=t)}ensureSkeleton(e){return this._sheetSkeletonService.ensureSkeleton(this._context.unitId,e)}_getSkeletonParam(e){return this._sheetSkeletonService.getSkeletonParam(this._context.unitId,e)}_getSkeleton(e){return this._sheetSkeletonService.getSkeleton(this._context.unitId,e)}setColumnHeaderSize(e,t,n){if(!e)return;let r=this.getSkeleton(t);if(!r)return;r.columnHeaderHeight=n,e.scene.getViewports()[0].top=n,e.scene.getViewport(H.VIEW_COLUMN_RIGHT).setViewportSize({height:n}),e.scene.getViewport(H.VIEW_COLUMN_LEFT).setViewportSize({height:n}),e.scene.getViewport(H.VIEW_ROW_BOTTOM).setViewportSize({top:n}),e.scene.getViewport(H.VIEW_ROW_TOP).setViewportSize({top:n}),e.scene.getViewport(H.VIEW_LEFT_TOP).setViewportSize({height:n});let i=e==null?void 0:e.with(W),a=e==null?void 0:e.with(Il),o=i.getCurrentSelections();a.resetSelectionsByModelData(o);let s=this._sheetSkeletonService.getSkeletonParam(e.unitId,t);s&&(s.commandId=Pl.id,this._currentSkeleton$.next(s))}setRowHeaderSize(e,t,n){if(!e)return;let r=this.getSkeleton(t);if(!r)return;r.rowHeaderWidth=n;let i=n-(e.scene.getViewport(H.VIEW_LEFT_TOP).width||46),a=e.scene.getViewports()[0].left;e.scene.getViewports()[0].left=a+i,e.scene.getViewport(H.VIEW_ROW_BOTTOM).setViewportSize({width:n}),e.scene.getViewport(H.VIEW_ROW_TOP).setViewportSize({width:n}),e.scene.getViewport(H.VIEW_COLUMN_LEFT).setViewportSize({left:n});let o=e.scene.getViewport(H.VIEW_COLUMN_RIGHT).left||0;e.scene.getViewport(H.VIEW_COLUMN_RIGHT).setViewportSize({left:o+i}),e.scene.getViewport(H.VIEW_LEFT_TOP).setViewportSize({width:n});let s=e==null?void 0:e.with(W),c=e==null?void 0:e.with(Il),l=s.getCurrentSelections();c.resetSelectionsByModelData(l);let u=this._sheetSkeletonService.getSkeletonParam(e.unitId,t);u&&(u.commandId=Nl.id,this._currentSkeleton$.next(u))}};Vl=Q([Z(1,F(po))],Vl);const Hl=`__SpreadsheetHelperSelectionTempRect`;var Ul=class{constructor(e,t){this._control=e,X(this,`_startOffsetX`,0),X(this,`_startOffsetY`,0),X(this,`_relativeSelectionPositionRow`,0),X(this,`_relativeSelectionPositionColumn`,0),X(this,`_relativeSelectionRowLength`,0),X(this,`_relativeSelectionColumnLength`,0),X(this,`_scenePointerMoveSub`,void 0),X(this,`_scenePointerUpSub`,void 0),X(this,`_disabled`,!1),X(this,`_helperSelection`,void 0),X(this,`_scrollTimer`,void 0),X(this,`_activeViewport`,void 0),X(this,`_targetSelection`,{startY:0,endY:0,startX:0,endX:0,startRow:-1,endRow:-1,startColumn:-1,endColumn:-1}),X(this,`_isInMergeState`,!1),X(this,`_fillControlColors`,[]),X(this,`_skeleton`,void 0),X(this,`_scene`,void 0),X(this,`_themeService`,void 0),X(this,`_injector`,void 0),X(this,`_selectionHooks`,void 0),this._skeleton=t.skeleton,this._scene=t.scene,this._themeService=t.themeService,this._injector=t.injector,this._selectionHooks=t.selectionHooks,this._initialControl(),this._initialWidget(),this._initialAutoFill(),this._control.dispose$.subscribe(()=>{this.dispose()})}get isHelperSelection(){return this._control.isHelperSelection}dispose(){var e,t;(e=this._scrollTimer)==null||e.dispose(),this._fillControlColors=[],this._clearObserverEvent(),(t=this._helperSelection)==null||t.dispose()}setDisabled(e){this._disabled=e}_getFreeze(){var e;return(e=Cr(L.UNIVER_SHEET,Vl,this._injector.get(P),this._injector.get(Xn)))==null||(e=e.getCurrentParam())==null?void 0:e.skeleton.getWorksheetConfig().freeze}_isSelectionInViewport(e,t){let n=this._getFreeze()||{startRow:-1,startColumn:-1,xSplit:0,ySplit:0};switch(t.viewportKey){case H.VIEW_MAIN:return e.endRow>=n.startRow&&e.endColumn>=n.startColumn;case H.VIEW_MAIN_TOP:case H.VIEW_COLUMN_RIGHT:return e.endColumn>=n.startColumn&&e.startRow<n.startRow;case H.VIEW_MAIN_LEFT:case H.VIEW_ROW_BOTTOM:return e.endRow>=n.startRow&&e.startColumn<n.startColumn;case H.VIEW_MAIN_LEFT_TOP:case H.VIEW_COLUMN_LEFT:case H.VIEW_ROW_TOP:case H.VIEW_LEFT_TOP:return e.startRow<n.startRow&&e.startColumn<n.startColumn;default:break}}_clearObserverEvent(){var e,t;(e=this._scenePointerMoveSub)==null||e.unsubscribe(),(t=this._scenePointerUpSub)==null||t.unsubscribe(),this._scenePointerMoveSub=null,this._scenePointerUpSub=null}_initialControl(){let{leftControl:e,rightControl:t,topControl:n,bottomControl:r}=this._control;[e,t,n,r].forEach(e=>{e.onPointerEnter$.subscribeEvent(()=>{var t;((t=this._injector.get(Il,Xe.OPTIONAL))==null?void 0:t.interceptor.fetchThroughInterceptors(xl)(!1,null))!==!1&&e.setCursor(Wn.MOVE)}),e.onPointerLeave$.subscribeEvent(()=>{e.resetCursor()}),e.onPointerDown$.subscribeEvent(this._controlPointerDownHandler.bind(this))})}_controlMoving(e,t){var n;let r=this._scene,i=r.getScrollXYInfoByViewport(fr.FromArray([e,t])),{scaleX:a,scaleY:o}=r.getAncestorScale(),{row:s,column:c}=this._skeleton.getCellIndexByOffset(e,t,a,o,i),l=this._skeleton.getRowCount()-1,u=this._skeleton.getColumnCount()-1,d=Math.max(0,s+this._relativeSelectionPositionRow),f=d+this._relativeSelectionRowLength;f>l&&(f=l,f-d<this._relativeSelectionRowLength&&(d=f-this._relativeSelectionRowLength));let p=Math.max(0,c+this._relativeSelectionPositionColumn),m=p+this._relativeSelectionColumnLength;m>u&&(m=u,m-p<this._relativeSelectionColumnLength&&(p=m-this._relativeSelectionColumnLength));let h=this._skeleton.worksheet.getCellInfoInMergeData(d,p),g=Zo({range:{startRow:d,endRow:f,startColumn:p,endColumn:m},primary:h,style:null},this._skeleton),_=this._skeleton.getNoMergeCellWithCoordByIndex(d,p),v=this._skeleton.getNoMergeCellWithCoordByIndex(f,m),y=(_==null?void 0:_.startY)||0,b=(v==null?void 0:v.endY)||0,x=(_==null?void 0:_.startX)||0,S=(v==null?void 0:v.endX)||0;(n=this._helperSelection)==null||n.transformByState({left:x,top:y,width:S-x,height:b-y}),this._targetSelection={...g.rangeWithCoord},this._control.selectionMoving$.next(g.rangeWithCoord)}_controlPointerDownHandler(e){let{offsetX:t,offsetY:n}=e,r=this._scene,i=r.getCoordRelativeToViewport(fr.FromArray([t,n])),{x:a,y:o}=i,s=r.getScrollXYInfoByViewport(i),{scaleX:c,scaleY:l}=r.getAncestorScale(),u=this._skeleton.getCellIndexByOffset(a,o,c,l,s);this._startOffsetX=a,this._startOffsetY=o;let{row:d,column:f}=u,{startRow:p,startColumn:m,endRow:h,endColumn:g}=this._control.model,_=0,v=0;d<p?--_:d>h&&(_+=1),f<m?--v:f>g&&(v+=1),this._relativeSelectionPositionRow=p-d+_,this._relativeSelectionPositionColumn=m-f+v,this._relativeSelectionRowLength=h-p,this._relativeSelectionColumnLength=g-m;let y=this._control.currentStyle,b=this._getScale();this.isHelperSelection&&(this._helperSelection=new er(Hl,{stroke:y.stroke,strokeWidth:y.strokeWidth/b}),r.addObject(this._helperSelection));let x=r.getViewport(H.VIEW_MAIN),S=ir.create(r);this._scrollTimer=S,S.startScroll(a,o,x),r.disableObjectsEvent(),this._scenePointerMoveSub=r.onPointerMove$.subscribeEvent(e=>{var t;if(this._disabled)return;let{offsetX:n,offsetY:i}=e;if(((t=this._injector.get(Il,Xe.OPTIONAL))==null?void 0:t.interceptor.fetchThroughInterceptors(xl)(!1,null))===!1)return;let{x:a,y:o}=r.getCoordRelativeToViewport(fr.FromArray([n,i]));this._controlMoving(a,o),r.setCursor(Wn.MOVE),S.scrolling(a,o,()=>{this._controlMoving(a,o)})}),this._scenePointerUpSub=r.onPointerUp$.subscribeEvent(()=>{var e,t,n,r;(e=this._helperSelection)==null||e.dispose();let i=this._scene;i.resetCursor(),this._clearObserverEvent(),i.enableObjectsEvent(),(t=this._scrollTimer)==null||t.dispose(),this._control.selectionMoveEnd$.next(this._targetSelection),(n=(r=this._selectionHooks).selectionMoveEnd)==null||n.call(r)})}_initialWidget(){let{topLeftWidget:e,topCenterWidget:t,topRightWidget:n,middleLeftWidget:r,middleRightWidget:i,bottomLeftWidget:a,bottomCenterWidget:o,bottomRightWidget:s}=this._control,c=[Wn.NORTH_WEST_RESIZE,Wn.NORTH_RESIZE,Wn.NORTH_EAST_RESIZE,Wn.WEST_RESIZE,Wn.EAST_RESIZE,Wn.SOUTH_WEST_RESIZE,Wn.SOUTH_RESIZE,Wn.SOUTH_EAST_RESIZE];[e,t,n,r,i,a,o,s].forEach((e,t)=>{e.onPointerEnter$.subscribeEvent(()=>{e.setCursor(c[t])}),e.onPointerLeave$.subscribeEvent(()=>{e.resetCursor()}),e.onPointerDown$.subscribeEvent(e=>{this._widgetPointerDownEvent(e,c[t])})})}_widgetPointerDownEvent(e,t){let n=this._scene,{offsetX:r,offsetY:i}=e,{x:a,y:o}=n.getCoordRelativeToViewport(fr.FromArray([r,i]));this._startOffsetX=r,this._startOffsetY=i;let{startRow:s,startColumn:c,endRow:l,endColumn:u}=this._control.model,d=Math.min(s,l),f=Math.min(c,u),p=Math.max(s,l),m=Math.max(c,u);this._relativeSelectionPositionRow=d,this._relativeSelectionPositionColumn=f,this._relativeSelectionRowLength=p-d,this._relativeSelectionColumnLength=m-f,t===Wn.NORTH_WEST_RESIZE?(this._relativeSelectionPositionRow=p,this._relativeSelectionPositionColumn=m):t===Wn.NORTH_RESIZE||t===Wn.NORTH_EAST_RESIZE?this._relativeSelectionPositionRow=p:t===Wn.WEST_RESIZE||t===Wn.SOUTH_WEST_RESIZE?this._relativeSelectionPositionColumn=m:t===Wn.SOUTH_RESIZE&&(this._relativeSelectionPositionRow=d);let h=ir.create(n),g=n.getViewport(H.VIEW_MAIN);h.startScroll(a,o,g),this._scrollTimer=h,n.disableObjectsEvent(),this._scenePointerMoveSub=n.onPointerMove$.subscribeEvent(e=>{let{offsetX:r,offsetY:i}=e,{x:a,y:o}=n.getCoordRelativeToViewport(fr.FromArray([r,i]));this._widgetMoving(a,o,t),n.setCursor(t),h.scrolling(a,o,()=>{this._widgetMoving(a,o,t)})}),this._scenePointerUpSub=n.onPointerUp$.subscribeEvent(()=>{var e,t,n;let r=this._scene;r.resetCursor(),this._clearObserverEvent(),r.enableObjectsEvent(),(e=this._scrollTimer)==null||e.dispose(),this._control.selectionScaled$.next(this._targetSelection),(t=(n=this._selectionHooks).selectionMoveEnd)==null||t.call(n)})}_widgetMoving(e,t,n){let r=this._scene,i=r.getScrollXYInfoByViewport(fr.FromArray([this._startOffsetX,this._startOffsetY])),{scaleX:a,scaleY:o}=r.getAncestorScale(),{row:s,column:c}=this._skeleton.getCellIndexByOffset(e,t,a,o,i),l=this._relativeSelectionPositionRow,u=this._relativeSelectionPositionColumn,d=s,f=c;n===Wn.NORTH_WEST_RESIZE?(l=s,u=c,d=this._relativeSelectionPositionRow,f=this._relativeSelectionPositionColumn):n===Wn.NORTH_RESIZE?(l=s,u=this._relativeSelectionPositionColumn,d=this._relativeSelectionPositionRow,f=this._relativeSelectionPositionColumn+this._relativeSelectionColumnLength):n===Wn.NORTH_EAST_RESIZE?(l=s,u=this._relativeSelectionPositionColumn,d=this._relativeSelectionPositionRow,f=c):n===Wn.WEST_RESIZE?(l=this._relativeSelectionPositionRow,u=c,d=this._relativeSelectionPositionRow+this._relativeSelectionRowLength,f=this._relativeSelectionPositionColumn):n===Wn.EAST_RESIZE?d=this._relativeSelectionPositionRow+this._relativeSelectionRowLength:n===Wn.SOUTH_WEST_RESIZE?(l=this._relativeSelectionPositionRow,u=c,d=s,f=this._relativeSelectionPositionColumn):n===Wn.SOUTH_RESIZE&&(l=this._relativeSelectionPositionRow,u=this._relativeSelectionPositionColumn,d=s,f=this._relativeSelectionPositionColumn+this._relativeSelectionColumnLength);let p=Zo({range:this._swapPositions(l,u,d,f),primary:this._skeleton.getCellWithMergeInfoByIndex(l,u),style:null},this._skeleton);this._targetSelection={...p.rangeWithCoord},this._control.updateRangeBySelectionWithCoord(p),this._control.selectionScaling$.next(this._targetSelection)}_initialAutoFill(){let{fillControl:e}=this._control;e.onPointerEnter$.subscribeEvent(t=>{this._injector.get(Il).interceptor.fetchThroughInterceptors(Sl)(!1,{x:t.offsetX,y:t.offsetY,skeleton:this._skeleton,scene:this._scene})&&e.setCursor(Wn.CROSSHAIR)}),e.onPointerLeave$.subscribeEvent(()=>{e.resetCursor()}),e.onPointerDown$.subscribeEvent(this._autoFillForPointerdown.bind(this))}_autoFillMoving(e,t){let n=this._scene,r=n.getViewportScrollXY(this._activeViewport),{scaleX:i,scaleY:a}=n.getAncestorScale(),{row:o,column:s}=this._skeleton.getCellIndexByOffset(e,t,i,a,r),c=n.getCoordRelativeToViewport(fr.FromArray([e,t])),l=this._skeleton.getRowCount()-1,u=this._skeleton.getColumnCount()-1,d=this._relativeSelectionPositionRow,f=this._relativeSelectionPositionColumn,p=this._relativeSelectionPositionRow+this._relativeSelectionRowLength,m=this._relativeSelectionPositionColumn+this._relativeSelectionColumnLength,h=!1,g=!0;if((s<f||s>m)&&o>=d&&o<=p){let e=this._fillRuler(s,f,m,this._relativeSelectionColumnLength,u);f=e.startRowOrColumn,m=e.endRowOrColumn,h=e.isLighten,g=!1}else if((o<d||o>p)&&s>=f&&s<=m){let e=this._fillRuler(o,d,p,this._relativeSelectionRowLength,l);d=e.startRowOrColumn,p=e.endRowOrColumn,h=e.isLighten}else if(Math.abs(this._startOffsetX-c.x-r.x)/2>Math.abs(this._startOffsetY-c.y-r.y)){let e=this._fillRuler(s,f,m,this._relativeSelectionColumnLength,u);f=e.startRowOrColumn,m=e.endRowOrColumn,h=e.isLighten,g=!1}else{let e=this._fillRuler(o,d,p,this._relativeSelectionRowLength,l);d=e.startRowOrColumn,p=e.endRowOrColumn,h=e.isLighten}let _=this._skeleton.getNoMergeCellWithCoordByIndex(d,f),v=this._skeleton.getNoMergeCellWithCoordByIndex(p,m),y=(_==null?void 0:_.startY)||0,b=(v==null?void 0:v.endY)||0,x=(_==null?void 0:_.startX)||0,S=(v==null?void 0:v.endX)||0;h?this._controlHandler((e,t)=>{let n=new ae(this._fillControlColors[t]).lighten(35).toRgbString();e.setProps({fill:n})}):this._controlHandler((e,t)=>{e.setProps({fill:this._fillControlColors[t]})});let C=ea/this._getScale();if(d===p&&g===!0||f===m&&g===!1){var w;(w=this._helperSelection)==null||w.hide()}else{var T,E;(T=this._helperSelection)==null||T.transformByState({left:x-C/2,top:y-C/2,width:S-x,height:b-y}),(E=this._helperSelection)==null||E.show()}this._targetSelection={startY:y,endY:b,startX:x,endX:S,startRow:d,endRow:p,startColumn:f,endColumn:m},this._control.selectionFilling$.next(this._targetSelection)}_autoFillForPointerdown(e){let{offsetX:t,offsetY:n}=e,r=this._scene,{x:i,y:a}=r.getCoordRelativeToViewport(fr.FromArray([t,n]));this._startOffsetX=i,this._startOffsetY=a;let{startRow:o,startColumn:s,endRow:c,endColumn:l}=this._control.model;this._isInMergeState=this._hasMergeInRange(o,s,c,l),this._relativeSelectionPositionRow=o,this._relativeSelectionPositionColumn=s,this._relativeSelectionRowLength=c-o,this._relativeSelectionColumnLength=l-s;let u=this._control.currentStyle,d=u==null?void 0:u.stroke,f=u==null?void 0:u.strokeWidth,p=wl(this._themeService);d==null&&(d=p.stroke),f==null&&(f=p.strokeWidth);let m=this._getScale();f/=m;let h=ea/m,g=new ae(d).darken(2).toRgbString();this.isHelperSelection&&(this._helperSelection=new er(Hl,{stroke:g,strokeWidth:f+h/2}),r.addObject(this._helperSelection)),this._activeViewport=r.getActiveViewportByCoord(fr.FromArray([t,n]));let _=r.getViewport(H.VIEW_MAIN),v=ir.create(r,this._activeViewport.viewportKey===H.VIEW_MAIN?ar.ALL:ar.NONE);v.startScroll(i,a,_),this._scrollTimer=v,r.disableObjectsEvent(),this._controlHandler(e=>{this._fillControlColors.push(e.fill)}),this._scenePointerMoveSub=r.onPointerMove$.subscribeEvent(t=>{var n;let{offsetX:i,offsetY:a}=t,l=r.getActiveViewportByCoord(fr.FromArray([i,a]));if(!this._injector.get(Il).interceptor.fetchThroughInterceptors(Sl)(!1,{x:e.offsetX,y:e.offsetY,skeleton:this._skeleton,scene:this._scene}))return;let{x:u,y:d}=r.getCoordRelativeToViewport(fr.FromArray([i,a]));this._autoFillMoving(u,d),r.setCursor(Wn.CROSSHAIR);let f=this._targetSelection;if(_&&l&&((n=this._activeViewport)==null?void 0:n.viewportKey)!==(l==null?void 0:l.viewportKey)){let e;f.startRow===o?f.endRow===c?f.startColumn===s?(v.scrollTimerType=ar.X,e={...f,startColumn:f.endColumn}):(v.scrollTimerType=ar.X,e={...f,endColumn:f.startColumn}):(v.scrollTimerType=ar.Y,e={...f,startRow:f.endRow}):(v.scrollTimerType=ar.Y,e={...f,endRow:f.startRow}),this._isSelectionInViewport(e,l)&&(this._viewportMainScrollBarNeedResetPosition(v.scrollTimerType,this._activeViewport.viewportKey,l.viewportKey)&&_.scrollToBarPos({x:v.scrollTimerType===ar.X?0:void 0,y:v.scrollTimerType===ar.Y?0:void 0}),this._activeViewport=l)}v.scrolling(u,d,()=>{this._autoFillMoving(u,d)})}),this._scenePointerUpSub=r.onPointerUp$.subscribeEvent(()=>{var e,t;(e=this._helperSelection)==null||e.dispose();let n=this._scene;n.resetCursor(),this._clearObserverEvent(),n.enableObjectsEvent(),(t=this._scrollTimer)==null||t.dispose(),this._control.refreshSelectionFilled(this._targetSelection),this._isInMergeState=!1,this._controlHandler((e,t)=>{e.setProps({fill:this._fillControlColors[t]})}),this._fillControlColors=[]})}_viewportMainScrollBarNeedResetPosition(e,t,n){return e===ar.X&&(t===H.VIEW_MAIN_LEFT||t===H.VIEW_MAIN_LEFT_TOP)&&(n===H.VIEW_MAIN||n===H.VIEW_MAIN_TOP)||e===ar.Y&&(t===H.VIEW_MAIN_TOP||t===H.VIEW_MAIN_LEFT_TOP)&&(n===H.VIEW_MAIN||n===H.VIEW_MAIN_LEFT)}_hasMergeInRange(e,t,n,r){return this._skeleton.worksheet.getMergedCellRange(e,t,n,r).length>0}_swapPositions(e,t,n,r){return{startRow:Math.min(e,n),startColumn:Math.min(t,r),endRow:Math.max(e,n),endColumn:Math.max(t,r)}}_controlHandler(e){let{leftControl:t,rightControl:n,topControl:r,bottomControl:i,backgroundControlTop:a,backgroundControlMiddleLeft:o,backgroundControlMiddleRight:s,backgroundControlBottom:c,fillControl:l}=this._control,u=[t,n,r,i,a,o,s,c,l];for(let t=0,n=u.length;t<n;t++){let n=u[t];e(n,t)}}_fillRuler(e,t,n,r,i){let a=!1;if(e<t)if(this._isInMergeState&&e<t){let n=t-e,i=r+1,a=Math.ceil(n/i),o=t-a*i;o<0&&(o=t-(a-1)*i),t=o}else t=e;else if(e>=t&&e<=n)a=!0,this._isInMergeState||(n=e);else if(this._isInMergeState&&e>n){let t=e-n,a=r+1,o=Math.ceil(t/a),s=n+o*a;s>i&&(s=n+(o-1)*a),n=s}else n=e;return{rowOrColumn:e,startRowOrColumn:t,endRowOrColumn:n,isLighten:a}}_getScale(){let{scaleX:e,scaleY:t}=this._scene.getAncestorScale();return Math.max(e,t)}};let Wl=function(e){return e.Selection=`__SpreadsheetSelectionShape__`,e.top=`__SpreadsheetSelectionTopControl__`,e.bottom=`__SpreadsheetSelectionBottomControl__`,e.left=`__SpreadsheetSelectionShapeLeftControl__`,e.right=`__SpreadsheetSelectionShapeRightControl__`,e.backgroundTop=`__SpreadsheetSelectionBackgroundControlTop__`,e.backgroundMiddleLeft=`__SpreadsheetSelectionBackgroundControlMiddleLeft__`,e.backgroundMiddleRight=`__SpreadsheetSelectionBackgroundControlMiddleRight__`,e.backgroundBottom=`__SpreadsheetSelectionBackgroundControlBottom__`,e.fill=`__SpreadsheetSelectionFillControl__`,e.fillTopLeft=`__SpreadsheetSelectionFillControlTopLeft__`,e.fillBottomRight=`__SpreadsheetSelectionFillControlBottomRight__`,e.fillTopLeftInner=`__SpreadsheetSelectionFillControlTopLeftInner__`,e.fillBottomRightInner=`__SpreadsheetSelectionFillControlBottomRightInner__`,e.lineMain=`__SpreadsheetDragLineMainControl__`,e.lineContent=`__SpreadsheetDragLineContentControl__`,e.line=`__SpreadsheetDragLineControl__`,e.dash=`__SpreadsheetDragDashControl__`,e.rowHeaderBackground=`__SpreadSheetSelectionRowHeaderBackground__`,e.rowHeaderBorder=`__SpreadSheetSelectionRowHeaderBorder__`,e.rowHeaderGroup=`__SpreadSheetSelectionRowHeaderGroup__`,e.columnHeaderBackground=`__SpreadSheetSelectionColumnHeaderBackground__`,e.columnHeaderBorder=`__SpreadSheetSelectionColumnHeaderBorder__`,e.columnHeaderGroup=`__SpreadSheetSelectionColumnHeaderGroup__`,e.topLeftWidget=`__SpreadSheetSelectionTopLeftWidget__`,e.topCenterWidget=`__SpreadSheetSelectionTopCenterWidget__`,e.topRightWidget=`__SpreadSheetSelectionTopRightWidget__`,e.middleLeftWidget=`__SpreadSheetSelectionMiddleLeftWidget__`,e.middleRightWidget=`__SpreadSheetSelectionMiddleRightWidget__`,e.bottomLeftWidget=`__SpreadSheetSelectionBottomLeftWidget__`,e.bottomCenterWidget=`__SpreadSheetSelectionBottomCenterWidget__`,e.bottomRightWidget=`__SpreadSheetSelectionBottomRightWidget__`,e}({});const Gl=.3;var Kl=class extends M{constructor(e,t,n,r){var i,a,o,s;super(),this._scene=e,this._zIndex=t,this._themeService=n,X(this,`_isHelperSelection`,!0),X(this,`_enableAutoFill`,!0),X(this,`_showAutoFill`,!1),X(this,`_highlightHeader`,!0),X(this,`_selectionRenderModel`,void 0),X(this,`_leftBorder`,void 0),X(this,`_rightBorder`,void 0),X(this,`_topBorder`,void 0),X(this,`_bottomBorder`,void 0),X(this,`_backgroundControlTop`,void 0),X(this,`_backgroundControlBottom`,void 0),X(this,`_backgroundControlMiddleLeft`,void 0),X(this,`_backgroundControlMiddleRight`,void 0),X(this,`_autoFillControl`,void 0),X(this,`_selectionShapeGroup`,void 0),X(this,`_rowHeaderBackground`,void 0),X(this,`_rowHeaderBorder`,void 0),X(this,`_rowHeaderGroup`,void 0),X(this,`_columnHeaderBackground`,void 0),X(this,`_columnHeaderBorder`,void 0),X(this,`_columnHeaderGroup`,void 0),X(this,`_dashedRect`,void 0),X(this,`_topLeftWidget`,void 0),X(this,`_topCenterWidget`,void 0),X(this,`_topRightWidget`,void 0),X(this,`_middleLeftWidget`,void 0),X(this,`_middleRightWidget`,void 0),X(this,`_bottomLeftWidget`,void 0),X(this,`_bottomCenterWidget`,void 0),X(this,`_bottomRightWidget`,void 0),X(this,`_defaultStyle`,void 0),X(this,`_currentStyle`,void 0),X(this,`_rowHeaderWidth`,0),X(this,`_columnHeaderHeight`,0),X(this,`_widgetRects`,[]),X(this,`_controlExtension`,void 0),X(this,`_dispose$`,new hs(this)),X(this,`dispose$`,this._dispose$.asObservable()),X(this,`selectionMoving$`,new vs),X(this,`selectionMoveEnd$`,new vs),X(this,`selectionScaling$`,new vs),X(this,`selectionScaled$`,new vs),X(this,`selectionFilling$`,new vs),X(this,`_selectionFilled$`,new vs),X(this,`selectionFilled$`,this._selectionFilled$.asObservable()),X(this,`_antLineOffset`,0),X(this,`_antRequestNewFrame`,-1),this._enableAutoFill=(i=r==null?void 0:r.enableAutoFill)==null?!0:i,this._highlightHeader=(a=r==null?void 0:r.highlightHeader)==null?!0:a,this._rowHeaderWidth=(o=r==null?void 0:r.rowHeaderWidth)==null?0:o,this._columnHeaderHeight=(s=r==null?void 0:r.columnHeaderHeight)==null?0:s,this._initializeSheetBody(),this._initialHeader()}_initializeSheetBody(){this._defaultStyle=wl(this._themeService),this._currentStyle=wl(this._themeService),this._selectionRenderModel=new Ml;let e=this._zIndex;this._leftBorder=new er(Wl.left+e,{zIndex:e}),this._rightBorder=new er(Wl.right+e,{zIndex:e}),this._topBorder=new er(Wl.top+e,{zIndex:e}),this._bottomBorder=new er(Wl.bottom+e,{zIndex:e}),this._backgroundControlTop=new er(Wl.backgroundTop+e,{zIndex:e-1,evented:!1}),this._backgroundControlBottom=new er(Wl.backgroundBottom+e,{zIndex:e-1,evented:!1}),this._backgroundControlMiddleLeft=new er(Wl.backgroundMiddleLeft+e,{zIndex:e-1,evented:!1}),this._backgroundControlMiddleRight=new er(Wl.backgroundMiddleRight+e,{zIndex:e-1,evented:!1}),this._autoFillControl=new er(Wl.fill+e,{zIndex:e+1}),this._autoFillControl.hide(),this._dashedRect=new Kn(Wl.dash+e,{zIndex:e+2,evented:!1,stroke:`#fff`});let t=[this._autoFillControl,this._leftBorder,this._rightBorder,this._topBorder,this._bottomBorder,this._backgroundControlTop,this._backgroundControlMiddleLeft,this._backgroundControlMiddleRight,this._backgroundControlBottom,this._dashedRect];this._widgetRects=this._initialWidget(),this._selectionShapeGroup=new Yn(Wl.Selection+e,...t,...this._widgetRects),this._selectionShapeGroup.hide(),this._selectionShapeGroup.evented=!1,this._selectionShapeGroup.zIndex=e;let n=this.getScene();n.addObject(this._selectionShapeGroup,1),this.disposeWithMe(Vt(n.onTransformChange$.subscribeEvent(e=>{e.type===dr.scale&&(this._updateLayoutOfSelectionControl(this._currentStyle),this._updateControlCoord())})))}_initialHeader(){let e=this._zIndex;this._rowHeaderBackground=new er(Wl.rowHeaderBackground+e,{zIndex:e-1,evented:!1}),this._rowHeaderBorder=new er(Wl.rowHeaderBorder+e,{zIndex:e-1,evented:!1}),this._rowHeaderGroup=new Yn(Wl.rowHeaderGroup+e,this._rowHeaderBackground,this._rowHeaderBorder),this._rowHeaderGroup.hide(),this._rowHeaderGroup.evented=!1,this._rowHeaderGroup.zIndex=e,this._columnHeaderBackground=new er(Wl.columnHeaderBackground+e,{zIndex:e-1,evented:!1}),this._columnHeaderBorder=new er(Wl.columnHeaderBorder+e,{zIndex:e-1,evented:!1}),this._columnHeaderGroup=new Yn(Wl.columnHeaderGroup+e,this._columnHeaderBackground,this._columnHeaderBorder),this._columnHeaderGroup.hide(),this._columnHeaderGroup.evented=!1,this._columnHeaderGroup.zIndex=e,this.getScene().addObjects([this._rowHeaderGroup,this._columnHeaderGroup],11)}_initialWidget(){let e=this._zIndex;return this._topLeftWidget=new er(Wl.topLeftWidget+e,{zIndex:e+1}),this._topCenterWidget=new er(Wl.topCenterWidget+e,{zIndex:e+1}),this._topRightWidget=new er(Wl.topRightWidget+e,{zIndex:e+1}),this._middleLeftWidget=new er(Wl.middleLeftWidget+e,{zIndex:e+1}),this._middleRightWidget=new er(Wl.middleRightWidget+e,{zIndex:e+1}),this._bottomLeftWidget=new er(Wl.bottomLeftWidget+e,{zIndex:e+1}),this._bottomCenterWidget=new er(Wl.bottomCenterWidget+e,{zIndex:e+1}),this._bottomRightWidget=new er(Wl.bottomRightWidget+e,{zIndex:e+1}),[this._topLeftWidget,this._topCenterWidget,this._topRightWidget,this._middleLeftWidget,this._middleRightWidget,this._bottomLeftWidget,this._bottomCenterWidget,this._bottomRightWidget]}get zIndex(){return this._zIndex}get leftControl(){return this._leftBorder}get rightControl(){return this._rightBorder}get topControl(){return this._topBorder}get bottomControl(){return this._bottomBorder}get fillControl(){return this._autoFillControl}get backgroundControlTop(){return this._backgroundControlTop}get backgroundControlBottom(){return this._backgroundControlBottom}get backgroundControlMiddleLeft(){return this._backgroundControlMiddleLeft}get backgroundControlMiddleRight(){return this._backgroundControlMiddleRight}get selectionShape(){return this._selectionShapeGroup}get columnHeaderGroup(){return this._columnHeaderGroup}get rowHeaderGroup(){return this._rowHeaderGroup}get selectionShapeGroup(){return this._selectionShapeGroup}get model(){return this._selectionRenderModel}get topLeftWidget(){return this._topLeftWidget}get topCenterWidget(){return this._topCenterWidget}get topRightWidget(){return this._topRightWidget}get middleLeftWidget(){return this._middleLeftWidget}get middleRightWidget(){return this._middleRightWidget}get bottomLeftWidget(){return this._bottomLeftWidget}get bottomCenterWidget(){return this._bottomCenterWidget}get bottomRightWidget(){return this._bottomRightWidget}get themeService(){return this._themeService}get selectionModel(){return this._selectionRenderModel}set selectionModel(e){this._selectionRenderModel=e}get currentStyle(){return this._currentStyle}set currentStyle(e){this._currentStyle=e}get dashedRect(){return this._dashedRect}get isHelperSelection(){return this._isHelperSelection}get rowHeaderWidth(){return this._rowHeaderWidth}set rowHeaderWidth(e){this._rowHeaderWidth=e}get columnHeaderHeight(){return this._columnHeaderHeight}set columnHeaderHeight(e){this._columnHeaderHeight=e}setControlExtension(e){this._controlExtension=new Ul(this,e)}setControlExtensionDisable(e){this._controlExtension&&this._controlExtension.setDisabled(e)}setEvent(e){this.leftControl.evented=e,this.rightControl.evented=e,this.topControl.evented=e,this.bottomControl.evented=e}refreshSelectionFilled(e){this._selectionFilled$.next(e)}_updateLayoutOfSelectionControl(e){e&&(this.currentStyle=Object.assign({},this._defaultStyle,e));let t=this.currentStyle,{stroke:n,widgets:r,autofillStroke:i,strokeDash:a,isAnimationDash:o}=t,s=t.autofillSize,c=t.strokeWidth,l=t.autofillStrokeWidth,u=this._getScale(),d=(c+ea)/2/u;c/=u,s/=u,l/=u<1?1:u;let f=ea/u,p=Jn/u,{startX:m,startY:h,endX:g,endY:_}=this._selectionRenderModel;if(this.leftControl.transformByState({height:_-h,left:-d+p,width:c,strokeWidth:f,top:-f/2+p}),this.leftControl.setProps({fill:n,stroke:$i}),this.rightControl.transformByState({height:_-h,left:g-m-d+p,width:c,strokeWidth:f,top:-f/2+p}),this.rightControl.setProps({fill:n,stroke:$i}),this.topControl.transformByState({width:g-m+c,top:-d+p,left:-d+p,height:c,strokeWidth:f}),this.topControl.setProps({fill:n,stroke:$i}),this.bottomControl.transformByState({width:g-m+c,top:_-h-d+p,height:c,left:-d+p,strokeWidth:f}),this.bottomControl.setProps({fill:n,stroke:$i}),a==null)this.dashedRect.hide(),this._stopAntLineAnimation();else{let e=t.strokeWidth*2/u;this.dashedRect.transformByState({height:_-h,width:g-m,strokeWidth:e,left:-e/2+p,top:-e/2+p}),this.dashedRect.setProps({strokeDashArray:[0,a/u]}),this._stopAntLineAnimation(),o!==!1&&this._startAntLineAnimation(),this.dashedRect.show()}if(this._showAutoFill=this._showAutoFill&&this._enableAutoFill,this._showAutoFill&&!this._hasWidgets(r)){let e={fill:n,stroke:i,strokeScaleEnabled:!1},t={width:s-l,height:s-l,left:g-m-s/2+l/2-p,top:_-h-s/2+l/2-p,strokeWidth:l};this._autoFillControl.setProps(e),this._autoFillControl.transformByState(t),this._autoFillControl.show()}else this._autoFillControl.hide();this._updateBackgroundControl(t),this._updateHeaderBackground(t),this._updateWidgets(t)}_updateControlCoord(){let{startX:e,startY:t}=this._selectionRenderModel;this.selectionShapeGroup.show(),this.selectionShapeGroup.translate(e,t),this.selectionShapeGroup.makeDirtyNoDebounce(!0)}updateStyle(e){this._updateLayoutOfSelectionControl(e),this._updateControlCoord()}updateRange(e,t){this._selectionRenderModel.setValue(e,t),this._showAutoFill=t!==null,this._updateLayoutOfSelectionControl(),this._updateControlCoord()}updateRangeBySelectionWithCoord(e,t){t&&(this._rowHeaderWidth=t.rowHeaderWidth,this._columnHeaderHeight=t.columnHeaderHeight),this._selectionRenderModel.setValue(e.rangeWithCoord,e.primaryWithCoord),this._showAutoFill=e.primaryWithCoord!==null,this._updateLayoutOfSelectionControl(e.style),this._updateControlCoord()}update(e,t=0,n=0,r,i){this._rowHeaderWidth=t,this._columnHeaderHeight=n,this.updateRangeBySelectionWithCoord({rangeWithCoord:e,primaryWithCoord:i,style:r}),r&&this.updateStyle(r)}updateCurrCell(e){this._showAutoFill=e!==null,this._selectionRenderModel.setCurrentCell(e)}clearHighlight(){this._showAutoFill=!1,this._selectionRenderModel.clearCurrentCell(),this._updateLayoutOfSelectionControl(this._currentStyle)}getScene(){return this._scene}dispose(){var e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w;(e=this._leftBorder)==null||e.dispose(),(t=this._rightBorder)==null||t.dispose(),(n=this._topBorder)==null||n.dispose(),(r=this._bottomBorder)==null||r.dispose(),(i=this._backgroundControlTop)==null||i.dispose(),(a=this._backgroundControlMiddleLeft)==null||a.dispose(),(o=this._backgroundControlMiddleRight)==null||o.dispose(),(s=this._backgroundControlBottom)==null||s.dispose(),this._autoFillControl.dispose(),(c=this._selectionShapeGroup)==null||c.dispose(),(l=this._rowHeaderBackground)==null||l.dispose(),(u=this._rowHeaderBorder)==null||u.dispose(),(d=this._rowHeaderGroup)==null||d.dispose(),(f=this._rowHeaderBackground)==null||f.dispose(),(p=this._columnHeaderBackground)==null||p.dispose(),(m=this._columnHeaderBorder)==null||m.dispose(),(h=this._columnHeaderGroup)==null||h.dispose(),(g=this._topLeftWidget)==null||g.dispose(),(_=this._topCenterWidget)==null||_.dispose(),(v=this._topRightWidget)==null||v.dispose(),(y=this._middleLeftWidget)==null||y.dispose(),(b=this._middleRightWidget)==null||b.dispose(),(x=this._bottomLeftWidget)==null||x.dispose(),(S=this._bottomCenterWidget)==null||S.dispose(),(C=this._bottomRightWidget)==null||C.dispose(),(w=this._controlExtension)==null||w.dispose(),super.dispose(),this._dispose$.next(this),this._dispose$.complete()}getCurrentCellInfo(){let e=this.model.currentCell;if(e){let t;if(e.isMerged){let n=e.mergeInfo;t={startRow:n.startRow,endRow:n.endRow,startColumn:n.startColumn,endColumn:n.endColumn,startX:n.startX,endX:n.endX,startY:n.startY,endY:n.endY}}else{let{actualRow:n,actualColumn:r,startX:i,endX:a,startY:o,endY:s}=e;t={startRow:n,endRow:n,startColumn:r,endColumn:r,startX:i,endX:a,startY:o,endY:s}}return t}}getValue(){return{...this._selectionRenderModel.getValue(),style:this._currentStyle}}getRange(){return this._selectionRenderModel.getValue().rangeWithCoord}enableHelperSelection(){this._isHelperSelection=!0}disableHelperSelection(){this._isHelperSelection=!1}_updateHeaderBackground(e){let{startX:t,startY:n,endX:r,endY:i,rangeType:a}=this._selectionRenderModel,o=this._currentStyle,s=this._getScale(),{stroke:c,rowHeaderFill:l=o.rowHeaderFill,rowHeaderStroke:u=o.rowHeaderStroke,columnHeaderFill:d=o.columnHeaderFill,columnHeaderStroke:f=o.columnHeaderStroke}=e,{rowHeaderStrokeWidth:p=o.rowHeaderStrokeWidth,columnHeaderStrokeWidth:m=o.columnHeaderStrokeWidth}=e;p/=s,m/=s;let h=this._rowHeaderWidth,g=this._columnHeaderHeight;if(this._highlightHeader&&g>0){let e=d;a===I.COLUMN&&(e=new ae(c).setAlpha(Gl).toString()),this._columnHeaderBackground.setProps({fill:e}),this._columnHeaderBackground.resize(r-t,g),this._columnHeaderBorder.setProps({fill:f}),this._columnHeaderBorder.transformByState({width:r-t,height:m,top:g-m+1/s}),this._columnHeaderGroup.show(),this._columnHeaderGroup.translate(t,0)}else this._columnHeaderGroup.hide();if(this._columnHeaderGroup.makeDirty(!0),this._highlightHeader&&h>0){let e=l;a===I.ROW&&(e=new ae(c).setAlpha(Gl).toString()),this._rowHeaderBackground.setProps({fill:e}),this._rowHeaderBackground.resize(h,i-n),this._rowHeaderBorder.setProps({fill:u}),this._rowHeaderBorder.transformByState({width:p,height:i-n,left:h-p+1/s}),this._rowHeaderGroup.show(),this._rowHeaderGroup.translate(0,n)}else this._rowHeaderGroup.hide();this._rowHeaderGroup.makeDirty(!0)}_updateBackgroundControl(e){let{startX:t,startY:n,endX:r,endY:i}=this._selectionRenderModel,a=this._getScale(),{fill:o=e.fill}=e,{strokeWidth:s}=e;s/=a;let c=this._selectionRenderModel.highlightToSelection();if(!c){this._backgroundControlTop.resize(r-t,i-n),this._backgroundControlTop.setProps({fill:o}),this._backgroundControlBottom.resize(0,0),this._backgroundControlMiddleLeft.resize(0,0),this._backgroundControlMiddleRight.resize(0,0);return}let{startX:l,startY:u,endX:d,endY:f}=c,p=s/2,m={left:-p,top:-p,width:r-t+p*2,height:u-n+p};m.height<0&&(m.width=0,m.height=0),this._backgroundControlTop.transformByState(m);let h={left:-p,top:u-n,width:l-t+p,height:f-u};h.width<0&&(h.width=0,h.height=0),this._backgroundControlMiddleLeft.transformByState(h);let g={left:d-t-p,top:u-n,width:r-d+p*2,height:f-u};g.width<0&&(g.width=0,g.height=0),this._backgroundControlMiddleRight.transformByState(g);let _={left:-p,top:f-n,width:r-t+p*2,height:i-f+p};_.height<0&&(_.width=0,_.height=0),this._backgroundControlBottom.transformByState(_),this._backgroundControlTop.setProps({fill:o}),this._backgroundControlMiddleLeft.setProps({fill:o}),this._backgroundControlMiddleRight.setProps({fill:o}),this._backgroundControlBottom.setProps({fill:o})}_updateWidgets(e){let{startX:t,startY:n,endX:r,endY:i}=this._selectionRenderModel,{stroke:a=e.stroke,widgets:o=e.widgets,widgetStroke:s=e.widgetStroke}=e,c=this._getScale(),{widgetSize:l,widgetStrokeWidth:u}=e;l/=c,u/=c;let d={left:-l/2+u/2,center:(r-t)/2-l/2+u/2,right:r-t-l/2+u/2,top:-l/2,middle:(i-n)/2-l/2,bottom:i-n-l/2+u/2},f=l-u;this._widgetRects.forEach(e=>{e.setProps({fill:a,stroke:s})}),o.tl===!0?(this._topLeftWidget.transformByState({height:f,width:f,left:d.left,top:d.top,strokeWidth:u}),this._topLeftWidget.show()):this._topLeftWidget.hide(),o.tc===!0?(this._topCenterWidget.transformByState({height:f,width:f,left:d.center,top:d.top,strokeWidth:u}),this._topCenterWidget.show()):this._topCenterWidget.hide(),o.tr===!0?(this._topRightWidget.transformByState({height:f,width:f,left:d.right,top:d.top,strokeWidth:u}),this._topRightWidget.show()):this._topRightWidget.hide(),o.ml===!0?(this._middleLeftWidget.transformByState({height:f,width:f,left:d.left,top:d.middle,strokeWidth:u}),this._middleLeftWidget.show()):this._middleLeftWidget.hide(),o.mr===!0?(this._middleRightWidget.transformByState({height:f,width:f,left:d.right,top:d.middle,strokeWidth:u}),this._middleRightWidget.show()):this._middleRightWidget.hide(),o.bl===!0?(this._bottomLeftWidget.transformByState({height:f,width:f,left:d.left,top:d.bottom,strokeWidth:u}),this._bottomLeftWidget.show()):this._bottomLeftWidget.hide(),o.bc===!0?(this._bottomCenterWidget.transformByState({height:f,width:f,left:d.center,top:d.bottom,strokeWidth:u}),this._bottomCenterWidget.show()):this._bottomCenterWidget.hide(),o.br===!0?(this._bottomRightWidget.transformByState({height:f,width:f,left:d.right,top:d.bottom,strokeWidth:u}),this._bottomRightWidget.show()):this._bottomRightWidget.hide()}_hasWidgets(e){if(e==null)return!1;let t=Object.keys(e);if(t.length===0)return!1;for(let n of t)if(e[n]===!0)return!0;return!1}_getScale(){let{scaleX:e,scaleY:t}=this._scene.getAncestorScale();return Math.max(e,t)}_stopAntLineAnimation(){this._antLineOffset=0,mr(this._antRequestNewFrame)}_startAntLineAnimation(){let e=this._getScale();this._antLineOffset+=.6/e,this._antLineOffset>160/e&&(this._antLineOffset=0),this.dashedRect.setProps({strokeDashOffset:-this._antLineOffset}),this._antRequestNewFrame=Sr(()=>{this._startAntLineAnimation()})}};const ql=Cl.MARK_SELECTION,Jl=pt(`univer.mark-selection-service`);let Yl=class extends M{constructor(e,t,n,r){super(),this._currentService=e,this._sheetSkeletonService=t,this._renderManagerService=n,this._themeService=r,X(this,`_shapeMap`,new Map)}addShape(e,t=[],n=ql){var r;let i=this._currentService.getCurrentUnitForType(L.UNIVER_SHEET),a=(r=i.getActiveSheet())==null?void 0:r.getSheetId();if(!a)return null;let o=yt(),s={selection:e,subUnitId:a,unitId:i.getUnitId(),zIndex:n,control:null,exits:t};return this._shapeMap.set(o,s),this.refreshShapes(),o}addShapeWithNoFresh(e,t=[],n=ql){var r;let i=this._currentService.getCurrentUnitForType(L.UNIVER_SHEET),a=(r=i.getActiveSheet())==null?void 0:r.getSheetId();if(!a)return null;let o=yt();return this._shapeMap.set(o,{selection:e,subUnitId:a,unitId:i.getUnitId(),zIndex:n,control:null,exits:t}),o}refreshShapes(){var e;let t=this._currentService.getCurrentUnitForType(L.UNIVER_SHEET);if(!t)return;let n=t.getUnitId(),r=(e=t.getActiveSheet())==null?void 0:e.getSheetId();this._shapeMap.forEach(e=>{let{unitId:t,subUnitId:i,selection:a,control:o,zIndex:s}=e;if(o==null||o.dispose(),t!==n||i!==r)return;let c=this._renderManagerService.getRenderById(t);if(!c)return;let l=this._sheetSkeletonService.getSkeleton(t,i);if(!l)return;let{scene:u}=c,{rowHeaderWidth:d,columnHeaderHeight:f}=l,p=new Kl(u,s,this._themeService,{enableAutoFill:!1,highlightHeader:!1,rowHeaderWidth:d,columnHeaderHeight:f}),m=Zo(a,l);p.updateRangeBySelectionWithCoord(m),e.control=p})}getShapeMap(){return this._shapeMap}removeShape(e){let t=this._shapeMap.get(e);if(!t)return;let{control:n}=t;n==null||n.dispose(),this._shapeMap.delete(e)}removeAllShapes(){for(let e of this._shapeMap.values()){let{control:t}=e;t==null||t.dispose()}this._shapeMap.clear()}};Yl=Q([Z(0,P),Z(1,F(po)),Z(2,Xn),Z(3,F(et))],Yl);function Xl(e){return{strokeWidth:1.5,stroke:e.getColorFromTheme(`primary.600`),fill:`rgba(178, 178, 178, 0.10)`,widgets:{},strokeDash:8}}function Zl(e){if(e==null)return e;let t={};return e.p!==void 0&&(t.p=e.p===null?null:ut(e.p)),e.s!==void 0&&(e.s===null||typeof e.s==`string`?t.s=e.s:t.s=ut(e.s)),e.v!==void 0&&(t.v=e.v),e.t!==void 0&&(t.t=e.t),e.f!==void 0&&(t.f=e.f),e.ref!==void 0&&(t.ref=e.ref),e.xf!==void 0&&(t.xf=e.xf),e.si!==void 0&&(t.si=e.si),e.custom!==void 0&&(t.custom=e.custom===null?null:ut(e.custom)),e.rowSpan!==void 0&&(t.rowSpan=e.rowSpan),e.colSpan!==void 0&&(t.colSpan=e.colSpan),e.plain!==void 0&&(t.plain=e.plain),t}function Ql(){return yt(6)}function $l(e){let t=e.match(/data-copy-id="([^\s]+)"/);return t&&t[1]?t[1]:null}var eu=class{constructor(){X(this,`_cache`,new He(10)),X(this,`_lastCopyId$`,new hs(null)),X(this,`lastCopyId$`,this._lastCopyId$.asObservable())}set(e,t){this._cache.set(e,t),this._lastCopyId$.next(e)}get(e){return this._cache.get(e)}del(e){this._cache.delete(e),this._lastCopyId$.getValue()===e&&this._lastCopyId$.next(null)}clear(){this._cache.clear(),this._lastCopyId$.next(null)}clearWithUnitId(e){this._cache.forEach((t,n)=>{t.unitId===e&&this._cache.delete(n)})}getLastCopyId(){return this._lastCopyId$.getValue()}};new eu;function tu(e,t){let n=t==null?e.style:t,r={},i=e.tagName.toLowerCase();switch(i){case`b`:case`em`:case`strong`:r.bl=ne.TRUE;break;case`s`:r.st={s:ne.TRUE};break;case`u`:r.ul={s:ne.TRUE};break;case`i`:r.it=ne.TRUE;break;case`sub`:case`sup`:r.va=i===`sup`?te.SUPERSCRIPT:te.SUBSCRIPT;break}return nu(n,r),r}function nu(e,t){if(e instanceof CSSStyleDeclaration)for(let n=0;n<e.length;n++){let r=e[n];ru(r,e.getPropertyValue(r),t)}else for(let n in e){let r=e[n];ru(n,r,t)}}function ru(e,t,n){switch(e){case`font-family`:n.ff=t;break;case`font-size`:{let e=Number.parseInt(t);Number.isNaN(e)||(t.endsWith(`pt`)?n.fs=e:t.endsWith(`px`)&&(n.fs=e*.75));break}case`font-style`:t===`italic`&&(n.it=ne.TRUE);break;case`font-weight`:(Number(t)>400||t===`bold`)&&(n.bl=ne.TRUE);break;case`text-decoration`:/underline/.test(t)?n.ul={s:ne.TRUE}:/overline/.test(t)?n.ol={s:ne.TRUE}:/line-through/.test(t)&&(n.st={s:ne.TRUE});break;case`color`:try{let e=new ae(t);e.isValid&&(n.cl={rgb:e.toRgbString()})}catch{}break;case`background-color`:{let e=new ae(t);e.isValid&&(n.bg={rgb:e.toRgbString()});break}default:break}}function iu(e){if(e.nodeType===Node.TEXT_NODE){e.textContent=(e.textContent||``).replace(/\r?\n[\t ]*/g,` `);return}e.childNodes.forEach(iu)}function au(e){let t=document.implementation.createHTMLDocument(``),n=t.createRange();n.selectNodeContents(t.body);let r=n.createContextualFragment(e);return Ln(r,{strippedSelector:`script, iframe, object, embed`}),iu(r),t.body.append(r),t.body}function ou(e){let t=e.style,n={};for(let e=0;e<t.length;e++){let r=t[e],i=t.getPropertyValue(r);switch(r){case`margin-top`:{let e=Number.parseInt(i);n.spaceAbove={v:/pt/.test(i)?xr(e):e};break}case`margin-bottom`:{let e=Number.parseInt(i);n.spaceBelow={v:/pt/.test(i)?xr(e):e};break}case`line-height`:n.lineSpacing=Number.parseFloat(i);break;default:break}}return Object.getOwnPropertyNames(n).length?n:null}function su(e,t){let n=[];for(let t=0,r=e.length;t<r;t++)e[t]===me.PARAGRAPH&&n.push({startIndex:t});if(t)for(let e of n)t.bullet&&(e.bullet=tt.deepClone(t.bullet)),t.paragraphStyle&&(e.paragraphStyle=tt.deepClone(t.paragraphStyle));return n}function cu(e,t,n){var r;let i=t.length,a=((r=n==null?void 0:n.length)==null?0:r)===1&&n[0].st===0&&n[0].ed===i;if(e.p){var o;return a&&!((o=e.p.body)==null||(o=o.textRuns)==null)&&o.length?(e.p.body.textRuns=[],{...e,s:n[0].ts}):e}else if(a)return{...e,s:n[0].ts};else return e;return e}const lu=[`color`,`background`,`font-size`,`text-align`,`vertical-align`,`font-weight`,`font-style`,`font-family`,`text-decoration`,`white-space`,`word-wrap`,`border-left`,`border-right`,`border-top`,`border-bottom`,`--data-rotate`];function uu(e,t){let n=e.tagName.toLowerCase();return typeof t==`string`?n===t:Array.isArray(t)?t.some(e=>e===n):t(e)}var du=class e{static use(e){if(this._pluginList.includes(e))throw Error(`Univer paste plugin ${e.name} already added`);this._pluginList.push(e)}constructor(e){X(this,`_styleMap`,new Map),X(this,`_styleCache`,new Map),X(this,`_styleRules`,[]),X(this,`_afterProcessRules`,[]),X(this,`_dom`,null),X(this,`_getCurrentSkeleton`,void 0),this._getCurrentSkeleton=e.getCurrentSkeleton}convert(t){let n=e._pluginList.find(e=>e.checkPasteType(t));n&&(this._styleRules=[...n.stylesRules],this._afterProcessRules=[...n.afterProcessRules]);let r=new Ke;this._dom=au(t);let i=this._dom.querySelector(`style`);if(i){let e=document.createElement(`div`),t=e.attachShadow({mode:`open`});document.body.appendChild(e),t.appendChild(i);for(let e of i.sheet.cssRules){let t=e,n=t.selectorText,r=t.style;this._styleMap.set(n,r)}i.remove(),e.remove()}let a={dataStream:``,textRuns:[]},o=[],s=[],c=t.match(/<table\b[^>]*>([\s\S]*?)<\/table>/gi);this.process(null,this._dom.childNodes,a,[]);let{paragraphs:l,dataStream:u,textRuns:d,payloads:f,customRanges:p}=a;if(l){let e=l.map(e=>e.startIndex+1);e.unshift(0);for(let t=0;t<e.length;t++){let n;if(t===e.length-1){if(n=`${u.substring(e[t])}\r\n`,n===`\r
|
|
2
2
|
`)continue}else n=`${u.substring(e[t],e[t+1]-1)}\r\n`;let i=[];d==null||d.forEach(n=>{n.st>=e[t]&&n.ed<=e[t+1]&&i.push({st:n.st-e[t],ed:n.ed-e[t],ts:n.ts})});let a=[];p==null||p.forEach(n=>{n.startIndex>=e[t]&&n.endIndex<=e[t+1]&&a.push({...n,startIndex:n.startIndex-e[t],endIndex:n.endIndex-e[t]})});let s=this._generateDocumentDataModelSnapshot({body:{dataStream:n,textRuns:i,paragraphs:su(n),customRanges:a}}),c=Object.keys(r.getMatrix()).length===0;r.setValue(c?0:r.getLength(),0,{v:n,p:s}),o.push({})}}else if(u){let e=`${u}\r\n`,t={dataStream:e,textRuns:d,paragraphs:su(e),payloads:f,customRanges:p};if(!(p!=null&&p.length))r.setValue(0,0,cu({v:u},u,d));else{let e=this._generateDocumentDataModelSnapshot({body:t});r.setValue(0,0,cu({v:u,p:e},u,d))}o.push({})}return c&&c.forEach((e,t)=>{let n=r.getDataRange().endRow+1,{cellMatrix:i,rowProperties:a,colProperties:c}=this._parseTable(e,t);i&&i.forValue((e,t,i)=>{r.setValue(n+e,t,i)}),c&&s.push(...c),o.push(...a)}),this.dispose(),{rowProperties:o,colProperties:s,cellMatrix:r}}_getStyleBySelectorText(e,t){var n;return((n=this._styleMap.get(e))==null?void 0:n.getPropertyValue(t))||``}_getStyle(e,t){let n=pu(t),r=e.style,i=``;for(let t=0;t<lu.length;t++){let a=lu[t];if(a===`background`){let t=``;e.classList.forEach(e=>{t=this._getStyleBySelectorText(`.${e}`,`background-color`)||this._getStyleBySelectorText(`.${e}`,a)});let o=r.getPropertyValue(`background-color`)||t||this._getStyleBySelectorText(`#${e.id}`,`background-color`)||this._getStyleBySelectorText(`#${e.id}`,a)||this._getStyleBySelectorText(e.nodeName.toLowerCase(),a)||this._getStyleBySelectorText(e.nodeName,`background-color`)||n[`background-color`]||``;o&&(i+=`background:${o};`);continue}if(a===`text-decoration`){let t=``;e.classList.forEach(e=>{t=this._getStyleBySelectorText(`.${e}`,`text-decoration-line`)||this._getStyleBySelectorText(`.${e}`,a)});let o=r.getPropertyValue(`text-decoration-line`)||r.getPropertyValue(`text-decoration`)||t||this._getStyleBySelectorText(`#${e.id}`,`text-decoration-line`)||this._getStyleBySelectorText(`#${e.id}`,a)||this._getStyleBySelectorText(e.nodeName.toLowerCase(),a)||this._getStyleBySelectorText(e.nodeName,`text-decoration-line`)||n[`text-decoration-line`]||``;o&&(i+=`text-decoration:${o};`);continue}let o=``;e.classList.forEach(e=>{o=this._getStyleBySelectorText(`.${e}`,a)}),o=r.getPropertyValue(a)||this._getStyleBySelectorText(`#${e.id}`,a)||o||this._getStyleBySelectorText(e.nodeName.toLowerCase(),a)||n[a]||``,o&&(i+=`${a}:${o};`)}return i}_parseTable(e,t){var n,r;let i=new Ke,a=(n=hu(e))==null?[]:n,{rowProperties:o=[]}=fu(e),s=this._parseTableByHtml(this._dom,t,(r=this._getCurrentSkeleton())==null?void 0:r.skeleton);return s&&s.forValue((e,t,n)=>{var r,a;let o=Fn(void 0,n.style);if(!(n==null||(r=n.richTextParma)==null||(r=r.p)==null||(r=r.body)==null||(r=r.textRuns)==null)&&r.length){var s,c,l;let e=n==null||(s=n.richTextParma)==null||(s=s.v)==null?void 0:s.length;for(let t=0;t<(n==null||(c=n.richTextParma)==null||(c=c.p)==null||(c=c.body)==null||(c=c.textRuns)==null?void 0:c.length);t++){var u;let r=n==null||(u=n.richTextParma)==null||(u=u.p)==null||(u=u.body)==null?void 0:u.textRuns[t];if(r.st===0&&r.ed===e){var d;o={...r.ts,...o},n==null||(d=n.richTextParma)==null||(d=d.p)==null||(d=d.body)==null||d.textRuns.splice(t,1),t--}}if((n==null||(l=n.richTextParma)==null||(l=l.p)==null||(l=l.body)==null||(l=l.textRuns)==null?void 0:l.length)===0){var f;n.content=n==null||(f=n.richTextParma)==null?void 0:f.v,delete n.richTextParma}}let p=!(n==null||(a=n.richTextParma)==null||(a=a.p)==null||(a=a.body)==null)&&a.textRuns?{v:n.richTextParma.v,p:n.richTextParma.p,s:o,rowSpan:n.rowSpan,colSpan:n.colSpan}:{v:n.content,s:o,rowSpan:n.rowSpan,colSpan:n.colSpan};i.setValue(e,t,p)}),{rowProperties:o,colProperties:a,cellMatrix:i}}_parseTableByHtml(e,t,n){let r=new Ke,i=e.querySelectorAll(`table`)[t];if(!i)return r;let a=this._getStyle(i,``),o=i==null?void 0:i.querySelectorAll(`tr`);for(let e=0;e<o.length;e++){let t=o[e],i=this._getStyle(t,a),l=t.querySelectorAll(`td, th`),u=0;for(let t=0;t<l.length;){let a=l[t],o=``,d=Number(a.getAttribute(`rowSpan`))||1,f=Number(a.getAttribute(`colSpan`))||1;if(o=this._getStyle(a,i),e>0){var s;let t=r.getValue(e-1,u);if(!(t==null||(s=t.style)==null)&&s.includes(`border-bottom`)&&o.includes(`border-top`)){let e=_u(t.style,`border-bottom`);e&&Rn(e.substr(e.indexOf(`:`)+1))!==`none`&&(o=o.replace(/border-top:[^;]+;/,``))}}if(t>0){var c;let t=r.getValue(e,u-1);if(!(t==null||(c=t.style)==null)&&c.includes(`border-right`)&&o.includes(`border-left`)){let e=_u(t.style,`border-right`);e&&Rn(e.substr(e.indexOf(`:`)+1))!==`none`&&(o=o.replace(/border-left:[^;]+;/,``))}}let{cellText:p,cellRichStyle:m}=this._getCellTextAndRichText(a,o,n),h={rowSpan:d,colSpan:f,content:p,style:o,richTextParma:{p:m,v:p}};if(r.getValue(e,u)){u+=1;continue}else d>1||f>1?vu(r,o,h,{colSpan:f,rowSpan:d,rowIndex:e,colIndex:t,colSetValueIndex:u}):r.setValue(e,u,h),u+=f,t++}}return r}_parseCellHtml(e,t,n,r=new Map,i){for(let o of t)if(o.nodeType===Node.TEXT_NODE){var a;let t=(a=o.nodeValue)==null?void 0:a.replace(/[\r\n]/g,``),i;e&&r.has(e)&&(i=r.get(e)),n.dataStream+=t,i&&Object.getOwnPropertyNames(i).length&&n.textRuns.push({st:n.dataStream.length-t.length,ed:n.dataStream.length,ts:i})}else if(o.nodeType===Node.COMMENT_NODE||o.nodeName===`STYLE`)continue;else if(o.nodeName.toLowerCase()===`br`)n.paragraphs||(n.paragraphs=[]),n.paragraphs.push({startIndex:n.dataStream.length}),n.dataStream+=`\r`;else if(o.nodeType===Node.ELEMENT_NODE){let t=this._getStyle(o,i),a=e?r.get(e):{},s=tu(o,pu(t));r.set(o,{...a,...s});let{childNodes:c}=o;this._parseCellHtml(o,c,n,r,t)}}_getCellTextAndRichText(e,t,n){if(e.innerHTML.includes(`mso-spacerun:yes`)){let t=e.innerHTML.replace(/<span[^>]*mso-spacerun:yes[^>]*>[\s\S]*?<\/span>/gi,``).replace(/\s/g,``),n=St(t);if(n&&n.z&&Dt(n.v))return{cellText:t,cellRichStyle:void 0}}let r=``,i;if(/<[^>]+>/.test(e.innerHTML)&&n){var a;let o={dataStream:``,textRuns:[]};this._parseCellHtml(null,e.childNodes,o,void 0,t);let s=(a=n.getBlankCellDocumentModel())==null?void 0:a.documentModel,c=s==null?void 0:s.getSnapshot(),l=`${o.dataStream}\r\n`,u={...c,body:{dataStream:l,textRuns:o.textRuns,paragraphs:su(l)}};s==null||s.reset(u),i=s==null?void 0:s.getSnapshot(),r=o.dataStream}else r=gu(e.innerHTML.replace(/[\r\n]/g,``));return{cellText:r,cellRichStyle:i}}_generateDocumentDataModelSnapshot(e){var t;let n=this._getCurrentSkeleton();if(n==null)return null;let{skeleton:r}=n,i=(t=r.getBlankCellDocumentModel())==null?void 0:t.documentModel,a={...i==null?void 0:i.getSnapshot(),...e};return i==null||i.reset(a),i==null?void 0:i.getSnapshot()}process(e,t,n,r){for(let s of t)if(s.nodeName.toLowerCase()===`table`){var i;r.push({index:(n==null||(i=n.paragraphs)==null?void 0:i.length)||0})}else if(s.nodeType===Node.TEXT_NODE){var a,o;if(((a=s.nodeValue)==null?void 0:a.trim())===``)continue;let t=(o=s.nodeValue)==null?void 0:o.replace(/[\r\n]/g,``),r;e&&this._styleCache.has(e)&&(r=this._styleCache.get(e));let i={dataStream:``,textRuns:[]};n.dataStream+=t,i.dataStream+=t,r&&Object.getOwnPropertyNames(r).length&&(n.textRuns.push({st:n.dataStream.length-t.length,ed:n.dataStream.length,ts:r}),i.textRuns.push({st:n.dataStream.length-t.length,ed:n.dataStream.length,ts:r}))}else if(Lt.includes(s.nodeName.toLowerCase()))continue;else if(s.nodeName.toLowerCase()===`br`)n.paragraphs||(n.paragraphs=[]),n.paragraphs.push({startIndex:n.dataStream.length}),n.dataStream+=`\r`;else if(s.nodeType===Node.ELEMENT_NODE){if(s.nodeName===`STYLE`)continue;let t=s,i=this._processBeforeLink(t,{body:n}),a=e?this._styleCache.get(e):{},o=this._styleRules.find(({filter:e})=>uu(s,e)),c=o?o.getStyle(s):tu(s);this._styleCache.set(s,{...a,...c});let{childNodes:l}=s;this.process(s,l,n,r);let u=this._afterProcessRules.find(({filter:e})=>uu(s,e));u&&u.handler(n,s),this._processAfterLink(t,{body:n},i)}}_processBeforeLink(e,t){return t.body.dataStream.length}_processAfterLink(e,t,n){let r=t.body,i=e;if(i.tagName.toUpperCase()===`A`){var a,o;r.customRanges=(a=r.customRanges)==null?[]:a,r.customRanges.push({startIndex:n,endIndex:r.dataStream.length-1,rangeId:(o=i.dataset.rangeid)==null?yt():o,rangeType:oe.HYPERLINK,properties:{url:i.href}})}}dispose(){this._dom=null,this._styleCache.clear(),this._styleMap.clear()}};X(du,`_pluginList`,[]);function fu(e){let t=e.matchAll(/<tr([\s\S]*?)>([\s\S]*?)<\/tr>/gi);if(!t)return{rowProperties:[],rowCount:0};let n=Array.from(t).map(e=>mu(e[1])).map(e=>{if(!e.height){let t=e.style,n=t&&t.match(/height\s*:\s*(\d+(\.\d+)?)px/);e.height=`${n?Number.parseInt(n[1],10):de}`}return e});return{rowProperties:n,rowCount:n.length}}function pu(e){let t={};return e.split(`;`).forEach(e=>{let[n,r]=e.split(`:`);t[n]=r}),t}function mu(e){if(!e)return{};let t={},n=/([\w-]+)\s*=\s*(?:(['"])([^'"]*)\2|(\S+))/g,r;for(;(r=n.exec(e))!==null;){let[,e,,n,i]=r;t[e]=n===void 0?i:n}return t}function hu(e){let t=e.match(/<colgroup([\s\S]*?)>(.*?)<\/colgroup>/),n=/<col([\s\S]*?)>/g,r;if(r=t!=null&&t[2]?t[2].matchAll(n):e.matchAll(n),!r)return null;let i=Array.from(r).map(e=>mu(e[1])),a=[];return i.forEach(e=>{let t=Number(e.span);if(t)for(let n=0;n<t;n++){let t={...e};delete t.span,a.push(t)}else a.push(e)}),a}function gu(e){let t={"<":`<`,">":`>`,"&":`&`,""":`"`,"'":`'`," ":` `};return e.replace(/<|>|&|"|'| |<br>/g,e=>t[e])}function _u(e,t){if(!e||!t)return null;let n=RegExp(`(${t}\\s*:\\s*[^;]+);`,`i`),r=e.match(n);return r?r[1]:null}function vu(e,t,n,r){let{rowSpan:i,colSpan:a,rowIndex:o,colSetValueIndex:s}=r;for(let r=o;r<o+i;r++)for(let i=s;i<s+a;i++)r===o&&i===s?e.setValue(r,i,{...n,style:t}):e.setValue(r,i,{style:t})}const yu={name:`univer-doc-paste-plugin-lark`,checkPasteType(e){return/lark-record-clipboard/i.test(e)},stylesRules:[{filter:[`s`],getStyle(e){let t=tu(e);return{st:{s:ne.TRUE},...t}}}],afterProcessRules:[{filter(e){return e.tagName===`DIV`&&/ace-line/i.test(e.className)},handler(e){e.paragraphs==null&&(e.paragraphs=[]),e.paragraphs.push({startIndex:e.dataStream.length}),e.dataStream+=`\r`}}]},bu={name:`univer-doc-paste-plugin-univer`,checkPasteType(e){return/UniverNormal/i.test(e)},stylesRules:[],afterProcessRules:[{filter(e){return e.tagName===`P`&&/UniverNormal/i.test(e.className)},handler(e,t){e.paragraphs==null&&(e.paragraphs=[]);let n={startIndex:e.dataStream.length},r=ou(t);r&&(n.paragraphStyle=r),e.paragraphs.push(n),e.dataStream+=`\r`}}]},xu={name:`univer-doc-paste-plugin-word`,checkPasteType(e){return/word|mso/i.test(e)},stylesRules:[{filter:[`b`],getStyle(e){let t=tu(e);return{bl:ne.TRUE,...t}}}],afterProcessRules:[{filter(e){return e.tagName===`P`&&/mso/i.test(e.className)},handler(e,t){e.paragraphs==null&&(e.paragraphs=[]);let n={startIndex:e.dataStream.length},r=ou(t);r&&(n.paragraphStyle=r),e.paragraphs.push(n),e.dataStream+=`\r`}}]};let Su=function(e){return e.COPY=`COPY`,e.CUT=`CUT`,e}({});function Cu(e,t,n,r,i){return`<tr${Du(Eu(n.map(t=>{var n;return(n=t.onCopyRow)==null?void 0:n.call(t,e)}).filter(e=>!!e)))}>${t.map(t=>{if(!i.has(`${e}-${t}`)){let a=r.getValue(e,t);if(a!=null&&a.rowSpan&&a!=null&&a.colSpan)for(let n=e;n<e+a.rowSpan;n++)for(let e=t;e<t+a.colSpan;e++)i.add(`${n}-${e}`);return wu(e,t,n,r)}return null}).filter(e=>!!e).join(``)}</tr>`}function wu(e,t,n,r){let i=r.getValue(e,t);return`<td${Du(Eu(n.map(n=>{var r;return(r=n.onCopyCellStyle)==null?void 0:r.call(n,e,t,i==null?void 0:i.rowSpan,i==null?void 0:i.colSpan)}).filter(e=>!!e)))}>${n.reduce((n,r)=>{var i;return n||((i=r.onCopyCellContent)==null?void 0:i.call(r,e,t))||``},``)}</td>`}function Tu(e,t){return`<colgroup>${e.map(e=>`<col ${Du(Eu(t.map(t=>{var n;return(n=t.onCopyColumn)==null?void 0:n.call(t,e)}).filter(e=>!!e)))} />`).join(``)}</colgroup>`}function Eu(e){return e.reduce((e,t)=>(Object.keys(t).forEach(n=>{e[n]?e[n]+=`;${t[n]}`:e[n]=t[n]}),e),{})}function Du(e){return Object.keys(e).reduce((t,n)=>`${t} ${n}="${e[n]}"`,``)}var Ou=class{convert(e,t,n,r){let{cols:i,rows:a}=t;if(!i.length)return``;let o=Tu(i,n),s=[],c=new Set;return a.forEach(t=>{s.push(Cu(t,i,n,e,c))}),`<google-sheets-html-origin><table data-copy-id="${r}" xmlns="http://www.w3.org/1999/xhtml" cellspacing="0" cellpadding="0" dir="ltr" style="table-layout:fixed;font-size:10pt;font-family:Arial;width:0px;border-collapse:collapse;border:none">${o}
|
|
3
3
|
<tbody>${s.join(``)}</tbody></table>`}};const ku=(e,t,n=!1)=>{let r=e=>e.endRow-e.startRow+1,i=e=>e.endColumn-e.startColumn+1,a=r(t)%r(e),o=i(t)%i(e),s={startRow:0,endRow:r(e)-1,startColumn:0,endColumn:i(e)-1},c=Math.floor(r(t)/r(e)),l=Math.floor(i(t)/i(e)),u=[];if(!a&&!o)for(let n=1;n<=c;n++)for(let a=1;a<=l;a++){let o=r(e)*(n-1),c=i(e)*(a-1),l={startRow:o+t.startRow,endRow:o+t.startRow,startColumn:c+t.startColumn,endColumn:c+t.startColumn};u.push({repeatRelativeRange:s,startRange:l})}else if(!a&&o&&!n)for(let n=1;n<=c;n++){let i=r(e)*(n-1),a={startRow:i+t.startRow,endRow:i+t.startRow,startColumn:0+t.startColumn,endColumn:0+t.startColumn};u.push({repeatRelativeRange:s,startRange:a})}else if(a&&!o&&!n)for(let n=1;n<=l;n++){let r=i(e)*(n-1),a={startRow:0+t.startRow,endRow:0+t.startRow,startColumn:r+t.startColumn,endColumn:r+t.startColumn};u.push({repeatRelativeRange:s,startRange:a})}else{let e={startRow:t.startRow,endRow:t.startRow,startColumn:t.startColumn,endColumn:t.startColumn};u.push({startRange:e,repeatRelativeRange:s})}return u};function Au(e){return e?[/<td[^>]*class=".*?xl.*?"[^>]*>/i,/xmlns:x="urn:schemas-microsoft-com:office:excel"/i,/ProgId="Excel.Sheet"/i,/xmlns:o="urn:schemas-microsoft-com:office:office"/i,/@mso-|mso-excel/i,/<x:ExcelWorkbook>/i].some(t=>t.test(e)):!1}function ju(e){return e?(e.match(/<img[^>]*src\s*=\s*["']data:image\/[^;]+;base64,[^"']*["'][^>]*>/i)||[]).length>0:!1}function Mu(...e){if(e.length===1)return e[0];let t=new Ke;return e.forEach(e=>{e&&new Ke(e).forValue((e,n,r)=>{t.setValue(e,n,{...t.getValue(e,n),...r})})}),t.getMatrix()}function Nu(e,t){return e.id===t.id&&e.params.unitId===t.params.unitId&&e.params.subUnitId===t.params.subUnitId}function Pu(e){let t=[];for(let n=0;n<e.length;){let r=1;if(e[n].id===Sa.id){let i=e[n],a=[i];for(;n+r<e.length&&Nu(i,e[n+r]);)a.push(e[n+r]),r+=1;let o=Mu(...a.map(e=>e.params.cellValue||{}));t.push({...i,params:{...i.params,cellValue:o}})}else t.push(e[n]);n+=r}return t}function Fu(e,t={}){let{maxCellsPerChunk:n=2500,threshold:r=6e3,maxChunks:i=10}=t;if(e.id!==Sa.id)return[e];let{cellValue:a}=e.params;if(!a)return[e];let o=new Ke(a),s=0,c=1/0,l=-1/0,u=1/0,d=-1/0;if(o.forValue((e,t)=>{s++,c=Math.min(c,e),l=Math.max(l,e),u=Math.min(u,t),d=Math.max(d,t)}),c===1/0||s<=r)return[e];let f=[],p=d-u+1,m=Math.max(1,Math.floor(n/p)),h=l-c+1;Math.ceil(h/m)>i&&(m=Math.ceil(h/i));for(let t=c;t<=l;t+=m){let n=Math.min(t+m-1,l),r=new Ke,i=!1;for(let e=t;e<=n;e++)for(let t=u;t<=d;t++){let n=o.getValue(e,t);n!==void 0&&(r.setValue(e,t,n),i=!0)}i&&f.push({...e,params:{...e.params,cellValue:r.getMatrix(),__splitChunk__:!0}})}return f.length>0?f:[e]}function Iu(e,t){let{startRow:n,endRow:r,startColumn:i,endColumn:a}=e;for(let e=n;e<=r;e++)for(let n=i;n<=a;n++)if(t.rows.includes(e)&&t.cols.includes(n))return!0}function Lu(e,t){let{startRow:n,endRow:r,startColumn:i,endColumn:a}=t;for(let t=n;t<=r;t++)if(!e.rows.includes(t))return!1;for(let t=i;t<=a;t++)if(!e.cols.includes(t))return!1;return!0}function Ru(e){let t=e.trim().split(`
|
|
4
4
|
`),n=`<table>`;return t.forEach(e=>{let t=e.split(` `);n+=`<tr>`,t.forEach(e=>{n+=`<td>${e}</td>`}),n+=`</tr>`}),n+=`</table>`,n}const zu={DEFAULT_COPY:`default-copy`,SPECIAL_COPY_FORMULA_ONLY:`special-copy-formula-only`},Bu={DEFAULT_PASTE:`default-paste`,DEFAULT_PASTE_ROWS:`default-paste-rows`,DEFAULT_PASTE_COLUMNS:`default-paste-columns`,SPECIAL_PASTE_VALUE:`special-paste-value`,SPECIAL_PASTE_FORMAT:`special-paste-format`,SPECIAL_PASTE_COL_WIDTH:`special-paste-col-width`,SPECIAL_PASTE_BESIDES_BORDER:`special-paste-besides-border`,SPECIAL_PASTE_FORMULA:`special-paste-formula`},Vu={...zu,...Bu},Hu={[en]:`png`,[nn]:`jpg`,[rn]:`webp`,[tn]:`bmp`};du.use(xu),du.use(yu),du.use(bu);const Uu=pt(`sheet.clipboard-service`);let Wu=class extends M{constructor(e,t,n,r,i,a,o,s,c,l,u,d,f,p){super(),this._logService=e,this._univerInstanceService=t,this._selectionManagerService=n,this._clipboardInterfaceService=r,this._undoRedoService=i,this._commandService=a,this._markSelectionService=o,this._notificationService=s,this._platformService=c,this._renderManagerService=l,this._themeService=u,this._localeService=d,this._errorService=f,this._injector=p,X(this,`_clipboardHooks`,[]),X(this,`_clipboardHooks$`,new hs([])),X(this,`clipboardHooks$`,this._clipboardHooks$.asObservable()),X(this,`_htmlToUSM`,void 0),X(this,`_usmToHtml`,void 0),X(this,`_copyContentCache`,void 0),X(this,`_copyMarkId`,null),X(this,`_pasteOptionsCache$`,new hs(null)),X(this,`pasteOptionsCache$`,this._pasteOptionsCache$.asObservable()),X(this,`_showMenu$`,new hs(!1)),X(this,`showMenu$`,this._showMenu$.asObservable()),this._htmlToUSM=new du({getCurrentSkeleton:()=>{var e;return(e=Cr(L.UNIVER_SHEET,Vl,this._univerInstanceService,this._renderManagerService))==null?void 0:e.getCurrentParam()}}),this._usmToHtml=new Ou,this._copyContentCache=new eu,this.disposeWithMe(this._htmlToUSM),this._initUnitDisposed()}setShowMenu(e){this._showMenu$.next(e)}getPasteMenuVisible(){return this._showMenu$.getValue()}getPasteOptionsCache(){return this._pasteOptionsCache$.getValue()}copyContentCache(){return this._copyContentCache}generateCopyContent(e,t,n,r){let{copyType:i=Su.COPY,copyHookType:a=zu.DEFAULT_COPY}=r||{},o=this._clipboardHooks;a===zu.SPECIAL_COPY_FORMULA_ONLY&&(o=this._clipboardHooks.filter(e=>e.id===a)),o.forEach(r=>{var a;return(a=r.onBeforeCopy)==null?void 0:a.call(r,e,t,n,i)});let s=this._generateCopyContent(e,t,n,o,a);return o.forEach(e=>{var t;return(t=e.onAfterCopy)==null?void 0:t.call(e)}),s}async copy(e){let t=this._selectionManagerService.getCurrentLastSelection();if(!t)return!1;let n=this._univerInstanceService.getCurrentUnitForType(L.UNIVER_SHEET),r=n==null?void 0:n.getActiveSheet();if(!n||!r)return!1;let i=n.getUnitId(),a=r.getSheetId(),{copyType:o=Su.COPY,copyHookType:s=zu.DEFAULT_COPY}=e||{},c=this.generateCopyContent(i,a,t.range,{copyType:o,copyHookType:s});if(!c)return!1;let{html:l,plain:u,matrixFragment:d,copyId:f,discreteRange:p}=c;this._copyContentCache.set(f,{unitId:n.getUnitId(),subUnitId:r.getSheetId(),range:p,matrix:d,copyType:o}),await this._clipboardInterfaceService.write(u,l),this._markSelectionService.removeAllShapes();let m=Xl(this._themeService);return this._copyMarkId=this._markSelectionService.addShape({...t,style:m}),!0}async cut(){return this.copy({copyType:Su.CUT})}async paste(e,t=Bu.DEFAULT_PASTE){let n=e.types,r=n.indexOf(wn)===-1?``:await e.getType(wn).then(e=>e&&e.text()),i=n.indexOf(ln)===-1?``:await e.getType(ln).then(e=>e&&e.text()),a=n.findIndex(e=>In.has(e)),o=a===-1||!ju(i);if(i&&o)return this._platformService.isWindows&&Au(i)&&this._notificationService.show({type:`warning`,title:this._localeService.t(`clipboard.shortCutNotify.title`),content:this._localeService.t(`clipboard.shortCutNotify.useShortCutInstead`)}),this._pasteHTML(i,t);if(a!==-1){let r=n[a],i=await e.getType(r);if(i){let e=Hu[r],n=new File([i],`clipboard-image.${e}`,{type:r});return this._pasteFiles([n],t)}}return r?this._pastePlainText(r,t):(this._logService.error(`[SheetClipboardService]`,`No valid data on clipboard`),!1)}async pasteByCopyId(e,t=Bu.DEFAULT_PASTE){return this._pasteInternal(e,t)}async legacyPaste(e,t,n){let r=Au(e==null?``:e);return n&&!r?this._pasteFiles(n,Bu.DEFAULT_PASTE):e?this._pasteHTML(e,Bu.DEFAULT_PASTE):t?/[\n\t]/.test(t)?this._pasteHTML(Ru(t),Bu.DEFAULT_PASTE):this._pastePlainText(t,Bu.DEFAULT_PASTE):this._pasteUnrecognized()}rePasteWithPasteType(e){let t=this._pasteOptionsCache$.getValue();if(!t)return!1;let n=this._injector.get(Re),r=n.pitchTopUndoElement();r&&Ft(r.undoMutations,this._commandService)&&n.popUndoToRedo();let{cellMatrix:i,rowProperties:a=[],colProperties:o=[],source:s,target:c}=t;return this._pasteUSM({cellMatrix:i,colProperties:o,rowProperties:a},c,Bu[e],s),!0}updatePasteOptionsCache(e){this._pasteOptionsCache$.next(e)}addClipboardHook(e){if(this._clipboardHooks.findIndex(t=>t.id===e.id)!==-1)return this._logService.error(`[SheetClipboardService]`,`hook already exists`,e.id),{dispose:()=>{}};let t=this._clipboardHooks.findIndex(t=>{let n=t.priority||0;return(e.priority||0)<n});return this._clipboardHooks.splice(t===-1?this._clipboardHooks.length:t,0,e),this._notifyClipboardHook(),Vt(()=>{let t=this._clipboardHooks.indexOf(e);t>-1&&(this._clipboardHooks.splice(t,1),this._notifyClipboardHook())})}getClipboardHooks(){return this._clipboardHooks}_generateCopyContent(e,t,n,r,i=zu.DEFAULT_COPY){let a=this._univerInstanceService.getUniverSheetInstance(e),o=a==null?void 0:a.getSheetBySheetId(t);if(!a||!o)return null;let s=r.reduce((r,i)=>{var a;let o=(a=i.getFilteredOutRows)==null?void 0:a.call(i,e,t,n);return o==null||o.forEach(e=>r.add(e)),r},new Set),{startColumn:c,startRow:l,endColumn:u,endRow:d}=n,f=l,p=o.getMatrixWithMergedCells(l,c,d,u,re.Both),m=new Ke,h=new Ke,g={rows:[],cols:[]},_=i===zu.SPECIAL_COPY_FORMULA_ONLY?r.find(e=>e.handleMatrixOnCell):void 0,v=r.filter(e=>e.getCellValueBySpecialMatrix);for(let e=l;e<=d;e++)if(!s.has(e)){g.rows.push(e);for(let t=c;t<=u;t++){if(_){var y;(y=_.handleMatrixOnCell)==null||y.call(_,e,t,f-l,t-c,p,m,h);continue}let n=v.reduce((n,r)=>n||r.getCellValueBySpecialMatrix(e,t),void 0)||p.getValue(e,t);if(n){let e=lt(n);h.setValue(f-l,t-c,{...xt(),...e}),delete e.displayV,m.setValue(f-l,t-c,{...xt(),...e})}else h.setValue(f-l,t-c,xt()),m.setValue(f-l,t-c,xt()),p.setValue(e,t,xt())}f+=1}for(let e=c;e<=u;e++)g.cols.push(e);let b=Ql(),x=this._usmToHtml.convert(p,g,r,b);return{copyId:b,plain:Gu(h),html:x,matrixFragment:m,discreteRange:g}}_notifyClipboardHook(){this._clipboardHooks$.next(this._clipboardHooks)}async _executePaste(e){let t=this._getPastingTarget();if(!t.subUnitId||!t.selection)return!1;let n=this._injector.invoke(e=>ps(t.selection.range,e,t.unitId,t.subUnitId));if(!n)return!1;let{unitId:r,subUnitId:i}=t,a=this._clipboardHooks,o=[];if(a.some(e=>{var t;return o.push(e)&&((t=e.onBeforePaste)==null?void 0:t.call(e,{unitId:r,subUnitId:i,range:n}))===!1}))return o.forEach(e=>{var t;return(t=e.onAfterPaste)==null?void 0:t.call(e,!1)}),!1;let s=[],c=[];o.forEach(t=>{let a=e(t,{unitId:r,subUnitId:i,range:n});a&&(s.push(...a.redos),c.push(...a.undos))});let l=s.every(e=>this._commandService.executeCommand(e.id,e.params));return l&&this._undoRedoService.pushUndoRedo({unitID:this._univerInstanceService.getCurrentUnitForType(L.UNIVER_SHEET).getUnitId(),undoMutations:c,redoMutations:s}),l}async _pasteFiles(e,t){return this._executePaste((n,r)=>{var i;return(i=n.onPasteFiles)==null?void 0:i.call(n,r,e,{pasteType:t})})}async _pastePlainText(e,t){return this._executePaste((n,r)=>{var i;return(i=n.onPastePlainText)==null?void 0:i.call(n,r,e,{pasteType:t})})}_pasteUnrecognized(){return this._executePaste((e,t)=>{var n;return(n=e.onPasteUnrecognized)==null?void 0:n.call(e,t)})}async _pasteHTML(e,t){let n=$l(e);return n&&this._copyContentCache.get(n)?this._pasteInternal(n,t):this._pasteExternal(e,t)}async _pasteExternal(e,t){var n;let{rowProperties:r,colProperties:i,cellMatrix:a}=this._htmlToUSM.convert(e);if(!a)return!1;let o=this._getPastedRange(a);if(!o)return!1;let s=(n=this._univerInstanceService.getUniverSheetInstance(o.unitId))==null?void 0:n.getSheetBySheetId(o.subUnitId);if(!s)return!1;let c=s==null?void 0:s.getMergeData();return c.length&&c.some(e=>Iu(e,o.pastedRange)&&!Lu(o.pastedRange,e))?(this._errorService.emit(this._localeService.t(`clipboard.paste.overlappingMergedCells`)),!1):this._pasteUSM({rowProperties:r,colProperties:i,cellMatrix:a},o,t)}async _pasteInternal(e,t){var n,r;let i=this._copyContentCache.get(e),{range:a,matrix:o,unitId:s,subUnitId:c}=i||{};if(!o||!i||!a||!s||!c)return!1;let{mapFunc:l}=bl([a]),u=(n=this._univerInstanceService.getUniverSheetInstance(s))==null?void 0:n.getSheetBySheetId(c),d=new Ke;o.forValue((e,t,n)=>{let{row:r,col:i}=l(e,t),a=u==null?void 0:u.getCellRaw(r,i),o=u==null?void 0:u.getComposedCellStyleByCellData(r,i,a),s=Zl(n);if(o&&Object.keys(o).length>0&&(s.s=o),d.setValue(e,t,s),n.colSpan||n.rowSpan)for(let r=0;r<n.rowSpan;r++)for(let i=0;i<n.colSpan;i++){if(r===0&&i===0)continue;let n=e+r,a=t+i;d.setValue(n,a,{s:o})}});let f=this._getPastedRange(d);if(!f)return!1;let p=(r=this._univerInstanceService.getUniverSheetInstance(f.unitId))==null?void 0:r.getSheetBySheetId(f.subUnitId);if(!p)return!1;let m=p==null?void 0:p.getMergeData();if(m&&m.some(e=>Iu(e,f.pastedRange)&&!Lu(f.pastedRange,e)))return this._errorService.emit(this._localeService.t(`clipboard.paste.overlappingMergedCells`)),!1;let h=this._univerInstanceService.getUnit(s);if(!h)return!1;let g=h.getSheetBySheetId(c);if(!g)return!1;let _=g.getColumnManager(),v=g.getRowManager(),y=[],b=[];if(a.cols.forEach(e=>{y.push({width:`${_.getColumnWidth(e)}`})}),a.rows.forEach(e=>{b.push({height:`${v.getRowHeight(e)}`})}),i.copyType===Su.CUT){let e=f.pastedRange.rows[0],t=a.rows[a.rows.length-1]-a.rows[0]+e;f.pastedRange.rows=Array.from(Array(t+1).keys()).slice(e)}let x=this._pasteUSM({cellMatrix:d,colProperties:y,rowProperties:b},f,t,{range:a,unitId:i.unitId,subUnitId:i.subUnitId,copyType:i.copyType,copyId:e});return i.copyType===Su.CUT&&(this._copyContentCache.set(e,{...i,matrix:null}),this._copyMarkId&&this._markSelectionService.removeShape(this._copyMarkId),this._copyMarkId=null),x}_pasteUSM(e,t,n,r){let{rowProperties:i,colProperties:a,cellMatrix:o}=e,{unitId:s,subUnitId:c,pastedRange:l}=t,u=this._clipboardHooks,d=[];if(u.some(e=>{var t;return d.push(e)&&((t=e.onBeforePaste)==null?void 0:t.call(e,{unitId:s,subUnitId:c,range:l}))===!1}))return d.forEach(e=>{var t;return(t=e.onAfterPaste)==null?void 0:t.call(e,!1)}),!1;if(!o)return!1;let f=r?{unitId:r.unitId,subUnitId:r.subUnitId,range:r.range}:null,p={copyType:(r==null?void 0:r.copyType)||Su.COPY,copyId:r==null?void 0:r.copyId,pasteType:n},m=[],h=[],g=d.filter(e=>!e.specialPasteInfo&&e.id!==Bu.DEFAULT_PASTE||n===e.id);if(g.forEach(e=>{var t,r,i;let u=(t=e.onPasteRows)==null?void 0:t.call(e,{range:l,unitId:s,subUnitId:c});u&&(m.push(...u.redos),h.push(...u.undos));let d=(r=e.onPasteColumns)==null?void 0:r.call(e,{range:l,unitId:s,subUnitId:c},a||[],{pasteType:n});d&&(m.push(...d.redos),h.push(...d.undos));let g=(i=e.onPasteCells)==null?void 0:i.call(e,f,{range:l,unitId:s,subUnitId:c},o,p);g&&(m.push(...g.redos),h.push(...g.undos))}),p.copyType===Su.COPY){let e=this._getSetSelectionOperation(s,c,l,o,n);e&&m.push(e)}m=Pu(m),h=Pu(h),m=m.flatMap(e=>Fu(e,{threshold:2e4,maxCellsPerChunk:1e4})),h=h.flatMap(e=>Fu(e,{threshold:2e4,maxCellsPerChunk:1e4})),h.push({id:Ua.id,params:{unitId:t.unitId,subUnitId:t.subUnitId}}),this._logService.log(`[SheetClipboardService]`,`pasting mutations`,{undoMutationsInfo:h,redoMutationsInfo:m});let _=m.every(e=>this._commandService.syncExecuteCommand(e.id,e.params));if(_){let e=this._getPastedRangeAutoHeightMutation(s,c,l);e&&(this._commandService.syncExecuteCommand(e.redo.id,e.redo.params),m.push(e.redo),h.unshift(e.undo)),this._undoRedoService.pushUndoRedo({unitID:s,undoMutations:h,redoMutations:m}),this.updatePasteOptionsCache({target:{pastedRange:l,unitId:s,subUnitId:c},cellMatrix:o,rowProperties:i,colProperties:a,pasteType:n,source:r}),this.setShowMenu(!0)}return g.forEach(e=>{var t;return(t=e.onAfterPaste)==null?void 0:t.call(e,_)}),_}_getPastedRangeAutoHeightMutation(e,t,n){var r,i;let a=(r=this._univerInstanceService.getUnit(e,L.UNIVER_SHEET))==null?void 0:r.getSheetBySheetId(t);if(!a)return null;let o=(i=this._renderManagerService.getRenderById(e))==null?void 0:i.with(Vl).ensureSkeleton(t);if(!o)return null;let s=a.getRowManager(),c=a.getConfig().defaultRowHeight,{rows:l,cols:u}=n,d=l[0],f=l[l.length-1],p=u[0],m=u[u.length-1],h=[];for(let e=d;e<=f;e++)if(!s.getRow(e)){let t=o.calculateAutoHeightInRange([{startRow:e,endRow:e,startColumn:p,endColumn:m}]).filter(e=>e.autoHeight!==c);h.push(...t)}if(h.length>0){let n={unitId:e,subUnitId:t,rowsAutoHeightInfo:h};return{redo:{id:$a.id,params:n},undo:{id:$a.id,params:eo(n,a)}}}return null}_getSetSelectionOperation(e,t,n,r,i){var a;let o=(a=this._univerInstanceService.getUniverSheetInstance(e))==null?void 0:a.getSheetBySheetId(t);if(!o)return null;let{rows:s,cols:c}=n,l=s[0],u=c[0],d=s[s.length-1],f=c[c.length-1],p=us({startRow:l,endRow:l,startColumn:u,endColumn:u},o),m=r.getValue(0,0),h=(m==null?void 0:m.rowSpan)||1,g=(m==null?void 0:m.colSpan)||1;if((i===Bu.DEFAULT_PASTE||i===Bu.SPECIAL_PASTE_BESIDES_BORDER||i===Bu.SPECIAL_PASTE_FORMAT)&&(h>1||g>1)){let e={startRow:l,endRow:l+h-1,startColumn:u,endColumn:u+g-1};p.startRow=e.startRow,p.endRow=e.endRow,p.startColumn=e.startColumn,p.endColumn=e.endColumn,p.isMerged=!0,p.isMergedMainCell=!0}let _={unitId:e,subUnitId:t,selections:[{range:{startRow:l,endRow:d,startColumn:u,endColumn:f},primary:p,style:null}]};return{id:Aa.id,params:_}}_getPastingTarget(){let e=this._univerInstanceService.getCurrentUnitForType(L.UNIVER_SHEET),t=e.getActiveSheet(),n=this._selectionManagerService.getCurrentLastSelection();return{unitId:e.getUnitId(),subUnitId:t==null?void 0:t.getSheetId(),selection:n}}_transformPastedData(e,t,n){let{selection:r,unitId:i,subUnitId:a}=this._getPastingTarget();if(!a||!r)return null;let o=this._injector.invoke(e=>ps(r.range,e,i,a));if(!o)return null;let{ranges:[s],mapFunc:c}=bl([o]),{startRow:l,startColumn:u,endRow:d,endColumn:f}=s,p=d-l+1,m=f-u+1,h=this._univerInstanceService.getCurrentUnitForType(L.UNIVER_SHEET),g=h==null?void 0:h.getActiveSheet();if(!g)return null;let _=g.getMergeData().filter(e=>o.rows.includes(e.startRow)&&o.cols.includes(e.startColumn)),v=_[0],y=0,b=0,x=0,S=0;if(v&&(y=v.startRow,b=v.startColumn,x=v.endRow,S=v.endColumn),p%e===0&&m%t===0)if(_.length>0&&(p!==e||m!==t))if(y===o.rows[0]&&b===o.cols[0]&&x===o.rows[p-1]&&S===o.cols[m-1])if(Yu(n))for(let r=0;r<p;r++)for(let i=0;i<m;i++){let a=n.getValue(r%e,i%t);a&&n.setValue(r,i,a)}else n.forValue((e,t,n)=>{n.s=null,delete n.colSpan,delete n.rowSpan});else for(let r=0;r<p;r++)for(let i=0;i<m;i++){let a=n.getValue(r%e,i%t);a&&n.setValue(r,i,a)}else for(let r=0;r<p;r++)for(let i=0;i<m;i++){let a=n.getValue(r%e,i%t);a&&n.setValue(r,i,a)}else if(_.length>0){let{row:r,col:s}=c(l,u);if(this._topLeftCellsMatch(e,t,{topRow:r,leftCol:s})){let n=this._expandOrShrinkRowsCols(i,a,o,t,e);o.rows=n.rows,o.cols=n.cols}else if(d>v.endRow||f>v.endColumn)return null;else n.forValue((e,t,n)=>{n.s=null,delete n.colSpan,delete n.rowSpan})}else{let n=this._expandOrShrinkRowsCols(i,a,o,t,e);o.rows=n.rows,o.cols=n.cols}return{pastedRange:o,unitId:i,subUnitId:a}}_getPastedRange(e){var t;let{selection:n,unitId:r,subUnitId:i}=this._getPastingTarget();if(!i||!n)return null;let a=this._injector.invoke(e=>ps(n.range,e,r,i));if(!a)return null;let{startColumn:o,endColumn:s,startRow:c,endRow:l}=e.getDataRange(),u=l-c+1,d=s-o+1;if(u<=0||d<=0)return null;let f=a.rows.length,p=a.cols.length,m=(t=this._univerInstanceService.getUniverSheetInstance(r))==null?void 0:t.getSheetBySheetId(i);if(!m)return null;let h=m==null?void 0:m.getMergeData();if(f%u===0&&p%d===0&&!(h!=null&&h.some(e=>Iu(e,a)))){for(let t=0;t<f;t++)for(let n=0;n<p;n++){let r=e.getValue(t%u,n%d);r&&e.setValue(t,n,r)}return{pastedRange:a,unitId:r,subUnitId:i}}let g=this._expandOrShrinkRowsCols(r,i,a,d,u);return a.rows=g.rows,a.cols=g.cols,{pastedRange:a,unitId:r,subUnitId:i}}_expandOrShrinkRowsCols(e,t,n,r,i){let{rows:a,cols:o}=n,s=this._univerInstanceService.getUniverSheetInstance(e),c=s==null?void 0:s.getSheetBySheetId(t),l,u;if(a.length>=i)l=a.slice(0,i);else{l=a.slice(0);let e=a[a.length-1]+1;for(;l.length<i;)c.getRowFiltered(e)||l.push(e),e++}if(o.length>=r)u=o.slice(0,r);else{u=o.slice(0);let e=o[o.length-1]+1;for(;u.length<r;)u.push(e),e++}return{rows:l,cols:u}}_topLeftCellsMatch(e,t,n){let r=this._univerInstanceService.getCurrentUnitForType(L.UNIVER_SHEET),i=r==null?void 0:r.getActiveSheet();if(!i)return!1;let{topRow:a,leftCol:o}=n,s=qu(a+e-1,o,o+t-1,i),c=Ju(o+t-1,a,a+e-1,i);return!s&&!c}removeMarkSelection(){this._copyMarkId&&(this._markSelectionService.removeShape(this._copyMarkId),this._copyMarkId=null)}_initUnitDisposed(){this.disposeWithMe(this._univerInstanceService.getTypeOfUnitDisposed$(L.UNIVER_SHEET).subscribe(e=>{e&&this.copyContentCache().clearWithUnitId(e.getUnitId())}))}disposePasteOptionsCache(){this.setShowMenu(!1),this.updatePasteOptionsCache(null)}};Wu=Q([Z(0,Ie),Z(1,P),Z(2,F(W)),Z(3,dn),Z(4,Re),Z(5,N),Z(6,Jl),Z(7,_n),Z(8,vn),Z(9,Xn),Z(10,F(et)),Z(11,F(Ue)),Z(12,F(ye)),Z(13,F(ze))],Wu);function Gu(e){let t=``,n=e.getLength();return e.forRow((r,i)=>{let a=[];i.forEach(t=>{let n=e.getValue(r,t);if(n){let e=Ku(n);a.push(e)}}),t+=a.join(` `),r!==n-1&&(t+=`
|
|
@@ -8,8 +8,8 @@ import{BreakLineCommand as e,CoverContentCommand as t,DOCS_COMPONENT_MAIN_LAYER_
|
|
|
8
8
|
`,``);return n.forEach(e=>{let{st:t,ed:n,ts:a}=e;n-t>=i.length&&(r={...r,...a})}),Object.keys(r).length?r:null}function Om(e,t=!1){e.dataStream=se,e.textRuns!=null&&(e.textRuns.length===1&&!t?(e.textRuns[0].st=0,e.textRuns[0].ed=1):e.textRuns=void 0),e.paragraphs!=null&&(e.paragraphs=[{startIndex:0}]),e.sectionBreaks!=null&&(e.sectionBreaks=void 0),e.tables!=null&&(e.tables=void 0),e.customRanges!=null&&(e.customRanges=void 0),e.customBlocks!=null&&(e.customBlocks=void 0)}function km(e){return e&&Object.fromEntries(Object.entries(e).filter(([e,t])=>!(t==null||Array.isArray(t)&&t.length===0||typeof t==`object`&&Object.keys(t).length===0)))}function Am(e,t,n,r,i){let a=[],o=[];if(r.copyType===Su.CUT){let{undos:n,redos:r}=jm(e,t,i);a.push(...r),o.push(...n)}else{let{undos:r,redos:s}=Pm(t,n,i);a.push(...s),o.push(...r);let{undos:c,redos:l}=Fm(t,n,i);a.push(...l),o.push(...c);let{undos:u,redos:d}=Mm(t,e,n,i);a.push(...d),o.push(...u);let{undos:f,redos:p}=Nm(t,e,n,i,!0);a.push(...p),o.push(...f);let{undos:m,redos:h}=Im(t,n,i);a.push(...h),o.push(...m)}return{undos:o,redos:a}}function jm(e,t,n){let{range:r,subUnitId:i,unitId:a}=e,{range:o,subUnitId:s}=t,c=o?rs(o):null,l=r?rs(r):null;if(!l||!c)return{undos:[],redos:[]};let u=ls(n,{fromRange:l,toRange:c,fromUnitId:a,fromSubUnitId:i,toUnitId:t.unitId,toSubUnitId:s},{includeAutoHeight:!1});return u?{undos:u.undos,redos:u.redos}:{undos:[],redos:[]}}function Mm(e,t,n,r){var i;let{unitId:a,subUnitId:o,range:s}=e,c=(i=r.get(P).getUniverSheetInstance(a))==null?void 0:i.getSheetBySheetId(o),l=[],u=[],{mapFunc:d}=bl([s]),f=new Ke;n.forValue((e,n,r)=>{var i;let{row:a,col:o}=d(e,n),s={v:r.v,t:r.t};if(!r.p&&r.v&&!t){var l;let e=c==null?void 0:c.getCellStyle(a,o);if(Ot(e==null||(l=e.n)==null?void 0:l.pattern))s.t=ie.STRING;else{let e=String(r.v).trim(),t=St(e);(t==null?void 0:t.v)!==void 0&&typeof t.v==`number`&&(!t.z&&Ut(e)?s.t=ie.FORCE_STRING:s.v=t.v)}}if((i=r.p)!=null&&i.body&&Em(r.p.body)){let e={p:ut(r.p),v:r.v};f.setValue(a,o,e)}else f.setValue(a,o,s&&st(s))});let p={unitId:a,subUnitId:o,cellValue:ct(f.getMatrix())};l.push({id:Sa.id,params:p});let m=Ca(r,p);return u.push({id:Sa.id,params:m}),{undos:u,redos:l}}function Nm(e,t,n,r,i=!1){var a;let o=[],s=[],{unitId:c,subUnitId:l,range:u}=e,d=(a=r.get(P).getUniverSheetInstance(c))==null?void 0:a.getSheetBySheetId(l),f=new Ke,{mapFunc:p}=bl([u]);n.forValue((e,n,r)=>{var i;let a={s:Object.assign({},{...ce,pd:Gn,bg:null,cl:null},r.s)},o=a.s.bd;o&&(Object.keys(o).length>0||(a.s.bd={b:null,l:null,r:null,t:null}));let{row:s,col:c}=p(e,n),l=d==null?void 0:d.getCellStyle(s,c);if(r.v&&!t&&Ot(l==null||(i=l.n)==null?void 0:i.pattern))a.s||(a.s={}),a.s.n=l==null?void 0:l.n;else{let e=St(String(r.v).trim());if(e!=null&&e.z&&(a.s||(a.s={}),typeof a.s==`object`)){var u;(u=a.s)!=null&&u.n?a.s.n.pattern=e.z:a.s.n={pattern:e.z}}}f.setValue(s,c,a)});let m={unitId:c,subUnitId:l,cellValue:ct(f.getMatrix())};o.push({id:Sa.id,params:m});let h=Ca(r,m);return s.push({id:Sa.id,params:h}),{undos:s,redos:o}}function Pm(e,t,n){let r=[],i=[],a=new Ke,{unitId:o,subUnitId:s,range:c}=e,{mapFunc:l}=bl([c]);if(t.forEach((e,t)=>{Object.keys(t).forEach(t=>{let{row:n,col:r}=l(e,Number(t));a.setValue(n,r,{s:null})})}),a.getLength()>0){let e={subUnitId:s,unitId:o,cellValue:ct(a.getMatrix())};r.push({id:Sa.id,params:e});let t=Ca(n,e);i.push({id:Sa.id,params:t})}return{undos:i,redos:r}}function Fm(e,t,n){let r=[],i=[],a=new Ke,{unitId:o,subUnitId:s,range:c}=e,{mapFunc:l}=bl([c]);if(t.forValue((e,t,n)=>{let{row:r,col:i}=l(e,t);a.setValue(r,i,{v:null,p:null})}),a.getLength()>0){let e={subUnitId:s,unitId:o,cellValue:ct(a.getMatrix())};r.push({id:Sa.id,params:e});let t=Ca(n,e);i.push({id:Sa.id,params:t})}return{undos:i,redos:r}}function Im(e,t,n){let r=[],i=[],{unitId:a,subUnitId:o,range:s}=e,{startColumn:c,startRow:l,endColumn:u,endRow:d}=rs(s),f=[];t.forValue((e,t,n)=>{if(n.rowSpan&&n.rowSpan>1){let r=n.colSpan||1,i={startRow:l+e,endRow:l+e+n.rowSpan-1,startColumn:c+t,endColumn:c+t+r-1};f.push(i)}else if(n.colSpan&&n.colSpan>1){let r=n.rowSpan||1,i={startRow:l+e,endRow:l+e+r-1,startColumn:c+t,endColumn:c+t+n.colSpan-1};f.push(i)}});let p=fs(n.get(P),{unitId:a,subUnitId:o});if(p&&p.worksheet){let e=p.worksheet.getMergeData().filter(e=>Qe.intersects({startRow:l,startColumn:c,endRow:d,endColumn:u},e));if(e.length>0){let t={unitId:a,subUnitId:o,ranges:e};r.push({id:Ji.id,params:t});let s=Hi(n,t);i.push({id:Mr.id,params:s})}}if(f.length>0){let e={unitId:a,subUnitId:o,ranges:f};r.push({id:Mr.id,params:e});let t=Er(n,e);i.unshift({id:Ji.id,params:t})}return{redos:r,undos:i}}function Lm(e){if(!e.includes(`\r`)&&tt.isLegalUrl(e)){let t=yt(),n=`${e}`,r={startIndex:0,endIndex:n.length-1,rangeId:t,rangeType:oe.HYPERLINK,properties:{url:e}};return{dataStream:`${n}\r\n`,paragraphs:[{startIndex:n.length}],customRanges:[r]}}let t=e.replace(/(\r\n|\n)/g,`\r`);t.endsWith(`\r
|
|
9
9
|
`)||(t+=`\r
|
|
10
10
|
`);let n=[];for(let e=0;e<t.length;e++)t[e]===`\r`&&n.push({startIndex:e});return{dataStream:t,paragraphs:n,sectionBreaks:[{startIndex:t.indexOf(`
|
|
11
|
-
`)}]}}const Rm=[li.id,yi.id,Bi.id,Wi.id,ki.id,ji.id,Di.id];let zm=class extends $e{constructor(e,t,n,r,i,a,o,s,c,l){super(),this._injector=e,this._instanceService=t,this._renderManagerService=n,this._commandService=r,this._contextService=i,this._configService=a,this._sheetClipboardService=o,this._messageService=s,this._localService=c,this._uiPartsService=l,X(this,`_refreshOptionalPaste$`,new vs),X(this,`refreshOptionalPaste$`,this._refreshOptionalPaste$.asObservable()),this._init(),this._initCommandListener(),this._initUIComponents(),this._pasteWithDoc()}refreshOptionalPaste(){this._refreshOptionalPaste$.next(Math.random())}_pasteWithDoc(){var e;let t=e=>{e.onPaste$.pipe(As(this.dispose$)).subscribe(e=>{var t,n;if(!pl(this._contextService))return;e.event.preventDefault();let r=e.event,i=(t=r.clipboardData)==null?void 0:t.getData(`text/html`),a=(n=r.clipboardData)==null?void 0:n.getData(`text/plain`),o=this._resolveClipboardFiles(r.clipboardData);this._commandService.executeCommand($u.id,{htmlContent:i,textContent:a,files:o})}),e==null||e.onKeydown$.subscribe(e=>{e.event.key===`Escape`&&this._sheetClipboardService.removeMarkSelection()})},n=(e=this._renderManagerService.getRenderById(pe))==null?void 0:e.with(s);n&&t(n),this._renderManagerService.created$.subscribe(e=>{if(e.unitId===pe){var r;n=(r=this._renderManagerService.getRenderById(pe))==null?void 0:r.with(s),n&&t(n)}})}_resolveClipboardFiles(e){if(!e)return;let t=Array.from(e.items).map(e=>e.kind===`file`?e.getAsFile():void 0).filter(Boolean);return t.length>0?t:void 0}_init(){[Xu,Zu,Qu].forEach(e=>this.disposeWithMe(this._commandService.registerMultipleCommand(e))),[ed,td,nd,rd,$u,id].forEach(e=>this.disposeWithMe(this._commandService.registerCommand(e))),this.disposeWithMe(this._sheetClipboardService.addClipboardHook(this._initCopyingHooks())),this.disposeWithMe(this._sheetClipboardService.addClipboardHook(this._initPastingRowsHook())),this.disposeWithMe(this._sheetClipboardService.addClipboardHook(this._initPastingColumnsHook())),this.disposeWithMe(this._sheetClipboardService.addClipboardHook(this._initPastingHook()));let e=this._initSpecialPasteHooks().map(e=>this._sheetClipboardService.addClipboardHook(e));this.disposeWithMe({dispose:()=>e.forEach(e=>e.dispose())})}_initCopyingHooks(){let e=this,t=null;return{id:zu.DEFAULT_COPY,isDefaultHook:!0,onBeforeCopy(n,r){t=e._getWorksheet(n,r)},onCopyCellContent(e,n){var r,i;let a=t.getCell(e,n);return!(a==null||(r=a.p)==null||(r=r.body)==null)&&r.paragraphs||!(a==null||(i=a.p)==null||(i=i.body)==null)&&i.textRuns?E(a.p):a?_t(a):``},onCopyCellStyle:(e,n,r,i)=>{let a={};(r||i)&&(a.rowspan=`${r||1}`,a.colspan=`${i||1}`);let o=t.getMergedCell(e,n),s=t.getComposedCellStyle(e,n),c=``;if(s&&(c=wt(s)),o){let e=o.endRow,n=o.endColumn,r=t.getRange(e,n).getTextStyle();if(r){let e=wt(r);c?c+=e?`;${e}`:``:c=e}}return c&&(a.style=c),Object.keys(a).length?a:null},onCopyColumn(e){return{width:`${t.getColumnWidth(e)}`}},onCopyRow(e){return{style:`height: ${t.getRowHeight(e)}px;`}},onAfterCopy(){t=null},getFilteredOutRows(t,n,r){let i=e._getWorksheet(t,n);if(!i)return[];let{startRow:a,endRow:o}=r,s=[];for(let e=a;e<=o;e++)i.getRowFiltered(e)&&s.push(e);return s}}}_initPastingHook(){let e=this;return{id:Bu.DEFAULT_PASTE,isDefaultHook:!0,onBeforePaste({range:t}){let n=e._configService.getConfig(Si),r=t.rows[t.rows.length-1],i=t.cols[t.cols.length-1];return n&&r*i>n?(e._messageService.show({type:ic.Error,content:e._localService.t(`clipboard.paste.exceedMaxCells`)}),!1):!0},onPastePlainText(t,n,r){return e._onPastePlainText(t,n,r)},onPasteCells(t,n,r,i){return e._onPasteCells(t,n,r,i)}}}_initPastingRowsHook(){let e=this;return{id:Bu.DEFAULT_PASTE_ROWS,isDefaultHook:!0,onPasteRows(t){let n=[],r=[],{range:i,unitId:a,subUnitId:o}=t,{rows:s,cols:c}=i;if(!s||!c||s.length===0||c.length===0)return{redos:n,undos:r};let l=e._getWorksheet(a,o).getMaxRows()-1,u=s[s.length-1],d=c[0],f=c[c.length-1];if(u-l>0){let e={unitId:a,subUnitId:o,range:{startRow:l+1,endRow:u,startColumn:d,endColumn:f}};n.push({id:yi.id,params:e}),r.push({id:Wi.id,params:e})}return{redos:n,undos:r}}}}_initPastingColumnsHook(){let e=this;return{id:Bu.DEFAULT_PASTE_COLUMNS,isDefaultHook:!0,onPasteColumns(t){let n=[],r=[],{range:i,unitId:a,subUnitId:o}=t,{rows:s,cols:c}=i;if(!s||!c||s.length===0||c.length===0)return{redos:n,undos:r};let l=e._getWorksheet(a,o).getMaxColumns()-1,u=s[0],d=s[s.length-1],f=c[c.length-1];if(f-l>0){let e={unitId:a,subUnitId:o,range:{startRow:u,endRow:d,startColumn:l+1,endColumn:f}};n.push({id:li.id,params:e}),r.push({id:Bi.id,params:e})}return{redos:n,undos:r}}}}_generateDocumentDataModelSnapshot(e){var t,n;let r=(t=Cr(L.UNIVER_SHEET,Vl,this._instanceService,this._renderManagerService))==null?void 0:t.getCurrentParam();if(r==null)return null;let{skeleton:i}=r,a=(n=i.getBlankCellDocumentModel())==null?void 0:n.documentModel,o={...a==null?void 0:a.getSnapshot(),...e};return a==null||a.reset(o),a==null?void 0:a.getSnapshot()}_onPastePlainText(e,t,n){let{range:r,unitId:i,subUnitId:a}=e,o;if(/\r|\n/.test(t)||tt.isLegalUrl(t)){let e=Lm(t),n=this._generateDocumentDataModelSnapshot({body:e});o={[r.rows[0]]:{[r.cols[0]]:{p:n,v:null,f:null}}}}else if(Tt(t))o={[r.rows[0]]:{[r.cols[0]]:{f:t,v:null,p:null}}};else{let e=St(t);o=e!=null&&e.z?{[r.rows[0]]:{[r.cols[0]]:{v:e.v,s:{n:{pattern:e.z}},f:null}}}:{[r.rows[0]]:{[r.cols[0]]:{v:t,f:null}}}}let s={unitId:i,subUnitId:a,cellValue:o};return{redos:[{id:Sa.id,params:s}],undos:[{id:Sa.id,params:Ca(this._injector,s)}]}}_onPasteCells(e,t,n,r){return this._injector.invoke(i=>Am(e,t,n,r,i))}_initSpecialPasteHooks(){let e=this;return[{id:Bu.SPECIAL_PASTE_VALUE,specialPasteInfo:{label:`specialPaste.value`},onPasteCells:(e,t,n)=>this._injector.invoke(r=>Mm(t,e,n,r))},{id:Bu.SPECIAL_PASTE_FORMAT,specialPasteInfo:{label:`specialPaste.format`},onPasteCells:(e,t,n)=>{let r=[],i=[],{undos:a,redos:o}=this._injector.invoke(e=>Pm(t,n,e));r.push(...o),i.push(...a);let{undos:s,redos:c}=this._injector.invoke(e=>Im(t,n,e));r.push(...c),i.push(...s);let{undos:l,redos:u}=this._injector.invoke(r=>Nm(t,e,n,r));return r.push(...u),i.push(...l),{undos:i,redos:r}}},{id:Bu.SPECIAL_PASTE_COL_WIDTH,specialPasteInfo:{label:`specialPaste.colWidth`},onPasteCells(){return{undos:[],redos:[]}},onPasteColumns(t,n,r){var i;let a=[],o=[];if(r.pasteType!==Bu.SPECIAL_PASTE_COL_WIDTH)return{redos:a,undos:o};let{range:s,unitId:c,subUnitId:l}=t,{rows:u,cols:d}=s;if(!u||!d||u.length===0||d.length===0)return{redos:a,undos:o};let f=e._getWorksheet(c,l),p=(i=e._configService.getConfig(ue))==null?le:i,m=u[0],h=u[u.length-1],g=d[0],_=d[d.length-1],v=n.length;if(v>0){let e={};for(let t=g;t<=_;t++){let r=n[(t-g)%v];r.width&&Number(r.width)!==p&&(e[t]=Number(r.width))}let t={unitId:c,subUnitId:l,ranges:[{startRow:m,endRow:h,startColumn:g,endColumn:_}],colWidth:e};a.push({id:Wa.id,params:t}),o.unshift({id:Wa.id,params:Ga(t,f)})}return{redos:a,undos:o}}},{id:Bu.SPECIAL_PASTE_BESIDES_BORDER,specialPasteInfo:{label:`specialPaste.besidesBorder`},onPasteCells:(t,n,r,i)=>{e._instanceService.getCurrentUnitForType(L.UNIVER_SHEET);let a=[],o=[],{range:s,unitId:c,subUnitId:l}=n,u=new Ke;r.forValue((e,t,n)=>{let r=n.s;if(typeof r==`object`){let i=tt.deepClone(n);i.s&&(i.s={...r,bd:null}),u.setValue(s.rows[e],s.cols[t],i)}});let d={unitId:c,subUnitId:l,cellValue:u.getData()};a.push({id:Sa.id,params:d});let f=this._injector.invoke(Ca,d);o.push({id:Sa.id,params:f});let{undos:p,redos:m}=this._injector.invoke(e=>Im(n,r,e));return o.push(...p),a.push(...m),{redos:a,undos:o}}}]}_getWorksheet(e,t){var n;let r=(n=this._instanceService.getUniverSheetInstance(e))==null?void 0:n.getSheetBySheetId(t);if(!r)throw Error(`[SheetClipboardController]: cannot find a worksheet with unitId ${e} and subUnitId ${t}.`);return r}_initCommandListener(){var e;this.disposeWithMe(this._commandService.onCommandExecuted(e=>{(e.id===Ar.id||Rm.includes(e.id))&&this._sheetClipboardService.removeMarkSelection()}));let t=this._configService.getConfig(rp);!(t==null||(e=t.clipboardConfig)==null)&&e.hidePasteOptions||(this.disposeWithMe(this._commandService.onCommandExecuted(e=>{Ip.includes(e.id)&&this._sheetClipboardService.disposePasteOptionsCache()})),this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id===Lf.id){if(!this._sheetClipboardService.getPasteMenuVisible())return;let t=e.params.unitId,n=this._sheetClipboardService.getPasteOptionsCache();t===(n==null?void 0:n.target.unitId)&&this._refreshOptionalPaste$.next(Math.random())}})))}_initUIComponents(){var e;let t=this._configService.getConfig(rp);!(t==null||(e=t.clipboardConfig)==null)&&e.hidePasteOptions||this.disposeWithMe(this._uiPartsService.registerComponent(Gt.CONTENT,()=>Pn(Fp,this._injector)))}};zm=Q([Z(0,F(ze)),Z(1,P),Z(2,Xn),Z(3,N),Z(4,Fe),Z(5,Ne),Z(6,Uu),Z(7,gn),Z(8,F(Ue)),Z(9,xn)],zm);let Bm=class extends M{constructor(e,t){super(),this._univerInstanceService=e,this._renderManagerService=t,X(this,`_currentCell$`,new vs),X(this,`currentCell$`,this._currentCell$.asObservable().pipe(Ss((e,t)=>{var n,r,i,a,o,s,c,l;return(e==null||(n=e.location)==null?void 0:n.unitId)===(t==null||(r=t.location)==null?void 0:r.unitId)&&(e==null||(i=e.location)==null?void 0:i.subUnitId)===(t==null||(a=t.location)==null?void 0:a.subUnitId)&&(e==null||(o=e.location)==null?void 0:o.row)===(t==null||(s=t.location)==null?void 0:s.row)&&(e==null||(c=e.location)==null?void 0:c.col)===(t==null||(l=t.location)==null?void 0:l.col)}))),X(this,`_endCell$`,new vs),X(this,`endCell$`,this._endCell$.asObservable()),this._initCellDisposableListener()}dispose(){super.dispose(),this._currentCell$.complete(),this._endCell$.complete()}_initCellDisposableListener(){this.disposeWithMe(this._univerInstanceService.getCurrentTypeOfUnit$(L.UNIVER_SHEET).subscribe(e=>{e||(this._currentCell$.next(null),this._endCell$.next(null))}))}_calcActiveCell(e,t){let n=this._univerInstanceService.getCurrentUnitForType(L.UNIVER_SHEET);if(!n)return null;let r=n.getActiveSheet();if(!r)return;let i=this._renderManagerService.getRenderById(n.getUnitId());if(!i)return;let a=i.with(Vl).getCurrentParam(),o=i.with(_f).getCurrentScrollState();if(!(!a||!o||!i))return Sp(i,n,r,a,e,t)}onDragOver(e){let{offsetX:t,offsetY:n,dataTransfer:r}=e,i=this._calcActiveCell(t,n);if(!i){this._currentCell$.next(null);return}let{location:a,position:o}=i;this._currentCell$.next({location:a,position:o,dataTransfer:r})}onDrop(e){let{offsetX:t,offsetY:n,dataTransfer:r}=e,i=this._calcActiveCell(t,n);if(!i){this._endCell$.next(null);return}let{location:a,position:o}=i;this._endCell$.next({location:a,position:o,dataTransfer:r})}};Bm=Q([Z(0,P),Z(1,Xn)],Bm);let Vm=class extends M{constructor(e,t,n,r){super(),this._context=e,this._renderManagerService=t,this._dragManagerService=n,this._sheetSkeletonManagerService=r,this._initDragEvent()}_initDragEvent(){let e=new ge,t=t=>{if(e.dispose(),!t)return;let{scene:n}=this._context,r=n.onDragOver$.subscribeEvent(e=>{this._dragManagerService.onDragOver(e)}),i=n.onDrop$.subscribeEvent(e=>{this._dragManagerService.onDrop(e)});e.add({dispose(){r.unsubscribe(),i.unsubscribe()}})};t(this._sheetSkeletonManagerService.getCurrentParam()),this.disposeWithMe(this._sheetSkeletonManagerService.currentSkeleton$.subscribe(e=>{t(e)}))}};Vm=Q([Z(1,Xn),Z(2,F(Bm)),Z(3,F(Vl))],Vm);var Hm=class{constructor(){X(this,`_position`,null),X(this,`_position$`,new hs(null)),X(this,`position$`,this._position$.asObservable()),X(this,`_focus`,!1),X(this,`_focus$`,new hs(this._focus)),X(this,`focus$`,this._focus$.asObservable()),X(this,`_fxBtnClick$`,new vs),X(this,`fxBtnClick$`,this._fxBtnClick$.asObservable()),X(this,`_foldBtnStatus$`,new vs),X(this,`foldBtnStatus$`,this._foldBtnStatus$.asObservable())}dispose(){this._position$.complete(),this._focus$.complete(),this._position=null,this._focus=!1}setPosition(e){this._position=e,this._refresh(e)}getPosition(){return this._position}setFocus(e=!1){this._focus=e,this._focus$.next(e)}handleFxBtnClick(e){this._fxBtnClick$.next(e)}handleFoldBtnClick(e){this._foldBtnStatus$.next(e)}_refresh(e){this._position$.next(e)}};const Um=pt(`univer.sheet-formula-editor-manager.service`);let Wm=class extends $e{constructor(e,t,n,r,i,a,o,s,c){super(),this._univerInstanceService=e,this._renderManagerService=t,this._editorBridgeService=n,this._commandService=r,this._contextService=i,this._formulaEditorManagerService=a,this._undoRedoService=o,this._textSelectionManagerService=s,this._editorService=c,X(this,`_loadedMap`,new WeakSet),X(this,`_scheduledCallback`,-1),this._initialize()}_initialize(){this._syncEditorSize(),this._listenFxBtnClick(),this._handleContentChange(),this._univerInstanceService.focused$.pipe(As(this.dispose$)).subscribe(e=>{this._create(e)}),this._create(fe),this.disposeWithMe(this._editorService.focus$.subscribe(()=>{var e;((e=this._editorService.getFocusEditor())==null?void 0:e.getEditorId())===fe?this._contextService.setContextValue(Te,!0):this._contextService.setContextValue(Te,!1)}))}_handleContentChange(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id===Fs.id){let{unitId:t}=e.params;t===fe&&this.autoScroll()}}))}_create(e){if(e!==fe)return;let t=this._renderManagerService.getRenderById(e);if(t==null)return;let{mainComponent:n}=t;n!=null&&(this._loadedMap.has(n)||this._loadedMap.add(n))}_listenFxBtnClick(){this._formulaEditorManagerService.fxBtnClick$.pipe(As(this.dispose$)).subscribe(()=>{if(this._contextService.getContextValue(Se)&&!this._contextService.getContextValue(ve)){var e;this._univerInstanceService.setCurrentUnitForType(fe);let n=this._univerInstanceService.getUniverDocInstance(fe);this._editorBridgeService.isVisible().visible===!1&&this._commandService.syncExecuteCommand(op.id,{visible:!0,eventType:qn.PointerDown,unitId:fe});let r=n==null||(e=n.getBody())==null?void 0:e.dataStream;if(r==null)return;let i=r.startsWith(`=`)?r:`=${r}`;i=i.replace(/\r\n$/,``);let a=[{startOffset:i.length,endOffset:i.length}],o={unitId:fe,body:{dataStream:i},segmentId:``,textRanges:a};this._commandService.syncExecuteCommand(t.id,o),requestAnimationFrame(()=>{this._textSelectionManagerService.replaceDocRanges([],{unitId:pe,subUnitId:pe}),this._textSelectionManagerService.replaceDocRanges(a,{unitId:fe,subUnitId:fe}),this._contextService.setContextValue(Te,!0)})}})}_syncEditorSize(){let e=this._univerInstanceService.unitAdded$.pipe(Cs(e=>e.getUnitId()===fe));this.disposeWithMe(bs([this._formulaEditorManagerService.position$,e]).subscribe(([e])=>{if(!e)return this._clearScheduledCallback();let t=dl(fe,this._renderManagerService),n=this._univerInstanceService.getUniverDocInstance(fe);if(t==null||n==null)return this._clearScheduledCallback();let{width:r,height:i}=e;if(r===0||i===0)return this._clearScheduledCallback();let{engine:a}=t;n.updateDocumentDataPageSize(r),this.autoScroll(),this._scheduledCallback=requestIdleCallback(()=>a.resizeBySize(r,i))}))}_clearScheduledCallback(){this._scheduledCallback!==-1&&cancelIdleCallback(this._scheduledCallback),this._scheduledCallback=-1}autoScroll(){var e;let t=this._formulaEditorManagerService.getPosition(),n=(e=this._renderManagerService.getRenderById(fe))==null?void 0:e.with(Ps).getSkeleton(),r=this._renderManagerService.getRenderById(fe),i=this._univerInstanceService.getUniverDocInstance(fe);if(n==null||t==null||r==null||i==null)return;let{marginTop:a=0,marginBottom:o=0}=i.getSnapshot().documentStyle,{scene:s,mainComponent:c}=r,{actualHeight:l}=n.getActualSize();l+=a+o;let{width:u,height:d}=t,f=s.getViewport(T.VIEW_MAIN),p=f==null?void 0:f.getScrollBar();if(s.transformByState({width:u,height:l}),c==null||c.resize(u,l),l>d)p==null?f&&new rr(f,{enableHorizontal:!1,barSize:8}):f==null||f.resetCanvasSizeAndUpdateScroll();else{var m;p=null,f==null||f.scrollToViewportPos({viewportScrollX:0,viewportScrollY:0}),f==null||(m=f.getScrollBar())==null||m.dispose()}}};Wm=Q([Z(0,P),Z(1,Xn),Z(2,Kf),Z(3,N),Z(4,Fe),Z(5,Um),Z(6,Re),Z(7,F(Ns)),Z(8,c)],Wm);const Gm=`embedding_formula_editor`,Km=e=>e.includes(Gm),qm=(e,t)=>{let n=t.findNodePositionByCharIndex(e.startOffset,!0,e.segmentId,-1),r=t.getSkeletonData(),i=e.endOffset;if(e.segmentId){var a,o,s,c,l;let t=(a=Array.from((o=r==null||(s=r.skeFooters.get(e.segmentId))==null?void 0:s.values())==null?[]:o)[0])==null?Array.from((c=r==null||(l=r.skeHeaders.get(e.segmentId))==null?void 0:l.values())==null?[]:c)[0]:a;t&&(i=Math.min(t.ed,i))}let u=t.findNodePositionByCharIndex(i,!0,e.segmentId,-1);if(!u||!n)return;let{borderBoxPointGroup:d}=new p({docsLeft:0,docsTop:0,pageMarginLeft:0,pageMarginTop:0},t).getRangePointData(n,u);return O(d).map(e=>({top:e.top,bottom:e.bottom,left:e.left,right:e.right}))},Jm=(e,t,n=-1)=>{let r=t.findPositionByGlyph(e,n);if(!r)return;let i={...r,isBack:!0},{borderBoxPointGroup:a}=new p({docsLeft:0,docsTop:0,pageMarginLeft:0,pageMarginTop:0},t).getRangePointData(i,i),o=O(a)[0];return{top:o.top,bottom:o.bottom,left:o.left,right:o.right}},Ym=(e,t,n=0,r=0)=>{let i=qm({startOffset:t.startIndex,endOffset:t.endIndex+1,collapsed:!1},e);if(i)return{rects:i.map(e=>({top:e.top+r,bottom:e.bottom+r,left:e.left+n,right:e.right+n})),range:t}},Xm=(e,t,n=0,r=0)=>{var i;let a=e.findNodeByCharIndex(t.startIndex),o=a==null?void 0:a.parent,s=o==null?void 0:o.parent,c=s==null?void 0:s.parent,l=c==null?void 0:c.lines.find(e=>e.paragraphStart&&e.paragraphIndex===t.startIndex),u=l==null||(i=l.divides)==null||(i=i[0])==null||(i=i.glyphGroup)==null?void 0:i[0];if(!u||!u)return;let d=Jm(u,e);if(d)return{rect:{top:d.top+r,bottom:d.bottom+r,left:d.left+n,right:d.right+n},segmentId:void 0,segmentPageIndex:-1,paragraph:t}},Zm=(e,t=0,n=0)=>{var r,i,a,o,s;let c=e.getViewModel().getDataModel(),l=(r=(i=c.getBody())==null||(i=i.customRanges)==null?void 0:i.filter(e=>e.rangeType===oe.HYPERLINK))==null?[]:r,u=(a=(o=c.getBody())==null||(o=o.paragraphs)==null?void 0:o.filter(e=>{var t;return((t=e.bullet)==null?void 0:t.listType.indexOf(Ye.CHECK_LIST))===0}))==null?[]:a,d=(s=e.getSkeletonData())==null?void 0:s.pages[0].skeDrawings;return{links:l.map(r=>Ym(e,r,t,n)).filter(Boolean),checkLists:u.map(r=>Xm(e,r,t,n)).filter(Boolean),drawings:d?Array.from(d.keys()).map(e=>({drawingId:e,rect:{top:d.get(e).aTop,bottom:d.get(e).aTop+d.get(e).width,left:d.get(e).aLeft,right:d.get(e).aLeft+d.get(e).height},drawing:d.get(e)})):[]}};function Qm(e,t,n){var r,i,a,o;let s=(r=(i=t.documentSkeleton)==null||(i=i.getSkeletonData())==null?void 0:i.pages[0].height)==null?0:r,c=(a=(o=t.documentSkeleton)==null||(o=o.getSkeletonData())==null?void 0:o.pages[0].width)==null?0:a,l=t.verticalAlign,u=t.horizontalAlign,d=0;switch(l){case it.UNSPECIFIED:case it.BOTTOM:d=e.mergeInfo.endY-e.mergeInfo.startY-s;break;case it.MIDDLE:d=(e.mergeInfo.endY-e.mergeInfo.startY-s)/2;break;default:break}let f=0;switch(u){case je.RIGHT:f=e.mergeInfo.endX-e.mergeInfo.startX-c;break;case je.CENTER:f=(e.mergeInfo.endX-e.mergeInfo.startX-c)/2;break;case je.UNSPECIFIED:n&&(f=e.mergeInfo.endX-e.mergeInfo.startX-c);break;default:break}return{paddingLeft:f,paddingTop:d}}const $m=(e,t,n,r,a,o)=>{var s,c;let l=e.get(P),u=e.get(Xn),d=l.getUnit(t,L.UNIVER_SHEET);if(!d)return null;let f=d.getSheetBySheetId(n);if(!f)return null;let p=u.getRenderById(d.getUnitId()),m=p==null?void 0:p.with(Vl).getSkeletonParam(f.getSheetId()),h=m==null?void 0:m.skeleton;if(!h||!p)return;let g=h.getFont(r,a),_=g==null?void 0:g.documentSkeleton;if(!_)return null;let v=(s=_.getViewModel().getBody())==null||(s=s.customRanges)==null?void 0:s.find(e=>e.rangeId===o);if(!v)return null;let y=i,{actualColumn:b,actualRow:x}=h.getCellWithCoordByIndex(r,a);h.overflowCache.forValue((e,t,n)=>{n.startRow<=x&&n.endRow>=x&&n.startColumn<=b&&n.endColumn>=b&&(b=t,x=e)});let S=h.getCellWithCoordByIndex(x,b),C=f.getCell(S.actualRow,S.actualColumn),{topOffset:w=0,leftOffset:T=0}=(c=C==null?void 0:C.fontRenderExtension)==null?{}:c,{paddingLeft:E,paddingTop:D}=Qm(S,g,!1),O=qm({startOffset:v.startIndex,endOffset:v.endIndex,collapsed:!1},_);return{rects:O==null?void 0:O.map(e=>({top:e.top+S.mergeInfo.startY+D+w+y,bottom:e.bottom+S.mergeInfo.startY+D+w+y,left:e.left+S.mergeInfo.startX+E+T,right:e.right+S.mergeInfo.startX+E+T})),customRange:v,label:_.getViewModel().getBody().dataStream.slice(v.startIndex,v.endIndex+1)}},eh=(e,t,n,r,i,a)=>{var o,s;let c=e.get(Kf),l=c.getEditCellState();if(!l||!c.isVisible().visible)return null;let{editorUnitId:u,unitId:d,sheetId:f,row:p,column:m}=l;if(t!==d||n!==f||p!==r||m!==i)return null;let h=e.get(Xn),g=h.getRenderById(u),_=h.getRenderById(t);if(!g||!_)return null;let v=g.with(Ps).getSkeleton(),y=(o=_.with(Vl).getSkeletonParam(f))==null?void 0:o.skeleton;if(!v||!y)return null;let b=(s=v.getViewModel().getBody())==null||(s=s.customRanges)==null?void 0:s.find(e=>e.rangeId===a);if(!b)return null;let x=qm({startOffset:b.startIndex,endOffset:b.endIndex,collapsed:!1},v),S=g.engine.getCanvasElement().getBoundingClientRect();return{rects:x==null?void 0:x.map(e=>({top:e.top+S.top-4,bottom:e.bottom+S.top+4,left:e.left+S.left,right:e.right+S.left})),customRange:b,label:v.getViewModel().getBody().dataStream.slice(b.startIndex,b.endIndex+1)}};function th(e){let{workbook:t,worksheet:n,...r}=e;return r}let nh=class extends M{constructor(e,t){super(),this._univerInstanceService=e,this._renderManagerService=t,X(this,`_currentCell$`,new hs(null)),X(this,`_currentRichText$`,new hs(null)),X(this,`_currentClickedCell$`,new vs),X(this,`_currentDbClickedCell$`,new vs),X(this,`_currentCellWithEvent$`,new vs),X(this,`_currentPointerDownCell$`,new vs),X(this,`_currentPointerUpCell$`,new vs),X(this,`_currentHoveredRowHeader$`,new hs(null)),X(this,`_currentHoveredColHeader$`,new hs(null)),X(this,`_currentRowHeaderClick$`,new vs),X(this,`_currentColHeaderClick$`,new vs),X(this,`_currentRowHeaderDbClick$`,new vs),X(this,`_currentColHeaderDbClick$`,new vs),X(this,`_currentRowHeaderPointerDown$`,new vs),X(this,`_currentColHeaderPointerDown$`,new vs),X(this,`_currentRowHeaderPointerUp$`,new vs),X(this,`_currentColHeaderPointerUp$`,new vs),X(this,`currentCell$`,this._currentCell$.asObservable().pipe(Ss((e,t)=>{var n,r,i,a,o,s,c,l;return(e==null||(n=e.location)==null?void 0:n.unitId)===(t==null||(r=t.location)==null?void 0:r.unitId)&&(e==null||(i=e.location)==null?void 0:i.subUnitId)===(t==null||(a=t.location)==null?void 0:a.subUnitId)&&(e==null||(o=e.location)==null?void 0:o.row)===(t==null||(s=t.location)==null?void 0:s.row)&&(e==null||(c=e.location)==null?void 0:c.col)===(t==null||(l=t.location)==null?void 0:l.col)}))),X(this,`currentRichTextNoDistinct$`,this._currentRichText$.pipe(ws(e=>e&&{unitId:e.location.unitId,subUnitId:e.location.subUnitId,row:e.location.row,col:e.location.col,customRange:e.customRange,bullet:e.bullet,rect:e.rect,drawing:e.drawing}))),X(this,`currentRichText$`,this._currentRichText$.pipe(Ss((e,t)=>{var n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y;return(e==null||(n=e.location)==null?void 0:n.unitId)===(t==null||(r=t.location)==null?void 0:r.unitId)&&(e==null||(i=e.location)==null?void 0:i.subUnitId)===(t==null||(a=t.location)==null?void 0:a.subUnitId)&&(e==null||(o=e.location)==null?void 0:o.row)===(t==null||(s=t.location)==null?void 0:s.row)&&(e==null||(c=e.location)==null?void 0:c.col)===(t==null||(l=t.location)==null?void 0:l.col)&&(e==null||(u=e.customRange)==null?void 0:u.rangeId)===(t==null||(d=t.customRange)==null?void 0:d.rangeId)&&(e==null||(f=e.bullet)==null?void 0:f.startIndex)===(t==null||(p=t.bullet)==null?void 0:p.startIndex)&&(e==null||(m=e.customRange)==null?void 0:m.startIndex)===(t==null||(h=t.customRange)==null?void 0:h.startIndex)&&(e==null||(g=e.customRange)==null?void 0:g.endIndex)===(t==null||(_=t.customRange)==null?void 0:_.endIndex)&&(e==null||(v=e.drawing)==null?void 0:v.drawingId)===(t==null||(y=t.drawing)==null?void 0:y.drawingId)}),ws(e=>e&&{unitId:e.location.unitId,subUnitId:e.location.subUnitId,row:e.location.row,col:e.location.col,customRange:e.customRange,bullet:e.bullet,rect:e.rect,drawing:e.drawing}))),X(this,`currentCellPosWithEvent$`,this._currentCellWithEvent$.pipe(Ss((e,t)=>{var n,r,i,a,o,s,c,l;return(e==null||(n=e.location)==null?void 0:n.unitId)===(t==null||(r=t.location)==null?void 0:r.unitId)&&(e==null||(i=e.location)==null?void 0:i.subUnitId)===(t==null||(a=t.location)==null?void 0:a.subUnitId)&&(e==null||(o=e.location)==null?void 0:o.row)===(t==null||(s=t.location)==null?void 0:s.row)&&(e==null||(c=e.location)==null?void 0:c.col)===(t==null||(l=t.location)==null?void 0:l.col)}),ws(e=>e&&{unitId:e.location.unitId,subUnitId:e.location.subUnitId,row:e.location.row,col:e.location.col,event:e.event}))),X(this,`currentPosition$`,this._currentCell$.asObservable()),X(this,`currentClickedCell$`,this._currentClickedCell$.asObservable()),X(this,`currentDbClickedCell$`,this._currentDbClickedCell$.asObservable()),X(this,`currentPointerDownCell$`,this._currentPointerDownCell$.asObservable()),X(this,`currentPointerUpCell$`,this._currentPointerUpCell$.asObservable()),X(this,`currentHoveredRowHeader$`,this._currentHoveredRowHeader$.asObservable()),X(this,`currentHoveredColHeader$`,this._currentHoveredColHeader$.asObservable()),X(this,`currentRowHeaderClick$`,this._currentRowHeaderClick$.asObservable()),X(this,`currentColHeaderClick$`,this._currentColHeaderClick$.asObservable()),X(this,`currentRowHeaderDbClick$`,this._currentRowHeaderDbClick$.asObservable()),X(this,`currentColHeaderDbClick$`,this._currentColHeaderDbClick$.asObservable()),X(this,`currentRowHeaderPointerDown$`,this._currentRowHeaderPointerDown$.asObservable()),X(this,`currentColHeaderPointerDown$`,this._currentColHeaderPointerDown$.asObservable()),X(this,`currentRowHeaderPointerUp$`,this._currentRowHeaderPointerUp$.asObservable()),X(this,`currentColHeaderPointerUp$`,this._currentColHeaderPointerUp$.asObservable()),this._initCellDisposableListener()}dispose(){super.dispose(),this._currentCell$.complete(),this._currentClickedCell$.complete(),this._currentPointerDownCell$.complete(),this._currentPointerUpCell$.complete(),this._currentCellWithEvent$.complete(),this._currentRichText$.complete(),this._currentDbClickedCell$.complete(),this._currentHoveredRowHeader$.complete(),this._currentHoveredColHeader$.complete(),this._currentRowHeaderClick$.complete(),this._currentColHeaderClick$.complete(),this._currentRowHeaderDbClick$.complete(),this._currentColHeaderDbClick$.complete(),this._currentRowHeaderPointerDown$.complete(),this._currentColHeaderPointerDown$.complete(),this._currentRowHeaderPointerUp$.complete(),this._currentColHeaderPointerUp$.complete(),this.currentCellPosWithEvent$=Es(null),this.currentRichText$=Es(null)}_initCellDisposableListener(){this.disposeWithMe(this._univerInstanceService.getCurrentTypeOfUnit$(L.UNIVER_SHEET).subscribe(e=>{e||this._currentCell$.next(null)})),this.disposeWithMe(this._univerInstanceService.unitDisposed$.subscribe(e=>{var t,n;((t=this._currentCell$.getValue())==null?void 0:t.location.unitId)===e.getUnitId()&&this._currentCell$.next(null),((n=this._currentRichText$.getValue())==null?void 0:n.location.unitId)===e.getUnitId()&&this._currentRichText$.next(null)}))}_getCalcDeps(e){let t=this._univerInstanceService.getUnit(e,L.UNIVER_SHEET);if(!t)return null;let n=t.getActiveSheet();if(!n)return null;let r=this._renderManagerService.getRenderById(t.getUnitId());if(!r)return null;let i=r.with(Vl).getSkeletonParam(n.getSheetId());if(!i)return null;let a=r.with(_f);if(!(!(a!=null&&a.getCurrentScrollState())||!r))return{currentRender:r,workbook:t,worksheet:n,skeletonParam:i}}_calcActiveCell(e,t,n,r,i,a){var o,s,c;let l=Sp(e,t,n,r,i,a),u=r.skeleton;if(!l)return null;let{position:d,overflowLocation:f,location:p}=l,m=u.getFont(f.row,f.col),h=null,g=null,_=null,v=u.getCellWithCoordByIndex(f.row,f.col),y=n.getCell(f.row,f.col),{topOffset:b=0,leftOffset:x=0}=(o=y==null?void 0:y.fontRenderExtension)==null?{}:o;if(m!=null&&m.documentSkeleton){let{paddingLeft:e,paddingTop:t}=Qm(v,m,(y==null?void 0:y.v)!==null&&(y==null?void 0:y.v)!==void 0?!Number.isNaN(+y.v):!1),n=Zm(m.documentSkeleton,e,t),r=i-d.startX-x,o=a-d.startY-b;h=n.links.find(e=>e.rects.some(e=>e.left<=r&&r<=e.right&&e.top<=o&&o<=e.bottom)),g=n.checkLists.find(e=>e.rect.left<=r&&r<=e.rect.right&&e.rect.top<=o&&o<=e.rect.bottom),_=n.drawings.find(e=>e.rect.left<=r&&r<=e.rect.right&&e.rect.top<=o&&o<=e.rect.bottom)}let S=(s=(c=h==null?void 0:h.rects.pop())==null?g==null?void 0:g.rect:c)==null?_==null?void 0:_.rect:s,C=S&&(()=>{let e=S.top+v.mergeInfo.startY+b,t=S.bottom+v.mergeInfo.startY+b,n=S.left+v.mergeInfo.startX+x,r=S.right+v.mergeInfo.startX+x,i=v.mergeInfo.startY+b,a=v.mergeInfo.endY+b,o=v.mergeInfo.startX+x,s=v.mergeInfo.endX+x;return{top:Math.min(Math.max(e,i),i),bottom:Math.min(t,a),left:Math.min(Math.max(n,o),o),right:Math.min(r,s)}})();return{location:p,position:d,overflowLocation:f,customRange:h==null?void 0:h.range,bullet:g==null?void 0:g.paragraph,drawing:_,rect:C}}_calcActiveRowHeader(e,t,n){let r=this._getCalcDeps(e);if(!r)return;let{currentRender:i,worksheet:a,skeletonParam:o}=r,{scaleY:s}=i.scene.getAncestorScale(),c=i.scene.getViewports().find(e=>e.isHit(new fr(t,n)));if(!c||c.viewportKey!==H.VIEW_ROW_TOP&&c.viewportKey!==H.VIEW_ROW_BOTTOM)return;let l={x:c.viewportScrollX,y:c.viewportScrollY};return{unitId:e,index:o.skeleton.getRowIndexByOffsetY(n,s,l),subUnitId:a.getSheetId()}}_calcActiveColHeader(e,t,n){let r=this._getCalcDeps(e);if(!r)return;let{currentRender:i,worksheet:a,skeletonParam:o}=r,{scaleX:s}=i.scene.getAncestorScale(),c=i.scene.getViewports().find(e=>e.isHit(new fr(t,n)));if(!c||c.viewportKey!==H.VIEW_COLUMN_LEFT&&c.viewportKey!==H.VIEW_COLUMN_RIGHT)return;let l={x:c.viewportScrollX,y:c.viewportScrollY};return{unitId:e,index:o.skeleton.getColumnIndexByOffsetX(t,s,l),subUnitId:a.getSheetId()}}triggerPointerDown(e,t){let n=this._getCalcDeps(e);if(!n)return;let{currentRender:r,workbook:i,worksheet:a,skeletonParam:o}=n,s=this._calcActiveCell(r,i,a,o,t.offsetX,t.offsetY);if(s&&s.location){let{unitId:e,subUnitId:n,row:r,col:i}=th(s.location);this._currentPointerDownCell$.next({unitId:e,subUnitId:n,row:r,col:i,event:t})}}triggerPointerUp(e,t){let n=this._getCalcDeps(e);if(!n)return;let{currentRender:r,workbook:i,worksheet:a,skeletonParam:o}=n,s=this._calcActiveCell(r,i,a,o,t.offsetX,t.offsetY);if(s){let e=th(s.location);this._currentPointerUpCell$.next({...e,event:t})}}triggerMouseMove(e,t){let n=this._getCalcDeps(e);if(!n)return;let{currentRender:r,workbook:i,worksheet:a,skeletonParam:o}=n,s=this._calcActiveCell(r,i,a,o,t.offsetX,t.offsetY);this._currentCell$.next(s&&{location:th(s.location),position:s.position}),this._currentRichText$.next(s&&{...s,location:th(s.overflowLocation)}),this._currentCellWithEvent$.next(s&&{...s,location:th(s.location),event:t})}triggerClick(e,t,n){let r=this._getCalcDeps(e);if(!r)return;let{currentRender:i,workbook:a,worksheet:o,skeletonParam:s}=r,c=this._calcActiveCell(i,a,o,s,t,n);c&&this._currentClickedCell$.next({...c,location:th(c.location)})}triggerDbClick(e,t,n){let r=this._getCalcDeps(e);if(!r)return;let{currentRender:i,workbook:a,worksheet:o,skeletonParam:s}=r,c=this._calcActiveCell(i,a,o,s,t,n);c&&this._currentDbClickedCell$.next({...c,location:th(c.location)})}triggerScroll(){this._currentCell$.next(null)}triggerRowHeaderClick(e,t,n){let r=this._calcActiveRowHeader(e,t,n);r&&this._currentRowHeaderClick$.next(r)}triggerColHeaderClick(e,t,n){let r=this._calcActiveColHeader(e,t,n);r&&this._currentColHeaderClick$.next(r)}triggerRowHeaderDbClick(e,t,n){let r=this._calcActiveRowHeader(e,t,n);r&&this._currentRowHeaderDbClick$.next(r)}triggerColHeaderDbClick(e,t,n){let r=this._calcActiveColHeader(e,t,n);r&&this._currentColHeaderDbClick$.next(r)}triggerRowHeaderMouseMove(e,t,n){this._currentHoveredRowHeader$.next(this._calcActiveRowHeader(e,t,n))}triggerColHeaderMouseMove(e,t,n){this._currentHoveredColHeader$.next(this._calcActiveColHeader(e,t,n))}triggerRowHeaderPoniterDown(e,t,n){let r=this._calcActiveRowHeader(e,t,n);r&&this._currentRowHeaderPointerDown$.next(r)}triggerColHeaderPoniterDown(e,t,n){let r=this._calcActiveColHeader(e,t,n);r&&this._currentColHeaderPointerDown$.next(r)}triggerRowHeaderPoniterUp(e,t,n){let r=this._calcActiveRowHeader(e,t,n);r&&this._currentRowHeaderPointerUp$.next(r)}triggerColHeaderPoniterUp(e,t,n){let r=this._calcActiveColHeader(e,t,n);r&&this._currentColHeaderPointerUp$.next(r)}};nh=Q([Z(0,P),Z(1,Xn)],nh);let rh=class extends M{get active(){return this._active}constructor(e,t,n,r){super(),this._context=e,this._hoverManagerService=t,this._sheetSkeletonManagerService=n,this._scrollManagerService=r,X(this,`_active`,!1),this._initPointerEvent(),this._initScrollEvent()}_initPointerEvent(){let e=new ge,t=t=>{if(e.dispose(),!t)return;let{mainComponent:n,unitId:r,components:i}=this._context;if(!n)return;e.add(n.onPointerEnter$.subscribeEvent(e=>{this._active=!0})),e.add(vt(n.onPointerMove$).subscribe(e=>{this._active=!0,this._hoverManagerService.triggerMouseMove(r,e)})),e.add(n.onPointerDown$.subscribeEvent(e=>{this._hoverManagerService.triggerPointerDown(r,e)})),e.add(n.onPointerUp$.subscribeEvent(e=>{this._hoverManagerService.triggerPointerUp(r,e)})),e.add(n.onClick$.subscribeEvent(e=>{this._hoverManagerService.triggerClick(r,e.offsetX,e.offsetY)})),e.add(n.onDblclick$.subscribeEvent(e=>{this._hoverManagerService.triggerDbClick(r,e.offsetX,e.offsetY)})),e.add(n.onPointerLeave$.subscribeEvent(()=>{this._active=!1}));let a=i.get(Ol.ROW),o=i.get(Ol.COLUMN);a&&(e.add(a.onPointerMove$.subscribeEvent(e=>{this._hoverManagerService.triggerRowHeaderMouseMove(r,e.offsetX,e.offsetY)})),e.add(a.onPointerDown$.subscribeEvent(e=>{this._hoverManagerService.triggerRowHeaderPoniterDown(r,e.offsetX,e.offsetY)})),e.add(a.onPointerUp$.subscribeEvent(e=>{this._hoverManagerService.triggerRowHeaderPoniterUp(r,e.offsetX,e.offsetY),this._hoverManagerService.triggerRowHeaderClick(r,e.offsetX,e.offsetY)})),e.add(a.onDblclick$.subscribeEvent(e=>{this._hoverManagerService.triggerRowHeaderDbClick(r,e.offsetX,e.offsetY)}))),o&&(e.add(o.onPointerMove$.subscribeEvent(e=>{this._hoverManagerService.triggerColHeaderMouseMove(r,e.offsetX,e.offsetY)})),e.add(o.onPointerDown$.subscribeEvent(e=>{this._hoverManagerService.triggerColHeaderPoniterDown(r,e.offsetX,e.offsetY)})),e.add(o.onPointerUp$.subscribeEvent(e=>{this._hoverManagerService.triggerColHeaderPoniterUp(r,e.offsetX,e.offsetY),this._hoverManagerService.triggerColHeaderClick(r,e.offsetX,e.offsetY)})),e.add(o.onDblclick$.subscribeEvent(e=>{this._hoverManagerService.triggerColHeaderDbClick(r,e.offsetX,e.offsetY)})))};t(this._sheetSkeletonManagerService.getCurrentParam()),this.disposeWithMe(this._sheetSkeletonManagerService.currentSkeleton$.subscribe(e=>{t(e)}))}_initScrollEvent(){this.disposeWithMe(this._scrollManagerService.validViewportScrollInfo$.subscribe(()=>this._hoverManagerService.triggerScroll()))}};rh=Q([Z(1,F(nh)),Z(2,F(Vl)),Z(3,F(_f))],rh);const ih=`UNIVER_SHEET_PERMISSION_ALERT_DIALOG_ID`,ah=`UNIVER_SHEET_PERMISSION_ALERT_DIALOG`;let oh=class extends M{constructor(e,t,n,r,i,a,o,s){super(),this._commandService=e,this._univerInstanceService=t,this._permissionService=n,this._dialogService=r,this._rangeProtectionRuleModel=i,this._localeService=a,this._contextService=o,this._sheetPermissionCheckController=s,X(this,`disposableCollection`,new ge),this._initialize(),this._initUIEvent()}_initUIEvent(){this.disposeWithMe(this._sheetPermissionCheckController.triggerPermissionUIEvent$.subscribe(e=>{this._haveNotPermissionHandle(e)}))}_haveNotPermissionHandle(e){let t={id:ih,title:{title:`permission.dialog.alert`},children:{label:ah,errorMsg:e},width:320,destroyOnClose:!0,showOk:!0,onClose:()=>{this._dialogService.close(ih)},onOk:()=>{this._dialogService.close(ih)},className:`sheet-permission-user-dialog`};this._permissionService.getShowComponents()&&this._dialogService.open(t)}_getPermissionCheck(e,t){let n=!0,r=``;switch(e){case u.id:case l.id:if(this._contextService.getContextValue(we)===!0||this._contextService.getContextValue(be)===!0)break;n=this._sheetPermissionCheckController.permissionCheckWithoutRange({workbookTypes:[G],rangeTypes:[U],worksheetTypes:[Uo,K]}),r=this._localeService.t(`permission.dialog.editErr`);break;case op.id:if(t.visible===!1)break;n=this._sheetPermissionCheckController.permissionCheckWithoutRange({workbookTypes:[G],rangeTypes:[U],worksheetTypes:[Uo,K]}),r=this._localeService.t(`permission.dialog.editErr`);break;case nd.id:n=this._sheetPermissionCheckController.permissionCheckWithoutRange({workbookTypes:[G],rangeTypes:[U],worksheetTypes:[K,Wo]}),r=this._localeService.t(`permission.dialog.pasteErr`);break;case $u.id:n=this._permissionCheckByPaste(t),r=this._localeService.t(`permission.dialog.pasteErr`);break;case gf.id:n=this._sheetPermissionCheckController.permissionCheckWithRanges({workbookTypes:[G],rangeTypes:[U],worksheetTypes:[K,Uo,Ho]}),r=this._localeService.t(`permission.dialog.commonErr`);break;case ia.id:case Td.id:case Ed.id:case Dd.id:case Od.id:n=this._sheetPermissionCheckController.permissionCheckWithRanges({workbookTypes:[G],rangeTypes:[U],worksheetTypes:[Ho,K]}),r=this._localeService.t(`permission.dialog.setStyleErr`);break;case Xu.id:var i;n=this._sheetPermissionCheckController.permissionCheckWithRanges({workbookTypes:[So],rangeTypes:[Pi],worksheetTypes:[No]}),r=this._localeService.t(`permission.dialog.copyErr`),(i=this._permissionService.getPermissionPoint(new So(this._univerInstanceService.getCurrentUnitForType(L.UNIVER_SHEET).getUnitId()).id))!=null&&i.value||(r=this._localeService.t(`permission.dialog.workbookCopyErr`));break;case Zu.id:var a;n=this._sheetPermissionCheckController.permissionCheckWithRanges({workbookTypes:[So,G],rangeTypes:[Pi,U],worksheetTypes:[No,K]}),r=this._localeService.t(`permission.dialog.copyErr`),(a=this._permissionService.getPermissionPoint(new So(this._univerInstanceService.getCurrentUnitForType(L.UNIVER_SHEET).getUnitId()).id))!=null&&a.value||(r=this._localeService.t(`permission.dialog.workbookCopyErr`));break;default:break}n||this._sheetPermissionCheckController.blockExecuteWithoutPermission(r)}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.beforeCommandExecuted(e=>{this._getPermissionCheck(e.id,e==null?void 0:e.params)}))}_permissionCheckByPaste(e){return e.value===Bu.SPECIAL_PASTE_VALUE||e.value===Bu.SPECIAL_PASTE_FORMULA||e.value===Bu.SPECIAL_PASTE_FORMAT?this._sheetPermissionCheckController.permissionCheckWithRanges({workbookTypes:[G],rangeTypes:[U],worksheetTypes:[Ho,K]}):this._sheetPermissionCheckController.permissionCheckWithRanges({workbookTypes:[G],rangeTypes:[U],worksheetTypes:[Uo,Ho,K]})}};oh=Q([Z(0,N),Z(1,P),Z(2,Le),Z(3,pn),Z(4,F(Fi)),Z(5,F(Ue)),Z(6,Fe),Z(7,F(uo))],oh);var sh=function(e){return e[e.ROW=0]=`ROW`,e[e.COLUMN=1]=`COLUMN`,e}(sh||{}),ch=function(e){return e[e.NONE=0]=`NONE`,e[e.X=1]=`X`,e[e.Y=2]=`Y`,e[e.ALL=3]=`ALL`,e}(ch||{});const lh=mt(`freezePermissionCheck`);let uh=class extends M{constructor(e,t,n,r,i,a,o,s){super(),this._context=e,this._sheetSkeletonManagerService=t,this._commandService=n,this._selectionManagerService=r,this._scrollManagerService=i,this._themeService=a,this._sheetInterceptorService=o,this._injector=s,X(this,`_rowFreezeHeaderRect`,void 0),X(this,`_rowFreezeMainRect`,void 0),X(this,`_columnFreezeHeaderRect`,void 0),X(this,`_columnFreezeMainRect`,void 0),X(this,`_freezeDownSubs`,void 0),X(this,`_freezePointerEnterSubs`,void 0),X(this,`_freezePointerLeaveSubs`,void 0),X(this,`_scenePointerMoveSub`,void 0),X(this,`_scenePointerUpSub`,void 0),X(this,`_changeToRow`,-1),X(this,`_changeToColumn`,-1),X(this,`_changeToOffsetX`,0),X(this,`_changeToOffsetY`,0),X(this,`_activeViewport`,null),X(this,`_freezeNormalHeaderColor`,``),X(this,`_freezeNormalMainColor`,``),X(this,`_freezeActiveColor`,``),X(this,`_freezeHoverColor`,``),X(this,`_lastFreeze`,void 0),X(this,`interceptor`,new Ve({FREEZE_PERMISSION_CHECK:lh})),this._initialize()}dispose(){super.dispose()}_initialize(){this._skeletonListener(),this._commandExecutedListener(),this._themeChangeListener(),this._interceptorCommands(),this._bindViewportScroll(),this._zoomRefresh()}_createFreeze(e=sh.ROW,t){var n;let r=t==null?this._getFreeze():t;if(r==null)return null;let i=(n=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:n.skeleton,{startRow:a,startColumn:o}=r,s=this._getPositionByIndex(a,o);if(s==null||i==null)return null;let c=this._getSheetObject().scene,{startX:l,startY:u}=s,{rowTotalHeight:d,columnTotalWidth:f,rowHeaderWidthAndMarginLeft:p,columnHeaderHeightAndMarginTop:m}=i;this._changeToRow=a,this._changeToColumn=o,this._changeToOffsetX=l,this._changeToOffsetY=u;let h=Math.max(c.scaleX,c.scaleY),g=2/Math.max(1,h);if(e===sh.ROW){(a===-1||a===0)&&(g*=2);let e=g;this._rowFreezeHeaderRect=new er(`__SpreadsheetFreezeRowHeaderName__`,{fill:this._freezeNormalHeaderColor,width:p,height:g,left:0,top:u-e,zIndex:3});let t=this._freezeNormalHeaderColor;(a===-1||a===0)&&(t=this._freezeNormalMainColor),this._rowFreezeMainRect=new er(`__SpreadsheetFreezeRowMainName__`,{fill:t,width:f,height:g,left:p,top:u-e,zIndex:3}),c.addObjects([this._rowFreezeHeaderRect,this._rowFreezeMainRect],10)}else{(o===-1||o===0)&&(g*=2);let e=g;this._columnFreezeHeaderRect=new er(`__SpreadsheetFreezeColumnHeaderName__`,{fill:this._freezeNormalHeaderColor,width:g,height:m,left:l-e,top:0,zIndex:3});let t=this._freezeNormalHeaderColor;(o===-1||o===0)&&(t=this._freezeNormalMainColor),this._columnFreezeMainRect=new er(`__SpreadsheetFreezeColumnMainName__`,{fill:t,width:g,height:d,left:l-e,top:m,zIndex:3}),c.addObjects([this._columnFreezeHeaderRect,this._columnFreezeMainRect],10)}this._eventBinding(e)}_eventBinding(e=sh.ROW){let t=this._rowFreezeHeaderRect,n=this._rowFreezeMainRect;e===sh.COLUMN&&(t=this._columnFreezeHeaderRect,n=this._columnFreezeMainRect);let r=this._getSheetObject();if(r==null)return;let{scene:i}=r;if(this._freezePointerEnterSubs=new ys,this._freezePointerLeaveSubs=new ys,this._freezeDownSubs=new ys,n){let e=n.onPointerEnter$.subscribeEvent(()=>{if(!this.interceptor.fetchThroughInterceptors(lh)(!0,null))return!1;t==null||t.setProps({fill:this._freezeHoverColor,zIndex:4}),i.setCursor(Wn.GRAB)});this._freezePointerEnterSubs.add(e);let r=n.onPointerLeave$.subscribeEvent(()=>{t==null||t.setProps({fill:this._freezeNormalHeaderColor,zIndex:3}),i.resetCursor()});this._freezePointerLeaveSubs.add(r)}if(t){let e=t.onPointerEnter$.subscribeEvent(()=>{if(!this.interceptor.fetchThroughInterceptors(lh)(!0,null))return!1;t==null||t.setProps({fill:this._freezeHoverColor,zIndex:4}),i.setCursor(Wn.GRAB)});this._freezePointerEnterSubs.add(e);let n=t.onPointerLeave$.subscribeEvent(()=>{t==null||t.setProps({fill:this._freezeNormalHeaderColor,zIndex:3}),i.resetCursor()});this._freezePointerLeaveSubs.add(n)}let a=t==null?void 0:t.onPointerDown$.subscribeEvent(r=>{this._freezeDown(r,t,n,e)});a&&this._freezeDownSubs.add(a);let o=n==null?void 0:n.onPointerDown$.subscribeEvent(r=>{this._freezeDown(r,t,n,e)});o&&this._freezeDownSubs.add(o)}_getCurrentLastVisible(){var e,t,n,r,i,a,o;let s=this._getSheetObject();if(s==null)return;let c=(e=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:e.skeleton;if(c==null)return;let l=s.scene,u=Math.max(l.scaleX,l.scaleY),d=this._scrollManagerService.getCurrentScrollState(),f=(s.engine.height-c.columnHeaderHeight)/u,p=(s.engine.width-c.rowHeaderWidth)/u,m=(t=d==null?void 0:d.sheetViewStartRow)==null?0:t,h=m===0?-((n=d==null?void 0:d.offsetY)==null?0:n):c.rowHeightAccumulation[m-1]-((r=d==null?void 0:d.offsetY)==null?0:r),g=0,_=!1;for(let e=m,t=c.rowHeightAccumulation.length;e<t;e++)if(c.rowHeightAccumulation[e]-h>f){g=e,_=!0;break}_||(g=c.rowHeightAccumulation.length-1);let v=(i=d==null?void 0:d.sheetViewStartColumn)==null?0:i,y=v===0?-((a=d==null?void 0:d.offsetX)==null?0:a):c.columnWidthAccumulation[v-1]-((o=d==null?void 0:d.offsetX)==null?0:o),b=0,x=!1;for(let e=v,t=c.columnWidthAccumulation.length;e<t;e++)if(c.columnWidthAccumulation[e]-y>p){b=e,x=!0;break}return x||(b=c.columnWidthAccumulation.length-1),{lastRow:g,lastColumn:b}}_getActiveViewport(e){var t;let n=(t=this._getSheetObject())==null?void 0:t.scene.getViewports();return n&&n.find(t=>t.isHit(new fr(e.offsetX,e.offsetY)))||null}_freezeDown(e,t,n,r=sh.ROW){var i;let a=(i=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:i.skeleton;if(a==null)return;let o=this._getSheetObject();if(o==null)return;if(!this.interceptor.fetchThroughInterceptors(lh)(!0,null))return!1;let{scene:s}=o;s.setCursor(Wn.GRABBING),s.disableObjectsEvent();let c=this._getCurrentLastVisible(),l=c===void 0?1/0:a.rowHeightAccumulation[c.lastRow],u=c===void 0?1/0:a.columnWidthAccumulation[c.lastColumn-1]+a.rowHeaderWidth;this._activeViewport=null;let d=this._getFreeze();d&&(this._changeToColumn=d.startColumn,this._changeToRow=d.startRow),this._scenePointerMoveSub=s.onPointerMove$.subscribeEvent(e=>{let i=this._getActiveViewport(e),{startX:o,startY:d,row:f,column:p}=Pf(e.offsetX,e.offsetY,s,a,i||void 0,!0);if(!this.interceptor.fetchThroughInterceptors(lh)(!0,null))return!1;s.setCursor(Wn.GRABBING);let m=2/Math.max(s.scaleX,s.scaleY);if(r===sh.ROW){var h,g;(h=t.transformByState({top:Math.min(d,l)-m/2}))==null||h.setProps({fill:this._freezeActiveColor}),(g=n.transformByState({top:Math.min(d,l)-m/2}))==null||g.setProps({fill:this._freezeNormalHeaderColor}),this._changeToRow=c===void 0?f:Math.min(f,c.lastRow),this._changeToOffsetY=Math.min(d,l),this._activeViewport=i}else{var _,v;(_=t.transformByState({left:Math.min(o,u)-m/2}))==null||_.setProps({fill:this._freezeActiveColor}),(v=n.transformByState({left:Math.min(o,u)-m/2}))==null||v.setProps({fill:this._freezeNormalHeaderColor}),this._changeToColumn=c===void 0?p:Math.min(p,c.lastColumn),this._changeToOffsetX=o,this._activeViewport=i}}),this._scenePointerUpSub=s.onPointerUp$.subscribeEvent(()=>{var e,i;s.resetCursor(),s.enableObjectsEvent(),this._clearObserverEvent();let{rowHeaderWidthAndMarginLeft:o,columnHeaderHeightAndMarginTop:c}=a;r===sh.ROW&&(this._changeToRow===0||this._changeToRow===-1)||r===sh.COLUMN&&(this._changeToColumn===0||this._changeToColumn===-1)?(t.setProps({fill:this._freezeNormalHeaderColor}),n.setProps({fill:this._freezeNormalMainColor})):(t==null||t.setProps({fill:this._freezeNormalHeaderColor}),n==null||n.setProps({fill:this._freezeNormalHeaderColor}));let l=2/Math.max(s.scaleX,s.scaleY);r===sh.ROW?(this._changeToRow===0||this._changeToRow===-1)&&(t.transformByState({top:c-l}),n.transformByState({top:c-l})):(this._changeToColumn===0||this._changeToColumn===-1)&&(t.transformByState({left:o-l}),n.transformByState({left:o-l}));let{sheetViewStartRow:u,sheetViewStartColumn:d}=this._scrollManagerService.getCurrentScrollState()||{sheetViewStartRow:0,sheetViewStartColumn:0};if(d==null||u==null)return;let f=this._context.unit,p=f.getActiveSheet();if(!p)return;let m=(e=p.getConfig())==null?void 0:e.freeze,h=(m==null?void 0:m.xSplit)||0,g=(m==null?void 0:m.ySplit)||0,_=(i=this._activeViewport)==null?void 0:i.viewportKey;r===sh.ROW&&(g=!_||_===H.VIEW_LEFT_TOP||_===H.VIEW_MAIN_LEFT_TOP||_===H.VIEW_MAIN_TOP||_===H.VIEW_ROW_TOP?this._changeToRow-(m.startRow-m.ySplit):this._changeToRow-u,g=g<0?0:g),r===sh.COLUMN&&(h=!_||_===H.VIEW_LEFT_TOP||_===H.VIEW_MAIN_LEFT_TOP||_===H.VIEW_MAIN_LEFT||_===H.VIEW_COLUMN_LEFT?this._changeToColumn-(m.startColumn-m.xSplit):this._changeToColumn-d,h=h<0?0:h),this._commandService.executeCommand(ha.id,{startRow:g===0?-1:this._changeToRow,startColumn:h===0?-1:this._changeToColumn,ySplit:g,xSplit:h,unitId:f.getUnitId(),subUnitId:p.getSheetId()})})}_getViewports(){let e=this._getSheetObject();if(e==null)return;let{scene:t}=e,n=t.getViewport(H.VIEW_COLUMN_LEFT),r=t.getViewport(H.VIEW_COLUMN_RIGHT),i=t.getViewport(H.VIEW_ROW_TOP),a=t.getViewport(H.VIEW_ROW_BOTTOM),o=t.getViewport(H.VIEW_LEFT_TOP),s=t.getViewport(H.VIEW_MAIN),c=t.getViewport(H.VIEW_MAIN_LEFT_TOP),l=t.getViewport(H.VIEW_MAIN_LEFT),u=t.getViewport(H.VIEW_MAIN_TOP);if(!(n==null||r==null||i==null||a==null||o==null||s==null||c==null||l==null||u==null))return{viewMain:s,viewMainLeftTop:c,viewMainLeft:l,viewMainTop:u,viewColumnLeft:n,viewColumnRight:r,viewRowTop:i,viewRowBottom:a,viewLeftTop:o}}_bindViewportScroll(){let e=this._getViewports();if(!e)return;let{viewRowBottom:t,viewColumnRight:n,viewMainLeft:r,viewMainTop:i}=e;this.disposeWithMe(this._scrollManagerService.validViewportScrollInfo$.subscribe(e=>{if(!e)return;let{scrollX:a,scrollY:o,viewportScrollX:s,viewportScrollY:c}=e;t.isActive&&t.updateScrollVal({scrollY:o,viewportScrollY:c}),n.isActive&&n.updateScrollVal({scrollX:a,viewportScrollX:s}),r.isActive&&r.updateScrollVal({scrollY:o,viewportScrollY:c}),i.isActive&&i.updateScrollVal({scrollX:a,viewportScrollX:s})}))}_updateViewport(e=-1,t=-1,n=0,r=0,i=ch.ALL){var a;let o=(a=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:a.skeleton;if(o==null)return;let{rowHeaderWidthAndMarginLeft:s,columnHeaderHeightAndMarginTop:c}=o,l=this._getViewports();if(!l)return;let{viewMain:u,viewMainLeftTop:d,viewMainLeft:f,viewMainTop:p,viewColumnLeft:m,viewColumnRight:h,viewRowTop:g,viewRowBottom:_,viewLeftTop:v}=l;h.resizeWhenFreezeChange({left:s,top:0,height:c+1,right:0}),_.resizeWhenFreezeChange({left:0,top:c,bottom:0,width:s+1}),v.resizeWhenFreezeChange({left:0,top:0,width:s+1,height:c});let y=!0,b=!0;d.enable(),(e===-1||e===0)&&(y=!1),(t===-1||t===0)&&(b=!1);let x=o.getNoMergeCellWithCoordByIndex(e-n,t-r,!1),S=o.getNoMergeCellWithCoordByIndex(e,t,!1);if(d.disable(),p.disable(),f.disable(),g.disable(),m.disable(),d.resetPadding(),p.resetPadding(),f.resetPadding(),g.resetPadding(),m.resetPadding(),y===!1&&b===!1)u.resizeWhenFreezeChange({left:s,top:c,bottom:0,right:0}),u.resetPadding(),f.resizeWhenFreezeChange({left:s,top:c,bottom:0,width:0}),p.resizeWhenFreezeChange({left:s,top:c,height:0,right:0}),d.resizeWhenFreezeChange({left:s,top:c,width:0,height:0}),g.resizeWhenFreezeChange({left:0,top:c,width:s+1,height:0}),m.resizeWhenFreezeChange({left:0,top:0,height:c+1,width:0});else if(y===!0&&b===!1){let e=S.startY-x.startY;u.resizeWhenFreezeChange({left:s,top:c+e,bottom:0,right:0}),u.setPadding({startY:x.startY,endY:S.startY,startX:0,endX:0}),i&ch.Y&&this._commandService.executeCommand(zf.id,{sheetViewStartRow:0,offsetY:0}),p.resizeWhenFreezeChange({left:s,top:c,height:e,right:0}),p.updateScrollVal({viewportScrollY:x.startY,rawScrollX:u.scrollX,viewportScrollX:u.viewportScrollX}),g.resizeWhenFreezeChange({left:0,top:c,width:s+1,height:e}),g.updateScrollVal({viewportScrollY:x.startY}),_.resizeWhenFreezeChange({left:0,top:c+e,bottom:0,width:s+1}),p.enable(),g.enable()}else if(y===!1&&b===!0){let e=S.startX-x.startX;u.resizeWhenFreezeChange({left:s+e,top:c,bottom:0,right:0}),u.setPadding({startX:x.startX,endX:S.startX,startY:0,endY:0}),i&ch.X&&this._commandService.executeCommand(zf.id,{sheetViewStartColumn:0,offsetX:0}),f.resizeWhenFreezeChange({left:s,top:c,width:e,bottom:0,right:0}),f.updateScrollVal({viewportScrollX:x.startX,rawScrollY:u.scrollY,viewportScrollY:u.viewportScrollY}),m.resizeWhenFreezeChange({left:s,top:0,width:e,height:c+1}),m.updateScrollVal({viewportScrollX:x.startX}),h.resizeWhenFreezeChange({left:s+e,top:0,height:c+1,right:0}),f.enable(),m.enable()}else{let e=S.startX-x.startX,t=S.startY-x.startY;u.resizeWhenFreezeChange({left:s+e,top:c+t,bottom:0,right:0}),u.setPadding({startY:x.startY,endY:S.startY,startX:x.startX,endX:S.startX}),i&&this._commandService.executeCommand(zf.id,{...i&ch.X?{sheetViewStartColumn:0,offsetX:0}:null,...i&ch.Y?{sheetViewStartRow:0,offsetY:0}:null}),f.resizeWhenFreezeChange({left:s,top:c+t,width:e,bottom:0}),f.updateScrollVal({viewportScrollX:x.startX,rawScrollY:u.scrollY,viewportScrollY:u.viewportScrollY}),p.resizeWhenFreezeChange({left:s+e,top:c,height:t,right:0}),p.updateScrollVal({viewportScrollY:x.startY,rawScrollX:u.scrollX,viewportScrollX:u.viewportScrollX}),d.resizeWhenFreezeChange({left:s,top:c,width:e,height:t}),d.updateScrollVal({viewportScrollX:x.startX,viewportScrollY:x.startY}),g.resizeWhenFreezeChange({left:0,top:c,width:s+1,height:t}),g.updateScrollVal({viewportScrollY:x.startY}),_.resizeWhenFreezeChange({left:0,top:c+t,bottom:0,width:s+1}),m.resizeWhenFreezeChange({left:s,top:0,width:e,height:c+1}),m.updateScrollVal({viewportScrollX:x.startX}),h.resizeWhenFreezeChange({left:s+e,top:0,height:c+1,right:0}),d.enable(),p.enable(),f.enable(),g.enable(),m.enable()}}_skeletonListener(){this.disposeWithMe(Vt(this._sheetSkeletonManagerService.currentSkeleton$.subscribe(e=>{[Ua.id,hi.id,gi.id].includes((e==null?void 0:e.commandId)||``)&&this._refreshCurrent()})))}_refreshCurrent(){let e=this._context.unit.getActiveSheet();if(!e)return;let{startRow:t=-1,startColumn:n=-1,ySplit:r=0,xSplit:i=0}=e.getConfig().freeze;this._refreshFreeze(t,n,r,i,ch.NONE)}_themeChangeListener(){this._themeChange(this._themeService.getCurrentTheme()),this.disposeWithMe(this._themeService.currentTheme$.subscribe(e=>{this._clearFreeze(),this._themeChange(e),this._refreshCurrent()}))}_themeChange(e){this._freezeNormalHeaderColor=bt(e,`gray.300`),this._freezeNormalMainColor=new ae(this._freezeNormalHeaderColor).setAlpha(.01).toRgbString(),this._freezeActiveColor=bt(e,`primary.600`),this._freezeHoverColor=bt(e,`gray.500`)}_interceptorCommands(){this.disposeWithMe(this._sheetInterceptorService.interceptCommand({getMutations:e=>{let t={redos:[],undos:[]},n=this._getFreeze();if(!n)return t;let r=e=>{let n=this._context.unit,r=n.getUnitId(),i=n.getActiveSheet();if(!i)return t;let a=i.getSheetId();this._refreshFreeze(e.startRow,e.startColumn,e.ySplit,e.xSplit,ch.NONE);let o={...e,unitId:r,subUnitId:a,resetScroll:!1},s=_a(this._injector,o);return{undos:[{id:ga.id,params:s}],redos:[{id:ga.id,params:o}]}};if(e.id===vi.id){let{range:t,direction:i}=e.params,a=t.endRow-t.startRow+1;if(t.startRow<n.startRow||t.startRow+1===n.startRow&&i===j.UP)return r({...n,startRow:Math.max(1,n.startRow+a),ySplit:Math.max(1,n.ySplit+a)})}if(e.id===ci.id){let{range:t,direction:i}=e.params,a=t.endColumn-t.startColumn+1;if(t.startColumn<n.startColumn||t.startColumn+1===n.startColumn&&i===j.LEFT)return r({...n,startColumn:Math.max(1,n.startColumn+a),xSplit:Math.max(1,n.xSplit+a)})}if(e.id===Ei.id){let i=this._selectionManagerService.getCurrentSelections(),{fromRange:{startColumn:a},toRange:{startColumn:o}}=e.params,s=i==null?void 0:i.filter(e=>e.range.rangeType===I.COLUMN&&e.range.startColumn<=a&&a<=e.range.endColumn);if(!(s!=null&&s.length))return t;let c=s[0].range,l={...c,startColumn:o,endColumn:o+c.endColumn-c.startColumn};if(!n||n.startColumn<=0||c.startColumn>=n.startColumn&&l.startColumn>=n.startColumn||c.startColumn===l.startColumn||c.endColumn<n.startColumn&&l.startColumn<n.startColumn)return t;let u=c.endColumn-c.startColumn+1,d=Math.max(Math.min(n.startColumn,c.endColumn+1)-c.startColumn,0),f,p;return l.startColumn>=n.startColumn?(f=Math.max(n.startColumn-d,1),p=Math.max(n.xSplit-d,1)):(f=n.startColumn+u-d,p=n.xSplit+u-d),r({...n,startColumn:f,xSplit:p})}if(e.id===Ai.id){let i=this._selectionManagerService.getCurrentSelections(),{fromRange:{startRow:a},toRange:{startRow:o}}=e.params,s=i==null?void 0:i.filter(e=>e.range.rangeType===I.ROW&&e.range.startRow<=a&&a<=e.range.endRow);if(!(s!=null&&s.length))return t;let c=s[0].range,l={...c,startRow:o,endRow:o+c.endRow-c.startRow};if(!n||n.startRow<=0||c.startRow>=n.startRow&&l.startRow>=n.startRow||c.startRow===l.startRow||c.endRow<n.startRow&&l.startRow<n.startRow)return t;let u=c.endRow-c.startRow+1,d=Math.max(Math.min(n.startRow,c.endRow+1)-c.startRow,0),f,p;return l.startRow>=n.startRow?(f=Math.max(n.startRow-d,1),p=Math.max(n.ySplit-d,1)):(f=n.startRow+u-d,p=n.ySplit+u-d),r({...n,startRow:f,ySplit:p})}if(e.id===zi.id||e.id===Ui.id){let t=e.params,i=t.range;if(i.rangeType===I.COLUMN&&i.startColumn<n.startColumn){let e=Math.min(n.startColumn,i.endColumn+1)-i.startColumn;return r({...n,startColumn:Math.max(1,n.startColumn-e),xSplit:Math.max(1,n.xSplit-e)})}if(t.range.rangeType===I.ROW&&i.startRow<n.startRow){let e=Math.min(n.startRow,i.endRow+1)-i.startRow;return r({...n,startRow:Math.max(1,n.startRow-e),ySplit:Math.max(1,n.ySplit-e)})}}return t}}))}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{switch(e.id){case ga.id:case Jf.id:{let t=this._lastFreeze,n=this._context.unit,r=n.getActiveSheet(),i=e.params,{unitId:a,subUnitId:o}=i;if(!(a===n.getUnitId()&&o===(r==null?void 0:r.getSheetId())))return;let s=r.getConfig().freeze;if(this._lastFreeze=s,s==null)return;let c=ch.NONE,{startRow:l=-1,startColumn:u=-1,ySplit:d=0,xSplit:f=0}=s;(!t||t.startRow!==l||t.ySplit!==d)&&(c|=ch.Y),(!t||t.startColumn!==u||t.xSplit!==f)&&(c|=ch.X),i.resetScroll===!1&&(c=ch.NONE),this._refreshFreeze(l,u,d,f,c)}break;case to.id:{let t=this._getFreeze(),n=t&&e.params.ranges.some(e=>e.startRow<t.startRow);e.params&&n&&this._refreshCurrent()}break;case Wa.id:{let t=this._getFreeze();e.params&&t&&e.params.ranges.some(e=>e.startColumn<t.startColumn)&&this._refreshCurrent()}break;case $a.id:{let t=e.params,n=this._getFreeze();if(n&&n.startRow>-1&&t.rowsAutoHeightInfo.some(e=>e.row<n.startRow)){let e=this._sheetSkeletonManagerService.currentSkeleton$.subscribe(()=>{this._refreshCurrent(),setTimeout(()=>{e.unsubscribe()})})}}break;case la.id:case ua.id:{let t=e.params,n=this._getFreeze(),r=t.ranges;n&&n.startColumn>-1&&r.some(e=>e.startColumn<n.startColumn)&&this._refreshCurrent()}break;case Ea.id:case Da.id:{let t=e.params,n=this._getFreeze(),r=t.ranges;n&&n.startRow>-1&&r.some(e=>e.startRow<n.startRow)&&this._refreshCurrent()}break;case Nl.id:case Pl.id:this._refreshCurrent()}}))}_zoomRefresh(){let e=this._getSheetObject();if(e==null)return;let{scene:t}=e;this.disposeWithMe(t.onTransformChange$.subscribeEvent(e=>{[dr.scale,dr.all].includes(e.type)&&this._refreshCurrent()}))}_clearObserverEvent(){var e,t;this._getSheetObject()!=null&&((e=this._scenePointerMoveSub)==null||e.unsubscribe(),(t=this._scenePointerUpSub)==null||t.unsubscribe(),this._scenePointerMoveSub=null,this._scenePointerUpSub=null)}_clearFreeze(){var e,t,n,r,i,a;(e=this._rowFreezeHeaderRect)==null||e.dispose(),(t=this._rowFreezeMainRect)==null||t.dispose(),(n=this._columnFreezeHeaderRect)==null||n.dispose(),(r=this._columnFreezeMainRect)==null||r.dispose(),this._getSheetObject()!=null&&([this._freezeDownSubs,this._freezePointerEnterSubs,this._freezePointerLeaveSubs].forEach(e=>{e==null||e.unsubscribe()}),this._freezeDownSubs=null,this._freezePointerEnterSubs=null,this._freezePointerLeaveSubs=null,(i=this._scenePointerMoveSub)==null||i.unsubscribe(),(a=this._scenePointerUpSub)==null||a.unsubscribe(),this._scenePointerMoveSub=null,this._scenePointerUpSub=null)}_getPositionByIndex(e,t){var n;if(this._getSheetObject()==null)return;let r=(n=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:n.skeleton,i=r==null?void 0:r.getNoMergeCellWithCoordByIndex(e,t);if(r==null)return;if(i!=null&&(!isNaN(i.endX)||!isNaN(i.endY)))return i;let{rowHeaderWidthAndMarginLeft:a,columnHeaderHeightAndMarginTop:o}=r;return{startX:a,endX:a,startY:o,endY:o}}_getFreeze(){var e;let t=(e=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:e.skeleton.getWorksheetConfig();if(t!=null)return t.freeze}_getSheetObject(){return Mf(this._context.unit,this._context)}_refreshFreeze(e,t,n,r,i){var a;let o={startRow:e,startColumn:t,ySplit:n,xSplit:r};this._clearFreeze(),this._createFreeze(sh.ROW,o),this._createFreeze(sh.COLUMN,o),this._updateViewport(e,t,n,r,i),(a=this._getSheetObject())==null||a.spreadsheet.makeForceDirty()}};uh=Q([Z(1,F(Vl)),Z(2,N),Z(3,F(W)),Z(4,F(_f)),Z(5,F(et)),Z(6,F(lo)),Z(7,F(ze))],uh);function dh(e){let t=e.get(W),n=e.get(Fi),r=e.get(P),i=e.get(Ti),a=r.getCurrentTypeOfUnit$(L.UNIVER_SHEET);return bs([t.selectionMoveEnd$,a.pipe(ws(e=>{var t;return(t=e==null?void 0:e.getUnitId())==null?``:t})),a.pipe(ks(e=>{var t;return(t=e==null?void 0:e.activeSheet$)==null?Es(null):t}))]).pipe(ws(([e,t,r])=>{if(!r||!e||e.length===0)return!1;let a=r.getSheetId(),o=e.map(e=>e.range);if(i.interceptor.fetchThroughInterceptors(Ci)(!1,o))return!0;let s=n.getSubunitRuleList(t,a).map(e=>e.ranges).flat();if(e.length<2){let t=e[0].range;return s.some(e=>Qe.intersects(e,t)&&!Qe.contains(e,t))}for(let t=0;t<e.length;t++)for(let n=t+1;n<e.length;n++)if(Qe.intersects(e[t].range,e[n].range))return!0;return!1}))}function fh(e,t){return!!mh(e,t,I.ROW)}function ph(e,t){return!!mh(e,t,I.COLUMN)}function mh(e,t,n){return e.find(e=>{let{startRow:r,endRow:i,startColumn:a,endColumn:o,rangeType:s}=e.range;return s===I.ALL||s===I.NORMAL?!1:s===n&&(n===I.COLUMN&&a<=t&&t<=o||n===I.ROW&&r<=t&&t<=i)})}const hh=mt(`headerMovePermissionCheck`);let gh=class extends M{constructor(e,t,n,r){super(),this._context=e,this._sheetSkeletonManagerService=n,this._commandService=r,X(this,`_startOffsetX`,-1/0),X(this,`_startOffsetY`,-1/0),X(this,`_moveHelperBackgroundShape`,void 0),X(this,`_moveHelperLineShape`,void 0),X(this,`_headerPointerDownSubs`,void 0),X(this,`_headerPointerMoveSubs`,void 0),X(this,`_headerPointerLeaveSubs`,void 0),X(this,`_dragHeaderMoveSub`,void 0),X(this,`_scenePointerUpSub`,void 0),X(this,`_scrollTimer`,void 0),X(this,`_changeFromColumn`,-1),X(this,`_changeFromRow`,-1),X(this,`_changeToColumn`,-1),X(this,`_changeToRow`,-1),X(this,`interceptor`,new Ve({HEADER_MOVE_PERMISSION_CHECK:hh})),X(this,`_workbookSelections`,void 0),this._workbookSelections=t.getWorkbookSelections(this._context.unitId),this._init()}dispose(){var e,t,n,r,i,a,o,s;(e=this._moveHelperBackgroundShape)==null||e.dispose(),(t=this._moveHelperLineShape)==null||t.dispose(),(n=this._headerPointerMoveSubs)==null||n.unsubscribe(),(r=this._headerPointerLeaveSubs)==null||r.unsubscribe(),(i=this._headerPointerDownSubs)==null||i.unsubscribe(),this._headerPointerMoveSubs=null,this._headerPointerLeaveSubs=null,this._headerPointerDownSubs=null,(a=this._dragHeaderMoveSub)==null||a.unsubscribe(),(o=this._scenePointerUpSub)==null||o.unsubscribe(),this._dragHeaderMoveSub=null,this._scenePointerUpSub=null,(s=this._scrollTimer)==null||s.dispose()}_init(){this._initialRowOrColumn(I.ROW),this._initialRowOrColumn(I.COLUMN)}_initialRowOrColumn(e=I.ROW){let t=this._context.components.get(Ol.COLUMN),n=this._context.components.get(Ol.ROW),r=this._context.scene,i=e===I.ROW?n:t;this._headerPointerMoveSubs=new ys,this._headerPointerMoveSubs.add(i.onPointerMove$.subscribeEvent(t=>{var n,i;let a=(n=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:n.skeleton;if(a==null)return;let o=(i=this._workbookSelections.getCurrentLastSelection())==null?void 0:i.range;if(!o||!this.interceptor.fetchThroughInterceptors(hh)(!1,o))return;let s=this._workbookSelections.getCurrentSelections(),{row:c,column:l}=Pf(t.offsetX,t.offsetY,r,a);if(!mh(s,e===I.ROW?c:l,e)){r.resetCursor();return}r.setCursor(Wn.GRAB)})),this._headerPointerLeaveSubs=new ys,this._headerPointerLeaveSubs.add(i==null?void 0:i.onPointerLeave$.subscribeEvent(()=>{var e,t;(e=this._moveHelperBackgroundShape)==null||e.hide(),(t=this._moveHelperLineShape)==null||t.hide(),r.resetCursor()})),this._headerPointerDownSubs=new ys,this._headerPointerDownSubs.add(i==null?void 0:i.onPointerDown$.subscribeEvent((t,n)=>{var i,a;if(n.isStopPropagation)return;let o=(i=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:i.skeleton;if(o==null)return;let s=(a=this._workbookSelections.getCurrentLastSelection())==null?void 0:a.range;if(!s||!this.interceptor.fetchThroughInterceptors(hh)(!1,s))return;let{offsetX:c,offsetY:l}=t,{x:u,y:d}=r.getCoordRelativeToViewport(fr.FromArray([c,l]));this._startOffsetX=u,this._startOffsetY=d;let{row:f,column:p}=Pf(t.offsetX,t.offsetY,r,o),m;e===I.ROW?(this._changeFromRow=f,m=ar.Y):(this._changeFromColumn=p,m=ar.X);let h=mh(this._workbookSelections.getCurrentSelections(),e===I.ROW?f:p,e);if(!h)return;let g=r.getScrollXYInfoByViewport(fr.FromArray([this._startOffsetX,this._startOffsetY]));this._newBackgroundAndLine(),r.setCursor(Wn.GRABBING),r.disableObjectsEvent();let _=!1,v,y=()=>{if(_)return;v=ir.create(r,m),this._scrollTimer=v;let e=r.getViewport(H.VIEW_MAIN);v.startScroll(u,d,e),_=!0};this._dragHeaderMoveSub=r.onPointerMove$.subscribeEvent(t=>{y();let{offsetX:n,offsetY:i}=t,{x:a,y:o}=r.getCoordRelativeToViewport(fr.FromArray([n,i]));this._rowColumnMoving(a,o,h,g,e),v.scrolling(a,o,()=>{this._rowColumnMoving(a,o,h,g,e)})}),this._scenePointerUpSub=r.onPointerUp$.subscribeEvent(()=>{var t;this._disposeBackgroundAndLine(),r.resetCursor(),r.enableObjectsEvent(),this._clearObserverEvent(),(t=this._scrollTimer)==null||t.dispose();let n=this._workbookSelections.getCurrentSelections();if(e===I.ROW){if(this._changeFromRow!==this._changeToRow&&this._changeToRow!==-1){var i;let e=(i=((n==null?void 0:n.filter(e=>e.range.rangeType===I.ROW&&e.range.startRow<=this._changeFromRow&&this._changeFromRow<=e.range.endRow))||[])[0])==null?void 0:i.range;e&&this._commandService.executeCommand(Ai.id,{fromRange:e,toRange:{...e,startRow:this._changeToRow,endRow:this._changeToRow+e.endRow-e.startRow}})}this._changeToRow=this._changeFromRow=-1}else{if(this._changeFromColumn!==this._changeToColumn&&this._changeToColumn!==-1){var a;let e=(a=((n==null?void 0:n.filter(e=>e.range.rangeType===I.COLUMN&&e.range.startColumn<=this._changeFromColumn&&this._changeFromColumn<=e.range.endColumn))||[])[0])==null?void 0:a.range;e&&this._commandService.executeCommand(Ei.id,{fromRange:e,toRange:{...e,startColumn:this._changeToColumn,endColumn:this._changeToColumn+e.endColumn-e.startColumn}})}this._changeToColumn=this._changeFromColumn=-1}})}))}_rowColumnMoving(e,t,n,r,i){var a,o,s;let c=this._context.scene,l=(a=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:a.skeleton;if(l==null)return;let{rowHeaderWidth:u,columnHeaderHeight:d,rowTotalHeight:f,columnTotalWidth:p}=l,m=c.getViewportScrollXY(c.getViewport(H.VIEW_MAIN)),{scaleX:h,scaleY:g}=c.getAncestorScale(),{row:_,column:v}=l.getCellIndexByOffset(e,t,h,g,m),{startX:y,startY:b,endX:x,endY:S}=l.getNoMergeCellWithCoordByIndex(_,v),C=Xo(l,n.range);if(C==null)return;let w=Math.max(h,h),{startX:T,endX:E,startY:D,endY:O,startRow:ee,startColumn:te,endRow:ne,endColumn:k}=C;if(i===I.ROW){var re;(re=this._moveHelperBackgroundShape)==null||re.transformByState({height:O-D,width:p+u,left:0,top:D+(t-this._startOffsetY)/w+m.y-r.y})}else{var ie;(ie=this._moveHelperBackgroundShape)==null||ie.transformByState({height:f+d,width:E-T,left:T+(e-this._startOffsetX)/w+m.x-r.x,top:0})}(o=this._moveHelperBackgroundShape)==null||o.show();let ae=4/w;if(i===I.ROW){var A;let e=0;if(_<=ee)e=b-ae/2,this._changeToRow=_;else if(_>ne)e=S-ae/2,this._changeToRow=_+1;else return;(A=this._moveHelperLineShape)==null||A.transformByState({height:ae,width:p,left:u,top:e})}else{var oe;let e=0;if(v<=te)e=y-ae/2,this._changeToColumn=v;else if(v>k)e=x-ae/2,this._changeToColumn=v+1;else return;(oe=this._moveHelperLineShape)==null||oe.transformByState({height:f,width:ae,left:e,top:d})}(s=this._moveHelperLineShape)==null||s.show()}_clearObserverEvent(){var e,t;(e=this._dragHeaderMoveSub)==null||e.unsubscribe(),(t=this._scenePointerUpSub)==null||t.unsubscribe(),this._dragHeaderMoveSub=null,this._scenePointerUpSub=null}_newBackgroundAndLine(){let e=this._context.scene;this._moveHelperBackgroundShape=new er(`__SpreadsheetHeaderMoveControllerBackground__`,{fill:`rgba(0, 0, 0, 0.1)`,evented:!1,zIndex:100}),this._moveHelperLineShape=new er(`__SpreadsheetHeaderMoveControllerShapeLine__`,{fill:`rgb(119, 119, 119)`,evented:!1,zIndex:100}),e.addObjects([this._moveHelperBackgroundShape,this._moveHelperLineShape],10)}_disposeBackgroundAndLine(){var e,t;(e=this._moveHelperBackgroundShape)==null||e.dispose(),(t=this._moveHelperLineShape)==null||t.dispose()}};gh=Q([Z(1,F(W)),Z(2,F(Vl)),Z(3,N)],gh);let _h=function(e){return e[e.VERTICAL=0]=`VERTICAL`,e[e.HORIZONTAL=1]=`HORIZONTAL`,e}({});const vh=`rgb(68, 71, 70)`;var yh=class extends or{constructor(e,t){super(e,t),X(this,`_size`,12),X(this,`_color`,vh),X(this,`_mode`,_h.VERTICAL),this.setShapeProps(t)}get size(){return this._size}get mode(){return this._mode}get color(){return this._color}_draw(e){let t=this.getScene();if(!t)return;let{scaleX:n,scaleY:r}=t.getAncestorScale(),i=Math.max(n,r),a=12/i,o=4/i,{width:s,height:c}=this,l=0,u=0;this.mode===_h.VERTICAL?(s=o,l=a-o):(c=o,u=a-o),er.drawWith(e,{width:this.width,height:this.height,left:0,top:0,fill:`rgba(120, 120, 120, 0.01)`}),er.drawWith(e,{width:s,height:c,fill:vh,radius:o}),e.save(),e.transform(1,0,0,1,l,u),er.drawWith(e,{width:s,height:c,fill:vh,radius:o}),e.restore()}setShapeProps(e){return e!=null&&e.size&&(this._size=e.size),e!=null&&e.mode&&(this._mode=e.mode),e!=null&&e.color&&(this._color=e.color),this.mode===_h.VERTICAL?this.transformByState({width:12,height:this.size}):this.transformByState({width:this.size,height:12}),this}};const bh=`__SpreadsheetHeaderResizeControllerShapeHelper__`,xh=`rgb(199, 199, 199)`;var Sh=function(e){return e[e.ROW=0]=`ROW`,e[e.COLUMN=1]=`COLUMN`,e}(Sh||{});const Ch=mt(`headerResizePermissionCheck`);let wh=class extends M{constructor(e,t,n,r){super(),this._context=e,this._sheetSkeletonManagerService=t,this._selectionManagerService=n,this._commandService=r,X(this,`_currentRow`,0),X(this,`_currentColumn`,0),X(this,`_rowResizeRect`,void 0),X(this,`_columnResizeRect`,void 0),X(this,`_headerPointerSubs`,void 0),X(this,`_scenePointerMoveSub`,void 0),X(this,`_scenePointerUpSub`,void 0),X(this,`_resizeHelperShape`,void 0),X(this,`_startOffsetX`,1/0),X(this,`_startOffsetY`,1/0),X(this,`interceptor`,new Ve({HEADER_RESIZE_PERMISSION_CHECK:Ch})),this._init()}dispose(){var e,t,n;(e=this._rowResizeRect)==null||e.dispose(),this._rowResizeRect=null,(t=this._columnResizeRect)==null||t.dispose(),this._columnResizeRect=null,(n=this._headerPointerSubs)==null||n.unsubscribe(),this._headerPointerSubs=null}_init(){let e=this._context.scene;this._rowResizeRect=new yh(`__SpreadsheetHeaderResizeControllerShapeRow__`,{visible:!1,mode:_h.HORIZONTAL,zIndex:100}),this._columnResizeRect=new yh(`__SpreadsheetHeaderResizeControllerShapeColumn__`,{visible:!1,mode:_h.VERTICAL,zIndex:100}),e.addObjects([this._rowResizeRect,this._columnResizeRect],10),this._initialHover(Sh.ROW),this._initialHover(Sh.COLUMN),this._initialHoverResize(Sh.ROW),this._initialHoverResize(Sh.COLUMN)}_initialHover(e=Sh.ROW){let t=this._context.components.get(Ol.COLUMN),n=this._context.components.get(Ol.ROW),r=this._context.scene,i=e===Sh.ROW?n:t;this._headerPointerSubs=new ys,this._headerPointerSubs.add(i==null?void 0:i.onPointerMove$.subscribeEvent((t,n)=>{var i;let a=(i=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:i.skeleton;if(a==null||this._rowResizeRect==null||this._columnResizeRect==null)return;let{rowHeaderWidth:o,columnHeaderHeight:s}=a,{startX:c,startY:l,endX:u,endY:d,row:f,column:p}=Pf(t.offsetX,t.offsetY,r,a),m=Ff(t.offsetX,t.offsetY,r,a),{scaleX:h,scaleY:g}=r.getAncestorScale(),_=12/Math.max(h,g);if(e===Sh.ROW){let e=l-_/2;if(m.y<=l+_/2&&m.y>=l)this._currentRow=f-1;else if(m.y>=d-_/2&&m.y<=d)this._currentRow=f,e=d-_/2;else{this._rowResizeRect.hide();return}if(this._currentRow===-1)return;if(!this.interceptor.fetchThroughInterceptors(Ch)(null,{row:this._currentRow}))return!1;let t=Math.min(44,o/3);this._rowResizeRect.transformByState({left:o/2-t/2,top:e}),this._rowResizeRect.setShapeProps({size:t}),this._rowResizeRect.show()}else{let e=c-_/2;if(m.x<=c+_/2&&m.x>=c)this._currentColumn=p-1;else if(m.x>=u-_/2&&m.x<=u)this._currentColumn=p,e=u-_/2;else{this._columnResizeRect.hide();return}if(this._currentColumn===-1)return;if(!this.interceptor.fetchThroughInterceptors(Ch)(null,{col:this._currentColumn}))return!1;let t=s*.7;this._columnResizeRect.transformByState({left:e,top:s/2-t/2}),this._columnResizeRect.setShapeProps({size:t}),this._columnResizeRect.show()}})),this._headerPointerSubs.add(i==null?void 0:i.onPointerLeave$.subscribeEvent((e,t)=>{var n,r;(n=this._rowResizeRect)==null||n.hide(),(r=this._columnResizeRect)==null||r.hide()}))}_initialHoverResize(e=Sh.ROW){let t=this._context.scene,n=e===Sh.ROW?this._rowResizeRect:this._columnResizeRect;n!=null&&(this.disposeWithMe(n.onPointerEnter$.subscribeEvent(()=>{n!=null&&(n.show(),t.setCursor(e===Sh.ROW?Wn.ROW_RESIZE:Wn.COLUMN_RESIZE))})),this.disposeWithMe(n.onPointerLeave$.subscribeEvent(()=>{n!=null&&(n.hide(),t.resetCursor())})),this.disposeWithMe(n.onPointerDown$.subscribeEvent(t=>{var n,r,i,a,o;let s=(n=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:n.skeleton;if(s==null)return;let c=this._context.scene,l=c.getEngine(),u=(l==null?void 0:l.height)||0,d=(l==null?void 0:l.width)||0,f=c.getViewport(H.VIEW_MAIN),p=((f==null||(r=f.getScrollBar())==null||(r=r.horizonScrollTrack)==null?void 0:r.height)||0)+10,m=((f==null||(i=f.getScrollBar())==null||(i=i.verticalScrollTrack)==null?void 0:i.width)||0)+10,h=Ff(t.offsetX,t.offsetY,c,s),{scaleX:g,scaleY:_}=c.getAncestorScale();this._startOffsetX=h.x,this._startOffsetY=h.y;let v=s.getOffsetByColumn(this._currentColumn),y=s.getOffsetByRow(this._currentRow),b=s.getNoMergeCellWithCoordByIndex(this._currentRow,this._currentColumn),x=!1,S=0,C=0,{columnTotalWidth:w,rowHeaderWidth:T,rowTotalHeight:E,columnHeaderHeight:D}=s,O=d>w+T?d:w+T,ee=u>E+D?u:E+D,te=4/Math.max(g,_);e===Sh.ROW?this._resizeHelperShape=new er(bh,{width:O,height:te,fill:xh,left:0,top:y-te/2}):this._resizeHelperShape=new er(bh,{width:te,height:ee,fill:xh,left:v-te/2,top:0});let ne=((a=this._columnResizeRect)==null?void 0:a.left)||0,k=((o=this._rowResizeRect)==null?void 0:o.top)||0;c.addObject(this._resizeHelperShape,10),c.disableObjectsEvent(),this._scenePointerMoveSub=c.onPointerMove$.subscribeEvent(t=>{let n=c.getCoordRelativeToViewport(fr.FromArray([this._startOffsetX,this._startOffsetY])),r=c.getScrollXYInfoByViewport(n,f),{x:i,y:a}=Ff(t.offsetX,t.offsetY,c,s),{scaleX:o,scaleY:l}=c.getAncestorScale(),h=4/Math.max(o,l);if(S=i-this._startOffsetX-h/2,C=a-this._startOffsetY-h/2,Math.abs(e===Sh.ROW?C:S)>=2&&(x=!0),e===Sh.ROW){if(C>u-p+r.y-b.startY&&(C=u-p+r.y-b.startY),C<-(b.endY-b.startY)+2&&(C=-(b.endY-b.startY)+2),x){var g,_,w;(g=this._resizeHelperShape)==null||g.transformByState({top:y+C}),(_=this._rowResizeRect)==null||_.transformByState({top:k+C+h/2}),(w=this._rowResizeRect)==null||w.show(),c.setCursor(Wn.ROW_RESIZE)}}else if(S>d-m+r.x-b.startX&&(S=d-m+r.x-b.startX),S<-(b.endX-b.startX)+2&&(S=-(b.endX-b.startX)+2),x){var T,E,D;(T=this._resizeHelperShape)==null||T.transformByState({left:v+S}),(E=this._columnResizeRect)==null||E.transformByState({left:ne+S+h/2}),(D=this._columnResizeRect)==null||D.show(),c.setCursor(Wn.COLUMN_RESIZE)}}),this._scenePointerUpSub=c.onPointerUp$.subscribeEvent(t=>{var n;let r=this._context.scene;if(this._clearObserverEvent(),(n=this._resizeHelperShape)==null||n.dispose(),this._resizeHelperShape=null,r.enableObjectsEvent(),x){var i,a;r.resetCursor(),(i=this._rowResizeRect)==null||i.hide(),(a=this._columnResizeRect)==null||a.hide(),e===Sh.ROW?this._commandService.executeCommand(ei.id,{deltaY:C,anchorRow:this._currentRow}):this._commandService.executeCommand($r.id,{deltaX:S,anchorCol:this._currentColumn})}})})),this.disposeWithMe(n.onDblclick$.subscribeEvent(()=>{var t;this._context.scene.resetCursor();let n=(t=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:t.skeleton;if(!n)return;let r=n.worksheet.getRowCount()-1||0,i=n.worksheet.getColumnCount()-1||0;switch(e){case Sh.COLUMN:{var a;let e=this._selectionManagerService.getCurrentSelections(),t=[];for(let n=0;n<e.length;n++){let i=e[n];i.range.rangeType===I.COLUMN&&this._currentColumn<=i.range.endColumn&&this._currentColumn>=i.range.startColumn&&t.push({startColumn:i.range.startColumn,endColumn:i.range.endColumn,startRow:0,endRow:r})}t.length===0&&t.push({startColumn:this._currentColumn,endColumn:this._currentColumn,startRow:0,endRow:r}),this._commandService.executeCommand(Wf.id,{ranges:t}),(a=this._columnResizeRect)==null||a.hide();break}case Sh.ROW:var o;this._commandService.executeCommand(no.id,{ranges:[{startRow:this._currentRow,endRow:this._currentRow,startColumn:0,endColumn:i}]}),(o=this._rowResizeRect)==null||o.hide();break}})))}_clearObserverEvent(){var e,t;(e=this._scenePointerMoveSub)==null||e.unsubscribe(),(t=this._scenePointerUpSub)==null||t.unsubscribe(),this._scenePointerMoveSub=null,this._scenePointerUpSub=null}};wh=Q([Z(1,F(Vl)),Z(2,F(W)),Z(3,N)],wh);let Th=class extends $e{constructor(e,t,n,r,i,a){super(),this._context=e,this._configService=t,this._sheetSkeletonManagerService=n,this._sheetRenderService=r,this._commandService=i,this._telemetryService=a,X(this,`_renderMetric$`,new vs),X(this,`renderMetric$`,this._renderMetric$.asObservable()),X(this,`_renderFrameTimeMetric`,null),X(this,`_renderFrameTags`,{}),X(this,`_afterRenderMetric$`,new vs),this._addNewRender(),this._initRenderMetricSubscriber()}_addNewRender(){let{scene:e,engine:t,unit:n}=this._context;this._addComponent(n),this._initRerenderScheduler(),this._initCommandListener();let r=this._context.unit.getActiveSheet();if(!r)throw Error(`No active sheet found`);let i=r.getSheetId();this._sheetSkeletonManagerService.setCurrent({sheetId:i});let a=()=>e.render();this.disposeWithMe(this._context.activated$.subscribe(e=>{e?t.runRenderLoop(a):t.stopRenderLoop(a)}))}_initRenderMetricSubscriber(){let{engine:e}=this._context;e.beginFrame$.subscribe(()=>{this._renderFrameTimeMetric=null,this._renderFrameTags={}}),e.endFrame$.subscribe(()=>{this._renderFrameTimeMetric&&Object.keys(this._renderFrameTimeMetric).filter(e=>e.startsWith(nr)).length>0&&this._afterRenderMetric$.next({frameTimeMetric:this._renderFrameTimeMetric,tags:this._renderFrameTags})}),e.renderFrameTimeMetric$.subscribe(([e,t])=>{this._renderFrameTimeMetric||(this._renderFrameTimeMetric={}),this._renderFrameTimeMetric[e]||(this._renderFrameTimeMetric[e]=[]),this._renderFrameTimeMetric[e].push(Math.round(t*100)/100)}),e.renderFrameTags$.subscribe(([e,t])=>{this._renderFrameTags[e]=t});let t=[];this._afterRenderMetric$.pipe(Ms(e.endFrame$)).subscribe(([e,n])=>{t.push({FPS:n.FPS,elapsedTime:n.elapsedTime,frameTime:Math.round(n.frameTime*100)/100,...e.frameTimeMetric,...e.tags}),t.length>60&&(this._captureRenderMetric(t),t.length=0)})}_captureRenderMetric(e){var t;let n=e;if(n.length===0)return;let r=e=>{let t=0,n=Object.entries(e).filter(([e,t])=>Array.isArray(t)).map(([e])=>e).reduce((t,n)=>(t[n]=e[n].reduce((e,t)=>e+t,0),t),{});return Object.keys(e).filter(e=>e.startsWith(nr)).forEach(e=>{t+=n[e]}),{...n,extensionTotal:t}},i=(e=>Object.entries(e[0]).filter(([e,t])=>![`elapsedTime`].includes(e)).filter(([e,t])=>typeof t==`number`).map(([e])=>e).reduce((t,n)=>{let r=e.map(e=>e[n]),i=Math.max(...r),a=Math.min(...r),o=r.reduce((e,t)=>e+t,0)/r.length;return t[n]={max:Math.round(i*100)/100,min:Math.round(a*100)/100,avg:Math.round(o*100)/100},t},{}))(e.map(e=>({...e,...r(e)}))),a=n[n.length-1].elapsedTime,o={sheetId:this._context.unit.getActiveSheet().getSheetId(),unitId:this._context.unit.getUnitId(),elapsedTimeToStart:a,...i};this._renderMetric$.next(o),(t=this._telemetryService)==null||t.capture(`sheet_render_cost`,o)}_addComponent(e){let{scene:t,components:n}=this._context,r=e.getActiveSheet(),i=new cr(Ol.MAIN);this._addViewport(r);let a=new ur(Ol.ROW),o=new lr(Ol.COLUMN),s=new er(Ol.LEFT_TOP,{zIndex:2,left:-1,top:-1,fill:`rgb(248, 249, 250)`,stroke:`rgb(217, 217, 217)`,strokeWidth:1});this._context.mainComponent=i,n.set(Ol.MAIN,i),n.set(Ol.ROW,a),n.set(Ol.COLUMN,o),n.set(Ol.LEFT_TOP,s),t.addObjects([i],0),t.addObjects([a,o,s],10),t.enableLayerCache(0,10)}_initViewports(e,t,n){let r=t.hidden?0:t.width,i=n.hidden?0:n.height,a=new pr(H.VIEW_MAIN,e,{left:r,top:i,bottom:0,right:0,isWheelPreventDefaultX:!0,allowCache:!0,bufferEdgeX:100,bufferEdgeY:100}),o=new pr(H.VIEW_MAIN_LEFT_TOP,e,{isWheelPreventDefaultX:!0,active:!1,allowCache:!0,bufferEdgeX:0,bufferEdgeY:0}),s=new pr(H.VIEW_MAIN_LEFT,e,{isWheelPreventDefaultX:!0,active:!1,allowCache:!0,bufferEdgeX:0,bufferEdgeY:100}),c=new pr(H.VIEW_MAIN_TOP,e,{isWheelPreventDefaultX:!0,active:!1,allowCache:!0,bufferEdgeX:100,bufferEdgeY:0}),l=new pr(H.VIEW_ROW_TOP,e,{active:!1,isWheelPreventDefaultX:!0}),u=new pr(H.VIEW_ROW_BOTTOM,e,{left:0,top:i,bottom:0,width:r+1,isWheelPreventDefaultX:!0}),d=new pr(H.VIEW_COLUMN_LEFT,e,{active:!1,isWheelPreventDefaultX:!0}),f=new pr(H.VIEW_COLUMN_RIGHT,e,{left:r,top:0,height:i+1,right:0,isWheelPreventDefaultX:!0});return{viewMain:a,viewLeftTop:new pr(H.VIEW_LEFT_TOP,e,{left:0,top:0,width:r,height:i,isWheelPreventDefaultX:!0}),viewMainLeftTop:o,viewMainLeft:s,viewMainTop:c,viewColumnLeft:d,viewRowTop:l,viewRowBottom:u,viewColumnRight:f}}_addViewport(e){let t=this._context.scene,{rowHeader:n,columnHeader:r}=e.getConfig(),{viewMain:i}=this._initViewports(t,n,r),a=this._configService.getConfig(rp);return new rr(i,a==null?void 0:a.scrollConfig),t.attachControl(),i}_initRerenderScheduler(){this.disposeWithMe(this._sheetSkeletonManagerService.currentSkeleton$.subscribe(e=>{if(!e)return null;let{skeleton:t,sheetId:n}=e,r=this._context.unit,i=r==null?void 0:r.getSheetBySheetId(n);if(r==null||i==null)return;let{mainComponent:a,components:o}=this._context,s=a,c=o.get(Ol.ROW),l=o.get(Ol.COLUMN),u=o.get(Ol.LEFT_TOP),{rowHeaderWidth:d,columnHeaderHeight:f}=t;s==null||s.updateSkeleton(t),c==null||c.updateSkeleton(t),l==null||l.updateSkeleton(t),u==null||u.transformByState({width:d,height:f})}))}_initCommandListener(){this.disposeWithMe(this._commandService.onCommandExecuted((e,t)=>{let{unit:n}=this._context,{id:r}=e;if(Br.includes(r)||this._sheetRenderService.checkMutationShouldTriggerRerender(r)){let{unitId:t,subUnitId:i}=e.params,a=n.getActiveSheet();if(!a)return;let o=this._context.unitId,s=a.getSheetId();if(t!==o||i!==s)return;this._sheetSkeletonManagerService.makeDirty({sheetId:s,commandId:r},!0),this._sheetSkeletonManagerService.setCurrent({sheetId:s,commandId:r})}else Vr.includes(r)&&this._sheetSkeletonManagerService.reCalculate();e.type===A.MUTATION&&this._markUnitDirty(e,t)}))}_markUnitDirty(e,t){if(e.id.substring(0,3)===`doc`)return;let{mainComponent:n,scene:r}=this._context;if(e.id===Yc.id&&e.params.stageInfo!=null||(n&&n.makeDirty(),r.makeDirty(),!e.params))return;let i=e.params,a=this._spreadsheetViewports(r);if(e.id===Sa.id&&i.cellValue&&!(t!=null&&t.fromChangeset)){let e=this._cellValueToRange(i.cellValue),t=this._rangeToBounds([e]);this._markViewportDirty(a,t),n.setDirtyArea(t)}if(e.id===ki.id&&i.from&&i.to&&!(t!=null&&t.fromChangeset)){let e=i.fromRange||this._cellValueToRange(i.from.value),t=i.toRange||this._cellValueToRange(i.to.value),r=this._rangeToBounds([e,t]);this._markViewportDirty(a,r),n.setDirtyArea(r)}}_cellValueToRange(e){let t=[],n=0,r=0,i=0,a=0;for(let[o,s]of Object.entries(e)){for(let e in s)t.push(Number(e)),n>Number(e)&&(n=Number(e)),r<Number(e)&&(r=Number(e));i>Number(o)&&(i=Number(o)),a<Number(o)&&(a=Number(o))}return{startRow:i,endRow:a,startColumn:n,endColumn:r}}_rangeToBounds(e){let{rowHeightAccumulation:t,columnWidthAccumulation:n,rowHeaderWidth:r,columnHeaderHeight:i}=this._sheetSkeletonManagerService.getCurrentParam().skeleton,a=[];for(let o of e){let{startRow:e,endRow:s,startColumn:c,endColumn:l}=o,u=e===0?0:t[e-1]+i,d=t[s]+i,f=c===0?0:n[c-1]+r,p=n[l]+r;a.push({top:u,left:f,bottom:d,right:p,width:p-f,height:d-u})}return a}_markViewportDirty(e,t){let n=e.filter(e=>e.isActive&&e.cacheBound);for(let e of n)for(let n of t)Qe.hasIntersectionBetweenTwoRect(e.cacheBound,n)&&e.markDirty(!0)}_spreadsheetViewports(e){return e.getViewports().filter(e=>[`viewMain`,`viewMainLeftTop`,`viewMainTop`,`viewMainLeft`].includes(e.viewportKey))}};Th=Q([Z(1,F(Ne)),Z(2,F(Vl)),Z(3,F(kp)),Z(4,N),Z(5,qe(il))],Th);const Eh=({className:e})=>Y(`svg`,{className:e,width:`120`,height:`2`,viewBox:`0 0 120 2`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:[J(`path`,{d:`M0.98999 1.08218H-0.0100098V0.0821838H0.98999V1.08218Z`}),J(`path`,{d:`M5.78992 1.08218H2.78992V0.0821838H5.78992V1.08218Z`}),J(`path`,{d:`M7.58984 1.08218H8.58984V0.0821838H7.58984V1.08218Z`}),J(`path`,{d:`M14.9152 1.08218H13.9152V0.0821838H14.9152V1.08218Z`}),J(`path`,{d:`M16.7151 1.08218H19.7151V0.0821838H16.7151V1.08218Z`}),J(`path`,{d:`M22.515 1.08218H21.515V0.0821838H22.515V1.08218Z`}),J(`path`,{d:`M27.8405 1.08218H28.8405V0.0821838H27.8405V1.08218Z`}),J(`path`,{d:`M33.6404 1.08218H30.6404V0.0821838H33.6404V1.08218Z`}),J(`path`,{d:`M35.4403 1.08218H36.4403V0.0821838H35.4403V1.08218Z`}),J(`path`,{d:`M42.7657 1.08218H41.7657V0.0821838H42.7657V1.08218Z`}),J(`path`,{d:`M44.5657 1.08218H47.5657V0.0821838H44.5657V1.08218Z`}),J(`path`,{d:`M50.3656 1.08218H49.3656V0.0821838H50.3656V1.08218Z`}),J(`path`,{d:`M55.691 1.08218H56.691V0.0821838H55.691V1.08218Z`}),J(`path`,{d:`M61.491 1.08218H58.491V0.0821838H61.491V1.08218Z`}),J(`path`,{d:`M63.2909 1.08218H64.2909V0.0821838H63.2909V1.08218Z`}),J(`path`,{d:`M70.6163 1.08218H69.6163V0.0821838H70.6163V1.08218Z`}),J(`path`,{d:`M72.4163 1.08218H75.4163V0.0821838H72.4163V1.08218Z`}),J(`path`,{d:`M78.2162 1.08218H77.2162V0.0821838H78.2162V1.08218Z`}),J(`path`,{d:`M83.5416 1.08218H84.5416V0.0821838H83.5416V1.08218Z`}),J(`path`,{d:`M89.3416 1.08218H86.3416V0.0821838H89.3416V1.08218Z`}),J(`path`,{d:`M91.1415 1.08218H92.1415V0.0821838H91.1415V1.08218Z`}),J(`path`,{d:`M98.4669 1.08218H97.4669V0.0821838H98.4669V1.08218Z`}),J(`path`,{d:`M100.267 1.08218H103.267V0.0821838H100.267V1.08218Z`}),J(`path`,{d:`M106.067 1.08218H105.067V0.0821838H106.067V1.08218Z`}),J(`path`,{d:`M111.392 1.08218H112.392V0.0821838H111.392V1.08218Z`}),J(`path`,{d:`M117.192 1.08218H114.192V0.0821838H117.192V1.08218Z`}),J(`path`,{d:`M118.992 1.08218H119.992V0.0821838H118.992V1.08218Z`})]}),Dh=({className:e})=>Y(`svg`,{className:e,width:`120`,height:`2`,viewBox:`0 0 120 2`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:[J(`path`,{d:`M-0.0100098 1.15771H0.98999V0.157715H-0.0100098V1.15771Z`}),J(`path`,{d:`M2.78992 1.15771H5.78992V0.157715H2.78992V1.15771Z`}),J(`path`,{d:`M8.58984 1.15771H7.58984V0.157715H8.58984V1.15771Z`}),J(`path`,{d:`M10.3899 1.15771H11.3899V0.157715H10.3899V1.15771Z`}),J(`path`,{d:`M19.0903 1.15771H18.0903V0.157715H19.0903V1.15771Z`}),J(`path`,{d:`M20.8903 1.15771H23.8903V0.157715H20.8903V1.15771Z`}),J(`path`,{d:`M26.6902 1.15771H25.6902V0.157715H26.6902V1.15771Z`}),J(`path`,{d:`M28.4902 1.15771H29.4902V0.157715H28.4902V1.15771Z`}),J(`path`,{d:`M37.1907 1.15771H36.1907V0.157715H37.1907V1.15771Z`}),J(`path`,{d:`M38.9906 1.15771H41.9906V0.157715H38.9906V1.15771Z`}),J(`path`,{d:`M44.7905 1.15771H43.7905V0.157715H44.7905V1.15771Z`}),J(`path`,{d:`M46.5906 1.15771H47.5906V0.157715H46.5906V1.15771Z`}),J(`path`,{d:`M55.291 1.15771H54.291V0.157715H55.291V1.15771Z`}),J(`path`,{d:`M57.0909 1.15771H60.0909V0.157715H57.0909V1.15771Z`}),J(`path`,{d:`M62.8909 1.15771H61.8909V0.157715H62.8909V1.15771Z`}),J(`path`,{d:`M64.6909 1.15771H65.6909V0.157715H64.6909V1.15771Z`}),J(`path`,{d:`M73.3914 1.15771H72.3914V0.157715H73.3914V1.15771Z`}),J(`path`,{d:`M75.1913 1.15771H78.1913V0.157715H75.1913V1.15771Z`}),J(`path`,{d:`M80.9912 1.15771H79.9912V0.157715H80.9912V1.15771Z`}),J(`path`,{d:`M82.7913 1.15771H83.7913V0.157715H82.7913V1.15771Z`}),J(`path`,{d:`M91.4917 1.15771H90.4917V0.157715H91.4917V1.15771Z`}),J(`path`,{d:`M93.2916 1.15771H96.2916V0.157715H93.2916V1.15771Z`}),J(`path`,{d:`M99.0916 1.15771H98.0916V0.157715H99.0916V1.15771Z`}),J(`path`,{d:`M100.892 1.15771H101.892V0.157715H100.892V1.15771Z`}),J(`path`,{d:`M109.592 1.15771H108.592V0.157715H109.592V1.15771Z`}),J(`path`,{d:`M111.392 1.15771H114.392V0.157715H111.392V1.15771Z`}),J(`path`,{d:`M117.192 1.15771H116.192V0.157715H117.192V1.15771Z`}),J(`path`,{d:`M118.992 1.15771H119.992V0.157715H118.992V1.15771Z`})]}),Oh=({className:e})=>Y(`svg`,{className:e,width:`120`,height:`2`,viewBox:`0 0 120 2`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:[J(`path`,{d:`M-0.00842285 1.22449H2.99158V0.224487H-0.00842285V1.22449Z`}),J(`path`,{d:`M6.14941 1.22449H9.14941V0.224487H6.14941V1.22449Z`}),J(`path`,{d:`M15.3073 1.22449H12.3073V0.224487H15.3073V1.22449Z`}),J(`path`,{d:`M18.4651 1.22449H21.4651V0.224487H18.4651V1.22449Z`}),J(`path`,{d:`M27.6229 1.22449H24.6229V0.224487H27.6229V1.22449Z`}),J(`path`,{d:`M30.7808 1.22449H33.7808V0.224487H30.7808V1.22449Z`}),J(`path`,{d:`M39.9386 1.22449H36.9386V0.224487H39.9386V1.22449Z`}),J(`path`,{d:`M43.0964 1.22449H46.0964V0.224487H43.0964V1.22449Z`}),J(`path`,{d:`M52.2543 1.22449H49.2543V0.224487H52.2543V1.22449Z`}),J(`path`,{d:`M55.4121 1.22449H58.4121V0.224487H55.4121V1.22449Z`}),J(`path`,{d:`M64.5699 1.22449H61.5699V0.224487H64.5699V1.22449Z`}),J(`path`,{d:`M67.7278 1.22449H70.7278V0.224487H67.7278V1.22449Z`}),J(`path`,{d:`M76.8856 1.22449H73.8856V0.224487H76.8856V1.22449Z`}),J(`path`,{d:`M80.0435 1.22449H83.0435V0.224487H80.0435V1.22449Z`}),J(`path`,{d:`M89.2013 1.22449H86.2013V0.224487H89.2013V1.22449Z`}),J(`path`,{d:`M92.3591 1.22449H95.3591V0.224487H92.3591V1.22449Z`}),J(`path`,{d:`M101.517 1.22449H98.517V0.224487H101.517V1.22449Z`}),J(`path`,{d:`M104.675 1.22449H107.675V0.224487H104.675V1.22449Z`}),J(`path`,{d:`M113.833 1.22449H110.833V0.224487H113.833V1.22449Z`}),J(`path`,{d:`M116.99 1.22449H119.99V0.224487H116.99V1.22449Z`})]}),kh=({className:e})=>Y(`svg`,{className:e,width:`120`,height:`8`,viewBox:`0 0 120 8`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:[J(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M119.991 2.06215H-0.0090332V0.862152H119.991V1.86215Z`}),J(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M119.991 6.66215H-0.0090332V5.86215H119.991V6.86215Z`})]}),Ah=({className:e})=>Y(`svg`,{className:e,width:`120`,height:`2`,viewBox:`0 0 120 2`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:[J(`path`,{d:`M-0.00976562 1.65707H0.990234V0.657074H-0.00976562V1.65707Z`}),J(`path`,{d:`M2.32361 1.65707H3.32361V0.657074H2.32361V1.65707Z`}),J(`path`,{d:`M5.65698 1.65707H4.65698V0.657074H5.65698V1.65707Z`}),J(`path`,{d:`M6.99036 1.65707H7.99036V0.657074H6.99036V1.65707Z`}),J(`path`,{d:`M10.3237 1.65707H9.32373V0.657074H10.3237V1.65707Z`}),J(`path`,{d:`M11.6571 1.65707H12.6571V0.657074H11.6571V1.65707Z`}),J(`path`,{d:`M14.9905 1.65707H13.9905V0.657074H14.9905V1.65707Z`}),J(`path`,{d:`M16.3239 1.65707H17.3239V0.657074H16.3239V1.65707Z`}),J(`path`,{d:`M19.6572 1.65707H18.6572V0.657074H19.6572V1.65707Z`}),J(`path`,{d:`M20.9906 1.65707H21.9906V0.657074H20.9906V1.65707Z`}),J(`path`,{d:`M24.324 1.65707H23.324V0.657074H24.324V1.65707Z`}),J(`path`,{d:`M25.6573 1.65707H26.6573V0.657074H25.6573V1.65707Z`}),J(`path`,{d:`M28.9907 1.65707H27.9907V0.657074H28.9907V1.65707Z`}),J(`path`,{d:`M30.3241 1.65707H31.3241V0.657074H30.3241V1.65707Z`}),J(`path`,{d:`M33.6575 1.65707H32.6575V0.657074H33.6575V1.65707Z`}),J(`path`,{d:`M34.9908 1.65707H35.9908V0.657074H34.9908V1.65707Z`}),J(`path`,{d:`M38.3242 1.65707H37.3242V0.657074H38.3242V1.65707Z`}),J(`path`,{d:`M39.6576 1.65707H40.6576V0.657074H39.6576V1.65707Z`}),J(`path`,{d:`M42.991 1.65707H41.991V0.657074H42.991V1.65707Z`}),J(`path`,{d:`M44.3243 1.65707H45.3243V0.657074H44.3243V1.65707Z`}),J(`path`,{d:`M47.6577 1.65707H46.6577V0.657074H47.6577V1.65707Z`}),J(`path`,{d:`M48.9911 1.65707H49.9911V0.657074H48.9911V1.65707Z`}),J(`path`,{d:`M52.3245 1.65707H51.3245V0.657074H52.3245V1.65707Z`}),J(`path`,{d:`M53.6578 1.65707H54.6578V0.657074H53.6578V1.65707Z`}),J(`path`,{d:`M56.9912 1.65707H55.9912V0.657074H56.9912V1.65707Z`}),J(`path`,{d:`M58.3246 1.65707H59.3246V0.657074H58.3246V1.65707Z`}),J(`path`,{d:`M61.658 1.65707H60.658V0.657074H61.658V1.65707Z`}),J(`path`,{d:`M62.9913 1.65707H63.9913V0.657074H62.9913V1.65707Z`}),J(`path`,{d:`M66.3247 1.65707H65.3247V0.657074H66.3247V1.65707Z`}),J(`path`,{d:`M67.6581 1.65707H68.6581V0.657074H67.6581V1.65707Z`}),J(`path`,{d:`M70.9915 1.65707H69.9915V0.657074H70.9915V1.65707Z`}),J(`path`,{d:`M72.3248 1.65707H73.3248V0.657074H72.3248V1.65707Z`}),J(`path`,{d:`M75.6582 1.65707H74.6582V0.657074H75.6582V1.65707Z`}),J(`path`,{d:`M76.9916 1.65707H77.9916V0.657074H76.9916V1.65707Z`}),J(`path`,{d:`M80.325 1.65707H79.325V0.657074H80.325V1.65707Z`}),J(`path`,{d:`M81.6583 1.65707H82.6583V0.657074H81.6583V1.65707Z`}),J(`path`,{d:`M84.9917 1.65707H83.9917V0.657074H84.9917V1.65707Z`}),J(`path`,{d:`M86.3251 1.65707H87.3251V0.657074H86.3251V1.65707Z`}),J(`path`,{d:`M89.6584 1.65707H88.6584V0.657074H89.6584V1.65707Z`}),J(`path`,{d:`M90.9918 1.65707H91.9918V0.657074H90.9918V1.65707Z`}),J(`path`,{d:`M94.3252 1.65707H93.3252V0.657074H94.3252V1.65707Z`}),J(`path`,{d:`M95.6586 1.65707H96.6586V0.657074H95.6586V1.65707Z`}),J(`path`,{d:`M98.9919 1.65707H97.9919V0.657074H98.9919V1.65707Z`}),J(`path`,{d:`M100.325 1.65707H101.325V0.657074H100.325V1.65707Z`}),J(`path`,{d:`M103.659 1.65707H102.659V0.657074H103.659V1.65707Z`}),J(`path`,{d:`M104.992 1.65707H105.992V0.657074H104.992V1.65707Z`}),J(`path`,{d:`M108.325 1.65707H107.325V0.657074H108.325V1.65707Z`}),J(`path`,{d:`M109.659 1.65707H110.659V0.657074H109.659V1.65707Z`}),J(`path`,{d:`M112.992 1.65707H111.992V0.657074H112.992V1.65707Z`}),J(`path`,{d:`M114.325 1.65707H115.325V0.657074H114.325V1.65707Z`}),J(`path`,{d:`M117.659 1.65707H116.659V0.657074H117.659V1.65707Z`}),J(`path`,{d:`M118.992 1.65707H119.992V0.657074H118.992V1.65707Z`})]}),jh=({className:e})=>J(`svg`,{className:e,width:`120`,height:`3`,viewBox:`0 0 120 3`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:J(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M119.991 2.42035H-0.0090332V0.420349H119.991V2.42035Z`})}),Mh=({className:e})=>Y(`svg`,{className:e,width:`120`,height:`3`,viewBox:`0 0 120 3`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:[J(`path`,{d:`M-0.0100098 2.47614H1.98999V0.476135H-0.0100098V2.47614Z`}),J(`path`,{d:`M3.99014 2.47614H9.99014V0.476135H3.99014V2.47614Z`}),J(`path`,{d:`M13.9901 2.47614H11.9901V0.476135H13.9901V2.47614Z`}),J(`path`,{d:`M21.1904 2.47614H23.1904V0.476135H21.1904V2.47614Z`}),J(`path`,{d:`M31.1906 2.47614H25.1906V0.476135H31.1906V2.47614Z`}),J(`path`,{d:`M33.1906 2.47614H35.1906V0.476135H33.1906V2.47614Z`}),J(`path`,{d:`M44.3909 2.47614H42.3909V0.476135H44.3909V2.47614Z`}),J(`path`,{d:`M46.391 2.47614H52.391V0.476135H46.391V2.47614Z`}),J(`path`,{d:`M56.391 2.47614H54.391V0.476135H56.391V2.47614Z`}),J(`path`,{d:`M63.5913 2.47614H65.5913V0.476135H63.5913V2.47614Z`}),J(`path`,{d:`M73.5915 2.47614H67.5915V0.476135H73.5915V2.47614Z`}),J(`path`,{d:`M75.5915 2.47614H77.5915V0.476135H75.5915V2.47614Z`}),J(`path`,{d:`M86.7917 2.47614H84.7917V0.476135H86.7917V2.47614Z`}),J(`path`,{d:`M88.7919 2.47614H94.7919V0.476135H88.7919V2.47614Z`}),J(`path`,{d:`M98.7919 2.47614H96.7919V0.476135H98.7919V2.47614Z`}),J(`path`,{d:`M105.992 2.47614H107.992V0.476135H105.992V2.47614Z`}),J(`path`,{d:`M115.992 2.47614H109.992V0.476135H115.992V2.47614Z`}),J(`path`,{d:`M117.992 2.47614H119.992V0.476135H117.992V2.47614Z`})]}),Nh=({className:e})=>Y(`svg`,{className:e,width:`120`,height:`2`,viewBox:`0 0 120 2`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:[J(`path`,{d:`M-0.0100098 2.00415H1.98999V0.00415039H-0.0100098V2.00415Z`}),J(`path`,{d:`M3.99014 2.00415H9.99014V0.00415039H3.99014V2.00415Z`}),J(`path`,{d:`M13.9901 2.00415H11.9901V0.00415039H13.9901V2.00415Z`}),J(`path`,{d:`M15.9901 2.00415H17.9901V0.00415039H15.9901V2.00415Z`}),J(`path`,{d:`M27.4905 2.00415H25.4905V0.00415039H27.4905V2.00415Z`}),J(`path`,{d:`M29.4906 2.00415H35.4906V0.00415039H29.4906V2.00415Z`}),J(`path`,{d:`M39.4906 2.00415H37.4906V0.00415039H39.4906V2.00415Z`}),J(`path`,{d:`M41.4906 2.00415H43.4906V0.00415039H41.4906V2.00415Z`}),J(`path`,{d:`M52.991 2.00415H50.991V0.00415039H52.991V2.00415Z`}),J(`path`,{d:`M54.9911 2.00415H60.9911V0.00415039H54.9911V2.00415Z`}),J(`path`,{d:`M64.9911 2.00415H62.9911V0.00415039H64.9911V2.00415Z`}),J(`path`,{d:`M66.9911 2.00415H68.9911V0.00415039H66.9911V2.00415Z`}),J(`path`,{d:`M78.4915 2.00415H76.4915V0.00415039H78.4915V2.00415Z`}),J(`path`,{d:`M80.4916 2.00415H86.4916V0.00415039H80.4916V2.00415Z`}),J(`path`,{d:`M90.4916 2.00415H88.4916V0.00415039H90.4916V2.00415Z`}),J(`path`,{d:`M92.4916 2.00415H94.4916V0.00415039H92.4916V2.00415Z`}),J(`path`,{d:`M103.992 2.00415H101.992V0.00415039H103.992V2.00415Z`}),J(`path`,{d:`M105.992 2.00415H111.992V0.00415039H105.992V2.00415Z`}),J(`path`,{d:`M115.992 2.00415H113.992V0.00415039H115.992V2.00415Z`}),J(`path`,{d:`M117.992 2.00415H119.992V0.00415039H117.992V2.00415Z`})]}),Ph=({className:e})=>Y(`svg`,{className:e,width:`118`,height:`3`,viewBox:`0 0 118 3`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:[J(`path`,{d:`M-0.00854492 2.94815H1.99146V0.948151H-0.00854492V2.94815Z`}),J(`path`,{d:`M6.09668 2.94815H8.09668V0.948151H6.09668V2.94815Z`}),J(`path`,{d:`M14.2019 2.94815H12.2019V0.948151H14.2019V2.94815Z`}),J(`path`,{d:`M18.3071 2.94815H20.3071V0.948151H18.3071V2.94815Z`}),J(`path`,{d:`M26.4124 2.94815H24.4124V0.948151H26.4124V2.94815Z`}),J(`path`,{d:`M30.5176 2.94815H32.5176V0.948151H30.5176V2.94815Z`}),J(`path`,{d:`M38.6228 2.94815H36.6228V0.948151H38.6228V2.94815Z`}),J(`path`,{d:`M42.728 2.94815H44.728V0.948151H42.728V2.94815Z`}),J(`path`,{d:`M50.8333 2.94815H48.8333V0.948151H50.8333V2.94815Z`}),J(`path`,{d:`M54.9385 2.94815H56.9385V0.948151H54.9385V2.94815Z`}),J(`path`,{d:`M63.0437 2.94815H61.0437V0.948151H63.0437V2.94815Z`}),J(`path`,{d:`M67.1489 2.94815H69.1489V0.948151H67.1489V2.94815Z`}),J(`path`,{d:`M75.2542 2.94815H73.2542V0.948151H75.2542V2.94815Z`}),J(`path`,{d:`M79.3594 2.94815H81.3594V0.948151H79.3594V2.94815Z`}),J(`path`,{d:`M87.4645 2.94815H85.4645V0.948151H87.4645V2.94815Z`}),J(`path`,{d:`M91.5697 2.94815H93.5697V0.948151H91.5697V2.94815Z`}),J(`path`,{d:`M99.6749 2.94815H97.6749V0.948151H99.6749V2.94815Z`}),J(`path`,{d:`M103.78 2.94815H105.78V0.948151H103.78V2.94815Z`}),J(`path`,{d:`M111.885 2.94815H109.885V0.948151H111.885V2.94815Z`}),J(`path`,{d:`M115.991 2.94815H117.991V0.948151H115.991V2.94815Z`})]}),Fh=({className:e})=>J(`svg`,{className:e,width:`120`,height:`4`,viewBox:`0 0 120 4`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:J(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M119.991 3.86215H-0.0090332V0.862152H119.991V3.86215Z`})}),Ih=({className:e})=>J(`svg`,{className:e,width:`120`,height:`2`,viewBox:`0 0 120 2`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:J(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M119.991 1.15668H-0.0090332V0.156677H119.991V1.15668Z`})});function Lh(e){let{type:t=k.THIN,className:n}=e;switch(t){case k.DASH_DOT:return J(Eh,{className:n});case k.DASH_DOT_DOT:return J(Dh,{className:n});case k.DASHED:return J(Oh,{className:n});case k.HAIR:return J(Ah,{className:n});case k.MEDIUM:return J(jh,{className:n});case k.MEDIUM_DASH_DOT:return J(Mh,{className:n});case k.MEDIUM_DASH_DOT_DOT:return J(Nh,{className:n});case k.MEDIUM_DASHED:return J(Ph,{className:n});case k.THICK:return J(Fh,{className:n});case k.DOUBLE:return J(kh,{className:n});case k.THIN:default:return J(Ih,{className:n})}}const Rh=`UI_PLUGIN_SHEETS`,zh=`${Rh}_BORDER_PANEL_COMPONENT`,Bh=[{label:`borderLine.borderTop`,icon:`UpBorderDoubleIcon`,value:`top`},{label:`borderLine.borderBottom`,icon:`DownBorderDoubleIcon`,value:`bottom`},{label:`borderLine.borderLeft`,icon:`LeftBorderDoubleIcon`,value:`left`},{label:`borderLine.borderRight`,icon:`RightBorderDoubleIcon`,value:`right`},{label:`borderLine.borderNone`,icon:`NoBorderIcon`,value:`none`},{label:`borderLine.borderAll`,icon:`AllBorderIcon`,value:`all`},{label:`borderLine.borderOutside`,icon:`OuterBorderDoubleIcon`,value:`outside`},{label:`borderLine.borderInside`,icon:`InnerBorderDoubleIcon`,value:`inside`},{label:`borderLine.borderHorizontal`,icon:`HorizontalBorderDoubleIcon`,value:`horizontal`},{label:`borderLine.borderVertical`,icon:`VerticalBorderDoubleIcon`,value:`vertical`},{label:`borderLine.borderTlbr`,icon:`BackSlashDoubleIcon`,value:`tlbr`},{label:`borderLine.borderTlbcTlmr`,icon:`LeftDoubleDiagonalDoubleIcon`,value:`tlbc_tlmr`},{label:`borderLine.borderTlbrTlbcTlmr`,icon:`LeftTridiagonalDoubleIcon`,value:`tlbr_tlbc_tlmr`},{label:`borderLine.borderBlTr`,icon:`SlashDoubleIcon`,value:`bltr`},{label:`borderLine.borderMltrBctr`,icon:`RightDoubleDiagonalDoubleIcon`,value:`mltr_bctr`}],Vh=[{label:k.THIN,value:k.THIN},{label:k.HAIR,value:k.HAIR},{label:k.DOTTED,value:k.DOTTED},{label:k.DASHED,value:k.DASHED},{label:k.DASH_DOT,value:k.DASH_DOT},{label:k.DASH_DOT_DOT,value:k.DASH_DOT_DOT},{label:k.MEDIUM,value:k.MEDIUM},{label:k.MEDIUM_DASHED,value:k.MEDIUM_DASHED},{label:k.MEDIUM_DASH_DOT,value:k.MEDIUM_DASH_DOT},{label:k.MEDIUM_DASH_DOT_DOT,value:k.MEDIUM_DASH_DOT_DOT},{label:k.THICK,value:k.THICK},{label:k.DOUBLE,value:k.DOUBLE}];function Hh(e){if(e)for(let n in e){var t;let r=e[n];if(!(r==null||(t=r.cl)==null)&&t.rgb)return r.cl.rgb}}function Uh(e){if(e)for(let n in e){var t;let r=e[n];if(!(r==null||(t=r.cl)==null)&&t.rgb)return r.s}}function Wh(e){var t;let n=V(Jt),r=V(zr),{isAllValuesSame:i,value:a}=V(W).getCellStylesProperty(`bd`),o=i?Hh(a):void 0,s=i?Uh(a):void 0,{onChange:c,value:l}=e;function u(e,t){c==null||c({...l,[t]:e})}function d(e){let t=n.get(e);return t&&J(t,{className:`univer-fill-primary-600`})}return Y(`section`,{className:`univer-box-border univer-grid univer-gap-2 univer-p-1.5`,children:[J(`div`,{className:`univer-box-border univer-grid univer-grid-cols-5 univer-gap-2 univer-text-gray-600 dark:!univer-text-gray-200`,children:Bh.map(e=>J(`a`,{className:gc(`univer-flex univer-size-6 univer-cursor-pointer univer-items-center univer-justify-center univer-justify-self-center univer-rounded hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-700`,{"univer-bg-gray-200 dark:!univer-bg-gray-600":r.getBorderInfo().type===e.value}),onClick:t=>{t.stopPropagation(),u(e.value,`type`)},children:d(e.icon)},e.value))}),J(cc,{}),Y(`div`,{className:`univer-flex univer-items-center univer-gap-2`,children:[J(`div`,{children:J($s,{overlay:J(`div`,{className:`univer-rounded-lg univer-p-4`,children:J(Zs,{value:o,onChange:e=>u(e,`color`)})}),children:Y(`button`,{className:`univer-flex univer-cursor-pointer univer-items-center univer-gap-2 univer-rounded univer-border-none univer-bg-transparent univer-p-1 hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-700`,type:`button`,children:[J(Nc,{className:`univer-fill-primary-600 dark:!univer-text-white`,extend:{colorChannel1:(t=l==null?void 0:l.color)==null?``:t}}),J(jc,{className:`dark:!univer-text-white`})]})})}),J(`div`,{children:J($s,{overlay:J(`section`,{className:`univer-rounded-lg univer-p-1.5`,children:J(`ul`,{className:`univer-m-0 univer-grid univer-list-none univer-gap-1 univer-p-0`,children:Vh.map(e=>Y(`li`,{className:`univer-flex univer-cursor-pointer univer-items-center univer-justify-center univer-rounded univer-px-1 univer-py-3 hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-700`,onClick:()=>u(e.value,`style`),children:[e.value===s&&J(yc,{className:`univer-absolute univer-left-3 univer-text-primary-600`}),J(Lh,{className:`univer-ml-6 univer-fill-gray-900 dark:!univer-fill-white`,type:e.value})]},e.value))})}),children:Y(`button`,{className:`univer-flex univer-cursor-pointer univer-items-center univer-gap-2 univer-rounded univer-border-none univer-bg-transparent univer-p-1 hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-700`,type:`button`,children:[J(Lh,{className:`univer-fill-gray-900 dark:!univer-fill-white`,type:s==null?k.THIN:s}),J(jc,{className:`dark:!univer-text-white`})]})})})]})]})}const Gh=`${Rh}_MENU_ITEM_FROZEN_COMPONENT`,Kh={row:`1`,col:`A`},qh=e=>{let{type:t}=e,n=V(Ue),r=V(fn),i=V(W),[a,o]=q(Kh),s=e=>{var t,n;if(!e)return;let{primary:r,range:i}=e,a=(t=r==null?void 0:r.startRow)==null?i.startRow:t,s=(n=r==null?void 0:r.startColumn)==null?i.startColumn:n;o({row:a===0?`1`:String(a),col:s===0?`A`:tt.chatAtABC(s-1)})};return Us(()=>{r.visible&&s(i.getCurrentLastSelection())},[r.visible]),Y(zc,{children:[t===`row`&&n.t(`rightClick.freezeRow`,a.row),t===`col`&&n.t(`rightClick.freezeCol`,a.col),t===`all`&&n.t(`rightClick.freezeCell`,a.row,a.col)]})},Jh=`${Rh}_MENU_ITEM_INPUT_COMPONENT`,Yh=e=>{let{prefix:t,suffix:n,value:r,min:i=-(2**53-1),max:a=2**53-1,disabled$:o,onChange:s}=e,c=V(Ue),l=V(fn),[u,d]=q(!1),[f,p]=q(),m=e=>{if(!e){p(i.toString());return}let t=e.toString();p(t),s(t)};Us(()=>{if(!o)return;let e=o.subscribe(e=>{d(e)});return()=>{e.unsubscribe()}},[]),Us(()=>{l.visible||p(r)},[l.visible]),Us(()=>{+r<i?p(i.toString()):+r>a?p(a.toString()):p(r)},[r]);function h(){f&&s(f)}return Y(`div`,{className:`univer-inline-flex univer-items-center univer-gap-1`,children:[c.t(t),J(`div`,{className:`univer-w-16`,onClick:e=>e.stopPropagation(),children:J(rc,{value:Number(f),size:`mini`,precision:0,min:i,max:a,disabled:u,onPressEnter:h,onChange:m})}),c.t(n)]})};function Xh(e){return e.getCurrentTypeOfUnit$(L.UNIVER_SHEET).pipe(ul(e=>e?e.activeSheet$.pipe(sl(t=>t?{workbook:e,worksheet:t}:null)):Es(null)))}function Zh(e,t,n){return Xh(e).pipe(ul(e=>e?n(e):Es(t)))}function Qh(e,t){let n=e.get(P),r=e.get(ri),i=e.get(W);return n.getCurrentTypeOfUnit$(L.UNIVER_SHEET).pipe(ul(e=>e?bs([i.selectionMoveEnd$,e.activeSheet$]).pipe(ul(([e,n])=>{if(!n||e.length===0)return Es(!1);let i=r.getInterestGroupId(e);return Es(t?i.filter(e=>t.has(e)).length>0:i.length>0)})):Es(!1)))}function $h(e,t,n){return bs([t,Qh(e,n)]).pipe(sl(([e,t])=>e||t))}function $(e,t={},n=!1){var r;let i=e.get(P).getCurrentTypeOfUnit$(L.UNIVER_SHEET),a=e.get(rt),o=e.has(Kf)?e.get(Kf):null,s=e.get(Fe),c=((r=o==null?void 0:o.visible$)==null?Es(null):r).pipe(ll(null),cl(1)),l=s.subscribeContextValue$(Te).pipe(ll(!1),cl(1)),u=s.subscribeContextValue$(Ee).pipe(ll(!1),cl(1));return bs([a.currentUser$,i,c,l,u]).pipe(ul(([r,i,a,o,s])=>!i||a!=null&&a.visible&&a.unitId===i.getUnitId()&&!n||o&&!n?Es(!0):i.activeSheet$.pipe(ul(n=>{if(!n)return Es(!0);let r=e.get(W),a=e.get(Fi),o=e.get(Vo),c=e.get(Fe).subscribeContextValue$(xe).pipe(ll(!1));return bs([r.selectionMoveEnd$,c]).pipe(ul(([r,c])=>{if(c&&!s)return Es(!0);let l=i.getUnitId(),u=n.getSheetId(),d=e.get(Le),{workbookTypes:f=[G],worksheetTypes:p,rangeTypes:m}=t,h=[];if(f==null||f.forEach(e=>{h.push(new e(l).id)}),p==null||p.forEach(e=>{h.push(new e(l,u).id)}),o.getRule(l,u))return d.composePermission$(h).pipe(sl(e=>e.some(e=>e.value===!1)));let g=r==null?void 0:r.map(e=>e.range),_=a.getSubunitRuleList(l,u).filter(e=>g==null?void 0:g.some(t=>e.ranges.some(e=>Qe.intersects(t,e))));return m==null||m.forEach(e=>{_.forEach(t=>{h.push(new e(l,u,t.permissionId).id)})}),d.composePermission$(h).pipe(sl(e=>e.some(e=>e.value===!1)))}))}))))}function eg(e){let t=e.get(P),n=e.get(W),r=e.get(Fi),i=e.get(Le);return Ts(n.selectionMoveEnd$,i.permissionPointUpdate$.pipe(al(100))).pipe(sl(()=>{var e;let a=(e=n.getCurrentLastSelection())==null?void 0:e.range;if(!a)return!0;let o=t.getCurrentUnitForType(L.UNIVER_SHEET),s=o==null?void 0:o.getActiveSheet();if(!o||!s)return!0;let c=o.getUnitId(),l=s.getSheetId(),u=[new G(c).id,new K(c,l).id];return r.getSubunitRuleList(c,l).filter(e=>e.ranges.some(e=>Qe.intersects(a,e))).forEach(e=>{u.push(new U(c,l,e.permissionId).id)}),i.composePermission(u).some(e=>e.value===!1)}))}function tg(e,t){let n=e.get(P),r=e.get(W),i=e.get(Fi),a=e.get(Le);return Ts(r.selectionMoveEnd$,a.permissionPointUpdate$.pipe(al(100))).pipe(sl(()=>{var e;let o=(e=r.getCurrentLastSelection())==null?void 0:e.range;if(!o)return!0;let s=n.getCurrentUnitForType(L.UNIVER_SHEET),c=s==null?void 0:s.getActiveSheet();if(!s||!c)return!0;let l=s.getUnitId(),u=c.getSheetId(),d=[new G(l).id,new K(l,u).id];return i.getSubunitRuleList(l,u).filter(e=>t===`row`?e.ranges.some(e=>o.startRow>e.startRow&&o.startRow<=e.endRow):e.ranges.some(e=>o.startColumn>e.startColumn&&o.startColumn<=e.endColumn)).forEach(e=>{d.push(new U(l,u,e.permissionId).id)}),a.composePermission(d).some(e=>e.value===!1)}))}function ng(e,t){let n=e.get(P),r=e.get(W),i=e.get(Fi),a=e.get(Le);return Ts(r.selectionMoveEnd$,a.permissionPointUpdate$.pipe(al(100))).pipe(sl(()=>{var e;let o=(e=r.getCurrentLastSelection())==null?void 0:e.range;if(!o)return!0;let s=n.getCurrentUnitForType(L.UNIVER_SHEET),c=s==null?void 0:s.getActiveSheet();if(!s||!c)return!0;let l=s.getUnitId(),u=c.getSheetId(),d=[new G(l).id,new K(l,u).id],f=tt.deepClone(o);return t===`row`?(f.startColumn=0,f.endColumn=c.getColumnCount()-1):(f.startRow=0,f.endRow=c.getRowCount()-1),i.getSubunitRuleList(l,u).filter(e=>e.ranges.some(e=>Qe.intersects(f,e))).forEach(e=>{d.push(new U(l,u,e.permissionId).id)}),a.composePermission(d).some(e=>e.value===!1)}))}function rg(e,t){let n=e.get(P),r=e.get(W),i=e.get(Fi),a=e.get(Le);return Ts(r.selectionMoveEnd$,a.permissionPointUpdate$.pipe(al(100))).pipe(sl(()=>{var e;let o=(e=r.getCurrentLastSelection())==null?void 0:e.range;if(!o)return!0;let s=n.getCurrentUnitForType(L.UNIVER_SHEET),c=s==null?void 0:s.getActiveSheet();if(!s||!c)return!0;let l=s.getUnitId(),u=c.getSheetId(),d=[new G(l).id,new K(l,u).id],f=tt.deepClone(o);return t===`row`?f.endRow=c.getRowCount()-1:f.endColumn=c.getColumnCount()-1,i.getSubunitRuleList(l,u).filter(e=>e.ranges.some(e=>Qe.intersects(f,e))).forEach(e=>{d.push(new U(l,u,e.permissionId).id)}),a.composePermission(d).some(e=>e.value===!1)}))}function ig(e,t){let n=e.get(P).getCurrentTypeOfUnit$(L.UNIVER_SHEET),r=e.get(Vo),i=e.get(Fi),a=e.get(Le);return bs([e.get(rt).currentUser$,n]).pipe(ul(([e,n])=>n?n.activeSheet$.pipe(ul(e=>{if(!e)return Es(!0);let o=n.getUnitId(),s=[];return t.forEach(e=>s.push(new e(o).id)),a.composePermission$(s).pipe(sl(e=>e.every(e=>e.value===!0))).pipe(sl(t=>{if(!t)return!0;let n=e.getSheetId(),a=r.getRule(o,n),s=i.getSubunitRuleList(o,n);return!!(a||s.length)}))})):Es(!0)))}function ag(e){let t=e.get(zr),n=$(e,{workbookTypes:[G],worksheetTypes:[K,Ho],rangeTypes:[U]});return{id:oa.id,icon:new _s(t=>{let n=`AllBorderIcon`,r=e.get(zr),i=e.get(N).onCommandExecuted(e=>{var i;if(e.id!==oa.id)return;let{type:a}=r.getBorderInfo(),o=Bh.find(e=>e.value===a),s=(i=o==null?void 0:o.icon)==null?n:i;t.next(s)});return t.next(n),i.dispose}),tooltip:`toolbar.border.main`,type:z.BUTTON_SELECTOR,slot:!0,selections:[{label:{name:zh,hoverable:!1,selectable:!1},value$:t.borderInfo$}],value$:t.borderInfo$,hidden$:bs([B(e,L.UNIVER_SHEET),e.get(Fe).subscribeContextValue$(xe).pipe(Os(!1))]).pipe(ws(([e,t])=>e||t)),disabled$:n}}const og=`sheet.menu.clear-selection`;function sg(e){return{id:og,type:z.SUBITEMS,icon:`ClearFormatDoubleIcon`,title:`rightClick.clearSelection`,hidden$:B(e,L.UNIVER_SHEET)}}function cg(e){return{id:Gr.id,type:z.BUTTON,icon:`ClearFormatDoubleIcon`,title:`rightClick.clearContent`,disabled$:$h(e,$(e,{workbookTypes:[G],worksheetTypes:[K,Uo],rangeTypes:[U]})),hidden$:B(e,L.UNIVER_SHEET)}}function lg(e){return{id:Kr.id,type:z.BUTTON,icon:`ClearFormatDoubleIcon`,title:`rightClick.clearFormat`,disabled$:$(e,{workbookTypes:[G],worksheetTypes:[K,Ho],rangeTypes:[U]}),hidden$:B(e,L.UNIVER_SHEET)}}function ug(e){return{id:Wr.id,type:z.BUTTON,icon:`ClearFormatDoubleIcon`,title:`rightClick.clearAll`,tooltip:`rightClick.clearAll`,disabled$:$h(e,$(e,{workbookTypes:[G],worksheetTypes:[K,Uo,Ho],rangeTypes:[U]})),hidden$:B(e,L.UNIVER_SHEET)}}const dg=`sheet.menu.delete`;function fg(e){return{id:dg,type:z.SUBITEMS,title:`rightClick.delete`,icon:`ReduceDoubleIcon`,hidden$:$h(e,eg(e)),disabled$:$(e,{workbookTypes:[G],worksheetTypes:[K]})}}function pg(e){return{id:cf.id,type:z.BUTTON,icon:`DeleteColumnDoubleIcon`,title:`rightClick.deleteSelectedColumn`,hidden$:ng(e,`col`),disabled$:$(e,{workbookTypes:[G,To],worksheetTypes:[K,Po]})}}function mg(e){return{id:sf.id,type:z.BUTTON,icon:`DeleteRowDoubleIcon`,title:`rightClick.deleteSelectedRow`,disabled$:$(e,{workbookTypes:[G,Eo],worksheetTypes:[K,Io]}),hidden$:ng(e,`row`)}}function hg(e){return{id:ad.id,type:z.BUTTON,title:`rightClick.moveLeft`,icon:`DeleteCellShiftLeftDoubleIcon`,disabled$:$(e,{workbookTypes:[G],worksheetTypes:[K],rangeTypes:[U]}),hidden$:rg(e,`col`)}}function gg(e){return{id:od.id,type:z.BUTTON,title:`rightClick.moveUp`,icon:`DeleteCellShiftUpDoubleIcon`,disabled$:$(e,{workbookTypes:[G],worksheetTypes:[K],rangeTypes:[U]}),hidden$:rg(e,`row`)}}function _g(e,t){let n=e.get(W),r=e.get(P),i=e.get(N),a=e.get(Fe);return Zh(r,t,({worksheet:r})=>new _s(o=>{let s=()=>{var e;let i=t,a=(e=n.getCurrentLastSelection())==null?void 0:e.primary;if(a!=null){let e=r.getComposedCellStyle(a.startRow,a.startColumn);e.fs&&(i=e.fs)}o.next(i)},c=()=>{let n=wd(e);if(n!=null){var r,i;let e=(r=(i=n.ts)==null?void 0:i.fs)==null?t:r;o.next(e)}},l=i.onCommandExecuted(e=>{let t=e.id;(t===Sa.id||t===Aa.id||t===Ua.id)&&s(),(t===Is.id||t===g.id)&&a.getContextValue(ve)&&(a.getContextValue(De)||a.getContextValue(Ee))&&c()});return s(),l.dispose}))}function vg(e){let t=ce.fs,n=$(e,{workbookTypes:[G],worksheetTypes:[K,Ho],rangeTypes:[U]},!0);return{id:jd.id,type:z.SELECTOR,tooltip:`toolbar.fontSize`,label:{name:sn,props:{min:6,max:400,disabled$:n}},selections:cn,disabled$:n,value$:_g(e,t),hidden$:B(e,L.UNIVER_SHEET)}}function yg(e){let t=$(e,{workbookTypes:[G],worksheetTypes:[K,Ho],rangeTypes:[U]},!0);return{id:Md.id,type:z.BUTTON,icon:`FontSizeIncreaseIcon`,tooltip:`toolbar.fontSizeIncrease`,disabled$:t,hidden$:B(e,L.UNIVER_SHEET)}}function bg(e){let t=$(e,{workbookTypes:[G],worksheetTypes:[K,Ho],rangeTypes:[U]},!0);return{id:Nd.id,type:z.BUTTON,icon:`FontSizeReduceIcon`,tooltip:`toolbar.fontSizeDecrease`,disabled$:t,hidden$:B(e,L.UNIVER_SHEET)}}const xg=(e,t)=>{let n=e.get(W);return new _s(e=>{let r=n=>{var r,i;if(!n)return e.next(!0);let{primary:a,range:o}=n,s=(r=a==null?void 0:a.startRow)==null?o.startRow:r,c=(i=a==null?void 0:a.startColumn)==null?o.startColumn:i;if(t===`row`&&s<=0||t===`col`&&c<=0)return e.next(!0);e.next(!1)},i=n.selectionChanged$.subscribe(t=>{if(!t||t.length===0)return e.next(!0);r(t[t.length-1])});return r(n.getCurrentLastSelection()),()=>i.unsubscribe()})},Sg=`sheet.menu.sheet-frozen`;function Cg(e){return{id:Sg,type:z.SUBITEMS,title:`rightClick.freeze`,icon:`FreezeToSelectedIcon`,hidden$:B(e,L.UNIVER_SHEET)}}const wg=`sheet.column-header-menu.sheet-frozen`;function Tg(e){return{id:wg,type:z.SUBITEMS,title:`rightClick.freeze`,icon:`FreezeToSelectedIcon`,hidden$:B(e,L.UNIVER_SHEET)}}const Eg=`sheet.row-header-menu.sheet-frozen`;function Dg(e){return{id:Eg,type:z.SUBITEMS,title:`rightClick.freeze`,icon:`FreezeToSelectedIcon`,hidden$:B(e,L.UNIVER_SHEET)}}function Og(e){return{id:yf.id,type:z.BUTTON,icon:`FreezeToSelectedIcon`,label:{name:Gh,props:{type:`all`}},hidden$:bs([B(e,L.UNIVER_SHEET),xg(e,`all`)]).pipe(ws(([e,t])=>e||t))}}function kg(e){return{id:bf.id,type:z.BUTTON,icon:`FreezeRowIcon`,label:{name:Gh,props:{type:`row`}},hidden$:bs([B(e,L.UNIVER_SHEET),xg(e,`row`)]).pipe(ws(([e,t])=>e||t))}}function Ag(e){return{id:xf.id,type:z.BUTTON,icon:`FreezeColumnIcon`,label:{name:Gh,props:{type:`col`}},hidden$:bs([B(e,L.UNIVER_SHEET),xg(e,`col`)]).pipe(ws(([e,t])=>e||t))}}function jg(e){return{id:Sf.id,type:z.BUTTON,title:`rightClick.freezeFirstRow`,icon:`FreezeRowIcon`,hidden$:B(e,L.UNIVER_SHEET)}}function Mg(e){return{id:Cf.id,type:z.BUTTON,title:`rightClick.freezeFirstCol`,icon:`FreezeColumnIcon`,hidden$:B(e,L.UNIVER_SHEET)}}function Ng(e){return{id:Hr.id,type:z.BUTTON,title:`rightClick.cancelFreeze`,icon:`CancelFreezeIcon`,hidden$:B(e,L.UNIVER_SHEET)}}function Pg(e){let t=e.get(N),n=e.get(P);return{id:go.id,type:z.BUTTON,tooltip:`toolbar.toggleGridlines`,icon:`HideGridlinesDoubleIcon`,activated$:new _s(e=>{let r=()=>{let e=n.getCurrentUnitForType(L.UNIVER_SHEET);return e?e.getActiveSheet().getConfig().showGridlines===ne.TRUE:!1},i=new ge;return i.add(t.onCommandExecuted(t=>{(t.id===_o.id||t.id===Ua.id)&&e.next(r())})),i.add(n.getCurrentTypeOfUnit$(L.UNIVER_SHEET).subscribe(()=>{e.next(r())})),e.next(r()),()=>i.dispose()}),disabled$:$(e,{workbookTypes:[G],worksheetTypes:[K]})}}const Fg=`sheet.menu.cell-insert`;function Ig(e){return{id:Fg,type:z.SUBITEMS,title:`rightClick.insert`,icon:`InsertDoubleIcon`,hidden$:$h(e,eg(e)),disabled$:$(e,{workbookTypes:[G,ko,Ao],worksheetTypes:[Lo,Ro,K],rangeTypes:[U]})}}function Lg(e){let t=e.get(P),n=e.get(W),r=e.get(N),i=$(e,{workbookTypes:[G,Ao],worksheetTypes:[Ro,K],rangeTypes:[U]});return{id:_i.id,type:z.BUTTON,icon:`InsertRowAboveDoubleIcon`,label:{name:Jh,props:{prefix:`rightClick.insertRowsAbove`,min:1,max:1e3,suffix:`rightClick.insertRowsAboveSuffix`,disabled$:i}},value$:Zh(t,1,()=>new _s(e=>{function t(){var t;let r=(t=n.getCurrentLastSelection())==null?void 0:t.range,i=1;r&&(i=(r==null?void 0:r.endRow)-(r==null?void 0:r.startRow)+1),e.next(i)}let i=r.onCommandExecuted(e=>{if(e.id===Aa.id)return t()});return t(),i.dispose})),disabled$:i,hidden$:tg(e,`row`)}}function Rg(e){let t=e.get(P),n=e.get(W),r=e.get(N),i=$(e,{workbookTypes:[G,ko],worksheetTypes:[Lo,K],rangeTypes:[U]});return{id:si.id,type:z.BUTTON,icon:`LeftInsertColumnDoubleIcon`,label:{name:Jh,props:{prefix:`rightClick.insertColsLeft`,min:1,max:1e3,suffix:`rightClick.insertColsLeftSuffix`,disabled$:i}},value$:Zh(t,1,()=>new _s(e=>{function t(){var t;let r=(t=n.getCurrentLastSelection())==null?void 0:t.range,i=1;r&&(i=(r==null?void 0:r.endColumn)-(r==null?void 0:r.startColumn)+1),e.next(i)}let i=r.onCommandExecuted(e=>{if(e.id===Aa.id)return t()});return t(),i.dispose})),disabled$:i,hidden$:tg(e,`col`)}}function zg(e){return{id:Rd.id,type:z.BUTTON,title:`rightClick.moveRight`,icon:`InsertCellShiftRightDoubleIcon`,disabled$:$(e,{workbookTypes:[G],worksheetTypes:[K],rangeTypes:[U]}),hidden$:rg(e,`col`)}}function Bg(e){return{id:Ld.id,type:z.BUTTON,title:`rightClick.moveDown`,icon:`InsertCellDownDoubleIcon`,disabled$:$(e,{workbookTypes:[G],worksheetTypes:[K],rangeTypes:[U]}),hidden$:rg(e,`row`)}}function Vg(e){let t=e.get(P),n=e.get(W),r=e.get(N),i=$(e,{workbookTypes:[G,Ao],worksheetTypes:[Ro,K],rangeTypes:[U]});return{id:mi.id,type:z.BUTTON,icon:`InsertRowBelowDoubleIcon`,label:{name:Jh,props:{prefix:`rightClick.insertRowsAfter`,min:1,max:1e3,suffix:`rightClick.insertRowsAfterSuffix`,disabled$:i}},value$:Zh(t,1,()=>new _s(e=>{function t(){var t;let r=(t=n.getCurrentLastSelection())==null?void 0:t.range,i=1;r&&(i=(r==null?void 0:r.endRow)-(r==null?void 0:r.startRow)+1),e.next(i)}let i=r.onCommandExecuted(e=>{if(e.id===Aa.id)return t()});return t(),i.dispose})),disabled$:i,hidden$:eg(e)}}function Hg(e){let t=e.get(P),n=e.get(W),r=e.get(N),i=$(e,{workbookTypes:[G,Ao],worksheetTypes:[Ro,K],rangeTypes:[U]});return{id:pi.id,type:z.BUTTON,icon:`InsertRowAboveDoubleIcon`,label:{name:Jh,props:{prefix:`rightClick.insertRowsAbove`,min:1,max:1e3,suffix:`rightClick.insertRowsAboveSuffix`,disabled$:i}},value$:Zh(t,1,()=>new _s(e=>{function t(){var t;let r=(t=n.getCurrentLastSelection())==null?void 0:t.range,i=1;r&&(i=(r==null?void 0:r.endRow)-(r==null?void 0:r.startRow)+1),e.next(i)}let i=r.onCommandExecuted(e=>{if(e.id===Aa.id)return t()});return t(),i.dispose})),disabled$:i,hidden$:eg(e)}}function Ug(e){let t=e.get(P),n=e.get(W),r=e.get(N),i=$(e,{workbookTypes:[G,ko],worksheetTypes:[Lo,K],rangeTypes:[U]});return{id:di.id,type:z.BUTTON,icon:`LeftInsertColumnDoubleIcon`,label:{name:Jh,props:{prefix:`rightClick.insertColsLeft`,min:1,max:1e3,suffix:`rightClick.insertColsLeftSuffix`,disabled$:i}},value$:Zh(t,1,()=>new _s(e=>{function t(){var t;let r=(t=n.getCurrentLastSelection())==null?void 0:t.range,i=1;r&&(i=(r==null?void 0:r.endColumn)-(r==null?void 0:r.startColumn)+1),e.next(i)}let i=r.onCommandExecuted(e=>{if(e.id===Aa.id)return t()});return t(),i.dispose})),disabled$:i,hidden$:eg(e)}}function Wg(e){let t=e.get(P),n=e.get(W),r=e.get(N),i=$(e,{workbookTypes:[G,ko],worksheetTypes:[Lo,K],rangeTypes:[U]});return{id:fi.id,type:z.BUTTON,icon:`RightInsertColumnDoubleIcon`,label:{name:Jh,props:{prefix:`rightClick.insertColsRight`,min:1,max:1e3,suffix:`rightClick.insertColsRightSuffix`,disabled$:i}},value$:Zh(t,1,()=>new _s(e=>{function t(){var t;let r=(t=n.getCurrentLastSelection())==null?void 0:t.range,i=1;r&&(i=(r==null?void 0:r.endColumn)-(r==null?void 0:r.startColumn)+1),e.next(i)}let i=r.onCommandExecuted(e=>{if(e.id===Aa.id)return t()});return t(),i.dispose})),disabled$:i,hidden$:eg(e)}}let Gg=function(e){return e.ROW_HEADER_CONTEXT_MENU=`ROW_HEADER_CONTEXT_MENU`,e.COL_HEADER_CONTEXT_MENU=`COL_HEADER_CONTEXT_MENU`,e.SHEET_BAR=`SHEET_BAR`,e.SHEET_FOOTER=`SHEET_FOOTER`,e}({});function Kg(e){let t=e.get(df);return{id:hf.id,subId:mf.id,type:z.BUTTON,icon:`BrushIcon`,title:`Format Painter`,tooltip:`toolbar.formatPainter`,activated$:new _s(e=>{let n=!1,r=t.status$.subscribe(t=>{n=t!==uf.OFF,e.next(n)});return e.next(n),()=>{r.unsubscribe()}}),hidden$:B(e,L.UNIVER_SHEET),disabled$:$(e,{workbookTypes:[G],worksheetTypes:[No,K],rangeTypes:[U]},!0)}}function qg(e){let t=e.get(N),n=e.get(P),r=e.get(Fe),i=e.get(W);return{id:Td.id,type:z.BUTTON,icon:`BoldIcon`,title:`Set bold`,tooltip:`toolbar.bold`,disabled$:$(e,{workbookTypes:[G],worksheetTypes:[K,Ho],rangeTypes:[U]},!0),activated$:Zh(n,!1,({worksheet:n})=>new _s(a=>{var o;let s=t.onCommandExecuted(t=>{let o=t.id;if(o===Sa.id||o===Aa.id||o===Ua.id){var s;let e=(s=i.getCurrentLastSelection())==null?void 0:s.primary,t=Ae.NORMAL;if(e!=null){let r=n.getRange(e.startRow,e.startColumn);t=r==null?void 0:r.getFontWeight()}a.next(t===Ae.BOLD)}if((o===Is.id||o===g.id)&&r.getContextValue(ve)&&(r.getContextValue(De)||r.getContextValue(Ee))){var c;let t=wd(e);if(t==null)return;let n=(c=t.ts)==null?void 0:c.bl;a.next(n===ne.TRUE)}}),c=(o=i.getCurrentLastSelection())==null?void 0:o.primary;if(!n){a.next(!1);return}let l=Ae.NORMAL;if(c!=null){let e=n.getRange(c.startRow,c.startColumn);l=e==null?void 0:e.getFontWeight()}return a.next(l===Ae.BOLD),s.dispose})),hidden$:B(e,L.UNIVER_SHEET)}}function Jg(e){let t=e.get(N),n=e.get(P),r=e.get(W),i=e.get(Fe);return{id:Ed.id,type:z.BUTTON,icon:`ItalicIcon`,title:`Set italic`,tooltip:`toolbar.italic`,disabled$:$(e,{workbookTypes:[G],worksheetTypes:[K,Ho],rangeTypes:[U]},!0),activated$:Zh(n,!1,({worksheet:n})=>new _s(a=>{var o;let s=t.onCommandExecuted(t=>{let o=t.id;if(o===Sa.id||o===Aa.id||o===Ua.id){var s;let e=(s=r.getCurrentLastSelection())==null?void 0:s.primary,t=ke.NORMAL;if(e!=null){let r=n.getRange(e.startRow,e.startColumn);t=r==null?void 0:r.getFontStyle()}a.next(t===ke.ITALIC)}if((o===Is.id||o===g.id)&&i.getContextValue(ve)&&(i.getContextValue(De)||i.getContextValue(Ee))){var c;let t=wd(e);if(t==null)return;let n=(c=t.ts)==null?void 0:c.it;a.next(n===ne.TRUE)}}),c=(o=r.getCurrentLastSelection())==null?void 0:o.primary,l=ke.NORMAL;if(c!=null){let e=n.getRange(c.startRow,c.startColumn);l=e==null?void 0:e.getFontStyle()}return a.next(l===ke.ITALIC),s.dispose})),hidden$:B(e,L.UNIVER_SHEET)}}function Yg(e){let t=e.get(N),n=e.get(P),r=e.get(W),i=e.get(Fe);return{id:Dd.id,type:z.BUTTON,icon:`UnderlineIcon`,title:`Set underline`,tooltip:`toolbar.underline`,activated$:Zh(n,!1,({worksheet:n})=>new _s(a=>{var o;let s=t.onCommandExecuted(t=>{let o=t.id;if(o===Sa.id||o===Aa.id||o===Ua.id){var s;let e=(s=r.getCurrentLastSelection())==null?void 0:s.primary,t;if(e!=null){let r=n.getRange(e.startRow,e.startColumn);t=r==null?void 0:r.getUnderline()}a.next(!!(t&&t.s))}if((o===Is.id||o===g.id)&&i.getContextValue(ve)&&(i.getContextValue(De)||i.getContextValue(Ee))){var c;let t=wd(e);if(t==null)return;let n=(c=t.ts)==null?void 0:c.ul;a.next((n==null?void 0:n.s)===ne.TRUE)}}),c=(o=r.getCurrentLastSelection())==null?void 0:o.primary,l;if(c!=null){let e=n.getRange(c.startRow,c.startColumn);l=e==null?void 0:e.getUnderline()}return a.next(!!(l&&l.s)),s.dispose})),disabled$:$(e,{workbookTypes:[G],worksheetTypes:[K,Ho],rangeTypes:[U]},!0),hidden$:B(e,L.UNIVER_SHEET)}}function Xg(e){let t=e.get(N),n=e.get(P),r=e.get(W),i=e.get(Fe);return{id:Od.id,type:z.BUTTON,icon:`StrikethroughIcon`,title:`Set strike through`,tooltip:`toolbar.strikethrough`,disabled$:$(e,{workbookTypes:[G],worksheetTypes:[K,Ho],rangeTypes:[U]},!0),activated$:Zh(n,!1,({worksheet:n})=>new _s(a=>{var o;let s=t.onCommandExecuted(t=>{let o=t.id;if(o===Sa.id||o===Aa.id||o===Ua.id){var s;let e=(s=r.getCurrentLastSelection())==null?void 0:s.primary,t;if(e!=null){let r=n.getRange(e.startRow,e.startColumn);t=r==null?void 0:r.getStrikeThrough()}a.next(!!(t&&t.s))}if((o===Is.id||o===g.id)&&i.getContextValue(ve)&&(i.getContextValue(De)||i.getContextValue(Ee))){var c;let t=wd(e);if(t==null)return;let n=(c=t.ts)==null?void 0:c.st;a.next((n==null?void 0:n.s)===ne.TRUE)}}),c=(o=r.getCurrentLastSelection())==null?void 0:o.primary,l;if(c!=null){let e=n.getRange(c.startRow,c.startColumn);l=e==null?void 0:e.getStrikeThrough()}return a.next(!!(l&&l.s)),s.dispose})),hidden$:B(e,L.UNIVER_SHEET)}}function Zg(e){let t=e.get(N),n=e.get(P),r=e.get(W),i=ce.ff,a=$(e,{workbookTypes:[G],worksheetTypes:[K,Ho],rangeTypes:[U]},!0);return{id:Pd.id,tooltip:`toolbar.font`,type:z.SELECTOR,label:{name:an,props:{id:Pd.id,disabled$:a}},selections:[{label:{name:on,hoverable:!1,selectable:!1,props:{id:Pd.id}}}],disabled$:a,value$:Zh(n,i,({worksheet:n})=>new _s(a=>{let o=()=>{var e;let t=i,o=(e=r.getCurrentLastSelection())==null?void 0:e.primary;if(o!=null){let e=n.getCellStyle(o.startRow,o.startColumn),r=dt(n.getDefaultCellStyleInternal(),n.getRowStyle(o.startRow),n.getColumnStyle(o.startColumn),e);r.ff&&(t=r.ff)}a.next(t)},s=t.onCommandExecuted(t=>{let n=t.id;if((n===Sa.id||n===Aa.id||n===Ua.id)&&o(),(n===Is.id||n===g.id)&&e.get(Fe).getContextValue(ve)&&(e.get(Fe).getContextValue(De)||e.get(Fe).getContextValue(Ee))){let t=wd(e);if(t!=null){var r,s;let e=(r=(s=t.ts)==null?void 0:s.ff)==null?i:r;a.next(e)}}});return o(),s.dispose})),hidden$:B(e,L.UNIVER_SHEET)}}function Qg(e){return{id:Id.id,type:z.BUTTON,title:`toolbar.resetColor`,icon:`NoColorDoubleIcon`,disabled$:$(e,{workbookTypes:[G],worksheetTypes:[K,Ho],rangeTypes:[U]},!0),hidden$:B(e,L.UNIVER_SHEET)}}function $g(e){let t=e.get(N),n=e.get(et),r=e.get(W);return{id:Fd.id,icon:`FontColorDoubleIcon`,tooltip:`toolbar.textColor.main`,type:z.BUTTON_SELECTOR,selections:[{label:{name:Kt,hoverable:!1,selectable:!1},value$:new _s(e=>{let t=ce.cl.rgb,{isAllValuesSame:n,value:i}=r.getCellStylesProperty(`cl`);if(n){var a;e.next((a=i==null?void 0:i.rgb)==null?t:a)}else e.next(t)})}],value$:new _s(e=>{let r=n.getColorFromTheme(`gray.900`),i=t.onCommandExecuted(t=>{if(t.id===Fd.id){let n=t.params.value;e.next(n==null?r:n)}});return e.next(r),i.dispose}),hidden$:B(e,L.UNIVER_SHEET),disabled$:$(e,{workbookTypes:[G],worksheetTypes:[K,Ho],rangeTypes:[U]},!0)}}function e_(e){return{id:Yi.id,type:z.BUTTON,title:`toolbar.resetColor`,icon:`NoColorDoubleIcon`,disabled$:$(e,{workbookTypes:[G],worksheetTypes:[K,Ho],rangeTypes:[U]})}}function t_(e){let t=e.get(N),n=e.get(et),r=e.get(W);return{id:ia.id,tooltip:`toolbar.fillColor.main`,type:z.BUTTON_SELECTOR,icon:`PaintBucketDoubleIcon`,selections:[{label:{name:Kt,hoverable:!1,selectable:!1},value$:new _s(e=>{let t=ce.bg.rgb,{isAllValuesSame:n,value:i}=r.getCellStylesProperty(`bg`);if(n){var a;e.next((a=i==null?void 0:i.rgb)==null?t:a)}else e.next(t)})}],value$:new _s(e=>{let r=n.getColorFromTheme(`primary.600`),i=t.onCommandExecuted(t=>{if(t.id===ia.id){let n=t.params.value;e.next(n==null?r:n)}});return e.next(r),i.dispose}),hidden$:bs([B(e,L.UNIVER_SHEET),e.get(Fe).subscribeContextValue$(xe).pipe(Os(!1))]).pipe(ws(([e,t])=>e||t)),disabled$:$(e,{workbookTypes:[G],worksheetTypes:[K,Ho],rangeTypes:[U]})}}const n_=[{label:`align.left`,icon:`LeftJustifyingIcon`,value:je.LEFT},{label:`align.center`,icon:`HorizontallyIcon`,value:je.CENTER},{label:`align.right`,icon:`RightJustifyingIcon`,value:je.RIGHT}];function r_(e){var t,n;let r=e.get(P),i=e.get(W),a=r.getCurrentUnitOfType(L.UNIVER_SHEET),o=a==null?void 0:a.getActiveSheet().getDefaultCellStyleInternal(),s=(t=o==null?void 0:o.ht)==null?je.LEFT:t;return{id:va.id,icon:(n=n_.find(e=>e.value===s))==null?void 0:n.icon,tooltip:`toolbar.horizontalAlignMode.main`,type:z.SELECTOR,selections:n_,value$:Zh(r,s,({worksheet:t})=>new _s(n=>{var r,o;let c=e.get(N).onCommandExecuted(e=>{var r,o;let c=e.id;if(c!==va.id&&c!==Aa.id&&c!==Ua.id)return;let l=(r=i.getCurrentLastSelection())==null?void 0:r.primary,u;if(l!=null){var d;let e=t.getRange(l.startRow,l.startColumn),n=a==null?void 0:a.getActiveSheet().getComposedCellStyle(l.startRow,l.startColumn);u=(d=n==null?void 0:n.ht)==null?e==null?void 0:e.getHorizontalAlignment():d}n.next((o=u)==null?s:o)}),l=(r=i.getCurrentLastSelection())==null?void 0:r.primary,u;if(l!=null){var d;let e=t.getRange(l.startRow,l.startColumn),n=a==null?void 0:a.getActiveSheet().getComposedCellStyle(l.startRow,l.startColumn);u=(d=n==null?void 0:n.ht)==null?e==null?void 0:e.getHorizontalAlignment():d}return n.next((o=u)==null?s:o),c.dispose})),hidden$:bs([B(e,L.UNIVER_SHEET),e.get(Fe).subscribeContextValue$(xe).pipe(Os(!1))]).pipe(ws(([e,t])=>e||t)),disabled$:$(e,{workbookTypes:[G],worksheetTypes:[K,Ho],rangeTypes:[U]})}}const i_=[{label:`align.top`,icon:`AlignTopIcon`,value:it.TOP},{label:`align.middle`,icon:`VerticalCenterIcon`,value:it.MIDDLE},{label:`align.bottom`,icon:`AlignBottomIcon`,value:it.BOTTOM}];function a_(e){var t,n;let r=e.get(P),i=e.get(W),a=r.getCurrentUnitOfType(L.UNIVER_SHEET),o=a==null?void 0:a.getActiveSheet().getDefaultCellStyleInternal(),s=(t=o==null?void 0:o.vt)==null?it.BOTTOM:t;return{id:Va.id,icon:(n=i_.find(e=>e.value===s))==null?void 0:n.icon,tooltip:`toolbar.verticalAlignMode.main`,type:z.SELECTOR,selections:i_,value$:Zh(r,s,({worksheet:t})=>new _s(n=>{var r,o;let c=e.get(N).onCommandExecuted(e=>{var r,o;let c=e.id;if(c!==Va.id&&c!==Aa.id&&c!==Ua.id)return;let l=(r=i.getCurrentLastSelection())==null?void 0:r.primary,u;if(l!=null){var d;let e=t.getRange(l.startRow,l.startColumn),n=a==null?void 0:a.getActiveSheet().getComposedCellStyle(l.startRow,l.startColumn);u=(d=n==null?void 0:n.vt)==null?e==null?void 0:e.getVerticalAlignment():d}n.next((o=u)==null?s:o)}),l=(r=i.getCurrentLastSelection())==null?void 0:r.primary,u;if(l!=null){var d;let e=t.getRange(l.startRow,l.startColumn),n=a==null?void 0:a.getActiveSheet().getComposedCellStyle(l.startRow,l.startColumn);u=(d=n==null?void 0:n.vt)==null?e==null?void 0:e.getVerticalAlignment():d}return n.next((o=u)==null?s:o),c.dispose})),hidden$:bs([B(e,L.UNIVER_SHEET),e.get(Fe).subscribeContextValue$(xe).pipe(Os(!1))]).pipe(ws(([e,t])=>e||t)),disabled$:$(e,{workbookTypes:[G],worksheetTypes:[K,Ho],rangeTypes:[U]})}}const o_=[{label:`textWrap.overflow`,icon:`OverflowIcon`,value:ot.OVERFLOW},{label:`textWrap.wrap`,icon:`AutowrapIcon`,value:ot.WRAP},{label:`textWrap.clip`,icon:`TruncationIcon`,value:ot.CLIP}];function s_(e){var t,n;let r=e.get(W),i=e.get(P),a=i.getCurrentUnitOfType(L.UNIVER_SHEET),o=a==null?void 0:a.getActiveSheet().getDefaultCellStyleInternal(),s=(t=o==null?void 0:o.tb)==null?ot.OVERFLOW:t;return{id:za.id,tooltip:`toolbar.textWrapMode.main`,icon:(n=o_.find(e=>e.value===s))==null?void 0:n.icon,type:z.SELECTOR,selections:o_,value$:Zh(i,s,({worksheet:t})=>new _s(n=>{var i,o;let c=e.get(N).onCommandExecuted(e=>{var i,o;let c=e.id;if(c!==za.id&&c!==Aa.id&&c!==Ua.id)return;let l=(i=r.getCurrentLastSelection())==null?void 0:i.primary,u;if(l!=null){var d;let e=t.getRange(l.startRow,l.startColumn),n=a==null?void 0:a.getActiveSheet().getComposedCellStyle(l.startRow,l.startColumn);u=(d=n==null?void 0:n.tb)==null?e==null?void 0:e.getWrapStrategy():d}n.next((o=u)==null?s:o)}),l=(i=r.getCurrentLastSelection())==null?void 0:i.primary,u;if(l!=null){var d;let e=t.getRange(l.startRow,l.startColumn),n=a==null?void 0:a.getActiveSheet().getComposedCellStyle(l.startRow,l.startColumn);u=(d=n==null?void 0:n.tb)==null?e==null?void 0:e.getWrapStrategy():d}return n.next((o=u)==null?s:o),c.dispose})),hidden$:bs([B(e,L.UNIVER_SHEET),e.get(Fe).subscribeContextValue$(xe).pipe(Os(!1))]).pipe(ws(([e,t])=>e||t)),disabled$:$(e,{workbookTypes:[G],worksheetTypes:[K,Ho],rangeTypes:[U]})}}const c_=[{label:`textRotate.none`,icon:`NoRotationIcon`,value:0},{label:`textRotate.angleUp`,icon:`LeftRotationFortyFiveDegreesIcon`,value:-45},{label:`textRotate.angleDown`,icon:`RightRotationFortyFiveDegreesIcon`,value:45},{label:`textRotate.vertical`,icon:`VerticalTextIcon`,value:`v`},{label:`textRotate.rotationUp`,icon:`LeftRotationNinetyDegreesIcon`,value:-90},{label:`textRotate.rotationDown`,icon:`RightRotationNinetyDegreesIcon`,value:90}];function l_(e){let t=e.get(W),n=e.get(P);return{id:Ra.id,tooltip:`toolbar.textRotateMode.main`,icon:c_[0].icon,type:z.SELECTOR,selections:c_,value$:Zh(n,0,({worksheet:n})=>new _s(r=>{var i;let a=e.get(N).onCommandExecuted(e=>{var i;let a=e.id;if(a!==Ra.id&&a!==Aa.id&&a!==Ua.id)return;let o=(i=t.getCurrentLastSelection())==null?void 0:i.primary,s;if(o!=null){let e=n.getRange(o.startRow,o.startColumn);s=e==null?void 0:e.getTextRotation()}if((s==null?void 0:s.v)===ne.TRUE)r.next(`v`);else{var c;r.next((c=s&&s.a)==null?0:c)}}),o=(i=t.getCurrentLastSelection())==null?void 0:i.primary,s;if(o!=null){let e=n.getRange(o.startRow,o.startColumn);s=e==null?void 0:e.getTextRotation()}if((s==null?void 0:s.v)===ne.TRUE)r.next(`v`);else{var c;r.next((c=s&&s.a)==null?0:c)}return a.dispose})),hidden$:bs([B(e,L.UNIVER_SHEET),e.get(Fe).subscribeContextValue$(xe).pipe(Os(!1))]).pipe(ws(([e,t])=>e||t)),disabled$:$(e,{workbookTypes:[G],worksheetTypes:[K,Ho],rangeTypes:[U]})}}function u_(e){return new _s(t=>{let n=e.get(dn).supportClipboard,r=e.get(Uu).copyContentCache().lastCopyId$.subscribe(e=>{t.next(!n&&!e)});return t.next(!n),()=>r.unsubscribe()})}function d_(e){return{id:Xu.name,commandId:Xu.id,type:z.BUTTON,title:`rightClick.copy`,icon:`CopyDoubleIcon`,disabled$:$(e,{workbookTypes:[So],worksheetTypes:[No],rangeTypes:[Pi]}),hidden$:B(e,L.UNIVER_SHEET)}}function f_(e){return{id:Zu.name,commandId:Qt.id,type:z.BUTTON,title:`rightClick.cut`,icon:`CutIcon`,disabled$:$(e,{workbookTypes:[So,G],worksheetTypes:[No,K],rangeTypes:[Pi,U]}),hidden$:B(e,L.UNIVER_SHEET)}}function p_(e){return{id:Qu.name,commandId:Qu.id,type:z.BUTTON,title:`rightClick.paste`,icon:`PasteSpecialDoubleIcon`,disabled$:u_(e).pipe(xs($(e,{rangeTypes:[U],worksheetTypes:[K,Ho,Uo],workbookTypes:[G]})),ws(([e,t])=>e||t)),hidden$:B(e,L.UNIVER_SHEET)}}const m_=`sheet.menu.copy-special`;function h_(e){return{id:m_,type:z.SUBITEMS,icon:`CopyDoubleIcon`,title:`rightClick.copySpecial`,hidden$:$h(e,B(e,L.UNIVER_SHEET))}}const g_=`sheet.menu.paste-special`;function __(e){return{id:g_,type:z.SUBITEMS,icon:`PasteSpecialDoubleIcon`,title:`rightClick.pasteSpecial`,hidden$:$h(e,B(e,L.UNIVER_SHEET))}}function v_(e){return{id:ed.id,type:z.BUTTON,title:`rightClick.pasteValue`,disabled$:u_(e).pipe(xs($(e,{rangeTypes:[U],worksheetTypes:[Uo,K],workbookTypes:[G]})),ws(([e,t])=>e||t)),hidden$:B(e,L.UNIVER_SHEET)}}function y_(e){return{id:td.id,type:z.BUTTON,title:`rightClick.pasteFormat`,disabled$:u_(e).pipe(xs($(e,{rangeTypes:[U],worksheetTypes:[Ho,K],workbookTypes:[G]})),ws(([e,t])=>e||t)),hidden$:B(e,L.UNIVER_SHEET)}}function b_(e){return{id:nd.id,type:z.BUTTON,title:`rightClick.pasteColWidth`,disabled$:u_(e).pipe(xs($(e,{rangeTypes:[U],worksheetTypes:[Wo,K],workbookTypes:[G]})),ws(([e,t])=>e||t))}}function x_(e){return{id:rd.id,type:z.BUTTON,title:`rightClick.pasteBesidesBorder`,disabled$:u_(e).pipe(xs($(e,{rangeTypes:[U],worksheetTypes:[K,Ho,Uo,Go,Wo],workbookTypes:[G]})),ws(([e,t])=>e||t)),hidden$:B(e,L.UNIVER_SHEET)}}function S_(e){return{id:no.id,type:z.BUTTON,icon:`AutoHeightDoubleIcon`,title:`rightClick.fitContent`,disabled$:$(e,{workbookTypes:[G],worksheetTypes:[Go,K],rangeTypes:[U]}),hidden$:B(e,L.UNIVER_SHEET)}}function C_(e){return{id:Wf.id,type:z.BUTTON,icon:`AutoWidthDoubleIcon`,title:`rightClick.fitContent`,disabled$:$(e,{workbookTypes:[G],worksheetTypes:[Go,K],rangeTypes:[U]}),hidden$:B(e,L.UNIVER_SHEET)}}function w_(e){return{id:Sd.id,type:z.BUTTON,icon:`HideDoubleIcon`,title:`rightClick.hideSelectedRow`,disabled$:$(e,{workbookTypes:[G],worksheetTypes:[Go,K],rangeTypes:[U]}),hidden$:B(e,L.UNIVER_SHEET)}}function T_(e){return{id:Cd.id,type:z.BUTTON,icon:`HideDoubleIcon`,title:`rightClick.hideSelectedColumn`,disabled$:$(e,{workbookTypes:[G],worksheetTypes:[K,Wo],rangeTypes:[U]}),hidden$:B(e,L.UNIVER_SHEET)}}function E_(e){let t=e.get(P),n=e.get(W),r=e.get(N),i=[Aa,Ea,Da].map(e=>e.id);return{id:ka.id,type:z.BUTTON,icon:`EyeOutlineIcon`,title:`rightClick.showHideRow`,hidden$:Zh(t,!0,({worksheet:e})=>new _s(t=>{function a(){var t;let r=(t=n.getCurrentSelections())==null?void 0:t.map(e=>e.range).filter(e=>e.rangeType===I.ROW);return!!(r!=null&&r.some(t=>{for(let n=t.startRow;n<=t.endRow;n++)if(!e.getRowRawVisible(n))return!0;return!1}))}let o=r.onCommandExecuted(e=>{i.findIndex(t=>t===e.id)!==-1&&t.next(!a())});return t.next(!a()),()=>o.dispose()})),disabled$:$(e,{workbookTypes:[G],worksheetTypes:[K,Go],rangeTypes:[U]})}}function D_(e){let t=e.get(P),n=e.get(W),r=e.get(N),i=[Aa,la,ua].map(e=>e.id);return{id:Oa.id,type:z.BUTTON,icon:`EyeOutlineIcon`,title:`rightClick.showHideColumn`,hidden$:Zh(t,!0,({worksheet:e})=>new _s(t=>{function a(){var t;let r=(t=n.getCurrentSelections())==null?void 0:t.map(e=>e.range).filter(e=>e.rangeType===I.COLUMN);return!r||r.length===0?!1:!!r.some(t=>{for(let n=t.startColumn;n<=t.endColumn;n++)if(!e.getColVisible(n))return!0;return!1})}let o=r.onCommandExecuted(e=>{i.findIndex(t=>t===e.id)!==-1&&t.next(!a())});return t.next(!a()),()=>o.dispose()})),disabled$:$(e,{workbookTypes:[G],worksheetTypes:[Wo,K],rangeTypes:[U]})}}function O_(e){let t=e.get(N),n=e.get(P),r=e.get(W);return{id:wa.id,type:z.BUTTON,icon:`AdjustHeightDoubleIcon`,label:{name:Jh,props:{prefix:`rightClick.rowHeight`,suffix:`px`,min:2,max:1e3}},value$:Zh(n,2,({worksheet:e})=>new _s(n=>{function i(){var t;let i=(t=r.getCurrentLastSelection())==null?void 0:t.primary,a=i?e.getRowHeight(i.startRow):e.getConfig().defaultRowHeight;n.next(a)}let a=t.onCommandExecuted(e=>{let t=e.id;if(t===Sa.id||t===Aa.id||t===ro.id)return i()});return i(),a.dispose})),hidden$:$(e,{workbookTypes:[G],worksheetTypes:[K,Go],rangeTypes:[U]})}}function k_(e){let t=e.get(N),n=e.get(P),r=e.get(W);return{id:da.id,type:z.BUTTON,icon:`AdjustWidthDoubleIcon`,label:{name:Jh,props:{prefix:`rightClick.columnWidth`,suffix:`px`,min:2,max:1e3}},value$:Zh(n,2,({worksheet:e})=>new _s(n=>{function i(){var t;let i=(t=r.getCurrentLastSelection())==null?void 0:t.primary,a=i?e.getColumnWidth(i.startColumn):e.getConfig().defaultColumnWidth;n.next(a)}let a=t.onCommandExecuted(e=>{let t=e.id;if(t===Sa.id||t===Aa.id||t===Wa.id)return i()});return i(),a.dispose})),hidden$:$(e,{workbookTypes:[G],worksheetTypes:[K,Wo],rangeTypes:[U]})}}function A_(e){let t=$h(e,$(e,{workbookTypes:[G],worksheetTypes:[K,Uo,Ho],rangeTypes:[U]})),n=dh(e);return{id:Ar.id,icon:`MergeAllIcon`,tooltip:`toolbar.mergeCell.main`,type:z.SUBITEMS,hidden$:bs([B(e,L.UNIVER_SHEET),e.get(Fe).subscribeContextValue$(xe).pipe(Os(!1))]).pipe(ws(([e,t])=>e||t)),disabled$:t.pipe(xs(n),ws(([e,t])=>e||t))}}function j_(e){return{id:kr.id,type:z.BUTTON,title:`merge.all`,icon:`MergeAllIcon`,hidden$:B(e,L.UNIVER_SHEET)}}function M_(e){return{id:Nr.id,type:z.BUTTON,title:`merge.vertical`,icon:`VerticalIntegrationIcon`,hidden$:B(e,L.UNIVER_SHEET)}}function N_(e){return{id:jr.id,type:z.BUTTON,title:`merge.horizontal`,icon:`HorizontalMergeIcon`,hidden$:B(e,L.UNIVER_SHEET)}}function P_(e){return{id:qi.id,type:z.BUTTON,title:`merge.cancel`,icon:`CancelMergeIcon`,hidden$:B(e,L.UNIVER_SHEET)}}function F_(e){return bs([e.get(P).getCurrentTypeOfUnit$(L.UNIVER_SHEET),e.get(rt).currentUser$]).pipe(ks(([t,n])=>t?t.activeSheet$.pipe(ks(n=>{if(!n)return Es(!0);let r=e.get(Fi),i=e.get(Vo),a=e.get(W);return Ts(a.selectionMoveEnd$,r.ruleChange$,i.ruleChange$).pipe(ws(()=>{let e=t.getUnitId(),o=n.getSheetId(),s=r.getSubunitRuleList(e,o),c=a.getCurrentSelections(),l=c==null?void 0:c.map(e=>e.range),u=s.map(e=>e.ranges).flat();if(!l)return!1;let d=i.getRule(e,o);return d!=null&&d.permissionId?!0:l==null?void 0:l.some(e=>u.some(t=>Qe.intersects(e,t)))}))})):Es(!0)))}function I_(e){let t=e.get(P),n=e.get(Fi);return bs([t.getCurrentTypeOfUnit$(L.UNIVER_SHEET),e.get(rt).currentUser$]).pipe(ks(([t,r])=>t?t.activeSheet$.pipe(ks(r=>{if(!r)return Es(!0);let i=e.get(Fi),a=e.get(Vo),o=e.get(Le),s=e.get(W);return Ts(s.selectionMoveEnd$,i.ruleChange$,a.ruleChange$).pipe(ws(()=>{var i;let c=t.getUnitId(),l=r.getSheetId(),u=n.getSubunitRuleList(c,l),d=(i=s.getCurrentSelections())==null?void 0:i.map(e=>e.range);if(u.map(e=>e.ranges).flat(),!(d!=null&&d.length)||d.length>1)return!0;let f=d[0];if((f==null?void 0:f.rangeType)===I.ALL||(f==null?void 0:f.rangeType)===I.COLUMN||(f==null?void 0:f.rangeType)===I.ROW)return!0;let p=a.getRule(c,l);if(p!=null&&p.permissionId){var m;return((m=o.getPermissionPoint(new zo(c,l).id))==null?void 0:m.value)===!1}if(u.filter(e=>e.ranges.some(e=>Qe.intersects(e,f))).length!==1)return!0;let{startRow:h,endRow:g,startColumn:_,endColumn:v}=f,y=e.get(Ni);for(let e=h;e<=g;e++)for(let t=_;t<=v;t++){let n=y.getCellInfo(c,l,e,t);if(n)return n[vo.ManageCollaborator]===!1}return!1}))})):Es(!0)))}function L_(e){let t=e.get(P),n=e.get(Le);return bs([t.getCurrentTypeOfUnit$(L.UNIVER_SHEET),e.get(rt).currentUser$]).pipe(ks(([t,r])=>t?t.activeSheet$.pipe(ks(r=>{var i;if(!r)return Es(!0);let a=t.getUnitId(),o=e.get(W),s=e.get(Fi),c=e.get(Vo);return bs([(i=n.composePermission$([new G(a).id]).pipe(ws(e=>e.every(e=>e.value))))==null?Es(!1):i,Ts(s.ruleChange$,c.ruleChange$).pipe(Os(null)),o.selectionMoveEnd$]).pipe(ws(([e,t,n])=>{if(!e)return!0;let r=o.getCurrentSelections(),i=r==null?void 0:r.map(e=>e.range);return i!=null&&i.length?i.length>1:!1}))})):Es(!0)))}function R_(e){var t;let n=e.get(P),r=e.get(Le),i=n.getCurrentTypeOfUnit$(L.UNIVER_SHEET),a=e.get(rt),o=e.has(Kf)?e.get(Kf):null,s=e.get(Fe).subscribeContextValue$(Te).pipe(Os(!1),Ds(1)),c=(t=o==null?void 0:o.visible$.pipe(Os(null),Ds(1)))==null?Es(null):t;return bs([i,a.currentUser$,c,s]).pipe(ks(([t,n,i,a])=>!t||i!=null&&i.visible&&i.unitId===t.getUnitId()||a?Es(!0):t.activeSheet$.pipe(ks(n=>{var i;if(!n)return Es(!0);let a=e.get(Fe).subscribeContextValue$(xe).pipe(Os(!1)),o=t.getUnitId(),s=n.getSheetId(),c=e.get(Fi),l=e.get(Vo),u=e.get(W);return bs([(i=r.composePermission$([new Co(o).id]).pipe(ws(e=>e.every(e=>e.value))))==null?Es(!1):i,Ts(c.ruleChange$,l.ruleChange$).pipe(Os(null)),u.selectionMoveEnd$,a]).pipe(ws(([e,t,n,r])=>{if(!e||r)return!0;let i=u.getCurrentSelections(),a=i==null?void 0:i.map(e=>e.range);if(!(a!=null&&a.length))return!0;let d=l.getRule(o,s);if(d!=null&&d.permissionId)return!0;let f=c.getSubunitRuleList(o,s);return a==null?void 0:a.some(e=>f.some(t=>t.ranges.some(t=>Qe.intersects(e,t))))}))}))))}function z_(e){let t=e.get(P),n=e.get(Le);return bs([t.getCurrentTypeOfUnit$(L.UNIVER_SHEET),e.get(rt).currentUser$]).pipe(ks(([t,r])=>t?t.activeSheet$.pipe(ks(r=>{var i;if(!r)return Es(!0);let a=t.getUnitId(),o=r.getSheetId(),s=e.get(Fi),c=e.get(Vo);return bs([(i=n.composePermission$([new Co(a).id]).pipe(ws(e=>e.every(e=>e.value))))==null?Es(!1):i,Ts(s.ruleChange$,c.ruleChange$).pipe(Os(null))]).pipe(ws(([e,t])=>{var n;if(!e)return!0;let r=c.getRule(a,o);return r!=null&&r.permissionId?!0:((n=s.getSubunitRuleList(a,o))==null?void 0:n.filter(e=>e==null?void 0:e.permissionId)).length>0}))})):Es(!0)))}function B_(e){let t=e.get(P),n=e.get(Le);return bs([t.getCurrentTypeOfUnit$(L.UNIVER_SHEET),e.get(rt).currentUser$]).pipe(ks(([t,r])=>t?t.activeSheet$.pipe(ks(r=>{if(!r)return Es(!0);let i=t.getUnitId(),a=r.getSheetId(),o=e.get(Vo);return o.ruleChange$.pipe(Os(null)).pipe(ws(()=>{if(o.getRule(i,a)){var e;return((e=n.getPermissionPoint(new Fo(i,a).id))==null?void 0:e.value)===!1}return!0}))})):Es(!0)))}function V_(e){let t=e.get(P),n=e.get(Le);return bs([t.getCurrentTypeOfUnit$(L.UNIVER_SHEET),e.get(rt).currentUser$]).pipe(ks(([t,r])=>t?t.activeSheet$.pipe(ks(r=>{var i;if(!r)return Es(!0);let a=t.getUnitId(),o=e.get(Fi),s=e.get(Vo);return bs([(i=n.composePermission$([new Co(a).id,new jo(a).id]).pipe(ws(e=>e.every(e=>e.value))))==null?Es(!1):i,s.ruleChange$.pipe(Os(null)),o.ruleChange$.pipe(Os(null))]).pipe(ws(([e,t,n])=>{if(!e)return!0;let i=r.getSheetId(),c=s.getRule(a,i),l=o.getSubunitRuleList(a,i);return!(c||l.length)}))})):Es(!0)))}function H_(e){let t=e.get(P),n=e.get(Le);return bs([t.getCurrentTypeOfUnit$(L.UNIVER_SHEET),e.get(rt).currentUser$]).pipe(ks(([t,r])=>t?t.activeSheet$.pipe(ks(r=>{if(!r)return Es(!0);let i=t.getUnitId(),a=r.getSheetId(),o=e.get(W),s=e.get(Fi),c=e.get(Vo);return bs([Ts(s.ruleChange$,c.ruleChange$,o.selectionMoveEnd$).pipe(Os(null))]).pipe(ws(([t])=>{let r=e.get(W).getCurrentSelections(),o=r==null?void 0:r.map(e=>e.range);if(!(o!=null&&o.length)||o.length>1)return!0;let l=o[0];if((l==null?void 0:l.rangeType)===I.ALL||(l==null?void 0:l.rangeType)===I.COLUMN||(l==null?void 0:l.rangeType)===I.ROW)return!0;let u=c.getRule(i,a);if(u!=null&&u.permissionId){var d;return((d=n.getPermissionPoint(new Fo(i,a).id))==null?void 0:d.value)===!1}if(s.getSubunitRuleList(i,a).filter(e=>e.ranges.some(e=>Qe.intersects(e,l))).length!==1)return!0;let{startRow:f,endRow:p,startColumn:m,endColumn:h}=l,g=e.get(Ni);for(let e=f;e<=p;e++)for(let t=m;t<=h;t++){let n=g.getCellInfo(i,a,e,t);if(n)return n[vo.Delete]===!1}return!1}))})):Es(!0)))}function U_(e){var t;let n=e.get(P),r=e.get(Le),i=n.getCurrentTypeOfUnit$(L.UNIVER_SHEET),a=e.get(rt),o=e.has(Kf)?e.get(Kf):null,s=e.get(Fe).subscribeContextValue$(Te),c=(t=o==null?void 0:o.visible$)==null?Es(null):t;return bs([i,a.currentUser$,c,s]).pipe(ks(([e,t,n,i])=>!e||n!=null&&n.visible&&n.unitId===e.getUnitId()||i?Es(!0):e.activeSheet$.pipe(ks(t=>{var n,i;if(!t)return Es(!0);let a=e.getUnitId();return((n=(i=r.getPermissionPoint$(new G(a).id))==null?void 0:i.pipe(ws(e=>!!e.value)))==null?Es(!1):n).pipe(ws(e=>!e))}))))}const W_=`sheet.contextMenu.permission`;function G_(e){return{id:$d.id,type:z.BUTTON,icon:qd,tooltip:`permission.toolbarMenu`,hidden$:B(e,L.UNIVER_SHEET),disabled$:R_(e)}}function K_(e){return{id:W_,type:z.SUBITEMS,title:`rightClick.protectRange`,icon:Jd,hidden$:B(e,L.UNIVER_SHEET)}}function q_(e){return{id:ef.id,type:z.BUTTON,title:`rightClick.turnOnProtectRange`,hidden$:F_(e),disabled$:R_(e)}}function J_(e){return{id:of.id,type:z.BUTTON,title:`rightClick.editProtectRange`,disabled$:L_(e),hidden$:I_(e)}}function Y_(e){return{id:af.id,type:z.BUTTON,title:`rightClick.removeProtectRange`,disabled$:H_(e),hidden$:B(e,L.UNIVER_SHEET)}}function X_(e){return{id:tf.id,type:z.BUTTON,title:`rightClick.viewAllProtectArea`,disabled$:U_(e),hidden$:B(e,L.UNIVER_SHEET)}}function Z_(e){return{id:nf.id,type:z.BUTTON,title:`sheetConfig.addProtectSheet`,disabled$:z_(e),hidden$:B(e,L.UNIVER_SHEET)}}function Q_(e){return{id:ep.id,type:z.BUTTON,title:`sheetConfig.removeProtectSheet`,disabled$:B_(e),hidden$:B(e,L.UNIVER_SHEET)}}function $_(e){return{id:tp.id,type:z.BUTTON,title:`sheetConfig.changeSheetPermission`,disabled$:V_(e),hidden$:B(e,L.UNIVER_SHEET)}}function ev(e){return{id:rf.id,type:z.BUTTON,title:`sheetConfig.viewAllProtectArea`,disabled$:U_(e),hidden$:B(e,L.UNIVER_SHEET)}}function tv(e){let t=e.get(P),n=e.get(N),r=new _s(e=>{let r=n.onCommandExecuted(n=>{let r=n.id;(r===Ki.id||r===xi.id||r===qa.id)&&sv(t,e)});return sv(t,e),r.dispose}),i=ig(e,[G,Do]);return{id:lf.id,type:z.BUTTON,title:`sheetConfig.delete`,disabled$:bs([r,i]).pipe(ws(([e,t])=>e||t)),hidden$:B(e,L.UNIVER_SHEET)}}function nv(e){return{id:qr.id,type:z.BUTTON,title:`sheetConfig.copy`,disabled$:ig(e,[G,wo]),hidden$:B(e,L.UNIVER_SHEET)}}function rv(e){return{id:lp.id,type:z.BUTTON,title:`sheetConfig.rename`,disabled$:ig(e,[G,Mo]),hidden$:B(e,L.UNIVER_SHEET)}}function iv(e){return{id:Fa.id,title:`sheetConfig.changeColor`,type:z.SELECTOR,selections:[{label:{name:Kt,hoverable:!1,selectable:!1}}],hidden$:ig(e,[G])}}function av(e){let t=e.get(P),n=e.get(N);return{id:Ka.id,type:z.BUTTON,title:`sheetConfig.hide`,disabled$:new _s(e=>{let r=n.onCommandExecuted(n=>{let r=n.id;(r===Ki.id||r===xi.id||r===qa.id)&&sv(t,e)});return sv(t,e),r.dispose}).pipe(xs(ig(e,[G,Oo])),ws(([e,t])=>e||t)),hidden$:B(e,L.UNIVER_SHEET)}}function ov(e){let t=e.get(P),n=e.get(N);return{id:$f.id,type:z.BUTTON,title:`sheetConfig.unhide`,disabled$:new _s(e=>{function r(){let n=t.getCurrentUnitForType(L.UNIVER_SHEET).getWorksheets(),r=Array.from(n.values());e.next(r.length===1)}let i=n.onCommandExecuted(e=>{let t=e.id;(t===Ki.id||t===xi.id||t===qa.id)&&r()});return r(),i.dispose}).pipe(xs(ig(e,[G,Oo])),ws(([e,t])=>e||t)),hidden$:B(e,L.UNIVER_SHEET)}}function sv(e,t){let n=e.getCurrentUnitForType(L.UNIVER_SHEET).getWorksheets(),r=Array.from(n.values()).filter(e=>e.getConfig().hidden===ne.FALSE);t.next(r.length===1)}const cv=e=>{var t;let n=e.get(W),r=(t=e.get(P).getCurrentUnitOfType(L.UNIVER_SHEET))==null?void 0:t.getActiveSheet();return new _s(e=>{let t=t=>{if(!r||!t||t.length===0)return e.next(!0);for(let a=0;a<t.length;a++){let{range:o}=t[a];for(let t=o.startRow;t<=o.endRow;t++)for(let a=o.startColumn;a<=o.endColumn;a++){var n,i;let o=r.getCellRaw(t,a),s=typeof(o==null?void 0:o.s)==`string`?(n=r.getStyleDataByHash(o.s))==null||(n=n.n)==null?void 0:n.pattern:o==null||(i=o.s)==null||(i=i.n)==null?void 0:i.pattern;if(o&&o.v&&(o.t!==ie.NUMBER||Ot(s))&&Dt(o.v))return e.next(!1)}}e.next(!0)},i=n.selectionChanged$.subscribe(n=>{if(!n||n.length===0)return e.next(!0);t(n)});return t(n.getCurrentSelections()),()=>i.unsubscribe()})},lv=`sheet.toolbar.text-to-number`;function uv(e){return{id:lv,commandId:mo.id,type:z.BUTTON,title:`toolbar.textToNumber`,disabled$:$h(e,$(e,{workbookTypes:[G],worksheetTypes:[K,Uo],rangeTypes:[U]})),hidden$:B(e,L.UNIVER_SHEET)}}const dv=`sheet.contextMenu.text-to-number`;function fv(e){return{id:dv,commandId:mo.id,type:z.BUTTON,title:`rightClick.textToNumber`,icon:`PipingIcon`,disabled$:$h(e,$(e,{workbookTypes:[G],worksheetTypes:[K,Uo],rangeTypes:[U]})),hidden$:bs([B(e,L.UNIVER_SHEET),cv(e)]).pipe(ws(([e,t])=>e||t))}}const pv={[Dn.START]:{[On.HISTORY]:{[hf.id]:{order:2,menuItemFactory:Kg},[Wr.id]:{order:3,menuItemFactory:ug}},[On.FORMAT]:{[Pd.id]:{order:1,menuItemFactory:Zg},[jd.id]:{order:2,menuItemFactory:vg},[Md.id]:{order:2.1,menuItemFactory:yg},[Nd.id]:{order:2.2,menuItemFactory:bg},[Td.id]:{order:5,menuItemFactory:qg},[Ed.id]:{order:6,menuItemFactory:Jg},[Dd.id]:{order:7,menuItemFactory:Yg},[Od.id]:{order:8,menuItemFactory:Xg},[Fd.id]:{order:9,menuItemFactory:$g,[Xi.id]:{order:0,menuItemFactory:Qg}},[ia.id]:{order:10,menuItemFactory:t_,[Yi.id]:{order:0,menuItemFactory:e_}},[oa.id]:{order:11,menuItemFactory:ag}},[On.LAYOUT]:{[va.id]:{order:0,menuItemFactory:r_},[Va.id]:{order:3,menuItemFactory:a_},[za.id]:{order:6,menuItemFactory:s_},[Ra.id]:{order:7,menuItemFactory:l_},[Ar.id]:{order:8,menuItemFactory:A_,[kr.id]:{order:0,menuItemFactory:j_},[Nr.id]:{order:1,menuItemFactory:M_},[jr.id]:{order:2,menuItemFactory:N_},[qi.id]:{order:3,menuItemFactory:P_}}},[On.OTHERS]:{[$d.id]:{order:0,menuItemFactory:G_}}},[Dn.DATA]:{[En.OTHERS]:{[lv]:{order:0,menuItemFactory:uv}}},[Xt.MAIN_AREA]:{[Yt.QUICK]:{quickLayout:`tile`,[Xu.name]:{order:0,menuItemFactory:d_},[Zu.name]:{order:1,menuItemFactory:f_},[Qu.name]:{order:2,menuItemFactory:p_}},[Yt.FORMAT]:{[m_]:{order:0,menuItemFactory:h_},[g_]:{order:1,menuItemFactory:__,[ed.id]:{order:0,menuItemFactory:v_},[td.id]:{order:1,menuItemFactory:y_},[nd.id]:{order:2,menuItemFactory:b_},[rd.id]:{order:3,menuItemFactory:x_}},[og]:{order:2,menuItemFactory:sg,[Gr.id]:{order:0,menuItemFactory:cg},[Kr.id]:{order:1,menuItemFactory:lg},[Wr.id]:{order:2,menuItemFactory:ug}},[dv]:{order:3,menuItemFactory:fv}},[Yt.LAYOUT]:{order:1,[Fg]:{order:0,menuItemFactory:Ig,[_i.id]:{order:0,menuItemFactory:Lg},[si.id]:{order:1,menuItemFactory:Rg},[Rd.id]:{order:2,menuItemFactory:zg},[Ld.id]:{order:3,menuItemFactory:Bg}},[dg]:{order:0,menuItemFactory:fg,[cf.id]:{order:0,menuItemFactory:pg},[sf.id]:{order:1,menuItemFactory:mg},[ad.id]:{order:2,menuItemFactory:hg},[od.id]:{order:3,menuItemFactory:gg}},[Sg]:{order:2,menuItemFactory:Cg,[yf.id]:{order:0,menuItemFactory:Og},[bf.id]:{order:1,menuItemFactory:kg},[xf.id]:{order:2,menuItemFactory:Ag},[Sf.id]:{order:3,menuItemFactory:jg},[Cf.id]:{order:4,menuItemFactory:Mg},[Hr.id]:{order:5,menuItemFactory:Ng}},[W_]:{order:3,menuItemFactory:K_,[ef.id]:{order:0,menuItemFactory:q_},[of.id]:{order:1,menuItemFactory:J_},[af.id]:{order:2,menuItemFactory:Y_},[tf.id]:{order:3,menuItemFactory:X_}}},[Yt.DATA]:{order:2},[Yt.OTHERS]:{order:3}},[Xt.COL_HEADER]:{[Yt.QUICK]:{quickLayout:`tile`,[Xu.name]:{order:0,menuItemFactory:d_},[Zu.name]:{order:1,menuItemFactory:f_},[Qu.name]:{order:2,menuItemFactory:p_}},[Yt.FORMAT]:{[m_]:{order:0,menuItemFactory:h_},[g_]:{order:1,menuItemFactory:__,[ed.id]:{order:0,menuItemFactory:v_},[td.id]:{order:1,menuItemFactory:y_},[nd.id]:{order:2,menuItemFactory:b_},[rd.id]:{order:3,menuItemFactory:x_}},[og]:{order:2,menuItemFactory:sg,[Gr.id]:{order:0,menuItemFactory:cg},[Kr.id]:{order:1,menuItemFactory:lg},[Wr.id]:{order:2,menuItemFactory:ug}},[dv]:{order:3,menuItemFactory:fv}},[Yt.LAYOUT]:{order:1,[di.id]:{order:0,menuItemFactory:Ug},[fi.id]:{order:0,menuItemFactory:Wg},[Cd.id]:{order:1,menuItemFactory:T_},[Oa.id]:{order:2,menuItemFactory:D_},[cf.id]:{order:2,menuItemFactory:pg},[da.id]:{order:3,menuItemFactory:k_},[Wf.id]:{order:4,menuItemFactory:C_},[wg]:{order:5,menuItemFactory:Tg,[xf.id]:{order:2,menuItemFactory:Ag},[Cf.id]:{order:4,menuItemFactory:Mg},[Hr.id]:{order:5,menuItemFactory:Ng}},[W_]:{order:6,menuItemFactory:K_,[ef.id]:{order:0,menuItemFactory:q_},[of.id]:{order:1,menuItemFactory:J_},[af.id]:{order:2,menuItemFactory:Y_},[tf.id]:{order:3,menuItemFactory:X_}}},[Yt.DATA]:{order:2},[Yt.OTHERS]:{order:3}},[Xt.ROW_HEADER]:{[Yt.QUICK]:{quickLayout:`tile`,[Xu.name]:{order:0,menuItemFactory:d_},[Zu.name]:{order:1,menuItemFactory:f_},[Qu.name]:{order:2,menuItemFactory:p_}},[Yt.FORMAT]:{[m_]:{order:0,menuItemFactory:h_},[g_]:{order:1,menuItemFactory:__,[ed.id]:{order:0,menuItemFactory:v_},[td.id]:{order:1,menuItemFactory:y_},[nd.id]:{order:2,menuItemFactory:b_},[rd.id]:{order:3,menuItemFactory:x_}},[og]:{order:2,menuItemFactory:sg,[Gr.id]:{order:0,menuItemFactory:cg},[Kr.id]:{order:1,menuItemFactory:lg},[Wr.id]:{order:2,menuItemFactory:ug}},[dv]:{order:3,menuItemFactory:fv}},[Yt.LAYOUT]:{order:1,[pi.id]:{order:0,menuItemFactory:Hg},[mi.id]:{order:1,menuItemFactory:Vg},[sf.id]:{order:1,menuItemFactory:mg},[Sd.id]:{order:2,menuItemFactory:w_},[ka.id]:{order:2,menuItemFactory:E_},[wa.id]:{order:3,menuItemFactory:O_},[no.id]:{order:4,menuItemFactory:S_},[Eg]:{order:5,menuItemFactory:Dg,[bf.id]:{order:1,menuItemFactory:kg},[Sf.id]:{order:3,menuItemFactory:jg},[Hr.id]:{order:5,menuItemFactory:Ng}},[W_]:{order:6,menuItemFactory:K_,[ef.id]:{order:0,menuItemFactory:q_},[of.id]:{order:1,menuItemFactory:J_},[af.id]:{order:2,menuItemFactory:Y_},[tf.id]:{order:3,menuItemFactory:X_}}},[Yt.DATA]:{order:2},[Yt.OTHERS]:{order:3}},[Xt.FOOTER_TABS]:{[Yt.OTHERS]:{order:0,[lf.id]:{order:0,menuItemFactory:tv},[qr.id]:{order:1,menuItemFactory:nv},[lp.id]:{order:2,menuItemFactory:rv},[Fa.id]:{order:3,menuItemFactory:iv},[Ka.id]:{order:4,menuItemFactory:av},[$f.id]:{order:6,menuItemFactory:ov},[nf.id]:{order:7,menuItemFactory:Z_},[ep.id]:{order:8,menuItemFactory:Q_},[tp.id]:{order:9,menuItemFactory:$_},[rf.id]:{order:10,menuItemFactory:ev}}},[Xt.FOOTER_MENU]:{[Yt.OTHERS]:{[go.id]:{order:1,menuItemFactory:Pg}}}},mv=`sheets.component.cell-popup`;let hv=class extends M{constructor(e,t,n,r,i,a,o){super(),this._globalPopupManagerService=e,this._renderManagerService=t,this._univerInstanceService=n,this._refRangeService=r,this._commandService=i,this._refSelectionsService=a,this._selectionManagerService=o,X(this,`_popupMenuFeatureMap`,new Map),X(this,`_popupMenuOffsetMap`,new Map),X(this,`_isSelectionMoving`,!1),this._initMoving()}_initMoving(){this.disposeWithMe(this._refSelectionsService.selectionMoving$.subscribe(()=>{this._isSelectionMoving=!0})),this.disposeWithMe(this._refSelectionsService.selectionMoveEnd$.subscribe(()=>{this._isSelectionMoving=!1})),this.disposeWithMe(this._selectionManagerService.selectionMoving$.subscribe(()=>{this._isSelectionMoving=!0})),this.disposeWithMe(this._selectionManagerService.selectionMoveEnd$.subscribe(()=>{this._isSelectionMoving=!1}))}registerFeatureMenu(e,t){this._popupMenuFeatureMap.set(e,t)}registerFeatureMenuOffset(e,t,n){this._popupMenuOffsetMap.set(e,{offsetX:t,offsetY:n})}getFeatureMenu(e,t,n,r){let i=this._popupMenuFeatureMap.get(r);if(i)return i(e,t,n,r)}dispose(){super.dispose(),this._popupMenuFeatureMap.clear(),this._popupMenuOffsetMap.clear()}_createHiddenRectObserver(e){let{row:t,column:n,worksheet:r,skeleton:i,currentRender:a}=e,o=()=>{var e,o;let{startRow:s,startColumn:c,xSplit:l,ySplit:u}=r.getFreeze(),d=s-u,f=c-l,{rowHeightAccumulation:p,columnWidthAccumulation:m,rowHeaderWidth:h,columnHeaderHeight:g}=i,_=h+(f===-1?0:m[f+l-1]-((e=m[f-1])==null?0:e)),v=g+(d===-1?0:p[d+u-1]-((o=p[d])==null?0:o)),y=a.engine.getCanvasElement(),b=y.getBoundingClientRect(),x=gv(y.style.width),S=b.width/x,C=a.scene.getAncestorScale().scaleX,w=_*S*C,T=v*S*C,E={left:-1/0,top:-1/0,right:b.left+w,bottom:b.top+T},D={left:b.left+w,top:-1/0,right:1/0,bottom:b.top+T},O={left:-1/0,top:b.top+T,right:b.left+w,bottom:1/0},ee=[];return t<s&&ee.push(E),n<c&&ee.push(O),t<s&&n<c?[]:t<s||n<c?[E]:[E,D,O]},s=new hs(o()),c=new ge;return c.add(this._commandService.onCommandExecuted(e=>{e.id===ga.id&&s.next(o())})),c.add(vt(a.engine.onTransformChange$).pipe(js(16)).subscribe(()=>{s.next(o())})),{rects$:s,disposable:c}}_createPositionObserver(e,t,n,r){let i=()=>{let{scene:i}=t,a=yp(e,i,n,r),o=t.engine.getCanvasElement(),s=o.getBoundingClientRect(),c=gv(o.style.width),l=s.width/c;return{left:a.left*l+s.left,right:a.right*l+s.left,top:a.top*l+s.top,bottom:a.bottom*l+s.top}},a=i(),o=new hs(a),s=new ge;return s.add(this._commandService.onCommandExecuted(e=>{vv(e.id)&&o.next(i())})),{position:a,position$:o,disposable:s}}attachPopupToObject(e,t){var n;let r=this._univerInstanceService.getCurrentUnitForType(L.UNIVER_SHEET),i=r.getActiveSheet();if(!i||this._isSelectionMoving&&!t.showOnSelectionMoving)return{dispose:()=>{},canDispose:()=>!0};let a=r.getUnitId(),o=i.getSheetId(),s=(n=this._renderManagerService.getRenderById(a))==null?void 0:n.with(Vl).ensureSkeleton(o),c=this._renderManagerService.getRenderById(a);if(!c||!s)return{dispose:()=>{},canDispose:()=>!0};let{left:l,top:u,width:d,height:f}=e,p=0,m=0,h;if(e.classType===Qn.SHAPE&&(h=e.getPropByKey(`drawingType`)),h!==void 0&&this._popupMenuOffsetMap.has(h)){let e=this._popupMenuOffsetMap.get(h);p=e.offsetX,m=e.offsetY}let g={left:l,right:l+d+p,top:u+m,bottom:u+f},{position:_,position$:v,disposable:y}=this._createPositionObserver(g,c,s,i),b=this._globalPopupManagerService.addPopup({...t,unitId:a,subUnitId:o,anchorRect:_,anchorRect$:v,canvasElement:c.engine.getCanvasElement()});return{dispose:()=>{this._globalPopupManagerService.removePopup(b),v.complete(),y.dispose()},canDispose:()=>this._globalPopupManagerService.activePopupId!==b}}attachPopupByPosition(e,t,n){var r;let i=this._univerInstanceService.getCurrentUnitForType(L.UNIVER_SHEET),a=i.getActiveSheet();if(!a)return null;let o=i.getUnitId(),s=a.getSheetId();if(o!==n.unitId||n.subUnitId!==s)return null;if(this._isSelectionMoving&&!t.showOnSelectionMoving)return;let c=(r=this._renderManagerService.getRenderById(o))==null?void 0:r.with(Vl).ensureSkeleton(s),l=this._renderManagerService.getRenderById(o);if(!l||!c)return null;let{position:u,position$:d,disposable:f}=this._createPositionObserver(e,l,c,a),{rects$:p,disposable:m}=this._createHiddenRectObserver({row:n.row,column:n.col,worksheet:a,skeleton:c,currentRender:l}),h=this._globalPopupManagerService.addPopup({...t,unitId:o,subUnitId:s,anchorRect:u,anchorRect$:d,hiddenRects$:p,canvasElement:l.engine.getCanvasElement()});return{dispose:()=>{this._globalPopupManagerService.removePopup(h),d.complete(),f.dispose(),m.dispose(),i=null,a=null},canDispose:()=>this._globalPopupManagerService.activePopupId!==h}}attachPopupToAbsolutePosition(e,t,n,r){var i;let a=this._univerInstanceService.getCurrentUnitForType(L.UNIVER_SHEET),o=a.getActiveSheet();if(!o)return null;let s=a.getUnitId(),c=o.getSheetId();if(n&&s!==n||r&&r!==c)return null;let l=(i=this._renderManagerService.getRenderById(s))==null?void 0:i.with(Vl).ensureSkeleton(c),u=this._renderManagerService.getRenderById(s);if(!u||!l)return null;if(this._isSelectionMoving&&!t.showOnSelectionMoving)return;let d=new hs(e),f=this._globalPopupManagerService.addPopup({...t,unitId:s,subUnitId:c,anchorRect:e,anchorRect$:d.asObservable(),canvasElement:u.engine.getCanvasElement()});return{dispose:()=>{this._globalPopupManagerService.removePopup(f),d.complete()},canDispose:()=>this._globalPopupManagerService.activePopupId!==f}}attachPopupToCell(e,t,n,r,i,a){let o=r?this._univerInstanceService.getUnit(r):this._univerInstanceService.getCurrentUnitOfType(L.UNIVER_SHEET);if(!o)return null;let s=i?o.getSheetBySheetId(i):o.getActiveSheet();if(!s)return null;let c=o.getUnitId(),l=s.getSheetId(),u=this._renderManagerService.getRenderById(c),d=u==null?void 0:u.with(Vl).ensureSkeleton(l),f=u==null?void 0:u.with(Il);if(!u||!d||!f)return null;if(this._isSelectionMoving&&!n.showOnSelectionMoving)return;let p=a==null?vp(e,t,u.scene,s):a;if(!p)return null;let{position:m,position$:h,disposable:g,updateRowCol:_}=this._createCellPositionObserver(e,t,u,d,p),{rects$:v,disposable:y}=this._createHiddenRectObserver({row:e,column:t,worksheet:s,skeleton:d,currentRender:u}),b=this._globalPopupManagerService.addPopup({...n,unitId:c,subUnitId:l,anchorRect:m,anchorRect$:h,canvasElement:u.engine.getCanvasElement(),hiddenRects$:v}),x=new ge;x.add(g),x.add(Vt(()=>{this._globalPopupManagerService.removePopup(b),h.complete()})),x.add(y);let S={startRow:e,endRow:e,startColumn:t,endColumn:t};return x.add(this._refRangeService.watchRange(c,l,S,(e,t)=>{t?_(t.startRow,t.startColumn):x.dispose()})),{dispose(){x.dispose(),s=null,o=null},canDispose:()=>this._globalPopupManagerService.activePopupId!==b}}attachRangePopup(e,t,n,r,i,a=!1){let o=this._univerInstanceService.getCurrentUnitForType(L.UNIVER_SHEET),s=o.getActiveSheet();if(!s)return null;let c=o.getUnitId(),l=s.getSheetId();if(n&&c!==n||r&&l!==r)return null;let u=this._renderManagerService.getRenderById(c),d=u==null?void 0:u.with(Vl).ensureSkeleton(l),f=u==null?void 0:u.with(Il);if(!u||!d||!f)return null;if(f.selectionMoving&&!a)return;let p=i==null?vp(e.startRow,e.startColumn,u.scene,s):i;if(!p)return null;let{position:m,position$:h,disposable:g,updateRange:_,topLeftPos$:v,rightBottomPos$:y}=this._createRangePositionObserver(e,u,d,p),{rects$:b,disposable:x}=this._createHiddenRectObserver({row:e.startRow,column:e.startColumn,worksheet:s,skeleton:d,currentRender:u}),S=this._globalPopupManagerService.addPopup({...t,unitId:c,subUnitId:l,anchorRect:m,anchorRect$:h,canvasElement:u.engine.getCanvasElement(),hiddenRects$:b}),C=new ge;C.add(g),C.add(Vt(()=>{this._globalPopupManagerService.removePopup(S),v.complete(),y.complete()})),C.add(x);let w={...e};return C.add(this._refRangeService.watchRange(c,l,w,(e,t)=>{t?_(t):C.dispose()})),{dispose(){C.dispose()},canDispose:()=>this._globalPopupManagerService.activePopupId!==S}}_createCellPositionObserver(e,t,n,r,i){let a=e,o=t,s=this._calcCellPositionByCell(a,o,n,r,i),c=new hs(s),l=()=>c.next(this._calcCellPositionByCell(a,o,n,r,i)),u=new ge;return u.add(n.engine.clientRect$.subscribe(()=>l())),u.add(vt(n.engine.onTransformChange$).pipe(js(16)).subscribe(()=>l())),u.add(this._commandService.onCommandExecuted(e=>{if(e.id===$a.id&&e.params.rowsAutoHeightInfo.findIndex(e=>e.row===a)>-1){l();return}vv(e.id)&&l()})),{position$:c,disposable:u,position:s,updateRowCol:(e,t)=>{a=e,o=t,l()}}}_calcCellPositionByCell(e,t,n,r,i){let{scene:a,engine:o}=n;if(r._disposed||a._disposed)return{left:0,right:0,top:0,bottom:0};let s=r.getCellWithCoordByIndex(e,t),c=s.isMergedMainCell?s.mergeInfo:s,{scaleX:l,scaleY:u}=a.getAncestorScale(),d={x:i.viewportScrollX,y:i.viewportScrollY},f=o.getCanvasElement();if(!f)return{left:0,right:0,top:0,bottom:0};let p=f.getBoundingClientRect(),m=gv(f.style.width),{top:h,left:g,width:_}=p,v=_/m;return{left:(c.startX-d.x)*v*l+g,right:(c.endX-d.x)*v*l+g,top:(c.startY-d.y)*v*u+h,bottom:(c.endY-d.y)*v*u+h}}_createRangePositionObserver(e,t,n,r){let{startRow:i,startColumn:a,endRow:o,endColumn:s}=e,c=this._calcCellPositionByCell(i,a,t,n,r),l=new hs(c),u=this._calcCellPositionByCell(o,s,t,n,r),d=new hs(u),f=()=>{let e=this._calcCellPositionByCell(i,a,t,n,r),c=this._calcCellPositionByCell(o,s,t,n,r);l.next(e),d.next(c)},p=new ge;return p.add(t.engine.clientRect$.subscribe(()=>f())),p.add(this._commandService.onCommandExecuted(e=>{if(e.id===$a.id&&e.params.rowsAutoHeightInfo.findIndex(e=>e.row===i)>-1){f();return}vv(e.id)&&f()})),{position$:l.pipe(ws(e=>{let i=this._calcCellPositionByCell(o,s,t,n,r);return{top:e.top,left:e.left,right:i.right,bottom:i.bottom}})),position:{top:c.top,left:c.left,right:u.right,bottom:u.bottom},updateRange:e=>{i=e.startRow,a=e.startColumn,o=e.endRow,s=e.endColumn,f()},topLeftPos$:l,rightBottomPos$:d,disposable:p}}};hv=Q([Z(0,F(un)),Z(1,Xn),Z(2,P),Z(3,F(Ii)),Z(4,N),Z(5,oi),Z(6,F(W))],hv);function gv(e){return Number.parseInt(e.replace(`px`,``))}const _v=new Set([Lf.id,Jf.id,Aa.id]);function vv(e){return _v.has(e)||Br.includes(e)}let yv=class extends M{constructor(e){super(),this._sheetCanvasPopManagerService=e,X(this,`_cellPopupMap`,new Map),X(this,`_change$`,new vs),X(this,`change$`,this._change$.asObservable())}_ensureCellPopupMap(e,t){let n=this._cellPopupMap.get(e);n||(n=new Map,this._cellPopupMap.set(e,n));let r=n.get(t);return r||(r=new Ke,n.set(t,r)),r}showPopup(e,t){var n,r;let{direction:i=`horizontal`}=t,{unitId:a,subUnitId:o,row:s,col:c}=e,l=this._ensureCellPopupMap(a,o),u=(n=l.getValue(s,c))==null?void 0:n[i];t.id=(r=t.id)==null?yt():r;let d=()=>{let n=l.getValue(s,c);if(!n)return;let r=n[i];if(!r)return;let a=r==null?void 0:r.popups.findIndex(e=>e.id===t.id&&e.componentKey===t.componentKey);if(r==null||r.popups.splice(a,1),r.popups.length===0){var o;(o=r.disposable)==null||o.dispose(),n[i]=void 0}this._change$.next({...e,direction:i})};if(u)u.popups.push(t),u.popups.sort((e,t)=>e.priority-t.priority);else{let n=this._sheetCanvasPopManagerService.attachPopupToCell(s,c,{...t,direction:i,componentKey:mv,extraProps:{...e,direction:i},noPushMinimumGap:!0,autoRelayout:!1,zIndex:90},a,o);l.setValue(s,c,{...l.getValue(s,c),[i]:{disposable:n,popups:[t]}})}return this._change$.next({...e,direction:i}),Vt(d)}getPopups(e,t,n,r,i){var a;return((a=this._ensureCellPopupMap(e,t).getValue(n,r))==null||(a=a[i])==null?void 0:a.popups)||[]}hidePopup(e,t,n,r){let i=this._ensureCellPopupMap(e,t),a=i.getValue(n,r);if(a){if(a.horizontal){var o;(o=a.horizontal.disposable)==null||o.dispose(),a.horizontal=void 0,this._change$.next({unitId:e,subUnitId:t,row:n,col:r,direction:`horizontal`})}if(a.vertical){var s;(s=a.vertical.disposable)==null||s.dispose(),a.vertical=void 0,this._change$.next({unitId:e,subUnitId:t,row:n,col:r,direction:`vertical`})}!a.horizontal&&!a.vertical&&i.realDeleteValue(n,r)}}};yv=Q([Z(0,F(hv))],yv);const bv=e=>{let{popup:t}=e,{row:n,col:r,direction:i,unitId:a,subUnitId:o}=t.extraProps,s=V(yv);Hn(Gs(()=>s.change$.pipe(Cs(e=>e.row===n&&e.col===r&&e.direction===i)),[s,n,r,i]));let c=s.getPopups(a,o,n,r,i),l=V(Jt);return J(`div`,{"data-u-comp":`cell-popup`,className:`univer-ml-px univer-flex univer-flex-col`,children:c.map(e=>{var t;let n=l.get(e.componentKey);return n?J(n,{popup:e},(t=e.id)==null?e.componentKey:t):null})})},xv=e=>{let{inputId:t,state:n=!1,type:r=`range`,confirm:i,cancel:a,name:o,formulaOrRefString:s,comment:c=``,localSheetId:l=Zi,hidden:u=!1,id:d}=e,f=V(P).getCurrentUnitForType(L.UNIVER_SHEET),p=V(Ue),m=V(Wc),h=V(Kc),g=V(Gc),_=V(qc),v=V(Jt),y=Gs(()=>v.get(El),[]),b=Gs(()=>v.get(Dl),[]);if(f==null)return;let x=Gs(()=>f.getUnitId(),[]),S=Gs(()=>f.getActiveSheet().getSheetId(),[]),[C,w]=q(o),[T,E]=q(s),[D,O]=q(c),[te,ne]=q(l),[k,re]=q(``),[ie,ae]=q(r),[A,oe]=q(!0),se=[{label:p.t(`definedName.scopeWorkbook`),value:Zi}],ce=e=>!Qc(e);Us(()=>{oe(!0),w(o),O(c),ne(l);let e=s;s.substring(0,1)===el.EQUALS?ae(`formula`):ce(s)?(ae(`formula`),e=el.EQUALS+s):ae(`range`),E(e),re(``)},[n]),f.getSheetOrders().forEach(e=>{let t=f.getSheetBySheetId(e);se.push({label:(t==null?void 0:t.getName())||``,value:e})});let le=e=>{E(e)},ue=e=>{E(e||``)},de=()=>{if(C.length===0){re(p.t(`definedName.nameEmpty`));return}if((m.getValueByName(x,C)||h.hasTable(x,C))&&(d==null||d.length===0)){re(p.t(`definedName.nameDuplicate`));return}if(!tt.isValidParameter(C)||Zc(C)||!tt.isStartValidPosition(C)&&!br(C.substring(0,1))){re(p.t(`definedName.nameInvalid`));return}if(f.getSheetOrders().map(e=>{var t;return((t=f.getSheetBySheetId(e))==null?void 0:t.getName())||``}).includes(C)){re(p.t(`definedName.nameSheetConflict`));return}if(T.length===0){re(p.t(`definedName.formulaOrRefStringEmpty`));return}if(!A){re(p.t(`definedName.formulaOrRefStringInvalid`));return}if(g.hasExecutor(C.toUpperCase())){re(p.t(`definedName.nameConflict`));return}let e=f.getActiveSheet().getName();i&&i({id:d||``,name:C,formulaOrRefString:_.convertRefersToAbsolute(T,ee.ALL,ee.ALL,e),comment:D,localSheetId:te})},fe=e=>{let t=e;t===`formula`?s[0]===el.EQUALS?E(s):E(`${el.EQUALS}`):s[0]===el.EQUALS?E(``):E(s),ae(t)},pe=Ks(null),[me,he]=q(!1);return Un(e=>{var t;(t=pe.current)!=null&&t.isClickOutSide(e)&&he(!1)}),Y(`div`,{className:gc(`univer-grid univer-space-y-2 univer-pb-1`,fc,{"univer-hidden":!n}),children:[J(`div`,{children:J(nc,{className:`univer-w-full`,placeholder:p.t(`definedName.inputNamePlaceholder`),value:C,allowClear:!0,onChange:w})}),J(`div`,{children:Y(oc,{value:ie,onChange:fe,children:[J(ac,{value:`range`,children:p.t(`definedName.ratioRange`)}),J(ac,{value:`formula`,children:p.t(`definedName.ratioFormula`)})]})}),ie===`range`?y&&J(y,{unitId:x,subUnitId:S,initialValue:T,onChange:(e,t)=>le(t),supportAcrossSheet:!0}):b&&J(`div`,{className:`univer-relative univer-mt-4 univer-h-full`,children:J(`div`,{className:`univer-relative univer-h-8 univer-select-none`,children:J(b,{ref:pe,className:gc(`univer-box-border univer-h-8 univer-w-full univer-cursor-pointer univer-items-center univer-rounded-lg univer-bg-white univer-pt-2 univer-transition-colors hover:univer-border-primary-600 dark:!univer-bg-gray-700 dark:!univer-text-white [&>div:first-child]:univer-px-2.5 [&>div]:univer-h-5 [&>div]:univer-ring-transparent`,pc),initValue:T,unitId:x,subUnitId:S,isFocus:me,isSupportAcrossSheet:!0,onChange:(e=``)=>{ue(e||``)},onVerify:e=>{oe(e)},onFocus:()=>he(!0)})})}),J(`div`,{children:J(sc,{className:`univer-w-full`,value:te,options:se,onChange:ne})}),J(`div`,{children:J(nc,{className:`univer-w-full`,placeholder:p.t(`definedName.inputCommentPlaceholder`),value:D,onChange:O,allowClear:!0})}),Y(`div`,{className:gc(`univer-items-center univer-gap-1 univer-text-sm univer-text-red-500`,{"univer-hidden":k.length===0,"univer-flex":k.length!==0}),children:[J(`span`,{children:k}),J(wc,{})]}),Y(`div`,{className:`univer-flex univer-gap-2`,children:[J(Js,{onClick:()=>{a==null||a()},children:p.t(`definedName.cancel`)}),J(Js,{variant:`primary`,onClick:de,children:p.t(`definedName.confirm`)})]})]})},Sv=()=>{let e=V(N),t=V(P),n=V(Ue),r=V(Wc),i=V(W),a=t.getCurrentUnitOfType(L.UNIVER_SHEET),o=a==null?void 0:a.getUnitId(),s=()=>{if(!o)return[];let e=r.getDefinedNameMap(o);return e?Array.from(Object.values(e)):[]},[c,l]=q(!1),[u,d]=q([]),[f,p]=q(null),[m,h]=q();if(Us(()=>{d(s());let e=r.update$.subscribe(()=>{d(s())});return()=>{e.unsubscribe()}},[]),!a||!o)return;let g=t=>{let{name:n,formulaOrRefString:r,comment:i,localSheetId:a,hidden:s}=t,c=t.id;if(c==null||c.length===0)c=yt(10),e.executeCommand(ui.id,{id:c,unitId:o,name:n,formulaOrRefString:r,comment:i,localSheetId:a,hidden:s});else{let t={id:c,unitId:o,name:n,formulaOrRefString:r,comment:i,localSheetId:a,hidden:s};e.executeCommand(fa.id,t)}l(!1),p(null)},_=e=>{h(e)};function v(){h(null)}function y(t){if(!o)return;let n=r.getValueById(o,t);e.executeCommand(Vi.id,{...n,unitId:o}),h(null)}let b=async t=>{let{formulaOrRefString:n,id:i}=t,a=r.getWorksheetByRef(o,n);a&&(a.isSheetHidden()&&await e.executeCommand(io.id,{unitId:o,subUnitId:a.getSheetId()}),r.focusRange(o,i))},x=()=>{let e=u.length+1,t=n.t(`definedName.defaultName`)+e;if(r.getValueByName(o,t)==null)return t;let i=e+1;for(;;){let e=n.t(`definedName.defaultName`)+i;if(r.getValueByName(o,e)==null)return e;i++}},S=()=>{var e;let t=(e=a.getActiveSheet())==null?void 0:e.getName();if(!t)return``;let n=i.getCurrentSelections();return n==null?``:n.map(e=>rl(t,e.range)).join(`,`)},C=()=>{l(!1),p(null)},w=()=>{l(!0),p(null)},T=e=>{l(!1),p(e)},E=e=>{let t=a.getSheetBySheetId(e);return t==null?``:t.getName()};return J(`div`,{"data-u-comp":`defined-name-container`,className:`univer-relative univer-box-border univer-w-full`,children:Y(`div`,{className:gc(`univer-w-full univer-overflow-hidden univer-overflow-y-auto`,_c),children:[Y(`div`,{className:`univer-mb-4`,children:[Y(Js,{className:gc(`univer-w-full`,{"univer-hidden":c}),onClick:w,children:[J(Oc,{}),J(`span`,{className:`univer-ml-1`,children:n.t(`definedName.addButton`)})]}),c&&J(xv,{confirm:g,cancel:C,state:c,inputId:`insertDefinedName`,name:x(),formulaOrRefString:S()})]},`insertDefinedName`),u.map((e,t)=>Y(`div`,{className:`univer-relative univer-w-full univer-divide-x-0 univer-divide-y univer-divide-solid univer-divide-gray-200 dark:!univer-divide-gray-600`,children:[Y(`div`,{className:gc(`univer-group univer-relative univer-flex univer-w-full univer-cursor-default univer-select-none univer-items-center univer-justify-between univer-rounded-md univer-p-2 hover:univer-bg-gray-50 dark:hover:!univer-bg-gray-700`,{"univer-hidden":e.id===f}),onClick:()=>{b(e)},children:[Y(`div`,{title:e.comment,children:[Y(`div`,{className:`univer-my-1 univer-max-h-[100px] univer-max-w-[190px] univer-truncate univer-text-sm univer-font-medium univer-text-gray-900 dark:!univer-text-white`,children:[e.name,J(`span`,{className:`univer-text-xxs univer-ml-1 univer-text-gray-400`,children:e.localSheetId===Zi||e.localSheetId==null?``:E(e.localSheetId)})]}),J(`div`,{className:`univer-my-1 univer-max-h-[100px] univer-w-full univer-max-w-[190px] univer-truncate univer-text-xs univer-text-gray-500`,title:e.formulaOrRefString,children:e.formulaOrRefString})]}),Y(`div`,{className:`univer-absolute univer-right-5 univer-top-1/2 univer-hidden -univer-translate-y-1/2 univer-cursor-pointer univer-items-center univer-justify-end univer-gap-7 univer-text-xs univer-text-primary-600 group-hover:univer-flex dark:hover:!univer-bg-gray-600`,children:[J(dc,{title:n.t(`definedName.updateButton`),placement:`top`,children:J(`a`,{className:`univer-rounded univer-p-1 hover:univer-bg-gray-100`,onClick:t=>{t.stopPropagation(),T(e.id)},children:J(Fc,{})})}),J(dc,{title:n.t(`definedName.deleteButton`),placement:`top`,children:J(`a`,{className:`univer-rounded univer-p-1 univer-text-red-600 hover:univer-bg-gray-100`,onClick:t=>{t.stopPropagation(),_(e.id)},children:J(Sc,{})})})]})]}),J(Qs,{visible:m===e.id,onClose:v,onConfirm:()=>{y(e.id)},children:n.t(`definedName.deleteConfirmText`)}),e.id===f&&J(xv,{confirm:g,cancel:C,state:e.id===f,id:e.id,inputId:e.id+t,name:e.name,formulaOrRefString:e.formulaOrRefString,comment:e.comment,localSheetId:e.localSheetId})]},t))]})})},Cv=()=>{let[,e]=q({});return Hs(()=>e(e=>!e),[])};function wv(){let e=V(N),t=V(P),n=V(Xn),r=V(ni),i=V(Ue),[a,o]=q([]),[s,c]=q(!1),[l,u]=q({row:-1,col:-1}),[d,f]=q(wr.SERIES),[p,m]=q(!1),h=Cp(),{sheetSkeletonManagerService:g,selectionRenderService:_}=Gs(()=>{if(h){let e=n.getRenderById(h.getUnitId());return{sheetSkeletonManagerService:e==null?void 0:e.with(Vl),selectionRenderService:e==null?void 0:e.with(Il)}}return{sheetSkeletonManagerService:null,selectionRenderService:null}},[h,n]),v=()=>{m(!0)},y=()=>{m(!1)},b=Cv();if(Us(()=>e.onCommandExecuted((e,t)=>{e.id===Lf.id&&b()}).dispose,[b,e]),Us(()=>{let e=g&&Vt(g.currentSkeleton$.subscribe(e=>{e&&b()}));return e==null?void 0:e.dispose},[g,b]),Us(()=>Vt(r.menu$.subscribe(e=>{o(e.map(t=>({...t,index:e.indexOf(t)})))})).dispose,[r]),Us(()=>Vt(r.showMenu$.subscribe(e=>{let{source:t,target:n}=r.autoFillLocation||{source:null,target:null};u(e&&t&&n?{row:Math.max(t.rows[t.rows.length-1],n.rows[n.rows.length-1]),col:Math.max(t.cols[t.cols.length-1],n.cols[n.cols.length-1])}:{row:-1,col:-1})})).dispose,[r]),Us(()=>Vt(r.applyType$.subscribe(e=>{f(e)})).dispose,[r]),Us(()=>{function e(){c(!1)}return document.addEventListener(`wheel`,e),()=>{document.removeEventListener(`wheel`,e)}},[s]),l.col<0||l.row<0)return null;let x=Mf(t,n);if(!x||!_)return null;let{scene:S}=x,C=g==null?void 0:g.getCurrentSkeleton(),w=_.getViewPort(),T=S==null?void 0:S.scaleX,E=S==null?void 0:S.scaleY,D=S==null?void 0:S.getViewportScrollXY(w);if(!T||!S||!T||!E||!D)return null;let O=(C==null?void 0:C.getNoMergeCellWithCoordByIndex(l.row,l.col).endX)||0,ee=(C==null?void 0:C.getNoMergeCellWithCoordByIndex(l.row,l.col).endY)||0,te=gr(O,T,D),ne=_r(ee,E,D);if(te==null||ne==null)return null;let k=e=>{c(e)},re=t=>{e.executeCommand(Ri.id,{type:t.value}),c(!1)},ie=s||p,ae=a.filter(e=>!e.disable);return J(`div`,{className:`univer-absolute univer-inset-0 univer-z-10 univer-size-0`,children:J(`div`,{className:`univer-absolute`,style:{left:`${te+2}px`,top:`${ne+2}px`},onMouseEnter:v,onMouseLeave:y,children:J(ec,{align:`start`,items:ae.map(e=>({type:`radio`,value:d,options:[{label:i.t(e.label),value:e.value}],onSelect:()=>re(e)})),open:s,onOpenChange:k,children:Y(`div`,{className:gc(`univer-flex univer-items-center univer-gap-2 univer-rounded univer-p-1 hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-800`,pc,{"univer-bg-gray-100 dark:!univer-bg-gray-800":s,"univer-bg-white dark:!univer-bg-gray-900":!s}),children:[J(vc,{className:`univer-fill-primary-600 univer-text-gray-900 dark:!univer-text-white`}),ie&&J(jc,{className:`dark:!univer-text-white`})]})})})})}function Tv(e,t){let n=V(Kf),r=V(N);return Gs(()=>({keyCodes:[{keyCode:R.ENTER},{keyCode:R.ESC},{keyCode:R.TAB}],handler:e=>{if(e===R.ENTER||e===R.ESC||e===R.TAB){if(t==null)return;n.disableForceKeepVisible(),r.syncExecuteCommand(op.id,{visible:!1,eventType:qn.Keyboard,keycode:e,unitId:t})}}}),[r,n,t])}const Ev=-1e3,Dv={width:0,height:0,top:Ev,left:Ev},Ov=()=>{let[e,t]=q({...Dv}),n=V(Rp),r=V(c),i=V(Fe),a=V(Jt),o=V(Kf),s=Hn(o.visible$),l=V(N),u=Ks(0),d=Hn(()=>i.subscribeContextValue$($t),!1,void 0,[i,$t]),f=a.get(Dl),p=o.getEditLocation();Us(()=>{let e=n.state$.subscribe(e=>{if(e==null)return;let{startX:i=Ev,startY:a=Ev,endX:o=0,endY:s=0,show:c=!1}=e;if(!c)t({...Dv});else{t({width:o-i,height:s-a,left:i,top:a});let e=r.getEditor(pe);if(e==null)return;let{left:c,top:l,width:u,height:d}=e.getBoundingClientRect();n.setRect({left:c,top:l,width:u,height:d})}});return()=>{e.unsubscribe()}},[]),Us(()=>{d||n.setFocus(!0)},[d,e]),Un(Vn(()=>{o.isVisible().visible&&l.executeCommand(op.id,{visible:!1,eventType:qn.PointerUp,unitId:p==null?void 0:p.unitId})}));let m=Tv(u,p==null?void 0:p.unitId),h=Vn((e,t)=>{l.executeCommand(cp.id,{keycode:e,visible:!1,eventType:qn.Keyboard,isShift:t===Cn.SHIFT||t===(Cn.CTRL_COMMAND|Cn.SHIFT),unitId:p==null?void 0:p.unitId})});return J(`div`,{className:`univer-absolute univer-z-10 univer-flex`,style:{left:e.left,top:e.top,width:e.width,height:e.height},children:f&&J(f,{editorId:pe,className:`univer-relative univer-flex univer-size-full [&_canvas]:univer-absolute`,initValue:``,onChange:()=>{},isFocus:s==null?void 0:s.visible,unitId:p==null?void 0:p.unitId,subUnitId:p==null?void 0:p.sheetId,keyboardEventConfig:m,onMoveInEditor:h,isSupportAcrossSheet:!0,resetSelectionOnBlur:!1,isSingle:!1,autoScrollbar:!1,onFormulaSelectingChange:(e,t)=>{u.current=e,t&&(e?o.enableForceKeepVisible():o.disableForceKeepVisible())},disableSelectionOnClick:!0,disableContextMenu:!1})})};function kv({search:e,isInputEvent:t}){let n=V(N),r=V(Ue),i=V(Wc),a=V(P),o=V(bn),s=a.getCurrentUnitForType(L.UNIVER_SHEET).getUnitId(),c=()=>{let e=i.getDefinedNameMap(s);return e?Array.from(Object.values(e)):[]},[l,u]=q(c());Us(()=>{let e=i.update$.subscribe(()=>{u(c())});return()=>{e.unsubscribe()}},[]),Us(()=>{let e=o.sidebarOptions$.subscribe(e=>{e.id===`DefinedNameContainer`&&(e.visible||setTimeout(()=>{o.sidebarOptions$.next({visible:!1})}))});return()=>{e.unsubscribe()}},[]);let d=Gs(()=>e&&t?l.filter(t=>t.name.toLowerCase().includes(e.toLowerCase())):l,[e,t,l]),f=()=>{n.executeCommand(pp.id,{value:`open`})},p=async e=>{let{formulaOrRefString:t,id:r}=e,a=i.getWorksheetByRef(s,t);a&&(a.isSheetHidden()&&await n.executeCommand(io.id,{unitId:s,subUnitId:a.getSheetId()}),i.focusRange(s,r))};return Y(`div`,{className:`univer-w-[300px]`,children:[J(`ul`,{className:gc(`univer-m-0 univer-max-h-[360px] univer-list-none univer-overflow-y-auto univer-p-0`,_c),children:d.map((e,t)=>J(`li`,{className:`univer-cursor-pointer univer-px-2 univer-transition-colors univer-duration-200 hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-600`,onClick:()=>{p(e)},children:Y(`div`,{className:gc(`univer-flex univer-items-center univer-justify-between univer-gap-2 univer-py-1`,fc),children:[J(`div`,{className:`univer-w-[50%] univer-flex-shrink-0 univer-truncate univer-text-sm univer-text-gray-600 dark:!univer-text-gray-200`,title:e.name,children:e.name}),J(`div`,{className:`univer-w-[50%] univer-flex-shrink-0 univer-truncate univer-text-xs univer-text-gray-400`,title:e.formulaOrRefString,children:e.formulaOrRefString})]})},t))}),Y(`div`,{className:`univer-cursor-pointer univer-p-2 univer-transition-colors univer-duration-200 hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-600`,onClick:f,children:[J(`div`,{className:`univer-mb-2 univer-text-sm univer-font-semibold univer-text-gray-600 dark:!univer-text-gray-200`,children:r.t(`definedName.managerTitle`)}),J(`div`,{className:`univer-text-xs univer-text-gray-400`,children:r.t(`definedName.managerDescription`)})]})]})}function Av({disable:e}){let[t,n]=q(``),[r,i]=q(``),a=V(Wc),o=V(N),s=V(P),c=V(W),l=V(qc),u=s.getCurrentUnitOfType(L.UNIVER_SHEET),d=u==null?void 0:u.getUnitId(),f=V(et),[p,m]=q(!1),[h,g]=q(!1),_=()=>{let e=a.getDefinedNameMap(d);return e?Array.from(Object.values(e)):[]},v=async e=>{let{formulaOrRefString:t,id:n}=e,r=a.getWorksheetByRef(d,t);r&&(r.isSheetHidden()&&await o.executeCommand(io.id,{unitId:d,subUnitId:r.getSheetId()}),a.focusRange(d,n))},y=e=>{let t=u.getActiveSheet(),n=t.getSheetId();D(t,e).then(e=>{e&&(o.executeCommand(Aa.id,{unitId:d,subUnitId:n,selections:e}),o.executeCommand(Bf.id,{range:e[0].range}))})},[b,x]=q(_());Us(()=>{let e=a.update$.subscribe(()=>{x(_())});return()=>{e.unsubscribe()}},[]),Us(()=>{let e=a.currentRange$.subscribe(()=>{var e;let t=c.getCurrentSelections(),r=u.getActiveSheet(),o=t==null||(e=t.map(e=>rl(r.getName(),e.range)))==null?void 0:e.join(`,`),s=l.convertRefersToAbsolute(o,ee.ALL,ee.ALL,r.getName()),f=a.getDefinedNameByRefString(d,s);if(f)n(f.name),i(f.name);else{let e=a.getCurrentRangeForString();n(e),i(e)}});return()=>{e.unsubscribe()}},[]);let S=gt(e=>{let t=b.find(t=>t.name.toLowerCase().includes(e.toLowerCase()));t&&!p?m(!0):!t&&p&&m(!1)},100);function C(e){let t=e.target.value.trim();if(i(t),g(!0),!t){p&&m(!1);return}S(t)}function w(){if(r===t)return;let e=b.find(e=>e.name===r);e?(n(r),v(e)):Zc(r)?(n(r),y(r)):E()}function T(t){e||(t.key===`Enter`?(w(),g(!1),m(!1)):t.key===`Escape`&&(t.preventDefault(),g(!1),E()))}function E(){i(t)}async function D(e,t){if(!e)return;let n=Xc(t.trim()),{startRow:r,startColumn:i,endRow:a,endColumn:o}=n.range,s=us({startRow:r,startColumn:i,endRow:a,endColumn:o},e),c=[];return c.push({range:n.range,style:wl(f),primary:s}),c}return Y(`div`,{"data-u-comp":`defined-name`,className:`univer-relative univer-box-border univer-flex univer-h-full univer-w-24 univer-border-r-gray-200 univer-py-1.5 univer-transition-all`,children:[J(`input`,{className:gc(`univer-box-border univer-size-full univer-appearance-none univer-pl-1.5 univer-pr-5 univer-text-gray-900 focus:univer-outline-none dark:!univer-border-r-gray-700 dark:!univer-bg-gray-900 dark:!univer-text-white`,mc,{"univer-cursor-not-allowed":e}),type:`text`,value:r,onChange:C,onKeyDown:T,onBlur:()=>g(!1)}),J($s,{overlay:J(`div`,{className:`univer-z-[1001]`,children:J(kv,{search:r,isInputEvent:h})}),disabled:e,open:p,onOpenChange:m,onOpenAutoFocus:e=>e.preventDefault(),children:J(`a`,{className:gc(`univer-absolute univer-right-0 univer-top-0 univer-flex univer-h-full univer-cursor-pointer univer-items-center univer-justify-center univer-px-1 univer-transition-colors univer-duration-200 hover:univer-bg-gray-100 dark:!univer-text-white dark:hover:!univer-bg-gray-800`,{"univer-cursor-not-allowed univer-text-gray-300 hover:univer-bg-transparent dark:!univer-text-gray-700":e}),children:J(jc,{})})})]})}var jv=function(e){return e[e.Down=0]=`Down`,e[e.Up=1]=`Up`,e}(jv||{});function Mv(e){var t,n;let{className:r,disableDefinedName:i}=e,[a,o]=q(!1),[s,l]=q(jv.Down),u=V(Um),d=V(Kf),f=V(Vo),p=V(Fi),m=V(P),h=V(W),g=V(Le),_=V(Ni),v=V(N),[y,b]=q({editDisable:!1,viewDisable:!1}),[x,S]=q(!1),C=V(Jt),w=Hn(()=>m.getCurrentTypeOfUnit$(L.UNIVER_SHEET),void 0,void 0,[]),T=Ks(0),E=Hn(d.currentEditCellState$),D=Tv(T,E==null?void 0:E.unitId),O=C.get(Dl),ee=zn(Dp.FORMULA_AUX),te=V(Fe);Hn(Gs(()=>te.subscribeContextValue$(Te),[te]));let ne=te.getContextValue(Te),k=Ks(null),re=V(c),ie=Bn(rp),ae=ie==null?void 0:ie.disableEdit;Ws(()=>{let e=w.activeSheet$.pipe(ks(e=>e?Ts(f.ruleChange$,p.ruleChange$,h.selectionMoveEnd$,h.selectionSet$).pipe(ks(()=>{var t,n;let r=w.getUnitId(),i=e.getSheetId();if(!((t=h.getCurrentLastSelection())!=null&&t.range))return gs;let a=(n=h.getCurrentLastSelection())==null?void 0:n.primary;return Es(a?{unitId:r,subUnitId:i,primary:a}:null)})):gs)).subscribe(e=>{if(e){var t,n;let{unitId:s,subUnitId:c,primary:l}=e;if(f.getRule(s,c)){var r,i,a,o;let e=!((r=(i=g.getPermissionPoint(new K(s,c).id))==null?void 0:i.value)==null||r);b({viewDisable:!((a=(o=g.getPermissionPoint(new Ko(s,c).id))==null?void 0:o.value)==null||a),editDisable:e});return}let{actualRow:u,actualColumn:d}=l,p=_.getCellInfo(s,c,u,d);b({editDisable:!((t=p==null?void 0:p[vo.Edit])==null||t),viewDisable:!((n=p==null?void 0:p[vo.View])==null||n)})}else b({viewDisable:!1,editDisable:!1})});return()=>{e.unsubscribe()}},[w]),Us(()=>{let e=d.visible$.subscribe(e=>{o(e.visible)});return()=>e.unsubscribe()},[d.visible$]),Us(()=>{let e=d.currentEditCellState$.subscribe(e=>{var t;!(e==null||(t=e.documentLayoutObject.documentModel)==null||(t=t.getBody())==null||(t=t.customBlocks)==null)&&t.length?S(!0):S(!1)});return()=>e.unsubscribe()},[d.currentEditCellState$]),Us(()=>{let e=()=>{if(!k.current)return;let e=k.current.getBoundingClientRect();u.setPosition(e)};if(k.current){e();let t=new ResizeObserver(e);return t.observe(k.current),()=>t.disconnect()}},[u]);function A(){l(s===jv.Down?jv.Up:jv.Down),setTimeout(()=>{u.handleFoldBtnClick(s===jv.Up)},150)}function oe(){d.isVisible().visible&&v.executeCommand(op.id,{visible:!1,eventType:qn.Keyboard,keycode:R.ESC,unitId:E.unitId})}function se(){d.isVisible().visible&&v.executeCommand(op.id,{visible:!1,eventType:qn.PointerDown,unitId:E.unitId})}function ce(){u.handleFxBtnClick(!0)}let{viewDisable:le,editDisable:ue}=y,de=ue||!!ae,pe=de||x,me=Ks(!1),he=()=>{try{if(d.isVisible().visible===!1&&!v.syncExecuteCommand(op.id,{visible:!0,eventType:qn.PointerDown,unitId:E.unitId})){me.current=!0;return}te.setContextValue(Te,!0)}catch(e){throw me.current=!0,e}},j=()=>{me.current&&setTimeout(()=>{re.blur(!0)},30),me.current=!1},M=((t=E==null||(n=E.documentLayoutObject.documentModel)==null||(n=n.getDrawingsOrder())==null?void 0:n.length)==null?0:t)>0||le;return Y(`div`,{"data-u-comp":`formula-bar`,className:gc(`univer-box-border univer-flex univer-bg-white univer-transition-[height] univer-ease-linear dark:!univer-bg-gray-900`,fc,r,{"univer-h-7":s===jv.Down,"univer-h-20":s===jv.Up,"univer-pointer-events-none":de}),children:[J(`div`,{className:`univer-relative univer-box-border univer-h-full univer-w-[100px]`,children:J(Av,{disable:i==null?de:i})}),Y(`div`,{className:`univer-flex univer-size-full`,children:[J(`div`,{className:gc(`univer-py-1.5`,{"univer-cursor-not-allowed univer-text-gray-200":pe}),children:Y(`div`,{className:gc(`univer-relative univer-box-border univer-flex univer-h-full univer-w-20 univer-items-center univer-justify-center univer-text-xs`,mc),children:[J(`span`,{className:gc(`univer-flex univer-items-center univer-justify-center univer-rounded univer-p-1 univer-text-base dark:!univer-text-white`,{"univer-cursor-pointer univer-text-red-600 hover:univer-bg-gray-100 dark:!univer-text-green-400 dark:hover:!univer-bg-gray-700":a}),onClick:oe,children:J(bc,{})}),J(`span`,{className:gc(`univer-flex univer-items-center univer-justify-center univer-rounded univer-p-1 univer-text-base dark:!univer-text-white`,{"univer-cursor-pointer univer-text-green-600 hover:univer-bg-gray-100 dark:!univer-text-red-400 dark:hover:!univer-bg-gray-700":a}),onClick:se,children:J(yc,{})}),J(`span`,{className:`univer-flex univer-cursor-pointer univer-items-center univer-justify-center univer-rounded univer-p-1 univer-text-base hover:univer-bg-gray-100 dark:!univer-text-white dark:hover:!univer-bg-gray-700`,onClick:ce,children:J(Ec,{})})]})}),Y(`div`,{className:`univer-flex univer-w-full univer-flex-1 univer-overflow-hidden univer-pl-3`,children:[Y(`div`,{ref:k,className:`univer-relative univer-flex-1`,onPointerDown:he,onPointerUp:j,style:{pointerEvents:M?`none`:`auto`},children:[O&&J(O,{className:`univer-relative univer-size-full univer-break-words univer-outline-none [&>div]:univer-ring-transparent`,disableSelectionOnClick:!0,editorId:fe,initValue:``,onChange:()=>{},isFocus:ne,unitId:E==null?void 0:E.unitId,subUnitId:E==null?void 0:E.sheetId,isSupportAcrossSheet:!0,resetSelectionOnBlur:!1,isSingle:!1,keyboardEventConfig:D,onFormulaSelectingChange:(e,t)=>{T.current=e,t&&(e?d.enableForceKeepVisible():d.disableForceKeepVisible())},autoScrollbar:!1,disableContextMenu:!1}),M&&J(`div`,{className:`univer-pointer-events-none univer-relative univer-left-0 univer-top-0 univer-z-[100] univer-size-full univer-cursor-not-allowed univer-bg-white`})]}),J(`div`,{className:gc(`univer-flex univer-h-full univer-w-5 univer-cursor-pointer univer-items-center univer-justify-center univer-text-xs univer-text-gray-700 dark:!univer-text-gray-200`,{"univer-cursor-not-allowed univer-text-gray-200 dark:!univer-text-gray-700":de}),onClick:A,children:J(Cc,{className:gc({"univer-rotate-180":s===jv.Up})})})]})]}),J(qt,{components:ee},`formula-aux`)]})}function Nv(e){let{children:t,className:n,style:r,disabled:i=!1,onClick:a,...o}=e,s=e=>{if(i){e.preventDefault();return}a&&a(e)};return J(Js,{"data-u-comp":`sheet-bar-append-button`,className:n,size:`small`,disabled:i,style:r,variant:`text`,onClick:s,...o,children:t})}function Pv(){let[e,t]=q([]),[n,r]=q(!1),i=V(P),a=V(N),o=V(Zf),s=V(Vo),c=Hn(()=>i.getCurrentTypeOfUnit$(L.UNIVER_SHEET),null,!1,[]),l=e=>{let{sheetId:t}=e;!t||!c||(e.hidden?a.executeCommand(io.id,{unitId:c.getUnitId(),subUnitId:t,value:t}):e.selected||a.executeCommand(Ha.id,{unitId:c.getUnitId(),subUnitId:t}),r(!1))},u=Hs(()=>{if(!c)return;let e=c.getSheets(),n=c.getActiveSheet();t(e.map((e,t)=>({label:e.getName(),index:`${t}`,sheetId:e.getSheetId(),hidden:e.isSheetHidden()===ne.TRUE,selected:n===e})))},[c,s]),d=Hs(()=>a.onCommandExecuted(e=>{switch(e.id){case qa.id:case Ki.id:case Ya.id:case xi.id:case Za.id:case Ua.id:u();break;default:break}}),[a,u]);function f(){r(!0)}return Us(()=>{u();let e=new ge;return e.add(d()),e.add(o.registerSheetBarMenuHandler({handleSheetBarMenu:f})),()=>e.dispose()},[d,o,u,c]),J(ec,{className:`univer-max-w-lg`,align:`start`,items:Gs(()=>e.map(e=>({type:`item`,children:Y(`div`,{className:`univer-relative univer-box-border univer-overflow-hidden univer-truncate univer-pl-6`,children:[(e.selected||e.hidden)&&Y(`span`,{className:`univer-absolute univer-left-1 univer-top-0.5`,children:[e.selected&&J(yc,{className:`univer-size-4 univer-text-primary-600`}),e.hidden&&J(Tc,{className:`univer-size-4 univer-text-gray-400`})]}),J(`span`,{className:gc({"univer-text-primary-600":e.selected}),children:e.label})]}),onSelect:()=>{l(e)}})),[e]),open:n,onOpenChange:e=>{r(e)},children:J(`div`,{children:J(Nv,{children:J(xc,{})})})})}function Fv(e){let{sheetId:t,label:n,color:r,selected:i,className:a,onKeyDown:o,tabIndex:s}=e,c=V(et),l=e=>{let t=c.getColorFromTheme(`gray.900`),n=c.getColorFromTheme(`white`);return new ae(e).isDark()?n:t},u=!!i,d=r?l(r):``;return J(`div`,{"data-u-comp":`slide-tab-item`,"data-id":t,role:`tab`,"aria-selected":u,tabIndex:s==null?u?0:-1:s,onKeyDown:o,className:gc(`univer-mx-1 univer-box-border univer-flex univer-flex-grow univer-cursor-pointer univer-select-none univer-flex-row univer-items-center univer-rounded univer-text-xs univer-transition-[colors,box-shadow] focus-visible:univer-ring-2 focus-visible:univer-ring-primary-500`,{"dark:!univer-text-white":!r||r&&!d,"univer-justify-center univer-bg-white univer-font-bold univer-text-primary-700 univer-shadow":u,"dark:!univer-bg-gray-700":u&&!r,"univer-font-medium univer-text-gray-900 hover:univer-bg-gray-100":!u,"dark:hover:!univer-bg-gray-700":!u&&!r},a),style:{backgroundColor:!u&&r?r:``,color:!u&&r?d:``,boxShadow:u&&r?`0px 0px 8px rgba(0, 0, 0, 0.08), inset 0px -2px 0px 0px ${r}`:``},children:J(`div`,{className:`univer-box-border univer-flex univer-max-w-lg univer-items-center univer-gap-1 univer-overflow-hidden univer-whitespace-nowrap univer-rounded univer-border-2 univer-border-solid univer-border-transparent univer-px-1.5 univer-py-1`,children:n})},t)}function Iv(e){let{children:t,anchorRect:n,showContextMenu:r,visible:i,onCommandSelect:a,onVisibleChange:o}=e,s=Ks(`sheetbar-tabs-context-menu-${yt(6)}`);return r?Y(zc,{children:[t,J(Wt,{hostId:s.current,visible:i,anchorRect:n,menuType:Xt.FOOTER_TABS,anchorVertical:`top`,menuOffset:6,onRequestClose:()=>o(!1),onOptionSelect:e=>{var t;let{label:n,id:r,commandId:i,value:o}=e;a((t=i==null?r:i)==null?n:t,o)}})]}):t}const Lv={easeOutStrong(e,t,n,r){return-n*((e=e/r-1)*e*e*e-1)+t},backOut(e,t,n,r,i){return i===void 0&&(i=.7),n*((e=e/r-1)*e*((i+1)*e+i)+1)+t}},Rv={loop:!1,begin:0,end:0,duration:300,delay:0,type:`easeOutStrong`,receive(e){},success(e){},cancel(e){},complete(e){}};let zv=function(e){return e[e.Request=0]=`Request`,e[e.Cancel=1]=`Cancel`,e}({});var Bv=class{constructor(e){X(this,`_config`,void 0),X(this,`_status`,zv.Request),X(this,`_start`,0),X(this,`_handle`,0),X(this,`_delayHandle`,null),this._config={...Rv,...e},this._config.loop&&(this._config.complete=()=>{},this._config.success=()=>{this.request()})}static success(...e){let t=0;return new Promise(n=>{for(let r=0;r<e.length;r++){let i=e[r],a=i._config,o=a.success;a.loop||(a.success=r=>{t++,o&&o.call(i,r),t===e.length&&n()})}})}request(){this._config.delay===0?(this._status=zv.Request,this._start=Date.now(),this._fakeHandle()):(this._delayHandle&&clearTimeout(this._delayHandle),this._delayHandle=setTimeout(()=>{this._status=zv.Request,this._start=Date.now(),this._fakeHandle()},this._config.delay))}cancel(){this._status=zv.Cancel,this._delayHandle&&clearTimeout(this._delayHandle),cancelAnimationFrame(this._handle)}_fakeHandle(){let e=Date.now()-this._start;e=e>=this._config.duration?this._config.duration:e;let t=Lv[this._config.type](e,this._config.begin,this._config.end-this._config.begin,this._config.duration,.7).toFixed(2);if(this._config.receive(t),this._status===zv.Cancel){this._config.cancel(t),this._config.complete(t);return}if(e===this._config.duration){this._config.success(t),this._config.complete(t);return}this._handle=requestAnimationFrame(()=>{this._fakeHandle()})}},Vv=class e{constructor(e,t){X(this,`_slideTabItem`,void 0),X(this,`_animate`,void 0),X(this,`_midline`,0),X(this,`_translateX`,void 0),X(this,`_scrollbar`,void 0),X(this,`_slideTabBar`,void 0),X(this,`_editMode`,void 0),X(this,`_placeholder`,void 0),this._slideTabItem=e,this._animate=null,this._translateX=0,this._editMode=!1,this._slideTabBar=t,this._placeholder=null,this._scrollbar=t.getScrollbar(),this.update()}static midline(e){return e.getBoundingRect().x+e.getBoundingRect().width/2}static leftLine(e){return e.getBoundingRect().x}static rightLine(e){return e.getBoundingRect().x+e.getBoundingRect().width}static make(t,n){let r=[];return t.forEach(t=>r.push(new e(t,n))),r}getSlideTabItem(){return this._slideTabItem}getEditor(){return this._slideTabItem.querySelector(`span`)}focus(){var e;(e=this.getEditor())==null||e.focus()}selectAll(){let e=this.getEditor();e&&Uv.keepSelectAll(e)}isEditMode(){return this._editMode}classList(){return this._slideTabItem.classList}translateX(e){return this._translateX=e,this._slideTabItem.style.transform=`translateX(${e}px)`,this.getTranslateXDirection()}setEditor(e){if(!this._slideTabBar.getConfig().onNameChangeCheck())return;let t=!0;if(this._editMode===!1){let n=this._slideTabItem.querySelector(`span`),r=e=>{var t;e.preventDefault();let n=(t=e.clipboardData)==null?void 0:t.getData(`text/plain`);if(n){let e=n.replace(/\s/g,``);document.execCommand(`insertText`,!1,e)}},i=t=>{if(!this.nameCheck()){if(this._editMode=!1,n&&(n.removeAttribute(`contentEditable`),n.removeEventListener(`focusout`,i),n.removeEventListener(`compositionstart`,o),n.removeEventListener(`compositionend`,s),n.removeEventListener(`input`,c),n.removeEventListener(`keydown`,a),n.removeEventListener(`paste`,r)),this._slideTabBar.removeListener(),this._slideTabBar.updateItems(),this._slideTabBar.getConfig().onChangeName){let e=(n==null?void 0:n.innerText)||``,t=this.getId();this._slideTabBar.getConfig().onChangeName(t,e)}e&&e(t)}},a=e=>{n&&(e.stopPropagation(),e.key===`Enter`&&(n.blur(),e.preventDefault()))},o=()=>{t=!1},s=()=>{t=!0},c=e=>{n&&setTimeout(()=>{if(t){let e=n.innerText;e.length>31&&(n.innerText=e.substring(0,31),Uv.keepLastIndex(n))}},0)};n&&(n.setAttribute(`contentEditable`,`true`),n.addEventListener(`focusout`,i),n.addEventListener(`compositionstart`,o),n.addEventListener(`compositionend`,s),n.addEventListener(`input`,c),n.addEventListener(`keydown`,a),n.addEventListener(`paste`,r),this._editMode=!0,Uv.keepSelectAll(n))}}nameCheck(){let e=this._slideTabItem.querySelector(`span`);if(!e)return!1;let t=e.innerText;return this._slideTabBar.getConfig().onNameCheckAlert(t)}animate(){return{translateX:e=>{this._translateX!==e&&(this._animate&&(this._animate.cancel(),this._animate=null),this._animate=new Bv({begin:this._translateX,end:e,receive:e=>{this._slideTabItem.style.transform=`translateX(${e}px)`}}),this._translateX=e,this._animate.request())},cancel:()=>{this._animate&&(this._animate.cancel(),this._animate=null)}}}after(e){this._slideTabItem.after(e._slideTabItem||e)}update(){this._midline=e.midline(this)}disableFixed(){if(this._placeholder){let e=this._slideTabBar.primeval();this._slideTabItem.style.removeProperty(`position`),this._slideTabItem.style.removeProperty(`left`),this._slideTabItem.style.removeProperty(`top`),this._slideTabItem.style.removeProperty(`width`),this._slideTabItem.style.removeProperty(`height`),this._slideTabItem.style.removeProperty(`background`),this._slideTabItem.style.removeProperty(`padding`),this._slideTabItem.style.removeProperty(`box-sizing`),this._slideTabItem.style.removeProperty(`font-size`),this._slideTabItem.style.removeProperty(`font-family`),this._slideTabItem.style.removeProperty(`font-weight`),this._slideTabItem.style.removeProperty(`color`),this._slideTabItem.style.removeProperty(`border-radius`),this._placeholder.after(this._slideTabItem),e.removeChild(this._placeholder),this._placeholder=null}}enableFixed(){let e=document.createElement(`div`),t=this.getBoundingRect(),n=getComputedStyle(this._slideTabItem),r=this._slideTabItem.querySelector(`span`);if(this._placeholder=e,this._placeholder.style.width=`${t.width}px`,this._placeholder.style.height=`${t.height}px`,this._placeholder.style.flexShrink=`0`,this._placeholder.style.margin=n.margin,this._slideTabItem.style.background=n.background,r){let e=getComputedStyle(r).padding;this._slideTabItem.style.padding=e}this._slideTabItem.style.boxSizing=n.boxSizing,this._slideTabItem.style.fontSize=n.fontSize,this._slideTabItem.style.fontFamily=n.fontFamily,this._slideTabItem.style.fontWeight=n.fontWeight,this._slideTabItem.style.color=n.color,this._slideTabItem.style.borderRadius=n.borderRadius,this._slideTabItem.style.left=`${t.x-this.getScrollbar().getScrollX()}px`,this._slideTabItem.style.top=`${t.y}px`,this._slideTabItem.style.width=`${t.width}px`,this._slideTabItem.style.height=`${t.height}px`,this._slideTabItem.style.position=`fixed`,this._slideTabItem.after(e),document.body.appendChild(this._slideTabItem)}addEventListener(e,t,n){this._slideTabItem.addEventListener(e,t,n)}removeEventListener(e,t,n){this._slideTabItem.removeEventListener(e,t,n)}getScrollbar(){return this._scrollbar}getMidLine(){return this._midline}getBoundingRect(){let e=this._slideTabItem.getBoundingClientRect();return e.x+=this._scrollbar.getScrollX(),e}getWidth(){return this.getBoundingRect().width}getTranslateXDirection(){let t=e.midline(this);return t>this._midline?1:t<this._midline?-1:0}equals(e){return e&&e._slideTabItem===this._slideTabItem}getId(){return this._slideTabItem.dataset.id||``}},Hv=class{constructor(e){X(this,`_slideTabBar`,void 0),X(this,`_scrollX`,void 0),this._scrollX=e.primeval().scrollLeft,this._slideTabBar=e}scrollX(e){let t=this._slideTabBar.primeval();t.scrollLeft=e,this._scrollX=t.scrollLeft}scrollRight(){let e=this._slideTabBar.primeval();e.scrollLeft=e.scrollWidth,this._scrollX=e.scrollLeft}getScrollX(){return this._scrollX}},Uv=class e{constructor(t){if(X(this,`_activeTabItemIndex`,0),X(this,`_slideTabBar`,void 0),X(this,`_slideTabItems`,[]),X(this,`_config`,void 0),X(this,`_downActionX`,0),X(this,`_moveActionX`,0),X(this,`_compareIndex`,0),X(this,`_activeTabItem`,null),X(this,`_moveAction`,void 0),X(this,`_upAction`,void 0),X(this,`_downAction`,void 0),X(this,`_wheelAction`,void 0),X(this,`_scrollIncremental`,0),X(this,`_compareDirection`,0),X(this,`_autoScrollTime`,null),X(this,`_slideScrollbar`,void 0),X(this,`_longPressTimer`,null),X(this,`_leftBoundingLine`,0),X(this,`_rightBoundingLine`,0),X(this,`_leftMoveX`,0),X(this,`_rightMoveX`,0),t.slideTabBarContainer==null)throw Error(`not found slide-tab-bar root element`);let n=t.slideTabBarContainer.querySelector(`${t.slideTabBarSelector}`);if(n==null)throw Error(`not found slide-tab-bar`);this._slideTabBar=n,this._slideScrollbar=new Hv(this),this._config=t,this._initConfig();let r=0,i=0,a=0;this._downAction=n=>{var o,s,c;if((o=this._activeTabItem)!=null&&o.isEditMode())return;this._longPressTimer&&(clearTimeout(this._longPressTimer),this._longPressTimer=null);let l=(s=n.target)==null||(s=s.closest(`${t.slideTabBarItemSelector}`))==null?void 0:s.getAttribute(`data-id`),u=this._slideTabItems.findIndex(e=>e.getId()===l);if(l==null||u===-1)return;if(this._activeTabItemIndex!==u){var d,f;(d=this._activeTabItem)==null||d.removeEventListener(`pointermove`,this._moveAction),(f=this._activeTabItem)==null||f.removeEventListener(`pointerup`,this._upAction),this.removeListener(),this._config.onChangeTab(n,l);return}if(this._compareIndex=u,this._downActionX=n.pageX,this._moveActionX=0,this._scrollIncremental=0,this._activeTabItem=this._slideTabItems[u],!this._activeTabItem){console.error(`Not found active slide-tab-item in sheet bar`);return}let p=this._activeTabItem.getSlideTabItem();p==null||p.setPointerCapture(n.pointerId),(c=this._activeTabItem)==null||c.addEventListener(`pointerup`,this._upAction);let{x:m,width:h}=this._activeTabItem.getBoundingRect(),{x:g,width:_}=this.getBoundingRect(),v=this._slideScrollbar.getScrollX();if(this._leftBoundingLine=this._downActionX-(m-v),this._rightBoundingLine=m-v+h-this._downActionX,this._leftMoveX=m-g-v,this._rightMoveX=g+_-(m+h)+v,n.button===2||this._hasEditItem())return;let{pageX:y,pageY:b}=n,x=Date.now(),S=x-a<=e.DoubleClickDelay,C=Math.abs(y-r)<10,w=Math.abs(b-i)<10;S&&C&&w&&this._activeTabItem.setEditor(),r=y,i=b,a=x,this._longPressTimer=setTimeout(()=>{var e,t,r;!p||(e=this._activeTabItem)!=null&&e.isEditMode()||((t=this._activeTabItem)==null||t.enableFixed(),this._startAutoScroll(),p.setPointerCapture(n.pointerId),p.style.cursor=`move`,(r=this._activeTabItem)==null||r.addEventListener(`pointermove`,this._moveAction))},e.LongPressDelay)},this._upAction=e=>{var t,n,r,i;if((t=this._activeTabItem)!=null&&t.isEditMode()||(this._longPressTimer&&(clearTimeout(this._longPressTimer),this._longPressTimer=null),!this._activeTabItem))return;let a=this._autoScrollTime!==null;this._closeAutoScroll(),this._activeTabItem.disableFixed(),this.updateItems();let o=(n=this._activeTabItem)==null?void 0:n.getSlideTabItem();o&&(o.style.cursor=``,o.releasePointerCapture(e.pointerId),(r=this._activeTabItem)==null||r.removeEventListener(`pointermove`,this._moveAction),(i=this._activeTabItem)==null||i.removeEventListener(`pointerup`,this._upAction),this._config.onSlideEnd&&this._activeTabItemIndex!==this._compareIndex&&a&&(this.removeListener(),this._config.onSlideEnd(e,this._compareIndex||0)),this._scrollIncremental=0,this._downActionX=0,this._moveActionX=0,this._compareIndex=0)},this._moveAction=e=>{this._activeTabItem&&(this._moveActionX=e.pageX-this._downActionX,this._moveActionX<=-this._leftMoveX?this._moveActionX=-this._leftMoveX:this._moveActionX>=this._rightMoveX&&(this._moveActionX=this._rightMoveX),this._scrollIncremental=0,this._scrollLeft(e),this._scrollRight(e))},this._wheelAction=e=>{this.setScroll(e.deltaY)},this.addListener()}static checkedSkipSlide(e){let t=e.target;for(;t!=null&&t!==document.body;){if(t.getAttribute(`data-slide-skip`))return!0;t=t.parentElement}return!1}static keepLastIndex(e){setTimeout(()=>{let t=window.getSelection();t&&(t.selectAllChildren(e),t.collapseToEnd())})}static keepSelectAll(e){setTimeout(()=>{let t=window.getSelection();if(!t)return;let n=document.createRange();n.selectNodeContents(e),t.removeAllRanges(),t.addRange(n)})}update(e){this._config.currentIndex=e,this._initConfig(),this.removeListener(),this.addListener(),this.scrollToItem(e)}primeval(){return this._slideTabBar}updateItems(){for(let e=0;e<this._slideTabItems.length;e++)this._slideTabItems[e].animate().cancel(),this._slideTabItems[e].translateX(0),this._slideTabItems[e].update()}getScrollbar(){return this._slideScrollbar}getConfig(){return this._config}getBoundingRect(){return this._slideTabBar.getBoundingClientRect()}getSlideTabItems(){return this._slideTabItems}getActiveItem(){return this._activeTabItem}isLeftEnd(){return this._slideTabBar.scrollLeft===0}isRightEnd(){let e=this._slideTabBar.parentElement;return e?this._slideTabBar.scrollWidth-e.clientWidth===this._slideTabBar.scrollLeft:!1}addListener(){this._slideTabBar.addEventListener(`wheel`,this._wheelAction),this._slideTabItems.forEach(e=>{e.addEventListener(`pointerdown`,this._downAction)})}removeListener(){this._slideTabBar.removeEventListener(`wheel`,this._wheelAction),this._slideTabItems.forEach(e=>{e.removeEventListener(`pointerdown`,this._downAction)})}setScroll(e){if(this._slideScrollbar.scrollX(this._slideScrollbar.getScrollX()+e),e>0){let e=this.calculateLeftScrollX();this._slideScrollbar.scrollX(this._slideScrollbar.getScrollX()+e)}else if(e<0){let e=this.calculateRightScrollX();this._slideScrollbar.scrollX(this._slideScrollbar.getScrollX()+e)}this._config.onScroll({leftEnd:this.isLeftEnd(),rightEnd:this.isRightEnd()})}flipPage(e){if(e>0){let e=this.calculateLeftScrollX(!0);this._slideScrollbar.scrollX(this._slideScrollbar.getScrollX()+e)}else if(e<0){let e=this.calculateRightScrollX(!0);this._slideScrollbar.scrollX(this._slideScrollbar.getScrollX()+e)}this._config.onScroll({leftEnd:this.isLeftEnd(),rightEnd:this.isRightEnd()})}scrollToItem(e){var t;if(e=(t=e)==null?this._config.currentIndex:t,e<0||e>=this._slideTabItems.length){console.error(`Index out of bounds`);return}let n=this.calculateTabItemScrollX(e);this._slideScrollbar.scrollX(this._slideScrollbar.getScrollX()+n),this._config.onScroll({leftEnd:this.isLeftEnd(),rightEnd:this.isRightEnd()})}calculateLeftScrollX(e){let t=0;return this._slideTabItems.some(n=>{let r=this._slideTabBar.getBoundingClientRect(),i=r.left+r.width,a=n.getSlideTabItem().getBoundingClientRect(),o=a.left,s=a.width;return o<i&&o+s+8>i?(t=e?o-r.left-4:o+s-i+4,!0):!1}),t}calculateRightScrollX(e){let t=0;return this._slideTabItems.some(n=>{let r=this._slideTabBar.getBoundingClientRect(),i=r.left,a=n.getSlideTabItem().getBoundingClientRect(),o=a.left,s=a.width;return o-8<i&&o+s>i?(t=e?o+s-r.left-r.width+4:o-i-4,!0):!1}),t}calculateTabItemScrollX(e){let t=0,n=this._slideTabBar.getBoundingClientRect(),r=n.left,i=n.left+n.width,a=this._slideTabItems[e].getSlideTabItem().getBoundingClientRect(),o=a.left,s=a.width;return o-8<r&&(t=o-r-4),o+s+8>i&&(t=o+s-i+4),t}calculateActiveTabItemScrollX(){var e;let t=0,n=this._slideTabBar.getBoundingClientRect(),r=n.left,i=n.left+n.width,a=(e=this._activeTabItem)==null?void 0:e.getSlideTabItem().getBoundingClientRect();if(!a)return 0;let o=a.left,s=a.width;return o-8<r&&o+s>r&&(t=o-r-4),o<i&&o+s+8>i&&(t=o+s-i+4),t}destroy(){this.removeListener(),this._downActionX=0,this._moveActionX=0,this._compareDirection=0,this._compareIndex=0,this._slideTabItems=[],this._activeTabItem=null}_hasEditItem(){for(let e=0;e<this._slideTabItems.length;e++)if(this._slideTabItems[e].isEditMode())return!0;return!1}_autoScrollFrame(){if(this._activeTabItem)switch(this._compareDirection=this._activeTabItem.translateX(this._moveActionX),this._compareDirection){case 1:this._slideScrollbar.scrollX(this._slideScrollbar.getScrollX()+this._scrollIncremental),this._compareRight();break;case 0:this._slideScrollbar.scrollX(this._slideScrollbar.getScrollX()+this._scrollIncremental),this._compareIndex=this._activeTabItemIndex;break;case-1:this._slideScrollbar.scrollX(this._slideScrollbar.getScrollX()+this._scrollIncremental),this._compareLeft();break}this._autoScrollTime=requestAnimationFrame(()=>{this._autoScrollFrame()})}_startAutoScroll(){this._autoScrollTime==null&&this._autoScrollFrame()}_closeAutoScroll(){this._autoScrollTime&&cancelAnimationFrame(this._autoScrollTime),this._autoScrollTime=null}_scrollLeft(e){let t=this.getBoundingRect(),n=e.pageX-t.x;n<this._leftBoundingLine&&(this._scrollIncremental=-Math.min(Math.abs(n-this._leftBoundingLine)*.1,50))}_scrollRight(e){let t=this.getBoundingRect(),n=e.pageX-t.x;n>t.width-this._rightBoundingLine&&(this._scrollIncremental=Math.min(Math.abs(n-(t.width-this._rightBoundingLine))*.1,50))}_sortedItems(){if(this._activeTabItem!=null&&this._activeTabItemIndex!=null&&this._compareIndex!=null&&(this._slideTabItems.splice(this._activeTabItemIndex,1),this._slideTabItems.splice(this._compareIndex,0,this._activeTabItem),this._config.slideTabBarItemAutoSort))for(let e=0;e<this._slideTabItems.length;e++){let t=this._slideTabItems[e],n=this._slideTabItems[e+1];n&&t.after(n)}}_compareLeft(){if(this._activeTabItem&&this._activeTabItemIndex){let e=this._slideTabItems.findIndex(e=>e.equals(this._activeTabItem)),t=this._slideTabItems.length,n=[];for(let t=0;t<e&&!(t>=e);t++)n.push(this._slideTabItems[t]);for(let n=e+1;n<t;n++)this._slideTabItems[n].animate().translateX(0);let r=!0;for(let e=n.length-1;e>=0;e--){let t=n[e];Vv.leftLine(this._activeTabItem)<t.getMidLine()?(t.animate().translateX(this._activeTabItem.getWidth()),this._compareIndex=e,r=!1):(t.animate().translateX(0),r&&(this._compareIndex=this._activeTabItemIndex))}}}_compareRight(){if(this._activeTabItem){let e=this._slideTabItems.findIndex(e=>e.equals(this._activeTabItem)),t=this._slideTabItems.length,n=[];for(let r=e+1;r<t;r++)n.push(this._slideTabItems[r]);for(let t=0;t<e;t++)this._slideTabItems[t].animate().translateX(0);let r=!0;for(let t=0;t<n.length;t++){let i=n[t];Vv.rightLine(this._activeTabItem)>i.getMidLine()?(i.animate().translateX(-this._activeTabItem.getWidth()),this._compareIndex=e+t+1,r=!1):(i.animate().translateX(0),r&&(this._compareIndex=this._activeTabItemIndex))}}}_initConfig(){let e=this._slideTabBar.querySelectorAll(`${this._config.slideTabBarItemSelector}`);this._downActionX=0,this._moveActionX=0,this._compareDirection=0,this._compareIndex=0,this._slideTabItems=Vv.make(e,this),this._activeTabItemIndex=this._config.currentIndex,this._activeTabItem=this._slideTabItems[this._activeTabItemIndex]}};X(Uv,`LongPressDelay`,500),X(Uv,`DoubleClickDelay`,300);function Wv(e){let{leftEnd:t,rightEnd:n}=e;return t&&n?``:t?`inset -10px 0px 10px -10px rgba(0, 0, 0, 0.2)`:n?`inset 10px 0px 10px -10px rgba(0, 0, 0, 0.2)`:`inset 10px 0px 10px -10px rgba(0, 0, 0, 0.2), inset -10px 0px 10px -10px rgba(0, 0, 0, 0.2)`}function Gv(e){switch(e.id){case Ia.id:case qa.id:case Ki.id:case Ya.id:case xi.id:case Za.id:case Ua.id:return!0;default:return!1}}function Kv(){var e;let[t,n]=q([]),[r,i]=q(``),[a,o]=q(``),[s,c]=q(!1),[l,u]=q(null),d=Ks(null),f=Ks(null),p=V(N),m=V(Zf),h=V(Ue),g=V(Pe),_=V(Kf,Xe.OPTIONAL),v=V(Vo),y=V(Fi),b=V(Le),x=Cp(),S=Hn(v.resetOrder$),C=Bn(Mn),w=(e=C==null?void 0:C.contextMenu)==null?!0:e,T=Hs(()=>{var e;let t=(e=d.current)==null||(e=e.getActiveItem())==null?void 0:e.getSlideTabItem().getBoundingClientRect();return t?{left:t.left,top:t.top,bottom:t.bottom}:null},[]),E=Hs(()=>{setTimeout(()=>{var e;let t=(e=d.current)==null?void 0:e.getActiveItem();t&&(t.focus(),t.selectAll())},0)},[]),D=Hs((e,t)=>{g.open({id:e,title:{title:h.t(`sheetConfig.sheetNameErrorTitle`)},children:{title:t},cancelText:h.t(`button.cancel`),confirmText:h.t(`button.confirm`),onClose(){E(),g.close(e)},onConfirm(){E(),g.close(e)}})},[g,E,h]),O=Hs(e=>e.trim()===``?(D(`sheetNameEmptyAlert`,h.t(`sheetConfig.sheetNameCannotIsEmptyError`)),!0):!1,[h,D]),ee=Hs(e=>Mt(e)?!1:(D(`sheetNameSpecCharAlert`,h.t(`sheetConfig.sheetNameSpecCharError`)),!0),[h,D]),te=Hs(e=>{var t;if(((t=x.getActiveSheet())==null?void 0:t.getName())===e||!x.checkSheetName(e))return!1;let n=`sheetNameRepeatAlert`;return g.open({id:n,title:{title:h.t(`sheetConfig.sheetNameErrorTitle`)},children:{title:h.t(`sheetConfig.sheetNameAlreadyExistsError`)},cancelText:h.t(`button.cancel`),confirmText:h.t(`button.confirm`),onClose(){g.close(n),E()},onConfirm(){g.close(n),E()}}),!0},[g,E,h,x]),ne=Hs(()=>{var e,t;let n=x.getUnitId(),r=x.getActiveSheet();if(!r)return!1;let i=r.getSheetId(),a=v.getRule(n,i),o=y.getSubunitRuleList(n,i).length>0;if(a||o){var s,c;return(s=(c=b.getPermissionPoint(new jo(n).id))==null?void 0:c.value)==null?!1:s}return(e=(t=b.getPermissionPoint(new Mo(n).id))==null?void 0:t.value)==null?!1:e},[b,y,x,v]),k=Hs(()=>{var e;let t=x.getActiveSheet(),r=(e=t==null?void 0:t.getSheetId())==null?``:e;n(x.getSheets().filter(e=>!e.isSheetHidden()).map((e,n)=>{var r;let i=v.getRule(x.getUnitId(),e.getSheetId()),a=y.getSubunitRuleList(x.getUnitId(),e.getSheetId()).length>0,o=!!(i!=null&&i.permissionId||a);return{sheetId:e.getSheetId(),label:o?Y(zc,{children:[J(Ac,{className:`univer-shrink-0`}),J(`span`,{className:`univer-truncate univer-outline-none`,children:e.getName()})]}):J(`span`,{className:`univer-truncate univer-outline-none`,children:e.getName()}),index:n,selected:t===e,color:(r=e.getTabColor())==null?void 0:r}})),i(r)},[y,x,v]),re=Hs(()=>{var e;(e=d.current)==null||(e=e.getActiveItem())==null||e.setEditor()},[]),ie=Hs(e=>{o(Wv(e))},[]),ae=Hs(e=>{let t=e.calculateActiveTabItemScrollX();if(t){let n=e.getScrollbar();n.scrollX(n.getScrollX()+t)}m.setScroll({leftEnd:e.isLeftEnd(),rightEnd:e.isRightEnd()})},[m]),A=Hs(e=>{var t;let n=(t=f.current)==null?void 0:t.querySelector(`[data-u-comp=slide-tab-bar]`);if(!n)return;let r=new ResizeObserver(()=>{ae(e)});return r.observe(n),()=>r.disconnect()},[ae]),oe=Hs(e=>{w&&(_!=null&&_.isForceKeepVisible()||(u(e),c(!0)))},[_,w]),se=Hs(e=>{if(!e){c(!1);return}let t=T();t&&oe(t)},[T,oe]),ce=Hs((e,t)=>{p.executeCommand(e,{value:t,subUnitId:r}),c(!1)},[r,p]);Us(()=>{if(!s)return;let e=()=>{let e=T();e&&u(e)};return window.addEventListener(`resize`,e),()=>{window.removeEventListener(`resize`,e)}},[s,T]);let le=Hs(e=>{e.preventDefault();let t=e.target.closest(`[data-u-comp=slide-tab-item]`),n=t==null?void 0:t.dataset.id;if(!n||!t)return;let i=t.getBoundingClientRect(),a={left:i.left,top:i.top,bottom:i.bottom};if(n===r){oe(a);return}p.executeCommand(Ua.id,{unitId:x.getUnitId(),subUnitId:n}).finally(()=>{oe(a)})},[r,p,oe,x]),ue=Hs(e=>{var t,n;let r=e.target;if(r.closest(`[contenteditable=true]`))return;let i=r.closest(`[data-u-comp=slide-tab-item]`),a=i==null?void 0:i.dataset.id;if(!a)return;if(e.key===`Enter`||e.key===` `){e.preventDefault(),p.executeCommand(Ua.id,{unitId:x.getUnitId(),subUnitId:a});return}if(e.key!==`ArrowLeft`&&e.key!==`ArrowRight`)return;let o=Array.from((t=(n=f.current)==null?void 0:n.querySelectorAll(`[data-u-comp=slide-tab-item]`))==null?[]:t),s=o.findIndex(e=>e.dataset.id===a);if(s<0)return;e.preventDefault();let c=o[e.key===`ArrowRight`?Math.min(o.length-1,s+1):Math.max(0,s-1)],l=c==null?void 0:c.dataset.id;!c||!l||(c.focus(),p.executeCommand(Ua.id,{unitId:x.getUnitId(),subUnitId:l}))},[p,x]),de=Hs(()=>{let e=new Uv({slideTabBarSelector:`[data-u-comp=slide-tab-bar]`,slideTabBarItemSelector:`[data-u-comp=slide-tab-item]`,slideTabBarItemAutoSort:!0,slideTabBarContainer:f.current,currentIndex:0,onChangeName:(e,t)=>{var n;if(((n=x.getSheetBySheetId(e))==null?void 0:n.getName())===t){k();return}p.executeCommand(Ja.id,{subUnitId:e,name:t})},onSlideEnd:async(e,t)=>{await p.executeCommand(Xa.id,{order:t})},onChangeTab:(e,t)=>{p.executeCommand(Ua.id,{subUnitId:t,unitId:x.getUnitId()})},onScroll:e=>{m.setScroll(e)},onNameCheckAlert:e=>O(e)||ee(e)||te(e),onNameChangeCheck:ne});return d.current=e,{slideTabBar:e,disconnectResizeObserver:A(e)}},[ne,p,T,O,te,A,oe,m,ee,k,x]);return Us(()=>{k();let{slideTabBar:e,disconnectResizeObserver:t}=de(),n=p.onCommandExecuted(e=>{Gv(e)&&k()}),r=m.scroll$.subscribe(ie),i=m.scrollX$.subscribe(e=>{var t;(t=d.current)==null||t.flipPage(e)}),a=m.renameId$.subscribe(()=>{re()});return()=>{n.dispose(),e.destroy(),d.current=null,r.unsubscribe(),i.unsubscribe(),a.unsubscribe(),t==null||t()}},[p,de,S,re,m,ie,k,x]),Us(()=>{var e;if(!t.length)return;let n=t.findIndex(e=>e.sheetId===r);(e=d.current)==null||e.update(n>=0?n:0)},[r,t]),Us(()=>{let e=Ts(v.ruleChange$,y.ruleChange$).subscribe(()=>{k()});return()=>{e.unsubscribe()}},[y,k,v]),Us(()=>{!w&&s&&c(!1)},[s,w]),J(Iv,{showContextMenu:w,visible:s,anchorRect:l,onVisibleChange:se,onCommandSelect:ce,children:J(`div`,{className:`univer-max-w-[calc(100%-112px)] univer-overflow-hidden`,ref:f,onDragStart:e=>e.preventDefault(),onContextMenu:le,children:J(`div`,{"data-u-comp":`slide-tab-bar`,role:`tablist`,"aria-label":`Sheet tabs`,onKeyDown:ue,className:`univer-flex univer-select-none univer-flex-row univer-items-center univer-overflow-hidden univer-px-1.5 univer-py-1`,style:{boxShadow:a},children:t.map(e=>J(Fv,{...e,selected:r===e.sheetId},e.sheetId))})})})}const qv=()=>{var e,t;let[n,r]=q(!0),[i,a]=q(!0),o=V(N),s=V(Zf),c=V(Le),l=Cp().getUnitId(),u=Hn(c.getPermissionPoint$((e=new G(l))==null?void 0:e.id)),d=Hn(c.getPermissionPoint$((t=new wo(l))==null?void 0:t.id)),f=e=>{let{leftEnd:t,rightEnd:n}=e;r(t),a(n)};return Us(()=>{let e=s.scroll$.subscribe(Bt(e=>{f(e)},100));return()=>{e.unsubscribe()}},[]),Y(`div`,{className:`univer-relative univer-flex univer-h-full univer-min-w-0 univer-flex-1`,children:[Y(`div`,{className:`univer-flex univer-items-center`,children:[J(Nv,{className:`univer-mr-2`,onClick:()=>{o.executeCommand(bi.id),setTimeout(()=>{s.setAddSheet(0)},0)},disabled:!(d!=null&&d.value&&u!=null&&u.value),children:J(Oc,{})}),J(Pv,{})]}),J(Kv,{}),(!n||!i)&&Y(`div`,{className:`univer-relative univer-flex univer-items-center univer-px-2 after:univer-absolute after:univer-right-0 after:univer-top-1/2 after:univer-h-4 after:univer-w-px after:-univer-translate-y-1/2 after:univer-bg-gray-200 after:univer-content-[""]`,children:[J(Nv,{disabled:n,onClick:()=>{s.setScrollX(-100)},children:J(Mc,{className:`univer-rotate-180`})}),J(Nv,{disabled:i,onClick:()=>{s.setScrollX(100)},children:J(Mc,{})})]})]})},Jv=[50,75,100,125,150,175,200,400];function Yv(){let e=V(N),t=V(P),n=Cp(),r=Hn(V(Kf).visible$),i=Hs(()=>{if(!n)return 100;let e=n.getActiveSheet(),t=e&&e.getZoomRatio()*100||100;return Math.round(t)},[n]),[a,o]=q(()=>i());Us(()=>(o(i()),e.onCommandExecuted(e=>{(e.id===Jf.id||e.id===Ua.id)&&o(i())}).dispose),[e,i]);function s(n){o(n);let r=t.getCurrentUnitForType(L.UNIVER_SHEET),i=r==null?void 0:r.getActiveSheet();if(i==null)return;let a=n/100;e.executeCommand(Xf.id,{unitId:r.getUnitId(),subUnitId:i.getSheetId(),zoomRatio:a})}return J(An,{disabled:(r==null?void 0:r.visible)&&(r.unitId===(n==null?void 0:n.getUnitId())||r.unitId===fe),min:Tl[0],value:a,shortcuts:Jv,onChange:s})}function Xv(){return J(`section`,{className:`univer-flex univer-flex-shrink-0 univer-justify-end`,children:J(Yv,{})})}var Zv=class{constructor(){X(this,`_functions`,[{func:Vc.MAX,filter:e=>{var t,n,r,i;return((t=(n=e.values.find(e=>e.func===Vc.COUNTA))==null?void 0:n.value)==null?0:t)>1&&((r=(i=e.values.find(e=>e.func===Vc.COUNT))==null?void 0:i.value)==null?0:r)>0}},{func:Vc.MIN,filter:e=>{var t,n,r,i;return((t=(n=e.values.find(e=>e.func===Vc.COUNTA))==null?void 0:n.value)==null?0:t)>1&&((r=(i=e.values.find(e=>e.func===Vc.COUNT))==null?void 0:i.value)==null?0:r)>0}},{func:Bc.SUM,filter:e=>{var t,n,r,i;return((t=(n=e.values.find(e=>e.func===Vc.COUNTA))==null?void 0:n.value)==null?0:t)>1&&((r=(i=e.values.find(e=>e.func===Vc.COUNT))==null?void 0:i.value)==null?0:r)>0}},{func:Vc.COUNTA,filter:e=>{var t,n;return((t=(n=e.values.find(e=>e.func===Vc.COUNTA))==null?void 0:n.value)==null?0:t)>1}},{func:Vc.COUNT,filter:e=>{var t,n,r,i;return((t=(n=e.values.find(e=>e.func===Vc.COUNTA))==null?void 0:n.value)==null?0:t)>1&&((r=(i=e.values.find(e=>e.func===Vc.COUNT))==null?void 0:i.value)==null?0:r)>0}},{func:Vc.AVERAGE,filter:e=>{var t,n,r,i;return((t=(n=e.values.find(e=>e.func===Vc.COUNTA))==null?void 0:n.value)==null?0:t)>1&&((r=(i=e.values.find(e=>e.func===Vc.COUNT))==null?void 0:i.value)==null?0:r)>0}}]),X(this,`_state$`,new hs(null)),X(this,`state$`,this._state$.asObservable())}dispose(){this._state$.complete()}setState(e){var t;let n={values:[],pattern:null};e==null||e.values.forEach(t=>{let r=this._functions.find(e=>e.func===t.func);r&&(r.filter===void 0||r.filter(e))&&n.values.push(t)}),n.pattern=(t=e==null?void 0:e.pattern)==null?null:t,this._state$.next(n)}getState(){return this._state$.getValue()}getFunctions(){return this._functions}addFunctions(e){this._functions.push(...e)}};const Qv=pt(`univer.sheet-status-bar.service`),$v=[Bc.SUM,Vc.AVERAGE,Vc.MIN,Vc.MAX],ey={[Bc.SUM]:`statusbar.sum`,[Vc.AVERAGE]:`statusbar.average`,[Vc.MIN]:`statusbar.min`,[Vc.MAX]:`statusbar.max`,[Vc.COUNT]:`statusbar.count`,[Vc.COUNTA]:`statusbar.countA`,[Hc.CONCATENATE]:`concatenate`},ty=e=>{let t=V(Ue),n=V(gn),r=V(dn),i=ny(e);return J(dc,{title:t.t(`statusbar.clickToCopy`),placement:`top`,children:J(`div`,{className:`univer-flex univer-cursor-pointer univer-truncate univer-text-center univer-text-xs univer-text-gray-400`,onClick:async()=>{await r.writeText(e.value.toString()),n.show({type:ic.Success,content:t.t(`statusbar.copied`)})},children:J(`span`,{children:`${t.t((ey==null?void 0:ey[e.name])||e.name)}: ${i}`})},e.name)})};function ny(e){let{pattern:t,value:n}=e;return typeof n==`number`?n>=1e8?n.toExponential(2):t&&$v.includes(e.name)?Nt.format(t,n,{throws:!1}):n.toLocaleString():0}const ry=()=>{var e,t;let n=(e=(t=Bn(`sheets-ui.config`))==null?void 0:t.statusBarStatistic)==null?!0:e,[r,i]=q(window.innerWidth<800),a=V(Qv),{showList:o,show:s}=((e,t,n,r)=>{let[i,a]=q(e),[o,s]=q(!0),c=Gs(()=>i.filter(e=>e.show&&!e.disable),[i]),l=Gs(()=>c.find(e=>e.show&&!e.disable),[c]),u=Gs(()=>n&&l?[l]:c,[n,l,c]),d=Hs(e=>{let t=e==null?void 0:e.values;if(!(t!=null&&t.length)){s(!1);return}s(!0),a(n=>n.map(n=>{var r,i,a;return{...n,value:(r=(i=t.find(e=>e.func===n.name))==null?void 0:i.value)==null?n.value:r,disable:!t.some(e=>e.func===n.name),pattern:(a=e==null?void 0:e.pattern)==null?null:a}}))},[]);return Us(()=>{if(!r)return;let e=t.state$.subscribe(d);return()=>e.unsubscribe()},[r,t,d]),{statistics:i,showList:u,show:o}})(a.getFunctions().map((e,t)=>({name:e.func,value:0,show:!0,disable:!1,pattern:null})),a,r,n),c=gt(()=>{let e=window.innerWidth<800;r!==e&&i(e)},100);Us(()=>(window.addEventListener(`resize`,c),()=>{window.removeEventListener(`resize`,c)}),[r]);let l=((e,t,r)=>n?Gs(()=>e.length>t?e.reduce((t,n,r)=>(r%2==0&&t.push(e.slice(r,r+2)),t),[]).map((e,t)=>Y(`div`,{className:`univer-grid univer-h-full univer-items-center`,children:[e[0]&&J(r,{...e[0]},e[0].name),e[1]&&J(r,{...e[1]},e[1].name)]},`stat-col-${t}`)):e.map(e=>J(`div`,{className:`univer-grid univer-h-full univer-items-center`,children:J(r,{...e})},e.name)),[e,t,r]):null)(o,3,ty);return s&&J(`div`,{className:gc(`univer-relative univer-box-border univer-flex univer-h-full univer-items-center univer-overflow-hidden univer-px-2 after:univer-absolute after:univer-right-0 after:univer-top-1/2 after:univer-block after:univer-h-4 after:univer-w-px after:-univer-translate-y-1/2 after:univer-bg-gray-200 after:univer-content-[""]`,{"univer-max-w-32":r,"univer-max-w-fit":!r}),children:J(`div`,{className:`univer-flex univer-h-full univer-gap-x-2`,children:l})})};function iy(){var e;let t=Bn(rp),n=V(hn),r=(e=t==null?void 0:t.footer)==null?!0:e;if(!Cp()||!r)return null;let i=n.getMenuByPositionKey(Xt.FOOTER_MENU),{sheetBar:a=!0,statisticBar:o=!0,menus:s=!0,zoomSlider:c=!0}=(t==null?void 0:t.footer)||{};return!a&&!o&&!s&&!c?null:Y(`section`,{className:`univer-box-border univer-grid univer-w-full univer-grid-flow-col univer-grid-cols-[1fr,auto,auto,auto] univer-items-center univer-justify-between univer-bg-white univer-px-5 univer-text-gray-900 dark:!univer-bg-gray-900 dark:!univer-text-gray-200`,style:{height:36},"data-range-selector":!0,children:[a&&J(qv,{}),o&&J(ry,{}),s&&i.length>0&&J(`div`,{className:`univer-box-border univer-flex univer-gap-2 univer-px-2`,children:i.map(e=>{var t;return(t=e.children)==null?void 0:t.map(e=>(e==null?void 0:e.item)&&J(jn,{...e.item},e.key))})}),c&&J(Xv,{})]})}function ay(){let e=Bn(rp);return sy()?(e==null?void 0:e.formulaBar)===!1?null:J(Mv,{}):null}function oy(){let e=Bn(rp),t=sy(),n=V(Jt).get(`ShapeTextEditorContainer`);return t?Y(zc,{children:[n&&J(n,{}),!(e!=null&&e.disableEdit)&&J(Ov,{}),J(wv,{})]}):null}function sy(){let e=V(P);return Gs(()=>e.getAllUnitsForType(L.UNIVER_SHEET).length>0,[e,!!Hn(()=>e.getCurrentTypeOfUnit$(L.UNIVER_SHEET),null,!1,[])])}const cy={id:oo.id,preconditions:e=>pl(e),binding:R.D|Cn.CTRL_COMMAND},ly={id:co.id,preconditions:e=>pl(e),binding:R.R|Cn.CTRL_COMMAND},uy={id:Ta.id,preconditions:e=>pl(e),binding:R.Digit9|Cn.CTRL_COMMAND},dy={id:ca.id,preconditions:e=>pl(e),binding:R.Digit0|Cn.CTRL_COMMAND|Cn.SHIFT},fy={id:Df.id,description:`shortcut.sheet.select-below-cell`,group:`3_sheet-view`,binding:R.ARROW_DOWN,priority:100,preconditions:pl,staticParameters:{direction:j.DOWN}},py={id:Df.id,description:`shortcut.sheet.select-up-cell`,group:`3_sheet-view`,binding:R.ARROW_UP,priority:100,preconditions:pl,staticParameters:{direction:j.UP}},my={id:Df.id,description:`shortcut.sheet.select-left-cell`,group:`3_sheet-view`,binding:R.ARROW_LEFT,priority:100,preconditions:ml,staticParameters:{direction:j.LEFT}},hy={id:Df.id,description:`shortcut.sheet.select-right-cell`,group:`3_sheet-view`,binding:R.ARROW_RIGHT,priority:100,preconditions:ml,staticParameters:{direction:j.RIGHT}},gy={id:Of.id,description:`shortcut.sheet.select-next-cell`,group:`3_sheet-view`,binding:R.TAB,priority:100,preconditions:pl,staticParameters:{direction:j.RIGHT,keycode:R.TAB}},_y={id:Of.id,description:`shortcut.sheet.select-previous-cell`,group:`3_sheet-view`,binding:R.TAB|Cn.SHIFT,priority:100,preconditions:pl,staticParameters:{direction:j.LEFT,keycode:R.TAB}},vy={id:Of.id,description:`shortcut.sheet.select-below-cell`,group:`3_sheet-view`,binding:R.ENTER,priority:100,preconditions:pl,staticParameters:{direction:j.DOWN,keycode:R.ENTER}},yy={id:Of.id,description:`shortcut.sheet.select-up-cell`,group:`3_sheet-view`,binding:R.ENTER|Cn.SHIFT,priority:100,preconditions:pl,staticParameters:{direction:j.UP,keycode:R.ENTER}},by={id:Df.id,description:`shortcut.sheet.select-below-value-cell`,group:`3_sheet-view`,binding:R.ARROW_DOWN|Cn.CTRL_COMMAND,preconditions:pl,staticParameters:{direction:j.DOWN,jumpOver:Ef.moveGap}},xy={id:Df.id,description:`shortcut.sheet.select-up-value-cell`,group:`3_sheet-view`,binding:R.ARROW_UP|Cn.CTRL_COMMAND,preconditions:pl,staticParameters:{direction:j.UP,jumpOver:Ef.moveGap}},Sy={id:Df.id,description:`shortcut.sheet.select-left-value-cell`,group:`3_sheet-view`,binding:R.ARROW_LEFT|Cn.CTRL_COMMAND,preconditions:pl,staticParameters:{direction:j.LEFT,jumpOver:Ef.moveGap}},Cy={id:Df.id,description:`shortcut.sheet.select-right-value-cell`,group:`3_sheet-view`,binding:R.ARROW_RIGHT|Cn.CTRL_COMMAND,preconditions:pl,staticParameters:{direction:j.RIGHT,jumpOver:Ef.moveGap}},wy={id:kf.id,description:`shortcut.sheet.expand-selection-down`,group:`3_sheet-view`,binding:R.ARROW_DOWN|Cn.SHIFT,preconditions:pl,staticParameters:{direction:j.DOWN}},Ty={id:kf.id,description:`shortcut.sheet.expand-selection-up`,group:`3_sheet-view`,binding:R.ARROW_UP|Cn.SHIFT,preconditions:pl,staticParameters:{direction:j.UP}},Ey={id:kf.id,description:`shortcut.sheet.expand-selection-left`,group:`3_sheet-view`,binding:R.ARROW_LEFT|Cn.SHIFT,preconditions:pl,staticParameters:{direction:j.LEFT}},Dy={id:kf.id,description:`shortcut.sheet.expand-selection-right`,group:`3_sheet-view`,binding:R.ARROW_RIGHT|Cn.SHIFT,preconditions:pl,staticParameters:{direction:j.RIGHT}},Oy={id:kf.id,description:`shortcut.sheet.expand-selection-to-below-gap`,group:`3_sheet-view`,binding:R.ARROW_DOWN|Cn.SHIFT|Cn.CTRL_COMMAND,preconditions:pl,staticParameters:{direction:j.DOWN,jumpOver:Ef.moveGap}},ky={id:kf.id,description:`shortcut.sheet.expand-selection-to-up-gap`,group:`3_sheet-view`,binding:R.ARROW_UP|Cn.SHIFT|Cn.CTRL_COMMAND,preconditions:pl,staticParameters:{direction:j.UP,jumpOver:Ef.moveGap}},Ay={id:kf.id,description:`shortcut.sheet.expand-selection-to-left-gap`,group:`3_sheet-view`,binding:R.ARROW_LEFT|Cn.SHIFT|Cn.CTRL_COMMAND,preconditions:pl,staticParameters:{direction:j.LEFT,jumpOver:Ef.moveGap}},jy={id:kf.id,description:`shortcut.sheet.expand-selection-to-right-gap`,group:`3_sheet-view`,binding:R.ARROW_RIGHT|Cn.SHIFT|Cn.CTRL_COMMAND,preconditions:pl,staticParameters:{direction:j.RIGHT,jumpOver:Ef.moveGap}},My={id:Af.id,description:`shortcut.sheet.select-all`,group:`3_sheet-view`,binding:R.A|Cn.CTRL_COMMAND,preconditions:pl,staticParameters:{expandToGapFirst:!0,loop:!0}},Ny={id:Td.id,description:`shortcut.sheet.set-bold`,group:`4_sheet-edit`,preconditions:e=>pl(e),binding:R.B|Cn.CTRL_COMMAND},Py={id:Ed.id,description:`shortcut.sheet.set-italic`,group:`4_sheet-edit`,preconditions:e=>pl(e),binding:R.I|Cn.CTRL_COMMAND},Fy={id:Dd.id,description:`shortcut.sheet.set-underline`,group:`4_sheet-edit`,preconditions:e=>pl(e),binding:R.U|Cn.CTRL_COMMAND},Iy={id:Od.id,description:`shortcut.sheet.set-strike-through`,group:`4_sheet-edit`,preconditions:e=>pl(e),binding:R.X|Cn.SHIFT|Cn.CTRL_COMMAND},Ly={id:Gr.id,preconditions:e=>pl(e),binding:R.DELETE,mac:R.BACKSPACE},Ry={id:Gr.id,preconditions:e=>pl(e),mac:R.DELETE},zy={id:Gr.id,preconditions:e=>pl(e),binding:Cn.SHIFT+R.BACKSPACE},By={id:Zu.id,preconditions:e=>pl(e),binding:Cn.SHIFT+R.DELETE},Vy={id:Yf.id,description:`shortcut.sheet.zoom-in`,binding:R.EQUAL|Cn.CTRL_COMMAND,group:`3_sheet-view`,preconditions:pl,priority:1,staticParameters:{delta:.2}},Hy={id:Ge.id,binding:R.EQUAL|Cn.CTRL_COMMAND},Uy={id:Yf.id,description:`shortcut.sheet.zoom-out`,binding:R.MINUS|Cn.CTRL_COMMAND,group:`3_sheet-view`,preconditions:pl,priority:1,staticParameters:{delta:-.2}},Wy={id:Ge.id,binding:R.MINUS|Cn.CTRL_COMMAND},Gy={id:Yf.id,description:`shortcut.sheet.reset-zoom`,binding:R.Digit0|Cn.CTRL_COMMAND,preconditions:pl,group:`3_sheet-view`,priority:1,staticParameters:{reset:!0}},Ky={id:Ge.id,binding:R.Digit0|Cn.CTRL_COMMAND};let qy=class extends M{constructor(e,t,n,r,i,a,o,s){super(),this._injector=e,this._componentManager=t,this._layoutService=n,this._commandService=r,this._shortcutService=i,this._menuManagerService=a,this._uiPartsService=o,this._configService=s,this._init()}_init(){this._initComponents(),this._initCommands(),this._initMenus(),this._initShortcuts(),this._initWorkbenchParts(),this._initFocusHandler()}_initComponents(){let e=this._componentManager;this.disposeWithMe(e.register(Jh,Yh)),this.disposeWithMe(e.register(Gh,qh)),this.disposeWithMe(e.register(zh,Wh)),this.disposeWithMe(e.register(fp,Sv)),this.disposeWithMe(e.register(mv,bv)),this.disposeWithMe(e.register(`HideGridlinesDoubleIcon`,Dc))}_initCommands(){[Yf,kf,Df,Of,lp,lf,sf,cf,Sd,Cd,zf,Bf,Af,np,aa,cp,op,sp,Td,Ed,Dd,Od,kd,Ad,jd,Md,Nd,Pd,Fd,Id,ya,Na,pa,ma,pf,mf,hf,gf,Lf,Rf,yf,bf,xf,Sf,Cf,up,Ba,Xf,Jf,$f,Ld,od,Rd,ad,pp,Qd,dp,$d,ef,tf,nf,rf,tp,af,of,ep,Wf,Nl,Pl,Kp].forEach(e=>{this.disposeWithMe(this._commandService.registerCommand(e))})}_initMenus(){this._menuManagerService.mergeMenu(pv)}_initShortcuts(){[fy,py,my,hy,gy,_y,vy,yy,by,xy,Sy,Cy,wy,Ty,Ey,Dy,Oy,ky,Ay,jy,My,Vy,Uy,Gy,Ky,Hy,Wy,Ny,Py,Fy,Iy,Ly,Ry,zy,By,...Yp(),Qp,Zp,Xp,$p,nm,rm,im,om,em,tm,am,cy,ly,uy,dy].forEach(e=>{this.disposeWithMe(this._shortcutService.registerShortcut(e))})}_initWorkbenchParts(){let e=this._uiPartsService,t=this._injector;this.disposeWithMe(e.registerComponent(Gt.HEADER,()=>Pn(ay,t))),this.disposeWithMe(e.registerComponent(Gt.FOOTER,()=>Pn(iy,t))),this.disposeWithMe(e.registerComponent(Gt.CONTENT,()=>Pn(oy,t)))}_initFocusHandler(){this.disposeWithMe(this._layoutService.registerFocusHandler(L.UNIVER_SHEET,e=>{let t=this._injector.get(Xn),n=this._injector.get(P),r=yr(L.UNIVER_DOC,n,t),i=r==null?void 0:r.with(s);i==null||i.focus()}))}};qy=Q([Z(0,F(ze)),Z(1,F(Jt)),Z(2,mn),Z(3,N),Z(4,yn),Z(5,hn),Z(6,xn),Z(7,Ne)],qy);const Jy=mt(`statusBarPermissionCorrect`);var Yy=class{constructor(){X(this,`_sum`,0),X(this,`_count`,0),X(this,`_countNumber`,0),X(this,`_min`,1/0),X(this,`_max`,-1/0)}add(e,t,n){if(!tt.isDefine(e==null?void 0:e.v))return;let r=e==null?void 0:e.t,{v:i}=e,a=e=>{this._sum+=e,this._countNumber++,this._min=Math.min(this._min,e),this._max=Math.max(this._max,e)},o=(e,t,n)=>{var r;if(!(!(e==null||(r=e.n)==null)&&r.pattern))return;let{pattern:i}=e.n;n[i]||(n[i]=Nt.getFormatInfo(i)),n[i].isDate&&a(t)};if(typeof i==`string`&&r===ie.NUMBER){let e=Number(i);Number.isNaN(e)||(i=e)}typeof i==`number`&&r!==ie.STRING?a(i):r===ie.NUMBER&&e.s&&o(t.get(e.s),i,n),this._count++}getResults(){return{sum:this._sum,count:this._countNumber,countA:this._count,min:this._min,max:this._max}}};function Xy(e){let{sum:t,count:n,countA:r,min:i,max:a}=e.getResults();return[{func:Vc.MAX,value:a},{func:Vc.MIN,value:i},{func:Bc.SUM,value:t},{func:Vc.COUNTA,value:r},{func:Vc.COUNT,value:n},{func:Vc.AVERAGE,value:t/n}]}let Zy=class extends M{constructor(e,t,n,r,i,a){super(),this._univerInstanceService=e,this._selectionManagerService=t,this._statusBarService=n,this._commandService=r,this._numfmtService=i,this._formulaDataModel=a,X(this,`interceptor`,new Ve({STATUS_BAR_PERMISSION_CORRECT:Jy})),this._init()}_init(){this._registerSelectionListener()}_registerSelectionListener(){let e=gt(e=>{var t;let n=(t=e[e.length-1])==null?void 0:t.primary;this._calculateSelection(e.map(e=>e.range),n)},100),t=gt(e=>{var t;let n=(t=e[e.length-1])==null?void 0:t.primary;this._calculateSelection(e.map(e=>e.range),n)},500);this.disposeWithMe(Vt(this._selectionManagerService.selectionMoving$.subscribe(e=>{e&&t(e)}))),this.disposeWithMe(Vt(this._selectionManagerService.selectionMoveEnd$.subscribe(t=>{t&&e(t)}))),this.disposeWithMe(Vt(this._selectionManagerService.selectionSet$.subscribe(t=>{t&&e(t)}))),this.disposeWithMe(this._commandService.onCommandExecuted(t=>{if(t.id===Sa.id){let n=this._selectionManagerService.getCurrentSelections(),{cellValue:r}=t.params;if(n&&n.length>0&&r){let t=new Ke(r),i=!1;t.forValue((e,t)=>{if(n.some(n=>{let r=n.range;return e>=r.startRow&&e<=r.endRow&&t>=r.startColumn&&t<=r.endColumn}))return i=!0,!1}),i&&e(n)}}}))}_clearResult(){this._statusBarService.setState(null)}getRangeStartEndInfo(e,t){return e.rangeType===I.ALL?{startRow:0,startColumn:0,endRow:t.getRowCount()-1,endColumn:t.getColumnCount()-1}:e.rangeType===I.COLUMN?{startRow:0,startColumn:e.startColumn,endRow:t.getRowCount()-1,endColumn:e.endColumn}:e.rangeType===I.ROW?{startRow:e.startRow,startColumn:0,endRow:e.endRow,endColumn:t.getColumnCount()-1}:{startRow:e.startRow,startColumn:e.startColumn,endRow:e.endRow,endColumn:e.endColumn}}_getCellValue(e,t,n,r){var i;let a=n.getCellRaw(e,t),o=r==null||(i=r[e])==null?void 0:i[t];if(o){var s,c,l;return{t:(s=o.t)==null?a==null?void 0:a.t:s,v:(c=o.v)==null?a==null?void 0:a.v:c,s:(l=o.s)==null?a==null?void 0:a.s:l}}return a}_calculateSelection(e,t){let n=this._univerInstanceService.getCurrentUnitForType(L.UNIVER_SHEET);if(!n)return this._clearResult();let r=n.getUnitId(),i=n.getActiveSheet(),a=i==null?void 0:i.getSheetId();if(!a)return this._clearResult();let o={};if(this._univerInstanceService.getCurrentUnitForType(L.UNIVER_SHEET).getSheets().forEach(e=>{let t=e.getConfig();o[e.getSheetId()]={cellData:new Ke(t.cellData),rowCount:t.rowCount,columnCount:t.columnCount,rowData:t.rowData,columnData:t.columnData}}),e!=null&&e.length){var s;let o=[];e.forEach(e=>{let{startRow:t,endRow:n}=e,r=null;for(let a=t;a<=n;a++)i.getRowVisible(a)?r===null&&(r=a):r!==null&&(o.push({...e,startRow:r,endRow:a-1}),r=null);r!==null&&o.push({...e,startRow:r,endRow:n})});let l=zt(o),u=new Yy,d=n.getStyles(),f={},p=this._formulaDataModel.getArrayFormulaCellData(),m=p==null||(s=p[r])==null?void 0:s[a];for(let e of l){let{startRow:t,startColumn:n,endColumn:r,endRow:a}=this.getRangeStartEndInfo(e,i);for(let e=t;e<=a;e++)for(let t=n;t<=r;t++){let n=this._getCellValue(e,t,i,m);u.add(n,d,f)}}let h=Xy(u);if(h.every(e=>e===void 0))return;let g=null;if(t){var c;let{actualRow:e,actualColumn:n}=t;g=(c=this._numfmtService.getValue(r,a,e,n))==null?void 0:c.pattern}let _={values:h.filter(e=>e!==void 0),pattern:g};this._statusBarService.setState(_)}else this._clearResult()}};Zy=Q([Z(0,P),Z(1,F(W)),Z(2,Qv),Z(3,N),Z(4,F(ai)),Z(5,F(Uc))],Zy);const Qy=(e=[])=>{let t=V(Jl);Us(()=>{let n=e.map(e=>t.addShape({range:e,style:{fill:`rgba(73, 184, 17, 0.05)`,strokeWidth:1,stroke:`#49B811`,widgets:{}},primary:null}));return()=>{n.forEach(e=>{e&&t.removeShape(e)})}},[e])};var $y=`@univerjs/sheets-ui`,eb=`0.20.0`;let tb=function(e){return e[e.INFO=0]=`INFO`,e[e.WARNING=1]=`WARNING`,e[e.ERROR=2]=`ERROR`,e}({}),nb=class extends M{get currentAlert(){return this._currentAlert}constructor(e,t){super(),this._renderManagerService=e,this._cellPopupManagerService=t,X(this,`_currentAlert$`,new vs),X(this,`_currentAlert`,new Map),X(this,`currentAlert$`,this._currentAlert$.asObservable()),this.disposeWithMe(()=>{this._currentAlert$.complete()})}showAlert(e){let t=this._currentAlert.get(e.key);t&&t.dispose.dispose(),t?t.dispose.dispose():(t={alert:e,dispose:{dispose(){}}},this._currentAlert.set(e.key,t));let{location:n}=e,{row:r,col:i,unitId:a,subUnitId:o}=n;if(!this._renderManagerService.getRenderById(a))return;let s=this._cellPopupManagerService.showPopup({unitId:a,subUnitId:o,row:r,col:i},{componentKey:ib,direction:`horizontal`,extraProps:{alert:e},priority:1});if(s){if(t){var c;(c=t.dispose)==null||c.dispose()}t.dispose=s}this._currentAlert$.next(Array.from(this._currentAlert.entries()))}removeAlert(e){let t=this._currentAlert.get(e);t&&(this._currentAlert.delete(e),t==null||t.dispose.dispose(),this._currentAlert$.next(Array.from(this._currentAlert.entries())))}clearAlert(){this._currentAlert.forEach(e=>{e.dispose.dispose()}),this._currentAlert.clear(),this._currentAlert$.next(Array.from(this._currentAlert.entries()))}};nb=Q([Z(0,Xn),Z(1,F(yv))],nb);function rb({popup:e}){var t;let n=(t=e.extraProps)==null?void 0:t.alert;if(!n)return null;let{type:r,title:i,message:a}=n,o={[tb.ERROR]:J(wc,{className:`univer-mr-1.5 univer-text-red-500`}),[tb.INFO]:J(kc,{className:`univer-mr-1.5 univer-text-blue-500`}),[tb.WARNING]:J(Lc,{className:`univer-mr-1.5 univer-text-yellow-500`})};return Y(`div`,{className:`univer-z-[100] univer-box-border univer-w-[156px] univer-rounded-lg univer-bg-white univer-px-2 univer-py-1 univer-text-gray-900 univer-shadow dark:!univer-bg-black dark:!univer-text-white`,children:[Y(`div`,{className:`univer-mb-1.5 univer-flex univer-h-5 univer-flex-row univer-items-center univer-text-sm univer-font-medium`,children:[r?o[r]:null,i]}),J(`div`,{className:`univer-text-sm`,children:a})]})}const ib=`univer.sheet.cell-alert`;let ab=class extends M{constructor(e,t){super(),this._context=e,this._componentManager=t,this._initComponent()}_initComponent(){this.disposeWithMe(this._componentManager.register(ib,rb))}};ab=Q([Z(1,F(Jt))],ab);let ob=class extends M{constructor(e,t,n){super(),this._context=e,this._editorBridgeService=t,this._cellPopupManagerService=n,this._initEditorVisibleListener()}_initEditorVisibleListener(){this.disposeWithMe(this._editorBridgeService.visible$.pipe(Cs(e=>e.visible)).subscribe(()=>{let e=this._editorBridgeService.getEditLocation();e&&this._cellPopupManagerService.hidePopup(e.unitId,e.sheetId,e.row,e.column)}))}};ob=Q([Z(1,Kf),Z(2,F(yv))],ob);let sb=class extends M{constructor(e,t,n,r){super(),this._hoverManagerService=e,this._instanceService=t,this._commandService=n,this._renderManagerService=r,X(this,`_isPointer`,!1),this._initPointerEvent(),this._initHover()}get _mainComponent(){var e;return(e=yr(L.UNIVER_SHEET,this._instanceService,this._renderManagerService))==null?void 0:e.mainComponent}_initHover(){this.disposeWithMe(this._hoverManagerService.currentRichText$.subscribe(e=>{if(e!=null&&e.bullet){if(!this._isPointer){var t;(t=this._mainComponent)==null||t.setCursor(Wn.POINTER)}this._isPointer=!0}else{if(this._isPointer){var n;(n=this._mainComponent)==null||n.setCursor(Wn.AUTO)}this._isPointer=!1}}))}_initPointerEvent(){this.disposeWithMe(this._hoverManagerService.currentClickedCell$.subscribe(e=>{let{location:t,bullet:n}=e;n&&this._commandService.executeCommand(ho.id,{unitId:t.unitId,subUnitId:t.subUnitId,row:t.row,col:t.col,paragraphIndex:n.startIndex})}))}};sb=Q([Z(0,F(nh)),Z(1,P),Z(2,N),Z(3,Xn)],sb);let cb=class extends M{constructor(e,t,n,r,i){super(),this._selectionManagerService=e,this._themeService=t,this._instanceSrv=n,this._cmdSrv=r,this._definedNamesService=i,this._init()}_init(){this.disposeWithMe(Ts(this._selectionManagerService.selectionMoveStart$,this._selectionManagerService.selectionMoving$,this._selectionManagerService.selectionMoveEnd$,this._selectionManagerService.selectionSet$).pipe(Cs(e=>!!e)).subscribe(e=>{this._syncDefinedNameRange(e)})),this.disposeWithMe(this._definedNamesService.focusRange$.subscribe(async e=>{if(e==null)return;let{unitId:t}=e,{formulaOrRefString:n}=e;if(n.substring(0,1)===el.EQUALS&&(n=n.substring(1)),!Qc(n))return;let r=this._instanceSrv.getUnit(t),i=await this._getSelections(r,t,n);this._selectionManagerService.setSelections(i),this._cmdSrv.executeCommand(na.id,{unitId:t,range:i[0].range})}))}_syncDefinedNameRange(e){if(e.length===0)return;let t=e[e.length-1],n=this._instanceSrv.getCurrentUnitForType(L.UNIVER_SHEET),r=n==null?void 0:n.getActiveSheet();r&&this._definedNamesService.setCurrentRange({range:t.range,unitId:n.getUnitId(),sheetId:r.getSheetId()})}async _getSelections(e,t,n){let r=n.split(`,`),i=e.getActiveSheet();if(!i)return[];let a=[];for(let n=0;n<r.length;n++){let o=Xc(r[n].trim().trim());if(n===0){let n=e.getSheetBySheetName(o.sheetName);n&&i.getSheetId()!==n.getSheetId()&&(i=n,await this._cmdSrv.executeCommand(Ha.id,{subUnitId:i.getSheetId(),unitId:t}))}if(i.getName()!==o.sheetName)continue;let s=null;if(n===r.length-1){let{startRow:e,startColumn:t,endRow:n,endColumn:r}=o.range;s=us({startRow:e,startColumn:t,endRow:n,endColumn:r},i)}a.push({range:o.range,style:wl(this._themeService),primary:s})}return a}};cb=Q([Z(0,F(W)),Z(1,F(et)),Z(2,P),Z(3,N),Z(4,Wc)],cb);const lb={pageSize:{width:1/0,height:1/0},documentFlavor:_e.UNSPECIFIED,marginTop:5,marginBottom:5,marginRight:0,marginLeft:0,paragraphLineGapDefault:0,renderConfig:{horizontalAlign:je.UNSPECIFIED,verticalAlign:it.TOP,centerAngle:0,vertexAngle:0,wrapStrategy:ot.WRAP,isRenderStyle:ne.FALSE}};let ub=class extends M{constructor(e,t,n,r,i,a,o,s){super(),this._univerInstanceService=e,this._renderManagerService=t,this._editorBridgeService=n,this._commandService=r,this._rangeProtectionRuleModel=i,this._worksheetProtectionRuleModel=a,this._formulaEditorController=o,this._formulaEditorManagerService=s,this._initialize()}_initialize(){this._syncFormulaEditorContent(),this._commandExecutedListener()}_getEditorViewModel(e){var t;return(t=this._renderManagerService.getRenderById(e))==null?void 0:t.with(Ps).getViewModel()}_syncFormulaEditorContent(){this.disposeWithMe(this._editorBridgeService.currentEditCellState$.subscribe(e=>{e==null||this._editorBridgeService.isForceKeepVisible()||!this._rangeProtectionRuleModel.getRangeRuleInitState()||!this._worksheetProtectionRuleModel.getSheetRuleInitState()||this._editorSyncHandler(e)}))}_editorSyncHandler(e){var t,n,r;let i=tt.deepClone((t=e.documentLayoutObject.documentModel)==null?void 0:t.getBody()),a=tt.deepClone((n=e.documentLayoutObject.documentModel)==null?void 0:n.drawings),o=tt.deepClone((r=e.documentLayoutObject.documentModel)==null?void 0:r.getDrawingsOrder());(!i||e.isInArrayFormulaRange===!0&&this._editorBridgeService.isVisible().eventType===qn.Dblclick)&&(i={dataStream:`\r
|
|
12
|
-
`,paragraphs:[{startIndex:0}],textRuns:[]}),this._syncContentAndRender(fe,i,a,o)}_commandExecutedListener(){let e=[pe,fe];this.disposeWithMe(this._commandService.onCommandExecuted(t=>{if(t.id===Fs.id){let n=t.params,{unitId:r,trigger:i,isSync:a}=n;if(a||i===m.id)return;if(e.includes(r)){let e=this._univerInstanceService.getUnit(r,L.UNIVER_DOC),t=r===fe?pe:fe;this._checkAndSetRenderStyleConfig(e),this._syncActionsAndRender(t,n)}}}));let t=[Sa.id,ki.id];this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(!t.includes(e.id))return;let n=this._editorBridgeService.getEditLocation();if(n==null)return;let{row:r,column:i}=n;this._shouldRefreshCurrentEditCell(e,r,i)&&this._editorBridgeService.refreshEditCellState()}))}_shouldRefreshCurrentEditCell(e,t,n){if(e.id===Sa.id&&e.params){let r=e.params;return this._hasMatrixCell(r.cellValue,t,n)}if(e.id===ki.id&&e.params){let r=e.params;return this._hasMatrixCell(r.from.value,t,n)||this._hasMatrixCell(r.to.value,t,n)}return!1}_hasMatrixCell(e,t,n){let r=e==null?void 0:e[t];return r!=null&&Object.prototype.hasOwnProperty.call(r,n)}_syncActionsAndRender(e,t){let n=[pe,fe],r=this._renderManagerService.getRenderById(e);if(r==null)return;let i=r.with(Ps).getSkeleton(),a=this._univerInstanceService.getUnit(e,L.UNIVER_DOC),o=this._getEditorViewModel(e);if(!(a==null||o==null)&&(this._commandService.syncExecuteCommand(Fs.id,{...t,textRanges:null,isSync:!0,unitId:e,syncer:t.unitId}),o.reset(a),i.calculate(),n.includes(e))){var s;(s=r.mainComponent)==null||s.makeDirty()}}_syncContentAndRender(e,t,n,r){var i;e===fe&&t.paragraphs&&(t.paragraphs=this._clearParagraph(t.paragraphs));let a=[pe,fe],o=(i=this._renderManagerService.getRenderById(e))==null?void 0:i.with(Ps).getSkeleton(),s=this._univerInstanceService.getUnit(e,L.UNIVER_DOC),c=this._getEditorViewModel(e);if(s==null||c==null||o==null)return;s.getSnapshot().body=t,s.getSnapshot().drawings=n==null?{}:n,s.getSnapshot().drawingsOrder=r==null?[]:r,this._checkAndSetRenderStyleConfig(s),c.reset(s);let l=this._renderManagerService.getRenderById(e);if(l!=null){if(o.calculate(),a.includes(e)){var u;(u=l.mainComponent)==null||u.makeDirty()}e===fe&&this._formulaEditorController.autoScroll()}}_checkAndSetRenderStyleConfig(e){var t;let n=e.getSnapshot(),{body:r}=n;if(n.id!==fe)return;n.documentStyle=lb;let i=n.documentStyle.renderConfig;i==null&&(i={},n.documentStyle.renderConfig=i);let a=this._formulaEditorManagerService.getPosition();if(a){let e=a.width;n.documentStyle.pageSize={width:e,height:1/0}}((t=r==null?void 0:r.dataStream)==null?``:t).startsWith(`=`)?i.isRenderStyle=ne.TRUE:i.isRenderStyle=ne.FALSE}_clearParagraph(e){let t=tt.deepClone(e);for(let e of t)e.paragraphStyle&&(e.paragraphStyle.horizontalAlign=je.UNSPECIFIED);return t}};ub=Q([Z(0,P),Z(1,Xn),Z(2,Kf),Z(3,N),Z(4,F(Fi)),Z(5,F(Vo)),Z(6,F(Wm)),Z(7,Um)],ub);const db=`SHEET_FORCE_STRING_ALERT`;let fb=class extends M{constructor(e,t,n,r,i,a){super(),this._context=e,this._hoverManagerService=t,this._cellAlertManagerService=n,this._localeService=r,this._zenZoneService=i,this._configService=a,this._init()}_init(){this._initCellAlertPopup(),this._initZenService()}_initCellAlertPopup(){this.disposeWithMe(this._hoverManagerService.currentCell$.subscribe(e=>{if(e){let r=e.location,i=this._context.unit,a=i.getActiveSheet();if(!a)return this._hideAlert();let o=a.getCell(r.row,r.col);if(!o||o.v===null||o.v===void 0)return this._hideAlert();let s;if(o!=null&&o.s){let e=i.getStyles().get(o.s);e!=null&&e.n&&(s=e.n)}if(Ot(s==null?void 0:s.pattern)){this._hideAlert();return}if((o.t===ie.FORCE_STRING||o.t===ie.STRING)&&(Dt(o.v)||typeof o.v==`string`&&St(o.v))){var t,n;if((t=this._configService.getConfig(`sheets-ui.config`))!=null&&t.disableForceStringAlert)return;let i=this._cellAlertManagerService.currentAlert.get(db),a=i==null||(n=i.alert)==null?void 0:n.location;if(a&&a.row===e.location.row&&a.col===e.location.col&&a.subUnitId===e.location.subUnitId&&a.unitId===e.location.unitId){this._hideAlert();return}this._cellAlertManagerService.showAlert({type:tb.ERROR,title:this._localeService.t(`info.error`),message:this._localeService.t(`info.forceStringInfo`),location:r,width:200,height:74,key:db});return}}this._hideAlert()}))}_initZenService(){this.disposeWithMe(this._zenZoneService.visible$.subscribe(e=>{e&&this._hideAlert()}))}_hideAlert(){this._cellAlertManagerService.removeAlert(db)}};fb=Q([Z(1,F(nh)),Z(2,F(nb)),Z(3,F(Ue)),Z(4,Sn),Z(5,Ne)],fb);let pb=class extends $e{constructor(e,t,n,r){super(),this._context=e,this._sheetSkeletonManagerService=t,this._sheetInterceptorService=n,this._configService=r,this._initViewModelIntercept()}_initViewModelIntercept(){let e={tl:{size:6,color:`#409f11`}};this.disposeWithMe(this._sheetInterceptorService.intercept(ii.CELL_CONTENT,{priority:10,effect:Be.Style,handler:(t,n,r)=>{var i;if(!((i=this._sheetSkeletonManagerService.getCurrentParam())!=null&&i.skeleton))return r(t);let a=n.rawData;if(!a||a.v===null||a.v===void 0)return r(t);if(((t==null?void 0:t.t)===ie.FORCE_STRING||(t==null?void 0:t.t)===ie.STRING)&&(Dt(a.v)||typeof a.v==`string`&&St(a.v))){var o,s;let i=n.workbook.getStyles().get(a.s);return Ot(i==null||(o=i.n)==null?void 0:o.pattern)||(s=this._configService.getConfig(`sheets-ui.config`))!=null&&s.disableForceStringMark?r(t):(t===a&&(t={...a}),t.markers={...t==null?void 0:t.markers,...e},r(t))}return r(t)}}))}};pb=Q([Z(1,F(Vl)),Z(2,F(lo)),Z(3,Ne)],pb);let mb=class extends M{constructor(e,t,n,r,i,a,o){super(),this._commandService=e,this._formatPainterService=t,this._univerInstanceService=n,this._renderManagerService=r,this._selectionManagerService=i,this._sheetInterceptorService=a,this._injector=o,this._initialize()}_initialize(){this._addDefaultHook()}_addDefaultHook(){this._formatPainterService.addHook({id:`default-format-painter`,priority:0,isDefaultHook:!0,onStatusChange:e=>{if(e!==uf.OFF){let e=this._collectSelectionRangeFormat();e&&this._formatPainterService.setSelectionFormat(e)}},onApply:(e,t,n,r)=>this._getUndoRedoMutationInfo(e,t,n,r)})}_collectSelectionRangeFormat(){let e=this._selectionManagerService.getCurrentLastSelection(),t=e==null?void 0:e.range;if(!t)return null;let{startRow:n,endRow:r,startColumn:i,endColumn:a}=t,o=this._univerInstanceService.getCurrentUnitForType(L.UNIVER_SHEET),s=o==null?void 0:o.getActiveSheet();if(!s)return null;let c=s.getCellMatrix(),l=o.getStyles(),u=new Ke,d=[];for(let e=n;e<=r;e++)for(let t=i;t<=a;t++){let n=c.getValue(e,t);u.setValue(e,t,l.getStyleByCell(n)||{});let{isMergedMainCell:r,...i}=s.getCellInfoInMergeData(e,t);r&&d.push({startRow:i.startRow,startColumn:i.startColumn,endRow:i.endRow,endColumn:i.endColumn})}return{styles:u,merges:d}}_getUndoRedoMutationInfo(e,t,n,r){let i=this._sheetInterceptorService,a=this._univerInstanceService,{merges:o,styles:s}=r;if(!s)return{undos:[],redos:[]};let{startRow:c,startColumn:l,endRow:u,endColumn:d}=s.getDataRange(),f=u-c+1,p=d-l+1,m=n.startRow===n.endRow&&n.startColumn===n.endColumn?{startRow:n.startRow,startColumn:n.startColumn,endRow:n.startRow+f-1,endColumn:n.startColumn+p-1}:n,h=Array.from({length:m.endRow-m.startRow+1},()=>Array.from({length:m.endColumn-m.startColumn+1},()=>({}))),g=[];h.forEach((e,t)=>{e.forEach((e,n)=>{let r=t%f+c,i=n%p+l,a=s.getValue(r,i);a&&(h[t][n].s=Object.keys(a).length>0?a:null)})});let _=0,v=0;o.forEach(e=>{e.startRow===c&&e.startColumn===l&&(_=e.endRow-e.startRow,v=e.endColumn-e.startColumn);let t={startRow:e.startRow-c,startColumn:e.startColumn-l,endRow:e.endRow-c,endColumn:e.endColumn-l},n=Math.max(1,Math.floor((m.endRow-m.startRow+1)/f)),r=Math.max(1,Math.floor((m.endColumn-m.startColumn+1)/p));for(let e=0;e<n;e++)for(let n=0;n<r;n++)g.push({startRow:t.startRow+e*f+m.startRow,startColumn:t.startColumn+n*p+m.startColumn,endRow:t.endRow+e*f+m.startRow,endColumn:t.endColumn+n*p+m.startColumn})});let y=[m],b=new Ke,x=new Ke;if(tt.isArray(h))for(let e=0;e<y.length;e++){let{startRow:t,startColumn:n,endRow:r,endColumn:i}=y[e];for(let e=0;e<=r-t;e++)for(let r=0;r<=i-n;r++)b.setValue(e+t,r+n,{s:null}),x.setValue(e+t,r+n,h[e][r])}let S={subUnitId:t,unitId:e,cellValue:b.getMatrix()},C={subUnitId:t,unitId:e,cellValue:x.getMatrix()},w=this._injector.invoke(Ca,S),{undos:T,redos:E}=i.onCommandExecute({id:xa.id,params:{...C,range:y}}),D=[],O=[];if(g.length>0){let n=as(g),r=a.getUnit(e).getSheetBySheetId(t),i=hp(r,n),o={unitId:e,subUnitId:t,ranges:n},s={unitId:e,subUnitId:t,ranges:n};D.push({id:Ji.id,params:o}),D.push({id:Mr.id,params:s});let c=this._injector.invoke(Hi,o),l=this._injector.invoke(Er,s);if(O.push({id:Ji.id,params:l}),O.push({id:Mr.id,params:c}),i){let t=this._injector.invoke(t=>cs(t,e,r,n));D.unshift(...t.redos),O.push(...t.undos)}}if(!Qe.equals(m,n)){let r={actualRow:m.startRow,actualColumn:m.startColumn,rangeType:I.NORMAL,isMerged:_>0||v>0,isMergedMainCell:!1,startRow:m.startRow,startColumn:m.startColumn,endRow:m.startRow+_,endColumn:m.startColumn+v};D.push({id:Aa.id,params:{unitId:e,subUnitId:t,type:ra.ONLY_SET,selections:[{range:m,primary:r,style:null}]}}),O.unshift({id:Aa.id,params:{unitId:e,subUnitId:t,type:ra.ONLY_SET,selections:[{range:n,primary:r,style:null}]}})}return{undos:[{id:Sa.id,params:S},{id:Sa.id,params:w},...T,...O],redos:[{id:Sa.id,params:S},{id:Sa.id,params:C},...E,...D]}}};mb=Q([Z(0,N),Z(1,df),Z(2,P),Z(3,Xn),Z(4,F(W)),Z(5,F(lo)),Z(6,F(ze))],mb);let hb=class extends M{constructor(e,t,n,r){super(),this._context=e,this._markSelectionService=t,this._commandService=n,this._sheetSkeletonManagerService=r,this._initListeners()}_initListeners(){this._addRemoveListener(),this._addRefreshListener()}_addRemoveListener(){let e=[op.id];this.disposeWithMe(this._commandService.onCommandExecuted(t=>{e.includes(t.id)?this._markSelectionService.removeAllShapes():this._markSelectionService.getShapeMap().forEach((e,n)=>{e.exits.includes(t.id)&&this._markSelectionService.removeShape(n)})}))}_addRefreshListener(){this.disposeWithMe(this._sheetSkeletonManagerService.currentSkeleton$.subscribe(e=>{e&&this._markSelectionService.refreshShapes()}))}};hb=Q([Z(1,F(Jl)),Z(2,N),Z(3,F(Vl))],hb);function gb(){let e=Cp();return e?J(_b,{workbook:e}):null}function _b(e){let{workbook:t}=e,[n,r]=q([]),[i,a]=q(``),o=Ks(new Map),s=Ks(null),c=V(N),l=Hs(()=>{let e=t.getActiveSheet().getSheetId(),n=t.getSheets(),i=t.getActiveSheet();if(r(n.filter(e=>!e.isSheetHidden()).map((e,t)=>{var n;return{sheetId:e.getSheetId(),label:e.getName(),index:t,selected:i===e,color:(n=e.getTabColor())==null?void 0:n}})),a(e),o.current.has(e)){let t=o.current.get(e);if(t&&s.current){let e=s.current.clientWidth,n=t.clientWidth,r=t.offsetLeft-(e-n)/2;s.current.scrollTo({left:Math.max(0,r),behavior:`smooth`})}}o.current.clear()},[t]);Us(()=>l(),[l]);let u=Hs(e=>{c.executeCommand(Ua.id,{unitId:t.getUnitId(),subUnitId:e})},[t]);return Us(()=>{let e=c.onCommandExecuted(e=>{switch(e.id){case qa.id:case Ki.id:case Ya.id:case xi.id:case Za.id:case Ua.id:l();break;default:break}});return()=>e.dispose()},[l]),J(`div`,{ref:s,className:gc(`univer-h-10 univer-w-full univer-overflow-x-auto univer-overflow-y-hidden univer-border-b univer-border-gray-200 univer-bg-gradient-to-b univer-from-gray-50 univer-to-gray-100 dark:!univer-border-gray-700 dark:!univer-from-gray-800 dark:!univer-to-gray-900`,_c),role:`tablist`,"aria-label":`Sheet tabs`,children:J(`div`,{className:`univer-flex univer-h-full univer-flex-nowrap univer-items-center`,children:n.map(e=>Y(`div`,{ref:t=>{o.current.set(e.sheetId,t)},className:gc(`univer-relative univer-box-border univer-flex univer-h-full univer-max-w-36 univer-shrink-0 univer-cursor-pointer univer-select-none univer-items-center univer-justify-center univer-truncate univer-px-1 univer-py-0.5 univer-text-sm univer-font-medium univer-leading-6 univer-transition-all`,mc,{"univer-bg-white univer-text-blue-600 dark:!univer-bg-gray-700 dark:!univer-text-blue-400":e.sheetId===i,"univer-text-gray-600 hover:univer-bg-gray-50 active:univer-bg-gray-100 dark:!univer-text-gray-300 dark:hover:!univer-bg-gray-700":e.sheetId!==i}),role:`tab`,"aria-selected":e.sheetId===i,"aria-controls":`sheet-${e.sheetId}`,tabIndex:e.sheetId===i?0:-1,onClick:()=>u(e.sheetId),children:[J(`span`,{className:`univer-truncate`,children:e.label}),e.sheetId===i&&J(`div`,{className:gc(`univer-absolute univer-left-0 univer-right-0 univer-top-0 univer-h-1 univer-bg-blue-600 univer-transition-all dark:!univer-bg-blue-400`),style:e.color?{backgroundColor:e.color}:void 0,"aria-hidden":`true`})]},e.sheetId))})})}let vb=class extends M{constructor(e,t,n,r,i,a,o,s){super(),this._injector=e,this._componentManager=t,this._layoutService=n,this._commandService=r,this._shortcutService=i,this._menuManagerService=a,this._uiPartsService=o,this._configService=s,this._init()}_init(){this._initComponents(),this._initCommands(),this._initMenus(),this._initShortcuts(),this._initWorkbenchParts(),this._initFocusHandler()}_initComponents(){let e=this._componentManager;this.disposeWithMe(e.register(Jh,Yh)),this.disposeWithMe(e.register(Gh,qh)),this.disposeWithMe(e.register(zh,Wh)),this.disposeWithMe(e.register(fp,Sv)),this.disposeWithMe(e.register(mv,bv)),this.disposeWithMe(e.register(`HideGridlinesDoubleIcon`,Dc))}_initCommands(){[Yf,kf,Df,Of,lp,lf,sf,cf,Sd,Cd,zf,Bf,Af,np,aa,cp,op,sp,Td,Ed,Dd,Od,kd,Ad,jd,Pd,Fd,Id,ya,Na,pa,ma,pf,mf,hf,gf,Lf,Rf,yf,bf,xf,Sf,Cf,up,Ba,Xf,Jf,$f,Ld,od,Rd,ad,pp,Qd,dp,$d,ef,tf,nf,rf,tp,af,of,ep,Wf,Nl,Pl].forEach(e=>{this.disposeWithMe(this._commandService.registerCommand(e))})}_initMenus(){this._menuManagerService.mergeMenu(pv)}_initShortcuts(){[fy,py,my,hy,gy,_y,vy,yy,by,xy,Sy,Cy,wy,Ty,Ey,Dy,Oy,ky,Ay,jy,My,Vy,Uy,Gy,Ky,Hy,Wy,Ny,Py,Fy,Iy,Ly,Ry,zy,By,...Yp(),Qp,Xp,$p,nm,rm,im,om,em,tm,am,uy,dy].forEach(e=>{this.disposeWithMe(this._shortcutService.registerShortcut(e))})}_initWorkbenchParts(){let e=this._uiPartsService,t=this._injector;this.disposeWithMe(e.registerComponent(Gt.FOOTER,()=>Pn(gb,t))),this.disposeWithMe(e.registerComponent(Gt.CONTENT,()=>Pn(oy,t)))}_initFocusHandler(){this.disposeWithMe(this._layoutService.registerFocusHandler(L.UNIVER_SHEET,e=>{let t=this._injector.get(Xn),n=this._injector.get(P),r=yr(L.UNIVER_DOC,n,t),i=r==null?void 0:r.with(s);i==null||i.focus()}))}};vb=Q([Z(0,F(ze)),Z(1,F(Jt)),Z(2,mn),Z(3,N),Z(4,yn),Z(5,hn),Z(6,xn),Z(7,Ne)],vb);let yb=class extends M{constructor(e,t,n,r){super(),this._context=e,this._selectionRenderService=t,this._selectionManagerService=n,this._commandService=r,X(this,`_disposableCollection`,new ge),X(this,`_initialize`,()=>{let e=this._disposableCollection;this.disposeWithMe(this._selectionManagerService.selectionMoveEnd$.subscribe(()=>{e.dispose(),this._selectionRenderService.getSelectionControls().forEach(t=>{e.add(Vt(t.selectionMoveEnd$.subscribe(e=>{if(!e)return;let n=t.model.getRange(),r={startRow:n.startRow,startColumn:n.startColumn,endRow:n.endRow,endColumn:n.endColumn,rangeType:n.rangeType},i={startRow:e.startRow,startColumn:e.startColumn,endRow:e.endRow,endColumn:e.endColumn,rangeType:n.rangeType};if(r.startRow===i.startRow&&r.startColumn===i.startColumn||i.startRow<0||i.startColumn<0)return;let a={fromRange:r,toRange:i};this._commandService.executeCommand(Oi.id,a)})))})}))}),this._initialize()}dispose(){var e;super.dispose(),(e=this._disposableCollection)==null||e.dispose()}};yb=Q([Z(1,F(Il)),Z(2,F(W)),Z(3,F(N))],yb);let bb=class extends M{constructor(e){super(),this._sheetPermissionInitController=e,this._initPermission()}_initPermission(){this._sheetPermissionInitController.initPermission()}};bb=Q([Z(0,F(fo))],bb);let xb=class extends $e{constructor(e,t,n,r,i,a,o,s,c,l){super(),this._context=e,this._univerInstanceService=t,this._permissionService=n,this._selectionManagerService=r,this._rangeProtectionRuleModel=i,this._headerMoveRenderController=a,this._selectionRenderService=o,this._headerFreezeRenderController=s,this._rangeProtectionCache=c,this._headerResizeRenderController=l,X(this,`disposableCollection`,new ge),this._initHeaderMovePermissionInterceptor(),this._initHeaderResizePermissionInterceptor(),this._initRangeFillPermissionInterceptor(),this._initRangeMovePermissionInterceptor()}_initHeaderMovePermissionInterceptor(){let e=this._headerMoveRenderController.interceptor.getInterceptPoints().HEADER_MOVE_PERMISSION_CHECK;this.disposeWithMe(this._headerMoveRenderController.interceptor.intercept(e,{handler:(e,t)=>{let n=fs(this._univerInstanceService);if(!n)return!1;let{unitId:r,subUnitId:i}=n;if(!this._permissionService.composePermission([new G(r).id,new K(r,i).id]).every(e=>e.value))return!1;if(!t)return!0;if(t.rangeType!==I.ROW&&t.rangeType!==I.COLUMN)return e;if(t.rangeType===I.ROW){for(let e=t.startRow;e<=t.endRow;e++)if(this._rangeProtectionCache.getRowPermissionInfo(r,i,e,[Rs.Edit])===!1)return!1}else for(let e=t.startColumn;e<=t.endColumn;e++)if(this._rangeProtectionCache.getColPermissionInfo(r,i,e,[Rs.Edit])===!1)return!1;return!0}}))}_initHeaderResizePermissionInterceptor(){this._headerResizeRenderController&&this.disposeWithMe(this._headerResizeRenderController.interceptor.intercept(this._headerResizeRenderController.interceptor.getInterceptPoints().HEADER_RESIZE_PERMISSION_CHECK,{handler:(e,t)=>{let n=fs(this._univerInstanceService);if(!n)return!1;let{unitId:r,subUnitId:i}=n;if(t.row){var a,o;if(((a=(o=this._permissionService.getPermissionPoint(new Go(r,i).id))==null?void 0:o.value)==null?!1:a)===!1)return!1}else if(t.col){var s,c;if(((s=(c=this._permissionService.getPermissionPoint(new Wo(r,i).id))==null?void 0:c.value)==null?!1:s)===!1)return!1}return!0}}))}_initRangeFillPermissionInterceptor(){this.disposeWithMe(this._selectionRenderService.interceptor.intercept(this._selectionRenderService.interceptor.getInterceptPoints().RANGE_FILL_PERMISSION_CHECK,{handler:(e,t)=>{var n;let r=fs(this._univerInstanceService);if(!r)return!1;let{worksheet:i,unitId:a,subUnitId:o}=r;if(!this._permissionService.composePermission([new G(a).id,new K(a,o).id,new Uo(a,o).id,new Ho(a,o).id]).every(e=>e.value))return!1;let s=(n=this._selectionManagerService.getCurrentSelections())==null?void 0:n.map(e=>e.range),c=s==null?void 0:s.find(e=>{let n=Ff(t.x,t.y,t.scene,t.skeleton),r=t.skeleton.getCellWithCoordByIndex(e.endRow,e.endColumn),i=Math.abs(r.endX-n.x),a=Math.abs(r.endY-n.y);return i<=5&&a<=5});if(!c)return!0;let{startRow:l,endRow:u,startColumn:d,endColumn:f}=c;for(let e=l;e<=u;e++)for(let t=d;t<=f;t++){var p;let n=(p=i.getCell(e,t))==null||(p=p.selectionProtection)==null?void 0:p[0];if((n==null?void 0:n[Rs.Edit])===!1||(n==null?void 0:n[Rs.View])===!1)return!1}return!0}}))}_initRangeMovePermissionInterceptor(){this.disposeWithMe(this._selectionRenderService.interceptor.intercept(this._selectionRenderService.interceptor.getInterceptPoints().RANGE_MOVE_PERMISSION_CHECK,{handler:(e,t)=>{var n;let r=fs(this._univerInstanceService);if(!r)return!1;let{worksheet:i,unitId:a,subUnitId:o}=r;if(!this._permissionService.composePermission([new G(a).id,new K(a,o).id]).every(e=>e.value))return!1;let s=(n=this._selectionManagerService.getCurrentSelections())==null?void 0:n.map(e=>e.range),c=this._rangeProtectionRuleModel.getSubunitRuleList(a,o).reduce((e,t)=>[...e,...t.ranges],[]),l=s==null?void 0:s.filter(e=>c.some(t=>Qe.intersects(t,e)));return!(l!=null&&l.some(e=>{let{startRow:t,startColumn:n,endRow:r,endColumn:a}=e;for(let e=t;e<=r;e++)for(let t=n;t<=a;t++){var o;let n=(o=i.getCell(e,t))==null||(o=o.selectionProtection)==null?void 0:o[0];if((n==null?void 0:n[Rs.Edit])===!1)return!0}return!1}))}}))}_initFreezePermissionInterceptor(){this.disposeWithMe(this._headerFreezeRenderController.interceptor.intercept(this._headerFreezeRenderController.interceptor.getInterceptPoints().FREEZE_PERMISSION_CHECK,{handler:(e,t)=>{var n,r;let i=this._univerInstanceService.getCurrentUnitForType(L.UNIVER_SHEET);return!(i!=null&&i.getActiveSheet())||!i||(n=(r=this._permissionService.getPermissionPoint(new G(i.getUnitId()).id))==null?void 0:r.value)==null?!1:n}}))}};xb=Q([Z(1,P),Z(2,Le),Z(3,F(W)),Z(4,F(Fi)),Z(5,F(gh)),Z(6,Il),Z(7,F(uh)),Z(8,F(Ni)),Z(9,qe(wh))],xb);let Sb=class extends M{constructor(e,t,n,r,i){super(),this._univerInstanceService=e,this._selectionManagerService=t,this._localService=n,this._sheetClipboardService=r,this._sheetPermissionCheckController=i,X(this,`disposableCollection`,new ge),this._initClipboardHook()}_initClipboardHook(){this.disposeWithMe(this._sheetClipboardService.addClipboardHook({id:`SHEET_PERMISSION_PASTE_PLUGIN`,onBeforePaste:e=>{var t;let[n]=bl([e.range]).ranges,r=(t=this._selectionManagerService.getCurrentLastSelection())==null?void 0:t.range;if(!r)return!1;let i={startRow:r.startRow+n.startRow,endRow:r.startRow+n.endRow,startColumn:r.startColumn+n.startColumn,endColumn:r.startColumn+n.endColumn},a=this._univerInstanceService.getCurrentUnitForType(L.UNIVER_SHEET).getActiveSheet();if(!a)return!1;let{startRow:o,endRow:s,startColumn:c,endColumn:l}=i,u=!0;for(let e=o;e<=s;e++)for(let t=c;t<=l;t++){var d;let n=(d=a.getCell(e,t))==null||(d=d.selectionProtection)==null?void 0:d[0];if((n==null?void 0:n[Rs.Edit])===!1){u=!1;break}}return u||this._sheetPermissionCheckController.blockExecuteWithoutPermission(this._localService.t(`permission.dialog.pasteErr`)),u}}))}};Sb=Q([Z(0,P),Z(1,F(W)),Z(2,F(Ue)),Z(3,F(Uu)),Z(4,F(uo))],Sb);let Cb=class extends $e{constructor(e,t,n,r,i){super(),this._context=e,this._univerInstanceService=t,this._permissionService=n,this._statusBarController=r,this._rangeProtectionCache=i,X(this,`disposableCollection`,new ge),this._initStatusBarPermissionInterceptor()}_initStatusBarPermissionInterceptor(){this.disposeWithMe(this._statusBarController.interceptor.intercept(this._statusBarController.interceptor.getInterceptPoints().STATUS_BAR_PERMISSION_CORRECT,{priority:100,handler:(e,t)=>{var n;let r=fs(this._univerInstanceService);if(!r)return e==null?[]:e;let{worksheet:i,unitId:a,subUnitId:o}=r;return((n=this._permissionService.getPermissionPoint(new Ko(a,o).id))==null?void 0:n.value)===!1?t.forEach(e=>{let t=e.getArrayValue();t.forEach((e,n)=>{e.forEach((e,r)=>{t[n][r]=Jc.create()})})}):t.forEach(e=>{let t=e.getArrayValue(),n=e.getCurrentRow(),r=e.getCurrentColumn();t.forEach((e,s)=>{e.forEach((e,c)=>{var l;if(((l=i.getCellRaw(s+n,c+r))==null?void 0:l.v)===void 0)return;let u=this._rangeProtectionCache.getCellInfo(a,o,s+n,c+r);(u==null?void 0:u[Rs.View])===!1&&(t[s][c]=Jc.create())})})}),t}}))}};Cb=Q([Z(1,P),Z(2,Le),Z(3,F(Zy)),Z(4,F(Ni))],Cb);const wb=(e,t,n,r,i)=>{let a=e.get(Ue),o=e.get(Vo),s=e.get(Fi),c=``;if(t.length===0)c=a.t(`permission.panel.emptyRangeError`);else if(t.length>1){let e=!1;for(let n=0;n<t.length;n++){for(let r=n+1;r<t.length;r++)if(Qe.intersects(t[n],t[r])){e=!0;break}if(e)break}e&&(c=a.t(`permission.panel.rangeOverlapError`))}if(!c){if(o.getRule(r,i)&&!n)return c=a.t(`permission.panel.rangeOverlapOverPermissionError`),c;let e=s.getSubunitRuleList(r,i).filter(e=>e.permissionId!==n).find(e=>e.ranges.some(e=>t.some(t=>Qe.intersects(e,t))));e!=null&&e.ranges.find(e=>t.some(t=>Qe.intersects(e,t)))&&(c=a.t(`permission.panel.rangeOverlapOverPermissionError`))}return c===``?void 0:c},Tb=(e,t)=>{if(e.length!==1)return!1;let n=e[0],r=t.getRowCount(),i=t.getColumnCount(),{startRow:a,endRow:o,startColumn:s,endColumn:c}=n;return a===0&&s===0&&o===r-1&&c===i-1},Eb=(e,t)=>{var n,r;let i=e.get(P),a=e.get(W),o=i.getCurrentUnitForType(L.UNIVER_SHEET),s=o.getActiveSheet(),c=yo.SelectRange,l=(n=(r=a.getCurrentSelections())==null?void 0:r.map(e=>e.range))==null?[]:n;return t&&(c=yo.Worksheet,l=[{startRow:0,startColumn:0,endRow:s.getRowCount()-1,endColumn:s.getColumnCount()-1,rangeType:I.ALL}]),{unitId:o.getUnitId(),subUnitId:s.getSheetId(),permissionId:``,unitType:c,description:``,id:``,ranges:l,editState:ti.OnlyMe,viewState:xo.OthersCanView}},Db=(e,t)=>{let n=e.get(P).getCurrentUnitForType(L.UNIVER_SHEET).getActiveSheet(),{unitType:r}=t;return r===yo.Worksheet?{...t,ranges:[{startRow:0,startColumn:0,endRow:n.getRowCount()-1,endColumn:n.getColumnCount()-1,rangeType:I.ALL}]}:t},Ob=e=>{let{viewState:t,editState:n,permissionId:r,ranges:i,rangesErrMsg:a,desc:o,oldRule:s,id:c}=e,l=V(Xd),u=V(bn),d=V(Me),f=V(Ue),p=V(N),m=V(Zd),h=V(P).getCurrentUnitForType(L.UNIVER_SHEET),g=h==null?void 0:h.getActiveSheet();if(!h||!g)return null;let _=h.getUnitId(),v=g.getSheetId();return Y(`div`,{className:`univer-mt-auto univer-flex univer-flex-row-reverse univer-gap-2 univer-py-5`,children:[J(Js,{variant:`primary`,onClick:async()=>{if(a)return;let e={unitId:_,subUnitId:v,permissionId:r,id:c,viewState:t,editState:n,unitType:yo.SelectRange,ranges:i,description:o};Tb(i,g)&&(e.unitType=yo.Worksheet,e.ranges=[]);let l=m.selectUserList;e.editState===ti.OnlyMe&&(l=[],m.setSelectUserList([]));let h={read:e.viewState===xo.OthersCanView?Ls.AllCollaborator:Ls.SomeCollaborator,edit:e.editState===ti.DesignedUserCanEdit?Ls.SomeCollaborator:Ls.OneSelf};if(e.editState===ti.DesignedUserCanEdit&&l.length===0&&(l=[],h.edit=Ls.OneSelf),e.permissionId){let t=mp(l.filter(e=>e.role===Bs.Editor),m.oldCollaboratorList.filter(e=>e.role===Bs.Editor)),n=(s==null?void 0:s.viewState)===e.viewState,r=(s==null?void 0:s.editState)===e.editState,i=e.unitType===(s==null?void 0:s.unitType)&&e.description===s.description&&e.ranges===s.ranges,a=!t||!n||!r;if(i&&a)await d.update({objectType:e.unitType,objectID:e.permissionId,unitID:e.unitId,share:void 0,name:``,strategies:[],scope:h,collaborators:{collaborators:l}});else{let t=e.permissionId;a&&(t=e.unitType===yo.Worksheet?await d.create({worksheetObject:{collaborators:l,unitID:e.unitId,name:``,strategies:[{role:Bs.Editor,action:Rs.Edit},{role:Bs.Reader,action:Rs.View}],scope:h},objectType:yo.Worksheet}):await d.create({selectRangeObject:{collaborators:l,unitID:e.unitId,name:``,scope:h},objectType:yo.SelectRange})),p.executeCommand(ba.id,{rule:{...e,permissionId:t},oldRule:s})}}else if(e.unitType===yo.Worksheet){let t=await d.create({worksheetObject:{collaborators:l,unitID:e.unitId,name:``,strategies:[{role:Bs.Editor,action:Rs.Edit},{role:Bs.Reader,action:Rs.View}],scope:h},objectType:yo.Worksheet}),{ranges:n=[],...r}=e;r.permissionId=t,p.executeCommand(Pr.id,{rule:r,unitId:e.unitId})}else if(e.unitType===yo.SelectRange){let t=await d.create({selectRangeObject:{collaborators:l,unitID:e.unitId,name:``,scope:h},objectType:yo.SelectRange});p.executeCommand(Dr.id,{rule:e,permissionId:t})}let y={header:{title:`${f.t(`permission.panel.title`)}`},children:{label:zd,showDetail:!1},width:330};u.open(y)},children:f.t(`permission.button.confirm`)}),J(Js,{onClick:()=>{l.reset(),m.reset(),u.close()},children:f.t(`permission.button.cancel`)})]})},kb=e=>{let{ranges:t,onRangesChange:n,desc:r,onDescChange:i,rangesErrMsg:a,permissionId:o}=e,s=V(Jt),c=Gs(()=>s.get(El),[]),l=V(P),u=V(Ue),d=V(ze),f=l.getCurrentUnitForType(L.UNIVER_SHEET),p=f==null?void 0:f.getActiveSheet();if(!f||!p)return null;let m=f.getUnitId(),h=p.getSheetId(),g=e=>{let t=e.split(`,`).map(Xc).map(e=>e.range);if(t.some(e=>!kt(e)||e.endColumn<e.startColumn||e.endRow<e.startRow))return;let r=l.getCurrentUnitForType(L.UNIVER_SHEET),i=r==null?void 0:r.getActiveSheet();if(!r||!i)return;let a=r.getUnitId(),s=i.getSheetId(),c=t.map(e=>(ms(e,i.getRowCount(),i.getColumnCount()),e));n(c,wb(d,c,o,a,s))};return Y(zc,{children:[J(tc,{className:`univer-font-medium`,label:u.t(`permission.panel.protectedRange`),error:a,children:c&&J(c,{unitId:m,subUnitId:h,initialValue:t==null?void 0:t.map(e=>nl(e)).join(`,`),onChange:(e,t)=>g(t)})}),J(tc,{className:`univer-font-medium`,label:u.t(`permission.panel.permissionDirection`),children:J(nc,{value:r,onChange:e=>i(e),placeholder:u.t(`permission.panel.permissionDirectionPlaceholder`)})})]})},Ab=e=>{let{editState:t,onEditStateChange:n,viewState:r,onViewStateChange:i,permissionId:a}=e,o=V(Ue),s=V(pn),c=V(Me),l=V(Zd),u=V(rt),d=V(P),f=Hn(l.selectUserList$,l.selectUserList),p=d.getCurrentUnitForType(L.UNIVER_SHEET),m=p==null?void 0:p.getActiveSheet();if(!p||!m)return null;let h=p.getUnitId();return Us(()=>{a?(async()=>{let e=(await c.listCollaborators({objectID:a,unitID:h})).filter(e=>e.role===Bs.Editor);e.length>0&&n(ti.DesignedUserCanEdit),l.setSelectUserList(e),l.setOldCollaboratorList(e)})():(l.setSelectUserList([]),l.setOldCollaboratorList([]))},[]),Y(zc,{children:[J(tc,{className:`univer-font-medium`,label:o.t(`permission.panel.editPermission`),children:Y(oc,{value:t,onChange:e=>n(e),className:`univer-flex univer-flex-col`,children:[J(ac,{value:ti.OnlyMe,children:J(`span`,{children:o.t(`permission.panel.onlyICanEdit`)})}),J(ac,{value:ti.DesignedUserCanEdit,children:J(`span`,{children:o.t(`permission.panel.designedUserCanEdit`)})})]})}),t===ti.DesignedUserCanEdit&&Y(`div`,{className:gc(`univer-mb-2 univer-flex univer-h-[270px] univer-flex-col univer-overflow-y-auto univer-rounded-lg univer-p-3`,pc),children:[Y(`div`,{className:`univer-flex univer-items-center univer-justify-between univer-text-sm`,children:[J(`span`,{children:o.t(`permission.panel.designedPerson`)}),J(`span`,{className:`univer-cursor-pointer univer-text-primary-600`,onClick:async()=>{let e=await c.listCollaborators({objectID:h,unitID:h}),t=u.getCurrentUser();l.setCanEditUserList(e.filter(e=>{var n;return((n=e.subject)==null?void 0:n.userID)!==t.userID})),s.open({id:Ud,title:{title:``},children:{label:Vd},width:280,destroyOnClose:!0,closable:!1,onClose:()=>s.close(Ud),className:`sheet-permission-user-dialog`})},children:o.t(`permission.panel.addPerson`)})]}),J(`div`,{className:`univer-my-2 univer-h-px univer-bg-gray-200`}),J(`div`,{className:`univer-flex-1`,children:(f==null?void 0:f.length)>0?f.map(e=>{var t,n,r;return Y(`div`,{className:`univer-mb-3 univer-flex univer-h-7 univer-items-center univer-leading-7 last:univer-mb-0`,children:[J(qs,{size:24,src:(n=e.subject)==null?void 0:n.avatar}),J(`span`,{className:`univer-ml-1.5 univer-w-[130px] univer-truncate univer-text-gray-900 dark:!univer-text-white`,children:(r=e.subject)==null?void 0:r.name}),J(sc,{className:`!univer-w-[90px] univer-min-w-0 univer-cursor-pointer`,borderless:!0,value:`edit`,options:[{label:`${o.t(`permission.panel.canEdit`)}`,value:`edit`},{label:`${o.t(`permission.panel.delete`)}`,value:`delete`}],onChange:t=>{t===`delete`&&l.setSelectUserList(f.filter(t=>{var n,r;return((n=t.subject)==null?void 0:n.userID)!==((r=e.subject)==null?void 0:r.userID)}))}})]},(t=e.subject)==null?void 0:t.userID)}):Y(`div`,{className:`univer-flex univer-h-full univer-flex-col univer-items-center univer-justify-center`,children:[J(`img`,{width:240,height:120,src:`data:image/png;base64,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`,alt:``}),J(`p`,{className:`univer-w-60 univer-break-words univer-text-sm univer-text-gray-400`,children:o.t(`permission.dialog.userEmpty`)})]})})]}),J(tc,{className:`univer-font-medium`,label:o.t(`permission.panel.viewPermission`),children:Y(oc,{value:r,onChange:e=>i(e),className:`univer-flex univer-flex-col last:univer-mb-0`,children:[J(ac,{value:xo.OthersCanView,children:J(`span`,{children:o.t(`permission.panel.othersCanView`)})}),J(ac,{value:xo.NoOneElseCanView,children:J(`span`,{children:o.t(`permission.panel.noOneElseCanView`)})})]})})]})},jb=e=>{var t,n;let{fromSheetBar:r,rule:i,oldRule:a}=e,o=V(ze),s=V(Jt),c=i?Db(o,i):Eb(o,r),[l,u]=q(c.ranges),[d,f]=q(()=>wb(o,c.ranges,c.permissionId,c.unitId,c.subUnitId)),[p,m]=q(c.description),[h,g]=q((t=c.editState)==null?ti.OnlyMe:t),[_,v]=q((n=c.viewState)==null?xo.OthersCanView:n),y=s.get(Bd),b=y==null?Ab:y;return Us(()=>{let e=o.get(P),t=o.get(bn),n=e.getCurrentUnitOfType(L.UNIVER_SHEET);if(!n)return;let r=n.getActiveSheet().getSheetId(),i=n.activeSheet$.subscribe(e=>{(e==null?void 0:e.getSheetId())!==r&&t.close()});return()=>{i.unsubscribe()}},[]),Y(`div`,{className:`univer-mt-4 univer-flex univer-h-[calc(100%-16px)] univer-flex-col`,children:[J(kb,{permissionId:c.permissionId,ranges:l,onRangesChange:(e,t)=>{u(e),f(t)},rangesErrMsg:d,desc:p,onDescChange:e=>m(e)}),J(b,{editState:h,onEditStateChange:e=>g(e),viewState:_,onViewStateChange:e=>v(e),permissionId:c.permissionId}),J(Ob,{permissionId:c.permissionId,id:c.id,ranges:l,rangesErrMsg:d,desc:p,viewState:_,editState:h,oldRule:a})]})};function Mb(){var e;let[t,n]=q(!0),[r,i]=q(!1),[a,o]=q([]),s=V(Ue),c=V(Fi),l=V(Vo),u=V(P),d=V(N),f=V(bn),p=V(Me),m=V(Le),h=V(rt).getCurrentUser(),g=V(Zd),_=Hn(l.ruleRefresh$,``),v=Hn(c.ruleRefresh$,``),y=u.getCurrentUnitOfType(L.UNIVER_SHEET);if(!y)return null;let b=y.getUnitId(),x=Hs(async e=>{var t;let n=y.getActiveSheet(),r=y.getUnitId(),i=n.getSheetId(),a=[],o=[];y.getSheets().forEach(e=>{let t=e.getSheetId();c.getSubunitRuleList(r,t).forEach(e=>{e.permissionId&&a.push(e.permissionId)});let n=l.getRule(r,t);n!=null&&n.permissionId&&o.push(n.permissionId)});let s=[...a,...o],u=await p.list({objectIDs:s,unitID:r,actions:Qo}),d=c.getSubunitRuleList(r,i).map(e=>e.permissionId),f=(t=l.getRule(r,i))==null?void 0:t.permissionId;f&&d.push(f);let m=u.filter(e=>{var t;return d.includes(e.objectID)||e.objectID===((t=l.getRule(r,i))==null?void 0:t.permissionId)});return e?m:u},[]),[S,C]=q([]);Us(()=>{let e=Ts(c.ruleChange$,l.ruleChange$).subscribe(async()=>{C(await x(t))});return()=>{e.unsubscribe()}},[t]),Us(()=>{let e=y.activeSheet$.pipe(Ss((e,t)=>(e==null?void 0:e.getSheetId())===(t==null?void 0:t.getSheetId()))).subscribe(async()=>{C(await x(t))});return()=>{e.unsubscribe()}},[t]),Us(()=>{(async()=>{(_||v)&&C(await x(!0))})()},[_,v]);function w(e){let{unitId:t,subUnitId:n,unitType:s}=e,c;s===zs.Worksheet?c=d.executeCommand(Qr.id,{unitId:t,subUnitId:n,rule:e}):s===zs.SelectRange&&(c=d.executeCommand(Xr.id,{unitId:t,subUnitId:n,rule:e})),c&&(i(!r),e.ranges===a&&o([]))}Us(()=>{g.reset()},[]),Qy(a);let T=Gs(()=>{let e=new Map;return y.getSheets().forEach(t=>{let n=t.getSheetId();c.getSubunitRuleList(b,n).forEach(t=>{e.set(t.permissionId,t)});let r=l.getRule(b,n);r&&e.set(r==null?void 0:r.permissionId,r)}),e},[b,y,c,l]),E=e=>{e.subUnitId!==y.getActiveSheet().getSheetId()&&d.executeCommand(Ua.id,{unitId:e.unitId,subUnitId:e.subUnitId});let t={header:{title:`permission.panel.title`},children:{label:zd,showDetail:!0,rule:tt.deepClone(e),oldRule:tt.deepClone(e)},width:330};f.open(t)},D=e=>{n(e)},O=(e=m.getPermissionPoint(new Co(b).id))==null?void 0:e.value;return Y(`div`,{className:`univer-mt-2 univer-flex univer-h-[calc(100%-8px)] univer-flex-col`,children:[Y(`div`,{className:`univer-flex univer-h-[30px] univer-py-2`,children:[Y(`div`,{className:`univer-mr-5 univer-flex univer-cursor-pointer univer-flex-col univer-items-center`,onClick:()=>D(!0),children:[Y(`div`,{className:gc(`univer-h-6 univer-text-base univer-font-medium univer-leading-6`,{"univer-text-blue-500":t}),children:[` `,s.t(`permission.panel.currentSheet`)]}),J(`div`,{className:gc(`univer-mt-1 univer-h-0.5 univer-w-6`,{"univer-bg-blue-500":t})})]}),Y(`div`,{className:`univer-mr-5 univer-flex univer-cursor-pointer univer-flex-col univer-items-center`,onClick:()=>D(!1),children:[J(`div`,{className:gc(`univer-h-6 univer-text-base univer-font-medium univer-leading-6`,{"univer-text-blue-500":!t}),children:s.t(`permission.panel.allSheet`)}),J(`div`,{className:gc(`univer-mt-1 univer-h-0.5 univer-w-6`,{"univer-bg-blue-500":!t})})]})]}),(S==null?void 0:S.length)>0?J(`div`,{children:S==null?void 0:S.map(e=>{var t,n,r,i,c;let l=T.get(e.objectID);if(!l)return null;let u=e.actions.find(e=>e.action===Rs.Edit),d=u==null?void 0:u.allowed,f=e.actions.find(e=>e.action===Rs.View),p=f==null?void 0:f.allowed,m=e.actions.find(e=>e.action===Rs.ManageCollaborator),g=e.actions.find(e=>e.action===Rs.Delete),_=(m==null?void 0:m.allowed)||h.userID===((t=e.creator)==null?void 0:t.userID),v=(g==null?void 0:g.allowed)||h.userID===((n=e.creator)==null?void 0:n.userID),b=``,x=y.getSheetBySheetId(l.subUnitId),S=x==null?void 0:x.getName();if(l.unitType===zs.SelectRange){let e=l.ranges;b=`${S}(${e!=null&&e.length?e.map(e=>{let t=nl(e);return t===`NaN`?``:t}).filter(e=>!!e).join(`,`):``})`}else l.unitType===zs.Worksheet&&(b=S||``);return Y(`div`,{className:gc(`univer-mt-3 univer-rounded-lg univer-p-3 hover:univer-bg-gray-50`,pc),onMouseMove:()=>{let{subUnitId:e,unitType:t}=l,n=y.getActiveSheet();if(!n||e!==n.getSheetId())return!1;if(t===zs.SelectRange){let e=l.ranges||[];e!==a&&o(e)}else if(t===zs.Worksheet){let e=[{startRow:0,endRow:n.getRowCount()-1,startColumn:0,endColumn:n.getColumnCount()-1}];e!==a&&o(e)}},onMouseLeave:()=>o([]),children:[Y(`div`,{className:`univer-flex univer-h-5 univer-justify-between univer-leading-5`,children:[J(dc,{title:b,children:J(`div`,{className:`univer-max-w-[200px] univer-truncate univer-text-sm univer-font-medium`,children:b})}),(_||v)&&Y(`div`,{className:`univer-flex univer-items-center`,children:[_&&J(dc,{title:s.t(`permission.panel.edit`),children:J(`div`,{className:`univer-box-border univer-h-6 univer-rounded-sm univer-p-1 hover:univer-bg-gray-200`,onClick:()=>E(l),children:J(Rc,{})})}),v&&J(dc,{title:s.t(`permission.panel.delete`),children:J(`div`,{className:`univer-box-border univer-h-6 univer-rounded-sm univer-p-1 hover:univer-bg-gray-200`,onClick:()=>w(l),children:J(Sc,{})})})]})]}),J(`div`,{className:`univer-my-2 univer-h-px univer-bg-gray-200`}),Y(`div`,{children:[Y(`div`,{className:`univer-flex univer-items-center`,children:[J(dc,{title:(r=(i=e.creator)==null?void 0:i.name)==null?``:r,children:J(`div`,{children:J(qs,{src:(c=e.creator)==null?void 0:c.avatar,className:`univer-mr-1.5`,size:24})})}),J(`span`,{className:`univer-h-4 univer-flex-grow univer-text-xs univer-text-gray-900 dark:!univer-text-white`,children:s.t(`permission.panel.created`)}),J(`span`,{className:`univer-h-4 univer-text-xs univer-text-gray-900 dark:!univer-text-white`,children:d?`${s.t(`permission.panel.iCanEdit`)}`:`${s.t(`permission.panel.iCanNotEdit`)}`})]}),Y(`div`,{className:`univer-mt-2 univer-flex univer-items-center`,children:[J(`span`,{className:`univer-h-4 univer-flex-grow univer-text-xs univer-text-gray-900 dark:!univer-text-white`,children:s.t(`permission.panel.viewPermission`)}),J(`span`,{className:`univer-h-4 univer-text-xs univer-text-gray-900 dark:!univer-text-white`,children:p?`${s.t(`permission.panel.iCanView`)}`:`${s.t(`permission.panel.iCanNotView`)}`})]}),l.description&&J(dc,{title:l.description,children:J(`div`,{className:`univer-text-3 univer-mt-2 univer-max-w-64 univer-truncate univer-text-sm univer-text-gray-400`,children:l.description})})]})]},e.objectID)})}):Y(`div`,{className:`univer-flex univer-flex-1 univer-flex-col univer-items-center univer-justify-center`,children:[J(`img`,{width:240,height:120,src:`data:image/png;base64,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`,alt:``,draggable:!1}),J(`p`,{className:`univer-w-60 univer-break-words univer-text-sm univer-text-gray-400`,children:s.t(`permission.dialog.listEmpty`)})]}),O&&J(`div`,{className:`univer-mt-auto univer-py-5`,children:Y(Js,{className:`univer-w-full`,variant:`primary`,onClick:()=>{let e={header:{title:`${s.t(`permission.panel.title`)}`},children:{label:`UNIVER_SHEET_PERMISSION_PANEL`,showDetail:!0},width:330};f.open(e)},children:[J(`div`,{children:`+ `}),s.t(`permission.button.addNewPermission`)]})})]})}const Nb=({showDetail:e,fromSheetBar:t,rule:n,oldRule:r})=>{var i;let a=V(P),o=V(W);if(!V(Xd).getVisible())return null;let s=fs(a);if(!s)return null;let{worksheet:c}=s,l=((i=o.getCurrentSelections())==null?void 0:i.map(e=>e.range)).reduce((e,t)=>e+rl(c.getName(),t),``);return e?J(jb,{fromSheetBar:t,rule:n,oldRule:r},t?`sheet-bar`:`normal`):J(Mb,{},l)},Pb=({loading:e,children:t})=>Y(`div`,{className:`univer-relative univer-size-full`,children:[e&&J(`div`,{className:`univer-absolute -univer-bottom-0.5 -univer-left-0.5 -univer-right-0.5 -univer-top-0.5 univer-z-10 univer-flex univer-items-center univer-justify-center univer-bg-white univer-backdrop-blur dark:!univer-bg-black`,children:J(`div`,{className:`univer-size-10 univer-animate-spin univer-rounded-full univer-border-4 univer-border-solid univer-border-gray-100 univer-border-t-primary-500`})}),J(`div`,{className:e?`univer-pointer-events-none univer-blur-sm`:``,children:t})]}),Fb=()=>{let e=V(Ue),t=V(P),n=V(Me),r=V(Bo),i=V(pn),a=V(Le),o=t.getCurrentUnitForType(L.UNIVER_SHEET),s=o.getActiveSheet();if(!s)throw Error(`No active sheet found`);let[c,l]=q([]),u=V(N),[d,f]=q(()=>!!r.getRule(o.getUnitId(),s.getSheetId())),[p,m]=q(()=>Object.keys(Gd).reduce((t,n)=>(t[n]={text:e.t(`permission.panel.${Gd[Number(n)]}`),allowed:!0},t),{}));Us(()=>{(async()=>{let e=o.getUnitId();l(await n.listCollaborators({objectID:e,unitID:e}))})()},[]),Us(()=>{(async()=>{let t=o.getUnitId(),i=r.getRule(t,s.getSheetId());i&&(f(!0),m((await n.list({unitID:o.getUnitId(),objectIDs:[i.permissionId],actions:Kd}))[0].strategies.reduce((t,n)=>(Gd[n.action]&&(t[n.action]={text:e.t(`permission.panel.${Gd[n.action]}`),allowed:n.role!==Bs.Owner}),t),{})),setTimeout(()=>{f(!1)},100))})()},[]);let h=async()=>{let e=t.getCurrentUnitForType(L.UNIVER_SHEET),i=e==null?void 0:e.getActiveSheet();if(!i)throw Error(`No active sheet found`);let o=e.getUnitId(),s=i.getSheetId(),l=r.getRule(o,s),d=Object.keys(p).map(e=>({action:Number(e),role:p[e].allowed?Bs.Editor:Bs.Owner})),f=l==null?void 0:l.permissionId;f?n.update({objectType:zs.Worksheet,objectID:f,unitID:o,strategies:d,share:void 0,name:``,scope:{read:Ls.AllCollaborator,edit:Ls.AllCollaborator},collaborators:void 0}).then(()=>{os().forEach(e=>{let t=new e(o,s),n=t.subType,r=d.find(e=>e.action===n);r&&a.updatePermissionPoint(t.id,r.role===Bs.Editor)})}):(f=await n.create({objectType:zs.Worksheet,worksheetObject:{unitID:o,collaborators:c,name:``,strategies:d,scope:{read:Ls.AllCollaborator,edit:Ls.AllCollaborator}}}),u.executeCommand(Qa.id,{rule:{permissionId:f,unitId:o,subUnitId:s}}))};return J(Pb,{loading:d,children:Y(`div`,{className:gc(`univer-flex univer-flex-col`,hc),children:[Object.keys(p).map(e=>{let t=p[e],{text:n,allowed:r}=t;return Y(`div`,{className:`univer-my-1.5 univer-flex univer-h-5 univer-items-center univer-justify-between univer-leading-5`,children:[J(`div`,{children:n}),J(lc,{defaultChecked:r,onChange:()=>{m({...p,[e]:{...t,allowed:!r}})}})]},n)}),Y(`div`,{className:gc(`univer-flex univer-h-9 univer-items-center univer-justify-end univer-gap-2 univer-pt-2`,hc),children:[J(Js,{onClick:()=>{i.close(Wd)},children:e.t(`permission.button.cancel`)}),J(Js,{variant:`primary`,onClick:()=>{h(),i.close(Wd)},children:e.t(`permission.button.confirm`)})]})]})})},Ib=()=>{var e;let[t,n]=q(``),r=V(Ue),i=V(pn),a=V(Zd),o=Hn(a.userList$,a.userList),s=(e=o==null?void 0:o.filter(e=>{var n;return((n=e.subject)==null?void 0:n.name.toLocaleLowerCase().includes(t.toLocaleLowerCase()))&&e.role===Bs.Editor}))==null?[]:e,[c,l]=q(a.selectUserList),u=e=>{if((c==null?void 0:c.findIndex(t=>{var n,r;return((n=t.subject)==null?void 0:n.userID)===((r=e.subject)==null?void 0:r.userID)}))===-1){let t={...e};l([...c,t])}else l(c.filter(t=>{var n,r;return((n=t.subject)==null?void 0:n.userID)!==((r=e.subject)==null?void 0:r.userID)}))};return Y(`div`,{children:[J(`div`,{children:J(nc,{className:`univer-w-full`,placeholder:r.t(`permission.dialog.search`),value:t,onChange:e=>n(e)})}),J(`div`,{className:gc(`univer-h-60 univer-overflow-y-auto`,_c),children:(s==null?void 0:s.length)>0?s==null?void 0:s.map(e=>{var t,n,r;return Y(`div`,{className:`univer-my-2 univer-flex univer-items-center univer-rounded-md hover:univer-bg-gray-50`,onClick:()=>u(e),children:[J(qs,{src:(n=e.subject)==null?void 0:n.avatar,size:24}),J(`div`,{className:`univer-ml-1.5 univer-flex-1`,children:(r=e.subject)==null?void 0:r.name}),(c==null?void 0:c.findIndex(t=>{var n,r;return((n=t.subject)==null?void 0:n.userID)===((r=e.subject)==null?void 0:r.userID)}))!==-1&&J(`div`,{children:J(yc,{})})]},(t=e.subject)==null?void 0:t.userID)}):Y(`div`,{className:`univer-flex univer-h-full univer-flex-col univer-items-center`,children:[J(`img`,{className:`univer-w-full`,src:`data:image/png;base64,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`,alt:`empty list`,draggable:!1}),J(`p`,{className:`univer-text-sm univer-text-gray-400`,children:r.t(`permission.dialog.userEmpty`)})]})}),J(`div`,{className:`univer-h-px univer-w-full univer-bg-gray-200`}),Y(`div`,{className:`univer-flex univer-items-center univer-justify-end univer-gap-1 univer-py-2`,children:[J(Js,{onClick:()=>i.close(Ud),children:r.t(`permission.button.cancel`)}),J(Js,{variant:`primary`,onClick:()=>{a.setSelectUserList(c),i.close(Ud)},children:r.t(`permission.button.confirm`)})]})]})},Lb=({errorMsg:e})=>{let t=V(Ue);return J(`div`,{children:J(`p`,{className:`univer-m-0`,children:e||t.t(`permission.dialog.alertContent`)})})},Rb=`data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNCIgaGVpZ2h0PSI0IiB2aWV3Qm94PSIwIDAgNCA0IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8bWFzayBpZD0ibWFzazBfNzU5XzExMDgiIHN0eWxlPSJtYXNrLXR5cGU6YWxwaGEiIG1hc2tVbml0cz0idXNlclNwYWNlT25Vc2UiIHg9IjAiIHk9IjAiIHdpZHRoPSI0IiBoZWlnaHQ9IjQiPgo8cmVjdCB3aWR0aD0iNCIgaGVpZ2h0PSI0IiBmaWxsPSIjRDZEOEQ5Ii8+CjwvbWFzaz4KPGcgbWFzaz0idXJsKCNtYXNrMF83NTlfMTEwOCkiPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTS0zLjY0MDAyIDMuNDQxNDFMMi4wNzM5NyAtMi4yNzI1OEwyLjc4MTA4IC0xLjU2NTQ4TC0yLjkzMjkxIDQuMTQ4NTJMLTMuNjQwMDIgMy40NDE0MVoiIGZpbGw9IiNENkQ4REIiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0tMS41MTg2OCA1LjU2Mjc1TDQuMTk1MzEgLTAuMTUxMjQ1TDQuOTAyNDIgMC41NTU4NjJMLTAuODExNTc1IDYuMjY5ODZMLTEuNTE4NjggNS41NjI3NVoiIGZpbGw9IiNENkQ4REIiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0wLjYwMjY1NiA3LjY4NDAzTDYuMzE2NjUgMS45NzAwM0w3LjAyMzc2IDIuNjc3MTRMMS4zMDk3NiA4LjM5MTEzTDAuNjAyNjU2IDcuNjg0MDNaIiBmaWxsPSIjRDZEOERCIi8+CjwvZz4KPC9zdmc+`,zb=`RANGE_PROTECTION_CAN_VIEW_RENDER_EXTENSION_KEY`,Bb=`RANGE_PROTECTION_CAN_NOT_VIEW_RENDER_EXTENSION_KEY`;var Vb=class extends sr{constructor(e){super(),X(this,`_pattern`,null),X(this,`_img`,new Image),X(this,`renderCache`,new Set),X(this,`_shadowStrategy`,`always`),this._img.src=Rb,e&&(this._shadowStrategy=e)}clearCache(){this.renderCache.clear()}setShadowStrategy(e){this._shadowStrategy=e,this.clearCache()}getShadowStrategy(){return this._shadowStrategy}draw(e,t,n){let{worksheet:r}=n;r&&(e.save(),this._pattern||(this._pattern=e.createPattern(this._img,`repeat`)),this.renderCache.clear(),Ze.foreach(n.rowColumnSegment,(t,i)=>{if(!r.getRowVisible(t)||!r.getColVisible(i))return;let{selectionProtection:a=[]}=r.getCell(t,i)||{};this._pattern&&(e.fillStyle=this._pattern,a.forEach(t=>{if(t.ruleId&&this.shouldRender(t)){if(this.renderCache.has(t.ruleId))return;this.renderCache.add(t.ruleId),t.ranges.forEach(t=>{let r=n.getCellWithCoordByIndex(t.startRow,t.startColumn,!1),i=n.getCellWithCoordByIndex(t.endRow,t.endColumn,!1);e.fillRect(r.startX,r.startY,i.endX-r.startX,i.endY-r.startY)})}}))}),e.restore())}},Hb=class extends Vb{constructor(e){super(e),X(this,`uKey`,zb),X(this,`Z_INDEX`,25)}shouldRender(e){return this._shadowStrategy===`none`?!1:this._shadowStrategy===`non-editable`?(e==null?void 0:e[Rs.View])!==!1&&(e==null?void 0:e[Rs.Edit])===!1:this._shadowStrategy===`non-viewable`?(e==null?void 0:e[Rs.View])===!1:(e==null?void 0:e[Rs.View])!==!1}},Ub=class extends Vb{constructor(e){super(e),X(this,`uKey`,Bb),X(this,`Z_INDEX`,80)}shouldRender(e){return this._shadowStrategy===`none`?!1:(e==null?void 0:e[Rs.View])===!1}};const Wb=`worksheet-protection`;var Gb=class extends sr{constructor(e){super(),X(this,`uKey`,Wb),X(this,`Z_INDEX`,25),X(this,`_pattern`,void 0),X(this,`_img`,new Image),X(this,`_shadowStrategy`,`always`),this._img.src=Rb,e&&(this._shadowStrategy=e)}draw(e,t,n){let{worksheet:r}=n;if(!r)return!1;e.save(),this._pattern||(this._pattern=e.createPattern(this._img,`repeat`));let{startRow:i,startColumn:a,endRow:o,endColumn:s}=n.rowColumnSegment,c=n.getCellWithCoordByIndex(i,a,!1),l=n.getCellWithCoordByIndex(o,s,!1),{hasWorksheetRule:u=!1,selectionProtection:d=[]}=r.getCell(i,a)||{};if(!this._pattern)return;if(d.length>0){let e=d[0];e!=null&&e[Rs.View]?this.setZIndex(25):this.setZIndex(80)}e.fillStyle=this._pattern;let f=u;if(this._shadowStrategy===`none`)f=!1;else if(u&&d.length>0){let e=d[0];this._shadowStrategy===`non-editable`?f=(e==null?void 0:e[Rs.Edit])===!1:this._shadowStrategy===`non-viewable`&&(f=(e==null?void 0:e[Rs.View])===!1)}f&&e.fillRect(c.startX,c.startY,l.endX-c.startX,l.endY-c.startY),e.restore()}setShadowStrategy(e){this._shadowStrategy=e}getShadowStrategy(){return this._shadowStrategy}setZIndex(e){this.Z_INDEX=e}};let Kb=class extends M{constructor(e,t){super(),this._injector=e,this._componentManager=t,this._init()}_init(){this._initComponents(),this._initUiPartComponents()}_initComponents(){[[qd,Ic],[`sheet-permission-delete-icon`,Sc],[`sheet-permission-edit-icon`,Rc],[`sheet-permission-check-icon`,yc],[Jd,Ac],[zd,Nb],[Vd,Ib],[Hd,Fb],[ah,Lb]].forEach(([e,t])=>{this.disposeWithMe(this._componentManager.register(e,t))})}_initUiPartComponents(){let e=this._injector.get(Ne).getConfig(rp);if(e!=null&&e.protectedRangeUserSelector){let{component:t,framework:n}=e.protectedRangeUserSelector;this.disposeWithMe(this._componentManager.register(Bd,t,{framework:n}))}}};Kb=Q([Z(0,F(ze)),Z(1,F(Jt))],Kb);let qb=class extends M{constructor(e,t,n,r,i){super(),this._context=e,this._rangeProtectionRuleModel=t,this._sheetSkeletonManagerService=n,this._permissionService=r,this._configService=i,X(this,`_rangeProtectionCanViewRenderExtension`,void 0),X(this,`_rangeProtectionCanNotViewRenderExtension`,void 0);let a=this._configService.getConfig(rp),o=ap(a==null?void 0:a.protectedRangeShadow);this._rangeProtectionCanViewRenderExtension=new Hb(o),this._rangeProtectionCanNotViewRenderExtension=new Ub(o),this._initSkeleton(),this._initRender(),this.disposeWithMe(this._rangeProtectionRuleModel.ruleChange$.subscribe(e=>{var t,n;((t=e.oldRule)!=null&&t.id&&this._rangeProtectionCanViewRenderExtension.renderCache.has(e.oldRule.id)||this._rangeProtectionCanViewRenderExtension.renderCache.has(e.rule.id))&&this._rangeProtectionCanViewRenderExtension.clearCache(),((n=e.oldRule)!=null&&n.id&&this._rangeProtectionCanNotViewRenderExtension.renderCache.has(e.oldRule.id)||this._rangeProtectionCanNotViewRenderExtension.renderCache.has(e.rule.id))&&this._rangeProtectionCanNotViewRenderExtension.clearCache()}))}_initRender(){let e=this._context.mainComponent;e&&(e.getExtensionByKey(`RANGE_PROTECTION_CAN_VIEW_RENDER_EXTENSION_KEY`)||e.register(this._rangeProtectionCanViewRenderExtension),e.getExtensionByKey(`RANGE_PROTECTION_CAN_NOT_VIEW_RENDER_EXTENSION_KEY`)||e.register(this._rangeProtectionCanNotViewRenderExtension))}_initSkeleton(){this.disposeWithMe(Ts(this._permissionService.permissionPointUpdate$.pipe(js(300,void 0,{trailing:!0})),this._rangeProtectionRuleModel.rangeRuleInitStateChange$,this._rangeProtectionRuleModel.ruleChange$).pipe().subscribe(()=>{var e;this._sheetSkeletonManagerService.reCalculate(),(e=this._context.mainComponent)==null||e.makeDirty()}))}};qb=Q([Z(1,F(Fi)),Z(2,F(Vl)),Z(3,Le),Z(4,Ne)],qb);let Jb=class extends M{constructor(e,t,n,r,i){super(),this._context=e,this._renderManagerService=t,this._sheetSkeletonManagerService=n,this._worksheetProtectionRuleModel=r,this._configService=i,X(this,`_worksheetProtectionRenderExtension`,void 0);let a=this._configService.getConfig(rp),o=ap(a==null?void 0:a.protectedRangeShadow);this._worksheetProtectionRenderExtension=new Gb(o),this._initSkeleton(),o!==`none`&&this._initRender()}_initRender(){let e=this._context.unitId,t=e&&this._renderManagerService.getRenderById(e),n=t&&t.mainComponent;n&&(n.getExtensionByKey(`worksheet-protection`)||n.register(this._worksheetProtectionRenderExtension))}_initSkeleton(){this.disposeWithMe(Ts(this._worksheetProtectionRuleModel.worksheetRuleInitStateChange$).pipe().subscribe(()=>{var e;this._sheetSkeletonManagerService.reCalculate(),(e=this._context.mainComponent)==null||e.makeDirty()}))}};Jb=Q([Z(1,F(Xn)),Z(2,F(Vl)),Z(3,F(Vo)),Z(4,F(Ne))],Jb);let Yb=class extends M{constructor(e,t,n,r){super(),this._context=e,this._sheetSkeletonManagerService=t,this._sheetClipboardService=n,this._sheetClipboardController=r,this._initialize()}_initialize(){this.disposeWithMe(Vt(this._sheetSkeletonManagerService.currentSkeleton$.subscribe(e=>{if(!(e!=null&&e.unitId)||!this._sheetClipboardService.getPasteMenuVisible())return;let t=this._sheetClipboardService.getPasteOptionsCache(),n=t==null?void 0:t.target.unitId;e.unitId===n&&this._sheetClipboardController.refreshOptionalPaste()})))}};Yb=Q([Z(1,F(Vl)),Z(2,Uu),Z(3,F(zm))],Yb);let Xb=class extends M{constructor(e,t,n,r){super(),this._context=e,this._formatPainterService=t,this._selectionRenderService=n,this._commandService=r,this._initialize()}_initialize(){this._bindFormatPainterStatus(),this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._selectionRenderService.selectionMoveEnd$.subscribe(e=>{if(this._formatPainterService.getStatus()!==uf.OFF){var t;let{rangeWithCoord:n}=e[e.length-1];this._commandService.executeCommand(gf.id,{unitId:this._context.unitId,subUnitId:((t=this._context.unit.getActiveSheet())==null?void 0:t.getSheetId())||``,range:{startRow:n.startRow,startColumn:n.startColumn,endRow:n.endRow,endColumn:n.endColumn}}),this._formatPainterService.getStatus()===uf.ONCE&&this._commandService.executeCommand(hf.id)}}))}_bindFormatPainterStatus(){this.disposeWithMe(Vt(this._formatPainterService.status$.subscribe(e=>{let t=this._context.scene;t&&(e===uf.OFF?t.setDefaultCursor(Wn.DEFAULT):t.setDefaultCursor(Wn.CELL))})))}};Xb=Q([Z(1,df),Z(2,Il),Z(3,N)],Xb);let Zb=function(e){return e[e.NORMAL=0]=`NORMAL`,e[e.HIGHLIGHT=1]=`HIGHLIGHT`,e}({});const Qb=`rgb(0, 0, 0)`,$b=`rgb(255, 255, 255, 1)`;var ex=class extends or{constructor(e,t){super(e,t),X(this,`_size`,12),X(this,`_iconRatio`,.4),X(this,`_mode`,Zb.NORMAL),this.setShapeProps(t)}setShapeProps(e){e!=null&&e.size&&(this._size=e.size),e!=null&&e.mode&&(this._mode=e.mode),this.transformByState({width:this._size,height:this._size})}_draw(e){this._mode===Zb.HIGHLIGHT&&er.drawWith(e,{width:this._size,height:this._size,radius:this._size,fill:`rgba(0, 0, 0, 0.15)`});let t=this._size*.5*this._iconRatio,n=Math.PI/180*60,r=t*Math.sin(n),i=t*Math.cos(n);tr.drawWith(e,{pointsGroup:[[{x:-r+this._size/2,y:-i+this._size/2},{x:r+this._size/2,y:-i+this._size/2},{x:this._size/2,y:t+this._size/2}]],fill:Qb})}},tx=function(e){return e[e.ROW=0]=`ROW`,e[e.COLUMN=1]=`COLUMN`,e}(tx||{});let nx=class extends M{constructor(e,t,n,r,i){super(),this._context=e,this._sheetSkeletonManagerService=t,this._contextMenuService=n,this._commandService=r,this._selectionManagerService=i,X(this,`_hoverRect`,void 0),X(this,`_hoverMenu`,void 0),X(this,`_currentColumn`,1/0),X(this,`_headerPointerSubs`,void 0),X(this,`_colHeaderPointerSubs`,void 0),this._initialize()}dispose(){var e,t,n;(e=this._hoverRect)==null||e.dispose(),(t=this._hoverMenu)==null||t.dispose(),(n=this._headerPointerSubs)==null||n.unsubscribe(),this._headerPointerSubs=null}_initialize(){let e=this._context.scene;this._hoverRect=new er(`__SpreadsheetHeaderMenuSHAPEControllerShape__`,{fill:`rgba(0, 0, 0, 0.1)`,evented:!1}),this._hoverMenu=new ex(`__SpreadsheetHeaderMenuMAINControllerShape__`,{zIndex:100,visible:!1}),e.addObjects([this._hoverRect,this._hoverMenu],10),this._initialHover(tx.ROW),this._initialHover(tx.COLUMN),this._initialHoverMenu()}_initialHover(e=tx.ROW){var t,n,r;let i=this._context.components.get(Ol.COLUMN),a=this._context.components.get(Ol.ROW),o=e===tx.ROW?a:i,s=t=>{var n;let r=(n=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:n.skeleton;if(r==null)return;let{rowHeaderWidth:i,columnHeaderHeight:a}=r,{startX:o,startY:s,endX:c,endY:l,column:u}=Pf(t.offsetX,t.offsetY,this._context.scene,r);if(e===tx.ROW){var d;(d=this._hoverRect)==null||d.transformByState({width:i,height:l-s,left:0,top:s})}else{var f;if(this._currentColumn=u,(f=this._hoverRect)==null||f.transformByState({width:c-o,height:a,left:o,top:0}),this._hoverMenu==null)return;if(c-o<a*2){this._hoverMenu.hide();return}let e=a*.8;this._hoverMenu.transformByState({left:c-a,top:a/2-e/2}),this._hoverMenu.setShapeProps({size:e}),this._hoverMenu.show()}},c=()=>{var e;(e=this._hoverRect)==null||e.show()},l=()=>{var e,t;(e=this._hoverRect)==null||e.hide(),(t=this._hoverMenu)==null||t.hide()};this._headerPointerSubs=new ys;let u=o.onPointerMove$.subscribeEvent(s),d=o.onPointerEnter$.subscribeEvent(c),f=o.onPointerLeave$.subscribeEvent(l);(t=this._headerPointerSubs)==null||t.add(u),(n=this._headerPointerSubs)==null||n.add(d),(r=this._headerPointerSubs)==null||r.add(f)}_initialHoverMenu(){this._hoverMenu!=null&&(this._hoverMenu.onPointerEnter$.subscribeEvent(()=>{this._hoverMenu!=null&&(this._hoverMenu.setProps({mode:Zb.HIGHLIGHT,visible:!0}),this._context.scene.setCursor(Wn.POINTER))}),this._hoverMenu.onPointerLeave$.subscribeEvent(()=>{this._hoverMenu!=null&&(this._hoverMenu.setProps({mode:Zb.NORMAL,visible:!1}),this._context.scene.resetCursor())}),this._hoverMenu.onPointerDown$.subscribeEvent(e=>{var t;let n=this._currentColumn,r=(t=this._selectionManagerService.getCurrentSelections())==null?void 0:t.map(e=>e.range);if(!(r!=null&&r.filter(e=>e.rangeType===I.COLUMN).find(e=>{let{startColumn:t,endColumn:r}=e;return n>=t&&n<=r}))){let e=this._getSelectionOnColumn(n);this._commandService.syncExecuteCommand(Aa.id,e)}e.stopPropagation(),e.preventDefault(),this._contextMenuService.triggerContextMenu(e,Xt.COL_HEADER)}))}_getSelectionOnColumn(e){let t=this._context.unit,n=t.getActiveSheet();if(!n)throw Error(`No active worksheet`);return{unitId:t.getUnitId(),subUnitId:n.getSheetId(),selections:[{range:{startRow:0,startColumn:e,endRow:n.getRowCount()-1,endColumn:e,rangeType:I.COLUMN},primary:{startRow:0,startColumn:e,endRow:0,endColumn:e,actualRow:0,actualColumn:e,isMerged:!1,isMergedMainCell:!1},style:null}]}}};nx=Q([Z(1,F(Vl)),Z(2,fn),Z(3,N),Z(4,F(W))],nx);let rx=function(e){return e[e.ROW=0]=`ROW`,e[e.COLUMN=1]=`COLUMN`,e}({});var ix=class extends or{constructor(e,t,n){super(e,t),X(this,`_size`,12),X(this,`_iconRatio`,.4),X(this,`_hovered`,!0),X(this,`_hasPrevious`,!0),X(this,`_hasNext`,!0),X(this,`_unhideType`,void 0),t&&this.setShapeProps(t),this.onPointerEnter$.subscribeEvent(()=>this.setShapeProps({hovered:!0})),this.onPointerLeave$.subscribeEvent(()=>this.setShapeProps({hovered:!1})),this.onPointerDown$.subscribeEvent(()=>n==null?void 0:n())}setShapeProps(e){e.type!==void 0&&(this._unhideType=e.type),e.hovered!==void 0&&(this._hovered=e.hovered),e.hasPrevious!==void 0&&(this._hasPrevious=e.hasPrevious),e.hasNext!==void 0&&(this._hasNext=e.hasNext),this.transformByState({width:this._size*(this._unhideType===rx.COLUMN?2:1),height:this._size*(this._unhideType===rx.ROW?2:1)})}_draw(e){this._unhideType===rx.ROW?this._drawOnRow(e):this._drawOnCol(e)}_drawOnRow(e){this._hovered&&(!this._hasNext||!this._hasPrevious?er.drawWith(e,{width:this._size,height:this._size,stroke:Qb,fill:$b}):er.drawWith(e,{width:this._size,height:2*this._size,stroke:Qb,fill:$b}));let t=this._size*.5*this._iconRatio,n=Math.PI/3,r=t*Math.cos(n),i=t*Math.sin(n);if(this._hasPrevious&&tr.drawWith(e,{pointsGroup:[[{x:this._size/2,y:this._size/2-i},{x:this._size/2-i,y:this._size/2+r},{x:this._size/2+i,y:this._size/2+r}]],fill:Qb}),this._hasNext){let t=this._hasPrevious?3:1;tr.drawWith(e,{pointsGroup:[[{x:this._size/2,y:this._size*t/2+i},{x:this._size/2-i,y:this._size*t/2-r},{x:this._size/2+i,y:this._size*t/2-r}]],fill:Qb})}}_drawOnCol(e){this._hovered&&(!this._hasNext||!this._hasPrevious?er.drawWith(e,{width:this._size,height:this._size,stroke:Qb,fill:$b}):er.drawWith(e,{width:2*this._size,height:this._size,stroke:Qb,fill:$b}));let t=this._size*.5*this._iconRatio,n=Math.PI/3,r=t*Math.cos(n),i=t*Math.sin(n);if(this._hasPrevious&&tr.drawWith(e,{pointsGroup:[[{x:-r+this._size/2,y:this._size/2},{x:this._size/2+i,y:this._size/2-i},{x:this._size/2+i,y:this._size/2+i}]],fill:Qb}),this._hasNext){let t=this._hasPrevious?3:1;tr.drawWith(e,{pointsGroup:[[{x:r+this._size*t/2,y:this._size/2},{x:-i+this._size*t/2,y:this._size/2-i},{x:-i+this._size*t/2,y:this._size/2+i}]],fill:Qb})}}};const ax=`__SpreadsheetHeaderUnhideSHAPEControllerShape__`;let ox=class extends $e{get _workbook(){return this._context.unit}constructor(e,t,n){super(),this._context=e,this._sheetSkeletonManagerService=t,this._commandService=n,X(this,`_shapes`,{cols:[],rows:[]}),this._init()}dispose(){super.dispose(),this._clearShapes()}_init(){let e=``;this._context.unit.activeSheet$.pipe(As(this.dispose$)).subscribe(t=>{if(this._clearShapes(),!t){e=``;return}e=t.getSheetId(),this._update(this._workbook,t)}),this.disposeWithMe(this._sheetSkeletonManagerService.currentSkeleton$.subscribe(t=>{if(t){let{unitId:n,sheetId:r}=t;if(n===this._workbook.getUnitId()&&r===e){let e=this._workbook.getSheetBySheetId(r);e&&this._update(this._workbook,e)}}}))}_update(e,t){var n;let r=(n=this._sheetSkeletonManagerService.getSkeletonParam(t.getSheetId()))==null?void 0:n.skeleton;if(!r)return;let i=t.getHiddenRows(),a=t.getHiddenCols(),{scene:o}=this._getSheetObject(),s=t.getRowCount(),c=i.map(n=>{let{startRow:i,endRow:a}=n,c=Nf(i,0,o,r),l=i!==0,u=a!==s-1;return new ix(ax,{type:rx.ROW,hovered:!1,hasPrevious:l,hasNext:u,top:c.startY-(l?12:0),left:c.startX-12},()=>this._commandService.executeCommand(Ma.id,{unitId:e.getUnitId(),subUnitId:t.getSheetId(),ranges:[n]}))}),l=t.getColumnCount(),u=a.map(n=>{let{startColumn:i,endColumn:a}=n,s=Nf(0,i,o,r),c=i!==0,u=a!==l-1;return new ix(ax,{type:rx.COLUMN,hovered:!1,hasPrevious:c,hasNext:u,top:8,left:s.startX-(c?12:0)},()=>this._commandService.executeCommand(ja.id,{unitId:e.getUnitId(),subUnitId:t.getSheetId(),ranges:[n]}))});o.addObjects(u,12),o.addObjects(c,12),this._clearShapes(),this._shapes={cols:u,rows:c}}_clearShapes(){this._shapes.cols.forEach(e=>e.dispose()),this._shapes.rows.forEach(e=>e.dispose()),this._shapes={cols:[],rows:[]}}_getSheetObject(){return Mf(this._workbook,this._context)}};ox=Q([Z(1,F(Vl)),Z(2,N)],ox);const sx=`MOBILE_PINCH_ZOOMING`,cx=`MOBILE_EXPANDING_SELECTION`,lx=new Set([H.VIEW_MAIN,H.VIEW_MAIN_LEFT,H.VIEW_MAIN_TOP,H.VIEW_LEFT_TOP]),ux=[Wl.Selection,Wl.top,Wl.bottom,Wl.left,Wl.right,Wl.fillTopLeft,Wl.fillBottomRight,Wl.backgroundTop,Wl.backgroundMiddleLeft,Wl.backgroundMiddleRight,Wl.backgroundBottom];function dx(e){return!!e&&ux.some(t=>e.startsWith(t))}function fx(e,t){return e.some(e=>Qe.contains(`range`in e?e.range:e,t))}let px=class extends M{constructor(e,t,n,r,i,a,o){super(),this._context=e,this._layoutService=t,this._contextMenuService=n,this._contextService=r,this._renderManagerService=i,this._selectionManagerService=a,this._sheetSkeletonManagerService=o,this._init()}_init(){let e=this._layoutService.getContentElement();if(!e)return;let t=this._createLongPressState(),n=n=>this._handleTouchStart(e,t,n),r=n=>this._handleTouchMove(e,t,n),i=e=>this._handleTouchEnd(t,e);e.addEventListener(`touchstart`,n,{passive:!0}),e.addEventListener(`touchmove`,r,{passive:!0}),e.addEventListener(`touchend`,i,{passive:!1}),e.addEventListener(`touchcancel`,i,{passive:!1}),this.disposeWithMe(Vt(()=>{this._clearLongPressTimer(t),e.removeEventListener(`touchstart`,n),e.removeEventListener(`touchmove`,r),e.removeEventListener(`touchend`,i),e.removeEventListener(`touchcancel`,i)}))}_createLongPressState(){return{longPressTimer:null,activeTouch:null,longPressTriggered:!1,selectionSnapshot:[],shouldRestoreSelectionSnapshot:!1}}_clearLongPressTimer(e){e.longPressTimer&&(clearTimeout(e.longPressTimer),e.longPressTimer=null)}_resetLongPressState(e){this._clearLongPressTimer(e),e.activeTouch=null}_getTouchOffset(e,t){let n=e.getBoundingClientRect();return{clientX:t.clientX,clientY:t.clientY,offsetX:t.clientX-n.left,offsetY:t.clientY-n.top}}_getMainAreaViewport(e,t){let{scene:n}=this._context,r=n.getActiveViewportByCoord(fr.FromArray([e,t]));return!r||!lx.has(r.viewportKey)?null:r}_getTargetCellByOffset(e,t){var n;let r=(n=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:n.skeleton,i=this._getMainAreaViewport(e,t),{scene:a}=this._context;if(!r||!i)return null;let o=a.getCoordRelativeToViewport(fr.FromArray([e,t])),s=a.getScrollXYInfoByViewport(o,i),{scaleX:c,scaleY:l}=a.getAncestorScale();return r.getCellWithCoordByOffset(o.x-s.x,o.y-s.y,c,l,s)}_getCurrentRenderSelections(){var e;let t=this._renderManagerService.getRenderById(this._context.unitId),n=t==null?void 0:t.with(Il);return(e=n==null?void 0:n.getSelectionControls().map(e=>es(e.getValue())))==null?[]:e}_cloneSelections(e){return e.map(e=>({range:{...e.range},primary:e.primary?{...e.primary}:e.primary,style:e.style?{...e.style}:e.style}))}_getSelectionSnapshot(){let e=this._getCurrentRenderSelections();return e.length?this._cloneSelections(e):this._cloneSelections(this._selectionManagerService.getCurrentSelections())}_restoreSelectionSnapshot(e){let t=this._context.unit.getActiveSheet();!t||!e.length||this._selectionManagerService.setSelections(this._context.unitId,t.getSheetId(),this._cloneSelections(e),ra.MOVE_END)}_replaceSelectionWithTargetCell(e){let t=this._context.unit.getActiveSheet();t&&this._selectionManagerService.setSelections(this._context.unitId,t.getSheetId(),[{range:{startRow:e.mergeInfo.startRow,endRow:e.mergeInfo.endRow,startColumn:e.mergeInfo.startColumn,endColumn:e.mergeInfo.endColumn,rangeType:I.NORMAL,unitId:this._context.unitId,sheetId:t.getSheetId()},primary:$o(e),style:null}],ra.MOVE_END)}_openMenu(e,t){this._contextMenuService.triggerContextMenu({clientX:e,clientY:t,preventDefault:()=>{},stopPropagation:()=>{}},Xt.MAIN_AREA)}_triggerLongPressMenu(e){if(!e.activeTouch||this._contextMenuService.visible||this._contextService.getContextValue(`MOBILE_PINCH_ZOOMING`)||this._contextService.getContextValue(`MOBILE_EXPANDING_SELECTION`))return;let t=this._getTargetCellByOffset(e.activeTouch.offsetX,e.activeTouch.offsetY);if(!t)return;let n=this._context.scene.pick(fr.FromArray([e.activeTouch.offsetX,e.activeTouch.offsetY])),r=e.selectionSnapshot.map(e=>e.range),i=dx(n==null?void 0:n.oKey)||fx(r,t.mergeInfo);e.longPressTriggered=!0,e.shouldRestoreSelectionSnapshot=i,i&&(this._restoreSelectionSnapshot(e.selectionSnapshot),queueMicrotask(()=>this._restoreSelectionSnapshot(e.selectionSnapshot))),this._openMenu(e.activeTouch.clientX,e.activeTouch.clientY),i||queueMicrotask(()=>this._replaceSelectionWithTargetCell(t))}_handleTouchStart(e,t,n){if(n.touches.length!==1||this._contextMenuService.visible){this._resetLongPressState(t);return}if(this._contextService.getContextValue(`MOBILE_PINCH_ZOOMING`)||this._contextService.getContextValue(`MOBILE_EXPANDING_SELECTION`)){this._resetLongPressState(t);return}let r=this._getTouchOffset(e,n.touches[0]);if(!this._getTargetCellByOffset(r.offsetX,r.offsetY)){this._resetLongPressState(t);return}t.longPressTriggered=!1,t.shouldRestoreSelectionSnapshot=!1,t.selectionSnapshot=this._getSelectionSnapshot(),t.activeTouch=r,this._clearLongPressTimer(t),t.longPressTimer=setTimeout(()=>this._triggerLongPressMenu(t),500)}_handleTouchMove(e,t,n){if(!t.activeTouch||n.touches.length!==1){this._resetLongPressState(t);return}let r=this._getTouchOffset(e,n.touches[0]);(Math.abs(r.offsetX-t.activeTouch.offsetX)>10||Math.abs(r.offsetY-t.activeTouch.offsetY)>10)&&this._resetLongPressState(t)}_handleTouchEnd(e,t){e.longPressTriggered&&(t.preventDefault(),e.shouldRestoreSelectionSnapshot&&queueMicrotask(()=>this._restoreSelectionSnapshot(e.selectionSnapshot))),e.longPressTriggered=!1,e.shouldRestoreSelectionSnapshot=!1,this._resetLongPressState(e)}};px=Q([Z(1,mn),Z(2,fn),Z(3,Fe),Z(4,Xn),Z(5,F(W)),Z(6,F(Vl))],px);const mx=`__MobileHeaderResizeControllerShapeHelper__`,hx=`rgb(199, 199, 199)`;let gx=class extends M{constructor(e,t,n,r,i,a){super(),this._context=e,this._sheetSkeletonManagerService=t,this._selectionManagerService=n,this._commandService=r,this._contextService=i,this._scrollManagerService=a,X(this,`_currentRow`,-1),X(this,`_currentColumn`,-1),X(this,`_rowResizeButton`,void 0),X(this,`_columnResizeButton`,void 0),X(this,`_resizeHelperShape`,void 0),X(this,`_isDragging`,!1),X(this,`_touchStartX`,0),X(this,`_touchStartY`,0),X(this,`_touchMoveHandler`,void 0),X(this,`_touchEndHandler`,void 0),X(this,`_selectionSubscription`,void 0),X(this,`_scrollSubscription`,void 0),this._init()}dispose(){var e,t,n,r,i;(e=this._rowResizeButton)==null||e.dispose(),this._rowResizeButton=null,(t=this._columnResizeButton)==null||t.dispose(),this._columnResizeButton=null,(n=this._resizeHelperShape)==null||n.dispose(),this._resizeHelperShape=null,(r=this._selectionSubscription)==null||r.unsubscribe(),this._selectionSubscription=null,(i=this._scrollSubscription)==null||i.unsubscribe(),this._scrollSubscription=null,this._cleanupTouchHandlers(),super.dispose()}_init(){this._initResizeShapes(),this._initSelectionListener(),this._initScrollListener()}_initResizeShapes(){let e=this._context.scene;this._rowResizeButton=new yh(`__MobileHeaderResizeControllerShapeRow__`,{visible:!1,mode:_h.HORIZONTAL,zIndex:100}),this._columnResizeButton=new yh(`__MobileHeaderResizeControllerShapeColumn__`,{visible:!1,mode:_h.VERTICAL,zIndex:100}),e.addObjects([this._rowResizeButton,this._columnResizeButton],10),this._bindTouchEventsToButton(this._rowResizeButton,`row`),this._bindTouchEventsToButton(this._columnResizeButton,`column`)}_initSelectionListener(){this._selectionSubscription=this._selectionManagerService.selectionMoveEnd$.subscribe(e=>{this._handleSelectionChange(e)}),this.disposeWithMe(this._selectionSubscription)}_initScrollListener(){this._scrollSubscription=this._scrollManagerService.validViewportScrollInfo$.subscribe(e=>{e&&this._updateButtonPositionOnScroll()}),this.disposeWithMe(this._scrollSubscription)}_handleSelectionChange(e){var t,n;if((t=this._rowResizeButton)==null||t.hide(),(n=this._columnResizeButton)==null||n.hide(),this._currentRow=-1,this._currentColumn=-1,!e||e.length===0)return;let r=e[0],i=r.range.rangeType;i===I.ROW?this._showRowResizeButton(r):i===I.COLUMN&&this._showColumnResizeButton(r)}_showRowResizeButton(e){let t=this._sheetSkeletonManagerService.getCurrentSkeleton();if(!t||!this._rowResizeButton)return;let{scene:n}=this._context,{endRow:r}=Zo(e,t).rangeWithCoord,i=t.getOffsetByRow(r),{rowHeaderWidth:a}=t,{scaleX:o,scaleY:s}=n.getAncestorScale(),c=12/Math.max(o,s);this._rowResizeButton.transformByState({left:a/2-c/2,top:i-c/2}),this._rowResizeButton.setShapeProps({size:Math.min(44,a/3)}),this._currentRow=r,this._rowResizeButton.show()}_showColumnResizeButton(e){let t=this._sheetSkeletonManagerService.getCurrentSkeleton();if(!t||!this._columnResizeButton)return;let{scene:n}=this._context,{endColumn:r}=Zo(e,t).rangeWithCoord,i=t.getOffsetByColumn(r),{columnHeaderHeight:a}=t,{scaleX:o,scaleY:s}=n.getAncestorScale(),c=12/Math.max(o,s);this._columnResizeButton.transformByState({left:i-c/2,top:a/2-c/2}),this._columnResizeButton.setShapeProps({size:a*.7}),this._currentColumn=r,this._columnResizeButton.show()}_updateButtonPositionOnScroll(){var e,t;let n=this._sheetSkeletonManagerService.getCurrentSkeleton();if(!n)return;let{scene:r}=this._context,{scaleX:i,scaleY:a}=r.getAncestorScale(),o=12/Math.max(i,a);if((e=this._rowResizeButton)!=null&&e.visible&&this._currentRow>=0){let e=n.getOffsetByRow(this._currentRow),{rowHeaderWidth:t}=n;this._rowResizeButton.transformByState({left:t/2-o/2,top:e-o/2})}if((t=this._columnResizeButton)!=null&&t.visible&&this._currentColumn>=0){let e=n.getOffsetByColumn(this._currentColumn),{columnHeaderHeight:t}=n;this._columnResizeButton.transformByState({left:e-o/2,top:t/2-o/2})}}_bindTouchEventsToButton(e,t){e.onPointerDown$.subscribeEvent(e=>{this._contextService.getContextValue(`MOBILE_PINCH_ZOOMING`)||this._contextService.getContextValue(`MOBILE_EXPANDING_SELECTION`)||this._startResize(e,t)})}_startResize(e,t){let n=this._sheetSkeletonManagerService.getCurrentSkeleton();if(!n)return;let r=this._context.scene,i=r.getEngine(),a=i==null?void 0:i.getCanvasElement();if(!a)return;this._touchStartX=e.offsetX,this._touchStartY=e.offsetY,this._isDragging=!1;let o=t===`row`?n.getOffsetByRow(this._currentRow):n.getOffsetByColumn(this._currentColumn);this._createResizeHelper(t,o,n),r.disableObjectsEvent(),this._setupTouchHandlers(a,t,o)}_setupTouchHandlers(e,t,n){if(!this._sheetSkeletonManagerService.getCurrentSkeleton())return;let r=this._context.scene,i=this._context.unit.getActiveSheet(),a=(i==null?void 0:i.getZoomRatio())||1,o=0;this._touchMoveHandler=r=>{if(this._contextService.getContextValue(`MOBILE_PINCH_ZOOMING`)){this._cancelResize();return}if(r.touches.length!==1)return;let i=r.touches[0],s=e.getBoundingClientRect(),c=i.clientX-s.left,l=i.clientY-s.top,u=(t===`row`?l-this._touchStartY:c-this._touchStartX)/a;Math.abs(u)>=2&&(this._isDragging=!0),this._isDragging&&(o=u,this._updateResizeHelper(t,n+u),this._updateResizeButton(t,n+u)),r.preventDefault()},this._touchEndHandler=n=>{r.enableObjectsEvent(),this._isDragging&&Math.abs(o)>=2&&(t===`row`?this._commandService.executeCommand(ei.id,{deltaY:o,anchorRow:this._currentRow}):this._commandService.executeCommand($r.id,{deltaX:o,anchorCol:this._currentColumn})),this._cleanupResize(),this._touchMoveHandler&&e.removeEventListener(`touchmove`,this._touchMoveHandler),this._touchEndHandler&&(e.removeEventListener(`touchend`,this._touchEndHandler),e.removeEventListener(`touchcancel`,this._touchEndHandler)),n.preventDefault()},e.addEventListener(`touchmove`,this._touchMoveHandler,{passive:!1}),e.addEventListener(`touchend`,this._touchEndHandler,{passive:!1}),e.addEventListener(`touchcancel`,this._touchEndHandler,{passive:!1}),this.disposeWithMe(Vt(()=>{this._touchMoveHandler&&e.removeEventListener(`touchmove`,this._touchMoveHandler),this._touchEndHandler&&(e.removeEventListener(`touchend`,this._touchEndHandler),e.removeEventListener(`touchcancel`,this._touchEndHandler))}))}_createResizeHelper(e,t,n){let r=this._context.scene,{scaleX:i,scaleY:a}=r.getAncestorScale(),o=4/Math.max(i,a),s=r.getEngine(),c=(s==null?void 0:s.width)||0,l=(s==null?void 0:s.height)||0;e===`row`?this._resizeHelperShape=new er(mx,{width:Math.max(c,n.columnTotalWidth+n.rowHeaderWidth),height:o,fill:hx,left:0,top:t-o/2}):this._resizeHelperShape=new er(mx,{width:o,height:Math.max(l,n.rowTotalHeight+n.columnHeaderHeight),fill:hx,left:t-o/2,top:0}),r.addObject(this._resizeHelperShape,10)}_updateResizeHelper(e,t){if(!this._resizeHelperShape)return;let{scaleX:n,scaleY:r}=this._context.scene.getAncestorScale(),i=4/Math.max(n,r);e===`row`?this._resizeHelperShape.transformByState({top:t-i/2}):this._resizeHelperShape.transformByState({left:t-i/2})}_updateResizeButton(e,t){let n=e===`row`?this._rowResizeButton:this._columnResizeButton;if(!n)return;let{scaleX:r,scaleY:i}=this._context.scene.getAncestorScale(),a=12/Math.max(r,i);e===`row`?n.transformByState({top:t-a/2}):n.transformByState({left:t-a/2})}_cleanupResize(){var e;(e=this._resizeHelperShape)==null||e.dispose(),this._resizeHelperShape=null,this._isDragging=!1}_cleanupTouchHandlers(){let e=this._context.scene.getEngine(),t=e==null?void 0:e.getCanvasElement();t&&(this._touchMoveHandler&&(t.removeEventListener(`touchmove`,this._touchMoveHandler),this._touchMoveHandler=null),this._touchEndHandler&&(t.removeEventListener(`touchend`,this._touchEndHandler),t.removeEventListener(`touchcancel`,this._touchEndHandler),this._touchEndHandler=null))}_cancelResize(){this._context.scene.enableObjectsEvent(),this._cleanupResize(),this._cleanupTouchHandlers()}};gx=Q([Z(1,F(Vl)),Z(2,F(W)),Z(3,N),Z(4,Fe),Z(5,F(_f))],gx);const _x=[Df.id,Of.id];let vx=class extends M{constructor(e,t,n,r,i,a,o,s){super(),this._context=e,this._sheetSkeletonManagerService=t,this._commandService=n,this._renderManagerService=r,this._selectionManagerService=i,this._scrollManagerService=a,this._univerInstanceService=o,this._contextService=s,this._init()}scrollToRange(e){let{endRow:t,endColumn:n,startColumn:r,startRow:i}=e,a=this._getViewportBounding();if(e.rangeType===I.ROW?(r=0,n=0):e.rangeType===I.COLUMN&&(i=0,t=0),a){let e=a.startRow>t?i:t,o=a.startColumn>n?r:n;return this._scrollToCell(e,o)}else return this._scrollToCell(i,r)}_init(){this._initCommandListener(),this._initScrollEventListener(),this._initPointerScrollEvent(),this._initSkeletonListener()}_initCommandListener(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(_x.includes(e.id))this._scrollToSelection();else if(e.id===na.id){let t=e.params.range;this.scrollToRange(t)}else if(e.id===kf.id){let t=e.params;this._scrollToSelectionForExpand(t)}}))}_scrollToSelectionForExpand(e){setTimeout(()=>{let t=this._selectionManagerService.getCurrentLastSelection();if(t==null)return;let{startRow:n,startColumn:r,endRow:i,endColumn:a}=t.range,o=this._getViewportBounding();if(o==null)return;let{startRow:s,startColumn:c,endRow:l,endColumn:u}=o,d=0,f=0;d=n>s?i:i<l?n:s,f=r>c?a:a<u?r:c,e.direction===j.DOWN?d=i:e.direction===j.UP?d=n:e.direction===j.RIGHT?f=a:e.direction===j.LEFT&&(f=r),this._scrollToCell(d,f)},0)}_getFreeze(){var e;let t=(e=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:e.skeleton.getWorksheetConfig();if(t!=null)return t.freeze}_initScrollEventListener(){let{scene:e}=this._context;if(e==null)return;let t=e.getViewport(H.VIEW_MAIN);t&&(this.disposeWithMe(Vt(this._scrollManagerService.rawScrollInfo$.subscribe(e=>{var n;if(e==null){t.scrollToViewportPos({viewportScrollX:0,viewportScrollY:0});return}let r=(n=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:n.skeleton;if(!r)return;let{sheetViewStartRow:i,sheetViewStartColumn:a,offsetX:o,offsetY:s}=e,{startX:c,startY:l}=r.getCellWithCoordByIndex(i,a,!1),u=c+o,d=l+s;t.scrollToViewportPos({viewportScrollX:u,viewportScrollY:d})}))),this.disposeWithMe(t.onScrollAfter$.subscribeEvent(e=>{var t;if(!e)return;let n=(t=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:t.skeleton;if(n==null)return;let r=this._getSheetObject();if(n==null||r==null)return;let{viewportScrollX:i,viewportScrollY:a,scrollX:o,scrollY:s}=e,{row:c,column:l,rowOffset:u,columnOffset:d}=n.getOffsetRelativeToRowCol(i,a),f={sheetViewStartRow:c,sheetViewStartColumn:l,offsetX:d,offsetY:u,viewportScrollX:i,viewportScrollY:a,scrollX:o,scrollY:s};this._scrollManagerService.setValidScrollStateToCurrSheet(f),this._scrollManagerService.validViewportScrollInfo$.next({...f,scrollX:o,scrollY:s,viewportScrollX:i,viewportScrollY:a})})),this.disposeWithMe(t.onScrollByBar$.subscribeEvent(e=>{var t;let n=(t=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:t.skeleton;if(n==null||e.isTrigger===!1)return;let r=this._getSheetObject();if(n==null||r==null)return;let{viewportScrollX:i=0,viewportScrollY:a=0}=e,o=this._getFreeze(),{row:s,column:c,rowOffset:l,columnOffset:u}=n.getOffsetRelativeToRowCol(i,a);this._commandService.executeCommand(zf.id,{sheetViewStartRow:s+((o==null?void 0:o.ySplit)||0),sheetViewStartColumn:c+((o==null?void 0:o.xSplit)||0),offsetX:u,offsetY:l})})))}_initSkeletonListener(){this.disposeWithMe(Vt(this._sheetSkeletonManagerService.currentSkeletonBefore$.subscribe(e=>{if(e==null)return;let t={unitId:e.unitId,sheetId:e.sheetId};this._scrollManagerService.setSearchParam(t);let n=this._getSheetObject();if(!n)return;let r=n.scene.getViewport(H.VIEW_MAIN),i=this._scrollManagerService.getScrollStateByParam(t),{viewportScrollX:a,viewportScrollY:o}=this._scrollManagerService.calcViewportScrollFromRowColOffset(i);r&&(i?(r.viewportScrollX=a,r.viewportScrollY=o):(r.viewportScrollX=0,r.viewportScrollY=0),this._updateSceneSize(e))})))}_initPointerScrollEvent(){let e=this._getSheetObject();if(!e)return;let t=e.scene,n=e.spreadsheet,r=t.getViewport(H.VIEW_MAIN),i={x:0,y:0},a=!1,o={x:0,y:0},s=null,c=[],l=0,u=0,d={x:0,y:0},f=null,p=.05,m=.26,h=()=>{let e=this._context.unit.getActiveSheet();return(e==null?void 0:e.getZoomRatio())||1},g=()=>({decelerationRate:.992,minVelocityThreshold:.22,maxVelocity:12}),_=(e,t,n)=>{let r=e>0?t/e:0,i=e<240&&t>30,a;if(i){let t=Math.min(r/2,1);a=p+(m-p)*t,e<150&&Math.abs(n)>3&&(a*=1.3)}else a=p*(.5+Math.min(Math.abs(n)/5,1)*.5);return Math.max(p*.5,Math.min(m*1.5,a))},v=()=>{if(c.length===0)return{x:0,y:0};let e=0,t=0,n=0;for(let r=0;r<c.length;r++){let i=(r+1)*(r+1);t+=c[r].x*i,n+=c[r].y*i,e+=i}return{x:t/e,y:n/e}},y=0,b=!1,x=0,S=1,C={x:0,y:0},w=()=>{s!==null&&(cancelAnimationFrame(s),s=null),y=0,o.x=0,o.y=0},T=e=>{if(!r)return;if(b){w();return}if(y===0){y=e,s=requestAnimationFrame(T);return}let t=e-y;y=e;let{decelerationRate:n,minVelocityThreshold:i}=g(),a=n**t;o.x*=a,o.y*=a;let c=-Math.log(n),l=o.x*(1-a)/c,u=o.y*(1-a)/c;(Math.abs(l)>.01||Math.abs(u)>.01)&&this._commandService.executeCommand(Rf.id,{offsetY:u,offsetX:l}),Math.sqrt(o.x*o.x+o.y*o.y)>i?s=requestAnimationFrame(T):(s=null,y=0)},E=t.getEngine(),D=E==null?void 0:E.getCanvasElement();if(!D)return;let O=null,ee=null,te=null,ne=this._createZoomIndicator(D),k=e=>{let t=D.getBoundingClientRect();return{offsetX:e.clientX-t.left,offsetY:e.clientY-t.top}},re=(e,t)=>{let n=e.clientX-t.clientX,r=e.clientY-t.clientY;return Math.sqrt(n*n+r*r)},ie=(e,t)=>{let n=k(e),r=k(t);return{x:(n.offsetX+r.offsetX)/2,y:(n.offsetY+r.offsetY)/2}},ae=(e,t)=>{var n;let r=(n=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:n.skeleton;if(!r)return!1;let{rowHeaderWidthAndMarginLeft:i,columnHeaderHeightAndMarginTop:a}=r;return e>i&&t>a},A=(e,t,n)=>{var i;let a=(i=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:i.skeleton;if(!a||!r)return null;let{rowHeaderWidthAndMarginLeft:o,columnHeaderHeightAndMarginTop:s}=a,c=r.viewportScrollX||0,l=r.viewportScrollY||0,u=(e-o)/n+c,d=(t-s)/n+l,{row:f,column:p,rowOffset:m,columnOffset:h}=a.getOffsetRelativeToRowCol(Math.max(0,u),Math.max(0,d)),g=a.getCellWithCoordByIndex(f,p,!1);return{row:f,column:p,rowOffset:m,columnOffset:h,cellStartX:g.startX,cellStartY:g.startY}},oe=(e,t)=>{var n;if(!r)return;let i=(n=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:n.skeleton;if(!i)return;let{rowHeaderWidthAndMarginLeft:a,columnHeaderHeightAndMarginTop:o}=i,s=r.viewportScrollX||0,c=r.viewportScrollY||0,l=C.x-a,u=C.y-o,d,f;if(te)d=te.x-l/e,f=te.y-u/e;else if(O){let t=O.cellStartX+O.columnOffset,n=O.cellStartY+O.rowOffset;d=t-l/e,f=n-u/e}else{let n=e/t;d=s/n,f=c/n}d<0&&(d=0),f<0&&(f=0);let p=this._context.unit,m=p.getActiveSheet();if(!m)return;this._commandService.executeCommand(Xf.id,{zoomRatio:e,unitId:p.getUnitId(),subUnitId:m.getSheetId()});let{row:h,column:g,rowOffset:_,columnOffset:v}=i.getOffsetRelativeToRowCol(d,f);this._commandService.executeCommand(zf.id,{sheetViewStartRow:h,sheetViewStartColumn:g,offsetX:v,offsetY:_})};n.onPointerDown$.subscribeEvent((e,t)=>{w(),t.stopPropagation()});let se=(e,t)=>{if(b=!0,this._contextService.setContextValue(sx,!0),x=re(e,t),S=h(),C=ie(e,t),O=A(C.x,C.y,S),r){var n;let e=(n=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:n.skeleton;if(e){let{rowHeaderWidthAndMarginLeft:t,columnHeaderHeightAndMarginTop:n}=e;ee={x:r.viewportScrollX||0,y:r.viewportScrollY||0};let i=C.x-t,a=C.y-n;te={x:ee.x+i/S,y:ee.y+a/S}}}},ce=e=>{if(w(),e.touches.length===2){let t=e.touches[0],n=e.touches[1],r=k(t),i=k(n);if(!ae(r.offsetX,r.offsetY)||!ae(i.offsetX,i.offsetY))return;a=!1,se(t,n),this._showZoomIndicator(ne,Math.round(S*100)),e.preventDefault();return}if(e.touches.length!==1||b||this._contextService.getContextValue(`MOBILE_EXPANDING_SELECTION`))return;let t=e.touches[0],{offsetX:n,offsetY:r}=k(t);ae(n,r)&&(i.x=n,i.y=r,l=performance.now(),u=l,d={x:0,y:0},f=null,c.length=0,a=!0,e.preventDefault())},le=e=>{if(b&&e.touches.length===2){s!==null&&w();let t=e.touches[0],n=e.touches[1],r=re(t,n)/x,i=S*r;i=Math.max(.2,Math.min(2,i)),i=Math.round(i*10)/10;let a=h();Math.abs(i-a)>=.05&&(C=ie(t,n),oe(i,a),this._showZoomIndicator(ne,Math.round(i*100))),e.preventDefault();return}if(!a||e.touches.length!==1||!r||this._contextService.getContextValue(`MOBILE_EXPANDING_SELECTION`))return;let t=e.touches[0],{offsetX:n,offsetY:o}=k(t),u=performance.now(),p=u-l;if(p<=0)return;let m=-(n-i.x),g=-(o-i.y),_=h(),v=m/_,y=g/_;if(d.x+=Math.abs(m),d.y+=Math.abs(g),f===null){let e=d.x,t=d.y;(e>8||t>8)&&(f=e>t?`x`:`y`)}let T=v/p*16,E=y/p*16;for(c.push({x:T,y:E,time:u});c.length>5;)c.shift();(v!==0||y!==0)&&this._commandService.executeCommand(Rf.id,{offsetY:y,offsetX:v}),i.x=n,i.y=o,l=u,e.preventDefault()},ue=e=>{if(b){e.touches.length<2&&(b=!1,this._contextService.setContextValue(sx,!1),O=null,ee=null,te=null,w(),c.length=0,this._hideZoomIndicator(ne));return}if(!a)return;a=!1;let t=v(),n=_(performance.now()-u,Math.sqrt(d.x*d.x+d.y*d.y),Math.sqrt(t.x*t.x+t.y*t.y)),{maxVelocity:r,minVelocityThreshold:i}=g(),l=Math.max(-r,Math.min(r,t.x*n)),p=Math.max(-r,Math.min(r,t.y*n));o.x=f===`y`?0:l,o.y=f===`x`?0:p,Math.sqrt(o.x*o.x+o.y*o.y)>i*2&&(y=0,s=requestAnimationFrame(T)),c.length=0},de=()=>{b&&(b=!1,this._contextService.setContextValue(sx,!1),O=null,ee=null,te=null,this._hideZoomIndicator(ne)),a&&(a=!1,c.length=0),w()};D.addEventListener(`touchstart`,ce,{passive:!1}),D.addEventListener(`touchmove`,le,{passive:!1}),D.addEventListener(`touchend`,ue,{passive:!1}),D.addEventListener(`touchcancel`,de,{passive:!1}),this.disposeWithMe(Vt(()=>{D.removeEventListener(`touchstart`,ce),D.removeEventListener(`touchmove`,le),D.removeEventListener(`touchend`,ue),D.removeEventListener(`touchcancel`,de),ne&&ne.parentElement&&ne.parentElement.removeChild(ne)}))}_createZoomIndicator(e){let t=e.parentElement;if(!t){let e=document.createElement(`div`);return e.style.display=`none`,e}let n=document.createElement(`div`);return n.style.cssText=`
|
|
11
|
+
`)}]}}const Rm=[li.id,yi.id,Bi.id,Wi.id,ki.id,ji.id,Di.id];let zm=class extends $e{constructor(e,t,n,r,i,a,o,s,c,l){super(),this._injector=e,this._instanceService=t,this._renderManagerService=n,this._commandService=r,this._contextService=i,this._configService=a,this._sheetClipboardService=o,this._messageService=s,this._localService=c,this._uiPartsService=l,X(this,`_refreshOptionalPaste$`,new vs),X(this,`refreshOptionalPaste$`,this._refreshOptionalPaste$.asObservable()),this._init(),this._initCommandListener(),this._initUIComponents(),this._pasteWithDoc()}refreshOptionalPaste(){this._refreshOptionalPaste$.next(Math.random())}_pasteWithDoc(){var e;let t=e=>{e.onPaste$.pipe(As(this.dispose$)).subscribe(e=>{var t,n;if(!pl(this._contextService))return;e.event.preventDefault();let r=e.event,i=(t=r.clipboardData)==null?void 0:t.getData(`text/html`),a=(n=r.clipboardData)==null?void 0:n.getData(`text/plain`),o=this._resolveClipboardFiles(r.clipboardData);this._commandService.executeCommand($u.id,{htmlContent:i,textContent:a,files:o})}),e==null||e.onKeydown$.subscribe(e=>{e.event.key===`Escape`&&this._sheetClipboardService.removeMarkSelection()})},n=(e=this._renderManagerService.getRenderById(pe))==null?void 0:e.with(s);n&&t(n),this._renderManagerService.created$.subscribe(e=>{if(e.unitId===pe){var r;n=(r=this._renderManagerService.getRenderById(pe))==null?void 0:r.with(s),n&&t(n)}})}_resolveClipboardFiles(e){if(!e)return;let t=Array.from(e.items).map(e=>e.kind===`file`?e.getAsFile():void 0).filter(Boolean);return t.length>0?t:void 0}_init(){[Xu,Zu,Qu].forEach(e=>this.disposeWithMe(this._commandService.registerMultipleCommand(e))),[ed,td,nd,rd,$u,id].forEach(e=>this.disposeWithMe(this._commandService.registerCommand(e))),this.disposeWithMe(this._sheetClipboardService.addClipboardHook(this._initCopyingHooks())),this.disposeWithMe(this._sheetClipboardService.addClipboardHook(this._initPastingRowsHook())),this.disposeWithMe(this._sheetClipboardService.addClipboardHook(this._initPastingColumnsHook())),this.disposeWithMe(this._sheetClipboardService.addClipboardHook(this._initPastingHook()));let e=this._initSpecialPasteHooks().map(e=>this._sheetClipboardService.addClipboardHook(e));this.disposeWithMe({dispose:()=>e.forEach(e=>e.dispose())})}_initCopyingHooks(){let e=this,t=null;return{id:zu.DEFAULT_COPY,isDefaultHook:!0,onBeforeCopy(n,r){t=e._getWorksheet(n,r)},onCopyCellContent(e,n){var r,i;let a=t.getCell(e,n);return!(a==null||(r=a.p)==null||(r=r.body)==null)&&r.paragraphs||!(a==null||(i=a.p)==null||(i=i.body)==null)&&i.textRuns?E(a.p):a?_t(a):``},onCopyCellStyle:(e,n,r,i)=>{let a={};(r||i)&&(a.rowspan=`${r||1}`,a.colspan=`${i||1}`);let o=t.getMergedCell(e,n),s=t.getComposedCellStyle(e,n),c=``;if(s&&(c=wt(s)),o){let e=o.endRow,n=o.endColumn,r=t.getRange(e,n).getTextStyle();if(r){let e=wt(r);c?c+=e?`;${e}`:``:c=e}}return c&&(a.style=c),Object.keys(a).length?a:null},onCopyColumn(e){return{width:`${t.getColumnWidth(e)}`}},onCopyRow(e){return{style:`height: ${t.getRowHeight(e)}px;`}},onAfterCopy(){t=null},getFilteredOutRows(t,n,r){let i=e._getWorksheet(t,n);if(!i)return[];let{startRow:a,endRow:o}=r,s=[];for(let e=a;e<=o;e++)i.getRowFiltered(e)&&s.push(e);return s}}}_initPastingHook(){let e=this;return{id:Bu.DEFAULT_PASTE,isDefaultHook:!0,onBeforePaste({range:t}){let n=e._configService.getConfig(Si),r=t.rows[t.rows.length-1],i=t.cols[t.cols.length-1];return n&&r*i>n?(e._messageService.show({type:ic.Error,content:e._localService.t(`clipboard.paste.exceedMaxCells`)}),!1):!0},onPastePlainText(t,n,r){return e._onPastePlainText(t,n,r)},onPasteCells(t,n,r,i){return e._onPasteCells(t,n,r,i)}}}_initPastingRowsHook(){let e=this;return{id:Bu.DEFAULT_PASTE_ROWS,isDefaultHook:!0,onPasteRows(t){let n=[],r=[],{range:i,unitId:a,subUnitId:o}=t,{rows:s,cols:c}=i;if(!s||!c||s.length===0||c.length===0)return{redos:n,undos:r};let l=e._getWorksheet(a,o).getMaxRows()-1,u=s[s.length-1],d=c[0],f=c[c.length-1];if(u-l>0){let e={unitId:a,subUnitId:o,range:{startRow:l+1,endRow:u,startColumn:d,endColumn:f}};n.push({id:yi.id,params:e}),r.push({id:Wi.id,params:e})}return{redos:n,undos:r}}}}_initPastingColumnsHook(){let e=this;return{id:Bu.DEFAULT_PASTE_COLUMNS,isDefaultHook:!0,onPasteColumns(t){let n=[],r=[],{range:i,unitId:a,subUnitId:o}=t,{rows:s,cols:c}=i;if(!s||!c||s.length===0||c.length===0)return{redos:n,undos:r};let l=e._getWorksheet(a,o).getMaxColumns()-1,u=s[0],d=s[s.length-1],f=c[c.length-1];if(f-l>0){let e={unitId:a,subUnitId:o,range:{startRow:u,endRow:d,startColumn:l+1,endColumn:f}};n.push({id:li.id,params:e}),r.push({id:Bi.id,params:e})}return{redos:n,undos:r}}}}_generateDocumentDataModelSnapshot(e){var t,n;let r=(t=Cr(L.UNIVER_SHEET,Vl,this._instanceService,this._renderManagerService))==null?void 0:t.getCurrentParam();if(r==null)return null;let{skeleton:i}=r,a=(n=i.getBlankCellDocumentModel())==null?void 0:n.documentModel,o={...a==null?void 0:a.getSnapshot(),...e};return a==null||a.reset(o),a==null?void 0:a.getSnapshot()}_onPastePlainText(e,t,n){let{range:r,unitId:i,subUnitId:a}=e,o;if(/\r|\n/.test(t)||tt.isLegalUrl(t)){let e=Lm(t),n=this._generateDocumentDataModelSnapshot({body:e});o={[r.rows[0]]:{[r.cols[0]]:{p:n,v:null,f:null}}}}else if(Tt(t))o={[r.rows[0]]:{[r.cols[0]]:{f:t,v:null,p:null}}};else{let e=St(t);o=e!=null&&e.z?{[r.rows[0]]:{[r.cols[0]]:{v:e.v,s:{n:{pattern:e.z}},f:null}}}:{[r.rows[0]]:{[r.cols[0]]:{v:t,f:null}}}}let s={unitId:i,subUnitId:a,cellValue:o};return{redos:[{id:Sa.id,params:s}],undos:[{id:Sa.id,params:Ca(this._injector,s)}]}}_onPasteCells(e,t,n,r){return this._injector.invoke(i=>Am(e,t,n,r,i))}_initSpecialPasteHooks(){let e=this;return[{id:Bu.SPECIAL_PASTE_VALUE,specialPasteInfo:{label:`specialPaste.value`},onPasteCells:(e,t,n)=>this._injector.invoke(r=>Mm(t,e,n,r))},{id:Bu.SPECIAL_PASTE_FORMAT,specialPasteInfo:{label:`specialPaste.format`},onPasteCells:(e,t,n)=>{let r=[],i=[],{undos:a,redos:o}=this._injector.invoke(e=>Pm(t,n,e));r.push(...o),i.push(...a);let{undos:s,redos:c}=this._injector.invoke(e=>Im(t,n,e));r.push(...c),i.push(...s);let{undos:l,redos:u}=this._injector.invoke(r=>Nm(t,e,n,r));return r.push(...u),i.push(...l),{undos:i,redos:r}}},{id:Bu.SPECIAL_PASTE_COL_WIDTH,specialPasteInfo:{label:`specialPaste.colWidth`},onPasteCells(){return{undos:[],redos:[]}},onPasteColumns(t,n,r){var i;let a=[],o=[];if(r.pasteType!==Bu.SPECIAL_PASTE_COL_WIDTH)return{redos:a,undos:o};let{range:s,unitId:c,subUnitId:l}=t,{rows:u,cols:d}=s;if(!u||!d||u.length===0||d.length===0)return{redos:a,undos:o};let f=e._getWorksheet(c,l),p=(i=e._configService.getConfig(ue))==null?le:i,m=u[0],h=u[u.length-1],g=d[0],_=d[d.length-1],v=n.length;if(v>0){let e={};for(let t=g;t<=_;t++){let r=n[(t-g)%v];r.width&&Number(r.width)!==p&&(e[t]=Number(r.width))}let t={unitId:c,subUnitId:l,ranges:[{startRow:m,endRow:h,startColumn:g,endColumn:_}],colWidth:e};a.push({id:Wa.id,params:t}),o.unshift({id:Wa.id,params:Ga(t,f)})}return{redos:a,undos:o}}},{id:Bu.SPECIAL_PASTE_BESIDES_BORDER,specialPasteInfo:{label:`specialPaste.besidesBorder`},onPasteCells:(t,n,r,i)=>{e._instanceService.getCurrentUnitForType(L.UNIVER_SHEET);let a=[],o=[],{range:s,unitId:c,subUnitId:l}=n,u=new Ke;r.forValue((e,t,n)=>{let r=n.s;if(typeof r==`object`){let i=tt.deepClone(n);i.s&&(i.s={...r,bd:null}),u.setValue(s.rows[e],s.cols[t],i)}});let d={unitId:c,subUnitId:l,cellValue:u.getData()};a.push({id:Sa.id,params:d});let f=this._injector.invoke(Ca,d);o.push({id:Sa.id,params:f});let{undos:p,redos:m}=this._injector.invoke(e=>Im(n,r,e));return o.push(...p),a.push(...m),{redos:a,undos:o}}}]}_getWorksheet(e,t){var n;let r=(n=this._instanceService.getUniverSheetInstance(e))==null?void 0:n.getSheetBySheetId(t);if(!r)throw Error(`[SheetClipboardController]: cannot find a worksheet with unitId ${e} and subUnitId ${t}.`);return r}_initCommandListener(){var e;this.disposeWithMe(this._commandService.onCommandExecuted(e=>{(e.id===Ar.id||Rm.includes(e.id))&&this._sheetClipboardService.removeMarkSelection()}));let t=this._configService.getConfig(rp);!(t==null||(e=t.clipboardConfig)==null)&&e.hidePasteOptions||(this.disposeWithMe(this._commandService.onCommandExecuted(e=>{Ip.includes(e.id)&&this._sheetClipboardService.disposePasteOptionsCache()})),this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id===Lf.id){if(!this._sheetClipboardService.getPasteMenuVisible())return;let t=e.params.unitId,n=this._sheetClipboardService.getPasteOptionsCache();t===(n==null?void 0:n.target.unitId)&&this._refreshOptionalPaste$.next(Math.random())}})))}_initUIComponents(){var e;let t=this._configService.getConfig(rp);!(t==null||(e=t.clipboardConfig)==null)&&e.hidePasteOptions||this.disposeWithMe(this._uiPartsService.registerComponent(Gt.CONTENT,()=>Pn(Fp,this._injector)))}};zm=Q([Z(0,F(ze)),Z(1,P),Z(2,Xn),Z(3,N),Z(4,Fe),Z(5,Ne),Z(6,Uu),Z(7,gn),Z(8,F(Ue)),Z(9,xn)],zm);let Bm=class extends M{constructor(e,t){super(),this._univerInstanceService=e,this._renderManagerService=t,X(this,`_currentCell$`,new vs),X(this,`currentCell$`,this._currentCell$.asObservable().pipe(Ss((e,t)=>{var n,r,i,a,o,s,c,l;return(e==null||(n=e.location)==null?void 0:n.unitId)===(t==null||(r=t.location)==null?void 0:r.unitId)&&(e==null||(i=e.location)==null?void 0:i.subUnitId)===(t==null||(a=t.location)==null?void 0:a.subUnitId)&&(e==null||(o=e.location)==null?void 0:o.row)===(t==null||(s=t.location)==null?void 0:s.row)&&(e==null||(c=e.location)==null?void 0:c.col)===(t==null||(l=t.location)==null?void 0:l.col)}))),X(this,`_endCell$`,new vs),X(this,`endCell$`,this._endCell$.asObservable()),this._initCellDisposableListener()}dispose(){super.dispose(),this._currentCell$.complete(),this._endCell$.complete()}_initCellDisposableListener(){this.disposeWithMe(this._univerInstanceService.getCurrentTypeOfUnit$(L.UNIVER_SHEET).subscribe(e=>{e||(this._currentCell$.next(null),this._endCell$.next(null))}))}_calcActiveCell(e,t){let n=this._univerInstanceService.getCurrentUnitForType(L.UNIVER_SHEET);if(!n)return null;let r=n.getActiveSheet();if(!r)return;let i=this._renderManagerService.getRenderById(n.getUnitId());if(!i)return;let a=i.with(Vl).getCurrentParam(),o=i.with(_f).getCurrentScrollState();if(!(!a||!o||!i))return Sp(i,n,r,a,e,t)}onDragOver(e){let{offsetX:t,offsetY:n,dataTransfer:r}=e,i=this._calcActiveCell(t,n);if(!i){this._currentCell$.next(null);return}let{location:a,position:o}=i;this._currentCell$.next({location:a,position:o,dataTransfer:r})}onDrop(e){let{offsetX:t,offsetY:n,dataTransfer:r}=e,i=this._calcActiveCell(t,n);if(!i){this._endCell$.next(null);return}let{location:a,position:o}=i;this._endCell$.next({location:a,position:o,dataTransfer:r})}};Bm=Q([Z(0,P),Z(1,Xn)],Bm);let Vm=class extends M{constructor(e,t,n,r){super(),this._context=e,this._renderManagerService=t,this._dragManagerService=n,this._sheetSkeletonManagerService=r,this._initDragEvent()}_initDragEvent(){let e=new ge,t=t=>{if(e.dispose(),!t)return;let{scene:n}=this._context,r=n.onDragOver$.subscribeEvent(e=>{this._dragManagerService.onDragOver(e)}),i=n.onDrop$.subscribeEvent(e=>{this._dragManagerService.onDrop(e)});e.add({dispose(){r.unsubscribe(),i.unsubscribe()}})};t(this._sheetSkeletonManagerService.getCurrentParam()),this.disposeWithMe(this._sheetSkeletonManagerService.currentSkeleton$.subscribe(e=>{t(e)}))}};Vm=Q([Z(1,Xn),Z(2,F(Bm)),Z(3,F(Vl))],Vm);var Hm=class{constructor(){X(this,`_position`,null),X(this,`_position$`,new hs(null)),X(this,`position$`,this._position$.asObservable()),X(this,`_focus`,!1),X(this,`_focus$`,new hs(this._focus)),X(this,`focus$`,this._focus$.asObservable()),X(this,`_fxBtnClick$`,new vs),X(this,`fxBtnClick$`,this._fxBtnClick$.asObservable()),X(this,`_foldBtnStatus$`,new vs),X(this,`foldBtnStatus$`,this._foldBtnStatus$.asObservable())}dispose(){this._position$.complete(),this._focus$.complete(),this._position=null,this._focus=!1}setPosition(e){this._position=e,this._refresh(e)}getPosition(){return this._position}setFocus(e=!1){this._focus=e,this._focus$.next(e)}handleFxBtnClick(e){this._fxBtnClick$.next(e)}handleFoldBtnClick(e){this._foldBtnStatus$.next(e)}_refresh(e){this._position$.next(e)}};const Um=pt(`univer.sheet-formula-editor-manager.service`);let Wm=class extends $e{constructor(e,t,n,r,i,a,o,s,c){super(),this._univerInstanceService=e,this._renderManagerService=t,this._editorBridgeService=n,this._commandService=r,this._contextService=i,this._formulaEditorManagerService=a,this._undoRedoService=o,this._textSelectionManagerService=s,this._editorService=c,X(this,`_loadedMap`,new WeakSet),X(this,`_scheduledCallback`,-1),this._initialize()}_initialize(){this._syncEditorSize(),this._listenFxBtnClick(),this._handleContentChange(),this._univerInstanceService.focused$.pipe(As(this.dispose$)).subscribe(e=>{this._create(e)}),this._create(fe),this.disposeWithMe(this._editorService.focus$.subscribe(()=>{var e;((e=this._editorService.getFocusEditor())==null?void 0:e.getEditorId())===fe?this._contextService.setContextValue(Te,!0):this._contextService.setContextValue(Te,!1)}))}_handleContentChange(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id===Fs.id){let{unitId:t}=e.params;t===fe&&this.autoScroll()}}))}_create(e){if(e!==fe)return;let t=this._renderManagerService.getRenderById(e);if(t==null)return;let{mainComponent:n}=t;n!=null&&(this._loadedMap.has(n)||this._loadedMap.add(n))}_listenFxBtnClick(){this._formulaEditorManagerService.fxBtnClick$.pipe(As(this.dispose$)).subscribe(()=>{if(this._contextService.getContextValue(Se)&&!this._contextService.getContextValue(ve)){var e;this._univerInstanceService.setCurrentUnitForType(fe);let n=this._univerInstanceService.getUniverDocInstance(fe);this._editorBridgeService.isVisible().visible===!1&&this._commandService.syncExecuteCommand(op.id,{visible:!0,eventType:qn.PointerDown,unitId:fe});let r=n==null||(e=n.getBody())==null?void 0:e.dataStream;if(r==null)return;let i=r.startsWith(`=`)?r:`=${r}`;i=i.replace(/\r\n$/,``);let a=[{startOffset:i.length,endOffset:i.length}],o={unitId:fe,body:{dataStream:i},segmentId:``,textRanges:a};this._commandService.syncExecuteCommand(t.id,o),requestAnimationFrame(()=>{this._textSelectionManagerService.replaceDocRanges([],{unitId:pe,subUnitId:pe}),this._textSelectionManagerService.replaceDocRanges(a,{unitId:fe,subUnitId:fe}),this._contextService.setContextValue(Te,!0)})}})}_syncEditorSize(){let e=this._univerInstanceService.unitAdded$.pipe(Cs(e=>e.getUnitId()===fe));this.disposeWithMe(bs([this._formulaEditorManagerService.position$,e]).subscribe(([e])=>{if(!e)return this._clearScheduledCallback();let t=dl(fe,this._renderManagerService),n=this._univerInstanceService.getUniverDocInstance(fe);if(t==null||n==null)return this._clearScheduledCallback();let{width:r,height:i}=e;if(r===0||i===0)return this._clearScheduledCallback();let{engine:a}=t;n.updateDocumentDataPageSize(r),this.autoScroll(),this._scheduledCallback=requestIdleCallback(()=>a.resizeBySize(r,i))}))}_clearScheduledCallback(){this._scheduledCallback!==-1&&cancelIdleCallback(this._scheduledCallback),this._scheduledCallback=-1}autoScroll(){var e;let t=this._formulaEditorManagerService.getPosition(),n=(e=this._renderManagerService.getRenderById(fe))==null?void 0:e.with(Ps).getSkeleton(),r=this._renderManagerService.getRenderById(fe),i=this._univerInstanceService.getUniverDocInstance(fe);if(n==null||t==null||r==null||i==null)return;let{marginTop:a=0,marginBottom:o=0}=i.getSnapshot().documentStyle,{scene:s,mainComponent:c}=r,{actualHeight:l}=n.getActualSize();l+=a+o;let{width:u,height:d}=t,f=s.getViewport(T.VIEW_MAIN),p=f==null?void 0:f.getScrollBar();if(s.transformByState({width:u,height:l}),c==null||c.resize(u,l),l>d)p==null?f&&new rr(f,{enableHorizontal:!1,barSize:8}):f==null||f.resetCanvasSizeAndUpdateScroll();else{var m;p=null,f==null||f.scrollToViewportPos({viewportScrollX:0,viewportScrollY:0}),f==null||(m=f.getScrollBar())==null||m.dispose()}}};Wm=Q([Z(0,P),Z(1,Xn),Z(2,Kf),Z(3,N),Z(4,Fe),Z(5,Um),Z(6,Re),Z(7,F(Ns)),Z(8,c)],Wm);const Gm=`embedding_formula_editor`,Km=e=>e.includes(Gm),qm=(e,t)=>{let n=t.findNodePositionByCharIndex(e.startOffset,!0,e.segmentId,-1),r=t.getSkeletonData(),i=e.endOffset;if(e.segmentId){var a,o,s,c,l;let t=(a=Array.from((o=r==null||(s=r.skeFooters.get(e.segmentId))==null?void 0:s.values())==null?[]:o)[0])==null?Array.from((c=r==null||(l=r.skeHeaders.get(e.segmentId))==null?void 0:l.values())==null?[]:c)[0]:a;t&&(i=Math.min(t.ed,i))}let u=t.findNodePositionByCharIndex(i,!0,e.segmentId,-1);if(!u||!n)return;let{borderBoxPointGroup:d}=new p({docsLeft:0,docsTop:0,pageMarginLeft:0,pageMarginTop:0},t).getRangePointData(n,u);return O(d).map(e=>({top:e.top,bottom:e.bottom,left:e.left,right:e.right}))},Jm=(e,t,n=-1)=>{let r=t.findPositionByGlyph(e,n);if(!r)return;let i={...r,isBack:!0},{borderBoxPointGroup:a}=new p({docsLeft:0,docsTop:0,pageMarginLeft:0,pageMarginTop:0},t).getRangePointData(i,i),o=O(a)[0];return{top:o.top,bottom:o.bottom,left:o.left,right:o.right}},Ym=(e,t,n=0,r=0)=>{let i=qm({startOffset:t.startIndex,endOffset:t.endIndex+1,collapsed:!1},e);if(i)return{rects:i.map(e=>({top:e.top+r,bottom:e.bottom+r,left:e.left+n,right:e.right+n})),range:t}},Xm=(e,t,n=0,r=0)=>{var i;let a=e.findNodeByCharIndex(t.startIndex),o=a==null?void 0:a.parent,s=o==null?void 0:o.parent,c=s==null?void 0:s.parent,l=c==null?void 0:c.lines.find(e=>e.paragraphStart&&e.paragraphIndex===t.startIndex),u=l==null||(i=l.divides)==null||(i=i[0])==null||(i=i.glyphGroup)==null?void 0:i[0];if(!u||!u)return;let d=Jm(u,e);if(d)return{rect:{top:d.top+r,bottom:d.bottom+r,left:d.left+n,right:d.right+n},segmentId:void 0,segmentPageIndex:-1,paragraph:t}},Zm=(e,t=0,n=0)=>{var r,i,a,o,s;let c=e.getViewModel().getDataModel(),l=(r=(i=c.getBody())==null||(i=i.customRanges)==null?void 0:i.filter(e=>e.rangeType===oe.HYPERLINK))==null?[]:r,u=(a=(o=c.getBody())==null||(o=o.paragraphs)==null?void 0:o.filter(e=>{var t;return((t=e.bullet)==null?void 0:t.listType.indexOf(Ye.CHECK_LIST))===0}))==null?[]:a,d=(s=e.getSkeletonData())==null?void 0:s.pages[0].skeDrawings;return{links:l.map(r=>Ym(e,r,t,n)).filter(Boolean),checkLists:u.map(r=>Xm(e,r,t,n)).filter(Boolean),drawings:d?Array.from(d.keys()).map(e=>({drawingId:e,rect:{top:d.get(e).aTop+n,bottom:d.get(e).aTop+d.get(e).height+n,left:d.get(e).aLeft+t,right:d.get(e).aLeft+d.get(e).width+t},drawing:d.get(e)})):[]}};function Qm(e,t,n){var r,i,a,o;let s=(r=(i=t.documentSkeleton)==null||(i=i.getSkeletonData())==null?void 0:i.pages[0].height)==null?0:r,c=(a=(o=t.documentSkeleton)==null||(o=o.getSkeletonData())==null?void 0:o.pages[0].width)==null?0:a,l=t.verticalAlign,u=t.horizontalAlign,d=0;switch(l){case it.UNSPECIFIED:case it.BOTTOM:d=e.mergeInfo.endY-e.mergeInfo.startY-s;break;case it.MIDDLE:d=(e.mergeInfo.endY-e.mergeInfo.startY-s)/2;break;default:break}let f=0;switch(u){case je.RIGHT:f=e.mergeInfo.endX-e.mergeInfo.startX-c;break;case je.CENTER:f=(e.mergeInfo.endX-e.mergeInfo.startX-c)/2;break;case je.UNSPECIFIED:n&&(f=e.mergeInfo.endX-e.mergeInfo.startX-c);break;default:break}return{paddingLeft:f,paddingTop:d}}const $m=(e,t,n,r,a,o)=>{var s,c;let l=e.get(P),u=e.get(Xn),d=l.getUnit(t,L.UNIVER_SHEET);if(!d)return null;let f=d.getSheetBySheetId(n);if(!f)return null;let p=u.getRenderById(d.getUnitId()),m=p==null?void 0:p.with(Vl).getSkeletonParam(f.getSheetId()),h=m==null?void 0:m.skeleton;if(!h||!p)return;let g=h.getFont(r,a),_=g==null?void 0:g.documentSkeleton;if(!_)return null;let v=(s=_.getViewModel().getBody())==null||(s=s.customRanges)==null?void 0:s.find(e=>e.rangeId===o);if(!v)return null;let y=i,{actualColumn:b,actualRow:x}=h.getCellWithCoordByIndex(r,a);h.overflowCache.forValue((e,t,n)=>{n.startRow<=x&&n.endRow>=x&&n.startColumn<=b&&n.endColumn>=b&&(b=t,x=e)});let S=h.getCellWithCoordByIndex(x,b),C=f.getCell(S.actualRow,S.actualColumn),{topOffset:w=0,leftOffset:T=0}=(c=C==null?void 0:C.fontRenderExtension)==null?{}:c,{paddingLeft:E,paddingTop:D}=Qm(S,g,!1),O=qm({startOffset:v.startIndex,endOffset:v.endIndex,collapsed:!1},_);return{rects:O==null?void 0:O.map(e=>({top:e.top+S.mergeInfo.startY+D+w+y,bottom:e.bottom+S.mergeInfo.startY+D+w+y,left:e.left+S.mergeInfo.startX+E+T,right:e.right+S.mergeInfo.startX+E+T})),customRange:v,label:_.getViewModel().getBody().dataStream.slice(v.startIndex,v.endIndex+1)}},eh=(e,t,n,r,i,a)=>{var o,s;let c=e.get(Kf),l=c.getEditCellState();if(!l||!c.isVisible().visible)return null;let{editorUnitId:u,unitId:d,sheetId:f,row:p,column:m}=l;if(t!==d||n!==f||p!==r||m!==i)return null;let h=e.get(Xn),g=h.getRenderById(u),_=h.getRenderById(t);if(!g||!_)return null;let v=g.with(Ps).getSkeleton(),y=(o=_.with(Vl).getSkeletonParam(f))==null?void 0:o.skeleton;if(!v||!y)return null;let b=(s=v.getViewModel().getBody())==null||(s=s.customRanges)==null?void 0:s.find(e=>e.rangeId===a);if(!b)return null;let x=qm({startOffset:b.startIndex,endOffset:b.endIndex,collapsed:!1},v),S=g.engine.getCanvasElement().getBoundingClientRect();return{rects:x==null?void 0:x.map(e=>({top:e.top+S.top-4,bottom:e.bottom+S.top+4,left:e.left+S.left,right:e.right+S.left})),customRange:b,label:v.getViewModel().getBody().dataStream.slice(b.startIndex,b.endIndex+1)}};function th(e){let{workbook:t,worksheet:n,...r}=e;return r}let nh=class extends M{constructor(e,t){super(),this._univerInstanceService=e,this._renderManagerService=t,X(this,`_currentCell$`,new hs(null)),X(this,`_currentRichText$`,new hs(null)),X(this,`_currentClickedCell$`,new vs),X(this,`_currentDbClickedCell$`,new vs),X(this,`_currentCellWithEvent$`,new vs),X(this,`_currentPointerDownCell$`,new vs),X(this,`_currentPointerUpCell$`,new vs),X(this,`_currentHoveredRowHeader$`,new hs(null)),X(this,`_currentHoveredColHeader$`,new hs(null)),X(this,`_currentRowHeaderClick$`,new vs),X(this,`_currentColHeaderClick$`,new vs),X(this,`_currentRowHeaderDbClick$`,new vs),X(this,`_currentColHeaderDbClick$`,new vs),X(this,`_currentRowHeaderPointerDown$`,new vs),X(this,`_currentColHeaderPointerDown$`,new vs),X(this,`_currentRowHeaderPointerUp$`,new vs),X(this,`_currentColHeaderPointerUp$`,new vs),X(this,`currentCell$`,this._currentCell$.asObservable().pipe(Ss((e,t)=>{var n,r,i,a,o,s,c,l;return(e==null||(n=e.location)==null?void 0:n.unitId)===(t==null||(r=t.location)==null?void 0:r.unitId)&&(e==null||(i=e.location)==null?void 0:i.subUnitId)===(t==null||(a=t.location)==null?void 0:a.subUnitId)&&(e==null||(o=e.location)==null?void 0:o.row)===(t==null||(s=t.location)==null?void 0:s.row)&&(e==null||(c=e.location)==null?void 0:c.col)===(t==null||(l=t.location)==null?void 0:l.col)}))),X(this,`currentRichTextNoDistinct$`,this._currentRichText$.pipe(ws(e=>e&&{unitId:e.location.unitId,subUnitId:e.location.subUnitId,row:e.location.row,col:e.location.col,customRange:e.customRange,bullet:e.bullet,rect:e.rect,drawing:e.drawing}))),X(this,`currentRichText$`,this._currentRichText$.pipe(Ss((e,t)=>{var n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y;return(e==null||(n=e.location)==null?void 0:n.unitId)===(t==null||(r=t.location)==null?void 0:r.unitId)&&(e==null||(i=e.location)==null?void 0:i.subUnitId)===(t==null||(a=t.location)==null?void 0:a.subUnitId)&&(e==null||(o=e.location)==null?void 0:o.row)===(t==null||(s=t.location)==null?void 0:s.row)&&(e==null||(c=e.location)==null?void 0:c.col)===(t==null||(l=t.location)==null?void 0:l.col)&&(e==null||(u=e.customRange)==null?void 0:u.rangeId)===(t==null||(d=t.customRange)==null?void 0:d.rangeId)&&(e==null||(f=e.bullet)==null?void 0:f.startIndex)===(t==null||(p=t.bullet)==null?void 0:p.startIndex)&&(e==null||(m=e.customRange)==null?void 0:m.startIndex)===(t==null||(h=t.customRange)==null?void 0:h.startIndex)&&(e==null||(g=e.customRange)==null?void 0:g.endIndex)===(t==null||(_=t.customRange)==null?void 0:_.endIndex)&&(e==null||(v=e.drawing)==null?void 0:v.drawingId)===(t==null||(y=t.drawing)==null?void 0:y.drawingId)}),ws(e=>e&&{unitId:e.location.unitId,subUnitId:e.location.subUnitId,row:e.location.row,col:e.location.col,customRange:e.customRange,bullet:e.bullet,rect:e.rect,drawing:e.drawing}))),X(this,`currentCellPosWithEvent$`,this._currentCellWithEvent$.pipe(Ss((e,t)=>{var n,r,i,a,o,s,c,l;return(e==null||(n=e.location)==null?void 0:n.unitId)===(t==null||(r=t.location)==null?void 0:r.unitId)&&(e==null||(i=e.location)==null?void 0:i.subUnitId)===(t==null||(a=t.location)==null?void 0:a.subUnitId)&&(e==null||(o=e.location)==null?void 0:o.row)===(t==null||(s=t.location)==null?void 0:s.row)&&(e==null||(c=e.location)==null?void 0:c.col)===(t==null||(l=t.location)==null?void 0:l.col)}),ws(e=>e&&{unitId:e.location.unitId,subUnitId:e.location.subUnitId,row:e.location.row,col:e.location.col,event:e.event}))),X(this,`currentPosition$`,this._currentCell$.asObservable()),X(this,`currentClickedCell$`,this._currentClickedCell$.asObservable()),X(this,`currentDbClickedCell$`,this._currentDbClickedCell$.asObservable()),X(this,`currentPointerDownCell$`,this._currentPointerDownCell$.asObservable()),X(this,`currentPointerUpCell$`,this._currentPointerUpCell$.asObservable()),X(this,`currentHoveredRowHeader$`,this._currentHoveredRowHeader$.asObservable()),X(this,`currentHoveredColHeader$`,this._currentHoveredColHeader$.asObservable()),X(this,`currentRowHeaderClick$`,this._currentRowHeaderClick$.asObservable()),X(this,`currentColHeaderClick$`,this._currentColHeaderClick$.asObservable()),X(this,`currentRowHeaderDbClick$`,this._currentRowHeaderDbClick$.asObservable()),X(this,`currentColHeaderDbClick$`,this._currentColHeaderDbClick$.asObservable()),X(this,`currentRowHeaderPointerDown$`,this._currentRowHeaderPointerDown$.asObservable()),X(this,`currentColHeaderPointerDown$`,this._currentColHeaderPointerDown$.asObservable()),X(this,`currentRowHeaderPointerUp$`,this._currentRowHeaderPointerUp$.asObservable()),X(this,`currentColHeaderPointerUp$`,this._currentColHeaderPointerUp$.asObservable()),this._initCellDisposableListener()}dispose(){super.dispose(),this._currentCell$.complete(),this._currentClickedCell$.complete(),this._currentPointerDownCell$.complete(),this._currentPointerUpCell$.complete(),this._currentCellWithEvent$.complete(),this._currentRichText$.complete(),this._currentDbClickedCell$.complete(),this._currentHoveredRowHeader$.complete(),this._currentHoveredColHeader$.complete(),this._currentRowHeaderClick$.complete(),this._currentColHeaderClick$.complete(),this._currentRowHeaderDbClick$.complete(),this._currentColHeaderDbClick$.complete(),this._currentRowHeaderPointerDown$.complete(),this._currentColHeaderPointerDown$.complete(),this._currentRowHeaderPointerUp$.complete(),this._currentColHeaderPointerUp$.complete(),this.currentCellPosWithEvent$=Es(null),this.currentRichText$=Es(null)}_initCellDisposableListener(){this.disposeWithMe(this._univerInstanceService.getCurrentTypeOfUnit$(L.UNIVER_SHEET).subscribe(e=>{e||this._currentCell$.next(null)})),this.disposeWithMe(this._univerInstanceService.unitDisposed$.subscribe(e=>{var t,n;((t=this._currentCell$.getValue())==null?void 0:t.location.unitId)===e.getUnitId()&&this._currentCell$.next(null),((n=this._currentRichText$.getValue())==null?void 0:n.location.unitId)===e.getUnitId()&&this._currentRichText$.next(null)}))}_getCalcDeps(e){let t=this._univerInstanceService.getUnit(e,L.UNIVER_SHEET);if(!t)return null;let n=t.getActiveSheet();if(!n)return null;let r=this._renderManagerService.getRenderById(t.getUnitId());if(!r)return null;let i=r.with(Vl).getSkeletonParam(n.getSheetId());if(!i)return null;let a=r.with(_f);if(!(!(a!=null&&a.getCurrentScrollState())||!r))return{currentRender:r,workbook:t,worksheet:n,skeletonParam:i}}_calcActiveCell(e,t,n,r,i,a){var o,s,c;let l=Sp(e,t,n,r,i,a),u=r.skeleton;if(!l)return null;let{position:d,overflowLocation:f,location:p}=l,m=u.getFont(f.row,f.col),h=null,g=null,_=null,v=u.getCellWithCoordByIndex(f.row,f.col),y=n.getCell(f.row,f.col),{topOffset:b=0,leftOffset:x=0}=(o=y==null?void 0:y.fontRenderExtension)==null?{}:o;if(m!=null&&m.documentSkeleton){let{paddingLeft:e,paddingTop:t}=Qm(v,m,(y==null?void 0:y.v)!==null&&(y==null?void 0:y.v)!==void 0?!Number.isNaN(+y.v):!1),n=Zm(m.documentSkeleton,e,t),r=i-d.startX-x,o=a-d.startY-b;h=n.links.find(e=>e.rects.some(e=>e.left<=r&&r<=e.right&&e.top<=o&&o<=e.bottom)),g=n.checkLists.find(e=>e.rect.left<=r&&r<=e.rect.right&&e.rect.top<=o&&o<=e.rect.bottom),_=n.drawings.find(e=>e.rect.left<=r&&r<=e.rect.right&&e.rect.top<=o&&o<=e.rect.bottom)}let S=(s=(c=h==null?void 0:h.rects.pop())==null?g==null?void 0:g.rect:c)==null?_==null?void 0:_.rect:s,C=S&&(()=>{let e=S.top+v.mergeInfo.startY+b,t=S.bottom+v.mergeInfo.startY+b,n=S.left+v.mergeInfo.startX+x,r=S.right+v.mergeInfo.startX+x,i=v.mergeInfo.startY+b,a=v.mergeInfo.endY+b,o=v.mergeInfo.startX+x,s=v.mergeInfo.endX+x;return{top:Math.min(Math.max(e,i),i),bottom:Math.min(t,a),left:Math.min(Math.max(n,o),o),right:Math.min(r,s)}})();return{location:p,position:d,overflowLocation:f,customRange:h==null?void 0:h.range,bullet:g==null?void 0:g.paragraph,drawing:_,rect:C}}_calcActiveRowHeader(e,t,n){let r=this._getCalcDeps(e);if(!r)return;let{currentRender:i,worksheet:a,skeletonParam:o}=r,{scaleY:s}=i.scene.getAncestorScale(),c=i.scene.getViewports().find(e=>e.isHit(new fr(t,n)));if(!c||c.viewportKey!==H.VIEW_ROW_TOP&&c.viewportKey!==H.VIEW_ROW_BOTTOM)return;let l={x:c.viewportScrollX,y:c.viewportScrollY};return{unitId:e,index:o.skeleton.getRowIndexByOffsetY(n,s,l),subUnitId:a.getSheetId()}}_calcActiveColHeader(e,t,n){let r=this._getCalcDeps(e);if(!r)return;let{currentRender:i,worksheet:a,skeletonParam:o}=r,{scaleX:s}=i.scene.getAncestorScale(),c=i.scene.getViewports().find(e=>e.isHit(new fr(t,n)));if(!c||c.viewportKey!==H.VIEW_COLUMN_LEFT&&c.viewportKey!==H.VIEW_COLUMN_RIGHT)return;let l={x:c.viewportScrollX,y:c.viewportScrollY};return{unitId:e,index:o.skeleton.getColumnIndexByOffsetX(t,s,l),subUnitId:a.getSheetId()}}triggerPointerDown(e,t){let n=this._getCalcDeps(e);if(!n)return;let{currentRender:r,workbook:i,worksheet:a,skeletonParam:o}=n,s=this._calcActiveCell(r,i,a,o,t.offsetX,t.offsetY);if(s&&s.location){let{unitId:e,subUnitId:n,row:r,col:i}=th(s.location);this._currentPointerDownCell$.next({unitId:e,subUnitId:n,row:r,col:i,event:t})}}triggerPointerUp(e,t){let n=this._getCalcDeps(e);if(!n)return;let{currentRender:r,workbook:i,worksheet:a,skeletonParam:o}=n,s=this._calcActiveCell(r,i,a,o,t.offsetX,t.offsetY);if(s){let e=th(s.location);this._currentPointerUpCell$.next({...e,event:t})}}triggerMouseMove(e,t){let n=this._getCalcDeps(e);if(!n)return;let{currentRender:r,workbook:i,worksheet:a,skeletonParam:o}=n,s=this._calcActiveCell(r,i,a,o,t.offsetX,t.offsetY);this._currentCell$.next(s&&{location:th(s.location),position:s.position}),this._currentRichText$.next(s&&{...s,location:th(s.overflowLocation)}),this._currentCellWithEvent$.next(s&&{...s,location:th(s.location),event:t})}triggerClick(e,t,n){let r=this._getCalcDeps(e);if(!r)return;let{currentRender:i,workbook:a,worksheet:o,skeletonParam:s}=r,c=this._calcActiveCell(i,a,o,s,t,n);c&&this._currentClickedCell$.next({...c,location:th(c.location)})}triggerDbClick(e,t,n){let r=this._getCalcDeps(e);if(!r)return;let{currentRender:i,workbook:a,worksheet:o,skeletonParam:s}=r,c=this._calcActiveCell(i,a,o,s,t,n);c&&this._currentDbClickedCell$.next({...c,location:th(c.location)})}triggerScroll(){this._currentCell$.next(null)}triggerRowHeaderClick(e,t,n){let r=this._calcActiveRowHeader(e,t,n);r&&this._currentRowHeaderClick$.next(r)}triggerColHeaderClick(e,t,n){let r=this._calcActiveColHeader(e,t,n);r&&this._currentColHeaderClick$.next(r)}triggerRowHeaderDbClick(e,t,n){let r=this._calcActiveRowHeader(e,t,n);r&&this._currentRowHeaderDbClick$.next(r)}triggerColHeaderDbClick(e,t,n){let r=this._calcActiveColHeader(e,t,n);r&&this._currentColHeaderDbClick$.next(r)}triggerRowHeaderMouseMove(e,t,n){this._currentHoveredRowHeader$.next(this._calcActiveRowHeader(e,t,n))}triggerColHeaderMouseMove(e,t,n){this._currentHoveredColHeader$.next(this._calcActiveColHeader(e,t,n))}triggerRowHeaderPoniterDown(e,t,n){let r=this._calcActiveRowHeader(e,t,n);r&&this._currentRowHeaderPointerDown$.next(r)}triggerColHeaderPoniterDown(e,t,n){let r=this._calcActiveColHeader(e,t,n);r&&this._currentColHeaderPointerDown$.next(r)}triggerRowHeaderPoniterUp(e,t,n){let r=this._calcActiveRowHeader(e,t,n);r&&this._currentRowHeaderPointerUp$.next(r)}triggerColHeaderPoniterUp(e,t,n){let r=this._calcActiveColHeader(e,t,n);r&&this._currentColHeaderPointerUp$.next(r)}};nh=Q([Z(0,P),Z(1,Xn)],nh);let rh=class extends M{get active(){return this._active}constructor(e,t,n,r){super(),this._context=e,this._hoverManagerService=t,this._sheetSkeletonManagerService=n,this._scrollManagerService=r,X(this,`_active`,!1),this._initPointerEvent(),this._initScrollEvent()}_initPointerEvent(){let e=new ge,t=t=>{if(e.dispose(),!t)return;let{mainComponent:n,unitId:r,components:i}=this._context;if(!n)return;e.add(n.onPointerEnter$.subscribeEvent(e=>{this._active=!0})),e.add(vt(n.onPointerMove$).subscribe(e=>{this._active=!0,this._hoverManagerService.triggerMouseMove(r,e)})),e.add(n.onPointerDown$.subscribeEvent(e=>{this._hoverManagerService.triggerPointerDown(r,e)})),e.add(n.onPointerUp$.subscribeEvent(e=>{this._hoverManagerService.triggerPointerUp(r,e)})),e.add(n.onClick$.subscribeEvent(e=>{this._hoverManagerService.triggerClick(r,e.offsetX,e.offsetY)})),e.add(n.onDblclick$.subscribeEvent(e=>{this._hoverManagerService.triggerDbClick(r,e.offsetX,e.offsetY)})),e.add(n.onPointerLeave$.subscribeEvent(()=>{this._active=!1}));let a=i.get(Ol.ROW),o=i.get(Ol.COLUMN);a&&(e.add(a.onPointerMove$.subscribeEvent(e=>{this._hoverManagerService.triggerRowHeaderMouseMove(r,e.offsetX,e.offsetY)})),e.add(a.onPointerDown$.subscribeEvent(e=>{this._hoverManagerService.triggerRowHeaderPoniterDown(r,e.offsetX,e.offsetY)})),e.add(a.onPointerUp$.subscribeEvent(e=>{this._hoverManagerService.triggerRowHeaderPoniterUp(r,e.offsetX,e.offsetY),this._hoverManagerService.triggerRowHeaderClick(r,e.offsetX,e.offsetY)})),e.add(a.onDblclick$.subscribeEvent(e=>{this._hoverManagerService.triggerRowHeaderDbClick(r,e.offsetX,e.offsetY)}))),o&&(e.add(o.onPointerMove$.subscribeEvent(e=>{this._hoverManagerService.triggerColHeaderMouseMove(r,e.offsetX,e.offsetY)})),e.add(o.onPointerDown$.subscribeEvent(e=>{this._hoverManagerService.triggerColHeaderPoniterDown(r,e.offsetX,e.offsetY)})),e.add(o.onPointerUp$.subscribeEvent(e=>{this._hoverManagerService.triggerColHeaderPoniterUp(r,e.offsetX,e.offsetY),this._hoverManagerService.triggerColHeaderClick(r,e.offsetX,e.offsetY)})),e.add(o.onDblclick$.subscribeEvent(e=>{this._hoverManagerService.triggerColHeaderDbClick(r,e.offsetX,e.offsetY)})))};t(this._sheetSkeletonManagerService.getCurrentParam()),this.disposeWithMe(this._sheetSkeletonManagerService.currentSkeleton$.subscribe(e=>{t(e)}))}_initScrollEvent(){this.disposeWithMe(this._scrollManagerService.validViewportScrollInfo$.subscribe(()=>this._hoverManagerService.triggerScroll()))}};rh=Q([Z(1,F(nh)),Z(2,F(Vl)),Z(3,F(_f))],rh);const ih=`UNIVER_SHEET_PERMISSION_ALERT_DIALOG_ID`,ah=`UNIVER_SHEET_PERMISSION_ALERT_DIALOG`;let oh=class extends M{constructor(e,t,n,r,i,a,o,s){super(),this._commandService=e,this._univerInstanceService=t,this._permissionService=n,this._dialogService=r,this._rangeProtectionRuleModel=i,this._localeService=a,this._contextService=o,this._sheetPermissionCheckController=s,X(this,`disposableCollection`,new ge),this._initialize(),this._initUIEvent()}_initUIEvent(){this.disposeWithMe(this._sheetPermissionCheckController.triggerPermissionUIEvent$.subscribe(e=>{this._haveNotPermissionHandle(e)}))}_haveNotPermissionHandle(e){let t={id:ih,title:{title:`permission.dialog.alert`},children:{label:ah,errorMsg:e},width:320,destroyOnClose:!0,showOk:!0,onClose:()=>{this._dialogService.close(ih)},onOk:()=>{this._dialogService.close(ih)},className:`sheet-permission-user-dialog`};this._permissionService.getShowComponents()&&this._dialogService.open(t)}_getPermissionCheck(e,t){let n=!0,r=``;switch(e){case u.id:case l.id:if(this._contextService.getContextValue(we)===!0||this._contextService.getContextValue(be)===!0)break;n=this._sheetPermissionCheckController.permissionCheckWithoutRange({workbookTypes:[G],rangeTypes:[U],worksheetTypes:[Uo,K]}),r=this._localeService.t(`permission.dialog.editErr`);break;case op.id:if(t.visible===!1)break;n=this._sheetPermissionCheckController.permissionCheckWithoutRange({workbookTypes:[G],rangeTypes:[U],worksheetTypes:[Uo,K]}),r=this._localeService.t(`permission.dialog.editErr`);break;case nd.id:n=this._sheetPermissionCheckController.permissionCheckWithoutRange({workbookTypes:[G],rangeTypes:[U],worksheetTypes:[K,Wo]}),r=this._localeService.t(`permission.dialog.pasteErr`);break;case $u.id:n=this._permissionCheckByPaste(t),r=this._localeService.t(`permission.dialog.pasteErr`);break;case gf.id:n=this._sheetPermissionCheckController.permissionCheckWithRanges({workbookTypes:[G],rangeTypes:[U],worksheetTypes:[K,Uo,Ho]}),r=this._localeService.t(`permission.dialog.commonErr`);break;case ia.id:case Td.id:case Ed.id:case Dd.id:case Od.id:n=this._sheetPermissionCheckController.permissionCheckWithRanges({workbookTypes:[G],rangeTypes:[U],worksheetTypes:[Ho,K]}),r=this._localeService.t(`permission.dialog.setStyleErr`);break;case Xu.id:var i;n=this._sheetPermissionCheckController.permissionCheckWithRanges({workbookTypes:[So],rangeTypes:[Pi],worksheetTypes:[No]}),r=this._localeService.t(`permission.dialog.copyErr`),(i=this._permissionService.getPermissionPoint(new So(this._univerInstanceService.getCurrentUnitForType(L.UNIVER_SHEET).getUnitId()).id))!=null&&i.value||(r=this._localeService.t(`permission.dialog.workbookCopyErr`));break;case Zu.id:var a;n=this._sheetPermissionCheckController.permissionCheckWithRanges({workbookTypes:[So,G],rangeTypes:[Pi,U],worksheetTypes:[No,K]}),r=this._localeService.t(`permission.dialog.copyErr`),(a=this._permissionService.getPermissionPoint(new So(this._univerInstanceService.getCurrentUnitForType(L.UNIVER_SHEET).getUnitId()).id))!=null&&a.value||(r=this._localeService.t(`permission.dialog.workbookCopyErr`));break;default:break}n||this._sheetPermissionCheckController.blockExecuteWithoutPermission(r)}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.beforeCommandExecuted(e=>{this._getPermissionCheck(e.id,e==null?void 0:e.params)}))}_permissionCheckByPaste(e){return e.value===Bu.SPECIAL_PASTE_VALUE||e.value===Bu.SPECIAL_PASTE_FORMULA||e.value===Bu.SPECIAL_PASTE_FORMAT?this._sheetPermissionCheckController.permissionCheckWithRanges({workbookTypes:[G],rangeTypes:[U],worksheetTypes:[Ho,K]}):this._sheetPermissionCheckController.permissionCheckWithRanges({workbookTypes:[G],rangeTypes:[U],worksheetTypes:[Uo,Ho,K]})}};oh=Q([Z(0,N),Z(1,P),Z(2,Le),Z(3,pn),Z(4,F(Fi)),Z(5,F(Ue)),Z(6,Fe),Z(7,F(uo))],oh);var sh=function(e){return e[e.ROW=0]=`ROW`,e[e.COLUMN=1]=`COLUMN`,e}(sh||{}),ch=function(e){return e[e.NONE=0]=`NONE`,e[e.X=1]=`X`,e[e.Y=2]=`Y`,e[e.ALL=3]=`ALL`,e}(ch||{});const lh=mt(`freezePermissionCheck`);let uh=class extends M{constructor(e,t,n,r,i,a,o,s){super(),this._context=e,this._sheetSkeletonManagerService=t,this._commandService=n,this._selectionManagerService=r,this._scrollManagerService=i,this._themeService=a,this._sheetInterceptorService=o,this._injector=s,X(this,`_rowFreezeHeaderRect`,void 0),X(this,`_rowFreezeMainRect`,void 0),X(this,`_columnFreezeHeaderRect`,void 0),X(this,`_columnFreezeMainRect`,void 0),X(this,`_freezeDownSubs`,void 0),X(this,`_freezePointerEnterSubs`,void 0),X(this,`_freezePointerLeaveSubs`,void 0),X(this,`_scenePointerMoveSub`,void 0),X(this,`_scenePointerUpSub`,void 0),X(this,`_changeToRow`,-1),X(this,`_changeToColumn`,-1),X(this,`_changeToOffsetX`,0),X(this,`_changeToOffsetY`,0),X(this,`_activeViewport`,null),X(this,`_freezeNormalHeaderColor`,``),X(this,`_freezeNormalMainColor`,``),X(this,`_freezeActiveColor`,``),X(this,`_freezeHoverColor`,``),X(this,`_lastFreeze`,void 0),X(this,`interceptor`,new Ve({FREEZE_PERMISSION_CHECK:lh})),this._initialize()}dispose(){super.dispose()}_initialize(){this._skeletonListener(),this._commandExecutedListener(),this._themeChangeListener(),this._interceptorCommands(),this._bindViewportScroll(),this._zoomRefresh()}_createFreeze(e=sh.ROW,t){var n;let r=t==null?this._getFreeze():t;if(r==null)return null;let i=(n=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:n.skeleton,{startRow:a,startColumn:o}=r,s=this._getPositionByIndex(a,o);if(s==null||i==null)return null;let c=this._getSheetObject().scene,{startX:l,startY:u}=s,{rowTotalHeight:d,columnTotalWidth:f,rowHeaderWidthAndMarginLeft:p,columnHeaderHeightAndMarginTop:m}=i;this._changeToRow=a,this._changeToColumn=o,this._changeToOffsetX=l,this._changeToOffsetY=u;let h=Math.max(c.scaleX,c.scaleY),g=2/Math.max(1,h);if(e===sh.ROW){(a===-1||a===0)&&(g*=2);let e=g;this._rowFreezeHeaderRect=new er(`__SpreadsheetFreezeRowHeaderName__`,{fill:this._freezeNormalHeaderColor,width:p,height:g,left:0,top:u-e,zIndex:3});let t=this._freezeNormalHeaderColor;(a===-1||a===0)&&(t=this._freezeNormalMainColor),this._rowFreezeMainRect=new er(`__SpreadsheetFreezeRowMainName__`,{fill:t,width:f,height:g,left:p,top:u-e,zIndex:3}),c.addObjects([this._rowFreezeHeaderRect,this._rowFreezeMainRect],10)}else{(o===-1||o===0)&&(g*=2);let e=g;this._columnFreezeHeaderRect=new er(`__SpreadsheetFreezeColumnHeaderName__`,{fill:this._freezeNormalHeaderColor,width:g,height:m,left:l-e,top:0,zIndex:3});let t=this._freezeNormalHeaderColor;(o===-1||o===0)&&(t=this._freezeNormalMainColor),this._columnFreezeMainRect=new er(`__SpreadsheetFreezeColumnMainName__`,{fill:t,width:g,height:d,left:l-e,top:m,zIndex:3}),c.addObjects([this._columnFreezeHeaderRect,this._columnFreezeMainRect],10)}this._eventBinding(e)}_eventBinding(e=sh.ROW){let t=this._rowFreezeHeaderRect,n=this._rowFreezeMainRect;e===sh.COLUMN&&(t=this._columnFreezeHeaderRect,n=this._columnFreezeMainRect);let r=this._getSheetObject();if(r==null)return;let{scene:i}=r;if(this._freezePointerEnterSubs=new ys,this._freezePointerLeaveSubs=new ys,this._freezeDownSubs=new ys,n){let e=n.onPointerEnter$.subscribeEvent(()=>{if(!this.interceptor.fetchThroughInterceptors(lh)(!0,null))return!1;t==null||t.setProps({fill:this._freezeHoverColor,zIndex:4}),i.setCursor(Wn.GRAB)});this._freezePointerEnterSubs.add(e);let r=n.onPointerLeave$.subscribeEvent(()=>{t==null||t.setProps({fill:this._freezeNormalHeaderColor,zIndex:3}),i.resetCursor()});this._freezePointerLeaveSubs.add(r)}if(t){let e=t.onPointerEnter$.subscribeEvent(()=>{if(!this.interceptor.fetchThroughInterceptors(lh)(!0,null))return!1;t==null||t.setProps({fill:this._freezeHoverColor,zIndex:4}),i.setCursor(Wn.GRAB)});this._freezePointerEnterSubs.add(e);let n=t.onPointerLeave$.subscribeEvent(()=>{t==null||t.setProps({fill:this._freezeNormalHeaderColor,zIndex:3}),i.resetCursor()});this._freezePointerLeaveSubs.add(n)}let a=t==null?void 0:t.onPointerDown$.subscribeEvent(r=>{this._freezeDown(r,t,n,e)});a&&this._freezeDownSubs.add(a);let o=n==null?void 0:n.onPointerDown$.subscribeEvent(r=>{this._freezeDown(r,t,n,e)});o&&this._freezeDownSubs.add(o)}_getCurrentLastVisible(){var e,t,n,r,i,a,o;let s=this._getSheetObject();if(s==null)return;let c=(e=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:e.skeleton;if(c==null)return;let l=s.scene,u=Math.max(l.scaleX,l.scaleY),d=this._scrollManagerService.getCurrentScrollState(),f=(s.engine.height-c.columnHeaderHeight)/u,p=(s.engine.width-c.rowHeaderWidth)/u,m=(t=d==null?void 0:d.sheetViewStartRow)==null?0:t,h=m===0?-((n=d==null?void 0:d.offsetY)==null?0:n):c.rowHeightAccumulation[m-1]-((r=d==null?void 0:d.offsetY)==null?0:r),g=0,_=!1;for(let e=m,t=c.rowHeightAccumulation.length;e<t;e++)if(c.rowHeightAccumulation[e]-h>f){g=e,_=!0;break}_||(g=c.rowHeightAccumulation.length-1);let v=(i=d==null?void 0:d.sheetViewStartColumn)==null?0:i,y=v===0?-((a=d==null?void 0:d.offsetX)==null?0:a):c.columnWidthAccumulation[v-1]-((o=d==null?void 0:d.offsetX)==null?0:o),b=0,x=!1;for(let e=v,t=c.columnWidthAccumulation.length;e<t;e++)if(c.columnWidthAccumulation[e]-y>p){b=e,x=!0;break}return x||(b=c.columnWidthAccumulation.length-1),{lastRow:g,lastColumn:b}}_getActiveViewport(e){var t;let n=(t=this._getSheetObject())==null?void 0:t.scene.getViewports();return n&&n.find(t=>t.isHit(new fr(e.offsetX,e.offsetY)))||null}_freezeDown(e,t,n,r=sh.ROW){var i;let a=(i=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:i.skeleton;if(a==null)return;let o=this._getSheetObject();if(o==null)return;if(!this.interceptor.fetchThroughInterceptors(lh)(!0,null))return!1;let{scene:s}=o;s.setCursor(Wn.GRABBING),s.disableObjectsEvent();let c=this._getCurrentLastVisible(),l=c===void 0?1/0:a.rowHeightAccumulation[c.lastRow],u=c===void 0?1/0:a.columnWidthAccumulation[c.lastColumn-1]+a.rowHeaderWidth;this._activeViewport=null;let d=this._getFreeze();d&&(this._changeToColumn=d.startColumn,this._changeToRow=d.startRow),this._scenePointerMoveSub=s.onPointerMove$.subscribeEvent(e=>{let i=this._getActiveViewport(e),{startX:o,startY:d,row:f,column:p}=Pf(e.offsetX,e.offsetY,s,a,i||void 0,!0);if(!this.interceptor.fetchThroughInterceptors(lh)(!0,null))return!1;s.setCursor(Wn.GRABBING);let m=2/Math.max(s.scaleX,s.scaleY);if(r===sh.ROW){var h,g;(h=t.transformByState({top:Math.min(d,l)-m/2}))==null||h.setProps({fill:this._freezeActiveColor}),(g=n.transformByState({top:Math.min(d,l)-m/2}))==null||g.setProps({fill:this._freezeNormalHeaderColor}),this._changeToRow=c===void 0?f:Math.min(f,c.lastRow),this._changeToOffsetY=Math.min(d,l),this._activeViewport=i}else{var _,v;(_=t.transformByState({left:Math.min(o,u)-m/2}))==null||_.setProps({fill:this._freezeActiveColor}),(v=n.transformByState({left:Math.min(o,u)-m/2}))==null||v.setProps({fill:this._freezeNormalHeaderColor}),this._changeToColumn=c===void 0?p:Math.min(p,c.lastColumn),this._changeToOffsetX=o,this._activeViewport=i}}),this._scenePointerUpSub=s.onPointerUp$.subscribeEvent(()=>{var e,i;s.resetCursor(),s.enableObjectsEvent(),this._clearObserverEvent();let{rowHeaderWidthAndMarginLeft:o,columnHeaderHeightAndMarginTop:c}=a;r===sh.ROW&&(this._changeToRow===0||this._changeToRow===-1)||r===sh.COLUMN&&(this._changeToColumn===0||this._changeToColumn===-1)?(t.setProps({fill:this._freezeNormalHeaderColor}),n.setProps({fill:this._freezeNormalMainColor})):(t==null||t.setProps({fill:this._freezeNormalHeaderColor}),n==null||n.setProps({fill:this._freezeNormalHeaderColor}));let l=2/Math.max(s.scaleX,s.scaleY);r===sh.ROW?(this._changeToRow===0||this._changeToRow===-1)&&(t.transformByState({top:c-l}),n.transformByState({top:c-l})):(this._changeToColumn===0||this._changeToColumn===-1)&&(t.transformByState({left:o-l}),n.transformByState({left:o-l}));let{sheetViewStartRow:u,sheetViewStartColumn:d}=this._scrollManagerService.getCurrentScrollState()||{sheetViewStartRow:0,sheetViewStartColumn:0};if(d==null||u==null)return;let f=this._context.unit,p=f.getActiveSheet();if(!p)return;let m=(e=p.getConfig())==null?void 0:e.freeze,h=(m==null?void 0:m.xSplit)||0,g=(m==null?void 0:m.ySplit)||0,_=(i=this._activeViewport)==null?void 0:i.viewportKey;r===sh.ROW&&(g=!_||_===H.VIEW_LEFT_TOP||_===H.VIEW_MAIN_LEFT_TOP||_===H.VIEW_MAIN_TOP||_===H.VIEW_ROW_TOP?this._changeToRow-(m.startRow-m.ySplit):this._changeToRow-u,g=g<0?0:g),r===sh.COLUMN&&(h=!_||_===H.VIEW_LEFT_TOP||_===H.VIEW_MAIN_LEFT_TOP||_===H.VIEW_MAIN_LEFT||_===H.VIEW_COLUMN_LEFT?this._changeToColumn-(m.startColumn-m.xSplit):this._changeToColumn-d,h=h<0?0:h),this._commandService.executeCommand(ha.id,{startRow:g===0?-1:this._changeToRow,startColumn:h===0?-1:this._changeToColumn,ySplit:g,xSplit:h,unitId:f.getUnitId(),subUnitId:p.getSheetId()})})}_getViewports(){let e=this._getSheetObject();if(e==null)return;let{scene:t}=e,n=t.getViewport(H.VIEW_COLUMN_LEFT),r=t.getViewport(H.VIEW_COLUMN_RIGHT),i=t.getViewport(H.VIEW_ROW_TOP),a=t.getViewport(H.VIEW_ROW_BOTTOM),o=t.getViewport(H.VIEW_LEFT_TOP),s=t.getViewport(H.VIEW_MAIN),c=t.getViewport(H.VIEW_MAIN_LEFT_TOP),l=t.getViewport(H.VIEW_MAIN_LEFT),u=t.getViewport(H.VIEW_MAIN_TOP);if(!(n==null||r==null||i==null||a==null||o==null||s==null||c==null||l==null||u==null))return{viewMain:s,viewMainLeftTop:c,viewMainLeft:l,viewMainTop:u,viewColumnLeft:n,viewColumnRight:r,viewRowTop:i,viewRowBottom:a,viewLeftTop:o}}_bindViewportScroll(){let e=this._getViewports();if(!e)return;let{viewRowBottom:t,viewColumnRight:n,viewMainLeft:r,viewMainTop:i}=e;this.disposeWithMe(this._scrollManagerService.validViewportScrollInfo$.subscribe(e=>{if(!e)return;let{scrollX:a,scrollY:o,viewportScrollX:s,viewportScrollY:c}=e;t.isActive&&t.updateScrollVal({scrollY:o,viewportScrollY:c}),n.isActive&&n.updateScrollVal({scrollX:a,viewportScrollX:s}),r.isActive&&r.updateScrollVal({scrollY:o,viewportScrollY:c}),i.isActive&&i.updateScrollVal({scrollX:a,viewportScrollX:s})}))}_updateViewport(e=-1,t=-1,n=0,r=0,i=ch.ALL){var a;let o=(a=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:a.skeleton;if(o==null)return;let{rowHeaderWidthAndMarginLeft:s,columnHeaderHeightAndMarginTop:c}=o,l=this._getViewports();if(!l)return;let{viewMain:u,viewMainLeftTop:d,viewMainLeft:f,viewMainTop:p,viewColumnLeft:m,viewColumnRight:h,viewRowTop:g,viewRowBottom:_,viewLeftTop:v}=l;h.resizeWhenFreezeChange({left:s,top:0,height:c+1,right:0}),_.resizeWhenFreezeChange({left:0,top:c,bottom:0,width:s+1}),v.resizeWhenFreezeChange({left:0,top:0,width:s+1,height:c});let y=!0,b=!0;d.enable(),(e===-1||e===0)&&(y=!1),(t===-1||t===0)&&(b=!1);let x=o.getNoMergeCellWithCoordByIndex(e-n,t-r,!1),S=o.getNoMergeCellWithCoordByIndex(e,t,!1);if(d.disable(),p.disable(),f.disable(),g.disable(),m.disable(),d.resetPadding(),p.resetPadding(),f.resetPadding(),g.resetPadding(),m.resetPadding(),y===!1&&b===!1)u.resizeWhenFreezeChange({left:s,top:c,bottom:0,right:0}),u.resetPadding(),f.resizeWhenFreezeChange({left:s,top:c,bottom:0,width:0}),p.resizeWhenFreezeChange({left:s,top:c,height:0,right:0}),d.resizeWhenFreezeChange({left:s,top:c,width:0,height:0}),g.resizeWhenFreezeChange({left:0,top:c,width:s+1,height:0}),m.resizeWhenFreezeChange({left:0,top:0,height:c+1,width:0});else if(y===!0&&b===!1){let e=S.startY-x.startY;u.resizeWhenFreezeChange({left:s,top:c+e,bottom:0,right:0}),u.setPadding({startY:x.startY,endY:S.startY,startX:0,endX:0}),i&ch.Y&&this._commandService.executeCommand(zf.id,{sheetViewStartRow:0,offsetY:0}),p.resizeWhenFreezeChange({left:s,top:c,height:e,right:0}),p.updateScrollVal({viewportScrollY:x.startY,rawScrollX:u.scrollX,viewportScrollX:u.viewportScrollX}),g.resizeWhenFreezeChange({left:0,top:c,width:s+1,height:e}),g.updateScrollVal({viewportScrollY:x.startY}),_.resizeWhenFreezeChange({left:0,top:c+e,bottom:0,width:s+1}),p.enable(),g.enable()}else if(y===!1&&b===!0){let e=S.startX-x.startX;u.resizeWhenFreezeChange({left:s+e,top:c,bottom:0,right:0}),u.setPadding({startX:x.startX,endX:S.startX,startY:0,endY:0}),i&ch.X&&this._commandService.executeCommand(zf.id,{sheetViewStartColumn:0,offsetX:0}),f.resizeWhenFreezeChange({left:s,top:c,width:e,bottom:0,right:0}),f.updateScrollVal({viewportScrollX:x.startX,rawScrollY:u.scrollY,viewportScrollY:u.viewportScrollY}),m.resizeWhenFreezeChange({left:s,top:0,width:e,height:c+1}),m.updateScrollVal({viewportScrollX:x.startX}),h.resizeWhenFreezeChange({left:s+e,top:0,height:c+1,right:0}),f.enable(),m.enable()}else{let e=S.startX-x.startX,t=S.startY-x.startY;u.resizeWhenFreezeChange({left:s+e,top:c+t,bottom:0,right:0}),u.setPadding({startY:x.startY,endY:S.startY,startX:x.startX,endX:S.startX}),i&&this._commandService.executeCommand(zf.id,{...i&ch.X?{sheetViewStartColumn:0,offsetX:0}:null,...i&ch.Y?{sheetViewStartRow:0,offsetY:0}:null}),f.resizeWhenFreezeChange({left:s,top:c+t,width:e,bottom:0}),f.updateScrollVal({viewportScrollX:x.startX,rawScrollY:u.scrollY,viewportScrollY:u.viewportScrollY}),p.resizeWhenFreezeChange({left:s+e,top:c,height:t,right:0}),p.updateScrollVal({viewportScrollY:x.startY,rawScrollX:u.scrollX,viewportScrollX:u.viewportScrollX}),d.resizeWhenFreezeChange({left:s,top:c,width:e,height:t}),d.updateScrollVal({viewportScrollX:x.startX,viewportScrollY:x.startY}),g.resizeWhenFreezeChange({left:0,top:c,width:s+1,height:t}),g.updateScrollVal({viewportScrollY:x.startY}),_.resizeWhenFreezeChange({left:0,top:c+t,bottom:0,width:s+1}),m.resizeWhenFreezeChange({left:s,top:0,width:e,height:c+1}),m.updateScrollVal({viewportScrollX:x.startX}),h.resizeWhenFreezeChange({left:s+e,top:0,height:c+1,right:0}),d.enable(),p.enable(),f.enable(),g.enable(),m.enable()}}_skeletonListener(){this.disposeWithMe(Vt(this._sheetSkeletonManagerService.currentSkeleton$.subscribe(e=>{[Ua.id,hi.id,gi.id].includes((e==null?void 0:e.commandId)||``)&&this._refreshCurrent()})))}_refreshCurrent(){let e=this._context.unit.getActiveSheet();if(!e)return;let{startRow:t=-1,startColumn:n=-1,ySplit:r=0,xSplit:i=0}=e.getConfig().freeze;this._refreshFreeze(t,n,r,i,ch.NONE)}_themeChangeListener(){this._themeChange(this._themeService.getCurrentTheme()),this.disposeWithMe(this._themeService.currentTheme$.subscribe(e=>{this._clearFreeze(),this._themeChange(e),this._refreshCurrent()}))}_themeChange(e){this._freezeNormalHeaderColor=bt(e,`gray.300`),this._freezeNormalMainColor=new ae(this._freezeNormalHeaderColor).setAlpha(.01).toRgbString(),this._freezeActiveColor=bt(e,`primary.600`),this._freezeHoverColor=bt(e,`gray.500`)}_interceptorCommands(){this.disposeWithMe(this._sheetInterceptorService.interceptCommand({getMutations:e=>{let t={redos:[],undos:[]},n=this._getFreeze();if(!n)return t;let r=e=>{let n=this._context.unit,r=n.getUnitId(),i=n.getActiveSheet();if(!i)return t;let a=i.getSheetId();this._refreshFreeze(e.startRow,e.startColumn,e.ySplit,e.xSplit,ch.NONE);let o={...e,unitId:r,subUnitId:a,resetScroll:!1},s=_a(this._injector,o);return{undos:[{id:ga.id,params:s}],redos:[{id:ga.id,params:o}]}};if(e.id===vi.id){let{range:t,direction:i}=e.params,a=t.endRow-t.startRow+1;if(t.startRow<n.startRow||t.startRow+1===n.startRow&&i===j.UP)return r({...n,startRow:Math.max(1,n.startRow+a),ySplit:Math.max(1,n.ySplit+a)})}if(e.id===ci.id){let{range:t,direction:i}=e.params,a=t.endColumn-t.startColumn+1;if(t.startColumn<n.startColumn||t.startColumn+1===n.startColumn&&i===j.LEFT)return r({...n,startColumn:Math.max(1,n.startColumn+a),xSplit:Math.max(1,n.xSplit+a)})}if(e.id===Ei.id){let i=this._selectionManagerService.getCurrentSelections(),{fromRange:{startColumn:a},toRange:{startColumn:o}}=e.params,s=i==null?void 0:i.filter(e=>e.range.rangeType===I.COLUMN&&e.range.startColumn<=a&&a<=e.range.endColumn);if(!(s!=null&&s.length))return t;let c=s[0].range,l={...c,startColumn:o,endColumn:o+c.endColumn-c.startColumn};if(!n||n.startColumn<=0||c.startColumn>=n.startColumn&&l.startColumn>=n.startColumn||c.startColumn===l.startColumn||c.endColumn<n.startColumn&&l.startColumn<n.startColumn)return t;let u=c.endColumn-c.startColumn+1,d=Math.max(Math.min(n.startColumn,c.endColumn+1)-c.startColumn,0),f,p;return l.startColumn>=n.startColumn?(f=Math.max(n.startColumn-d,1),p=Math.max(n.xSplit-d,1)):(f=n.startColumn+u-d,p=n.xSplit+u-d),r({...n,startColumn:f,xSplit:p})}if(e.id===Ai.id){let i=this._selectionManagerService.getCurrentSelections(),{fromRange:{startRow:a},toRange:{startRow:o}}=e.params,s=i==null?void 0:i.filter(e=>e.range.rangeType===I.ROW&&e.range.startRow<=a&&a<=e.range.endRow);if(!(s!=null&&s.length))return t;let c=s[0].range,l={...c,startRow:o,endRow:o+c.endRow-c.startRow};if(!n||n.startRow<=0||c.startRow>=n.startRow&&l.startRow>=n.startRow||c.startRow===l.startRow||c.endRow<n.startRow&&l.startRow<n.startRow)return t;let u=c.endRow-c.startRow+1,d=Math.max(Math.min(n.startRow,c.endRow+1)-c.startRow,0),f,p;return l.startRow>=n.startRow?(f=Math.max(n.startRow-d,1),p=Math.max(n.ySplit-d,1)):(f=n.startRow+u-d,p=n.ySplit+u-d),r({...n,startRow:f,ySplit:p})}if(e.id===zi.id||e.id===Ui.id){let t=e.params,i=t.range;if(i.rangeType===I.COLUMN&&i.startColumn<n.startColumn){let e=Math.min(n.startColumn,i.endColumn+1)-i.startColumn;return r({...n,startColumn:Math.max(1,n.startColumn-e),xSplit:Math.max(1,n.xSplit-e)})}if(t.range.rangeType===I.ROW&&i.startRow<n.startRow){let e=Math.min(n.startRow,i.endRow+1)-i.startRow;return r({...n,startRow:Math.max(1,n.startRow-e),ySplit:Math.max(1,n.ySplit-e)})}}return t}}))}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{switch(e.id){case ga.id:case Jf.id:{let t=this._lastFreeze,n=this._context.unit,r=n.getActiveSheet(),i=e.params,{unitId:a,subUnitId:o}=i;if(!(a===n.getUnitId()&&o===(r==null?void 0:r.getSheetId())))return;let s=r.getConfig().freeze;if(this._lastFreeze=s,s==null)return;let c=ch.NONE,{startRow:l=-1,startColumn:u=-1,ySplit:d=0,xSplit:f=0}=s;(!t||t.startRow!==l||t.ySplit!==d)&&(c|=ch.Y),(!t||t.startColumn!==u||t.xSplit!==f)&&(c|=ch.X),i.resetScroll===!1&&(c=ch.NONE),this._refreshFreeze(l,u,d,f,c)}break;case to.id:{let t=this._getFreeze(),n=t&&e.params.ranges.some(e=>e.startRow<t.startRow);e.params&&n&&this._refreshCurrent()}break;case Wa.id:{let t=this._getFreeze();e.params&&t&&e.params.ranges.some(e=>e.startColumn<t.startColumn)&&this._refreshCurrent()}break;case $a.id:{let t=e.params,n=this._getFreeze();if(n&&n.startRow>-1&&t.rowsAutoHeightInfo.some(e=>e.row<n.startRow)){let e=this._sheetSkeletonManagerService.currentSkeleton$.subscribe(()=>{this._refreshCurrent(),setTimeout(()=>{e.unsubscribe()})})}}break;case la.id:case ua.id:{let t=e.params,n=this._getFreeze(),r=t.ranges;n&&n.startColumn>-1&&r.some(e=>e.startColumn<n.startColumn)&&this._refreshCurrent()}break;case Ea.id:case Da.id:{let t=e.params,n=this._getFreeze(),r=t.ranges;n&&n.startRow>-1&&r.some(e=>e.startRow<n.startRow)&&this._refreshCurrent()}break;case Nl.id:case Pl.id:this._refreshCurrent()}}))}_zoomRefresh(){let e=this._getSheetObject();if(e==null)return;let{scene:t}=e;this.disposeWithMe(t.onTransformChange$.subscribeEvent(e=>{[dr.scale,dr.all].includes(e.type)&&this._refreshCurrent()}))}_clearObserverEvent(){var e,t;this._getSheetObject()!=null&&((e=this._scenePointerMoveSub)==null||e.unsubscribe(),(t=this._scenePointerUpSub)==null||t.unsubscribe(),this._scenePointerMoveSub=null,this._scenePointerUpSub=null)}_clearFreeze(){var e,t,n,r,i,a;(e=this._rowFreezeHeaderRect)==null||e.dispose(),(t=this._rowFreezeMainRect)==null||t.dispose(),(n=this._columnFreezeHeaderRect)==null||n.dispose(),(r=this._columnFreezeMainRect)==null||r.dispose(),this._getSheetObject()!=null&&([this._freezeDownSubs,this._freezePointerEnterSubs,this._freezePointerLeaveSubs].forEach(e=>{e==null||e.unsubscribe()}),this._freezeDownSubs=null,this._freezePointerEnterSubs=null,this._freezePointerLeaveSubs=null,(i=this._scenePointerMoveSub)==null||i.unsubscribe(),(a=this._scenePointerUpSub)==null||a.unsubscribe(),this._scenePointerMoveSub=null,this._scenePointerUpSub=null)}_getPositionByIndex(e,t){var n;if(this._getSheetObject()==null)return;let r=(n=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:n.skeleton,i=r==null?void 0:r.getNoMergeCellWithCoordByIndex(e,t);if(r==null)return;if(i!=null&&(!isNaN(i.endX)||!isNaN(i.endY)))return i;let{rowHeaderWidthAndMarginLeft:a,columnHeaderHeightAndMarginTop:o}=r;return{startX:a,endX:a,startY:o,endY:o}}_getFreeze(){var e;let t=(e=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:e.skeleton.getWorksheetConfig();if(t!=null)return t.freeze}_getSheetObject(){return Mf(this._context.unit,this._context)}_refreshFreeze(e,t,n,r,i){var a;let o={startRow:e,startColumn:t,ySplit:n,xSplit:r};this._clearFreeze(),this._createFreeze(sh.ROW,o),this._createFreeze(sh.COLUMN,o),this._updateViewport(e,t,n,r,i),(a=this._getSheetObject())==null||a.spreadsheet.makeForceDirty()}};uh=Q([Z(1,F(Vl)),Z(2,N),Z(3,F(W)),Z(4,F(_f)),Z(5,F(et)),Z(6,F(lo)),Z(7,F(ze))],uh);function dh(e){let t=e.get(W),n=e.get(Fi),r=e.get(P),i=e.get(Ti),a=r.getCurrentTypeOfUnit$(L.UNIVER_SHEET);return bs([t.selectionMoveEnd$,a.pipe(ws(e=>{var t;return(t=e==null?void 0:e.getUnitId())==null?``:t})),a.pipe(ks(e=>{var t;return(t=e==null?void 0:e.activeSheet$)==null?Es(null):t}))]).pipe(ws(([e,t,r])=>{if(!r||!e||e.length===0)return!1;let a=r.getSheetId(),o=e.map(e=>e.range);if(i.interceptor.fetchThroughInterceptors(Ci)(!1,o))return!0;let s=n.getSubunitRuleList(t,a).map(e=>e.ranges).flat();if(e.length<2){let t=e[0].range;return s.some(e=>Qe.intersects(e,t)&&!Qe.contains(e,t))}for(let t=0;t<e.length;t++)for(let n=t+1;n<e.length;n++)if(Qe.intersects(e[t].range,e[n].range))return!0;return!1}))}function fh(e,t){return!!mh(e,t,I.ROW)}function ph(e,t){return!!mh(e,t,I.COLUMN)}function mh(e,t,n){return e.find(e=>{let{startRow:r,endRow:i,startColumn:a,endColumn:o,rangeType:s}=e.range;return s===I.ALL||s===I.NORMAL?!1:s===n&&(n===I.COLUMN&&a<=t&&t<=o||n===I.ROW&&r<=t&&t<=i)})}const hh=mt(`headerMovePermissionCheck`);let gh=class extends M{constructor(e,t,n,r){super(),this._context=e,this._sheetSkeletonManagerService=n,this._commandService=r,X(this,`_startOffsetX`,-1/0),X(this,`_startOffsetY`,-1/0),X(this,`_moveHelperBackgroundShape`,void 0),X(this,`_moveHelperLineShape`,void 0),X(this,`_headerPointerDownSubs`,void 0),X(this,`_headerPointerMoveSubs`,void 0),X(this,`_headerPointerLeaveSubs`,void 0),X(this,`_dragHeaderMoveSub`,void 0),X(this,`_scenePointerUpSub`,void 0),X(this,`_scrollTimer`,void 0),X(this,`_changeFromColumn`,-1),X(this,`_changeFromRow`,-1),X(this,`_changeToColumn`,-1),X(this,`_changeToRow`,-1),X(this,`interceptor`,new Ve({HEADER_MOVE_PERMISSION_CHECK:hh})),X(this,`_workbookSelections`,void 0),this._workbookSelections=t.getWorkbookSelections(this._context.unitId),this._init()}dispose(){var e,t,n,r,i,a,o,s;(e=this._moveHelperBackgroundShape)==null||e.dispose(),(t=this._moveHelperLineShape)==null||t.dispose(),(n=this._headerPointerMoveSubs)==null||n.unsubscribe(),(r=this._headerPointerLeaveSubs)==null||r.unsubscribe(),(i=this._headerPointerDownSubs)==null||i.unsubscribe(),this._headerPointerMoveSubs=null,this._headerPointerLeaveSubs=null,this._headerPointerDownSubs=null,(a=this._dragHeaderMoveSub)==null||a.unsubscribe(),(o=this._scenePointerUpSub)==null||o.unsubscribe(),this._dragHeaderMoveSub=null,this._scenePointerUpSub=null,(s=this._scrollTimer)==null||s.dispose()}_init(){this._initialRowOrColumn(I.ROW),this._initialRowOrColumn(I.COLUMN)}_initialRowOrColumn(e=I.ROW){let t=this._context.components.get(Ol.COLUMN),n=this._context.components.get(Ol.ROW),r=this._context.scene,i=e===I.ROW?n:t;this._headerPointerMoveSubs=new ys,this._headerPointerMoveSubs.add(i.onPointerMove$.subscribeEvent(t=>{var n,i;let a=(n=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:n.skeleton;if(a==null)return;let o=(i=this._workbookSelections.getCurrentLastSelection())==null?void 0:i.range;if(!o||!this.interceptor.fetchThroughInterceptors(hh)(!1,o))return;let s=this._workbookSelections.getCurrentSelections(),{row:c,column:l}=Pf(t.offsetX,t.offsetY,r,a);if(!mh(s,e===I.ROW?c:l,e)){r.resetCursor();return}r.setCursor(Wn.GRAB)})),this._headerPointerLeaveSubs=new ys,this._headerPointerLeaveSubs.add(i==null?void 0:i.onPointerLeave$.subscribeEvent(()=>{var e,t;(e=this._moveHelperBackgroundShape)==null||e.hide(),(t=this._moveHelperLineShape)==null||t.hide(),r.resetCursor()})),this._headerPointerDownSubs=new ys,this._headerPointerDownSubs.add(i==null?void 0:i.onPointerDown$.subscribeEvent((t,n)=>{var i,a;if(n.isStopPropagation)return;let o=(i=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:i.skeleton;if(o==null)return;let s=(a=this._workbookSelections.getCurrentLastSelection())==null?void 0:a.range;if(!s||!this.interceptor.fetchThroughInterceptors(hh)(!1,s))return;let{offsetX:c,offsetY:l}=t,{x:u,y:d}=r.getCoordRelativeToViewport(fr.FromArray([c,l]));this._startOffsetX=u,this._startOffsetY=d;let{row:f,column:p}=Pf(t.offsetX,t.offsetY,r,o),m;e===I.ROW?(this._changeFromRow=f,m=ar.Y):(this._changeFromColumn=p,m=ar.X);let h=mh(this._workbookSelections.getCurrentSelections(),e===I.ROW?f:p,e);if(!h)return;let g=r.getScrollXYInfoByViewport(fr.FromArray([this._startOffsetX,this._startOffsetY]));this._newBackgroundAndLine(),r.setCursor(Wn.GRABBING),r.disableObjectsEvent();let _=!1,v,y=()=>{if(_)return;v=ir.create(r,m),this._scrollTimer=v;let e=r.getViewport(H.VIEW_MAIN);v.startScroll(u,d,e),_=!0};this._dragHeaderMoveSub=r.onPointerMove$.subscribeEvent(t=>{y();let{offsetX:n,offsetY:i}=t,{x:a,y:o}=r.getCoordRelativeToViewport(fr.FromArray([n,i]));this._rowColumnMoving(a,o,h,g,e),v.scrolling(a,o,()=>{this._rowColumnMoving(a,o,h,g,e)})}),this._scenePointerUpSub=r.onPointerUp$.subscribeEvent(()=>{var t;this._disposeBackgroundAndLine(),r.resetCursor(),r.enableObjectsEvent(),this._clearObserverEvent(),(t=this._scrollTimer)==null||t.dispose();let n=this._workbookSelections.getCurrentSelections();if(e===I.ROW){if(this._changeFromRow!==this._changeToRow&&this._changeToRow!==-1){var i;let e=(i=((n==null?void 0:n.filter(e=>e.range.rangeType===I.ROW&&e.range.startRow<=this._changeFromRow&&this._changeFromRow<=e.range.endRow))||[])[0])==null?void 0:i.range;e&&this._commandService.executeCommand(Ai.id,{fromRange:e,toRange:{...e,startRow:this._changeToRow,endRow:this._changeToRow+e.endRow-e.startRow}})}this._changeToRow=this._changeFromRow=-1}else{if(this._changeFromColumn!==this._changeToColumn&&this._changeToColumn!==-1){var a;let e=(a=((n==null?void 0:n.filter(e=>e.range.rangeType===I.COLUMN&&e.range.startColumn<=this._changeFromColumn&&this._changeFromColumn<=e.range.endColumn))||[])[0])==null?void 0:a.range;e&&this._commandService.executeCommand(Ei.id,{fromRange:e,toRange:{...e,startColumn:this._changeToColumn,endColumn:this._changeToColumn+e.endColumn-e.startColumn}})}this._changeToColumn=this._changeFromColumn=-1}})}))}_rowColumnMoving(e,t,n,r,i){var a,o,s;let c=this._context.scene,l=(a=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:a.skeleton;if(l==null)return;let{rowHeaderWidth:u,columnHeaderHeight:d,rowTotalHeight:f,columnTotalWidth:p}=l,m=c.getViewportScrollXY(c.getViewport(H.VIEW_MAIN)),{scaleX:h,scaleY:g}=c.getAncestorScale(),{row:_,column:v}=l.getCellIndexByOffset(e,t,h,g,m),{startX:y,startY:b,endX:x,endY:S}=l.getNoMergeCellWithCoordByIndex(_,v),C=Xo(l,n.range);if(C==null)return;let w=Math.max(h,h),{startX:T,endX:E,startY:D,endY:O,startRow:ee,startColumn:te,endRow:ne,endColumn:k}=C;if(i===I.ROW){var re;(re=this._moveHelperBackgroundShape)==null||re.transformByState({height:O-D,width:p+u,left:0,top:D+(t-this._startOffsetY)/w+m.y-r.y})}else{var ie;(ie=this._moveHelperBackgroundShape)==null||ie.transformByState({height:f+d,width:E-T,left:T+(e-this._startOffsetX)/w+m.x-r.x,top:0})}(o=this._moveHelperBackgroundShape)==null||o.show();let ae=4/w;if(i===I.ROW){var A;let e=0;if(_<=ee)e=b-ae/2,this._changeToRow=_;else if(_>ne)e=S-ae/2,this._changeToRow=_+1;else return;(A=this._moveHelperLineShape)==null||A.transformByState({height:ae,width:p,left:u,top:e})}else{var oe;let e=0;if(v<=te)e=y-ae/2,this._changeToColumn=v;else if(v>k)e=x-ae/2,this._changeToColumn=v+1;else return;(oe=this._moveHelperLineShape)==null||oe.transformByState({height:f,width:ae,left:e,top:d})}(s=this._moveHelperLineShape)==null||s.show()}_clearObserverEvent(){var e,t;(e=this._dragHeaderMoveSub)==null||e.unsubscribe(),(t=this._scenePointerUpSub)==null||t.unsubscribe(),this._dragHeaderMoveSub=null,this._scenePointerUpSub=null}_newBackgroundAndLine(){let e=this._context.scene;this._moveHelperBackgroundShape=new er(`__SpreadsheetHeaderMoveControllerBackground__`,{fill:`rgba(0, 0, 0, 0.1)`,evented:!1,zIndex:100}),this._moveHelperLineShape=new er(`__SpreadsheetHeaderMoveControllerShapeLine__`,{fill:`rgb(119, 119, 119)`,evented:!1,zIndex:100}),e.addObjects([this._moveHelperBackgroundShape,this._moveHelperLineShape],10)}_disposeBackgroundAndLine(){var e,t;(e=this._moveHelperBackgroundShape)==null||e.dispose(),(t=this._moveHelperLineShape)==null||t.dispose()}};gh=Q([Z(1,F(W)),Z(2,F(Vl)),Z(3,N)],gh);let _h=function(e){return e[e.VERTICAL=0]=`VERTICAL`,e[e.HORIZONTAL=1]=`HORIZONTAL`,e}({});const vh=`rgb(68, 71, 70)`;var yh=class extends or{constructor(e,t){super(e,t),X(this,`_size`,12),X(this,`_color`,vh),X(this,`_mode`,_h.VERTICAL),this.setShapeProps(t)}get size(){return this._size}get mode(){return this._mode}get color(){return this._color}_draw(e){let t=this.getScene();if(!t)return;let{scaleX:n,scaleY:r}=t.getAncestorScale(),i=Math.max(n,r),a=12/i,o=4/i,{width:s,height:c}=this,l=0,u=0;this.mode===_h.VERTICAL?(s=o,l=a-o):(c=o,u=a-o),er.drawWith(e,{width:this.width,height:this.height,left:0,top:0,fill:`rgba(120, 120, 120, 0.01)`}),er.drawWith(e,{width:s,height:c,fill:vh,radius:o}),e.save(),e.transform(1,0,0,1,l,u),er.drawWith(e,{width:s,height:c,fill:vh,radius:o}),e.restore()}setShapeProps(e){return e!=null&&e.size&&(this._size=e.size),e!=null&&e.mode&&(this._mode=e.mode),e!=null&&e.color&&(this._color=e.color),this.mode===_h.VERTICAL?this.transformByState({width:12,height:this.size}):this.transformByState({width:this.size,height:12}),this}};const bh=`__SpreadsheetHeaderResizeControllerShapeHelper__`,xh=`rgb(199, 199, 199)`;var Sh=function(e){return e[e.ROW=0]=`ROW`,e[e.COLUMN=1]=`COLUMN`,e}(Sh||{});const Ch=mt(`headerResizePermissionCheck`);let wh=class extends M{constructor(e,t,n,r){super(),this._context=e,this._sheetSkeletonManagerService=t,this._selectionManagerService=n,this._commandService=r,X(this,`_currentRow`,0),X(this,`_currentColumn`,0),X(this,`_rowResizeRect`,void 0),X(this,`_columnResizeRect`,void 0),X(this,`_headerPointerSubs`,void 0),X(this,`_scenePointerMoveSub`,void 0),X(this,`_scenePointerUpSub`,void 0),X(this,`_resizeHelperShape`,void 0),X(this,`_startOffsetX`,1/0),X(this,`_startOffsetY`,1/0),X(this,`interceptor`,new Ve({HEADER_RESIZE_PERMISSION_CHECK:Ch})),this._init()}dispose(){var e,t,n;(e=this._rowResizeRect)==null||e.dispose(),this._rowResizeRect=null,(t=this._columnResizeRect)==null||t.dispose(),this._columnResizeRect=null,(n=this._headerPointerSubs)==null||n.unsubscribe(),this._headerPointerSubs=null}_init(){let e=this._context.scene;this._rowResizeRect=new yh(`__SpreadsheetHeaderResizeControllerShapeRow__`,{visible:!1,mode:_h.HORIZONTAL,zIndex:100}),this._columnResizeRect=new yh(`__SpreadsheetHeaderResizeControllerShapeColumn__`,{visible:!1,mode:_h.VERTICAL,zIndex:100}),e.addObjects([this._rowResizeRect,this._columnResizeRect],10),this._initialHover(Sh.ROW),this._initialHover(Sh.COLUMN),this._initialHoverResize(Sh.ROW),this._initialHoverResize(Sh.COLUMN)}_initialHover(e=Sh.ROW){let t=this._context.components.get(Ol.COLUMN),n=this._context.components.get(Ol.ROW),r=this._context.scene,i=e===Sh.ROW?n:t;this._headerPointerSubs=new ys,this._headerPointerSubs.add(i==null?void 0:i.onPointerMove$.subscribeEvent((t,n)=>{var i;let a=(i=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:i.skeleton;if(a==null||this._rowResizeRect==null||this._columnResizeRect==null)return;let{rowHeaderWidth:o,columnHeaderHeight:s}=a,{startX:c,startY:l,endX:u,endY:d,row:f,column:p}=Pf(t.offsetX,t.offsetY,r,a),m=Ff(t.offsetX,t.offsetY,r,a),{scaleX:h,scaleY:g}=r.getAncestorScale(),_=12/Math.max(h,g);if(e===Sh.ROW){let e=l-_/2;if(m.y<=l+_/2&&m.y>=l)this._currentRow=f-1;else if(m.y>=d-_/2&&m.y<=d)this._currentRow=f,e=d-_/2;else{this._rowResizeRect.hide();return}if(this._currentRow===-1)return;if(!this.interceptor.fetchThroughInterceptors(Ch)(null,{row:this._currentRow}))return!1;let t=Math.min(44,o/3);this._rowResizeRect.transformByState({left:o/2-t/2,top:e}),this._rowResizeRect.setShapeProps({size:t}),this._rowResizeRect.show()}else{let e=c-_/2;if(m.x<=c+_/2&&m.x>=c)this._currentColumn=p-1;else if(m.x>=u-_/2&&m.x<=u)this._currentColumn=p,e=u-_/2;else{this._columnResizeRect.hide();return}if(this._currentColumn===-1)return;if(!this.interceptor.fetchThroughInterceptors(Ch)(null,{col:this._currentColumn}))return!1;let t=s*.7;this._columnResizeRect.transformByState({left:e,top:s/2-t/2}),this._columnResizeRect.setShapeProps({size:t}),this._columnResizeRect.show()}})),this._headerPointerSubs.add(i==null?void 0:i.onPointerLeave$.subscribeEvent((e,t)=>{var n,r;(n=this._rowResizeRect)==null||n.hide(),(r=this._columnResizeRect)==null||r.hide()}))}_initialHoverResize(e=Sh.ROW){let t=this._context.scene,n=e===Sh.ROW?this._rowResizeRect:this._columnResizeRect;n!=null&&(this.disposeWithMe(n.onPointerEnter$.subscribeEvent(()=>{n!=null&&(n.show(),t.setCursor(e===Sh.ROW?Wn.ROW_RESIZE:Wn.COLUMN_RESIZE))})),this.disposeWithMe(n.onPointerLeave$.subscribeEvent(()=>{n!=null&&(n.hide(),t.resetCursor())})),this.disposeWithMe(n.onPointerDown$.subscribeEvent(t=>{var n,r,i,a,o;let s=(n=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:n.skeleton;if(s==null)return;let c=this._context.scene,l=c.getEngine(),u=(l==null?void 0:l.height)||0,d=(l==null?void 0:l.width)||0,f=c.getViewport(H.VIEW_MAIN),p=((f==null||(r=f.getScrollBar())==null||(r=r.horizonScrollTrack)==null?void 0:r.height)||0)+10,m=((f==null||(i=f.getScrollBar())==null||(i=i.verticalScrollTrack)==null?void 0:i.width)||0)+10,h=Ff(t.offsetX,t.offsetY,c,s),{scaleX:g,scaleY:_}=c.getAncestorScale();this._startOffsetX=h.x,this._startOffsetY=h.y;let v=s.getOffsetByColumn(this._currentColumn),y=s.getOffsetByRow(this._currentRow),b=s.getNoMergeCellWithCoordByIndex(this._currentRow,this._currentColumn),x=!1,S=0,C=0,{columnTotalWidth:w,rowHeaderWidth:T,rowTotalHeight:E,columnHeaderHeight:D}=s,O=d>w+T?d:w+T,ee=u>E+D?u:E+D,te=4/Math.max(g,_);e===Sh.ROW?this._resizeHelperShape=new er(bh,{width:O,height:te,fill:xh,left:0,top:y-te/2}):this._resizeHelperShape=new er(bh,{width:te,height:ee,fill:xh,left:v-te/2,top:0});let ne=((a=this._columnResizeRect)==null?void 0:a.left)||0,k=((o=this._rowResizeRect)==null?void 0:o.top)||0;c.addObject(this._resizeHelperShape,10),c.disableObjectsEvent(),this._scenePointerMoveSub=c.onPointerMove$.subscribeEvent(t=>{let n=c.getCoordRelativeToViewport(fr.FromArray([this._startOffsetX,this._startOffsetY])),r=c.getScrollXYInfoByViewport(n,f),{x:i,y:a}=Ff(t.offsetX,t.offsetY,c,s),{scaleX:o,scaleY:l}=c.getAncestorScale(),h=4/Math.max(o,l);if(S=i-this._startOffsetX-h/2,C=a-this._startOffsetY-h/2,Math.abs(e===Sh.ROW?C:S)>=2&&(x=!0),e===Sh.ROW){if(C>u-p+r.y-b.startY&&(C=u-p+r.y-b.startY),C<-(b.endY-b.startY)+2&&(C=-(b.endY-b.startY)+2),x){var g,_,w;(g=this._resizeHelperShape)==null||g.transformByState({top:y+C}),(_=this._rowResizeRect)==null||_.transformByState({top:k+C+h/2}),(w=this._rowResizeRect)==null||w.show(),c.setCursor(Wn.ROW_RESIZE)}}else if(S>d-m+r.x-b.startX&&(S=d-m+r.x-b.startX),S<-(b.endX-b.startX)+2&&(S=-(b.endX-b.startX)+2),x){var T,E,D;(T=this._resizeHelperShape)==null||T.transformByState({left:v+S}),(E=this._columnResizeRect)==null||E.transformByState({left:ne+S+h/2}),(D=this._columnResizeRect)==null||D.show(),c.setCursor(Wn.COLUMN_RESIZE)}}),this._scenePointerUpSub=c.onPointerUp$.subscribeEvent(t=>{var n;let r=this._context.scene;if(this._clearObserverEvent(),(n=this._resizeHelperShape)==null||n.dispose(),this._resizeHelperShape=null,r.enableObjectsEvent(),x){var i,a;r.resetCursor(),(i=this._rowResizeRect)==null||i.hide(),(a=this._columnResizeRect)==null||a.hide(),e===Sh.ROW?this._commandService.executeCommand(ei.id,{deltaY:C,anchorRow:this._currentRow}):this._commandService.executeCommand($r.id,{deltaX:S,anchorCol:this._currentColumn})}})})),this.disposeWithMe(n.onDblclick$.subscribeEvent(()=>{var t;this._context.scene.resetCursor();let n=(t=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:t.skeleton;if(!n)return;let r=n.worksheet.getRowCount()-1||0,i=n.worksheet.getColumnCount()-1||0;switch(e){case Sh.COLUMN:{var a;let e=this._selectionManagerService.getCurrentSelections(),t=[];for(let n=0;n<e.length;n++){let i=e[n];i.range.rangeType===I.COLUMN&&this._currentColumn<=i.range.endColumn&&this._currentColumn>=i.range.startColumn&&t.push({startColumn:i.range.startColumn,endColumn:i.range.endColumn,startRow:0,endRow:r})}t.length===0&&t.push({startColumn:this._currentColumn,endColumn:this._currentColumn,startRow:0,endRow:r}),this._commandService.executeCommand(Wf.id,{ranges:t}),(a=this._columnResizeRect)==null||a.hide();break}case Sh.ROW:var o;this._commandService.executeCommand(no.id,{ranges:[{startRow:this._currentRow,endRow:this._currentRow,startColumn:0,endColumn:i}]}),(o=this._rowResizeRect)==null||o.hide();break}})))}_clearObserverEvent(){var e,t;(e=this._scenePointerMoveSub)==null||e.unsubscribe(),(t=this._scenePointerUpSub)==null||t.unsubscribe(),this._scenePointerMoveSub=null,this._scenePointerUpSub=null}};wh=Q([Z(1,F(Vl)),Z(2,F(W)),Z(3,N)],wh);let Th=class extends $e{constructor(e,t,n,r,i,a){super(),this._context=e,this._configService=t,this._sheetSkeletonManagerService=n,this._sheetRenderService=r,this._commandService=i,this._telemetryService=a,X(this,`_renderMetric$`,new vs),X(this,`renderMetric$`,this._renderMetric$.asObservable()),X(this,`_renderFrameTimeMetric`,null),X(this,`_renderFrameTags`,{}),X(this,`_afterRenderMetric$`,new vs),this._addNewRender(),this._initRenderMetricSubscriber()}_addNewRender(){let{scene:e,engine:t,unit:n}=this._context;this._addComponent(n),this._initRerenderScheduler(),this._initCommandListener();let r=this._context.unit.getActiveSheet();if(!r)throw Error(`No active sheet found`);let i=r.getSheetId();this._sheetSkeletonManagerService.setCurrent({sheetId:i});let a=()=>e.render();this.disposeWithMe(this._context.activated$.subscribe(e=>{e?t.runRenderLoop(a):t.stopRenderLoop(a)}))}_initRenderMetricSubscriber(){let{engine:e}=this._context;e.beginFrame$.subscribe(()=>{this._renderFrameTimeMetric=null,this._renderFrameTags={}}),e.endFrame$.subscribe(()=>{this._renderFrameTimeMetric&&Object.keys(this._renderFrameTimeMetric).filter(e=>e.startsWith(nr)).length>0&&this._afterRenderMetric$.next({frameTimeMetric:this._renderFrameTimeMetric,tags:this._renderFrameTags})}),e.renderFrameTimeMetric$.subscribe(([e,t])=>{this._renderFrameTimeMetric||(this._renderFrameTimeMetric={}),this._renderFrameTimeMetric[e]||(this._renderFrameTimeMetric[e]=[]),this._renderFrameTimeMetric[e].push(Math.round(t*100)/100)}),e.renderFrameTags$.subscribe(([e,t])=>{this._renderFrameTags[e]=t});let t=[];this._afterRenderMetric$.pipe(Ms(e.endFrame$)).subscribe(([e,n])=>{t.push({FPS:n.FPS,elapsedTime:n.elapsedTime,frameTime:Math.round(n.frameTime*100)/100,...e.frameTimeMetric,...e.tags}),t.length>60&&(this._captureRenderMetric(t),t.length=0)})}_captureRenderMetric(e){var t;let n=e;if(n.length===0)return;let r=e=>{let t=0,n=Object.entries(e).filter(([e,t])=>Array.isArray(t)).map(([e])=>e).reduce((t,n)=>(t[n]=e[n].reduce((e,t)=>e+t,0),t),{});return Object.keys(e).filter(e=>e.startsWith(nr)).forEach(e=>{t+=n[e]}),{...n,extensionTotal:t}},i=(e=>Object.entries(e[0]).filter(([e,t])=>![`elapsedTime`].includes(e)).filter(([e,t])=>typeof t==`number`).map(([e])=>e).reduce((t,n)=>{let r=e.map(e=>e[n]),i=Math.max(...r),a=Math.min(...r),o=r.reduce((e,t)=>e+t,0)/r.length;return t[n]={max:Math.round(i*100)/100,min:Math.round(a*100)/100,avg:Math.round(o*100)/100},t},{}))(e.map(e=>({...e,...r(e)}))),a=n[n.length-1].elapsedTime,o={sheetId:this._context.unit.getActiveSheet().getSheetId(),unitId:this._context.unit.getUnitId(),elapsedTimeToStart:a,...i};this._renderMetric$.next(o),(t=this._telemetryService)==null||t.capture(`sheet_render_cost`,o)}_addComponent(e){let{scene:t,components:n}=this._context,r=e.getActiveSheet(),i=new cr(Ol.MAIN);this._addViewport(r);let a=new ur(Ol.ROW),o=new lr(Ol.COLUMN),s=new er(Ol.LEFT_TOP,{zIndex:2,left:-1,top:-1,fill:`rgb(248, 249, 250)`,stroke:`rgb(217, 217, 217)`,strokeWidth:1});this._context.mainComponent=i,n.set(Ol.MAIN,i),n.set(Ol.ROW,a),n.set(Ol.COLUMN,o),n.set(Ol.LEFT_TOP,s),t.addObjects([i],0),t.addObjects([a,o,s],10),t.enableLayerCache(0,10)}_initViewports(e,t,n){let r=t.hidden?0:t.width,i=n.hidden?0:n.height,a=new pr(H.VIEW_MAIN,e,{left:r,top:i,bottom:0,right:0,isWheelPreventDefaultX:!0,allowCache:!0,bufferEdgeX:100,bufferEdgeY:100}),o=new pr(H.VIEW_MAIN_LEFT_TOP,e,{isWheelPreventDefaultX:!0,active:!1,allowCache:!0,bufferEdgeX:0,bufferEdgeY:0}),s=new pr(H.VIEW_MAIN_LEFT,e,{isWheelPreventDefaultX:!0,active:!1,allowCache:!0,bufferEdgeX:0,bufferEdgeY:100}),c=new pr(H.VIEW_MAIN_TOP,e,{isWheelPreventDefaultX:!0,active:!1,allowCache:!0,bufferEdgeX:100,bufferEdgeY:0}),l=new pr(H.VIEW_ROW_TOP,e,{active:!1,isWheelPreventDefaultX:!0}),u=new pr(H.VIEW_ROW_BOTTOM,e,{left:0,top:i,bottom:0,width:r+1,isWheelPreventDefaultX:!0}),d=new pr(H.VIEW_COLUMN_LEFT,e,{active:!1,isWheelPreventDefaultX:!0}),f=new pr(H.VIEW_COLUMN_RIGHT,e,{left:r,top:0,height:i+1,right:0,isWheelPreventDefaultX:!0});return{viewMain:a,viewLeftTop:new pr(H.VIEW_LEFT_TOP,e,{left:0,top:0,width:r,height:i,isWheelPreventDefaultX:!0}),viewMainLeftTop:o,viewMainLeft:s,viewMainTop:c,viewColumnLeft:d,viewRowTop:l,viewRowBottom:u,viewColumnRight:f}}_addViewport(e){let t=this._context.scene,{rowHeader:n,columnHeader:r}=e.getConfig(),{viewMain:i}=this._initViewports(t,n,r),a=this._configService.getConfig(rp);return new rr(i,a==null?void 0:a.scrollConfig),t.attachControl(),i}_initRerenderScheduler(){this.disposeWithMe(this._sheetSkeletonManagerService.currentSkeleton$.subscribe(e=>{if(!e)return null;let{skeleton:t,sheetId:n}=e,r=this._context.unit,i=r==null?void 0:r.getSheetBySheetId(n);if(r==null||i==null)return;let{mainComponent:a,components:o}=this._context,s=a,c=o.get(Ol.ROW),l=o.get(Ol.COLUMN),u=o.get(Ol.LEFT_TOP),{rowHeaderWidth:d,columnHeaderHeight:f}=t;s==null||s.updateSkeleton(t),c==null||c.updateSkeleton(t),l==null||l.updateSkeleton(t),u==null||u.transformByState({width:d,height:f})}))}_initCommandListener(){this.disposeWithMe(this._commandService.onCommandExecuted((e,t)=>{let{unit:n}=this._context,{id:r}=e;if(Br.includes(r)||this._sheetRenderService.checkMutationShouldTriggerRerender(r)){let{unitId:t,subUnitId:i}=e.params,a=n.getActiveSheet();if(!a)return;let o=this._context.unitId,s=a.getSheetId();if(t!==o||i!==s)return;this._sheetSkeletonManagerService.makeDirty({sheetId:s,commandId:r},!0),this._sheetSkeletonManagerService.setCurrent({sheetId:s,commandId:r})}else Vr.includes(r)&&this._sheetSkeletonManagerService.reCalculate();e.type===A.MUTATION&&this._markUnitDirty(e,t)}))}_markUnitDirty(e,t){if(e.id.substring(0,3)===`doc`)return;let{mainComponent:n,scene:r}=this._context;if(e.id===Yc.id&&e.params.stageInfo!=null||(n&&n.makeDirty(),r.makeDirty(),!e.params))return;let i=e.params,a=this._spreadsheetViewports(r);if(e.id===Sa.id&&i.cellValue&&!(t!=null&&t.fromChangeset)){let e=this._cellValueToRange(i.cellValue),t=this._rangeToBounds([e]);this._markViewportDirty(a,t),n.setDirtyArea(t)}if(e.id===ki.id&&i.from&&i.to&&!(t!=null&&t.fromChangeset)){let e=i.fromRange||this._cellValueToRange(i.from.value),t=i.toRange||this._cellValueToRange(i.to.value),r=this._rangeToBounds([e,t]);this._markViewportDirty(a,r),n.setDirtyArea(r)}}_cellValueToRange(e){let t=[],n=0,r=0,i=0,a=0;for(let[o,s]of Object.entries(e)){for(let e in s)t.push(Number(e)),n>Number(e)&&(n=Number(e)),r<Number(e)&&(r=Number(e));i>Number(o)&&(i=Number(o)),a<Number(o)&&(a=Number(o))}return{startRow:i,endRow:a,startColumn:n,endColumn:r}}_rangeToBounds(e){let{rowHeightAccumulation:t,columnWidthAccumulation:n,rowHeaderWidth:r,columnHeaderHeight:i}=this._sheetSkeletonManagerService.getCurrentParam().skeleton,a=[];for(let o of e){let{startRow:e,endRow:s,startColumn:c,endColumn:l}=o,u=e===0?0:t[e-1]+i,d=t[s]+i,f=c===0?0:n[c-1]+r,p=n[l]+r;a.push({top:u,left:f,bottom:d,right:p,width:p-f,height:d-u})}return a}_markViewportDirty(e,t){let n=e.filter(e=>e.isActive&&e.cacheBound);for(let e of n)for(let n of t)Qe.hasIntersectionBetweenTwoRect(e.cacheBound,n)&&e.markDirty(!0)}_spreadsheetViewports(e){return e.getViewports().filter(e=>[`viewMain`,`viewMainLeftTop`,`viewMainTop`,`viewMainLeft`].includes(e.viewportKey))}};Th=Q([Z(1,F(Ne)),Z(2,F(Vl)),Z(3,F(kp)),Z(4,N),Z(5,qe(il))],Th);const Eh=({className:e})=>Y(`svg`,{className:e,width:`120`,height:`2`,viewBox:`0 0 120 2`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:[J(`path`,{d:`M0.98999 1.08218H-0.0100098V0.0821838H0.98999V1.08218Z`}),J(`path`,{d:`M5.78992 1.08218H2.78992V0.0821838H5.78992V1.08218Z`}),J(`path`,{d:`M7.58984 1.08218H8.58984V0.0821838H7.58984V1.08218Z`}),J(`path`,{d:`M14.9152 1.08218H13.9152V0.0821838H14.9152V1.08218Z`}),J(`path`,{d:`M16.7151 1.08218H19.7151V0.0821838H16.7151V1.08218Z`}),J(`path`,{d:`M22.515 1.08218H21.515V0.0821838H22.515V1.08218Z`}),J(`path`,{d:`M27.8405 1.08218H28.8405V0.0821838H27.8405V1.08218Z`}),J(`path`,{d:`M33.6404 1.08218H30.6404V0.0821838H33.6404V1.08218Z`}),J(`path`,{d:`M35.4403 1.08218H36.4403V0.0821838H35.4403V1.08218Z`}),J(`path`,{d:`M42.7657 1.08218H41.7657V0.0821838H42.7657V1.08218Z`}),J(`path`,{d:`M44.5657 1.08218H47.5657V0.0821838H44.5657V1.08218Z`}),J(`path`,{d:`M50.3656 1.08218H49.3656V0.0821838H50.3656V1.08218Z`}),J(`path`,{d:`M55.691 1.08218H56.691V0.0821838H55.691V1.08218Z`}),J(`path`,{d:`M61.491 1.08218H58.491V0.0821838H61.491V1.08218Z`}),J(`path`,{d:`M63.2909 1.08218H64.2909V0.0821838H63.2909V1.08218Z`}),J(`path`,{d:`M70.6163 1.08218H69.6163V0.0821838H70.6163V1.08218Z`}),J(`path`,{d:`M72.4163 1.08218H75.4163V0.0821838H72.4163V1.08218Z`}),J(`path`,{d:`M78.2162 1.08218H77.2162V0.0821838H78.2162V1.08218Z`}),J(`path`,{d:`M83.5416 1.08218H84.5416V0.0821838H83.5416V1.08218Z`}),J(`path`,{d:`M89.3416 1.08218H86.3416V0.0821838H89.3416V1.08218Z`}),J(`path`,{d:`M91.1415 1.08218H92.1415V0.0821838H91.1415V1.08218Z`}),J(`path`,{d:`M98.4669 1.08218H97.4669V0.0821838H98.4669V1.08218Z`}),J(`path`,{d:`M100.267 1.08218H103.267V0.0821838H100.267V1.08218Z`}),J(`path`,{d:`M106.067 1.08218H105.067V0.0821838H106.067V1.08218Z`}),J(`path`,{d:`M111.392 1.08218H112.392V0.0821838H111.392V1.08218Z`}),J(`path`,{d:`M117.192 1.08218H114.192V0.0821838H117.192V1.08218Z`}),J(`path`,{d:`M118.992 1.08218H119.992V0.0821838H118.992V1.08218Z`})]}),Dh=({className:e})=>Y(`svg`,{className:e,width:`120`,height:`2`,viewBox:`0 0 120 2`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:[J(`path`,{d:`M-0.0100098 1.15771H0.98999V0.157715H-0.0100098V1.15771Z`}),J(`path`,{d:`M2.78992 1.15771H5.78992V0.157715H2.78992V1.15771Z`}),J(`path`,{d:`M8.58984 1.15771H7.58984V0.157715H8.58984V1.15771Z`}),J(`path`,{d:`M10.3899 1.15771H11.3899V0.157715H10.3899V1.15771Z`}),J(`path`,{d:`M19.0903 1.15771H18.0903V0.157715H19.0903V1.15771Z`}),J(`path`,{d:`M20.8903 1.15771H23.8903V0.157715H20.8903V1.15771Z`}),J(`path`,{d:`M26.6902 1.15771H25.6902V0.157715H26.6902V1.15771Z`}),J(`path`,{d:`M28.4902 1.15771H29.4902V0.157715H28.4902V1.15771Z`}),J(`path`,{d:`M37.1907 1.15771H36.1907V0.157715H37.1907V1.15771Z`}),J(`path`,{d:`M38.9906 1.15771H41.9906V0.157715H38.9906V1.15771Z`}),J(`path`,{d:`M44.7905 1.15771H43.7905V0.157715H44.7905V1.15771Z`}),J(`path`,{d:`M46.5906 1.15771H47.5906V0.157715H46.5906V1.15771Z`}),J(`path`,{d:`M55.291 1.15771H54.291V0.157715H55.291V1.15771Z`}),J(`path`,{d:`M57.0909 1.15771H60.0909V0.157715H57.0909V1.15771Z`}),J(`path`,{d:`M62.8909 1.15771H61.8909V0.157715H62.8909V1.15771Z`}),J(`path`,{d:`M64.6909 1.15771H65.6909V0.157715H64.6909V1.15771Z`}),J(`path`,{d:`M73.3914 1.15771H72.3914V0.157715H73.3914V1.15771Z`}),J(`path`,{d:`M75.1913 1.15771H78.1913V0.157715H75.1913V1.15771Z`}),J(`path`,{d:`M80.9912 1.15771H79.9912V0.157715H80.9912V1.15771Z`}),J(`path`,{d:`M82.7913 1.15771H83.7913V0.157715H82.7913V1.15771Z`}),J(`path`,{d:`M91.4917 1.15771H90.4917V0.157715H91.4917V1.15771Z`}),J(`path`,{d:`M93.2916 1.15771H96.2916V0.157715H93.2916V1.15771Z`}),J(`path`,{d:`M99.0916 1.15771H98.0916V0.157715H99.0916V1.15771Z`}),J(`path`,{d:`M100.892 1.15771H101.892V0.157715H100.892V1.15771Z`}),J(`path`,{d:`M109.592 1.15771H108.592V0.157715H109.592V1.15771Z`}),J(`path`,{d:`M111.392 1.15771H114.392V0.157715H111.392V1.15771Z`}),J(`path`,{d:`M117.192 1.15771H116.192V0.157715H117.192V1.15771Z`}),J(`path`,{d:`M118.992 1.15771H119.992V0.157715H118.992V1.15771Z`})]}),Oh=({className:e})=>Y(`svg`,{className:e,width:`120`,height:`2`,viewBox:`0 0 120 2`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:[J(`path`,{d:`M-0.00842285 1.22449H2.99158V0.224487H-0.00842285V1.22449Z`}),J(`path`,{d:`M6.14941 1.22449H9.14941V0.224487H6.14941V1.22449Z`}),J(`path`,{d:`M15.3073 1.22449H12.3073V0.224487H15.3073V1.22449Z`}),J(`path`,{d:`M18.4651 1.22449H21.4651V0.224487H18.4651V1.22449Z`}),J(`path`,{d:`M27.6229 1.22449H24.6229V0.224487H27.6229V1.22449Z`}),J(`path`,{d:`M30.7808 1.22449H33.7808V0.224487H30.7808V1.22449Z`}),J(`path`,{d:`M39.9386 1.22449H36.9386V0.224487H39.9386V1.22449Z`}),J(`path`,{d:`M43.0964 1.22449H46.0964V0.224487H43.0964V1.22449Z`}),J(`path`,{d:`M52.2543 1.22449H49.2543V0.224487H52.2543V1.22449Z`}),J(`path`,{d:`M55.4121 1.22449H58.4121V0.224487H55.4121V1.22449Z`}),J(`path`,{d:`M64.5699 1.22449H61.5699V0.224487H64.5699V1.22449Z`}),J(`path`,{d:`M67.7278 1.22449H70.7278V0.224487H67.7278V1.22449Z`}),J(`path`,{d:`M76.8856 1.22449H73.8856V0.224487H76.8856V1.22449Z`}),J(`path`,{d:`M80.0435 1.22449H83.0435V0.224487H80.0435V1.22449Z`}),J(`path`,{d:`M89.2013 1.22449H86.2013V0.224487H89.2013V1.22449Z`}),J(`path`,{d:`M92.3591 1.22449H95.3591V0.224487H92.3591V1.22449Z`}),J(`path`,{d:`M101.517 1.22449H98.517V0.224487H101.517V1.22449Z`}),J(`path`,{d:`M104.675 1.22449H107.675V0.224487H104.675V1.22449Z`}),J(`path`,{d:`M113.833 1.22449H110.833V0.224487H113.833V1.22449Z`}),J(`path`,{d:`M116.99 1.22449H119.99V0.224487H116.99V1.22449Z`})]}),kh=({className:e})=>Y(`svg`,{className:e,width:`120`,height:`8`,viewBox:`0 0 120 8`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:[J(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M119.991 2.06215H-0.0090332V0.862152H119.991V1.86215Z`}),J(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M119.991 6.66215H-0.0090332V5.86215H119.991V6.86215Z`})]}),Ah=({className:e})=>Y(`svg`,{className:e,width:`120`,height:`2`,viewBox:`0 0 120 2`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:[J(`path`,{d:`M-0.00976562 1.65707H0.990234V0.657074H-0.00976562V1.65707Z`}),J(`path`,{d:`M2.32361 1.65707H3.32361V0.657074H2.32361V1.65707Z`}),J(`path`,{d:`M5.65698 1.65707H4.65698V0.657074H5.65698V1.65707Z`}),J(`path`,{d:`M6.99036 1.65707H7.99036V0.657074H6.99036V1.65707Z`}),J(`path`,{d:`M10.3237 1.65707H9.32373V0.657074H10.3237V1.65707Z`}),J(`path`,{d:`M11.6571 1.65707H12.6571V0.657074H11.6571V1.65707Z`}),J(`path`,{d:`M14.9905 1.65707H13.9905V0.657074H14.9905V1.65707Z`}),J(`path`,{d:`M16.3239 1.65707H17.3239V0.657074H16.3239V1.65707Z`}),J(`path`,{d:`M19.6572 1.65707H18.6572V0.657074H19.6572V1.65707Z`}),J(`path`,{d:`M20.9906 1.65707H21.9906V0.657074H20.9906V1.65707Z`}),J(`path`,{d:`M24.324 1.65707H23.324V0.657074H24.324V1.65707Z`}),J(`path`,{d:`M25.6573 1.65707H26.6573V0.657074H25.6573V1.65707Z`}),J(`path`,{d:`M28.9907 1.65707H27.9907V0.657074H28.9907V1.65707Z`}),J(`path`,{d:`M30.3241 1.65707H31.3241V0.657074H30.3241V1.65707Z`}),J(`path`,{d:`M33.6575 1.65707H32.6575V0.657074H33.6575V1.65707Z`}),J(`path`,{d:`M34.9908 1.65707H35.9908V0.657074H34.9908V1.65707Z`}),J(`path`,{d:`M38.3242 1.65707H37.3242V0.657074H38.3242V1.65707Z`}),J(`path`,{d:`M39.6576 1.65707H40.6576V0.657074H39.6576V1.65707Z`}),J(`path`,{d:`M42.991 1.65707H41.991V0.657074H42.991V1.65707Z`}),J(`path`,{d:`M44.3243 1.65707H45.3243V0.657074H44.3243V1.65707Z`}),J(`path`,{d:`M47.6577 1.65707H46.6577V0.657074H47.6577V1.65707Z`}),J(`path`,{d:`M48.9911 1.65707H49.9911V0.657074H48.9911V1.65707Z`}),J(`path`,{d:`M52.3245 1.65707H51.3245V0.657074H52.3245V1.65707Z`}),J(`path`,{d:`M53.6578 1.65707H54.6578V0.657074H53.6578V1.65707Z`}),J(`path`,{d:`M56.9912 1.65707H55.9912V0.657074H56.9912V1.65707Z`}),J(`path`,{d:`M58.3246 1.65707H59.3246V0.657074H58.3246V1.65707Z`}),J(`path`,{d:`M61.658 1.65707H60.658V0.657074H61.658V1.65707Z`}),J(`path`,{d:`M62.9913 1.65707H63.9913V0.657074H62.9913V1.65707Z`}),J(`path`,{d:`M66.3247 1.65707H65.3247V0.657074H66.3247V1.65707Z`}),J(`path`,{d:`M67.6581 1.65707H68.6581V0.657074H67.6581V1.65707Z`}),J(`path`,{d:`M70.9915 1.65707H69.9915V0.657074H70.9915V1.65707Z`}),J(`path`,{d:`M72.3248 1.65707H73.3248V0.657074H72.3248V1.65707Z`}),J(`path`,{d:`M75.6582 1.65707H74.6582V0.657074H75.6582V1.65707Z`}),J(`path`,{d:`M76.9916 1.65707H77.9916V0.657074H76.9916V1.65707Z`}),J(`path`,{d:`M80.325 1.65707H79.325V0.657074H80.325V1.65707Z`}),J(`path`,{d:`M81.6583 1.65707H82.6583V0.657074H81.6583V1.65707Z`}),J(`path`,{d:`M84.9917 1.65707H83.9917V0.657074H84.9917V1.65707Z`}),J(`path`,{d:`M86.3251 1.65707H87.3251V0.657074H86.3251V1.65707Z`}),J(`path`,{d:`M89.6584 1.65707H88.6584V0.657074H89.6584V1.65707Z`}),J(`path`,{d:`M90.9918 1.65707H91.9918V0.657074H90.9918V1.65707Z`}),J(`path`,{d:`M94.3252 1.65707H93.3252V0.657074H94.3252V1.65707Z`}),J(`path`,{d:`M95.6586 1.65707H96.6586V0.657074H95.6586V1.65707Z`}),J(`path`,{d:`M98.9919 1.65707H97.9919V0.657074H98.9919V1.65707Z`}),J(`path`,{d:`M100.325 1.65707H101.325V0.657074H100.325V1.65707Z`}),J(`path`,{d:`M103.659 1.65707H102.659V0.657074H103.659V1.65707Z`}),J(`path`,{d:`M104.992 1.65707H105.992V0.657074H104.992V1.65707Z`}),J(`path`,{d:`M108.325 1.65707H107.325V0.657074H108.325V1.65707Z`}),J(`path`,{d:`M109.659 1.65707H110.659V0.657074H109.659V1.65707Z`}),J(`path`,{d:`M112.992 1.65707H111.992V0.657074H112.992V1.65707Z`}),J(`path`,{d:`M114.325 1.65707H115.325V0.657074H114.325V1.65707Z`}),J(`path`,{d:`M117.659 1.65707H116.659V0.657074H117.659V1.65707Z`}),J(`path`,{d:`M118.992 1.65707H119.992V0.657074H118.992V1.65707Z`})]}),jh=({className:e})=>J(`svg`,{className:e,width:`120`,height:`3`,viewBox:`0 0 120 3`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:J(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M119.991 2.42035H-0.0090332V0.420349H119.991V2.42035Z`})}),Mh=({className:e})=>Y(`svg`,{className:e,width:`120`,height:`3`,viewBox:`0 0 120 3`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:[J(`path`,{d:`M-0.0100098 2.47614H1.98999V0.476135H-0.0100098V2.47614Z`}),J(`path`,{d:`M3.99014 2.47614H9.99014V0.476135H3.99014V2.47614Z`}),J(`path`,{d:`M13.9901 2.47614H11.9901V0.476135H13.9901V2.47614Z`}),J(`path`,{d:`M21.1904 2.47614H23.1904V0.476135H21.1904V2.47614Z`}),J(`path`,{d:`M31.1906 2.47614H25.1906V0.476135H31.1906V2.47614Z`}),J(`path`,{d:`M33.1906 2.47614H35.1906V0.476135H33.1906V2.47614Z`}),J(`path`,{d:`M44.3909 2.47614H42.3909V0.476135H44.3909V2.47614Z`}),J(`path`,{d:`M46.391 2.47614H52.391V0.476135H46.391V2.47614Z`}),J(`path`,{d:`M56.391 2.47614H54.391V0.476135H56.391V2.47614Z`}),J(`path`,{d:`M63.5913 2.47614H65.5913V0.476135H63.5913V2.47614Z`}),J(`path`,{d:`M73.5915 2.47614H67.5915V0.476135H73.5915V2.47614Z`}),J(`path`,{d:`M75.5915 2.47614H77.5915V0.476135H75.5915V2.47614Z`}),J(`path`,{d:`M86.7917 2.47614H84.7917V0.476135H86.7917V2.47614Z`}),J(`path`,{d:`M88.7919 2.47614H94.7919V0.476135H88.7919V2.47614Z`}),J(`path`,{d:`M98.7919 2.47614H96.7919V0.476135H98.7919V2.47614Z`}),J(`path`,{d:`M105.992 2.47614H107.992V0.476135H105.992V2.47614Z`}),J(`path`,{d:`M115.992 2.47614H109.992V0.476135H115.992V2.47614Z`}),J(`path`,{d:`M117.992 2.47614H119.992V0.476135H117.992V2.47614Z`})]}),Nh=({className:e})=>Y(`svg`,{className:e,width:`120`,height:`2`,viewBox:`0 0 120 2`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:[J(`path`,{d:`M-0.0100098 2.00415H1.98999V0.00415039H-0.0100098V2.00415Z`}),J(`path`,{d:`M3.99014 2.00415H9.99014V0.00415039H3.99014V2.00415Z`}),J(`path`,{d:`M13.9901 2.00415H11.9901V0.00415039H13.9901V2.00415Z`}),J(`path`,{d:`M15.9901 2.00415H17.9901V0.00415039H15.9901V2.00415Z`}),J(`path`,{d:`M27.4905 2.00415H25.4905V0.00415039H27.4905V2.00415Z`}),J(`path`,{d:`M29.4906 2.00415H35.4906V0.00415039H29.4906V2.00415Z`}),J(`path`,{d:`M39.4906 2.00415H37.4906V0.00415039H39.4906V2.00415Z`}),J(`path`,{d:`M41.4906 2.00415H43.4906V0.00415039H41.4906V2.00415Z`}),J(`path`,{d:`M52.991 2.00415H50.991V0.00415039H52.991V2.00415Z`}),J(`path`,{d:`M54.9911 2.00415H60.9911V0.00415039H54.9911V2.00415Z`}),J(`path`,{d:`M64.9911 2.00415H62.9911V0.00415039H64.9911V2.00415Z`}),J(`path`,{d:`M66.9911 2.00415H68.9911V0.00415039H66.9911V2.00415Z`}),J(`path`,{d:`M78.4915 2.00415H76.4915V0.00415039H78.4915V2.00415Z`}),J(`path`,{d:`M80.4916 2.00415H86.4916V0.00415039H80.4916V2.00415Z`}),J(`path`,{d:`M90.4916 2.00415H88.4916V0.00415039H90.4916V2.00415Z`}),J(`path`,{d:`M92.4916 2.00415H94.4916V0.00415039H92.4916V2.00415Z`}),J(`path`,{d:`M103.992 2.00415H101.992V0.00415039H103.992V2.00415Z`}),J(`path`,{d:`M105.992 2.00415H111.992V0.00415039H105.992V2.00415Z`}),J(`path`,{d:`M115.992 2.00415H113.992V0.00415039H115.992V2.00415Z`}),J(`path`,{d:`M117.992 2.00415H119.992V0.00415039H117.992V2.00415Z`})]}),Ph=({className:e})=>Y(`svg`,{className:e,width:`118`,height:`3`,viewBox:`0 0 118 3`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:[J(`path`,{d:`M-0.00854492 2.94815H1.99146V0.948151H-0.00854492V2.94815Z`}),J(`path`,{d:`M6.09668 2.94815H8.09668V0.948151H6.09668V2.94815Z`}),J(`path`,{d:`M14.2019 2.94815H12.2019V0.948151H14.2019V2.94815Z`}),J(`path`,{d:`M18.3071 2.94815H20.3071V0.948151H18.3071V2.94815Z`}),J(`path`,{d:`M26.4124 2.94815H24.4124V0.948151H26.4124V2.94815Z`}),J(`path`,{d:`M30.5176 2.94815H32.5176V0.948151H30.5176V2.94815Z`}),J(`path`,{d:`M38.6228 2.94815H36.6228V0.948151H38.6228V2.94815Z`}),J(`path`,{d:`M42.728 2.94815H44.728V0.948151H42.728V2.94815Z`}),J(`path`,{d:`M50.8333 2.94815H48.8333V0.948151H50.8333V2.94815Z`}),J(`path`,{d:`M54.9385 2.94815H56.9385V0.948151H54.9385V2.94815Z`}),J(`path`,{d:`M63.0437 2.94815H61.0437V0.948151H63.0437V2.94815Z`}),J(`path`,{d:`M67.1489 2.94815H69.1489V0.948151H67.1489V2.94815Z`}),J(`path`,{d:`M75.2542 2.94815H73.2542V0.948151H75.2542V2.94815Z`}),J(`path`,{d:`M79.3594 2.94815H81.3594V0.948151H79.3594V2.94815Z`}),J(`path`,{d:`M87.4645 2.94815H85.4645V0.948151H87.4645V2.94815Z`}),J(`path`,{d:`M91.5697 2.94815H93.5697V0.948151H91.5697V2.94815Z`}),J(`path`,{d:`M99.6749 2.94815H97.6749V0.948151H99.6749V2.94815Z`}),J(`path`,{d:`M103.78 2.94815H105.78V0.948151H103.78V2.94815Z`}),J(`path`,{d:`M111.885 2.94815H109.885V0.948151H111.885V2.94815Z`}),J(`path`,{d:`M115.991 2.94815H117.991V0.948151H115.991V2.94815Z`})]}),Fh=({className:e})=>J(`svg`,{className:e,width:`120`,height:`4`,viewBox:`0 0 120 4`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:J(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M119.991 3.86215H-0.0090332V0.862152H119.991V3.86215Z`})}),Ih=({className:e})=>J(`svg`,{className:e,width:`120`,height:`2`,viewBox:`0 0 120 2`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:J(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M119.991 1.15668H-0.0090332V0.156677H119.991V1.15668Z`})});function Lh(e){let{type:t=k.THIN,className:n}=e;switch(t){case k.DASH_DOT:return J(Eh,{className:n});case k.DASH_DOT_DOT:return J(Dh,{className:n});case k.DASHED:return J(Oh,{className:n});case k.HAIR:return J(Ah,{className:n});case k.MEDIUM:return J(jh,{className:n});case k.MEDIUM_DASH_DOT:return J(Mh,{className:n});case k.MEDIUM_DASH_DOT_DOT:return J(Nh,{className:n});case k.MEDIUM_DASHED:return J(Ph,{className:n});case k.THICK:return J(Fh,{className:n});case k.DOUBLE:return J(kh,{className:n});case k.THIN:default:return J(Ih,{className:n})}}const Rh=`UI_PLUGIN_SHEETS`,zh=`${Rh}_BORDER_PANEL_COMPONENT`,Bh=[{label:`borderLine.borderTop`,icon:`UpBorderDoubleIcon`,value:`top`},{label:`borderLine.borderBottom`,icon:`DownBorderDoubleIcon`,value:`bottom`},{label:`borderLine.borderLeft`,icon:`LeftBorderDoubleIcon`,value:`left`},{label:`borderLine.borderRight`,icon:`RightBorderDoubleIcon`,value:`right`},{label:`borderLine.borderNone`,icon:`NoBorderIcon`,value:`none`},{label:`borderLine.borderAll`,icon:`AllBorderIcon`,value:`all`},{label:`borderLine.borderOutside`,icon:`OuterBorderDoubleIcon`,value:`outside`},{label:`borderLine.borderInside`,icon:`InnerBorderDoubleIcon`,value:`inside`},{label:`borderLine.borderHorizontal`,icon:`HorizontalBorderDoubleIcon`,value:`horizontal`},{label:`borderLine.borderVertical`,icon:`VerticalBorderDoubleIcon`,value:`vertical`},{label:`borderLine.borderTlbr`,icon:`BackSlashDoubleIcon`,value:`tlbr`},{label:`borderLine.borderTlbcTlmr`,icon:`LeftDoubleDiagonalDoubleIcon`,value:`tlbc_tlmr`},{label:`borderLine.borderTlbrTlbcTlmr`,icon:`LeftTridiagonalDoubleIcon`,value:`tlbr_tlbc_tlmr`},{label:`borderLine.borderBlTr`,icon:`SlashDoubleIcon`,value:`bltr`},{label:`borderLine.borderMltrBctr`,icon:`RightDoubleDiagonalDoubleIcon`,value:`mltr_bctr`}],Vh=[{label:k.THIN,value:k.THIN},{label:k.HAIR,value:k.HAIR},{label:k.DOTTED,value:k.DOTTED},{label:k.DASHED,value:k.DASHED},{label:k.DASH_DOT,value:k.DASH_DOT},{label:k.DASH_DOT_DOT,value:k.DASH_DOT_DOT},{label:k.MEDIUM,value:k.MEDIUM},{label:k.MEDIUM_DASHED,value:k.MEDIUM_DASHED},{label:k.MEDIUM_DASH_DOT,value:k.MEDIUM_DASH_DOT},{label:k.MEDIUM_DASH_DOT_DOT,value:k.MEDIUM_DASH_DOT_DOT},{label:k.THICK,value:k.THICK},{label:k.DOUBLE,value:k.DOUBLE}];function Hh(e){if(e)for(let n in e){var t;let r=e[n];if(!(r==null||(t=r.cl)==null)&&t.rgb)return r.cl.rgb}}function Uh(e){if(e)for(let n in e){var t;let r=e[n];if(!(r==null||(t=r.cl)==null)&&t.rgb)return r.s}}function Wh(e){var t;let n=V(Jt),r=V(zr),{isAllValuesSame:i,value:a}=V(W).getCellStylesProperty(`bd`),o=i?Hh(a):void 0,s=i?Uh(a):void 0,{onChange:c,value:l}=e;function u(e,t){c==null||c({...l,[t]:e})}function d(e){let t=n.get(e);return t&&J(t,{className:`univer-fill-primary-600`})}return Y(`section`,{className:`univer-box-border univer-grid univer-gap-2 univer-p-1.5`,children:[J(`div`,{className:`univer-box-border univer-grid univer-grid-cols-5 univer-gap-2 univer-text-gray-600 dark:!univer-text-gray-200`,children:Bh.map(e=>J(`a`,{className:gc(`univer-flex univer-size-6 univer-cursor-pointer univer-items-center univer-justify-center univer-justify-self-center univer-rounded hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-700`,{"univer-bg-gray-200 dark:!univer-bg-gray-600":r.getBorderInfo().type===e.value}),onClick:t=>{t.stopPropagation(),u(e.value,`type`)},children:d(e.icon)},e.value))}),J(cc,{}),Y(`div`,{className:`univer-flex univer-items-center univer-gap-2`,children:[J(`div`,{children:J($s,{overlay:J(`div`,{className:`univer-rounded-lg univer-p-4`,children:J(Zs,{value:o,onChange:e=>u(e,`color`)})}),children:Y(`button`,{className:`univer-flex univer-cursor-pointer univer-items-center univer-gap-2 univer-rounded univer-border-none univer-bg-transparent univer-p-1 hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-700`,type:`button`,children:[J(Nc,{className:`univer-fill-primary-600 dark:!univer-text-white`,extend:{colorChannel1:(t=l==null?void 0:l.color)==null?``:t}}),J(jc,{className:`dark:!univer-text-white`})]})})}),J(`div`,{children:J($s,{overlay:J(`section`,{className:`univer-rounded-lg univer-p-1.5`,children:J(`ul`,{className:`univer-m-0 univer-grid univer-list-none univer-gap-1 univer-p-0`,children:Vh.map(e=>Y(`li`,{className:`univer-flex univer-cursor-pointer univer-items-center univer-justify-center univer-rounded univer-px-1 univer-py-3 hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-700`,onClick:()=>u(e.value,`style`),children:[e.value===s&&J(yc,{className:`univer-absolute univer-left-3 univer-text-primary-600`}),J(Lh,{className:`univer-ml-6 univer-fill-gray-900 dark:!univer-fill-white`,type:e.value})]},e.value))})}),children:Y(`button`,{className:`univer-flex univer-cursor-pointer univer-items-center univer-gap-2 univer-rounded univer-border-none univer-bg-transparent univer-p-1 hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-700`,type:`button`,children:[J(Lh,{className:`univer-fill-gray-900 dark:!univer-fill-white`,type:s==null?k.THIN:s}),J(jc,{className:`dark:!univer-text-white`})]})})})]})]})}const Gh=`${Rh}_MENU_ITEM_FROZEN_COMPONENT`,Kh={row:`1`,col:`A`},qh=e=>{let{type:t}=e,n=V(Ue),r=V(fn),i=V(W),[a,o]=q(Kh),s=e=>{var t,n;if(!e)return;let{primary:r,range:i}=e,a=(t=r==null?void 0:r.startRow)==null?i.startRow:t,s=(n=r==null?void 0:r.startColumn)==null?i.startColumn:n;o({row:a===0?`1`:String(a),col:s===0?`A`:tt.chatAtABC(s-1)})};return Us(()=>{r.visible&&s(i.getCurrentLastSelection())},[r.visible]),Y(zc,{children:[t===`row`&&n.t(`rightClick.freezeRow`,a.row),t===`col`&&n.t(`rightClick.freezeCol`,a.col),t===`all`&&n.t(`rightClick.freezeCell`,a.row,a.col)]})},Jh=`${Rh}_MENU_ITEM_INPUT_COMPONENT`,Yh=e=>{let{prefix:t,suffix:n,value:r,min:i=-(2**53-1),max:a=2**53-1,disabled$:o,onChange:s}=e,c=V(Ue),l=V(fn),[u,d]=q(!1),[f,p]=q(),m=e=>{if(!e){p(i.toString());return}let t=e.toString();p(t),s(t)};Us(()=>{if(!o)return;let e=o.subscribe(e=>{d(e)});return()=>{e.unsubscribe()}},[]),Us(()=>{l.visible||p(r)},[l.visible]),Us(()=>{+r<i?p(i.toString()):+r>a?p(a.toString()):p(r)},[r]);function h(){f&&s(f)}return Y(`div`,{className:`univer-inline-flex univer-items-center univer-gap-1`,children:[c.t(t),J(`div`,{className:`univer-w-16`,onClick:e=>e.stopPropagation(),children:J(rc,{value:Number(f),size:`mini`,precision:0,min:i,max:a,disabled:u,onPressEnter:h,onChange:m})}),c.t(n)]})};function Xh(e){return e.getCurrentTypeOfUnit$(L.UNIVER_SHEET).pipe(ul(e=>e?e.activeSheet$.pipe(sl(t=>t?{workbook:e,worksheet:t}:null)):Es(null)))}function Zh(e,t,n){return Xh(e).pipe(ul(e=>e?n(e):Es(t)))}function Qh(e,t){let n=e.get(P),r=e.get(ri),i=e.get(W);return n.getCurrentTypeOfUnit$(L.UNIVER_SHEET).pipe(ul(e=>e?bs([i.selectionMoveEnd$,e.activeSheet$]).pipe(ul(([e,n])=>{if(!n||e.length===0)return Es(!1);let i=r.getInterestGroupId(e);return Es(t?i.filter(e=>t.has(e)).length>0:i.length>0)})):Es(!1)))}function $h(e,t,n){return bs([t,Qh(e,n)]).pipe(sl(([e,t])=>e||t))}function $(e,t={},n=!1){var r;let i=e.get(P).getCurrentTypeOfUnit$(L.UNIVER_SHEET),a=e.get(rt),o=e.has(Kf)?e.get(Kf):null,s=e.get(Fe),c=((r=o==null?void 0:o.visible$)==null?Es(null):r).pipe(ll(null),cl(1)),l=s.subscribeContextValue$(Te).pipe(ll(!1),cl(1)),u=s.subscribeContextValue$(Ee).pipe(ll(!1),cl(1));return bs([a.currentUser$,i,c,l,u]).pipe(ul(([r,i,a,o,s])=>!i||a!=null&&a.visible&&a.unitId===i.getUnitId()&&!n||o&&!n?Es(!0):i.activeSheet$.pipe(ul(n=>{if(!n)return Es(!0);let r=e.get(W),a=e.get(Fi),o=e.get(Vo),c=e.get(Fe).subscribeContextValue$(xe).pipe(ll(!1));return bs([r.selectionMoveEnd$,c]).pipe(ul(([r,c])=>{if(c&&!s)return Es(!0);let l=i.getUnitId(),u=n.getSheetId(),d=e.get(Le),{workbookTypes:f=[G],worksheetTypes:p,rangeTypes:m}=t,h=[];if(f==null||f.forEach(e=>{h.push(new e(l).id)}),p==null||p.forEach(e=>{h.push(new e(l,u).id)}),o.getRule(l,u))return d.composePermission$(h).pipe(sl(e=>e.some(e=>e.value===!1)));let g=r==null?void 0:r.map(e=>e.range),_=a.getSubunitRuleList(l,u).filter(e=>g==null?void 0:g.some(t=>e.ranges.some(e=>Qe.intersects(t,e))));return m==null||m.forEach(e=>{_.forEach(t=>{h.push(new e(l,u,t.permissionId).id)})}),d.composePermission$(h).pipe(sl(e=>e.some(e=>e.value===!1)))}))}))))}function eg(e){let t=e.get(P),n=e.get(W),r=e.get(Fi),i=e.get(Le);return Ts(n.selectionMoveEnd$,i.permissionPointUpdate$.pipe(al(100))).pipe(sl(()=>{var e;let a=(e=n.getCurrentLastSelection())==null?void 0:e.range;if(!a)return!0;let o=t.getCurrentUnitForType(L.UNIVER_SHEET),s=o==null?void 0:o.getActiveSheet();if(!o||!s)return!0;let c=o.getUnitId(),l=s.getSheetId(),u=[new G(c).id,new K(c,l).id];return r.getSubunitRuleList(c,l).filter(e=>e.ranges.some(e=>Qe.intersects(a,e))).forEach(e=>{u.push(new U(c,l,e.permissionId).id)}),i.composePermission(u).some(e=>e.value===!1)}))}function tg(e,t){let n=e.get(P),r=e.get(W),i=e.get(Fi),a=e.get(Le);return Ts(r.selectionMoveEnd$,a.permissionPointUpdate$.pipe(al(100))).pipe(sl(()=>{var e;let o=(e=r.getCurrentLastSelection())==null?void 0:e.range;if(!o)return!0;let s=n.getCurrentUnitForType(L.UNIVER_SHEET),c=s==null?void 0:s.getActiveSheet();if(!s||!c)return!0;let l=s.getUnitId(),u=c.getSheetId(),d=[new G(l).id,new K(l,u).id];return i.getSubunitRuleList(l,u).filter(e=>t===`row`?e.ranges.some(e=>o.startRow>e.startRow&&o.startRow<=e.endRow):e.ranges.some(e=>o.startColumn>e.startColumn&&o.startColumn<=e.endColumn)).forEach(e=>{d.push(new U(l,u,e.permissionId).id)}),a.composePermission(d).some(e=>e.value===!1)}))}function ng(e,t){let n=e.get(P),r=e.get(W),i=e.get(Fi),a=e.get(Le);return Ts(r.selectionMoveEnd$,a.permissionPointUpdate$.pipe(al(100))).pipe(sl(()=>{var e;let o=(e=r.getCurrentLastSelection())==null?void 0:e.range;if(!o)return!0;let s=n.getCurrentUnitForType(L.UNIVER_SHEET),c=s==null?void 0:s.getActiveSheet();if(!s||!c)return!0;let l=s.getUnitId(),u=c.getSheetId(),d=[new G(l).id,new K(l,u).id],f=tt.deepClone(o);return t===`row`?(f.startColumn=0,f.endColumn=c.getColumnCount()-1):(f.startRow=0,f.endRow=c.getRowCount()-1),i.getSubunitRuleList(l,u).filter(e=>e.ranges.some(e=>Qe.intersects(f,e))).forEach(e=>{d.push(new U(l,u,e.permissionId).id)}),a.composePermission(d).some(e=>e.value===!1)}))}function rg(e,t){let n=e.get(P),r=e.get(W),i=e.get(Fi),a=e.get(Le);return Ts(r.selectionMoveEnd$,a.permissionPointUpdate$.pipe(al(100))).pipe(sl(()=>{var e;let o=(e=r.getCurrentLastSelection())==null?void 0:e.range;if(!o)return!0;let s=n.getCurrentUnitForType(L.UNIVER_SHEET),c=s==null?void 0:s.getActiveSheet();if(!s||!c)return!0;let l=s.getUnitId(),u=c.getSheetId(),d=[new G(l).id,new K(l,u).id],f=tt.deepClone(o);return t===`row`?f.endRow=c.getRowCount()-1:f.endColumn=c.getColumnCount()-1,i.getSubunitRuleList(l,u).filter(e=>e.ranges.some(e=>Qe.intersects(f,e))).forEach(e=>{d.push(new U(l,u,e.permissionId).id)}),a.composePermission(d).some(e=>e.value===!1)}))}function ig(e,t){let n=e.get(P).getCurrentTypeOfUnit$(L.UNIVER_SHEET),r=e.get(Vo),i=e.get(Fi),a=e.get(Le);return bs([e.get(rt).currentUser$,n]).pipe(ul(([e,n])=>n?n.activeSheet$.pipe(ul(e=>{if(!e)return Es(!0);let o=n.getUnitId(),s=[];return t.forEach(e=>s.push(new e(o).id)),a.composePermission$(s).pipe(sl(e=>e.every(e=>e.value===!0))).pipe(sl(t=>{if(!t)return!0;let n=e.getSheetId(),a=r.getRule(o,n),s=i.getSubunitRuleList(o,n);return!!(a||s.length)}))})):Es(!0)))}function ag(e){let t=e.get(zr),n=$(e,{workbookTypes:[G],worksheetTypes:[K,Ho],rangeTypes:[U]});return{id:oa.id,icon:new _s(t=>{let n=`AllBorderIcon`,r=e.get(zr),i=e.get(N).onCommandExecuted(e=>{var i;if(e.id!==oa.id)return;let{type:a}=r.getBorderInfo(),o=Bh.find(e=>e.value===a),s=(i=o==null?void 0:o.icon)==null?n:i;t.next(s)});return t.next(n),i.dispose}),tooltip:`toolbar.border.main`,type:z.BUTTON_SELECTOR,slot:!0,selections:[{label:{name:zh,hoverable:!1,selectable:!1},value$:t.borderInfo$}],value$:t.borderInfo$,hidden$:bs([B(e,L.UNIVER_SHEET),e.get(Fe).subscribeContextValue$(xe).pipe(Os(!1))]).pipe(ws(([e,t])=>e||t)),disabled$:n}}const og=`sheet.menu.clear-selection`;function sg(e){return{id:og,type:z.SUBITEMS,icon:`ClearFormatDoubleIcon`,title:`rightClick.clearSelection`,hidden$:B(e,L.UNIVER_SHEET)}}function cg(e){return{id:Gr.id,type:z.BUTTON,icon:`ClearFormatDoubleIcon`,title:`rightClick.clearContent`,disabled$:$h(e,$(e,{workbookTypes:[G],worksheetTypes:[K,Uo],rangeTypes:[U]})),hidden$:B(e,L.UNIVER_SHEET)}}function lg(e){return{id:Kr.id,type:z.BUTTON,icon:`ClearFormatDoubleIcon`,title:`rightClick.clearFormat`,disabled$:$(e,{workbookTypes:[G],worksheetTypes:[K,Ho],rangeTypes:[U]}),hidden$:B(e,L.UNIVER_SHEET)}}function ug(e){return{id:Wr.id,type:z.BUTTON,icon:`ClearFormatDoubleIcon`,title:`rightClick.clearAll`,tooltip:`rightClick.clearAll`,disabled$:$h(e,$(e,{workbookTypes:[G],worksheetTypes:[K,Uo,Ho],rangeTypes:[U]})),hidden$:B(e,L.UNIVER_SHEET)}}const dg=`sheet.menu.delete`;function fg(e){return{id:dg,type:z.SUBITEMS,title:`rightClick.delete`,icon:`ReduceDoubleIcon`,hidden$:$h(e,eg(e)),disabled$:$(e,{workbookTypes:[G],worksheetTypes:[K]})}}function pg(e){return{id:cf.id,type:z.BUTTON,icon:`DeleteColumnDoubleIcon`,title:`rightClick.deleteSelectedColumn`,hidden$:ng(e,`col`),disabled$:$(e,{workbookTypes:[G,To],worksheetTypes:[K,Po]})}}function mg(e){return{id:sf.id,type:z.BUTTON,icon:`DeleteRowDoubleIcon`,title:`rightClick.deleteSelectedRow`,disabled$:$(e,{workbookTypes:[G,Eo],worksheetTypes:[K,Io]}),hidden$:ng(e,`row`)}}function hg(e){return{id:ad.id,type:z.BUTTON,title:`rightClick.moveLeft`,icon:`DeleteCellShiftLeftDoubleIcon`,disabled$:$(e,{workbookTypes:[G],worksheetTypes:[K],rangeTypes:[U]}),hidden$:rg(e,`col`)}}function gg(e){return{id:od.id,type:z.BUTTON,title:`rightClick.moveUp`,icon:`DeleteCellShiftUpDoubleIcon`,disabled$:$(e,{workbookTypes:[G],worksheetTypes:[K],rangeTypes:[U]}),hidden$:rg(e,`row`)}}function _g(e,t){let n=e.get(W),r=e.get(P),i=e.get(N),a=e.get(Fe);return Zh(r,t,({worksheet:r})=>new _s(o=>{let s=()=>{var e;let i=t,a=(e=n.getCurrentLastSelection())==null?void 0:e.primary;if(a!=null){let e=r.getComposedCellStyle(a.startRow,a.startColumn);e.fs&&(i=e.fs)}o.next(i)},c=()=>{let n=wd(e);if(n!=null){var r,i;let e=(r=(i=n.ts)==null?void 0:i.fs)==null?t:r;o.next(e)}},l=i.onCommandExecuted(e=>{let t=e.id;(t===Sa.id||t===Aa.id||t===Ua.id)&&s(),(t===Is.id||t===g.id)&&a.getContextValue(ve)&&(a.getContextValue(De)||a.getContextValue(Ee))&&c()});return s(),l.dispose}))}function vg(e){let t=ce.fs,n=$(e,{workbookTypes:[G],worksheetTypes:[K,Ho],rangeTypes:[U]},!0);return{id:jd.id,type:z.SELECTOR,tooltip:`toolbar.fontSize`,label:{name:sn,props:{min:6,max:400,disabled$:n}},selections:cn,disabled$:n,value$:_g(e,t),hidden$:B(e,L.UNIVER_SHEET)}}function yg(e){let t=$(e,{workbookTypes:[G],worksheetTypes:[K,Ho],rangeTypes:[U]},!0);return{id:Md.id,type:z.BUTTON,icon:`FontSizeIncreaseIcon`,tooltip:`toolbar.fontSizeIncrease`,disabled$:t,hidden$:B(e,L.UNIVER_SHEET)}}function bg(e){let t=$(e,{workbookTypes:[G],worksheetTypes:[K,Ho],rangeTypes:[U]},!0);return{id:Nd.id,type:z.BUTTON,icon:`FontSizeReduceIcon`,tooltip:`toolbar.fontSizeDecrease`,disabled$:t,hidden$:B(e,L.UNIVER_SHEET)}}const xg=(e,t)=>{let n=e.get(W);return new _s(e=>{let r=n=>{var r,i;if(!n)return e.next(!0);let{primary:a,range:o}=n,s=(r=a==null?void 0:a.startRow)==null?o.startRow:r,c=(i=a==null?void 0:a.startColumn)==null?o.startColumn:i;if(t===`row`&&s<=0||t===`col`&&c<=0)return e.next(!0);e.next(!1)},i=n.selectionChanged$.subscribe(t=>{if(!t||t.length===0)return e.next(!0);r(t[t.length-1])});return r(n.getCurrentLastSelection()),()=>i.unsubscribe()})},Sg=`sheet.menu.sheet-frozen`;function Cg(e){return{id:Sg,type:z.SUBITEMS,title:`rightClick.freeze`,icon:`FreezeToSelectedIcon`,hidden$:B(e,L.UNIVER_SHEET)}}const wg=`sheet.column-header-menu.sheet-frozen`;function Tg(e){return{id:wg,type:z.SUBITEMS,title:`rightClick.freeze`,icon:`FreezeToSelectedIcon`,hidden$:B(e,L.UNIVER_SHEET)}}const Eg=`sheet.row-header-menu.sheet-frozen`;function Dg(e){return{id:Eg,type:z.SUBITEMS,title:`rightClick.freeze`,icon:`FreezeToSelectedIcon`,hidden$:B(e,L.UNIVER_SHEET)}}function Og(e){return{id:yf.id,type:z.BUTTON,icon:`FreezeToSelectedIcon`,label:{name:Gh,props:{type:`all`}},hidden$:bs([B(e,L.UNIVER_SHEET),xg(e,`all`)]).pipe(ws(([e,t])=>e||t))}}function kg(e){return{id:bf.id,type:z.BUTTON,icon:`FreezeRowIcon`,label:{name:Gh,props:{type:`row`}},hidden$:bs([B(e,L.UNIVER_SHEET),xg(e,`row`)]).pipe(ws(([e,t])=>e||t))}}function Ag(e){return{id:xf.id,type:z.BUTTON,icon:`FreezeColumnIcon`,label:{name:Gh,props:{type:`col`}},hidden$:bs([B(e,L.UNIVER_SHEET),xg(e,`col`)]).pipe(ws(([e,t])=>e||t))}}function jg(e){return{id:Sf.id,type:z.BUTTON,title:`rightClick.freezeFirstRow`,icon:`FreezeRowIcon`,hidden$:B(e,L.UNIVER_SHEET)}}function Mg(e){return{id:Cf.id,type:z.BUTTON,title:`rightClick.freezeFirstCol`,icon:`FreezeColumnIcon`,hidden$:B(e,L.UNIVER_SHEET)}}function Ng(e){return{id:Hr.id,type:z.BUTTON,title:`rightClick.cancelFreeze`,icon:`CancelFreezeIcon`,hidden$:B(e,L.UNIVER_SHEET)}}function Pg(e){let t=e.get(N),n=e.get(P);return{id:go.id,type:z.BUTTON,tooltip:`toolbar.toggleGridlines`,icon:`HideGridlinesDoubleIcon`,activated$:new _s(e=>{let r=()=>{let e=n.getCurrentUnitForType(L.UNIVER_SHEET);return e?e.getActiveSheet().getConfig().showGridlines===ne.TRUE:!1},i=new ge;return i.add(t.onCommandExecuted(t=>{(t.id===_o.id||t.id===Ua.id)&&e.next(r())})),i.add(n.getCurrentTypeOfUnit$(L.UNIVER_SHEET).subscribe(()=>{e.next(r())})),e.next(r()),()=>i.dispose()}),disabled$:$(e,{workbookTypes:[G],worksheetTypes:[K]})}}const Fg=`sheet.menu.cell-insert`;function Ig(e){return{id:Fg,type:z.SUBITEMS,title:`rightClick.insert`,icon:`InsertDoubleIcon`,hidden$:$h(e,eg(e)),disabled$:$(e,{workbookTypes:[G,ko,Ao],worksheetTypes:[Lo,Ro,K],rangeTypes:[U]})}}function Lg(e){let t=e.get(P),n=e.get(W),r=e.get(N),i=$(e,{workbookTypes:[G,Ao],worksheetTypes:[Ro,K],rangeTypes:[U]});return{id:_i.id,type:z.BUTTON,icon:`InsertRowAboveDoubleIcon`,label:{name:Jh,props:{prefix:`rightClick.insertRowsAbove`,min:1,max:1e3,suffix:`rightClick.insertRowsAboveSuffix`,disabled$:i}},value$:Zh(t,1,()=>new _s(e=>{function t(){var t;let r=(t=n.getCurrentLastSelection())==null?void 0:t.range,i=1;r&&(i=(r==null?void 0:r.endRow)-(r==null?void 0:r.startRow)+1),e.next(i)}let i=r.onCommandExecuted(e=>{if(e.id===Aa.id)return t()});return t(),i.dispose})),disabled$:i,hidden$:tg(e,`row`)}}function Rg(e){let t=e.get(P),n=e.get(W),r=e.get(N),i=$(e,{workbookTypes:[G,ko],worksheetTypes:[Lo,K],rangeTypes:[U]});return{id:si.id,type:z.BUTTON,icon:`LeftInsertColumnDoubleIcon`,label:{name:Jh,props:{prefix:`rightClick.insertColsLeft`,min:1,max:1e3,suffix:`rightClick.insertColsLeftSuffix`,disabled$:i}},value$:Zh(t,1,()=>new _s(e=>{function t(){var t;let r=(t=n.getCurrentLastSelection())==null?void 0:t.range,i=1;r&&(i=(r==null?void 0:r.endColumn)-(r==null?void 0:r.startColumn)+1),e.next(i)}let i=r.onCommandExecuted(e=>{if(e.id===Aa.id)return t()});return t(),i.dispose})),disabled$:i,hidden$:tg(e,`col`)}}function zg(e){return{id:Rd.id,type:z.BUTTON,title:`rightClick.moveRight`,icon:`InsertCellShiftRightDoubleIcon`,disabled$:$(e,{workbookTypes:[G],worksheetTypes:[K],rangeTypes:[U]}),hidden$:rg(e,`col`)}}function Bg(e){return{id:Ld.id,type:z.BUTTON,title:`rightClick.moveDown`,icon:`InsertCellDownDoubleIcon`,disabled$:$(e,{workbookTypes:[G],worksheetTypes:[K],rangeTypes:[U]}),hidden$:rg(e,`row`)}}function Vg(e){let t=e.get(P),n=e.get(W),r=e.get(N),i=$(e,{workbookTypes:[G,Ao],worksheetTypes:[Ro,K],rangeTypes:[U]});return{id:mi.id,type:z.BUTTON,icon:`InsertRowBelowDoubleIcon`,label:{name:Jh,props:{prefix:`rightClick.insertRowsAfter`,min:1,max:1e3,suffix:`rightClick.insertRowsAfterSuffix`,disabled$:i}},value$:Zh(t,1,()=>new _s(e=>{function t(){var t;let r=(t=n.getCurrentLastSelection())==null?void 0:t.range,i=1;r&&(i=(r==null?void 0:r.endRow)-(r==null?void 0:r.startRow)+1),e.next(i)}let i=r.onCommandExecuted(e=>{if(e.id===Aa.id)return t()});return t(),i.dispose})),disabled$:i,hidden$:eg(e)}}function Hg(e){let t=e.get(P),n=e.get(W),r=e.get(N),i=$(e,{workbookTypes:[G,Ao],worksheetTypes:[Ro,K],rangeTypes:[U]});return{id:pi.id,type:z.BUTTON,icon:`InsertRowAboveDoubleIcon`,label:{name:Jh,props:{prefix:`rightClick.insertRowsAbove`,min:1,max:1e3,suffix:`rightClick.insertRowsAboveSuffix`,disabled$:i}},value$:Zh(t,1,()=>new _s(e=>{function t(){var t;let r=(t=n.getCurrentLastSelection())==null?void 0:t.range,i=1;r&&(i=(r==null?void 0:r.endRow)-(r==null?void 0:r.startRow)+1),e.next(i)}let i=r.onCommandExecuted(e=>{if(e.id===Aa.id)return t()});return t(),i.dispose})),disabled$:i,hidden$:eg(e)}}function Ug(e){let t=e.get(P),n=e.get(W),r=e.get(N),i=$(e,{workbookTypes:[G,ko],worksheetTypes:[Lo,K],rangeTypes:[U]});return{id:di.id,type:z.BUTTON,icon:`LeftInsertColumnDoubleIcon`,label:{name:Jh,props:{prefix:`rightClick.insertColsLeft`,min:1,max:1e3,suffix:`rightClick.insertColsLeftSuffix`,disabled$:i}},value$:Zh(t,1,()=>new _s(e=>{function t(){var t;let r=(t=n.getCurrentLastSelection())==null?void 0:t.range,i=1;r&&(i=(r==null?void 0:r.endColumn)-(r==null?void 0:r.startColumn)+1),e.next(i)}let i=r.onCommandExecuted(e=>{if(e.id===Aa.id)return t()});return t(),i.dispose})),disabled$:i,hidden$:eg(e)}}function Wg(e){let t=e.get(P),n=e.get(W),r=e.get(N),i=$(e,{workbookTypes:[G,ko],worksheetTypes:[Lo,K],rangeTypes:[U]});return{id:fi.id,type:z.BUTTON,icon:`RightInsertColumnDoubleIcon`,label:{name:Jh,props:{prefix:`rightClick.insertColsRight`,min:1,max:1e3,suffix:`rightClick.insertColsRightSuffix`,disabled$:i}},value$:Zh(t,1,()=>new _s(e=>{function t(){var t;let r=(t=n.getCurrentLastSelection())==null?void 0:t.range,i=1;r&&(i=(r==null?void 0:r.endColumn)-(r==null?void 0:r.startColumn)+1),e.next(i)}let i=r.onCommandExecuted(e=>{if(e.id===Aa.id)return t()});return t(),i.dispose})),disabled$:i,hidden$:eg(e)}}let Gg=function(e){return e.ROW_HEADER_CONTEXT_MENU=`ROW_HEADER_CONTEXT_MENU`,e.COL_HEADER_CONTEXT_MENU=`COL_HEADER_CONTEXT_MENU`,e.SHEET_BAR=`SHEET_BAR`,e.SHEET_FOOTER=`SHEET_FOOTER`,e}({});function Kg(e){let t=e.get(df);return{id:hf.id,subId:mf.id,type:z.BUTTON,icon:`BrushIcon`,title:`Format Painter`,tooltip:`toolbar.formatPainter`,activated$:new _s(e=>{let n=!1,r=t.status$.subscribe(t=>{n=t!==uf.OFF,e.next(n)});return e.next(n),()=>{r.unsubscribe()}}),hidden$:B(e,L.UNIVER_SHEET),disabled$:$(e,{workbookTypes:[G],worksheetTypes:[No,K],rangeTypes:[U]},!0)}}function qg(e){let t=e.get(N),n=e.get(P),r=e.get(Fe),i=e.get(W);return{id:Td.id,type:z.BUTTON,icon:`BoldIcon`,title:`Set bold`,tooltip:`toolbar.bold`,disabled$:$(e,{workbookTypes:[G],worksheetTypes:[K,Ho],rangeTypes:[U]},!0),activated$:Zh(n,!1,({worksheet:n})=>new _s(a=>{var o;let s=t.onCommandExecuted(t=>{let o=t.id;if(o===Sa.id||o===Aa.id||o===Ua.id){var s;let e=(s=i.getCurrentLastSelection())==null?void 0:s.primary,t=Ae.NORMAL;if(e!=null){let r=n.getRange(e.startRow,e.startColumn);t=r==null?void 0:r.getFontWeight()}a.next(t===Ae.BOLD)}if((o===Is.id||o===g.id)&&r.getContextValue(ve)&&(r.getContextValue(De)||r.getContextValue(Ee))){var c;let t=wd(e);if(t==null)return;let n=(c=t.ts)==null?void 0:c.bl;a.next(n===ne.TRUE)}}),c=(o=i.getCurrentLastSelection())==null?void 0:o.primary;if(!n){a.next(!1);return}let l=Ae.NORMAL;if(c!=null){let e=n.getRange(c.startRow,c.startColumn);l=e==null?void 0:e.getFontWeight()}return a.next(l===Ae.BOLD),s.dispose})),hidden$:B(e,L.UNIVER_SHEET)}}function Jg(e){let t=e.get(N),n=e.get(P),r=e.get(W),i=e.get(Fe);return{id:Ed.id,type:z.BUTTON,icon:`ItalicIcon`,title:`Set italic`,tooltip:`toolbar.italic`,disabled$:$(e,{workbookTypes:[G],worksheetTypes:[K,Ho],rangeTypes:[U]},!0),activated$:Zh(n,!1,({worksheet:n})=>new _s(a=>{var o;let s=t.onCommandExecuted(t=>{let o=t.id;if(o===Sa.id||o===Aa.id||o===Ua.id){var s;let e=(s=r.getCurrentLastSelection())==null?void 0:s.primary,t=ke.NORMAL;if(e!=null){let r=n.getRange(e.startRow,e.startColumn);t=r==null?void 0:r.getFontStyle()}a.next(t===ke.ITALIC)}if((o===Is.id||o===g.id)&&i.getContextValue(ve)&&(i.getContextValue(De)||i.getContextValue(Ee))){var c;let t=wd(e);if(t==null)return;let n=(c=t.ts)==null?void 0:c.it;a.next(n===ne.TRUE)}}),c=(o=r.getCurrentLastSelection())==null?void 0:o.primary,l=ke.NORMAL;if(c!=null){let e=n.getRange(c.startRow,c.startColumn);l=e==null?void 0:e.getFontStyle()}return a.next(l===ke.ITALIC),s.dispose})),hidden$:B(e,L.UNIVER_SHEET)}}function Yg(e){let t=e.get(N),n=e.get(P),r=e.get(W),i=e.get(Fe);return{id:Dd.id,type:z.BUTTON,icon:`UnderlineIcon`,title:`Set underline`,tooltip:`toolbar.underline`,activated$:Zh(n,!1,({worksheet:n})=>new _s(a=>{var o;let s=t.onCommandExecuted(t=>{let o=t.id;if(o===Sa.id||o===Aa.id||o===Ua.id){var s;let e=(s=r.getCurrentLastSelection())==null?void 0:s.primary,t;if(e!=null){let r=n.getRange(e.startRow,e.startColumn);t=r==null?void 0:r.getUnderline()}a.next(!!(t&&t.s))}if((o===Is.id||o===g.id)&&i.getContextValue(ve)&&(i.getContextValue(De)||i.getContextValue(Ee))){var c;let t=wd(e);if(t==null)return;let n=(c=t.ts)==null?void 0:c.ul;a.next((n==null?void 0:n.s)===ne.TRUE)}}),c=(o=r.getCurrentLastSelection())==null?void 0:o.primary,l;if(c!=null){let e=n.getRange(c.startRow,c.startColumn);l=e==null?void 0:e.getUnderline()}return a.next(!!(l&&l.s)),s.dispose})),disabled$:$(e,{workbookTypes:[G],worksheetTypes:[K,Ho],rangeTypes:[U]},!0),hidden$:B(e,L.UNIVER_SHEET)}}function Xg(e){let t=e.get(N),n=e.get(P),r=e.get(W),i=e.get(Fe);return{id:Od.id,type:z.BUTTON,icon:`StrikethroughIcon`,title:`Set strike through`,tooltip:`toolbar.strikethrough`,disabled$:$(e,{workbookTypes:[G],worksheetTypes:[K,Ho],rangeTypes:[U]},!0),activated$:Zh(n,!1,({worksheet:n})=>new _s(a=>{var o;let s=t.onCommandExecuted(t=>{let o=t.id;if(o===Sa.id||o===Aa.id||o===Ua.id){var s;let e=(s=r.getCurrentLastSelection())==null?void 0:s.primary,t;if(e!=null){let r=n.getRange(e.startRow,e.startColumn);t=r==null?void 0:r.getStrikeThrough()}a.next(!!(t&&t.s))}if((o===Is.id||o===g.id)&&i.getContextValue(ve)&&(i.getContextValue(De)||i.getContextValue(Ee))){var c;let t=wd(e);if(t==null)return;let n=(c=t.ts)==null?void 0:c.st;a.next((n==null?void 0:n.s)===ne.TRUE)}}),c=(o=r.getCurrentLastSelection())==null?void 0:o.primary,l;if(c!=null){let e=n.getRange(c.startRow,c.startColumn);l=e==null?void 0:e.getStrikeThrough()}return a.next(!!(l&&l.s)),s.dispose})),hidden$:B(e,L.UNIVER_SHEET)}}function Zg(e){let t=e.get(N),n=e.get(P),r=e.get(W),i=ce.ff,a=$(e,{workbookTypes:[G],worksheetTypes:[K,Ho],rangeTypes:[U]},!0);return{id:Pd.id,tooltip:`toolbar.font`,type:z.SELECTOR,label:{name:an,props:{id:Pd.id,disabled$:a}},selections:[{label:{name:on,hoverable:!1,selectable:!1,props:{id:Pd.id}}}],disabled$:a,value$:Zh(n,i,({worksheet:n})=>new _s(a=>{let o=()=>{var e;let t=i,o=(e=r.getCurrentLastSelection())==null?void 0:e.primary;if(o!=null){let e=n.getCellStyle(o.startRow,o.startColumn),r=dt(n.getDefaultCellStyleInternal(),n.getRowStyle(o.startRow),n.getColumnStyle(o.startColumn),e);r.ff&&(t=r.ff)}a.next(t)},s=t.onCommandExecuted(t=>{let n=t.id;if((n===Sa.id||n===Aa.id||n===Ua.id)&&o(),(n===Is.id||n===g.id)&&e.get(Fe).getContextValue(ve)&&(e.get(Fe).getContextValue(De)||e.get(Fe).getContextValue(Ee))){let t=wd(e);if(t!=null){var r,s;let e=(r=(s=t.ts)==null?void 0:s.ff)==null?i:r;a.next(e)}}});return o(),s.dispose})),hidden$:B(e,L.UNIVER_SHEET)}}function Qg(e){return{id:Id.id,type:z.BUTTON,title:`toolbar.resetColor`,icon:`NoColorDoubleIcon`,disabled$:$(e,{workbookTypes:[G],worksheetTypes:[K,Ho],rangeTypes:[U]},!0),hidden$:B(e,L.UNIVER_SHEET)}}function $g(e){let t=e.get(N),n=e.get(et),r=e.get(W);return{id:Fd.id,icon:`FontColorDoubleIcon`,tooltip:`toolbar.textColor.main`,type:z.BUTTON_SELECTOR,selections:[{label:{name:Kt,hoverable:!1,selectable:!1},value$:new _s(e=>{let t=ce.cl.rgb,{isAllValuesSame:n,value:i}=r.getCellStylesProperty(`cl`);if(n){var a;e.next((a=i==null?void 0:i.rgb)==null?t:a)}else e.next(t)})}],value$:new _s(e=>{let r=n.getColorFromTheme(`gray.900`),i=t.onCommandExecuted(t=>{if(t.id===Fd.id){let n=t.params.value;e.next(n==null?r:n)}});return e.next(r),i.dispose}),hidden$:B(e,L.UNIVER_SHEET),disabled$:$(e,{workbookTypes:[G],worksheetTypes:[K,Ho],rangeTypes:[U]},!0)}}function e_(e){return{id:Yi.id,type:z.BUTTON,title:`toolbar.resetColor`,icon:`NoColorDoubleIcon`,disabled$:$(e,{workbookTypes:[G],worksheetTypes:[K,Ho],rangeTypes:[U]})}}function t_(e){let t=e.get(N),n=e.get(et),r=e.get(W);return{id:ia.id,tooltip:`toolbar.fillColor.main`,type:z.BUTTON_SELECTOR,icon:`PaintBucketDoubleIcon`,selections:[{label:{name:Kt,hoverable:!1,selectable:!1},value$:new _s(e=>{let t=ce.bg.rgb,{isAllValuesSame:n,value:i}=r.getCellStylesProperty(`bg`);if(n){var a;e.next((a=i==null?void 0:i.rgb)==null?t:a)}else e.next(t)})}],value$:new _s(e=>{let r=n.getColorFromTheme(`primary.600`),i=t.onCommandExecuted(t=>{if(t.id===ia.id){let n=t.params.value;e.next(n==null?r:n)}});return e.next(r),i.dispose}),hidden$:bs([B(e,L.UNIVER_SHEET),e.get(Fe).subscribeContextValue$(xe).pipe(Os(!1))]).pipe(ws(([e,t])=>e||t)),disabled$:$(e,{workbookTypes:[G],worksheetTypes:[K,Ho],rangeTypes:[U]})}}const n_=[{label:`align.left`,icon:`LeftJustifyingIcon`,value:je.LEFT},{label:`align.center`,icon:`HorizontallyIcon`,value:je.CENTER},{label:`align.right`,icon:`RightJustifyingIcon`,value:je.RIGHT}];function r_(e){var t,n;let r=e.get(P),i=e.get(W),a=r.getCurrentUnitOfType(L.UNIVER_SHEET),o=a==null?void 0:a.getActiveSheet().getDefaultCellStyleInternal(),s=(t=o==null?void 0:o.ht)==null?je.LEFT:t;return{id:va.id,icon:(n=n_.find(e=>e.value===s))==null?void 0:n.icon,tooltip:`toolbar.horizontalAlignMode.main`,type:z.SELECTOR,selections:n_,value$:Zh(r,s,({worksheet:t})=>new _s(n=>{var r,o;let c=e.get(N).onCommandExecuted(e=>{var r,o;let c=e.id;if(c!==va.id&&c!==Aa.id&&c!==Ua.id)return;let l=(r=i.getCurrentLastSelection())==null?void 0:r.primary,u;if(l!=null){var d;let e=t.getRange(l.startRow,l.startColumn),n=a==null?void 0:a.getActiveSheet().getComposedCellStyle(l.startRow,l.startColumn);u=(d=n==null?void 0:n.ht)==null?e==null?void 0:e.getHorizontalAlignment():d}n.next((o=u)==null?s:o)}),l=(r=i.getCurrentLastSelection())==null?void 0:r.primary,u;if(l!=null){var d;let e=t.getRange(l.startRow,l.startColumn),n=a==null?void 0:a.getActiveSheet().getComposedCellStyle(l.startRow,l.startColumn);u=(d=n==null?void 0:n.ht)==null?e==null?void 0:e.getHorizontalAlignment():d}return n.next((o=u)==null?s:o),c.dispose})),hidden$:bs([B(e,L.UNIVER_SHEET),e.get(Fe).subscribeContextValue$(xe).pipe(Os(!1))]).pipe(ws(([e,t])=>e||t)),disabled$:$(e,{workbookTypes:[G],worksheetTypes:[K,Ho],rangeTypes:[U]})}}const i_=[{label:`align.top`,icon:`AlignTopIcon`,value:it.TOP},{label:`align.middle`,icon:`VerticalCenterIcon`,value:it.MIDDLE},{label:`align.bottom`,icon:`AlignBottomIcon`,value:it.BOTTOM}];function a_(e){var t,n;let r=e.get(P),i=e.get(W),a=r.getCurrentUnitOfType(L.UNIVER_SHEET),o=a==null?void 0:a.getActiveSheet().getDefaultCellStyleInternal(),s=(t=o==null?void 0:o.vt)==null?it.BOTTOM:t;return{id:Va.id,icon:(n=i_.find(e=>e.value===s))==null?void 0:n.icon,tooltip:`toolbar.verticalAlignMode.main`,type:z.SELECTOR,selections:i_,value$:Zh(r,s,({worksheet:t})=>new _s(n=>{var r,o;let c=e.get(N).onCommandExecuted(e=>{var r,o;let c=e.id;if(c!==Va.id&&c!==Aa.id&&c!==Ua.id)return;let l=(r=i.getCurrentLastSelection())==null?void 0:r.primary,u;if(l!=null){var d;let e=t.getRange(l.startRow,l.startColumn),n=a==null?void 0:a.getActiveSheet().getComposedCellStyle(l.startRow,l.startColumn);u=(d=n==null?void 0:n.vt)==null?e==null?void 0:e.getVerticalAlignment():d}n.next((o=u)==null?s:o)}),l=(r=i.getCurrentLastSelection())==null?void 0:r.primary,u;if(l!=null){var d;let e=t.getRange(l.startRow,l.startColumn),n=a==null?void 0:a.getActiveSheet().getComposedCellStyle(l.startRow,l.startColumn);u=(d=n==null?void 0:n.vt)==null?e==null?void 0:e.getVerticalAlignment():d}return n.next((o=u)==null?s:o),c.dispose})),hidden$:bs([B(e,L.UNIVER_SHEET),e.get(Fe).subscribeContextValue$(xe).pipe(Os(!1))]).pipe(ws(([e,t])=>e||t)),disabled$:$(e,{workbookTypes:[G],worksheetTypes:[K,Ho],rangeTypes:[U]})}}const o_=[{label:`textWrap.overflow`,icon:`OverflowIcon`,value:ot.OVERFLOW},{label:`textWrap.wrap`,icon:`AutowrapIcon`,value:ot.WRAP},{label:`textWrap.clip`,icon:`TruncationIcon`,value:ot.CLIP}];function s_(e){var t,n;let r=e.get(W),i=e.get(P),a=i.getCurrentUnitOfType(L.UNIVER_SHEET),o=a==null?void 0:a.getActiveSheet().getDefaultCellStyleInternal(),s=(t=o==null?void 0:o.tb)==null?ot.OVERFLOW:t;return{id:za.id,tooltip:`toolbar.textWrapMode.main`,icon:(n=o_.find(e=>e.value===s))==null?void 0:n.icon,type:z.SELECTOR,selections:o_,value$:Zh(i,s,({worksheet:t})=>new _s(n=>{var i,o;let c=e.get(N).onCommandExecuted(e=>{var i,o;let c=e.id;if(c!==za.id&&c!==Aa.id&&c!==Ua.id)return;let l=(i=r.getCurrentLastSelection())==null?void 0:i.primary,u;if(l!=null){var d;let e=t.getRange(l.startRow,l.startColumn),n=a==null?void 0:a.getActiveSheet().getComposedCellStyle(l.startRow,l.startColumn);u=(d=n==null?void 0:n.tb)==null?e==null?void 0:e.getWrapStrategy():d}n.next((o=u)==null?s:o)}),l=(i=r.getCurrentLastSelection())==null?void 0:i.primary,u;if(l!=null){var d;let e=t.getRange(l.startRow,l.startColumn),n=a==null?void 0:a.getActiveSheet().getComposedCellStyle(l.startRow,l.startColumn);u=(d=n==null?void 0:n.tb)==null?e==null?void 0:e.getWrapStrategy():d}return n.next((o=u)==null?s:o),c.dispose})),hidden$:bs([B(e,L.UNIVER_SHEET),e.get(Fe).subscribeContextValue$(xe).pipe(Os(!1))]).pipe(ws(([e,t])=>e||t)),disabled$:$(e,{workbookTypes:[G],worksheetTypes:[K,Ho],rangeTypes:[U]})}}const c_=[{label:`textRotate.none`,icon:`NoRotationIcon`,value:0},{label:`textRotate.angleUp`,icon:`LeftRotationFortyFiveDegreesIcon`,value:-45},{label:`textRotate.angleDown`,icon:`RightRotationFortyFiveDegreesIcon`,value:45},{label:`textRotate.vertical`,icon:`VerticalTextIcon`,value:`v`},{label:`textRotate.rotationUp`,icon:`LeftRotationNinetyDegreesIcon`,value:-90},{label:`textRotate.rotationDown`,icon:`RightRotationNinetyDegreesIcon`,value:90}];function l_(e){let t=e.get(W),n=e.get(P);return{id:Ra.id,tooltip:`toolbar.textRotateMode.main`,icon:c_[0].icon,type:z.SELECTOR,selections:c_,value$:Zh(n,0,({worksheet:n})=>new _s(r=>{var i;let a=e.get(N).onCommandExecuted(e=>{var i;let a=e.id;if(a!==Ra.id&&a!==Aa.id&&a!==Ua.id)return;let o=(i=t.getCurrentLastSelection())==null?void 0:i.primary,s;if(o!=null){let e=n.getRange(o.startRow,o.startColumn);s=e==null?void 0:e.getTextRotation()}if((s==null?void 0:s.v)===ne.TRUE)r.next(`v`);else{var c;r.next((c=s&&s.a)==null?0:c)}}),o=(i=t.getCurrentLastSelection())==null?void 0:i.primary,s;if(o!=null){let e=n.getRange(o.startRow,o.startColumn);s=e==null?void 0:e.getTextRotation()}if((s==null?void 0:s.v)===ne.TRUE)r.next(`v`);else{var c;r.next((c=s&&s.a)==null?0:c)}return a.dispose})),hidden$:bs([B(e,L.UNIVER_SHEET),e.get(Fe).subscribeContextValue$(xe).pipe(Os(!1))]).pipe(ws(([e,t])=>e||t)),disabled$:$(e,{workbookTypes:[G],worksheetTypes:[K,Ho],rangeTypes:[U]})}}function u_(e){return new _s(t=>{let n=e.get(dn).supportClipboard,r=e.get(Uu).copyContentCache().lastCopyId$.subscribe(e=>{t.next(!n&&!e)});return t.next(!n),()=>r.unsubscribe()})}function d_(e){return{id:Xu.name,commandId:Xu.id,type:z.BUTTON,title:`rightClick.copy`,icon:`CopyDoubleIcon`,disabled$:$(e,{workbookTypes:[So],worksheetTypes:[No],rangeTypes:[Pi]}),hidden$:B(e,L.UNIVER_SHEET)}}function f_(e){return{id:Zu.name,commandId:Qt.id,type:z.BUTTON,title:`rightClick.cut`,icon:`CutIcon`,disabled$:$(e,{workbookTypes:[So,G],worksheetTypes:[No,K],rangeTypes:[Pi,U]}),hidden$:B(e,L.UNIVER_SHEET)}}function p_(e){return{id:Qu.name,commandId:Qu.id,type:z.BUTTON,title:`rightClick.paste`,icon:`PasteSpecialDoubleIcon`,disabled$:u_(e).pipe(xs($(e,{rangeTypes:[U],worksheetTypes:[K,Ho,Uo],workbookTypes:[G]})),ws(([e,t])=>e||t)),hidden$:B(e,L.UNIVER_SHEET)}}const m_=`sheet.menu.copy-special`;function h_(e){return{id:m_,type:z.SUBITEMS,icon:`CopyDoubleIcon`,title:`rightClick.copySpecial`,hidden$:$h(e,B(e,L.UNIVER_SHEET))}}const g_=`sheet.menu.paste-special`;function __(e){return{id:g_,type:z.SUBITEMS,icon:`PasteSpecialDoubleIcon`,title:`rightClick.pasteSpecial`,hidden$:$h(e,B(e,L.UNIVER_SHEET))}}function v_(e){return{id:ed.id,type:z.BUTTON,title:`rightClick.pasteValue`,disabled$:u_(e).pipe(xs($(e,{rangeTypes:[U],worksheetTypes:[Uo,K],workbookTypes:[G]})),ws(([e,t])=>e||t)),hidden$:B(e,L.UNIVER_SHEET)}}function y_(e){return{id:td.id,type:z.BUTTON,title:`rightClick.pasteFormat`,disabled$:u_(e).pipe(xs($(e,{rangeTypes:[U],worksheetTypes:[Ho,K],workbookTypes:[G]})),ws(([e,t])=>e||t)),hidden$:B(e,L.UNIVER_SHEET)}}function b_(e){return{id:nd.id,type:z.BUTTON,title:`rightClick.pasteColWidth`,disabled$:u_(e).pipe(xs($(e,{rangeTypes:[U],worksheetTypes:[Wo,K],workbookTypes:[G]})),ws(([e,t])=>e||t))}}function x_(e){return{id:rd.id,type:z.BUTTON,title:`rightClick.pasteBesidesBorder`,disabled$:u_(e).pipe(xs($(e,{rangeTypes:[U],worksheetTypes:[K,Ho,Uo,Go,Wo],workbookTypes:[G]})),ws(([e,t])=>e||t)),hidden$:B(e,L.UNIVER_SHEET)}}function S_(e){return{id:no.id,type:z.BUTTON,icon:`AutoHeightDoubleIcon`,title:`rightClick.fitContent`,disabled$:$(e,{workbookTypes:[G],worksheetTypes:[Go,K],rangeTypes:[U]}),hidden$:B(e,L.UNIVER_SHEET)}}function C_(e){return{id:Wf.id,type:z.BUTTON,icon:`AutoWidthDoubleIcon`,title:`rightClick.fitContent`,disabled$:$(e,{workbookTypes:[G],worksheetTypes:[Go,K],rangeTypes:[U]}),hidden$:B(e,L.UNIVER_SHEET)}}function w_(e){return{id:Sd.id,type:z.BUTTON,icon:`HideDoubleIcon`,title:`rightClick.hideSelectedRow`,disabled$:$(e,{workbookTypes:[G],worksheetTypes:[Go,K],rangeTypes:[U]}),hidden$:B(e,L.UNIVER_SHEET)}}function T_(e){return{id:Cd.id,type:z.BUTTON,icon:`HideDoubleIcon`,title:`rightClick.hideSelectedColumn`,disabled$:$(e,{workbookTypes:[G],worksheetTypes:[K,Wo],rangeTypes:[U]}),hidden$:B(e,L.UNIVER_SHEET)}}function E_(e){let t=e.get(P),n=e.get(W),r=e.get(N),i=[Aa,Ea,Da].map(e=>e.id);return{id:ka.id,type:z.BUTTON,icon:`EyeOutlineIcon`,title:`rightClick.showHideRow`,hidden$:Zh(t,!0,({worksheet:e})=>new _s(t=>{function a(){var t;let r=(t=n.getCurrentSelections())==null?void 0:t.map(e=>e.range).filter(e=>e.rangeType===I.ROW);return!!(r!=null&&r.some(t=>{for(let n=t.startRow;n<=t.endRow;n++)if(!e.getRowRawVisible(n))return!0;return!1}))}let o=r.onCommandExecuted(e=>{i.findIndex(t=>t===e.id)!==-1&&t.next(!a())});return t.next(!a()),()=>o.dispose()})),disabled$:$(e,{workbookTypes:[G],worksheetTypes:[K,Go],rangeTypes:[U]})}}function D_(e){let t=e.get(P),n=e.get(W),r=e.get(N),i=[Aa,la,ua].map(e=>e.id);return{id:Oa.id,type:z.BUTTON,icon:`EyeOutlineIcon`,title:`rightClick.showHideColumn`,hidden$:Zh(t,!0,({worksheet:e})=>new _s(t=>{function a(){var t;let r=(t=n.getCurrentSelections())==null?void 0:t.map(e=>e.range).filter(e=>e.rangeType===I.COLUMN);return!r||r.length===0?!1:!!r.some(t=>{for(let n=t.startColumn;n<=t.endColumn;n++)if(!e.getColVisible(n))return!0;return!1})}let o=r.onCommandExecuted(e=>{i.findIndex(t=>t===e.id)!==-1&&t.next(!a())});return t.next(!a()),()=>o.dispose()})),disabled$:$(e,{workbookTypes:[G],worksheetTypes:[Wo,K],rangeTypes:[U]})}}function O_(e){let t=e.get(N),n=e.get(P),r=e.get(W);return{id:wa.id,type:z.BUTTON,icon:`AdjustHeightDoubleIcon`,label:{name:Jh,props:{prefix:`rightClick.rowHeight`,suffix:`px`,min:2,max:1e3}},value$:Zh(n,2,({worksheet:e})=>new _s(n=>{function i(){var t;let i=(t=r.getCurrentLastSelection())==null?void 0:t.primary,a=i?e.getRowHeight(i.startRow):e.getConfig().defaultRowHeight;n.next(a)}let a=t.onCommandExecuted(e=>{let t=e.id;if(t===Sa.id||t===Aa.id||t===ro.id)return i()});return i(),a.dispose})),hidden$:$(e,{workbookTypes:[G],worksheetTypes:[K,Go],rangeTypes:[U]})}}function k_(e){let t=e.get(N),n=e.get(P),r=e.get(W);return{id:da.id,type:z.BUTTON,icon:`AdjustWidthDoubleIcon`,label:{name:Jh,props:{prefix:`rightClick.columnWidth`,suffix:`px`,min:2,max:1e3}},value$:Zh(n,2,({worksheet:e})=>new _s(n=>{function i(){var t;let i=(t=r.getCurrentLastSelection())==null?void 0:t.primary,a=i?e.getColumnWidth(i.startColumn):e.getConfig().defaultColumnWidth;n.next(a)}let a=t.onCommandExecuted(e=>{let t=e.id;if(t===Sa.id||t===Aa.id||t===Wa.id)return i()});return i(),a.dispose})),hidden$:$(e,{workbookTypes:[G],worksheetTypes:[K,Wo],rangeTypes:[U]})}}function A_(e){let t=$h(e,$(e,{workbookTypes:[G],worksheetTypes:[K,Uo,Ho],rangeTypes:[U]})),n=dh(e);return{id:Ar.id,icon:`MergeAllIcon`,tooltip:`toolbar.mergeCell.main`,type:z.SUBITEMS,hidden$:bs([B(e,L.UNIVER_SHEET),e.get(Fe).subscribeContextValue$(xe).pipe(Os(!1))]).pipe(ws(([e,t])=>e||t)),disabled$:t.pipe(xs(n),ws(([e,t])=>e||t))}}function j_(e){return{id:kr.id,type:z.BUTTON,title:`merge.all`,icon:`MergeAllIcon`,hidden$:B(e,L.UNIVER_SHEET)}}function M_(e){return{id:Nr.id,type:z.BUTTON,title:`merge.vertical`,icon:`VerticalIntegrationIcon`,hidden$:B(e,L.UNIVER_SHEET)}}function N_(e){return{id:jr.id,type:z.BUTTON,title:`merge.horizontal`,icon:`HorizontalMergeIcon`,hidden$:B(e,L.UNIVER_SHEET)}}function P_(e){return{id:qi.id,type:z.BUTTON,title:`merge.cancel`,icon:`CancelMergeIcon`,hidden$:B(e,L.UNIVER_SHEET)}}function F_(e){return bs([e.get(P).getCurrentTypeOfUnit$(L.UNIVER_SHEET),e.get(rt).currentUser$]).pipe(ks(([t,n])=>t?t.activeSheet$.pipe(ks(n=>{if(!n)return Es(!0);let r=e.get(Fi),i=e.get(Vo),a=e.get(W);return Ts(a.selectionMoveEnd$,r.ruleChange$,i.ruleChange$).pipe(ws(()=>{let e=t.getUnitId(),o=n.getSheetId(),s=r.getSubunitRuleList(e,o),c=a.getCurrentSelections(),l=c==null?void 0:c.map(e=>e.range),u=s.map(e=>e.ranges).flat();if(!l)return!1;let d=i.getRule(e,o);return d!=null&&d.permissionId?!0:l==null?void 0:l.some(e=>u.some(t=>Qe.intersects(e,t)))}))})):Es(!0)))}function I_(e){let t=e.get(P),n=e.get(Fi);return bs([t.getCurrentTypeOfUnit$(L.UNIVER_SHEET),e.get(rt).currentUser$]).pipe(ks(([t,r])=>t?t.activeSheet$.pipe(ks(r=>{if(!r)return Es(!0);let i=e.get(Fi),a=e.get(Vo),o=e.get(Le),s=e.get(W);return Ts(s.selectionMoveEnd$,i.ruleChange$,a.ruleChange$).pipe(ws(()=>{var i;let c=t.getUnitId(),l=r.getSheetId(),u=n.getSubunitRuleList(c,l),d=(i=s.getCurrentSelections())==null?void 0:i.map(e=>e.range);if(u.map(e=>e.ranges).flat(),!(d!=null&&d.length)||d.length>1)return!0;let f=d[0];if((f==null?void 0:f.rangeType)===I.ALL||(f==null?void 0:f.rangeType)===I.COLUMN||(f==null?void 0:f.rangeType)===I.ROW)return!0;let p=a.getRule(c,l);if(p!=null&&p.permissionId){var m;return((m=o.getPermissionPoint(new zo(c,l).id))==null?void 0:m.value)===!1}if(u.filter(e=>e.ranges.some(e=>Qe.intersects(e,f))).length!==1)return!0;let{startRow:h,endRow:g,startColumn:_,endColumn:v}=f,y=e.get(Ni);for(let e=h;e<=g;e++)for(let t=_;t<=v;t++){let n=y.getCellInfo(c,l,e,t);if(n)return n[vo.ManageCollaborator]===!1}return!1}))})):Es(!0)))}function L_(e){let t=e.get(P),n=e.get(Le);return bs([t.getCurrentTypeOfUnit$(L.UNIVER_SHEET),e.get(rt).currentUser$]).pipe(ks(([t,r])=>t?t.activeSheet$.pipe(ks(r=>{var i;if(!r)return Es(!0);let a=t.getUnitId(),o=e.get(W),s=e.get(Fi),c=e.get(Vo);return bs([(i=n.composePermission$([new G(a).id]).pipe(ws(e=>e.every(e=>e.value))))==null?Es(!1):i,Ts(s.ruleChange$,c.ruleChange$).pipe(Os(null)),o.selectionMoveEnd$]).pipe(ws(([e,t,n])=>{if(!e)return!0;let r=o.getCurrentSelections(),i=r==null?void 0:r.map(e=>e.range);return i!=null&&i.length?i.length>1:!1}))})):Es(!0)))}function R_(e){var t;let n=e.get(P),r=e.get(Le),i=n.getCurrentTypeOfUnit$(L.UNIVER_SHEET),a=e.get(rt),o=e.has(Kf)?e.get(Kf):null,s=e.get(Fe).subscribeContextValue$(Te).pipe(Os(!1),Ds(1)),c=(t=o==null?void 0:o.visible$.pipe(Os(null),Ds(1)))==null?Es(null):t;return bs([i,a.currentUser$,c,s]).pipe(ks(([t,n,i,a])=>!t||i!=null&&i.visible&&i.unitId===t.getUnitId()||a?Es(!0):t.activeSheet$.pipe(ks(n=>{var i;if(!n)return Es(!0);let a=e.get(Fe).subscribeContextValue$(xe).pipe(Os(!1)),o=t.getUnitId(),s=n.getSheetId(),c=e.get(Fi),l=e.get(Vo),u=e.get(W);return bs([(i=r.composePermission$([new Co(o).id]).pipe(ws(e=>e.every(e=>e.value))))==null?Es(!1):i,Ts(c.ruleChange$,l.ruleChange$).pipe(Os(null)),u.selectionMoveEnd$,a]).pipe(ws(([e,t,n,r])=>{if(!e||r)return!0;let i=u.getCurrentSelections(),a=i==null?void 0:i.map(e=>e.range);if(!(a!=null&&a.length))return!0;let d=l.getRule(o,s);if(d!=null&&d.permissionId)return!0;let f=c.getSubunitRuleList(o,s);return a==null?void 0:a.some(e=>f.some(t=>t.ranges.some(t=>Qe.intersects(e,t))))}))}))))}function z_(e){let t=e.get(P),n=e.get(Le);return bs([t.getCurrentTypeOfUnit$(L.UNIVER_SHEET),e.get(rt).currentUser$]).pipe(ks(([t,r])=>t?t.activeSheet$.pipe(ks(r=>{var i;if(!r)return Es(!0);let a=t.getUnitId(),o=r.getSheetId(),s=e.get(Fi),c=e.get(Vo);return bs([(i=n.composePermission$([new Co(a).id]).pipe(ws(e=>e.every(e=>e.value))))==null?Es(!1):i,Ts(s.ruleChange$,c.ruleChange$).pipe(Os(null))]).pipe(ws(([e,t])=>{var n;if(!e)return!0;let r=c.getRule(a,o);return r!=null&&r.permissionId?!0:((n=s.getSubunitRuleList(a,o))==null?void 0:n.filter(e=>e==null?void 0:e.permissionId)).length>0}))})):Es(!0)))}function B_(e){let t=e.get(P),n=e.get(Le);return bs([t.getCurrentTypeOfUnit$(L.UNIVER_SHEET),e.get(rt).currentUser$]).pipe(ks(([t,r])=>t?t.activeSheet$.pipe(ks(r=>{if(!r)return Es(!0);let i=t.getUnitId(),a=r.getSheetId(),o=e.get(Vo);return o.ruleChange$.pipe(Os(null)).pipe(ws(()=>{if(o.getRule(i,a)){var e;return((e=n.getPermissionPoint(new Fo(i,a).id))==null?void 0:e.value)===!1}return!0}))})):Es(!0)))}function V_(e){let t=e.get(P),n=e.get(Le);return bs([t.getCurrentTypeOfUnit$(L.UNIVER_SHEET),e.get(rt).currentUser$]).pipe(ks(([t,r])=>t?t.activeSheet$.pipe(ks(r=>{var i;if(!r)return Es(!0);let a=t.getUnitId(),o=e.get(Fi),s=e.get(Vo);return bs([(i=n.composePermission$([new Co(a).id,new jo(a).id]).pipe(ws(e=>e.every(e=>e.value))))==null?Es(!1):i,s.ruleChange$.pipe(Os(null)),o.ruleChange$.pipe(Os(null))]).pipe(ws(([e,t,n])=>{if(!e)return!0;let i=r.getSheetId(),c=s.getRule(a,i),l=o.getSubunitRuleList(a,i);return!(c||l.length)}))})):Es(!0)))}function H_(e){let t=e.get(P),n=e.get(Le);return bs([t.getCurrentTypeOfUnit$(L.UNIVER_SHEET),e.get(rt).currentUser$]).pipe(ks(([t,r])=>t?t.activeSheet$.pipe(ks(r=>{if(!r)return Es(!0);let i=t.getUnitId(),a=r.getSheetId(),o=e.get(W),s=e.get(Fi),c=e.get(Vo);return bs([Ts(s.ruleChange$,c.ruleChange$,o.selectionMoveEnd$).pipe(Os(null))]).pipe(ws(([t])=>{let r=e.get(W).getCurrentSelections(),o=r==null?void 0:r.map(e=>e.range);if(!(o!=null&&o.length)||o.length>1)return!0;let l=o[0];if((l==null?void 0:l.rangeType)===I.ALL||(l==null?void 0:l.rangeType)===I.COLUMN||(l==null?void 0:l.rangeType)===I.ROW)return!0;let u=c.getRule(i,a);if(u!=null&&u.permissionId){var d;return((d=n.getPermissionPoint(new Fo(i,a).id))==null?void 0:d.value)===!1}if(s.getSubunitRuleList(i,a).filter(e=>e.ranges.some(e=>Qe.intersects(e,l))).length!==1)return!0;let{startRow:f,endRow:p,startColumn:m,endColumn:h}=l,g=e.get(Ni);for(let e=f;e<=p;e++)for(let t=m;t<=h;t++){let n=g.getCellInfo(i,a,e,t);if(n)return n[vo.Delete]===!1}return!1}))})):Es(!0)))}function U_(e){var t;let n=e.get(P),r=e.get(Le),i=n.getCurrentTypeOfUnit$(L.UNIVER_SHEET),a=e.get(rt),o=e.has(Kf)?e.get(Kf):null,s=e.get(Fe).subscribeContextValue$(Te),c=(t=o==null?void 0:o.visible$)==null?Es(null):t;return bs([i,a.currentUser$,c,s]).pipe(ks(([e,t,n,i])=>!e||n!=null&&n.visible&&n.unitId===e.getUnitId()||i?Es(!0):e.activeSheet$.pipe(ks(t=>{var n,i;if(!t)return Es(!0);let a=e.getUnitId();return((n=(i=r.getPermissionPoint$(new G(a).id))==null?void 0:i.pipe(ws(e=>!!e.value)))==null?Es(!1):n).pipe(ws(e=>!e))}))))}const W_=`sheet.contextMenu.permission`;function G_(e){return{id:$d.id,type:z.BUTTON,icon:qd,tooltip:`permission.toolbarMenu`,hidden$:B(e,L.UNIVER_SHEET),disabled$:R_(e)}}function K_(e){return{id:W_,type:z.SUBITEMS,title:`rightClick.protectRange`,icon:Jd,hidden$:B(e,L.UNIVER_SHEET)}}function q_(e){return{id:ef.id,type:z.BUTTON,title:`rightClick.turnOnProtectRange`,hidden$:F_(e),disabled$:R_(e)}}function J_(e){return{id:of.id,type:z.BUTTON,title:`rightClick.editProtectRange`,disabled$:L_(e),hidden$:I_(e)}}function Y_(e){return{id:af.id,type:z.BUTTON,title:`rightClick.removeProtectRange`,disabled$:H_(e),hidden$:B(e,L.UNIVER_SHEET)}}function X_(e){return{id:tf.id,type:z.BUTTON,title:`rightClick.viewAllProtectArea`,disabled$:U_(e),hidden$:B(e,L.UNIVER_SHEET)}}function Z_(e){return{id:nf.id,type:z.BUTTON,title:`sheetConfig.addProtectSheet`,disabled$:z_(e),hidden$:B(e,L.UNIVER_SHEET)}}function Q_(e){return{id:ep.id,type:z.BUTTON,title:`sheetConfig.removeProtectSheet`,disabled$:B_(e),hidden$:B(e,L.UNIVER_SHEET)}}function $_(e){return{id:tp.id,type:z.BUTTON,title:`sheetConfig.changeSheetPermission`,disabled$:V_(e),hidden$:B(e,L.UNIVER_SHEET)}}function ev(e){return{id:rf.id,type:z.BUTTON,title:`sheetConfig.viewAllProtectArea`,disabled$:U_(e),hidden$:B(e,L.UNIVER_SHEET)}}function tv(e){let t=e.get(P),n=e.get(N),r=new _s(e=>{let r=n.onCommandExecuted(n=>{let r=n.id;(r===Ki.id||r===xi.id||r===qa.id)&&sv(t,e)});return sv(t,e),r.dispose}),i=ig(e,[G,Do]);return{id:lf.id,type:z.BUTTON,title:`sheetConfig.delete`,disabled$:bs([r,i]).pipe(ws(([e,t])=>e||t)),hidden$:B(e,L.UNIVER_SHEET)}}function nv(e){return{id:qr.id,type:z.BUTTON,title:`sheetConfig.copy`,disabled$:ig(e,[G,wo]),hidden$:B(e,L.UNIVER_SHEET)}}function rv(e){return{id:lp.id,type:z.BUTTON,title:`sheetConfig.rename`,disabled$:ig(e,[G,Mo]),hidden$:B(e,L.UNIVER_SHEET)}}function iv(e){return{id:Fa.id,title:`sheetConfig.changeColor`,type:z.SELECTOR,selections:[{label:{name:Kt,hoverable:!1,selectable:!1}}],hidden$:ig(e,[G])}}function av(e){let t=e.get(P),n=e.get(N);return{id:Ka.id,type:z.BUTTON,title:`sheetConfig.hide`,disabled$:new _s(e=>{let r=n.onCommandExecuted(n=>{let r=n.id;(r===Ki.id||r===xi.id||r===qa.id)&&sv(t,e)});return sv(t,e),r.dispose}).pipe(xs(ig(e,[G,Oo])),ws(([e,t])=>e||t)),hidden$:B(e,L.UNIVER_SHEET)}}function ov(e){let t=e.get(P),n=e.get(N);return{id:$f.id,type:z.BUTTON,title:`sheetConfig.unhide`,disabled$:new _s(e=>{function r(){let n=t.getCurrentUnitForType(L.UNIVER_SHEET).getWorksheets(),r=Array.from(n.values());e.next(r.length===1)}let i=n.onCommandExecuted(e=>{let t=e.id;(t===Ki.id||t===xi.id||t===qa.id)&&r()});return r(),i.dispose}).pipe(xs(ig(e,[G,Oo])),ws(([e,t])=>e||t)),hidden$:B(e,L.UNIVER_SHEET)}}function sv(e,t){let n=e.getCurrentUnitForType(L.UNIVER_SHEET).getWorksheets(),r=Array.from(n.values()).filter(e=>e.getConfig().hidden===ne.FALSE);t.next(r.length===1)}const cv=e=>{var t;let n=e.get(W),r=(t=e.get(P).getCurrentUnitOfType(L.UNIVER_SHEET))==null?void 0:t.getActiveSheet();return new _s(e=>{let t=t=>{if(!r||!t||t.length===0)return e.next(!0);for(let a=0;a<t.length;a++){let{range:o}=t[a];for(let t=o.startRow;t<=o.endRow;t++)for(let a=o.startColumn;a<=o.endColumn;a++){var n,i;let o=r.getCellRaw(t,a),s=typeof(o==null?void 0:o.s)==`string`?(n=r.getStyleDataByHash(o.s))==null||(n=n.n)==null?void 0:n.pattern:o==null||(i=o.s)==null||(i=i.n)==null?void 0:i.pattern;if(o&&o.v&&(o.t!==ie.NUMBER||Ot(s))&&Dt(o.v))return e.next(!1)}}e.next(!0)},i=n.selectionChanged$.subscribe(n=>{if(!n||n.length===0)return e.next(!0);t(n)});return t(n.getCurrentSelections()),()=>i.unsubscribe()})},lv=`sheet.toolbar.text-to-number`;function uv(e){return{id:lv,commandId:mo.id,type:z.BUTTON,title:`toolbar.textToNumber`,disabled$:$h(e,$(e,{workbookTypes:[G],worksheetTypes:[K,Uo],rangeTypes:[U]})),hidden$:B(e,L.UNIVER_SHEET)}}const dv=`sheet.contextMenu.text-to-number`;function fv(e){return{id:dv,commandId:mo.id,type:z.BUTTON,title:`rightClick.textToNumber`,icon:`PipingIcon`,disabled$:$h(e,$(e,{workbookTypes:[G],worksheetTypes:[K,Uo],rangeTypes:[U]})),hidden$:bs([B(e,L.UNIVER_SHEET),cv(e)]).pipe(ws(([e,t])=>e||t))}}const pv={[Dn.START]:{[On.HISTORY]:{[hf.id]:{order:2,menuItemFactory:Kg},[Wr.id]:{order:3,menuItemFactory:ug}},[On.FORMAT]:{[Pd.id]:{order:1,menuItemFactory:Zg},[jd.id]:{order:2,menuItemFactory:vg},[Md.id]:{order:2.1,menuItemFactory:yg},[Nd.id]:{order:2.2,menuItemFactory:bg},[Td.id]:{order:5,menuItemFactory:qg},[Ed.id]:{order:6,menuItemFactory:Jg},[Dd.id]:{order:7,menuItemFactory:Yg},[Od.id]:{order:8,menuItemFactory:Xg},[Fd.id]:{order:9,menuItemFactory:$g,[Xi.id]:{order:0,menuItemFactory:Qg}},[ia.id]:{order:10,menuItemFactory:t_,[Yi.id]:{order:0,menuItemFactory:e_}},[oa.id]:{order:11,menuItemFactory:ag}},[On.LAYOUT]:{[va.id]:{order:0,menuItemFactory:r_},[Va.id]:{order:3,menuItemFactory:a_},[za.id]:{order:6,menuItemFactory:s_},[Ra.id]:{order:7,menuItemFactory:l_},[Ar.id]:{order:8,menuItemFactory:A_,[kr.id]:{order:0,menuItemFactory:j_},[Nr.id]:{order:1,menuItemFactory:M_},[jr.id]:{order:2,menuItemFactory:N_},[qi.id]:{order:3,menuItemFactory:P_}}},[On.OTHERS]:{[$d.id]:{order:0,menuItemFactory:G_}}},[Dn.DATA]:{[En.OTHERS]:{[lv]:{order:0,menuItemFactory:uv}}},[Xt.MAIN_AREA]:{[Yt.QUICK]:{quickLayout:`tile`,[Xu.name]:{order:0,menuItemFactory:d_},[Zu.name]:{order:1,menuItemFactory:f_},[Qu.name]:{order:2,menuItemFactory:p_}},[Yt.FORMAT]:{[m_]:{order:0,menuItemFactory:h_},[g_]:{order:1,menuItemFactory:__,[ed.id]:{order:0,menuItemFactory:v_},[td.id]:{order:1,menuItemFactory:y_},[nd.id]:{order:2,menuItemFactory:b_},[rd.id]:{order:3,menuItemFactory:x_}},[og]:{order:2,menuItemFactory:sg,[Gr.id]:{order:0,menuItemFactory:cg},[Kr.id]:{order:1,menuItemFactory:lg},[Wr.id]:{order:2,menuItemFactory:ug}},[dv]:{order:3,menuItemFactory:fv}},[Yt.LAYOUT]:{order:1,[Fg]:{order:0,menuItemFactory:Ig,[_i.id]:{order:0,menuItemFactory:Lg},[si.id]:{order:1,menuItemFactory:Rg},[Rd.id]:{order:2,menuItemFactory:zg},[Ld.id]:{order:3,menuItemFactory:Bg}},[dg]:{order:0,menuItemFactory:fg,[cf.id]:{order:0,menuItemFactory:pg},[sf.id]:{order:1,menuItemFactory:mg},[ad.id]:{order:2,menuItemFactory:hg},[od.id]:{order:3,menuItemFactory:gg}},[Sg]:{order:2,menuItemFactory:Cg,[yf.id]:{order:0,menuItemFactory:Og},[bf.id]:{order:1,menuItemFactory:kg},[xf.id]:{order:2,menuItemFactory:Ag},[Sf.id]:{order:3,menuItemFactory:jg},[Cf.id]:{order:4,menuItemFactory:Mg},[Hr.id]:{order:5,menuItemFactory:Ng}},[W_]:{order:3,menuItemFactory:K_,[ef.id]:{order:0,menuItemFactory:q_},[of.id]:{order:1,menuItemFactory:J_},[af.id]:{order:2,menuItemFactory:Y_},[tf.id]:{order:3,menuItemFactory:X_}}},[Yt.DATA]:{order:2},[Yt.OTHERS]:{order:3}},[Xt.COL_HEADER]:{[Yt.QUICK]:{quickLayout:`tile`,[Xu.name]:{order:0,menuItemFactory:d_},[Zu.name]:{order:1,menuItemFactory:f_},[Qu.name]:{order:2,menuItemFactory:p_}},[Yt.FORMAT]:{[m_]:{order:0,menuItemFactory:h_},[g_]:{order:1,menuItemFactory:__,[ed.id]:{order:0,menuItemFactory:v_},[td.id]:{order:1,menuItemFactory:y_},[nd.id]:{order:2,menuItemFactory:b_},[rd.id]:{order:3,menuItemFactory:x_}},[og]:{order:2,menuItemFactory:sg,[Gr.id]:{order:0,menuItemFactory:cg},[Kr.id]:{order:1,menuItemFactory:lg},[Wr.id]:{order:2,menuItemFactory:ug}},[dv]:{order:3,menuItemFactory:fv}},[Yt.LAYOUT]:{order:1,[di.id]:{order:0,menuItemFactory:Ug},[fi.id]:{order:0,menuItemFactory:Wg},[Cd.id]:{order:1,menuItemFactory:T_},[Oa.id]:{order:2,menuItemFactory:D_},[cf.id]:{order:2,menuItemFactory:pg},[da.id]:{order:3,menuItemFactory:k_},[Wf.id]:{order:4,menuItemFactory:C_},[wg]:{order:5,menuItemFactory:Tg,[xf.id]:{order:2,menuItemFactory:Ag},[Cf.id]:{order:4,menuItemFactory:Mg},[Hr.id]:{order:5,menuItemFactory:Ng}},[W_]:{order:6,menuItemFactory:K_,[ef.id]:{order:0,menuItemFactory:q_},[of.id]:{order:1,menuItemFactory:J_},[af.id]:{order:2,menuItemFactory:Y_},[tf.id]:{order:3,menuItemFactory:X_}}},[Yt.DATA]:{order:2},[Yt.OTHERS]:{order:3}},[Xt.ROW_HEADER]:{[Yt.QUICK]:{quickLayout:`tile`,[Xu.name]:{order:0,menuItemFactory:d_},[Zu.name]:{order:1,menuItemFactory:f_},[Qu.name]:{order:2,menuItemFactory:p_}},[Yt.FORMAT]:{[m_]:{order:0,menuItemFactory:h_},[g_]:{order:1,menuItemFactory:__,[ed.id]:{order:0,menuItemFactory:v_},[td.id]:{order:1,menuItemFactory:y_},[nd.id]:{order:2,menuItemFactory:b_},[rd.id]:{order:3,menuItemFactory:x_}},[og]:{order:2,menuItemFactory:sg,[Gr.id]:{order:0,menuItemFactory:cg},[Kr.id]:{order:1,menuItemFactory:lg},[Wr.id]:{order:2,menuItemFactory:ug}},[dv]:{order:3,menuItemFactory:fv}},[Yt.LAYOUT]:{order:1,[pi.id]:{order:0,menuItemFactory:Hg},[mi.id]:{order:1,menuItemFactory:Vg},[sf.id]:{order:1,menuItemFactory:mg},[Sd.id]:{order:2,menuItemFactory:w_},[ka.id]:{order:2,menuItemFactory:E_},[wa.id]:{order:3,menuItemFactory:O_},[no.id]:{order:4,menuItemFactory:S_},[Eg]:{order:5,menuItemFactory:Dg,[bf.id]:{order:1,menuItemFactory:kg},[Sf.id]:{order:3,menuItemFactory:jg},[Hr.id]:{order:5,menuItemFactory:Ng}},[W_]:{order:6,menuItemFactory:K_,[ef.id]:{order:0,menuItemFactory:q_},[of.id]:{order:1,menuItemFactory:J_},[af.id]:{order:2,menuItemFactory:Y_},[tf.id]:{order:3,menuItemFactory:X_}}},[Yt.DATA]:{order:2},[Yt.OTHERS]:{order:3}},[Xt.FOOTER_TABS]:{[Yt.OTHERS]:{order:0,[lf.id]:{order:0,menuItemFactory:tv},[qr.id]:{order:1,menuItemFactory:nv},[lp.id]:{order:2,menuItemFactory:rv},[Fa.id]:{order:3,menuItemFactory:iv},[Ka.id]:{order:4,menuItemFactory:av},[$f.id]:{order:6,menuItemFactory:ov},[nf.id]:{order:7,menuItemFactory:Z_},[ep.id]:{order:8,menuItemFactory:Q_},[tp.id]:{order:9,menuItemFactory:$_},[rf.id]:{order:10,menuItemFactory:ev}}},[Xt.FOOTER_MENU]:{[Yt.OTHERS]:{[go.id]:{order:1,menuItemFactory:Pg}}}},mv=`sheets.component.cell-popup`;let hv=class extends M{constructor(e,t,n,r,i,a,o){super(),this._globalPopupManagerService=e,this._renderManagerService=t,this._univerInstanceService=n,this._refRangeService=r,this._commandService=i,this._refSelectionsService=a,this._selectionManagerService=o,X(this,`_popupMenuFeatureMap`,new Map),X(this,`_popupMenuOffsetMap`,new Map),X(this,`_isSelectionMoving`,!1),this._initMoving()}_initMoving(){this.disposeWithMe(this._refSelectionsService.selectionMoving$.subscribe(()=>{this._isSelectionMoving=!0})),this.disposeWithMe(this._refSelectionsService.selectionMoveEnd$.subscribe(()=>{this._isSelectionMoving=!1})),this.disposeWithMe(this._selectionManagerService.selectionMoving$.subscribe(()=>{this._isSelectionMoving=!0})),this.disposeWithMe(this._selectionManagerService.selectionMoveEnd$.subscribe(()=>{this._isSelectionMoving=!1}))}registerFeatureMenu(e,t){this._popupMenuFeatureMap.set(e,t)}registerFeatureMenuOffset(e,t,n){this._popupMenuOffsetMap.set(e,{offsetX:t,offsetY:n})}getFeatureMenu(e,t,n,r){let i=this._popupMenuFeatureMap.get(r);if(i)return i(e,t,n,r)}dispose(){super.dispose(),this._popupMenuFeatureMap.clear(),this._popupMenuOffsetMap.clear()}_createHiddenRectObserver(e){let{row:t,column:n,worksheet:r,skeleton:i,currentRender:a}=e,o=()=>{var e,o;let{startRow:s,startColumn:c,xSplit:l,ySplit:u}=r.getFreeze(),d=s-u,f=c-l,{rowHeightAccumulation:p,columnWidthAccumulation:m,rowHeaderWidth:h,columnHeaderHeight:g}=i,_=h+(f===-1?0:m[f+l-1]-((e=m[f-1])==null?0:e)),v=g+(d===-1?0:p[d+u-1]-((o=p[d])==null?0:o)),y=a.engine.getCanvasElement(),b=y.getBoundingClientRect(),x=gv(y.style.width),S=b.width/x,C=a.scene.getAncestorScale().scaleX,w=_*S*C,T=v*S*C,E={left:-1/0,top:-1/0,right:b.left+w,bottom:b.top+T},D={left:b.left+w,top:-1/0,right:1/0,bottom:b.top+T},O={left:-1/0,top:b.top+T,right:b.left+w,bottom:1/0},ee=[];return t<s&&ee.push(E),n<c&&ee.push(O),t<s&&n<c?[]:t<s||n<c?[E]:[E,D,O]},s=new hs(o()),c=new ge;return c.add(this._commandService.onCommandExecuted(e=>{e.id===ga.id&&s.next(o())})),c.add(vt(a.engine.onTransformChange$).pipe(js(16)).subscribe(()=>{s.next(o())})),{rects$:s,disposable:c}}_createPositionObserver(e,t,n,r){let i=()=>{let{scene:i}=t,a=yp(e,i,n,r),o=t.engine.getCanvasElement(),s=o.getBoundingClientRect(),c=gv(o.style.width),l=s.width/c;return{left:a.left*l+s.left,right:a.right*l+s.left,top:a.top*l+s.top,bottom:a.bottom*l+s.top}},a=i(),o=new hs(a),s=new ge;return s.add(this._commandService.onCommandExecuted(e=>{vv(e.id)&&o.next(i())})),{position:a,position$:o,disposable:s}}attachPopupToObject(e,t){var n;let r=this._univerInstanceService.getCurrentUnitForType(L.UNIVER_SHEET),i=r.getActiveSheet();if(!i||this._isSelectionMoving&&!t.showOnSelectionMoving)return{dispose:()=>{},canDispose:()=>!0};let a=r.getUnitId(),o=i.getSheetId(),s=(n=this._renderManagerService.getRenderById(a))==null?void 0:n.with(Vl).ensureSkeleton(o),c=this._renderManagerService.getRenderById(a);if(!c||!s)return{dispose:()=>{},canDispose:()=>!0};let{left:l,top:u,width:d,height:f}=e,p=0,m=0,h;if(e.classType===Qn.SHAPE&&(h=e.getPropByKey(`drawingType`)),h!==void 0&&this._popupMenuOffsetMap.has(h)){let e=this._popupMenuOffsetMap.get(h);p=e.offsetX,m=e.offsetY}let g={left:l,right:l+d+p,top:u+m,bottom:u+f},{position:_,position$:v,disposable:y}=this._createPositionObserver(g,c,s,i),b=this._globalPopupManagerService.addPopup({...t,unitId:a,subUnitId:o,anchorRect:_,anchorRect$:v,canvasElement:c.engine.getCanvasElement()});return{dispose:()=>{this._globalPopupManagerService.removePopup(b),v.complete(),y.dispose()},canDispose:()=>this._globalPopupManagerService.activePopupId!==b}}attachPopupByPosition(e,t,n){var r;let i=this._univerInstanceService.getCurrentUnitForType(L.UNIVER_SHEET),a=i.getActiveSheet();if(!a)return null;let o=i.getUnitId(),s=a.getSheetId();if(o!==n.unitId||n.subUnitId!==s)return null;if(this._isSelectionMoving&&!t.showOnSelectionMoving)return;let c=(r=this._renderManagerService.getRenderById(o))==null?void 0:r.with(Vl).ensureSkeleton(s),l=this._renderManagerService.getRenderById(o);if(!l||!c)return null;let{position:u,position$:d,disposable:f}=this._createPositionObserver(e,l,c,a),{rects$:p,disposable:m}=this._createHiddenRectObserver({row:n.row,column:n.col,worksheet:a,skeleton:c,currentRender:l}),h=this._globalPopupManagerService.addPopup({...t,unitId:o,subUnitId:s,anchorRect:u,anchorRect$:d,hiddenRects$:p,canvasElement:l.engine.getCanvasElement()});return{dispose:()=>{this._globalPopupManagerService.removePopup(h),d.complete(),f.dispose(),m.dispose(),i=null,a=null},canDispose:()=>this._globalPopupManagerService.activePopupId!==h}}attachPopupToAbsolutePosition(e,t,n,r){var i;let a=this._univerInstanceService.getCurrentUnitForType(L.UNIVER_SHEET),o=a.getActiveSheet();if(!o)return null;let s=a.getUnitId(),c=o.getSheetId();if(n&&s!==n||r&&r!==c)return null;let l=(i=this._renderManagerService.getRenderById(s))==null?void 0:i.with(Vl).ensureSkeleton(c),u=this._renderManagerService.getRenderById(s);if(!u||!l)return null;if(this._isSelectionMoving&&!t.showOnSelectionMoving)return;let d=new hs(e),f=this._globalPopupManagerService.addPopup({...t,unitId:s,subUnitId:c,anchorRect:e,anchorRect$:d.asObservable(),canvasElement:u.engine.getCanvasElement()});return{dispose:()=>{this._globalPopupManagerService.removePopup(f),d.complete()},canDispose:()=>this._globalPopupManagerService.activePopupId!==f}}attachPopupToCell(e,t,n,r,i,a){let o=r?this._univerInstanceService.getUnit(r):this._univerInstanceService.getCurrentUnitOfType(L.UNIVER_SHEET);if(!o)return null;let s=i?o.getSheetBySheetId(i):o.getActiveSheet();if(!s)return null;let c=o.getUnitId(),l=s.getSheetId(),u=this._renderManagerService.getRenderById(c),d=u==null?void 0:u.with(Vl).ensureSkeleton(l),f=u==null?void 0:u.with(Il);if(!u||!d||!f)return null;if(this._isSelectionMoving&&!n.showOnSelectionMoving)return;let p=a==null?vp(e,t,u.scene,s):a;if(!p)return null;let{position:m,position$:h,disposable:g,updateRowCol:_}=this._createCellPositionObserver(e,t,u,d,p),{rects$:v,disposable:y}=this._createHiddenRectObserver({row:e,column:t,worksheet:s,skeleton:d,currentRender:u}),b=this._globalPopupManagerService.addPopup({...n,unitId:c,subUnitId:l,anchorRect:m,anchorRect$:h,canvasElement:u.engine.getCanvasElement(),hiddenRects$:v}),x=new ge;x.add(g),x.add(Vt(()=>{this._globalPopupManagerService.removePopup(b),h.complete()})),x.add(y);let S={startRow:e,endRow:e,startColumn:t,endColumn:t};return x.add(this._refRangeService.watchRange(c,l,S,(e,t)=>{t?_(t.startRow,t.startColumn):x.dispose()})),{dispose(){x.dispose(),s=null,o=null},canDispose:()=>this._globalPopupManagerService.activePopupId!==b}}attachRangePopup(e,t,n,r,i,a=!1){let o=this._univerInstanceService.getCurrentUnitForType(L.UNIVER_SHEET),s=o.getActiveSheet();if(!s)return null;let c=o.getUnitId(),l=s.getSheetId();if(n&&c!==n||r&&l!==r)return null;let u=this._renderManagerService.getRenderById(c),d=u==null?void 0:u.with(Vl).ensureSkeleton(l),f=u==null?void 0:u.with(Il);if(!u||!d||!f)return null;if(f.selectionMoving&&!a)return;let p=i==null?vp(e.startRow,e.startColumn,u.scene,s):i;if(!p)return null;let{position:m,position$:h,disposable:g,updateRange:_,topLeftPos$:v,rightBottomPos$:y}=this._createRangePositionObserver(e,u,d,p),{rects$:b,disposable:x}=this._createHiddenRectObserver({row:e.startRow,column:e.startColumn,worksheet:s,skeleton:d,currentRender:u}),S=this._globalPopupManagerService.addPopup({...t,unitId:c,subUnitId:l,anchorRect:m,anchorRect$:h,canvasElement:u.engine.getCanvasElement(),hiddenRects$:b}),C=new ge;C.add(g),C.add(Vt(()=>{this._globalPopupManagerService.removePopup(S),v.complete(),y.complete()})),C.add(x);let w={...e};return C.add(this._refRangeService.watchRange(c,l,w,(e,t)=>{t?_(t):C.dispose()})),{dispose(){C.dispose()},canDispose:()=>this._globalPopupManagerService.activePopupId!==S}}_createCellPositionObserver(e,t,n,r,i){let a=e,o=t,s=this._calcCellPositionByCell(a,o,n,r,i),c=new hs(s),l=()=>c.next(this._calcCellPositionByCell(a,o,n,r,i)),u=new ge;return u.add(n.engine.clientRect$.subscribe(()=>l())),u.add(vt(n.engine.onTransformChange$).pipe(js(16)).subscribe(()=>l())),u.add(this._commandService.onCommandExecuted(e=>{if(e.id===$a.id&&e.params.rowsAutoHeightInfo.findIndex(e=>e.row===a)>-1){l();return}vv(e.id)&&l()})),{position$:c,disposable:u,position:s,updateRowCol:(e,t)=>{a=e,o=t,l()}}}_calcCellPositionByCell(e,t,n,r,i){let{scene:a,engine:o}=n;if(r._disposed||a._disposed)return{left:0,right:0,top:0,bottom:0};let s=r.getCellWithCoordByIndex(e,t),c=s.isMergedMainCell?s.mergeInfo:s,{scaleX:l,scaleY:u}=a.getAncestorScale(),d={x:i.viewportScrollX,y:i.viewportScrollY},f=o.getCanvasElement();if(!f)return{left:0,right:0,top:0,bottom:0};let p=f.getBoundingClientRect(),m=gv(f.style.width),{top:h,left:g,width:_}=p,v=_/m;return{left:(c.startX-d.x)*v*l+g,right:(c.endX-d.x)*v*l+g,top:(c.startY-d.y)*v*u+h,bottom:(c.endY-d.y)*v*u+h}}_createRangePositionObserver(e,t,n,r){let{startRow:i,startColumn:a,endRow:o,endColumn:s}=e,c=this._calcCellPositionByCell(i,a,t,n,r),l=new hs(c),u=this._calcCellPositionByCell(o,s,t,n,r),d=new hs(u),f=()=>{let e=this._calcCellPositionByCell(i,a,t,n,r),c=this._calcCellPositionByCell(o,s,t,n,r);l.next(e),d.next(c)},p=new ge;return p.add(t.engine.clientRect$.subscribe(()=>f())),p.add(this._commandService.onCommandExecuted(e=>{if(e.id===$a.id&&e.params.rowsAutoHeightInfo.findIndex(e=>e.row===i)>-1){f();return}vv(e.id)&&f()})),{position$:l.pipe(ws(e=>{let i=this._calcCellPositionByCell(o,s,t,n,r);return{top:e.top,left:e.left,right:i.right,bottom:i.bottom}})),position:{top:c.top,left:c.left,right:u.right,bottom:u.bottom},updateRange:e=>{i=e.startRow,a=e.startColumn,o=e.endRow,s=e.endColumn,f()},topLeftPos$:l,rightBottomPos$:d,disposable:p}}};hv=Q([Z(0,F(un)),Z(1,Xn),Z(2,P),Z(3,F(Ii)),Z(4,N),Z(5,oi),Z(6,F(W))],hv);function gv(e){return Number.parseInt(e.replace(`px`,``))}const _v=new Set([Lf.id,Jf.id,Aa.id]);function vv(e){return _v.has(e)||Br.includes(e)}let yv=class extends M{constructor(e){super(),this._sheetCanvasPopManagerService=e,X(this,`_cellPopupMap`,new Map),X(this,`_change$`,new vs),X(this,`change$`,this._change$.asObservable())}_ensureCellPopupMap(e,t){let n=this._cellPopupMap.get(e);n||(n=new Map,this._cellPopupMap.set(e,n));let r=n.get(t);return r||(r=new Ke,n.set(t,r)),r}showPopup(e,t){var n,r;let{direction:i=`horizontal`}=t,{unitId:a,subUnitId:o,row:s,col:c}=e,l=this._ensureCellPopupMap(a,o),u=(n=l.getValue(s,c))==null?void 0:n[i];t.id=(r=t.id)==null?yt():r;let d=()=>{let n=l.getValue(s,c);if(!n)return;let r=n[i];if(!r)return;let a=r==null?void 0:r.popups.findIndex(e=>e.id===t.id&&e.componentKey===t.componentKey);if(r==null||r.popups.splice(a,1),r.popups.length===0){var o;(o=r.disposable)==null||o.dispose(),n[i]=void 0}this._change$.next({...e,direction:i})};if(u)u.popups.push(t),u.popups.sort((e,t)=>e.priority-t.priority);else{let n=this._sheetCanvasPopManagerService.attachPopupToCell(s,c,{...t,direction:i,componentKey:mv,extraProps:{...e,direction:i},noPushMinimumGap:!0,autoRelayout:!1,zIndex:90},a,o);l.setValue(s,c,{...l.getValue(s,c),[i]:{disposable:n,popups:[t]}})}return this._change$.next({...e,direction:i}),Vt(d)}getPopups(e,t,n,r,i){var a;return((a=this._ensureCellPopupMap(e,t).getValue(n,r))==null||(a=a[i])==null?void 0:a.popups)||[]}hidePopup(e,t,n,r){let i=this._ensureCellPopupMap(e,t),a=i.getValue(n,r);if(a){if(a.horizontal){var o;(o=a.horizontal.disposable)==null||o.dispose(),a.horizontal=void 0,this._change$.next({unitId:e,subUnitId:t,row:n,col:r,direction:`horizontal`})}if(a.vertical){var s;(s=a.vertical.disposable)==null||s.dispose(),a.vertical=void 0,this._change$.next({unitId:e,subUnitId:t,row:n,col:r,direction:`vertical`})}!a.horizontal&&!a.vertical&&i.realDeleteValue(n,r)}}};yv=Q([Z(0,F(hv))],yv);const bv=e=>{let{popup:t}=e,{row:n,col:r,direction:i,unitId:a,subUnitId:o}=t.extraProps,s=V(yv);Hn(Gs(()=>s.change$.pipe(Cs(e=>e.row===n&&e.col===r&&e.direction===i)),[s,n,r,i]));let c=s.getPopups(a,o,n,r,i),l=V(Jt);return J(`div`,{"data-u-comp":`cell-popup`,className:`univer-ml-px univer-flex univer-flex-col`,children:c.map(e=>{var t;let n=l.get(e.componentKey);return n?J(n,{popup:e},(t=e.id)==null?e.componentKey:t):null})})},xv=e=>{let{inputId:t,state:n=!1,type:r=`range`,confirm:i,cancel:a,name:o,formulaOrRefString:s,comment:c=``,localSheetId:l=Zi,hidden:u=!1,id:d}=e,f=V(P).getCurrentUnitForType(L.UNIVER_SHEET),p=V(Ue),m=V(Wc),h=V(Kc),g=V(Gc),_=V(qc),v=V(Jt),y=Gs(()=>v.get(El),[]),b=Gs(()=>v.get(Dl),[]);if(f==null)return;let x=Gs(()=>f.getUnitId(),[]),S=Gs(()=>f.getActiveSheet().getSheetId(),[]),[C,w]=q(o),[T,E]=q(s),[D,O]=q(c),[te,ne]=q(l),[k,re]=q(``),[ie,ae]=q(r),[A,oe]=q(!0),se=[{label:p.t(`definedName.scopeWorkbook`),value:Zi}],ce=e=>!Qc(e);Us(()=>{oe(!0),w(o),O(c),ne(l);let e=s;s.substring(0,1)===el.EQUALS?ae(`formula`):ce(s)?(ae(`formula`),e=el.EQUALS+s):ae(`range`),E(e),re(``)},[n]),f.getSheetOrders().forEach(e=>{let t=f.getSheetBySheetId(e);se.push({label:(t==null?void 0:t.getName())||``,value:e})});let le=e=>{E(e)},ue=e=>{E(e||``)},de=()=>{if(C.length===0){re(p.t(`definedName.nameEmpty`));return}if((m.getValueByName(x,C)||h.hasTable(x,C))&&(d==null||d.length===0)){re(p.t(`definedName.nameDuplicate`));return}if(!tt.isValidParameter(C)||Zc(C)||!tt.isStartValidPosition(C)&&!br(C.substring(0,1))){re(p.t(`definedName.nameInvalid`));return}if(f.getSheetOrders().map(e=>{var t;return((t=f.getSheetBySheetId(e))==null?void 0:t.getName())||``}).includes(C)){re(p.t(`definedName.nameSheetConflict`));return}if(T.length===0){re(p.t(`definedName.formulaOrRefStringEmpty`));return}if(!A){re(p.t(`definedName.formulaOrRefStringInvalid`));return}if(g.hasExecutor(C.toUpperCase())){re(p.t(`definedName.nameConflict`));return}let e=f.getActiveSheet().getName();i&&i({id:d||``,name:C,formulaOrRefString:_.convertRefersToAbsolute(T,ee.ALL,ee.ALL,e),comment:D,localSheetId:te})},fe=e=>{let t=e;t===`formula`?s[0]===el.EQUALS?E(s):E(`${el.EQUALS}`):s[0]===el.EQUALS?E(``):E(s),ae(t)},pe=Ks(null),[me,he]=q(!1);return Un(e=>{var t;(t=pe.current)!=null&&t.isClickOutSide(e)&&he(!1)}),Y(`div`,{className:gc(`univer-grid univer-space-y-2 univer-pb-1`,fc,{"univer-hidden":!n}),children:[J(`div`,{children:J(nc,{className:`univer-w-full`,placeholder:p.t(`definedName.inputNamePlaceholder`),value:C,allowClear:!0,onChange:w})}),J(`div`,{children:Y(oc,{value:ie,onChange:fe,children:[J(ac,{value:`range`,children:p.t(`definedName.ratioRange`)}),J(ac,{value:`formula`,children:p.t(`definedName.ratioFormula`)})]})}),ie===`range`?y&&J(y,{unitId:x,subUnitId:S,initialValue:T,onChange:(e,t)=>le(t),supportAcrossSheet:!0}):b&&J(`div`,{className:`univer-relative univer-mt-4 univer-h-full`,children:J(`div`,{className:`univer-relative univer-h-8 univer-select-none`,children:J(b,{ref:pe,className:gc(`univer-box-border univer-h-8 univer-w-full univer-cursor-pointer univer-items-center univer-rounded-lg univer-bg-white univer-pt-2 univer-transition-colors hover:univer-border-primary-600 dark:!univer-bg-gray-700 dark:!univer-text-white [&>div:first-child]:univer-px-2.5 [&>div]:univer-h-5 [&>div]:univer-ring-transparent`,pc),initValue:T,unitId:x,subUnitId:S,isFocus:me,isSupportAcrossSheet:!0,onChange:(e=``)=>{ue(e||``)},onVerify:e=>{oe(e)},onFocus:()=>he(!0)})})}),J(`div`,{children:J(sc,{className:`univer-w-full`,value:te,options:se,onChange:ne})}),J(`div`,{children:J(nc,{className:`univer-w-full`,placeholder:p.t(`definedName.inputCommentPlaceholder`),value:D,onChange:O,allowClear:!0})}),Y(`div`,{className:gc(`univer-items-center univer-gap-1 univer-text-sm univer-text-red-500`,{"univer-hidden":k.length===0,"univer-flex":k.length!==0}),children:[J(`span`,{children:k}),J(wc,{})]}),Y(`div`,{className:`univer-flex univer-gap-2`,children:[J(Js,{onClick:()=>{a==null||a()},children:p.t(`definedName.cancel`)}),J(Js,{variant:`primary`,onClick:de,children:p.t(`definedName.confirm`)})]})]})},Sv=()=>{let e=V(N),t=V(P),n=V(Ue),r=V(Wc),i=V(W),a=t.getCurrentUnitOfType(L.UNIVER_SHEET),o=a==null?void 0:a.getUnitId(),s=()=>{if(!o)return[];let e=r.getDefinedNameMap(o);return e?Array.from(Object.values(e)):[]},[c,l]=q(!1),[u,d]=q([]),[f,p]=q(null),[m,h]=q();if(Us(()=>{d(s());let e=r.update$.subscribe(()=>{d(s())});return()=>{e.unsubscribe()}},[]),!a||!o)return;let g=t=>{let{name:n,formulaOrRefString:r,comment:i,localSheetId:a,hidden:s}=t,c=t.id;if(c==null||c.length===0)c=yt(10),e.executeCommand(ui.id,{id:c,unitId:o,name:n,formulaOrRefString:r,comment:i,localSheetId:a,hidden:s});else{let t={id:c,unitId:o,name:n,formulaOrRefString:r,comment:i,localSheetId:a,hidden:s};e.executeCommand(fa.id,t)}l(!1),p(null)},_=e=>{h(e)};function v(){h(null)}function y(t){if(!o)return;let n=r.getValueById(o,t);e.executeCommand(Vi.id,{...n,unitId:o}),h(null)}let b=async t=>{let{formulaOrRefString:n,id:i}=t,a=r.getWorksheetByRef(o,n);a&&(a.isSheetHidden()&&await e.executeCommand(io.id,{unitId:o,subUnitId:a.getSheetId()}),r.focusRange(o,i))},x=()=>{let e=u.length+1,t=n.t(`definedName.defaultName`)+e;if(r.getValueByName(o,t)==null)return t;let i=e+1;for(;;){let e=n.t(`definedName.defaultName`)+i;if(r.getValueByName(o,e)==null)return e;i++}},S=()=>{var e;let t=(e=a.getActiveSheet())==null?void 0:e.getName();if(!t)return``;let n=i.getCurrentSelections();return n==null?``:n.map(e=>rl(t,e.range)).join(`,`)},C=()=>{l(!1),p(null)},w=()=>{l(!0),p(null)},T=e=>{l(!1),p(e)},E=e=>{let t=a.getSheetBySheetId(e);return t==null?``:t.getName()};return J(`div`,{"data-u-comp":`defined-name-container`,className:`univer-relative univer-box-border univer-w-full`,children:Y(`div`,{className:gc(`univer-w-full univer-overflow-hidden univer-overflow-y-auto`,_c),children:[Y(`div`,{className:`univer-mb-4`,children:[Y(Js,{className:gc(`univer-w-full`,{"univer-hidden":c}),onClick:w,children:[J(Oc,{}),J(`span`,{className:`univer-ml-1`,children:n.t(`definedName.addButton`)})]}),c&&J(xv,{confirm:g,cancel:C,state:c,inputId:`insertDefinedName`,name:x(),formulaOrRefString:S()})]},`insertDefinedName`),u.map((e,t)=>Y(`div`,{className:`univer-relative univer-w-full univer-divide-x-0 univer-divide-y univer-divide-solid univer-divide-gray-200 dark:!univer-divide-gray-600`,children:[Y(`div`,{className:gc(`univer-group univer-relative univer-flex univer-w-full univer-cursor-default univer-select-none univer-items-center univer-justify-between univer-rounded-md univer-p-2 hover:univer-bg-gray-50 dark:hover:!univer-bg-gray-700`,{"univer-hidden":e.id===f}),onClick:()=>{b(e)},children:[Y(`div`,{title:e.comment,children:[Y(`div`,{className:`univer-my-1 univer-max-h-[100px] univer-max-w-[190px] univer-truncate univer-text-sm univer-font-medium univer-text-gray-900 dark:!univer-text-white`,children:[e.name,J(`span`,{className:`univer-text-xxs univer-ml-1 univer-text-gray-400`,children:e.localSheetId===Zi||e.localSheetId==null?``:E(e.localSheetId)})]}),J(`div`,{className:`univer-my-1 univer-max-h-[100px] univer-w-full univer-max-w-[190px] univer-truncate univer-text-xs univer-text-gray-500`,title:e.formulaOrRefString,children:e.formulaOrRefString})]}),Y(`div`,{className:`univer-absolute univer-right-5 univer-top-1/2 univer-hidden -univer-translate-y-1/2 univer-cursor-pointer univer-items-center univer-justify-end univer-gap-7 univer-text-xs univer-text-primary-600 group-hover:univer-flex dark:hover:!univer-bg-gray-600`,children:[J(dc,{title:n.t(`definedName.updateButton`),placement:`top`,children:J(`a`,{className:`univer-rounded univer-p-1 hover:univer-bg-gray-100`,onClick:t=>{t.stopPropagation(),T(e.id)},children:J(Fc,{})})}),J(dc,{title:n.t(`definedName.deleteButton`),placement:`top`,children:J(`a`,{className:`univer-rounded univer-p-1 univer-text-red-600 hover:univer-bg-gray-100`,onClick:t=>{t.stopPropagation(),_(e.id)},children:J(Sc,{})})})]})]}),J(Qs,{visible:m===e.id,onClose:v,onConfirm:()=>{y(e.id)},children:n.t(`definedName.deleteConfirmText`)}),e.id===f&&J(xv,{confirm:g,cancel:C,state:e.id===f,id:e.id,inputId:e.id+t,name:e.name,formulaOrRefString:e.formulaOrRefString,comment:e.comment,localSheetId:e.localSheetId})]},t))]})})},Cv=()=>{let[,e]=q({});return Hs(()=>e(e=>!e),[])};function wv(){let e=V(N),t=V(P),n=V(Xn),r=V(ni),i=V(Ue),[a,o]=q([]),[s,c]=q(!1),[l,u]=q({row:-1,col:-1}),[d,f]=q(wr.SERIES),[p,m]=q(!1),h=Cp(),{sheetSkeletonManagerService:g,selectionRenderService:_}=Gs(()=>{if(h){let e=n.getRenderById(h.getUnitId());return{sheetSkeletonManagerService:e==null?void 0:e.with(Vl),selectionRenderService:e==null?void 0:e.with(Il)}}return{sheetSkeletonManagerService:null,selectionRenderService:null}},[h,n]),v=()=>{m(!0)},y=()=>{m(!1)},b=Cv();if(Us(()=>e.onCommandExecuted((e,t)=>{e.id===Lf.id&&b()}).dispose,[b,e]),Us(()=>{let e=g&&Vt(g.currentSkeleton$.subscribe(e=>{e&&b()}));return e==null?void 0:e.dispose},[g,b]),Us(()=>Vt(r.menu$.subscribe(e=>{o(e.map(t=>({...t,index:e.indexOf(t)})))})).dispose,[r]),Us(()=>Vt(r.showMenu$.subscribe(e=>{let{source:t,target:n}=r.autoFillLocation||{source:null,target:null};u(e&&t&&n?{row:Math.max(t.rows[t.rows.length-1],n.rows[n.rows.length-1]),col:Math.max(t.cols[t.cols.length-1],n.cols[n.cols.length-1])}:{row:-1,col:-1})})).dispose,[r]),Us(()=>Vt(r.applyType$.subscribe(e=>{f(e)})).dispose,[r]),Us(()=>{function e(){c(!1)}return document.addEventListener(`wheel`,e),()=>{document.removeEventListener(`wheel`,e)}},[s]),l.col<0||l.row<0)return null;let x=Mf(t,n);if(!x||!_)return null;let{scene:S}=x,C=g==null?void 0:g.getCurrentSkeleton(),w=_.getViewPort(),T=S==null?void 0:S.scaleX,E=S==null?void 0:S.scaleY,D=S==null?void 0:S.getViewportScrollXY(w);if(!T||!S||!T||!E||!D)return null;let O=(C==null?void 0:C.getNoMergeCellWithCoordByIndex(l.row,l.col).endX)||0,ee=(C==null?void 0:C.getNoMergeCellWithCoordByIndex(l.row,l.col).endY)||0,te=gr(O,T,D),ne=_r(ee,E,D);if(te==null||ne==null)return null;let k=e=>{c(e)},re=t=>{e.executeCommand(Ri.id,{type:t.value}),c(!1)},ie=s||p,ae=a.filter(e=>!e.disable);return J(`div`,{className:`univer-absolute univer-inset-0 univer-z-10 univer-size-0`,children:J(`div`,{className:`univer-absolute`,style:{left:`${te+2}px`,top:`${ne+2}px`},onMouseEnter:v,onMouseLeave:y,children:J(ec,{align:`start`,items:ae.map(e=>({type:`radio`,value:d,options:[{label:i.t(e.label),value:e.value}],onSelect:()=>re(e)})),open:s,onOpenChange:k,children:Y(`div`,{className:gc(`univer-flex univer-items-center univer-gap-2 univer-rounded univer-p-1 hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-800`,pc,{"univer-bg-gray-100 dark:!univer-bg-gray-800":s,"univer-bg-white dark:!univer-bg-gray-900":!s}),children:[J(vc,{className:`univer-fill-primary-600 univer-text-gray-900 dark:!univer-text-white`}),ie&&J(jc,{className:`dark:!univer-text-white`})]})})})})}function Tv(e,t){let n=V(Kf),r=V(N);return Gs(()=>({keyCodes:[{keyCode:R.ENTER},{keyCode:R.ESC},{keyCode:R.TAB}],handler:e=>{if(e===R.ENTER||e===R.ESC||e===R.TAB){if(t==null)return;n.disableForceKeepVisible(),r.syncExecuteCommand(op.id,{visible:!1,eventType:qn.Keyboard,keycode:e,unitId:t})}}}),[r,n,t])}const Ev=-1e3,Dv={width:0,height:0,top:Ev,left:Ev},Ov=()=>{let[e,t]=q({...Dv}),n=V(Rp),r=V(c),i=V(Fe),a=V(Jt),o=V(Kf),l=Hn(o.visible$),u=V(N),d=Ks(0),f=Hn(()=>i.subscribeContextValue$($t),!1,void 0,[i,$t]),p=a.get(Dl),m=o.getEditLocation();Us(()=>{let e=n.state$.subscribe(e=>{if(e==null)return;let{startX:i=Ev,startY:a=Ev,endX:o=0,endY:s=0,show:c=!1}=e;if(!c)t({...Dv});else{t({width:o-i,height:s-a,left:i,top:a});let e=r.getEditor(pe);if(e==null)return;let{left:c,top:l,width:u,height:d}=e.getBoundingClientRect();n.setRect({left:c,top:l,width:u,height:d})}});return()=>{e.unsubscribe()}},[]),Us(()=>{f||n.setFocus(!0)},[f,e]),Us(()=>{if(!(l!=null&&l.visible))return;let e=0,t=0,n=()=>{let e=r.getEditor(pe),t=e==null?void 0:e.render.with(s);t!=null&&t.isFocusing||t==null||t.focus()};return n(),e=requestAnimationFrame(()=>{n(),t=requestAnimationFrame(n)}),()=>{cancelAnimationFrame(e),cancelAnimationFrame(t)}},[r,l==null?void 0:l.visible]),Un(Vn(()=>{o.isVisible().visible&&u.executeCommand(op.id,{visible:!1,eventType:qn.PointerUp,unitId:m==null?void 0:m.unitId})}));let h=Tv(d,m==null?void 0:m.unitId),g=Vn((e,t)=>{u.executeCommand(cp.id,{keycode:e,visible:!1,eventType:qn.Keyboard,isShift:t===Cn.SHIFT||t===(Cn.CTRL_COMMAND|Cn.SHIFT),unitId:m==null?void 0:m.unitId})});return J(`div`,{className:`univer-absolute univer-z-10 univer-flex`,style:{left:e.left,top:e.top,width:e.width,height:e.height},children:p&&J(p,{editorId:pe,className:`univer-relative univer-flex univer-size-full [&_canvas]:univer-absolute`,initValue:``,onChange:()=>{},isFocus:l==null?void 0:l.visible,unitId:m==null?void 0:m.unitId,subUnitId:m==null?void 0:m.sheetId,keyboardEventConfig:h,onMoveInEditor:g,isSupportAcrossSheet:!0,resetSelectionOnBlur:!1,isSingle:!1,autoScrollbar:!1,onFormulaSelectingChange:(e,t)=>{d.current=e,t&&(e?o.enableForceKeepVisible():o.disableForceKeepVisible())},disableSelectionOnClick:!0,disableContextMenu:!1})})};function kv({search:e,isInputEvent:t}){let n=V(N),r=V(Ue),i=V(Wc),a=V(P),o=V(bn),s=a.getCurrentUnitForType(L.UNIVER_SHEET).getUnitId(),c=()=>{let e=i.getDefinedNameMap(s);return e?Array.from(Object.values(e)):[]},[l,u]=q(c());Us(()=>{let e=i.update$.subscribe(()=>{u(c())});return()=>{e.unsubscribe()}},[]),Us(()=>{let e=o.sidebarOptions$.subscribe(e=>{e.id===`DefinedNameContainer`&&(e.visible||setTimeout(()=>{o.sidebarOptions$.next({visible:!1})}))});return()=>{e.unsubscribe()}},[]);let d=Gs(()=>e&&t?l.filter(t=>t.name.toLowerCase().includes(e.toLowerCase())):l,[e,t,l]),f=()=>{n.executeCommand(pp.id,{value:`open`})},p=async e=>{let{formulaOrRefString:t,id:r}=e,a=i.getWorksheetByRef(s,t);a&&(a.isSheetHidden()&&await n.executeCommand(io.id,{unitId:s,subUnitId:a.getSheetId()}),i.focusRange(s,r))};return Y(`div`,{className:`univer-w-[300px]`,children:[J(`ul`,{className:gc(`univer-m-0 univer-max-h-[360px] univer-list-none univer-overflow-y-auto univer-p-0`,_c),children:d.map((e,t)=>J(`li`,{className:`univer-cursor-pointer univer-px-2 univer-transition-colors univer-duration-200 hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-600`,onClick:()=>{p(e)},children:Y(`div`,{className:gc(`univer-flex univer-items-center univer-justify-between univer-gap-2 univer-py-1`,fc),children:[J(`div`,{className:`univer-w-[50%] univer-flex-shrink-0 univer-truncate univer-text-sm univer-text-gray-600 dark:!univer-text-gray-200`,title:e.name,children:e.name}),J(`div`,{className:`univer-w-[50%] univer-flex-shrink-0 univer-truncate univer-text-xs univer-text-gray-400`,title:e.formulaOrRefString,children:e.formulaOrRefString})]})},t))}),Y(`div`,{className:`univer-cursor-pointer univer-p-2 univer-transition-colors univer-duration-200 hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-600`,onClick:f,children:[J(`div`,{className:`univer-mb-2 univer-text-sm univer-font-semibold univer-text-gray-600 dark:!univer-text-gray-200`,children:r.t(`definedName.managerTitle`)}),J(`div`,{className:`univer-text-xs univer-text-gray-400`,children:r.t(`definedName.managerDescription`)})]})]})}function Av({disable:e}){let[t,n]=q(``),[r,i]=q(``),a=V(Wc),o=V(N),s=V(P),c=V(W),l=V(qc),u=s.getCurrentUnitOfType(L.UNIVER_SHEET),d=u==null?void 0:u.getUnitId(),f=V(et),[p,m]=q(!1),[h,g]=q(!1),_=()=>{let e=a.getDefinedNameMap(d);return e?Array.from(Object.values(e)):[]},v=async e=>{let{formulaOrRefString:t,id:n}=e,r=a.getWorksheetByRef(d,t);r&&(r.isSheetHidden()&&await o.executeCommand(io.id,{unitId:d,subUnitId:r.getSheetId()}),a.focusRange(d,n))},y=e=>{let t=u.getActiveSheet(),n=t.getSheetId();D(t,e).then(e=>{e&&(o.executeCommand(Aa.id,{unitId:d,subUnitId:n,selections:e}),o.executeCommand(Bf.id,{range:e[0].range}))})},[b,x]=q(_());Us(()=>{let e=a.update$.subscribe(()=>{x(_())});return()=>{e.unsubscribe()}},[]),Us(()=>{let e=a.currentRange$.subscribe(()=>{var e;let t=c.getCurrentSelections(),r=u.getActiveSheet(),o=t==null||(e=t.map(e=>rl(r.getName(),e.range)))==null?void 0:e.join(`,`),s=l.convertRefersToAbsolute(o,ee.ALL,ee.ALL,r.getName()),f=a.getDefinedNameByRefString(d,s);if(f)n(f.name),i(f.name);else{let e=a.getCurrentRangeForString();n(e),i(e)}});return()=>{e.unsubscribe()}},[]);let S=gt(e=>{let t=b.find(t=>t.name.toLowerCase().includes(e.toLowerCase()));t&&!p?m(!0):!t&&p&&m(!1)},100);function C(e){let t=e.target.value.trim();if(i(t),g(!0),!t){p&&m(!1);return}S(t)}function w(){if(r===t)return;let e=b.find(e=>e.name===r);e?(n(r),v(e)):Zc(r)?(n(r),y(r)):E()}function T(t){e||(t.key===`Enter`?(w(),g(!1),m(!1)):t.key===`Escape`&&(t.preventDefault(),g(!1),E()))}function E(){i(t)}async function D(e,t){if(!e)return;let n=Xc(t.trim()),{startRow:r,startColumn:i,endRow:a,endColumn:o}=n.range,s=us({startRow:r,startColumn:i,endRow:a,endColumn:o},e),c=[];return c.push({range:n.range,style:wl(f),primary:s}),c}return Y(`div`,{"data-u-comp":`defined-name`,className:`univer-relative univer-box-border univer-flex univer-h-full univer-w-24 univer-border-r-gray-200 univer-py-1.5 univer-transition-all`,children:[J(`input`,{className:gc(`univer-box-border univer-size-full univer-appearance-none univer-pl-1.5 univer-pr-5 univer-text-gray-900 focus:univer-outline-none dark:!univer-border-r-gray-700 dark:!univer-bg-gray-900 dark:!univer-text-white`,mc,{"univer-cursor-not-allowed":e}),type:`text`,value:r,onChange:C,onKeyDown:T,onBlur:()=>g(!1)}),J($s,{overlay:J(`div`,{className:`univer-z-[1001]`,children:J(kv,{search:r,isInputEvent:h})}),disabled:e,open:p,onOpenChange:m,onOpenAutoFocus:e=>e.preventDefault(),children:J(`a`,{className:gc(`univer-absolute univer-right-0 univer-top-0 univer-flex univer-h-full univer-cursor-pointer univer-items-center univer-justify-center univer-px-1 univer-transition-colors univer-duration-200 hover:univer-bg-gray-100 dark:!univer-text-white dark:hover:!univer-bg-gray-800`,{"univer-cursor-not-allowed univer-text-gray-300 hover:univer-bg-transparent dark:!univer-text-gray-700":e}),children:J(jc,{})})})]})}var jv=function(e){return e[e.Down=0]=`Down`,e[e.Up=1]=`Up`,e}(jv||{});function Mv(e){var t,n;let{className:r,disableDefinedName:i}=e,[a,o]=q(!1),[s,l]=q(jv.Down),u=V(Um),d=V(Kf),f=V(Vo),p=V(Fi),m=V(P),h=V(W),g=V(Le),_=V(Ni),v=V(N),[y,b]=q({editDisable:!1,viewDisable:!1}),[x,S]=q(!1),C=V(Jt),w=Hn(()=>m.getCurrentTypeOfUnit$(L.UNIVER_SHEET),void 0,void 0,[]),T=Ks(0),E=Hn(d.currentEditCellState$),D=Tv(T,E==null?void 0:E.unitId),O=C.get(Dl),ee=zn(Dp.FORMULA_AUX),te=V(Fe);Hn(Gs(()=>te.subscribeContextValue$(Te),[te]));let ne=te.getContextValue(Te),k=Ks(null),re=V(c),ie=Bn(rp),ae=ie==null?void 0:ie.disableEdit;Ws(()=>{let e=w.activeSheet$.pipe(ks(e=>e?Ts(f.ruleChange$,p.ruleChange$,h.selectionMoveEnd$,h.selectionSet$).pipe(ks(()=>{var t,n;let r=w.getUnitId(),i=e.getSheetId();if(!((t=h.getCurrentLastSelection())!=null&&t.range))return gs;let a=(n=h.getCurrentLastSelection())==null?void 0:n.primary;return Es(a?{unitId:r,subUnitId:i,primary:a}:null)})):gs)).subscribe(e=>{if(e){var t,n;let{unitId:s,subUnitId:c,primary:l}=e;if(f.getRule(s,c)){var r,i,a,o;let e=!((r=(i=g.getPermissionPoint(new K(s,c).id))==null?void 0:i.value)==null||r);b({viewDisable:!((a=(o=g.getPermissionPoint(new Ko(s,c).id))==null?void 0:o.value)==null||a),editDisable:e});return}let{actualRow:u,actualColumn:d}=l,p=_.getCellInfo(s,c,u,d);b({editDisable:!((t=p==null?void 0:p[vo.Edit])==null||t),viewDisable:!((n=p==null?void 0:p[vo.View])==null||n)})}else b({viewDisable:!1,editDisable:!1})});return()=>{e.unsubscribe()}},[w]),Us(()=>{let e=d.visible$.subscribe(e=>{o(e.visible)});return()=>e.unsubscribe()},[d.visible$]),Us(()=>{let e=d.currentEditCellState$.subscribe(e=>{var t;!(e==null||(t=e.documentLayoutObject.documentModel)==null||(t=t.getBody())==null||(t=t.customBlocks)==null)&&t.length?S(!0):S(!1)});return()=>e.unsubscribe()},[d.currentEditCellState$]),Us(()=>{let e=()=>{if(!k.current)return;let e=k.current.getBoundingClientRect();u.setPosition(e)};if(k.current){e();let t=new ResizeObserver(e);return t.observe(k.current),()=>t.disconnect()}},[u]);function A(){l(s===jv.Down?jv.Up:jv.Down),setTimeout(()=>{u.handleFoldBtnClick(s===jv.Up)},150)}function oe(){d.isVisible().visible&&v.executeCommand(op.id,{visible:!1,eventType:qn.Keyboard,keycode:R.ESC,unitId:E.unitId})}function se(){d.isVisible().visible&&v.executeCommand(op.id,{visible:!1,eventType:qn.PointerDown,unitId:E.unitId})}function ce(){u.handleFxBtnClick(!0)}let{viewDisable:le,editDisable:ue}=y,de=ue||!!ae,pe=de||x,me=Ks(!1),he=()=>{try{if(d.isVisible().visible===!1&&!v.syncExecuteCommand(op.id,{visible:!0,eventType:qn.PointerDown,unitId:E.unitId})){me.current=!0;return}te.setContextValue(Te,!0)}catch(e){throw me.current=!0,e}},j=()=>{me.current&&setTimeout(()=>{re.blur(!0)},30),me.current=!1},M=((t=E==null||(n=E.documentLayoutObject.documentModel)==null||(n=n.getDrawingsOrder())==null?void 0:n.length)==null?0:t)>0||le;return Y(`div`,{"data-u-comp":`formula-bar`,className:gc(`univer-box-border univer-flex univer-bg-white univer-transition-[height] univer-ease-linear dark:!univer-bg-gray-900`,fc,r,{"univer-h-7":s===jv.Down,"univer-h-20":s===jv.Up,"univer-pointer-events-none":de}),children:[J(`div`,{className:`univer-relative univer-box-border univer-h-full univer-w-[100px]`,children:J(Av,{disable:i==null?de:i})}),Y(`div`,{className:`univer-flex univer-size-full`,children:[J(`div`,{className:gc(`univer-py-1.5`,{"univer-cursor-not-allowed univer-text-gray-200":pe}),children:Y(`div`,{className:gc(`univer-relative univer-box-border univer-flex univer-h-full univer-w-20 univer-items-center univer-justify-center univer-text-xs`,mc),children:[J(`span`,{className:gc(`univer-flex univer-items-center univer-justify-center univer-rounded univer-p-1 univer-text-base dark:!univer-text-white`,{"univer-cursor-pointer univer-text-red-600 hover:univer-bg-gray-100 dark:!univer-text-green-400 dark:hover:!univer-bg-gray-700":a}),onClick:oe,children:J(bc,{})}),J(`span`,{className:gc(`univer-flex univer-items-center univer-justify-center univer-rounded univer-p-1 univer-text-base dark:!univer-text-white`,{"univer-cursor-pointer univer-text-green-600 hover:univer-bg-gray-100 dark:!univer-text-red-400 dark:hover:!univer-bg-gray-700":a}),onClick:se,children:J(yc,{})}),J(`span`,{className:`univer-flex univer-cursor-pointer univer-items-center univer-justify-center univer-rounded univer-p-1 univer-text-base hover:univer-bg-gray-100 dark:!univer-text-white dark:hover:!univer-bg-gray-700`,onClick:ce,children:J(Ec,{})})]})}),Y(`div`,{className:`univer-flex univer-w-full univer-flex-1 univer-overflow-hidden univer-pl-3`,children:[Y(`div`,{ref:k,className:`univer-relative univer-flex-1`,onPointerDown:he,onPointerUp:j,style:{pointerEvents:M?`none`:`auto`},children:[O&&J(O,{className:`univer-relative univer-size-full univer-break-words univer-outline-none [&>div]:univer-ring-transparent`,disableSelectionOnClick:!0,editorId:fe,initValue:``,onChange:()=>{},isFocus:ne,unitId:E==null?void 0:E.unitId,subUnitId:E==null?void 0:E.sheetId,isSupportAcrossSheet:!0,resetSelectionOnBlur:!1,isSingle:!1,keyboardEventConfig:D,onFormulaSelectingChange:(e,t)=>{T.current=e,t&&(e?d.enableForceKeepVisible():d.disableForceKeepVisible())},autoScrollbar:!1,disableContextMenu:!1}),M&&J(`div`,{className:`univer-pointer-events-none univer-relative univer-left-0 univer-top-0 univer-z-[100] univer-size-full univer-cursor-not-allowed univer-bg-white`})]}),J(`div`,{className:gc(`univer-flex univer-h-full univer-w-5 univer-cursor-pointer univer-items-center univer-justify-center univer-text-xs univer-text-gray-700 dark:!univer-text-gray-200`,{"univer-cursor-not-allowed univer-text-gray-200 dark:!univer-text-gray-700":de}),onClick:A,children:J(Cc,{className:gc({"univer-rotate-180":s===jv.Up})})})]})]}),J(qt,{components:ee},`formula-aux`)]})}function Nv(e){let{children:t,className:n,style:r,disabled:i=!1,onClick:a,...o}=e,s=e=>{if(i){e.preventDefault();return}a&&a(e)};return J(Js,{"data-u-comp":`sheet-bar-append-button`,className:n,size:`small`,disabled:i,style:r,variant:`text`,onClick:s,...o,children:t})}function Pv(){let[e,t]=q([]),[n,r]=q(!1),i=V(P),a=V(N),o=V(Zf),s=V(Vo),c=Hn(()=>i.getCurrentTypeOfUnit$(L.UNIVER_SHEET),null,!1,[]),l=e=>{let{sheetId:t}=e;!t||!c||(e.hidden?a.executeCommand(io.id,{unitId:c.getUnitId(),subUnitId:t,value:t}):e.selected||a.executeCommand(Ha.id,{unitId:c.getUnitId(),subUnitId:t}),r(!1))},u=Hs(()=>{if(!c)return;let e=c.getSheets(),n=c.getActiveSheet();t(e.map((e,t)=>({label:e.getName(),index:`${t}`,sheetId:e.getSheetId(),hidden:e.isSheetHidden()===ne.TRUE,selected:n===e})))},[c,s]),d=Hs(()=>a.onCommandExecuted(e=>{switch(e.id){case qa.id:case Ki.id:case Ya.id:case xi.id:case Za.id:case Ua.id:u();break;default:break}}),[a,u]);function f(){r(!0)}return Us(()=>{u();let e=new ge;return e.add(d()),e.add(o.registerSheetBarMenuHandler({handleSheetBarMenu:f})),()=>e.dispose()},[d,o,u,c]),J(ec,{className:`univer-max-w-lg`,align:`start`,items:Gs(()=>e.map(e=>({type:`item`,children:Y(`div`,{className:`univer-relative univer-box-border univer-overflow-hidden univer-truncate univer-pl-6`,children:[(e.selected||e.hidden)&&Y(`span`,{className:`univer-absolute univer-left-1 univer-top-0.5`,children:[e.selected&&J(yc,{className:`univer-size-4 univer-text-primary-600`}),e.hidden&&J(Tc,{className:`univer-size-4 univer-text-gray-400`})]}),J(`span`,{className:gc({"univer-text-primary-600":e.selected}),children:e.label})]}),onSelect:()=>{l(e)}})),[e]),open:n,onOpenChange:e=>{r(e)},children:J(`div`,{children:J(Nv,{children:J(xc,{})})})})}function Fv(e){let{sheetId:t,label:n,color:r,selected:i,className:a,onKeyDown:o,tabIndex:s}=e,c=V(et),l=e=>{let t=c.getColorFromTheme(`gray.900`),n=c.getColorFromTheme(`white`);return new ae(e).isDark()?n:t},u=!!i,d=r?l(r):``;return J(`div`,{"data-u-comp":`slide-tab-item`,"data-id":t,role:`tab`,"aria-selected":u,tabIndex:s==null?u?0:-1:s,onKeyDown:o,className:gc(`univer-mx-1 univer-box-border univer-flex univer-flex-grow univer-cursor-pointer univer-select-none univer-flex-row univer-items-center univer-rounded univer-text-xs univer-transition-[colors,box-shadow] focus-visible:univer-ring-2 focus-visible:univer-ring-primary-500`,{"dark:!univer-text-white":!r||r&&!d,"univer-justify-center univer-bg-white univer-font-bold univer-text-primary-700 univer-shadow":u,"dark:!univer-bg-gray-700":u&&!r,"univer-font-medium univer-text-gray-900 hover:univer-bg-gray-100":!u,"dark:hover:!univer-bg-gray-700":!u&&!r},a),style:{backgroundColor:!u&&r?r:``,color:!u&&r?d:``,boxShadow:u&&r?`0px 0px 8px rgba(0, 0, 0, 0.08), inset 0px -2px 0px 0px ${r}`:``},children:J(`div`,{className:`univer-box-border univer-flex univer-max-w-lg univer-items-center univer-gap-1 univer-overflow-hidden univer-whitespace-nowrap univer-rounded univer-border-2 univer-border-solid univer-border-transparent univer-px-1.5 univer-py-1`,children:n})},t)}function Iv(e){let{children:t,anchorRect:n,showContextMenu:r,visible:i,onCommandSelect:a,onVisibleChange:o}=e,s=Ks(`sheetbar-tabs-context-menu-${yt(6)}`);return r?Y(zc,{children:[t,J(Wt,{hostId:s.current,visible:i,anchorRect:n,menuType:Xt.FOOTER_TABS,anchorVertical:`top`,menuOffset:6,onRequestClose:()=>o(!1),onOptionSelect:e=>{var t;let{label:n,id:r,commandId:i,value:o}=e;a((t=i==null?r:i)==null?n:t,o)}})]}):t}const Lv={easeOutStrong(e,t,n,r){return-n*((e=e/r-1)*e*e*e-1)+t},backOut(e,t,n,r,i){return i===void 0&&(i=.7),n*((e=e/r-1)*e*((i+1)*e+i)+1)+t}},Rv={loop:!1,begin:0,end:0,duration:300,delay:0,type:`easeOutStrong`,receive(e){},success(e){},cancel(e){},complete(e){}};let zv=function(e){return e[e.Request=0]=`Request`,e[e.Cancel=1]=`Cancel`,e}({});var Bv=class{constructor(e){X(this,`_config`,void 0),X(this,`_status`,zv.Request),X(this,`_start`,0),X(this,`_handle`,0),X(this,`_delayHandle`,null),this._config={...Rv,...e},this._config.loop&&(this._config.complete=()=>{},this._config.success=()=>{this.request()})}static success(...e){let t=0;return new Promise(n=>{for(let r=0;r<e.length;r++){let i=e[r],a=i._config,o=a.success;a.loop||(a.success=r=>{t++,o&&o.call(i,r),t===e.length&&n()})}})}request(){this._config.delay===0?(this._status=zv.Request,this._start=Date.now(),this._fakeHandle()):(this._delayHandle&&clearTimeout(this._delayHandle),this._delayHandle=setTimeout(()=>{this._status=zv.Request,this._start=Date.now(),this._fakeHandle()},this._config.delay))}cancel(){this._status=zv.Cancel,this._delayHandle&&clearTimeout(this._delayHandle),cancelAnimationFrame(this._handle)}_fakeHandle(){let e=Date.now()-this._start;e=e>=this._config.duration?this._config.duration:e;let t=Lv[this._config.type](e,this._config.begin,this._config.end-this._config.begin,this._config.duration,.7).toFixed(2);if(this._config.receive(t),this._status===zv.Cancel){this._config.cancel(t),this._config.complete(t);return}if(e===this._config.duration){this._config.success(t),this._config.complete(t);return}this._handle=requestAnimationFrame(()=>{this._fakeHandle()})}},Vv=class e{constructor(e,t){X(this,`_slideTabItem`,void 0),X(this,`_animate`,void 0),X(this,`_midline`,0),X(this,`_translateX`,void 0),X(this,`_scrollbar`,void 0),X(this,`_slideTabBar`,void 0),X(this,`_editMode`,void 0),X(this,`_placeholder`,void 0),this._slideTabItem=e,this._animate=null,this._translateX=0,this._editMode=!1,this._slideTabBar=t,this._placeholder=null,this._scrollbar=t.getScrollbar(),this.update()}static midline(e){return e.getBoundingRect().x+e.getBoundingRect().width/2}static leftLine(e){return e.getBoundingRect().x}static rightLine(e){return e.getBoundingRect().x+e.getBoundingRect().width}static make(t,n){let r=[];return t.forEach(t=>r.push(new e(t,n))),r}getSlideTabItem(){return this._slideTabItem}getEditor(){return this._slideTabItem.querySelector(`span`)}focus(){var e;(e=this.getEditor())==null||e.focus()}selectAll(){let e=this.getEditor();e&&Uv.keepSelectAll(e)}isEditMode(){return this._editMode}classList(){return this._slideTabItem.classList}translateX(e){return this._translateX=e,this._slideTabItem.style.transform=`translateX(${e}px)`,this.getTranslateXDirection()}setEditor(e){if(!this._slideTabBar.getConfig().onNameChangeCheck())return;let t=!0;if(this._editMode===!1){let n=this._slideTabItem.querySelector(`span`),r=e=>{var t;e.preventDefault();let n=(t=e.clipboardData)==null?void 0:t.getData(`text/plain`);if(n){let e=n.replace(/\s/g,``);document.execCommand(`insertText`,!1,e)}},i=t=>{if(!this.nameCheck()){if(this._editMode=!1,n&&(n.removeAttribute(`contentEditable`),n.removeEventListener(`focusout`,i),n.removeEventListener(`compositionstart`,o),n.removeEventListener(`compositionend`,s),n.removeEventListener(`input`,c),n.removeEventListener(`keydown`,a),n.removeEventListener(`paste`,r)),this._slideTabBar.removeListener(),this._slideTabBar.updateItems(),this._slideTabBar.getConfig().onChangeName){let e=(n==null?void 0:n.innerText)||``,t=this.getId();this._slideTabBar.getConfig().onChangeName(t,e)}e&&e(t)}},a=e=>{n&&(e.stopPropagation(),e.key===`Enter`&&(n.blur(),e.preventDefault()))},o=()=>{t=!1},s=()=>{t=!0},c=e=>{n&&setTimeout(()=>{if(t){let e=n.innerText;e.length>31&&(n.innerText=e.substring(0,31),Uv.keepLastIndex(n))}},0)};n&&(n.setAttribute(`contentEditable`,`true`),n.addEventListener(`focusout`,i),n.addEventListener(`compositionstart`,o),n.addEventListener(`compositionend`,s),n.addEventListener(`input`,c),n.addEventListener(`keydown`,a),n.addEventListener(`paste`,r),this._editMode=!0,Uv.keepSelectAll(n))}}nameCheck(){let e=this._slideTabItem.querySelector(`span`);if(!e)return!1;let t=e.innerText;return this._slideTabBar.getConfig().onNameCheckAlert(t)}animate(){return{translateX:e=>{this._translateX!==e&&(this._animate&&(this._animate.cancel(),this._animate=null),this._animate=new Bv({begin:this._translateX,end:e,receive:e=>{this._slideTabItem.style.transform=`translateX(${e}px)`}}),this._translateX=e,this._animate.request())},cancel:()=>{this._animate&&(this._animate.cancel(),this._animate=null)}}}after(e){this._slideTabItem.after(e._slideTabItem||e)}update(){this._midline=e.midline(this)}disableFixed(){if(this._placeholder){let e=this._slideTabBar.primeval();this._slideTabItem.style.removeProperty(`position`),this._slideTabItem.style.removeProperty(`left`),this._slideTabItem.style.removeProperty(`top`),this._slideTabItem.style.removeProperty(`width`),this._slideTabItem.style.removeProperty(`height`),this._slideTabItem.style.removeProperty(`background`),this._slideTabItem.style.removeProperty(`padding`),this._slideTabItem.style.removeProperty(`box-sizing`),this._slideTabItem.style.removeProperty(`font-size`),this._slideTabItem.style.removeProperty(`font-family`),this._slideTabItem.style.removeProperty(`font-weight`),this._slideTabItem.style.removeProperty(`color`),this._slideTabItem.style.removeProperty(`border-radius`),this._placeholder.after(this._slideTabItem),e.removeChild(this._placeholder),this._placeholder=null}}enableFixed(){let e=document.createElement(`div`),t=this.getBoundingRect(),n=getComputedStyle(this._slideTabItem),r=this._slideTabItem.querySelector(`span`);if(this._placeholder=e,this._placeholder.style.width=`${t.width}px`,this._placeholder.style.height=`${t.height}px`,this._placeholder.style.flexShrink=`0`,this._placeholder.style.margin=n.margin,this._slideTabItem.style.background=n.background,r){let e=getComputedStyle(r).padding;this._slideTabItem.style.padding=e}this._slideTabItem.style.boxSizing=n.boxSizing,this._slideTabItem.style.fontSize=n.fontSize,this._slideTabItem.style.fontFamily=n.fontFamily,this._slideTabItem.style.fontWeight=n.fontWeight,this._slideTabItem.style.color=n.color,this._slideTabItem.style.borderRadius=n.borderRadius,this._slideTabItem.style.left=`${t.x-this.getScrollbar().getScrollX()}px`,this._slideTabItem.style.top=`${t.y}px`,this._slideTabItem.style.width=`${t.width}px`,this._slideTabItem.style.height=`${t.height}px`,this._slideTabItem.style.position=`fixed`,this._slideTabItem.after(e),document.body.appendChild(this._slideTabItem)}addEventListener(e,t,n){this._slideTabItem.addEventListener(e,t,n)}removeEventListener(e,t,n){this._slideTabItem.removeEventListener(e,t,n)}getScrollbar(){return this._scrollbar}getMidLine(){return this._midline}getBoundingRect(){let e=this._slideTabItem.getBoundingClientRect();return e.x+=this._scrollbar.getScrollX(),e}getWidth(){return this.getBoundingRect().width}getTranslateXDirection(){let t=e.midline(this);return t>this._midline?1:t<this._midline?-1:0}equals(e){return e&&e._slideTabItem===this._slideTabItem}getId(){return this._slideTabItem.dataset.id||``}},Hv=class{constructor(e){X(this,`_slideTabBar`,void 0),X(this,`_scrollX`,void 0),this._scrollX=e.primeval().scrollLeft,this._slideTabBar=e}scrollX(e){let t=this._slideTabBar.primeval();t.scrollLeft=e,this._scrollX=t.scrollLeft}scrollRight(){let e=this._slideTabBar.primeval();e.scrollLeft=e.scrollWidth,this._scrollX=e.scrollLeft}getScrollX(){return this._scrollX}},Uv=class e{constructor(t){if(X(this,`_activeTabItemIndex`,0),X(this,`_slideTabBar`,void 0),X(this,`_slideTabItems`,[]),X(this,`_config`,void 0),X(this,`_downActionX`,0),X(this,`_moveActionX`,0),X(this,`_compareIndex`,0),X(this,`_activeTabItem`,null),X(this,`_moveAction`,void 0),X(this,`_upAction`,void 0),X(this,`_downAction`,void 0),X(this,`_wheelAction`,void 0),X(this,`_scrollIncremental`,0),X(this,`_compareDirection`,0),X(this,`_autoScrollTime`,null),X(this,`_slideScrollbar`,void 0),X(this,`_longPressTimer`,null),X(this,`_leftBoundingLine`,0),X(this,`_rightBoundingLine`,0),X(this,`_leftMoveX`,0),X(this,`_rightMoveX`,0),t.slideTabBarContainer==null)throw Error(`not found slide-tab-bar root element`);let n=t.slideTabBarContainer.querySelector(`${t.slideTabBarSelector}`);if(n==null)throw Error(`not found slide-tab-bar`);this._slideTabBar=n,this._slideScrollbar=new Hv(this),this._config=t,this._initConfig();let r=0,i=0,a=0;this._downAction=n=>{var o,s,c;if((o=this._activeTabItem)!=null&&o.isEditMode())return;this._longPressTimer&&(clearTimeout(this._longPressTimer),this._longPressTimer=null);let l=(s=n.target)==null||(s=s.closest(`${t.slideTabBarItemSelector}`))==null?void 0:s.getAttribute(`data-id`),u=this._slideTabItems.findIndex(e=>e.getId()===l);if(l==null||u===-1)return;if(this._activeTabItemIndex!==u){var d,f;(d=this._activeTabItem)==null||d.removeEventListener(`pointermove`,this._moveAction),(f=this._activeTabItem)==null||f.removeEventListener(`pointerup`,this._upAction),this.removeListener(),this._config.onChangeTab(n,l);return}if(this._compareIndex=u,this._downActionX=n.pageX,this._moveActionX=0,this._scrollIncremental=0,this._activeTabItem=this._slideTabItems[u],!this._activeTabItem){console.error(`Not found active slide-tab-item in sheet bar`);return}let p=this._activeTabItem.getSlideTabItem();p==null||p.setPointerCapture(n.pointerId),(c=this._activeTabItem)==null||c.addEventListener(`pointerup`,this._upAction);let{x:m,width:h}=this._activeTabItem.getBoundingRect(),{x:g,width:_}=this.getBoundingRect(),v=this._slideScrollbar.getScrollX();if(this._leftBoundingLine=this._downActionX-(m-v),this._rightBoundingLine=m-v+h-this._downActionX,this._leftMoveX=m-g-v,this._rightMoveX=g+_-(m+h)+v,n.button===2||this._hasEditItem())return;let{pageX:y,pageY:b}=n,x=Date.now(),S=x-a<=e.DoubleClickDelay,C=Math.abs(y-r)<10,w=Math.abs(b-i)<10;S&&C&&w&&this._activeTabItem.setEditor(),r=y,i=b,a=x,this._longPressTimer=setTimeout(()=>{var e,t,r;!p||(e=this._activeTabItem)!=null&&e.isEditMode()||((t=this._activeTabItem)==null||t.enableFixed(),this._startAutoScroll(),p.setPointerCapture(n.pointerId),p.style.cursor=`move`,(r=this._activeTabItem)==null||r.addEventListener(`pointermove`,this._moveAction))},e.LongPressDelay)},this._upAction=e=>{var t,n,r,i;if((t=this._activeTabItem)!=null&&t.isEditMode()||(this._longPressTimer&&(clearTimeout(this._longPressTimer),this._longPressTimer=null),!this._activeTabItem))return;let a=this._autoScrollTime!==null;this._closeAutoScroll(),this._activeTabItem.disableFixed(),this.updateItems();let o=(n=this._activeTabItem)==null?void 0:n.getSlideTabItem();o&&(o.style.cursor=``,o.releasePointerCapture(e.pointerId),(r=this._activeTabItem)==null||r.removeEventListener(`pointermove`,this._moveAction),(i=this._activeTabItem)==null||i.removeEventListener(`pointerup`,this._upAction),this._config.onSlideEnd&&this._activeTabItemIndex!==this._compareIndex&&a&&(this.removeListener(),this._config.onSlideEnd(e,this._compareIndex||0)),this._scrollIncremental=0,this._downActionX=0,this._moveActionX=0,this._compareIndex=0)},this._moveAction=e=>{this._activeTabItem&&(this._moveActionX=e.pageX-this._downActionX,this._moveActionX<=-this._leftMoveX?this._moveActionX=-this._leftMoveX:this._moveActionX>=this._rightMoveX&&(this._moveActionX=this._rightMoveX),this._scrollIncremental=0,this._scrollLeft(e),this._scrollRight(e))},this._wheelAction=e=>{this.setScroll(e.deltaY)},this.addListener()}static checkedSkipSlide(e){let t=e.target;for(;t!=null&&t!==document.body;){if(t.getAttribute(`data-slide-skip`))return!0;t=t.parentElement}return!1}static keepLastIndex(e){setTimeout(()=>{let t=window.getSelection();t&&(t.selectAllChildren(e),t.collapseToEnd())})}static keepSelectAll(e){setTimeout(()=>{let t=window.getSelection();if(!t)return;let n=document.createRange();n.selectNodeContents(e),t.removeAllRanges(),t.addRange(n)})}update(e){this._config.currentIndex=e,this._initConfig(),this.removeListener(),this.addListener(),this.scrollToItem(e)}primeval(){return this._slideTabBar}updateItems(){for(let e=0;e<this._slideTabItems.length;e++)this._slideTabItems[e].animate().cancel(),this._slideTabItems[e].translateX(0),this._slideTabItems[e].update()}getScrollbar(){return this._slideScrollbar}getConfig(){return this._config}getBoundingRect(){return this._slideTabBar.getBoundingClientRect()}getSlideTabItems(){return this._slideTabItems}getActiveItem(){return this._activeTabItem}isLeftEnd(){return this._slideTabBar.scrollLeft===0}isRightEnd(){let e=this._slideTabBar.parentElement;return e?this._slideTabBar.scrollWidth-e.clientWidth===this._slideTabBar.scrollLeft:!1}addListener(){this._slideTabBar.addEventListener(`wheel`,this._wheelAction),this._slideTabItems.forEach(e=>{e.addEventListener(`pointerdown`,this._downAction)})}removeListener(){this._slideTabBar.removeEventListener(`wheel`,this._wheelAction),this._slideTabItems.forEach(e=>{e.removeEventListener(`pointerdown`,this._downAction)})}setScroll(e){if(this._slideScrollbar.scrollX(this._slideScrollbar.getScrollX()+e),e>0){let e=this.calculateLeftScrollX();this._slideScrollbar.scrollX(this._slideScrollbar.getScrollX()+e)}else if(e<0){let e=this.calculateRightScrollX();this._slideScrollbar.scrollX(this._slideScrollbar.getScrollX()+e)}this._config.onScroll({leftEnd:this.isLeftEnd(),rightEnd:this.isRightEnd()})}flipPage(e){if(e>0){let e=this.calculateLeftScrollX(!0);this._slideScrollbar.scrollX(this._slideScrollbar.getScrollX()+e)}else if(e<0){let e=this.calculateRightScrollX(!0);this._slideScrollbar.scrollX(this._slideScrollbar.getScrollX()+e)}this._config.onScroll({leftEnd:this.isLeftEnd(),rightEnd:this.isRightEnd()})}scrollToItem(e){var t;if(e=(t=e)==null?this._config.currentIndex:t,e<0||e>=this._slideTabItems.length){console.error(`Index out of bounds`);return}let n=this.calculateTabItemScrollX(e);this._slideScrollbar.scrollX(this._slideScrollbar.getScrollX()+n),this._config.onScroll({leftEnd:this.isLeftEnd(),rightEnd:this.isRightEnd()})}calculateLeftScrollX(e){let t=0;return this._slideTabItems.some(n=>{let r=this._slideTabBar.getBoundingClientRect(),i=r.left+r.width,a=n.getSlideTabItem().getBoundingClientRect(),o=a.left,s=a.width;return o<i&&o+s+8>i?(t=e?o-r.left-4:o+s-i+4,!0):!1}),t}calculateRightScrollX(e){let t=0;return this._slideTabItems.some(n=>{let r=this._slideTabBar.getBoundingClientRect(),i=r.left,a=n.getSlideTabItem().getBoundingClientRect(),o=a.left,s=a.width;return o-8<i&&o+s>i?(t=e?o+s-r.left-r.width+4:o-i-4,!0):!1}),t}calculateTabItemScrollX(e){let t=0,n=this._slideTabBar.getBoundingClientRect(),r=n.left,i=n.left+n.width,a=this._slideTabItems[e].getSlideTabItem().getBoundingClientRect(),o=a.left,s=a.width;return o-8<r&&(t=o-r-4),o+s+8>i&&(t=o+s-i+4),t}calculateActiveTabItemScrollX(){var e;let t=0,n=this._slideTabBar.getBoundingClientRect(),r=n.left,i=n.left+n.width,a=(e=this._activeTabItem)==null?void 0:e.getSlideTabItem().getBoundingClientRect();if(!a)return 0;let o=a.left,s=a.width;return o-8<r&&o+s>r&&(t=o-r-4),o<i&&o+s+8>i&&(t=o+s-i+4),t}destroy(){this.removeListener(),this._downActionX=0,this._moveActionX=0,this._compareDirection=0,this._compareIndex=0,this._slideTabItems=[],this._activeTabItem=null}_hasEditItem(){for(let e=0;e<this._slideTabItems.length;e++)if(this._slideTabItems[e].isEditMode())return!0;return!1}_autoScrollFrame(){if(this._activeTabItem)switch(this._compareDirection=this._activeTabItem.translateX(this._moveActionX),this._compareDirection){case 1:this._slideScrollbar.scrollX(this._slideScrollbar.getScrollX()+this._scrollIncremental),this._compareRight();break;case 0:this._slideScrollbar.scrollX(this._slideScrollbar.getScrollX()+this._scrollIncremental),this._compareIndex=this._activeTabItemIndex;break;case-1:this._slideScrollbar.scrollX(this._slideScrollbar.getScrollX()+this._scrollIncremental),this._compareLeft();break}this._autoScrollTime=requestAnimationFrame(()=>{this._autoScrollFrame()})}_startAutoScroll(){this._autoScrollTime==null&&this._autoScrollFrame()}_closeAutoScroll(){this._autoScrollTime&&cancelAnimationFrame(this._autoScrollTime),this._autoScrollTime=null}_scrollLeft(e){let t=this.getBoundingRect(),n=e.pageX-t.x;n<this._leftBoundingLine&&(this._scrollIncremental=-Math.min(Math.abs(n-this._leftBoundingLine)*.1,50))}_scrollRight(e){let t=this.getBoundingRect(),n=e.pageX-t.x;n>t.width-this._rightBoundingLine&&(this._scrollIncremental=Math.min(Math.abs(n-(t.width-this._rightBoundingLine))*.1,50))}_sortedItems(){if(this._activeTabItem!=null&&this._activeTabItemIndex!=null&&this._compareIndex!=null&&(this._slideTabItems.splice(this._activeTabItemIndex,1),this._slideTabItems.splice(this._compareIndex,0,this._activeTabItem),this._config.slideTabBarItemAutoSort))for(let e=0;e<this._slideTabItems.length;e++){let t=this._slideTabItems[e],n=this._slideTabItems[e+1];n&&t.after(n)}}_compareLeft(){if(this._activeTabItem&&this._activeTabItemIndex){let e=this._slideTabItems.findIndex(e=>e.equals(this._activeTabItem)),t=this._slideTabItems.length,n=[];for(let t=0;t<e&&!(t>=e);t++)n.push(this._slideTabItems[t]);for(let n=e+1;n<t;n++)this._slideTabItems[n].animate().translateX(0);let r=!0;for(let e=n.length-1;e>=0;e--){let t=n[e];Vv.leftLine(this._activeTabItem)<t.getMidLine()?(t.animate().translateX(this._activeTabItem.getWidth()),this._compareIndex=e,r=!1):(t.animate().translateX(0),r&&(this._compareIndex=this._activeTabItemIndex))}}}_compareRight(){if(this._activeTabItem){let e=this._slideTabItems.findIndex(e=>e.equals(this._activeTabItem)),t=this._slideTabItems.length,n=[];for(let r=e+1;r<t;r++)n.push(this._slideTabItems[r]);for(let t=0;t<e;t++)this._slideTabItems[t].animate().translateX(0);let r=!0;for(let t=0;t<n.length;t++){let i=n[t];Vv.rightLine(this._activeTabItem)>i.getMidLine()?(i.animate().translateX(-this._activeTabItem.getWidth()),this._compareIndex=e+t+1,r=!1):(i.animate().translateX(0),r&&(this._compareIndex=this._activeTabItemIndex))}}}_initConfig(){let e=this._slideTabBar.querySelectorAll(`${this._config.slideTabBarItemSelector}`);this._downActionX=0,this._moveActionX=0,this._compareDirection=0,this._compareIndex=0,this._slideTabItems=Vv.make(e,this),this._activeTabItemIndex=this._config.currentIndex,this._activeTabItem=this._slideTabItems[this._activeTabItemIndex]}};X(Uv,`LongPressDelay`,500),X(Uv,`DoubleClickDelay`,300);function Wv(e){let{leftEnd:t,rightEnd:n}=e;return t&&n?``:t?`inset -10px 0px 10px -10px rgba(0, 0, 0, 0.2)`:n?`inset 10px 0px 10px -10px rgba(0, 0, 0, 0.2)`:`inset 10px 0px 10px -10px rgba(0, 0, 0, 0.2), inset -10px 0px 10px -10px rgba(0, 0, 0, 0.2)`}function Gv(e){switch(e.id){case Ia.id:case qa.id:case Ki.id:case Ya.id:case xi.id:case Za.id:case Ua.id:return!0;default:return!1}}function Kv(){var e;let[t,n]=q([]),[r,i]=q(``),[a,o]=q(``),[s,c]=q(!1),[l,u]=q(null),d=Ks(null),f=Ks(null),p=V(N),m=V(Zf),h=V(Ue),g=V(Pe),_=V(Kf,Xe.OPTIONAL),v=V(Vo),y=V(Fi),b=V(Le),x=Cp(),S=Hn(v.resetOrder$),C=Bn(Mn),w=(e=C==null?void 0:C.contextMenu)==null?!0:e,T=Hs(()=>{var e;let t=(e=d.current)==null||(e=e.getActiveItem())==null?void 0:e.getSlideTabItem().getBoundingClientRect();return t?{left:t.left,top:t.top,bottom:t.bottom}:null},[]),E=Hs(()=>{setTimeout(()=>{var e;let t=(e=d.current)==null?void 0:e.getActiveItem();t&&(t.focus(),t.selectAll())},0)},[]),D=Hs((e,t)=>{g.open({id:e,title:{title:h.t(`sheetConfig.sheetNameErrorTitle`)},children:{title:t},cancelText:h.t(`button.cancel`),confirmText:h.t(`button.confirm`),onClose(){E(),g.close(e)},onConfirm(){E(),g.close(e)}})},[g,E,h]),O=Hs(e=>e.trim()===``?(D(`sheetNameEmptyAlert`,h.t(`sheetConfig.sheetNameCannotIsEmptyError`)),!0):!1,[h,D]),ee=Hs(e=>Mt(e)?!1:(D(`sheetNameSpecCharAlert`,h.t(`sheetConfig.sheetNameSpecCharError`)),!0),[h,D]),te=Hs(e=>{var t;if(((t=x.getActiveSheet())==null?void 0:t.getName())===e||!x.checkSheetName(e))return!1;let n=`sheetNameRepeatAlert`;return g.open({id:n,title:{title:h.t(`sheetConfig.sheetNameErrorTitle`)},children:{title:h.t(`sheetConfig.sheetNameAlreadyExistsError`)},cancelText:h.t(`button.cancel`),confirmText:h.t(`button.confirm`),onClose(){g.close(n),E()},onConfirm(){g.close(n),E()}}),!0},[g,E,h,x]),ne=Hs(()=>{var e,t;let n=x.getUnitId(),r=x.getActiveSheet();if(!r)return!1;let i=r.getSheetId(),a=v.getRule(n,i),o=y.getSubunitRuleList(n,i).length>0;if(a||o){var s,c;return(s=(c=b.getPermissionPoint(new jo(n).id))==null?void 0:c.value)==null?!1:s}return(e=(t=b.getPermissionPoint(new Mo(n).id))==null?void 0:t.value)==null?!1:e},[b,y,x,v]),k=Hs(()=>{var e;let t=x.getActiveSheet(),r=(e=t==null?void 0:t.getSheetId())==null?``:e;n(x.getSheets().filter(e=>!e.isSheetHidden()).map((e,n)=>{var r;let i=v.getRule(x.getUnitId(),e.getSheetId()),a=y.getSubunitRuleList(x.getUnitId(),e.getSheetId()).length>0,o=!!(i!=null&&i.permissionId||a);return{sheetId:e.getSheetId(),label:o?Y(zc,{children:[J(Ac,{className:`univer-shrink-0`}),J(`span`,{className:`univer-truncate univer-outline-none`,children:e.getName()})]}):J(`span`,{className:`univer-truncate univer-outline-none`,children:e.getName()}),index:n,selected:t===e,color:(r=e.getTabColor())==null?void 0:r}})),i(r)},[y,x,v]),re=Hs(()=>{var e;(e=d.current)==null||(e=e.getActiveItem())==null||e.setEditor()},[]),ie=Hs(e=>{o(Wv(e))},[]),ae=Hs(e=>{let t=e.calculateActiveTabItemScrollX();if(t){let n=e.getScrollbar();n.scrollX(n.getScrollX()+t)}m.setScroll({leftEnd:e.isLeftEnd(),rightEnd:e.isRightEnd()})},[m]),A=Hs(e=>{var t;let n=(t=f.current)==null?void 0:t.querySelector(`[data-u-comp=slide-tab-bar]`);if(!n)return;let r=new ResizeObserver(()=>{ae(e)});return r.observe(n),()=>r.disconnect()},[ae]),oe=Hs(e=>{w&&(_!=null&&_.isForceKeepVisible()||(u(e),c(!0)))},[_,w]),se=Hs(e=>{if(!e){c(!1);return}let t=T();t&&oe(t)},[T,oe]),ce=Hs((e,t)=>{p.executeCommand(e,{value:t,subUnitId:r}),c(!1)},[r,p]);Us(()=>{if(!s)return;let e=()=>{let e=T();e&&u(e)};return window.addEventListener(`resize`,e),()=>{window.removeEventListener(`resize`,e)}},[s,T]);let le=Hs(e=>{e.preventDefault();let t=e.target.closest(`[data-u-comp=slide-tab-item]`),n=t==null?void 0:t.dataset.id;if(!n||!t)return;let i=t.getBoundingClientRect(),a={left:i.left,top:i.top,bottom:i.bottom};if(n===r){oe(a);return}p.executeCommand(Ua.id,{unitId:x.getUnitId(),subUnitId:n}).finally(()=>{oe(a)})},[r,p,oe,x]),ue=Hs(e=>{var t,n;let r=e.target;if(r.closest(`[contenteditable=true]`))return;let i=r.closest(`[data-u-comp=slide-tab-item]`),a=i==null?void 0:i.dataset.id;if(!a)return;if(e.key===`Enter`||e.key===` `){e.preventDefault(),p.executeCommand(Ua.id,{unitId:x.getUnitId(),subUnitId:a});return}if(e.key!==`ArrowLeft`&&e.key!==`ArrowRight`)return;let o=Array.from((t=(n=f.current)==null?void 0:n.querySelectorAll(`[data-u-comp=slide-tab-item]`))==null?[]:t),s=o.findIndex(e=>e.dataset.id===a);if(s<0)return;e.preventDefault();let c=o[e.key===`ArrowRight`?Math.min(o.length-1,s+1):Math.max(0,s-1)],l=c==null?void 0:c.dataset.id;!c||!l||(c.focus(),p.executeCommand(Ua.id,{unitId:x.getUnitId(),subUnitId:l}))},[p,x]),de=Hs(()=>{let e=new Uv({slideTabBarSelector:`[data-u-comp=slide-tab-bar]`,slideTabBarItemSelector:`[data-u-comp=slide-tab-item]`,slideTabBarItemAutoSort:!0,slideTabBarContainer:f.current,currentIndex:0,onChangeName:(e,t)=>{var n;if(((n=x.getSheetBySheetId(e))==null?void 0:n.getName())===t){k();return}p.executeCommand(Ja.id,{subUnitId:e,name:t})},onSlideEnd:async(e,t)=>{await p.executeCommand(Xa.id,{order:t})},onChangeTab:(e,t)=>{p.executeCommand(Ua.id,{subUnitId:t,unitId:x.getUnitId()})},onScroll:e=>{m.setScroll(e)},onNameCheckAlert:e=>O(e)||ee(e)||te(e),onNameChangeCheck:ne});return d.current=e,{slideTabBar:e,disconnectResizeObserver:A(e)}},[ne,p,T,O,te,A,oe,m,ee,k,x]);return Us(()=>{k();let{slideTabBar:e,disconnectResizeObserver:t}=de(),n=p.onCommandExecuted(e=>{Gv(e)&&k()}),r=m.scroll$.subscribe(ie),i=m.scrollX$.subscribe(e=>{var t;(t=d.current)==null||t.flipPage(e)}),a=m.renameId$.subscribe(()=>{re()});return()=>{n.dispose(),e.destroy(),d.current=null,r.unsubscribe(),i.unsubscribe(),a.unsubscribe(),t==null||t()}},[p,de,S,re,m,ie,k,x]),Us(()=>{var e;if(!t.length)return;let n=t.findIndex(e=>e.sheetId===r);(e=d.current)==null||e.update(n>=0?n:0)},[r,t]),Us(()=>{let e=Ts(v.ruleChange$,y.ruleChange$).subscribe(()=>{k()});return()=>{e.unsubscribe()}},[y,k,v]),Us(()=>{!w&&s&&c(!1)},[s,w]),J(Iv,{showContextMenu:w,visible:s,anchorRect:l,onVisibleChange:se,onCommandSelect:ce,children:J(`div`,{className:`univer-max-w-[calc(100%-112px)] univer-overflow-hidden`,ref:f,onDragStart:e=>e.preventDefault(),onContextMenu:le,children:J(`div`,{"data-u-comp":`slide-tab-bar`,role:`tablist`,"aria-label":`Sheet tabs`,onKeyDown:ue,className:`univer-flex univer-select-none univer-flex-row univer-items-center univer-overflow-hidden univer-px-1.5 univer-py-1`,style:{boxShadow:a},children:t.map(e=>J(Fv,{...e,selected:r===e.sheetId},e.sheetId))})})})}const qv=()=>{var e,t;let[n,r]=q(!0),[i,a]=q(!0),o=V(N),s=V(Zf),c=V(Le),l=Cp().getUnitId(),u=Hn(c.getPermissionPoint$((e=new G(l))==null?void 0:e.id)),d=Hn(c.getPermissionPoint$((t=new wo(l))==null?void 0:t.id)),f=e=>{let{leftEnd:t,rightEnd:n}=e;r(t),a(n)};return Us(()=>{let e=s.scroll$.subscribe(Bt(e=>{f(e)},100));return()=>{e.unsubscribe()}},[]),Y(`div`,{className:`univer-relative univer-flex univer-h-full univer-min-w-0 univer-flex-1`,children:[Y(`div`,{className:`univer-flex univer-items-center`,children:[J(Nv,{className:`univer-mr-2`,onClick:()=>{o.executeCommand(bi.id),setTimeout(()=>{s.setAddSheet(0)},0)},disabled:!(d!=null&&d.value&&u!=null&&u.value),children:J(Oc,{})}),J(Pv,{})]}),J(Kv,{}),(!n||!i)&&Y(`div`,{className:`univer-relative univer-flex univer-items-center univer-px-2 after:univer-absolute after:univer-right-0 after:univer-top-1/2 after:univer-h-4 after:univer-w-px after:-univer-translate-y-1/2 after:univer-bg-gray-200 after:univer-content-[""]`,children:[J(Nv,{disabled:n,onClick:()=>{s.setScrollX(-100)},children:J(Mc,{className:`univer-rotate-180`})}),J(Nv,{disabled:i,onClick:()=>{s.setScrollX(100)},children:J(Mc,{})})]})]})},Jv=[50,75,100,125,150,175,200,400];function Yv(){let e=V(N),t=V(P),n=Cp(),r=Hn(V(Kf).visible$),i=Hs(()=>{if(!n)return 100;let e=n.getActiveSheet(),t=e&&e.getZoomRatio()*100||100;return Math.round(t)},[n]),[a,o]=q(()=>i());Us(()=>(o(i()),e.onCommandExecuted(e=>{(e.id===Jf.id||e.id===Ua.id)&&o(i())}).dispose),[e,i]);function s(n){o(n);let r=t.getCurrentUnitForType(L.UNIVER_SHEET),i=r==null?void 0:r.getActiveSheet();if(i==null)return;let a=n/100;e.executeCommand(Xf.id,{unitId:r.getUnitId(),subUnitId:i.getSheetId(),zoomRatio:a})}return J(An,{disabled:(r==null?void 0:r.visible)&&(r.unitId===(n==null?void 0:n.getUnitId())||r.unitId===fe),min:Tl[0],value:a,shortcuts:Jv,onChange:s})}function Xv(){return J(`section`,{className:`univer-flex univer-flex-shrink-0 univer-justify-end`,children:J(Yv,{})})}var Zv=class{constructor(){X(this,`_functions`,[{func:Vc.MAX,filter:e=>{var t,n,r,i;return((t=(n=e.values.find(e=>e.func===Vc.COUNTA))==null?void 0:n.value)==null?0:t)>1&&((r=(i=e.values.find(e=>e.func===Vc.COUNT))==null?void 0:i.value)==null?0:r)>0}},{func:Vc.MIN,filter:e=>{var t,n,r,i;return((t=(n=e.values.find(e=>e.func===Vc.COUNTA))==null?void 0:n.value)==null?0:t)>1&&((r=(i=e.values.find(e=>e.func===Vc.COUNT))==null?void 0:i.value)==null?0:r)>0}},{func:Bc.SUM,filter:e=>{var t,n,r,i;return((t=(n=e.values.find(e=>e.func===Vc.COUNTA))==null?void 0:n.value)==null?0:t)>1&&((r=(i=e.values.find(e=>e.func===Vc.COUNT))==null?void 0:i.value)==null?0:r)>0}},{func:Vc.COUNTA,filter:e=>{var t,n;return((t=(n=e.values.find(e=>e.func===Vc.COUNTA))==null?void 0:n.value)==null?0:t)>1}},{func:Vc.COUNT,filter:e=>{var t,n,r,i;return((t=(n=e.values.find(e=>e.func===Vc.COUNTA))==null?void 0:n.value)==null?0:t)>1&&((r=(i=e.values.find(e=>e.func===Vc.COUNT))==null?void 0:i.value)==null?0:r)>0}},{func:Vc.AVERAGE,filter:e=>{var t,n,r,i;return((t=(n=e.values.find(e=>e.func===Vc.COUNTA))==null?void 0:n.value)==null?0:t)>1&&((r=(i=e.values.find(e=>e.func===Vc.COUNT))==null?void 0:i.value)==null?0:r)>0}}]),X(this,`_state$`,new hs(null)),X(this,`state$`,this._state$.asObservable())}dispose(){this._state$.complete()}setState(e){var t;let n={values:[],pattern:null};e==null||e.values.forEach(t=>{let r=this._functions.find(e=>e.func===t.func);r&&(r.filter===void 0||r.filter(e))&&n.values.push(t)}),n.pattern=(t=e==null?void 0:e.pattern)==null?null:t,this._state$.next(n)}getState(){return this._state$.getValue()}getFunctions(){return this._functions}addFunctions(e){this._functions.push(...e)}};const Qv=pt(`univer.sheet-status-bar.service`),$v=[Bc.SUM,Vc.AVERAGE,Vc.MIN,Vc.MAX],ey={[Bc.SUM]:`statusbar.sum`,[Vc.AVERAGE]:`statusbar.average`,[Vc.MIN]:`statusbar.min`,[Vc.MAX]:`statusbar.max`,[Vc.COUNT]:`statusbar.count`,[Vc.COUNTA]:`statusbar.countA`,[Hc.CONCATENATE]:`concatenate`},ty=e=>{let t=V(Ue),n=V(gn),r=V(dn),i=ny(e);return J(dc,{title:t.t(`statusbar.clickToCopy`),placement:`top`,children:J(`div`,{className:`univer-flex univer-cursor-pointer univer-truncate univer-text-center univer-text-xs univer-text-gray-400`,onClick:async()=>{await r.writeText(e.value.toString()),n.show({type:ic.Success,content:t.t(`statusbar.copied`)})},children:J(`span`,{children:`${t.t((ey==null?void 0:ey[e.name])||e.name)}: ${i}`})},e.name)})};function ny(e){let{pattern:t,value:n}=e;return typeof n==`number`?n>=1e8?n.toExponential(2):t&&$v.includes(e.name)?Nt.format(t,n,{throws:!1}):n.toLocaleString():0}const ry=()=>{var e,t;let n=(e=(t=Bn(`sheets-ui.config`))==null?void 0:t.statusBarStatistic)==null?!0:e,[r,i]=q(window.innerWidth<800),a=V(Qv),{showList:o,show:s}=((e,t,n,r)=>{let[i,a]=q(e),[o,s]=q(!0),c=Gs(()=>i.filter(e=>e.show&&!e.disable),[i]),l=Gs(()=>c.find(e=>e.show&&!e.disable),[c]),u=Gs(()=>n&&l?[l]:c,[n,l,c]),d=Hs(e=>{let t=e==null?void 0:e.values;if(!(t!=null&&t.length)){s(!1);return}s(!0),a(n=>n.map(n=>{var r,i,a;return{...n,value:(r=(i=t.find(e=>e.func===n.name))==null?void 0:i.value)==null?n.value:r,disable:!t.some(e=>e.func===n.name),pattern:(a=e==null?void 0:e.pattern)==null?null:a}}))},[]);return Us(()=>{if(!r)return;let e=t.state$.subscribe(d);return()=>e.unsubscribe()},[r,t,d]),{statistics:i,showList:u,show:o}})(a.getFunctions().map((e,t)=>({name:e.func,value:0,show:!0,disable:!1,pattern:null})),a,r,n),c=gt(()=>{let e=window.innerWidth<800;r!==e&&i(e)},100);Us(()=>(window.addEventListener(`resize`,c),()=>{window.removeEventListener(`resize`,c)}),[r]);let l=((e,t,r)=>n?Gs(()=>e.length>t?e.reduce((t,n,r)=>(r%2==0&&t.push(e.slice(r,r+2)),t),[]).map((e,t)=>Y(`div`,{className:`univer-grid univer-h-full univer-items-center`,children:[e[0]&&J(r,{...e[0]},e[0].name),e[1]&&J(r,{...e[1]},e[1].name)]},`stat-col-${t}`)):e.map(e=>J(`div`,{className:`univer-grid univer-h-full univer-items-center`,children:J(r,{...e})},e.name)),[e,t,r]):null)(o,3,ty);return s&&J(`div`,{className:gc(`univer-relative univer-box-border univer-flex univer-h-full univer-items-center univer-overflow-hidden univer-px-2 after:univer-absolute after:univer-right-0 after:univer-top-1/2 after:univer-block after:univer-h-4 after:univer-w-px after:-univer-translate-y-1/2 after:univer-bg-gray-200 after:univer-content-[""]`,{"univer-max-w-32":r,"univer-max-w-fit":!r}),children:J(`div`,{className:`univer-flex univer-h-full univer-gap-x-2`,children:l})})};function iy(){var e;let t=Bn(rp),n=V(hn),r=(e=t==null?void 0:t.footer)==null?!0:e;if(!Cp()||!r)return null;let i=n.getMenuByPositionKey(Xt.FOOTER_MENU),{sheetBar:a=!0,statisticBar:o=!0,menus:s=!0,zoomSlider:c=!0}=(t==null?void 0:t.footer)||{};return!a&&!o&&!s&&!c?null:Y(`section`,{className:`univer-box-border univer-grid univer-w-full univer-grid-flow-col univer-grid-cols-[1fr,auto,auto,auto] univer-items-center univer-justify-between univer-bg-white univer-px-5 univer-text-gray-900 dark:!univer-bg-gray-900 dark:!univer-text-gray-200`,style:{height:36},"data-range-selector":!0,children:[a&&J(qv,{}),o&&J(ry,{}),s&&i.length>0&&J(`div`,{className:`univer-box-border univer-flex univer-gap-2 univer-px-2`,children:i.map(e=>{var t;return(t=e.children)==null?void 0:t.map(e=>(e==null?void 0:e.item)&&J(jn,{...e.item},e.key))})}),c&&J(Xv,{})]})}function ay(){let e=Bn(rp);return sy()?(e==null?void 0:e.formulaBar)===!1?null:J(Mv,{}):null}function oy(){let e=Bn(rp),t=sy(),n=V(Jt).get(`ShapeTextEditorContainer`);return t?Y(zc,{children:[n&&J(n,{}),!(e!=null&&e.disableEdit)&&J(Ov,{}),J(wv,{})]}):null}function sy(){let e=V(P);return Gs(()=>e.getAllUnitsForType(L.UNIVER_SHEET).length>0,[e,!!Hn(()=>e.getCurrentTypeOfUnit$(L.UNIVER_SHEET),null,!1,[])])}const cy={id:oo.id,preconditions:e=>pl(e),binding:R.D|Cn.CTRL_COMMAND},ly={id:co.id,preconditions:e=>pl(e),binding:R.R|Cn.CTRL_COMMAND},uy={id:Ta.id,preconditions:e=>pl(e),binding:R.Digit9|Cn.CTRL_COMMAND},dy={id:ca.id,preconditions:e=>pl(e),binding:R.Digit0|Cn.CTRL_COMMAND|Cn.SHIFT},fy={id:Df.id,description:`shortcut.sheet.select-below-cell`,group:`3_sheet-view`,binding:R.ARROW_DOWN,priority:100,preconditions:pl,staticParameters:{direction:j.DOWN}},py={id:Df.id,description:`shortcut.sheet.select-up-cell`,group:`3_sheet-view`,binding:R.ARROW_UP,priority:100,preconditions:pl,staticParameters:{direction:j.UP}},my={id:Df.id,description:`shortcut.sheet.select-left-cell`,group:`3_sheet-view`,binding:R.ARROW_LEFT,priority:100,preconditions:ml,staticParameters:{direction:j.LEFT}},hy={id:Df.id,description:`shortcut.sheet.select-right-cell`,group:`3_sheet-view`,binding:R.ARROW_RIGHT,priority:100,preconditions:ml,staticParameters:{direction:j.RIGHT}},gy={id:Of.id,description:`shortcut.sheet.select-next-cell`,group:`3_sheet-view`,binding:R.TAB,priority:100,preconditions:pl,staticParameters:{direction:j.RIGHT,keycode:R.TAB}},_y={id:Of.id,description:`shortcut.sheet.select-previous-cell`,group:`3_sheet-view`,binding:R.TAB|Cn.SHIFT,priority:100,preconditions:pl,staticParameters:{direction:j.LEFT,keycode:R.TAB}},vy={id:Of.id,description:`shortcut.sheet.select-below-cell`,group:`3_sheet-view`,binding:R.ENTER,priority:100,preconditions:pl,staticParameters:{direction:j.DOWN,keycode:R.ENTER}},yy={id:Of.id,description:`shortcut.sheet.select-up-cell`,group:`3_sheet-view`,binding:R.ENTER|Cn.SHIFT,priority:100,preconditions:pl,staticParameters:{direction:j.UP,keycode:R.ENTER}},by={id:Df.id,description:`shortcut.sheet.select-below-value-cell`,group:`3_sheet-view`,binding:R.ARROW_DOWN|Cn.CTRL_COMMAND,preconditions:pl,staticParameters:{direction:j.DOWN,jumpOver:Ef.moveGap}},xy={id:Df.id,description:`shortcut.sheet.select-up-value-cell`,group:`3_sheet-view`,binding:R.ARROW_UP|Cn.CTRL_COMMAND,preconditions:pl,staticParameters:{direction:j.UP,jumpOver:Ef.moveGap}},Sy={id:Df.id,description:`shortcut.sheet.select-left-value-cell`,group:`3_sheet-view`,binding:R.ARROW_LEFT|Cn.CTRL_COMMAND,preconditions:pl,staticParameters:{direction:j.LEFT,jumpOver:Ef.moveGap}},Cy={id:Df.id,description:`shortcut.sheet.select-right-value-cell`,group:`3_sheet-view`,binding:R.ARROW_RIGHT|Cn.CTRL_COMMAND,preconditions:pl,staticParameters:{direction:j.RIGHT,jumpOver:Ef.moveGap}},wy={id:kf.id,description:`shortcut.sheet.expand-selection-down`,group:`3_sheet-view`,binding:R.ARROW_DOWN|Cn.SHIFT,preconditions:pl,staticParameters:{direction:j.DOWN}},Ty={id:kf.id,description:`shortcut.sheet.expand-selection-up`,group:`3_sheet-view`,binding:R.ARROW_UP|Cn.SHIFT,preconditions:pl,staticParameters:{direction:j.UP}},Ey={id:kf.id,description:`shortcut.sheet.expand-selection-left`,group:`3_sheet-view`,binding:R.ARROW_LEFT|Cn.SHIFT,preconditions:pl,staticParameters:{direction:j.LEFT}},Dy={id:kf.id,description:`shortcut.sheet.expand-selection-right`,group:`3_sheet-view`,binding:R.ARROW_RIGHT|Cn.SHIFT,preconditions:pl,staticParameters:{direction:j.RIGHT}},Oy={id:kf.id,description:`shortcut.sheet.expand-selection-to-below-gap`,group:`3_sheet-view`,binding:R.ARROW_DOWN|Cn.SHIFT|Cn.CTRL_COMMAND,preconditions:pl,staticParameters:{direction:j.DOWN,jumpOver:Ef.moveGap}},ky={id:kf.id,description:`shortcut.sheet.expand-selection-to-up-gap`,group:`3_sheet-view`,binding:R.ARROW_UP|Cn.SHIFT|Cn.CTRL_COMMAND,preconditions:pl,staticParameters:{direction:j.UP,jumpOver:Ef.moveGap}},Ay={id:kf.id,description:`shortcut.sheet.expand-selection-to-left-gap`,group:`3_sheet-view`,binding:R.ARROW_LEFT|Cn.SHIFT|Cn.CTRL_COMMAND,preconditions:pl,staticParameters:{direction:j.LEFT,jumpOver:Ef.moveGap}},jy={id:kf.id,description:`shortcut.sheet.expand-selection-to-right-gap`,group:`3_sheet-view`,binding:R.ARROW_RIGHT|Cn.SHIFT|Cn.CTRL_COMMAND,preconditions:pl,staticParameters:{direction:j.RIGHT,jumpOver:Ef.moveGap}},My={id:Af.id,description:`shortcut.sheet.select-all`,group:`3_sheet-view`,binding:R.A|Cn.CTRL_COMMAND,preconditions:pl,staticParameters:{expandToGapFirst:!0,loop:!0}},Ny={id:Td.id,description:`shortcut.sheet.set-bold`,group:`4_sheet-edit`,preconditions:e=>pl(e),binding:R.B|Cn.CTRL_COMMAND},Py={id:Ed.id,description:`shortcut.sheet.set-italic`,group:`4_sheet-edit`,preconditions:e=>pl(e),binding:R.I|Cn.CTRL_COMMAND},Fy={id:Dd.id,description:`shortcut.sheet.set-underline`,group:`4_sheet-edit`,preconditions:e=>pl(e),binding:R.U|Cn.CTRL_COMMAND},Iy={id:Od.id,description:`shortcut.sheet.set-strike-through`,group:`4_sheet-edit`,preconditions:e=>pl(e),binding:R.X|Cn.SHIFT|Cn.CTRL_COMMAND},Ly={id:Gr.id,preconditions:e=>pl(e),binding:R.DELETE,mac:R.BACKSPACE},Ry={id:Gr.id,preconditions:e=>pl(e),mac:R.DELETE},zy={id:Gr.id,preconditions:e=>pl(e),binding:Cn.SHIFT+R.BACKSPACE},By={id:Zu.id,preconditions:e=>pl(e),binding:Cn.SHIFT+R.DELETE},Vy={id:Yf.id,description:`shortcut.sheet.zoom-in`,binding:R.EQUAL|Cn.CTRL_COMMAND,group:`3_sheet-view`,preconditions:pl,priority:1,staticParameters:{delta:.2}},Hy={id:Ge.id,binding:R.EQUAL|Cn.CTRL_COMMAND},Uy={id:Yf.id,description:`shortcut.sheet.zoom-out`,binding:R.MINUS|Cn.CTRL_COMMAND,group:`3_sheet-view`,preconditions:pl,priority:1,staticParameters:{delta:-.2}},Wy={id:Ge.id,binding:R.MINUS|Cn.CTRL_COMMAND},Gy={id:Yf.id,description:`shortcut.sheet.reset-zoom`,binding:R.Digit0|Cn.CTRL_COMMAND,preconditions:pl,group:`3_sheet-view`,priority:1,staticParameters:{reset:!0}},Ky={id:Ge.id,binding:R.Digit0|Cn.CTRL_COMMAND};let qy=class extends M{constructor(e,t,n,r,i,a,o,s){super(),this._injector=e,this._componentManager=t,this._layoutService=n,this._commandService=r,this._shortcutService=i,this._menuManagerService=a,this._uiPartsService=o,this._configService=s,this._init()}_init(){this._initComponents(),this._initCommands(),this._initMenus(),this._initShortcuts(),this._initWorkbenchParts(),this._initFocusHandler()}_initComponents(){let e=this._componentManager;this.disposeWithMe(e.register(Jh,Yh)),this.disposeWithMe(e.register(Gh,qh)),this.disposeWithMe(e.register(zh,Wh)),this.disposeWithMe(e.register(fp,Sv)),this.disposeWithMe(e.register(mv,bv)),this.disposeWithMe(e.register(`HideGridlinesDoubleIcon`,Dc))}_initCommands(){[Yf,kf,Df,Of,lp,lf,sf,cf,Sd,Cd,zf,Bf,Af,np,aa,cp,op,sp,Td,Ed,Dd,Od,kd,Ad,jd,Md,Nd,Pd,Fd,Id,ya,Na,pa,ma,pf,mf,hf,gf,Lf,Rf,yf,bf,xf,Sf,Cf,up,Ba,Xf,Jf,$f,Ld,od,Rd,ad,pp,Qd,dp,$d,ef,tf,nf,rf,tp,af,of,ep,Wf,Nl,Pl,Kp].forEach(e=>{this.disposeWithMe(this._commandService.registerCommand(e))})}_initMenus(){this._menuManagerService.mergeMenu(pv)}_initShortcuts(){[fy,py,my,hy,gy,_y,vy,yy,by,xy,Sy,Cy,wy,Ty,Ey,Dy,Oy,ky,Ay,jy,My,Vy,Uy,Gy,Ky,Hy,Wy,Ny,Py,Fy,Iy,Ly,Ry,zy,By,...Yp(),Qp,Zp,Xp,$p,nm,rm,im,om,em,tm,am,cy,ly,uy,dy].forEach(e=>{this.disposeWithMe(this._shortcutService.registerShortcut(e))})}_initWorkbenchParts(){let e=this._uiPartsService,t=this._injector;this.disposeWithMe(e.registerComponent(Gt.HEADER,()=>Pn(ay,t))),this.disposeWithMe(e.registerComponent(Gt.FOOTER,()=>Pn(iy,t))),this.disposeWithMe(e.registerComponent(Gt.CONTENT,()=>Pn(oy,t)))}_initFocusHandler(){this.disposeWithMe(this._layoutService.registerFocusHandler(L.UNIVER_SHEET,e=>{let t=this._injector.get(Xn),n=this._injector.get(P),r=yr(L.UNIVER_DOC,n,t),i=r==null?void 0:r.with(s);i==null||i.focus()}))}};qy=Q([Z(0,F(ze)),Z(1,F(Jt)),Z(2,mn),Z(3,N),Z(4,yn),Z(5,hn),Z(6,xn),Z(7,Ne)],qy);const Jy=mt(`statusBarPermissionCorrect`);var Yy=class{constructor(){X(this,`_sum`,0),X(this,`_count`,0),X(this,`_countNumber`,0),X(this,`_min`,1/0),X(this,`_max`,-1/0)}add(e,t,n){if(!tt.isDefine(e==null?void 0:e.v))return;let r=e==null?void 0:e.t,{v:i}=e,a=e=>{this._sum+=e,this._countNumber++,this._min=Math.min(this._min,e),this._max=Math.max(this._max,e)},o=(e,t,n)=>{var r;if(!(!(e==null||(r=e.n)==null)&&r.pattern))return;let{pattern:i}=e.n;n[i]||(n[i]=Nt.getFormatInfo(i)),n[i].isDate&&a(t)};if(typeof i==`string`&&r===ie.NUMBER){let e=Number(i);Number.isNaN(e)||(i=e)}typeof i==`number`&&r!==ie.STRING?a(i):r===ie.NUMBER&&e.s&&o(t.get(e.s),i,n),this._count++}getResults(){return{sum:this._sum,count:this._countNumber,countA:this._count,min:this._min,max:this._max}}};function Xy(e){let{sum:t,count:n,countA:r,min:i,max:a}=e.getResults();return[{func:Vc.MAX,value:a},{func:Vc.MIN,value:i},{func:Bc.SUM,value:t},{func:Vc.COUNTA,value:r},{func:Vc.COUNT,value:n},{func:Vc.AVERAGE,value:t/n}]}let Zy=class extends M{constructor(e,t,n,r,i,a){super(),this._univerInstanceService=e,this._selectionManagerService=t,this._statusBarService=n,this._commandService=r,this._numfmtService=i,this._formulaDataModel=a,X(this,`interceptor`,new Ve({STATUS_BAR_PERMISSION_CORRECT:Jy})),this._init()}_init(){this._registerSelectionListener()}_registerSelectionListener(){let e=gt(e=>{var t;let n=(t=e[e.length-1])==null?void 0:t.primary;this._calculateSelection(e.map(e=>e.range),n)},100),t=gt(e=>{var t;let n=(t=e[e.length-1])==null?void 0:t.primary;this._calculateSelection(e.map(e=>e.range),n)},500);this.disposeWithMe(Vt(this._selectionManagerService.selectionMoving$.subscribe(e=>{e&&t(e)}))),this.disposeWithMe(Vt(this._selectionManagerService.selectionMoveEnd$.subscribe(t=>{t&&e(t)}))),this.disposeWithMe(Vt(this._selectionManagerService.selectionSet$.subscribe(t=>{t&&e(t)}))),this.disposeWithMe(this._commandService.onCommandExecuted(t=>{if(t.id===Sa.id){let n=this._selectionManagerService.getCurrentSelections(),{cellValue:r}=t.params;if(n&&n.length>0&&r){let t=new Ke(r),i=!1;t.forValue((e,t)=>{if(n.some(n=>{let r=n.range;return e>=r.startRow&&e<=r.endRow&&t>=r.startColumn&&t<=r.endColumn}))return i=!0,!1}),i&&e(n)}}}))}_clearResult(){this._statusBarService.setState(null)}getRangeStartEndInfo(e,t){return e.rangeType===I.ALL?{startRow:0,startColumn:0,endRow:t.getRowCount()-1,endColumn:t.getColumnCount()-1}:e.rangeType===I.COLUMN?{startRow:0,startColumn:e.startColumn,endRow:t.getRowCount()-1,endColumn:e.endColumn}:e.rangeType===I.ROW?{startRow:e.startRow,startColumn:0,endRow:e.endRow,endColumn:t.getColumnCount()-1}:{startRow:e.startRow,startColumn:e.startColumn,endRow:e.endRow,endColumn:e.endColumn}}_getCellValue(e,t,n,r){var i;let a=n.getCellRaw(e,t),o=r==null||(i=r[e])==null?void 0:i[t];if(o){var s,c,l;return{t:(s=o.t)==null?a==null?void 0:a.t:s,v:(c=o.v)==null?a==null?void 0:a.v:c,s:(l=o.s)==null?a==null?void 0:a.s:l}}return a}_calculateSelection(e,t){let n=this._univerInstanceService.getCurrentUnitForType(L.UNIVER_SHEET);if(!n)return this._clearResult();let r=n.getUnitId(),i=n.getActiveSheet(),a=i==null?void 0:i.getSheetId();if(!a)return this._clearResult();let o={};if(this._univerInstanceService.getCurrentUnitForType(L.UNIVER_SHEET).getSheets().forEach(e=>{let t=e.getConfig();o[e.getSheetId()]={cellData:new Ke(t.cellData),rowCount:t.rowCount,columnCount:t.columnCount,rowData:t.rowData,columnData:t.columnData}}),e!=null&&e.length){var s;let o=[];e.forEach(e=>{let{startRow:t,endRow:n}=e,r=null;for(let a=t;a<=n;a++)i.getRowVisible(a)?r===null&&(r=a):r!==null&&(o.push({...e,startRow:r,endRow:a-1}),r=null);r!==null&&o.push({...e,startRow:r,endRow:n})});let l=zt(o),u=new Yy,d=n.getStyles(),f={},p=this._formulaDataModel.getArrayFormulaCellData(),m=p==null||(s=p[r])==null?void 0:s[a];for(let e of l){let{startRow:t,startColumn:n,endColumn:r,endRow:a}=this.getRangeStartEndInfo(e,i);for(let e=t;e<=a;e++)for(let t=n;t<=r;t++){let n=this._getCellValue(e,t,i,m);u.add(n,d,f)}}let h=Xy(u);if(h.every(e=>e===void 0))return;let g=null;if(t){var c;let{actualRow:e,actualColumn:n}=t;g=(c=this._numfmtService.getValue(r,a,e,n))==null?void 0:c.pattern}let _={values:h.filter(e=>e!==void 0),pattern:g};this._statusBarService.setState(_)}else this._clearResult()}};Zy=Q([Z(0,P),Z(1,F(W)),Z(2,Qv),Z(3,N),Z(4,F(ai)),Z(5,F(Uc))],Zy);const Qy=(e=[])=>{let t=V(Jl);Us(()=>{let n=e.map(e=>t.addShape({range:e,style:{fill:`rgba(73, 184, 17, 0.05)`,strokeWidth:1,stroke:`#49B811`,widgets:{}},primary:null}));return()=>{n.forEach(e=>{e&&t.removeShape(e)})}},[e])};var $y=`@univerjs/sheets-ui`,eb=`0.20.1`;let tb=function(e){return e[e.INFO=0]=`INFO`,e[e.WARNING=1]=`WARNING`,e[e.ERROR=2]=`ERROR`,e}({}),nb=class extends M{get currentAlert(){return this._currentAlert}constructor(e,t){super(),this._renderManagerService=e,this._cellPopupManagerService=t,X(this,`_currentAlert$`,new vs),X(this,`_currentAlert`,new Map),X(this,`currentAlert$`,this._currentAlert$.asObservable()),this.disposeWithMe(()=>{this._currentAlert$.complete()})}showAlert(e){let t=this._currentAlert.get(e.key);t&&t.dispose.dispose(),t?t.dispose.dispose():(t={alert:e,dispose:{dispose(){}}},this._currentAlert.set(e.key,t));let{location:n}=e,{row:r,col:i,unitId:a,subUnitId:o}=n;if(!this._renderManagerService.getRenderById(a))return;let s=this._cellPopupManagerService.showPopup({unitId:a,subUnitId:o,row:r,col:i},{componentKey:ib,direction:`horizontal`,extraProps:{alert:e},priority:1});if(s){if(t){var c;(c=t.dispose)==null||c.dispose()}t.dispose=s}this._currentAlert$.next(Array.from(this._currentAlert.entries()))}removeAlert(e){let t=this._currentAlert.get(e);t&&(this._currentAlert.delete(e),t==null||t.dispose.dispose(),this._currentAlert$.next(Array.from(this._currentAlert.entries())))}clearAlert(){this._currentAlert.forEach(e=>{e.dispose.dispose()}),this._currentAlert.clear(),this._currentAlert$.next(Array.from(this._currentAlert.entries()))}};nb=Q([Z(0,Xn),Z(1,F(yv))],nb);function rb({popup:e}){var t;let n=(t=e.extraProps)==null?void 0:t.alert;if(!n)return null;let{type:r,title:i,message:a}=n,o={[tb.ERROR]:J(wc,{className:`univer-mr-1.5 univer-text-red-500`}),[tb.INFO]:J(kc,{className:`univer-mr-1.5 univer-text-blue-500`}),[tb.WARNING]:J(Lc,{className:`univer-mr-1.5 univer-text-yellow-500`})};return Y(`div`,{className:`univer-z-[100] univer-box-border univer-w-[156px] univer-rounded-lg univer-bg-white univer-px-2 univer-py-1 univer-text-gray-900 univer-shadow dark:!univer-bg-black dark:!univer-text-white`,children:[Y(`div`,{className:`univer-mb-1.5 univer-flex univer-h-5 univer-flex-row univer-items-center univer-text-sm univer-font-medium`,children:[r?o[r]:null,i]}),J(`div`,{className:`univer-text-sm`,children:a})]})}const ib=`univer.sheet.cell-alert`;let ab=class extends M{constructor(e,t){super(),this._context=e,this._componentManager=t,this._initComponent()}_initComponent(){this.disposeWithMe(this._componentManager.register(ib,rb))}};ab=Q([Z(1,F(Jt))],ab);let ob=class extends M{constructor(e,t,n){super(),this._context=e,this._editorBridgeService=t,this._cellPopupManagerService=n,this._initEditorVisibleListener()}_initEditorVisibleListener(){this.disposeWithMe(this._editorBridgeService.visible$.pipe(Cs(e=>e.visible)).subscribe(()=>{let e=this._editorBridgeService.getEditLocation();e&&this._cellPopupManagerService.hidePopup(e.unitId,e.sheetId,e.row,e.column)}))}};ob=Q([Z(1,Kf),Z(2,F(yv))],ob);let sb=class extends M{constructor(e,t,n,r){super(),this._hoverManagerService=e,this._instanceService=t,this._commandService=n,this._renderManagerService=r,X(this,`_isPointer`,!1),this._initPointerEvent(),this._initHover()}get _mainComponent(){var e;return(e=yr(L.UNIVER_SHEET,this._instanceService,this._renderManagerService))==null?void 0:e.mainComponent}_initHover(){this.disposeWithMe(this._hoverManagerService.currentRichText$.subscribe(e=>{if(e!=null&&e.bullet){if(!this._isPointer){var t;(t=this._mainComponent)==null||t.setCursor(Wn.POINTER)}this._isPointer=!0}else{if(this._isPointer){var n;(n=this._mainComponent)==null||n.setCursor(Wn.AUTO)}this._isPointer=!1}}))}_initPointerEvent(){this.disposeWithMe(this._hoverManagerService.currentClickedCell$.subscribe(e=>{let{location:t,bullet:n}=e;n&&this._commandService.executeCommand(ho.id,{unitId:t.unitId,subUnitId:t.subUnitId,row:t.row,col:t.col,paragraphIndex:n.startIndex})}))}};sb=Q([Z(0,F(nh)),Z(1,P),Z(2,N),Z(3,Xn)],sb);let cb=class extends M{constructor(e,t,n,r,i){super(),this._selectionManagerService=e,this._themeService=t,this._instanceSrv=n,this._cmdSrv=r,this._definedNamesService=i,this._init()}_init(){this.disposeWithMe(Ts(this._selectionManagerService.selectionMoveStart$,this._selectionManagerService.selectionMoving$,this._selectionManagerService.selectionMoveEnd$,this._selectionManagerService.selectionSet$).pipe(Cs(e=>!!e)).subscribe(e=>{this._syncDefinedNameRange(e)})),this.disposeWithMe(this._definedNamesService.focusRange$.subscribe(async e=>{if(e==null)return;let{unitId:t}=e,{formulaOrRefString:n}=e;if(n.substring(0,1)===el.EQUALS&&(n=n.substring(1)),!Qc(n))return;let r=this._instanceSrv.getUnit(t),i=await this._getSelections(r,t,n);this._selectionManagerService.setSelections(i),this._cmdSrv.executeCommand(na.id,{unitId:t,range:i[0].range})}))}_syncDefinedNameRange(e){if(e.length===0)return;let t=e[e.length-1],n=this._instanceSrv.getCurrentUnitForType(L.UNIVER_SHEET),r=n==null?void 0:n.getActiveSheet();r&&this._definedNamesService.setCurrentRange({range:t.range,unitId:n.getUnitId(),sheetId:r.getSheetId()})}async _getSelections(e,t,n){let r=n.split(`,`),i=e.getActiveSheet();if(!i)return[];let a=[];for(let n=0;n<r.length;n++){let o=Xc(r[n].trim().trim());if(n===0){let n=e.getSheetBySheetName(o.sheetName);n&&i.getSheetId()!==n.getSheetId()&&(i=n,await this._cmdSrv.executeCommand(Ha.id,{subUnitId:i.getSheetId(),unitId:t}))}if(i.getName()!==o.sheetName)continue;let s=null;if(n===r.length-1){let{startRow:e,startColumn:t,endRow:n,endColumn:r}=o.range;s=us({startRow:e,startColumn:t,endRow:n,endColumn:r},i)}a.push({range:o.range,style:wl(this._themeService),primary:s})}return a}};cb=Q([Z(0,F(W)),Z(1,F(et)),Z(2,P),Z(3,N),Z(4,Wc)],cb);const lb={pageSize:{width:1/0,height:1/0},documentFlavor:_e.UNSPECIFIED,marginTop:5,marginBottom:5,marginRight:0,marginLeft:0,paragraphLineGapDefault:0,renderConfig:{horizontalAlign:je.UNSPECIFIED,verticalAlign:it.TOP,centerAngle:0,vertexAngle:0,wrapStrategy:ot.WRAP,isRenderStyle:ne.FALSE}};let ub=class extends M{constructor(e,t,n,r,i,a,o,s){super(),this._univerInstanceService=e,this._renderManagerService=t,this._editorBridgeService=n,this._commandService=r,this._rangeProtectionRuleModel=i,this._worksheetProtectionRuleModel=a,this._formulaEditorController=o,this._formulaEditorManagerService=s,this._initialize()}_initialize(){this._syncFormulaEditorContent(),this._commandExecutedListener()}_getEditorViewModel(e){var t;return(t=this._renderManagerService.getRenderById(e))==null?void 0:t.with(Ps).getViewModel()}_syncFormulaEditorContent(){this.disposeWithMe(this._editorBridgeService.currentEditCellState$.subscribe(e=>{e==null||this._editorBridgeService.isForceKeepVisible()||!this._rangeProtectionRuleModel.getRangeRuleInitState()||!this._worksheetProtectionRuleModel.getSheetRuleInitState()||this._editorSyncHandler(e)}))}_editorSyncHandler(e){var t,n,r;let i=tt.deepClone((t=e.documentLayoutObject.documentModel)==null?void 0:t.getBody()),a=tt.deepClone((n=e.documentLayoutObject.documentModel)==null?void 0:n.drawings),o=tt.deepClone((r=e.documentLayoutObject.documentModel)==null?void 0:r.getDrawingsOrder());(!i||e.isInArrayFormulaRange===!0&&this._editorBridgeService.isVisible().eventType===qn.Dblclick)&&(i={dataStream:`\r
|
|
12
|
+
`,paragraphs:[{startIndex:0}],textRuns:[]}),this._syncContentAndRender(fe,i,a,o)}_commandExecutedListener(){let e=[pe,fe];this.disposeWithMe(this._commandService.onCommandExecuted(t=>{if(t.id===Fs.id){let n=t.params,{unitId:r,trigger:i,isSync:a}=n;if(a||i===m.id)return;if(e.includes(r)){let e=this._univerInstanceService.getUnit(r,L.UNIVER_DOC),t=r===fe?pe:fe;this._checkAndSetRenderStyleConfig(e),this._syncActionsAndRender(t,n)}}}));let t=[Sa.id,ki.id];this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(!t.includes(e.id))return;let n=this._editorBridgeService.getEditLocation();if(n==null)return;let{row:r,column:i}=n;this._shouldRefreshCurrentEditCell(e,r,i)&&this._editorBridgeService.refreshEditCellState()}))}_shouldRefreshCurrentEditCell(e,t,n){if(e.id===Sa.id&&e.params){let r=e.params;return this._hasMatrixCell(r.cellValue,t,n)}if(e.id===ki.id&&e.params){let r=e.params;return this._hasMatrixCell(r.from.value,t,n)||this._hasMatrixCell(r.to.value,t,n)}return!1}_hasMatrixCell(e,t,n){let r=e==null?void 0:e[t];return r!=null&&Object.prototype.hasOwnProperty.call(r,n)}_syncActionsAndRender(e,t){let n=[pe,fe],r=this._renderManagerService.getRenderById(e);if(r==null)return;let i=r.with(Ps).getSkeleton(),a=this._univerInstanceService.getUnit(e,L.UNIVER_DOC),o=this._getEditorViewModel(e);if(!(a==null||o==null)&&(this._commandService.syncExecuteCommand(Fs.id,{...t,textRanges:null,isSync:!0,unitId:e,syncer:t.unitId}),o.reset(a),i.calculate(),n.includes(e))){var s;(s=r.mainComponent)==null||s.makeDirty()}}_syncContentAndRender(e,t,n,r){var i;e===fe&&t.paragraphs&&(t.paragraphs=this._clearParagraph(t.paragraphs));let a=[pe,fe],o=(i=this._renderManagerService.getRenderById(e))==null?void 0:i.with(Ps).getSkeleton(),s=this._univerInstanceService.getUnit(e,L.UNIVER_DOC),c=this._getEditorViewModel(e);if(s==null||c==null||o==null)return;s.getSnapshot().body=t,s.getSnapshot().drawings=n==null?{}:n,s.getSnapshot().drawingsOrder=r==null?[]:r,this._checkAndSetRenderStyleConfig(s),c.reset(s);let l=this._renderManagerService.getRenderById(e);if(l!=null){if(o.calculate(),a.includes(e)){var u;(u=l.mainComponent)==null||u.makeDirty()}e===fe&&this._formulaEditorController.autoScroll()}}_checkAndSetRenderStyleConfig(e){var t;let n=e.getSnapshot(),{body:r}=n;if(n.id!==fe)return;n.documentStyle=lb;let i=n.documentStyle.renderConfig;i==null&&(i={},n.documentStyle.renderConfig=i);let a=this._formulaEditorManagerService.getPosition();if(a){let e=a.width;n.documentStyle.pageSize={width:e,height:1/0}}((t=r==null?void 0:r.dataStream)==null?``:t).startsWith(`=`)?i.isRenderStyle=ne.TRUE:i.isRenderStyle=ne.FALSE}_clearParagraph(e){let t=tt.deepClone(e);for(let e of t)e.paragraphStyle&&(e.paragraphStyle.horizontalAlign=je.UNSPECIFIED);return t}};ub=Q([Z(0,P),Z(1,Xn),Z(2,Kf),Z(3,N),Z(4,F(Fi)),Z(5,F(Vo)),Z(6,F(Wm)),Z(7,Um)],ub);const db=`SHEET_FORCE_STRING_ALERT`;let fb=class extends M{constructor(e,t,n,r,i,a){super(),this._context=e,this._hoverManagerService=t,this._cellAlertManagerService=n,this._localeService=r,this._zenZoneService=i,this._configService=a,this._init()}_init(){this._initCellAlertPopup(),this._initZenService()}_initCellAlertPopup(){this.disposeWithMe(this._hoverManagerService.currentCell$.subscribe(e=>{if(e){let r=e.location,i=this._context.unit,a=i.getActiveSheet();if(!a)return this._hideAlert();let o=a.getCell(r.row,r.col);if(!o||o.v===null||o.v===void 0)return this._hideAlert();let s;if(o!=null&&o.s){let e=i.getStyles().get(o.s);e!=null&&e.n&&(s=e.n)}if(Ot(s==null?void 0:s.pattern)){this._hideAlert();return}if((o.t===ie.FORCE_STRING||o.t===ie.STRING)&&(Dt(o.v)||typeof o.v==`string`&&St(o.v))){var t,n;if((t=this._configService.getConfig(`sheets-ui.config`))!=null&&t.disableForceStringAlert)return;let i=this._cellAlertManagerService.currentAlert.get(db),a=i==null||(n=i.alert)==null?void 0:n.location;if(a&&a.row===e.location.row&&a.col===e.location.col&&a.subUnitId===e.location.subUnitId&&a.unitId===e.location.unitId){this._hideAlert();return}this._cellAlertManagerService.showAlert({type:tb.ERROR,title:this._localeService.t(`info.error`),message:this._localeService.t(`info.forceStringInfo`),location:r,width:200,height:74,key:db});return}}this._hideAlert()}))}_initZenService(){this.disposeWithMe(this._zenZoneService.visible$.subscribe(e=>{e&&this._hideAlert()}))}_hideAlert(){this._cellAlertManagerService.removeAlert(db)}};fb=Q([Z(1,F(nh)),Z(2,F(nb)),Z(3,F(Ue)),Z(4,Sn),Z(5,Ne)],fb);let pb=class extends $e{constructor(e,t,n,r){super(),this._context=e,this._sheetSkeletonManagerService=t,this._sheetInterceptorService=n,this._configService=r,this._initViewModelIntercept()}_initViewModelIntercept(){let e={tl:{size:6,color:`#409f11`}};this.disposeWithMe(this._sheetInterceptorService.intercept(ii.CELL_CONTENT,{priority:10,effect:Be.Style,handler:(t,n,r)=>{var i;if(!((i=this._sheetSkeletonManagerService.getCurrentParam())!=null&&i.skeleton))return r(t);let a=n.rawData;if(!a||a.v===null||a.v===void 0)return r(t);if(((t==null?void 0:t.t)===ie.FORCE_STRING||(t==null?void 0:t.t)===ie.STRING)&&(Dt(a.v)||typeof a.v==`string`&&St(a.v))){var o,s;let i=n.workbook.getStyles().get(a.s);return Ot(i==null||(o=i.n)==null?void 0:o.pattern)||(s=this._configService.getConfig(`sheets-ui.config`))!=null&&s.disableForceStringMark?r(t):(t===a&&(t={...a}),t.markers={...t==null?void 0:t.markers,...e},r(t))}return r(t)}}))}};pb=Q([Z(1,F(Vl)),Z(2,F(lo)),Z(3,Ne)],pb);let mb=class extends M{constructor(e,t,n,r,i,a,o){super(),this._commandService=e,this._formatPainterService=t,this._univerInstanceService=n,this._renderManagerService=r,this._selectionManagerService=i,this._sheetInterceptorService=a,this._injector=o,this._initialize()}_initialize(){this._addDefaultHook()}_addDefaultHook(){this._formatPainterService.addHook({id:`default-format-painter`,priority:0,isDefaultHook:!0,onStatusChange:e=>{if(e!==uf.OFF){let e=this._collectSelectionRangeFormat();e&&this._formatPainterService.setSelectionFormat(e)}},onApply:(e,t,n,r)=>this._getUndoRedoMutationInfo(e,t,n,r)})}_collectSelectionRangeFormat(){let e=this._selectionManagerService.getCurrentLastSelection(),t=e==null?void 0:e.range;if(!t)return null;let{startRow:n,endRow:r,startColumn:i,endColumn:a}=t,o=this._univerInstanceService.getCurrentUnitForType(L.UNIVER_SHEET),s=o==null?void 0:o.getActiveSheet();if(!s)return null;let c=s.getCellMatrix(),l=o.getStyles(),u=new Ke,d=[];for(let e=n;e<=r;e++)for(let t=i;t<=a;t++){let n=c.getValue(e,t);u.setValue(e,t,l.getStyleByCell(n)||{});let{isMergedMainCell:r,...i}=s.getCellInfoInMergeData(e,t);r&&d.push({startRow:i.startRow,startColumn:i.startColumn,endRow:i.endRow,endColumn:i.endColumn})}return{styles:u,merges:d}}_getUndoRedoMutationInfo(e,t,n,r){let i=this._sheetInterceptorService,a=this._univerInstanceService,{merges:o,styles:s}=r;if(!s)return{undos:[],redos:[]};let{startRow:c,startColumn:l,endRow:u,endColumn:d}=s.getDataRange(),f=u-c+1,p=d-l+1,m=n.startRow===n.endRow&&n.startColumn===n.endColumn?{startRow:n.startRow,startColumn:n.startColumn,endRow:n.startRow+f-1,endColumn:n.startColumn+p-1}:n,h=Array.from({length:m.endRow-m.startRow+1},()=>Array.from({length:m.endColumn-m.startColumn+1},()=>({}))),g=[];h.forEach((e,t)=>{e.forEach((e,n)=>{let r=t%f+c,i=n%p+l,a=s.getValue(r,i);a&&(h[t][n].s=Object.keys(a).length>0?a:null)})});let _=0,v=0;o.forEach(e=>{e.startRow===c&&e.startColumn===l&&(_=e.endRow-e.startRow,v=e.endColumn-e.startColumn);let t={startRow:e.startRow-c,startColumn:e.startColumn-l,endRow:e.endRow-c,endColumn:e.endColumn-l},n=Math.max(1,Math.floor((m.endRow-m.startRow+1)/f)),r=Math.max(1,Math.floor((m.endColumn-m.startColumn+1)/p));for(let e=0;e<n;e++)for(let n=0;n<r;n++)g.push({startRow:t.startRow+e*f+m.startRow,startColumn:t.startColumn+n*p+m.startColumn,endRow:t.endRow+e*f+m.startRow,endColumn:t.endColumn+n*p+m.startColumn})});let y=[m],b=new Ke,x=new Ke;if(tt.isArray(h))for(let e=0;e<y.length;e++){let{startRow:t,startColumn:n,endRow:r,endColumn:i}=y[e];for(let e=0;e<=r-t;e++)for(let r=0;r<=i-n;r++)b.setValue(e+t,r+n,{s:null}),x.setValue(e+t,r+n,h[e][r])}let S={subUnitId:t,unitId:e,cellValue:b.getMatrix()},C={subUnitId:t,unitId:e,cellValue:x.getMatrix()},w=this._injector.invoke(Ca,S),{undos:T,redos:E}=i.onCommandExecute({id:xa.id,params:{...C,range:y}}),D=[],O=[];if(g.length>0){let n=as(g),r=a.getUnit(e).getSheetBySheetId(t),i=hp(r,n),o={unitId:e,subUnitId:t,ranges:n},s={unitId:e,subUnitId:t,ranges:n};D.push({id:Ji.id,params:o}),D.push({id:Mr.id,params:s});let c=this._injector.invoke(Hi,o),l=this._injector.invoke(Er,s);if(O.push({id:Ji.id,params:l}),O.push({id:Mr.id,params:c}),i){let t=this._injector.invoke(t=>cs(t,e,r,n));D.unshift(...t.redos),O.push(...t.undos)}}if(!Qe.equals(m,n)){let r={actualRow:m.startRow,actualColumn:m.startColumn,rangeType:I.NORMAL,isMerged:_>0||v>0,isMergedMainCell:!1,startRow:m.startRow,startColumn:m.startColumn,endRow:m.startRow+_,endColumn:m.startColumn+v};D.push({id:Aa.id,params:{unitId:e,subUnitId:t,type:ra.ONLY_SET,selections:[{range:m,primary:r,style:null}]}}),O.unshift({id:Aa.id,params:{unitId:e,subUnitId:t,type:ra.ONLY_SET,selections:[{range:n,primary:r,style:null}]}})}return{undos:[{id:Sa.id,params:S},{id:Sa.id,params:w},...T,...O],redos:[{id:Sa.id,params:S},{id:Sa.id,params:C},...E,...D]}}};mb=Q([Z(0,N),Z(1,df),Z(2,P),Z(3,Xn),Z(4,F(W)),Z(5,F(lo)),Z(6,F(ze))],mb);let hb=class extends M{constructor(e,t,n,r){super(),this._context=e,this._markSelectionService=t,this._commandService=n,this._sheetSkeletonManagerService=r,this._initListeners()}_initListeners(){this._addRemoveListener(),this._addRefreshListener()}_addRemoveListener(){let e=[op.id];this.disposeWithMe(this._commandService.onCommandExecuted(t=>{e.includes(t.id)?this._markSelectionService.removeAllShapes():this._markSelectionService.getShapeMap().forEach((e,n)=>{e.exits.includes(t.id)&&this._markSelectionService.removeShape(n)})}))}_addRefreshListener(){this.disposeWithMe(this._sheetSkeletonManagerService.currentSkeleton$.subscribe(e=>{e&&this._markSelectionService.refreshShapes()}))}};hb=Q([Z(1,F(Jl)),Z(2,N),Z(3,F(Vl))],hb);function gb(){let e=Cp();return e?J(_b,{workbook:e}):null}function _b(e){let{workbook:t}=e,[n,r]=q([]),[i,a]=q(``),o=Ks(new Map),s=Ks(null),c=V(N),l=Hs(()=>{let e=t.getActiveSheet().getSheetId(),n=t.getSheets(),i=t.getActiveSheet();if(r(n.filter(e=>!e.isSheetHidden()).map((e,t)=>{var n;return{sheetId:e.getSheetId(),label:e.getName(),index:t,selected:i===e,color:(n=e.getTabColor())==null?void 0:n}})),a(e),o.current.has(e)){let t=o.current.get(e);if(t&&s.current){let e=s.current.clientWidth,n=t.clientWidth,r=t.offsetLeft-(e-n)/2;s.current.scrollTo({left:Math.max(0,r),behavior:`smooth`})}}o.current.clear()},[t]);Us(()=>l(),[l]);let u=Hs(e=>{c.executeCommand(Ua.id,{unitId:t.getUnitId(),subUnitId:e})},[t]);return Us(()=>{let e=c.onCommandExecuted(e=>{switch(e.id){case qa.id:case Ki.id:case Ya.id:case xi.id:case Za.id:case Ua.id:l();break;default:break}});return()=>e.dispose()},[l]),J(`div`,{ref:s,className:gc(`univer-h-10 univer-w-full univer-overflow-x-auto univer-overflow-y-hidden univer-border-b univer-border-gray-200 univer-bg-gradient-to-b univer-from-gray-50 univer-to-gray-100 dark:!univer-border-gray-700 dark:!univer-from-gray-800 dark:!univer-to-gray-900`,_c),role:`tablist`,"aria-label":`Sheet tabs`,children:J(`div`,{className:`univer-flex univer-h-full univer-flex-nowrap univer-items-center`,children:n.map(e=>Y(`div`,{ref:t=>{o.current.set(e.sheetId,t)},className:gc(`univer-relative univer-box-border univer-flex univer-h-full univer-max-w-36 univer-shrink-0 univer-cursor-pointer univer-select-none univer-items-center univer-justify-center univer-truncate univer-px-1 univer-py-0.5 univer-text-sm univer-font-medium univer-leading-6 univer-transition-all`,mc,{"univer-bg-white univer-text-blue-600 dark:!univer-bg-gray-700 dark:!univer-text-blue-400":e.sheetId===i,"univer-text-gray-600 hover:univer-bg-gray-50 active:univer-bg-gray-100 dark:!univer-text-gray-300 dark:hover:!univer-bg-gray-700":e.sheetId!==i}),role:`tab`,"aria-selected":e.sheetId===i,"aria-controls":`sheet-${e.sheetId}`,tabIndex:e.sheetId===i?0:-1,onClick:()=>u(e.sheetId),children:[J(`span`,{className:`univer-truncate`,children:e.label}),e.sheetId===i&&J(`div`,{className:gc(`univer-absolute univer-left-0 univer-right-0 univer-top-0 univer-h-1 univer-bg-blue-600 univer-transition-all dark:!univer-bg-blue-400`),style:e.color?{backgroundColor:e.color}:void 0,"aria-hidden":`true`})]},e.sheetId))})})}let vb=class extends M{constructor(e,t,n,r,i,a,o,s){super(),this._injector=e,this._componentManager=t,this._layoutService=n,this._commandService=r,this._shortcutService=i,this._menuManagerService=a,this._uiPartsService=o,this._configService=s,this._init()}_init(){this._initComponents(),this._initCommands(),this._initMenus(),this._initShortcuts(),this._initWorkbenchParts(),this._initFocusHandler()}_initComponents(){let e=this._componentManager;this.disposeWithMe(e.register(Jh,Yh)),this.disposeWithMe(e.register(Gh,qh)),this.disposeWithMe(e.register(zh,Wh)),this.disposeWithMe(e.register(fp,Sv)),this.disposeWithMe(e.register(mv,bv)),this.disposeWithMe(e.register(`HideGridlinesDoubleIcon`,Dc))}_initCommands(){[Yf,kf,Df,Of,lp,lf,sf,cf,Sd,Cd,zf,Bf,Af,np,aa,cp,op,sp,Td,Ed,Dd,Od,kd,Ad,jd,Pd,Fd,Id,ya,Na,pa,ma,pf,mf,hf,gf,Lf,Rf,yf,bf,xf,Sf,Cf,up,Ba,Xf,Jf,$f,Ld,od,Rd,ad,pp,Qd,dp,$d,ef,tf,nf,rf,tp,af,of,ep,Wf,Nl,Pl].forEach(e=>{this.disposeWithMe(this._commandService.registerCommand(e))})}_initMenus(){this._menuManagerService.mergeMenu(pv)}_initShortcuts(){[fy,py,my,hy,gy,_y,vy,yy,by,xy,Sy,Cy,wy,Ty,Ey,Dy,Oy,ky,Ay,jy,My,Vy,Uy,Gy,Ky,Hy,Wy,Ny,Py,Fy,Iy,Ly,Ry,zy,By,...Yp(),Qp,Xp,$p,nm,rm,im,om,em,tm,am,uy,dy].forEach(e=>{this.disposeWithMe(this._shortcutService.registerShortcut(e))})}_initWorkbenchParts(){let e=this._uiPartsService,t=this._injector;this.disposeWithMe(e.registerComponent(Gt.FOOTER,()=>Pn(gb,t))),this.disposeWithMe(e.registerComponent(Gt.CONTENT,()=>Pn(oy,t)))}_initFocusHandler(){this.disposeWithMe(this._layoutService.registerFocusHandler(L.UNIVER_SHEET,e=>{let t=this._injector.get(Xn),n=this._injector.get(P),r=yr(L.UNIVER_DOC,n,t),i=r==null?void 0:r.with(s);i==null||i.focus()}))}};vb=Q([Z(0,F(ze)),Z(1,F(Jt)),Z(2,mn),Z(3,N),Z(4,yn),Z(5,hn),Z(6,xn),Z(7,Ne)],vb);let yb=class extends M{constructor(e,t,n,r){super(),this._context=e,this._selectionRenderService=t,this._selectionManagerService=n,this._commandService=r,X(this,`_disposableCollection`,new ge),X(this,`_initialize`,()=>{let e=this._disposableCollection;this.disposeWithMe(this._selectionManagerService.selectionMoveEnd$.subscribe(()=>{e.dispose(),this._selectionRenderService.getSelectionControls().forEach(t=>{e.add(Vt(t.selectionMoveEnd$.subscribe(e=>{if(!e)return;let n=t.model.getRange(),r={startRow:n.startRow,startColumn:n.startColumn,endRow:n.endRow,endColumn:n.endColumn,rangeType:n.rangeType},i={startRow:e.startRow,startColumn:e.startColumn,endRow:e.endRow,endColumn:e.endColumn,rangeType:n.rangeType};if(r.startRow===i.startRow&&r.startColumn===i.startColumn||i.startRow<0||i.startColumn<0)return;let a={fromRange:r,toRange:i};this._commandService.executeCommand(Oi.id,a)})))})}))}),this._initialize()}dispose(){var e;super.dispose(),(e=this._disposableCollection)==null||e.dispose()}};yb=Q([Z(1,F(Il)),Z(2,F(W)),Z(3,F(N))],yb);let bb=class extends M{constructor(e){super(),this._sheetPermissionInitController=e,this._initPermission()}_initPermission(){this._sheetPermissionInitController.initPermission()}};bb=Q([Z(0,F(fo))],bb);let xb=class extends $e{constructor(e,t,n,r,i,a,o,s,c,l){super(),this._context=e,this._univerInstanceService=t,this._permissionService=n,this._selectionManagerService=r,this._rangeProtectionRuleModel=i,this._headerMoveRenderController=a,this._selectionRenderService=o,this._headerFreezeRenderController=s,this._rangeProtectionCache=c,this._headerResizeRenderController=l,X(this,`disposableCollection`,new ge),this._initHeaderMovePermissionInterceptor(),this._initHeaderResizePermissionInterceptor(),this._initRangeFillPermissionInterceptor(),this._initRangeMovePermissionInterceptor()}_initHeaderMovePermissionInterceptor(){let e=this._headerMoveRenderController.interceptor.getInterceptPoints().HEADER_MOVE_PERMISSION_CHECK;this.disposeWithMe(this._headerMoveRenderController.interceptor.intercept(e,{handler:(e,t)=>{let n=fs(this._univerInstanceService);if(!n)return!1;let{unitId:r,subUnitId:i}=n;if(!this._permissionService.composePermission([new G(r).id,new K(r,i).id]).every(e=>e.value))return!1;if(!t)return!0;if(t.rangeType!==I.ROW&&t.rangeType!==I.COLUMN)return e;if(t.rangeType===I.ROW){for(let e=t.startRow;e<=t.endRow;e++)if(this._rangeProtectionCache.getRowPermissionInfo(r,i,e,[Rs.Edit])===!1)return!1}else for(let e=t.startColumn;e<=t.endColumn;e++)if(this._rangeProtectionCache.getColPermissionInfo(r,i,e,[Rs.Edit])===!1)return!1;return!0}}))}_initHeaderResizePermissionInterceptor(){this._headerResizeRenderController&&this.disposeWithMe(this._headerResizeRenderController.interceptor.intercept(this._headerResizeRenderController.interceptor.getInterceptPoints().HEADER_RESIZE_PERMISSION_CHECK,{handler:(e,t)=>{let n=fs(this._univerInstanceService);if(!n)return!1;let{unitId:r,subUnitId:i}=n;if(t.row){var a,o;if(((a=(o=this._permissionService.getPermissionPoint(new Go(r,i).id))==null?void 0:o.value)==null?!1:a)===!1)return!1}else if(t.col){var s,c;if(((s=(c=this._permissionService.getPermissionPoint(new Wo(r,i).id))==null?void 0:c.value)==null?!1:s)===!1)return!1}return!0}}))}_initRangeFillPermissionInterceptor(){this.disposeWithMe(this._selectionRenderService.interceptor.intercept(this._selectionRenderService.interceptor.getInterceptPoints().RANGE_FILL_PERMISSION_CHECK,{handler:(e,t)=>{var n;let r=fs(this._univerInstanceService);if(!r)return!1;let{worksheet:i,unitId:a,subUnitId:o}=r;if(!this._permissionService.composePermission([new G(a).id,new K(a,o).id,new Uo(a,o).id,new Ho(a,o).id]).every(e=>e.value))return!1;let s=(n=this._selectionManagerService.getCurrentSelections())==null?void 0:n.map(e=>e.range),c=s==null?void 0:s.find(e=>{let n=Ff(t.x,t.y,t.scene,t.skeleton),r=t.skeleton.getCellWithCoordByIndex(e.endRow,e.endColumn),i=Math.abs(r.endX-n.x),a=Math.abs(r.endY-n.y);return i<=5&&a<=5});if(!c)return!0;let{startRow:l,endRow:u,startColumn:d,endColumn:f}=c;for(let e=l;e<=u;e++)for(let t=d;t<=f;t++){var p;let n=(p=i.getCell(e,t))==null||(p=p.selectionProtection)==null?void 0:p[0];if((n==null?void 0:n[Rs.Edit])===!1||(n==null?void 0:n[Rs.View])===!1)return!1}return!0}}))}_initRangeMovePermissionInterceptor(){this.disposeWithMe(this._selectionRenderService.interceptor.intercept(this._selectionRenderService.interceptor.getInterceptPoints().RANGE_MOVE_PERMISSION_CHECK,{handler:(e,t)=>{var n;let r=fs(this._univerInstanceService);if(!r)return!1;let{worksheet:i,unitId:a,subUnitId:o}=r;if(!this._permissionService.composePermission([new G(a).id,new K(a,o).id]).every(e=>e.value))return!1;let s=(n=this._selectionManagerService.getCurrentSelections())==null?void 0:n.map(e=>e.range),c=this._rangeProtectionRuleModel.getSubunitRuleList(a,o).reduce((e,t)=>[...e,...t.ranges],[]),l=s==null?void 0:s.filter(e=>c.some(t=>Qe.intersects(t,e)));return!(l!=null&&l.some(e=>{let{startRow:t,startColumn:n,endRow:r,endColumn:a}=e;for(let e=t;e<=r;e++)for(let t=n;t<=a;t++){var o;let n=(o=i.getCell(e,t))==null||(o=o.selectionProtection)==null?void 0:o[0];if((n==null?void 0:n[Rs.Edit])===!1)return!0}return!1}))}}))}_initFreezePermissionInterceptor(){this.disposeWithMe(this._headerFreezeRenderController.interceptor.intercept(this._headerFreezeRenderController.interceptor.getInterceptPoints().FREEZE_PERMISSION_CHECK,{handler:(e,t)=>{var n,r;let i=this._univerInstanceService.getCurrentUnitForType(L.UNIVER_SHEET);return!(i!=null&&i.getActiveSheet())||!i||(n=(r=this._permissionService.getPermissionPoint(new G(i.getUnitId()).id))==null?void 0:r.value)==null?!1:n}}))}};xb=Q([Z(1,P),Z(2,Le),Z(3,F(W)),Z(4,F(Fi)),Z(5,F(gh)),Z(6,Il),Z(7,F(uh)),Z(8,F(Ni)),Z(9,qe(wh))],xb);let Sb=class extends M{constructor(e,t,n,r,i){super(),this._univerInstanceService=e,this._selectionManagerService=t,this._localService=n,this._sheetClipboardService=r,this._sheetPermissionCheckController=i,X(this,`disposableCollection`,new ge),this._initClipboardHook()}_initClipboardHook(){this.disposeWithMe(this._sheetClipboardService.addClipboardHook({id:`SHEET_PERMISSION_PASTE_PLUGIN`,onBeforePaste:e=>{var t;let[n]=bl([e.range]).ranges,r=(t=this._selectionManagerService.getCurrentLastSelection())==null?void 0:t.range;if(!r)return!1;let i={startRow:r.startRow+n.startRow,endRow:r.startRow+n.endRow,startColumn:r.startColumn+n.startColumn,endColumn:r.startColumn+n.endColumn},a=this._univerInstanceService.getCurrentUnitForType(L.UNIVER_SHEET).getActiveSheet();if(!a)return!1;let{startRow:o,endRow:s,startColumn:c,endColumn:l}=i,u=!0;for(let e=o;e<=s;e++)for(let t=c;t<=l;t++){var d;let n=(d=a.getCell(e,t))==null||(d=d.selectionProtection)==null?void 0:d[0];if((n==null?void 0:n[Rs.Edit])===!1){u=!1;break}}return u||this._sheetPermissionCheckController.blockExecuteWithoutPermission(this._localService.t(`permission.dialog.pasteErr`)),u}}))}};Sb=Q([Z(0,P),Z(1,F(W)),Z(2,F(Ue)),Z(3,F(Uu)),Z(4,F(uo))],Sb);let Cb=class extends $e{constructor(e,t,n,r,i){super(),this._context=e,this._univerInstanceService=t,this._permissionService=n,this._statusBarController=r,this._rangeProtectionCache=i,X(this,`disposableCollection`,new ge),this._initStatusBarPermissionInterceptor()}_initStatusBarPermissionInterceptor(){this.disposeWithMe(this._statusBarController.interceptor.intercept(this._statusBarController.interceptor.getInterceptPoints().STATUS_BAR_PERMISSION_CORRECT,{priority:100,handler:(e,t)=>{var n;let r=fs(this._univerInstanceService);if(!r)return e==null?[]:e;let{worksheet:i,unitId:a,subUnitId:o}=r;return((n=this._permissionService.getPermissionPoint(new Ko(a,o).id))==null?void 0:n.value)===!1?t.forEach(e=>{let t=e.getArrayValue();t.forEach((e,n)=>{e.forEach((e,r)=>{t[n][r]=Jc.create()})})}):t.forEach(e=>{let t=e.getArrayValue(),n=e.getCurrentRow(),r=e.getCurrentColumn();t.forEach((e,s)=>{e.forEach((e,c)=>{var l;if(((l=i.getCellRaw(s+n,c+r))==null?void 0:l.v)===void 0)return;let u=this._rangeProtectionCache.getCellInfo(a,o,s+n,c+r);(u==null?void 0:u[Rs.View])===!1&&(t[s][c]=Jc.create())})})}),t}}))}};Cb=Q([Z(1,P),Z(2,Le),Z(3,F(Zy)),Z(4,F(Ni))],Cb);const wb=(e,t,n,r,i)=>{let a=e.get(Ue),o=e.get(Vo),s=e.get(Fi),c=``;if(t.length===0)c=a.t(`permission.panel.emptyRangeError`);else if(t.length>1){let e=!1;for(let n=0;n<t.length;n++){for(let r=n+1;r<t.length;r++)if(Qe.intersects(t[n],t[r])){e=!0;break}if(e)break}e&&(c=a.t(`permission.panel.rangeOverlapError`))}if(!c){if(o.getRule(r,i)&&!n)return c=a.t(`permission.panel.rangeOverlapOverPermissionError`),c;let e=s.getSubunitRuleList(r,i).filter(e=>e.permissionId!==n).find(e=>e.ranges.some(e=>t.some(t=>Qe.intersects(e,t))));e!=null&&e.ranges.find(e=>t.some(t=>Qe.intersects(e,t)))&&(c=a.t(`permission.panel.rangeOverlapOverPermissionError`))}return c===``?void 0:c},Tb=(e,t)=>{if(e.length!==1)return!1;let n=e[0],r=t.getRowCount(),i=t.getColumnCount(),{startRow:a,endRow:o,startColumn:s,endColumn:c}=n;return a===0&&s===0&&o===r-1&&c===i-1},Eb=(e,t)=>{var n,r;let i=e.get(P),a=e.get(W),o=i.getCurrentUnitForType(L.UNIVER_SHEET),s=o.getActiveSheet(),c=yo.SelectRange,l=(n=(r=a.getCurrentSelections())==null?void 0:r.map(e=>e.range))==null?[]:n;return t&&(c=yo.Worksheet,l=[{startRow:0,startColumn:0,endRow:s.getRowCount()-1,endColumn:s.getColumnCount()-1,rangeType:I.ALL}]),{unitId:o.getUnitId(),subUnitId:s.getSheetId(),permissionId:``,unitType:c,description:``,id:``,ranges:l,editState:ti.OnlyMe,viewState:xo.OthersCanView}},Db=(e,t)=>{let n=e.get(P).getCurrentUnitForType(L.UNIVER_SHEET).getActiveSheet(),{unitType:r}=t;return r===yo.Worksheet?{...t,ranges:[{startRow:0,startColumn:0,endRow:n.getRowCount()-1,endColumn:n.getColumnCount()-1,rangeType:I.ALL}]}:t},Ob=e=>{let{viewState:t,editState:n,permissionId:r,ranges:i,rangesErrMsg:a,desc:o,oldRule:s,id:c}=e,l=V(Xd),u=V(bn),d=V(Me),f=V(Ue),p=V(N),m=V(Zd),h=V(P).getCurrentUnitForType(L.UNIVER_SHEET),g=h==null?void 0:h.getActiveSheet();if(!h||!g)return null;let _=h.getUnitId(),v=g.getSheetId();return Y(`div`,{className:`univer-mt-auto univer-flex univer-flex-row-reverse univer-gap-2 univer-py-5`,children:[J(Js,{variant:`primary`,onClick:async()=>{if(a)return;let e={unitId:_,subUnitId:v,permissionId:r,id:c,viewState:t,editState:n,unitType:yo.SelectRange,ranges:i,description:o};Tb(i,g)&&(e.unitType=yo.Worksheet,e.ranges=[]);let l=m.selectUserList,h={read:e.viewState===xo.OthersCanView?Ls.AllCollaborator:Ls.SomeCollaborator,edit:e.editState===ti.DesignedUserCanEdit?Ls.SomeCollaborator:Ls.OneSelf};if(e.editState===ti.OnlyMe?(l=[],m.setSelectUserList([])):e.editState===ti.DesignedUserCanEdit&&(l.length===0?(l=[],h.edit=Ls.OneSelf):l=l.map(e=>({...e,role:Bs.Editor}))),e.permissionId){let t=mp(l.filter(e=>e.role===Bs.Editor),m.oldCollaboratorList.filter(e=>e.role===Bs.Editor)),n=(s==null?void 0:s.viewState)===e.viewState,r=(s==null?void 0:s.editState)===e.editState,i=e.unitType===(s==null?void 0:s.unitType)&&e.description===s.description&&e.ranges===s.ranges,a=!t||!n||!r;if(i&&a)await d.update({objectType:e.unitType,objectID:e.permissionId,unitID:e.unitId,share:void 0,name:``,strategies:[],scope:h,collaborators:{collaborators:l}});else{let t=e.permissionId;a&&(t=e.unitType===yo.Worksheet?await d.create({worksheetObject:{collaborators:l,unitID:e.unitId,name:``,strategies:[{role:Bs.Editor,action:Rs.Edit},{role:Bs.Reader,action:Rs.View}],scope:h},objectType:yo.Worksheet}):await d.create({selectRangeObject:{collaborators:l,unitID:e.unitId,name:``,scope:h},objectType:yo.SelectRange})),p.executeCommand(ba.id,{rule:{...e,permissionId:t},oldRule:s})}}else if(e.unitType===yo.Worksheet){let t=await d.create({worksheetObject:{collaborators:l,unitID:e.unitId,name:``,strategies:[{role:Bs.Editor,action:Rs.Edit},{role:Bs.Reader,action:Rs.View}],scope:h},objectType:yo.Worksheet}),{ranges:n=[],...r}=e;r.permissionId=t,p.executeCommand(Pr.id,{rule:r,unitId:e.unitId})}else if(e.unitType===yo.SelectRange){let t=await d.create({selectRangeObject:{collaborators:l,unitID:e.unitId,name:``,scope:h},objectType:yo.SelectRange});p.executeCommand(Dr.id,{rule:e,permissionId:t})}let y={header:{title:`${f.t(`permission.panel.title`)}`},children:{label:zd,showDetail:!1},width:330};u.open(y)},children:f.t(`permission.button.confirm`)}),J(Js,{onClick:()=>{l.reset(),m.reset(),u.close()},children:f.t(`permission.button.cancel`)})]})},kb=e=>{let{ranges:t,onRangesChange:n,desc:r,onDescChange:i,rangesErrMsg:a,permissionId:o}=e,s=V(Jt),c=Gs(()=>s.get(El),[]),l=V(P),u=V(Ue),d=V(ze),f=l.getCurrentUnitForType(L.UNIVER_SHEET),p=f==null?void 0:f.getActiveSheet();if(!f||!p)return null;let m=f.getUnitId(),h=p.getSheetId(),g=e=>{let t=e.split(`,`).map(Xc).map(e=>e.range);if(t.some(e=>!kt(e)||e.endColumn<e.startColumn||e.endRow<e.startRow))return;let r=l.getCurrentUnitForType(L.UNIVER_SHEET),i=r==null?void 0:r.getActiveSheet();if(!r||!i)return;let a=r.getUnitId(),s=i.getSheetId(),c=t.map(e=>(ms(e,i.getRowCount(),i.getColumnCount()),e));n(c,wb(d,c,o,a,s))};return Y(zc,{children:[J(tc,{className:`univer-font-medium`,label:u.t(`permission.panel.protectedRange`),error:a,children:c&&J(c,{unitId:m,subUnitId:h,initialValue:t==null?void 0:t.map(e=>nl(e)).join(`,`),onChange:(e,t)=>g(t)})}),J(tc,{className:`univer-font-medium`,label:u.t(`permission.panel.permissionDirection`),children:J(nc,{value:r,onChange:e=>i(e),placeholder:u.t(`permission.panel.permissionDirectionPlaceholder`)})})]})},Ab=e=>{let{editState:t,onEditStateChange:n,viewState:r,onViewStateChange:i,permissionId:a}=e,o=V(Ue),s=V(pn),c=V(Me),l=V(Zd),u=V(rt),d=V(P),f=Hn(l.selectUserList$,l.selectUserList),p=d.getCurrentUnitForType(L.UNIVER_SHEET),m=p==null?void 0:p.getActiveSheet();if(!p||!m)return null;let h=p.getUnitId();return Us(()=>{a?(async()=>{let e=(await c.listCollaborators({objectID:a,unitID:h})).filter(e=>e.role===Bs.Editor);e.length>0&&n(ti.DesignedUserCanEdit),l.setSelectUserList(e),l.setOldCollaboratorList(e)})():(l.setSelectUserList([]),l.setOldCollaboratorList([]))},[]),Y(zc,{children:[J(tc,{className:`univer-font-medium`,label:o.t(`permission.panel.editPermission`),children:Y(oc,{value:t,onChange:e=>n(e),className:`univer-flex univer-flex-col`,children:[J(ac,{value:ti.OnlyMe,children:J(`span`,{children:o.t(`permission.panel.onlyICanEdit`)})}),J(ac,{value:ti.DesignedUserCanEdit,children:J(`span`,{children:o.t(`permission.panel.designedUserCanEdit`)})})]})}),t===ti.DesignedUserCanEdit&&Y(`div`,{className:gc(`univer-mb-2 univer-flex univer-h-[270px] univer-flex-col univer-overflow-y-auto univer-rounded-lg univer-p-3`,pc),children:[Y(`div`,{className:`univer-flex univer-items-center univer-justify-between univer-text-sm`,children:[J(`span`,{children:o.t(`permission.panel.designedPerson`)}),J(`span`,{className:`univer-cursor-pointer univer-text-primary-600`,onClick:async()=>{let e=await c.listCollaborators({objectID:h,unitID:h}),t=u.getCurrentUser();l.setCanEditUserList(e.filter(e=>{var n;return((n=e.subject)==null?void 0:n.userID)!==t.userID})),s.open({id:Ud,title:{title:``},children:{label:Vd},width:`auto`,destroyOnClose:!0,closable:!1,onClose:()=>s.close(Ud),className:`sheet-permission-user-dialog`})},children:o.t(`permission.panel.addPerson`)})]}),J(`div`,{className:`univer-my-2 univer-h-px univer-bg-gray-200`}),J(`div`,{className:`univer-flex-1`,children:(f==null?void 0:f.length)>0?f.map(e=>{var t,n,r;return Y(`div`,{className:`univer-mb-3 univer-flex univer-h-7 univer-items-center univer-leading-7 last:univer-mb-0`,children:[J(qs,{size:24,src:(n=e.subject)==null?void 0:n.avatar}),J(`span`,{className:`univer-ml-1.5 univer-w-[130px] univer-truncate univer-text-gray-900 dark:!univer-text-white`,children:(r=e.subject)==null?void 0:r.name}),J(sc,{className:`!univer-w-[90px] univer-min-w-0 univer-cursor-pointer`,borderless:!0,value:`edit`,options:[{label:`${o.t(`permission.panel.canEdit`)}`,value:`edit`},{label:`${o.t(`permission.panel.delete`)}`,value:`delete`}],onChange:t=>{t===`delete`&&l.setSelectUserList(f.filter(t=>{var n,r;return((n=t.subject)==null?void 0:n.userID)!==((r=e.subject)==null?void 0:r.userID)}))}})]},(t=e.subject)==null?void 0:t.userID)}):Y(`div`,{className:`univer-flex univer-h-full univer-flex-col univer-items-center univer-justify-center`,children:[J(`img`,{width:240,height:120,src:`data:image/png;base64,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`,alt:``}),J(`p`,{className:`univer-w-60 univer-break-words univer-text-sm univer-text-gray-400`,children:o.t(`permission.dialog.userEmpty`)})]})})]}),J(tc,{className:`univer-font-medium`,label:o.t(`permission.panel.viewPermission`),children:Y(oc,{value:r,onChange:e=>i(e),className:`univer-flex univer-flex-col last:univer-mb-0`,children:[J(ac,{value:xo.OthersCanView,children:J(`span`,{children:o.t(`permission.panel.othersCanView`)})}),J(ac,{value:xo.NoOneElseCanView,children:J(`span`,{children:o.t(`permission.panel.noOneElseCanView`)})})]})})]})},jb=e=>{var t,n;let{fromSheetBar:r,rule:i,oldRule:a}=e,o=V(ze),s=V(Jt),c=i?Db(o,i):Eb(o,r),[l,u]=q(c.ranges),[d,f]=q(()=>wb(o,c.ranges,c.permissionId,c.unitId,c.subUnitId)),[p,m]=q(c.description),[h,g]=q((t=c.editState)==null?ti.OnlyMe:t),[_,v]=q((n=c.viewState)==null?xo.OthersCanView:n),y=s.get(Bd),b=y==null?Ab:y;return Us(()=>{let e=o.get(P),t=o.get(bn),n=e.getCurrentUnitOfType(L.UNIVER_SHEET);if(!n)return;let r=n.getActiveSheet().getSheetId(),i=n.activeSheet$.subscribe(e=>{(e==null?void 0:e.getSheetId())!==r&&t.close()});return()=>{i.unsubscribe()}},[]),Y(`div`,{className:`univer-mt-4 univer-flex univer-h-[calc(100%-16px)] univer-flex-col`,children:[J(kb,{permissionId:c.permissionId,ranges:l,onRangesChange:(e,t)=>{u(e),f(t)},rangesErrMsg:d,desc:p,onDescChange:e=>m(e)}),J(b,{editState:h,onEditStateChange:e=>g(e),viewState:_,onViewStateChange:e=>v(e),permissionId:c.permissionId}),J(Ob,{permissionId:c.permissionId,id:c.id,ranges:l,rangesErrMsg:d,desc:p,viewState:_,editState:h,oldRule:a})]})};function Mb(){var e;let[t,n]=q(!0),[r,i]=q(!1),[a,o]=q([]),s=V(Ue),c=V(Fi),l=V(Vo),u=V(P),d=V(N),f=V(bn),p=V(Me),m=V(Le),h=V(rt).getCurrentUser(),g=V(Zd),_=Hn(l.ruleRefresh$,``),v=Hn(c.ruleRefresh$,``),y=u.getCurrentUnitOfType(L.UNIVER_SHEET);if(!y)return null;let b=y.getUnitId(),x=Hs(async e=>{var t;let n=y.getActiveSheet(),r=y.getUnitId(),i=n.getSheetId(),a=[],o=[];y.getSheets().forEach(e=>{let t=e.getSheetId();c.getSubunitRuleList(r,t).forEach(e=>{e.permissionId&&a.push(e.permissionId)});let n=l.getRule(r,t);n!=null&&n.permissionId&&o.push(n.permissionId)});let s=[...a,...o],u=await p.list({objectIDs:s,unitID:r,actions:Qo}),d=c.getSubunitRuleList(r,i).map(e=>e.permissionId),f=(t=l.getRule(r,i))==null?void 0:t.permissionId;f&&d.push(f);let m=u.filter(e=>{var t;return d.includes(e.objectID)||e.objectID===((t=l.getRule(r,i))==null?void 0:t.permissionId)});return e?m:u},[]),[S,C]=q([]);Us(()=>{let e=Ts(c.ruleChange$,l.ruleChange$).subscribe(async()=>{C(await x(t))});return()=>{e.unsubscribe()}},[t]),Us(()=>{let e=y.activeSheet$.pipe(Ss((e,t)=>(e==null?void 0:e.getSheetId())===(t==null?void 0:t.getSheetId()))).subscribe(async()=>{C(await x(t))});return()=>{e.unsubscribe()}},[t]),Us(()=>{(async()=>{(_||v)&&C(await x(!0))})()},[_,v]);function w(e){let{unitId:t,subUnitId:n,unitType:s}=e,c;s===zs.Worksheet?c=d.executeCommand(Qr.id,{unitId:t,subUnitId:n,rule:e}):s===zs.SelectRange&&(c=d.executeCommand(Xr.id,{unitId:t,subUnitId:n,rule:e})),c&&(i(!r),e.ranges===a&&o([]))}Us(()=>{g.reset()},[]),Qy(a);let T=Gs(()=>{let e=new Map;return y.getSheets().forEach(t=>{let n=t.getSheetId();c.getSubunitRuleList(b,n).forEach(t=>{e.set(t.permissionId,t)});let r=l.getRule(b,n);r&&e.set(r==null?void 0:r.permissionId,r)}),e},[b,y,c,l]),E=e=>{e.subUnitId!==y.getActiveSheet().getSheetId()&&d.executeCommand(Ua.id,{unitId:e.unitId,subUnitId:e.subUnitId});let t={header:{title:`permission.panel.title`},children:{label:zd,showDetail:!0,rule:tt.deepClone(e),oldRule:tt.deepClone(e)},width:330};f.open(t)},D=e=>{n(e)},O=(e=m.getPermissionPoint(new Co(b).id))==null?void 0:e.value;return Y(`div`,{className:`univer-mt-2 univer-flex univer-h-[calc(100%-8px)] univer-flex-col`,children:[Y(`div`,{className:`univer-flex univer-h-[30px] univer-py-2`,children:[Y(`div`,{className:`univer-mr-5 univer-flex univer-cursor-pointer univer-flex-col univer-items-center`,onClick:()=>D(!0),children:[Y(`div`,{className:gc(`univer-h-6 univer-text-base univer-font-medium univer-leading-6`,{"univer-text-blue-500":t}),children:[` `,s.t(`permission.panel.currentSheet`)]}),J(`div`,{className:gc(`univer-mt-1 univer-h-0.5 univer-w-6`,{"univer-bg-blue-500":t})})]}),Y(`div`,{className:`univer-mr-5 univer-flex univer-cursor-pointer univer-flex-col univer-items-center`,onClick:()=>D(!1),children:[J(`div`,{className:gc(`univer-h-6 univer-text-base univer-font-medium univer-leading-6`,{"univer-text-blue-500":!t}),children:s.t(`permission.panel.allSheet`)}),J(`div`,{className:gc(`univer-mt-1 univer-h-0.5 univer-w-6`,{"univer-bg-blue-500":!t})})]})]}),(S==null?void 0:S.length)>0?J(`div`,{children:S==null?void 0:S.map(e=>{var t,n,r,i,c;let l=T.get(e.objectID);if(!l)return null;let u=e.actions.find(e=>e.action===Rs.Edit),d=u==null?void 0:u.allowed,f=e.actions.find(e=>e.action===Rs.View),p=f==null?void 0:f.allowed,m=e.actions.find(e=>e.action===Rs.ManageCollaborator),g=e.actions.find(e=>e.action===Rs.Delete),_=(m==null?void 0:m.allowed)||h.userID===((t=e.creator)==null?void 0:t.userID),v=(g==null?void 0:g.allowed)||h.userID===((n=e.creator)==null?void 0:n.userID),b=``,x=y.getSheetBySheetId(l.subUnitId),S=x==null?void 0:x.getName();if(l.unitType===zs.SelectRange){let e=l.ranges;b=`${S}(${e!=null&&e.length?e.map(e=>{let t=nl(e);return t===`NaN`?``:t}).filter(e=>!!e).join(`,`):``})`}else l.unitType===zs.Worksheet&&(b=S||``);return Y(`div`,{className:gc(`univer-mt-3 univer-rounded-lg univer-p-3 hover:univer-bg-gray-50`,pc),onMouseMove:()=>{let{subUnitId:e,unitType:t}=l,n=y.getActiveSheet();if(!n||e!==n.getSheetId())return!1;if(t===zs.SelectRange){let e=l.ranges||[];e!==a&&o(e)}else if(t===zs.Worksheet){let e=[{startRow:0,endRow:n.getRowCount()-1,startColumn:0,endColumn:n.getColumnCount()-1}];e!==a&&o(e)}},onMouseLeave:()=>o([]),children:[Y(`div`,{className:`univer-flex univer-h-5 univer-justify-between univer-leading-5`,children:[J(dc,{title:b,children:J(`div`,{className:`univer-max-w-[200px] univer-truncate univer-text-sm univer-font-medium`,children:b})}),(_||v)&&Y(`div`,{className:`univer-flex univer-items-center`,children:[_&&J(dc,{title:s.t(`permission.panel.edit`),children:J(`div`,{className:`univer-box-border univer-h-6 univer-rounded-sm univer-p-1 hover:univer-bg-gray-200`,onClick:()=>E(l),children:J(Rc,{})})}),v&&J(dc,{title:s.t(`permission.panel.delete`),children:J(`div`,{className:`univer-box-border univer-h-6 univer-rounded-sm univer-p-1 hover:univer-bg-gray-200`,onClick:()=>w(l),children:J(Sc,{})})})]})]}),J(`div`,{className:`univer-my-2 univer-h-px univer-bg-gray-200`}),Y(`div`,{children:[Y(`div`,{className:`univer-flex univer-items-center`,children:[J(dc,{title:(r=(i=e.creator)==null?void 0:i.name)==null?``:r,children:J(`div`,{children:J(qs,{src:(c=e.creator)==null?void 0:c.avatar,className:`univer-mr-1.5`,size:24})})}),J(`span`,{className:`univer-h-4 univer-flex-grow univer-text-xs univer-text-gray-900 dark:!univer-text-white`,children:s.t(`permission.panel.created`)}),J(`span`,{className:`univer-h-4 univer-text-xs univer-text-gray-900 dark:!univer-text-white`,children:d?`${s.t(`permission.panel.iCanEdit`)}`:`${s.t(`permission.panel.iCanNotEdit`)}`})]}),Y(`div`,{className:`univer-mt-2 univer-flex univer-items-center`,children:[J(`span`,{className:`univer-h-4 univer-flex-grow univer-text-xs univer-text-gray-900 dark:!univer-text-white`,children:s.t(`permission.panel.viewPermission`)}),J(`span`,{className:`univer-h-4 univer-text-xs univer-text-gray-900 dark:!univer-text-white`,children:p?`${s.t(`permission.panel.iCanView`)}`:`${s.t(`permission.panel.iCanNotView`)}`})]}),l.description&&J(dc,{title:l.description,children:J(`div`,{className:`univer-text-3 univer-mt-2 univer-max-w-64 univer-truncate univer-text-sm univer-text-gray-400`,children:l.description})})]})]},e.objectID)})}):Y(`div`,{className:`univer-flex univer-flex-1 univer-flex-col univer-items-center univer-justify-center`,children:[J(`img`,{width:240,height:120,src:`data:image/png;base64,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`,alt:``,draggable:!1}),J(`p`,{className:`univer-w-60 univer-break-words univer-text-sm univer-text-gray-400`,children:s.t(`permission.dialog.listEmpty`)})]}),O&&J(`div`,{className:`univer-mt-auto univer-py-5`,children:Y(Js,{className:`univer-w-full`,variant:`primary`,onClick:()=>{let e={header:{title:`${s.t(`permission.panel.title`)}`},children:{label:`UNIVER_SHEET_PERMISSION_PANEL`,showDetail:!0},width:330};f.open(e)},children:[J(`div`,{children:`+ `}),s.t(`permission.button.addNewPermission`)]})})]})}const Nb=({showDetail:e,fromSheetBar:t,rule:n,oldRule:r})=>{var i;let a=V(P),o=V(W);if(!V(Xd).getVisible())return null;let s=fs(a);if(!s)return null;let{worksheet:c}=s,l=((i=o.getCurrentSelections())==null?void 0:i.map(e=>e.range)).reduce((e,t)=>e+rl(c.getName(),t),``);return e?J(jb,{fromSheetBar:t,rule:n,oldRule:r},t?`sheet-bar`:`normal`):J(Mb,{},l)},Pb=({loading:e,children:t})=>Y(`div`,{className:`univer-relative univer-size-full`,children:[e&&J(`div`,{className:`univer-absolute -univer-bottom-0.5 -univer-left-0.5 -univer-right-0.5 -univer-top-0.5 univer-z-10 univer-flex univer-items-center univer-justify-center univer-bg-white univer-backdrop-blur dark:!univer-bg-black`,children:J(`div`,{className:`univer-size-10 univer-animate-spin univer-rounded-full univer-border-4 univer-border-solid univer-border-gray-100 univer-border-t-primary-500`})}),J(`div`,{className:e?`univer-pointer-events-none univer-blur-sm`:``,children:t})]}),Fb=()=>{let e=V(Ue),t=V(P),n=V(Me),r=V(Bo),i=V(pn),a=V(Le),o=t.getCurrentUnitForType(L.UNIVER_SHEET),s=o.getActiveSheet();if(!s)throw Error(`No active sheet found`);let[c,l]=q([]),u=V(N),[d,f]=q(()=>!!r.getRule(o.getUnitId(),s.getSheetId())),[p,m]=q(()=>Object.keys(Gd).reduce((t,n)=>(t[n]={text:e.t(`permission.panel.${Gd[Number(n)]}`),allowed:!0},t),{}));Us(()=>{(async()=>{let e=o.getUnitId();l(await n.listCollaborators({objectID:e,unitID:e}))})()},[]),Us(()=>{(async()=>{let t=o.getUnitId(),i=r.getRule(t,s.getSheetId());i&&(f(!0),m((await n.list({unitID:o.getUnitId(),objectIDs:[i.permissionId],actions:Kd}))[0].strategies.reduce((t,n)=>(Gd[n.action]&&(t[n.action]={text:e.t(`permission.panel.${Gd[n.action]}`),allowed:n.role!==Bs.Owner}),t),{})),setTimeout(()=>{f(!1)},100))})()},[]);let h=async()=>{let e=t.getCurrentUnitForType(L.UNIVER_SHEET),i=e==null?void 0:e.getActiveSheet();if(!i)throw Error(`No active sheet found`);let o=e.getUnitId(),s=i.getSheetId(),l=r.getRule(o,s),d=Object.keys(p).map(e=>({action:Number(e),role:p[e].allowed?Bs.Editor:Bs.Owner})),f=l==null?void 0:l.permissionId;f?n.update({objectType:zs.Worksheet,objectID:f,unitID:o,strategies:d,share:void 0,name:``,scope:{read:Ls.AllCollaborator,edit:Ls.AllCollaborator},collaborators:void 0}).then(()=>{os().forEach(e=>{let t=new e(o,s),n=t.subType,r=d.find(e=>e.action===n);r&&a.updatePermissionPoint(t.id,r.role===Bs.Editor)})}):(f=await n.create({objectType:zs.Worksheet,worksheetObject:{unitID:o,collaborators:c,name:``,strategies:d,scope:{read:Ls.AllCollaborator,edit:Ls.AllCollaborator}}}),u.executeCommand(Qa.id,{rule:{permissionId:f,unitId:o,subUnitId:s}}))};return J(Pb,{loading:d,children:Y(`div`,{className:gc(`univer-flex univer-flex-col`,hc),children:[Object.keys(p).map(e=>{let t=p[e],{text:n,allowed:r}=t;return Y(`div`,{className:`univer-my-1.5 univer-flex univer-h-5 univer-items-center univer-justify-between univer-leading-5`,children:[J(`div`,{children:n}),J(lc,{defaultChecked:r,onChange:()=>{m({...p,[e]:{...t,allowed:!r}})}})]},n)}),Y(`div`,{className:gc(`univer-flex univer-h-9 univer-items-center univer-justify-end univer-gap-2 univer-pt-2`,hc),children:[J(Js,{onClick:()=>{i.close(Wd)},children:e.t(`permission.button.cancel`)}),J(Js,{variant:`primary`,onClick:()=>{h(),i.close(Wd)},children:e.t(`permission.button.confirm`)})]})]})})},Ib=()=>{var e,t,n;let[r,i]=q(``),a=V(Ue),o=V(pn),s=V(Zd),c=V(Me),l=Hn(s.userList$,s.userList),u=(e=l==null?void 0:l.filter(e=>{var t;return((t=e.subject)==null?void 0:t.name.toLocaleLowerCase().includes(r.toLocaleLowerCase()))&&(e.role===Bs.Owner||e.role===Bs.Editor)}))==null?[]:e,[d,f]=q(s.selectUserList),p=(t=(n=c.getCfgEnableObjInherit)==null?void 0:n.call(c))==null?!1:t,m=e=>{if((d==null?void 0:d.findIndex(t=>{var n,r;return((n=t.subject)==null?void 0:n.userID)===((r=e.subject)==null?void 0:r.userID)}))===-1){let t={...e};f([...d,t])}else f(d.filter(t=>{var n,r;return((n=t.subject)==null?void 0:n.userID)!==((r=e.subject)==null?void 0:r.userID)}))};return Y(`div`,{children:[J(`div`,{children:J(nc,{className:`univer-w-full`,placeholder:a.t(`permission.dialog.search`),value:r,onChange:e=>i(e)})}),J(`div`,{className:gc(`univer-h-60 univer-min-w-72 univer-overflow-y-auto`,_c),children:(u==null?void 0:u.length)>0?u==null?void 0:u.map(e=>{var t,n,r;if(p&&e.role===Bs.Owner){var i,o,s;return Y(`div`,{className:`univer-my-2 univer-flex univer-cursor-not-allowed univer-items-center univer-rounded-md`,children:[J(qs,{src:(o=e.subject)==null?void 0:o.avatar,size:24}),J(`div`,{className:`univer-mx-1.5 univer-flex-1`,children:(s=e.subject)==null?void 0:s.name}),J(`div`,{className:`univer-text-xs univer-text-rose-600`,children:a.t(`permission.dialog.ownerInherit`)})]},(i=e.subject)==null?void 0:i.userID)}return Y(`div`,{className:`univer-my-2 univer-flex univer-items-center univer-rounded-md hover:univer-bg-gray-50`,onClick:()=>m(e),children:[J(qs,{src:(n=e.subject)==null?void 0:n.avatar,size:24}),J(`div`,{className:`univer-mx-1.5 univer-flex-1`,children:(r=e.subject)==null?void 0:r.name}),e.role===Bs.Owner&&J(`div`,{className:`univer-text-xs univer-text-rose-600`,children:a.t(`permission.dialog.ownerWithoutInherit`)}),(d==null?void 0:d.findIndex(t=>{var n,r;return((n=t.subject)==null?void 0:n.userID)===((r=e.subject)==null?void 0:r.userID)}))!==-1&&J(`div`,{children:J(yc,{className:`univer-ml-1.5`})})]},(t=e.subject)==null?void 0:t.userID)}):Y(`div`,{className:`univer-flex univer-h-full univer-flex-col univer-items-center`,children:[J(`img`,{className:`univer-w-full`,src:`data:image/png;base64,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`,alt:`empty list`,draggable:!1}),J(`p`,{className:`univer-text-sm univer-text-gray-400`,children:a.t(`permission.dialog.userEmpty`)})]})}),J(`div`,{className:`univer-h-px univer-w-full univer-bg-gray-200`}),Y(`div`,{className:`univer-flex univer-items-center univer-justify-end univer-gap-1 univer-py-2`,children:[J(Js,{onClick:()=>o.close(Ud),children:a.t(`permission.button.cancel`)}),J(Js,{variant:`primary`,onClick:()=>{s.setSelectUserList(d),o.close(Ud)},children:a.t(`permission.button.confirm`)})]})]})},Lb=({errorMsg:e})=>{let t=V(Ue);return J(`div`,{children:J(`p`,{className:`univer-m-0`,children:e||t.t(`permission.dialog.alertContent`)})})},Rb=`data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNCIgaGVpZ2h0PSI0IiB2aWV3Qm94PSIwIDAgNCA0IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8bWFzayBpZD0ibWFzazBfNzU5XzExMDgiIHN0eWxlPSJtYXNrLXR5cGU6YWxwaGEiIG1hc2tVbml0cz0idXNlclNwYWNlT25Vc2UiIHg9IjAiIHk9IjAiIHdpZHRoPSI0IiBoZWlnaHQ9IjQiPgo8cmVjdCB3aWR0aD0iNCIgaGVpZ2h0PSI0IiBmaWxsPSIjRDZEOEQ5Ii8+CjwvbWFzaz4KPGcgbWFzaz0idXJsKCNtYXNrMF83NTlfMTEwOCkiPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTS0zLjY0MDAyIDMuNDQxNDFMMi4wNzM5NyAtMi4yNzI1OEwyLjc4MTA4IC0xLjU2NTQ4TC0yLjkzMjkxIDQuMTQ4NTJMLTMuNjQwMDIgMy40NDE0MVoiIGZpbGw9IiNENkQ4REIiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0tMS41MTg2OCA1LjU2Mjc1TDQuMTk1MzEgLTAuMTUxMjQ1TDQuOTAyNDIgMC41NTU4NjJMLTAuODExNTc1IDYuMjY5ODZMLTEuNTE4NjggNS41NjI3NVoiIGZpbGw9IiNENkQ4REIiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0wLjYwMjY1NiA3LjY4NDAzTDYuMzE2NjUgMS45NzAwM0w3LjAyMzc2IDIuNjc3MTRMMS4zMDk3NiA4LjM5MTEzTDAuNjAyNjU2IDcuNjg0MDNaIiBmaWxsPSIjRDZEOERCIi8+CjwvZz4KPC9zdmc+`,zb=`RANGE_PROTECTION_CAN_VIEW_RENDER_EXTENSION_KEY`,Bb=`RANGE_PROTECTION_CAN_NOT_VIEW_RENDER_EXTENSION_KEY`;var Vb=class extends sr{constructor(e){super(),X(this,`_pattern`,null),X(this,`_img`,new Image),X(this,`renderCache`,new Set),X(this,`_shadowStrategy`,`always`),this._img.src=Rb,e&&(this._shadowStrategy=e)}clearCache(){this.renderCache.clear()}setShadowStrategy(e){this._shadowStrategy=e,this.clearCache()}getShadowStrategy(){return this._shadowStrategy}draw(e,t,n){let{worksheet:r}=n;r&&(e.save(),this._pattern||(this._pattern=e.createPattern(this._img,`repeat`)),this.renderCache.clear(),Ze.foreach(n.rowColumnSegment,(t,i)=>{if(!r.getRowVisible(t)||!r.getColVisible(i))return;let{selectionProtection:a=[]}=r.getCell(t,i)||{};this._pattern&&(e.fillStyle=this._pattern,a.forEach(t=>{if(t.ruleId&&this.shouldRender(t)){if(this.renderCache.has(t.ruleId))return;this.renderCache.add(t.ruleId),t.ranges.forEach(t=>{let r=n.getCellWithCoordByIndex(t.startRow,t.startColumn,!1),i=n.getCellWithCoordByIndex(t.endRow,t.endColumn,!1);e.fillRect(r.startX,r.startY,i.endX-r.startX,i.endY-r.startY)})}}))}),e.restore())}},Hb=class extends Vb{constructor(e){super(e),X(this,`uKey`,zb),X(this,`Z_INDEX`,25)}shouldRender(e){return this._shadowStrategy===`none`?!1:this._shadowStrategy===`non-editable`?(e==null?void 0:e[Rs.View])!==!1&&(e==null?void 0:e[Rs.Edit])===!1:this._shadowStrategy===`non-viewable`?(e==null?void 0:e[Rs.View])===!1:(e==null?void 0:e[Rs.View])!==!1}},Ub=class extends Vb{constructor(e){super(e),X(this,`uKey`,Bb),X(this,`Z_INDEX`,80)}shouldRender(e){return this._shadowStrategy===`none`?!1:(e==null?void 0:e[Rs.View])===!1}};const Wb=`worksheet-protection`;var Gb=class extends sr{constructor(e){super(),X(this,`uKey`,Wb),X(this,`Z_INDEX`,25),X(this,`_pattern`,void 0),X(this,`_img`,new Image),X(this,`_shadowStrategy`,`always`),this._img.src=Rb,e&&(this._shadowStrategy=e)}draw(e,t,n){let{worksheet:r}=n;if(!r)return!1;e.save(),this._pattern||(this._pattern=e.createPattern(this._img,`repeat`));let{startRow:i,startColumn:a,endRow:o,endColumn:s}=n.rowColumnSegment,c=n.getCellWithCoordByIndex(i,a,!1),l=n.getCellWithCoordByIndex(o,s,!1),{hasWorksheetRule:u=!1,selectionProtection:d=[]}=r.getCell(i,a)||{};if(!this._pattern)return;if(d.length>0){let e=d[0];e!=null&&e[Rs.View]?this.setZIndex(25):this.setZIndex(80)}e.fillStyle=this._pattern;let f=u;if(this._shadowStrategy===`none`)f=!1;else if(u&&d.length>0){let e=d[0];this._shadowStrategy===`non-editable`?f=(e==null?void 0:e[Rs.Edit])===!1:this._shadowStrategy===`non-viewable`&&(f=(e==null?void 0:e[Rs.View])===!1)}f&&e.fillRect(c.startX,c.startY,l.endX-c.startX,l.endY-c.startY),e.restore()}setShadowStrategy(e){this._shadowStrategy=e}getShadowStrategy(){return this._shadowStrategy}setZIndex(e){this.Z_INDEX=e}};let Kb=class extends M{constructor(e,t){super(),this._injector=e,this._componentManager=t,this._init()}_init(){this._initComponents(),this._initUiPartComponents()}_initComponents(){[[qd,Ic],[`sheet-permission-delete-icon`,Sc],[`sheet-permission-edit-icon`,Rc],[`sheet-permission-check-icon`,yc],[Jd,Ac],[zd,Nb],[Vd,Ib],[Hd,Fb],[ah,Lb]].forEach(([e,t])=>{this.disposeWithMe(this._componentManager.register(e,t))})}_initUiPartComponents(){let e=this._injector.get(Ne).getConfig(rp);if(e!=null&&e.protectedRangeUserSelector){let{component:t,framework:n}=e.protectedRangeUserSelector;this.disposeWithMe(this._componentManager.register(Bd,t,{framework:n}))}}};Kb=Q([Z(0,F(ze)),Z(1,F(Jt))],Kb);let qb=class extends M{constructor(e,t,n,r,i){super(),this._context=e,this._rangeProtectionRuleModel=t,this._sheetSkeletonManagerService=n,this._permissionService=r,this._configService=i,X(this,`_rangeProtectionCanViewRenderExtension`,void 0),X(this,`_rangeProtectionCanNotViewRenderExtension`,void 0);let a=this._configService.getConfig(rp),o=ap(a==null?void 0:a.protectedRangeShadow);this._rangeProtectionCanViewRenderExtension=new Hb(o),this._rangeProtectionCanNotViewRenderExtension=new Ub(o),this._initSkeleton(),this._initRender(),this.disposeWithMe(this._rangeProtectionRuleModel.ruleChange$.subscribe(e=>{var t,n;((t=e.oldRule)!=null&&t.id&&this._rangeProtectionCanViewRenderExtension.renderCache.has(e.oldRule.id)||this._rangeProtectionCanViewRenderExtension.renderCache.has(e.rule.id))&&this._rangeProtectionCanViewRenderExtension.clearCache(),((n=e.oldRule)!=null&&n.id&&this._rangeProtectionCanNotViewRenderExtension.renderCache.has(e.oldRule.id)||this._rangeProtectionCanNotViewRenderExtension.renderCache.has(e.rule.id))&&this._rangeProtectionCanNotViewRenderExtension.clearCache()}))}_initRender(){let e=this._context.mainComponent;e&&(e.getExtensionByKey(`RANGE_PROTECTION_CAN_VIEW_RENDER_EXTENSION_KEY`)||e.register(this._rangeProtectionCanViewRenderExtension),e.getExtensionByKey(`RANGE_PROTECTION_CAN_NOT_VIEW_RENDER_EXTENSION_KEY`)||e.register(this._rangeProtectionCanNotViewRenderExtension))}_initSkeleton(){this.disposeWithMe(Ts(this._permissionService.permissionPointUpdate$.pipe(js(300,void 0,{trailing:!0})),this._rangeProtectionRuleModel.rangeRuleInitStateChange$,this._rangeProtectionRuleModel.ruleChange$).pipe().subscribe(()=>{var e;this._sheetSkeletonManagerService.reCalculate(),(e=this._context.mainComponent)==null||e.makeDirty()}))}};qb=Q([Z(1,F(Fi)),Z(2,F(Vl)),Z(3,Le),Z(4,Ne)],qb);let Jb=class extends M{constructor(e,t,n,r,i){super(),this._context=e,this._renderManagerService=t,this._sheetSkeletonManagerService=n,this._worksheetProtectionRuleModel=r,this._configService=i,X(this,`_worksheetProtectionRenderExtension`,void 0);let a=this._configService.getConfig(rp),o=ap(a==null?void 0:a.protectedRangeShadow);this._worksheetProtectionRenderExtension=new Gb(o),this._initSkeleton(),o!==`none`&&this._initRender()}_initRender(){let e=this._context.unitId,t=e&&this._renderManagerService.getRenderById(e),n=t&&t.mainComponent;n&&(n.getExtensionByKey(`worksheet-protection`)||n.register(this._worksheetProtectionRenderExtension))}_initSkeleton(){this.disposeWithMe(Ts(this._worksheetProtectionRuleModel.worksheetRuleInitStateChange$).pipe().subscribe(()=>{var e;this._sheetSkeletonManagerService.reCalculate(),(e=this._context.mainComponent)==null||e.makeDirty()}))}};Jb=Q([Z(1,F(Xn)),Z(2,F(Vl)),Z(3,F(Vo)),Z(4,F(Ne))],Jb);let Yb=class extends M{constructor(e,t,n,r){super(),this._context=e,this._sheetSkeletonManagerService=t,this._sheetClipboardService=n,this._sheetClipboardController=r,this._initialize()}_initialize(){this.disposeWithMe(Vt(this._sheetSkeletonManagerService.currentSkeleton$.subscribe(e=>{if(!(e!=null&&e.unitId)||!this._sheetClipboardService.getPasteMenuVisible())return;let t=this._sheetClipboardService.getPasteOptionsCache(),n=t==null?void 0:t.target.unitId;e.unitId===n&&this._sheetClipboardController.refreshOptionalPaste()})))}};Yb=Q([Z(1,F(Vl)),Z(2,Uu),Z(3,F(zm))],Yb);let Xb=class extends M{constructor(e,t,n,r){super(),this._context=e,this._formatPainterService=t,this._selectionRenderService=n,this._commandService=r,this._initialize()}_initialize(){this._bindFormatPainterStatus(),this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._selectionRenderService.selectionMoveEnd$.subscribe(e=>{if(this._formatPainterService.getStatus()!==uf.OFF){var t;let{rangeWithCoord:n}=e[e.length-1];this._commandService.executeCommand(gf.id,{unitId:this._context.unitId,subUnitId:((t=this._context.unit.getActiveSheet())==null?void 0:t.getSheetId())||``,range:{startRow:n.startRow,startColumn:n.startColumn,endRow:n.endRow,endColumn:n.endColumn}}),this._formatPainterService.getStatus()===uf.ONCE&&this._commandService.executeCommand(hf.id)}}))}_bindFormatPainterStatus(){this.disposeWithMe(Vt(this._formatPainterService.status$.subscribe(e=>{let t=this._context.scene;t&&(e===uf.OFF?t.setDefaultCursor(Wn.DEFAULT):t.setDefaultCursor(Wn.CELL))})))}};Xb=Q([Z(1,df),Z(2,Il),Z(3,N)],Xb);let Zb=function(e){return e[e.NORMAL=0]=`NORMAL`,e[e.HIGHLIGHT=1]=`HIGHLIGHT`,e}({});const Qb=`rgb(0, 0, 0)`,$b=`rgb(255, 255, 255, 1)`;var ex=class extends or{constructor(e,t){super(e,t),X(this,`_size`,12),X(this,`_iconRatio`,.4),X(this,`_mode`,Zb.NORMAL),this.setShapeProps(t)}setShapeProps(e){e!=null&&e.size&&(this._size=e.size),e!=null&&e.mode&&(this._mode=e.mode),this.transformByState({width:this._size,height:this._size})}_draw(e){this._mode===Zb.HIGHLIGHT&&er.drawWith(e,{width:this._size,height:this._size,radius:this._size,fill:`rgba(0, 0, 0, 0.15)`});let t=this._size*.5*this._iconRatio,n=Math.PI/180*60,r=t*Math.sin(n),i=t*Math.cos(n);tr.drawWith(e,{pointsGroup:[[{x:-r+this._size/2,y:-i+this._size/2},{x:r+this._size/2,y:-i+this._size/2},{x:this._size/2,y:t+this._size/2}]],fill:Qb})}},tx=function(e){return e[e.ROW=0]=`ROW`,e[e.COLUMN=1]=`COLUMN`,e}(tx||{});let nx=class extends M{constructor(e,t,n,r,i){super(),this._context=e,this._sheetSkeletonManagerService=t,this._contextMenuService=n,this._commandService=r,this._selectionManagerService=i,X(this,`_hoverRect`,void 0),X(this,`_hoverMenu`,void 0),X(this,`_currentColumn`,1/0),X(this,`_headerPointerSubs`,void 0),X(this,`_colHeaderPointerSubs`,void 0),this._initialize()}dispose(){var e,t,n;(e=this._hoverRect)==null||e.dispose(),(t=this._hoverMenu)==null||t.dispose(),(n=this._headerPointerSubs)==null||n.unsubscribe(),this._headerPointerSubs=null}_initialize(){let e=this._context.scene;this._hoverRect=new er(`__SpreadsheetHeaderMenuSHAPEControllerShape__`,{fill:`rgba(0, 0, 0, 0.1)`,evented:!1}),this._hoverMenu=new ex(`__SpreadsheetHeaderMenuMAINControllerShape__`,{zIndex:100,visible:!1}),e.addObjects([this._hoverRect,this._hoverMenu],10),this._initialHover(tx.ROW),this._initialHover(tx.COLUMN),this._initialHoverMenu()}_initialHover(e=tx.ROW){var t,n,r;let i=this._context.components.get(Ol.COLUMN),a=this._context.components.get(Ol.ROW),o=e===tx.ROW?a:i,s=t=>{var n;let r=(n=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:n.skeleton;if(r==null)return;let{rowHeaderWidth:i,columnHeaderHeight:a}=r,{startX:o,startY:s,endX:c,endY:l,column:u}=Pf(t.offsetX,t.offsetY,this._context.scene,r);if(e===tx.ROW){var d;(d=this._hoverRect)==null||d.transformByState({width:i,height:l-s,left:0,top:s})}else{var f;if(this._currentColumn=u,(f=this._hoverRect)==null||f.transformByState({width:c-o,height:a,left:o,top:0}),this._hoverMenu==null)return;if(c-o<a*2){this._hoverMenu.hide();return}let e=a*.8;this._hoverMenu.transformByState({left:c-a,top:a/2-e/2}),this._hoverMenu.setShapeProps({size:e}),this._hoverMenu.show()}},c=()=>{var e;(e=this._hoverRect)==null||e.show()},l=()=>{var e,t;(e=this._hoverRect)==null||e.hide(),(t=this._hoverMenu)==null||t.hide()};this._headerPointerSubs=new ys;let u=o.onPointerMove$.subscribeEvent(s),d=o.onPointerEnter$.subscribeEvent(c),f=o.onPointerLeave$.subscribeEvent(l);(t=this._headerPointerSubs)==null||t.add(u),(n=this._headerPointerSubs)==null||n.add(d),(r=this._headerPointerSubs)==null||r.add(f)}_initialHoverMenu(){this._hoverMenu!=null&&(this._hoverMenu.onPointerEnter$.subscribeEvent(()=>{this._hoverMenu!=null&&(this._hoverMenu.setProps({mode:Zb.HIGHLIGHT,visible:!0}),this._context.scene.setCursor(Wn.POINTER))}),this._hoverMenu.onPointerLeave$.subscribeEvent(()=>{this._hoverMenu!=null&&(this._hoverMenu.setProps({mode:Zb.NORMAL,visible:!1}),this._context.scene.resetCursor())}),this._hoverMenu.onPointerDown$.subscribeEvent(e=>{var t;let n=this._currentColumn,r=(t=this._selectionManagerService.getCurrentSelections())==null?void 0:t.map(e=>e.range);if(!(r!=null&&r.filter(e=>e.rangeType===I.COLUMN).find(e=>{let{startColumn:t,endColumn:r}=e;return n>=t&&n<=r}))){let e=this._getSelectionOnColumn(n);this._commandService.syncExecuteCommand(Aa.id,e)}e.stopPropagation(),e.preventDefault(),this._contextMenuService.triggerContextMenu(e,Xt.COL_HEADER)}))}_getSelectionOnColumn(e){let t=this._context.unit,n=t.getActiveSheet();if(!n)throw Error(`No active worksheet`);return{unitId:t.getUnitId(),subUnitId:n.getSheetId(),selections:[{range:{startRow:0,startColumn:e,endRow:n.getRowCount()-1,endColumn:e,rangeType:I.COLUMN},primary:{startRow:0,startColumn:e,endRow:0,endColumn:e,actualRow:0,actualColumn:e,isMerged:!1,isMergedMainCell:!1},style:null}]}}};nx=Q([Z(1,F(Vl)),Z(2,fn),Z(3,N),Z(4,F(W))],nx);let rx=function(e){return e[e.ROW=0]=`ROW`,e[e.COLUMN=1]=`COLUMN`,e}({});var ix=class extends or{constructor(e,t,n){super(e,t),X(this,`_size`,12),X(this,`_iconRatio`,.4),X(this,`_hovered`,!0),X(this,`_hasPrevious`,!0),X(this,`_hasNext`,!0),X(this,`_unhideType`,void 0),t&&this.setShapeProps(t),this.onPointerEnter$.subscribeEvent(()=>this.setShapeProps({hovered:!0})),this.onPointerLeave$.subscribeEvent(()=>this.setShapeProps({hovered:!1})),this.onPointerDown$.subscribeEvent(()=>n==null?void 0:n())}setShapeProps(e){e.type!==void 0&&(this._unhideType=e.type),e.hovered!==void 0&&(this._hovered=e.hovered),e.hasPrevious!==void 0&&(this._hasPrevious=e.hasPrevious),e.hasNext!==void 0&&(this._hasNext=e.hasNext),this.transformByState({width:this._size*(this._unhideType===rx.COLUMN?2:1),height:this._size*(this._unhideType===rx.ROW?2:1)})}_draw(e){this._unhideType===rx.ROW?this._drawOnRow(e):this._drawOnCol(e)}_drawOnRow(e){this._hovered&&(!this._hasNext||!this._hasPrevious?er.drawWith(e,{width:this._size,height:this._size,stroke:Qb,fill:$b}):er.drawWith(e,{width:this._size,height:2*this._size,stroke:Qb,fill:$b}));let t=this._size*.5*this._iconRatio,n=Math.PI/3,r=t*Math.cos(n),i=t*Math.sin(n);if(this._hasPrevious&&tr.drawWith(e,{pointsGroup:[[{x:this._size/2,y:this._size/2-i},{x:this._size/2-i,y:this._size/2+r},{x:this._size/2+i,y:this._size/2+r}]],fill:Qb}),this._hasNext){let t=this._hasPrevious?3:1;tr.drawWith(e,{pointsGroup:[[{x:this._size/2,y:this._size*t/2+i},{x:this._size/2-i,y:this._size*t/2-r},{x:this._size/2+i,y:this._size*t/2-r}]],fill:Qb})}}_drawOnCol(e){this._hovered&&(!this._hasNext||!this._hasPrevious?er.drawWith(e,{width:this._size,height:this._size,stroke:Qb,fill:$b}):er.drawWith(e,{width:2*this._size,height:this._size,stroke:Qb,fill:$b}));let t=this._size*.5*this._iconRatio,n=Math.PI/3,r=t*Math.cos(n),i=t*Math.sin(n);if(this._hasPrevious&&tr.drawWith(e,{pointsGroup:[[{x:-r+this._size/2,y:this._size/2},{x:this._size/2+i,y:this._size/2-i},{x:this._size/2+i,y:this._size/2+i}]],fill:Qb}),this._hasNext){let t=this._hasPrevious?3:1;tr.drawWith(e,{pointsGroup:[[{x:r+this._size*t/2,y:this._size/2},{x:-i+this._size*t/2,y:this._size/2-i},{x:-i+this._size*t/2,y:this._size/2+i}]],fill:Qb})}}};const ax=`__SpreadsheetHeaderUnhideSHAPEControllerShape__`;let ox=class extends $e{get _workbook(){return this._context.unit}constructor(e,t,n){super(),this._context=e,this._sheetSkeletonManagerService=t,this._commandService=n,X(this,`_shapes`,{cols:[],rows:[]}),this._init()}dispose(){super.dispose(),this._clearShapes()}_init(){let e=``;this._context.unit.activeSheet$.pipe(As(this.dispose$)).subscribe(t=>{if(this._clearShapes(),!t){e=``;return}e=t.getSheetId(),this._update(this._workbook,t)}),this.disposeWithMe(this._sheetSkeletonManagerService.currentSkeleton$.subscribe(t=>{if(t){let{unitId:n,sheetId:r}=t;if(n===this._workbook.getUnitId()&&r===e){let e=this._workbook.getSheetBySheetId(r);e&&this._update(this._workbook,e)}}}))}_update(e,t){var n;let r=(n=this._sheetSkeletonManagerService.getSkeletonParam(t.getSheetId()))==null?void 0:n.skeleton;if(!r)return;let i=t.getHiddenRows(),a=t.getHiddenCols(),{scene:o}=this._getSheetObject(),s=t.getRowCount(),c=i.map(n=>{let{startRow:i,endRow:a}=n,c=Nf(i,0,o,r),l=i!==0,u=a!==s-1;return new ix(ax,{type:rx.ROW,hovered:!1,hasPrevious:l,hasNext:u,top:c.startY-(l?12:0),left:c.startX-12},()=>this._commandService.executeCommand(Ma.id,{unitId:e.getUnitId(),subUnitId:t.getSheetId(),ranges:[n]}))}),l=t.getColumnCount(),u=a.map(n=>{let{startColumn:i,endColumn:a}=n,s=Nf(0,i,o,r),c=i!==0,u=a!==l-1;return new ix(ax,{type:rx.COLUMN,hovered:!1,hasPrevious:c,hasNext:u,top:8,left:s.startX-(c?12:0)},()=>this._commandService.executeCommand(ja.id,{unitId:e.getUnitId(),subUnitId:t.getSheetId(),ranges:[n]}))});o.addObjects(u,12),o.addObjects(c,12),this._clearShapes(),this._shapes={cols:u,rows:c}}_clearShapes(){this._shapes.cols.forEach(e=>e.dispose()),this._shapes.rows.forEach(e=>e.dispose()),this._shapes={cols:[],rows:[]}}_getSheetObject(){return Mf(this._workbook,this._context)}};ox=Q([Z(1,F(Vl)),Z(2,N)],ox);const sx=`MOBILE_PINCH_ZOOMING`,cx=`MOBILE_EXPANDING_SELECTION`,lx=new Set([H.VIEW_MAIN,H.VIEW_MAIN_LEFT,H.VIEW_MAIN_TOP,H.VIEW_LEFT_TOP]),ux=[Wl.Selection,Wl.top,Wl.bottom,Wl.left,Wl.right,Wl.fillTopLeft,Wl.fillBottomRight,Wl.backgroundTop,Wl.backgroundMiddleLeft,Wl.backgroundMiddleRight,Wl.backgroundBottom];function dx(e){return!!e&&ux.some(t=>e.startsWith(t))}function fx(e,t){return e.some(e=>Qe.contains(`range`in e?e.range:e,t))}let px=class extends M{constructor(e,t,n,r,i,a,o){super(),this._context=e,this._layoutService=t,this._contextMenuService=n,this._contextService=r,this._renderManagerService=i,this._selectionManagerService=a,this._sheetSkeletonManagerService=o,this._init()}_init(){let e=this._layoutService.getContentElement();if(!e)return;let t=this._createLongPressState(),n=n=>this._handleTouchStart(e,t,n),r=n=>this._handleTouchMove(e,t,n),i=e=>this._handleTouchEnd(t,e);e.addEventListener(`touchstart`,n,{passive:!0}),e.addEventListener(`touchmove`,r,{passive:!0}),e.addEventListener(`touchend`,i,{passive:!1}),e.addEventListener(`touchcancel`,i,{passive:!1}),this.disposeWithMe(Vt(()=>{this._clearLongPressTimer(t),e.removeEventListener(`touchstart`,n),e.removeEventListener(`touchmove`,r),e.removeEventListener(`touchend`,i),e.removeEventListener(`touchcancel`,i)}))}_createLongPressState(){return{longPressTimer:null,activeTouch:null,longPressTriggered:!1,selectionSnapshot:[],shouldRestoreSelectionSnapshot:!1}}_clearLongPressTimer(e){e.longPressTimer&&(clearTimeout(e.longPressTimer),e.longPressTimer=null)}_resetLongPressState(e){this._clearLongPressTimer(e),e.activeTouch=null}_getTouchOffset(e,t){let n=e.getBoundingClientRect();return{clientX:t.clientX,clientY:t.clientY,offsetX:t.clientX-n.left,offsetY:t.clientY-n.top}}_getMainAreaViewport(e,t){let{scene:n}=this._context,r=n.getActiveViewportByCoord(fr.FromArray([e,t]));return!r||!lx.has(r.viewportKey)?null:r}_getTargetCellByOffset(e,t){var n;let r=(n=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:n.skeleton,i=this._getMainAreaViewport(e,t),{scene:a}=this._context;if(!r||!i)return null;let o=a.getCoordRelativeToViewport(fr.FromArray([e,t])),s=a.getScrollXYInfoByViewport(o,i),{scaleX:c,scaleY:l}=a.getAncestorScale();return r.getCellWithCoordByOffset(o.x-s.x,o.y-s.y,c,l,s)}_getCurrentRenderSelections(){var e;let t=this._renderManagerService.getRenderById(this._context.unitId),n=t==null?void 0:t.with(Il);return(e=n==null?void 0:n.getSelectionControls().map(e=>es(e.getValue())))==null?[]:e}_cloneSelections(e){return e.map(e=>({range:{...e.range},primary:e.primary?{...e.primary}:e.primary,style:e.style?{...e.style}:e.style}))}_getSelectionSnapshot(){let e=this._getCurrentRenderSelections();return e.length?this._cloneSelections(e):this._cloneSelections(this._selectionManagerService.getCurrentSelections())}_restoreSelectionSnapshot(e){let t=this._context.unit.getActiveSheet();!t||!e.length||this._selectionManagerService.setSelections(this._context.unitId,t.getSheetId(),this._cloneSelections(e),ra.MOVE_END)}_replaceSelectionWithTargetCell(e){let t=this._context.unit.getActiveSheet();t&&this._selectionManagerService.setSelections(this._context.unitId,t.getSheetId(),[{range:{startRow:e.mergeInfo.startRow,endRow:e.mergeInfo.endRow,startColumn:e.mergeInfo.startColumn,endColumn:e.mergeInfo.endColumn,rangeType:I.NORMAL,unitId:this._context.unitId,sheetId:t.getSheetId()},primary:$o(e),style:null}],ra.MOVE_END)}_openMenu(e,t){this._contextMenuService.triggerContextMenu({clientX:e,clientY:t,preventDefault:()=>{},stopPropagation:()=>{}},Xt.MAIN_AREA)}_triggerLongPressMenu(e){if(!e.activeTouch||this._contextMenuService.visible||this._contextService.getContextValue(`MOBILE_PINCH_ZOOMING`)||this._contextService.getContextValue(`MOBILE_EXPANDING_SELECTION`))return;let t=this._getTargetCellByOffset(e.activeTouch.offsetX,e.activeTouch.offsetY);if(!t)return;let n=this._context.scene.pick(fr.FromArray([e.activeTouch.offsetX,e.activeTouch.offsetY])),r=e.selectionSnapshot.map(e=>e.range),i=dx(n==null?void 0:n.oKey)||fx(r,t.mergeInfo);e.longPressTriggered=!0,e.shouldRestoreSelectionSnapshot=i,i&&(this._restoreSelectionSnapshot(e.selectionSnapshot),queueMicrotask(()=>this._restoreSelectionSnapshot(e.selectionSnapshot))),this._openMenu(e.activeTouch.clientX,e.activeTouch.clientY),i||queueMicrotask(()=>this._replaceSelectionWithTargetCell(t))}_handleTouchStart(e,t,n){if(n.touches.length!==1||this._contextMenuService.visible){this._resetLongPressState(t);return}if(this._contextService.getContextValue(`MOBILE_PINCH_ZOOMING`)||this._contextService.getContextValue(`MOBILE_EXPANDING_SELECTION`)){this._resetLongPressState(t);return}let r=this._getTouchOffset(e,n.touches[0]);if(!this._getTargetCellByOffset(r.offsetX,r.offsetY)){this._resetLongPressState(t);return}t.longPressTriggered=!1,t.shouldRestoreSelectionSnapshot=!1,t.selectionSnapshot=this._getSelectionSnapshot(),t.activeTouch=r,this._clearLongPressTimer(t),t.longPressTimer=setTimeout(()=>this._triggerLongPressMenu(t),500)}_handleTouchMove(e,t,n){if(!t.activeTouch||n.touches.length!==1){this._resetLongPressState(t);return}let r=this._getTouchOffset(e,n.touches[0]);(Math.abs(r.offsetX-t.activeTouch.offsetX)>10||Math.abs(r.offsetY-t.activeTouch.offsetY)>10)&&this._resetLongPressState(t)}_handleTouchEnd(e,t){e.longPressTriggered&&(t.preventDefault(),e.shouldRestoreSelectionSnapshot&&queueMicrotask(()=>this._restoreSelectionSnapshot(e.selectionSnapshot))),e.longPressTriggered=!1,e.shouldRestoreSelectionSnapshot=!1,this._resetLongPressState(e)}};px=Q([Z(1,mn),Z(2,fn),Z(3,Fe),Z(4,Xn),Z(5,F(W)),Z(6,F(Vl))],px);const mx=`__MobileHeaderResizeControllerShapeHelper__`,hx=`rgb(199, 199, 199)`;let gx=class extends M{constructor(e,t,n,r,i,a){super(),this._context=e,this._sheetSkeletonManagerService=t,this._selectionManagerService=n,this._commandService=r,this._contextService=i,this._scrollManagerService=a,X(this,`_currentRow`,-1),X(this,`_currentColumn`,-1),X(this,`_rowResizeButton`,void 0),X(this,`_columnResizeButton`,void 0),X(this,`_resizeHelperShape`,void 0),X(this,`_isDragging`,!1),X(this,`_touchStartX`,0),X(this,`_touchStartY`,0),X(this,`_touchMoveHandler`,void 0),X(this,`_touchEndHandler`,void 0),X(this,`_selectionSubscription`,void 0),X(this,`_scrollSubscription`,void 0),this._init()}dispose(){var e,t,n,r,i;(e=this._rowResizeButton)==null||e.dispose(),this._rowResizeButton=null,(t=this._columnResizeButton)==null||t.dispose(),this._columnResizeButton=null,(n=this._resizeHelperShape)==null||n.dispose(),this._resizeHelperShape=null,(r=this._selectionSubscription)==null||r.unsubscribe(),this._selectionSubscription=null,(i=this._scrollSubscription)==null||i.unsubscribe(),this._scrollSubscription=null,this._cleanupTouchHandlers(),super.dispose()}_init(){this._initResizeShapes(),this._initSelectionListener(),this._initScrollListener()}_initResizeShapes(){let e=this._context.scene;this._rowResizeButton=new yh(`__MobileHeaderResizeControllerShapeRow__`,{visible:!1,mode:_h.HORIZONTAL,zIndex:100}),this._columnResizeButton=new yh(`__MobileHeaderResizeControllerShapeColumn__`,{visible:!1,mode:_h.VERTICAL,zIndex:100}),e.addObjects([this._rowResizeButton,this._columnResizeButton],10),this._bindTouchEventsToButton(this._rowResizeButton,`row`),this._bindTouchEventsToButton(this._columnResizeButton,`column`)}_initSelectionListener(){this._selectionSubscription=this._selectionManagerService.selectionMoveEnd$.subscribe(e=>{this._handleSelectionChange(e)}),this.disposeWithMe(this._selectionSubscription)}_initScrollListener(){this._scrollSubscription=this._scrollManagerService.validViewportScrollInfo$.subscribe(e=>{e&&this._updateButtonPositionOnScroll()}),this.disposeWithMe(this._scrollSubscription)}_handleSelectionChange(e){var t,n;if((t=this._rowResizeButton)==null||t.hide(),(n=this._columnResizeButton)==null||n.hide(),this._currentRow=-1,this._currentColumn=-1,!e||e.length===0)return;let r=e[0],i=r.range.rangeType;i===I.ROW?this._showRowResizeButton(r):i===I.COLUMN&&this._showColumnResizeButton(r)}_showRowResizeButton(e){let t=this._sheetSkeletonManagerService.getCurrentSkeleton();if(!t||!this._rowResizeButton)return;let{scene:n}=this._context,{endRow:r}=Zo(e,t).rangeWithCoord,i=t.getOffsetByRow(r),{rowHeaderWidth:a}=t,{scaleX:o,scaleY:s}=n.getAncestorScale(),c=12/Math.max(o,s);this._rowResizeButton.transformByState({left:a/2-c/2,top:i-c/2}),this._rowResizeButton.setShapeProps({size:Math.min(44,a/3)}),this._currentRow=r,this._rowResizeButton.show()}_showColumnResizeButton(e){let t=this._sheetSkeletonManagerService.getCurrentSkeleton();if(!t||!this._columnResizeButton)return;let{scene:n}=this._context,{endColumn:r}=Zo(e,t).rangeWithCoord,i=t.getOffsetByColumn(r),{columnHeaderHeight:a}=t,{scaleX:o,scaleY:s}=n.getAncestorScale(),c=12/Math.max(o,s);this._columnResizeButton.transformByState({left:i-c/2,top:a/2-c/2}),this._columnResizeButton.setShapeProps({size:a*.7}),this._currentColumn=r,this._columnResizeButton.show()}_updateButtonPositionOnScroll(){var e,t;let n=this._sheetSkeletonManagerService.getCurrentSkeleton();if(!n)return;let{scene:r}=this._context,{scaleX:i,scaleY:a}=r.getAncestorScale(),o=12/Math.max(i,a);if((e=this._rowResizeButton)!=null&&e.visible&&this._currentRow>=0){let e=n.getOffsetByRow(this._currentRow),{rowHeaderWidth:t}=n;this._rowResizeButton.transformByState({left:t/2-o/2,top:e-o/2})}if((t=this._columnResizeButton)!=null&&t.visible&&this._currentColumn>=0){let e=n.getOffsetByColumn(this._currentColumn),{columnHeaderHeight:t}=n;this._columnResizeButton.transformByState({left:e-o/2,top:t/2-o/2})}}_bindTouchEventsToButton(e,t){e.onPointerDown$.subscribeEvent(e=>{this._contextService.getContextValue(`MOBILE_PINCH_ZOOMING`)||this._contextService.getContextValue(`MOBILE_EXPANDING_SELECTION`)||this._startResize(e,t)})}_startResize(e,t){let n=this._sheetSkeletonManagerService.getCurrentSkeleton();if(!n)return;let r=this._context.scene,i=r.getEngine(),a=i==null?void 0:i.getCanvasElement();if(!a)return;this._touchStartX=e.offsetX,this._touchStartY=e.offsetY,this._isDragging=!1;let o=t===`row`?n.getOffsetByRow(this._currentRow):n.getOffsetByColumn(this._currentColumn);this._createResizeHelper(t,o,n),r.disableObjectsEvent(),this._setupTouchHandlers(a,t,o)}_setupTouchHandlers(e,t,n){if(!this._sheetSkeletonManagerService.getCurrentSkeleton())return;let r=this._context.scene,i=this._context.unit.getActiveSheet(),a=(i==null?void 0:i.getZoomRatio())||1,o=0;this._touchMoveHandler=r=>{if(this._contextService.getContextValue(`MOBILE_PINCH_ZOOMING`)){this._cancelResize();return}if(r.touches.length!==1)return;let i=r.touches[0],s=e.getBoundingClientRect(),c=i.clientX-s.left,l=i.clientY-s.top,u=(t===`row`?l-this._touchStartY:c-this._touchStartX)/a;Math.abs(u)>=2&&(this._isDragging=!0),this._isDragging&&(o=u,this._updateResizeHelper(t,n+u),this._updateResizeButton(t,n+u)),r.preventDefault()},this._touchEndHandler=n=>{r.enableObjectsEvent(),this._isDragging&&Math.abs(o)>=2&&(t===`row`?this._commandService.executeCommand(ei.id,{deltaY:o,anchorRow:this._currentRow}):this._commandService.executeCommand($r.id,{deltaX:o,anchorCol:this._currentColumn})),this._cleanupResize(),this._touchMoveHandler&&e.removeEventListener(`touchmove`,this._touchMoveHandler),this._touchEndHandler&&(e.removeEventListener(`touchend`,this._touchEndHandler),e.removeEventListener(`touchcancel`,this._touchEndHandler)),n.preventDefault()},e.addEventListener(`touchmove`,this._touchMoveHandler,{passive:!1}),e.addEventListener(`touchend`,this._touchEndHandler,{passive:!1}),e.addEventListener(`touchcancel`,this._touchEndHandler,{passive:!1}),this.disposeWithMe(Vt(()=>{this._touchMoveHandler&&e.removeEventListener(`touchmove`,this._touchMoveHandler),this._touchEndHandler&&(e.removeEventListener(`touchend`,this._touchEndHandler),e.removeEventListener(`touchcancel`,this._touchEndHandler))}))}_createResizeHelper(e,t,n){let r=this._context.scene,{scaleX:i,scaleY:a}=r.getAncestorScale(),o=4/Math.max(i,a),s=r.getEngine(),c=(s==null?void 0:s.width)||0,l=(s==null?void 0:s.height)||0;e===`row`?this._resizeHelperShape=new er(mx,{width:Math.max(c,n.columnTotalWidth+n.rowHeaderWidth),height:o,fill:hx,left:0,top:t-o/2}):this._resizeHelperShape=new er(mx,{width:o,height:Math.max(l,n.rowTotalHeight+n.columnHeaderHeight),fill:hx,left:t-o/2,top:0}),r.addObject(this._resizeHelperShape,10)}_updateResizeHelper(e,t){if(!this._resizeHelperShape)return;let{scaleX:n,scaleY:r}=this._context.scene.getAncestorScale(),i=4/Math.max(n,r);e===`row`?this._resizeHelperShape.transformByState({top:t-i/2}):this._resizeHelperShape.transformByState({left:t-i/2})}_updateResizeButton(e,t){let n=e===`row`?this._rowResizeButton:this._columnResizeButton;if(!n)return;let{scaleX:r,scaleY:i}=this._context.scene.getAncestorScale(),a=12/Math.max(r,i);e===`row`?n.transformByState({top:t-a/2}):n.transformByState({left:t-a/2})}_cleanupResize(){var e;(e=this._resizeHelperShape)==null||e.dispose(),this._resizeHelperShape=null,this._isDragging=!1}_cleanupTouchHandlers(){let e=this._context.scene.getEngine(),t=e==null?void 0:e.getCanvasElement();t&&(this._touchMoveHandler&&(t.removeEventListener(`touchmove`,this._touchMoveHandler),this._touchMoveHandler=null),this._touchEndHandler&&(t.removeEventListener(`touchend`,this._touchEndHandler),t.removeEventListener(`touchcancel`,this._touchEndHandler),this._touchEndHandler=null))}_cancelResize(){this._context.scene.enableObjectsEvent(),this._cleanupResize(),this._cleanupTouchHandlers()}};gx=Q([Z(1,F(Vl)),Z(2,F(W)),Z(3,N),Z(4,Fe),Z(5,F(_f))],gx);const _x=[Df.id,Of.id];let vx=class extends M{constructor(e,t,n,r,i,a,o,s){super(),this._context=e,this._sheetSkeletonManagerService=t,this._commandService=n,this._renderManagerService=r,this._selectionManagerService=i,this._scrollManagerService=a,this._univerInstanceService=o,this._contextService=s,this._init()}scrollToRange(e){let{endRow:t,endColumn:n,startColumn:r,startRow:i}=e,a=this._getViewportBounding();if(e.rangeType===I.ROW?(r=0,n=0):e.rangeType===I.COLUMN&&(i=0,t=0),a){let e=a.startRow>t?i:t,o=a.startColumn>n?r:n;return this._scrollToCell(e,o)}else return this._scrollToCell(i,r)}_init(){this._initCommandListener(),this._initScrollEventListener(),this._initPointerScrollEvent(),this._initSkeletonListener()}_initCommandListener(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(_x.includes(e.id))this._scrollToSelection();else if(e.id===na.id){let t=e.params.range;this.scrollToRange(t)}else if(e.id===kf.id){let t=e.params;this._scrollToSelectionForExpand(t)}}))}_scrollToSelectionForExpand(e){setTimeout(()=>{let t=this._selectionManagerService.getCurrentLastSelection();if(t==null)return;let{startRow:n,startColumn:r,endRow:i,endColumn:a}=t.range,o=this._getViewportBounding();if(o==null)return;let{startRow:s,startColumn:c,endRow:l,endColumn:u}=o,d=0,f=0;d=n>s?i:i<l?n:s,f=r>c?a:a<u?r:c,e.direction===j.DOWN?d=i:e.direction===j.UP?d=n:e.direction===j.RIGHT?f=a:e.direction===j.LEFT&&(f=r),this._scrollToCell(d,f)},0)}_getFreeze(){var e;let t=(e=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:e.skeleton.getWorksheetConfig();if(t!=null)return t.freeze}_initScrollEventListener(){let{scene:e}=this._context;if(e==null)return;let t=e.getViewport(H.VIEW_MAIN);t&&(this.disposeWithMe(Vt(this._scrollManagerService.rawScrollInfo$.subscribe(e=>{var n;if(e==null){t.scrollToViewportPos({viewportScrollX:0,viewportScrollY:0});return}let r=(n=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:n.skeleton;if(!r)return;let{sheetViewStartRow:i,sheetViewStartColumn:a,offsetX:o,offsetY:s}=e,{startX:c,startY:l}=r.getCellWithCoordByIndex(i,a,!1),u=c+o,d=l+s;t.scrollToViewportPos({viewportScrollX:u,viewportScrollY:d})}))),this.disposeWithMe(t.onScrollAfter$.subscribeEvent(e=>{var t;if(!e)return;let n=(t=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:t.skeleton;if(n==null)return;let r=this._getSheetObject();if(n==null||r==null)return;let{viewportScrollX:i,viewportScrollY:a,scrollX:o,scrollY:s}=e,{row:c,column:l,rowOffset:u,columnOffset:d}=n.getOffsetRelativeToRowCol(i,a),f={sheetViewStartRow:c,sheetViewStartColumn:l,offsetX:d,offsetY:u,viewportScrollX:i,viewportScrollY:a,scrollX:o,scrollY:s};this._scrollManagerService.setValidScrollStateToCurrSheet(f),this._scrollManagerService.validViewportScrollInfo$.next({...f,scrollX:o,scrollY:s,viewportScrollX:i,viewportScrollY:a})})),this.disposeWithMe(t.onScrollByBar$.subscribeEvent(e=>{var t;let n=(t=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:t.skeleton;if(n==null||e.isTrigger===!1)return;let r=this._getSheetObject();if(n==null||r==null)return;let{viewportScrollX:i=0,viewportScrollY:a=0}=e,o=this._getFreeze(),{row:s,column:c,rowOffset:l,columnOffset:u}=n.getOffsetRelativeToRowCol(i,a);this._commandService.executeCommand(zf.id,{sheetViewStartRow:s+((o==null?void 0:o.ySplit)||0),sheetViewStartColumn:c+((o==null?void 0:o.xSplit)||0),offsetX:u,offsetY:l})})))}_initSkeletonListener(){this.disposeWithMe(Vt(this._sheetSkeletonManagerService.currentSkeletonBefore$.subscribe(e=>{if(e==null)return;let t={unitId:e.unitId,sheetId:e.sheetId};this._scrollManagerService.setSearchParam(t);let n=this._getSheetObject();if(!n)return;let r=n.scene.getViewport(H.VIEW_MAIN),i=this._scrollManagerService.getScrollStateByParam(t),{viewportScrollX:a,viewportScrollY:o}=this._scrollManagerService.calcViewportScrollFromRowColOffset(i);r&&(i?(r.viewportScrollX=a,r.viewportScrollY=o):(r.viewportScrollX=0,r.viewportScrollY=0),this._updateSceneSize(e))})))}_initPointerScrollEvent(){let e=this._getSheetObject();if(!e)return;let t=e.scene,n=e.spreadsheet,r=t.getViewport(H.VIEW_MAIN),i={x:0,y:0},a=!1,o={x:0,y:0},s=null,c=[],l=0,u=0,d={x:0,y:0},f=null,p=.05,m=.26,h=()=>{let e=this._context.unit.getActiveSheet();return(e==null?void 0:e.getZoomRatio())||1},g=()=>({decelerationRate:.992,minVelocityThreshold:.22,maxVelocity:12}),_=(e,t,n)=>{let r=e>0?t/e:0,i=e<240&&t>30,a;if(i){let t=Math.min(r/2,1);a=p+(m-p)*t,e<150&&Math.abs(n)>3&&(a*=1.3)}else a=p*(.5+Math.min(Math.abs(n)/5,1)*.5);return Math.max(p*.5,Math.min(m*1.5,a))},v=()=>{if(c.length===0)return{x:0,y:0};let e=0,t=0,n=0;for(let r=0;r<c.length;r++){let i=(r+1)*(r+1);t+=c[r].x*i,n+=c[r].y*i,e+=i}return{x:t/e,y:n/e}},y=0,b=!1,x=0,S=1,C={x:0,y:0},w=()=>{s!==null&&(cancelAnimationFrame(s),s=null),y=0,o.x=0,o.y=0},T=e=>{if(!r)return;if(b){w();return}if(y===0){y=e,s=requestAnimationFrame(T);return}let t=e-y;y=e;let{decelerationRate:n,minVelocityThreshold:i}=g(),a=n**t;o.x*=a,o.y*=a;let c=-Math.log(n),l=o.x*(1-a)/c,u=o.y*(1-a)/c;(Math.abs(l)>.01||Math.abs(u)>.01)&&this._commandService.executeCommand(Rf.id,{offsetY:u,offsetX:l}),Math.sqrt(o.x*o.x+o.y*o.y)>i?s=requestAnimationFrame(T):(s=null,y=0)},E=t.getEngine(),D=E==null?void 0:E.getCanvasElement();if(!D)return;let O=null,ee=null,te=null,ne=this._createZoomIndicator(D),k=e=>{let t=D.getBoundingClientRect();return{offsetX:e.clientX-t.left,offsetY:e.clientY-t.top}},re=(e,t)=>{let n=e.clientX-t.clientX,r=e.clientY-t.clientY;return Math.sqrt(n*n+r*r)},ie=(e,t)=>{let n=k(e),r=k(t);return{x:(n.offsetX+r.offsetX)/2,y:(n.offsetY+r.offsetY)/2}},ae=(e,t)=>{var n;let r=(n=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:n.skeleton;if(!r)return!1;let{rowHeaderWidthAndMarginLeft:i,columnHeaderHeightAndMarginTop:a}=r;return e>i&&t>a},A=(e,t,n)=>{var i;let a=(i=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:i.skeleton;if(!a||!r)return null;let{rowHeaderWidthAndMarginLeft:o,columnHeaderHeightAndMarginTop:s}=a,c=r.viewportScrollX||0,l=r.viewportScrollY||0,u=(e-o)/n+c,d=(t-s)/n+l,{row:f,column:p,rowOffset:m,columnOffset:h}=a.getOffsetRelativeToRowCol(Math.max(0,u),Math.max(0,d)),g=a.getCellWithCoordByIndex(f,p,!1);return{row:f,column:p,rowOffset:m,columnOffset:h,cellStartX:g.startX,cellStartY:g.startY}},oe=(e,t)=>{var n;if(!r)return;let i=(n=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:n.skeleton;if(!i)return;let{rowHeaderWidthAndMarginLeft:a,columnHeaderHeightAndMarginTop:o}=i,s=r.viewportScrollX||0,c=r.viewportScrollY||0,l=C.x-a,u=C.y-o,d,f;if(te)d=te.x-l/e,f=te.y-u/e;else if(O){let t=O.cellStartX+O.columnOffset,n=O.cellStartY+O.rowOffset;d=t-l/e,f=n-u/e}else{let n=e/t;d=s/n,f=c/n}d<0&&(d=0),f<0&&(f=0);let p=this._context.unit,m=p.getActiveSheet();if(!m)return;this._commandService.executeCommand(Xf.id,{zoomRatio:e,unitId:p.getUnitId(),subUnitId:m.getSheetId()});let{row:h,column:g,rowOffset:_,columnOffset:v}=i.getOffsetRelativeToRowCol(d,f);this._commandService.executeCommand(zf.id,{sheetViewStartRow:h,sheetViewStartColumn:g,offsetX:v,offsetY:_})};n.onPointerDown$.subscribeEvent((e,t)=>{w(),t.stopPropagation()});let se=(e,t)=>{if(b=!0,this._contextService.setContextValue(sx,!0),x=re(e,t),S=h(),C=ie(e,t),O=A(C.x,C.y,S),r){var n;let e=(n=this._sheetSkeletonManagerService.getCurrentParam())==null?void 0:n.skeleton;if(e){let{rowHeaderWidthAndMarginLeft:t,columnHeaderHeightAndMarginTop:n}=e;ee={x:r.viewportScrollX||0,y:r.viewportScrollY||0};let i=C.x-t,a=C.y-n;te={x:ee.x+i/S,y:ee.y+a/S}}}},ce=e=>{if(w(),e.touches.length===2){let t=e.touches[0],n=e.touches[1],r=k(t),i=k(n);if(!ae(r.offsetX,r.offsetY)||!ae(i.offsetX,i.offsetY))return;a=!1,se(t,n),this._showZoomIndicator(ne,Math.round(S*100)),e.preventDefault();return}if(e.touches.length!==1||b||this._contextService.getContextValue(`MOBILE_EXPANDING_SELECTION`))return;let t=e.touches[0],{offsetX:n,offsetY:r}=k(t);ae(n,r)&&(i.x=n,i.y=r,l=performance.now(),u=l,d={x:0,y:0},f=null,c.length=0,a=!0,e.preventDefault())},le=e=>{if(b&&e.touches.length===2){s!==null&&w();let t=e.touches[0],n=e.touches[1],r=re(t,n)/x,i=S*r;i=Math.max(.2,Math.min(2,i)),i=Math.round(i*10)/10;let a=h();Math.abs(i-a)>=.05&&(C=ie(t,n),oe(i,a),this._showZoomIndicator(ne,Math.round(i*100))),e.preventDefault();return}if(!a||e.touches.length!==1||!r||this._contextService.getContextValue(`MOBILE_EXPANDING_SELECTION`))return;let t=e.touches[0],{offsetX:n,offsetY:o}=k(t),u=performance.now(),p=u-l;if(p<=0)return;let m=-(n-i.x),g=-(o-i.y),_=h(),v=m/_,y=g/_;if(d.x+=Math.abs(m),d.y+=Math.abs(g),f===null){let e=d.x,t=d.y;(e>8||t>8)&&(f=e>t?`x`:`y`)}let T=v/p*16,E=y/p*16;for(c.push({x:T,y:E,time:u});c.length>5;)c.shift();(v!==0||y!==0)&&this._commandService.executeCommand(Rf.id,{offsetY:y,offsetX:v}),i.x=n,i.y=o,l=u,e.preventDefault()},ue=e=>{if(b){e.touches.length<2&&(b=!1,this._contextService.setContextValue(sx,!1),O=null,ee=null,te=null,w(),c.length=0,this._hideZoomIndicator(ne));return}if(!a)return;a=!1;let t=v(),n=_(performance.now()-u,Math.sqrt(d.x*d.x+d.y*d.y),Math.sqrt(t.x*t.x+t.y*t.y)),{maxVelocity:r,minVelocityThreshold:i}=g(),l=Math.max(-r,Math.min(r,t.x*n)),p=Math.max(-r,Math.min(r,t.y*n));o.x=f===`y`?0:l,o.y=f===`x`?0:p,Math.sqrt(o.x*o.x+o.y*o.y)>i*2&&(y=0,s=requestAnimationFrame(T)),c.length=0},de=()=>{b&&(b=!1,this._contextService.setContextValue(sx,!1),O=null,ee=null,te=null,this._hideZoomIndicator(ne)),a&&(a=!1,c.length=0),w()};D.addEventListener(`touchstart`,ce,{passive:!1}),D.addEventListener(`touchmove`,le,{passive:!1}),D.addEventListener(`touchend`,ue,{passive:!1}),D.addEventListener(`touchcancel`,de,{passive:!1}),this.disposeWithMe(Vt(()=>{D.removeEventListener(`touchstart`,ce),D.removeEventListener(`touchmove`,le),D.removeEventListener(`touchend`,ue),D.removeEventListener(`touchcancel`,de),ne&&ne.parentElement&&ne.parentElement.removeChild(ne)}))}_createZoomIndicator(e){let t=e.parentElement;if(!t){let e=document.createElement(`div`);return e.style.display=`none`,e}let n=document.createElement(`div`);return n.style.cssText=`
|
|
13
13
|
position: absolute;
|
|
14
14
|
top: 50%;
|
|
15
15
|
left: 50%;
|