@univerjs/sheets-data-validation-ui 0.3.0-nightly.202410101606 → 0.4.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/es/index.js CHANGED
@@ -1 +1,2976 @@
1
- const _0x4f63e1=_0x4874;(function(_0x5eb1c5,_0x2d01f3){const _0x32cf98=_0x4874,_0x2c5c79=_0x5eb1c5();while(!![]){try{const _0x33bb98=parseInt(_0x32cf98(0x1ef))/0x1+parseInt(_0x32cf98(0x2fe))/0x2+parseInt(_0x32cf98(0xfd))/0x3+parseInt(_0x32cf98(0x1e3))/0x4*(-parseInt(_0x32cf98(0x2d5))/0x5)+-parseInt(_0x32cf98(0x255))/0x6+-parseInt(_0x32cf98(0xb5))/0x7*(parseInt(_0x32cf98(0x1dd))/0x8)+parseInt(_0x32cf98(0x2e5))/0x9*(parseInt(_0x32cf98(0x15b))/0xa);if(_0x33bb98===_0x2d01f3)break;else _0x2c5c79['push'](_0x2c5c79['shift']());}catch(_0x3b7de8){_0x2c5c79['push'](_0x2c5c79['shift']());}}}(_0x3d29,0x80821));var __defProp=Object['defineProperty'],__defNormalProp=(_0x456d73,_0x464529,_0x1c492a)=>_0x464529 in _0x456d73?__defProp(_0x456d73,_0x464529,{'enumerable':!0x0,'configurable':!0x0,'writable':!0x0,'value':_0x1c492a}):_0x456d73[_0x464529]=_0x1c492a,__name=(_0xc43e36,_0x3977e6)=>__defProp(_0xc43e36,_0x4f63e1(0x1d2),{'value':_0x3977e6,'configurable':!0x0}),__publicField=(_0x2bb37a,_0x7be6d1,_0x32f8dc)=>__defNormalProp(_0x2bb37a,typeof _0x7be6d1!=_0x4f63e1(0x1cd)?_0x7be6d1+'':_0x7be6d1,_0x32f8dc);import _0x190d58,{useState,forwardRef,useRef,createElement,useMemo,useEffect}from'react';import{Inject,LocaleService,Disposable,DataValidationErrorStyle,useDependency,ICommandService,numfmt,CellValueType,UniverInstanceType,toDisposable,IUniverInstanceService,DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY,DisposableCollection,CommandType,BuildTextUtils,DataValidationRenderMode,DataValidationType,IConfigService,UndoCommand,RedoCommand,isUnitRangesEqual,createInternalEditorID,isValidRange,debounce,shallowEqual,Injector,DataValidationStatus,ObjectMatrix,Range,Rectangle,queryObjectMatrix,Optional,RxDisposable,InterceptorEffectEnum,sequenceExecute,isFormulaString,Tools,ThemeService,VerticalAlign,HorizontalAlign,DEFAULT_STYLES,WrapStrategy,DocumentDataModel,DEFAULT_EMPTY_DOCUMENT_VALUE,BooleanNumber,Plugin}from'@univerjs/core';import{Button,DatePanel,RectPopup,Scrollbar,FormLayout,RadioGroup,Radio,Checkbox,Input,Select,DraggableList}from'@univerjs/design';import{SetRangeValuesCommand,SheetsSelectionsService,getSheetCommandTarget,WorkbookEditablePermission,RangeProtectionPermissionEditPoint,WorksheetEditPermission,checkRangesEditablePermission,WorksheetSetCellStylePermission,SheetInterceptorService,INTERCEPTOR_POINT,InterceptCellContentPriority}from'@univerjs/sheets';import{SheetDataValidationModel,getCellValueOrigin,getDataValidationCellValue,deserializeListOptions,serializeListOptions,UpdateSheetDataValidationRangeCommand,UpdateSheetDataValidationSettingCommand,RemoveSheetDataValidationCommand,UpdateSheetDataValidationOptionsCommand,createDefaultNewRule,AddSheetDataValidationCommand,RemoveSheetAllDataValidationCommand,DATA_VALIDATION_PLUGIN_NAME,getDataValidationDiffMutations,DataValidationFormulaController,DataValidationFormulaService,getFormulaResult,transformCheckboxValue,CHECKBOX_FORMULA_1,CHECKBOX_FORMULA_2}from'@univerjs/sheets-data-validation';import{getPatternType}from'@univerjs/sheets-numfmt';import _0xa4eb10 from'dayjs';import{DataValidatorRegistryService,DataValidationModel,DataValidatorRegistryScope,TWO_FORMULA_OPERATOR_COUNT,getRuleOptions,getRuleSetting}from'@univerjs/data-validation';import{IEditorBridgeService,SheetCanvasPopManagerService,SheetPermissionInterceptorBaseController,IMarkSelectionService,HoverManagerService,CellAlertManagerService,CellAlertType,IAutoFillService,APPLY_TYPE,virtualizeDiscreteRanges,getAutoFillRepeatRange,COPY_TYPE,rangeToDiscreteRange,PREDEFINED_HOOK_NAME,getRepeatRange,ISheetClipboardService,getCurrentRangeDisable$,AutoHeightController,SheetSkeletonManagerService}from'@univerjs/sheets-ui';import{IDialogService,ISidebarService,useObservable,ComponentManager,IZenZoneService,KeyCode,useEvent,MenuItemType,getMenuHiddenObservable,RibbonStartGroup,IMenuManagerService}from'@univerjs/ui';import{RichTextEditingMutation}from'@univerjs/docs';import{IRenderManagerService,DeviceInputEventType,fixLineWidthByScale,Transform,Checkbox as _0x1581b0,FontCache,Shape,Rect,getFontStyleString,getDocsSkeletonPageSize,DocumentViewModel,DocumentSkeleton,Documents}from'@univerjs/engine-render';import{filter,BehaviorSubject,distinctUntilChanged,Subject,debounceTime,bufferTime}from'rxjs';import{RangeSelector,TextEditor}from'@univerjs/docs-ui';import{serializeRange}from'@univerjs/engine-formula';import _0x2db511 from'clsx';var commonjsGlobal=typeof globalThis<'u'?globalThis:typeof window<'u'?window:typeof global<'u'?global:typeof self<'u'?self:{};function getDefaultExportFromCjs(_0x359eb3){const _0x3c47e1=_0x4f63e1;return _0x359eb3&&_0x359eb3[_0x3c47e1(0x264)]&&Object[_0x3c47e1(0x30a)][_0x3c47e1(0x202)][_0x3c47e1(0x2cb)](_0x359eb3,_0x3c47e1(0x7c))?_0x359eb3[_0x3c47e1(0x7c)]:_0x359eb3;}__name(getDefaultExportFromCjs,_0x4f63e1(0x120));var jsxRuntime={'exports':{}},reactJsxRuntime_production_min={},f=_0x190d58,k=Symbol['for']('react.element'),l=Symbol[_0x4f63e1(0x142)](_0x4f63e1(0x1a4)),m=Object[_0x4f63e1(0x30a)][_0x4f63e1(0x202)],n=f[_0x4f63e1(0x1ea)]['ReactCurrentOwner'],p={'key':!0x0,'ref':!0x0,'__self':!0x0,'__source':!0x0};function q(_0x137468,_0x57a0d5,_0x4a0f66){const _0x104a33=_0x4f63e1;var _0x6ca015,_0x16a592={},_0x63768a=null,_0x23512d=null;_0x4a0f66!==void 0x0&&(_0x63768a=''+_0x4a0f66),_0x57a0d5[_0x104a33(0x2eb)]!==void 0x0&&(_0x63768a=''+_0x57a0d5[_0x104a33(0x2eb)]),_0x57a0d5['ref']!==void 0x0&&(_0x23512d=_0x57a0d5['ref']);for(_0x6ca015 in _0x57a0d5)m[_0x104a33(0x2cb)](_0x57a0d5,_0x6ca015)&&!p[_0x104a33(0x202)](_0x6ca015)&&(_0x16a592[_0x6ca015]=_0x57a0d5[_0x6ca015]);if(_0x137468&&_0x137468[_0x104a33(0x1ec)]){for(_0x6ca015 in(_0x57a0d5=_0x137468[_0x104a33(0x1ec)],_0x57a0d5))_0x16a592[_0x6ca015]===void 0x0&&(_0x16a592[_0x6ca015]=_0x57a0d5[_0x6ca015]);}return{'$$typeof':k,'type':_0x137468,'key':_0x63768a,'ref':_0x23512d,'props':_0x16a592,'_owner':n['current']};}__name(q,'q'),reactJsxRuntime_production_min[_0x4f63e1(0x316)]=l,reactJsxRuntime_production_min[_0x4f63e1(0xe9)]=q,reactJsxRuntime_production_min[_0x4f63e1(0x18c)]=q,jsxRuntime['exports']=reactJsxRuntime_production_min;var jsxRuntimeExports=jsxRuntime[_0x4f63e1(0x28e)],utc$1={'exports':{}};(function(_0x2cf51f,_0x41e710){(function(_0x441f75,_0x1ee833){const _0x167b4f=_0x4874;_0x2cf51f[_0x167b4f(0x28e)]=_0x1ee833();}(commonjsGlobal,function(){const _0x5c12f3=_0x4874;var _0x158415=_0x5c12f3(0xeb),_0x5d1e77=/[+-]\d\d(?::?\d\d)?/g,_0x584116=/([+-]|\d\d)/g;return function(_0x3155a7,_0x462ee6,_0x493871){const _0x50376a=_0x5c12f3;var _0x28d4a8=_0x462ee6[_0x50376a(0x30a)];_0x493871['utc']=function(_0x441fa7){var _0x48f4d6={'date':_0x441fa7,'utc':!0x0,'args':arguments};return new _0x462ee6(_0x48f4d6);},_0x28d4a8['utc']=function(_0x5c5512){const _0x4f11d5=_0x50376a;var _0x31e749=_0x493871(this['toDate'](),{'locale':this['$L'],'utc':!0x0});return _0x5c5512?_0x31e749[_0x4f11d5(0xbf)](this['utcOffset'](),_0x158415):_0x31e749;},_0x28d4a8[_0x50376a(0xe2)]=function(){return _0x493871(this['toDate'](),{'locale':this['$L'],'utc':!0x1});};var _0x2a3e94=_0x28d4a8[_0x50376a(0x161)];_0x28d4a8[_0x50376a(0x161)]=function(_0x81310d){const _0x4219c9=_0x50376a;_0x81310d[_0x4219c9(0x244)]&&(this['$u']=!0x0),this['$utils']()['u'](_0x81310d[_0x4219c9(0x290)])||(this[_0x4219c9(0x290)]=_0x81310d['$offset']),_0x2a3e94[_0x4219c9(0x2cb)](this,_0x81310d);};var _0x5a9fed=_0x28d4a8[_0x50376a(0x1fb)];_0x28d4a8[_0x50376a(0x1fb)]=function(){const _0x228cdc=_0x50376a;if(this['$u']){var _0xbb6fc6=this['$d'];this['$y']=_0xbb6fc6[_0x228cdc(0x256)](),this['$M']=_0xbb6fc6['getUTCMonth'](),this['$D']=_0xbb6fc6['getUTCDate'](),this['$W']=_0xbb6fc6['getUTCDay'](),this['$H']=_0xbb6fc6[_0x228cdc(0x19d)](),this['$m']=_0xbb6fc6['getUTCMinutes'](),this['$s']=_0xbb6fc6[_0x228cdc(0x1d4)](),this[_0x228cdc(0x1b9)]=_0xbb6fc6[_0x228cdc(0xba)]();}else _0x5a9fed[_0x228cdc(0x2cb)](this);};var _0x2afcdf=_0x28d4a8[_0x50376a(0x1bb)];_0x28d4a8['utcOffset']=function(_0x1cdaa3,_0x543c50){const _0x5e4183=_0x50376a;var _0x529328=this[_0x5e4183(0x14a)]()['u'];if(_0x529328(_0x1cdaa3))return this['$u']?0x0:_0x529328(this[_0x5e4183(0x290)])?_0x2afcdf['call'](this):this[_0x5e4183(0x290)];if(typeof _0x1cdaa3==_0x5e4183(0xdf)&&(_0x1cdaa3=function(_0x5c1187){_0x5c1187===void 0x0&&(_0x5c1187='');var _0x39c037=_0x5c1187['match'](_0x5d1e77);if(!_0x39c037)return null;var _0x406fef=(''+_0x39c037[0x0])['match'](_0x584116)||['-',0x0,0x0],_0x358928=_0x406fef[0x0],_0x18c712=0x3c*+_0x406fef[0x1]+ +_0x406fef[0x2];return _0x18c712===0x0?0x0:_0x358928==='+'?_0x18c712:-_0x18c712;}(_0x1cdaa3),_0x1cdaa3===null))return this;var _0x2ee2c0=Math['abs'](_0x1cdaa3)<=0x10?0x3c*_0x1cdaa3:_0x1cdaa3,_0xd1959b=this;if(_0x543c50)return _0xd1959b[_0x5e4183(0x290)]=_0x2ee2c0,_0xd1959b['$u']=_0x1cdaa3===0x0,_0xd1959b;if(_0x1cdaa3!==0x0){var _0x1a14d7=this['$u']?this[_0x5e4183(0x12e)]()[_0x5e4183(0xa1)]():-0x1*this['utcOffset']();(_0xd1959b=this['local']()['add'](_0x2ee2c0+_0x1a14d7,_0x158415))[_0x5e4183(0x290)]=_0x2ee2c0,_0xd1959b['$x'][_0x5e4183(0x289)]=_0x1a14d7;}else _0xd1959b=this[_0x5e4183(0x244)]();return _0xd1959b;};var _0x5e46ec=_0x28d4a8[_0x50376a(0x2c0)];_0x28d4a8[_0x50376a(0x2c0)]=function(_0x1fbdca){const _0x2ce4e2=_0x50376a;var _0xa0e14=_0x1fbdca||(this['$u']?_0x2ce4e2(0x18d):'');return _0x5e46ec[_0x2ce4e2(0x2cb)](this,_0xa0e14);},_0x28d4a8['valueOf']=function(){const _0x161191=_0x50376a;var _0x23ff4c=this['$utils']()['u'](this[_0x161191(0x290)])?0x0:this['$offset']+(this['$x'][_0x161191(0x289)]||this['$d'][_0x161191(0xa1)]());return this['$d'][_0x161191(0x184)]()-0xea60*_0x23ff4c;},_0x28d4a8['isUTC']=function(){return!!this['$u'];},_0x28d4a8[_0x50376a(0x24b)]=function(){const _0x386696=_0x50376a;return this['toDate']()[_0x386696(0x24b)]();},_0x28d4a8[_0x50376a(0x28c)]=function(){const _0x3537f=_0x50376a;return this[_0x3537f(0x12e)]()[_0x3537f(0x1c5)]();};var _0x5a04fd=_0x28d4a8['toDate'];_0x28d4a8[_0x50376a(0x12e)]=function(_0x8d703d){const _0x1eefbc=_0x50376a;return _0x8d703d==='s'&&this[_0x1eefbc(0x290)]?_0x493871(this[_0x1eefbc(0x2c0)](_0x1eefbc(0x2ec)))[_0x1eefbc(0x12e)]():_0x5a04fd[_0x1eefbc(0x2cb)](this);};var _0x129189=_0x28d4a8[_0x50376a(0x227)];_0x28d4a8[_0x50376a(0x227)]=function(_0x38b31f,_0xeba770,_0x1cef93){const _0x27e4c1=_0x50376a;if(_0x38b31f&&this['$u']===_0x38b31f['$u'])return _0x129189[_0x27e4c1(0x2cb)](this,_0x38b31f,_0xeba770,_0x1cef93);var _0x1b7723=this[_0x27e4c1(0xe2)](),_0x161f0b=_0x493871(_0x38b31f)[_0x27e4c1(0xe2)]();return _0x129189[_0x27e4c1(0x2cb)](_0x1b7723,_0x161f0b,_0xeba770,_0x1cef93);};};}));}(utc$1));var utcExports=utc$1[_0x4f63e1(0x28e)];const utc=getDefaultExportFromCjs(utcExports);var __defProp$e=Object[_0x4f63e1(0xd2)],__getOwnPropDesc$e=Object[_0x4f63e1(0x21b)],__decorateClass$e=__name((_0x4d7eb0,_0x2d26ab,_0x3d9255,_0x3ea981)=>{for(var _0xeb9768=_0x3ea981>0x1?void 0x0:_0x3ea981?__getOwnPropDesc$e(_0x2d26ab,_0x3d9255):_0x2d26ab,_0x31478f=_0x4d7eb0['length']-0x1,_0x5bdac7;_0x31478f>=0x0;_0x31478f--)(_0x5bdac7=_0x4d7eb0[_0x31478f])&&(_0xeb9768=(_0x3ea981?_0x5bdac7(_0x2d26ab,_0x3d9255,_0xeb9768):_0x5bdac7(_0xeb9768))||_0xeb9768);return _0x3ea981&&_0xeb9768&&__defProp$e(_0x2d26ab,_0x3d9255,_0xeb9768),_0xeb9768;},'__decorateClass$e'),__decorateParam$e=__name((_0x42a5d2,_0x501c19)=>(_0x5657a2,_0x4612d8)=>_0x501c19(_0x5657a2,_0x4612d8,_0x42a5d2),'__decorateParam$e'),_a;let DataValidationRejectInputController=(_a=class extends Disposable{constructor(_0x103b59,_0x375b09,_0x46ce6d,_0x477eea,_0x4a8cec){const _0x4b3016=_0x4f63e1;super(),this[_0x4b3016(0x2cd)]=_0x103b59,this[_0x4b3016(0x11f)]=_0x375b09,this['_dataValidatorRegistryService']=_0x46ce6d,this['_dialogService']=_0x477eea,this[_0x4b3016(0x23f)]=_0x4a8cec,this[_0x4b3016(0x2b1)]();}[_0x4f63e1(0x2b1)](){const _0x32cab7=_0x4f63e1;this['_editorBridgeService'][_0x32cab7(0x2ad)]['intercept'](this[_0x32cab7(0x2cd)][_0x32cab7(0x2ad)][_0x32cab7(0x29e)]()[_0x32cab7(0x22a)],{'handler':__name(async(_0x3a3758,_0x3ba1d6,_0x5929e9)=>{const _0x365f84=_0x32cab7;var _0x47d5ac;const _0x481d97=await _0x3a3758,{worksheet:_0x5add2b,row:_0x2172a1,col:_0x5525d2,unitId:_0x4c232f,subUnitId:_0x228a77,workbook:_0x321e1d}=_0x3ba1d6,_0x2be669=this[_0x365f84(0x11f)][_0x365f84(0x10f)](_0x4c232f,_0x228a77,_0x2172a1,_0x5525d2),_0x4d9ecb=_0x2be669?this['_dataValidationModel'][_0x365f84(0x25b)](_0x4c232f,_0x228a77,_0x2be669):void 0x0;if(!_0x4d9ecb||_0x4d9ecb['errorStyle']!==DataValidationErrorStyle[_0x365f84(0x1c6)])return _0x5929e9(Promise[_0x365f84(0x1c3)](_0x481d97));const _0x48ad27=await this['_dataValidatorRegistryService'][_0x365f84(0x90)](_0x4d9ecb[_0x365f84(0x28a)]);if(!_0x48ad27||await _0x48ad27['validator']({'value':getCellValueOrigin(_0x481d97),'interceptValue':getCellValueOrigin((_0x47d5ac=_0x3ba1d6==null?void 0x0:_0x3ba1d6[_0x365f84(0x130)])!=null?_0x47d5ac:_0x481d97),'row':_0x2172a1,'column':_0x5525d2,'unitId':_0x4c232f,'subUnitId':_0x228a77,'worksheet':_0x5add2b,'workbook':_0x321e1d,'t':_0x481d97==null?void 0x0:_0x481d97['t']},_0x4d9ecb))return _0x5929e9(Promise['resolve'](_0x481d97));const _0x5b05f2=_0x5add2b['getCellRaw'](_0x2172a1,_0x5525d2);return this[_0x365f84(0x12d)][_0x365f84(0xf5)]({'width':0x170,'title':{'title':this[_0x365f84(0x23f)]['t'](_0x365f84(0x24e))},'id':'reject-input-dialog','children':{'title':_0x48ad27['getRuleFinalError'](_0x4d9ecb)},'footer':{'title':_0x190d58['createElement'](Button,{'type':_0x365f84(0x2fd),'onClick':__name(()=>this[_0x365f84(0x12d)][_0x365f84(0x140)](_0x365f84(0x187)),'onClick')},this[_0x365f84(0x23f)]['t'](_0x365f84(0x141)))},'onClose':__name(()=>{const _0x25468e=_0x365f84;this['_dialogService'][_0x25468e(0x140)]('reject-input-dialog');},_0x365f84(0x1ee))}),_0x5929e9(Promise[_0x365f84(0x1c3)](_0x5b05f2));},_0x32cab7(0x266))});}[_0x4f63e1(0x2fc)](_0x552fa6){const _0x4a9fb3=_0x4f63e1;this['_dialogService']['open']({'width':0x170,'title':{'title':this[_0x4a9fb3(0x23f)]['t'](_0x4a9fb3(0x24e))},'id':_0x4a9fb3(0x187),'children':{'title':_0x552fa6},'footer':{'title':_0x190d58[_0x4a9fb3(0x13d)](Button,{'type':_0x4a9fb3(0x2fd),'onClick':__name(()=>this['_dialogService'][_0x4a9fb3(0x140)](_0x4a9fb3(0x187)),_0x4a9fb3(0x30f))},this[_0x4a9fb3(0x23f)]['t'](_0x4a9fb3(0x141)))},'onClose':__name(()=>{const _0x341a8e=_0x4a9fb3;this['_dialogService'][_0x341a8e(0x140)](_0x341a8e(0x187));},'onClose')});}},__name(_a,_0x4f63e1(0x19c)),_a);DataValidationRejectInputController=__decorateClass$e([__decorateParam$e(0x0,IEditorBridgeService),__decorateParam$e(0x1,Inject(SheetDataValidationModel)),__decorateParam$e(0x2,Inject(DataValidatorRegistryService)),__decorateParam$e(0x3,IDialogService),__decorateParam$e(0x4,Inject(LocaleService))],DataValidationRejectInputController);const dvDateDropdown=_0x4f63e1(0x250),dvDateDropdownBtns='univer-dv-date-dropdown-btns',styles$6={'dvDateDropdown':dvDateDropdown,'dvDateDropdownBtns':dvDateDropdownBtns};_0xa4eb10['extend'](utc);const transformDate=__name(_0xf39f89=>{const _0x2d084f=_0x4f63e1;if(_0xf39f89==null||typeof _0xf39f89==_0x2d084f(0x302))return;if(typeof _0xf39f89=='number'||!Number['isNaN'](+_0xf39f89))return _0xa4eb10(numfmt[_0x2d084f(0x2c0)](_0x2d084f(0x249),Number(_0xf39f89)));const _0x3051f2=_0xa4eb10(_0xf39f89);if(_0x3051f2[_0x2d084f(0x1be)]())return _0x3051f2;},_0x4f63e1(0x11a));function DateDropdown(_0x359522){const _0x19f9b8=_0x4f63e1;var _0x539ab1,_0x22982f,_0x981b17;const {location:_0x1aadb3,hideFn:_0x5db14c}=_0x359522,{worksheet:_0x35e73b,row:_0x12c4ae,col:_0x66b888,unitId:_0x4ef633,subUnitId:_0x1bd6de,workbook:_0x24e702}=_0x1aadb3,_0x3aec2d=useDependency(ICommandService),_0x1f581e=useDependency(DataValidationRejectInputController),_0x4c80f7=_0x35e73b[_0x19f9b8(0x2b2)](_0x12c4ae,_0x66b888),_0x26514b=(_0x539ab1=_0x4c80f7==null?void 0x0:_0x4c80f7[_0x19f9b8(0x2bf)])==null?void 0x0:_0x539ab1[_0x19f9b8(0x201)],_0x11dd7e=(_0x22982f=_0x4c80f7==null?void 0x0:_0x4c80f7[_0x19f9b8(0x2bf)])==null?void 0x0:_0x22982f[_0x19f9b8(0x16c)],_0x1162df=getCellValueOrigin(_0x35e73b[_0x19f9b8(0x167)](_0x12c4ae,_0x66b888)),_0xc6fbdb=transformDate(_0x1162df),[_0x3bd6c2,_0xd74231]=useState(_0xc6fbdb),_0xc1f7d5=!!((_0x981b17=_0x26514b==null?void 0x0:_0x26514b['bizInfo'])!=null&&_0x981b17[_0x19f9b8(0x2c1)]),_0x3507e7=_0x3bd6c2&&_0x3bd6c2[_0x19f9b8(0x1be)]()?_0x3bd6c2:_0xa4eb10(),_0x4b2117=useDependency(LocaleService);if(!_0x4c80f7||!_0x26514b||!_0x11dd7e)return;const _0x364102=__name(async()=>{const _0x199a06=_0x19f9b8;var _0x4f8d22,_0x1e217d,_0x3ce04a;if(!_0x3507e7)return;const _0x10420d=_0x3507e7[_0x199a06(0x2c0)](_0xc1f7d5?_0x199a06(0x13a):_0x199a06(0x11c)),_0xa09e44=(_0x4f8d22=numfmt[_0x199a06(0x2ba)](_0x10420d))==null?void 0x0:_0x4f8d22['v'],_0x1619f3=_0x24e702[_0x199a06(0x220)]()['getStyleByCell'](_0x4c80f7),_0x5731ad=(_0x3ce04a=(_0x1e217d=_0x1619f3==null?void 0x0:_0x1619f3['n'])==null?void 0x0:_0x1e217d[_0x199a06(0x155)])!=null?_0x3ce04a:'',_0x496b3d=getPatternType(_0x5731ad);_0x26514b[_0x199a06(0x159)]!==DataValidationErrorStyle[_0x199a06(0x1c6)]||await _0x11dd7e[_0x199a06(0x16c)]({'value':_0xa09e44,'unitId':_0x4ef633,'subUnitId':_0x1bd6de,'row':_0x12c4ae,'column':_0x66b888,'worksheet':_0x35e73b,'workbook':_0x24e702,'interceptValue':_0x10420d[_0x199a06(0x20a)]('Z','')[_0x199a06(0x20a)]('T','\x20'),'t':CellValueType[_0x199a06(0x137)]},_0x26514b)?(_0x3aec2d['executeCommand'](SetRangeValuesCommand['id'],{'unitId':_0x4ef633,'subUnitId':_0x1bd6de,'range':{'startColumn':_0x66b888,'endColumn':_0x66b888,'startRow':_0x12c4ae,'endRow':_0x12c4ae},'value':{'v':_0xa09e44,'t':0x2,'p':null,'f':null,'si':null,'s':{'n':{'pattern':_0xc1f7d5?_0x496b3d==='datetime'?_0x5731ad:_0x199a06(0x283):_0x496b3d===_0x199a06(0x14e)?_0x5731ad:_0x199a06(0x149)}}}}),_0x5db14c()):_0x1f581e[_0x199a06(0x2fc)](_0x11dd7e[_0x199a06(0x20d)](_0x26514b));},_0x19f9b8(0x218));return jsxRuntimeExports[_0x19f9b8(0x18c)](_0x19f9b8(0x1ce),{'className':styles$6['dvDateDropdown'],'children':[jsxRuntimeExports['jsx'](DatePanel,{'defaultValue':_0x3507e7,'pickerValue':_0x3507e7,'showTime':_0xc1f7d5||void 0x0,'onSelect':__name(async _0x590728=>{_0xd74231(_0x590728);},_0x19f9b8(0x10a)),'onPanelChange':__name(_0x1b428b=>{_0xd74231(_0x1b428b);},_0x19f9b8(0x15d)),'disabledDate':__name(_0x2898d9=>!numfmt[_0x19f9b8(0x2ba)](_0x2898d9[_0x19f9b8(0x2c0)](_0x19f9b8(0x136))),_0x19f9b8(0x173))}),jsxRuntimeExports[_0x19f9b8(0xe9)]('div',{'className':styles$6[_0x19f9b8(0x304)],'children':jsxRuntimeExports[_0x19f9b8(0xe9)](Button,{'size':'small','type':'primary','onClick':_0x364102,'disabled':!_0x3507e7[_0x19f9b8(0x1be)](),'children':_0x4b2117['t'](_0x19f9b8(0x141))})})]});}__name(DateDropdown,_0x4f63e1(0x97));var __assign=function(){return __assign=Object['assign']||function(_0x13b92d){const _0x598938=_0x4874;for(var _0x1ddf42,_0x4a0bbb=0x1,_0x25b047=arguments[_0x598938(0x18a)];_0x4a0bbb<_0x25b047;_0x4a0bbb++){_0x1ddf42=arguments[_0x4a0bbb];for(var _0x1a4240 in _0x1ddf42)Object['prototype'][_0x598938(0x202)]['call'](_0x1ddf42,_0x1a4240)&&(_0x13b92d[_0x1a4240]=_0x1ddf42[_0x1a4240]);}return _0x13b92d;},__assign['apply'](this,arguments);},__rest=function(_0x553cea,_0xd33a47){const _0x1312ca=_0x4f63e1;var _0x475279={};for(var _0x34fcde in _0x553cea)Object[_0x1312ca(0x30a)][_0x1312ca(0x202)]['call'](_0x553cea,_0x34fcde)&&_0xd33a47[_0x1312ca(0xea)](_0x34fcde)<0x0&&(_0x475279[_0x34fcde]=_0x553cea[_0x34fcde]);if(_0x553cea!=null&&typeof Object[_0x1312ca(0x271)]==_0x1312ca(0x151)){for(var _0x523250=0x0,_0x34fcde=Object[_0x1312ca(0x271)](_0x553cea);_0x523250<_0x34fcde['length'];_0x523250++)_0xd33a47[_0x1312ca(0xea)](_0x34fcde[_0x523250])<0x0&&Object[_0x1312ca(0x30a)][_0x1312ca(0x125)][_0x1312ca(0x2cb)](_0x553cea,_0x34fcde[_0x523250])&&(_0x475279[_0x34fcde[_0x523250]]=_0x553cea[_0x34fcde[_0x523250]]);}return _0x475279;},IconBase=forwardRef(function(_0x4040a1,_0x4c3f09){const _0x494214=_0x4f63e1;var _0x475814=_0x4040a1[_0x494214(0x133)],_0x553a3b=_0x4040a1['id'],_0x2862da=_0x4040a1[_0x494214(0xf9)],_0x24a112=_0x4040a1[_0x494214(0x123)],_0x3adeb3=__rest(_0x4040a1,[_0x494214(0x133),'id',_0x494214(0xf9),'extend']),_0x298bff='univerjs-icon\x20univerjs-icon-'[_0x494214(0x2c3)](_0x553a3b,'\x20')['concat'](_0x2862da||'')[_0x494214(0x147)](),_0x171b7c=useRef('_'[_0x494214(0x2c3)](generateShortUuid()));return render(_0x475814,''['concat'](_0x553a3b),{'defIds':_0x475814[_0x494214(0x7d)],'idSuffix':_0x171b7c[_0x494214(0xcf)]},__assign({'ref':_0x4c3f09,'className':_0x298bff},_0x3adeb3),_0x24a112);});function render(_0x28c596,_0x3004bc,_0x460d76,_0x2a0d1e,_0xc05860){const _0x38a373=_0x4f63e1;return createElement(_0x28c596['tag'],__assign(__assign({'key':_0x3004bc},replaceRuntimeIdsAndExtInAttrs(_0x28c596,_0x460d76,_0xc05860)),_0x2a0d1e),(replaceRuntimeIdsInDefs(_0x28c596,_0x460d76)[_0x38a373(0x221)]||[])[_0x38a373(0xe5)](function(_0x1a0588,_0x906cb3){const _0x4dbba0=_0x38a373;return render(_0x1a0588,''[_0x4dbba0(0x2c3)](_0x3004bc,'-')[_0x4dbba0(0x2c3)](_0x28c596[_0x4dbba0(0x275)],'-')[_0x4dbba0(0x2c3)](_0x906cb3),_0x460d76,void 0x0,_0xc05860);}));}__name(render,_0x4f63e1(0x226));function replaceRuntimeIdsAndExtInAttrs(_0x107355,_0x285bee,_0x26552e){const _0xd82aa3=_0x4f63e1;var _0x225e32=__assign({},_0x107355[_0xd82aa3(0x2fb)]);_0x26552e!=null&&_0x26552e[_0xd82aa3(0x204)]&&_0x225e32[_0xd82aa3(0x243)]===_0xd82aa3(0x204)&&(_0x225e32[_0xd82aa3(0x243)]=_0x26552e[_0xd82aa3(0x204)]);var _0x1ac63f=_0x285bee[_0xd82aa3(0x7d)];return!_0x1ac63f||_0x1ac63f['length']===0x0||(_0x107355[_0xd82aa3(0x275)]===_0xd82aa3(0x2d6)&&_0x225e32['xlink:href']&&(_0x225e32['xlink:href']=_0x225e32['xlink:href']+_0x285bee[_0xd82aa3(0x277)]),Object[_0xd82aa3(0xf8)](_0x225e32)[_0xd82aa3(0xc9)](function(_0xa81d78){const _0x3643db=_0xd82aa3;var _0x48786a=_0xa81d78[0x0],_0x399bd0=_0xa81d78[0x1];typeof _0x399bd0=='string'&&(_0x225e32[_0x48786a]=_0x399bd0[_0x3643db(0x20a)](/url\(#(.*)\)/,_0x3643db(0x1ac)[_0x3643db(0x2c3)](_0x285bee[_0x3643db(0x277)],')')));})),_0x225e32;}__name(replaceRuntimeIdsAndExtInAttrs,'replaceRuntimeIdsAndExtInAttrs');function replaceRuntimeIdsInDefs(_0x18fdba,_0xda7ed5){const _0x161733=_0x4f63e1;var _0x4fd903,_0x12afaa=_0xda7ed5[_0x161733(0x7d)];return!_0x12afaa||_0x12afaa[_0x161733(0x18a)]===0x0?_0x18fdba:_0x18fdba[_0x161733(0x275)]==='defs'&&(!((_0x4fd903=_0x18fdba[_0x161733(0x221)])===null||_0x4fd903===void 0x0)&&_0x4fd903['length'])?__assign(__assign({},_0x18fdba),{'children':_0x18fdba[_0x161733(0x221)]['map'](function(_0x30d343){const _0x578328=_0x161733;return typeof _0x30d343[_0x578328(0x2fb)]['id']==_0x578328(0xdf)&&_0x12afaa&&_0x12afaa[_0x578328(0xea)](_0x30d343[_0x578328(0x2fb)]['id'])>-0x1?__assign(__assign({},_0x30d343),{'attrs':__assign(__assign({},_0x30d343[_0x578328(0x2fb)]),{'id':_0x30d343[_0x578328(0x2fb)]['id']+_0xda7ed5['idSuffix']})}):_0x30d343;})}):_0x18fdba;}__name(replaceRuntimeIdsInDefs,'replaceRuntimeIdsInDefs');function generateShortUuid(){const _0x1e80cb=_0x4f63e1;return Math[_0x1e80cb(0x195)]()[_0x1e80cb(0x28c)](0x24)[_0x1e80cb(0x26a)](0x2,0x8);}__name(generateShortUuid,_0x4f63e1(0x146)),IconBase[_0x4f63e1(0x285)]=_0x4f63e1(0x1de);var element$6={'tag':_0x4f63e1(0x175),'attrs':{'fill':_0x4f63e1(0x2c2),'viewBox':_0x4f63e1(0x1d3),'width':'1em','height':_0x4f63e1(0x2c5)},'children':[{'tag':_0x4f63e1(0x303),'attrs':{'fill':_0x4f63e1(0x26c),'d':'M14.1544\x203.75557C14.3887\x203.98988\x2014.3887\x204.36978\x2014.1544\x204.6041L6.51409\x2012.2444C6.40157\x2012.3569\x206.24896\x2012.4201\x206.08983\x2012.4201C5.9307\x2012.4201\x205.77808\x2012.3569\x205.66556\x2012.2444L1.84541\x208.42425C1.6111\x208.18993\x201.6111\x207.81003\x201.84541\x207.57572C2.07973\x207.34141\x202.45963\x207.34141\x202.69394\x207.57572L6.08983\x2010.9716L13.3059\x203.75557C13.5402\x203.52126\x2013.9201\x203.52126\x2014.1544\x203.75557Z','fillRule':_0x4f63e1(0x186),'clipRule':_0x4f63e1(0x186)}}]},CheckMarkSingle=forwardRef(function(_0xa9bcb,_0x18a1a0){const _0xab6e3b=_0x4f63e1;return createElement(IconBase,Object['assign']({},_0xa9bcb,{'id':_0xab6e3b(0xd9),'ref':_0x18a1a0,'icon':element$6}));});CheckMarkSingle[_0x4f63e1(0x285)]=_0x4f63e1(0x102);var element$5={'tag':_0x4f63e1(0x175),'attrs':{'fill':_0x4f63e1(0x2c2),'viewBox':_0x4f63e1(0x128),'width':_0x4f63e1(0x2c5),'height':'1em'},'children':[{'tag':'path','attrs':{'fill':_0x4f63e1(0x26c),'d':_0x4f63e1(0x10d),'fillRule':_0x4f63e1(0x186),'clipRule':'evenodd'}},{'tag':'path','attrs':{'fill':'currentColor','d':_0x4f63e1(0x2ae)}},{'tag':_0x4f63e1(0x303),'attrs':{'fill':'currentColor','d':'M3.0917\x208.72168C2.20804\x208.72168\x201.4917\x209.43802\x201.4917\x2010.3217V12.9217C1.4917\x2013.8053\x202.20804\x2014.5217\x203.0917\x2014.5217H5.6917C6.57535\x2014.5217\x207.2917\x2013.8053\x207.2917\x2012.9217V10.3217C7.2917\x209.43802\x206.57536\x208.72168\x205.6917\x208.72168H3.0917ZM2.6917\x2010.3217C2.6917\x2010.1008\x202.87078\x209.92168\x203.0917\x209.92168H5.6917C5.91261\x209.92168\x206.0917\x2010.1008\x206.0917\x2010.3217V12.9217C6.0917\x2013.1426\x205.91261\x2013.3217\x205.6917\x2013.3217H3.0917C2.87079\x2013.3217\x202.6917\x2013.1426\x202.6917\x2012.9217V10.3217Z','fillRule':_0x4f63e1(0x186),'clipRule':_0x4f63e1(0x186)}}]},DataValidationSingle=forwardRef(function(_0x1b7701,_0x5e1c99){const _0x332de6=_0x4f63e1;return createElement(IconBase,Object[_0x332de6(0x21f)]({},_0x1b7701,{'id':_0x332de6(0x2b4),'ref':_0x5e1c99,'icon':element$5}));});DataValidationSingle[_0x4f63e1(0x285)]=_0x4f63e1(0x20e);var element$4={'tag':_0x4f63e1(0x175),'attrs':{'fill':'none','viewBox':_0x4f63e1(0x1d3),'width':_0x4f63e1(0x2c5),'height':_0x4f63e1(0x2c5)},'children':[{'tag':_0x4f63e1(0x303),'attrs':{'fill':'currentColor','d':_0x4f63e1(0x95)}},{'tag':'path','attrs':{'fill':_0x4f63e1(0x26c),'d':_0x4f63e1(0x180),'fillRule':_0x4f63e1(0x186),'clipRule':_0x4f63e1(0x186)}}]},DeleteSingle=forwardRef(function(_0x7922,_0x44863d){const _0x3a8621=_0x4f63e1;return createElement(IconBase,Object['assign']({},_0x7922,{'id':_0x3a8621(0x7f),'ref':_0x44863d,'icon':element$4}));});DeleteSingle[_0x4f63e1(0x285)]=_0x4f63e1(0x1fe);var element$3={'tag':_0x4f63e1(0x175),'attrs':{'fill':'none','viewBox':_0x4f63e1(0x1d3),'width':_0x4f63e1(0x2c5),'height':_0x4f63e1(0x2c5)},'children':[{'tag':'path','attrs':{'fill':_0x4f63e1(0x26c),'d':'M8.6\x201.99991C8.60001\x201.66854\x208.33138\x201.39991\x208.00001\x201.3999C7.66864\x201.3999\x207.40001\x201.66853\x207.4\x201.9999L7.39996\x207.3999H1.9999C1.66853\x207.3999\x201.3999\x207.66853\x201.3999\x207.9999C1.3999\x208.33127\x201.66853\x208.5999\x201.9999\x208.5999H7.39995L7.3999\x2013.9999C7.3999\x2014.3313\x207.66853\x2014.5999\x207.9999\x2014.5999C8.33127\x2014.5999\x208.5999\x2014.3313\x208.5999\x2013.9999L8.59995\x208.5999H13.9999C14.3313\x208.5999\x2014.5999\x208.33127\x2014.5999\x207.9999C14.5999\x207.66853\x2014.3313\x207.3999\x2013.9999\x207.3999H8.59996L8.6\x201.99991Z'}}]},IncreaseSingle=forwardRef(function(_0x71a5dc,_0x5c04b9){const _0x4896aa=_0x4f63e1;return createElement(IconBase,Object[_0x4896aa(0x21f)]({},_0x71a5dc,{'id':'increase-single','ref':_0x5c04b9,'icon':element$3}));});IncreaseSingle[_0x4f63e1(0x285)]='IncreaseSingle';var element$2={'tag':_0x4f63e1(0x175),'attrs':{'fill':_0x4f63e1(0x2c2),'viewBox':_0x4f63e1(0x1d3),'width':_0x4f63e1(0x2c5),'height':_0x4f63e1(0x2c5)},'children':[{'tag':'path','attrs':{'fill':'currentColor','d':'M11.3536\x206.14645C11.5488\x206.34171\x2011.5488\x206.65829\x2011.3536\x206.85355L8.35355\x209.85355C8.15829\x2010.0488\x207.84171\x2010.0488\x207.64645\x209.85355L4.64645\x206.85355C4.45118\x206.65829\x204.45118\x206.34171\x204.64645\x206.14645C4.84171\x205.95118\x205.15829\x205.95118\x205.35355\x206.14645L8\x208.79289L10.6464\x206.14645C10.8417\x205.95118\x2011.1583\x205.95118\x2011.3536\x206.14645Z','fillRule':_0x4f63e1(0x186),'clipRule':_0x4f63e1(0x186)}}]},MoreDownSingle=forwardRef(function(_0x39d2f6,_0x12d155){const _0x48d4fc=_0x4f63e1;return createElement(IconBase,Object[_0x48d4fc(0x21f)]({},_0x39d2f6,{'id':'more-down-single','ref':_0x12d155,'icon':element$2}));});MoreDownSingle['displayName']='MoreDownSingle';var element$1={'tag':_0x4f63e1(0x175),'attrs':{'fill':_0x4f63e1(0x2c2),'viewBox':_0x4f63e1(0x1d3),'width':_0x4f63e1(0x2c5),'height':_0x4f63e1(0x2c5)},'children':[{'tag':'path','attrs':{'fill':_0x4f63e1(0x26c),'d':_0x4f63e1(0xb8),'fillRule':_0x4f63e1(0x186),'clipRule':_0x4f63e1(0x186)}}]},MoreUpSingle=forwardRef(function(_0x3b7550,_0x4a72d4){const _0x2b5282=_0x4f63e1;return createElement(IconBase,Object[_0x2b5282(0x21f)]({},_0x3b7550,{'id':_0x2b5282(0x260),'ref':_0x4a72d4,'icon':element$1}));});MoreUpSingle[_0x4f63e1(0x285)]=_0x4f63e1(0x84);var element={'tag':_0x4f63e1(0x175),'attrs':{'fill':_0x4f63e1(0x2c2),'viewBox':_0x4f63e1(0x1d3),'width':_0x4f63e1(0x2c5),'height':_0x4f63e1(0x2c5)},'children':[{'tag':'mask','attrs':{'id':_0x4f63e1(0x106),'style':{'maskType':_0x4f63e1(0x194)},'width':0x10,'height':0x10,'x':0x0,'y':0x0,'maskUnits':'userSpaceOnUse'},'children':[{'tag':_0x4f63e1(0x303),'attrs':{'fill':_0x4f63e1(0x115),'d':_0x4f63e1(0x315)}}]},{'tag':'g','attrs':{'fill':'currentColor','mask':'url(#mask0_622_8)'},'children':[{'tag':_0x4f63e1(0x303),'attrs':{'d':'M6\x205C6.55228\x205\x207\x204.55228\x207\x204\x207\x203.44772\x206.55228\x203\x206\x203\x205.44772\x203\x205\x203.44772\x205\x204\x205\x204.55228\x205.44772\x205\x206\x205zM6\x209C6.55228\x209\x207\x208.55229\x207\x208\x207\x207.44772\x206.55228\x207\x206\x207\x205.44772\x207\x205\x207.44772\x205\x208\x205\x208.55229\x205.44772\x209\x206\x209zM7\x2012C7\x2012.5523\x206.55228\x2013\x206\x2013\x205.44772\x2013\x205\x2012.5523\x205\x2012\x205\x2011.4477\x205.44772\x2011\x206\x2011\x206.55228\x2011\x207\x2011.4477\x207\x2012zM10\x205C10.5523\x205\x2011\x204.55228\x2011\x204\x2011\x203.44772\x2010.5523\x203\x2010\x203\x209.44771\x203\x209\x203.44772\x209\x204\x209\x204.55228\x209.44771\x205\x2010\x205zM11\x208C11\x208.55229\x2010.5523\x209\x2010\x209\x209.44771\x209\x209\x208.55229\x209\x208\x209\x207.44772\x209.44771\x207\x2010\x207\x2010.5523\x207\x2011\x207.44772\x2011\x208zM10\x2013C10.5523\x2013\x2011\x2012.5523\x2011\x2012\x2011\x2011.4477\x2010.5523\x2011\x2010\x2011\x209.44771\x2011\x209\x2011.4477\x209\x2012\x209\x2012.5523\x209.44771\x2013\x2010\x2013z'}}]}]},SequenceSingle=forwardRef(function(_0x2a0ced,_0x5cb56f){const _0x4ccd37=_0x4f63e1;return createElement(IconBase,Object[_0x4ccd37(0x21f)]({},_0x2a0ced,{'id':_0x4ccd37(0xed),'ref':_0x5cb56f,'icon':element}));});SequenceSingle['displayName']=_0x4f63e1(0x17d);var __defProp$d=Object[_0x4f63e1(0xd2)],__getOwnPropDesc$d=Object[_0x4f63e1(0x21b)],__decorateClass$d=__name((_0x597536,_0x51066f,_0x4e7d07,_0x531f66)=>{const _0x2027a2=_0x4f63e1;for(var _0x13b78e=_0x531f66>0x1?void 0x0:_0x531f66?__getOwnPropDesc$d(_0x51066f,_0x4e7d07):_0x51066f,_0xe38010=_0x597536[_0x2027a2(0x18a)]-0x1,_0x37b207;_0xe38010>=0x0;_0xe38010--)(_0x37b207=_0x597536[_0xe38010])&&(_0x13b78e=(_0x531f66?_0x37b207(_0x51066f,_0x4e7d07,_0x13b78e):_0x37b207(_0x13b78e))||_0x13b78e);return _0x531f66&&_0x13b78e&&__defProp$d(_0x51066f,_0x4e7d07,_0x13b78e),_0x13b78e;},_0x4f63e1(0x1b5)),__decorateParam$d=__name((_0x465034,_0x59f9f3)=>(_0x21158f,_0x527142)=>_0x59f9f3(_0x21158f,_0x527142,_0x465034),_0x4f63e1(0x21c)),_a2;let DataValidationPanelService=(_a2=class extends Disposable{constructor(_0x454a81,_0x4cfa03){const _0xfc521f=_0x4f63e1;super(),__publicField(this,_0xfc521f(0x26d),new BehaviorSubject(!0x1)),__publicField(this,_0xfc521f(0xa2),this[_0xfc521f(0x26d)]['pipe'](distinctUntilChanged())),__publicField(this,_0xfc521f(0x22c)),__publicField(this,_0xfc521f(0x152),new BehaviorSubject(void 0x0)),__publicField(this,'activeRule$',this[_0xfc521f(0x152)][_0xfc521f(0x135)]()),__publicField(this,_0xfc521f(0x2bd),null),(this['_univerInstanceService']=_0x454a81,this[_0xfc521f(0x20c)]=_0x4cfa03,this[_0xfc521f(0x2d7)](this[_0xfc521f(0xa0)][_0xfc521f(0x2a7)](UniverInstanceType[_0xfc521f(0x261)])[_0xfc521f(0x8c)](filter(_0x223398=>!_0x223398))[_0xfc521f(0xb0)](()=>{const _0x2ca08e=_0xfc521f;this[_0x2ca08e(0x140)]();})));}get[_0x4f63e1(0x2b0)](){const _0x513719=_0x4f63e1;return this[_0x513719(0x22c)];}get[_0x4f63e1(0x231)](){const _0x37cf07=_0x4f63e1;return this[_0x37cf07(0x26d)]['getValue']();}[_0x4f63e1(0x168)](){const _0xc06cb0=_0x4f63e1;var _0x53030a;super['dispose'](),this[_0xc06cb0(0x26d)]['next'](!0x1),this[_0xc06cb0(0x26d)][_0xc06cb0(0x1ca)](),this[_0xc06cb0(0x152)][_0xc06cb0(0x1ca)](),(_0x53030a=this['_closeDisposable'])==null||_0x53030a[_0xc06cb0(0x168)]();}['open'](){const _0x3a4c45=_0x4f63e1;this[_0x3a4c45(0x26d)]['next'](!0x0);}[_0x4f63e1(0x140)](){const _0x35269f=_0x4f63e1;var _0x58ca64;this[_0x35269f(0x26d)][_0x35269f(0x8a)](!0x1),(_0x58ca64=this[_0x35269f(0x2bd)])==null||_0x58ca64[_0x35269f(0x168)]();}[_0x4f63e1(0x1c0)](_0x554c8f){this['_closeDisposable']=toDisposable(()=>{const _0x2449f7=_0x4874;_0x554c8f[_0x2449f7(0x168)](),this[_0x2449f7(0x2bd)]=null;});}['setActiveRule'](_0x1cb507){const _0x33a7d7=_0x4f63e1;this[_0x33a7d7(0x22c)]=_0x1cb507,this['_activeRule$']['next'](_0x1cb507);}},__name(_a2,_0x4f63e1(0x1d9)),_a2);DataValidationPanelService=__decorateClass$d([__decorateParam$d(0x0,IUniverInstanceService),__decorateParam$d(0x1,ISidebarService)],DataValidationPanelService);function CellDropdown(){const _0x288b36=_0x4f63e1,_0x3bd0e9=useDependency(DataValidationDropdownManagerService),_0x250f08=useObservable(_0x3bd0e9[_0x288b36(0x27a)],_0x3bd0e9[_0x288b36(0x1ba)]),_0x2080dd=useDependency(ComponentManager);if(!_0x250f08)return null;const {location:_0x338017,componentKey:_0x2b7215}=_0x250f08,_0x5b6a08=_0x2080dd[_0x288b36(0x29c)](_0x2b7215),_0x55a874=_0x338017[_0x288b36(0x24f)]+'-'+_0x338017[_0x288b36(0x1b8)]+'-'+_0x338017[_0x288b36(0xf1)]+'-'+_0x338017['col'];if(!_0x5b6a08)return null;const _0x552a9b=__name(()=>{_0x3bd0e9['hideDropdown']();},_0x288b36(0x2d2));return jsxRuntimeExports[_0x288b36(0xe9)](_0x5b6a08,{'location':_0x338017,'hideFn':_0x552a9b},_0x55a874);}__name(CellDropdown,'CellDropdown');const DROP_DOWN_KEY=_0x4f63e1(0x109);var __defProp$c=Object[_0x4f63e1(0xd2)],__getOwnPropDesc$c=Object[_0x4f63e1(0x21b)],__decorateClass$c=__name((_0x4829b0,_0x52cca5,_0x3fe3d4,_0x453596)=>{for(var _0x24379e=_0x453596>0x1?void 0x0:_0x453596?__getOwnPropDesc$c(_0x52cca5,_0x3fe3d4):_0x52cca5,_0x3c913b=_0x4829b0['length']-0x1,_0x310642;_0x3c913b>=0x0;_0x3c913b--)(_0x310642=_0x4829b0[_0x3c913b])&&(_0x24379e=(_0x453596?_0x310642(_0x52cca5,_0x3fe3d4,_0x24379e):_0x310642(_0x24379e))||_0x24379e);return _0x453596&&_0x24379e&&__defProp$c(_0x52cca5,_0x3fe3d4,_0x24379e),_0x24379e;},_0x4f63e1(0x1ad)),__decorateParam$c=__name((_0x23daeb,_0x282a7e)=>(_0x29ad01,_0x259188)=>_0x282a7e(_0x29ad01,_0x259188,_0x23daeb),_0x4f63e1(0x132)),_a3;let DataValidationDropdownManagerService=(_a3=class extends Disposable{constructor(_0x220188,_0x182610,_0x5063a7,_0x4c8837,_0x2386f7,_0x454de9,_0x5b52fd){const _0x51d172=_0x4f63e1;super(),__publicField(this,_0x51d172(0x214)),__publicField(this,'_activeDropdown$',new Subject()),__publicField(this,'_currentPopup',null),__publicField(this,_0x51d172(0x27a),this[_0x51d172(0x14f)][_0x51d172(0x135)]()),__publicField(this,_0x51d172(0x15a),!0x1),(this[_0x51d172(0x9f)]=_0x220188,this[_0x51d172(0xa0)]=_0x182610,this[_0x51d172(0xbd)]=_0x5063a7,this[_0x51d172(0x2ab)]=_0x4c8837,this[_0x51d172(0x238)]=_0x2386f7,this[_0x51d172(0x11f)]=_0x454de9,this[_0x51d172(0x251)]=_0x5b52fd,this[_0x51d172(0x1a5)](),this[_0x51d172(0xc4)](),this[_0x51d172(0x2d7)](()=>{const _0xba5cb4=_0x51d172;this[_0xba5cb4(0x14f)]['complete']();}));}get[_0x4f63e1(0x1ba)](){const _0x1ebea6=_0x4f63e1;return this[_0x1ebea6(0x214)];}[_0x4f63e1(0x1a5)](){const _0x1cc6d8=_0x4f63e1;this['disposeWithMe'](this[_0x1cc6d8(0x2ab)][_0x1cc6d8(0x148)]['subscribe'](_0x1663b4=>{const _0x5b29e6=_0x1cc6d8;this[_0x5b29e6(0x15a)]=_0x1663b4,_0x1663b4&&this['hideDropdown']();}));}['_getDropdownByCell'](_0x5bc756,_0x4253a8,_0x38b6f5,_0x54700a){const _0x59a252=_0x4f63e1,_0xf429eb=_0x5bc756?this[_0x59a252(0xa0)][_0x59a252(0x276)](_0x5bc756,UniverInstanceType[_0x59a252(0x261)]):this[_0x59a252(0xa0)][_0x59a252(0x16a)](UniverInstanceType['UNIVER_SHEET']);if(!_0xf429eb)return;const _0x2ab6e5=_0x4253a8?_0xf429eb[_0x59a252(0x240)](_0x4253a8):_0xf429eb[_0x59a252(0x2fa)]();if(!_0x2ab6e5)return;const _0x4113a0=this[_0x59a252(0x11f)][_0x59a252(0x29d)](_0xf429eb[_0x59a252(0x87)](),_0x2ab6e5[_0x59a252(0x138)](),_0x38b6f5,_0x54700a);if(!_0x4113a0)return;const _0x405dc5=this['_dataValidatorRegistryService']['getValidatorItem'](_0x4113a0[_0x59a252(0x28a)]);return _0x405dc5==null?void 0x0:_0x405dc5[_0x59a252(0x27c)];}[_0x4f63e1(0xc4)](){const _0x47ed0f=_0x4f63e1;this[_0x47ed0f(0x2d7)](this[_0x47ed0f(0x251)][_0x47ed0f(0x2a6)][_0x47ed0f(0xb0)](_0x377f6e=>{const _0x59b8fd=_0x47ed0f;_0x377f6e&&_0x377f6e['every'](_0x2f195d=>!(_0x2f195d[_0x59b8fd(0x2fd)]&&this[_0x59b8fd(0x245)](_0x2f195d['primary'][_0x59b8fd(0x24f)],_0x2f195d[_0x59b8fd(0x2fd)][_0x59b8fd(0x127)],_0x2f195d[_0x59b8fd(0x2fd)][_0x59b8fd(0x292)],_0x2f195d['primary'][_0x59b8fd(0x268)])))&&this[_0x59b8fd(0x1eb)]();}));}[_0x4f63e1(0x1a3)](_0x3edb18,_0x5e9100=!0x0){const _0x19451d=_0x4f63e1,{location:_0x215c15}=_0x3edb18,{row:_0x50a34d,col:_0x156349,unitId:_0x57fe3b,subUnitId:_0x309798}=_0x215c15;if(this[_0x19451d(0x206)]&&this[_0x19451d(0x206)][_0x19451d(0x168)](),this[_0x19451d(0x15a)])return;this[_0x19451d(0x214)]=_0x3edb18,this[_0x19451d(0x14f)][_0x19451d(0x8a)](this[_0x19451d(0x214)]);const _0x4c623b=this[_0x19451d(0x238)][_0x19451d(0xb4)](DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY),_0x3963d7=this[_0x19451d(0x9f)][_0x19451d(0x71)](_0x50a34d,_0x156349,{'componentKey':DROP_DOWN_KEY,'onClickOutside':__name(()=>{const _0x49c6dc=_0x19451d;_0x5e9100&&this[_0x49c6dc(0x1eb)]();},_0x19451d(0x98)),'offset':[0x0,0x3],'excludeOutside':[_0x4c623b==null?void 0x0:_0x4c623b[_0x19451d(0x2e3)]['getCanvasElement']()][_0x19451d(0x286)](Boolean)},_0x57fe3b,_0x309798);if(!_0x3963d7)throw new Error(_0x19451d(0x280));const _0xda8d91=new DisposableCollection();_0xda8d91[_0x19451d(0xbf)](_0x3963d7),_0xda8d91[_0x19451d(0xbf)]({'dispose':__name(()=>{const _0x41a00a=_0x19451d;var _0x2ddde6,_0xf30c03;(_0xf30c03=(_0x2ddde6=this[_0x41a00a(0x214)])==null?void 0x0:_0x2ddde6[_0x41a00a(0x172)])==null||_0xf30c03[_0x41a00a(0x2cb)](_0x2ddde6);},'dispose')}),this['_currentPopup']=_0xda8d91;}[_0x4f63e1(0x1eb)](){const _0x475672=_0x4f63e1;this[_0x475672(0x214)]&&(this[_0x475672(0x206)]&&this['_currentPopup'][_0x475672(0x168)](),this['_currentPopup']=null,this['_activeDropdown']=null,this[_0x475672(0x14f)][_0x475672(0x8a)](null));}[_0x4f63e1(0x262)](_0x2ba95c,_0xf81d8d,_0x45a824,_0x41a9d3,_0x3d3c3d){const _0x12e283=_0x4f63e1,_0x9473a7=this['_univerInstanceService'][_0x12e283(0x276)](_0x2ba95c,UniverInstanceType[_0x12e283(0x261)]);if(!_0x9473a7)return;const _0x23d4de=_0x9473a7[_0x12e283(0x240)](_0xf81d8d);if(!_0x23d4de)return;const _0xc5fdce=this[_0x12e283(0x11f)]['getRuleByLocation'](_0x9473a7[_0x12e283(0x87)](),_0x23d4de[_0x12e283(0x138)](),_0x45a824,_0x41a9d3);if(!_0xc5fdce)return;const _0x57553b=this['_dataValidatorRegistryService']['getValidatorItem'](_0xc5fdce[_0x12e283(0x28a)]);if(!_0x57553b||!_0x57553b['dropdown']){this[_0x12e283(0x1eb)]();return;}this[_0x12e283(0x1a3)]({'location':{'workbook':_0x9473a7,'worksheet':_0x23d4de,'row':_0x45a824,'col':_0x41a9d3,'unitId':_0x2ba95c,'subUnitId':_0xf81d8d},'componentKey':_0x57553b[_0x12e283(0x27c)],'onHide':_0x3d3c3d});}},__name(_a3,'DataValidationDropdownManagerService'),_a3);DataValidationDropdownManagerService=__decorateClass$c([__decorateParam$c(0x0,Inject(SheetCanvasPopManagerService)),__decorateParam$c(0x1,IUniverInstanceService),__decorateParam$c(0x2,Inject(DataValidatorRegistryService)),__decorateParam$c(0x3,IZenZoneService),__decorateParam$c(0x4,IRenderManagerService),__decorateParam$c(0x5,Inject(SheetDataValidationModel)),__decorateParam$c(0x6,Inject(SheetsSelectionsService))],DataValidationDropdownManagerService);const DATA_VALIDATION_PANEL=_0x4f63e1(0x241),OpenValidationPanelOperation={'id':_0x4f63e1(0x178),'type':CommandType[_0x4f63e1(0x2ff)],'handler'(_0x12a6dd,_0x57e847){const _0x35f1ea=_0x4f63e1;if(!_0x57e847)return!0x1;const {ruleId:_0x4bd06e,isAdd:_0x138f44}=_0x57e847,_0x59c9f5=_0x12a6dd[_0x35f1ea(0x29c)](DataValidationPanelService),_0x4eabf6=_0x12a6dd['get'](DataValidationModel),_0xf363e3=_0x12a6dd[_0x35f1ea(0x29c)](IUniverInstanceService),_0x43d2a6=_0x12a6dd['get'](ISidebarService),_0x427275=getSheetCommandTarget(_0xf363e3);if(!_0x427275)return!0x1;const {unitId:_0x51344e,subUnitId:_0x55db00}=_0x427275,_0x3eeb32=_0x4bd06e?_0x4eabf6[_0x35f1ea(0x25b)](_0x51344e,_0x55db00,_0x4bd06e):void 0x0;_0x59c9f5[_0x35f1ea(0xf5)](),_0x59c9f5[_0x35f1ea(0x2a5)](_0x3eeb32&&{'unitId':_0x51344e,'subUnitId':_0x55db00,'rule':_0x3eeb32});const _0x2aef2d=_0x43d2a6[_0x35f1ea(0xf5)]({'header':{'title':_0x138f44?_0x35f1ea(0xdb):_0x35f1ea(0x2f8)},'children':{'label':DATA_VALIDATION_PANEL},'width':0x138,'onClose':__name(()=>_0x59c9f5[_0x35f1ea(0x140)](),'onClose')});return _0x59c9f5[_0x35f1ea(0x1c0)](_0x2aef2d),!0x0;}},CloseValidationPanelOperation={'id':_0x4f63e1(0x19a),'type':CommandType['OPERATION'],'handler'(_0x162272){return _0x162272['get'](DataValidationPanelService)['close'](),!0x0;}},ToggleValidationPanelOperation={'id':'data-validation.operation.toggle-validation-panel','type':CommandType[_0x4f63e1(0x2ff)],'handler'(_0x2a7340){const _0x22b5c2=_0x4f63e1,_0x5a97e3=_0x2a7340[_0x22b5c2(0x29c)](ICommandService),_0x79b240=_0x2a7340['get'](DataValidationPanelService);return _0x79b240['open'](),_0x79b240[_0x22b5c2(0x231)]?_0x5a97e3[_0x22b5c2(0x293)](CloseValidationPanelOperation['id']):_0x5a97e3[_0x22b5c2(0x293)](OpenValidationPanelOperation['id']),!0x0;}},ShowDataValidationDropdown={'type':CommandType['OPERATION'],'id':_0x4f63e1(0x169),'handler'(_0x50cebb,_0x407c32){const _0x1bde90=_0x4f63e1;if(!_0x407c32)return!0x1;const _0x31dd19=_0x50cebb[_0x1bde90(0x29c)](DataValidationDropdownManagerService),{unitId:_0x49f0e4,subUnitId:_0x36980a,row:_0x5b37b4,column:_0x2d3eea}=_0x407c32,_0x177d8d=_0x31dd19[_0x1bde90(0x1ba)],_0x344ce9=_0x177d8d==null?void 0x0:_0x177d8d['location'];return _0x344ce9&&_0x344ce9[_0x1bde90(0x24f)]===_0x49f0e4&&_0x344ce9[_0x1bde90(0x1b8)]===_0x36980a&&_0x344ce9[_0x1bde90(0xf1)]===_0x5b37b4&&_0x344ce9[_0x1bde90(0x2cf)]===_0x2d3eea||_0x31dd19[_0x1bde90(0x262)](_0x49f0e4,_0x36980a,_0x5b37b4,_0x2d3eea),!0x0;}},HideDataValidationDropdown={'type':CommandType['OPERATION'],'id':'sheet.operation.hide-data-validation-dropdown','handler'(_0x31ff1e,_0x358729){const _0xa9d83a=_0x4f63e1;return _0x358729?(_0x31ff1e['get'](DataValidationDropdownManagerService)[_0xa9d83a(0x1eb)](),!0x0):!0x1;}},DROP_DOWN_DEFAULT_COLOR='#ECECEC',PLUGIN_CONFIG_KEY='sheets-data-validation.config',defaultPluginConfig={},dvListDropdown=_0x4f63e1(0x23e),dvListDropdownTitle=_0x4f63e1(0x2d3),dvListDropdownList='univer-dv-list-dropdown-list',dvListDropdownListContainer='univer-dv-list-dropdown-list-container',dvListDropdownSelectedIcon='univer-dv-list-dropdown-selected-icon',dvListDropdownItemContainer=_0x4f63e1(0x2b9),dvListDropdownItem=_0x4f63e1(0xdd),dvListDropdownSplit=_0x4f63e1(0x121),dvListDropdownEdit='univer-dv-list-dropdown-edit',styles$5={'dvListDropdown':dvListDropdown,'dvListDropdownTitle':dvListDropdownTitle,'dvListDropdownList':dvListDropdownList,'dvListDropdownListContainer':dvListDropdownListContainer,'dvListDropdownSelectedIcon':dvListDropdownSelectedIcon,'dvListDropdownItemContainer':dvListDropdownItemContainer,'dvListDropdownItem':dvListDropdownItem,'dvListDropdownSplit':dvListDropdownSplit,'dvListDropdownEdit':dvListDropdownEdit},SelectList=__name(_0x3e0bf7=>{const _0x2a81e4=_0x4f63e1;var _0x3fd7f3,_0x5e3616;const {value:_0x352585,onChange:_0x14b0bf,multiple:_0x4e65ca,options:_0x1eb704,title:_0x206d71,onEdit:_0x4d0b08,style:_0x427f2c,filter:_0x57a8fa,location:_0x302e46}=_0x3e0bf7,_0x25b393=useDependency(LocaleService),_0x3ed913=useDependency(IConfigService),_0x5ab793=_0x57a8fa==null?void 0x0:_0x57a8fa[_0x2a81e4(0x1b7)](),{row:_0x589b69,col:_0x582556,unitId:_0x442053,subUnitId:_0x138740}=_0x302e46,_0xde1bea=_0x1eb704[_0x2a81e4(0x286)](_0x2c7512=>_0x5ab793?_0x2c7512[_0x2a81e4(0x284)][_0x2a81e4(0x1b7)]()[_0x2a81e4(0x1f4)](_0x5ab793):!0x0),_0x4726fd=(_0x5e3616=(_0x3fd7f3=_0x3ed913[_0x2a81e4(0x25f)](PLUGIN_CONFIG_KEY))==null?void 0x0:_0x3fd7f3[_0x2a81e4(0x9e)])!=null?_0x5e3616:!0x0,_0x37315=useDependency(SheetPermissionInterceptorBaseController),_0x1c609a=useMemo(()=>_0x37315[_0x2a81e4(0x2bb)]({'workbookTypes':[WorkbookEditablePermission],'rangeTypes':[RangeProtectionPermissionEditPoint],'worksheetTypes':[WorksheetEditPermission]},[{'startColumn':_0x582556,'startRow':_0x589b69,'endColumn':_0x582556,'endRow':_0x589b69}],_0x442053,_0x138740),[_0x37315,_0x582556,_0x589b69,_0x442053,_0x138740]);return jsxRuntimeExports[_0x2a81e4(0x18c)](_0x2a81e4(0x1ce),{'className':styles$5[_0x2a81e4(0x1f1)],'style':_0x427f2c,'children':[jsxRuntimeExports['jsx'](_0x2a81e4(0x1ce),{'className':styles$5[_0x2a81e4(0x1a7)],'children':_0x206d71}),jsxRuntimeExports['jsx'](_0x2a81e4(0x1ce),{'className':styles$5[_0x2a81e4(0x197)],'children':jsxRuntimeExports[_0x2a81e4(0xe9)](Scrollbar,{'children':jsxRuntimeExports[_0x2a81e4(0xe9)]('div',{'className':styles$5[_0x2a81e4(0x22d)],'children':_0xde1bea[_0x2a81e4(0xe5)]((_0x310298,_0x21d711)=>{const _0x44346d=_0x2a81e4,_0x582e21=_0x352585[_0x44346d(0xea)](_0x310298[_0x44346d(0x24d)])>-0x1,_0x2dc2a2=__name(()=>{const _0x3112dd=_0x44346d;let _0x300678;_0x582e21?_0x300678=new Set(_0x352585[_0x3112dd(0x286)](_0x34e4bd=>_0x34e4bd!==_0x310298[_0x3112dd(0x24d)])):_0x300678=new Set(_0x4e65ca?[..._0x352585,_0x310298['value']]:[_0x310298[_0x3112dd(0x24d)]]);const _0x1437d8=[];_0x1eb704[_0x3112dd(0xc9)](_0xf9de5e=>{const _0x37497b=_0x3112dd;_0x300678[_0x37497b(0x1ed)](_0xf9de5e[_0x37497b(0x24d)])&&_0x1437d8[_0x37497b(0x12f)](_0xf9de5e[_0x37497b(0x24d)]);}),_0x14b0bf(_0x1437d8);},_0x44346d(0x2df)),_0x3e05c9=_0x310298[_0x44346d(0x284)]['toLocaleLowerCase']()['indexOf'](_0x5ab793);return jsxRuntimeExports['jsxs'](_0x44346d(0x1ce),{'className':styles$5[_0x44346d(0x207)],'onClick':_0x2dc2a2,'children':[jsxRuntimeExports['jsx'](_0x44346d(0x1ce),{'className':styles$5[_0x44346d(0x156)],'style':{'background':_0x310298['color']||DROP_DOWN_DEFAULT_COLOR},'children':_0x5ab793&&_0x310298[_0x44346d(0x284)][_0x44346d(0x1b7)]()[_0x44346d(0x1f4)](_0x5ab793)?jsxRuntimeExports['jsxs'](jsxRuntimeExports[_0x44346d(0x316)],{'children':[jsxRuntimeExports[_0x44346d(0xe9)](_0x44346d(0xda),{'children':_0x310298[_0x44346d(0x284)]['substring'](0x0,_0x3e05c9)}),jsxRuntimeExports[_0x44346d(0xe9)](_0x44346d(0xda),{'style':{'fontWeight':_0x44346d(0xae)},'children':_0x310298['label'][_0x44346d(0x26a)](_0x3e05c9,_0x3e05c9+_0x5ab793[_0x44346d(0x18a)])}),jsxRuntimeExports[_0x44346d(0xe9)](_0x44346d(0xda),{'children':_0x310298[_0x44346d(0x284)][_0x44346d(0x26a)](_0x3e05c9+_0x5ab793[_0x44346d(0x18a)])})]}):_0x310298[_0x44346d(0x284)]}),jsxRuntimeExports[_0x44346d(0xe9)](_0x44346d(0x1ce),{'className':styles$5[_0x44346d(0x1c9)],'children':_0x582e21?jsxRuntimeExports[_0x44346d(0xe9)](CheckMarkSingle,{}):null})]},_0x21d711);})})},_0x57a8fa)}),_0x4726fd&&_0x1c609a?jsxRuntimeExports[_0x2a81e4(0x18c)](jsxRuntimeExports['Fragment'],{'children':[jsxRuntimeExports[_0x2a81e4(0xe9)](_0x2a81e4(0x1ce),{'className':styles$5[_0x2a81e4(0xcd)]}),jsxRuntimeExports[_0x2a81e4(0xe9)]('div',{'className':styles$5[_0x2a81e4(0x26e)],'children':jsxRuntimeExports['jsx']('a',{'onClick':_0x4d0b08,'children':_0x25b393['t'](_0x2a81e4(0x217))})})]}):null]});},_0x4f63e1(0xee));function ListDropDown(_0x197371){const _0x142314=_0x4f63e1;var _0x5407f0,_0x37e1ba;const {location:_0x50b48b,hideFn:_0x6e451c}=_0x197371,{worksheet:_0x1f99d2,row:_0x44e929,col:_0x19ae0c,unitId:_0x454b07,subUnitId:_0x33bf02}=_0x50b48b,_0x227ef4=useDependency(DataValidationModel),[_0x536acd,_0x34ab98]=useState(''),_0x1459e4=useDependency(ICommandService),_0x5817c2=useDependency(LocaleService),[_0x5903e3,_0x415eeb]=useState(''),_0x5f560c=useDependency(IEditorBridgeService),_0xd7a044=useDependency(IUniverInstanceService),_0x9d18ca=useMemo(()=>_0x227ef4[_0x142314(0xd0)][_0x142314(0x8c)](debounceTime(0x10)),[]);useObservable(_0x9d18ca);const _0x399535=RectPopup[_0x142314(0x166)](),_0x1fd46b=_0x399535[_0x142314(0x235)]-_0x399535[_0x142314(0x210)];if(useEffect(()=>{const _0x4540f7=_0x1459e4['onCommandExecuted'](_0x3c2f31=>{const _0x5c96d0=_0x4874;var _0x13d9ca,_0x1ea6d3;if(_0x3c2f31['id']===RichTextEditingMutation['id']){const _0x5c8afa=_0x3c2f31[_0x5c96d0(0x13e)],{unitId:_0x47b2e7}=_0x5c8afa,_0x1d2cd3=_0xd7a044[_0x5c96d0(0x276)](_0x47b2e7,UniverInstanceType['UNIVER_DOC']);if(!_0x1d2cd3)return;const _0x27e317=BuildTextUtils[_0x5c96d0(0xc0)][_0x5c96d0(0x2f3)]((_0x1ea6d3=(_0x13d9ca=_0x1d2cd3[_0x5c96d0(0xe7)]()[_0x5c96d0(0x29f)])==null?void 0x0:_0x13d9ca[_0x5c96d0(0x19f)])!=null?_0x1ea6d3:'');_0x34ab98(_0x27e317);}});return()=>{const _0x2676f9=_0x4874;_0x4540f7[_0x2676f9(0x168)]();};},[_0x1459e4,_0xd7a044]),!_0x1f99d2)return null;const _0x25bc27=_0x1f99d2[_0x142314(0x2b2)](_0x44e929,_0x19ae0c),_0x164afd=(_0x5407f0=_0x25bc27==null?void 0x0:_0x25bc27[_0x142314(0x2bf)])==null?void 0x0:_0x5407f0[_0x142314(0x201)],_0xb1ac2f=(_0x37e1ba=_0x25bc27==null?void 0x0:_0x25bc27[_0x142314(0x2bf)])==null?void 0x0:_0x37e1ba[_0x142314(0x16c)],_0x236d30=(_0x164afd==null?void 0x0:_0x164afd[_0x142314(0x1c7)])===DataValidationRenderMode['CUSTOM']||(_0x164afd==null?void 0x0:_0x164afd[_0x142314(0x1c7)])===void 0x0;if(!_0x25bc27||!_0x164afd||!_0xb1ac2f||_0xb1ac2f['id'][_0x142314(0xea)](DataValidationType['LIST'])!==0x0)return;const _0x3be38c=_0x164afd[_0x142314(0x28a)]===DataValidationType[_0x142314(0xf0)],_0x180e0b=_0xb1ac2f[_0x142314(0xd7)](_0x164afd,_0x454b07,_0x33bf02),_0x386717=_0x5903e3||getDataValidationCellValue(_0x1f99d2[_0x142314(0x167)](_0x44e929,_0x19ae0c)),_0x3d41f9=deserializeListOptions(_0x386717),_0x54abb5=__name(()=>{const _0x54c718=_0x142314;_0x1459e4['executeCommand'](OpenValidationPanelOperation['id'],{'ruleId':_0x164afd[_0x54c718(0x296)]}),_0x6e451c();},'handleEdit'),_0x125783=_0x180e0b[_0x142314(0xe5)](_0x354285=>({'label':_0x354285['label'],'value':_0x354285[_0x142314(0x284)],'color':_0x236d30?_0x354285[_0x142314(0x188)]:_0x142314(0x20f)}));return jsxRuntimeExports[_0x142314(0xe9)](SelectList,{'style':{'minWidth':_0x1fd46b,'maxWidth':Math[_0x142314(0x1b3)](_0x1fd46b,0xc8)},'title':_0x3be38c?_0x5817c2['t'](_0x142314(0x192)):_0x5817c2['t'](_0x142314(0xfb)),'value':_0x3d41f9,'multiple':_0x3be38c,'onChange':__name(_0x24467a=>{const _0x5b14ea=_0x142314,_0x282616=serializeListOptions(_0x24467a),_0x70e79e={'unitId':_0x454b07,'subUnitId':_0x33bf02,'range':{'startColumn':_0x19ae0c,'endColumn':_0x19ae0c,'startRow':_0x44e929,'endRow':_0x44e929},'value':{'v':_0x282616,'p':null,'f':null,'si':null}};_0x5f560c[_0x5b14ea(0x1fc)]()&&_0x5f560c[_0x5b14ea(0xa9)]({'visible':!0x1,'keycode':KeyCode[_0x5b14ea(0x157)],'eventType':DeviceInputEventType[_0x5b14ea(0x1da)],'unitId':_0x454b07}),_0x1459e4[_0x5b14ea(0x293)](SetRangeValuesCommand['id'],_0x70e79e),_0x415eeb(_0x282616),_0x3be38c||_0x6e451c();},_0x142314(0xd3)),'options':_0x125783,'onEdit':_0x54abb5,'filter':_0x536acd,'location':_0x50b48b});}__name(ListDropDown,_0x4f63e1(0x203));const dataValidationOptionsButton='univer-data-validation-options-button',dataValidationOptionsButtonIcon=_0x4f63e1(0xd4),styles$4={'dataValidationOptionsButton':dataValidationOptionsButton,'dataValidationOptionsButtonIcon':dataValidationOptionsButtonIcon};function DataValidationOptions(_0x1ec370){const _0x2bd333=_0x4f63e1;var _0x525eb8;const _0x44002a=useDependency(LocaleService),_0xa7a4fb=useDependency(ComponentManager),{value:_0x2c9afc,onChange:_0x55cfdd,extraComponent:_0x1028aa}=_0x1ec370,[_0x533ba1,_0x2a04c0]=useState(!0x1),_0x520d42=_0x1028aa?_0xa7a4fb['get'](_0x1028aa):null;return jsxRuntimeExports[_0x2bd333(0x18c)](jsxRuntimeExports[_0x2bd333(0x316)],{'children':[jsxRuntimeExports[_0x2bd333(0x18c)](_0x2bd333(0x1ce),{'className':styles$4[_0x2bd333(0x12c)],'onClick':__name(()=>_0x2a04c0(!_0x533ba1),_0x2bd333(0x30f)),'children':[_0x44002a['t'](_0x2bd333(0x2ca)),_0x533ba1?jsxRuntimeExports[_0x2bd333(0xe9)](MoreUpSingle,{'className':styles$4[_0x2bd333(0x196)]}):jsxRuntimeExports['jsx'](MoreDownSingle,{'className':styles$4[_0x2bd333(0x196)]})]}),_0x533ba1&&jsxRuntimeExports[_0x2bd333(0x18c)](jsxRuntimeExports[_0x2bd333(0x316)],{'children':[_0x520d42?jsxRuntimeExports[_0x2bd333(0xe9)](_0x520d42,{'value':_0x2c9afc,'onChange':_0x55cfdd}):null,jsxRuntimeExports['jsx'](FormLayout,{'label':_0x44002a['t']('dataValidation.panel.invalid'),'children':jsxRuntimeExports['jsxs'](RadioGroup,{'value':''+((_0x525eb8=_0x2c9afc[_0x2bd333(0x159)])!=null?_0x525eb8:DataValidationErrorStyle[_0x2bd333(0x2e8)]),'onChange':__name(_0x28ac5c=>_0x55cfdd({..._0x2c9afc,'errorStyle':+_0x28ac5c}),_0x2bd333(0xd3)),'children':[jsxRuntimeExports['jsx'](Radio,{'value':''+DataValidationErrorStyle['WARNING'],'children':_0x44002a['t']('dataValidation.panel.showWarning')}),jsxRuntimeExports[_0x2bd333(0xe9)](Radio,{'value':''+DataValidationErrorStyle['STOP'],'children':_0x44002a['t']('dataValidation.panel.rejectInput')})]})}),jsxRuntimeExports[_0x2bd333(0xe9)](FormLayout,{'label':_0x44002a['t'](_0x2bd333(0x208)),'children':jsxRuntimeExports[_0x2bd333(0xe9)](Checkbox,{'checked':_0x2c9afc[_0x2bd333(0x183)],'onChange':__name(()=>_0x55cfdd({..._0x2c9afc,'showErrorMessage':!_0x2c9afc[_0x2bd333(0x183)]}),_0x2bd333(0xd3)),'children':_0x44002a['t'](_0x2bd333(0x279))})}),_0x2c9afc[_0x2bd333(0x183)]?jsxRuntimeExports[_0x2bd333(0xe9)](FormLayout,{'children':jsxRuntimeExports[_0x2bd333(0xe9)](Input,{'value':_0x2c9afc[_0x2bd333(0x313)],'onChange':__name(_0x10e443=>_0x55cfdd({..._0x2c9afc,'error':_0x10e443}),'onChange')})}):null]})]});}__name(DataValidationOptions,_0x4f63e1(0x1e7));const dataValidationDetail=_0x4f63e1(0x314),dataValidationDetailFormItem=_0x4f63e1(0x19b),dataValidationDetailButtons=_0x4f63e1(0x212),dataValidationDetailButton=_0x4f63e1(0x297),styles$3={'dataValidationDetail':dataValidationDetail,'dataValidationDetailFormItem':dataValidationDetailFormItem,'dataValidationDetailButtons':dataValidationDetailButtons,'dataValidationDetailButton':dataValidationDetailButton},debounceExecuteFactory=__name(_0x40b169=>debounce(async(_0x291674,_0x4f02a6,_0x138560,_0x134be8)=>{const _0x2445ca=_0x4f63e1,_0x1aee90=await _0x40b169[_0x2445ca(0x293)](_0x291674,_0x4f02a6,_0x138560);_0x134be8==null||_0x134be8(_0x1aee90);},0x3e8),'debounceExecuteFactory');function DataValidationDetail(){const _0x11d68b=_0x4f63e1,[_0x3abf73,_0x2ef69c]=useState(0x0),_0x48f822=useDependency(DataValidationPanelService),_0x222336=useObservable(_0x48f822['activeRule$'],_0x48f822[_0x11d68b(0x2b0)]),{unitId:_0x2df611,subUnitId:_0x3f4d66,rule:_0x57360a}=_0x222336||{},_0x43f5b2=_0x57360a[_0x11d68b(0x296)],_0x501a00=useDependency(DataValidatorRegistryService),_0xb6a10d=useDependency(ComponentManager),_0xe6176d=useDependency(ICommandService),_0x1c3268=useDependency(DataValidationModel),_0x79d8ee=useDependency(LocaleService),[_0x1138c5,_0x21959c]=useState(_0x57360a),_0x3b496d=_0x501a00[_0x11d68b(0x90)](_0x1138c5[_0x11d68b(0x28a)]),[_0x4a9bba,_0x100185]=useState(!0x1),_0x4a1344=_0x501a00[_0x11d68b(0xc8)](DataValidatorRegistryScope['SHEET']),[_0x47843a,_0x1ebabe]=useState(()=>_0x1138c5[_0x11d68b(0x117)][_0x11d68b(0xe5)](_0x26ddbe=>({'unitId':'','sheetId':'','range':_0x26ddbe}))),_0x8d5a71=useMemo(()=>debounceExecuteFactory(_0xe6176d),[_0xe6176d]),_0x359ec9=useDependency(SheetsSelectionsService);if(useEffect(()=>()=>{const _0xa569cb=_0x11d68b,_0x147740=_0x359ec9[_0xa569cb(0xac)]();_0x147740&&_0x359ec9[_0xa569cb(0x112)]([_0x147740]);},[_0x359ec9]),useEffect(()=>{const _0xb8fda1=_0x11d68b;_0xe6176d[_0xb8fda1(0x23a)](_0x5c40a9=>{(_0x5c40a9['id']===UndoCommand['id']||_0x5c40a9['id']===RedoCommand['id'])&&setTimeout(()=>{const _0x234ebc=_0x4874,_0x1b06f0=_0x1c3268[_0x234ebc(0x25b)](_0x2df611,_0x3f4d66,_0x43f5b2);_0x2ef69c(_0x2ce9f8=>_0x2ce9f8+0x1),_0x1b06f0&&(_0x21959c(_0x1b06f0),_0x1ebabe(_0x1b06f0['ranges'][_0x234ebc(0xe5)](_0x36bbe7=>({'unitId':'','sheetId':'','range':_0x36bbe7}))));},0x14);});},[_0xe6176d,_0x1c3268,_0x43f5b2,_0x3f4d66,_0x2df611]),!_0x3b496d)return null;const _0x434eba=_0x3b496d[_0x11d68b(0x306)],_0x2db1a3=_0x3b496d[_0x11d68b(0x312)],_0x2c3774=_0x1138c5[_0x11d68b(0xf7)]?TWO_FORMULA_OPERATOR_COUNT[_0x11d68b(0x1f4)](_0x1138c5[_0x11d68b(0xf7)]):!0x1,_0xf204f=__name(()=>{const _0x24ef1c=_0x11d68b;_0x1138c5[_0x24ef1c(0x117)]['length']&&(_0x3b496d[_0x24ef1c(0x2b3)](_0x1138c5,_0x2df611,_0x3f4d66)[_0x24ef1c(0x1c1)]?_0x48f822['setActiveRule'](null):_0x100185(!0x0));},_0x11d68b(0x1dc)),_0x5b7ffd=useEvent(_0x3654ec=>{const _0x3e981e=_0x11d68b;if(isUnitRangesEqual(_0x3654ec,_0x47843a))return;_0x1ebabe(_0x3654ec);const _0x51a5a4=_0x3654ec[_0x3e981e(0x286)](_0x217d1d=>(!_0x217d1d[_0x3e981e(0x24f)]||_0x217d1d[_0x3e981e(0x24f)]===_0x2df611)&&(!_0x217d1d[_0x3e981e(0x127)]||_0x217d1d['sheetId']===_0x3f4d66))[_0x3e981e(0xe5)](_0x300b96=>_0x300b96['range']);if(_0x21959c({..._0x1138c5,'ranges':_0x51a5a4}),_0x51a5a4[_0x3e981e(0x18a)]===0x0)return;const _0x4b960e={'unitId':_0x2df611,'subUnitId':_0x3f4d66,'ruleId':_0x43f5b2,'ranges':_0x51a5a4};_0x8d5a71(UpdateSheetDataValidationRangeCommand['id'],_0x4b960e);}),_0x390295=__name(_0x31f9a7=>{if(shallowEqual(_0x31f9a7,getRuleSetting(_0x1138c5)))return;_0x21959c({..._0x1138c5,..._0x31f9a7});const _0x59196c={'unitId':_0x2df611,'subUnitId':_0x3f4d66,'ruleId':_0x43f5b2,'setting':_0x31f9a7};_0x8d5a71(UpdateSheetDataValidationSettingCommand['id'],_0x59196c,void 0x0);},_0x11d68b(0x171)),_0x37bc3a=__name(async()=>{const _0x88b8d9=_0x11d68b;await _0xe6176d[_0x88b8d9(0x293)](RemoveSheetDataValidationCommand['id'],{'ruleId':_0x43f5b2,'unitId':_0x2df611,'subUnitId':_0x3f4d66}),_0x48f822[_0x88b8d9(0x2a5)](null);},_0x11d68b(0xdc)),_0x4de81f={'type':_0x1138c5[_0x11d68b(0x28a)],'operator':_0x1138c5[_0x11d68b(0xf7)],'formula1':_0x1138c5[_0x11d68b(0x170)],'formula2':_0x1138c5['formula2'],'allowBlank':_0x1138c5[_0x11d68b(0x1a8)]},_0x39bcd4=__name(_0x3dcbc1=>{const _0x2b0a0c=_0x11d68b,_0x5e7758=_0x501a00['getValidatorItem'](_0x3dcbc1);if(!_0x5e7758)return;const _0x23bf12=_0x5e7758['operators'],_0x458c78=_0x1c3268[_0x2b0a0c(0x25b)](_0x2df611,_0x3f4d66,_0x43f5b2),_0x4b239d=_0x3dcbc1===(_0x458c78==null?void 0x0:_0x458c78['type'])||_0x3dcbc1[_0x2b0a0c(0x1f4)](_0x2b0a0c(0x2bc))&&(_0x458c78!=null&&_0x458c78[_0x2b0a0c(0x28a)]['includes'](_0x2b0a0c(0x2bc)))?{..._0x458c78,'type':_0x3dcbc1}:{..._0x1138c5,'type':_0x3dcbc1,'operator':_0x23bf12[0x0],'formula1':void 0x0,'formula2':void 0x0};_0x21959c(_0x4b239d),_0xe6176d[_0x2b0a0c(0x293)](UpdateSheetDataValidationSettingCommand['id'],{'unitId':_0x2df611,'subUnitId':_0x3f4d66,'ruleId':_0x1138c5[_0x2b0a0c(0x296)],'setting':getRuleSetting(_0x4b239d)});},'handleChangeType'),_0x42f3dc=_0xb6a10d[_0x11d68b(0x29c)](_0x3b496d[_0x11d68b(0xe3)]),_0x380d33=useMemo(()=>_0x47843a[_0x11d68b(0xe5)](_0x35a321=>serializeRange(_0x35a321['range']))[_0x11d68b(0x2e6)](','),[]),_0x539a8b=getRuleOptions(_0x1138c5),_0x1b0111=__name(_0x4e5d3c=>{shallowEqual(_0x4e5d3c,getRuleOptions(_0x1138c5))||(_0x21959c({..._0x1138c5,..._0x4e5d3c}),_0x8d5a71(UpdateSheetDataValidationOptionsCommand['id'],{'unitId':_0x2df611,'subUnitId':_0x3f4d66,'ruleId':_0x43f5b2,'options':_0x4e5d3c}));},_0x11d68b(0x246));return jsxRuntimeExports['jsxs']('div',{'className':styles$3['dataValidationDetail'],'children':[jsxRuntimeExports[_0x11d68b(0xe9)](FormLayout,{'label':_0x79d8ee['t']('dataValidation.panel.range'),'error':_0x1138c5['ranges'][_0x11d68b(0x18a)]?'':_0x79d8ee['t']('dataValidation.panel.rangeError'),'children':jsxRuntimeExports[_0x11d68b(0xe9)](RangeSelector,{'className':styles$3['dataValidationDetailFormItem'],'value':_0x380d33,'id':createInternalEditorID('data-validation-detail'),'openForSheetUnitId':_0x2df611,'openForSheetSubUnitId':_0x3f4d66,'onChange':__name(_0x86bbe8=>{const _0x4763c1=_0x11d68b;_0x86bbe8['some'](_0x31107c=>!isValidRange(_0x31107c['range'])||_0x31107c[_0x4763c1(0x30e)]['endColumn']<_0x31107c[_0x4763c1(0x30e)][_0x4763c1(0x310)]||_0x31107c['range'][_0x4763c1(0x25c)]<_0x31107c[_0x4763c1(0x30e)][_0x4763c1(0x27e)])||_0x5b7ffd(_0x86bbe8);},_0x11d68b(0xd3))},_0x3abf73)}),jsxRuntimeExports[_0x11d68b(0xe9)](FormLayout,{'label':_0x79d8ee['t'](_0x11d68b(0x298)),'children':jsxRuntimeExports[_0x11d68b(0xe9)](Select,{'options':_0x4a1344==null?void 0x0:_0x4a1344[_0x11d68b(0xe5)](_0x2154a8=>({'label':_0x79d8ee['t'](_0x2154a8['title']),'value':_0x2154a8['id']})),'value':_0x1138c5[_0x11d68b(0x28a)],'onChange':_0x39bcd4,'className':styles$3[_0x11d68b(0x211)]})}),_0x434eba!=null&&_0x434eba['length']?jsxRuntimeExports[_0x11d68b(0xe9)](FormLayout,{'label':_0x79d8ee['t'](_0x11d68b(0x14b)),'children':jsxRuntimeExports[_0x11d68b(0xe9)](Select,{'options':_0x434eba[_0x11d68b(0xe5)]((_0x2a991e,_0x501027)=>({'value':''+_0x2a991e,'label':_0x2db1a3[_0x501027]})),'value':''+_0x1138c5[_0x11d68b(0xf7)],'onChange':__name(_0x2f11f0=>{_0x390295({..._0x4de81f,'operator':_0x2f11f0});},'onChange'),'className':styles$3['dataValidationDetailFormItem']})}):null,_0x42f3dc?jsxRuntimeExports[_0x11d68b(0xe9)](_0x42f3dc,{'isTwoFormula':_0x2c3774,'value':{'formula1':_0x1138c5[_0x11d68b(0x170)],'formula2':_0x1138c5[_0x11d68b(0x16b)]},'onChange':__name(_0x3263a8=>{_0x390295({..._0x4de81f,..._0x3263a8});},'onChange'),'showError':_0x4a9bba,'validResult':_0x3b496d[_0x11d68b(0x2b3)](_0x1138c5,_0x2df611,_0x3f4d66),'unitId':_0x2df611,'subUnitId':_0x3f4d66,'ruleId':_0x43f5b2},_0x3abf73+_0x1138c5[_0x11d68b(0x28a)]):null,jsxRuntimeExports[_0x11d68b(0xe9)](DataValidationOptions,{'value':_0x539a8b,'onChange':_0x1b0111,'extraComponent':_0x3b496d[_0x11d68b(0x118)]}),jsxRuntimeExports[_0x11d68b(0x18c)](_0x11d68b(0x1ce),{'className':styles$3[_0x11d68b(0xc5)],'children':[jsxRuntimeExports[_0x11d68b(0xe9)](Button,{'className':styles$3[_0x11d68b(0x30d)],'onClick':_0x37bc3a,'children':_0x79d8ee['t'](_0x11d68b(0x2a0))}),jsxRuntimeExports['jsx'](Button,{'className':styles$3[_0x11d68b(0x30d)],'type':_0x11d68b(0x2fd),'onClick':_0xf204f,'children':_0x79d8ee['t']('dataValidation.panel.done')})]})]});}__name(DataValidationDetail,_0x4f63e1(0x105));const dataValidationItemContainer='univer-data-validation-item-container',dataValidationItemTitle=_0x4f63e1(0x108),dataValidationItemContent='univer-data-validation-item-content',dataValidationItemIcon=_0x4f63e1(0x21e),styles$2={'dataValidationItemContainer':dataValidationItemContainer,'dataValidationItemTitle':dataValidationItemTitle,'dataValidationItemContent':dataValidationItemContent,'dataValidationItemIcon':dataValidationItemIcon},DataValidationItem=__name(_0x3767f0=>{const _0x5d6934=_0x4f63e1,{rule:_0x29db1e,onClick:_0x3f675a,unitId:_0x84ed78,subUnitId:_0x371ae9,disable:_0x24becf}=_0x3767f0,_0x9f9bd1=useDependency(DataValidatorRegistryService),_0x28b304=useDependency(ICommandService),_0x517734=useDependency(IMarkSelectionService),_0x232852=_0x9f9bd1[_0x5d6934(0x90)](_0x29db1e['type']),_0x5d3eda=useRef(),[_0x80ffb3,_0x356630]=useState(!0x1),_0x421ddd=__name(_0x106ddf=>{const _0x3be8be=_0x5d6934;_0x28b304[_0x3be8be(0x293)](RemoveSheetDataValidationCommand['id'],{'ruleId':_0x29db1e[_0x3be8be(0x296)],'unitId':_0x84ed78,'subUnitId':_0x371ae9}),_0x106ddf[_0x3be8be(0x85)]();},_0x5d6934(0xdc));return useEffect(()=>()=>{const _0x5a1f86=_0x5d6934;var _0x4a607;_0x5d3eda['current']&&((_0x4a607=_0x5d3eda[_0x5a1f86(0xcf)])==null||_0x4a607[_0x5a1f86(0xc9)](_0x3b8e80=>{const _0x57ff27=_0x5a1f86;_0x3b8e80&&_0x517734[_0x57ff27(0x116)](_0x3b8e80);}));},[_0x517734]),jsxRuntimeExports[_0x5d6934(0x18c)](_0x5d6934(0x1ce),{'className':styles$2['dataValidationItemContainer'],'onClick':_0x3f675a,'onMouseEnter':__name(()=>{const _0x1bf469=_0x5d6934;_0x24becf||(_0x356630(!0x0),_0x5d3eda[_0x1bf469(0xcf)]=_0x29db1e['ranges']['map'](_0x1e72d9=>_0x517734[_0x1bf469(0x8d)]({'range':_0x1e72d9,'style':{'hasAutoFill':!0x1,'fill':_0x1bf469(0xaf),'strokeWidth':0x1,'stroke':'#49B811','widgets':{}},'primary':{'startColumn':_0x1e72d9[_0x1bf469(0x310)],'endColumn':_0x1e72d9[_0x1bf469(0x94)],'startRow':_0x1e72d9[_0x1bf469(0x27e)],'endRow':_0x1e72d9['endRow'],'actualRow':_0x1e72d9[_0x1bf469(0x27e)],'actualColumn':_0x1e72d9[_0x1bf469(0x310)],'isMerged':!0x1,'isMergedMainCell':!0x1}})));},'onMouseEnter'),'onMouseLeave':__name(()=>{const _0xd6537b=_0x5d6934;var _0x3368d6;_0x356630(!0x1),(_0x3368d6=_0x5d3eda[_0xd6537b(0xcf)])==null||_0x3368d6[_0xd6537b(0xc9)](_0x1ea2a0=>{const _0x12c6d2=_0xd6537b;_0x1ea2a0&&_0x517734[_0x12c6d2(0x116)](_0x1ea2a0);}),_0x5d3eda['current']=void 0x0;},'onMouseLeave'),'children':[jsxRuntimeExports[_0x5d6934(0xe9)](_0x5d6934(0x1ce),{'className':styles$2[_0x5d6934(0x2de)],'children':_0x232852==null?void 0x0:_0x232852['generateRuleName'](_0x29db1e)}),jsxRuntimeExports[_0x5d6934(0xe9)](_0x5d6934(0x1ce),{'className':styles$2[_0x5d6934(0x9c)],'children':_0x29db1e[_0x5d6934(0x117)]['map'](_0x58136e=>serializeRange(_0x58136e))[_0x5d6934(0x2e6)](',')}),_0x80ffb3?jsxRuntimeExports[_0x5d6934(0xe9)]('div',{'className':styles$2['dataValidationItemIcon'],'onClick':_0x421ddd,'children':jsxRuntimeExports[_0x5d6934(0xe9)](DeleteSingle,{})}):null]});},_0x4f63e1(0x225)),dataValidationList=_0x4f63e1(0xfc),dataValidationListButtons='univer-data-validation-list-buttons',dataValidationListButton=_0x4f63e1(0xc6),styles$1={'dataValidationList':dataValidationList,'dataValidationListButtons':dataValidationListButtons,'dataValidationListButton':dataValidationListButton};function DataValidationList(){const _0x51fd24=_0x4f63e1,_0x35ec4e=useDependency(IUniverInstanceService),_0x4f13e0=useObservable(()=>_0x35ec4e[_0x51fd24(0x2a7)](UniverInstanceType[_0x51fd24(0x261)]),void 0x0,void 0x0,[]);return _0x4f13e0?jsxRuntimeExports[_0x51fd24(0xe9)](DataValidationListWithWorkbook,{'workbook':_0x4f13e0}):null;}__name(DataValidationList,'DataValidationList');function DataValidationListWithWorkbook(_0x2c8cae){const _0x301a92=_0x4f63e1,_0x10ddb2=useDependency(SheetDataValidationModel),_0x5725e6=useDependency(IUniverInstanceService),_0x336167=useDependency(ICommandService),_0x3eb427=useDependency(Injector),_0x2f5a0c=useDependency(DataValidationPanelService),_0x11b859=useDependency(LocaleService),[_0xa66db9,_0x12be05]=useState([]),{workbook:_0xd9d639}=_0x2c8cae,_0x39d8bf=useObservable(_0xd9d639[_0x301a92(0x165)],void 0x0,!0x0),_0x500169=_0xd9d639[_0x301a92(0x87)](),_0x2ec831=_0x39d8bf==null?void 0x0:_0x39d8bf[_0x301a92(0x138)]();useEffect(()=>{const _0x81a1e1=_0x301a92;_0x12be05(_0x10ddb2[_0x81a1e1(0x1f2)](_0x500169,_0x2ec831));const _0xca6cc5=_0x10ddb2[_0x81a1e1(0xd0)][_0x81a1e1(0xb0)](_0x275fb8=>{const _0x16043d=_0x81a1e1;_0x275fb8[_0x16043d(0x24f)]===_0x500169&&_0x275fb8[_0x16043d(0x1b8)]===_0x2ec831&&_0x12be05(_0x10ddb2[_0x16043d(0x1f2)](_0x500169,_0x2ec831));});return()=>{const _0x128e55=_0x81a1e1;_0xca6cc5[_0x128e55(0x30b)]();};},[_0x500169,_0x2ec831,_0x10ddb2]);const _0x1db433=__name(async()=>{const _0x26e134=_0x301a92,_0x287702=createDefaultNewRule(_0x3eb427),_0x3045f8={'unitId':_0x500169,'subUnitId':_0x2ec831,'rule':_0x287702};await _0x336167[_0x26e134(0x293)](AddSheetDataValidationCommand['id'],_0x3045f8),_0x2f5a0c['setActiveRule']({'unitId':_0x500169,'subUnitId':_0x2ec831,'rule':_0x287702});},_0x301a92(0x79)),_0x11152f=__name(()=>{const _0x9644ac=_0x301a92;_0x336167[_0x9644ac(0x293)](RemoveSheetAllDataValidationCommand['id'],{'unitId':_0x500169,'subUnitId':_0x2ec831});},_0x301a92(0xb7)),_0x1cfa0b=__name(_0x577122=>{const _0x38f66e=_0x301a92,_0x3b6221=_0x5725e6[_0x38f66e(0x16a)](UniverInstanceType[_0x38f66e(0x261)]),_0x53adc8=_0x3b6221['getActiveSheet'](),_0x77cc57=_0x3b6221[_0x38f66e(0x87)](),_0x4e2e1a=_0x53adc8[_0x38f66e(0x138)]();return _0x577122['map'](_0x5af70d=>checkRangesEditablePermission(_0x3eb427,_0x77cc57,_0x4e2e1a,_0x5af70d[_0x38f66e(0x117)])?{..._0x5af70d}:{..._0x5af70d,'disable':!0x0});},'getDvRulesByPermissionCorrect')(_0xa66db9),_0x378abf=_0x1cfa0b==null?void 0x0:_0x1cfa0b[_0x301a92(0x2ce)](_0x50f390=>_0x50f390[_0x301a92(0x1e5)]);return jsxRuntimeExports[_0x301a92(0x18c)]('div',{'className':styles$1['dataValidationList'],'children':[_0x1cfa0b==null?void 0x0:_0x1cfa0b[_0x301a92(0xe5)](_0x56bf9b=>{const _0x522fe9=_0x301a92;var _0x5c5b59;return jsxRuntimeExports[_0x522fe9(0xe9)](DataValidationItem,{'unitId':_0x500169,'subUnitId':_0x2ec831,'onClick':__name(()=>{const _0xd351eb=_0x522fe9;_0x56bf9b[_0xd351eb(0x1e5)]||_0x2f5a0c['setActiveRule']({'unitId':_0x500169,'subUnitId':_0x2ec831,'rule':_0x56bf9b});},_0x522fe9(0x30f)),'rule':_0x56bf9b,'disable':(_0x5c5b59=_0x56bf9b[_0x522fe9(0x1e5)])!=null?_0x5c5b59:!0x1},_0x56bf9b[_0x522fe9(0x296)]);}),jsxRuntimeExports[_0x301a92(0x18c)](_0x301a92(0x1ce),{'className':styles$1[_0x301a92(0xb2)],'children':[_0xa66db9[_0x301a92(0x18a)]&&!_0x378abf?jsxRuntimeExports[_0x301a92(0xe9)](Button,{'className':styles$1[_0x301a92(0x2d9)],'onClick':_0x11152f,'children':_0x11b859['t'](_0x301a92(0x162))}):null,jsxRuntimeExports[_0x301a92(0xe9)](Button,{'className':styles$1[_0x301a92(0x2d9)],'type':'primary','onClick':_0x1db433,'children':_0x11b859['t'](_0x301a92(0x1f8))})]})]});}__name(DataValidationListWithWorkbook,_0x4f63e1(0x2ef));const DataValidationPanel=__name(()=>{const _0x1a66a7=_0x4f63e1,_0x5be56f=useDependency(DataValidationPanelService),_0x2489bc=useObservable(_0x5be56f[_0x1a66a7(0xc2)],_0x5be56f[_0x1a66a7(0x2b0)]);return _0x2489bc?jsxRuntimeExports[_0x1a66a7(0xe9)](DataValidationDetail,{},_0x2489bc['rule'][_0x1a66a7(0x296)]):jsxRuntimeExports[_0x1a66a7(0xe9)](DataValidationList,{});},_0x4f63e1(0x241)),LIST_DROPDOWN_KEY=_0x4f63e1(0x1b6),DATE_DROPDOWN_KEY='data-validation.date.dropdown',AddSheetDataValidationAndOpenCommand={'type':CommandType[_0x4f63e1(0x1d5)],'id':_0x4f63e1(0x1a2),async 'handler'(_0xf931b5){const _0x5cd4d4=_0x4f63e1,_0x35c20b=_0xf931b5['get'](IUniverInstanceService),_0x2fdf83=getSheetCommandTarget(_0x35c20b);if(!_0x2fdf83)return!0x1;const {workbook:_0x54b265,worksheet:_0x25c098}=_0x2fdf83,_0x4b1472=createDefaultNewRule(_0xf931b5),_0x1c1dd0=_0xf931b5['get'](ICommandService),_0x3a0a84=_0x54b265[_0x5cd4d4(0x87)](),_0x34435e=_0x25c098[_0x5cd4d4(0x138)](),_0x662ac1={'rule':_0x4b1472,'unitId':_0x3a0a84,'subUnitId':_0x34435e};return await _0x1c1dd0['executeCommand'](AddSheetDataValidationCommand['id'],_0x662ac1)?(_0x1c1dd0[_0x5cd4d4(0x293)](OpenValidationPanelOperation['id'],{'ruleId':_0x4b1472[_0x5cd4d4(0x296)],'isAdd':!0x0}),!0x0):!0x1;}};var __defProp$b=Object[_0x4f63e1(0xd2)],__getOwnPropDesc$b=Object[_0x4f63e1(0x21b)],__decorateClass$b=__name((_0x35f0ac,_0x2e8f68,_0x3b1629,_0x480332)=>{for(var _0x43b7fd=_0x480332>0x1?void 0x0:_0x480332?__getOwnPropDesc$b(_0x2e8f68,_0x3b1629):_0x2e8f68,_0x1b7fd8=_0x35f0ac['length']-0x1,_0x39e359;_0x1b7fd8>=0x0;_0x1b7fd8--)(_0x39e359=_0x35f0ac[_0x1b7fd8])&&(_0x43b7fd=(_0x480332?_0x39e359(_0x2e8f68,_0x3b1629,_0x43b7fd):_0x39e359(_0x43b7fd))||_0x43b7fd);return _0x480332&&_0x43b7fd&&__defProp$b(_0x2e8f68,_0x3b1629,_0x43b7fd),_0x43b7fd;},_0x4f63e1(0x294)),__decorateParam$b=__name((_0x3eed86,_0x477cd1)=>(_0x32c7f1,_0x5062eb)=>_0x477cd1(_0x32c7f1,_0x5062eb,_0x3eed86),'__decorateParam$b');const ALERT_KEY=_0x4f63e1(0x278);var _a4;let DataValidationAlertController=(_a4=class extends Disposable{constructor(_0x3b463c,_0x58ec79,_0x5d9336,_0x16b1ba,_0x19d19b){const _0x54ed01=_0x4f63e1;super(),this[_0x54ed01(0x11b)]=_0x3b463c,this[_0x54ed01(0x2ea)]=_0x58ec79,this[_0x54ed01(0xa0)]=_0x5d9336,this[_0x54ed01(0x23f)]=_0x16b1ba,this['_zenZoneService']=_0x19d19b,this[_0x54ed01(0x1a5)]();}['_init'](){const _0x3cc06a=_0x4f63e1;this[_0x3cc06a(0x104)](),this[_0x3cc06a(0x2e9)]();}[_0x4f63e1(0x104)](){const _0x2dc9db=_0x4f63e1;this[_0x2dc9db(0x2d7)](this['_hoverManagerService'][_0x2dc9db(0x190)]['pipe'](debounceTime(0x64))[_0x2dc9db(0xb0)](_0x84b5f=>{const _0x4191cf=_0x2dc9db;var _0x3f7e34,_0x424fe4;if(_0x84b5f){const _0xf904e6=this[_0x4191cf(0xa0)][_0x4191cf(0x16a)](UniverInstanceType[_0x4191cf(0x261)])['getActiveSheet']();if(!_0xf904e6)return;const _0x49f7b0=_0xf904e6['getCell'](_0x84b5f[_0x4191cf(0x177)][_0x4191cf(0xf1)],_0x84b5f[_0x4191cf(0x177)]['col']);if(((_0x3f7e34=_0x49f7b0==null?void 0x0:_0x49f7b0['dataValidation'])==null?void 0x0:_0x3f7e34[_0x4191cf(0x9b)])===DataValidationStatus[_0x4191cf(0x143)]){const _0xda8335=this[_0x4191cf(0x2ea)][_0x4191cf(0x10e)][_0x4191cf(0x29c)](ALERT_KEY),_0x58de77=(_0x424fe4=_0xda8335==null?void 0x0:_0xda8335[_0x4191cf(0x1e2)])==null?void 0x0:_0x424fe4['location'];if(_0x58de77&&_0x58de77['row']===_0x84b5f[_0x4191cf(0x177)][_0x4191cf(0xf1)]&&_0x58de77['col']===_0x84b5f['location']['col']&&_0x58de77[_0x4191cf(0x1b8)]===_0x84b5f[_0x4191cf(0x177)]['subUnitId']&&_0x58de77[_0x4191cf(0x24f)]===_0x84b5f[_0x4191cf(0x177)][_0x4191cf(0x24f)])return;const _0x4ab3b1=_0x49f7b0[_0x4191cf(0x2bf)][_0x4191cf(0x16c)],_0x4f892d=_0x49f7b0[_0x4191cf(0x2bf)][_0x4191cf(0x201)];if(!_0x4ab3b1)return;this[_0x4191cf(0x2ea)][_0x4191cf(0x1db)]({'type':CellAlertType['ERROR'],'title':this[_0x4191cf(0x23f)]['t'](_0x4191cf(0x145)),'message':_0x4ab3b1==null?void 0x0:_0x4ab3b1['getRuleFinalError'](_0x4f892d),'location':_0x84b5f[_0x4191cf(0x177)],'width':0xc8,'height':0x4a,'key':ALERT_KEY});return;}}this[_0x4191cf(0x2ea)][_0x4191cf(0x1e0)](ALERT_KEY);}));}[_0x4f63e1(0x2e9)](){const _0x2190a7=_0x4f63e1;this['disposeWithMe'](this[_0x2190a7(0x2ab)]['visible$'][_0x2190a7(0xb0)](_0x4a653a=>{_0x4a653a&&this['_cellAlertManagerService']['removeAlert'](ALERT_KEY);}));}},__name(_a4,_0x4f63e1(0x2e2)),_a4);DataValidationAlertController=__decorateClass$b([__decorateParam$b(0x0,Inject(HoverManagerService)),__decorateParam$b(0x1,Inject(CellAlertManagerService)),__decorateParam$b(0x2,IUniverInstanceService),__decorateParam$b(0x3,Inject(LocaleService)),__decorateParam$b(0x4,IZenZoneService)],DataValidationAlertController);var __defProp$a=Object[_0x4f63e1(0xd2)],__getOwnPropDesc$a=Object[_0x4f63e1(0x21b)],__decorateClass$a=__name((_0x1d182,_0x1b51e1,_0x5143f6,_0x13c62d)=>{const _0x508d26=_0x4f63e1;for(var _0x4ecd9e=_0x13c62d>0x1?void 0x0:_0x13c62d?__getOwnPropDesc$a(_0x1b51e1,_0x5143f6):_0x1b51e1,_0x41a0d6=_0x1d182[_0x508d26(0x18a)]-0x1,_0x2115b9;_0x41a0d6>=0x0;_0x41a0d6--)(_0x2115b9=_0x1d182[_0x41a0d6])&&(_0x4ecd9e=(_0x13c62d?_0x2115b9(_0x1b51e1,_0x5143f6,_0x4ecd9e):_0x2115b9(_0x4ecd9e))||_0x4ecd9e);return _0x13c62d&&_0x4ecd9e&&__defProp$a(_0x1b51e1,_0x5143f6,_0x4ecd9e),_0x4ecd9e;},_0x4f63e1(0x15f)),__decorateParam$a=__name((_0x14b50b,_0x5cf372)=>(_0xeae830,_0x4dbebe)=>_0x5cf372(_0xeae830,_0x4dbebe,_0x14b50b),_0x4f63e1(0x134)),_a5;let DataValidationAutoFillController=(_a5=class extends Disposable{constructor(_0x41c5dd,_0x342426,_0x1bedf7){const _0x5e07c2=_0x4f63e1;super(),this[_0x5e07c2(0x222)]=_0x41c5dd,this['_dataValidationModel']=_0x342426,this[_0x5e07c2(0x25d)]=_0x1bedf7,this[_0x5e07c2(0xef)]();}[_0x4f63e1(0xef)](){const _0x3ae8a4=_0x4f63e1,_0x19e688=__name(()=>({'redos':[],'undos':[]}),'noopReturnFunc'),_0x277e09=__name((_0x3318ad,_0x2343ee)=>{const _0x121229=_0x4874,{source:_0x1c7354,target:_0x2e0e76,unitId:_0x2b903d,subUnitId:_0x4893d4}=_0x3318ad,_0x1836a0=this[_0x121229(0x11f)][_0x121229(0x14d)](_0x2b903d,_0x4893d4)[_0x121229(0x1b0)](),_0x1f191b=virtualizeDiscreteRanges([_0x1c7354,_0x2e0e76]),[_0x3952db,_0x18899f]=_0x1f191b[_0x121229(0x117)],{mapFunc:_0x2e513c}=_0x1f191b,_0x421104={'row':_0x3952db[_0x121229(0x27e)],'col':_0x3952db[_0x121229(0x310)]},_0x25620d=getAutoFillRepeatRange(_0x3952db,_0x18899f),_0x13a00d=new ObjectMatrix(),_0x4349dd=new Set();_0x25620d['forEach'](_0x39fb1a=>{const _0x2d8ff4=_0x121229,_0x5cb1ab=_0x39fb1a[_0x2d8ff4(0x14c)],_0x19c1f5=_0x39fb1a[_0x2d8ff4(0x22f)],_0xb08b2d={'startRow':_0x421104[_0x2d8ff4(0xf1)],'startColumn':_0x421104[_0x2d8ff4(0x2cf)],'endColumn':_0x421104[_0x2d8ff4(0x2cf)],'endRow':_0x421104['row']},_0x2db8cd={'startRow':_0x5cb1ab[_0x2d8ff4(0xf1)],'startColumn':_0x5cb1ab['col'],'endColumn':_0x5cb1ab[_0x2d8ff4(0x2cf)],'endRow':_0x5cb1ab['row']};Range[_0x2d8ff4(0x2db)](_0x19c1f5,(_0x4d548e,_0x4e3de3)=>{const _0x1a719d=_0x2d8ff4,_0xbab011=Rectangle[_0x1a719d(0x2ac)]({'startRow':_0x4d548e,'startColumn':_0x4e3de3,'endColumn':_0x4e3de3,'endRow':_0x4d548e},_0xb08b2d),{row:_0x33481e,col:_0x3ac105}=_0x2e513c(_0xbab011[_0x1a719d(0x27e)],_0xbab011[_0x1a719d(0x310)]),_0x386697=this[_0x1a719d(0x11f)][_0x1a719d(0x10f)](_0x2b903d,_0x4893d4,_0x33481e,_0x3ac105);if(_0x386697){const _0x41a1ef=Rectangle[_0x1a719d(0x2ac)]({'startRow':_0x4d548e,'startColumn':_0x4e3de3,'endColumn':_0x4e3de3,'endRow':_0x4d548e},_0x2db8cd),{row:_0x5b7198,col:_0x585c8c}=_0x2e513c(_0x41a1ef[_0x1a719d(0x27e)],_0x41a1ef[_0x1a719d(0x310)]);_0x13a00d[_0x1a719d(0x1df)](_0x5b7198,_0x585c8c,_0x386697),_0x4349dd[_0x1a719d(0xbf)](_0x386697);}});});const _0xef735a=Array[_0x121229(0x229)](_0x4349dd)[_0x121229(0xe5)](_0xb372b9=>({'id':_0xb372b9,'ranges':queryObjectMatrix(_0x13a00d,_0x443ea3=>_0x443ea3===_0xb372b9)}));_0x1836a0[_0x121229(0x1d6)](_0xef735a);const _0x456710=_0x1836a0[_0x121229(0x227)](this[_0x121229(0x11f)][_0x121229(0x1f2)](_0x2b903d,_0x4893d4)),{redoMutations:_0x37cc2b,undoMutations:_0x45b4db}=getDataValidationDiffMutations(_0x2b903d,_0x4893d4,_0x456710,this[_0x121229(0x25d)],'patched',_0x2343ee===APPLY_TYPE['ONLY_FORMAT']);return{'undos':_0x45b4db,'redos':_0x37cc2b};},_0x3ae8a4(0xd8)),_0x1416f7=[DataValidationType[_0x3ae8a4(0x2b7)]],_0x34ff74={'id':DATA_VALIDATION_PLUGIN_NAME,'onBeforeFillData':__name(_0x53b3b5=>{const _0x64ae3f=_0x3ae8a4,{source:_0x4052c8,unitId:_0x13c594,subUnitId:_0x3ab7a1}=_0x53b3b5;for(const _0x2a26ba of _0x4052c8[_0x64ae3f(0x193)])for(const _0x434e84 of _0x4052c8[_0x64ae3f(0x181)]){const _0x2e4d65=this[_0x64ae3f(0x11f)][_0x64ae3f(0x29d)](_0x13c594,_0x3ab7a1,_0x2a26ba,_0x434e84);if(_0x2e4d65&&_0x1416f7[_0x64ae3f(0xea)](_0x2e4d65[_0x64ae3f(0x28a)])>-0x1){this['_autoFillService'][_0x64ae3f(0x2c4)](APPLY_TYPE[_0x64ae3f(0x160)],!0x0);return;}}},_0x3ae8a4(0x8f)),'onFillData':__name((_0x132df5,_0x452f99,_0x91c8dd)=>_0x91c8dd===APPLY_TYPE[_0x3ae8a4(0x73)]||_0x91c8dd===APPLY_TYPE[_0x3ae8a4(0x99)]||_0x91c8dd===APPLY_TYPE['SERIES']?_0x277e09(_0x132df5,_0x91c8dd):_0x19e688(),'onFillData'),'onAfterFillData':__name(()=>{},_0x3ae8a4(0x18b))};this[_0x3ae8a4(0x2d7)](this[_0x3ae8a4(0x222)][_0x3ae8a4(0x1e4)](_0x34ff74));}},__name(_a5,'DataValidationAutoFillController'),_a5);DataValidationAutoFillController=__decorateClass$a([__decorateParam$a(0x0,IAutoFillService),__decorateParam$a(0x1,Inject(SheetDataValidationModel)),__decorateParam$a(0x2,Inject(Injector))],DataValidationAutoFillController);var __defProp$9=Object[_0x4f63e1(0xd2)],__getOwnPropDesc$9=Object[_0x4f63e1(0x21b)],__decorateClass$9=__name((_0x2fe4c8,_0x125bcc,_0x26079e,_0x1f8ac5)=>{const _0x4bd069=_0x4f63e1;for(var _0x4a159e=_0x1f8ac5>0x1?void 0x0:_0x1f8ac5?__getOwnPropDesc$9(_0x125bcc,_0x26079e):_0x125bcc,_0x5af150=_0x2fe4c8[_0x4bd069(0x18a)]-0x1,_0x392960;_0x5af150>=0x0;_0x5af150--)(_0x392960=_0x2fe4c8[_0x5af150])&&(_0x4a159e=(_0x1f8ac5?_0x392960(_0x125bcc,_0x26079e,_0x4a159e):_0x392960(_0x4a159e))||_0x4a159e);return _0x1f8ac5&&_0x4a159e&&__defProp$9(_0x125bcc,_0x26079e,_0x4a159e),_0x4a159e;},_0x4f63e1(0x2dc)),__decorateParam$9=__name((_0x5cf312,_0x4db61c)=>(_0x2c5548,_0x2963ae)=>_0x4db61c(_0x2c5548,_0x2963ae,_0x5cf312),_0x4f63e1(0x1a9)),_a6;let DataValidationCopyPasteController=(_a6=class extends Disposable{constructor(_0x5530b5,_0x58bbd5,_0x276b1e){const _0x176069=_0x4f63e1;super(),__publicField(this,'_copyInfo'),(this[_0x176069(0xe1)]=_0x5530b5,this[_0x176069(0x80)]=_0x58bbd5,this['_injector']=_0x276b1e,this['_initCopyPaste']());}[_0x4f63e1(0x1bf)](){const _0x203250=_0x4f63e1;this[_0x203250(0xe1)][_0x203250(0x23d)]({'id':DATA_VALIDATION_PLUGIN_NAME,'onBeforeCopy':__name((_0xa8d8d9,_0x4e630b,_0x1826aa)=>this[_0x203250(0x2dd)](_0xa8d8d9,_0x4e630b,_0x1826aa),_0x203250(0x6f)),'onPasteCells':__name((_0x3cc246,_0x334e00,_0x118319,_0x5c3ab9)=>{const _0x3bfa5f=_0x203250,{copyType:copyType=COPY_TYPE['COPY'],pasteType:_0x15ae58}=_0x5c3ab9,{range:_0x516d1a}=_0x3cc246||{},{range:_0x2dd06f,unitId:_0x43bd7f,subUnitId:_0x50f536}=_0x334e00;return this[_0x3bfa5f(0x1cc)](_0x2dd06f,{'copyType':copyType,'pasteType':_0x15ae58,'copyRange':_0x516d1a,'unitId':_0x43bd7f,'subUnitId':_0x50f536});},'onPasteCells')});}[_0x4f63e1(0x2dd)](_0x258062,_0x332ef4,_0x32a4b3){const _0x5ccfc8=_0x4f63e1,_0x208909=new ObjectMatrix();this[_0x5ccfc8(0xb9)]={'unitId':_0x258062,'subUnitId':_0x332ef4,'matrix':_0x208909};const _0x1ba39e=this[_0x5ccfc8(0x25d)][_0x5ccfc8(0x8b)](_0x568a6d=>rangeToDiscreteRange(_0x32a4b3,_0x568a6d,_0x258062,_0x332ef4));if(!_0x1ba39e)return;const {rows:_0x5ee472,cols:_0xd314f}=_0x1ba39e;_0x5ee472[_0x5ccfc8(0xc9)]((_0x5c1dbd,_0x19c0ea)=>{const _0x3e1464=_0x5ccfc8;_0xd314f[_0x3e1464(0xc9)]((_0x12bf97,_0x4673d3)=>{const _0x4071d3=_0x3e1464,_0x3f3892=this[_0x4071d3(0x80)][_0x4071d3(0x10f)](_0x258062,_0x332ef4,_0x5c1dbd,_0x12bf97);_0x208909[_0x4071d3(0x1df)](_0x19c0ea,_0x4673d3,_0x3f3892!=null?_0x3f3892:'');});});}['_generateMutations'](_0x57eabb,_0x387d79){const _0x209ae6=_0x4f63e1;if(!this['_copyInfo'])return{'redos':[],'undos':[]};if(_0x387d79['copyType']===COPY_TYPE['CUT'])return this[_0x209ae6(0xb9)]=null,{'redos':[],'undos':[]};if(!this[_0x209ae6(0xb9)]||!this[_0x209ae6(0xb9)][_0x209ae6(0x2aa)][_0x209ae6(0x2e1)]()||!_0x387d79[_0x209ae6(0x274)])return{'redos':[],'undos':[]};if([PREDEFINED_HOOK_NAME[_0x209ae6(0xcb)],PREDEFINED_HOOK_NAME['SPECIAL_PASTE_VALUE'],PREDEFINED_HOOK_NAME[_0x209ae6(0xa3)],PREDEFINED_HOOK_NAME[_0x209ae6(0x265)]][_0x209ae6(0x1f4)](_0x387d79[_0x209ae6(0x12a)]))return{'redos':[],'undos':[]};const {unitId:_0x5bd05b,subUnitId:_0x547912}=this[_0x209ae6(0xb9)];if(_0x387d79['unitId']!==_0x5bd05b||_0x547912!==_0x387d79[_0x209ae6(0x1b8)]){const _0x391576=this[_0x209ae6(0x80)]['getRuleObjectMatrix'](_0x387d79[_0x209ae6(0x24f)],_0x387d79[_0x209ae6(0x1b8)])[_0x209ae6(0x1b0)](),_0x56b3ae=new ObjectMatrix(),_0x18f177=new Set(),{ranges:[_0xbe2ce,_0x42537b],mapFunc:_0x2abbf5}=virtualizeDiscreteRanges([_0x387d79[_0x209ae6(0x274)],_0x57eabb]),_0x3d4204=getRepeatRange(_0xbe2ce,_0x42537b,!0x0),_0x4febab=new Map();_0x3d4204['forEach'](({startRange:_0x18e176})=>{const _0xc69309=_0x209ae6;var _0x2ab6b0;(_0x2ab6b0=this[_0xc69309(0xb9)])==null||_0x2ab6b0[_0xc69309(0x2aa)][_0xc69309(0xcc)]((_0x5f15a9,_0x4661d4,_0xb85342)=>{const _0x1f4158=_0xc69309,_0x172591=Rectangle['getPositionRange']({'startRow':_0x5f15a9,'endRow':_0x5f15a9,'startColumn':_0x4661d4,'endColumn':_0x4661d4},_0x18e176),_0x6a11ea=_0x547912+'-'+_0xb85342,_0x2a079a=this[_0x1f4158(0x80)][_0x1f4158(0x25b)](_0x5bd05b,_0x547912,_0xb85342);!this[_0x1f4158(0x80)][_0x1f4158(0x25b)](_0x387d79[_0x1f4158(0x24f)],_0x387d79[_0x1f4158(0x1b8)],_0x6a11ea)&&_0x2a079a&&_0x4febab['set'](_0x6a11ea,{..._0x2a079a,'uid':_0x6a11ea});const {row:_0x27ec54,col:_0x1ebb91}=_0x2abbf5(_0x172591['startRow'],_0x172591['startColumn']);_0x18f177['add'](_0x6a11ea),_0x56b3ae[_0x1f4158(0x1df)](_0x27ec54,_0x1ebb91,_0x6a11ea);});});const _0x4fc9cf=Array['from'](_0x18f177)['map'](_0x57489c=>({'id':_0x57489c,'ranges':queryObjectMatrix(_0x56b3ae,_0x27d841=>_0x27d841===_0x57489c)}));_0x391576['addRangeRules'](_0x4fc9cf);const {redoMutations:_0x1febae,undoMutations:_0x752021}=getDataValidationDiffMutations(_0x387d79[_0x209ae6(0x24f)],_0x387d79[_0x209ae6(0x1b8)],_0x391576[_0x209ae6(0x131)](this[_0x209ae6(0x80)]['getRules'](_0x387d79[_0x209ae6(0x24f)],_0x387d79[_0x209ae6(0x1b8)]),_0x4febab[_0x209ae6(0x96)]()),this[_0x209ae6(0x25d)],_0x209ae6(0x1e9));return{'redos':_0x1febae,'undos':_0x752021};}else{const _0x4fb5b1=this[_0x209ae6(0x80)][_0x209ae6(0x14d)](_0x5bd05b,_0x547912)[_0x209ae6(0x1b0)](),_0x131528=new ObjectMatrix(),_0x4a3434=new Set(),{ranges:[_0x4b9fa3,_0x2c7ee4],mapFunc:_0x2d6a52}=virtualizeDiscreteRanges([_0x387d79['copyRange'],_0x57eabb]);getRepeatRange(_0x4b9fa3,_0x2c7ee4,!0x0)[_0x209ae6(0xc9)](({startRange:_0x383ae5})=>{const _0x2f5470=_0x209ae6;var _0x24883c;(_0x24883c=this['_copyInfo'])==null||_0x24883c[_0x2f5470(0x2aa)][_0x2f5470(0xcc)]((_0x2daf34,_0x3c69c8,_0x394854)=>{const _0x399e8d=_0x2f5470,_0x559c54=Rectangle[_0x399e8d(0x2ac)]({'startRow':_0x2daf34,'endRow':_0x2daf34,'startColumn':_0x3c69c8,'endColumn':_0x3c69c8},_0x383ae5),{row:_0x55be96,col:_0x882ce8}=_0x2d6a52(_0x559c54[_0x399e8d(0x27e)],_0x559c54[_0x399e8d(0x310)]);_0x131528[_0x399e8d(0x1df)](_0x55be96,_0x882ce8,_0x394854),_0x4a3434['add'](_0x394854);});});const _0x443651=Array[_0x209ae6(0x229)](_0x4a3434)[_0x209ae6(0xe5)](_0x2ab60a=>({'id':_0x2ab60a,'ranges':queryObjectMatrix(_0x131528,_0x15f496=>_0x15f496===_0x2ab60a)}));_0x4fb5b1['addRangeRules'](_0x443651);const {redoMutations:_0x5447e2,undoMutations:_0x25bb1b}=getDataValidationDiffMutations(_0x5bd05b,_0x547912,_0x4fb5b1[_0x209ae6(0x227)](this['_sheetDataValidationModel'][_0x209ae6(0x1f2)](_0x5bd05b,_0x547912)),this[_0x209ae6(0x25d)],_0x209ae6(0x1e9));return{'redos':_0x5447e2,'undos':_0x25bb1b};}}},__name(_a6,_0x4f63e1(0x76)),_a6);DataValidationCopyPasteController=__decorateClass$9([__decorateParam$9(0x0,ISheetClipboardService),__decorateParam$9(0x1,Inject(SheetDataValidationModel)),__decorateParam$9(0x2,Inject(Injector))],DataValidationCopyPasteController);var __defProp$8=Object['defineProperty'],__getOwnPropDesc$8=Object['getOwnPropertyDescriptor'],__decorateClass$8=__name((_0x124c44,_0x572e03,_0x3543bd,_0x46f48b)=>{const _0x4dfccd=_0x4f63e1;for(var _0x2c660d=_0x46f48b>0x1?void 0x0:_0x46f48b?__getOwnPropDesc$8(_0x572e03,_0x3543bd):_0x572e03,_0xeb3182=_0x124c44[_0x4dfccd(0x18a)]-0x1,_0x223e39;_0xeb3182>=0x0;_0xeb3182--)(_0x223e39=_0x124c44[_0xeb3182])&&(_0x2c660d=(_0x46f48b?_0x223e39(_0x572e03,_0x3543bd,_0x2c660d):_0x223e39(_0x2c660d))||_0x2c660d);return _0x46f48b&&_0x2c660d&&__defProp$8(_0x572e03,_0x3543bd,_0x2c660d),_0x2c660d;},'__decorateClass$8'),__decorateParam$8=__name((_0xa66d25,_0x3a0497)=>(_0x50db12,_0x1b9097)=>_0x3a0497(_0x50db12,_0x1b9097,_0xa66d25),'__decorateParam$8'),_a7;let DataValidationPermissionController=(_a7=class extends Disposable{constructor(_0x27a5f4,_0x51bc9b,_0x541fc8){const _0x1c7a02=_0x4f63e1;super(),this[_0x1c7a02(0x23f)]=_0x27a5f4,this[_0x1c7a02(0x2d4)]=_0x51bc9b,this[_0x1c7a02(0x2d8)]=_0x541fc8,this[_0x1c7a02(0x111)]();}[_0x4f63e1(0x111)](){const _0x164174=_0x4f63e1;this[_0x164174(0x2d7)](this[_0x164174(0x2d4)][_0x164174(0x11e)](_0x38da02=>{const _0x27a6e3=_0x164174;_0x38da02['id']===AddSheetDataValidationCommand['id']&&(this[_0x27a6e3(0x2d8)]['permissionCheckWithRanges']({'workbookTypes':[WorkbookEditablePermission],'rangeTypes':[RangeProtectionPermissionEditPoint],'worksheetTypes':[WorksheetEditPermission,WorksheetSetCellStylePermission]})||this['_sheetPermissionInterceptorBaseController']['haveNotPermissionHandle'](this[_0x27a6e3(0x23f)]['t']('permission.dialog.setStyleErr'))),_0x38da02['id']===UpdateSheetDataValidationRangeCommand['id']&&(this[_0x27a6e3(0x2d8)][_0x27a6e3(0x2bb)]({'workbookTypes':[WorkbookEditablePermission],'rangeTypes':[RangeProtectionPermissionEditPoint],'worksheetTypes':[WorksheetEditPermission,WorksheetSetCellStylePermission]},_0x38da02['params'][_0x27a6e3(0x117)])||this[_0x27a6e3(0x2d8)][_0x27a6e3(0xb3)](this['_localeService']['t'](_0x27a6e3(0x11d))));}));}},__name(_a7,_0x4f63e1(0x158)),_a7);DataValidationPermissionController=__decorateClass$8([__decorateParam$8(0x0,Inject(LocaleService)),__decorateParam$8(0x1,ICommandService),__decorateParam$8(0x2,Inject(SheetPermissionInterceptorBaseController))],DataValidationPermissionController);const DataValidationIcon=_0x4f63e1(0x2b4),DATA_VALIDATION_MENU_ID='sheet.menu.data-validation';function dataValidationMenuFactory(_0x3fa9c4){const _0x442523=_0x4f63e1;return{'id':DATA_VALIDATION_MENU_ID,'type':MenuItemType[_0x442523(0xa5)],'icon':DataValidationIcon,'tooltip':_0x442523(0x6e),'hidden$':getMenuHiddenObservable(_0x3fa9c4,UniverInstanceType['UNIVER_SHEET']),'disabled$':getCurrentRangeDisable$(_0x3fa9c4,{'workbookTypes':[WorkbookEditablePermission],'worksheetTypes':[WorksheetSetCellStylePermission,WorksheetEditPermission],'rangeTypes':[RangeProtectionPermissionEditPoint]})};}__name(dataValidationMenuFactory,'dataValidationMenuFactory');function openDataValidationMenuFactory(_0x47a5b6){const _0x5a4928=_0x4f63e1;return{'id':OpenValidationPanelOperation['id'],'title':_0x5a4928(0x2f8),'type':MenuItemType[_0x5a4928(0xc3)]};}__name(openDataValidationMenuFactory,'openDataValidationMenuFactory');function addDataValidationMenuFactory(_0x29a9a5){const _0x4de83e=_0x4f63e1;return{'id':AddSheetDataValidationAndOpenCommand['id'],'title':'dataValidation.panel.add','type':MenuItemType[_0x4de83e(0xc3)]};}__name(addDataValidationMenuFactory,_0x4f63e1(0x1ae));function _0x4874(_0x43ad5f,_0x4c051b){const _0x3d2905=_0x3d29();return _0x4874=function(_0x48745f,_0x584b57){_0x48745f=_0x48745f-0x6e;let _0x5e5a19=_0x3d2905[_0x48745f];return _0x5e5a19;},_0x4874(_0x43ad5f,_0x4c051b);}const menuSchema={[RibbonStartGroup[_0x4f63e1(0x239)]]:{[DATA_VALIDATION_MENU_ID]:{'order':0x9,'menuItemFactory':dataValidationMenuFactory,[OpenValidationPanelOperation['id']]:{'order':0x0,'menuItemFactory':openDataValidationMenuFactory},[AddSheetDataValidationAndOpenCommand['id']]:{'order':0x1,'menuItemFactory':addDataValidationMenuFactory}}}};var __defProp$7=Object[_0x4f63e1(0xd2)],__getOwnPropDesc$7=Object['getOwnPropertyDescriptor'],__decorateClass$7=__name((_0x356d10,_0x522cc,_0xaa2f35,_0x5539c5)=>{const _0x46bd1d=_0x4f63e1;for(var _0x3ee5ee=_0x5539c5>0x1?void 0x0:_0x5539c5?__getOwnPropDesc$7(_0x522cc,_0xaa2f35):_0x522cc,_0xc624fa=_0x356d10[_0x46bd1d(0x18a)]-0x1,_0x2dce45;_0xc624fa>=0x0;_0xc624fa--)(_0x2dce45=_0x356d10[_0xc624fa])&&(_0x3ee5ee=(_0x5539c5?_0x2dce45(_0x522cc,_0xaa2f35,_0x3ee5ee):_0x2dce45(_0x3ee5ee))||_0x3ee5ee);return _0x5539c5&&_0x3ee5ee&&__defProp$7(_0x522cc,_0xaa2f35,_0x3ee5ee),_0x3ee5ee;},_0x4f63e1(0x1bd)),__decorateParam$7=__name((_0x20dcd9,_0x118718)=>(_0x2f4906,_0x5136a5)=>_0x118718(_0x2f4906,_0x5136a5,_0x20dcd9),_0x4f63e1(0xe8));const INVALID_MARK={'tr':{'size':0x6,'color':_0x4f63e1(0x270)}};var _a8;let SheetsDataValidationRenderController=(_a8=class extends RxDisposable{constructor(_0x5b74a3,_0x2f967d,_0x2366bd,_0x23ae1d,_0x569384,_0x28e5c4,_0x1b5ffb,_0x51e013,_0x1001c9,_0x3d57ee){const _0x124663=_0x4f63e1;super(),this[_0x124663(0x2d4)]=_0x5b74a3,this[_0x124663(0xec)]=_0x2f967d,this[_0x124663(0x238)]=_0x2366bd,this[_0x124663(0xa0)]=_0x23ae1d,this[_0x124663(0x223)]=_0x569384,this[_0x124663(0x9a)]=_0x28e5c4,this[_0x124663(0x80)]=_0x1b5ffb,this[_0x124663(0xbd)]=_0x51e013,this[_0x124663(0x77)]=_0x1001c9,this[_0x124663(0x2cd)]=_0x3d57ee,this[_0x124663(0x1f0)](),this[_0x124663(0xa7)](),this['_initViewModelIntercept'](),this[_0x124663(0x17a)]();}[_0x4f63e1(0x1f0)](){const _0x1946c6=_0x4f63e1;this[_0x1946c6(0xec)][_0x1946c6(0x74)](menuSchema);}['_initDropdown'](){const _0x284f82=_0x4f63e1;this[_0x284f82(0x2cd)]&&this[_0x284f82(0x2d7)](this['_editorBridgeService'][_0x284f82(0x148)][_0x284f82(0xb0)](_0x25a055=>{const _0x43d109=_0x284f82;var _0x11b2d9;if(!_0x25a055[_0x43d109(0x27f)]){((_0x11b2d9=this[_0x43d109(0x9a)][_0x43d109(0x1ba)])==null?void 0x0:_0x11b2d9[_0x43d109(0x219)])===_0x43d109(0x307)&&this['_dropdownManagerService'][_0x43d109(0x1eb)]();return;}const _0x40b7d9=this[_0x43d109(0x2cd)][_0x43d109(0xf2)]();if(_0x40b7d9){const {unitId:_0x2dc29d,sheetId:_0x15626b,row:_0x52d0ff,column:_0x5949ec}=_0x40b7d9,_0x42b4cc=this[_0x43d109(0xa0)][_0x43d109(0x17e)](_0x2dc29d);if(!_0x42b4cc)return;const _0x2e17dc=this[_0x43d109(0x80)][_0x43d109(0x29d)](_0x2dc29d,_0x15626b,_0x52d0ff,_0x5949ec);if(!_0x2e17dc)return;const _0x6d062a=this[_0x43d109(0xbd)][_0x43d109(0x90)](_0x2e17dc[_0x43d109(0x28a)]);if(!(_0x6d062a!=null&&_0x6d062a[_0x43d109(0x27c)]))return;const _0x433ba7=_0x42b4cc[_0x43d109(0x2fa)]();if(!_0x433ba7)return;const _0x44b209=this[_0x43d109(0x9a)][_0x43d109(0x1ba)],_0x4dd129=_0x44b209==null?void 0x0:_0x44b209[_0x43d109(0x177)];if(_0x4dd129&&_0x4dd129[_0x43d109(0x24f)]===_0x2dc29d&&_0x4dd129[_0x43d109(0x1b8)]===_0x15626b&&_0x4dd129[_0x43d109(0xf1)]===_0x52d0ff&&_0x4dd129[_0x43d109(0x2cf)]===_0x5949ec)return;this[_0x43d109(0x9a)]['showDropdown']({'location':{'unitId':_0x2dc29d,'subUnitId':_0x15626b,'row':_0x52d0ff,'col':_0x5949ec,'workbook':_0x42b4cc,'worksheet':_0x433ba7},'componentKey':_0x6d062a['dropdown'],'onHide':__name(()=>{},'onHide'),'trigger':_0x43d109(0x307)},!0x1);}}));}[_0x4f63e1(0x1fd)](){const _0x3990ae=_0x4f63e1;this['disposeWithMe'](this[_0x3990ae(0x77)][_0x3990ae(0x13b)](INTERCEPTOR_POINT[_0x3990ae(0x237)],{'effect':InterceptorEffectEnum[_0x3990ae(0x139)],'priority':InterceptCellContentPriority[_0x3990ae(0x1aa)],'handler':__name((_0x4e2733,_0x35b038,_0x31609b)=>{const _0x4462c1=_0x3990ae;var _0x506baa,_0x45ec0e,_0x1f3aec,_0x393525;const {row:_0x148e0b,col:_0x359851,unitId:_0x22ce0e,subUnitId:_0x4a2441,workbook:_0x344eef,worksheet:_0xb0a7d4}=_0x35b038,_0x3d9a9f=this[_0x4462c1(0x80)][_0x4462c1(0x10f)](_0x22ce0e,_0x4a2441,_0x148e0b,_0x359851);if(!_0x3d9a9f)return _0x31609b(_0x4e2733);const _0x262a47=this['_sheetDataValidationModel'][_0x4462c1(0x25b)](_0x22ce0e,_0x4a2441,_0x3d9a9f);if(!_0x262a47)return _0x31609b(_0x4e2733);const _0x37b43e=this['_sheetDataValidationModel'][_0x4462c1(0x16c)](_0x4e2733,_0x262a47,_0x35b038),_0x1bb444=this[_0x4462c1(0xbd)]['getValidatorItem'](_0x262a47[_0x4462c1(0x28a)]),_0x5609bb=_0x35b038[_0x4462c1(0x2b6)];let _0x4589d0;const _0x16f468={get 'value'(){var _0x3aadcc;return _0x4589d0!==void 0x0||(_0x4589d0=(_0x3aadcc=getCellValueOrigin(_0x5609bb))!=null?_0x3aadcc:null),_0x4589d0;}},_0x290f40={get 'value'(){var _0x9a303c;return''+((_0x9a303c=_0x16f468['value'])!=null?_0x9a303c:'');}};return _0x31609b({..._0x4e2733,'dataValidation':{'ruleId':_0x3d9a9f,'validStatus':_0x37b43e,'rule':_0x262a47,'validator':_0x1bb444},'markers':{..._0x4e2733==null?void 0x0:_0x4e2733[_0x4462c1(0x21a)],..._0x37b43e===DataValidationStatus['INVALID']?INVALID_MARK:null},'customRender':[...(_0x506baa=_0x4e2733==null?void 0x0:_0x4e2733[_0x4462c1(0xf6)])!=null?_0x506baa:[],..._0x1bb444!=null&&_0x1bb444[_0x4462c1(0xa6)]?[_0x1bb444[_0x4462c1(0xa6)]]:[]],'fontRenderExtension':{..._0x4e2733==null?void 0x0:_0x4e2733[_0x4462c1(0x129)],'isSkip':((_0x45ec0e=_0x4e2733==null?void 0x0:_0x4e2733['fontRenderExtension'])==null?void 0x0:_0x45ec0e[_0x4462c1(0x2c6)])||((_0x1f3aec=_0x1bb444==null?void 0x0:_0x1bb444[_0x4462c1(0x2be)])==null?void 0x0:_0x1f3aec['call'](_0x1bb444,_0x262a47,_0x16f468[_0x4462c1(0x24d)],_0x35b038))},'interceptorStyle':{..._0x4e2733==null?void 0x0:_0x4e2733[_0x4462c1(0x25e)],..._0x1bb444==null?void 0x0:_0x1bb444['getExtraStyle'](_0x262a47,_0x290f40['value'],{get 'style'(){const _0x3e60b3=_0x4462c1,_0x2fea4a=_0x344eef[_0x3e60b3(0x220)]();return(typeof(_0x4e2733==null?void 0x0:_0x4e2733['s'])=='string'?_0x2fea4a[_0x3e60b3(0x29c)](_0x4e2733==null?void 0x0:_0x4e2733['s']):_0x4e2733==null?void 0x0:_0x4e2733['s'])||{};}})},'interceptorAutoHeight':__name(()=>{const _0x3d07c2=_0x4462c1;var _0x548b55,_0x3ba307,_0x280130,_0x13550b,_0x27b5dd,_0x50ce24;const _0x1f0b4a=(_0x3ba307=(_0x548b55=this['_renderManagerService']['getRenderById'](_0x22ce0e))==null?void 0x0:_0x548b55['with'](SheetSkeletonManagerService)[_0x3d07c2(0x253)](_0x4a2441))==null?void 0x0:_0x3ba307['skeleton'];if(!_0x1f0b4a)return;const _0x32f624=_0x1f0b4a[_0x3d07c2(0x75)][_0x3d07c2(0x2f1)](_0x148e0b,_0x359851),_0x8f2a1f={'data':{..._0x4e2733,'dataValidation':{'ruleId':_0x3d9a9f,'validStatus':_0x37b43e,'rule':_0x262a47,'validator':_0x1bb444}},'style':_0x1f0b4a['getsStyles']()[_0x3d07c2(0x1c4)](_0x4e2733),'primaryWithCoord':_0x1f0b4a['getCellByIndex']((_0x280130=_0x32f624==null?void 0x0:_0x32f624[_0x3d07c2(0x27e)])!=null?_0x280130:_0x148e0b,(_0x13550b=_0x32f624==null?void 0x0:_0x32f624[_0x3d07c2(0x310)])!=null?_0x13550b:_0x359851),'unitId':_0x22ce0e,'subUnitId':_0x4a2441,'row':_0x148e0b,'col':_0x359851,'workbook':_0x344eef,'worksheet':_0xb0a7d4};return(_0x50ce24=(_0x27b5dd=_0x1bb444==null?void 0x0:_0x1bb444[_0x3d07c2(0xa6)])==null?void 0x0:_0x27b5dd[_0x3d07c2(0x1af)])==null?void 0x0:_0x50ce24[_0x3d07c2(0x2cb)](_0x27b5dd,_0x8f2a1f);},'interceptorAutoHeight'),'coverable':((_0x393525=_0x4e2733==null?void 0x0:_0x4e2733[_0x4462c1(0x305)])!=null?_0x393525:!0x0)&&!(_0x262a47[_0x4462c1(0x28a)]===DataValidationType[_0x4462c1(0x1ab)]||_0x262a47[_0x4462c1(0x28a)]===DataValidationType[_0x4462c1(0xf0)])});},'handler')}));}[_0x4f63e1(0x17a)](){const _0x123e5e=_0x4f63e1;this[_0x123e5e(0x80)][_0x123e5e(0xd0)][_0x123e5e(0x8c)](filter(_0x28c8f4=>_0x28c8f4[_0x123e5e(0x122)]===_0x123e5e(0x2d1)),bufferTime(0x10))[_0x123e5e(0xb0)](_0x28cf51=>{const _0x17baf6=_0x123e5e,_0x53b8cb=[];if(_0x28cf51[_0x17baf6(0xc9)](_0x5b53c6=>{const _0x5063b6=_0x17baf6;var _0x468bf2;(_0x468bf2=_0x5b53c6[_0x5063b6(0x201)])!=null&&_0x468bf2[_0x5063b6(0x117)]&&_0x53b8cb[_0x5063b6(0x12f)](..._0x5b53c6[_0x5063b6(0x201)][_0x5063b6(0x117)]);}),_0x53b8cb['length']){const _0x48abc4=this[_0x17baf6(0x223)][_0x17baf6(0x2c8)](_0x53b8cb);sequenceExecute(_0x48abc4[_0x17baf6(0x144)],this[_0x17baf6(0x2d4)]);}});}},__name(_a8,_0x4f63e1(0x301)),_a8);SheetsDataValidationRenderController=__decorateClass$7([__decorateParam$7(0x0,ICommandService),__decorateParam$7(0x1,IMenuManagerService),__decorateParam$7(0x2,IRenderManagerService),__decorateParam$7(0x3,IUniverInstanceService),__decorateParam$7(0x4,Inject(AutoHeightController)),__decorateParam$7(0x5,Inject(DataValidationDropdownManagerService)),__decorateParam$7(0x6,Inject(SheetDataValidationModel)),__decorateParam$7(0x7,Inject(DataValidatorRegistryService)),__decorateParam$7(0x8,Inject(SheetInterceptorService)),__decorateParam$7(0x9,Optional(IEditorBridgeService))],SheetsDataValidationRenderController);var _a9;let SheetsDataValidationMobileRenderController=(_a9=class extends RxDisposable{constructor(_0x34dca5,_0x1ba326,_0x2cf99d,_0x3a5ffd,_0x46cd6c,_0x3ba63a){const _0x464a93=_0x4f63e1;super(),this[_0x464a93(0x2d4)]=_0x34dca5,this[_0x464a93(0x238)]=_0x1ba326,this[_0x464a93(0x223)]=_0x2cf99d,this[_0x464a93(0xbd)]=_0x3a5ffd,this[_0x464a93(0x77)]=_0x46cd6c,this[_0x464a93(0x80)]=_0x3ba63a,this[_0x464a93(0x1fd)](),this[_0x464a93(0x17a)]();}[_0x4f63e1(0x1fd)](){const _0x338251=_0x4f63e1;this[_0x338251(0x2d7)](this[_0x338251(0x77)][_0x338251(0x13b)](INTERCEPTOR_POINT['CELL_CONTENT'],{'effect':InterceptorEffectEnum[_0x338251(0x139)],'priority':InterceptCellContentPriority[_0x338251(0x1aa)],'handler':__name((_0x38b5b3,_0x30f2c0,_0x40b5d1)=>{const _0x4d0df0=_0x338251;var _0x25a59e,_0x3c826b,_0x2ea7dd,_0xb98f94;const {row:_0x811b86,col:_0x3c9341,unitId:_0x2def51,subUnitId:_0x4eac67,workbook:_0x45937c,worksheet:_0x1dd64e}=_0x30f2c0,_0xa1e7bc=this[_0x4d0df0(0x80)]['getRuleIdByLocation'](_0x2def51,_0x4eac67,_0x811b86,_0x3c9341);if(!_0xa1e7bc)return _0x40b5d1(_0x38b5b3);const _0x1b297b=this['_sheetDataValidationModel'][_0x4d0df0(0x25b)](_0x2def51,_0x4eac67,_0xa1e7bc);if(!_0x1b297b)return _0x40b5d1(_0x38b5b3);const _0x3baaa0=this[_0x4d0df0(0x80)][_0x4d0df0(0x16c)](_0x38b5b3,_0x1b297b,_0x30f2c0),_0x5a9fa7=this[_0x4d0df0(0xbd)]['getValidatorItem'](_0x1b297b['type']),_0x3693f3=_0x1dd64e[_0x4d0df0(0x167)](_0x811b86,_0x3c9341),_0x3ef402=getCellValueOrigin(_0x3693f3),_0x19c7d5=''+(_0x3ef402!=null?_0x3ef402:'');return _0x40b5d1({..._0x38b5b3,'dataValidation':{'ruleId':_0xa1e7bc,'validStatus':_0x3baaa0,'rule':_0x1b297b,'validator':_0x5a9fa7},'markers':{..._0x38b5b3==null?void 0x0:_0x38b5b3[_0x4d0df0(0x21a)],..._0x3baaa0===DataValidationStatus[_0x4d0df0(0x143)]?INVALID_MARK:null},'customRender':[...(_0x25a59e=_0x38b5b3==null?void 0x0:_0x38b5b3[_0x4d0df0(0xf6)])!=null?_0x25a59e:[],..._0x5a9fa7!=null&&_0x5a9fa7[_0x4d0df0(0xa6)]?[_0x5a9fa7[_0x4d0df0(0xa6)]]:[]],'fontRenderExtension':{..._0x38b5b3==null?void 0x0:_0x38b5b3['fontRenderExtension'],'isSkip':((_0x3c826b=_0x38b5b3==null?void 0x0:_0x38b5b3[_0x4d0df0(0x129)])==null?void 0x0:_0x3c826b[_0x4d0df0(0x2c6)])||((_0x2ea7dd=_0x5a9fa7==null?void 0x0:_0x5a9fa7[_0x4d0df0(0x2be)])==null?void 0x0:_0x2ea7dd[_0x4d0df0(0x2cb)](_0x5a9fa7,_0x1b297b,_0x3ef402,_0x30f2c0))},'interceptorStyle':{..._0x38b5b3==null?void 0x0:_0x38b5b3[_0x4d0df0(0x25e)],..._0x5a9fa7==null?void 0x0:_0x5a9fa7[_0x4d0df0(0x234)](_0x1b297b,_0x19c7d5,{get 'style'(){const _0x466a28=_0x4d0df0,_0x585cdf=_0x45937c[_0x466a28(0x220)]();return(typeof(_0x38b5b3==null?void 0x0:_0x38b5b3['s'])==_0x466a28(0xdf)?_0x585cdf['get'](_0x38b5b3==null?void 0x0:_0x38b5b3['s']):_0x38b5b3==null?void 0x0:_0x38b5b3['s'])||{};}})},'interceptorAutoHeight':__name(()=>{const _0x13ebe1=_0x4d0df0;var _0x46ba2c,_0xb9121d,_0x3bf966,_0x501f85,_0x3681a8,_0x1a2c5a;const _0xe67b6a=(_0xb9121d=(_0x46ba2c=this[_0x13ebe1(0x238)][_0x13ebe1(0xb4)](_0x2def51))==null?void 0x0:_0x46ba2c[_0x13ebe1(0x198)](SheetSkeletonManagerService)[_0x13ebe1(0x253)](_0x4eac67))==null?void 0x0:_0xb9121d['skeleton'];if(!_0xe67b6a)return;const _0x86bca6=_0xe67b6a['worksheet'][_0x13ebe1(0x2f1)](_0x811b86,_0x3c9341),_0x8a17ec={'data':{..._0x38b5b3,'dataValidation':{'ruleId':_0xa1e7bc,'validStatus':_0x3baaa0,'rule':_0x1b297b,'validator':_0x5a9fa7}},'style':_0xe67b6a['getsStyles']()[_0x13ebe1(0x1c4)](_0x38b5b3),'primaryWithCoord':_0xe67b6a[_0x13ebe1(0x200)]((_0x3bf966=_0x86bca6==null?void 0x0:_0x86bca6[_0x13ebe1(0x27e)])!=null?_0x3bf966:_0x811b86,(_0x501f85=_0x86bca6==null?void 0x0:_0x86bca6[_0x13ebe1(0x310)])!=null?_0x501f85:_0x3c9341),'unitId':_0x2def51,'subUnitId':_0x4eac67,'row':_0x811b86,'col':_0x3c9341,'workbook':_0x45937c,'worksheet':_0x1dd64e};return(_0x1a2c5a=(_0x3681a8=_0x5a9fa7==null?void 0x0:_0x5a9fa7[_0x13ebe1(0xa6)])==null?void 0x0:_0x3681a8[_0x13ebe1(0x1af)])==null?void 0x0:_0x1a2c5a['call'](_0x3681a8,_0x8a17ec);},_0x4d0df0(0x258)),'coverable':((_0xb98f94=_0x38b5b3==null?void 0x0:_0x38b5b3[_0x4d0df0(0x305)])!=null?_0xb98f94:!0x0)&&!(_0x1b297b[_0x4d0df0(0x28a)]===DataValidationType[_0x4d0df0(0x1ab)]||_0x1b297b[_0x4d0df0(0x28a)]===DataValidationType[_0x4d0df0(0xf0)])});},_0x338251(0x266))}));}[_0x4f63e1(0x17a)](){const _0x17f8d2=_0x4f63e1;this[_0x17f8d2(0x80)]['ruleChange$']['pipe'](filter(_0x1cafd4=>_0x1cafd4['source']===_0x17f8d2(0x2d1)),bufferTime(0x10))[_0x17f8d2(0xb0)](_0x81688d=>{const _0x14e1b3=_0x17f8d2,_0x2ba75f=[];if(_0x81688d['forEach'](_0x37535b=>{const _0x26514c=_0x4874;var _0x29245b;(_0x29245b=_0x37535b['rule'])!=null&&_0x29245b[_0x26514c(0x117)]&&_0x2ba75f['push'](..._0x37535b[_0x26514c(0x201)][_0x26514c(0x117)]);}),_0x2ba75f[_0x14e1b3(0x18a)]){const _0x37f5a4=this[_0x14e1b3(0x223)]['getUndoRedoParamsOfAutoHeight'](_0x2ba75f);sequenceExecute(_0x37f5a4[_0x14e1b3(0x144)],this[_0x14e1b3(0x2d4)]);}});}},__name(_a9,_0x4f63e1(0x7a)),_a9);SheetsDataValidationMobileRenderController=__decorateClass$7([__decorateParam$7(0x0,ICommandService),__decorateParam$7(0x1,IRenderManagerService),__decorateParam$7(0x2,Inject(AutoHeightController)),__decorateParam$7(0x3,Inject(DataValidatorRegistryService)),__decorateParam$7(0x4,Inject(SheetInterceptorService)),__decorateParam$7(0x5,Inject(SheetDataValidationModel))],SheetsDataValidationMobileRenderController);const dataValidationFormula=_0x4f63e1(0x209),dataValidationFormulaAnd='univer-data-validation-formula-and',dataValidationFormulaListItem=_0x4f63e1(0x17b),dataValidationFormulaListItemIcon='univer-data-validation-formula-list-item-icon',dataValidationFormulaListItemDrag=_0x4f63e1(0x18e),dataValidationFormulaListAdd=_0x4f63e1(0x308),dataValidationFormulaColorSelect=_0x4f63e1(0xff),dataValidationFormulaColorSelectPanel=_0x4f63e1(0x2c9),dataValidationFormulaColorItem=_0x4f63e1(0x1a6),styles={'dataValidationFormula':dataValidationFormula,'dataValidationFormulaAnd':dataValidationFormulaAnd,'dataValidationFormulaListItem':dataValidationFormulaListItem,'dataValidationFormulaListItemIcon':dataValidationFormulaListItemIcon,'dataValidationFormulaListItemDrag':dataValidationFormulaListItemDrag,'dataValidationFormulaListAdd':dataValidationFormulaListAdd,'dataValidationFormulaColorSelect':dataValidationFormulaColorSelect,'dataValidationFormulaColorSelectPanel':dataValidationFormulaColorSelectPanel,'dataValidationFormulaColorItem':dataValidationFormulaColorItem},BaseFormulaInput=__name(_0x404984=>{const _0x38b496=_0x4f63e1,{isTwoFormula:isTwoFormula=!0x1,value:_0x337e8f,onChange:_0x5968c1,showError:_0xf9dc71,validResult:_0x30de21}=_0x404984,_0x2fe7a7=useDependency(LocaleService),_0x16a52c=_0xf9dc71?_0x30de21==null?void 0x0:_0x30de21[_0x38b496(0x170)]:'',_0x1ee79d=_0xf9dc71?_0x30de21==null?void 0x0:_0x30de21['formula2']:'';return isTwoFormula?jsxRuntimeExports[_0x38b496(0x18c)](jsxRuntimeExports[_0x38b496(0x316)],{'children':[jsxRuntimeExports['jsx'](FormLayout,{'error':_0x16a52c,'children':jsxRuntimeExports[_0x38b496(0xe9)](Input,{'className':styles[_0x38b496(0x1c2)],'placeholder':_0x2fe7a7['t']('dataValidation.panel.formulaPlaceholder'),'value':_0x337e8f==null?void 0x0:_0x337e8f['formula1'],'onChange':__name(_0x21f7f5=>{_0x5968c1==null||_0x5968c1({..._0x337e8f,'formula1':_0x21f7f5});},_0x38b496(0xd3))})}),jsxRuntimeExports[_0x38b496(0xe9)](_0x38b496(0x1ce),{'className':styles[_0x38b496(0x119)],'children':_0x2fe7a7['t']('dataValidation.panel.formulaAnd')}),jsxRuntimeExports[_0x38b496(0xe9)](FormLayout,{'error':_0x1ee79d,'children':jsxRuntimeExports[_0x38b496(0xe9)](Input,{'className':styles['dataValidationFormula'],'placeholder':_0x2fe7a7['t'](_0x38b496(0x1bc)),'value':_0x337e8f==null?void 0x0:_0x337e8f['formula2'],'onChange':__name(_0x2fb394=>{_0x5968c1==null||_0x5968c1({..._0x337e8f,'formula2':_0x2fb394});},_0x38b496(0xd3))})})]}):jsxRuntimeExports['jsx'](FormLayout,{'error':_0x16a52c,'children':jsxRuntimeExports[_0x38b496(0xe9)](Input,{'className':styles[_0x38b496(0x1c2)],'placeholder':_0x2fe7a7['t'](_0x38b496(0x1bc)),'value':_0x337e8f==null?void 0x0:_0x337e8f[_0x38b496(0x170)],'onChange':__name(_0x4eab89=>{_0x5968c1==null||_0x5968c1({'formula1':_0x4eab89});},'onChange')})});},'BaseFormulaInput');function CheckboxFormulaInput(_0x8738fa){const _0x4ad65a=_0x4f63e1,{value:_0xa27ef8,onChange:_0x481558,showError:_0x410a6e,validResult:_0x99fd88}=_0x8738fa,_0x495b04=useDependency(LocaleService),_0x42c35c=_0x410a6e?_0x99fd88==null?void 0x0:_0x99fd88['formula1']:'',_0x6d2c97=_0x410a6e?_0x99fd88==null?void 0x0:_0x99fd88['formula2']:'',[_0x2410af,_0x2dc523]=useState(!((_0xa27ef8==null?void 0x0:_0xa27ef8[_0x4ad65a(0x170)])===void 0x0&&(_0xa27ef8==null?void 0x0:_0xa27ef8[_0x4ad65a(0x16b)])===void 0x0));return jsxRuntimeExports[_0x4ad65a(0x18c)](jsxRuntimeExports['Fragment'],{'children':[jsxRuntimeExports['jsx'](FormLayout,{'children':jsxRuntimeExports[_0x4ad65a(0xe9)](Checkbox,{'checked':_0x2410af,'onChange':__name(_0x36d33f=>{_0x36d33f?_0x2dc523(!0x0):(_0x2dc523(!0x1),_0x481558==null||_0x481558({..._0xa27ef8,'formula1':void 0x0,'formula2':void 0x0}));},_0x4ad65a(0xd3)),'children':_0x495b04['t'](_0x4ad65a(0x86))})}),_0x2410af?jsxRuntimeExports['jsx'](FormLayout,{'label':_0x495b04['t'](_0x4ad65a(0x228)),'error':_0x42c35c,'children':jsxRuntimeExports['jsx'](Input,{'className':styles[_0x4ad65a(0x1c2)],'placeholder':_0x495b04['t']('dataValidation.panel.valuePlaceholder'),'value':_0xa27ef8==null?void 0x0:_0xa27ef8[_0x4ad65a(0x170)],'onChange':__name(_0x97c163=>{_0x481558==null||_0x481558({..._0xa27ef8,'formula1':_0x97c163||void 0x0});},_0x4ad65a(0xd3))})}):null,_0x2410af?jsxRuntimeExports['jsx'](FormLayout,{'label':_0x495b04['t']('dataValidation.checkbox.unchecked'),'error':_0x6d2c97,'children':jsxRuntimeExports['jsx'](Input,{'className':styles[_0x4ad65a(0x1c2)],'placeholder':_0x495b04['t'](_0x4ad65a(0x282)),'value':_0xa27ef8==null?void 0x0:_0xa27ef8['formula2'],'onChange':__name(_0x5d8671=>{_0x481558==null||_0x481558({..._0xa27ef8,'formula2':_0x5d8671||void 0x0});},_0x4ad65a(0xd3))})}):null]});}__name(CheckboxFormulaInput,_0x4f63e1(0x2b5));function CustomFormulaInput(_0x1acfbc){const _0x49a34c=_0x4f63e1;var _0x42ce26;const {unitId:_0xfed0c7,subUnitId:_0x74e8e1,value:_0xfcf05,onChange:_0x3621e8,showError:_0xd52578,validResult:_0x588ba3}=_0x1acfbc,_0x2e5753=_0xd52578?_0x588ba3==null?void 0x0:_0x588ba3[_0x49a34c(0x170)]:'';return jsxRuntimeExports[_0x49a34c(0xe9)](FormLayout,{'error':_0x2e5753,'children':jsxRuntimeExports[_0x49a34c(0xe9)](TextEditor,{'value':(_0x42ce26=_0xfcf05==null?void 0x0:_0xfcf05[_0x49a34c(0x170)])!=null?_0x42ce26:'','id':createInternalEditorID(_0x49a34c(0x26f)+_0xfed0c7+'-'+_0x74e8e1),'onChange':__name(_0x13b386=>{const _0xb6d87e=_0x49a34c;_0x3621e8==null||_0x3621e8({..._0xfcf05,'formula1':(_0x13b386!=null?_0x13b386:'')[_0xb6d87e(0x147)]()});},_0x49a34c(0xd3)),'onlyInputFormula':!0x0,'openForSheetUnitId':_0xfed0c7,'openForSheetSubUnitId':_0x74e8e1})});}__name(CustomFormulaInput,_0x4f63e1(0x213));const DEFAULT_COLOR_PRESET=['#FFFFFF','#FEE7E7',_0x4f63e1(0x281),'#EFFBD0',_0x4f63e1(0x300),_0x4f63e1(0x89),_0x4f63e1(0x2ee),_0x4f63e1(0x1d1),_0x4f63e1(0x100),_0x4f63e1(0x2a2),'#FDC49B','#DEF6A2',_0x4f63e1(0xf3),_0x4f63e1(0x1b1),'#E3D5F6',_0x4f63e1(0xb6),_0x4f63e1(0x224),_0x4f63e1(0x8e),_0x4f63e1(0xb1),_0x4f63e1(0x12b),_0x4f63e1(0x2f5),_0x4f63e1(0x259),_0x4f63e1(0x2d0),'#F248A6'],ColorSelect=__name(_0x3847be=>{const _0x4945f8=_0x4f63e1,{value:_0x453d84,onChange:_0x20a6ee,disabled:_0x20e39b}=_0x3847be,[_0x30e4c9,_0x15ee3a]=useState(!0x1);return jsxRuntimeExports[_0x4945f8(0xe9)](Select,{'disabled':_0x20e39b,'open':_0x30e4c9,'onDropdownVisibleChange':_0x15ee3a,'dropdownStyle':{'width':0x70},'className':styles[_0x4945f8(0x20b)],'value':_0x453d84,'onChange':_0x20a6ee,'labelRender':__name(_0x2d76e7=>jsxRuntimeExports[_0x4945f8(0xe9)](_0x4945f8(0x1ce),{'className':styles[_0x4945f8(0x29a)],'style':{'background':_0x2d76e7['value'],'marginTop':0x5}}),_0x4945f8(0x1fa)),'dropdownRender':__name(()=>jsxRuntimeExports[_0x4945f8(0xe9)](_0x4945f8(0x1ce),{'className':styles['dataValidationFormulaColorSelectPanel'],'children':DEFAULT_COLOR_PRESET['map'](_0x44f9f0=>jsxRuntimeExports[_0x4945f8(0xe9)]('div',{'onClick':__name(()=>{_0x20a6ee(_0x44f9f0),_0x15ee3a(!0x1);},_0x4945f8(0x30f)),'className':styles['dataValidationFormulaColorItem'],'style':{'background':_0x44f9f0}},_0x44f9f0))}),_0x4945f8(0x25a))});},_0x4f63e1(0x287)),Template=__name(_0x39d1ab=>{const _0x201438=_0x4f63e1,{item:_0x231fb0,commonProps:_0x198df8,style:_0x3d83c9}=_0x39d1ab,{onItemChange:_0xbd442b,onItemDelete:_0x45077d}=_0x198df8;return jsxRuntimeExports['jsxs']('div',{'className':styles[_0x201438(0x2e4)],'style':_0x3d83c9,'children':[_0x231fb0[_0x201438(0xa4)]?null:jsxRuntimeExports[_0x201438(0xe9)](_0x201438(0x1ce),{'className':_0x2db511(styles[_0x201438(0x72)],_0x201438(0x7e)),'children':jsxRuntimeExports[_0x201438(0xe9)](SequenceSingle,{})}),jsxRuntimeExports[_0x201438(0xe9)](ColorSelect,{'value':_0x231fb0[_0x201438(0x188)],'onChange':__name(_0x5bcba3=>{_0xbd442b(_0x231fb0['id'],_0x231fb0['label'],_0x5bcba3);},_0x201438(0xd3))}),jsxRuntimeExports[_0x201438(0xe9)](Input,{'disabled':_0x231fb0[_0x201438(0xa4)],'value':_0x231fb0[_0x201438(0x284)],'onChange':__name(_0x716ac4=>{const _0x59ba3f=_0x201438;_0xbd442b(_0x231fb0['id'],_0x716ac4,_0x231fb0[_0x59ba3f(0x188)]);},_0x201438(0xd3))}),_0x231fb0[_0x201438(0xa4)]?null:jsxRuntimeExports[_0x201438(0xe9)](_0x201438(0x1ce),{'className':styles[_0x201438(0x91)],'children':jsxRuntimeExports['jsx'](DeleteSingle,{'onClick':__name(()=>_0x45077d(_0x231fb0['id']),_0x201438(0x30f))})})]});},_0x4f63e1(0x10b));function ListFormulaInput(_0x24e7de){const _0x27e42a=_0x4f63e1,{value:_0x339bfe,onChange:_0x55d56f=__name(()=>{},_0x27e42a(0x16f)),unitId:_0x20ef55,subUnitId:_0x5d2e03,validResult:_0x1ac01f,showError:_0x1eb953,ruleId:_0x3e0bda}=_0x24e7de,{formula1:formula1='',formula2:formula2=''}=_0x339bfe||{},_0x22e7c5=useRef(null),[_0x2c2ef3,_0x339550]=useState(()=>isFormulaString(formula1)?'1':'0'),[_0x522c1f,_0x2cf8f1]=useState(_0x2c2ef3==='1'?formula1:'='),[_0xbfb02f,_0x31eb2b]=useState(_0x2c2ef3==='1'?formula1:'='),_0x40207a=useDependency(LocaleService),_0x284614=useDependency(DataValidatorRegistryService),_0x5903fc=useDependency(DataValidationModel),_0x39cf67=useDependency(DataValidationFormulaController),[_0x5591a4,_0x58b973]=useState(()=>formula2[_0x27e42a(0x24a)](',')),_0xeaeff7=_0x284614[_0x27e42a(0x90)](DataValidationType[_0x27e42a(0x1ab)]),[_0x2b2eb9,_0x4bac48]=useState([]),[_0x30ee63,_0x27aeec]=useState(''),_0x440b94=_0x1eb953?_0x1ac01f==null?void 0x0:_0x1ac01f['formula1']:'',_0x35690d=useMemo(()=>_0x5903fc['ruleChange$'][_0x27e42a(0x8c)](debounceTime(0x10)),[]),_0xbcd450=useObservable(_0x35690d),_0xd94867=useEvent(_0x55d56f);useEffect(()=>{((async()=>{const _0x17be3b=_0x4874;await new Promise(_0x31f5c8=>{setTimeout(()=>_0x31f5c8(!0x0),0x64);});const _0x1d28d8=_0x5903fc[_0x17be3b(0x25b)](_0x20ef55,_0x5d2e03,_0x3e0bda),_0xf7d2c0=_0x1d28d8==null?void 0x0:_0x1d28d8[_0x17be3b(0x170)];if(isFormulaString(_0xf7d2c0)&&_0xeaeff7&&_0x1d28d8){const _0x55de6e=await _0xeaeff7[_0x17be3b(0x13f)](_0x1d28d8,_0x20ef55,_0x5d2e03);_0x4bac48(_0x55de6e);}})());},[_0x5903fc,_0xbcd450,_0xeaeff7,_0x3e0bda,_0x5d2e03,_0x20ef55]),useEffect(()=>{isFormulaString(formula1)&&formula1!==_0xbfb02f&&(_0x2cf8f1(formula1),_0x31eb2b(_0xbfb02f));},[_0xbfb02f,formula1]);const [_0x3a4648,_0xd2d060]=useState(()=>{const _0x54ff29=_0x27e42a,_0x2f0e44=_0x2c2ef3!=='1'?deserializeListOptions(formula1):[],_0x5849b4=formula2['split'](',');return _0x2f0e44[_0x54ff29(0xe5)]((_0x1d9ca9,_0x604605)=>({'label':_0x1d9ca9,'color':_0x5849b4[_0x604605]||DROP_DOWN_DEFAULT_COLOR,'isRef':!0x1,'id':Tools[_0x54ff29(0x1a0)](0x4)}));}),_0x98a2e3=__name((_0x36c6fd,_0x4fcb9a,_0xfaafb2)=>{const _0x58827a=_0x27e42a,_0x994315=_0x3a4648[_0x58827a(0x1c8)](_0x471227=>_0x471227['id']===_0x36c6fd);_0x994315&&(_0x994315['label']=_0x4fcb9a,_0x994315['color']=_0xfaafb2,_0xd2d060([..._0x3a4648]));},_0x27e42a(0xf4)),_0x273d8a=__name(_0x5208b8=>{const _0x33ea2c=_0x27e42a,_0x3d3678=_0x3a4648[_0x33ea2c(0x107)](_0x126160=>_0x126160['id']===_0x5208b8);_0x3d3678!==-0x1&&(_0x3a4648['splice'](_0x3d3678,0x1),_0xd2d060([..._0x3a4648]));},'handleStrItemDelete'),_0x5e4bac=formula2[_0x27e42a(0x24a)](','),_0xb9cc36=useMemo(()=>_0x2b2eb9[_0x27e42a(0xe5)]((_0xc93146,_0x2310ca)=>({'label':_0xc93146,'color':_0x5e4bac[_0x2310ca]||DROP_DOWN_DEFAULT_COLOR,'id':''+_0x2310ca,'isRef':!0x0})),[_0x5e4bac,_0x2b2eb9]),_0x1f24f2=__name((_0x5875a4,_0x4b891c,_0x2d5c60)=>{const _0x37b77e=_0x27e42a,_0x4c8b54=[..._0x5591a4];_0x4c8b54[+_0x5875a4]=_0x2d5c60,_0x58b973(_0x4c8b54),_0xd94867({'formula1':formula1,'formula2':_0x4c8b54[_0x37b77e(0x2e6)](',')});},_0x27e42a(0x1d0)),_0x50154e=__name(()=>{const _0x1439ec=_0x27e42a;_0xd2d060([..._0x3a4648,{'label':'','color':DROP_DOWN_DEFAULT_COLOR,'isRef':!0x1,'id':Tools[_0x1439ec(0x1a0)](0x4)}]);},_0x27e42a(0xaa));useEffect(()=>{const _0x1fae4f=_0x27e42a;if(_0x2c2ef3==='1')return;const _0x2dc2b7=new Set(),_0x483b97=[];_0x3a4648[_0x1fae4f(0xe5)](_0x2db00f=>({'labelList':_0x2db00f[_0x1fae4f(0x284)][_0x1fae4f(0x24a)](','),'item':_0x2db00f}))[_0x1fae4f(0xc9)](({item:_0x12cbb5,labelList:_0x124c81})=>{const _0x202a69=_0x1fae4f;_0x124c81[_0x202a69(0xc9)](_0x452bed=>{const _0x3d6a1f=_0x202a69;_0x2dc2b7[_0x3d6a1f(0x1ed)](_0x452bed)||(_0x2dc2b7[_0x3d6a1f(0xbf)](_0x452bed),_0x483b97[_0x3d6a1f(0x12f)]({'label':_0x452bed,'color':_0x12cbb5['color']}));});}),_0xd94867({'formula1':serializeListOptions(_0x483b97['map'](_0x258d59=>_0x258d59['label'])),'formula2':_0x483b97[_0x1fae4f(0xe5)](_0x126356=>_0x126356['color']===DROP_DOWN_DEFAULT_COLOR?'':_0x126356[_0x1fae4f(0x188)])[_0x1fae4f(0x2e6)](',')});},[_0x3a4648,_0xd94867,_0x2c2ef3,_0xbfb02f,_0x5591a4]);const _0x5076fd=useMemo(()=>async _0x4461b0=>{const _0xe470cb=_0x27e42a;if(!isFormulaString(_0x4461b0)){_0xd94867==null||_0xd94867({'formula1':'','formula2':formula2});return;}_0x39cf67[_0xe470cb(0x189)](_0x4461b0)?(_0xd94867==null||_0xd94867({'formula1':isFormulaString(_0x4461b0)?_0x4461b0:'','formula2':formula2}),_0x27aeec('')):(_0xd94867==null||_0xd94867({'formula1':'','formula2':formula2}),_0x2cf8f1('='),_0x27aeec(_0x40207a['t']('dataValidation.validFail.formulaError')));},[formula2,_0xd94867]);return jsxRuntimeExports[_0x27e42a(0x18c)](jsxRuntimeExports[_0x27e42a(0x316)],{'children':[jsxRuntimeExports[_0x27e42a(0xe9)](FormLayout,{'label':_0x40207a['t'](_0x27e42a(0x2f7)),'children':jsxRuntimeExports['jsxs'](RadioGroup,{'value':_0x2c2ef3,'onChange':__name(_0x393f48=>{_0x339550(_0x393f48),_0x2cf8f1(_0xbfb02f),_0x393f48==='1'&&_0xd94867({'formula1':_0xbfb02f==='='?'':_0xbfb02f,'formula2':_0x5591a4['join'](',')});},_0x27e42a(0xd3)),'children':[jsxRuntimeExports[_0x27e42a(0xe9)](Radio,{'value':'0','children':_0x40207a['t'](_0x27e42a(0x1e1))}),jsxRuntimeExports[_0x27e42a(0xe9)](Radio,{'value':'1','children':_0x40207a['t'](_0x27e42a(0x163))})]})}),_0x2c2ef3==='1'?jsxRuntimeExports['jsxs'](jsxRuntimeExports[_0x27e42a(0x316)],{'children':[jsxRuntimeExports[_0x27e42a(0xe9)](FormLayout,{'error':_0x440b94||_0x30ee63,'children':jsxRuntimeExports[_0x27e42a(0xe9)](TextEditor,{'id':createInternalEditorID(_0x27e42a(0x70)+_0x20ef55+'-'+_0x5d2e03),'value':_0x522c1f,'openForSheetUnitId':_0x20ef55,'openForSheetSubUnitId':_0x5d2e03,'onlyInputFormula':!0x0,'onChange':__name(async _0x28eb59=>{const _0x45c7f6=(_0x28eb59!=null?_0x28eb59:'')['trim']();_0x31eb2b(_0x45c7f6),_0x5076fd(_0x45c7f6);},_0x27e42a(0xd3))})}),jsxRuntimeExports['jsx'](FormLayout,{'children':jsxRuntimeExports[_0x27e42a(0xe9)](_0x27e42a(0x1ce),{'ref':_0x22e7c5,'children':_0xb9cc36[_0x27e42a(0xe5)](_0x4dba74=>jsxRuntimeExports['jsx'](Template,{'item':_0x4dba74,'commonProps':{'onItemChange':_0x1f24f2},'style':{'marginBottom':0xc}},_0x4dba74['id']))})})]}):jsxRuntimeExports[_0x27e42a(0xe9)](FormLayout,{'error':_0x440b94,'children':jsxRuntimeExports[_0x27e42a(0x18c)](_0x27e42a(0x1ce),{'ref':_0x22e7c5,'style':{'marginTop':_0x27e42a(0x16d)},'children':[jsxRuntimeExports[_0x27e42a(0xe9)](DraggableList,{'list':_0x3a4648,'onListChange':_0xd2d060,'rowHeight':0x20,'margin':[0x0,0xc],'draggableHandle':_0x27e42a(0x179),'itemRender':__name(_0x567d9e=>jsxRuntimeExports[_0x27e42a(0xe9)](Template,{'item':_0x567d9e,'commonProps':{'onItemChange':_0x98a2e3,'onItemDelete':_0x273d8a}},_0x567d9e['id']),_0x27e42a(0x1f7)),'idKey':'id'}),jsxRuntimeExports[_0x27e42a(0x18c)]('a',{'className':styles[_0x27e42a(0x288)],'onClick':_0x50154e,'children':[jsxRuntimeExports['jsx'](IncreaseSingle,{}),_0x40207a['t'](_0x27e42a(0x9d))]})]})})]});}__name(ListFormulaInput,'ListFormulaInput');const CUSTOM_FORMULA_INPUT_NAME=_0x4f63e1(0x2af),BASE_FORMULA_INPUT_NAME$1=_0x4f63e1(0x273),LIST_FORMULA_INPUT_NAME=_0x4f63e1(0x1ff),CHECKBOX_FORMULA_INPUT_NAME=_0x4f63e1(0x2b8),FORMULA_INPUTS=[[CUSTOM_FORMULA_INPUT_NAME,CustomFormulaInput],[BASE_FORMULA_INPUT_NAME$1,BaseFormulaInput],[LIST_FORMULA_INPUT_NAME,ListFormulaInput],[CHECKBOX_FORMULA_INPUT_NAME,CheckboxFormulaInput]],LIST_RENDER_MODE_OPTION_INPUT=_0x4f63e1(0x1a1);function ListRenderModeInput(_0x344e44){const _0x17ae70=_0x4f63e1;var _0x4d81de;const {value:_0x5655fa,onChange:_0x51ce5a}=_0x344e44,_0x36e52c=useDependency(LocaleService);return jsxRuntimeExports[_0x17ae70(0xe9)](FormLayout,{'label':_0x36e52c['t'](_0x17ae70(0x247)),'children':jsxRuntimeExports[_0x17ae70(0x18c)](RadioGroup,{'value':''+((_0x4d81de=_0x5655fa['renderMode'])!=null?_0x4d81de:DataValidationRenderMode[_0x17ae70(0x191)]),'onChange':__name(_0x18a32b=>_0x51ce5a({..._0x5655fa,'renderMode':+_0x18a32b}),_0x17ae70(0xd3)),'children':[jsxRuntimeExports[_0x17ae70(0xe9)](Radio,{'value':''+DataValidationRenderMode[_0x17ae70(0x191)],'children':_0x36e52c['t'](_0x17ae70(0x242))}),jsxRuntimeExports[_0x17ae70(0xe9)](Radio,{'value':''+DataValidationRenderMode['ARROW'],'children':_0x36e52c['t'](_0x17ae70(0x2cc))}),jsxRuntimeExports['jsx'](Radio,{'value':''+DataValidationRenderMode[_0x17ae70(0x205)],'children':_0x36e52c['t']('dataValidation.renderMode.text')})]})});}__name(ListRenderModeInput,_0x4f63e1(0xe4)),ListRenderModeInput['componentKey']=LIST_RENDER_MODE_OPTION_INPUT;const DATE_SHOW_TIME_OPTION='DATE_SHOW_TIME_OPTION';function DateShowTimeOption(_0x5b380c){const _0x479d5e=_0x4f63e1;var _0x4a3b7f;const {value:_0x7383f4,onChange:_0x3bf08a}=_0x5b380c,_0x5d53d5=useDependency(LocaleService);return jsxRuntimeExports[_0x479d5e(0xe9)](FormLayout,{'children':jsxRuntimeExports['jsx'](Checkbox,{'checked':(_0x4a3b7f=_0x7383f4[_0x479d5e(0x17c)])==null?void 0x0:_0x4a3b7f[_0x479d5e(0x2c1)],'onChange':__name(_0x220fd9=>{_0x3bf08a({..._0x7383f4,'bizInfo':{..._0x7383f4['bizInfo'],'showTime':_0x220fd9}});},_0x479d5e(0xd3)),'children':_0x5d53d5['t'](_0x479d5e(0x1d8))})});}__name(DateShowTimeOption,_0x4f63e1(0x10c)),DateShowTimeOption[_0x4f63e1(0x291)]=DATE_SHOW_TIME_OPTION;var __defProp$6=Object[_0x4f63e1(0xd2)],__getOwnPropDesc$6=Object[_0x4f63e1(0x21b)],__decorateClass$6=__name((_0x3812fd,_0x3b0f1b,_0x4e555e,_0x398f41)=>{const _0x4098dd=_0x4f63e1;for(var _0x10e868=_0x398f41>0x1?void 0x0:_0x398f41?__getOwnPropDesc$6(_0x3b0f1b,_0x4e555e):_0x3b0f1b,_0x2d372c=_0x3812fd[_0x4098dd(0x18a)]-0x1,_0x1c3a7b;_0x2d372c>=0x0;_0x2d372c--)(_0x1c3a7b=_0x3812fd[_0x2d372c])&&(_0x10e868=(_0x398f41?_0x1c3a7b(_0x3b0f1b,_0x4e555e,_0x10e868):_0x1c3a7b(_0x10e868))||_0x10e868);return _0x398f41&&_0x10e868&&__defProp$6(_0x3b0f1b,_0x4e555e,_0x10e868),_0x10e868;},_0x4f63e1(0x23b)),__decorateParam$6=__name((_0x4a04b2,_0x43cc23)=>(_0x538564,_0x3f27b3)=>_0x43cc23(_0x538564,_0x3f27b3,_0x4a04b2),'__decorateParam$6');const MARGIN_H$2=0x6;var _a10;function _0x3d29(){const _0x282818=['errorStyle','_zenVisible','71780PwjKUD','_themeService','onPanelChange','button','__decorateClass$a','SERIES','parse','dataValidation.panel.removeAll','dataValidation.list.refOptions','Dropdown','activeSheet$','useContext','getCellRaw','dispose','sheet.operation.show-data-validation-dropdown','getCurrentUnitForType','formula2','validator','-12px','WholeValidatorView','_onChange','formula1','handleUpdateRuleSetting','onHide','disabledDate','primaryWithCoord','svg','injector','location','data-validation.operation.open-validation-panel','.draggableHandle','_initAutoHeight','univer-data-validation-formula-list-item','bizInfo','SequenceSingle','getUniverSheetInstance','onRendered','M4.75332\x205.22217C3.86966\x205.22217\x203.15332\x205.93851\x203.15332\x206.82217V12.5331C3.15332\x2013.9691\x204.31738\x2015.1332\x205.75332\x2015.1332H10.2465C11.6825\x2015.1332\x2012.8465\x2013.9691\x2012.8465\x2012.5331V6.82217C12.8465\x205.93851\x2012.1302\x205.22217\x2011.2465\x205.22217H4.75332ZM4.35332\x206.82217C4.35332\x206.60125\x204.53241\x206.42217\x204.75332\x206.42217H11.2465C11.4674\x206.42217\x2011.6465\x206.60125\x2011.6465\x206.82217V12.5331C11.6465\x2013.3063\x2011.0197\x2013.9332\x2010.2465\x2013.9332H5.75332C4.98012\x2013.9332\x204.35332\x2013.3063\x204.35332\x2012.5331V6.82217Z','cols','_formulaService','showErrorMessage','valueOf','top','evenodd','reject-input-dialog','color','getFormulaRefCheck','length','onAfterFillData','jsxs','YYYY-MM-DDTHH:mm:ss[Z]','univer-data-validation-formula-list-item-drag','createDocSkeleton','currentCell$','CUSTOM','dataValidation.listMultiple.dropdown','rows','alpha','random','dataValidationOptionsButtonIcon','dvListDropdownList','with','RIGHT','data-validation.operation.close-validation-panel','univer-data-validation-detail-form-item','DataValidationRejectInputController','getUTCHours','getListWithColorMap','dataStream','generateRandomId','LIST_RENDER_MODE_OPTION_INPUT','data-validation.command.addRuleAndOpen','showDropdown','react.fragment','_init','univer-data-validation-formula-color-item','dvListDropdownTitle','allowBlank','__decorateParam$9','DATA_VALIDATION','LIST','url(#$1','__decorateClass$c','addDataValidationMenuFactory','calcCellAutoHeight','clone','#D0D9FB','BOTTOM','max','register','__decorateClass$d','data-validation.list.dropdown','toLowerCase','subUnitId','$ms','activeDropdown','utcOffset','dataValidation.panel.formulaPlaceholder','__decorateClass$7','isValid','_initCopyPaste','setCloseDisposable','success','dataValidationFormula','resolve','getStyleByCell','toUTCString','STOP','renderMode','find','dvListDropdownSelectedIcon','complete','restore','_generateMutations','symbol','div','getMatrix','handleRefItemChange','#FDE8F3','name','0\x200\x2016\x2016','getUTCSeconds','COMMAND','addRangeRules','TOP','dataValidation.showTime.label','DataValidationPanelService','Keyboard','showAlert','handleOk','8dintwE','UniverIcon','setValue','removeAlert','dataValidation.list.customOptions','alert','12ezooSj','addHook','disable','result','DataValidationOptions','onStarting','patched','__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED','hideDropdown','defaultProps','has','onClose','222469CFTjnO','_initMenu','dvListDropdown','getRules','zIndex','includes','startX','clip','itemRender','dataValidation.panel.add','__decorateClass$5','labelRender','init','isVisible','_initViewModelIntercept','DeleteSingle','data-validation.list-formula-input','getCellByIndex','rule','hasOwnProperty','ListDropDown','colorChannel1','TEXT','_currentPopup','dvListDropdownItemContainer','dataValidation.panel.messageInfo','univer-data-validation-formula','replace','dataValidationFormulaColorSelect','_sidebarService','getRuleFinalError','DataValidationSingle','transparent','left','dataValidationDetailFormItem','univer-data-validation-detail-buttons','CustomFormulaInput','_activeDropdown','DropdownMultipleWidget','POSITIVE_INFINITY','dataValidation.list.edit','handleSave','trigger','markers','getOwnPropertyDescriptor','__decorateParam$d','columnHeaderHeight','univer-data-validation-item-icon','assign','getStyles','children','_autoFillService','_autoHeightController','#656565','DataValidationItem','render','diff','dataValidation.checkbox.checked','from','AFTER_CELL_EDIT_ASYNC','CustomFormulaValidatorView','_activeRule','dvListDropdownListContainer','endY','relativeRange','__decorateParam$3','isOpen','CENTER','UniverSheetsDataValidationUIPlugin','getExtraStyle','right','endX','CELL_CONTENT','_renderManagerService','FORMULAS_INSERT','onCommandExecuted','__decorateClass$6','width','addClipboardHook','univer-dv-list-dropdown','_localeService','getSheetBySheetId','DataValidationPanel','dataValidation.renderMode.chip','fill','utc','_getDropdownByCell','handleUpdateRuleOptions','dataValidation.renderMode.label','isHit','yyyy-MM-dd\x20HH:mm:ss','split','toISOString','DropdownWidget','value','dataValidation.alert.title','unitId','univer-dv-date-dropdown','_sheetsSelectionsService','__decorateParam$1','getWorksheetSkeleton','rgb','4954242sQIuWp','getUTCFullYear','onSteady','interceptorAutoHeight','#3A60F7','dropdownRender','getRuleById','endRow','_injector','interceptorStyle','getConfig','more-up-single','UNIVER_SHEET','showDataValidationDropdown','_initComponents','__esModule','SPECIAL_PASTE_FORMULA','handler','drawWith','actualColumn','createInstance','substring','getTransform','currentColor','_open$','dvListDropdownEdit','dataValidation-custom-formula-','#fe4b4b','getOwnPropertySymbols','_calc','data-validation.formula-input','copyRange','tag','getUnit','idSuffix','SHEET_DATA_VALIDATION_ALERT','dataValidation.panel.showInfo','activeDropdown$','composeMatrix','dropdown','save','startRow','visible','[DataValidationDropdownManagerService]:\x20cannot\x20show\x20dropdown!','#FEF0E6','dataValidation.panel.valuePlaceholder','yyyy-MM-dd\x20hh:mm:ss','label','displayName','filter','ColorSelect','dataValidationFormulaListAdd','$localOffset','type','lines','toString','onReady','exports','registerCommand','$offset','componentKey','actualRow','executeCommand','__decorateClass$b','font','uid','univer-data-validation-detail-button','dataValidation.panel.type','ListMultipleValidatorView','dataValidationFormulaColorItem','__decorateParam$5','get','getRuleByLocation','getInterceptPoints','body','dataValidation.panel.removeRule','_configService','#FDCECE','rect','onPointerDown','setActiveRule','selectionMoveEnd$','getCurrentTypeOfUnit$','menu','startY','matrix','_zenZoneService','getPositionRange','interceptor','M14.6175\x202.45279C14.8518\x202.68711\x2014.8518\x203.06701\x2014.6175\x203.30132L11.6151\x206.30365C11.3957\x206.52307\x2011.0451\x206.53897\x2010.8067\x206.34031L8.80915\x204.67566C8.55458\x204.46352\x208.52019\x204.08518\x208.73233\x203.83062\x208.94447\x203.57605\x209.32281\x203.54166\x209.57737\x203.7538L11.154\x205.06767\x2013.769\x202.45278C14.0033\x202.21847\x2014.3832\x202.21848\x2014.6175\x202.45279zM14.1175\x209.19746C14.3518\x209.43178\x2014.3518\x209.81168\x2014.1175\x2010.046L12.5418\x2011.6217\x2014.1175\x2013.1975C14.3518\x2013.4318\x2014.3518\x2013.8117\x2014.1175\x2014.046\x2013.8832\x2014.2803\x2013.5033\x2014.2803\x2013.269\x2014.046L11.6933\x2012.4703\x2010.1175\x2014.046C9.88321\x2014.2803\x209.50331\x2014.2803\x209.269\x2014.046\x209.03468\x2013.8117\x209.03468\x2013.4318\x209.269\x2013.1975L10.8447\x2011.6217\x209.269\x2010.046C9.03468\x209.81168\x209.03468\x209.43178\x209.269\x209.19746\x209.50331\x208.96315\x209.88321\x208.96315\x2010.1175\x209.19746L11.6933\x2010.7732\x2013.269\x209.19746C13.5033\x208.96315\x2013.8832\x208.96315\x2014.1175\x209.19746z','data-validation.custom-formula-input','activeRule','_initEditorBridgeInterceptor','getCell','validatorFormula','data-validation-single','CheckboxFormulaInput','rawData','CHECKBOX','data-validation.checkbox-formula-input','univer-dv-list-dropdown-item-container','parseDate','permissionCheckWithRanges','list','_closeDisposable','skipDefaultFontRender','dataValidation','format','showTime','none','concat','setDisableApplyType','1em','isSkip','__decorateParam$2','getUndoRedoParamsOfAutoHeight','univer-data-validation-formula-color-select-panel','dataValidation.panel.options','call','dataValidation.renderMode.arrow','_editorBridgeService','some','col','#9E6DE3','command','hideFn','univer-dv-list-dropdown-title','_commandService','1157865JpFxAQ','use','disposeWithMe','_sheetPermissionInterceptorBaseController','dataValidationListButton','createDocuments','foreach','__decorateClass$9','_collect','dataValidationItemTitle','handleClick','height','getSizeOf','DataValidationAlertController','engine','dataValidationFormulaListItem','2304ADzISF','join','style','WARNING','_initZenService','_cellAlertManagerService','key','YYYY-MM-DD\x20HH:mm:ss:SSS','#565656','#F1EAFA','DataValidationListWithWorkbook','setConfig','getMergedCell','_parseFormula','getPlainText','WRAP','#0B9EFB','create','dataValidation.list.options','dataValidation.panel.title','items','getActiveSheet','attrs','showReject','primary','502132lXthpH','OPERATION','#E4F4FE','SheetsDataValidationRenderController','boolean','path','dvDateDropdownBtns','coverable','operators','editor-bridge','univer-data-validation-formula-list-add','contentWidth','prototype','unsubscribe','isMergedMainCell','dataValidationDetailButton','range','onClick','startColumn','CheckboxValidatorView','operatorNames','error','univer-data-validation-detail','M0\x200H16V16H0z','Fragment','dataValidation.title','onBeforeCopy','list-ref-range-','attachPopupToCell','dataValidationFormulaListItemDrag','COPY','mergeMenu','worksheet','DataValidationCopyPasteController','_sheetInterceptorService','cellAutoHeight','handleAddRule','SheetsDataValidationMobileRenderController','parseCellValue','default','defIds','draggableHandle','delete-single','_sheetDataValidationModel','onPointerEnter','_dropdownInfoMap','totalHeight','MoreUpSingle','stopPropagation','dataValidation.checkbox.tips','getUnitId','calculate','#E8ECFD','next','invoke','pipe','addShape','#FE4B4B','onBeforeFillData','getValidatorItem','dataValidationFormulaListItemIcon','fillText','object','endColumn','M5.3313\x201.4667C5.3313\x201.13533\x205.59993.866699\x205.9313.866699H10.069C10.4004.866699\x2010.669\x201.13533\x2010.669\x201.4667\x2010.669\x201.79807\x2010.4004\x202.0667\x2010.069\x202.0667H5.9313C5.59993\x202.0667\x205.3313\x201.79807\x205.3313\x201.4667zM1.09985\x203.64443C1.09985\x203.31306\x201.36848\x203.04443\x201.69985\x203.04443H14.2999C14.6312\x203.04443\x2014.8999\x203.31306\x2014.8999\x203.64443\x2014.8999\x203.9758\x2014.6312\x204.24443\x2014.2999\x204.24443H1.69985C1.36848\x204.24443\x201.09985\x203.9758\x201.09985\x203.64443zM6.12398\x208.30171C6.35829\x208.0674\x206.73819\x208.0674\x206.97251\x208.30171L8.00007\x209.32928\x209.02764\x208.30171C9.26195\x208.0674\x209.64185\x208.0674\x209.87617\x208.30171\x2010.1105\x208.53603\x2010.1105\x208.91593\x209.87617\x209.15024L8.8486\x2010.1778\x209.87617\x2011.2054C10.1105\x2011.4397\x2010.1105\x2011.8196\x209.87617\x2012.0539\x209.64185\x2012.2882\x209.26195\x2012.2882\x209.02764\x2012.0539L8.00007\x2011.0263\x206.97251\x2012.0539C6.73819\x2012.2882\x206.35829\x2012.2882\x206.12398\x2012.0539\x205.88966\x2011.8196\x205.88966\x2011.4397\x206.12398\x2011.2054L7.15154\x2010.1778\x206.12398\x209.15024C5.88966\x208.91593\x205.88966\x208.53603\x206.12398\x208.30171z','values','DateDropdown','onClickOutside','ONLY_FORMAT','_dropdownManagerService','validStatus','dataValidationItemContent','dataValidation.list.add','showEditOnDropdown','_canvasPopupManagerService','_univerInstanceService','getTimezoneOffset','open$','SPECIAL_PASTE_FORMAT','isRef','SUBITEMS','canvasRender','_initDropdown','updateDocumentDataPageSize','changeVisible','handleAdd','_config','getCurrentLastSelection','__decorateParam','bold','rgba(73,\x20184,\x2017,\x200.05)','subscribe','#FF8C51','dataValidationListButtons','haveNotPermissionHandle','getRenderById','4441129SeYjmj','#FBD0E8','handleRemoveAll','M4.64645\x209.85355C4.45118\x209.65829\x204.45118\x209.34171\x204.64645\x209.14645L7.64645\x206.14645C7.84171\x205.95118\x208.15829\x205.95118\x208.35355\x206.14645L11.3536\x209.14645C11.5488\x209.34171\x2011.5488\x209.65829\x2011.3536\x209.85355C11.1583\x2010.0488\x2010.8417\x2010.0488\x2010.6464\x209.85355L8\x207.20711L5.35355\x209.85355C5.15829\x2010.0488\x204.84171\x2010.0488\x204.64645\x209.85355Z','_copyInfo','getUTCMilliseconds','DecimalValidatorView','CheckboxRender','_dataValidatorRegistryService','BaseSheetDataValidatorView','add','transform','UniverSheetsDataValidationMobileUIPlugin','activeRule$','BUTTON','_initSelectionChange','dataValidationDetailButtons','univer-data-validation-list-button','translate','getValidatorsByScope','forEach','FALSE','SPECIAL_PASTE_COL_WIDTH','forValue','dvListDropdownSplit','TextLengthValidatorView','current','ruleChange$','_drawDownIcon','defineProperty','onChange','univer-data-validation-options-button-icon','calcPadding','MIDDLE','getListWithColor','generalApplyFunc','check-mark-single','span','dataValidation.panel.addTitle','handleDelete','univer-dv-list-dropdown-item','__decorateClass$3','string','__decorateClass$2','_sheetClipboardService','local','formulaInput','ListRenderModeInput','map','_componentManger','getSnapshot','__decorateParam$7','jsx','indexOf','minute','_menuManagerService','sequence-single','SelectList','_initAutoFill','LIST_MULTIPLE','row','getEditCellState','#9FDAFF','handleStrItemChange','open','customRender','operator','entries','className','fillStyle','dataValidation.list.dropdown','univer-data-validation-list','1110417aHhsdQ','getDropdownItemSize','univer-data-validation-formula-color-select','#E5E5E5','set','CheckMarkSingle','translateWithPrecision','_initCellAlertPopup','DataValidationDetail','mask0_622_8','findIndex','univer-data-validation-item-title','sheet.ui.dropdown','onSelect','Template','DateShowTimeOption','M1.4917\x203.07803C1.4917\x202.19437\x202.20804\x201.47803\x203.0917\x201.47803H5.6917C6.57536\x201.47803\x207.2917\x202.19437\x207.2917\x203.07803V5.67803C7.2917\x206.56168\x206.57535\x207.27803\x205.6917\x207.27803H3.0917C2.20804\x207.27803\x201.4917\x206.56168\x201.4917\x205.67803V3.07803ZM3.0917\x202.67803C2.87078\x202.67803\x202.6917\x202.85711\x202.6917\x203.07803V5.67803C2.6917\x205.89894\x202.87079\x206.07803\x203.0917\x206.07803H5.6917C5.91261\x206.07803\x206.0917\x205.89894\x206.0917\x205.67803V3.07803C6.0917\x202.85711\x205.91261\x202.67803\x205.6917\x202.67803H3.0917Z','currentAlert','getRuleIdByLocation','__decorateClass$4','_commandExecutedListener','setSelections','DATE','mergeInfo','#D9D9D9','removeShape','ranges','optionsInput','dataValidationFormulaAnd','transformDate','_hoverManagerService','YYYY-MM-DD\x2000:00:00','permission.dialog.setStyleErr','beforeCommandExecuted','_dataValidationModel','getDefaultExportFromCjs','univer-dv-list-dropdown-split','source','extend','_generateKey','propertyIsEnumerable','M3.32201\x204.84556C3.14417\x205.05148\x202.85583\x205.05148\x202.67799\x204.84556L0.134292\x201.90016C-0.152586\x201.56798\x200.0505937\x201\x200.456301\x201L5.5437\x201C5.94941\x201\x206.15259\x201.56798\x205.86571\x201.90016L3.32201\x204.84556Z','sheetId','0\x200\x2017\x2016','fontRenderExtension','pasteType','#8BBB11','dataValidationOptionsButton','_dialogService','toDate','push','origin','diffWithAddition','__decorateParam$c','icon','__decorateParam$a','asObservable','YYYY-MM-DD','NUMBER','getSheetId','Style','YYYY-MM-DD\x20HH:mm:ss','intercept','contentHeight','createElement','params','getListAsync','close','dataValidation.alert.ok','for','INVALID','redos','dataValidation.error.title','generateShortUuid','trim','visible$','yyyy-MM-dd','$utils','dataValidation.panel.operator','repeatStartCell','getRuleObjectMatrix','date','_activeDropdown$','SHEET_DATA_VALIDATION_UI_PLUGIN','function','_activeRule$','SheetsDataValidationUIController','beginPath','pattern','dvListDropdownItem','ESC','DataValidationPermissionController'];_0x3d29=function(){return _0x282818;};return _0x3d29();}let CheckboxRender=(_a10=class{constructor(_0xc75e7f,_0x3dfc89,_0x10e7f6){const _0x6c78ab=_0x4f63e1;this[_0x6c78ab(0x2d4)]=_0xc75e7f,this[_0x6c78ab(0x182)]=_0x3dfc89,this[_0x6c78ab(0x15c)]=_0x10e7f6;}[_0x4f63e1(0x272)](_0x331d19,_0x200bbc){const _0x445948=_0x4f63e1;var _0x2b9295,_0xd1c784,_0xc635e3;const {vt:_0x3e9797,ht:_0xa16c2c}=_0x200bbc||{},_0x47d5e7=_0x331d19[_0x445948(0x236)]-_0x331d19[_0x445948(0x1f5)]-MARGIN_H$2*0x2,_0x349282=_0x331d19[_0x445948(0x22e)]-_0x331d19[_0x445948(0x2a9)],_0x4dab5b=((_0x2b9295=_0x200bbc==null?void 0x0:_0x200bbc['fs'])!=null?_0x2b9295:0xa)*1.6;let _0x221210=0x0,_0x3a3b7e=0x0;switch(_0x3e9797){case VerticalAlign[_0x445948(0x1d7)]:_0x3a3b7e=0x0;break;case VerticalAlign[_0x445948(0x1b2)]:_0x3a3b7e=0x0+(_0x349282-_0x4dab5b);break;default:_0x3a3b7e=0x0+(_0x349282-_0x4dab5b)/0x2;break;}switch(_0xa16c2c){case HorizontalAlign['LEFT']:_0x221210=MARGIN_H$2;break;case HorizontalAlign['RIGHT']:_0x221210=MARGIN_H$2+(_0x47d5e7-_0x4dab5b);break;default:_0x221210=MARGIN_H$2+(_0x47d5e7-_0x4dab5b)/0x2;break;}return{'left':_0x331d19['startX']+_0x221210,'top':_0x331d19[_0x445948(0x2a9)]+_0x3a3b7e,'width':((_0xd1c784=_0x200bbc==null?void 0x0:_0x200bbc['fs'])!=null?_0xd1c784:0xa)*1.6,'height':((_0xc635e3=_0x200bbc==null?void 0x0:_0x200bbc['fs'])!=null?_0xc635e3:0xa)*1.6};}[_0x4f63e1(0x1af)](_0x2e4f0a){var _0x27b2dc;const {style:_0x175520}=_0x2e4f0a;return((_0x27b2dc=_0x175520==null?void 0x0:_0x175520['fs'])!=null?_0x27b2dc:0xa)*1.6;}async[_0x4f63e1(0x2f2)](_0x514249,_0x4f7a45,_0x41fb7a){const _0x508519=_0x4f63e1;var _0x5a47fc,_0x387072;const {formula1:formula1=CHECKBOX_FORMULA_1,formula2:formula2=CHECKBOX_FORMULA_2}=_0x514249,_0xe827ec=await this[_0x508519(0x182)]['getRuleFormulaResult'](_0x4f7a45,_0x41fb7a,_0x514249['uid']);return{'formula1':isFormulaString(formula1)?getFormulaResult((_0x5a47fc=_0xe827ec==null?void 0x0:_0xe827ec[0x0])==null?void 0x0:_0x5a47fc[_0x508519(0x1e6)]):formula1,'formula2':isFormulaString(formula2)?getFormulaResult((_0x387072=_0xe827ec==null?void 0x0:_0xe827ec[0x1])==null?void 0x0:_0x387072[_0x508519(0x1e6)]):formula2};}[_0x4f63e1(0x267)](_0x2cdc62,_0x194cae){const _0x2b80c1=_0x4f63e1;var _0x331509,_0x58b04b,_0x42cbf6,_0x17a412,_0x5eec36,_0x384962;const {style:_0x5b8c1f,data:_0x203c20,primaryWithCoord:_0x351b40,unitId:_0x5238d0,subUnitId:_0x21d4ef,worksheet:_0xffbfc1,row:_0x2de0a5,col:_0x12c0a1}=_0x194cae,_0x28aafd=_0x351b40[_0x2b80c1(0x30c)]?_0x351b40[_0x2b80c1(0x114)]:_0x351b40,_0x2ee055=getCellValueOrigin(_0xffbfc1[_0x2b80c1(0x167)](_0x2de0a5,_0x12c0a1)),_0x36a02f=(_0x331509=_0x203c20[_0x2b80c1(0x2bf)])==null?void 0x0:_0x331509['rule'],_0x52a197=(_0x58b04b=_0x203c20[_0x2b80c1(0x2bf)])==null?void 0x0:_0x58b04b[_0x2b80c1(0x16c)];if(!_0x36a02f||!_0x52a197)return;const _0xb40e5d=this[_0x2b80c1(0x15c)]['getCurrentTheme']();if(!((_0x42cbf6=_0x52a197['skipDefaultFontRender'])!=null&&_0x42cbf6['call'](_0x52a197,_0x36a02f,_0x2ee055,{'unitId':_0x5238d0,'subUnitId':_0x21d4ef})))return;const _0x5d1d4b=_0x52a197['parseFormulaSync'](_0x36a02f,_0x5238d0,_0x21d4ef),{formula1:_0xd7e97e}=_0x5d1d4b,_0x430bec=this[_0x2b80c1(0x272)](_0x28aafd,_0x5b8c1f),{a:_0x1114f9,d:_0x371069}=_0x2cdc62[_0x2b80c1(0x26b)](),_0x421efb=fixLineWidthByScale(_0x430bec[_0x2b80c1(0x210)],_0x1114f9),_0x19c29a=fixLineWidthByScale(_0x430bec[_0x2b80c1(0x185)],_0x371069),_0x6534d6=Transform['create']()[_0x2b80c1(0x27b)]({'left':_0x421efb,'top':_0x19c29a,'scaleX':0x1,'scaleY':0x1,'angle':0x0,'skewX':0x0,'skewY':0x0,'flipX':!0x1,'flipY':!0x1}),_0x557ce6=_0x28aafd[_0x2b80c1(0x236)]-_0x28aafd[_0x2b80c1(0x1f5)],_0x4fc65b=_0x28aafd[_0x2b80c1(0x22e)]-_0x28aafd[_0x2b80c1(0x2a9)];_0x2cdc62[_0x2b80c1(0x27d)](),_0x2cdc62['beginPath'](),_0x2cdc62[_0x2b80c1(0x2a3)](_0x28aafd['startX'],_0x28aafd['startY'],_0x557ce6,_0x4fc65b),_0x2cdc62[_0x2b80c1(0x1f6)]();const _0x5b84ea=_0x6534d6[_0x2b80c1(0x1cf)]();_0x2cdc62['transform'](_0x5b84ea[0x0],_0x5b84ea[0x1],_0x5b84ea[0x2],_0x5b84ea[0x3],_0x5b84ea[0x4],_0x5b84ea[0x5]);const _0xca16ea=((_0x17a412=_0x5b8c1f==null?void 0x0:_0x5b8c1f['fs'])!=null?_0x17a412:0xa)*1.6,_0xec91dc=String(_0x2ee055)===String(_0xd7e97e),_0x24adcf=_0xb40e5d['hyacinth500'];_0x1581b0['drawWith'](_0x2cdc62,{'checked':_0xec91dc,'width':_0xca16ea,'height':_0xca16ea,'fill':(_0x384962=(_0x5eec36=_0x5b8c1f==null?void 0x0:_0x5b8c1f['cl'])==null?void 0x0:_0x5eec36[_0x2b80c1(0x254)])!=null?_0x384962:_0x24adcf}),_0x2cdc62[_0x2b80c1(0x1cb)]();}[_0x4f63e1(0x248)](_0x17b9cb,_0x173609){const _0x12824b=_0x4f63e1,_0x52ec41=_0x173609[_0x12824b(0x174)]['isMergedMainCell']?_0x173609[_0x12824b(0x174)][_0x12824b(0x114)]:_0x173609['primaryWithCoord'],_0x287f22=this[_0x12824b(0x272)](_0x52ec41,_0x173609[_0x12824b(0x2e7)]),_0x457998=_0x287f22[_0x12824b(0x185)],_0x402c34=_0x287f22[_0x12824b(0x185)]+_0x287f22['height'],_0x55f53a=_0x287f22[_0x12824b(0x210)],_0x59e47b=_0x287f22['left']+_0x287f22[_0x12824b(0x23c)],{x:_0x1aef17,y:_0x3e3382}=_0x17b9cb;return _0x1aef17<=_0x59e47b&&_0x1aef17>=_0x55f53a&&_0x3e3382<=_0x402c34&&_0x3e3382>=_0x457998;}async[_0x4f63e1(0x2a4)](_0x4bcff1,_0x15aef8){const _0x149a3b=_0x4f63e1;var _0x50b0d4,_0xcecee8,_0x1d20c9;if(_0x15aef8['button']===0x2)return;const {primaryWithCoord:_0x222363,unitId:_0x58bd01,subUnitId:_0x392da1,data:_0x416325,worksheet:_0x2251f7,row:_0xdc2378,col:_0x19c4bb}=_0x4bcff1,_0x16fbc7=getCellValueOrigin(_0x2251f7[_0x149a3b(0x167)](_0xdc2378,_0x19c4bb)),_0x41ebc9=(_0x50b0d4=_0x416325[_0x149a3b(0x2bf)])==null?void 0x0:_0x50b0d4[_0x149a3b(0x201)],_0x97dbd=(_0xcecee8=_0x416325[_0x149a3b(0x2bf)])==null?void 0x0:_0xcecee8[_0x149a3b(0x16c)];if(!_0x41ebc9||!_0x97dbd||!((_0x1d20c9=_0x97dbd[_0x149a3b(0x2be)])!=null&&_0x1d20c9[_0x149a3b(0x2cb)](_0x97dbd,_0x41ebc9,_0x16fbc7,{'unitId':_0x58bd01,'subUnitId':_0x392da1})))return;const {formula1:_0x1e43d4,formula2:_0x2c0450}=await this[_0x149a3b(0x2f2)](_0x41ebc9,_0x58bd01,_0x392da1),_0x186b1a={'range':{'startColumn':_0x222363[_0x149a3b(0x268)],'endColumn':_0x222363['actualColumn'],'startRow':_0x222363[_0x149a3b(0x292)],'endRow':_0x222363[_0x149a3b(0x292)]},'value':{'v':String(_0x16fbc7)===transformCheckboxValue(String(_0x1e43d4))?_0x2c0450:_0x1e43d4,'p':null}};this[_0x149a3b(0x2d4)]['executeCommand'](SetRangeValuesCommand['id'],_0x186b1a);}},__name(_a10,_0x4f63e1(0xbc)),_a10);CheckboxRender=__decorateClass$6([__decorateParam$6(0x0,ICommandService),__decorateParam$6(0x1,Inject(DataValidationFormulaService)),__decorateParam$6(0x2,Inject(ThemeService))],CheckboxRender);var __defProp$5=Object['defineProperty'],__getOwnPropDesc$5=Object[_0x4f63e1(0x21b)],__decorateClass$5=__name((_0x49675a,_0x1bd3fa,_0x21a3d9,_0x27f38f)=>{const _0x5e1290=_0x4f63e1;for(var _0x5a1e1b=_0x27f38f>0x1?void 0x0:_0x27f38f?__getOwnPropDesc$5(_0x1bd3fa,_0x21a3d9):_0x1bd3fa,_0xfec5d=_0x49675a[_0x5e1290(0x18a)]-0x1,_0x59da04;_0xfec5d>=0x0;_0xfec5d--)(_0x59da04=_0x49675a[_0xfec5d])&&(_0x5a1e1b=(_0x27f38f?_0x59da04(_0x1bd3fa,_0x21a3d9,_0x5a1e1b):_0x59da04(_0x5a1e1b))||_0x5a1e1b);return _0x27f38f&&_0x5a1e1b&&__defProp$5(_0x1bd3fa,_0x21a3d9,_0x5a1e1b),_0x5a1e1b;},_0x4f63e1(0x1f9)),__decorateParam$5=__name((_0x3f71df,_0x7670a7)=>(_0x5b1c65,_0xf7c12e)=>_0x7670a7(_0x5b1c65,_0xf7c12e,_0x3f71df),_0x4f63e1(0x29b)),_a11;let BaseSheetDataValidatorView=(_a11=class{constructor(_0x4ecbb2){const _0x5412bf=_0x4f63e1;__publicField(this,_0x5412bf(0xa6),null),__publicField(this,_0x5412bf(0x27c)),__publicField(this,_0x5412bf(0x118)),__publicField(this,_0x5412bf(0xe3),LIST_FORMULA_INPUT_NAME),this[_0x5412bf(0x176)]=_0x4ecbb2;}},__name(_a11,_0x4f63e1(0xbe)),_a11);BaseSheetDataValidatorView=__decorateClass$5([__decorateParam$5(0x0,Inject(Injector))],BaseSheetDataValidatorView);const _CheckboxValidatorView=class _CheckboxValidatorView extends BaseSheetDataValidatorView{constructor(){const _0x20f21a=_0x4f63e1;super(...arguments),__publicField(this,'id',DataValidationType[_0x20f21a(0x2b7)]),__publicField(this,_0x20f21a(0xa6),this[_0x20f21a(0x176)]['createInstance'](CheckboxRender)),__publicField(this,_0x20f21a(0xe3),CHECKBOX_FORMULA_INPUT_NAME);}};__name(_CheckboxValidatorView,_0x4f63e1(0x311));let CheckboxValidatorView=_CheckboxValidatorView;const _CustomFormulaValidatorView=class _CustomFormulaValidatorView extends BaseSheetDataValidatorView{constructor(){super(...arguments),__publicField(this,'id',DataValidationType['CUSTOM']),__publicField(this,'formulaInput',CUSTOM_FORMULA_INPUT_NAME);}};__name(_CustomFormulaValidatorView,_0x4f63e1(0x22b));let CustomFormulaValidatorView=_CustomFormulaValidatorView;const BASE_FORMULA_INPUT_NAME=_0x4f63e1(0x273),_DateValidatorView=class _DateValidatorView extends BaseSheetDataValidatorView{constructor(){const _0x556b26=_0x4f63e1;super(...arguments),__publicField(this,'id',DataValidationType[_0x556b26(0x113)]),__publicField(this,_0x556b26(0xe3),BASE_FORMULA_INPUT_NAME),__publicField(this,_0x556b26(0x118),DateShowTimeOption[_0x556b26(0x291)]),__publicField(this,'dropdown',DATE_DROPDOWN_KEY);}};__name(_DateValidatorView,'DateValidatorView');let DateValidatorView=_DateValidatorView;const _DecimalValidatorView=class _DecimalValidatorView extends BaseSheetDataValidatorView{constructor(){const _0x19841e=_0x4f63e1;super(...arguments),__publicField(this,'id',DataValidationType['DECIMAL']),__publicField(this,_0x19841e(0xe3),BASE_FORMULA_INPUT_NAME$1);}};__name(_DecimalValidatorView,_0x4f63e1(0xbb));let DecimalValidatorView=_DecimalValidatorView;const PADDING_H$1=0x4,PADDING_V=0x0,MARGIN_H$1=0x4,MARGIN_V$1=0x4,CELL_PADDING_H=0x6,CELL_PADDING_V=0x6,ICON_PLACE$1=0xe;function getDropdownItemSize(_0x172d7f,_0x1a5b6e){const _0x3dd6c4=_0x4f63e1,_0x2b9a4d=FontCache['getTextSize'](_0x172d7f,_0x1a5b6e),_0x24e36a=_0x2b9a4d[_0x3dd6c4(0x23c)]+PADDING_H$1*0x2,{ba:_0x2bee05,bd:_0x542d0d}=_0x2b9a4d,_0x4bc1c9=_0x2bee05+_0x542d0d;return{'width':_0x24e36a,'height':_0x4bc1c9+PADDING_V*0x2,'ba':_0x2bee05};}__name(getDropdownItemSize,_0x4f63e1(0xfe));function layoutDropdowns(_0x59189b,_0x3c2eda,_0x230e98,_0x4199f9){const _0x59107f=_0x4f63e1,_0x25d1b8=_0x230e98-ICON_PLACE$1-CELL_PADDING_H,_0x4ec742=_0x4199f9-CELL_PADDING_V*0x2,_0x371788=_0x59189b['map'](_0x1ded89=>({'layout':getDropdownItemSize(_0x1ded89,_0x3c2eda),'text':_0x1ded89}));let _0x16c620;const _0xd583f4=[];_0x371788[_0x59107f(0xc9)](_0x124672=>{const _0x226da3=_0x59107f,{layout:_0x2fb6e6}=_0x124672,{width:_0x3a5e33,height:_0xab401}=_0x2fb6e6;!_0x16c620||_0x16c620['width']+_0x3a5e33+MARGIN_H$1>_0x25d1b8?(_0x16c620={'width':_0x3a5e33,'height':_0xab401,'items':[{..._0x124672,'left':0x0}]},_0xd583f4[_0x226da3(0x12f)](_0x16c620)):(_0x16c620[_0x226da3(0x2f9)]['push']({..._0x124672,'left':_0x16c620[_0x226da3(0x23c)]+MARGIN_H$1}),_0x16c620[_0x226da3(0x23c)]=_0x16c620[_0x226da3(0x23c)]+_0x3a5e33+MARGIN_H$1);});let _0x440cbd=0x0;return _0xd583f4[_0x59107f(0xc9)]((_0x1ca568,_0x2ae65d)=>{const _0x5d1cc4=_0x59107f;_0x2ae65d===_0xd583f4['length']-0x1?_0x440cbd+=_0x1ca568[_0x5d1cc4(0x2e0)]:_0x440cbd+=_0x1ca568['height']+MARGIN_V$1;}),{'lines':_0xd583f4,'totalHeight':_0x440cbd,'contentWidth':_0x25d1b8,'contentHeight':_0x4ec742,'cellAutoHeight':_0x440cbd+CELL_PADDING_V*0x2};}__name(layoutDropdowns,'layoutDropdowns');const RADIUS=0x8,_Dropdown=class _Dropdown extends Shape{static[_0x4f63e1(0x267)](_0x79e0b7,_0x106766){const _0x5f638a=_0x4f63e1,{fontString:_0x1a1531,info:_0x4dda89,fill:_0x8484ce,color:_0x414e44}=_0x106766,{layout:_0x415244,text:_0x4ebf23}=_0x4dda89;_0x79e0b7[_0x5f638a(0x27d)](),Rect[_0x5f638a(0x267)](_0x79e0b7,{'width':_0x415244[_0x5f638a(0x23c)],'height':_0x415244['height'],'radius':RADIUS,'fill':_0x8484ce||DROP_DOWN_DEFAULT_COLOR}),_0x79e0b7[_0x5f638a(0x103)](PADDING_H$1,_0x415244['ba']),_0x79e0b7[_0x5f638a(0x295)]=_0x1a1531,_0x79e0b7['fillStyle']=_0x414e44,_0x79e0b7[_0x5f638a(0x92)](_0x4ebf23,0x0,0x0),_0x79e0b7[_0x5f638a(0x1cb)]();}};__name(_Dropdown,_0x4f63e1(0x164));let Dropdown=_Dropdown;var __defProp$4=Object['defineProperty'],__getOwnPropDesc$4=Object[_0x4f63e1(0x21b)],__decorateClass$4=__name((_0x3d3ca5,_0xcd2f27,_0x3813ea,_0x55f4c2)=>{const _0x324822=_0x4f63e1;for(var _0x527341=_0x55f4c2>0x1?void 0x0:_0x55f4c2?__getOwnPropDesc$4(_0xcd2f27,_0x3813ea):_0xcd2f27,_0x389d0b=_0x3d3ca5[_0x324822(0x18a)]-0x1,_0x5e9085;_0x389d0b>=0x0;_0x389d0b--)(_0x5e9085=_0x3d3ca5[_0x389d0b])&&(_0x527341=(_0x55f4c2?_0x5e9085(_0xcd2f27,_0x3813ea,_0x527341):_0x5e9085(_0x527341))||_0x527341);return _0x55f4c2&&_0x527341&&__defProp$4(_0xcd2f27,_0x3813ea,_0x527341),_0x527341;},_0x4f63e1(0x110)),__decorateParam$4=__name((_0xa98f03,_0x1098d3)=>(_0x565846,_0x5cd601)=>_0x1098d3(_0x565846,_0x5cd601,_0xa98f03),'__decorateParam$4');const downPath$1=new Path2D(_0x4f63e1(0x126));var _a12;let DropdownMultipleWidget=(_a12=class{constructor(_0x3fd878){const _0x57cbb7=_0x4f63e1;__publicField(this,_0x57cbb7(0x1f3)),__publicField(this,_0x57cbb7(0x82),new Map()),this[_0x57cbb7(0x2d4)]=_0x3fd878;}['_ensureMap'](_0x37c7c4){const _0x3ecdfc=_0x4f63e1;let _0x447d7a=this[_0x3ecdfc(0x82)][_0x3ecdfc(0x29c)](_0x37c7c4);return _0x447d7a||(_0x447d7a=new Map(),this[_0x3ecdfc(0x82)][_0x3ecdfc(0x101)](_0x37c7c4,_0x447d7a)),_0x447d7a;}[_0x4f63e1(0x124)](_0x43d1db,_0x26ccd0){return _0x43d1db+'.'+_0x26ccd0;}['_drawDownIcon'](_0x2d1b12,_0xf3f7a3,_0x2e1594,_0x4918ed,_0x16b52f){const _0x5a4fda=_0x4f63e1,_0x2b58bb=_0x2e1594-ICON_PLACE$1+0x4;let _0xae569=0x4;switch(_0x16b52f){case VerticalAlign[_0x5a4fda(0xd6)]:_0xae569=(_0x4918ed-ICON_PLACE$1)/0x2+0x4;break;case VerticalAlign[_0x5a4fda(0x1b2)]:_0xae569=_0x4918ed-ICON_PLACE$1+0x4;break;}_0x2d1b12['save'](),_0x2d1b12[_0x5a4fda(0x103)](_0xf3f7a3[_0x5a4fda(0x1f5)]+_0x2b58bb,_0xf3f7a3[_0x5a4fda(0x2a9)]+_0xae569),_0x2d1b12[_0x5a4fda(0xfa)]=_0x5a4fda(0x2ed),_0x2d1b12['fill'](downPath$1),_0x2d1b12['restore']();}[_0x4f63e1(0x267)](_0x55e2af,_0x132d9d,_0x3337cf,_0xfc822){const _0x18556f=_0x4f63e1;var _0x5549d2,_0x5a8542;const {primaryWithCoord:_0x41565b,row:_0x33e776,col:_0x59cb1c,style:_0x346951,data:_0x40f729,subUnitId:_0xa9b04a}=_0x132d9d,_0x5ca035=_0x41565b['isMergedMainCell']?_0x41565b['mergeInfo']:_0x41565b,_0xd4ea1f=_0x40f729['fontRenderExtension'],{leftOffset:leftOffset=0x0,rightOffset:rightOffset=0x0,topOffset:topOffset=0x0,downOffset:downOffset=0x0}=_0xd4ea1f||{},_0x292912=_0x40f729['dataValidation'],_0x4cd10e=this['_ensureMap'](_0xa9b04a),_0x41d78e=this[_0x18556f(0x124)](_0x33e776,_0x59cb1c);if(!_0x292912)return;const _0x51681b={'startX':_0x5ca035[_0x18556f(0x1f5)]+leftOffset,'endX':_0x5ca035['endX']-rightOffset,'startY':_0x5ca035['startY']+topOffset,'endY':_0x5ca035[_0x18556f(0x22e)]-downOffset},_0x428f74=_0x51681b[_0x18556f(0x236)]-_0x51681b[_0x18556f(0x1f5)],_0x4e6eba=_0x51681b[_0x18556f(0x22e)]-_0x51681b[_0x18556f(0x2a9)],{cl:_0x28a1e1}=_0x346951||{},_0x30284a=(_0x5549d2=typeof _0x28a1e1==_0x18556f(0x93)?_0x28a1e1==null?void 0x0:_0x28a1e1[_0x18556f(0x254)]:_0x28a1e1)!=null?_0x5549d2:'#000',_0x4e32f5=getFontStyleString(_0x346951!=null?_0x346951:void 0x0),{rule:_0x124d1a,validator:_0x54c844}=_0x292912,_0x2aad3b=_0x54c844,{vt:_0x159414,ht:_0xfe80d3}=_0x346951||{},_0x4833dd=_0x159414!=null?_0x159414:VerticalAlign[_0x18556f(0xd6)],_0xd8efd3=(_0x5a8542=getCellValueOrigin(_0x40f729))!=null?_0x5a8542:'',_0x24e1c2=_0x2aad3b[_0x18556f(0x7b)](_0xd8efd3),_0x17f391=_0x2aad3b[_0x18556f(0x19e)](_0x124d1a),_0x527761=layoutDropdowns(_0x24e1c2,_0x4e32f5,_0x428f74,_0x4e6eba);this['_drawDownIcon'](_0x55e2af,_0x51681b,_0x428f74,_0x4e6eba,_0x4833dd),_0x55e2af[_0x18556f(0x27d)](),_0x55e2af['translateWithPrecision'](_0x51681b[_0x18556f(0x1f5)],_0x51681b[_0x18556f(0x2a9)]),_0x55e2af['beginPath'](),_0x55e2af['rect'](0x0,0x0,_0x428f74-ICON_PLACE$1,_0x4e6eba),_0x55e2af['clip'](),_0x55e2af['translateWithPrecision'](CELL_PADDING_H,CELL_PADDING_V);let _0x3b4225=0x0;switch(_0x4833dd){case VerticalAlign['MIDDLE']:_0x3b4225=(_0x527761[_0x18556f(0x13c)]-_0x527761[_0x18556f(0x83)])/0x2;break;case VerticalAlign[_0x18556f(0x1b2)]:_0x3b4225=_0x527761[_0x18556f(0x13c)]-_0x527761[_0x18556f(0x83)];break;}_0x55e2af[_0x18556f(0x103)](0x0,_0x3b4225),_0x527761[_0x18556f(0x28b)][_0x18556f(0xc9)]((_0x45447b,_0x46a2e5)=>{const _0x3c697a=_0x18556f;_0x55e2af[_0x3c697a(0x27d)]();const {width:_0x4fd4c7,height:_0x12393d,items:_0x4fd4e1}=_0x45447b;let _0x1bcc47=0x0;switch(_0xfe80d3){case HorizontalAlign[_0x3c697a(0x199)]:_0x1bcc47=_0x527761[_0x3c697a(0x309)]-_0x4fd4c7;break;case HorizontalAlign['CENTER']:_0x1bcc47=(_0x527761[_0x3c697a(0x309)]-_0x4fd4c7)/0x2;break;}_0x55e2af[_0x3c697a(0xc7)](_0x1bcc47,_0x46a2e5*(_0x12393d+MARGIN_V$1)),_0x4fd4e1[_0x3c697a(0xc9)](_0x7cf099=>{const _0x19f21e=_0x3c697a;_0x55e2af['save'](),_0x55e2af['translateWithPrecision'](_0x7cf099[_0x19f21e(0x210)],0x0),Dropdown[_0x19f21e(0x267)](_0x55e2af,{..._0x4e32f5,'info':_0x7cf099,'color':_0x30284a,'fill':_0x17f391[_0x7cf099['text']]}),_0x55e2af[_0x19f21e(0x1cb)]();}),_0x55e2af[_0x3c697a(0x1cb)]();}),_0x55e2af['restore'](),_0x4cd10e['set'](_0x41d78e,{'left':_0x51681b[_0x18556f(0x1f5)],'top':_0x51681b[_0x18556f(0x2a9)],'width':_0x527761[_0x18556f(0x309)]+CELL_PADDING_H+ICON_PLACE$1,'height':_0x527761[_0x18556f(0x13c)]+CELL_PADDING_V*0x2});}['calcCellAutoHeight'](_0x220346){const _0x200e6c=_0x4f63e1;var _0x50474a;const {primaryWithCoord:_0x2f495c,style:_0x5576d3,data:_0x34f8e1}=_0x220346,_0xd43be7=_0x34f8e1[_0x200e6c(0x129)],{leftOffset:leftOffset=0x0,rightOffset:rightOffset=0x0,topOffset:topOffset=0x0,downOffset:downOffset=0x0}=_0xd43be7||{},_0x585902=_0x2f495c[_0x200e6c(0x30c)]?_0x2f495c['mergeInfo']:_0x2f495c,_0x33039f={'startX':_0x585902[_0x200e6c(0x1f5)]+leftOffset,'endX':_0x585902[_0x200e6c(0x236)]-rightOffset,'startY':_0x585902[_0x200e6c(0x2a9)]+topOffset,'endY':_0x585902[_0x200e6c(0x22e)]-downOffset},_0x3d5118=_0x34f8e1[_0x200e6c(0x2bf)];if(!_0x3d5118)return;const _0x17c03b=_0x33039f[_0x200e6c(0x236)]-_0x33039f[_0x200e6c(0x1f5)],_0x12d675=_0x33039f[_0x200e6c(0x22e)]-_0x33039f['startY'],_0x5d5520=(_0x50474a=getCellValueOrigin(_0x34f8e1))!=null?_0x50474a:'',{validator:_0x71313f}=_0x3d5118,_0x1af25a=_0x71313f['parseCellValue'](_0x5d5520),_0x429020=getFontStyleString(_0x5576d3!=null?_0x5576d3:void 0x0);return layoutDropdowns(_0x1af25a,_0x429020,_0x17c03b,_0x12d675)[_0x200e6c(0x78)];}['isHit'](_0x30a0e6,_0x301291){const _0x34827e=_0x4f63e1,{primaryWithCoord:_0x5a2720}=_0x301291,_0x2226c4=_0x5a2720[_0x34827e(0x30c)]?_0x5a2720[_0x34827e(0x114)]:_0x5a2720,{endX:_0x2fcffb}=_0x2226c4,{x:_0x19aaa0}=_0x30a0e6;return _0x19aaa0>=_0x2fcffb-ICON_PLACE$1&&_0x19aaa0<=_0x2fcffb;}[_0x4f63e1(0x2a4)](_0x24003b,_0x21a78d){const _0x58c454=_0x4f63e1;if(_0x21a78d[_0x58c454(0x15e)]===0x2)return;const {unitId:_0x2f68f5,subUnitId:_0x57be57,row:_0x175c24,col:_0x13992c}=_0x24003b,_0x124cdc={'unitId':_0x2f68f5,'subUnitId':_0x57be57,'row':_0x175c24,'column':_0x13992c};this[_0x58c454(0x2d4)][_0x58c454(0x293)](ShowDataValidationDropdown['id'],_0x124cdc);}},__name(_a12,_0x4f63e1(0x215)),_a12);DropdownMultipleWidget=__decorateClass$4([__decorateParam$4(0x0,ICommandService)],DropdownMultipleWidget);const _ListMultipleValidatorView=class _ListMultipleValidatorView extends BaseSheetDataValidatorView{constructor(){const _0x21e885=_0x4f63e1;super(...arguments),__publicField(this,'id',DataValidationType['LIST_MULTIPLE']),__publicField(this,_0x21e885(0xa6),this[_0x21e885(0x176)][_0x21e885(0x269)](DropdownMultipleWidget));}};__name(_ListMultipleValidatorView,_0x4f63e1(0x299));let ListMultipleValidatorView=_ListMultipleValidatorView;var __defProp$3=Object['defineProperty'],__getOwnPropDesc$3=Object[_0x4f63e1(0x21b)],__decorateClass$3=__name((_0x566759,_0x73bd3,_0x33680e,_0x26620b)=>{const _0x6b7bbc=_0x4f63e1;for(var _0x42ec5e=_0x26620b>0x1?void 0x0:_0x26620b?__getOwnPropDesc$3(_0x73bd3,_0x33680e):_0x73bd3,_0x3a5898=_0x566759[_0x6b7bbc(0x18a)]-0x1,_0x256e51;_0x3a5898>=0x0;_0x3a5898--)(_0x256e51=_0x566759[_0x3a5898])&&(_0x42ec5e=(_0x26620b?_0x256e51(_0x73bd3,_0x33680e,_0x42ec5e):_0x256e51(_0x42ec5e))||_0x42ec5e);return _0x26620b&&_0x42ec5e&&__defProp$3(_0x73bd3,_0x33680e,_0x42ec5e),_0x42ec5e;},_0x4f63e1(0xde)),__decorateParam$3=__name((_0x264ef7,_0x1c6743)=>(_0x134980,_0x5ac16d)=>_0x1c6743(_0x134980,_0x5ac16d,_0x264ef7),_0x4f63e1(0x230));const PADDING_H=0x4,ICON_SIZE=0x4,ICON_PLACE=0xe,MARGIN_H=0x6,MARGIN_V=0x4,DROP_DOWN_ICON_COLOR=_0x4f63e1(0x2ed),downPath=new Path2D(_0x4f63e1(0x126));function convertToDocumentData(_0x198ec6,_0x500405){const _0x4f12b0=_0x4f63e1,_0xae53ec=_0x198ec6[_0x4f12b0(0x18a)];return{'id':'d','body':{'dataStream':''+_0x198ec6+DEFAULT_EMPTY_DOCUMENT_VALUE,'textRuns':[{'ts':{'fs':0xb,'ff':void 0x0,'it':BooleanNumber['FALSE'],'bl':BooleanNumber['FALSE'],'ul':{'s':BooleanNumber['FALSE']},'st':{'s':BooleanNumber[_0x4f12b0(0xca)]},'ol':{'s':BooleanNumber['FALSE']},'cl':void 0x0,..._0x500405,'bg':void 0x0,'bd':void 0x0},'st':0x0,'ed':_0xae53ec}]},'documentStyle':{'pageSize':{'width':Number[_0x4f12b0(0x216)],'height':Number[_0x4f12b0(0x216)]}}};}__name(convertToDocumentData,'convertToDocumentData');function createDocSkeleton(_0x51025d,_0x58ac81,_0x3f3661){const _0x527ddc=_0x4f63e1,_0x15420c=convertToDocumentData(_0x51025d,_0x3f3661),_0x35a2a1=new DocumentDataModel(_0x15420c),_0x47213d=new DocumentViewModel(_0x35a2a1);return{'documentSkeleton':DocumentSkeleton[_0x527ddc(0x2f6)](_0x47213d,_0x58ac81),'docModel':_0x35a2a1,'docViewModel':_0x47213d};}__name(createDocSkeleton,_0x4f63e1(0x18f));function createDocuments(_0x425597,_0x37b7b0,_0x3ef610){const _0x2002ff=_0x4f63e1,{documentSkeleton:_0x238478,docModel:_0x4bc932,docViewModel:_0x13658c}=createDocSkeleton(_0x425597,_0x37b7b0,_0x3ef610);return{'documents':new Documents('DOCUMENTS_'+Tools[_0x2002ff(0x1a0)](),_0x238478,{'pageMarginLeft':0x0,'pageMarginTop':0x0}),'documentSkeleton':_0x238478,'docModel':_0x4bc932,'docViewModel':_0x13658c};}__name(createDocuments,_0x4f63e1(0x2da));function calcPadding(_0x1e10c6,_0x492dbd,_0x451f2d,_0x6e1f6b,_0x1d06f6,_0x3dc6cc,_0x586f43=!0x0){const _0x59155d=_0x4f63e1;let _0x272674=0x0;const _0x56b1=_0x586f43?MARGIN_V:0x0;switch(_0x1d06f6){case VerticalAlign[_0x59155d(0x1b2)]:_0x272674=_0x492dbd-_0x6e1f6b-_0x56b1;break;case VerticalAlign[_0x59155d(0xd6)]:_0x272674=(_0x492dbd-_0x6e1f6b)/0x2;break;default:_0x272674=_0x56b1;break;}_0x272674=Math[_0x59155d(0x1b3)](MARGIN_V,_0x272674);let _0x5d4202=0x0;switch(_0x3dc6cc){case HorizontalAlign[_0x59155d(0x232)]:_0x5d4202=(_0x1e10c6-_0x451f2d)/0x2;break;case HorizontalAlign[_0x59155d(0x199)]:_0x5d4202=_0x1e10c6-_0x451f2d;break;}return _0x5d4202=Math['max'](MARGIN_H,_0x5d4202),{'paddingLeft':_0x5d4202,'paddingTop':_0x272674};}__name(calcPadding,_0x4f63e1(0xd5));var _a13;let DropdownWidget=(_a13=class{constructor(_0x1e3ab5,_0x23d352){const _0x4a9b9a=_0x4f63e1;__publicField(this,_0x4a9b9a(0x82),new Map()),__publicField(this,_0x4a9b9a(0x1f3)),__publicField(this,_0x4a9b9a(0x81)),__publicField(this,'onPointerLeave'),(this[_0x4a9b9a(0x23f)]=_0x1e3ab5,this['_commandService']=_0x23d352);}['_ensureMap'](_0x2676d5){const _0x4ae062=_0x4f63e1;let _0x217e4a=this[_0x4ae062(0x82)][_0x4ae062(0x29c)](_0x2676d5);return _0x217e4a||(_0x217e4a=new Map(),this[_0x4ae062(0x82)]['set'](_0x2676d5,_0x217e4a)),_0x217e4a;}['_generateKey'](_0x2b967d,_0x4e311c){return _0x2b967d+'.'+_0x4e311c;}['_drawDownIcon'](_0x2b50e3,_0x3b1aa3,_0x5bb83f,_0x4d13ea,_0x134211,_0x443099,_0x5e8189){const _0x41623e=_0x4f63e1,{t:t=DEFAULT_STYLES['pd']['t'],b:b=DEFAULT_STYLES['pd']['b']}=_0x5e8189,_0x518faa=_0x5bb83f-ICON_PLACE;let _0x527068;switch(_0x443099){case VerticalAlign['MIDDLE']:_0x527068=(_0x4d13ea-ICON_SIZE)/0x2;break;case VerticalAlign[_0x41623e(0x1b2)]:_0x527068=_0x4d13ea-b-_0x134211-MARGIN_V+(_0x134211/0x2-ICON_SIZE/0x2);break;default:_0x527068=t+MARGIN_V+(_0x134211/0x2-ICON_SIZE/0x2);break;}_0x2b50e3[_0x41623e(0x27d)](),_0x2b50e3[_0x41623e(0x103)](_0x3b1aa3['startX']+_0x518faa,_0x3b1aa3[_0x41623e(0x2a9)]+_0x527068),_0x2b50e3[_0x41623e(0xfa)]='#565656',_0x2b50e3[_0x41623e(0x243)](downPath),_0x2b50e3[_0x41623e(0x1cb)]();}['drawWith'](_0x3f3974,_0x511810,_0x46bd2f){const _0x5a40e2=_0x4f63e1;var _0x588ddb,_0x4f9d91;const {primaryWithCoord:_0x58fcde,row:_0x527212,col:_0x5eb2d5,style:_0x2b52f9,data:_0x5cf737,subUnitId:_0x55805b}=_0x511810,_0x1340d1=_0x58fcde[_0x5a40e2(0x30c)]?_0x58fcde[_0x5a40e2(0x114)]:_0x58fcde,_0x590a6c=(_0x588ddb=_0x5cf737[_0x5a40e2(0x2bf)])==null?void 0x0:_0x588ddb[_0x5a40e2(0x201)],_0x52f301=(_0x4f9d91=_0x5cf737[_0x5a40e2(0x2bf)])==null?void 0x0:_0x4f9d91[_0x5a40e2(0x16c)],_0x5df1ed=_0x5cf737['fontRenderExtension'],{leftOffset:leftOffset=0x0,rightOffset:rightOffset=0x0,topOffset:topOffset=0x0,downOffset:downOffset=0x0}=_0x5df1ed||{};if(!_0x590a6c||!_0x52f301||!_0x52f301||_0x52f301['id'][_0x5a40e2(0xea)](DataValidationType[_0x5a40e2(0x1ab)])!==0x0||!_0x52f301[_0x5a40e2(0x2be)](_0x590a6c))return;const _0x213bbd={'startX':_0x1340d1['startX']+leftOffset,'endX':_0x1340d1['endX']-rightOffset,'startY':_0x1340d1[_0x5a40e2(0x2a9)]+topOffset,'endY':_0x1340d1[_0x5a40e2(0x22e)]-downOffset},_0x49e0b8=_0x213bbd[_0x5a40e2(0x236)]-_0x213bbd[_0x5a40e2(0x1f5)],_0x524a8f=_0x213bbd[_0x5a40e2(0x22e)]-_0x213bbd['startY'],_0x46e469=this['_ensureMap'](_0x55805b),_0x5a83a1=this['_generateKey'](_0x527212,_0x5eb2d5),_0x494229=_0x52f301[_0x5a40e2(0xd7)](_0x590a6c),_0x5132d1=getCellValueOrigin(_0x5cf737),_0x175a34=''+(_0x5132d1!=null?_0x5132d1:''),_0x40bb4e=_0x494229[_0x5a40e2(0x1c8)](_0x329a8e=>_0x329a8e[_0x5a40e2(0x284)]===_0x175a34);let {tb:_0x8fa22d,vt:_0x2f6512,ht:_0x514df1,pd:_0x16293d}=_0x2b52f9||{};if(_0x8fa22d=_0x8fa22d!=null?_0x8fa22d:WrapStrategy['WRAP'],_0x2f6512=_0x2f6512!=null?_0x2f6512:VerticalAlign[_0x5a40e2(0x1b2)],_0x514df1=_0x514df1!=null?_0x514df1:DEFAULT_STYLES['ht'],_0x16293d=_0x16293d!=null?_0x16293d:DEFAULT_STYLES['pd'],_0x590a6c[_0x5a40e2(0x1c7)]===DataValidationRenderMode['ARROW']){const {l:_0x2a0aed=DEFAULT_STYLES['pd']['l'],t:t=DEFAULT_STYLES['pd']['t'],r:r=DEFAULT_STYLES['pd']['r'],b:b=DEFAULT_STYLES['pd']['b']}=_0x16293d,_0x925e36=_0x49e0b8-_0x2a0aed-r-ICON_PLACE-0x4,{documentSkeleton:_0x132ac1,documents:_0x34f595,docModel:_0x2c09d9}=createDocuments(_0x175a34,this['_localeService'],_0x2b52f9);_0x8fa22d===WrapStrategy[_0x5a40e2(0x2f4)]&&_0x2c09d9[_0x5a40e2(0xa8)](Math[_0x5a40e2(0x1b3)](_0x925e36,0x1)),_0x132ac1[_0x5a40e2(0x88)](),_0x132ac1['getActualSize']();const _0x32361d=getDocsSkeletonPageSize(_0x132ac1),{height:_0x5126e1,width:_0x3d2cad}=_0x32361d,{paddingTop:_0x2e603d,paddingLeft:_0x22a674}=calcPadding(_0x925e36,_0x524a8f-t-b,_0x3d2cad,_0x5126e1,_0x2f6512,_0x514df1,!0x0);this[_0x5a40e2(0xd1)](_0x3f3974,_0x213bbd,_0x49e0b8,_0x524a8f,_0x5126e1,_0x2f6512,_0x16293d),_0x3f3974['save'](),_0x3f3974[_0x5a40e2(0x103)](_0x213bbd[_0x5a40e2(0x1f5)]+_0x2a0aed,_0x213bbd[_0x5a40e2(0x2a9)]+t),_0x3f3974[_0x5a40e2(0x154)](),_0x3f3974[_0x5a40e2(0x2a3)](0x0,0x0,_0x49e0b8-_0x2a0aed-r,_0x524a8f-t-b),_0x3f3974[_0x5a40e2(0x1f6)](),_0x3f3974[_0x5a40e2(0x103)](0x0,_0x2e603d),_0x3f3974[_0x5a40e2(0x27d)](),_0x3f3974['translateWithPrecision'](PADDING_H,0x0),_0x3f3974[_0x5a40e2(0x154)](),_0x3f3974['rect'](0x0,0x0,_0x925e36,_0x5126e1),_0x3f3974[_0x5a40e2(0x1f6)](),_0x34f595[_0x5a40e2(0x226)](_0x3f3974),_0x3f3974[_0x5a40e2(0x103)](_0x22a674,0x0),_0x3f3974[_0x5a40e2(0x1cb)](),_0x3f3974[_0x5a40e2(0x1cb)](),_0x46e469[_0x5a40e2(0x101)](_0x5a83a1,{'left':_0x213bbd[_0x5a40e2(0x236)]+_0x2a0aed+_0x46bd2f['rowHeaderWidth']-ICON_PLACE,'top':_0x213bbd[_0x5a40e2(0x2a9)]+t+_0x46bd2f[_0x5a40e2(0x21d)],'width':ICON_PLACE,'height':_0x524a8f-t-b});}else{_0x3f3974['save'](),_0x3f3974[_0x5a40e2(0x103)](_0x213bbd['startX'],_0x213bbd[_0x5a40e2(0x2a9)]),_0x3f3974['beginPath'](),_0x3f3974['rect'](0x0,0x0,_0x49e0b8,_0x524a8f),_0x3f3974[_0x5a40e2(0x1f6)]();const _0x3db71f=_0x49e0b8-MARGIN_H*0x2-PADDING_H-ICON_PLACE-0x4,{documentSkeleton:_0x5a1e06,documents:_0x2cbd1c,docModel:_0xd2072d}=createDocuments(_0x175a34,this['_localeService'],_0x2b52f9);_0x8fa22d===WrapStrategy[_0x5a40e2(0x2f4)]&&_0xd2072d[_0x5a40e2(0xa8)](Math['max'](_0x3db71f,0x1)),_0x5a1e06[_0x5a40e2(0x88)]();const _0x4e3f96=getDocsSkeletonPageSize(_0x5a1e06),{height:_0x315fa1,width:_0x1cde17}=_0x4e3f96,{paddingTop:_0x341b9,paddingLeft:_0xca2b20}=calcPadding(_0x3db71f,_0x524a8f,_0x1cde17,_0x315fa1,_0x2f6512,_0x514df1);_0x3f3974[_0x5a40e2(0x103)](MARGIN_H,_0x341b9);const _0x13ad8f=Math[_0x5a40e2(0x1b3)](_0x49e0b8-MARGIN_H*0x2,0x1),_0x5c1070=_0x315fa1;Rect[_0x5a40e2(0x267)](_0x3f3974,{'width':_0x13ad8f,'height':_0x5c1070,'fill':(_0x40bb4e==null?void 0x0:_0x40bb4e[_0x5a40e2(0x188)])||DROP_DOWN_DEFAULT_COLOR,'radius':0x8}),_0x3f3974['save'](),_0x3f3974[_0x5a40e2(0x103)](PADDING_H,0x0),_0x3f3974[_0x5a40e2(0x154)](),_0x3f3974[_0x5a40e2(0x2a3)](0x0,0x0,_0x3db71f,_0x315fa1),_0x3f3974[_0x5a40e2(0x1f6)](),_0x3f3974[_0x5a40e2(0x103)](_0xca2b20,0x0),_0x2cbd1c[_0x5a40e2(0x226)](_0x3f3974),_0x3f3974['restore'](),_0x3f3974[_0x5a40e2(0x103)](_0x3db71f+PADDING_H+0x4,(_0x315fa1-ICON_SIZE)/0x2),_0x3f3974[_0x5a40e2(0xfa)]=DROP_DOWN_ICON_COLOR,_0x3f3974[_0x5a40e2(0x243)](downPath),_0x3f3974['restore'](),_0x46e469[_0x5a40e2(0x101)](_0x5a83a1,{'left':_0x213bbd['startX']+MARGIN_H+_0x46bd2f['rowHeaderWidth'],'top':_0x213bbd[_0x5a40e2(0x2a9)]+_0x341b9+_0x46bd2f['columnHeaderHeight'],'width':_0x13ad8f,'height':_0x5c1070});}}[_0x4f63e1(0x1af)](_0x5a617f){const _0x1e6c12=_0x4f63e1;var _0x1f816d;const {primaryWithCoord:_0x1a4818,style:_0x13b818,data:_0x5fd7dd}=_0x5a617f,_0x5e10fe=_0x1a4818[_0x1e6c12(0x30c)]?_0x1a4818[_0x1e6c12(0x114)]:_0x1a4818,_0x4a9d26=_0x5fd7dd[_0x1e6c12(0x129)],{leftOffset:leftOffset=0x0,rightOffset:rightOffset=0x0,topOffset:topOffset=0x0,downOffset:downOffset=0x0}=_0x4a9d26||{},_0x47b428=(_0x1f816d=_0x5fd7dd[_0x1e6c12(0x2bf)])==null?void 0x0:_0x1f816d[_0x1e6c12(0x201)];if(!_0x47b428||_0x47b428[_0x1e6c12(0x1c7)]===DataValidationRenderMode[_0x1e6c12(0x205)])return;const _0x643234={'startX':_0x5e10fe[_0x1e6c12(0x1f5)]+leftOffset,'endX':_0x5e10fe['endX']-rightOffset,'startY':_0x5e10fe[_0x1e6c12(0x2a9)]+topOffset,'endY':_0x5e10fe['endY']-downOffset},_0xe71b92=_0x643234[_0x1e6c12(0x236)]-_0x643234[_0x1e6c12(0x1f5)],_0x49449e=getCellValueOrigin(_0x5fd7dd),_0x6de7c9=''+(_0x49449e!=null?_0x49449e:'');let {tb:_0x4869fe,pd:_0xdbb6c0}=_0x13b818||{};const {t:t=DEFAULT_STYLES['pd']['t'],b:b=DEFAULT_STYLES['pd']['b']}=_0xdbb6c0!=null?_0xdbb6c0:{};if(_0x4869fe=_0x4869fe!=null?_0x4869fe:WrapStrategy[_0x1e6c12(0x2f4)],_0x47b428[_0x1e6c12(0x1c7)]===DataValidationRenderMode['ARROW']){const _0xd37af2=_0xe71b92-ICON_PLACE,{documentSkeleton:_0x4832da,docModel:_0x4a903d}=createDocuments(_0x6de7c9,this[_0x1e6c12(0x23f)],_0x13b818);_0x4869fe===WrapStrategy[_0x1e6c12(0x2f4)]&&_0x4a903d[_0x1e6c12(0xa8)](Math[_0x1e6c12(0x1b3)](_0xd37af2,0x1)),_0x4832da['calculate'](),_0x4832da['getActualSize']();const _0x38295e=getDocsSkeletonPageSize(_0x4832da),{height:_0x24512c}=_0x38295e;return _0x24512c+t+b+MARGIN_V*0x2;}else{const _0x59f715=_0xe71b92-MARGIN_H*0x2-PADDING_H-ICON_PLACE,{documentSkeleton:_0x453a2e,docModel:_0x1e90e8}=createDocSkeleton(_0x6de7c9,this[_0x1e6c12(0x23f)],_0x13b818);_0x4869fe===WrapStrategy['WRAP']&&_0x1e90e8[_0x1e6c12(0xa8)](Math[_0x1e6c12(0x1b3)](_0x59f715,0x1)),_0x453a2e[_0x1e6c12(0x88)]();const _0x4abe1b=getDocsSkeletonPageSize(_0x453a2e),{height:_0x340bc8}=_0x4abe1b;return _0x340bc8+MARGIN_V*0x2;}}[_0x4f63e1(0x248)](_0x1b5ddf,_0x16e8ae){const _0x384e6f=_0x4f63e1,{data:_0x2c7b15,subUnitId:_0x6aba5a,row:_0x4f8102,col:_0x583a9b}=_0x16e8ae,_0x119bcc=this['_ensureMap'](_0x6aba5a)[_0x384e6f(0x29c)](this[_0x384e6f(0x124)](_0x4f8102,_0x583a9b)),_0xa63c89=_0x2c7b15[_0x384e6f(0x2bf)];if(!_0xa63c89||!_0x119bcc||_0xa63c89[_0x384e6f(0x201)][_0x384e6f(0x1c7)]===DataValidationRenderMode['TEXT'])return!0x1;const {top:_0x50bd69,left:_0x46bb78,width:_0x4f3f51,height:_0x16472f}=_0x119bcc,{x:_0x174fb4,y:_0x14c437}=_0x1b5ddf;return _0x174fb4>=_0x46bb78&&_0x174fb4<=_0x46bb78+_0x4f3f51&&_0x14c437>=_0x50bd69&&_0x14c437<=_0x50bd69+_0x16472f;}[_0x4f63e1(0x2a4)](_0x38b922,_0x5cd145){const _0x34763=_0x4f63e1;if(_0x5cd145[_0x34763(0x15e)]===0x2)return;const {unitId:_0xb770df,subUnitId:_0x7e0457,row:_0x5762a4,col:_0x4394ac}=_0x38b922,_0x3fd561={'unitId':_0xb770df,'subUnitId':_0x7e0457,'row':_0x5762a4,'column':_0x4394ac};this[_0x34763(0x2d4)][_0x34763(0x293)](ShowDataValidationDropdown['id'],_0x3fd561);}},__name(_a13,_0x4f63e1(0x24c)),_a13);DropdownWidget=__decorateClass$3([__decorateParam$3(0x0,Inject(LocaleService)),__decorateParam$3(0x1,ICommandService)],DropdownWidget);const _ListValidatorView=class _ListValidatorView extends BaseSheetDataValidatorView{constructor(){const _0x2ee67d=_0x4f63e1;super(...arguments),__publicField(this,'id',DataValidationType[_0x2ee67d(0x1ab)]),__publicField(this,'canvasRender',this['injector'][_0x2ee67d(0x269)](DropdownWidget)),__publicField(this,_0x2ee67d(0x27c),LIST_DROPDOWN_KEY),__publicField(this,_0x2ee67d(0x118),ListRenderModeInput['componentKey']),__publicField(this,_0x2ee67d(0xe3),LIST_FORMULA_INPUT_NAME);}};__name(_ListValidatorView,'ListValidatorView');let ListValidatorView=_ListValidatorView;const _TextLengthValidatorView=class _TextLengthValidatorView extends BaseSheetDataValidatorView{constructor(){const _0x501658=_0x4f63e1;super(...arguments),__publicField(this,'id',DataValidationType['TEXT_LENGTH']),__publicField(this,_0x501658(0xe3),BASE_FORMULA_INPUT_NAME$1);}};__name(_TextLengthValidatorView,_0x4f63e1(0xce));let TextLengthValidatorView=_TextLengthValidatorView;const _WholeValidatorView=class _WholeValidatorView extends BaseSheetDataValidatorView{constructor(){const _0x2f2d23=_0x4f63e1;super(...arguments),__publicField(this,'id',DataValidationType['WHOLE']),__publicField(this,_0x2f2d23(0xe3),BASE_FORMULA_INPUT_NAME$1);}};__name(_WholeValidatorView,_0x4f63e1(0x16e));let WholeValidatorView=_WholeValidatorView;var __defProp$2=Object['defineProperty'],__getOwnPropDesc$2=Object[_0x4f63e1(0x21b)],__decorateClass$2=__name((_0x3c2d04,_0x4c5e35,_0x4dc0d5,_0x1f1a42)=>{for(var _0x2aab3f=_0x1f1a42>0x1?void 0x0:_0x1f1a42?__getOwnPropDesc$2(_0x4c5e35,_0x4dc0d5):_0x4c5e35,_0x4368df=_0x3c2d04['length']-0x1,_0x291ccd;_0x4368df>=0x0;_0x4368df--)(_0x291ccd=_0x3c2d04[_0x4368df])&&(_0x2aab3f=(_0x1f1a42?_0x291ccd(_0x4c5e35,_0x4dc0d5,_0x2aab3f):_0x291ccd(_0x2aab3f))||_0x2aab3f);return _0x1f1a42&&_0x2aab3f&&__defProp$2(_0x4c5e35,_0x4dc0d5,_0x2aab3f),_0x2aab3f;},_0x4f63e1(0xe0)),__decorateParam$2=__name((_0x5e1ec7,_0x14bfc4)=>(_0x1b1861,_0x5962b7)=>_0x14bfc4(_0x1b1861,_0x5962b7,_0x5e1ec7),_0x4f63e1(0x2c7)),_a14;let SheetsDataValidationUIController=(_a14=class extends RxDisposable{constructor(_0x5d2417,_0x570540,_0x42e2a6){const _0x5e7cb1=_0x4f63e1;super(),this[_0x5e7cb1(0x25d)]=_0x5d2417,this[_0x5e7cb1(0xe6)]=_0x570540,this[_0x5e7cb1(0xbd)]=_0x42e2a6,this[_0x5e7cb1(0x263)](),this['_registerValidatorViews']();}[_0x4f63e1(0x263)](){const _0x165ae5=_0x4f63e1;[[DataValidationIcon,DataValidationSingle],[DATA_VALIDATION_PANEL,DataValidationPanel],[DROP_DOWN_KEY,CellDropdown],[LIST_DROPDOWN_KEY,ListDropDown],[DATE_DROPDOWN_KEY,DateDropdown],[ListRenderModeInput[_0x165ae5(0x291)],ListRenderModeInput],[DateShowTimeOption[_0x165ae5(0x291)],DateShowTimeOption],...FORMULA_INPUTS]['forEach'](([_0x4e26ac,_0x5919c1])=>{const _0x4b4ca7=_0x165ae5;this[_0x4b4ca7(0x2d7)](this[_0x4b4ca7(0xe6)][_0x4b4ca7(0x1b4)](_0x4e26ac,_0x5919c1));});}['_registerValidatorViews'](){const _0x3a2ffa=_0x4f63e1;[DecimalValidatorView,WholeValidatorView,TextLengthValidatorView,DateValidatorView,CheckboxValidatorView,ListValidatorView,ListMultipleValidatorView,CustomFormulaValidatorView][_0x3a2ffa(0xc9)](_0x102fa7=>{const _0x2e99bc=_0x3a2ffa,_0x566e69=this['_injector']['createInstance'](_0x102fa7),_0x59307e=this['_dataValidatorRegistryService'][_0x2e99bc(0x90)](_0x566e69['id']);_0x59307e&&(_0x59307e[_0x2e99bc(0xe3)]=_0x566e69[_0x2e99bc(0xe3)],_0x59307e[_0x2e99bc(0xa6)]=_0x566e69[_0x2e99bc(0xa6)],_0x59307e[_0x2e99bc(0x27c)]=_0x566e69[_0x2e99bc(0x27c)],_0x59307e[_0x2e99bc(0x118)]=_0x566e69[_0x2e99bc(0x118)]);});}},__name(_a14,_0x4f63e1(0x153)),_a14);SheetsDataValidationUIController=__decorateClass$2([__decorateParam$2(0x0,Inject(Injector)),__decorateParam$2(0x1,Inject(ComponentManager)),__decorateParam$2(0x2,Inject(DataValidatorRegistryService))],SheetsDataValidationUIController);var __defProp$1=Object[_0x4f63e1(0xd2)],__getOwnPropDesc$1=Object[_0x4f63e1(0x21b)],__decorateClass$1=__name((_0x4ce53,_0x45404a,_0x35198a,_0x48233e)=>{const _0x4839fa=_0x4f63e1;for(var _0x1be48d=_0x48233e>0x1?void 0x0:_0x48233e?__getOwnPropDesc$1(_0x45404a,_0x35198a):_0x45404a,_0x16dd6b=_0x4ce53[_0x4839fa(0x18a)]-0x1,_0xbaf7cd;_0x16dd6b>=0x0;_0x16dd6b--)(_0xbaf7cd=_0x4ce53[_0x16dd6b])&&(_0x1be48d=(_0x48233e?_0xbaf7cd(_0x45404a,_0x35198a,_0x1be48d):_0xbaf7cd(_0x1be48d))||_0x1be48d);return _0x48233e&&_0x1be48d&&__defProp$1(_0x45404a,_0x35198a,_0x1be48d),_0x1be48d;},'__decorateClass$1'),__decorateParam$1=__name((_0x51fdf9,_0x3c6344)=>(_0x1000c8,_0x33eef3)=>_0x3c6344(_0x1000c8,_0x33eef3,_0x51fdf9),_0x4f63e1(0x252));const PLUGIN_NAME$1=_0x4f63e1(0x150);var _a15;let UniverSheetsDataValidationUIPlugin=(_a15=class extends Plugin{constructor(_0xdd5c2b=defaultPluginConfig,_0x5e65db,_0x8bf6aa,_0x4fef82){const _0x13dd49=_0x4f63e1;super(),this[_0x13dd49(0xab)]=_0xdd5c2b,this[_0x13dd49(0x25d)]=_0x5e65db,this[_0x13dd49(0x2d4)]=_0x8bf6aa,this[_0x13dd49(0x2a1)]=_0x4fef82;const {menu:_0x3e8425,..._0x37f27a}=this['_config'];_0x3e8425&&this[_0x13dd49(0x2a1)][_0x13dd49(0x2f0)]('menu',_0x3e8425,{'merge':!0x0}),this[_0x13dd49(0x2a1)][_0x13dd49(0x2f0)](PLUGIN_CONFIG_KEY,_0x37f27a);}[_0x4f63e1(0x1e8)](){const _0x3c8af4=_0x4f63e1;[[DataValidationPanelService],[DataValidationDropdownManagerService],[DataValidationAlertController],[DataValidationAutoFillController],[SheetsDataValidationRenderController],[DataValidationPermissionController],[DataValidationCopyPasteController],[DataValidationRejectInputController],[SheetsDataValidationUIController]][_0x3c8af4(0xc9)](_0x118153=>{const _0x1eddf4=_0x3c8af4;this['_injector'][_0x1eddf4(0xbf)](_0x118153);}),[AddSheetDataValidationAndOpenCommand,ShowDataValidationDropdown,HideDataValidationDropdown,CloseValidationPanelOperation,OpenValidationPanelOperation,ToggleValidationPanelOperation][_0x3c8af4(0xc9)](_0x5c11c3=>{const _0x4210a1=_0x3c8af4;this['_commandService'][_0x4210a1(0x28f)](_0x5c11c3);});}[_0x4f63e1(0x28d)](){const _0x333795=_0x4f63e1;this[_0x333795(0x25d)][_0x333795(0x29c)](DataValidationCopyPasteController),this[_0x333795(0x25d)][_0x333795(0x29c)](DataValidationPermissionController),this[_0x333795(0x25d)][_0x333795(0x29c)](DataValidationRejectInputController),this[_0x333795(0x25d)]['get'](DataValidationAlertController);}[_0x4f63e1(0x17f)](){const _0x52dd48=_0x4f63e1;this[_0x52dd48(0x25d)][_0x52dd48(0x29c)](SheetsDataValidationUIController),this[_0x52dd48(0x25d)][_0x52dd48(0x29c)](SheetsDataValidationRenderController);}[_0x4f63e1(0x257)](){const _0x16e8d1=_0x4f63e1;this[_0x16e8d1(0x25d)]['get'](DataValidationAutoFillController);}},__name(_a15,_0x4f63e1(0x233)),__publicField(_a15,'pluginName',PLUGIN_NAME$1),__publicField(_a15,'type',UniverInstanceType['UNIVER_SHEET']),_a15);UniverSheetsDataValidationUIPlugin=__decorateClass$1([__decorateParam$1(0x1,Inject(Injector)),__decorateParam$1(0x2,ICommandService),__decorateParam$1(0x3,IConfigService)],UniverSheetsDataValidationUIPlugin);var __defProp2=Object['defineProperty'],__getOwnPropDesc=Object[_0x4f63e1(0x21b)],__decorateClass=__name((_0x4ce885,_0x7c16c6,_0x2a46dc,_0x2a6f10)=>{const _0x18498c=_0x4f63e1;for(var _0xe7a4dd=_0x2a6f10>0x1?void 0x0:_0x2a6f10?__getOwnPropDesc(_0x7c16c6,_0x2a46dc):_0x7c16c6,_0x55cec8=_0x4ce885[_0x18498c(0x18a)]-0x1,_0x398b03;_0x55cec8>=0x0;_0x55cec8--)(_0x398b03=_0x4ce885[_0x55cec8])&&(_0xe7a4dd=(_0x2a6f10?_0x398b03(_0x7c16c6,_0x2a46dc,_0xe7a4dd):_0x398b03(_0xe7a4dd))||_0xe7a4dd);return _0x2a6f10&&_0xe7a4dd&&__defProp2(_0x7c16c6,_0x2a46dc,_0xe7a4dd),_0xe7a4dd;},'__decorateClass'),__decorateParam=__name((_0x57cb9e,_0x596ba7)=>(_0xca8c85,_0x21985d)=>_0x596ba7(_0xca8c85,_0x21985d,_0x57cb9e),_0x4f63e1(0xad));const PLUGIN_NAME=_0x4f63e1(0x150);var _a16;let UniverSheetsDataValidationMobileUIPlugin=(_a16=class extends Plugin{constructor(_0x4cad1d=defaultPluginConfig,_0x1f20f9,_0x231421,_0x340698){const _0x32761c=_0x4f63e1;super(),this[_0x32761c(0xab)]=_0x4cad1d,this['_injector']=_0x1f20f9,this[_0x32761c(0x2d4)]=_0x231421,this[_0x32761c(0x2a1)]=_0x340698;const {menu:_0x13f47f,..._0x3691e7}=this[_0x32761c(0xab)];_0x13f47f&&this[_0x32761c(0x2a1)][_0x32761c(0x2f0)](_0x32761c(0x2a8),_0x13f47f,{'merge':!0x0}),this['_configService'][_0x32761c(0x2f0)](PLUGIN_CONFIG_KEY,_0x3691e7);}[_0x4f63e1(0x1e8)](){const _0x52b6e3=_0x4f63e1;[[DataValidationPanelService],[DataValidationDropdownManagerService],[DataValidationAlertController],[DataValidationAutoFillController],[SheetsDataValidationRenderController],[DataValidationPermissionController],[DataValidationCopyPasteController],[SheetsDataValidationUIController]][_0x52b6e3(0xc9)](_0x5dc9b5=>{const _0x2e4384=_0x52b6e3;this[_0x2e4384(0x25d)]['add'](_0x5dc9b5);}),[AddSheetDataValidationAndOpenCommand,ShowDataValidationDropdown,HideDataValidationDropdown,CloseValidationPanelOperation,OpenValidationPanelOperation,ToggleValidationPanelOperation][_0x52b6e3(0xc9)](_0x41e408=>{const _0x31568e=_0x52b6e3;this[_0x31568e(0x2d4)][_0x31568e(0x28f)](_0x41e408);});}[_0x4f63e1(0x28d)](){const _0x376c9c=_0x4f63e1;this[_0x376c9c(0x25d)]['get'](DataValidationCopyPasteController),this['_injector'][_0x376c9c(0x29c)](DataValidationPermissionController);}[_0x4f63e1(0x17f)](){const _0x34bf3f=_0x4f63e1;this[_0x34bf3f(0x25d)][_0x34bf3f(0x29c)](SheetsDataValidationUIController),this['_injector'][_0x34bf3f(0x29c)](SheetsDataValidationRenderController);}[_0x4f63e1(0x257)](){const _0x375d22=_0x4f63e1;this['_injector'][_0x375d22(0x29c)](DataValidationAutoFillController);}},__name(_a16,_0x4f63e1(0xc1)),__publicField(_a16,'pluginName',PLUGIN_NAME),__publicField(_a16,_0x4f63e1(0x28a),UniverInstanceType[_0x4f63e1(0x261)]),_a16);UniverSheetsDataValidationMobileUIPlugin=__decorateClass([__decorateParam(0x1,Inject(Injector)),__decorateParam(0x2,ICommandService),__decorateParam(0x3,IConfigService)],UniverSheetsDataValidationMobileUIPlugin);export{DATE_DROPDOWN_KEY,LIST_DROPDOWN_KEY,UniverSheetsDataValidationMobileUIPlugin,UniverSheetsDataValidationUIPlugin};
1
+ var __defProp = Object.defineProperty;
2
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: !0, configurable: !0, writable: !0, value }) : obj[key] = value;
3
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: !0 });
4
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key != "symbol" ? key + "" : key, value);
5
+ import React, { useState, forwardRef, useRef, createElement, useMemo, useEffect } from "react";
6
+ import { Inject, LocaleService, Disposable, DataValidationErrorStyle, useDependency, ICommandService, numfmt, CellValueType, UniverInstanceType, toDisposable, IUniverInstanceService, DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY, DisposableCollection, CommandType, BuildTextUtils, DataValidationRenderMode, DataValidationType, IConfigService, UndoCommand, RedoCommand, isUnitRangesEqual, createInternalEditorID, isValidRange, debounce, shallowEqual, Injector, DataValidationStatus, ObjectMatrix, Range, Rectangle, queryObjectMatrix, Optional, RxDisposable, InterceptorEffectEnum, sequenceExecute, isFormulaString, Tools, ThemeService, VerticalAlign, HorizontalAlign, DEFAULT_STYLES, WrapStrategy, DocumentDataModel, DEFAULT_EMPTY_DOCUMENT_VALUE, BooleanNumber, Plugin } from "@univerjs/core";
7
+ import { Button, DatePanel, RectPopup, Scrollbar, FormLayout, RadioGroup, Radio, Checkbox, Input, Select, DraggableList } from "@univerjs/design";
8
+ import { SetRangeValuesCommand, SheetsSelectionsService, getSheetCommandTarget, WorkbookEditablePermission, RangeProtectionPermissionEditPoint, WorksheetEditPermission, checkRangesEditablePermission, WorksheetSetCellStylePermission, SheetInterceptorService, INTERCEPTOR_POINT, InterceptCellContentPriority } from "@univerjs/sheets";
9
+ import { SheetDataValidationModel, getCellValueOrigin, getDataValidationCellValue, deserializeListOptions, serializeListOptions, UpdateSheetDataValidationRangeCommand, UpdateSheetDataValidationSettingCommand, RemoveSheetDataValidationCommand, UpdateSheetDataValidationOptionsCommand, createDefaultNewRule, AddSheetDataValidationCommand, RemoveSheetAllDataValidationCommand, DATA_VALIDATION_PLUGIN_NAME, getDataValidationDiffMutations, DataValidationFormulaController, DataValidationFormulaService, getFormulaResult, transformCheckboxValue, CHECKBOX_FORMULA_1, CHECKBOX_FORMULA_2 } from "@univerjs/sheets-data-validation";
10
+ import { getPatternType } from "@univerjs/sheets-numfmt";
11
+ import dayjs from "dayjs";
12
+ import { DataValidatorRegistryService, DataValidationModel, DataValidatorRegistryScope, TWO_FORMULA_OPERATOR_COUNT, getRuleOptions, getRuleSetting } from "@univerjs/data-validation";
13
+ import { IEditorBridgeService, SheetCanvasPopManagerService, SheetPermissionInterceptorBaseController, IMarkSelectionService, HoverManagerService, CellAlertManagerService, CellAlertType, IAutoFillService, APPLY_TYPE, virtualizeDiscreteRanges, getAutoFillRepeatRange, COPY_TYPE, rangeToDiscreteRange, PREDEFINED_HOOK_NAME, getRepeatRange, ISheetClipboardService, getCurrentRangeDisable$, AutoHeightController, SheetSkeletonManagerService } from "@univerjs/sheets-ui";
14
+ import { IDialogService, ISidebarService, useObservable, ComponentManager, IZenZoneService, KeyCode, useEvent, MenuItemType, getMenuHiddenObservable, RibbonStartGroup, IMenuManagerService } from "@univerjs/ui";
15
+ import { RichTextEditingMutation } from "@univerjs/docs";
16
+ import { IRenderManagerService, DeviceInputEventType, fixLineWidthByScale, Transform, Checkbox as Checkbox$1, FontCache, Shape, Rect, getFontStyleString, getDocsSkeletonPageSize, DocumentViewModel, DocumentSkeleton, Documents } from "@univerjs/engine-render";
17
+ import { filter, BehaviorSubject, distinctUntilChanged, Subject, debounceTime, bufferTime } from "rxjs";
18
+ import { RangeSelector, TextEditor } from "@univerjs/docs-ui";
19
+ import { serializeRange } from "@univerjs/engine-formula";
20
+ import cs from "clsx";
21
+ var commonjsGlobal = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
22
+ function getDefaultExportFromCjs(x) {
23
+ return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x.default : x;
24
+ }
25
+ __name(getDefaultExportFromCjs, "getDefaultExportFromCjs");
26
+ var jsxRuntime = { exports: {} }, reactJsxRuntime_production_min = {};
27
+ /**
28
+ * @license React
29
+ * react-jsx-runtime.production.min.js
30
+ *
31
+ * Copyright (c) Facebook, Inc. and its affiliates.
32
+ *
33
+ * This source code is licensed under the MIT license found in the
34
+ * LICENSE file in the root directory of this source tree.
35
+ */
36
+ var f = React, k = Symbol.for("react.element"), l = Symbol.for("react.fragment"), m = Object.prototype.hasOwnProperty, n = f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, p = { key: !0, ref: !0, __self: !0, __source: !0 };
37
+ function q(c, a, g) {
38
+ var b, d = {}, e = null, h = null;
39
+ g !== void 0 && (e = "" + g), a.key !== void 0 && (e = "" + a.key), a.ref !== void 0 && (h = a.ref);
40
+ for (b in a) m.call(a, b) && !p.hasOwnProperty(b) && (d[b] = a[b]);
41
+ if (c && c.defaultProps) for (b in a = c.defaultProps, a) d[b] === void 0 && (d[b] = a[b]);
42
+ return { $$typeof: k, type: c, key: e, ref: h, props: d, _owner: n.current };
43
+ }
44
+ __name(q, "q");
45
+ reactJsxRuntime_production_min.Fragment = l;
46
+ reactJsxRuntime_production_min.jsx = q;
47
+ reactJsxRuntime_production_min.jsxs = q;
48
+ jsxRuntime.exports = reactJsxRuntime_production_min;
49
+ var jsxRuntimeExports = jsxRuntime.exports, utc$1 = { exports: {} };
50
+ (function(module, exports) {
51
+ (function(t, i) {
52
+ module.exports = i();
53
+ })(commonjsGlobal, function() {
54
+ var t = "minute", i = /[+-]\d\d(?::?\d\d)?/g, e = /([+-]|\d\d)/g;
55
+ return function(s, f2, n2) {
56
+ var u = f2.prototype;
57
+ n2.utc = function(t2) {
58
+ var i2 = { date: t2, utc: !0, args: arguments };
59
+ return new f2(i2);
60
+ }, u.utc = function(i2) {
61
+ var e2 = n2(this.toDate(), { locale: this.$L, utc: !0 });
62
+ return i2 ? e2.add(this.utcOffset(), t) : e2;
63
+ }, u.local = function() {
64
+ return n2(this.toDate(), { locale: this.$L, utc: !1 });
65
+ };
66
+ var o = u.parse;
67
+ u.parse = function(t2) {
68
+ t2.utc && (this.$u = !0), this.$utils().u(t2.$offset) || (this.$offset = t2.$offset), o.call(this, t2);
69
+ };
70
+ var r = u.init;
71
+ u.init = function() {
72
+ if (this.$u) {
73
+ var t2 = this.$d;
74
+ this.$y = t2.getUTCFullYear(), this.$M = t2.getUTCMonth(), this.$D = t2.getUTCDate(), this.$W = t2.getUTCDay(), this.$H = t2.getUTCHours(), this.$m = t2.getUTCMinutes(), this.$s = t2.getUTCSeconds(), this.$ms = t2.getUTCMilliseconds();
75
+ } else r.call(this);
76
+ };
77
+ var a = u.utcOffset;
78
+ u.utcOffset = function(s2, f3) {
79
+ var n3 = this.$utils().u;
80
+ if (n3(s2)) return this.$u ? 0 : n3(this.$offset) ? a.call(this) : this.$offset;
81
+ if (typeof s2 == "string" && (s2 = function(t2) {
82
+ t2 === void 0 && (t2 = "");
83
+ var s3 = t2.match(i);
84
+ if (!s3) return null;
85
+ var f4 = ("" + s3[0]).match(e) || ["-", 0, 0], n4 = f4[0], u3 = 60 * +f4[1] + +f4[2];
86
+ return u3 === 0 ? 0 : n4 === "+" ? u3 : -u3;
87
+ }(s2), s2 === null)) return this;
88
+ var u2 = Math.abs(s2) <= 16 ? 60 * s2 : s2, o2 = this;
89
+ if (f3) return o2.$offset = u2, o2.$u = s2 === 0, o2;
90
+ if (s2 !== 0) {
91
+ var r2 = this.$u ? this.toDate().getTimezoneOffset() : -1 * this.utcOffset();
92
+ (o2 = this.local().add(u2 + r2, t)).$offset = u2, o2.$x.$localOffset = r2;
93
+ } else o2 = this.utc();
94
+ return o2;
95
+ };
96
+ var h = u.format;
97
+ u.format = function(t2) {
98
+ var i2 = t2 || (this.$u ? "YYYY-MM-DDTHH:mm:ss[Z]" : "");
99
+ return h.call(this, i2);
100
+ }, u.valueOf = function() {
101
+ var t2 = this.$utils().u(this.$offset) ? 0 : this.$offset + (this.$x.$localOffset || this.$d.getTimezoneOffset());
102
+ return this.$d.valueOf() - 6e4 * t2;
103
+ }, u.isUTC = function() {
104
+ return !!this.$u;
105
+ }, u.toISOString = function() {
106
+ return this.toDate().toISOString();
107
+ }, u.toString = function() {
108
+ return this.toDate().toUTCString();
109
+ };
110
+ var l2 = u.toDate;
111
+ u.toDate = function(t2) {
112
+ return t2 === "s" && this.$offset ? n2(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate() : l2.call(this);
113
+ };
114
+ var c = u.diff;
115
+ u.diff = function(t2, i2, e2) {
116
+ if (t2 && this.$u === t2.$u) return c.call(this, t2, i2, e2);
117
+ var s2 = this.local(), f3 = n2(t2).local();
118
+ return c.call(s2, f3, i2, e2);
119
+ };
120
+ };
121
+ });
122
+ })(utc$1);
123
+ var utcExports = utc$1.exports;
124
+ const utc = /* @__PURE__ */ getDefaultExportFromCjs(utcExports);
125
+ var __defProp$e = Object.defineProperty, __getOwnPropDesc$e = Object.getOwnPropertyDescriptor, __decorateClass$e = /* @__PURE__ */ __name((decorators, target, key, kind) => {
126
+ for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$e(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
127
+ (decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
128
+ return kind && result && __defProp$e(target, key, result), result;
129
+ }, "__decorateClass$e"), __decorateParam$e = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$e"), _a;
130
+ let DataValidationRejectInputController = (_a = class extends Disposable {
131
+ constructor(_editorBridgeService, _dataValidationModel, _dataValidatorRegistryService, _dialogService, _localeService) {
132
+ super(), this._editorBridgeService = _editorBridgeService, this._dataValidationModel = _dataValidationModel, this._dataValidatorRegistryService = _dataValidatorRegistryService, this._dialogService = _dialogService, this._localeService = _localeService, this._initEditorBridgeInterceptor();
133
+ }
134
+ _initEditorBridgeInterceptor() {
135
+ this._editorBridgeService.interceptor.intercept(
136
+ this._editorBridgeService.interceptor.getInterceptPoints().AFTER_CELL_EDIT_ASYNC,
137
+ {
138
+ handler: /* @__PURE__ */ __name(async (cellPromise, context, next) => {
139
+ var _a17;
140
+ const cell = await cellPromise, { worksheet, row, col, unitId, subUnitId, workbook } = context, ruleId = this._dataValidationModel.getRuleIdByLocation(unitId, subUnitId, row, col), rule = ruleId ? this._dataValidationModel.getRuleById(unitId, subUnitId, ruleId) : void 0;
141
+ if (!rule || rule.errorStyle !== DataValidationErrorStyle.STOP)
142
+ return next(Promise.resolve(cell));
143
+ const validator = await this._dataValidatorRegistryService.getValidatorItem(rule.type);
144
+ if (!validator || await validator.validator(
145
+ {
146
+ value: getCellValueOrigin(cell),
147
+ interceptValue: getCellValueOrigin((_a17 = context == null ? void 0 : context.origin) != null ? _a17 : cell),
148
+ row,
149
+ column: col,
150
+ unitId,
151
+ subUnitId,
152
+ worksheet,
153
+ workbook,
154
+ t: cell == null ? void 0 : cell.t
155
+ },
156
+ rule
157
+ ))
158
+ return next(Promise.resolve(cell));
159
+ const oldCell = worksheet.getCellRaw(row, col);
160
+ return this._dialogService.open({
161
+ width: 368,
162
+ title: {
163
+ title: this._localeService.t("dataValidation.alert.title")
164
+ },
165
+ id: "reject-input-dialog",
166
+ children: {
167
+ title: validator.getRuleFinalError(rule)
168
+ },
169
+ footer: {
170
+ title: React.createElement(
171
+ Button,
172
+ {
173
+ type: "primary",
174
+ onClick: /* @__PURE__ */ __name(() => this._dialogService.close("reject-input-dialog"), "onClick")
175
+ },
176
+ this._localeService.t("dataValidation.alert.ok")
177
+ )
178
+ },
179
+ onClose: /* @__PURE__ */ __name(() => {
180
+ this._dialogService.close("reject-input-dialog");
181
+ }, "onClose")
182
+ }), next(Promise.resolve(oldCell));
183
+ }, "handler")
184
+ }
185
+ );
186
+ }
187
+ showReject(title) {
188
+ this._dialogService.open({
189
+ width: 368,
190
+ title: {
191
+ title: this._localeService.t("dataValidation.alert.title")
192
+ },
193
+ id: "reject-input-dialog",
194
+ children: {
195
+ title
196
+ },
197
+ footer: {
198
+ title: React.createElement(
199
+ Button,
200
+ {
201
+ type: "primary",
202
+ onClick: /* @__PURE__ */ __name(() => this._dialogService.close("reject-input-dialog"), "onClick")
203
+ },
204
+ this._localeService.t("dataValidation.alert.ok")
205
+ )
206
+ },
207
+ onClose: /* @__PURE__ */ __name(() => {
208
+ this._dialogService.close("reject-input-dialog");
209
+ }, "onClose")
210
+ });
211
+ }
212
+ }, __name(_a, "DataValidationRejectInputController"), _a);
213
+ DataValidationRejectInputController = __decorateClass$e([
214
+ __decorateParam$e(0, IEditorBridgeService),
215
+ __decorateParam$e(1, Inject(SheetDataValidationModel)),
216
+ __decorateParam$e(2, Inject(DataValidatorRegistryService)),
217
+ __decorateParam$e(3, IDialogService),
218
+ __decorateParam$e(4, Inject(LocaleService))
219
+ ], DataValidationRejectInputController);
220
+ const dvDateDropdown = "univer-dv-date-dropdown", dvDateDropdownBtns = "univer-dv-date-dropdown-btns", styles$6 = {
221
+ dvDateDropdown,
222
+ dvDateDropdownBtns
223
+ };
224
+ dayjs.extend(utc);
225
+ const transformDate = /* @__PURE__ */ __name((value) => {
226
+ if (value == null || typeof value == "boolean")
227
+ return;
228
+ if (typeof value == "number" || !Number.isNaN(+value))
229
+ return dayjs(numfmt.format("yyyy-MM-dd HH:mm:ss", Number(value)));
230
+ const date = dayjs(value);
231
+ if (date.isValid())
232
+ return date;
233
+ }, "transformDate");
234
+ function DateDropdown(props) {
235
+ var _a17, _b, _c;
236
+ const { location, hideFn } = props, { worksheet, row, col, unitId, subUnitId, workbook } = location, commandService = useDependency(ICommandService), rejectInputController = useDependency(DataValidationRejectInputController), cellData = worksheet.getCell(row, col), rule = (_a17 = cellData == null ? void 0 : cellData.dataValidation) == null ? void 0 : _a17.rule, validator = (_b = cellData == null ? void 0 : cellData.dataValidation) == null ? void 0 : _b.validator, cellStr = getCellValueOrigin(worksheet.getCellRaw(row, col)), originDate = transformDate(cellStr), [localDate, setLocalDate] = useState(originDate), showTime = !!((_c = rule == null ? void 0 : rule.bizInfo) != null && _c.showTime), date = localDate && localDate.isValid() ? localDate : dayjs(), localeService = useDependency(LocaleService);
237
+ if (!cellData || !rule || !validator)
238
+ return;
239
+ const handleSave = /* @__PURE__ */ __name(async () => {
240
+ var _a18, _b2, _c2;
241
+ if (!date)
242
+ return;
243
+ const dateStr = date.format(showTime ? "YYYY-MM-DD HH:mm:ss" : "YYYY-MM-DD 00:00:00"), serialTime = (_a18 = numfmt.parseDate(dateStr)) == null ? void 0 : _a18.v, cellStyle = workbook.getStyles().getStyleByCell(cellData), format = (_c2 = (_b2 = cellStyle == null ? void 0 : cellStyle.n) == null ? void 0 : _b2.pattern) != null ? _c2 : "", patternType = getPatternType(format);
244
+ rule.errorStyle !== DataValidationErrorStyle.STOP || await validator.validator({
245
+ value: serialTime,
246
+ unitId,
247
+ subUnitId,
248
+ row,
249
+ column: col,
250
+ worksheet,
251
+ workbook,
252
+ interceptValue: dateStr.replace("Z", "").replace("T", " "),
253
+ t: CellValueType.NUMBER
254
+ }, rule) ? (commandService.executeCommand(SetRangeValuesCommand.id, {
255
+ unitId,
256
+ subUnitId,
257
+ range: {
258
+ startColumn: col,
259
+ endColumn: col,
260
+ startRow: row,
261
+ endRow: row
262
+ },
263
+ value: {
264
+ v: serialTime,
265
+ t: 2,
266
+ p: null,
267
+ f: null,
268
+ si: null,
269
+ s: {
270
+ n: {
271
+ pattern: showTime ? patternType === "datetime" ? format : "yyyy-MM-dd hh:mm:ss" : patternType === "date" ? format : "yyyy-MM-dd"
272
+ }
273
+ }
274
+ }
275
+ }), hideFn()) : rejectInputController.showReject(validator.getRuleFinalError(rule));
276
+ }, "handleSave");
277
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: styles$6.dvDateDropdown, children: [
278
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
279
+ DatePanel,
280
+ {
281
+ defaultValue: date,
282
+ pickerValue: date,
283
+ showTime: showTime || void 0,
284
+ onSelect: /* @__PURE__ */ __name(async (newValue) => {
285
+ setLocalDate(newValue);
286
+ }, "onSelect"),
287
+ onPanelChange: /* @__PURE__ */ __name((value) => {
288
+ setLocalDate(value);
289
+ }, "onPanelChange"),
290
+ disabledDate: /* @__PURE__ */ __name((current) => !numfmt.parseDate(current.format("YYYY-MM-DD")), "disabledDate")
291
+ }
292
+ ),
293
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$6.dvDateDropdownBtns, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Button, { size: "small", type: "primary", onClick: handleSave, disabled: !date.isValid(), children: localeService.t("dataValidation.alert.ok") }) })
294
+ ] });
295
+ }
296
+ __name(DateDropdown, "DateDropdown");
297
+ var __assign = function() {
298
+ return __assign = Object.assign || function(t) {
299
+ for (var s, i = 1, n2 = arguments.length; i < n2; i++) {
300
+ s = arguments[i];
301
+ for (var p2 in s) Object.prototype.hasOwnProperty.call(s, p2) && (t[p2] = s[p2]);
302
+ }
303
+ return t;
304
+ }, __assign.apply(this, arguments);
305
+ }, __rest = function(s, e) {
306
+ var t = {};
307
+ for (var p2 in s) Object.prototype.hasOwnProperty.call(s, p2) && e.indexOf(p2) < 0 && (t[p2] = s[p2]);
308
+ if (s != null && typeof Object.getOwnPropertySymbols == "function")
309
+ for (var i = 0, p2 = Object.getOwnPropertySymbols(s); i < p2.length; i++)
310
+ e.indexOf(p2[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p2[i]) && (t[p2[i]] = s[p2[i]]);
311
+ return t;
312
+ }, IconBase = forwardRef(function(props, ref) {
313
+ var icon = props.icon, id = props.id, className = props.className, extend = props.extend, restProps = __rest(props, ["icon", "id", "className", "extend"]), cls = "univerjs-icon univerjs-icon-".concat(id, " ").concat(className || "").trim(), idSuffix = useRef("_".concat(generateShortUuid()));
314
+ return render(icon, "".concat(id), { defIds: icon.defIds, idSuffix: idSuffix.current }, __assign({ ref, className: cls }, restProps), extend);
315
+ });
316
+ function render(node, id, runtimeProps, rootProps, extend) {
317
+ return createElement(node.tag, __assign(__assign({ key: id }, replaceRuntimeIdsAndExtInAttrs(node, runtimeProps, extend)), rootProps), (replaceRuntimeIdsInDefs(node, runtimeProps).children || []).map(function(child, index) {
318
+ return render(child, "".concat(id, "-").concat(node.tag, "-").concat(index), runtimeProps, void 0, extend);
319
+ }));
320
+ }
321
+ __name(render, "render");
322
+ function replaceRuntimeIdsAndExtInAttrs(node, runtimeProps, extend) {
323
+ var attrs = __assign({}, node.attrs);
324
+ extend != null && extend.colorChannel1 && attrs.fill === "colorChannel1" && (attrs.fill = extend.colorChannel1);
325
+ var defIds = runtimeProps.defIds;
326
+ return !defIds || defIds.length === 0 || (node.tag === "use" && attrs["xlink:href"] && (attrs["xlink:href"] = attrs["xlink:href"] + runtimeProps.idSuffix), Object.entries(attrs).forEach(function(_a17) {
327
+ var key = _a17[0], value = _a17[1];
328
+ typeof value == "string" && (attrs[key] = value.replace(/url\(#(.*)\)/, "url(#$1".concat(runtimeProps.idSuffix, ")")));
329
+ })), attrs;
330
+ }
331
+ __name(replaceRuntimeIdsAndExtInAttrs, "replaceRuntimeIdsAndExtInAttrs");
332
+ function replaceRuntimeIdsInDefs(node, runtimeProps) {
333
+ var _a17, defIds = runtimeProps.defIds;
334
+ return !defIds || defIds.length === 0 ? node : node.tag === "defs" && (!((_a17 = node.children) === null || _a17 === void 0) && _a17.length) ? __assign(__assign({}, node), { children: node.children.map(function(child) {
335
+ return typeof child.attrs.id == "string" && defIds && defIds.indexOf(child.attrs.id) > -1 ? __assign(__assign({}, child), { attrs: __assign(__assign({}, child.attrs), { id: child.attrs.id + runtimeProps.idSuffix }) }) : child;
336
+ }) }) : node;
337
+ }
338
+ __name(replaceRuntimeIdsInDefs, "replaceRuntimeIdsInDefs");
339
+ function generateShortUuid() {
340
+ return Math.random().toString(36).substring(2, 8);
341
+ }
342
+ __name(generateShortUuid, "generateShortUuid");
343
+ IconBase.displayName = "UniverIcon";
344
+ var element$6 = { tag: "svg", attrs: { fill: "none", viewBox: "0 0 16 16", width: "1em", height: "1em" }, children: [{ tag: "path", attrs: { fill: "currentColor", d: "M14.1544 3.75557C14.3887 3.98988 14.3887 4.36978 14.1544 4.6041L6.51409 12.2444C6.40157 12.3569 6.24896 12.4201 6.08983 12.4201C5.9307 12.4201 5.77808 12.3569 5.66556 12.2444L1.84541 8.42425C1.6111 8.18993 1.6111 7.81003 1.84541 7.57572C2.07973 7.34141 2.45963 7.34141 2.69394 7.57572L6.08983 10.9716L13.3059 3.75557C13.5402 3.52126 13.9201 3.52126 14.1544 3.75557Z", fillRule: "evenodd", clipRule: "evenodd" } }] }, CheckMarkSingle = forwardRef(function(props, ref) {
345
+ return createElement(IconBase, Object.assign({}, props, {
346
+ id: "check-mark-single",
347
+ ref,
348
+ icon: element$6
349
+ }));
350
+ });
351
+ CheckMarkSingle.displayName = "CheckMarkSingle";
352
+ var element$5 = { tag: "svg", attrs: { fill: "none", viewBox: "0 0 17 16", width: "1em", height: "1em" }, children: [{ tag: "path", attrs: { fill: "currentColor", d: "M1.4917 3.07803C1.4917 2.19437 2.20804 1.47803 3.0917 1.47803H5.6917C6.57536 1.47803 7.2917 2.19437 7.2917 3.07803V5.67803C7.2917 6.56168 6.57535 7.27803 5.6917 7.27803H3.0917C2.20804 7.27803 1.4917 6.56168 1.4917 5.67803V3.07803ZM3.0917 2.67803C2.87078 2.67803 2.6917 2.85711 2.6917 3.07803V5.67803C2.6917 5.89894 2.87079 6.07803 3.0917 6.07803H5.6917C5.91261 6.07803 6.0917 5.89894 6.0917 5.67803V3.07803C6.0917 2.85711 5.91261 2.67803 5.6917 2.67803H3.0917Z", fillRule: "evenodd", clipRule: "evenodd" } }, { tag: "path", attrs: { fill: "currentColor", d: "M14.6175 2.45279C14.8518 2.68711 14.8518 3.06701 14.6175 3.30132L11.6151 6.30365C11.3957 6.52307 11.0451 6.53897 10.8067 6.34031L8.80915 4.67566C8.55458 4.46352 8.52019 4.08518 8.73233 3.83062 8.94447 3.57605 9.32281 3.54166 9.57737 3.7538L11.154 5.06767 13.769 2.45278C14.0033 2.21847 14.3832 2.21848 14.6175 2.45279zM14.1175 9.19746C14.3518 9.43178 14.3518 9.81168 14.1175 10.046L12.5418 11.6217 14.1175 13.1975C14.3518 13.4318 14.3518 13.8117 14.1175 14.046 13.8832 14.2803 13.5033 14.2803 13.269 14.046L11.6933 12.4703 10.1175 14.046C9.88321 14.2803 9.50331 14.2803 9.269 14.046 9.03468 13.8117 9.03468 13.4318 9.269 13.1975L10.8447 11.6217 9.269 10.046C9.03468 9.81168 9.03468 9.43178 9.269 9.19746 9.50331 8.96315 9.88321 8.96315 10.1175 9.19746L11.6933 10.7732 13.269 9.19746C13.5033 8.96315 13.8832 8.96315 14.1175 9.19746z" } }, { tag: "path", attrs: { fill: "currentColor", d: "M3.0917 8.72168C2.20804 8.72168 1.4917 9.43802 1.4917 10.3217V12.9217C1.4917 13.8053 2.20804 14.5217 3.0917 14.5217H5.6917C6.57535 14.5217 7.2917 13.8053 7.2917 12.9217V10.3217C7.2917 9.43802 6.57536 8.72168 5.6917 8.72168H3.0917ZM2.6917 10.3217C2.6917 10.1008 2.87078 9.92168 3.0917 9.92168H5.6917C5.91261 9.92168 6.0917 10.1008 6.0917 10.3217V12.9217C6.0917 13.1426 5.91261 13.3217 5.6917 13.3217H3.0917C2.87079 13.3217 2.6917 13.1426 2.6917 12.9217V10.3217Z", fillRule: "evenodd", clipRule: "evenodd" } }] }, DataValidationSingle = forwardRef(function(props, ref) {
353
+ return createElement(IconBase, Object.assign({}, props, {
354
+ id: "data-validation-single",
355
+ ref,
356
+ icon: element$5
357
+ }));
358
+ });
359
+ DataValidationSingle.displayName = "DataValidationSingle";
360
+ var element$4 = { tag: "svg", attrs: { fill: "none", viewBox: "0 0 16 16", width: "1em", height: "1em" }, children: [{ tag: "path", attrs: { fill: "currentColor", d: "M5.3313 1.4667C5.3313 1.13533 5.59993.866699 5.9313.866699H10.069C10.4004.866699 10.669 1.13533 10.669 1.4667 10.669 1.79807 10.4004 2.0667 10.069 2.0667H5.9313C5.59993 2.0667 5.3313 1.79807 5.3313 1.4667zM1.09985 3.64443C1.09985 3.31306 1.36848 3.04443 1.69985 3.04443H14.2999C14.6312 3.04443 14.8999 3.31306 14.8999 3.64443 14.8999 3.9758 14.6312 4.24443 14.2999 4.24443H1.69985C1.36848 4.24443 1.09985 3.9758 1.09985 3.64443zM6.12398 8.30171C6.35829 8.0674 6.73819 8.0674 6.97251 8.30171L8.00007 9.32928 9.02764 8.30171C9.26195 8.0674 9.64185 8.0674 9.87617 8.30171 10.1105 8.53603 10.1105 8.91593 9.87617 9.15024L8.8486 10.1778 9.87617 11.2054C10.1105 11.4397 10.1105 11.8196 9.87617 12.0539 9.64185 12.2882 9.26195 12.2882 9.02764 12.0539L8.00007 11.0263 6.97251 12.0539C6.73819 12.2882 6.35829 12.2882 6.12398 12.0539 5.88966 11.8196 5.88966 11.4397 6.12398 11.2054L7.15154 10.1778 6.12398 9.15024C5.88966 8.91593 5.88966 8.53603 6.12398 8.30171z" } }, { tag: "path", attrs: { fill: "currentColor", d: "M4.75332 5.22217C3.86966 5.22217 3.15332 5.93851 3.15332 6.82217V12.5331C3.15332 13.9691 4.31738 15.1332 5.75332 15.1332H10.2465C11.6825 15.1332 12.8465 13.9691 12.8465 12.5331V6.82217C12.8465 5.93851 12.1302 5.22217 11.2465 5.22217H4.75332ZM4.35332 6.82217C4.35332 6.60125 4.53241 6.42217 4.75332 6.42217H11.2465C11.4674 6.42217 11.6465 6.60125 11.6465 6.82217V12.5331C11.6465 13.3063 11.0197 13.9332 10.2465 13.9332H5.75332C4.98012 13.9332 4.35332 13.3063 4.35332 12.5331V6.82217Z", fillRule: "evenodd", clipRule: "evenodd" } }] }, DeleteSingle = forwardRef(function(props, ref) {
361
+ return createElement(IconBase, Object.assign({}, props, {
362
+ id: "delete-single",
363
+ ref,
364
+ icon: element$4
365
+ }));
366
+ });
367
+ DeleteSingle.displayName = "DeleteSingle";
368
+ var element$3 = { tag: "svg", attrs: { fill: "none", viewBox: "0 0 16 16", width: "1em", height: "1em" }, children: [{ tag: "path", attrs: { fill: "currentColor", d: "M8.6 1.99991C8.60001 1.66854 8.33138 1.39991 8.00001 1.3999C7.66864 1.3999 7.40001 1.66853 7.4 1.9999L7.39996 7.3999H1.9999C1.66853 7.3999 1.3999 7.66853 1.3999 7.9999C1.3999 8.33127 1.66853 8.5999 1.9999 8.5999H7.39995L7.3999 13.9999C7.3999 14.3313 7.66853 14.5999 7.9999 14.5999C8.33127 14.5999 8.5999 14.3313 8.5999 13.9999L8.59995 8.5999H13.9999C14.3313 8.5999 14.5999 8.33127 14.5999 7.9999C14.5999 7.66853 14.3313 7.3999 13.9999 7.3999H8.59996L8.6 1.99991Z" } }] }, IncreaseSingle = forwardRef(function(props, ref) {
369
+ return createElement(IconBase, Object.assign({}, props, {
370
+ id: "increase-single",
371
+ ref,
372
+ icon: element$3
373
+ }));
374
+ });
375
+ IncreaseSingle.displayName = "IncreaseSingle";
376
+ var element$2 = { tag: "svg", attrs: { fill: "none", viewBox: "0 0 16 16", width: "1em", height: "1em" }, children: [{ tag: "path", attrs: { fill: "currentColor", d: "M11.3536 6.14645C11.5488 6.34171 11.5488 6.65829 11.3536 6.85355L8.35355 9.85355C8.15829 10.0488 7.84171 10.0488 7.64645 9.85355L4.64645 6.85355C4.45118 6.65829 4.45118 6.34171 4.64645 6.14645C4.84171 5.95118 5.15829 5.95118 5.35355 6.14645L8 8.79289L10.6464 6.14645C10.8417 5.95118 11.1583 5.95118 11.3536 6.14645Z", fillRule: "evenodd", clipRule: "evenodd" } }] }, MoreDownSingle = forwardRef(function(props, ref) {
377
+ return createElement(IconBase, Object.assign({}, props, {
378
+ id: "more-down-single",
379
+ ref,
380
+ icon: element$2
381
+ }));
382
+ });
383
+ MoreDownSingle.displayName = "MoreDownSingle";
384
+ var element$1 = { tag: "svg", attrs: { fill: "none", viewBox: "0 0 16 16", width: "1em", height: "1em" }, children: [{ tag: "path", attrs: { fill: "currentColor", d: "M4.64645 9.85355C4.45118 9.65829 4.45118 9.34171 4.64645 9.14645L7.64645 6.14645C7.84171 5.95118 8.15829 5.95118 8.35355 6.14645L11.3536 9.14645C11.5488 9.34171 11.5488 9.65829 11.3536 9.85355C11.1583 10.0488 10.8417 10.0488 10.6464 9.85355L8 7.20711L5.35355 9.85355C5.15829 10.0488 4.84171 10.0488 4.64645 9.85355Z", fillRule: "evenodd", clipRule: "evenodd" } }] }, MoreUpSingle = forwardRef(function(props, ref) {
385
+ return createElement(IconBase, Object.assign({}, props, {
386
+ id: "more-up-single",
387
+ ref,
388
+ icon: element$1
389
+ }));
390
+ });
391
+ MoreUpSingle.displayName = "MoreUpSingle";
392
+ var element = { tag: "svg", attrs: { fill: "none", viewBox: "0 0 16 16", width: "1em", height: "1em" }, children: [{ tag: "mask", attrs: { id: "mask0_622_8", style: { maskType: "alpha" }, width: 16, height: 16, x: 0, y: 0, maskUnits: "userSpaceOnUse" }, children: [{ tag: "path", attrs: { fill: "#D9D9D9", d: "M0 0H16V16H0z" } }] }, { tag: "g", attrs: { fill: "currentColor", mask: "url(#mask0_622_8)" }, children: [{ tag: "path", attrs: { d: "M6 5C6.55228 5 7 4.55228 7 4 7 3.44772 6.55228 3 6 3 5.44772 3 5 3.44772 5 4 5 4.55228 5.44772 5 6 5zM6 9C6.55228 9 7 8.55229 7 8 7 7.44772 6.55228 7 6 7 5.44772 7 5 7.44772 5 8 5 8.55229 5.44772 9 6 9zM7 12C7 12.5523 6.55228 13 6 13 5.44772 13 5 12.5523 5 12 5 11.4477 5.44772 11 6 11 6.55228 11 7 11.4477 7 12zM10 5C10.5523 5 11 4.55228 11 4 11 3.44772 10.5523 3 10 3 9.44771 3 9 3.44772 9 4 9 4.55228 9.44771 5 10 5zM11 8C11 8.55229 10.5523 9 10 9 9.44771 9 9 8.55229 9 8 9 7.44772 9.44771 7 10 7 10.5523 7 11 7.44772 11 8zM10 13C10.5523 13 11 12.5523 11 12 11 11.4477 10.5523 11 10 11 9.44771 11 9 11.4477 9 12 9 12.5523 9.44771 13 10 13z" } }] }] }, SequenceSingle = forwardRef(function(props, ref) {
393
+ return createElement(IconBase, Object.assign({}, props, {
394
+ id: "sequence-single",
395
+ ref,
396
+ icon: element
397
+ }));
398
+ });
399
+ SequenceSingle.displayName = "SequenceSingle";
400
+ var __defProp$d = Object.defineProperty, __getOwnPropDesc$d = Object.getOwnPropertyDescriptor, __decorateClass$d = /* @__PURE__ */ __name((decorators, target, key, kind) => {
401
+ for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$d(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
402
+ (decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
403
+ return kind && result && __defProp$d(target, key, result), result;
404
+ }, "__decorateClass$d"), __decorateParam$d = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$d"), _a2;
405
+ let DataValidationPanelService = (_a2 = class extends Disposable {
406
+ constructor(_univerInstanceService, _sidebarService) {
407
+ super();
408
+ __publicField(this, "_open$", new BehaviorSubject(!1));
409
+ __publicField(this, "open$", this._open$.pipe(distinctUntilChanged()));
410
+ __publicField(this, "_activeRule");
411
+ __publicField(this, "_activeRule$", new BehaviorSubject(void 0));
412
+ __publicField(this, "activeRule$", this._activeRule$.asObservable());
413
+ __publicField(this, "_closeDisposable", null);
414
+ this._univerInstanceService = _univerInstanceService, this._sidebarService = _sidebarService, this.disposeWithMe(
415
+ this._univerInstanceService.getCurrentTypeOfUnit$(UniverInstanceType.UNIVER_SHEET).pipe(filter((sheet) => !sheet)).subscribe(() => {
416
+ this.close();
417
+ })
418
+ );
419
+ }
420
+ get activeRule() {
421
+ return this._activeRule;
422
+ }
423
+ get isOpen() {
424
+ return this._open$.getValue();
425
+ }
426
+ dispose() {
427
+ var _a17;
428
+ super.dispose(), this._open$.next(!1), this._open$.complete(), this._activeRule$.complete(), (_a17 = this._closeDisposable) == null || _a17.dispose();
429
+ }
430
+ open() {
431
+ this._open$.next(!0);
432
+ }
433
+ close() {
434
+ var _a17;
435
+ this._open$.next(!1), (_a17 = this._closeDisposable) == null || _a17.dispose();
436
+ }
437
+ setCloseDisposable(disposable) {
438
+ this._closeDisposable = toDisposable(() => {
439
+ disposable.dispose(), this._closeDisposable = null;
440
+ });
441
+ }
442
+ setActiveRule(rule) {
443
+ this._activeRule = rule, this._activeRule$.next(rule);
444
+ }
445
+ }, __name(_a2, "DataValidationPanelService"), _a2);
446
+ DataValidationPanelService = __decorateClass$d([
447
+ __decorateParam$d(0, IUniverInstanceService),
448
+ __decorateParam$d(1, ISidebarService)
449
+ ], DataValidationPanelService);
450
+ function CellDropdown() {
451
+ const dropdownManagerService = useDependency(DataValidationDropdownManagerService), activeDropdown = useObservable(dropdownManagerService.activeDropdown$, dropdownManagerService.activeDropdown), componentManager = useDependency(ComponentManager);
452
+ if (!activeDropdown)
453
+ return null;
454
+ const { location, componentKey } = activeDropdown, Component = componentManager.get(componentKey), key = `${location.unitId}-${location.subUnitId}-${location.row}-${location.col}`;
455
+ if (!Component)
456
+ return null;
457
+ const hideFn = /* @__PURE__ */ __name(() => {
458
+ dropdownManagerService.hideDropdown();
459
+ }, "hideFn");
460
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(
461
+ Component,
462
+ {
463
+ location,
464
+ hideFn
465
+ },
466
+ key
467
+ );
468
+ }
469
+ __name(CellDropdown, "CellDropdown");
470
+ const DROP_DOWN_KEY = "sheet.ui.dropdown";
471
+ var __defProp$c = Object.defineProperty, __getOwnPropDesc$c = Object.getOwnPropertyDescriptor, __decorateClass$c = /* @__PURE__ */ __name((decorators, target, key, kind) => {
472
+ for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$c(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
473
+ (decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
474
+ return kind && result && __defProp$c(target, key, result), result;
475
+ }, "__decorateClass$c"), __decorateParam$c = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$c"), _a3;
476
+ let DataValidationDropdownManagerService = (_a3 = class extends Disposable {
477
+ constructor(_canvasPopupManagerService, _univerInstanceService, _dataValidatorRegistryService, _zenZoneService, _renderManagerService, _dataValidationModel, _sheetsSelectionsService) {
478
+ super();
479
+ __publicField(this, "_activeDropdown");
480
+ __publicField(this, "_activeDropdown$", new Subject());
481
+ __publicField(this, "_currentPopup", null);
482
+ __publicField(this, "activeDropdown$", this._activeDropdown$.asObservable());
483
+ __publicField(this, "_zenVisible", !1);
484
+ this._canvasPopupManagerService = _canvasPopupManagerService, this._univerInstanceService = _univerInstanceService, this._dataValidatorRegistryService = _dataValidatorRegistryService, this._zenZoneService = _zenZoneService, this._renderManagerService = _renderManagerService, this._dataValidationModel = _dataValidationModel, this._sheetsSelectionsService = _sheetsSelectionsService, this._init(), this._initSelectionChange(), this.disposeWithMe(() => {
485
+ this._activeDropdown$.complete();
486
+ });
487
+ }
488
+ get activeDropdown() {
489
+ return this._activeDropdown;
490
+ }
491
+ _init() {
492
+ this.disposeWithMe(this._zenZoneService.visible$.subscribe((visible) => {
493
+ this._zenVisible = visible, visible && this.hideDropdown();
494
+ }));
495
+ }
496
+ _getDropdownByCell(unitId, subUnitId, row, col) {
497
+ const workbook = unitId ? this._univerInstanceService.getUnit(unitId, UniverInstanceType.UNIVER_SHEET) : this._univerInstanceService.getCurrentUnitForType(UniverInstanceType.UNIVER_SHEET);
498
+ if (!workbook)
499
+ return;
500
+ const worksheet = subUnitId ? workbook.getSheetBySheetId(subUnitId) : workbook.getActiveSheet();
501
+ if (!worksheet)
502
+ return;
503
+ const rule = this._dataValidationModel.getRuleByLocation(workbook.getUnitId(), worksheet.getSheetId(), row, col);
504
+ if (!rule)
505
+ return;
506
+ const validator = this._dataValidatorRegistryService.getValidatorItem(rule.type);
507
+ return validator == null ? void 0 : validator.dropdown;
508
+ }
509
+ _initSelectionChange() {
510
+ this.disposeWithMe(this._sheetsSelectionsService.selectionMoveEnd$.subscribe((selections) => {
511
+ selections && selections.every((selection) => !(selection.primary && this._getDropdownByCell(selection.primary.unitId, selection.primary.sheetId, selection.primary.actualRow, selection.primary.actualColumn))) && this.hideDropdown();
512
+ }));
513
+ }
514
+ showDropdown(param, closeOnOutSide = !0) {
515
+ const { location } = param, { row, col, unitId, subUnitId } = location;
516
+ if (this._currentPopup && this._currentPopup.dispose(), this._zenVisible)
517
+ return;
518
+ this._activeDropdown = param, this._activeDropdown$.next(this._activeDropdown);
519
+ const currentRender = this._renderManagerService.getRenderById(DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY), popupDisposable = this._canvasPopupManagerService.attachPopupToCell(
520
+ row,
521
+ col,
522
+ {
523
+ componentKey: DROP_DOWN_KEY,
524
+ onClickOutside: /* @__PURE__ */ __name(() => {
525
+ closeOnOutSide && this.hideDropdown();
526
+ }, "onClickOutside"),
527
+ offset: [0, 3],
528
+ excludeOutside: [currentRender == null ? void 0 : currentRender.engine.getCanvasElement()].filter(Boolean)
529
+ },
530
+ unitId,
531
+ subUnitId
532
+ );
533
+ if (!popupDisposable)
534
+ throw new Error("[DataValidationDropdownManagerService]: cannot show dropdown!");
535
+ const disposableCollection = new DisposableCollection();
536
+ disposableCollection.add(popupDisposable), disposableCollection.add({
537
+ dispose: /* @__PURE__ */ __name(() => {
538
+ var _a17, _b;
539
+ (_b = (_a17 = this._activeDropdown) == null ? void 0 : _a17.onHide) == null || _b.call(_a17);
540
+ }, "dispose")
541
+ }), this._currentPopup = disposableCollection;
542
+ }
543
+ hideDropdown() {
544
+ this._activeDropdown && (this._currentPopup && this._currentPopup.dispose(), this._currentPopup = null, this._activeDropdown = null, this._activeDropdown$.next(null));
545
+ }
546
+ showDataValidationDropdown(unitId, subUnitId, row, col, onHide) {
547
+ const workbook = this._univerInstanceService.getUnit(unitId, UniverInstanceType.UNIVER_SHEET);
548
+ if (!workbook)
549
+ return;
550
+ const worksheet = workbook.getSheetBySheetId(subUnitId);
551
+ if (!worksheet)
552
+ return;
553
+ const rule = this._dataValidationModel.getRuleByLocation(workbook.getUnitId(), worksheet.getSheetId(), row, col);
554
+ if (!rule)
555
+ return;
556
+ const validator = this._dataValidatorRegistryService.getValidatorItem(rule.type);
557
+ if (!validator || !validator.dropdown) {
558
+ this.hideDropdown();
559
+ return;
560
+ }
561
+ this.showDropdown({
562
+ location: {
563
+ workbook,
564
+ worksheet,
565
+ row,
566
+ col,
567
+ unitId,
568
+ subUnitId
569
+ },
570
+ componentKey: validator.dropdown,
571
+ onHide
572
+ });
573
+ }
574
+ }, __name(_a3, "DataValidationDropdownManagerService"), _a3);
575
+ DataValidationDropdownManagerService = __decorateClass$c([
576
+ __decorateParam$c(0, Inject(SheetCanvasPopManagerService)),
577
+ __decorateParam$c(1, IUniverInstanceService),
578
+ __decorateParam$c(2, Inject(DataValidatorRegistryService)),
579
+ __decorateParam$c(3, IZenZoneService),
580
+ __decorateParam$c(4, IRenderManagerService),
581
+ __decorateParam$c(5, Inject(SheetDataValidationModel)),
582
+ __decorateParam$c(6, Inject(SheetsSelectionsService))
583
+ ], DataValidationDropdownManagerService);
584
+ const DATA_VALIDATION_PANEL = "DataValidationPanel", OpenValidationPanelOperation = {
585
+ id: "data-validation.operation.open-validation-panel",
586
+ type: CommandType.OPERATION,
587
+ handler(accessor, params) {
588
+ if (!params)
589
+ return !1;
590
+ const { ruleId, isAdd } = params, dataValidationPanelService = accessor.get(DataValidationPanelService), dataValidationModel = accessor.get(DataValidationModel), univerInstanceService = accessor.get(IUniverInstanceService), sidebarService = accessor.get(ISidebarService), target = getSheetCommandTarget(univerInstanceService);
591
+ if (!target) return !1;
592
+ const { unitId, subUnitId } = target, rule = ruleId ? dataValidationModel.getRuleById(unitId, subUnitId, ruleId) : void 0;
593
+ dataValidationPanelService.open(), dataValidationPanelService.setActiveRule(rule && {
594
+ unitId,
595
+ subUnitId,
596
+ rule
597
+ });
598
+ const disposable = sidebarService.open({
599
+ header: { title: isAdd ? "dataValidation.panel.addTitle" : "dataValidation.panel.title" },
600
+ children: { label: DATA_VALIDATION_PANEL },
601
+ width: 312,
602
+ onClose: /* @__PURE__ */ __name(() => dataValidationPanelService.close(), "onClose")
603
+ });
604
+ return dataValidationPanelService.setCloseDisposable(disposable), !0;
605
+ }
606
+ }, CloseValidationPanelOperation = {
607
+ id: "data-validation.operation.close-validation-panel",
608
+ type: CommandType.OPERATION,
609
+ handler(accessor) {
610
+ return accessor.get(DataValidationPanelService).close(), !0;
611
+ }
612
+ }, ToggleValidationPanelOperation = {
613
+ id: "data-validation.operation.toggle-validation-panel",
614
+ type: CommandType.OPERATION,
615
+ handler(accessor) {
616
+ const commandService = accessor.get(ICommandService), dataValidationPanelService = accessor.get(DataValidationPanelService);
617
+ return dataValidationPanelService.open(), dataValidationPanelService.isOpen ? commandService.executeCommand(CloseValidationPanelOperation.id) : commandService.executeCommand(OpenValidationPanelOperation.id), !0;
618
+ }
619
+ }, ShowDataValidationDropdown = {
620
+ type: CommandType.OPERATION,
621
+ id: "sheet.operation.show-data-validation-dropdown",
622
+ handler(accessor, params) {
623
+ if (!params)
624
+ return !1;
625
+ const dataValidationDropdownManagerService = accessor.get(DataValidationDropdownManagerService), { unitId, subUnitId, row, column } = params, activeDropdown = dataValidationDropdownManagerService.activeDropdown, currLoc = activeDropdown == null ? void 0 : activeDropdown.location;
626
+ return currLoc && currLoc.unitId === unitId && currLoc.subUnitId === subUnitId && currLoc.row === row && currLoc.col === column || dataValidationDropdownManagerService.showDataValidationDropdown(
627
+ unitId,
628
+ subUnitId,
629
+ row,
630
+ column
631
+ ), !0;
632
+ }
633
+ }, HideDataValidationDropdown = {
634
+ type: CommandType.OPERATION,
635
+ id: "sheet.operation.hide-data-validation-dropdown",
636
+ handler(accessor, params) {
637
+ return params ? (accessor.get(DataValidationDropdownManagerService).hideDropdown(), !0) : !1;
638
+ }
639
+ }, DROP_DOWN_DEFAULT_COLOR = "#ECECEC", PLUGIN_CONFIG_KEY = "sheets-data-validation-ui.config", defaultPluginConfig = {}, dvListDropdown = "univer-dv-list-dropdown", dvListDropdownTitle = "univer-dv-list-dropdown-title", dvListDropdownList = "univer-dv-list-dropdown-list", dvListDropdownListContainer = "univer-dv-list-dropdown-list-container", dvListDropdownSelectedIcon = "univer-dv-list-dropdown-selected-icon", dvListDropdownItemContainer = "univer-dv-list-dropdown-item-container", dvListDropdownItem = "univer-dv-list-dropdown-item", dvListDropdownSplit = "univer-dv-list-dropdown-split", dvListDropdownEdit = "univer-dv-list-dropdown-edit", styles$5 = {
640
+ dvListDropdown,
641
+ dvListDropdownTitle,
642
+ dvListDropdownList,
643
+ dvListDropdownListContainer,
644
+ dvListDropdownSelectedIcon,
645
+ dvListDropdownItemContainer,
646
+ dvListDropdownItem,
647
+ dvListDropdownSplit,
648
+ dvListDropdownEdit
649
+ }, SelectList = /* @__PURE__ */ __name((props) => {
650
+ var _a17, _b;
651
+ const { value, onChange, multiple, options, title, onEdit, style, filter: filter2, location } = props, localeService = useDependency(LocaleService), configService = useDependency(IConfigService), lowerFilter = filter2 == null ? void 0 : filter2.toLowerCase(), { row, col, unitId, subUnitId } = location, filteredOptions = options.filter((item) => lowerFilter ? item.label.toLowerCase().includes(lowerFilter) : !0), showEditOnDropdown = (_b = (_a17 = configService.getConfig(PLUGIN_CONFIG_KEY)) == null ? void 0 : _a17.showEditOnDropdown) != null ? _b : !0, sheetPermissionInterceptorBaseController = useDependency(SheetPermissionInterceptorBaseController), hasPermission = useMemo(() => sheetPermissionInterceptorBaseController.permissionCheckWithRanges(
652
+ {
653
+ workbookTypes: [WorkbookEditablePermission],
654
+ rangeTypes: [RangeProtectionPermissionEditPoint],
655
+ worksheetTypes: [WorksheetEditPermission]
656
+ },
657
+ [{ startColumn: col, startRow: row, endColumn: col, endRow: row }],
658
+ unitId,
659
+ subUnitId
660
+ ), [sheetPermissionInterceptorBaseController, col, row, unitId, subUnitId]);
661
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: styles$5.dvListDropdown, style, children: [
662
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$5.dvListDropdownTitle, children: title }),
663
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$5.dvListDropdownList, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Scrollbar, { children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$5.dvListDropdownListContainer, children: filteredOptions.map((item, i) => {
664
+ const selected = value.indexOf(item.value) > -1, handleClick = /* @__PURE__ */ __name(() => {
665
+ let set;
666
+ selected ? set = new Set(value.filter((sub) => sub !== item.value)) : set = new Set(multiple ? [...value, item.value] : [item.value]);
667
+ const newValue = [];
668
+ options.forEach((opt) => {
669
+ set.has(opt.value) && newValue.push(opt.value);
670
+ }), onChange(newValue);
671
+ }, "handleClick"), index = item.label.toLocaleLowerCase().indexOf(lowerFilter);
672
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: styles$5.dvListDropdownItemContainer, onClick: handleClick, children: [
673
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$5.dvListDropdownItem, style: { background: item.color || DROP_DOWN_DEFAULT_COLOR }, children: lowerFilter && item.label.toLowerCase().includes(lowerFilter) ? /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
674
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: item.label.substring(0, index) }),
675
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { style: { fontWeight: "bold" }, children: item.label.substring(index, index + lowerFilter.length) }),
676
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: item.label.substring(index + lowerFilter.length) })
677
+ ] }) : item.label }),
678
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$5.dvListDropdownSelectedIcon, children: selected ? /* @__PURE__ */ jsxRuntimeExports.jsx(CheckMarkSingle, {}) : null })
679
+ ] }, i);
680
+ }) }) }, filter2) }),
681
+ showEditOnDropdown && hasPermission ? /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
682
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$5.dvListDropdownSplit }),
683
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$5.dvListDropdownEdit, children: /* @__PURE__ */ jsxRuntimeExports.jsx("a", { onClick: onEdit, children: localeService.t("dataValidation.list.edit") }) })
684
+ ] }) : null
685
+ ] });
686
+ }, "SelectList");
687
+ function ListDropDown(props) {
688
+ var _a17, _b;
689
+ const { location, hideFn } = props, { worksheet, row, col, unitId, subUnitId } = location, dataValidationModel = useDependency(DataValidationModel), [editingText, setEditingText] = useState(""), commandService = useDependency(ICommandService), localeService = useDependency(LocaleService), [localValue, setLocalValue] = useState(""), editorBridgeService = useDependency(IEditorBridgeService), instanceService = useDependency(IUniverInstanceService), ruleChange$ = useMemo(() => dataValidationModel.ruleChange$.pipe(debounceTime(16)), []);
690
+ useObservable(ruleChange$);
691
+ const anchorRect = RectPopup.useContext(), cellWidth = anchorRect.right - anchorRect.left;
692
+ if (useEffect(() => {
693
+ const dispose = commandService.onCommandExecuted((command) => {
694
+ var _a18, _b2;
695
+ if (command.id === RichTextEditingMutation.id) {
696
+ const params = command.params, { unitId: unitId2 } = params, unit = instanceService.getUnit(unitId2, UniverInstanceType.UNIVER_DOC);
697
+ if (!unit)
698
+ return;
699
+ const text = BuildTextUtils.transform.getPlainText((_b2 = (_a18 = unit.getSnapshot().body) == null ? void 0 : _a18.dataStream) != null ? _b2 : "");
700
+ setEditingText(text);
701
+ }
702
+ });
703
+ return () => {
704
+ dispose.dispose();
705
+ };
706
+ }, [commandService, instanceService]), !worksheet)
707
+ return null;
708
+ const cellData = worksheet.getCell(row, col), rule = (_a17 = cellData == null ? void 0 : cellData.dataValidation) == null ? void 0 : _a17.rule, validator = (_b = cellData == null ? void 0 : cellData.dataValidation) == null ? void 0 : _b.validator, showColor = (rule == null ? void 0 : rule.renderMode) === DataValidationRenderMode.CUSTOM || (rule == null ? void 0 : rule.renderMode) === void 0;
709
+ if (!cellData || !rule || !validator || validator.id.indexOf(DataValidationType.LIST) !== 0)
710
+ return;
711
+ const multiple = rule.type === DataValidationType.LIST_MULTIPLE, list = validator.getListWithColor(rule, unitId, subUnitId), cellStr = localValue || getDataValidationCellValue(worksheet.getCellRaw(row, col)), value = deserializeListOptions(cellStr), handleEdit = /* @__PURE__ */ __name(() => {
712
+ commandService.executeCommand(OpenValidationPanelOperation.id, {
713
+ ruleId: rule.uid
714
+ }), hideFn();
715
+ }, "handleEdit"), options = list.map((item) => ({
716
+ label: item.label,
717
+ value: item.label,
718
+ color: showColor ? item.color : "transparent"
719
+ }));
720
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(
721
+ SelectList,
722
+ {
723
+ style: { minWidth: cellWidth, maxWidth: Math.max(cellWidth, 200) },
724
+ title: multiple ? localeService.t("dataValidation.listMultiple.dropdown") : localeService.t("dataValidation.list.dropdown"),
725
+ value,
726
+ multiple,
727
+ onChange: /* @__PURE__ */ __name((newValue) => {
728
+ const str = serializeListOptions(newValue), params = {
729
+ unitId,
730
+ subUnitId,
731
+ range: {
732
+ startColumn: col,
733
+ endColumn: col,
734
+ startRow: row,
735
+ endRow: row
736
+ },
737
+ value: {
738
+ v: str,
739
+ p: null,
740
+ f: null,
741
+ si: null
742
+ }
743
+ };
744
+ editorBridgeService.isVisible() && editorBridgeService.changeVisible({
745
+ visible: !1,
746
+ keycode: KeyCode.ESC,
747
+ eventType: DeviceInputEventType.Keyboard,
748
+ unitId
749
+ }), commandService.executeCommand(SetRangeValuesCommand.id, params), setLocalValue(str), multiple || hideFn();
750
+ }, "onChange"),
751
+ options,
752
+ onEdit: handleEdit,
753
+ filter: editingText,
754
+ location
755
+ }
756
+ );
757
+ }
758
+ __name(ListDropDown, "ListDropDown");
759
+ const dataValidationOptionsButton = "univer-data-validation-options-button", dataValidationOptionsButtonIcon = "univer-data-validation-options-button-icon", styles$4 = {
760
+ dataValidationOptionsButton,
761
+ dataValidationOptionsButtonIcon
762
+ };
763
+ function DataValidationOptions(props) {
764
+ var _a17;
765
+ const localeService = useDependency(LocaleService), componentManager = useDependency(ComponentManager), { value, onChange, extraComponent } = props, [show, setShow] = useState(!1), ExtraOptions = extraComponent ? componentManager.get(extraComponent) : null;
766
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
767
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: styles$4.dataValidationOptionsButton, onClick: /* @__PURE__ */ __name(() => setShow(!show), "onClick"), children: [
768
+ localeService.t("dataValidation.panel.options"),
769
+ show ? /* @__PURE__ */ jsxRuntimeExports.jsx(MoreUpSingle, { className: styles$4.dataValidationOptionsButtonIcon }) : /* @__PURE__ */ jsxRuntimeExports.jsx(MoreDownSingle, { className: styles$4.dataValidationOptionsButtonIcon })
770
+ ] }),
771
+ show && /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
772
+ ExtraOptions ? /* @__PURE__ */ jsxRuntimeExports.jsx(ExtraOptions, { value, onChange }) : null,
773
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
774
+ FormLayout,
775
+ {
776
+ label: localeService.t("dataValidation.panel.invalid"),
777
+ children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
778
+ RadioGroup,
779
+ {
780
+ value: `${(_a17 = value.errorStyle) != null ? _a17 : DataValidationErrorStyle.WARNING}`,
781
+ onChange: /* @__PURE__ */ __name((errorStyle) => onChange({ ...value, errorStyle: +errorStyle }), "onChange"),
782
+ children: [
783
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Radio, { value: `${DataValidationErrorStyle.WARNING}`, children: localeService.t("dataValidation.panel.showWarning") }),
784
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Radio, { value: `${DataValidationErrorStyle.STOP}`, children: localeService.t("dataValidation.panel.rejectInput") })
785
+ ]
786
+ }
787
+ )
788
+ }
789
+ ),
790
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
791
+ FormLayout,
792
+ {
793
+ label: localeService.t("dataValidation.panel.messageInfo"),
794
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx(
795
+ Checkbox,
796
+ {
797
+ checked: value.showErrorMessage,
798
+ onChange: /* @__PURE__ */ __name(() => onChange({
799
+ ...value,
800
+ showErrorMessage: !value.showErrorMessage
801
+ }), "onChange"),
802
+ children: localeService.t("dataValidation.panel.showInfo")
803
+ }
804
+ )
805
+ }
806
+ ),
807
+ value.showErrorMessage ? /* @__PURE__ */ jsxRuntimeExports.jsx(FormLayout, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(Input, { value: value.error, onChange: /* @__PURE__ */ __name((error) => onChange({ ...value, error }), "onChange") }) }) : null
808
+ ] })
809
+ ] });
810
+ }
811
+ __name(DataValidationOptions, "DataValidationOptions");
812
+ const dataValidationDetail = "univer-data-validation-detail", dataValidationDetailFormItem = "univer-data-validation-detail-form-item", dataValidationDetailButtons = "univer-data-validation-detail-buttons", dataValidationDetailButton = "univer-data-validation-detail-button", styles$3 = {
813
+ dataValidationDetail,
814
+ dataValidationDetailFormItem,
815
+ dataValidationDetailButtons,
816
+ dataValidationDetailButton
817
+ }, debounceExecuteFactory = /* @__PURE__ */ __name((commandService) => debounce(
818
+ async (id, params, options, callback) => {
819
+ const res = await commandService.executeCommand(id, params, options);
820
+ callback == null || callback(res);
821
+ },
822
+ 1e3
823
+ ), "debounceExecuteFactory");
824
+ function DataValidationDetail() {
825
+ const [key, setKey] = useState(0), dataValidationPanelService = useDependency(DataValidationPanelService), activeRuleInfo = useObservable(dataValidationPanelService.activeRule$, dataValidationPanelService.activeRule), { unitId, subUnitId, rule } = activeRuleInfo || {}, ruleId = rule.uid, validatorService = useDependency(DataValidatorRegistryService), componentManager = useDependency(ComponentManager), commandService = useDependency(ICommandService), dataValidationModel = useDependency(DataValidationModel), localeService = useDependency(LocaleService), [localRule, setLocalRule] = useState(rule), validator = validatorService.getValidatorItem(localRule.type), [showError, setShowError] = useState(!1), validators = validatorService.getValidatorsByScope(DataValidatorRegistryScope.SHEET), [localRanges, setLocalRanges] = useState(() => localRule.ranges.map((i) => ({ unitId: "", sheetId: "", range: i }))), debounceExecute = useMemo(() => debounceExecuteFactory(commandService), [commandService]), sheetSelectionService = useDependency(SheetsSelectionsService);
826
+ if (useEffect(() => () => {
827
+ const currentSelection = sheetSelectionService.getCurrentLastSelection();
828
+ currentSelection && sheetSelectionService.setSelections([currentSelection]);
829
+ }, [sheetSelectionService]), useEffect(() => {
830
+ commandService.onCommandExecuted((commandInfo) => {
831
+ (commandInfo.id === UndoCommand.id || commandInfo.id === RedoCommand.id) && setTimeout(() => {
832
+ const activeRule = dataValidationModel.getRuleById(unitId, subUnitId, ruleId);
833
+ setKey((k2) => k2 + 1), activeRule && (setLocalRule(activeRule), setLocalRanges(activeRule.ranges.map((i) => ({ unitId: "", sheetId: "", range: i }))));
834
+ }, 20);
835
+ });
836
+ }, [commandService, dataValidationModel, ruleId, subUnitId, unitId]), !validator)
837
+ return null;
838
+ const operators = validator.operators, operatorNames = validator.operatorNames, isTwoFormula = localRule.operator ? TWO_FORMULA_OPERATOR_COUNT.includes(localRule.operator) : !1, handleOk = /* @__PURE__ */ __name(() => {
839
+ localRule.ranges.length && (validator.validatorFormula(localRule, unitId, subUnitId).success ? dataValidationPanelService.setActiveRule(null) : setShowError(!0));
840
+ }, "handleOk"), handleUpdateRuleRanges = useEvent((unitRanges) => {
841
+ if (isUnitRangesEqual(unitRanges, localRanges))
842
+ return;
843
+ setLocalRanges(unitRanges);
844
+ const ranges = unitRanges.filter((i) => (!i.unitId || i.unitId === unitId) && (!i.sheetId || i.sheetId === subUnitId)).map((i) => i.range);
845
+ if (setLocalRule({
846
+ ...localRule,
847
+ ranges
848
+ }), ranges.length === 0)
849
+ return;
850
+ const params = {
851
+ unitId,
852
+ subUnitId,
853
+ ruleId,
854
+ ranges
855
+ };
856
+ debounceExecute(UpdateSheetDataValidationRangeCommand.id, params);
857
+ }), handleUpdateRuleSetting = /* @__PURE__ */ __name((setting) => {
858
+ if (shallowEqual(setting, getRuleSetting(localRule)))
859
+ return;
860
+ setLocalRule({
861
+ ...localRule,
862
+ ...setting
863
+ });
864
+ const params = {
865
+ unitId,
866
+ subUnitId,
867
+ ruleId,
868
+ setting
869
+ };
870
+ debounceExecute(
871
+ UpdateSheetDataValidationSettingCommand.id,
872
+ params,
873
+ void 0
874
+ );
875
+ }, "handleUpdateRuleSetting"), handleDelete = /* @__PURE__ */ __name(async () => {
876
+ await commandService.executeCommand(RemoveSheetDataValidationCommand.id, {
877
+ ruleId,
878
+ unitId,
879
+ subUnitId
880
+ }), dataValidationPanelService.setActiveRule(null);
881
+ }, "handleDelete"), baseRule = {
882
+ type: localRule.type,
883
+ operator: localRule.operator,
884
+ formula1: localRule.formula1,
885
+ formula2: localRule.formula2,
886
+ allowBlank: localRule.allowBlank
887
+ }, handleChangeType = /* @__PURE__ */ __name((newType) => {
888
+ const validator2 = validatorService.getValidatorItem(newType);
889
+ if (!validator2)
890
+ return;
891
+ const operators2 = validator2.operators, rule2 = dataValidationModel.getRuleById(unitId, subUnitId, ruleId), newRule = newType === (rule2 == null ? void 0 : rule2.type) || newType.includes("list") && (rule2 != null && rule2.type.includes("list")) ? {
892
+ ...rule2,
893
+ type: newType
894
+ } : {
895
+ ...localRule,
896
+ type: newType,
897
+ operator: operators2[0],
898
+ formula1: void 0,
899
+ formula2: void 0
900
+ };
901
+ setLocalRule(newRule), commandService.executeCommand(UpdateSheetDataValidationSettingCommand.id, {
902
+ unitId,
903
+ subUnitId,
904
+ ruleId: localRule.uid,
905
+ setting: getRuleSetting(newRule)
906
+ });
907
+ }, "handleChangeType"), FormulaInput = componentManager.get(validator.formulaInput), rangeStr = useMemo(() => localRanges.map((i) => serializeRange(i.range)).join(","), []), options = getRuleOptions(localRule), handleUpdateRuleOptions = /* @__PURE__ */ __name((newOptions) => {
908
+ shallowEqual(newOptions, getRuleOptions(localRule)) || (setLocalRule({
909
+ ...localRule,
910
+ ...newOptions
911
+ }), debounceExecute(
912
+ UpdateSheetDataValidationOptionsCommand.id,
913
+ {
914
+ unitId,
915
+ subUnitId,
916
+ ruleId,
917
+ options: newOptions
918
+ }
919
+ ));
920
+ }, "handleUpdateRuleOptions");
921
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: styles$3.dataValidationDetail, children: [
922
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
923
+ FormLayout,
924
+ {
925
+ label: localeService.t("dataValidation.panel.range"),
926
+ error: localRule.ranges.length ? "" : localeService.t("dataValidation.panel.rangeError"),
927
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx(
928
+ RangeSelector,
929
+ {
930
+ className: styles$3.dataValidationDetailFormItem,
931
+ value: rangeStr,
932
+ id: createInternalEditorID("data-validation-detail"),
933
+ openForSheetUnitId: unitId,
934
+ openForSheetSubUnitId: subUnitId,
935
+ onChange: /* @__PURE__ */ __name((newRange) => {
936
+ newRange.some((i) => !isValidRange(i.range) || i.range.endColumn < i.range.startColumn || i.range.endRow < i.range.startRow) || handleUpdateRuleRanges(newRange);
937
+ }, "onChange")
938
+ },
939
+ key
940
+ )
941
+ }
942
+ ),
943
+ /* @__PURE__ */ jsxRuntimeExports.jsx(FormLayout, { label: localeService.t("dataValidation.panel.type"), children: /* @__PURE__ */ jsxRuntimeExports.jsx(
944
+ Select,
945
+ {
946
+ options: validators == null ? void 0 : validators.map((validator2) => ({
947
+ label: localeService.t(validator2.title),
948
+ value: validator2.id
949
+ })),
950
+ value: localRule.type,
951
+ onChange: handleChangeType,
952
+ className: styles$3.dataValidationDetailFormItem
953
+ }
954
+ ) }),
955
+ operators != null && operators.length ? /* @__PURE__ */ jsxRuntimeExports.jsx(FormLayout, { label: localeService.t("dataValidation.panel.operator"), children: /* @__PURE__ */ jsxRuntimeExports.jsx(
956
+ Select,
957
+ {
958
+ options: operators.map((op, i) => ({
959
+ value: `${op}`,
960
+ label: operatorNames[i]
961
+ })),
962
+ value: `${localRule.operator}`,
963
+ onChange: /* @__PURE__ */ __name((operator) => {
964
+ handleUpdateRuleSetting({
965
+ ...baseRule,
966
+ operator
967
+ });
968
+ }, "onChange"),
969
+ className: styles$3.dataValidationDetailFormItem
970
+ }
971
+ ) }) : null,
972
+ FormulaInput ? /* @__PURE__ */ jsxRuntimeExports.jsx(
973
+ FormulaInput,
974
+ {
975
+ isTwoFormula,
976
+ value: {
977
+ formula1: localRule.formula1,
978
+ formula2: localRule.formula2
979
+ },
980
+ onChange: /* @__PURE__ */ __name((value) => {
981
+ handleUpdateRuleSetting({
982
+ ...baseRule,
983
+ ...value
984
+ });
985
+ }, "onChange"),
986
+ showError,
987
+ validResult: validator.validatorFormula(localRule, unitId, subUnitId),
988
+ unitId,
989
+ subUnitId,
990
+ ruleId
991
+ },
992
+ key + localRule.type
993
+ ) : null,
994
+ /* @__PURE__ */ jsxRuntimeExports.jsx(DataValidationOptions, { value: options, onChange: handleUpdateRuleOptions, extraComponent: validator.optionsInput }),
995
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: styles$3.dataValidationDetailButtons, children: [
996
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Button, { className: styles$3.dataValidationDetailButton, onClick: handleDelete, children: localeService.t("dataValidation.panel.removeRule") }),
997
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Button, { className: styles$3.dataValidationDetailButton, type: "primary", onClick: handleOk, children: localeService.t("dataValidation.panel.done") })
998
+ ] })
999
+ ] });
1000
+ }
1001
+ __name(DataValidationDetail, "DataValidationDetail");
1002
+ const dataValidationItemContainer = "univer-data-validation-item-container", dataValidationItemTitle = "univer-data-validation-item-title", dataValidationItemContent = "univer-data-validation-item-content", dataValidationItemIcon = "univer-data-validation-item-icon", styles$2 = {
1003
+ dataValidationItemContainer,
1004
+ dataValidationItemTitle,
1005
+ dataValidationItemContent,
1006
+ dataValidationItemIcon
1007
+ }, DataValidationItem = /* @__PURE__ */ __name((props) => {
1008
+ const { rule, onClick, unitId, subUnitId, disable } = props, validatorRegistry = useDependency(DataValidatorRegistryService), commandService = useDependency(ICommandService), markSelectionService = useDependency(IMarkSelectionService), validator = validatorRegistry.getValidatorItem(rule.type), ids = useRef(), [isHover, setIsHover] = useState(!1), handleDelete = /* @__PURE__ */ __name((e) => {
1009
+ commandService.executeCommand(RemoveSheetDataValidationCommand.id, {
1010
+ ruleId: rule.uid,
1011
+ unitId,
1012
+ subUnitId
1013
+ }), e.stopPropagation();
1014
+ }, "handleDelete");
1015
+ return useEffect(() => () => {
1016
+ var _a17;
1017
+ ids.current && ((_a17 = ids.current) == null || _a17.forEach((id) => {
1018
+ id && markSelectionService.removeShape(id);
1019
+ }));
1020
+ }, [markSelectionService]), /* @__PURE__ */ jsxRuntimeExports.jsxs(
1021
+ "div",
1022
+ {
1023
+ className: styles$2.dataValidationItemContainer,
1024
+ onClick,
1025
+ onMouseEnter: /* @__PURE__ */ __name(() => {
1026
+ disable || (setIsHover(!0), ids.current = rule.ranges.map((range) => markSelectionService.addShape({
1027
+ range,
1028
+ style: {
1029
+ hasAutoFill: !1,
1030
+ fill: "rgba(73, 184, 17, 0.05)",
1031
+ strokeWidth: 1,
1032
+ stroke: "#49B811",
1033
+ widgets: {}
1034
+ },
1035
+ primary: {
1036
+ startColumn: range.startColumn,
1037
+ endColumn: range.endColumn,
1038
+ startRow: range.startRow,
1039
+ endRow: range.endRow,
1040
+ actualRow: range.startRow,
1041
+ actualColumn: range.startColumn,
1042
+ isMerged: !1,
1043
+ isMergedMainCell: !1
1044
+ }
1045
+ })));
1046
+ }, "onMouseEnter"),
1047
+ onMouseLeave: /* @__PURE__ */ __name(() => {
1048
+ var _a17;
1049
+ setIsHover(!1), (_a17 = ids.current) == null || _a17.forEach((id) => {
1050
+ id && markSelectionService.removeShape(id);
1051
+ }), ids.current = void 0;
1052
+ }, "onMouseLeave"),
1053
+ children: [
1054
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$2.dataValidationItemTitle, children: validator == null ? void 0 : validator.generateRuleName(rule) }),
1055
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$2.dataValidationItemContent, children: rule.ranges.map((range) => serializeRange(range)).join(",") }),
1056
+ isHover ? /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$2.dataValidationItemIcon, onClick: handleDelete, children: /* @__PURE__ */ jsxRuntimeExports.jsx(DeleteSingle, {}) }) : null
1057
+ ]
1058
+ }
1059
+ );
1060
+ }, "DataValidationItem"), dataValidationList = "univer-data-validation-list", dataValidationListButtons = "univer-data-validation-list-buttons", dataValidationListButton = "univer-data-validation-list-button", styles$1 = {
1061
+ dataValidationList,
1062
+ dataValidationListButtons,
1063
+ dataValidationListButton
1064
+ };
1065
+ function DataValidationList() {
1066
+ const univerInstanceService = useDependency(IUniverInstanceService), workbook = useObservable(
1067
+ () => univerInstanceService.getCurrentTypeOfUnit$(UniverInstanceType.UNIVER_SHEET),
1068
+ void 0,
1069
+ void 0,
1070
+ []
1071
+ );
1072
+ return workbook ? /* @__PURE__ */ jsxRuntimeExports.jsx(DataValidationListWithWorkbook, { workbook }) : null;
1073
+ }
1074
+ __name(DataValidationList, "DataValidationList");
1075
+ function DataValidationListWithWorkbook(props) {
1076
+ const sheetDataValidationModel = useDependency(SheetDataValidationModel), univerInstanceService = useDependency(IUniverInstanceService), commandService = useDependency(ICommandService), injector = useDependency(Injector), dataValidationPanelService = useDependency(DataValidationPanelService), localeService = useDependency(LocaleService), [rules, setRules] = useState([]), { workbook } = props, worksheet = useObservable(workbook.activeSheet$, void 0, !0), unitId = workbook.getUnitId(), subUnitId = worksheet == null ? void 0 : worksheet.getSheetId();
1077
+ useEffect(() => {
1078
+ setRules(sheetDataValidationModel.getRules(unitId, subUnitId));
1079
+ const subscription = sheetDataValidationModel.ruleChange$.subscribe((change) => {
1080
+ change.unitId === unitId && change.subUnitId === subUnitId && setRules(sheetDataValidationModel.getRules(unitId, subUnitId));
1081
+ });
1082
+ return () => {
1083
+ subscription.unsubscribe();
1084
+ };
1085
+ }, [unitId, subUnitId, sheetDataValidationModel]);
1086
+ const handleAddRule = /* @__PURE__ */ __name(async () => {
1087
+ const rule = createDefaultNewRule(injector), params = {
1088
+ unitId,
1089
+ subUnitId,
1090
+ rule
1091
+ };
1092
+ await commandService.executeCommand(AddSheetDataValidationCommand.id, params), dataValidationPanelService.setActiveRule({
1093
+ unitId,
1094
+ subUnitId,
1095
+ rule
1096
+ });
1097
+ }, "handleAddRule"), handleRemoveAll = /* @__PURE__ */ __name(() => {
1098
+ commandService.executeCommand(RemoveSheetAllDataValidationCommand.id, {
1099
+ unitId,
1100
+ subUnitId
1101
+ });
1102
+ }, "handleRemoveAll"), rulesByPermissionCheck = (/* @__PURE__ */ __name((rules2) => {
1103
+ const workbook2 = univerInstanceService.getCurrentUnitForType(UniverInstanceType.UNIVER_SHEET), worksheet2 = workbook2.getActiveSheet(), unitId2 = workbook2.getUnitId(), subUnitId2 = worksheet2.getSheetId();
1104
+ return rules2.map((rule) => checkRangesEditablePermission(injector, unitId2, subUnitId2, rule.ranges) ? { ...rule } : { ...rule, disable: !0 });
1105
+ }, "getDvRulesByPermissionCorrect"))(rules), hasDisableRule = rulesByPermissionCheck == null ? void 0 : rulesByPermissionCheck.some((rule) => rule.disable);
1106
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: styles$1.dataValidationList, children: [
1107
+ rulesByPermissionCheck == null ? void 0 : rulesByPermissionCheck.map((rule) => {
1108
+ var _a17;
1109
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(
1110
+ DataValidationItem,
1111
+ {
1112
+ unitId,
1113
+ subUnitId,
1114
+ onClick: /* @__PURE__ */ __name(() => {
1115
+ rule.disable || dataValidationPanelService.setActiveRule({
1116
+ unitId,
1117
+ subUnitId,
1118
+ rule
1119
+ });
1120
+ }, "onClick"),
1121
+ rule,
1122
+ disable: (_a17 = rule.disable) != null ? _a17 : !1
1123
+ },
1124
+ rule.uid
1125
+ );
1126
+ }),
1127
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: styles$1.dataValidationListButtons, children: [
1128
+ rules.length && !hasDisableRule ? /* @__PURE__ */ jsxRuntimeExports.jsx(Button, { className: styles$1.dataValidationListButton, onClick: handleRemoveAll, children: localeService.t("dataValidation.panel.removeAll") }) : null,
1129
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Button, { className: styles$1.dataValidationListButton, type: "primary", onClick: handleAddRule, children: localeService.t("dataValidation.panel.add") })
1130
+ ] })
1131
+ ] });
1132
+ }
1133
+ __name(DataValidationListWithWorkbook, "DataValidationListWithWorkbook");
1134
+ const DataValidationPanel = /* @__PURE__ */ __name(() => {
1135
+ const dataValidationPanelService = useDependency(DataValidationPanelService), activeRule = useObservable(dataValidationPanelService.activeRule$, dataValidationPanelService.activeRule);
1136
+ return activeRule ? /* @__PURE__ */ jsxRuntimeExports.jsx(DataValidationDetail, {}, activeRule.rule.uid) : /* @__PURE__ */ jsxRuntimeExports.jsx(DataValidationList, {});
1137
+ }, "DataValidationPanel"), LIST_DROPDOWN_KEY = "data-validation.list.dropdown", DATE_DROPDOWN_KEY = "data-validation.date.dropdown", AddSheetDataValidationAndOpenCommand = {
1138
+ type: CommandType.COMMAND,
1139
+ id: "data-validation.command.addRuleAndOpen",
1140
+ async handler(accessor) {
1141
+ const univerInstanceService = accessor.get(IUniverInstanceService), target = getSheetCommandTarget(univerInstanceService);
1142
+ if (!target) return !1;
1143
+ const { workbook, worksheet } = target, rule = createDefaultNewRule(accessor), commandService = accessor.get(ICommandService), unitId = workbook.getUnitId(), subUnitId = worksheet.getSheetId(), addParams = {
1144
+ rule,
1145
+ unitId,
1146
+ subUnitId
1147
+ };
1148
+ return await commandService.executeCommand(AddSheetDataValidationCommand.id, addParams) ? (commandService.executeCommand(OpenValidationPanelOperation.id, {
1149
+ ruleId: rule.uid,
1150
+ isAdd: !0
1151
+ }), !0) : !1;
1152
+ }
1153
+ };
1154
+ var __defProp$b = Object.defineProperty, __getOwnPropDesc$b = Object.getOwnPropertyDescriptor, __decorateClass$b = /* @__PURE__ */ __name((decorators, target, key, kind) => {
1155
+ for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$b(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
1156
+ (decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
1157
+ return kind && result && __defProp$b(target, key, result), result;
1158
+ }, "__decorateClass$b"), __decorateParam$b = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$b");
1159
+ const ALERT_KEY = "SHEET_DATA_VALIDATION_ALERT";
1160
+ var _a4;
1161
+ let DataValidationAlertController = (_a4 = class extends Disposable {
1162
+ constructor(_hoverManagerService, _cellAlertManagerService, _univerInstanceService, _localeService, _zenZoneService) {
1163
+ super(), this._hoverManagerService = _hoverManagerService, this._cellAlertManagerService = _cellAlertManagerService, this._univerInstanceService = _univerInstanceService, this._localeService = _localeService, this._zenZoneService = _zenZoneService, this._init();
1164
+ }
1165
+ _init() {
1166
+ this._initCellAlertPopup(), this._initZenService();
1167
+ }
1168
+ _initCellAlertPopup() {
1169
+ this.disposeWithMe(this._hoverManagerService.currentCell$.pipe(debounceTime(100)).subscribe((cellPos) => {
1170
+ var _a17, _b;
1171
+ if (cellPos) {
1172
+ const worksheet = this._univerInstanceService.getCurrentUnitForType(UniverInstanceType.UNIVER_SHEET).getActiveSheet();
1173
+ if (!worksheet) return;
1174
+ const cellData = worksheet.getCell(cellPos.location.row, cellPos.location.col);
1175
+ if (((_a17 = cellData == null ? void 0 : cellData.dataValidation) == null ? void 0 : _a17.validStatus) === DataValidationStatus.INVALID) {
1176
+ const currentAlert = this._cellAlertManagerService.currentAlert.get(ALERT_KEY), currentLoc = (_b = currentAlert == null ? void 0 : currentAlert.alert) == null ? void 0 : _b.location;
1177
+ if (currentLoc && currentLoc.row === cellPos.location.row && currentLoc.col === cellPos.location.col && currentLoc.subUnitId === cellPos.location.subUnitId && currentLoc.unitId === cellPos.location.unitId)
1178
+ return;
1179
+ const validator = cellData.dataValidation.validator, rule = cellData.dataValidation.rule;
1180
+ if (!validator)
1181
+ return;
1182
+ this._cellAlertManagerService.showAlert({
1183
+ type: CellAlertType.ERROR,
1184
+ title: this._localeService.t("dataValidation.error.title"),
1185
+ message: validator == null ? void 0 : validator.getRuleFinalError(rule),
1186
+ location: cellPos.location,
1187
+ width: 200,
1188
+ height: 74,
1189
+ key: ALERT_KEY
1190
+ });
1191
+ return;
1192
+ }
1193
+ }
1194
+ this._cellAlertManagerService.removeAlert(ALERT_KEY);
1195
+ }));
1196
+ }
1197
+ _initZenService() {
1198
+ this.disposeWithMe(this._zenZoneService.visible$.subscribe((visible) => {
1199
+ visible && this._cellAlertManagerService.removeAlert(ALERT_KEY);
1200
+ }));
1201
+ }
1202
+ }, __name(_a4, "DataValidationAlertController"), _a4);
1203
+ DataValidationAlertController = __decorateClass$b([
1204
+ __decorateParam$b(0, Inject(HoverManagerService)),
1205
+ __decorateParam$b(1, Inject(CellAlertManagerService)),
1206
+ __decorateParam$b(2, IUniverInstanceService),
1207
+ __decorateParam$b(3, Inject(LocaleService)),
1208
+ __decorateParam$b(4, IZenZoneService)
1209
+ ], DataValidationAlertController);
1210
+ var __defProp$a = Object.defineProperty, __getOwnPropDesc$a = Object.getOwnPropertyDescriptor, __decorateClass$a = /* @__PURE__ */ __name((decorators, target, key, kind) => {
1211
+ for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$a(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
1212
+ (decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
1213
+ return kind && result && __defProp$a(target, key, result), result;
1214
+ }, "__decorateClass$a"), __decorateParam$a = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$a"), _a5;
1215
+ let DataValidationAutoFillController = (_a5 = class extends Disposable {
1216
+ constructor(_autoFillService, _dataValidationModel, _injector) {
1217
+ super(), this._autoFillService = _autoFillService, this._dataValidationModel = _dataValidationModel, this._injector = _injector, this._initAutoFill();
1218
+ }
1219
+ // eslint-disable-next-line max-lines-per-function
1220
+ _initAutoFill() {
1221
+ const noopReturnFunc = /* @__PURE__ */ __name(() => ({ redos: [], undos: [] }), "noopReturnFunc"), generalApplyFunc = /* @__PURE__ */ __name((location, applyType) => {
1222
+ const { source: sourceRange, target: targetRange, unitId, subUnitId } = location, ruleMatrixCopy = this._dataValidationModel.getRuleObjectMatrix(unitId, subUnitId).clone(), virtualRange = virtualizeDiscreteRanges([sourceRange, targetRange]), [vSourceRange, vTargetRange] = virtualRange.ranges, { mapFunc } = virtualRange, sourceStartCell = {
1223
+ row: vSourceRange.startRow,
1224
+ col: vSourceRange.startColumn
1225
+ }, repeats = getAutoFillRepeatRange(vSourceRange, vTargetRange), additionMatrix = new ObjectMatrix(), additionRules = /* @__PURE__ */ new Set();
1226
+ repeats.forEach((repeat) => {
1227
+ const targetStartCell = repeat.repeatStartCell, relativeRange = repeat.relativeRange, sourceRange2 = {
1228
+ startRow: sourceStartCell.row,
1229
+ startColumn: sourceStartCell.col,
1230
+ endColumn: sourceStartCell.col,
1231
+ endRow: sourceStartCell.row
1232
+ }, targetRange2 = {
1233
+ startRow: targetStartCell.row,
1234
+ startColumn: targetStartCell.col,
1235
+ endColumn: targetStartCell.col,
1236
+ endRow: targetStartCell.row
1237
+ };
1238
+ Range.foreach(relativeRange, (row, col) => {
1239
+ const sourcePositionRange = Rectangle.getPositionRange(
1240
+ {
1241
+ startRow: row,
1242
+ startColumn: col,
1243
+ endColumn: col,
1244
+ endRow: row
1245
+ },
1246
+ sourceRange2
1247
+ ), { row: sourceRow, col: sourceCol } = mapFunc(sourcePositionRange.startRow, sourcePositionRange.startColumn), ruleId = this._dataValidationModel.getRuleIdByLocation(unitId, subUnitId, sourceRow, sourceCol);
1248
+ if (ruleId) {
1249
+ const targetPositionRange = Rectangle.getPositionRange(
1250
+ {
1251
+ startRow: row,
1252
+ startColumn: col,
1253
+ endColumn: col,
1254
+ endRow: row
1255
+ },
1256
+ targetRange2
1257
+ ), { row: targetRow, col: targetCol } = mapFunc(targetPositionRange.startRow, targetPositionRange.startColumn);
1258
+ additionMatrix.setValue(targetRow, targetCol, ruleId), additionRules.add(ruleId);
1259
+ }
1260
+ });
1261
+ });
1262
+ const additions = Array.from(additionRules).map((id) => ({ id, ranges: queryObjectMatrix(additionMatrix, (value) => value === id) }));
1263
+ ruleMatrixCopy.addRangeRules(additions);
1264
+ const diffs = ruleMatrixCopy.diff(this._dataValidationModel.getRules(unitId, subUnitId)), { redoMutations, undoMutations } = getDataValidationDiffMutations(unitId, subUnitId, diffs, this._injector, "patched", applyType === APPLY_TYPE.ONLY_FORMAT);
1265
+ return {
1266
+ undos: undoMutations,
1267
+ redos: redoMutations
1268
+ };
1269
+ }, "generalApplyFunc"), disabledDataVallation = [
1270
+ DataValidationType.CHECKBOX
1271
+ ], hook = {
1272
+ id: DATA_VALIDATION_PLUGIN_NAME,
1273
+ onBeforeFillData: /* @__PURE__ */ __name((location) => {
1274
+ const { source: sourceRange, unitId, subUnitId } = location;
1275
+ for (const row of sourceRange.rows)
1276
+ for (const col of sourceRange.cols) {
1277
+ const dv = this._dataValidationModel.getRuleByLocation(unitId, subUnitId, row, col);
1278
+ if (dv && disabledDataVallation.indexOf(dv.type) > -1) {
1279
+ this._autoFillService.setDisableApplyType(APPLY_TYPE.SERIES, !0);
1280
+ return;
1281
+ }
1282
+ }
1283
+ }, "onBeforeFillData"),
1284
+ onFillData: /* @__PURE__ */ __name((location, direction, applyType) => applyType === APPLY_TYPE.COPY || applyType === APPLY_TYPE.ONLY_FORMAT || applyType === APPLY_TYPE.SERIES ? generalApplyFunc(location, applyType) : noopReturnFunc(), "onFillData"),
1285
+ onAfterFillData: /* @__PURE__ */ __name(() => {
1286
+ }, "onAfterFillData")
1287
+ };
1288
+ this.disposeWithMe(this._autoFillService.addHook(hook));
1289
+ }
1290
+ }, __name(_a5, "DataValidationAutoFillController"), _a5);
1291
+ DataValidationAutoFillController = __decorateClass$a([
1292
+ __decorateParam$a(0, IAutoFillService),
1293
+ __decorateParam$a(1, Inject(SheetDataValidationModel)),
1294
+ __decorateParam$a(2, Inject(Injector))
1295
+ ], DataValidationAutoFillController);
1296
+ var __defProp$9 = Object.defineProperty, __getOwnPropDesc$9 = Object.getOwnPropertyDescriptor, __decorateClass$9 = /* @__PURE__ */ __name((decorators, target, key, kind) => {
1297
+ for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$9(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
1298
+ (decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
1299
+ return kind && result && __defProp$9(target, key, result), result;
1300
+ }, "__decorateClass$9"), __decorateParam$9 = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$9"), _a6;
1301
+ let DataValidationCopyPasteController = (_a6 = class extends Disposable {
1302
+ constructor(_sheetClipboardService, _sheetDataValidationModel, _injector) {
1303
+ super();
1304
+ __publicField(this, "_copyInfo");
1305
+ this._sheetClipboardService = _sheetClipboardService, this._sheetDataValidationModel = _sheetDataValidationModel, this._injector = _injector, this._initCopyPaste();
1306
+ }
1307
+ _initCopyPaste() {
1308
+ this._sheetClipboardService.addClipboardHook({
1309
+ id: DATA_VALIDATION_PLUGIN_NAME,
1310
+ onBeforeCopy: /* @__PURE__ */ __name((unitId, subUnitId, range) => this._collect(unitId, subUnitId, range), "onBeforeCopy"),
1311
+ onPasteCells: /* @__PURE__ */ __name((pasteFrom, pasteTo, data, payload) => {
1312
+ const { copyType = COPY_TYPE.COPY, pasteType } = payload, { range: copyRange } = pasteFrom || {}, { range: pastedRange, unitId, subUnitId } = pasteTo;
1313
+ return this._generateMutations(pastedRange, { copyType, pasteType, copyRange, unitId, subUnitId });
1314
+ }, "onPasteCells")
1315
+ });
1316
+ }
1317
+ _collect(unitId, subUnitId, range) {
1318
+ const matrix = new ObjectMatrix();
1319
+ this._copyInfo = {
1320
+ unitId,
1321
+ subUnitId,
1322
+ matrix
1323
+ };
1324
+ const discreteRange = this._injector.invoke((accessor) => rangeToDiscreteRange(range, accessor, unitId, subUnitId));
1325
+ if (!discreteRange)
1326
+ return;
1327
+ const { rows, cols } = discreteRange;
1328
+ rows.forEach((row, rowIndex) => {
1329
+ cols.forEach((col, colIndex) => {
1330
+ const ruleId = this._sheetDataValidationModel.getRuleIdByLocation(unitId, subUnitId, row, col);
1331
+ matrix.setValue(rowIndex, colIndex, ruleId != null ? ruleId : "");
1332
+ });
1333
+ });
1334
+ }
1335
+ // eslint-disable-next-line max-lines-per-function
1336
+ _generateMutations(pastedRange, copyInfo) {
1337
+ if (!this._copyInfo)
1338
+ return { redos: [], undos: [] };
1339
+ if (copyInfo.copyType === COPY_TYPE.CUT)
1340
+ return this._copyInfo = null, { redos: [], undos: [] };
1341
+ if (!this._copyInfo || !this._copyInfo.matrix.getSizeOf() || !copyInfo.copyRange)
1342
+ return { redos: [], undos: [] };
1343
+ if ([
1344
+ PREDEFINED_HOOK_NAME.SPECIAL_PASTE_COL_WIDTH,
1345
+ PREDEFINED_HOOK_NAME.SPECIAL_PASTE_VALUE,
1346
+ PREDEFINED_HOOK_NAME.SPECIAL_PASTE_FORMAT,
1347
+ PREDEFINED_HOOK_NAME.SPECIAL_PASTE_FORMULA
1348
+ ].includes(
1349
+ copyInfo.pasteType
1350
+ ))
1351
+ return { redos: [], undos: [] };
1352
+ const { unitId, subUnitId } = this._copyInfo;
1353
+ if (copyInfo.unitId !== unitId || subUnitId !== copyInfo.subUnitId) {
1354
+ const ruleMatrix = this._sheetDataValidationModel.getRuleObjectMatrix(copyInfo.unitId, copyInfo.subUnitId).clone(), additionMatrix = new ObjectMatrix(), addRules = /* @__PURE__ */ new Set(), { ranges: [vCopyRange, vPastedRange], mapFunc } = virtualizeDiscreteRanges([copyInfo.copyRange, pastedRange]), repeatRange = getRepeatRange(vCopyRange, vPastedRange, !0), additionRules = /* @__PURE__ */ new Map();
1355
+ repeatRange.forEach(({ startRange }) => {
1356
+ var _a17;
1357
+ (_a17 = this._copyInfo) == null || _a17.matrix.forValue((row, col, ruleId) => {
1358
+ const range = Rectangle.getPositionRange(
1359
+ {
1360
+ startRow: row,
1361
+ endRow: row,
1362
+ startColumn: col,
1363
+ endColumn: col
1364
+ },
1365
+ startRange
1366
+ ), transformedRuleId = `${subUnitId}-${ruleId}`, oldRule = this._sheetDataValidationModel.getRuleById(unitId, subUnitId, ruleId);
1367
+ !this._sheetDataValidationModel.getRuleById(copyInfo.unitId, copyInfo.subUnitId, transformedRuleId) && oldRule && additionRules.set(transformedRuleId, { ...oldRule, uid: transformedRuleId });
1368
+ const { row: startRow, col: startColumn } = mapFunc(range.startRow, range.startColumn);
1369
+ addRules.add(transformedRuleId), additionMatrix.setValue(startRow, startColumn, transformedRuleId);
1370
+ });
1371
+ });
1372
+ const additions = Array.from(addRules).map((id) => ({ id, ranges: queryObjectMatrix(additionMatrix, (value) => value === id) }));
1373
+ ruleMatrix.addRangeRules(additions);
1374
+ const { redoMutations, undoMutations } = getDataValidationDiffMutations(
1375
+ copyInfo.unitId,
1376
+ copyInfo.subUnitId,
1377
+ ruleMatrix.diffWithAddition(this._sheetDataValidationModel.getRules(copyInfo.unitId, copyInfo.subUnitId), additionRules.values()),
1378
+ this._injector,
1379
+ "patched"
1380
+ );
1381
+ return {
1382
+ redos: redoMutations,
1383
+ undos: undoMutations
1384
+ };
1385
+ } else {
1386
+ const ruleMatrix = this._sheetDataValidationModel.getRuleObjectMatrix(unitId, subUnitId).clone(), additionMatrix = new ObjectMatrix(), additionRules = /* @__PURE__ */ new Set(), { ranges: [vCopyRange, vPastedRange], mapFunc } = virtualizeDiscreteRanges([copyInfo.copyRange, pastedRange]);
1387
+ getRepeatRange(vCopyRange, vPastedRange, !0).forEach(({ startRange }) => {
1388
+ var _a17;
1389
+ (_a17 = this._copyInfo) == null || _a17.matrix.forValue((row, col, ruleId) => {
1390
+ const range = Rectangle.getPositionRange(
1391
+ {
1392
+ startRow: row,
1393
+ endRow: row,
1394
+ startColumn: col,
1395
+ endColumn: col
1396
+ },
1397
+ startRange
1398
+ ), { row: startRow, col: startColumn } = mapFunc(range.startRow, range.startColumn);
1399
+ additionMatrix.setValue(startRow, startColumn, ruleId), additionRules.add(ruleId);
1400
+ });
1401
+ });
1402
+ const additions = Array.from(additionRules).map((id) => ({ id, ranges: queryObjectMatrix(additionMatrix, (value) => value === id) }));
1403
+ ruleMatrix.addRangeRules(additions);
1404
+ const { redoMutations, undoMutations } = getDataValidationDiffMutations(
1405
+ unitId,
1406
+ subUnitId,
1407
+ ruleMatrix.diff(this._sheetDataValidationModel.getRules(unitId, subUnitId)),
1408
+ this._injector,
1409
+ "patched"
1410
+ );
1411
+ return {
1412
+ redos: redoMutations,
1413
+ undos: undoMutations
1414
+ };
1415
+ }
1416
+ }
1417
+ }, __name(_a6, "DataValidationCopyPasteController"), _a6);
1418
+ DataValidationCopyPasteController = __decorateClass$9([
1419
+ __decorateParam$9(0, ISheetClipboardService),
1420
+ __decorateParam$9(1, Inject(SheetDataValidationModel)),
1421
+ __decorateParam$9(2, Inject(Injector))
1422
+ ], DataValidationCopyPasteController);
1423
+ var __defProp$8 = Object.defineProperty, __getOwnPropDesc$8 = Object.getOwnPropertyDescriptor, __decorateClass$8 = /* @__PURE__ */ __name((decorators, target, key, kind) => {
1424
+ for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$8(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
1425
+ (decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
1426
+ return kind && result && __defProp$8(target, key, result), result;
1427
+ }, "__decorateClass$8"), __decorateParam$8 = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$8"), _a7;
1428
+ let DataValidationPermissionController = (_a7 = class extends Disposable {
1429
+ constructor(_localeService, _commandService, _sheetPermissionInterceptorBaseController) {
1430
+ super(), this._localeService = _localeService, this._commandService = _commandService, this._sheetPermissionInterceptorBaseController = _sheetPermissionInterceptorBaseController, this._commandExecutedListener();
1431
+ }
1432
+ _commandExecutedListener() {
1433
+ this.disposeWithMe(
1434
+ this._commandService.beforeCommandExecuted((command) => {
1435
+ command.id === AddSheetDataValidationCommand.id && (this._sheetPermissionInterceptorBaseController.permissionCheckWithRanges({
1436
+ workbookTypes: [WorkbookEditablePermission],
1437
+ rangeTypes: [RangeProtectionPermissionEditPoint],
1438
+ worksheetTypes: [WorksheetEditPermission, WorksheetSetCellStylePermission]
1439
+ }) || this._sheetPermissionInterceptorBaseController.haveNotPermissionHandle(this._localeService.t("permission.dialog.setStyleErr"))), command.id === UpdateSheetDataValidationRangeCommand.id && (this._sheetPermissionInterceptorBaseController.permissionCheckWithRanges({
1440
+ workbookTypes: [WorkbookEditablePermission],
1441
+ rangeTypes: [RangeProtectionPermissionEditPoint],
1442
+ worksheetTypes: [WorksheetEditPermission, WorksheetSetCellStylePermission]
1443
+ }, command.params.ranges) || this._sheetPermissionInterceptorBaseController.haveNotPermissionHandle(this._localeService.t("permission.dialog.setStyleErr")));
1444
+ })
1445
+ );
1446
+ }
1447
+ }, __name(_a7, "DataValidationPermissionController"), _a7);
1448
+ DataValidationPermissionController = __decorateClass$8([
1449
+ __decorateParam$8(0, Inject(LocaleService)),
1450
+ __decorateParam$8(1, ICommandService),
1451
+ __decorateParam$8(2, Inject(SheetPermissionInterceptorBaseController))
1452
+ ], DataValidationPermissionController);
1453
+ const DataValidationIcon = "data-validation-single", DATA_VALIDATION_MENU_ID = "sheet.menu.data-validation";
1454
+ function dataValidationMenuFactory(accessor) {
1455
+ return {
1456
+ id: DATA_VALIDATION_MENU_ID,
1457
+ type: MenuItemType.SUBITEMS,
1458
+ icon: DataValidationIcon,
1459
+ tooltip: "dataValidation.title",
1460
+ hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_SHEET),
1461
+ disabled$: getCurrentRangeDisable$(accessor, { workbookTypes: [WorkbookEditablePermission], worksheetTypes: [WorksheetSetCellStylePermission, WorksheetEditPermission], rangeTypes: [RangeProtectionPermissionEditPoint] })
1462
+ };
1463
+ }
1464
+ __name(dataValidationMenuFactory, "dataValidationMenuFactory");
1465
+ function openDataValidationMenuFactory(_accessor) {
1466
+ return {
1467
+ id: OpenValidationPanelOperation.id,
1468
+ title: "dataValidation.panel.title",
1469
+ type: MenuItemType.BUTTON
1470
+ };
1471
+ }
1472
+ __name(openDataValidationMenuFactory, "openDataValidationMenuFactory");
1473
+ function addDataValidationMenuFactory(_accessor) {
1474
+ return {
1475
+ id: AddSheetDataValidationAndOpenCommand.id,
1476
+ title: "dataValidation.panel.add",
1477
+ type: MenuItemType.BUTTON
1478
+ };
1479
+ }
1480
+ __name(addDataValidationMenuFactory, "addDataValidationMenuFactory");
1481
+ const menuSchema = {
1482
+ [RibbonStartGroup.FORMULAS_INSERT]: {
1483
+ [DATA_VALIDATION_MENU_ID]: {
1484
+ order: 9,
1485
+ menuItemFactory: dataValidationMenuFactory,
1486
+ [OpenValidationPanelOperation.id]: {
1487
+ order: 0,
1488
+ menuItemFactory: openDataValidationMenuFactory
1489
+ },
1490
+ [AddSheetDataValidationAndOpenCommand.id]: {
1491
+ order: 1,
1492
+ menuItemFactory: addDataValidationMenuFactory
1493
+ }
1494
+ }
1495
+ }
1496
+ };
1497
+ var __defProp$7 = Object.defineProperty, __getOwnPropDesc$7 = Object.getOwnPropertyDescriptor, __decorateClass$7 = /* @__PURE__ */ __name((decorators, target, key, kind) => {
1498
+ for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$7(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
1499
+ (decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
1500
+ return kind && result && __defProp$7(target, key, result), result;
1501
+ }, "__decorateClass$7"), __decorateParam$7 = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$7");
1502
+ const INVALID_MARK = {
1503
+ tr: {
1504
+ size: 6,
1505
+ color: "#fe4b4b"
1506
+ }
1507
+ };
1508
+ var _a8;
1509
+ let SheetsDataValidationRenderController = (_a8 = class extends RxDisposable {
1510
+ constructor(_commandService, _menuManagerService, _renderManagerService, _univerInstanceService, _autoHeightController, _dropdownManagerService, _sheetDataValidationModel, _dataValidatorRegistryService, _sheetInterceptorService, _editorBridgeService) {
1511
+ super(), this._commandService = _commandService, this._menuManagerService = _menuManagerService, this._renderManagerService = _renderManagerService, this._univerInstanceService = _univerInstanceService, this._autoHeightController = _autoHeightController, this._dropdownManagerService = _dropdownManagerService, this._sheetDataValidationModel = _sheetDataValidationModel, this._dataValidatorRegistryService = _dataValidatorRegistryService, this._sheetInterceptorService = _sheetInterceptorService, this._editorBridgeService = _editorBridgeService, this._initMenu(), this._initDropdown(), this._initViewModelIntercept(), this._initAutoHeight();
1512
+ }
1513
+ _initMenu() {
1514
+ this._menuManagerService.mergeMenu(menuSchema);
1515
+ }
1516
+ _initDropdown() {
1517
+ this._editorBridgeService && this.disposeWithMe(this._editorBridgeService.visible$.subscribe((visible) => {
1518
+ var _a17;
1519
+ if (!visible.visible) {
1520
+ ((_a17 = this._dropdownManagerService.activeDropdown) == null ? void 0 : _a17.trigger) === "editor-bridge" && this._dropdownManagerService.hideDropdown();
1521
+ return;
1522
+ }
1523
+ const state = this._editorBridgeService.getEditCellState();
1524
+ if (state) {
1525
+ const { unitId, sheetId, row, column } = state, workbook = this._univerInstanceService.getUniverSheetInstance(unitId);
1526
+ if (!workbook)
1527
+ return;
1528
+ const rule = this._sheetDataValidationModel.getRuleByLocation(unitId, sheetId, row, column);
1529
+ if (!rule)
1530
+ return;
1531
+ const validator = this._dataValidatorRegistryService.getValidatorItem(rule.type);
1532
+ if (!(validator != null && validator.dropdown))
1533
+ return;
1534
+ const worksheet = workbook.getActiveSheet();
1535
+ if (!worksheet) return;
1536
+ const activeDropdown = this._dropdownManagerService.activeDropdown, currLoc = activeDropdown == null ? void 0 : activeDropdown.location;
1537
+ if (currLoc && currLoc.unitId === unitId && currLoc.subUnitId === sheetId && currLoc.row === row && currLoc.col === column)
1538
+ return;
1539
+ this._dropdownManagerService.showDropdown(
1540
+ {
1541
+ location: {
1542
+ unitId,
1543
+ subUnitId: sheetId,
1544
+ row,
1545
+ col: column,
1546
+ workbook,
1547
+ worksheet
1548
+ },
1549
+ componentKey: validator.dropdown,
1550
+ onHide: /* @__PURE__ */ __name(() => {
1551
+ }, "onHide"),
1552
+ trigger: "editor-bridge"
1553
+ },
1554
+ !1
1555
+ );
1556
+ }
1557
+ }));
1558
+ }
1559
+ // eslint-disable-next-line max-lines-per-function
1560
+ _initViewModelIntercept() {
1561
+ this.disposeWithMe(
1562
+ this._sheetInterceptorService.intercept(
1563
+ INTERCEPTOR_POINT.CELL_CONTENT,
1564
+ {
1565
+ effect: InterceptorEffectEnum.Style,
1566
+ // must be after numfmt
1567
+ priority: InterceptCellContentPriority.DATA_VALIDATION,
1568
+ // eslint-disable-next-line max-lines-per-function, complexity
1569
+ handler: /* @__PURE__ */ __name((cell, pos, next) => {
1570
+ var _a17, _b, _c, _d;
1571
+ const { row, col, unitId, subUnitId, workbook, worksheet } = pos, ruleId = this._sheetDataValidationModel.getRuleIdByLocation(unitId, subUnitId, row, col);
1572
+ if (!ruleId)
1573
+ return next(cell);
1574
+ const rule = this._sheetDataValidationModel.getRuleById(unitId, subUnitId, ruleId);
1575
+ if (!rule)
1576
+ return next(cell);
1577
+ const validStatus = this._sheetDataValidationModel.validator(cell, rule, pos), validator = this._dataValidatorRegistryService.getValidatorItem(rule.type), cellOrigin = pos.rawData;
1578
+ let cache;
1579
+ const cellValue = {
1580
+ get value() {
1581
+ var _a18;
1582
+ return cache !== void 0 || (cache = (_a18 = getCellValueOrigin(cellOrigin)) != null ? _a18 : null), cache;
1583
+ }
1584
+ }, valueStr = {
1585
+ get value() {
1586
+ var _a18;
1587
+ return `${(_a18 = cellValue.value) != null ? _a18 : ""}`;
1588
+ }
1589
+ };
1590
+ return next({
1591
+ ...cell,
1592
+ dataValidation: {
1593
+ ruleId,
1594
+ validStatus,
1595
+ rule,
1596
+ validator
1597
+ },
1598
+ markers: {
1599
+ ...cell == null ? void 0 : cell.markers,
1600
+ ...validStatus === DataValidationStatus.INVALID ? INVALID_MARK : null
1601
+ },
1602
+ customRender: [
1603
+ ...(_a17 = cell == null ? void 0 : cell.customRender) != null ? _a17 : [],
1604
+ ...validator != null && validator.canvasRender ? [validator.canvasRender] : []
1605
+ ],
1606
+ fontRenderExtension: {
1607
+ ...cell == null ? void 0 : cell.fontRenderExtension,
1608
+ isSkip: ((_b = cell == null ? void 0 : cell.fontRenderExtension) == null ? void 0 : _b.isSkip) || ((_c = validator == null ? void 0 : validator.skipDefaultFontRender) == null ? void 0 : _c.call(validator, rule, cellValue.value, pos))
1609
+ },
1610
+ interceptorStyle: {
1611
+ ...cell == null ? void 0 : cell.interceptorStyle,
1612
+ ...validator == null ? void 0 : validator.getExtraStyle(rule, valueStr.value, {
1613
+ get style() {
1614
+ const styleMap = workbook.getStyles();
1615
+ return (typeof (cell == null ? void 0 : cell.s) == "string" ? styleMap.get(cell == null ? void 0 : cell.s) : cell == null ? void 0 : cell.s) || {};
1616
+ }
1617
+ })
1618
+ },
1619
+ interceptorAutoHeight: /* @__PURE__ */ __name(() => {
1620
+ var _a18, _b2, _c2, _d2, _e, _f;
1621
+ const skeleton = (_b2 = (_a18 = this._renderManagerService.getRenderById(unitId)) == null ? void 0 : _a18.with(SheetSkeletonManagerService).getWorksheetSkeleton(subUnitId)) == null ? void 0 : _b2.skeleton;
1622
+ if (!skeleton)
1623
+ return;
1624
+ const mergeCell = skeleton.worksheet.getMergedCell(row, col), info = {
1625
+ data: {
1626
+ ...cell,
1627
+ dataValidation: {
1628
+ ruleId,
1629
+ validStatus,
1630
+ rule,
1631
+ validator
1632
+ }
1633
+ },
1634
+ style: skeleton.getsStyles().getStyleByCell(cell),
1635
+ primaryWithCoord: skeleton.getCellByIndex((_c2 = mergeCell == null ? void 0 : mergeCell.startRow) != null ? _c2 : row, (_d2 = mergeCell == null ? void 0 : mergeCell.startColumn) != null ? _d2 : col),
1636
+ unitId,
1637
+ subUnitId,
1638
+ row,
1639
+ col,
1640
+ workbook,
1641
+ worksheet
1642
+ };
1643
+ return (_f = (_e = validator == null ? void 0 : validator.canvasRender) == null ? void 0 : _e.calcCellAutoHeight) == null ? void 0 : _f.call(_e, info);
1644
+ }, "interceptorAutoHeight"),
1645
+ coverable: ((_d = cell == null ? void 0 : cell.coverable) != null ? _d : !0) && !(rule.type === DataValidationType.LIST || rule.type === DataValidationType.LIST_MULTIPLE)
1646
+ });
1647
+ }, "handler")
1648
+ }
1649
+ )
1650
+ );
1651
+ }
1652
+ _initAutoHeight() {
1653
+ this._sheetDataValidationModel.ruleChange$.pipe(
1654
+ // patched data-validation change don't need to re-calc row height
1655
+ // re-calc of row height will be triggered precisely by the origin command
1656
+ filter((change) => change.source === "command"),
1657
+ bufferTime(16)
1658
+ ).subscribe((infos) => {
1659
+ const ranges = [];
1660
+ if (infos.forEach((info) => {
1661
+ var _a17;
1662
+ (_a17 = info.rule) != null && _a17.ranges && ranges.push(...info.rule.ranges);
1663
+ }), ranges.length) {
1664
+ const mutations = this._autoHeightController.getUndoRedoParamsOfAutoHeight(ranges);
1665
+ sequenceExecute(mutations.redos, this._commandService);
1666
+ }
1667
+ });
1668
+ }
1669
+ }, __name(_a8, "SheetsDataValidationRenderController"), _a8);
1670
+ SheetsDataValidationRenderController = __decorateClass$7([
1671
+ __decorateParam$7(0, ICommandService),
1672
+ __decorateParam$7(1, IMenuManagerService),
1673
+ __decorateParam$7(2, IRenderManagerService),
1674
+ __decorateParam$7(3, IUniverInstanceService),
1675
+ __decorateParam$7(4, Inject(AutoHeightController)),
1676
+ __decorateParam$7(5, Inject(DataValidationDropdownManagerService)),
1677
+ __decorateParam$7(6, Inject(SheetDataValidationModel)),
1678
+ __decorateParam$7(7, Inject(DataValidatorRegistryService)),
1679
+ __decorateParam$7(8, Inject(SheetInterceptorService)),
1680
+ __decorateParam$7(9, Optional(IEditorBridgeService))
1681
+ ], SheetsDataValidationRenderController);
1682
+ var _a9;
1683
+ let SheetsDataValidationMobileRenderController = (_a9 = class extends RxDisposable {
1684
+ constructor(_commandService, _renderManagerService, _autoHeightController, _dataValidatorRegistryService, _sheetInterceptorService, _sheetDataValidationModel) {
1685
+ super(), this._commandService = _commandService, this._renderManagerService = _renderManagerService, this._autoHeightController = _autoHeightController, this._dataValidatorRegistryService = _dataValidatorRegistryService, this._sheetInterceptorService = _sheetInterceptorService, this._sheetDataValidationModel = _sheetDataValidationModel, this._initViewModelIntercept(), this._initAutoHeight();
1686
+ }
1687
+ // eslint-disable-next-line max-lines-per-function
1688
+ _initViewModelIntercept() {
1689
+ this.disposeWithMe(
1690
+ this._sheetInterceptorService.intercept(
1691
+ INTERCEPTOR_POINT.CELL_CONTENT,
1692
+ {
1693
+ effect: InterceptorEffectEnum.Style,
1694
+ // must be after numfmt
1695
+ priority: InterceptCellContentPriority.DATA_VALIDATION,
1696
+ // eslint-disable-next-line complexity
1697
+ handler: /* @__PURE__ */ __name((cell, pos, next) => {
1698
+ var _a17, _b, _c, _d;
1699
+ const { row, col, unitId, subUnitId, workbook, worksheet } = pos, ruleId = this._sheetDataValidationModel.getRuleIdByLocation(unitId, subUnitId, row, col);
1700
+ if (!ruleId)
1701
+ return next(cell);
1702
+ const rule = this._sheetDataValidationModel.getRuleById(unitId, subUnitId, ruleId);
1703
+ if (!rule)
1704
+ return next(cell);
1705
+ const validStatus = this._sheetDataValidationModel.validator(cell, rule, pos), validator = this._dataValidatorRegistryService.getValidatorItem(rule.type), cellOrigin = worksheet.getCellRaw(row, col), cellValue = getCellValueOrigin(cellOrigin), valueStr = `${cellValue != null ? cellValue : ""}`;
1706
+ return next({
1707
+ ...cell,
1708
+ dataValidation: {
1709
+ ruleId,
1710
+ validStatus,
1711
+ rule,
1712
+ validator
1713
+ },
1714
+ markers: {
1715
+ ...cell == null ? void 0 : cell.markers,
1716
+ ...validStatus === DataValidationStatus.INVALID ? INVALID_MARK : null
1717
+ },
1718
+ customRender: [
1719
+ ...(_a17 = cell == null ? void 0 : cell.customRender) != null ? _a17 : [],
1720
+ ...validator != null && validator.canvasRender ? [validator.canvasRender] : []
1721
+ ],
1722
+ fontRenderExtension: {
1723
+ ...cell == null ? void 0 : cell.fontRenderExtension,
1724
+ isSkip: ((_b = cell == null ? void 0 : cell.fontRenderExtension) == null ? void 0 : _b.isSkip) || ((_c = validator == null ? void 0 : validator.skipDefaultFontRender) == null ? void 0 : _c.call(validator, rule, cellValue, pos))
1725
+ },
1726
+ interceptorStyle: {
1727
+ ...cell == null ? void 0 : cell.interceptorStyle,
1728
+ ...validator == null ? void 0 : validator.getExtraStyle(rule, valueStr, {
1729
+ get style() {
1730
+ const styleMap = workbook.getStyles();
1731
+ return (typeof (cell == null ? void 0 : cell.s) == "string" ? styleMap.get(cell == null ? void 0 : cell.s) : cell == null ? void 0 : cell.s) || {};
1732
+ }
1733
+ })
1734
+ },
1735
+ interceptorAutoHeight: /* @__PURE__ */ __name(() => {
1736
+ var _a18, _b2, _c2, _d2, _e, _f;
1737
+ const skeleton = (_b2 = (_a18 = this._renderManagerService.getRenderById(unitId)) == null ? void 0 : _a18.with(SheetSkeletonManagerService).getWorksheetSkeleton(subUnitId)) == null ? void 0 : _b2.skeleton;
1738
+ if (!skeleton)
1739
+ return;
1740
+ const mergeCell = skeleton.worksheet.getMergedCell(row, col), info = {
1741
+ data: {
1742
+ ...cell,
1743
+ dataValidation: {
1744
+ ruleId,
1745
+ validStatus,
1746
+ rule,
1747
+ validator
1748
+ }
1749
+ },
1750
+ style: skeleton.getsStyles().getStyleByCell(cell),
1751
+ primaryWithCoord: skeleton.getCellByIndex((_c2 = mergeCell == null ? void 0 : mergeCell.startRow) != null ? _c2 : row, (_d2 = mergeCell == null ? void 0 : mergeCell.startColumn) != null ? _d2 : col),
1752
+ unitId,
1753
+ subUnitId,
1754
+ row,
1755
+ col,
1756
+ workbook,
1757
+ worksheet
1758
+ };
1759
+ return (_f = (_e = validator == null ? void 0 : validator.canvasRender) == null ? void 0 : _e.calcCellAutoHeight) == null ? void 0 : _f.call(_e, info);
1760
+ }, "interceptorAutoHeight"),
1761
+ coverable: ((_d = cell == null ? void 0 : cell.coverable) != null ? _d : !0) && !(rule.type === DataValidationType.LIST || rule.type === DataValidationType.LIST_MULTIPLE)
1762
+ });
1763
+ }, "handler")
1764
+ }
1765
+ )
1766
+ );
1767
+ }
1768
+ _initAutoHeight() {
1769
+ this._sheetDataValidationModel.ruleChange$.pipe(
1770
+ filter((change) => change.source === "command"),
1771
+ bufferTime(16)
1772
+ ).subscribe((infos) => {
1773
+ const ranges = [];
1774
+ if (infos.forEach((info) => {
1775
+ var _a17;
1776
+ (_a17 = info.rule) != null && _a17.ranges && ranges.push(...info.rule.ranges);
1777
+ }), ranges.length) {
1778
+ const mutations = this._autoHeightController.getUndoRedoParamsOfAutoHeight(ranges);
1779
+ sequenceExecute(mutations.redos, this._commandService);
1780
+ }
1781
+ });
1782
+ }
1783
+ }, __name(_a9, "SheetsDataValidationMobileRenderController"), _a9);
1784
+ SheetsDataValidationMobileRenderController = __decorateClass$7([
1785
+ __decorateParam$7(0, ICommandService),
1786
+ __decorateParam$7(1, IRenderManagerService),
1787
+ __decorateParam$7(2, Inject(AutoHeightController)),
1788
+ __decorateParam$7(3, Inject(DataValidatorRegistryService)),
1789
+ __decorateParam$7(4, Inject(SheetInterceptorService)),
1790
+ __decorateParam$7(5, Inject(SheetDataValidationModel))
1791
+ ], SheetsDataValidationMobileRenderController);
1792
+ const dataValidationFormula = "univer-data-validation-formula", dataValidationFormulaAnd = "univer-data-validation-formula-and", dataValidationFormulaListItem = "univer-data-validation-formula-list-item", dataValidationFormulaListItemIcon = "univer-data-validation-formula-list-item-icon", dataValidationFormulaListItemDrag = "univer-data-validation-formula-list-item-drag", dataValidationFormulaListAdd = "univer-data-validation-formula-list-add", dataValidationFormulaColorSelect = "univer-data-validation-formula-color-select", dataValidationFormulaColorSelectPanel = "univer-data-validation-formula-color-select-panel", dataValidationFormulaColorItem = "univer-data-validation-formula-color-item", styles = {
1793
+ dataValidationFormula,
1794
+ dataValidationFormulaAnd,
1795
+ dataValidationFormulaListItem,
1796
+ dataValidationFormulaListItemIcon,
1797
+ dataValidationFormulaListItemDrag,
1798
+ dataValidationFormulaListAdd,
1799
+ dataValidationFormulaColorSelect,
1800
+ dataValidationFormulaColorSelectPanel,
1801
+ dataValidationFormulaColorItem
1802
+ }, BaseFormulaInput = /* @__PURE__ */ __name((props) => {
1803
+ const { isTwoFormula = !1, value, onChange, showError, validResult } = props, localeService = useDependency(LocaleService), formula1Res = showError ? validResult == null ? void 0 : validResult.formula1 : "", formula2Res = showError ? validResult == null ? void 0 : validResult.formula2 : "";
1804
+ return isTwoFormula ? /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
1805
+ /* @__PURE__ */ jsxRuntimeExports.jsx(FormLayout, { error: formula1Res, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
1806
+ Input,
1807
+ {
1808
+ className: styles.dataValidationFormula,
1809
+ placeholder: localeService.t("dataValidation.panel.formulaPlaceholder"),
1810
+ value: value == null ? void 0 : value.formula1,
1811
+ onChange: /* @__PURE__ */ __name((newValue) => {
1812
+ onChange == null || onChange({
1813
+ ...value,
1814
+ formula1: newValue
1815
+ });
1816
+ }, "onChange")
1817
+ }
1818
+ ) }),
1819
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles.dataValidationFormulaAnd, children: localeService.t("dataValidation.panel.formulaAnd") }),
1820
+ /* @__PURE__ */ jsxRuntimeExports.jsx(FormLayout, { error: formula2Res, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
1821
+ Input,
1822
+ {
1823
+ className: styles.dataValidationFormula,
1824
+ placeholder: localeService.t("dataValidation.panel.formulaPlaceholder"),
1825
+ value: value == null ? void 0 : value.formula2,
1826
+ onChange: /* @__PURE__ */ __name((newValue) => {
1827
+ onChange == null || onChange({
1828
+ ...value,
1829
+ formula2: newValue
1830
+ });
1831
+ }, "onChange")
1832
+ }
1833
+ ) })
1834
+ ] }) : /* @__PURE__ */ jsxRuntimeExports.jsx(FormLayout, { error: formula1Res, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
1835
+ Input,
1836
+ {
1837
+ className: styles.dataValidationFormula,
1838
+ placeholder: localeService.t("dataValidation.panel.formulaPlaceholder"),
1839
+ value: value == null ? void 0 : value.formula1,
1840
+ onChange: /* @__PURE__ */ __name((newValue) => {
1841
+ onChange == null || onChange({ formula1: newValue });
1842
+ }, "onChange")
1843
+ }
1844
+ ) });
1845
+ }, "BaseFormulaInput");
1846
+ function CheckboxFormulaInput(props) {
1847
+ const { value, onChange, showError, validResult } = props, localeService = useDependency(LocaleService), formula1Res = showError ? validResult == null ? void 0 : validResult.formula1 : "", formula2Res = showError ? validResult == null ? void 0 : validResult.formula2 : "", [checked, setChecked] = useState(!((value == null ? void 0 : value.formula1) === void 0 && (value == null ? void 0 : value.formula2) === void 0));
1848
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
1849
+ /* @__PURE__ */ jsxRuntimeExports.jsx(FormLayout, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
1850
+ Checkbox,
1851
+ {
1852
+ checked,
1853
+ onChange: /* @__PURE__ */ __name((newValue) => {
1854
+ newValue ? setChecked(!0) : (setChecked(!1), onChange == null || onChange({
1855
+ ...value,
1856
+ formula1: void 0,
1857
+ formula2: void 0
1858
+ }));
1859
+ }, "onChange"),
1860
+ children: localeService.t("dataValidation.checkbox.tips")
1861
+ }
1862
+ ) }),
1863
+ checked ? /* @__PURE__ */ jsxRuntimeExports.jsx(FormLayout, { label: localeService.t("dataValidation.checkbox.checked"), error: formula1Res, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
1864
+ Input,
1865
+ {
1866
+ className: styles.dataValidationFormula,
1867
+ placeholder: localeService.t("dataValidation.panel.valuePlaceholder"),
1868
+ value: value == null ? void 0 : value.formula1,
1869
+ onChange: /* @__PURE__ */ __name((newValue) => {
1870
+ onChange == null || onChange({
1871
+ ...value,
1872
+ formula1: newValue || void 0
1873
+ });
1874
+ }, "onChange")
1875
+ }
1876
+ ) }) : null,
1877
+ checked ? /* @__PURE__ */ jsxRuntimeExports.jsx(FormLayout, { label: localeService.t("dataValidation.checkbox.unchecked"), error: formula2Res, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
1878
+ Input,
1879
+ {
1880
+ className: styles.dataValidationFormula,
1881
+ placeholder: localeService.t("dataValidation.panel.valuePlaceholder"),
1882
+ value: value == null ? void 0 : value.formula2,
1883
+ onChange: /* @__PURE__ */ __name((newValue) => {
1884
+ onChange == null || onChange({
1885
+ ...value,
1886
+ formula2: newValue || void 0
1887
+ });
1888
+ }, "onChange")
1889
+ }
1890
+ ) }) : null
1891
+ ] });
1892
+ }
1893
+ __name(CheckboxFormulaInput, "CheckboxFormulaInput");
1894
+ function CustomFormulaInput(props) {
1895
+ var _a17;
1896
+ const { unitId, subUnitId, value, onChange, showError, validResult } = props, formula1Res = showError ? validResult == null ? void 0 : validResult.formula1 : "";
1897
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(FormLayout, { error: formula1Res, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
1898
+ TextEditor,
1899
+ {
1900
+ value: (_a17 = value == null ? void 0 : value.formula1) != null ? _a17 : "",
1901
+ id: createInternalEditorID(`dataValidation-custom-formula-${unitId}-${subUnitId}`),
1902
+ onChange: /* @__PURE__ */ __name((newValue) => {
1903
+ onChange == null || onChange({
1904
+ ...value,
1905
+ formula1: (newValue != null ? newValue : "").trim()
1906
+ });
1907
+ }, "onChange"),
1908
+ onlyInputFormula: !0,
1909
+ openForSheetUnitId: unitId,
1910
+ openForSheetSubUnitId: subUnitId
1911
+ }
1912
+ ) });
1913
+ }
1914
+ __name(CustomFormulaInput, "CustomFormulaInput");
1915
+ const DEFAULT_COLOR_PRESET = [
1916
+ "#FFFFFF",
1917
+ "#FEE7E7",
1918
+ "#FEF0E6",
1919
+ "#EFFBD0",
1920
+ "#E4F4FE",
1921
+ "#E8ECFD",
1922
+ "#F1EAFA",
1923
+ "#FDE8F3",
1924
+ "#E5E5E5",
1925
+ "#FDCECE",
1926
+ "#FDC49B",
1927
+ "#DEF6A2",
1928
+ "#9FDAFF",
1929
+ "#D0D9FB",
1930
+ "#E3D5F6",
1931
+ "#FBD0E8",
1932
+ "#656565",
1933
+ "#FE4B4B",
1934
+ "#FF8C51",
1935
+ "#8BBB11",
1936
+ "#0B9EFB",
1937
+ "#3A60F7",
1938
+ "#9E6DE3",
1939
+ "#F248A6"
1940
+ ], ColorSelect = /* @__PURE__ */ __name((props) => {
1941
+ const { value, onChange, disabled } = props, [open, setOpen] = useState(!1);
1942
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(
1943
+ Select,
1944
+ {
1945
+ disabled,
1946
+ open,
1947
+ onDropdownVisibleChange: setOpen,
1948
+ dropdownStyle: { width: 112 },
1949
+ className: styles.dataValidationFormulaColorSelect,
1950
+ value,
1951
+ onChange,
1952
+ labelRender: /* @__PURE__ */ __name((item) => /* @__PURE__ */ jsxRuntimeExports.jsx(
1953
+ "div",
1954
+ {
1955
+ className: styles.dataValidationFormulaColorItem,
1956
+ style: { background: item.value, marginTop: 5 }
1957
+ }
1958
+ ), "labelRender"),
1959
+ dropdownRender: /* @__PURE__ */ __name(() => /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles.dataValidationFormulaColorSelectPanel, children: DEFAULT_COLOR_PRESET.map(
1960
+ (color) => /* @__PURE__ */ jsxRuntimeExports.jsx(
1961
+ "div",
1962
+ {
1963
+ onClick: /* @__PURE__ */ __name(() => {
1964
+ onChange(color), setOpen(!1);
1965
+ }, "onClick"),
1966
+ className: styles.dataValidationFormulaColorItem,
1967
+ style: { background: color }
1968
+ },
1969
+ color
1970
+ )
1971
+ ) }), "dropdownRender")
1972
+ }
1973
+ );
1974
+ }, "ColorSelect"), Template = /* @__PURE__ */ __name((props) => {
1975
+ const { item, commonProps, style } = props, { onItemChange, onItemDelete } = commonProps;
1976
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: styles.dataValidationFormulaListItem, style, children: [
1977
+ item.isRef ? null : /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: cs(styles.dataValidationFormulaListItemDrag, "draggableHandle"), children: /* @__PURE__ */ jsxRuntimeExports.jsx(SequenceSingle, {}) }),
1978
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
1979
+ ColorSelect,
1980
+ {
1981
+ value: item.color,
1982
+ onChange: /* @__PURE__ */ __name((color) => {
1983
+ onItemChange(item.id, item.label, color);
1984
+ }, "onChange")
1985
+ }
1986
+ ),
1987
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
1988
+ Input,
1989
+ {
1990
+ disabled: item.isRef,
1991
+ value: item.label,
1992
+ onChange: /* @__PURE__ */ __name((label) => {
1993
+ onItemChange(item.id, label, item.color);
1994
+ }, "onChange")
1995
+ }
1996
+ ),
1997
+ item.isRef ? null : /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles.dataValidationFormulaListItemIcon, children: /* @__PURE__ */ jsxRuntimeExports.jsx(DeleteSingle, { onClick: /* @__PURE__ */ __name(() => onItemDelete(item.id), "onClick") }) })
1998
+ ] });
1999
+ }, "Template");
2000
+ function ListFormulaInput(props) {
2001
+ const { value, onChange: _onChange = /* @__PURE__ */ __name(() => {
2002
+ }, "_onChange"), unitId, subUnitId, validResult, showError, ruleId } = props, { formula1 = "", formula2 = "" } = value || {}, containerRef = useRef(null), [isFormulaStr, setIsFormulaStr] = useState(() => isFormulaString(formula1) ? "1" : "0"), [formulaStr, setFormulaStr] = useState(isFormulaStr === "1" ? formula1 : "="), [formulaStrCopy, setFormulaStrCopy] = useState(isFormulaStr === "1" ? formula1 : "="), localeService = useDependency(LocaleService), dataValidatorRegistryService = useDependency(DataValidatorRegistryService), dataValidationModel = useDependency(DataValidationModel), dataValidationFormulaController = useDependency(DataValidationFormulaController), [refColors, setRefColors] = useState(() => formula2.split(",")), listValidator = dataValidatorRegistryService.getValidatorItem(DataValidationType.LIST), [refOptions, setRefOptions] = useState([]), [localError, setLocalError] = useState(""), formula1Res = showError ? validResult == null ? void 0 : validResult.formula1 : "", ruleChange$ = useMemo(() => dataValidationModel.ruleChange$.pipe(debounceTime(16)), []), ruleChange = useObservable(ruleChange$), onChange = useEvent(_onChange);
2003
+ useEffect(() => {
2004
+ (async () => {
2005
+ await new Promise((resolve) => {
2006
+ setTimeout(() => resolve(!0), 100);
2007
+ });
2008
+ const rule = dataValidationModel.getRuleById(unitId, subUnitId, ruleId), formula12 = rule == null ? void 0 : rule.formula1;
2009
+ if (isFormulaString(formula12) && listValidator && rule) {
2010
+ const res = await listValidator.getListAsync(rule, unitId, subUnitId);
2011
+ setRefOptions(res);
2012
+ }
2013
+ })();
2014
+ }, [dataValidationModel, ruleChange, listValidator, ruleId, subUnitId, unitId]), useEffect(() => {
2015
+ isFormulaString(formula1) && formula1 !== formulaStrCopy && (setFormulaStr(formula1), setFormulaStrCopy(formulaStrCopy));
2016
+ }, [formulaStrCopy, formula1]);
2017
+ const [strList, setStrList] = useState(() => {
2018
+ const strOptions = isFormulaStr !== "1" ? deserializeListOptions(formula1) : [], strColors = formula2.split(",");
2019
+ return strOptions.map((label, i) => ({
2020
+ label,
2021
+ color: strColors[i] || DROP_DOWN_DEFAULT_COLOR,
2022
+ isRef: !1,
2023
+ id: Tools.generateRandomId(4)
2024
+ }));
2025
+ }), handleStrItemChange = /* @__PURE__ */ __name((id, value2, color) => {
2026
+ const item = strList.find((i) => i.id === id);
2027
+ item && (item.label = value2, item.color = color, setStrList([...strList]));
2028
+ }, "handleStrItemChange"), handleStrItemDelete = /* @__PURE__ */ __name((id) => {
2029
+ const index = strList.findIndex((i) => i.id === id);
2030
+ index !== -1 && (strList.splice(index, 1), setStrList([...strList]));
2031
+ }, "handleStrItemDelete"), colorList = formula2.split(","), refFinalList = useMemo(() => refOptions.map((label, i) => ({
2032
+ label,
2033
+ color: colorList[i] || DROP_DOWN_DEFAULT_COLOR,
2034
+ id: `${i}`,
2035
+ isRef: !0
2036
+ })), [colorList, refOptions]), handleRefItemChange = /* @__PURE__ */ __name((id, value2, color) => {
2037
+ const newColors = [...refColors];
2038
+ newColors[+id] = color, setRefColors(newColors), onChange({
2039
+ formula1,
2040
+ formula2: newColors.join(",")
2041
+ });
2042
+ }, "handleRefItemChange"), handleAdd = /* @__PURE__ */ __name(() => {
2043
+ setStrList([
2044
+ ...strList,
2045
+ {
2046
+ label: "",
2047
+ color: DROP_DOWN_DEFAULT_COLOR,
2048
+ isRef: !1,
2049
+ id: Tools.generateRandomId(4)
2050
+ }
2051
+ ]);
2052
+ }, "handleAdd");
2053
+ useEffect(() => {
2054
+ if (isFormulaStr === "1")
2055
+ return;
2056
+ const labelSet = /* @__PURE__ */ new Set(), finalList = [];
2057
+ strList.map((item) => ({
2058
+ labelList: item.label.split(","),
2059
+ item
2060
+ })).forEach(({ item, labelList }) => {
2061
+ labelList.forEach((labelItem) => {
2062
+ labelSet.has(labelItem) || (labelSet.add(labelItem), finalList.push({
2063
+ label: labelItem,
2064
+ color: item.color
2065
+ }));
2066
+ });
2067
+ }), onChange({
2068
+ formula1: serializeListOptions(finalList.map((item) => item.label)),
2069
+ formula2: finalList.map((item) => item.color === DROP_DOWN_DEFAULT_COLOR ? "" : item.color).join(",")
2070
+ });
2071
+ }, [strList, onChange, isFormulaStr, formulaStrCopy, refColors]);
2072
+ const updateFormula = useMemo(
2073
+ () => async (str) => {
2074
+ if (!isFormulaString(str)) {
2075
+ onChange == null || onChange({
2076
+ formula1: "",
2077
+ formula2
2078
+ });
2079
+ return;
2080
+ }
2081
+ dataValidationFormulaController.getFormulaRefCheck(str) ? (onChange == null || onChange({
2082
+ formula1: isFormulaString(str) ? str : "",
2083
+ formula2
2084
+ }), setLocalError("")) : (onChange == null || onChange({
2085
+ formula1: "",
2086
+ formula2
2087
+ }), setFormulaStr("="), setLocalError(localeService.t("dataValidation.validFail.formulaError")));
2088
+ },
2089
+ [formula2, onChange]
2090
+ );
2091
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
2092
+ /* @__PURE__ */ jsxRuntimeExports.jsx(FormLayout, { label: localeService.t("dataValidation.list.options"), children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
2093
+ RadioGroup,
2094
+ {
2095
+ value: isFormulaStr,
2096
+ onChange: /* @__PURE__ */ __name((v) => {
2097
+ setIsFormulaStr(v), setFormulaStr(formulaStrCopy), v === "1" && onChange({
2098
+ formula1: formulaStrCopy === "=" ? "" : formulaStrCopy,
2099
+ formula2: refColors.join(",")
2100
+ });
2101
+ }, "onChange"),
2102
+ children: [
2103
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Radio, { value: "0", children: localeService.t("dataValidation.list.customOptions") }),
2104
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Radio, { value: "1", children: localeService.t("dataValidation.list.refOptions") })
2105
+ ]
2106
+ }
2107
+ ) }),
2108
+ isFormulaStr === "1" ? /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
2109
+ /* @__PURE__ */ jsxRuntimeExports.jsx(FormLayout, { error: formula1Res || localError, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
2110
+ TextEditor,
2111
+ {
2112
+ id: createInternalEditorID(`list-ref-range-${unitId}-${subUnitId}`),
2113
+ value: formulaStr,
2114
+ openForSheetUnitId: unitId,
2115
+ openForSheetSubUnitId: subUnitId,
2116
+ onlyInputFormula: !0,
2117
+ onChange: /* @__PURE__ */ __name(async (newString) => {
2118
+ const str = (newString != null ? newString : "").trim();
2119
+ setFormulaStrCopy(str), updateFormula(str);
2120
+ }, "onChange")
2121
+ }
2122
+ ) }),
2123
+ /* @__PURE__ */ jsxRuntimeExports.jsx(FormLayout, { children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { ref: containerRef, children: refFinalList.map((item) => /* @__PURE__ */ jsxRuntimeExports.jsx(Template, { item, commonProps: { onItemChange: handleRefItemChange }, style: { marginBottom: 12 } }, item.id)) }) })
2124
+ ] }) : /* @__PURE__ */ jsxRuntimeExports.jsx(FormLayout, { error: formula1Res, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { ref: containerRef, style: { marginTop: "-12px" }, children: [
2125
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
2126
+ DraggableList,
2127
+ {
2128
+ list: strList,
2129
+ onListChange: setStrList,
2130
+ rowHeight: 32,
2131
+ margin: [0, 12],
2132
+ draggableHandle: ".draggableHandle",
2133
+ itemRender: /* @__PURE__ */ __name((item) => /* @__PURE__ */ jsxRuntimeExports.jsx(
2134
+ Template,
2135
+ {
2136
+ item,
2137
+ commonProps: {
2138
+ onItemChange: handleStrItemChange,
2139
+ onItemDelete: handleStrItemDelete
2140
+ }
2141
+ },
2142
+ item.id
2143
+ ), "itemRender"),
2144
+ idKey: "id"
2145
+ }
2146
+ ),
2147
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("a", { className: styles.dataValidationFormulaListAdd, onClick: handleAdd, children: [
2148
+ /* @__PURE__ */ jsxRuntimeExports.jsx(IncreaseSingle, {}),
2149
+ localeService.t("dataValidation.list.add")
2150
+ ] })
2151
+ ] }) })
2152
+ ] });
2153
+ }
2154
+ __name(ListFormulaInput, "ListFormulaInput");
2155
+ const CUSTOM_FORMULA_INPUT_NAME = "data-validation.custom-formula-input", BASE_FORMULA_INPUT_NAME$1 = "data-validation.formula-input", LIST_FORMULA_INPUT_NAME = "data-validation.list-formula-input", CHECKBOX_FORMULA_INPUT_NAME = "data-validation.checkbox-formula-input", FORMULA_INPUTS = [
2156
+ [
2157
+ CUSTOM_FORMULA_INPUT_NAME,
2158
+ CustomFormulaInput
2159
+ ],
2160
+ [
2161
+ BASE_FORMULA_INPUT_NAME$1,
2162
+ BaseFormulaInput
2163
+ ],
2164
+ [
2165
+ LIST_FORMULA_INPUT_NAME,
2166
+ ListFormulaInput
2167
+ ],
2168
+ [
2169
+ CHECKBOX_FORMULA_INPUT_NAME,
2170
+ CheckboxFormulaInput
2171
+ ]
2172
+ ], LIST_RENDER_MODE_OPTION_INPUT = "LIST_RENDER_MODE_OPTION_INPUT";
2173
+ function ListRenderModeInput(props) {
2174
+ var _a17;
2175
+ const { value, onChange } = props, localeService = useDependency(LocaleService);
2176
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(FormLayout, { label: localeService.t("dataValidation.renderMode.label"), children: /* @__PURE__ */ jsxRuntimeExports.jsxs(RadioGroup, { value: `${(_a17 = value.renderMode) != null ? _a17 : DataValidationRenderMode.CUSTOM}`, onChange: /* @__PURE__ */ __name((renderMode) => onChange({ ...value, renderMode: +renderMode }), "onChange"), children: [
2177
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Radio, { value: `${DataValidationRenderMode.CUSTOM}`, children: localeService.t("dataValidation.renderMode.chip") }),
2178
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Radio, { value: `${DataValidationRenderMode.ARROW}`, children: localeService.t("dataValidation.renderMode.arrow") }),
2179
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Radio, { value: `${DataValidationRenderMode.TEXT}`, children: localeService.t("dataValidation.renderMode.text") })
2180
+ ] }) });
2181
+ }
2182
+ __name(ListRenderModeInput, "ListRenderModeInput");
2183
+ ListRenderModeInput.componentKey = LIST_RENDER_MODE_OPTION_INPUT;
2184
+ const DATE_SHOW_TIME_OPTION = "DATE_SHOW_TIME_OPTION";
2185
+ function DateShowTimeOption(props) {
2186
+ var _a17;
2187
+ const { value, onChange } = props, localeService = useDependency(LocaleService);
2188
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(FormLayout, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
2189
+ Checkbox,
2190
+ {
2191
+ checked: (_a17 = value.bizInfo) == null ? void 0 : _a17.showTime,
2192
+ onChange: /* @__PURE__ */ __name((showTime) => {
2193
+ onChange({
2194
+ ...value,
2195
+ bizInfo: {
2196
+ ...value.bizInfo,
2197
+ showTime
2198
+ }
2199
+ });
2200
+ }, "onChange"),
2201
+ children: localeService.t("dataValidation.showTime.label")
2202
+ }
2203
+ ) });
2204
+ }
2205
+ __name(DateShowTimeOption, "DateShowTimeOption");
2206
+ DateShowTimeOption.componentKey = DATE_SHOW_TIME_OPTION;
2207
+ var __defProp$6 = Object.defineProperty, __getOwnPropDesc$6 = Object.getOwnPropertyDescriptor, __decorateClass$6 = /* @__PURE__ */ __name((decorators, target, key, kind) => {
2208
+ for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$6(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
2209
+ (decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
2210
+ return kind && result && __defProp$6(target, key, result), result;
2211
+ }, "__decorateClass$6"), __decorateParam$6 = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$6");
2212
+ const MARGIN_H$2 = 6;
2213
+ var _a10;
2214
+ let CheckboxRender = (_a10 = class {
2215
+ constructor(_commandService, _formulaService, _themeService) {
2216
+ this._commandService = _commandService, this._formulaService = _formulaService, this._themeService = _themeService;
2217
+ }
2218
+ _calc(cellInfo, style) {
2219
+ var _a17, _b, _c;
2220
+ const { vt, ht } = style || {}, width = cellInfo.endX - cellInfo.startX - MARGIN_H$2 * 2, height = cellInfo.endY - cellInfo.startY, size = ((_a17 = style == null ? void 0 : style.fs) != null ? _a17 : 10) * 1.6;
2221
+ let widgetLeft = 0, widgetTop = 0;
2222
+ switch (vt) {
2223
+ case VerticalAlign.TOP:
2224
+ widgetTop = 0;
2225
+ break;
2226
+ case VerticalAlign.BOTTOM:
2227
+ widgetTop = 0 + (height - size);
2228
+ break;
2229
+ default:
2230
+ widgetTop = 0 + (height - size) / 2;
2231
+ break;
2232
+ }
2233
+ switch (ht) {
2234
+ case HorizontalAlign.LEFT:
2235
+ widgetLeft = MARGIN_H$2;
2236
+ break;
2237
+ case HorizontalAlign.RIGHT:
2238
+ widgetLeft = MARGIN_H$2 + (width - size);
2239
+ break;
2240
+ default:
2241
+ widgetLeft = MARGIN_H$2 + (width - size) / 2;
2242
+ break;
2243
+ }
2244
+ return {
2245
+ left: cellInfo.startX + widgetLeft,
2246
+ top: cellInfo.startY + widgetTop,
2247
+ width: ((_b = style == null ? void 0 : style.fs) != null ? _b : 10) * 1.6,
2248
+ height: ((_c = style == null ? void 0 : style.fs) != null ? _c : 10) * 1.6
2249
+ };
2250
+ }
2251
+ calcCellAutoHeight(info) {
2252
+ var _a17;
2253
+ const { style } = info;
2254
+ return ((_a17 = style == null ? void 0 : style.fs) != null ? _a17 : 10) * 1.6;
2255
+ }
2256
+ async _parseFormula(rule, unitId, subUnitId) {
2257
+ var _a17, _b;
2258
+ const { formula1 = CHECKBOX_FORMULA_1, formula2 = CHECKBOX_FORMULA_2 } = rule, results = await this._formulaService.getRuleFormulaResult(unitId, subUnitId, rule.uid);
2259
+ return {
2260
+ formula1: isFormulaString(formula1) ? getFormulaResult((_a17 = results == null ? void 0 : results[0]) == null ? void 0 : _a17.result) : formula1,
2261
+ formula2: isFormulaString(formula2) ? getFormulaResult((_b = results == null ? void 0 : results[1]) == null ? void 0 : _b.result) : formula2
2262
+ };
2263
+ }
2264
+ drawWith(ctx, info) {
2265
+ var _a17, _b, _c, _d, _e, _f;
2266
+ const { style, data, primaryWithCoord, unitId, subUnitId, worksheet, row, col } = info, cellBounding = primaryWithCoord.isMergedMainCell ? primaryWithCoord.mergeInfo : primaryWithCoord, value = getCellValueOrigin(worksheet.getCellRaw(row, col)), rule = (_a17 = data.dataValidation) == null ? void 0 : _a17.rule, validator = (_b = data.dataValidation) == null ? void 0 : _b.validator;
2267
+ if (!rule || !validator)
2268
+ return;
2269
+ const colors = this._themeService.getCurrentTheme();
2270
+ if (!((_c = validator.skipDefaultFontRender) != null && _c.call(validator, rule, value, { unitId, subUnitId })))
2271
+ return;
2272
+ const result = validator.parseFormulaSync(rule, unitId, subUnitId), { formula1 } = result, layout = this._calc(cellBounding, style), { a: scaleX, d: scaleY } = ctx.getTransform(), left = fixLineWidthByScale(layout.left, scaleX), top = fixLineWidthByScale(layout.top, scaleY), transform = Transform.create().composeMatrix({
2273
+ left,
2274
+ top,
2275
+ scaleX: 1,
2276
+ scaleY: 1,
2277
+ angle: 0,
2278
+ skewX: 0,
2279
+ skewY: 0,
2280
+ flipX: !1,
2281
+ flipY: !1
2282
+ }), cellWidth = cellBounding.endX - cellBounding.startX, cellHeight = cellBounding.endY - cellBounding.startY;
2283
+ ctx.save(), ctx.beginPath(), ctx.rect(cellBounding.startX, cellBounding.startY, cellWidth, cellHeight), ctx.clip();
2284
+ const m2 = transform.getMatrix();
2285
+ ctx.transform(m2[0], m2[1], m2[2], m2[3], m2[4], m2[5]);
2286
+ const size = ((_d = style == null ? void 0 : style.fs) != null ? _d : 10) * 1.6, checked = String(value) === String(formula1), defaultColor = colors.hyacinth500;
2287
+ Checkbox$1.drawWith(ctx, {
2288
+ checked,
2289
+ width: size,
2290
+ height: size,
2291
+ fill: (_f = (_e = style == null ? void 0 : style.cl) == null ? void 0 : _e.rgb) != null ? _f : defaultColor
2292
+ }), ctx.restore();
2293
+ }
2294
+ isHit(evt, info) {
2295
+ const cellBounding = info.primaryWithCoord.isMergedMainCell ? info.primaryWithCoord.mergeInfo : info.primaryWithCoord, layout = this._calc(cellBounding, info.style), startY = layout.top, endY = layout.top + layout.height, startX = layout.left, endX = layout.left + layout.width, { x: offsetX, y: offsetY } = evt;
2296
+ return offsetX <= endX && offsetX >= startX && offsetY <= endY && offsetY >= startY;
2297
+ }
2298
+ async onPointerDown(info, evt) {
2299
+ var _a17, _b, _c;
2300
+ if (evt.button === 2)
2301
+ return;
2302
+ const { primaryWithCoord, unitId, subUnitId, data, worksheet, row, col } = info, value = getCellValueOrigin(worksheet.getCellRaw(row, col)), rule = (_a17 = data.dataValidation) == null ? void 0 : _a17.rule, validator = (_b = data.dataValidation) == null ? void 0 : _b.validator;
2303
+ if (!rule || !validator || !((_c = validator.skipDefaultFontRender) != null && _c.call(validator, rule, value, { unitId, subUnitId })))
2304
+ return;
2305
+ const { formula1, formula2 } = await this._parseFormula(rule, unitId, subUnitId), params = {
2306
+ range: {
2307
+ startColumn: primaryWithCoord.actualColumn,
2308
+ endColumn: primaryWithCoord.actualColumn,
2309
+ startRow: primaryWithCoord.actualRow,
2310
+ endRow: primaryWithCoord.actualRow
2311
+ },
2312
+ value: {
2313
+ v: String(value) === transformCheckboxValue(String(formula1)) ? formula2 : formula1,
2314
+ p: null
2315
+ }
2316
+ };
2317
+ this._commandService.executeCommand(
2318
+ SetRangeValuesCommand.id,
2319
+ params
2320
+ );
2321
+ }
2322
+ }, __name(_a10, "CheckboxRender"), _a10);
2323
+ CheckboxRender = __decorateClass$6([
2324
+ __decorateParam$6(0, ICommandService),
2325
+ __decorateParam$6(1, Inject(DataValidationFormulaService)),
2326
+ __decorateParam$6(2, Inject(ThemeService))
2327
+ ], CheckboxRender);
2328
+ var __defProp$5 = Object.defineProperty, __getOwnPropDesc$5 = Object.getOwnPropertyDescriptor, __decorateClass$5 = /* @__PURE__ */ __name((decorators, target, key, kind) => {
2329
+ for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$5(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
2330
+ (decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
2331
+ return kind && result && __defProp$5(target, key, result), result;
2332
+ }, "__decorateClass$5"), __decorateParam$5 = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$5"), _a11;
2333
+ let BaseSheetDataValidatorView = (_a11 = class {
2334
+ constructor(injector) {
2335
+ __publicField(this, "canvasRender", null);
2336
+ __publicField(this, "dropdown");
2337
+ __publicField(this, "optionsInput");
2338
+ __publicField(this, "formulaInput", LIST_FORMULA_INPUT_NAME);
2339
+ this.injector = injector;
2340
+ }
2341
+ }, __name(_a11, "BaseSheetDataValidatorView"), _a11);
2342
+ BaseSheetDataValidatorView = __decorateClass$5([
2343
+ __decorateParam$5(0, Inject(Injector))
2344
+ ], BaseSheetDataValidatorView);
2345
+ const _CheckboxValidatorView = class _CheckboxValidatorView extends BaseSheetDataValidatorView {
2346
+ constructor() {
2347
+ super(...arguments);
2348
+ __publicField(this, "id", DataValidationType.CHECKBOX);
2349
+ __publicField(this, "canvasRender", this.injector.createInstance(CheckboxRender));
2350
+ __publicField(this, "formulaInput", CHECKBOX_FORMULA_INPUT_NAME);
2351
+ }
2352
+ };
2353
+ __name(_CheckboxValidatorView, "CheckboxValidatorView");
2354
+ let CheckboxValidatorView = _CheckboxValidatorView;
2355
+ const _CustomFormulaValidatorView = class _CustomFormulaValidatorView extends BaseSheetDataValidatorView {
2356
+ constructor() {
2357
+ super(...arguments);
2358
+ __publicField(this, "id", DataValidationType.CUSTOM);
2359
+ __publicField(this, "formulaInput", CUSTOM_FORMULA_INPUT_NAME);
2360
+ }
2361
+ };
2362
+ __name(_CustomFormulaValidatorView, "CustomFormulaValidatorView");
2363
+ let CustomFormulaValidatorView = _CustomFormulaValidatorView;
2364
+ const BASE_FORMULA_INPUT_NAME = "data-validation.formula-input", _DateValidatorView = class _DateValidatorView extends BaseSheetDataValidatorView {
2365
+ constructor() {
2366
+ super(...arguments);
2367
+ __publicField(this, "id", DataValidationType.DATE);
2368
+ __publicField(this, "formulaInput", BASE_FORMULA_INPUT_NAME);
2369
+ __publicField(this, "optionsInput", DateShowTimeOption.componentKey);
2370
+ __publicField(this, "dropdown", DATE_DROPDOWN_KEY);
2371
+ }
2372
+ };
2373
+ __name(_DateValidatorView, "DateValidatorView");
2374
+ let DateValidatorView = _DateValidatorView;
2375
+ const _DecimalValidatorView = class _DecimalValidatorView extends BaseSheetDataValidatorView {
2376
+ constructor() {
2377
+ super(...arguments);
2378
+ __publicField(this, "id", DataValidationType.DECIMAL);
2379
+ __publicField(this, "formulaInput", BASE_FORMULA_INPUT_NAME$1);
2380
+ }
2381
+ };
2382
+ __name(_DecimalValidatorView, "DecimalValidatorView");
2383
+ let DecimalValidatorView = _DecimalValidatorView;
2384
+ const PADDING_H$1 = 4, PADDING_V = 0, MARGIN_H$1 = 4, MARGIN_V$1 = 4, CELL_PADDING_H = 6, CELL_PADDING_V = 6, ICON_PLACE$1 = 14;
2385
+ function getDropdownItemSize(text, fontStyle) {
2386
+ const bBox = FontCache.getTextSize(text, fontStyle), rectWidth = bBox.width + PADDING_H$1 * 2, { ba, bd } = bBox, height = ba + bd;
2387
+ return {
2388
+ width: rectWidth,
2389
+ height: height + PADDING_V * 2,
2390
+ ba
2391
+ };
2392
+ }
2393
+ __name(getDropdownItemSize, "getDropdownItemSize");
2394
+ function layoutDropdowns(items, fontStyle, cellWidth, cellHeight) {
2395
+ const contentWidth = cellWidth - ICON_PLACE$1 - CELL_PADDING_H, contentHeight = cellHeight - CELL_PADDING_V * 2, textLayout = items.map((item) => ({
2396
+ layout: getDropdownItemSize(item, fontStyle),
2397
+ text: item
2398
+ }));
2399
+ let currentLine;
2400
+ const lines = [];
2401
+ textLayout.forEach((item) => {
2402
+ const { layout } = item, { width, height } = layout;
2403
+ !currentLine || currentLine.width + width + MARGIN_H$1 > contentWidth ? (currentLine = {
2404
+ width,
2405
+ height,
2406
+ items: [{
2407
+ ...item,
2408
+ left: 0
2409
+ }]
2410
+ }, lines.push(currentLine)) : (currentLine.items.push({
2411
+ ...item,
2412
+ left: currentLine.width + MARGIN_H$1
2413
+ }), currentLine.width = currentLine.width + width + MARGIN_H$1);
2414
+ });
2415
+ let totalHeight = 0;
2416
+ return lines.forEach((line, index) => {
2417
+ index === lines.length - 1 ? totalHeight += line.height : totalHeight += line.height + MARGIN_V$1;
2418
+ }), {
2419
+ lines,
2420
+ totalHeight,
2421
+ contentWidth,
2422
+ contentHeight,
2423
+ cellAutoHeight: totalHeight + CELL_PADDING_V * 2
2424
+ };
2425
+ }
2426
+ __name(layoutDropdowns, "layoutDropdowns");
2427
+ const RADIUS = 8, _Dropdown = class _Dropdown extends Shape {
2428
+ static drawWith(ctx, props) {
2429
+ const { fontString, info, fill, color } = props, { layout, text } = info;
2430
+ ctx.save(), Rect.drawWith(ctx, {
2431
+ width: layout.width,
2432
+ height: layout.height,
2433
+ radius: RADIUS,
2434
+ fill: fill || DROP_DOWN_DEFAULT_COLOR
2435
+ }), ctx.translateWithPrecision(PADDING_H$1, layout.ba), ctx.font = fontString, ctx.fillStyle = color, ctx.fillText(text, 0, 0), ctx.restore();
2436
+ }
2437
+ };
2438
+ __name(_Dropdown, "Dropdown");
2439
+ let Dropdown = _Dropdown;
2440
+ var __defProp$4 = Object.defineProperty, __getOwnPropDesc$4 = Object.getOwnPropertyDescriptor, __decorateClass$4 = /* @__PURE__ */ __name((decorators, target, key, kind) => {
2441
+ for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$4(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
2442
+ (decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
2443
+ return kind && result && __defProp$4(target, key, result), result;
2444
+ }, "__decorateClass$4"), __decorateParam$4 = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$4");
2445
+ const downPath$1 = new Path2D("M3.32201 4.84556C3.14417 5.05148 2.85583 5.05148 2.67799 4.84556L0.134292 1.90016C-0.152586 1.56798 0.0505937 1 0.456301 1L5.5437 1C5.94941 1 6.15259 1.56798 5.86571 1.90016L3.32201 4.84556Z");
2446
+ var _a12;
2447
+ let DropdownMultipleWidget = (_a12 = class {
2448
+ constructor(_commandService) {
2449
+ __publicField(this, "zIndex");
2450
+ __publicField(this, "_dropdownInfoMap", /* @__PURE__ */ new Map());
2451
+ this._commandService = _commandService;
2452
+ }
2453
+ _ensureMap(subUnitId) {
2454
+ let map = this._dropdownInfoMap.get(subUnitId);
2455
+ return map || (map = /* @__PURE__ */ new Map(), this._dropdownInfoMap.set(subUnitId, map)), map;
2456
+ }
2457
+ _generateKey(row, col) {
2458
+ return `${row}.${col}`;
2459
+ }
2460
+ _drawDownIcon(ctx, cellBounding, cellWidth, cellHeight, vt) {
2461
+ const left = cellWidth - ICON_PLACE$1 + 4;
2462
+ let top = 4;
2463
+ switch (vt) {
2464
+ case VerticalAlign.MIDDLE:
2465
+ top = (cellHeight - ICON_PLACE$1) / 2 + 4;
2466
+ break;
2467
+ case VerticalAlign.BOTTOM:
2468
+ top = cellHeight - ICON_PLACE$1 + 4;
2469
+ break;
2470
+ }
2471
+ ctx.save(), ctx.translateWithPrecision(cellBounding.startX + left, cellBounding.startY + top), ctx.fillStyle = "#565656", ctx.fill(downPath$1), ctx.restore();
2472
+ }
2473
+ // eslint-disable-next-line max-lines-per-function
2474
+ drawWith(ctx, info, skeleton, spreadsheets) {
2475
+ var _a17, _b;
2476
+ const { primaryWithCoord, row, col, style, data, subUnitId } = info, _cellBounding = primaryWithCoord.isMergedMainCell ? primaryWithCoord.mergeInfo : primaryWithCoord, fontRenderExtension = data.fontRenderExtension, { leftOffset = 0, rightOffset = 0, topOffset = 0, downOffset = 0 } = fontRenderExtension || {}, validation = data.dataValidation, map = this._ensureMap(subUnitId), key = this._generateKey(row, col);
2477
+ if (!validation)
2478
+ return;
2479
+ const cellBounding = {
2480
+ startX: _cellBounding.startX + leftOffset,
2481
+ endX: _cellBounding.endX - rightOffset,
2482
+ startY: _cellBounding.startY + topOffset,
2483
+ endY: _cellBounding.endY - downOffset
2484
+ }, cellWidth = cellBounding.endX - cellBounding.startX, cellHeight = cellBounding.endY - cellBounding.startY, { cl } = style || {}, color = (_a17 = typeof cl == "object" ? cl == null ? void 0 : cl.rgb : cl) != null ? _a17 : "#000", fontStyle = getFontStyleString(style != null ? style : void 0), { rule, validator: _validator } = validation, validator = _validator, { vt: _vt, ht } = style || {}, vt = _vt != null ? _vt : VerticalAlign.MIDDLE, cellValue = (_b = getCellValueOrigin(data)) != null ? _b : "", items = validator.parseCellValue(cellValue), labelColorMap = validator.getListWithColorMap(rule), layout = layoutDropdowns(items, fontStyle, cellWidth, cellHeight);
2485
+ this._drawDownIcon(ctx, cellBounding, cellWidth, cellHeight, vt), ctx.save(), ctx.translateWithPrecision(cellBounding.startX, cellBounding.startY), ctx.beginPath(), ctx.rect(0, 0, cellWidth - ICON_PLACE$1, cellHeight), ctx.clip(), ctx.translateWithPrecision(CELL_PADDING_H, CELL_PADDING_V);
2486
+ let top = 0;
2487
+ switch (vt) {
2488
+ case VerticalAlign.MIDDLE:
2489
+ top = (layout.contentHeight - layout.totalHeight) / 2;
2490
+ break;
2491
+ case VerticalAlign.BOTTOM:
2492
+ top = layout.contentHeight - layout.totalHeight;
2493
+ break;
2494
+ }
2495
+ ctx.translateWithPrecision(0, top), layout.lines.forEach((line, index) => {
2496
+ ctx.save();
2497
+ const { width, height, items: items2 } = line;
2498
+ let left = 0;
2499
+ switch (ht) {
2500
+ case HorizontalAlign.RIGHT:
2501
+ left = layout.contentWidth - width;
2502
+ break;
2503
+ case HorizontalAlign.CENTER:
2504
+ left = (layout.contentWidth - width) / 2;
2505
+ break;
2506
+ }
2507
+ ctx.translate(left, index * (height + MARGIN_V$1)), items2.forEach((item) => {
2508
+ ctx.save(), ctx.translateWithPrecision(item.left, 0), Dropdown.drawWith(ctx, {
2509
+ ...fontStyle,
2510
+ info: item,
2511
+ color,
2512
+ fill: labelColorMap[item.text]
2513
+ }), ctx.restore();
2514
+ }), ctx.restore();
2515
+ }), ctx.restore(), map.set(key, {
2516
+ left: cellBounding.startX,
2517
+ top: cellBounding.startY,
2518
+ width: layout.contentWidth + CELL_PADDING_H + ICON_PLACE$1,
2519
+ height: layout.contentHeight + CELL_PADDING_V * 2
2520
+ });
2521
+ }
2522
+ calcCellAutoHeight(info) {
2523
+ var _a17;
2524
+ const { primaryWithCoord, style, data } = info, fontRenderExtension = data.fontRenderExtension, { leftOffset = 0, rightOffset = 0, topOffset = 0, downOffset = 0 } = fontRenderExtension || {}, _cellBounding = primaryWithCoord.isMergedMainCell ? primaryWithCoord.mergeInfo : primaryWithCoord, cellBounding = {
2525
+ startX: _cellBounding.startX + leftOffset,
2526
+ endX: _cellBounding.endX - rightOffset,
2527
+ startY: _cellBounding.startY + topOffset,
2528
+ endY: _cellBounding.endY - downOffset
2529
+ }, validation = data.dataValidation;
2530
+ if (!validation)
2531
+ return;
2532
+ const cellWidth = cellBounding.endX - cellBounding.startX, cellHeight = cellBounding.endY - cellBounding.startY, cellValue = (_a17 = getCellValueOrigin(data)) != null ? _a17 : "", { validator: _validator } = validation, items = _validator.parseCellValue(cellValue), fontStyle = getFontStyleString(style != null ? style : void 0);
2533
+ return layoutDropdowns(items, fontStyle, cellWidth, cellHeight).cellAutoHeight;
2534
+ }
2535
+ isHit(position, info) {
2536
+ const { primaryWithCoord } = info, cellBounding = primaryWithCoord.isMergedMainCell ? primaryWithCoord.mergeInfo : primaryWithCoord, { endX } = cellBounding, { x } = position;
2537
+ return x >= endX - ICON_PLACE$1 && x <= endX;
2538
+ }
2539
+ onPointerDown(info, evt) {
2540
+ if (evt.button === 2)
2541
+ return;
2542
+ const { unitId, subUnitId, row, col } = info, params = {
2543
+ unitId,
2544
+ subUnitId,
2545
+ row,
2546
+ column: col
2547
+ };
2548
+ this._commandService.executeCommand(ShowDataValidationDropdown.id, params);
2549
+ }
2550
+ }, __name(_a12, "DropdownMultipleWidget"), _a12);
2551
+ DropdownMultipleWidget = __decorateClass$4([
2552
+ __decorateParam$4(0, ICommandService)
2553
+ ], DropdownMultipleWidget);
2554
+ const _ListMultipleValidatorView = class _ListMultipleValidatorView extends BaseSheetDataValidatorView {
2555
+ constructor() {
2556
+ super(...arguments);
2557
+ __publicField(this, "id", DataValidationType.LIST_MULTIPLE);
2558
+ __publicField(this, "canvasRender", this.injector.createInstance(DropdownMultipleWidget));
2559
+ }
2560
+ };
2561
+ __name(_ListMultipleValidatorView, "ListMultipleValidatorView");
2562
+ let ListMultipleValidatorView = _ListMultipleValidatorView;
2563
+ var __defProp$3 = Object.defineProperty, __getOwnPropDesc$3 = Object.getOwnPropertyDescriptor, __decorateClass$3 = /* @__PURE__ */ __name((decorators, target, key, kind) => {
2564
+ for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$3(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
2565
+ (decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
2566
+ return kind && result && __defProp$3(target, key, result), result;
2567
+ }, "__decorateClass$3"), __decorateParam$3 = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$3");
2568
+ const PADDING_H = 4, ICON_SIZE = 4, ICON_PLACE = 14, MARGIN_H = 6, MARGIN_V = 4, DROP_DOWN_ICON_COLOR = "#565656", downPath = new Path2D("M3.32201 4.84556C3.14417 5.05148 2.85583 5.05148 2.67799 4.84556L0.134292 1.90016C-0.152586 1.56798 0.0505937 1 0.456301 1L5.5437 1C5.94941 1 6.15259 1.56798 5.86571 1.90016L3.32201 4.84556Z");
2569
+ function convertToDocumentData(text, style) {
2570
+ const contentLength = text.length;
2571
+ return {
2572
+ id: "d",
2573
+ body: {
2574
+ dataStream: `${text}${DEFAULT_EMPTY_DOCUMENT_VALUE}`,
2575
+ textRuns: [
2576
+ {
2577
+ ts: {
2578
+ fs: 11,
2579
+ ff: void 0,
2580
+ it: BooleanNumber.FALSE,
2581
+ bl: BooleanNumber.FALSE,
2582
+ ul: {
2583
+ s: BooleanNumber.FALSE
2584
+ },
2585
+ st: {
2586
+ s: BooleanNumber.FALSE
2587
+ },
2588
+ ol: {
2589
+ s: BooleanNumber.FALSE
2590
+ },
2591
+ cl: void 0,
2592
+ ...style,
2593
+ bg: void 0,
2594
+ bd: void 0
2595
+ },
2596
+ st: 0,
2597
+ ed: contentLength
2598
+ }
2599
+ ]
2600
+ },
2601
+ documentStyle: {
2602
+ pageSize: {
2603
+ width: Number.POSITIVE_INFINITY,
2604
+ height: Number.POSITIVE_INFINITY
2605
+ }
2606
+ }
2607
+ };
2608
+ }
2609
+ __name(convertToDocumentData, "convertToDocumentData");
2610
+ function createDocSkeleton(text, localeService, style) {
2611
+ const documentData = convertToDocumentData(text, style), docModel = new DocumentDataModel(documentData), docViewModel = new DocumentViewModel(docModel);
2612
+ return {
2613
+ documentSkeleton: DocumentSkeleton.create(docViewModel, localeService),
2614
+ docModel,
2615
+ docViewModel
2616
+ };
2617
+ }
2618
+ __name(createDocSkeleton, "createDocSkeleton");
2619
+ function createDocuments(text, localeService, style) {
2620
+ const {
2621
+ documentSkeleton,
2622
+ docModel,
2623
+ docViewModel
2624
+ } = createDocSkeleton(text, localeService, style);
2625
+ return {
2626
+ documents: new Documents(`DOCUMENTS_${Tools.generateRandomId()}`, documentSkeleton, {
2627
+ pageMarginLeft: 0,
2628
+ pageMarginTop: 0
2629
+ }),
2630
+ documentSkeleton,
2631
+ docModel,
2632
+ docViewModel
2633
+ };
2634
+ }
2635
+ __name(createDocuments, "createDocuments");
2636
+ function calcPadding(cellWidth, cellHeight, fontWidth, fontHeight, vt, ht, margin = !0) {
2637
+ let paddingTop = 0;
2638
+ const realMargin = margin ? MARGIN_V : 0;
2639
+ switch (vt) {
2640
+ case VerticalAlign.BOTTOM:
2641
+ paddingTop = cellHeight - fontHeight - realMargin;
2642
+ break;
2643
+ case VerticalAlign.MIDDLE:
2644
+ paddingTop = (cellHeight - fontHeight) / 2;
2645
+ break;
2646
+ default:
2647
+ paddingTop = realMargin;
2648
+ break;
2649
+ }
2650
+ paddingTop = Math.max(MARGIN_V, paddingTop);
2651
+ let paddingLeft = 0;
2652
+ switch (ht) {
2653
+ case HorizontalAlign.CENTER:
2654
+ paddingLeft = (cellWidth - fontWidth) / 2;
2655
+ break;
2656
+ case HorizontalAlign.RIGHT:
2657
+ paddingLeft = cellWidth - fontWidth;
2658
+ break;
2659
+ }
2660
+ return paddingLeft = Math.max(MARGIN_H, paddingLeft), {
2661
+ paddingLeft,
2662
+ paddingTop
2663
+ };
2664
+ }
2665
+ __name(calcPadding, "calcPadding");
2666
+ var _a13;
2667
+ let DropdownWidget = (_a13 = class {
2668
+ constructor(_localeService, _commandService) {
2669
+ __publicField(this, "_dropdownInfoMap", /* @__PURE__ */ new Map());
2670
+ __publicField(this, "zIndex");
2671
+ __publicField(this, "onPointerEnter");
2672
+ __publicField(this, "onPointerLeave");
2673
+ this._localeService = _localeService, this._commandService = _commandService;
2674
+ }
2675
+ _ensureMap(subUnitId) {
2676
+ let map = this._dropdownInfoMap.get(subUnitId);
2677
+ return map || (map = /* @__PURE__ */ new Map(), this._dropdownInfoMap.set(subUnitId, map)), map;
2678
+ }
2679
+ _generateKey(row, col) {
2680
+ return `${row}.${col}`;
2681
+ }
2682
+ _drawDownIcon(ctx, cellBounding, cellWidth, cellHeight, fontHeight, vt, pd) {
2683
+ const { t = DEFAULT_STYLES.pd.t, b = DEFAULT_STYLES.pd.b } = pd, left = cellWidth - ICON_PLACE;
2684
+ let top;
2685
+ switch (vt) {
2686
+ case VerticalAlign.MIDDLE:
2687
+ top = (cellHeight - ICON_SIZE) / 2;
2688
+ break;
2689
+ case VerticalAlign.BOTTOM:
2690
+ top = cellHeight - b - fontHeight - MARGIN_V + (fontHeight / 2 - ICON_SIZE / 2);
2691
+ break;
2692
+ default:
2693
+ top = t + MARGIN_V + (fontHeight / 2 - ICON_SIZE / 2);
2694
+ break;
2695
+ }
2696
+ ctx.save(), ctx.translateWithPrecision(cellBounding.startX + left, cellBounding.startY + top), ctx.fillStyle = "#565656", ctx.fill(downPath), ctx.restore();
2697
+ }
2698
+ // eslint-disable-next-line max-lines-per-function, complexity
2699
+ drawWith(ctx, info, skeleton) {
2700
+ var _a17, _b;
2701
+ const { primaryWithCoord, row, col, style, data, subUnitId } = info, _cellBounding = primaryWithCoord.isMergedMainCell ? primaryWithCoord.mergeInfo : primaryWithCoord, rule = (_a17 = data.dataValidation) == null ? void 0 : _a17.rule, validator = (_b = data.dataValidation) == null ? void 0 : _b.validator, fontRenderExtension = data.fontRenderExtension, { leftOffset = 0, rightOffset = 0, topOffset = 0, downOffset = 0 } = fontRenderExtension || {};
2702
+ if (!rule || !validator || !validator || validator.id.indexOf(DataValidationType.LIST) !== 0 || !validator.skipDefaultFontRender(rule))
2703
+ return;
2704
+ const cellBounding = {
2705
+ startX: _cellBounding.startX + leftOffset,
2706
+ endX: _cellBounding.endX - rightOffset,
2707
+ startY: _cellBounding.startY + topOffset,
2708
+ endY: _cellBounding.endY - downOffset
2709
+ }, cellWidth = cellBounding.endX - cellBounding.startX, cellHeight = cellBounding.endY - cellBounding.startY, map = this._ensureMap(subUnitId), key = this._generateKey(row, col), list = validator.getListWithColor(rule), value = getCellValueOrigin(data), valueStr = `${value != null ? value : ""}`, activeItem = list.find((i) => i.label === valueStr);
2710
+ let { tb, vt, ht, pd } = style || {};
2711
+ if (tb = tb != null ? tb : WrapStrategy.WRAP, vt = vt != null ? vt : VerticalAlign.BOTTOM, ht = ht != null ? ht : DEFAULT_STYLES.ht, pd = pd != null ? pd : DEFAULT_STYLES.pd, rule.renderMode === DataValidationRenderMode.ARROW) {
2712
+ const { l: l2 = DEFAULT_STYLES.pd.l, t = DEFAULT_STYLES.pd.t, r = DEFAULT_STYLES.pd.r, b = DEFAULT_STYLES.pd.b } = pd, realWidth = cellWidth - l2 - r - ICON_PLACE - 4, { documentSkeleton, documents, docModel } = createDocuments(valueStr, this._localeService, style);
2713
+ tb === WrapStrategy.WRAP && docModel.updateDocumentDataPageSize(Math.max(realWidth, 1)), documentSkeleton.calculate(), documentSkeleton.getActualSize();
2714
+ const textLayout = getDocsSkeletonPageSize(documentSkeleton), { height: fontHeight, width: fontWidth } = textLayout, { paddingTop, paddingLeft } = calcPadding(realWidth, cellHeight - t - b, fontWidth, fontHeight, vt, ht, !0);
2715
+ this._drawDownIcon(ctx, cellBounding, cellWidth, cellHeight, fontHeight, vt, pd), ctx.save(), ctx.translateWithPrecision(cellBounding.startX + l2, cellBounding.startY + t), ctx.beginPath(), ctx.rect(0, 0, cellWidth - l2 - r, cellHeight - t - b), ctx.clip(), ctx.translateWithPrecision(0, paddingTop), ctx.save(), ctx.translateWithPrecision(PADDING_H, 0), ctx.beginPath(), ctx.rect(0, 0, realWidth, fontHeight), ctx.clip(), documents.render(ctx), ctx.translateWithPrecision(paddingLeft, 0), ctx.restore(), ctx.restore(), map.set(key, {
2716
+ left: cellBounding.endX + l2 + skeleton.rowHeaderWidth - ICON_PLACE,
2717
+ top: cellBounding.startY + t + skeleton.columnHeaderHeight,
2718
+ width: ICON_PLACE,
2719
+ height: cellHeight - t - b
2720
+ });
2721
+ } else {
2722
+ ctx.save(), ctx.translateWithPrecision(cellBounding.startX, cellBounding.startY), ctx.beginPath(), ctx.rect(0, 0, cellWidth, cellHeight), ctx.clip();
2723
+ const realWidth = cellWidth - MARGIN_H * 2 - PADDING_H - ICON_PLACE - 4, { documentSkeleton, documents, docModel } = createDocuments(valueStr, this._localeService, style);
2724
+ tb === WrapStrategy.WRAP && docModel.updateDocumentDataPageSize(Math.max(realWidth, 1)), documentSkeleton.calculate();
2725
+ const textLayout = getDocsSkeletonPageSize(documentSkeleton), { height: fontHeight, width: fontWidth } = textLayout, { paddingTop, paddingLeft } = calcPadding(realWidth, cellHeight, fontWidth, fontHeight, vt, ht);
2726
+ ctx.translateWithPrecision(MARGIN_H, paddingTop);
2727
+ const rectWidth = Math.max(cellWidth - MARGIN_H * 2, 1), rectHeight = fontHeight;
2728
+ Rect.drawWith(ctx, {
2729
+ width: rectWidth,
2730
+ height: rectHeight,
2731
+ fill: (activeItem == null ? void 0 : activeItem.color) || DROP_DOWN_DEFAULT_COLOR,
2732
+ radius: 8
2733
+ }), ctx.save(), ctx.translateWithPrecision(PADDING_H, 0), ctx.beginPath(), ctx.rect(0, 0, realWidth, fontHeight), ctx.clip(), ctx.translateWithPrecision(paddingLeft, 0), documents.render(ctx), ctx.restore(), ctx.translateWithPrecision(realWidth + PADDING_H + 4, (fontHeight - ICON_SIZE) / 2), ctx.fillStyle = DROP_DOWN_ICON_COLOR, ctx.fill(downPath), ctx.restore(), map.set(key, {
2734
+ left: cellBounding.startX + MARGIN_H + skeleton.rowHeaderWidth,
2735
+ top: cellBounding.startY + paddingTop + skeleton.columnHeaderHeight,
2736
+ width: rectWidth,
2737
+ height: rectHeight
2738
+ });
2739
+ }
2740
+ }
2741
+ calcCellAutoHeight(info) {
2742
+ var _a17;
2743
+ const { primaryWithCoord, style, data } = info, _cellBounding = primaryWithCoord.isMergedMainCell ? primaryWithCoord.mergeInfo : primaryWithCoord, fontRenderExtension = data.fontRenderExtension, { leftOffset = 0, rightOffset = 0, topOffset = 0, downOffset = 0 } = fontRenderExtension || {}, rule = (_a17 = data.dataValidation) == null ? void 0 : _a17.rule;
2744
+ if (!rule || rule.renderMode === DataValidationRenderMode.TEXT)
2745
+ return;
2746
+ const cellBounding = {
2747
+ startX: _cellBounding.startX + leftOffset,
2748
+ endX: _cellBounding.endX - rightOffset,
2749
+ startY: _cellBounding.startY + topOffset,
2750
+ endY: _cellBounding.endY - downOffset
2751
+ }, cellWidth = cellBounding.endX - cellBounding.startX, value = getCellValueOrigin(data), valueStr = `${value != null ? value : ""}`;
2752
+ let { tb, pd } = style || {};
2753
+ const { t = DEFAULT_STYLES.pd.t, b = DEFAULT_STYLES.pd.b } = pd != null ? pd : {};
2754
+ if (tb = tb != null ? tb : WrapStrategy.WRAP, rule.renderMode === DataValidationRenderMode.ARROW) {
2755
+ const realWidth = cellWidth - ICON_PLACE, { documentSkeleton, docModel } = createDocuments(valueStr, this._localeService, style);
2756
+ tb === WrapStrategy.WRAP && docModel.updateDocumentDataPageSize(Math.max(realWidth, 1)), documentSkeleton.calculate(), documentSkeleton.getActualSize();
2757
+ const textLayout = getDocsSkeletonPageSize(documentSkeleton), { height: fontHeight } = textLayout;
2758
+ return fontHeight + t + b + MARGIN_V * 2;
2759
+ } else {
2760
+ const realWidth = cellWidth - MARGIN_H * 2 - PADDING_H - ICON_PLACE, { documentSkeleton, docModel } = createDocSkeleton(valueStr, this._localeService, style);
2761
+ tb === WrapStrategy.WRAP && docModel.updateDocumentDataPageSize(Math.max(realWidth, 1)), documentSkeleton.calculate();
2762
+ const textLayout = getDocsSkeletonPageSize(documentSkeleton), {
2763
+ height: fontHeight
2764
+ } = textLayout;
2765
+ return fontHeight + MARGIN_V * 2;
2766
+ }
2767
+ }
2768
+ isHit(position, info) {
2769
+ const { data, subUnitId, row, col } = info, dropdownInfo = this._ensureMap(subUnitId).get(this._generateKey(row, col)), validation = data.dataValidation;
2770
+ if (!validation || !dropdownInfo || validation.rule.renderMode === DataValidationRenderMode.TEXT)
2771
+ return !1;
2772
+ const { top, left, width, height } = dropdownInfo, { x, y } = position;
2773
+ return x >= left && x <= left + width && y >= top && y <= top + height;
2774
+ }
2775
+ onPointerDown(info, evt) {
2776
+ if (evt.button === 2)
2777
+ return;
2778
+ const { unitId, subUnitId, row, col } = info, params = {
2779
+ unitId,
2780
+ subUnitId,
2781
+ row,
2782
+ column: col
2783
+ };
2784
+ this._commandService.executeCommand(ShowDataValidationDropdown.id, params);
2785
+ }
2786
+ }, __name(_a13, "DropdownWidget"), _a13);
2787
+ DropdownWidget = __decorateClass$3([
2788
+ __decorateParam$3(0, Inject(LocaleService)),
2789
+ __decorateParam$3(1, ICommandService)
2790
+ ], DropdownWidget);
2791
+ const _ListValidatorView = class _ListValidatorView extends BaseSheetDataValidatorView {
2792
+ constructor() {
2793
+ super(...arguments);
2794
+ __publicField(this, "id", DataValidationType.LIST);
2795
+ __publicField(this, "canvasRender", this.injector.createInstance(DropdownWidget));
2796
+ __publicField(this, "dropdown", LIST_DROPDOWN_KEY);
2797
+ __publicField(this, "optionsInput", ListRenderModeInput.componentKey);
2798
+ __publicField(this, "formulaInput", LIST_FORMULA_INPUT_NAME);
2799
+ }
2800
+ };
2801
+ __name(_ListValidatorView, "ListValidatorView");
2802
+ let ListValidatorView = _ListValidatorView;
2803
+ const _TextLengthValidatorView = class _TextLengthValidatorView extends BaseSheetDataValidatorView {
2804
+ constructor() {
2805
+ super(...arguments);
2806
+ __publicField(this, "id", DataValidationType.TEXT_LENGTH);
2807
+ __publicField(this, "formulaInput", BASE_FORMULA_INPUT_NAME$1);
2808
+ }
2809
+ };
2810
+ __name(_TextLengthValidatorView, "TextLengthValidatorView");
2811
+ let TextLengthValidatorView = _TextLengthValidatorView;
2812
+ const _WholeValidatorView = class _WholeValidatorView extends BaseSheetDataValidatorView {
2813
+ constructor() {
2814
+ super(...arguments);
2815
+ __publicField(this, "id", DataValidationType.WHOLE);
2816
+ __publicField(this, "formulaInput", BASE_FORMULA_INPUT_NAME$1);
2817
+ }
2818
+ };
2819
+ __name(_WholeValidatorView, "WholeValidatorView");
2820
+ let WholeValidatorView = _WholeValidatorView;
2821
+ var __defProp$2 = Object.defineProperty, __getOwnPropDesc$2 = Object.getOwnPropertyDescriptor, __decorateClass$2 = /* @__PURE__ */ __name((decorators, target, key, kind) => {
2822
+ for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$2(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
2823
+ (decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
2824
+ return kind && result && __defProp$2(target, key, result), result;
2825
+ }, "__decorateClass$2"), __decorateParam$2 = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$2"), _a14;
2826
+ let SheetsDataValidationUIController = (_a14 = class extends RxDisposable {
2827
+ constructor(_injector, _componentManger, _dataValidatorRegistryService) {
2828
+ super(), this._injector = _injector, this._componentManger = _componentManger, this._dataValidatorRegistryService = _dataValidatorRegistryService, this._initComponents(), this._registerValidatorViews();
2829
+ }
2830
+ _initComponents() {
2831
+ [
2832
+ [DataValidationIcon, DataValidationSingle],
2833
+ [DATA_VALIDATION_PANEL, DataValidationPanel],
2834
+ [DROP_DOWN_KEY, CellDropdown],
2835
+ [LIST_DROPDOWN_KEY, ListDropDown],
2836
+ [DATE_DROPDOWN_KEY, DateDropdown],
2837
+ [ListRenderModeInput.componentKey, ListRenderModeInput],
2838
+ [DateShowTimeOption.componentKey, DateShowTimeOption],
2839
+ ...FORMULA_INPUTS
2840
+ ].forEach(([key, component]) => {
2841
+ this.disposeWithMe(this._componentManger.register(
2842
+ key,
2843
+ component
2844
+ ));
2845
+ });
2846
+ }
2847
+ _registerValidatorViews() {
2848
+ [
2849
+ DecimalValidatorView,
2850
+ WholeValidatorView,
2851
+ TextLengthValidatorView,
2852
+ DateValidatorView,
2853
+ CheckboxValidatorView,
2854
+ ListValidatorView,
2855
+ ListMultipleValidatorView,
2856
+ CustomFormulaValidatorView
2857
+ ].forEach((v) => {
2858
+ const view = this._injector.createInstance(v), validator = this._dataValidatorRegistryService.getValidatorItem(view.id);
2859
+ validator && (validator.formulaInput = view.formulaInput, validator.canvasRender = view.canvasRender, validator.dropdown = view.dropdown, validator.optionsInput = view.optionsInput);
2860
+ });
2861
+ }
2862
+ }, __name(_a14, "SheetsDataValidationUIController"), _a14);
2863
+ SheetsDataValidationUIController = __decorateClass$2([
2864
+ __decorateParam$2(0, Inject(Injector)),
2865
+ __decorateParam$2(1, Inject(ComponentManager)),
2866
+ __decorateParam$2(2, Inject(DataValidatorRegistryService))
2867
+ ], SheetsDataValidationUIController);
2868
+ var __defProp$1 = Object.defineProperty, __getOwnPropDesc$1 = Object.getOwnPropertyDescriptor, __decorateClass$1 = /* @__PURE__ */ __name((decorators, target, key, kind) => {
2869
+ for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$1(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
2870
+ (decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
2871
+ return kind && result && __defProp$1(target, key, result), result;
2872
+ }, "__decorateClass$1"), __decorateParam$1 = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$1");
2873
+ const PLUGIN_NAME$1 = "SHEET_DATA_VALIDATION_UI_PLUGIN";
2874
+ var _a15;
2875
+ let UniverSheetsDataValidationUIPlugin = (_a15 = class extends Plugin {
2876
+ constructor(_config = defaultPluginConfig, _injector, _commandService, _configService) {
2877
+ super(), this._config = _config, this._injector = _injector, this._commandService = _commandService, this._configService = _configService;
2878
+ const { menu, ...rest } = this._config;
2879
+ menu && this._configService.setConfig("menu", menu, { merge: !0 }), this._configService.setConfig(PLUGIN_CONFIG_KEY, rest);
2880
+ }
2881
+ onStarting() {
2882
+ [
2883
+ [DataValidationPanelService],
2884
+ [DataValidationDropdownManagerService],
2885
+ [DataValidationAlertController],
2886
+ [DataValidationAutoFillController],
2887
+ [SheetsDataValidationRenderController],
2888
+ [DataValidationPermissionController],
2889
+ [DataValidationCopyPasteController],
2890
+ [DataValidationRejectInputController],
2891
+ [SheetsDataValidationUIController]
2892
+ ].forEach((dep) => {
2893
+ this._injector.add(dep);
2894
+ }), [
2895
+ AddSheetDataValidationAndOpenCommand,
2896
+ ShowDataValidationDropdown,
2897
+ HideDataValidationDropdown,
2898
+ CloseValidationPanelOperation,
2899
+ OpenValidationPanelOperation,
2900
+ ToggleValidationPanelOperation
2901
+ ].forEach((command) => {
2902
+ this._commandService.registerCommand(command);
2903
+ });
2904
+ }
2905
+ onReady() {
2906
+ this._injector.get(DataValidationCopyPasteController), this._injector.get(DataValidationPermissionController), this._injector.get(DataValidationRejectInputController), this._injector.get(DataValidationAlertController);
2907
+ }
2908
+ onRendered() {
2909
+ this._injector.get(SheetsDataValidationUIController), this._injector.get(SheetsDataValidationRenderController);
2910
+ }
2911
+ onSteady() {
2912
+ this._injector.get(DataValidationAutoFillController);
2913
+ }
2914
+ }, __name(_a15, "UniverSheetsDataValidationUIPlugin"), __publicField(_a15, "pluginName", PLUGIN_NAME$1), __publicField(_a15, "type", UniverInstanceType.UNIVER_SHEET), _a15);
2915
+ UniverSheetsDataValidationUIPlugin = __decorateClass$1([
2916
+ __decorateParam$1(1, Inject(Injector)),
2917
+ __decorateParam$1(2, ICommandService),
2918
+ __decorateParam$1(3, IConfigService)
2919
+ ], UniverSheetsDataValidationUIPlugin);
2920
+ var __defProp2 = Object.defineProperty, __getOwnPropDesc = Object.getOwnPropertyDescriptor, __decorateClass = /* @__PURE__ */ __name((decorators, target, key, kind) => {
2921
+ for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
2922
+ (decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
2923
+ return kind && result && __defProp2(target, key, result), result;
2924
+ }, "__decorateClass"), __decorateParam = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam");
2925
+ const PLUGIN_NAME = "SHEET_DATA_VALIDATION_UI_PLUGIN";
2926
+ var _a16;
2927
+ let UniverSheetsDataValidationMobileUIPlugin = (_a16 = class extends Plugin {
2928
+ constructor(_config = defaultPluginConfig, _injector, _commandService, _configService) {
2929
+ super(), this._config = _config, this._injector = _injector, this._commandService = _commandService, this._configService = _configService;
2930
+ const { menu, ...rest } = this._config;
2931
+ menu && this._configService.setConfig("menu", menu, { merge: !0 }), this._configService.setConfig(PLUGIN_CONFIG_KEY, rest);
2932
+ }
2933
+ onStarting() {
2934
+ [
2935
+ [DataValidationPanelService],
2936
+ [DataValidationDropdownManagerService],
2937
+ [DataValidationAlertController],
2938
+ [DataValidationAutoFillController],
2939
+ [SheetsDataValidationRenderController],
2940
+ [DataValidationPermissionController],
2941
+ [DataValidationCopyPasteController],
2942
+ [SheetsDataValidationUIController]
2943
+ ].forEach((dep) => {
2944
+ this._injector.add(dep);
2945
+ }), [
2946
+ AddSheetDataValidationAndOpenCommand,
2947
+ ShowDataValidationDropdown,
2948
+ HideDataValidationDropdown,
2949
+ CloseValidationPanelOperation,
2950
+ OpenValidationPanelOperation,
2951
+ ToggleValidationPanelOperation
2952
+ ].forEach((command) => {
2953
+ this._commandService.registerCommand(command);
2954
+ });
2955
+ }
2956
+ onReady() {
2957
+ this._injector.get(DataValidationCopyPasteController), this._injector.get(DataValidationPermissionController);
2958
+ }
2959
+ onRendered() {
2960
+ this._injector.get(SheetsDataValidationUIController), this._injector.get(SheetsDataValidationRenderController);
2961
+ }
2962
+ onSteady() {
2963
+ this._injector.get(DataValidationAutoFillController);
2964
+ }
2965
+ }, __name(_a16, "UniverSheetsDataValidationMobileUIPlugin"), __publicField(_a16, "pluginName", PLUGIN_NAME), __publicField(_a16, "type", UniverInstanceType.UNIVER_SHEET), _a16);
2966
+ UniverSheetsDataValidationMobileUIPlugin = __decorateClass([
2967
+ __decorateParam(1, Inject(Injector)),
2968
+ __decorateParam(2, ICommandService),
2969
+ __decorateParam(3, IConfigService)
2970
+ ], UniverSheetsDataValidationMobileUIPlugin);
2971
+ export {
2972
+ DATE_DROPDOWN_KEY,
2973
+ LIST_DROPDOWN_KEY,
2974
+ UniverSheetsDataValidationMobileUIPlugin,
2975
+ UniverSheetsDataValidationUIPlugin
2976
+ };