@univerjs/preset-sheets-conditional-formatting 0.22.1 → 0.23.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/umd/index.js +2 -2
- package/package.json +5 -5
package/lib/umd/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @univerjs/sheets-conditional-formatting/index
|
|
2
|
-
(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`@univerjs/core`),require(`@univerjs/sheets`),require(`rxjs`),require(`@univerjs/engine-formula`),require(`rxjs/operators`),require(`@univerjs/engine-render`)):typeof define==`function`&&define.amd?define([`exports`,`@univerjs/core`,`@univerjs/sheets`,`rxjs`,`@univerjs/engine-formula`,`rxjs/operators`,`@univerjs/engine-render`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UniverSheetsConditionalFormatting={},e.UniverCore,e.UniverSheets,e.rxjs,e.UniverEngineFormula,e.rxjs.operators,e.UniverEngineRender))})(this,function(e,t,n,r,i,a,o){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});let s=`SHEET_CONDITIONAL_FORMATTING_PLUGIN`,c=function(e){return e.beginsWith=`beginsWith`,e.endsWith=`endsWith`,e.containsText=`containsText`,e.notContainsText=`notContainsText`,e.equal=`equal`,e.notEqual=`notEqual`,e.containsBlanks=`containsBlanks`,e.notContainsBlanks=`notContainsBlanks`,e.containsErrors=`containsErrors`,e.notContainsErrors=`notContainsErrors`,e}({}),l=function(e){return e.today=`today`,e.yesterday=`yesterday`,e.tomorrow=`tomorrow`,e.last7Days=`last7Days`,e.thisMonth=`thisMonth`,e.lastMonth=`lastMonth`,e.nextMonth=`nextMonth`,e.thisWeek=`thisWeek`,e.lastWeek=`lastWeek`,e.nextWeek=`nextWeek`,e}({}),u=function(e){return e.greaterThan=`greaterThan`,e.greaterThanOrEqual=`greaterThanOrEqual`,e.lessThan=`lessThan`,e.lessThanOrEqual=`lessThanOrEqual`,e.notBetween=`notBetween`,e.between=`between`,e.equal=`equal`,e.notEqual=`notEqual`,e}({}),d=function(e){return e.highlightCell=`highlightCell`,e.dataBar=`dataBar`,e.colorScale=`colorScale`,e.iconSet=`iconSet`,e}({}),f=function(e){return e.uniqueValues=`uniqueValues`,e.duplicateValues=`duplicateValues`,e.rank=`rank`,e.text=`text`,e.timePeriod=`timePeriod`,e.number=`number`,e.average=`average`,e.formula=`formula`,e}({}),p=function(e){return e.num=`num`,e.min=`min`,e.max=`max`,e.percent=`percent`,e.percentile=`percentile`,e.formula=`formula`,e}({}),m=()=>({cfId:void 0,ranges:[],stopIfTrue:!1,rule:{type:`highlightCell`,subType:`text`,operator:`containsText`}}),h=(e,t)=>{switch(e){case`text`:if([`beginsWith`,`containsText`,`endsWith`,`equal`,`notContainsText`,`notEqual`].includes(t))return``;break;case`number`:return[`between`,`notBetween`].includes(t)?[10,100]:10}return``},g=(e,t)=>{switch(e){case`formula`:return`=`;case`max`:case`min`:return``;case`percent`:case`percentile`:case`num`:return t===void 0?10:t}return``},_=(e,t,n)=>{if(!t)return null;let r=t.findIndex(t=>n(t)===e.id);if(r<0)return null;switch(e.type){case`after`:return r+1;case`before`:return r-1;case`self`:return r}},v=(e,t,n,r)=>{if(!n)return null;let i=_(e,n,r),a=_(t,n,r);if(i===null||a===null||i===a)return;let o=n.splice(i,1)[0];switch(i<a&&(a=_(t,n,r)),t.type){case`before`:n.splice(a+1,0,o);break;case`self`:case`after`:n.splice(a,0,o);break}},y=(e,t,n,r)=>{if(e.type===`after`&&[`after`,`before`].includes(t.type))return[e,t];let i={...e},a={...t};if(i.type!==`after`){let e=_(i,n,r);if(e===null)return null;if(e-1<0){let t=n[e+1];if(t)i.id=r(t),i.type=`before`;else return null}else i.id=r(n[e-1]),i.type=`after`}if(![`after`,`before`].includes(a.type)){let e=_(a,n,r);if(e===null)return null;if(e===0)a.type=`before`;else if(e-1>=0)a.id=r(n[e-1]),a.type=`after`;else if(e+1<=n.length-1)a.id=r(n[e+1]),a.type=`before`;else return null}return i.id===a.id&&i.type===a.type?null:[i,a]},b=(e,t)=>{if([`after`,`before`].includes(t.type)){if(e.type===`after`)return[t,e];if(e.type===`before`)return[t,{...e,type:`self`}]}return null},x=(e,t)=>e.id===t.id&&e.type===t.type,S=()=>`${(0,t.generateRandomId)(8)}`;function C(e){"@babel/helpers - typeof";return C=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},C(e)}function w(e,t){if(C(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(C(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function ee(e){var t=w(e,`string`);return C(t)==`symbol`?t:t+``}function T(e,t,n){return(t=ee(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var E=class{constructor(){T(this,`_model`,new Map),T(this,`_ruleChange$`,new r.Subject),T(this,`$ruleChange`,this._ruleChange$.asObservable())}_ensureList(e,t){let n=this.getSubunitRules(e,t);if(!n){n=[];let r=this._model.get(e);r||(r=new Map,this._model.set(e,r)),r.set(t,n)}return n}getRule(e,t,n){let r=this.getSubunitRules(e,t);return r?r.find(e=>e.cfId===n):null}getUnitRules(e){return this._model.get(e)||null}getSubunitRules(e,t){var n;return((n=this._model.get(e))==null?void 0:n.get(t))||null}getAll(){return this._model}deleteRule(e,t,n){let r=this.getSubunitRules(e,t);if(r){let i=r.findIndex(e=>e.cfId===n),a=r[i];a&&(r.splice(i,1),this._ruleChange$.next({rule:a,subUnitId:t,unitId:e,type:`delete`}))}}setRule(e,n,r,i){let a=this._ensureList(e,n).find(e=>e.cfId===i);if(a){let i=t.Tools.deepClone(a);Object.assign(a,r),this._ruleChange$.next({rule:a,subUnitId:n,unitId:e,type:`set`,oldRule:i})}}addRule(e,t,n){let r=this._ensureList(e,t);r.find(e=>e.cfId===n.cfId)||r.unshift(n),this._ruleChange$.next({rule:n,subUnitId:t,unitId:e,type:`add`})}moveRulePriority(e,t,n,r){let i=this._ensureList(e,t),a=_(n,i,e=>e.cfId),o=_(r,i,e=>e.cfId);if(o===null||a===null||o===a)return;let s=i[a];s&&(v(n,r,i,e=>e.cfId),this._ruleChange$.next({rule:s,subUnitId:t,unitId:e,type:`sort`}))}createCfId(e,t){return S()}deleteUnitId(e){this._model.delete(e)}};let D={type:t.CommandType.MUTATION,id:`sheet.mutation.move-conditional-rule`,handler(e,t){if(!t)return!1;let{unitId:n,subUnitId:r,start:i,end:a}=t;return e.get(E).moveRulePriority(n,r,i,a),!0}},te=e=>{let{unitId:t,subUnitId:n}=e,r=b(e.start,e.end);if(!r)return[];let[i,a]=r;return[{id:D.id,params:{unitId:t,subUnitId:n,start:i,end:a}}]},O=(e,n)=>{let r=e.get(E),{unitId:i,subUnitId:a,cfId:o}=n,s=[...r.getSubunitRules(i,a)||[]],c=s.findIndex(e=>e.cfId===o),l=s[c-1];if(c>-1){let e=s[c],n=[{id:j.id,params:{unitId:i,subUnitId:a,rule:t.Tools.deepClone(e)}}];if(s.splice(c,1),c!==0){let e=s[0];if(e){let t=y({id:e.cfId,type:`before`},{id:l.cfId,type:`after`},s,e=>e.cfId);if(!t)return n;let[r,o]=t,c={unitId:i,subUnitId:a,start:r,end:o};n.push({id:D.id,params:c})}}return n}return[]},k={type:t.CommandType.MUTATION,id:`sheet.mutation.delete-conditional-rule`,handler(e,t){if(!t)return!1;let{unitId:n,subUnitId:r,cfId:i}=t;return e.get(E).deleteRule(n,r,i),!0}},A=(e,t)=>({id:k.id,params:{unitId:t.unitId,subUnitId:t.subUnitId,cfId:t.rule.cfId}}),j={type:t.CommandType.MUTATION,id:`sheet.mutation.add-conditional-rule`,handler(e,t){if(!t)return!1;let{unitId:n,subUnitId:r,rule:i}=t;return e.get(E).addRule(n,r,i),!0}},ne={type:t.CommandType.COMMAND,id:`sheet.command.add-conditional-rule`,handler(e,r){if(!r)return!1;let{rule:i}=r,a=e.get(t.IUndoRedoService),o=e.get(t.ICommandService),s=e.get(E),c=(0,n.getSheetCommandTarget)(e.get(t.IUniverInstanceService),r);if(!c)return!1;let{unitId:l,subUnitId:u}=c,d=s.createCfId(l,u),f={unitId:l,subUnitId:u,rule:{...i,cfId:i.cfId||d}},p=A(e,f),m=o.syncExecuteCommand(j.id,f);return m&&a.pushUndoRedo({unitID:l,redoMutations:[{id:j.id,params:f}],undoMutations:[p]}),m}},M={type:t.CommandType.MUTATION,id:`sheet.mutation.set-conditional-rule`,handler(e,t){if(!t)return!1;let{unitId:n,subUnitId:r,rule:i}=t,a=t.cfId||t.rule.cfId;return e.get(E).setRule(n,r,i,a),!0}},N=(e,n)=>{let r=e.get(E),{unitId:i,subUnitId:a}=n,o=n.cfId||n.rule.cfId,s=r.getRule(i,a,o);return s?[{id:M.id,params:{unitId:i,subUnitId:a,cfId:o,rule:t.Tools.deepClone(s)}}]:[]},re={type:t.CommandType.COMMAND,id:`sheet.command.clear-range-conditional-rule`,handler(e,r){var i;if(!r)return!1;let a=e.get(E),o=e.get(t.IUniverInstanceService),s=e.get(t.ICommandService),c=e.get(t.IUndoRedoService),l=e.get(n.SheetsSelectionsService),u=(0,n.getSheetCommandTarget)(o,r);if(!u)return!1;let{unitId:d,subUnitId:f}=u,p=((i=l.getCurrentSelections())==null?void 0:i.map(e=>e.range))||[],m=a.getSubunitRules(d,f);if(!(m!=null&&m.length)||!p.length)return!1;let h=[],g=[];m.forEach(r=>{let i=new t.ObjectMatrix;r.ranges.forEach(e=>{t.Range.foreach(e,(e,t)=>{i.setValue(e,t,1)})}),p.forEach(e=>{t.Range.foreach(e,(e,t)=>{i.realDeleteValue(e,t)})});let a=(0,n.findAllRectangle)((0,n.createTopMatrixFromMatrix)(i));if(a.length){let t={unitId:d,subUnitId:f,rule:{...r,ranges:a}},n=N(e,t);h.push({id:M.id,params:t}),g.push(...n)}else{let t={unitId:d,subUnitId:f,cfId:r.cfId},n=O(e,t);h.push({id:k.id,params:t}),g.push(...n)}});let _=(0,t.sequenceExecute)(h,s).result;return _&&c.pushUndoRedo({unitID:d,redoMutations:h,undoMutations:g}),_}},ie={type:t.CommandType.COMMAND,id:`sheet.command.clear-worksheet-conditional-rule`,handler(e,r){let i=e.get(E),a=e.get(t.IUniverInstanceService),o=e.get(t.ICommandService),s=e.get(t.IUndoRedoService),c=(0,n.getSheetCommandTarget)(a,r);if(!c)return!1;let{unitId:l,subUnitId:u}=c,d=i.getSubunitRules(l,u);if(!(d!=null&&d.length))return!1;let f=d.map(e=>({cfId:e.cfId,unitId:l,subUnitId:u})),p=f.map(e=>({id:k.id,params:e})),m=f.map(t=>O(e,t)[0]),h=(0,t.sequenceExecute)(p,o).result;return h&&s.pushUndoRedo({unitID:l,redoMutations:p,undoMutations:m}),h}},ae={type:t.CommandType.COMMAND,id:`sheet.command.delete-conditional-rule`,handler(e,r){if(!r)return!1;let i=e.get(t.IUndoRedoService),a=e.get(t.ICommandService),o=(0,n.getSheetCommandTarget)(e.get(t.IUniverInstanceService),r);if(!o)return!1;let{unitId:s,subUnitId:c}=o,l={unitId:s,subUnitId:c,cfId:r.cfId},u=O(e,l),d=a.syncExecuteCommand(k.id,l);return d&&i.pushUndoRedo({unitID:s,undoMutations:u,redoMutations:[{id:k.id,params:l}]}),d}},P={type:t.CommandType.COMMAND,id:`sheet.command.move-conditional-rule`,handler(e,r){if(!r)return!1;let i=e.get(t.IUndoRedoService),a=e.get(t.ICommandService),o=e.get(t.IUniverInstanceService),s=e.get(E),c=(0,n.getSheetCommandTarget)(o,r);if(!c)return!1;let{unitId:l,subUnitId:u}=c,d=y(r.start,r.end,s.getSubunitRules(l,u)||[],e=>e.cfId);if(!d)return!1;let[f,p]=d,m={unitId:l,subUnitId:u,start:f,end:p},h=te(m),g=a.syncExecuteCommand(D.id,m);return g&&i.pushUndoRedo({unitID:l,redoMutations:[{id:D.id,params:m}],undoMutations:h}),g}},oe={type:t.CommandType.COMMAND,id:`sheet.command.set-conditional-rule`,handler(e,r){if(!r)return!1;let i=e.get(t.IUndoRedoService),a=e.get(t.ICommandService),o=(0,n.getSheetCommandTarget)(e.get(t.IUniverInstanceService),r);if(!o)return!1;let{unitId:s,subUnitId:c}=o,l={unitId:s,subUnitId:c,rule:r.rule,cfId:r.cfId},u=N(e,l),d=a.syncExecuteCommand(M.id,l);return d&&i.pushUndoRedo({unitID:s,undoMutations:u,redoMutations:[{id:M.id,params:l}]}),d}};function F(e,t){return function(n,r){t(n,r,e)}}function I(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}let L=class extends t.Disposable{constructor(e,t){super(),this._registerOtherFormulaService=e,this._conditionalFormattingRuleModel=t,T(this,`_formulaMap`,new Map),T(this,`_result$`,new r.Subject),T(this,`result$`,this._result$.asObservable()),this._initFormulaResultChange(),this._initRuleChange()}_initRuleChange(){let e=e=>{switch(e.type){case`colorScale`:return e.config.some(e=>e.value.type===`formula`);case`dataBar`:return[e.config.max,e.config.min].some(e=>e.type===`formula`);case`iconSet`:return e.config.some(e=>e.value.type===`formula`)}};this.disposeWithMe(this._conditionalFormattingRuleModel.$ruleChange.subscribe(t=>{let{unitId:n,subUnitId:r,rule:i,oldRule:a}=t;t.type===`delete`&&this._removeFormulaByCfId(n,r,i.cfId),t.type===`set`&&(e(i.rule)||a&&e(a.rule))&&this._removeFormulaByCfId(n,r,i.cfId),t.type===`add`&&this._registerRuleFormulas(n,r,i)}))}_registerRuleFormulas(e,t,n){switch(n.rule.type){case`highlightCell`:if(n.rule.subType===`formula`){let r=n.rule.value;r&&this.registerFormulaWithRange(e,t,n.cfId,r,n.ranges)}break}}_initFormulaResultChange(){this.disposeWithMe(this._registerOtherFormulaService.formulaResult$.subscribe(e=>{for(let t in e)for(let n in e[t]){let r=e[t][n];for(let e of r){let r=this._ensureSubunitFormulaMap(t,n).getValue(e.formulaId,[`formulaId`]);if(!r)continue;let a=this._getAllFormulaResultByCfId(t,n,r.cfId).every(e=>{let r=this._registerOtherFormulaService.getFormulaValueSync(t,n,e.formulaId);return(r==null?void 0:r.status)===i.FormulaResultStatus.SUCCESS});this._result$.next({...r,isAllFinished:a})}}}))}_ensureSubunitFormulaMap(e,n){let r=this._formulaMap.get(e);r||(r=new Map,this._formulaMap.set(e,r));let i=r.get(n);return i||(i=new t.RefAlias([],[`formulaId`,`id`]),r.set(n,i)),i}getSubUnitFormulaMap(e,t){var n;return(n=this._formulaMap.get(e))==null?void 0:n.get(t)}registerFormulaWithRange(e,t,n,r,a=[{startRow:0,endRow:0,startColumn:0,endColumn:0}]){let o=this._ensureSubunitFormulaMap(e,t),s=this.createCFormulaId(n,r);if(o.getValue(s,[`id`]))return;let c=[...a].sort((e,t)=>e.startRow===t.startRow?e.startColumn-t.startColumn:e.startRow-t.startRow),l=this._registerOtherFormulaService.registerFormulaWithRange(e,t,r,c,void 0,i.OtherFormulaBizType.CONDITIONAL_FORMATTING,n);o.addValue({formulaText:r,unitId:e,subUnitId:t,cfId:n,id:s,formulaId:l})}_removeFormulaByCfId(e,t,n){let r=this.deleteCache(e,t,n).map(e=>e.formulaId);this._registerOtherFormulaService.deleteFormula(e,t,r)}getFormulaResultWithCoords(e,t,n,r,a=0,o=0){let s=this.getSubUnitFormulaMap(e,t);if(!s)return{status:i.FormulaResultStatus.NOT_REGISTER};let c=s.getValue(this.createCFormulaId(n,r),[`id`]);if(!c)return{status:i.FormulaResultStatus.NOT_REGISTER};let l=this._registerOtherFormulaService.getFormulaValueSync(e,t,c.formulaId);if(!l)return{status:i.FormulaResultStatus.NOT_REGISTER};if(l.status===i.FormulaResultStatus.SUCCESS&&l.result){var u;let e=(u=l.result[a])==null?void 0:u[o];return{result:this._getCellValue(e),status:i.FormulaResultStatus.SUCCESS}}return{status:l.status}}getFormulaMatrix(e,n,r,a){let o=this.getSubUnitFormulaMap(e,n);if(!o)return{status:i.FormulaResultStatus.NOT_REGISTER};let s=o.getValue(this.createCFormulaId(r,a),[`id`]);if(!s)return{status:i.FormulaResultStatus.NOT_REGISTER};let c=this._registerOtherFormulaService.getFormulaValueSync(e,n,s.formulaId);if(!c)return{status:i.FormulaResultStatus.NOT_REGISTER};if(c.status===i.FormulaResultStatus.SUCCESS&&c.result){let e=new t.ObjectMatrix;return new t.ObjectMatrix(c.result).forValue((t,n,r)=>{e.setValue(t,n,this._getCellValue(r))}),{result:e,status:i.FormulaResultStatus.SUCCESS}}return{status:c.status}}_getCellValue(e){if(!e||!e[0]||!e[0][0])return!1;let n=e[0][0];return(n==null?void 0:n.t)===t.CellValueType.BOOLEAN?n.v===t.BooleanNumber.TRUE||n.v===!0:n==null?void 0:n.v}deleteCache(e,t,n,r){let i=this.getSubUnitFormulaMap(e,t);if(!i)return[];if(r){let e=this.createCFormulaId(n,r);return i.deleteValue(e,[`id`]),[]}else{let e=i.getValues().filter(e=>e.cfId===n);return e.forEach(e=>{i.deleteValue(e.formulaId,[`formulaId`])}),e}}_getAllFormulaResultByCfId(e,t,n){let r=this.getSubUnitFormulaMap(e,t);return r?r.getValues().filter(e=>e.cfId===n):[]}createCFormulaId(e,t){return`${e}_${t}`}};L=I([F(0,(0,t.Inject)(i.RegisterOtherFormulaService)),F(1,(0,t.Inject)(E))],L);var R=class{constructor(e){this._context=e,T(this,`_cache`,void 0),T(this,`_preComputingStatus$`,new r.BehaviorSubject(`preComputingStart`)),T(this,`preComputingStatus$`,this._preComputingStatus$.asObservable().pipe((0,a.distinctUntilChanged)())),T(this,`_preComputingCache`,void 0),T(this,`_rule`,void 0),this._cache=new t.LRUMap(e.limit),this._rule=e.rule,this._preComputingCache=null,this._initClearCacheListener()}setCacheLength(e){this._cache.limit=e}clearCache(){this._cache.clear()}resetPreComputingCache(){this._preComputingStatus$.next(`preComputingStart`),this._preComputingCache=null}updateRule(e){this._rule=e,this.resetPreComputingCache()}getCell(e,t){let n=this._createKey(e,t);if(this._preComputingStatus$.getValue()===`preComputing`)return this._cache.get(n);let r=this.getPreComputingResult(e,t);if(r===null&&(this._preComputingStatus$.next(`preComputingStart`),this.preComputing(e,t,this._getContext()),r=this.getPreComputingResult(e,t),r===null)||(this._preComputingStatus$.next(`preComputingEnd`),this._cache.has(n)))return this._cache.get(n);let i=this.getCellResult(e,t,r,this._getContext());return i!==null&&this._setCache(e,t,i),i}setPreComputingCache(e){this._preComputingCache=e}getPreComputingResult(e,t){return this._preComputingCache}_createKey(e,t){return`${e}_${t}`}_setCache(e,t,n){let r=this._createKey(e,t);this._cache.set(r,n)}_getContext(){return{...this._context,rule:this._rule}}_initClearCacheListener(){this.preComputingStatus$.subscribe(e=>{e===`preComputingEnd`&&this.clearCache()})}},se=class extends R{preComputing(e,n,r){let a=r.rule,s=r.worksheet,c=new t.ObjectMatrix;a.rule.config.every(e=>e.value.type===`num`)||Y(a.ranges,s.getMaxRows()-1,s.getMaxColumns()-1).forEach(e=>{t.Range.foreach(e,(e,n)=>{let i=r.getCellValue(e,n),a=i&&i.v;if(!W(a)&&(i==null?void 0:i.t)===t.CellValueType.NUMBER){let t=Number(a);!Number.isNaN(t)&&c.setValue(e,n,t)}})});let l=[...a.rule.config].sort((e,t)=>e.index-t.index).map(e=>({value:q(e.value,c,{...r,cfId:a.cfId}),color:new t.ColorKit(e.color)}));if(!l.some(e=>(0,o.isObject)(e.value)?e.value.status!==i.FormulaResultStatus.SUCCESS:!1)){let e=l.map(e=>e.color).reduce((e,t,n)=>(e.result.push({color:t,value:e.sortValue[n]}),e),{result:[],sortValue:l.map(e=>e.value.result).sort((e,t)=>e-t)}).result;this.setPreComputingCache(e),this._preComputingStatus$.next(`preComputingEnd`);return}this._preComputingStatus$.next(`preComputing`)}getCellResult(e,n,r,i){if(!r)return null;let a=i.getCellValue(e,n);if(a.t===t.CellValueType.NUMBER){let e=Number(a.v);if(!Number.isNaN(e))return Se(r,e)}}};let ce=`sheet-conditional-rule-data-bar`,le=`#000`,ue=e=>{let{startRow:t,endRow:n,startColumn:r,endColumn:i}=e;return`${t}-${n}-${r}-${i}`};var de=class extends o.SheetExtension{constructor(...e){super(...e),T(this,`_paddingRightAndLeft`,2),T(this,`_paddingTopAndBottom`,2),T(this,`uKey`,ce),T(this,`Z_INDEX`,34),T(this,`_radius`,1)}draw(e,n,r,i){let{worksheet:a}=r;if(!a)return!1;let s=new Set;e.save(),t.Range.foreach(r.rowColumnSegment,(t,n)=>{if(!a.getRowVisible(t)||!a.getColVisible(n))return;let c=r.getCellWithCoordByIndex(t,n,!1),{isMerged:l,isMergedMainCell:u,mergeInfo:d}=c,f=a.getCell(t,n);if(l&&(f=a.getCell(d.startRow,d.startColumn)),!(f!=null&&f.dataBar)||!this.isRenderDiffRangesByCell(d,i))return;if(l||u){let e=ue(d);if(s.has(e))return;s.add(e)}let{color:p,value:m,startPoint:h,isGradient:g}=f.dataBar,{startX:_,endX:v,startY:y,endY:b}=l||u?d:c,x=v-_,S=b+o.FIX_ONE_PIXEL_BLUR_OFFSET-y,C=x-this._paddingRightAndLeft*2,w=S-this._paddingTopAndBottom*2;if(m>0){let t=Math.max(C*(1-h/100)*m/100,1),n=_+this._paddingRightAndLeft+h/100*C,r=y+this._paddingTopAndBottom;if(g){let i=e.createLinearGradient(n,r,n+t,r);i.addColorStop(0,p),i.addColorStop(1,`rgb(255 255 255)`),e.fillStyle=i,e.strokeStyle=p,e.lineWidth=1}else e.fillStyle=p;this._drawRectWithRoundedCorner(e,n,r,t,w,!1,!0,!0,!1),g&&e.stroke()}else{let t=Math.max(C*h/100*Math.abs(m)/100,1),n=_+this._paddingRightAndLeft+h/100*C-t,r=y+this._paddingTopAndBottom;if(g){let i=e.createLinearGradient(n,r,n+t,r);i.addColorStop(0,`rgb(255 255 255)`),i.addColorStop(1,p),e.fillStyle=i,e.strokeStyle=p,e.lineWidth=1}else e.fillStyle=p;this._drawRectWithRoundedCorner(e,n,r,t,w,!0,!1,!1,!0),g&&e.stroke()}}),e.restore()}_drawRectWithRoundedCorner(e,t,n,r,i,a,o,s,c){let l=this._radius;!i||!r||(e.beginPath(),e.moveTo(t+l,n),e.lineTo(t+r-l,n),o?e.arcTo(t+r,n,t+r,n+l,l):e.lineTo(t+r,n),e.lineTo(t+r,n+i-l),s?e.arcTo(t+r,n+i,t+r-l,n+i,l):e.lineTo(t+r,n+i),e.lineTo(t+l,n+i),c?e.arcTo(t,n+i,t,n+i-l,l):e.lineTo(t,n+i),e.lineTo(t,n+l),a?e.arcTo(t,n,t+l,n,l):e.lineTo(t,n),e.closePath(),e.fill())}};o.SpreadsheetExtensionRegistry.add(de);let z=e=>Math.max(Math.min(100,e),0),fe=(e,n,r)=>{let i=r(e,n);if(i&&i.t===t.CellValueType.NUMBER){let e=Number(i.v);return Number.isNaN(e)?null:e}return null};var pe=class extends R{preComputing(e,n,r){let a=r.rule,o=a.rule,s=r.worksheet,c=new t.ObjectMatrix;[a.rule.config.max,a.rule.config.min].every(e=>e.type===`num`)||Y(a.ranges,s.getMaxRows()-1,s.getMaxColumns()-1).forEach(e=>{t.Range.foreach(e,(e,n)=>{let i=r.getCellValue(e,n),a=i&&i.v;if(!W(a)&&(i==null?void 0:i.t)===t.CellValueType.NUMBER){let t=Number(a);!Number.isNaN(t)&&c.setValue(e,n,t)}})});let l=q(o.config.min,c,{...r,cfId:a.cfId}),u=q(o.config.max,c,{...r,cfId:a.cfId}),d=0,f=0;if(l.status===i.FormulaResultStatus.SUCCESS){let e=Number(l.result);d=Number.isNaN(e)?0:e}else{this._preComputingStatus$.next(`preComputing`);return}if(u.status===i.FormulaResultStatus.SUCCESS){let e=Number(u.result),t=Number.isNaN(e)?0:e;f=Math.max(t,d),d=Math.min(t,d);let n=50;if(d<0&&f<=0)n=100;else if(d<0&&f>0){let e=Math.abs(f)+Math.abs(d);n=Math.abs(d)/e*100}else d>=0&&f>0&&(n=0);this.setPreComputingCache({min:d,max:f,startPoint:n}),this._preComputingStatus$.next(`preComputingEnd`);return}this._preComputingStatus$.next(`preComputing`)}getCellResult(e,t,n,r){let{min:i,max:a,startPoint:o}=n,s=r.rule.rule,c=s.isShowValue,l=s.config.isGradient,u=fe(e,t,r.getCellValue);if(!(u===null||u<i||i===a||a<i)){if(u===0)return{color:le,startPoint:o,value:0,isGradient:l,isShowValue:c};if(i<0&&a<=0){let e=a-i,t=z((a-u)/e*100);return t===0?void 0:{color:s.config.nativeColor||`#abd91a`,startPoint:o,value:-t,isGradient:l,isShowValue:c}}else if(i<0&&a>0)if(u>0){let e=z(Math.min(u/a,1)*100);return e===0?void 0:{color:s.config.positiveColor||`#ffbe38`,startPoint:o,value:e,isGradient:l,isShowValue:c}}else{let e=z(Math.min(Math.abs(u)/Math.abs(i),1)*100);return e===0?void 0:{color:s.config.nativeColor||`#abd91a`,startPoint:o,value:-e,isGradient:l,isShowValue:c}}else if(i>=0&&a>0){let e=a-i,t=z((1-(a-u)/e)*100);return t===0?void 0:{color:s.config.positiveColor||`#ffbe38`,startPoint:0,value:t,isGradient:l,isShowValue:c}}}}};let B=e=>e===!0||e===1||e===`TRUE`,me=e=>[...e].sort((e,t)=>e.startRow===t.startRow?e.startColumn-t.startColumn:e.startRow-t.startRow);var he=class extends R{preComputing(e,n,r){let a=r.rule.rule,o=Y(r.rule.ranges,r.worksheet.getMaxRows()-1,r.worksheet.getMaxColumns()-1),s=(()=>{switch(a.subType){case`average`:{let e=0,n=0;return o.forEach(i=>{t.Range.foreach(i,(i,a)=>{let o=r.getCellValue(i,a),s=G(o);o&&o.t===t.CellValueType.NUMBER&&!W(s)&&(e+=Number(s)||0,n++)})}),{value:e/n,type:a.subType}}case`uniqueValues`:case`duplicateValues`:{let e=new Map;return o.forEach(n=>{t.Range.foreach(n,(t,n)=>{let i=G(r.getCellValue(t,n));if(!W(i)){let t=e.get(i);t?e.set(i,t+1):e.set(i,1)}})}),{value:e,type:a.subType}}case`rank`:{let e=[];o.forEach(n=>{t.Range.foreach(n,(n,i)=>{let a=r.getCellValue(n,i),o=G(a);a&&a.t===t.CellValueType.NUMBER&&!W(o)&&e.push(Number(o)||0)})}),e.sort((e,t)=>t-e);let n=r.rule.rule;if(n.isPercent){n.isBottom&&(e=e.toReversed());let r=t.Tools.clamp(n.value,0,100)/100,i=Math.floor(r*e.length),o=t.Tools.clamp(i-1,0,e.length-1);return{value:e[o],type:a.subType}}let i=Math.floor(t.Tools.clamp(n.isBottom?n.value-1:n.value,0,e.length));return n.isBottom?{value:e[e.length-i-1],type:a.subType}:{value:e[Math.max(i-1,0)],type:a.subType}}case`formula`:{let e=a,t=r.accessor.get(L),n=me(r.rule.ranges);t.registerFormulaWithRange(r.unitId,r.subUnitId,r.rule.cfId,e.value,n);let o=t.getFormulaMatrix(r.unitId,r.subUnitId,r.rule.cfId,e.value);return o&&o.status===i.FormulaResultStatus.SUCCESS?(this._preComputingStatus$.next(`preComputingEnd`),{value:o.result,type:a.subType}):(this._preComputingStatus$.next(`preComputing`),null)}case`timePeriod`:switch(a.operator){case`last7Days`:return{value:{start:(0,t.dateKit)().subtract(7,`day`).valueOf(),end:(0,t.dateKit)().valueOf()},type:a.subType};case`lastMonth`:return{value:{start:(0,t.dateKit)().startOf(`month`).subtract(1,`month`).valueOf(),end:(0,t.dateKit)().endOf(`month`).subtract(1,`month`).valueOf()},type:a.subType};case`lastWeek`:return{value:{start:(0,t.dateKit)().startOf(`week`).subtract(1,`week`).valueOf(),end:(0,t.dateKit)().endOf(`week`).subtract(1,`week`).valueOf()},type:a.subType};case`nextMonth`:return{value:{start:(0,t.dateKit)().startOf(`month`).add(1,`month`).valueOf(),end:(0,t.dateKit)().endOf(`month`).add(1,`month`).valueOf()},type:a.subType};case`nextWeek`:return{value:{start:(0,t.dateKit)().startOf(`week`).add(1,`week`).valueOf(),end:(0,t.dateKit)().endOf(`week`).add(1,`week`).valueOf()},type:a.subType};case`thisMonth`:return{value:{start:(0,t.dateKit)().startOf(`month`).valueOf(),end:(0,t.dateKit)().endOf(`month`).valueOf()},type:a.subType};case`thisWeek`:return{value:{start:(0,t.dateKit)().startOf(`week`).valueOf(),end:(0,t.dateKit)().endOf(`week`).valueOf()},type:a.subType};case`today`:return{value:{start:(0,t.dateKit)().startOf(`day`).valueOf(),end:(0,t.dateKit)().endOf(`day`).valueOf()},type:a.subType};case`tomorrow`:return{value:{start:(0,t.dateKit)().startOf(`day`).add(1,`day`).valueOf(),end:(0,t.dateKit)().endOf(`day`).add(1,`day`).valueOf()},type:a.subType};case`yesterday`:return{value:{start:(0,t.dateKit)().startOf(`day`).subtract(1,`day`).valueOf(),end:(0,t.dateKit)().endOf(`day`).subtract(1,`day`).valueOf()},type:a.subType}}}})();this.setPreComputingCache(s)}getCellResult(e,n,r,a){let o=a.getCellValue(e,n),s=a.rule.rule;return(()=>{switch(s.subType){case`number`:{let e=o&&Number(o.v),n=(o==null?void 0:o.t)===t.CellValueType.NUMBER,r=s;return n?W(e)||Number.isNaN(e)?void 0:J({operator:r.operator,value:r.value||0},e||0):!![`notEqual`,`notBetween`].includes(r.operator)}case`text`:{let e=s,t=G(o),n=W(t)?``:String(t),r=e.value||``;switch(e.operator){case`beginsWith`:return n.startsWith(r);case`containsBlanks`:return/^\s*$/.test(n);case`notContainsBlanks`:return!/^\s*$/.test(n);case`containsErrors`:return i.ERROR_TYPE_SET.has(n);case`notContainsErrors`:return!i.ERROR_TYPE_SET.has(n);case`containsText`:return n.indexOf(r)>-1;case`notContainsText`:return n.indexOf(r)===-1;case`endsWith`:return n.endsWith(r);case`equal`:return n===r;case`notEqual`:return n!==r;default:return!1}}case`timePeriod`:{let e=G(o);if(W(e)||Number.isNaN(Number(e))||(o==null?void 0:o.t)!==t.CellValueType.NUMBER||!r)return;let n=ye(Number(e)),{start:i,end:a}=r.value;return n>=i&&n<=a}case`average`:{let e=o&&o.v,n=Number(e),i=(o==null?void 0:o.t)===t.CellValueType.NUMBER,a=s;if(!i)return a.operator===`notEqual`;if(W(e)||Number.isNaN(n)||!r)return!1;let c=r.value;switch(a.operator){case`greaterThan`:return n>c;case`greaterThanOrEqual`:return n>=c;case`lessThan`:return n<c;case`lessThanOrEqual`:return n<=c;case`equal`:return U(n,c);case`notEqual`:return!U(n,c);default:return!1}}case`rank`:{let e=G(o),n=Number(e);if(W(e)||Number.isNaN(n)||(o==null?void 0:o.t)!==t.CellValueType.NUMBER||!r)return!1;let i=r.value;return s.isBottom?n<=i:n>=i}case`uniqueValues`:{let e=G(o);return W(e)||!r?!1:r.value.get(e)===1}case`duplicateValues`:{let e=G(o);if(W(e)||!r)return!1;let t=r.value.get(e);return t&&t!==1}case`formula`:{let t=s,o=a.accessor.get(L),c=me(a.rule.ranges)[0],l=e-c.startRow,u=n-c.startColumn,d=o.getFormulaResultWithCoords(a.unitId,a.subUnitId,a.rule.cfId,t.value,l,u);if(d.status===i.FormulaResultStatus.SUCCESS&&d.result!==void 0)return B(d.result);let f=r==null?void 0:r.value;return f?B(f.getValue(l,u)):!1}}})()?s.style:{}}};let ge=(e,n,r)=>{let i=r(e,n);if(i&&i.t===t.CellValueType.NUMBER){let e=Number(i.v);return Number.isNaN(e)?null:e}return null};var _e=class extends R{preComputing(e,n,r){let a=r.rule.rule,o=r.worksheet,s=new t.ObjectMatrix;a.config.every(e=>e.value.type===`num`)||Y(r.rule.ranges,o.getMaxRows()-1,o.getMaxColumns()-1).forEach(e=>{t.Range.foreach(e,(e,n)=>{let i=r.getCellValue(e,n),a=i&&i.v;if(!W(a)&&(i==null?void 0:i.t)===t.CellValueType.NUMBER){let t=Number(a);!Number.isNaN(t)&&s.setValue(e,n,t)}})});let c=a.config.map(e=>q(e.value,s,{...r,cfId:r.rule.cfId}));if(!c.some(e=>e.status!==i.FormulaResultStatus.SUCCESS)){let e=c.map((e,t)=>({operator:a.config[t].operator,value:Number(e.result)||0})).reduce((e,t,n,r)=>{let i=a.config[n];if(!n||n===r.length-1)e.push({...t,iconId:i.iconId,iconType:i.iconType});else{let a=r[n-1];J(a,t.value)||e.push({...t,iconId:i.iconId,iconType:i.iconType})}return e},[]);this.setPreComputingCache(e),this._preComputingStatus$.next(`preComputingEnd`);return}this._preComputingStatus$.next(`preComputing`)}getCellResult(e,t,n,r){if(!n)return null;let i=ge(e,t,r.getCellValue);if(i===null)return;let a=r.rule.rule,o=a.isShowValue===void 0?!0:!!a.isShowValue;for(let e=0;e<n.length;e++){let t=n[e],r={...t},a={...t},{iconId:s,iconType:c}=t;if(e===0){if(J(t,i))return{iconId:s,iconType:c,isShowValue:o}}else if(e===n.length-1)return{iconId:s,iconType:c,isShowValue:o};else{let t=n[e-1];if(a.operator=xe(t.operator),a.value=t.value,J(r,i)&&J(a,i))return{iconId:s,iconType:c,isShowValue:o}}}}};let V=1e3*3*3,H=class extends t.Disposable{constructor(e,n,i,o){super(),this._injector=e,this._conditionalFormattingRuleModel=n,this._conditionalFormattingFormulaService=i,this._univerInstanceService=o,T(this,`_calculateUnitManagers`,new Map),T(this,`_rTreeManager`,new t.RTree),T(this,`_cellCache`,new t.LRUMap(V)),T(this,`_markDirty$`,new r.Subject),T(this,`markDirty$`,this._markDirty$.asObservable()),T(this,`_markRuleDirtyAtOnce`,(e,t,n,r=!0)=>{if(this._cellCache.clear(),r){let r=this._ensureCalculateUnitManager(e,t).get(n);r&&r.resetPreComputingCache()}this._markDirty$.next({unitId:e,subUnitId:t,cfId:n})}),T(this,`markRuleDirty`,(()=>{let e=new r.Subject;return this.disposeWithMe(e.pipe((0,a.bufferTime)(100),(0,a.filter)(e=>!!e.length),(0,a.map)(e=>{let t=new Set,n=[];return e.forEach(e=>{let r=`${e.unitId}_${e.subUnitId}_${e.cfId}`;if(t.has(r)){if(e.isNeedResetPreComputingCache){let t=n.find(t=>t.cfId===e.cfId);t.isNeedResetPreComputingCache=!0}return}t.add(r),n.push({...e})}),n})).subscribe(e=>{e.forEach(e=>{this._markRuleDirtyAtOnce(e.unitId,e.subUnitId,e.cfId,e.isNeedResetPreComputingCache)})})),(t,n,r,i=!0)=>{e.next({unitId:t,subUnitId:n,cfId:r,isNeedResetPreComputingCache:i})}})()),this._initRuleListener(),this._handleCustomFormulasSeparately(),this._initCFFormulaListener()}_initCFFormulaListener(){this.disposeWithMe(this._conditionalFormattingFormulaService.result$.subscribe(({unitId:e,subUnitId:t,cfId:n,isAllFinished:r})=>{r&&this._markRuleDirtyAtOnce(e,t,n,r)}))}getCellCfs(e,t,n,r){let i=this._createCacheKey(e,t,n,r);if(this._cellCache.has(i))return this._cellCache.get(i);let a=this._getCellCfs(e,t,n,r);return a.length&&this._cellCache.set(i,a),a}_getCellCfs(e,t,n,r){var i;let a=(i=this._conditionalFormattingRuleModel.getSubunitRules(e,t))==null?[]:i,o=this._ensureCalculateUnitManager(e,t),s=this._rTreeManager.bulkSearch([{unitId:e,sheetId:t,range:{startColumn:r,endColumn:r,startRow:n,endRow:n}}]),c=a.filter(e=>s.has(e.cfId));return c.length?c.map(e=>{let t=o.get(e.cfId);return t?{cfId:e.cfId,result:t.getCell(n,r)}:null}).filter(e=>!!e).map((e,t)=>({...e,priority:t})):[]}dispose(){this.clearCache(),super.dispose()}clearCache(){this._calculateUnitManagers.clear(),this._cellCache.clear(),this._rTreeManager.clear()}_handleCustomFormulasSeparately(){this.disposeWithMe(this._conditionalFormattingRuleModel.$ruleChange.subscribe(e=>{if(e.type===`set`){let{unitId:t,subUnitId:n}=e,r=e.oldRule;r.rule.type===`highlightCell`&&r.rule.subType===`formula`&&this._conditionalFormattingFormulaService.deleteCache(t,n,r.cfId)}}))}_initRuleListener(){this.disposeWithMe(this._conditionalFormattingRuleModel.$ruleChange.subscribe(e=>{let{unitId:t,subUnitId:n,rule:r}=e,{cfId:i,ranges:a}=r,o=this._ensureCalculateUnitManager(t,n);switch(this.markRuleDirty(t,n,i),e.type){case`add`:{this._rTreeManager.bulkInsert(a.map(e=>({unitId:t,sheetId:n,id:i,range:e})));let e=this._createRuleCalculateUnitInstance(t,n,r);if(!e)return;o.set(r.cfId,e);break}case`delete`:this._rTreeManager.bulkRemove(a.map(e=>({unitId:t,sheetId:n,id:i,range:e}))),o.delete(r.cfId);break;case`set`:{let s=e.oldRule;if(this._rTreeManager.bulkRemove(s.ranges.map(e=>({unitId:t,sheetId:n,id:s.cfId,range:e}))),this._rTreeManager.bulkInsert(a.map(e=>({unitId:t,sheetId:n,id:i,range:e}))),s.rule.type!==r.rule.type){let e=this._createRuleCalculateUnitInstance(t,n,r);if(!e)return;o.delete(s.cfId),o.set(r.cfId,e)}else{let e=o.get(s.cfId);if(!e)return;e.updateRule(r)}}}}))}_ensureCalculateUnitManager(e,t){let n=this._calculateUnitManagers.get(e);n||(n=new Map,this._calculateUnitManagers.set(e,n));let r=n.get(t);return r||(r=new Map,n.set(t,r)),r}_createRuleCalculateUnitInstance(e,t,n){let r=this._univerInstanceService.getUnit(e),i=r==null?void 0:r.getSheetBySheetId(t);if(!r||!i)return;let a={workbook:r,worksheet:i,unitId:e,subUnitId:t,accessor:this._injector,rule:n,limit:V,getCellValue:(e,t)=>i.getCellRaw(e,t)||{}};switch(n.rule.type){case`colorScale`:return new se(a);case`dataBar`:return new pe(a);case`highlightCell`:return new he(a);case`iconSet`:return new _e(a)}}_createCacheKey(e,t,n,r){return`${e}_${t}_${n}_${r}`}setCacheLength(e=V){this._cellCache.limit!==e&&(this._cellCache.limit=e,this._calculateUnitManagers.forEach(t=>{t.forEach(t=>{t.forEach(t=>{t.setCacheLength(e)})})}))}};H=I([F(0,(0,t.Inject)(t.Injector)),F(1,(0,t.Inject)(E)),F(2,(0,t.Inject)(L)),F(3,t.IUniverInstanceService)],H);function U(e,t){return Math.abs(e-t)<2**-52}let W=e=>e==null||typeof e==`string`&&e.trim()===``,G=e=>{var n;if(!e)return null;if(e.t===t.CellValueType.BOOLEAN)return e.v===t.BooleanNumber.TRUE?i.BooleanValue.TRUE:i.BooleanValue.FALSE;let r=e.v,a=(n=e.p)==null||(n=n.body)==null?void 0:n.dataStream.replace(/\r\n$/,``);return W(r)?W(a)?null:a:r},K=86400;function ve(e,t=!0){if(t&&e>=0){if(e===0)return[1900,1,0];if(e===60)return[1900,2,29];if(e<60)return[1900,e<32?1:2,(e-1)%31+1]}let n=e+68569+2415019,r=Math.floor(4*n/146097);n-=Math.floor((146097*r+3)/4);let i=Math.floor(4e3*(n+1)/1461001);n=n-Math.floor(1461*i/4)+31;let a=Math.floor(80*n/2447),o=n-Math.floor(2447*a/80);n=Math.floor(a/11);let s=a+2-12*n;return[100*(r-49)+i+n|0,s|0,o|0]}let ye=e=>{let n=e|0,r=K*(e-n),i=Math.floor(r);r-i>.9999&&(i+=1,i===K&&(i=0,n+=1));let a=i<0?K+i:i,[o,s,c]=ve(e,!0);return(0,t.dateKit)(`${o}/${s}/${c} ${Math.floor(a/60/60)%60}:${Math.floor(a/60)%60}:${Math.floor(a)%60}`).valueOf()},q=(e,t,n)=>{switch(e.type){case`max`:{let e=0;return t.forValue((t,n,r)=>{r>e&&(e=r)}),{status:i.FormulaResultStatus.SUCCESS,result:e}}case`min`:{let e;return t.forValue((t,n,r)=>{e===void 0&&(e=r),r<e&&(e=r)}),{status:i.FormulaResultStatus.SUCCESS,result:e}}case`percent`:{let n,r;t.forValue((e,t,i)=>{(n===void 0||r===void 0)&&(n=i,r=i),i>n&&(n=i),i<r&&(r=i)});let a=(n||0)-(r||0),o=Math.max(Math.min(Number(e.value)||0,100),0);return{status:i.FormulaResultStatus.SUCCESS,result:o/100*a+(r||0)}}case`percentile`:{let n=t.toNativeArray().sort((e,t)=>e-t),r=Math.max(Math.min(Number(e.value)||0,100),0),a=(n.length-1)*r/100,o=Math.floor(a),s=a-o,c=n[o]+(n[Math.min(o+1,n.length-1)]-n[o])*s;return{status:i.FormulaResultStatus.SUCCESS,result:c}}case`formula`:{let{accessor:t,unitId:r,subUnitId:i,cfId:a}=n,o=String(e.value),s=t.get(L);return s.registerFormulaWithRange(r,i,a,o),s.getFormulaResultWithCoords(r,i,a,o)}default:{let t=Number(e.value);return{status:i.FormulaResultStatus.SUCCESS,result:Number.isNaN(t)?0:t}}}},be=(e,n,r,i)=>{let{accessor:a}=i,o=a.get(H),s=new t.ObjectMatrix;return r.ranges.forEach(i=>{t.Range.foreach(i,(t,i)=>{let a=o.getCellCfs(e,n,t,i);if(a){let e=a.find(e=>e.cfId===r.cfId);e!=null&&e.result&&s.setValue(t,i,e.result)}})}),s},J=(e,t)=>{switch(e.operator){case`between`:{if(typeof e.value!=`object`||!e.value.length)return;let n=Math.min(...e.value),r=Math.max(...e.value);return t>=n&&t<=r}case`notBetween`:{if(typeof e.value!=`object`||!e.value.length)return;let n=Math.min(...e.value),r=Math.max(...e.value);return!(t>=n&&t<=r)}case`equal`:return U(e.value||0,t);case`notEqual`:return!U(e.value||0,t);case`greaterThan`:return t>(e.value||0);case`greaterThanOrEqual`:return t>=(e.value||0);case`lessThan`:return t<(e.value||0);case`lessThanOrEqual`:return t<=(e.value||0);default:return!1}},xe=e=>{switch(e){case`greaterThan`:return`lessThanOrEqual`;case`greaterThanOrEqual`:return`lessThan`;case`lessThan`:return`greaterThanOrEqual`;case`lessThanOrEqual`:return`greaterThan`}return e},Se=(e,n)=>{let r=e=>e.a===void 0?{...e,a:1}:e,i=e.findIndex(e=>e.value>=n),a=i-1;if(i===0)return e[0].color.toRgbString();if(a>=0){let o=e[a],s=e[i];if(o.color.isValid&&s.color.isValid){let e=r(o.color.toRgb()),i=r(s.color.toRgb()),a=s.value-o.value,c=(n-o.value)/a;return new t.ColorKit([`r`,`g`,`b`,`a`].reduce((t,n)=>{let r=e[n];return t[n]=(i[n]-r)*c+r,t},{})).toRgbString()}}else return e[e.length-1].color.toRgbString()},Y=(e,t,n)=>e.map(e=>{if(e.startColumn>n||e.startRow>t)return null;let r={...e};return r.endRow=Math.min(r.endRow,t),r.endColumn=Math.min(r.endColumn,n),r}).filter(e=>!!e);function Ce(e){let n=0;return new t.ObjectMatrix(e).forValue((e,t,r)=>{n=Math.max(Number.isNaN(n)?0:n,Number(r))}),n}let X={feedback:{mistake:`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%229.99999%22%20cy%3D%2210%22%20r%3D%227.03704%22%20fill%3D%22%23FE4B4B%22%2F%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M6.87359%206.87332C6.6146%207.13231%206.6146%207.55221%206.87359%207.8112L9.062%209.99961L6.87356%2012.188C6.61457%2012.447%206.61457%2012.8669%206.87356%2013.1259C7.13255%2013.3849%207.55245%2013.3849%207.81144%2013.1259L9.99987%2010.9375L12.1882%2013.1258C12.4472%2013.3848%2012.8671%2013.3848%2013.1261%2013.1258C13.3851%2012.8669%2013.3851%2012.447%2013.1261%2012.188L10.9378%209.99961L13.1261%207.81127C13.3851%207.55228%2013.3851%207.13238%2013.1261%206.87339C12.8671%206.61441%2012.4472%206.61441%2012.1882%206.87339L9.99987%209.06173L7.81147%206.87332C7.55248%206.61433%207.13257%206.61433%206.87359%206.87332Z%22%20fill%3D%22%23FFFFFF%22%2F%3E%0A%3C%2Fsvg%3E%0A`,warn:`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%229.99999%22%20cy%3D%2210%22%20r%3D%227.03704%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3Cpath%20d%3D%22M9.16817%206.67735C9.16646%206.61745%209.1656%206.5875%209.16653%206.56236C9.18103%206.16817%209.49136%205.84883%209.88497%205.82306C9.91008%205.82141%209.94004%205.82141%209.99996%205.82141V5.82141C10.0599%205.82141%2010.0899%205.82141%2010.115%205.82306C10.5086%205.84883%2010.8189%206.16817%2010.8334%206.56236C10.8343%206.5875%2010.8335%206.61745%2010.8318%206.67735L10.7043%2011.131C10.6934%2011.5121%2010.3812%2011.8154%209.99995%2011.8154V11.8154C9.61866%2011.8154%209.30655%2011.5121%209.29564%2011.131L9.16817%206.67735Z%22%20fill%3D%22%23FFFFFF%22%2F%3E%0A%3Crect%20x%3D%229.31488%22%20y%3D%2212.8086%22%20width%3D%221.37006%22%20height%3D%221.37006%22%20rx%3D%220.685032%22%20fill%3D%22%23FFFFFF%22%2F%3E%0A%3C%2Fsvg%3E%0A`,correct:`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M17.037%2010C17.037%2013.8865%2013.8864%2017.0371%209.99999%2017.0371C6.11354%2017.0371%202.96295%2013.8865%202.96295%2010C2.96295%206.1136%206.11354%202.96301%209.99999%202.96301C13.8864%202.96301%2017.037%206.1136%2017.037%2010Z%22%20fill%3D%22%2359D01E%22%2F%3E%0A%3Cpath%20d%3D%22M13.9239%207.17477C13.6638%206.91472%2013.2422%206.91472%2012.9821%207.17477L8.74433%2011.4126L7.01786%209.6861C6.75781%209.42606%206.33619%209.42606%206.07614%209.6861C5.81609%209.94615%205.81609%2010.3678%206.07614%2010.6278L8.27349%2012.8252C8.53354%2013.0852%208.95516%2013.0852%209.21521%2012.8252L9.2195%2012.8209L13.9239%208.1165C14.1839%207.85645%2014.1839%207.43482%2013.9239%207.17477Z%22%20fill%3D%22%23FFFFFF%22%2F%3E%0A%3C%2Fsvg%3E%0A`},star:{starEmpty:`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M10.3437%203.3312L11.6861%206.67412C11.8451%207.0699%2012.2165%207.33978%2012.6421%207.36863L16.2362%207.61233C16.5693%207.63492%2016.7048%208.05202%2016.4486%208.26608L13.6841%2010.5758C13.3568%2010.8493%2013.215%2011.2859%2013.319%2011.6996L14.1979%2015.1931C14.2793%2015.5168%2013.9245%2015.7746%2013.6418%2015.5971L10.5908%2013.6817C10.2296%2013.4549%209.77045%2013.4549%209.40924%2013.6817L6.35828%2015.5971C6.07553%2015.7746%205.72072%2015.5168%205.80217%2015.1931L6.68105%2011.6996C6.7851%2011.2859%206.64322%2010.8493%206.31592%2010.5758L3.55145%208.26607C3.29525%208.05202%203.43078%207.63492%203.76386%207.61233L7.358%207.36863C7.78352%207.33978%208.15498%207.0699%208.31391%206.67412L9.65633%203.3312C9.78074%203.0214%2010.2193%203.0214%2010.3437%203.3312Z%22%20fill%3D%22%23fff%22%20stroke%3D%22%23FFBD37%22%20stroke-width%3D%220.740741%22%2F%3E%0A%3C%2Fsvg%3E%0A`,starIncomplete:`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M10.3437%203.3312L11.6861%206.67412C11.845%207.0699%2012.2165%207.33978%2012.642%207.36863L16.2361%207.61233C16.5692%207.63492%2016.7047%208.05202%2016.4485%208.26608L13.6841%2010.5758C13.3568%2010.8493%2013.2149%2011.2859%2013.3189%2011.6996L14.1978%2015.1931C14.2793%2015.5168%2013.9245%2015.7746%2013.6417%2015.5971L10.5908%2013.6817C10.2295%2013.4549%209.77039%2013.4549%209.40918%2013.6817L6.35822%2015.5971C6.07547%2015.7746%205.72066%2015.5168%205.80211%2015.1931L6.68098%2011.6996C6.78504%2011.2859%206.64316%2010.8493%206.31586%2010.5758L3.55139%208.26607C3.29519%208.05202%203.43072%207.63492%203.7638%207.61233L7.35793%207.36863C7.78346%207.33978%208.15491%207.0699%208.31385%206.67412L9.65627%203.3312C9.78068%203.0214%2010.2192%203.0214%2010.3437%203.3312Z%22%20fill%3D%22%23fff%22%20stroke%3D%22%23FFBD37%22%20stroke-width%3D%220.740741%22%2F%3E%0A%3Cmask%20id%3D%22mask1_613_177%22%20style%3D%22mask-type%3Aalpha%22%20maskUnits%3D%22userSpaceOnUse%22%20x%3D%220%22%20y%3D%220%22%20width%3D%2210%22%20height%3D%2220%22%3E%0A%3Crect%20width%3D%2210%22%20height%3D%2220%22%20fill%3D%22%23C4C4C4%22%2F%3E%0A%3C%2Fmask%3E%0A%3Cg%20mask%3D%22url(%23mask1_613_177)%22%3E%0A%3Cpath%20d%3D%22M10.3437%203.3312L11.6861%206.67412C11.845%207.0699%2012.2165%207.33978%2012.642%207.36863L16.2361%207.61233C16.5692%207.63492%2016.7047%208.05202%2016.4485%208.26608L13.6841%2010.5758C13.3568%2010.8493%2013.2149%2011.2859%2013.3189%2011.6996L14.1978%2015.1931C14.2793%2015.5168%2013.9245%2015.7746%2013.6417%2015.5971L10.5908%2013.6817C10.2295%2013.4549%209.77039%2013.4549%209.40918%2013.6817L6.35822%2015.5971C6.07547%2015.7746%205.72066%2015.5168%205.80211%2015.1931L6.68098%2011.6996C6.78504%2011.2859%206.64316%2010.8493%206.31586%2010.5758L3.55139%208.26607C3.29519%208.05202%203.43072%207.63492%203.7638%207.61233L7.35793%207.36863C7.78346%207.33978%208.15491%207.0699%208.31385%206.67412L9.65627%203.3312C9.78068%203.0214%2010.2192%203.0214%2010.3437%203.3312Z%22%20fill%3D%22%23FFBD37%22%20stroke%3D%22%23FFBD37%22%20stroke-width%3D%220.740741%22%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A`,starFull:`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M10.3437%203.3312L11.6861%206.67412C11.8451%207.0699%2012.2165%207.33978%2012.6421%207.36863L16.2362%207.61233C16.5693%207.63492%2016.7048%208.05202%2016.4486%208.26608L13.6841%2010.5758C13.3568%2010.8493%2013.215%2011.2859%2013.319%2011.6996L14.1979%2015.1931C14.2793%2015.5168%2013.9245%2015.7746%2013.6418%2015.5971L10.5908%2013.6817C10.2296%2013.4549%209.77045%2013.4549%209.40924%2013.6817L6.35828%2015.5971C6.07553%2015.7746%205.72072%2015.5168%205.80217%2015.1931L6.68105%2011.6996C6.7851%2011.2859%206.64322%2010.8493%206.31592%2010.5758L3.55145%208.26607C3.29525%208.05202%203.43078%207.63492%203.76386%207.61233L7.358%207.36863C7.78352%207.33978%208.15498%207.0699%208.31391%206.67412L9.65633%203.3312C9.78074%203.0214%2010.2193%203.0214%2010.3437%203.3312Z%22%20fill%3D%22%23FFBD37%22%20stroke%3D%22%23FFBD37%22%20stroke-width%3D%220.740741%22%2F%3E%0A%3C%2Fsvg%3E%0A`},progress:{progress0:`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%229.99993%22%20r%3D%226.66667%22%20stroke%3D%22%237A7A7A%22%20stroke-width%3D%220.740741%22%2F%3E%0A%3C%2Fsvg%3E%0A`,progress25:`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%229.99993%22%20r%3D%226.66667%22%20stroke%3D%22%237A7A7A%22%20stroke-width%3D%220.740741%22%2F%3E%0A%3Cpath%20d%3D%22M16.2963%209.99991C16.2963%209.17307%2016.1335%208.35432%2015.8171%207.59042C15.5006%206.82652%2015.0369%206.13242%2014.4522%205.54776C13.8675%204.96309%2013.1734%204.49931%2012.4095%204.18289C11.6456%203.86647%2010.8269%203.70361%2010%203.70361L10%209.99991H16.2963Z%22%20fill%3D%22%237A7A7A%22%2F%3E%0A%3C%2Fsvg%3E%0A`,progress50:`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%229.99993%22%20r%3D%226.66667%22%20stroke%3D%22%237A7A7A%22%20stroke-width%3D%220.740741%22%2F%3E%0A%3Cpath%20d%3D%22M10%2016.2962C11.6699%2016.2962%2013.2714%2015.6328%2014.4522%2014.4521C15.633%2013.2713%2016.2963%2011.6698%2016.2963%209.99991C16.2963%208.33003%2015.633%206.72854%2014.4522%205.54776C13.2714%204.36697%2011.6699%203.70361%2010%203.70361L10%209.99991L10%2016.2962Z%22%20fill%3D%22%237A7A7A%22%2F%3E%0A%3C%2Fsvg%3E%0A`,progress75:`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%229.99993%22%20r%3D%226.66667%22%20stroke%3D%22%237A7A7A%22%20stroke-width%3D%220.740741%22%2F%3E%0A%3Cpath%20d%3D%22M3.70374%209.99991C3.70374%2011.2452%204.07301%2012.4625%204.76485%2013.4979C5.4567%2014.5334%206.44005%2015.3404%207.59054%2015.8169C8.74104%2016.2935%2010.007%2016.4182%2011.2284%2016.1752C12.4497%2015.9323%2013.5716%2015.3326%2014.4522%2014.4521C15.3327%2013.5715%2015.9324%2012.4496%2016.1753%2011.2283C16.4183%2010.0069%2016.2936%208.74092%2015.8171%207.59042C15.3405%206.43992%2014.5335%205.45658%2013.4981%204.76473C12.4626%204.07288%2011.2453%203.70361%2010%203.70361L10%209.99991L3.70374%209.99991Z%22%20fill%3D%22%237A7A7A%22%2F%3E%0A%3C%2Fsvg%3E%0A`,progress100:`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%229.99993%22%20r%3D%226.66667%22%20stroke%3D%22%237A7A7A%22%20stroke-width%3D%220.740741%22%2F%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%229.99991%22%20r%3D%226.2963%22%20fill%3D%22%237A7A7A%22%2F%3E%0A%3C%2Fsvg%3E%0A`},signal:{signal0:`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%2214.4764%22%20y%3D%222.98926%22%20width%3D%222.3%22%20height%3D%2214.0597%22%20rx%3D%220.5%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%2210.7255%22%20y%3D%225.93921%22%20width%3D%222.3%22%20height%3D%2211.1096%22%20rx%3D%220.5%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%226.97455%22%20y%3D%229.70435%22%20width%3D%222.3%22%20height%3D%227.3443%22%20rx%3D%220.5%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%223.22363%22%20y%3D%2213.3302%22%20width%3D%222.3%22%20height%3D%223.71851%22%20rx%3D%220.5%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3C%2Fsvg%3E%0A`,signal25:`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%2214.4764%22%20y%3D%222.98926%22%20width%3D%222.3%22%20height%3D%2214.0597%22%20rx%3D%220.5%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%2210.7255%22%20y%3D%225.93921%22%20width%3D%222.3%22%20height%3D%2211.1096%22%20rx%3D%220.5%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%226.97455%22%20y%3D%229.70435%22%20width%3D%222.3%22%20height%3D%227.3443%22%20rx%3D%220.5%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%223.22363%22%20y%3D%2213.3302%22%20width%3D%222.3%22%20height%3D%223.71851%22%20rx%3D%220.5%22%20fill%3D%22%230493EE%22%2F%3E%0A%3C%2Fsvg%3E%0A`,signal50:`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%2214.4764%22%20y%3D%222.98926%22%20width%3D%222.3%22%20height%3D%2214.0597%22%20rx%3D%220.5%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%2210.7255%22%20y%3D%225.93921%22%20width%3D%222.3%22%20height%3D%2211.1096%22%20rx%3D%220.5%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%226.97455%22%20y%3D%229.70435%22%20width%3D%222.3%22%20height%3D%227.3443%22%20rx%3D%220.5%22%20fill%3D%22%230493EE%22%2F%3E%0A%3Crect%20x%3D%223.22363%22%20y%3D%2213.3302%22%20width%3D%222.3%22%20height%3D%223.71851%22%20rx%3D%220.5%22%20fill%3D%22%230493EE%22%2F%3E%0A%3C%2Fsvg%3E%0A`,signal75:`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%2214.4764%22%20y%3D%222.98926%22%20width%3D%222.3%22%20height%3D%2214.0597%22%20rx%3D%220.5%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%2210.7255%22%20y%3D%225.93921%22%20width%3D%222.3%22%20height%3D%2211.1096%22%20rx%3D%220.5%22%20fill%3D%22%230493EE%22%2F%3E%0A%3Crect%20x%3D%226.97455%22%20y%3D%229.70435%22%20width%3D%222.3%22%20height%3D%227.3443%22%20rx%3D%220.5%22%20fill%3D%22%230493EE%22%2F%3E%0A%3Crect%20x%3D%223.22363%22%20y%3D%2213.3302%22%20width%3D%222.3%22%20height%3D%223.71851%22%20rx%3D%220.5%22%20fill%3D%22%230493EE%22%2F%3E%0A%3C%2Fsvg%3E%0A`,signal100:`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%2214.4764%22%20y%3D%222.98926%22%20width%3D%222.3%22%20height%3D%2214.0597%22%20rx%3D%220.5%22%20fill%3D%22%230493EE%22%2F%3E%0A%3Crect%20x%3D%2210.7255%22%20y%3D%225.93933%22%20width%3D%222.3%22%20height%3D%2211.1096%22%20rx%3D%220.5%22%20fill%3D%22%230493EE%22%2F%3E%0A%3Crect%20x%3D%226.97455%22%20y%3D%229.70447%22%20width%3D%222.3%22%20height%3D%227.3443%22%20rx%3D%220.5%22%20fill%3D%22%230493EE%22%2F%3E%0A%3Crect%20x%3D%223.22363%22%20y%3D%2213.3302%22%20width%3D%222.3%22%20height%3D%223.71851%22%20rx%3D%220.5%22%20fill%3D%22%230493EE%22%2F%3E%0A%3C%2Fsvg%3E%0A`},feeling:{guffaw:`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M16.887%2010C16.887%2013.8037%2013.8036%2016.8871%209.99999%2016.8871C6.19638%2016.8871%203.11295%2013.8037%203.11295%2010C3.11295%206.19644%206.19638%203.11301%209.99999%203.11301C13.8036%203.11301%2016.887%206.19644%2016.887%2010Z%22%20fill%3D%22%23FFBD37%22%20stroke%3D%22%238F5F00%22%20stroke-width%3D%220.3%22%2F%3E%0A%3Crect%20x%3D%227.40741%22%20y%3D%227.40735%22%20width%3D%221.48148%22%20height%3D%221.48148%22%20rx%3D%220.740741%22%20fill%3D%22%238F5F00%22%2F%3E%0A%3Crect%20x%3D%2211.1111%22%20y%3D%227.40735%22%20width%3D%221.48148%22%20height%3D%221.48148%22%20rx%3D%220.740741%22%20fill%3D%22%238F5F00%22%2F%3E%0A%3Cpath%20d%3D%22M12.5355%2013.5821C13.0482%2013.1841%2013.3951%2012.6107%2013.5405%2012.0327C13.5934%2011.8226%2013.5051%2011.6349%2013.3518%2011.5331C13.2036%2011.4346%2013.0031%2011.4203%2012.8265%2011.5131C11.0615%2012.4407%208.94609%2012.4427%207.1828%2011.513C7.00629%2011.4199%206.80602%2011.4343%206.65798%2011.5329C6.50518%2011.6346%206.41701%2011.8217%206.46844%2012.0312C6.61029%2012.609%206.95079%2013.1833%207.46449%2013.5821C8.14361%2014.1093%209.05608%2014.3999%2010%2014.3999C10.9439%2014.3999%2011.8564%2014.1093%2012.5355%2013.5821Z%22%20fill%3D%22white%22%20stroke%3D%22%238F5F00%22%20stroke-width%3D%220.4%22%2F%3E%0A%3C%2Fsvg%3E%0A`,smile:`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%229.99999%22%20cy%3D%2210%22%20r%3D%226.88704%22%20fill%3D%22%23FFBD37%22%20stroke%3D%22%238F5F00%22%20stroke-width%3D%220.3%22%2F%3E%0A%3Crect%20x%3D%227.40741%22%20y%3D%227.40735%22%20width%3D%221.48148%22%20height%3D%221.48148%22%20rx%3D%220.740741%22%20fill%3D%22%238F5F00%22%2F%3E%0A%3Crect%20x%3D%2211.1111%22%20y%3D%227.40735%22%20width%3D%221.48148%22%20height%3D%221.48148%22%20rx%3D%220.740741%22%20fill%3D%22%238F5F00%22%2F%3E%0A%3Cpath%20d%3D%22M7.03705%2011.8518C7.03705%2011.8518%207.77779%2013.7037%2010%2013.7037C12.2222%2013.7037%2012.963%2011.8518%2012.963%2011.8518%22%20stroke%3D%22%238F5F00%22%20stroke-width%3D%220.962963%22%20stroke-linecap%3D%22round%22%2F%3E%0A%3C%2Fsvg%3E%0A`,noninductive:`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%229.99999%22%20cy%3D%2210%22%20r%3D%226.88704%22%20fill%3D%22%23FFBD37%22%20stroke%3D%22%238F5F00%22%20stroke-width%3D%220.3%22%2F%3E%0A%3Crect%20x%3D%227.40741%22%20y%3D%227.9259%22%20width%3D%221.48148%22%20height%3D%221.11111%22%20rx%3D%220.555556%22%20fill%3D%22%238F5F00%22%2F%3E%0A%3Crect%20x%3D%2211.1111%22%20y%3D%227.9259%22%20width%3D%221.48148%22%20height%3D%221.11111%22%20rx%3D%220.555556%22%20fill%3D%22%238F5F00%22%2F%3E%0A%3Cpath%20d%3D%22M7.03705%2012.5927C7.03705%2012.5927%208.14816%2012.5927%2010.3704%2012.5927C12.5926%2012.5927%2012.963%2012.5927%2012.963%2012.5927%22%20stroke%3D%22%238F5F00%22%20stroke-width%3D%220.962963%22%20stroke-linecap%3D%22round%22%2F%3E%0A%3C%2Fsvg%3E%0A`,dissatisfied:`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%229.99999%22%20cy%3D%2210%22%20r%3D%226.88704%22%20fill%3D%22%23FFBD37%22%20stroke%3D%22%238F5F00%22%20stroke-width%3D%220.3%22%2F%3E%0A%3Crect%20x%3D%227.40741%22%20y%3D%227.40735%22%20width%3D%221.48148%22%20height%3D%221.48148%22%20rx%3D%220.740741%22%20fill%3D%22%238F5F00%22%2F%3E%0A%3Crect%20x%3D%2211.1111%22%20y%3D%227.40735%22%20width%3D%221.48148%22%20height%3D%221.48148%22%20rx%3D%220.740741%22%20fill%3D%22%238F5F00%22%2F%3E%0A%3Cpath%20d%3D%22M7.03705%2013.7037C7.03705%2013.7037%207.77779%2011.8519%2010%2011.8519C12.2222%2011.8519%2012.963%2013.7037%2012.963%2013.7037%22%20stroke%3D%22%238F5F00%22%20stroke-width%3D%220.962963%22%20stroke-linecap%3D%22round%22%2F%3E%0A%3C%2Fsvg%3E%0A`,impatient:`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%229.99999%22%20cy%3D%2210%22%20r%3D%226.88704%22%20fill%3D%22%23FFBD37%22%20stroke%3D%22%238F5F00%22%20stroke-width%3D%220.3%22%2F%3E%0A%3Crect%20x%3D%227.40741%22%20y%3D%227.40735%22%20width%3D%221.48148%22%20height%3D%221.48148%22%20rx%3D%220.740741%22%20fill%3D%22%238F5F00%22%2F%3E%0A%3Crect%20x%3D%2211.1111%22%20y%3D%227.40735%22%20width%3D%221.48148%22%20height%3D%221.48148%22%20rx%3D%220.740741%22%20fill%3D%22%238F5F00%22%2F%3E%0A%3Cpath%20d%3D%22M7.47573%2011.731C6.96306%2012.129%206.61613%2012.7024%206.47071%2013.2804C6.41784%2013.4905%206.50617%2013.6782%206.65942%2013.78C6.80761%2013.8785%207.00813%2013.8928%207.18477%2013.8C8.9498%2012.8724%2011.0652%2012.8704%2012.8285%2013.8002C13.005%2013.8932%2013.2052%2013.8788%2013.3533%2013.7802C13.5061%2013.6785%2013.5942%2013.4914%2013.5428%2013.2819C13.401%2012.7041%2013.0605%2012.1298%2012.5468%2011.731C11.8676%2011.2038%2010.9552%2010.9132%2010.0112%2010.9132C9.06732%2010.9132%208.15485%2011.2038%207.47573%2011.731Z%22%20fill%3D%22white%22%20stroke%3D%22%238F5F00%22%20stroke-width%3D%220.4%22%2F%3E%0A%3C%2Fsvg%3E%0A`},arrow:{"down-red":`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M8.90467%203.99244C8.84611%204.1338%208.84611%204.31301%208.84611%204.67143V13.716L5.92068%2010.7906C5.66724%2010.5371%205.54052%2010.4104%205.39916%2010.3519C5.21067%2010.2738%204.9989%2010.2738%204.81041%2010.3519C4.66905%2010.4104%204.54233%2010.5371%204.28889%2010.7906C4.03545%2011.044%203.90873%2011.1707%203.85018%2011.3121C3.77211%2011.5006%203.77211%2011.7124%203.85018%2011.9008C3.90873%2012.0422%204.03545%2012.1689%204.28889%2012.4224L9.03476%2017.1682C9.07839%2017.2127%209.12737%2017.2617%209.18231%2017.3166L9.18239%2017.3167L9.18241%2017.3167C9.40545%2017.5398%209.53035%2017.6647%209.65346%2017.7313C9.67085%2017.7408%209.6882%2017.7492%209.70577%2017.7564C9.89425%2017.8345%2010.106%2017.8345%2010.2945%2017.7564C10.4359%2017.6979%2010.5626%2017.5712%2010.816%2017.3177C10.8986%2017.2352%2010.9677%2017.1661%2011.0253%2017.1056L15.7095%2012.4214L15.7095%2012.4213C15.963%2012.1679%2016.0897%2012.0412%2016.1482%2011.8998C16.2263%2011.7114%2016.2263%2011.4996%2016.1482%2011.3111C16.0897%2011.1697%2015.963%2011.043%2015.7095%2010.7896C15.4561%2010.5361%2015.3294%2010.4094%2015.188%2010.3509C14.9995%2010.2728%2014.7878%2010.2728%2014.5993%2010.3509C14.4579%2010.4094%2014.3312%2010.5361%2014.0778%2010.7896L14.0777%2010.7896L11.1538%2013.7135V4.67142C11.1538%204.31301%2011.1538%204.1338%2011.0953%203.99244C11.0172%203.80395%2010.8674%203.6542%2010.6789%203.57613C10.5376%203.51758%2010.3584%203.51758%209.99996%203.51758C9.64154%203.51758%209.46233%203.51758%209.32097%203.57613C9.13249%203.6542%208.98274%203.80395%208.90467%203.99244Z%22%20fill%3D%22%23FE4B4B%22%2F%3E%0A%3C%2Fsvg%3E%0A`,"right-gold":`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M3.32508%2011.7609C3.46644%2011.8194%203.64565%2011.8194%204.00407%2011.8194H13.049L10.1235%2014.745C9.87002%2014.9984%209.7433%2015.1251%209.68475%2015.2665C9.60668%2015.455%209.60668%2015.6668%209.68475%2015.8552C9.7433%2015.9966%209.87002%2016.1233%2010.1235%2016.3768C10.3769%2016.6302%2010.5036%2016.7569%2010.645%2016.8155C10.8335%2016.8935%2011.0452%2016.8935%2011.2337%2016.8155C11.3751%2016.7569%2011.5018%2016.6302%2011.7552%2016.3768L16.5105%2011.6215C16.5524%2011.5803%2016.5983%2011.5344%2016.6493%2011.4834L16.6495%2011.4831C16.8561%2011.2765%2016.9785%2011.1542%2017.0484%2011.0394C17.0648%2011.0128%2017.0782%2010.9866%2017.0893%2010.9599C17.1674%2010.7714%2017.1674%2010.5596%2017.0893%2010.3711C17.0308%2010.2298%2016.904%2010.1031%2016.6506%209.84962C16.5685%209.76752%2016.4997%209.69872%2016.4394%209.64123L11.7542%204.95601C11.5007%204.70257%2011.374%204.57585%2011.2327%204.5173C11.0442%204.43923%2010.8324%204.43923%2010.6439%204.5173C10.5026%204.57585%2010.3758%204.70257%2010.1224%204.95601L10.1224%204.95601C9.86895%205.20945%209.74223%205.33617%209.68368%205.47753C9.60561%205.66601%209.60561%205.87779%209.68368%206.06627C9.74223%206.20764%209.86895%206.33436%2010.1224%206.5878L13.0463%209.51175H4.00407C3.64565%209.51175%203.46644%209.51175%203.32508%209.5703C3.1366%209.64837%202.98685%209.79812%202.90877%209.98661C2.85022%2010.128%202.85022%2010.3072%202.85022%2010.6656C2.85022%2011.024%202.85022%2011.2032%202.90877%2011.3446C2.98685%2011.5331%203.1366%2011.6828%203.32508%2011.7609Z%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3C%2Fsvg%3E%0A`,"up-green":`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M11.0936%2017.3406C11.1522%2017.1992%2011.1522%2017.02%2011.1522%2016.6616V7.61701L14.0776%2010.5424C14.3311%2010.7959%2014.4578%2010.9226%2014.5991%2010.9811C14.7876%2011.0592%2014.9994%2011.0592%2015.1879%2010.9811C15.3292%2010.9226%2015.456%2010.7959%2015.7094%2010.5424C15.9628%2010.289%2016.0896%2010.1623%2016.1481%2010.0209C16.2262%209.83243%2016.2262%209.62066%2016.1481%209.43217C16.0896%209.29081%2015.9628%209.16409%2015.7094%208.91065L10.9645%204.16576C10.9207%204.12105%2010.8714%204.07178%2010.8161%204.01648L10.8159%204.0163C10.5916%203.792%2010.4666%203.66696%2010.3428%203.60058C10.3261%203.59154%2010.3094%203.58358%2010.2925%203.57658C10.104%203.49851%209.89226%203.49851%209.70378%203.57658C9.56242%203.63514%209.4357%203.76186%209.18226%204.0153C9.09955%204.09801%209.03034%204.16722%208.97258%204.22785L4.28878%208.91166C4.03534%209.1651%203.90862%209.29182%203.85006%209.43318C3.77199%209.62166%203.77199%209.83344%203.85006%2010.0219C3.90862%2010.1633%204.03534%2010.29%204.28878%2010.5434C4.54221%2010.7969%204.66893%2010.9236%204.8103%2010.9822C4.99878%2011.0602%205.21056%2011.0602%205.39904%2010.9822C5.5404%2010.9236%205.66712%2010.7969%205.92056%2010.5434L5.92056%2010.5434L8.84449%207.61951V16.6616C8.84449%2017.02%208.84449%2017.1992%208.90305%2017.3406C8.98112%2017.5291%209.13087%2017.6788%209.31935%2017.7569C9.46072%2017.8154%209.63992%2017.8154%209.99834%2017.8154C10.3568%2017.8154%2010.536%2017.8154%2010.6773%2017.7569C10.8658%2017.6788%2011.0156%2017.5291%2011.0936%2017.3406Z%22%20fill%3D%22%2359D01E%22%2F%3E%0A%3C%2Fsvg%3E%0A`,"rightAndDown-gold":`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M4.5062%206.72126C4.56476%206.86262%204.69148%206.98934%204.94492%207.24278L11.3404%2013.6382L7.20313%2013.6382C6.84471%2013.6382%206.66551%2013.6382%206.52414%2013.6968C6.33566%2013.7749%206.18591%2013.9246%206.10784%2014.1131C6.04928%2014.2545%206.04928%2014.4337%206.04928%2014.7921C6.04928%2015.1505%206.04928%2015.3297%206.10784%2015.4711C6.18591%2015.6596%206.33566%2015.8093%206.52414%2015.8874C6.66551%2015.9459%206.84471%2015.9459%207.20313%2015.9459L13.9194%2015.9459C13.9805%2015.9465%2014.0484%2015.9465%2014.1243%2015.9465H14.1243C14.4353%2015.9465%2014.6114%2015.9465%2014.7449%2015.9082C14.7659%2015.9023%2014.7859%2015.8954%2014.8052%2015.8874C14.9937%2015.8093%2015.1434%2015.6596%2015.2215%2015.4711C15.2801%2015.3297%2015.2801%2015.1505%2015.2801%2014.7921C15.2801%2014.6767%2015.2801%2014.5799%2015.2781%2014.497L15.2781%207.86957C15.2781%207.51115%2015.2781%207.33194%2015.2195%207.19058C15.1415%207.0021%2014.9917%206.85235%2014.8032%206.77428C14.6619%206.71572%2014.4827%206.71572%2014.1243%206.71572C13.7658%206.71572%2013.5866%206.71572%2013.4453%206.77428C13.2568%206.85235%2013.107%207.0021%2013.029%207.19058C12.9704%207.33194%2012.9704%207.51115%2012.9704%207.86957L12.9704%2012.0047L6.5767%205.61099C6.32326%205.35755%206.19654%205.23083%206.05518%205.17228C5.8667%205.09421%205.65492%205.09421%205.46644%205.17228C5.32508%205.23083%205.19836%205.35755%204.94492%205.61099C4.69148%205.86443%204.56476%205.99115%204.5062%206.13251C4.42813%206.32099%204.42813%206.53277%204.5062%206.72126Z%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3C%2Fsvg%3E%0A`,"rightAndUp-gold":`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M6.05431%2016.1597C6.19567%2016.1012%206.32239%2015.9745%206.57583%2015.721L12.9712%209.32568L12.9712%2013.4626C12.9712%2013.821%2012.9712%2014.0002%2013.0297%2014.1416C13.1078%2014.3301%2013.2576%2014.4798%2013.446%2014.5579C13.5874%2014.6164%2013.7666%2014.6164%2014.125%2014.6164C14.4834%2014.6164%2014.6626%2014.6164%2014.804%2014.5579C14.9925%2014.4798%2015.1422%2014.3301%2015.2203%2014.1416C15.2789%2014.0002%2015.2789%2013.821%2015.2789%2013.4626L15.2789%206.75233C15.2795%206.68972%2015.2795%206.62004%2015.2795%206.54182L15.2795%206.54157C15.2795%206.22585%2015.2795%206.04918%2015.2395%205.91495C15.2339%205.89605%2015.2276%205.878%2015.2203%205.86053C15.1422%205.67204%2014.9925%205.52229%2014.804%205.44422C14.6626%205.38567%2014.4834%205.38567%2014.125%205.38567L14.125%205.38567C14.0075%205.38567%2013.9093%205.38567%2013.8254%205.38773L7.20256%205.38773C6.84414%205.38773%206.66493%205.38773%206.52357%205.44628C6.33509%205.52436%206.18534%205.6741%206.10727%205.86259C6.04871%206.00395%206.04871%206.18315%206.04871%206.54156V6.54157L6.04871%206.54159C6.04871%206.9%206.04871%207.0792%206.10727%207.22056C6.18534%207.40905%206.33509%207.55879%206.52357%207.63687C6.66493%207.69542%206.84414%207.69542%207.20256%207.69542H11.3379L4.94405%2014.0892C4.69061%2014.3427%204.56389%2014.4694%204.50533%2014.6108C4.42726%2014.7992%204.42726%2015.011%204.50533%2015.1995C4.56389%2015.3409%204.69061%2015.4676%204.94405%2015.721C5.19749%2015.9745%205.32421%2016.1012%205.46557%2016.1597C5.65405%2016.2378%205.86583%2016.2378%206.05431%2016.1597Z%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3C%2Fsvg%3E%0A`,"down-gray":`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M8.90467%203.99244C8.84611%204.1338%208.84611%204.31301%208.84611%204.67143V13.716L5.92068%2010.7906C5.66724%2010.5371%205.54052%2010.4104%205.39916%2010.3519C5.21067%2010.2738%204.9989%2010.2738%204.81041%2010.3519C4.66905%2010.4104%204.54233%2010.5371%204.28889%2010.7906C4.03545%2011.044%203.90873%2011.1707%203.85018%2011.3121C3.77211%2011.5006%203.77211%2011.7124%203.85018%2011.9008C3.90873%2012.0422%204.03545%2012.1689%204.28889%2012.4224L9.03476%2017.1682C9.07839%2017.2127%209.12737%2017.2617%209.18231%2017.3166L9.18239%2017.3167L9.18241%2017.3167C9.40545%2017.5398%209.53035%2017.6647%209.65346%2017.7313C9.67085%2017.7408%209.6882%2017.7492%209.70577%2017.7564C9.89425%2017.8345%2010.106%2017.8345%2010.2945%2017.7564C10.4359%2017.6979%2010.5626%2017.5712%2010.816%2017.3177C10.8986%2017.2352%2010.9677%2017.1661%2011.0253%2017.1056L15.7095%2012.4214L15.7095%2012.4213C15.963%2012.1679%2016.0897%2012.0412%2016.1482%2011.8998C16.2263%2011.7114%2016.2263%2011.4996%2016.1482%2011.3111C16.0897%2011.1697%2015.963%2011.043%2015.7095%2010.7896C15.4561%2010.5361%2015.3294%2010.4094%2015.188%2010.3509C14.9995%2010.2728%2014.7878%2010.2728%2014.5993%2010.3509C14.4579%2010.4094%2014.3312%2010.5361%2014.0778%2010.7896L14.0777%2010.7896L11.1538%2013.7135V4.67142C11.1538%204.31301%2011.1538%204.1338%2011.0953%203.99244C11.0172%203.80395%2010.8674%203.6542%2010.6789%203.57613C10.5376%203.51758%2010.3584%203.51758%209.99996%203.51758C9.64154%203.51758%209.46233%203.51758%209.32097%203.57613C9.13249%203.6542%208.98274%203.80395%208.90467%203.99244Z%22%20fill%3D%22%23999999%22%2F%3E%0A%3C%2Fsvg%3E%0A`,"right-gray":`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M3.32508%2011.7609C3.46644%2011.8194%203.64565%2011.8194%204.00407%2011.8194H13.049L10.1235%2014.745C9.87002%2014.9984%209.7433%2015.1251%209.68475%2015.2665C9.60668%2015.455%209.60668%2015.6668%209.68475%2015.8552C9.7433%2015.9966%209.87002%2016.1233%2010.1235%2016.3768C10.3769%2016.6302%2010.5036%2016.7569%2010.645%2016.8155C10.8335%2016.8935%2011.0452%2016.8935%2011.2337%2016.8155C11.3751%2016.7569%2011.5018%2016.6302%2011.7552%2016.3768L16.5105%2011.6215C16.5524%2011.5803%2016.5983%2011.5344%2016.6493%2011.4834L16.6495%2011.4831C16.8561%2011.2765%2016.9785%2011.1542%2017.0484%2011.0394C17.0648%2011.0128%2017.0782%2010.9866%2017.0893%2010.9599C17.1674%2010.7714%2017.1674%2010.5596%2017.0893%2010.3711C17.0308%2010.2298%2016.904%2010.1031%2016.6506%209.84962C16.5685%209.76752%2016.4997%209.69872%2016.4394%209.64123L11.7542%204.95601C11.5007%204.70257%2011.374%204.57585%2011.2327%204.5173C11.0442%204.43923%2010.8324%204.43923%2010.6439%204.5173C10.5026%204.57585%2010.3758%204.70257%2010.1224%204.95601L10.1224%204.95601C9.86895%205.20945%209.74223%205.33617%209.68368%205.47753C9.60561%205.66601%209.60561%205.87779%209.68368%206.06627C9.74223%206.20764%209.86895%206.33436%2010.1224%206.5878L13.0463%209.51175H4.00407C3.64565%209.51175%203.46644%209.51175%203.32508%209.5703C3.1366%209.64837%202.98685%209.79812%202.90877%209.98661C2.85022%2010.128%202.85022%2010.3072%202.85022%2010.6656C2.85022%2011.024%202.85022%2011.2032%202.90877%2011.3446C2.98685%2011.5331%203.1366%2011.6828%203.32508%2011.7609Z%22%20fill%3D%22%23999999%22%2F%3E%0A%3C%2Fsvg%3E%0A`,"up-gray":`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M11.0936%2017.3406C11.1522%2017.1992%2011.1522%2017.02%2011.1522%2016.6616V7.61701L14.0776%2010.5424C14.3311%2010.7959%2014.4578%2010.9226%2014.5991%2010.9811C14.7876%2011.0592%2014.9994%2011.0592%2015.1879%2010.9811C15.3292%2010.9226%2015.456%2010.7959%2015.7094%2010.5424C15.9628%2010.289%2016.0896%2010.1623%2016.1481%2010.0209C16.2262%209.83243%2016.2262%209.62066%2016.1481%209.43217C16.0896%209.29081%2015.9628%209.16409%2015.7094%208.91065L10.9645%204.16576C10.9207%204.12105%2010.8714%204.07178%2010.8161%204.01648L10.8159%204.0163C10.5916%203.792%2010.4666%203.66696%2010.3428%203.60058C10.3261%203.59154%2010.3094%203.58358%2010.2925%203.57658C10.104%203.49851%209.89226%203.49851%209.70378%203.57658C9.56242%203.63514%209.4357%203.76186%209.18226%204.0153C9.09955%204.09801%209.03034%204.16722%208.97258%204.22785L4.28878%208.91166C4.03534%209.1651%203.90862%209.29182%203.85006%209.43318C3.77199%209.62166%203.77199%209.83344%203.85006%2010.0219C3.90862%2010.1633%204.03534%2010.29%204.28878%2010.5434C4.54221%2010.7969%204.66893%2010.9236%204.8103%2010.9822C4.99878%2011.0602%205.21056%2011.0602%205.39904%2010.9822C5.5404%2010.9236%205.66712%2010.7969%205.92056%2010.5434L5.92056%2010.5434L8.84449%207.61951V16.6616C8.84449%2017.02%208.84449%2017.1992%208.90305%2017.3406C8.98112%2017.5291%209.13087%2017.6788%209.31935%2017.7569C9.46072%2017.8154%209.63992%2017.8154%209.99834%2017.8154C10.3568%2017.8154%2010.536%2017.8154%2010.6773%2017.7569C10.8658%2017.6788%2011.0156%2017.5291%2011.0936%2017.3406Z%22%20fill%3D%22%23999999%22%2F%3E%0A%3C%2Fsvg%3E%0A`,"rightAndDown-gray":`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M4.5062%206.72126C4.56476%206.86262%204.69148%206.98934%204.94492%207.24278L11.3404%2013.6382L7.20313%2013.6382C6.84471%2013.6382%206.66551%2013.6382%206.52414%2013.6968C6.33566%2013.7749%206.18591%2013.9246%206.10784%2014.1131C6.04928%2014.2545%206.04928%2014.4337%206.04928%2014.7921C6.04928%2015.1505%206.04928%2015.3297%206.10784%2015.4711C6.18591%2015.6596%206.33566%2015.8093%206.52414%2015.8874C6.66551%2015.9459%206.84471%2015.9459%207.20313%2015.9459L13.9194%2015.9459C13.9805%2015.9465%2014.0484%2015.9465%2014.1243%2015.9465H14.1243C14.4353%2015.9465%2014.6114%2015.9465%2014.7449%2015.9082C14.7659%2015.9023%2014.7859%2015.8954%2014.8052%2015.8874C14.9937%2015.8093%2015.1434%2015.6596%2015.2215%2015.4711C15.2801%2015.3297%2015.2801%2015.1505%2015.2801%2014.7921C15.2801%2014.6767%2015.2801%2014.5799%2015.2781%2014.497L15.2781%207.86957C15.2781%207.51115%2015.2781%207.33194%2015.2195%207.19058C15.1415%207.0021%2014.9917%206.85235%2014.8032%206.77428C14.6619%206.71572%2014.4827%206.71572%2014.1243%206.71572C13.7658%206.71572%2013.5866%206.71572%2013.4453%206.77428C13.2568%206.85235%2013.107%207.0021%2013.029%207.19058C12.9704%207.33194%2012.9704%207.51115%2012.9704%207.86957L12.9704%2012.0047L6.5767%205.61099C6.32326%205.35755%206.19654%205.23083%206.05518%205.17228C5.8667%205.09421%205.65492%205.09421%205.46644%205.17228C5.32508%205.23083%205.19836%205.35755%204.94492%205.61099C4.69148%205.86443%204.56476%205.99115%204.5062%206.13251C4.42813%206.32099%204.42813%206.53277%204.5062%206.72126Z%22%20fill%3D%22%23999999%22%2F%3E%0A%3C%2Fsvg%3E%0A`,"rightAndUp-gray":`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M6.05431%2016.1597C6.19567%2016.1012%206.32239%2015.9745%206.57583%2015.721L12.9712%209.32568L12.9712%2013.4626C12.9712%2013.821%2012.9712%2014.0002%2013.0297%2014.1416C13.1078%2014.3301%2013.2576%2014.4798%2013.446%2014.5579C13.5874%2014.6164%2013.7666%2014.6164%2014.125%2014.6164C14.4834%2014.6164%2014.6626%2014.6164%2014.804%2014.5579C14.9925%2014.4798%2015.1422%2014.3301%2015.2203%2014.1416C15.2789%2014.0002%2015.2789%2013.821%2015.2789%2013.4626L15.2789%206.75233C15.2795%206.68972%2015.2795%206.62004%2015.2795%206.54182L15.2795%206.54157C15.2795%206.22585%2015.2795%206.04918%2015.2395%205.91495C15.2339%205.89605%2015.2276%205.878%2015.2203%205.86053C15.1422%205.67204%2014.9925%205.52229%2014.804%205.44422C14.6626%205.38567%2014.4834%205.38567%2014.125%205.38567L14.125%205.38567C14.0075%205.38567%2013.9093%205.38567%2013.8254%205.38773L7.20256%205.38773C6.84414%205.38773%206.66493%205.38773%206.52357%205.44628C6.33509%205.52436%206.18534%205.6741%206.10727%205.86259C6.04871%206.00395%206.04871%206.18315%206.04871%206.54156V6.54157L6.04871%206.54159C6.04871%206.9%206.04871%207.0792%206.10727%207.22056C6.18534%207.40905%206.33509%207.55879%206.52357%207.63687C6.66493%207.69542%206.84414%207.69542%207.20256%207.69542H11.3379L4.94405%2014.0892C4.69061%2014.3427%204.56389%2014.4694%204.50533%2014.6108C4.42726%2014.7992%204.42726%2015.011%204.50533%2015.1995C4.56389%2015.3409%204.69061%2015.4676%204.94405%2015.721C5.19749%2015.9745%205.32421%2016.1012%205.46557%2016.1597C5.65405%2016.2378%205.86583%2016.2378%206.05431%2016.1597Z%22%20fill%3D%22%23999999%22%2F%3E%0A%3C%2Fsvg%3E%0A`},shape:{cross:`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%223.70374%22%20y%3D%228.14795%22%20width%3D%2212.5926%22%20height%3D%223.7037%22%20rx%3D%220.740741%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3C%2Fsvg%3E%0A`,up:`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M9.44533%205.81157C9.74012%205.47858%2010.2598%205.47858%2010.5546%205.81157L16.2868%2012.2867C16.71%2012.7647%2016.3706%2013.5184%2015.7322%2013.5184H4.26776C3.62933%2013.5184%203.28995%2012.7647%203.71313%2012.2867L9.44533%205.81157Z%22%20fill%3D%22%2359D01E%22%2F%3E%0A%3C%2Fsvg%3E%0A`,down:`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M10.5547%2014.1884C10.2599%2014.5214%209.74019%2014.5214%209.4454%2014.1884L3.71321%207.71335C3.29002%207.23532%203.6294%206.48161%204.26784%206.48161L15.7322%206.48161C16.3707%206.48161%2016.7101%207.23532%2016.2869%207.71335L10.5547%2014.1884Z%22%20fill%3D%22%23FE4B4B%22%2F%3E%0A%3C%2Fsvg%3E%0A`,"rhomboid-red":`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M2.1415%2011.1984C1.8412%2010.9074%201.8412%2010.4256%202.1415%2010.1346L9.48467%203.01785C9.77196%202.73942%2010.2284%202.73942%2010.5157%203.01786L17.8586%2010.1346C18.1589%2010.4256%2018.1589%2010.9074%2017.8586%2011.1984L10.5157%2018.3151C10.2284%2018.5936%209.77196%2018.5936%209.48467%2018.3152L2.1415%2011.1984Z%22%20fill%3D%22%23FE4B4B%22%2F%3E%0A%3C%2Fsvg%3E%0A`,"rhomboid-gold":`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M2.1415%2011.1984C1.8412%2010.9074%201.8412%2010.4256%202.1415%2010.1346L9.48467%203.01785C9.77196%202.73942%2010.2284%202.73942%2010.5157%203.01786L17.8586%2010.1346C18.1589%2010.4256%2018.1589%2010.9074%2017.8586%2011.1984L10.5157%2018.3151C10.2284%2018.5936%209.77196%2018.5936%209.48467%2018.3152L2.1415%2011.1984Z%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3C%2Fsvg%3E%0A`,"roundness-greed":`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%2210.6664%22%20r%3D%227.03704%22%20fill%3D%22%2359D01E%22%2F%3E%0A%3C%2Fsvg%3E%0A`,"roundness-gold":`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%2210.6664%22%20r%3D%227.03704%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3C%2Fsvg%3E%0A`,"roundness-red":`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%2210.6664%22%20r%3D%227.03704%22%20fill%3D%22%23FE4B4B%22%2F%3E%0A%3C%2Fsvg%3E%0A`,"roundness-pink":`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%2210.6664%22%20r%3D%227.03704%22%20fill%3D%22%23FB9D9D%22%2F%3E%0A%3C%2Fsvg%3E%0A`,"roundness-gray":`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%2210.6664%22%20r%3D%227.03704%22%20fill%3D%22%23999999%22%2F%3E%0A%3C%2Fsvg%3E%0A`,"roundness-black":`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%2210.6664%22%20r%3D%227.03704%22%20fill%3D%22black%22%2F%3E%0A%3C%2Fsvg%3E%0A`,"triangle-gold":`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cg%20clip-path%3D%22url(%23clip0_613_237)%22%3E%0A%3Cpath%20d%3D%22M9.32308%204.41301C9.58368%203.82623%2010.4164%203.82623%2010.677%204.413L15.9526%2016.2917C16.1701%2016.7815%2015.8115%2017.3331%2015.2756%2017.3331H4.72454C4.18858%2017.3331%203.83002%2016.7815%204.04756%2016.2917L9.32308%204.41301Z%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3C%2Fg%3E%0A%3Cdefs%3E%0A%3CclipPath%20id%3D%22clip0_613_237%22%3E%0A%3Crect%20width%3D%2220%22%20height%3D%2220%22%20fill%3D%22white%22%20transform%3D%22translate(0%200.666504)%22%2F%3E%0A%3C%2FclipPath%3E%0A%3C%2Fdefs%3E%0A%3C%2Fsvg%3E%0A`,"indicate-greed":`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%222.76941%22%20y%3D%222.76941%22%20width%3D%2214.4612%22%20height%3D%2214.4612%22%20rx%3D%223%22%20fill%3D%22black%22%2F%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%2210%22%20r%3D%224.5%22%20fill%3D%22%2359D01E%22%2F%3E%0A%3C%2Fsvg%3E%0A`,"indicate-gold":`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%222.76941%22%20y%3D%222.76941%22%20width%3D%2214.4612%22%20height%3D%2214.4612%22%20rx%3D%223%22%20fill%3D%22black%22%2F%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%2210%22%20r%3D%224.5%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3C%2Fsvg%3E%0A`,"indicate-red":`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%222.76941%22%20y%3D%222.76941%22%20width%3D%2214.4612%22%20height%3D%2214.4612%22%20rx%3D%223%22%20fill%3D%22black%22%2F%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%2210%22%20r%3D%224.5%22%20fill%3D%22%23FE4B4B%22%2F%3E%0A%3C%2Fsvg%3E%0A`},feedback2:{mistake2:`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M4.12194%206.33702C4.1805%206.47839%204.30722%206.6051%204.56066%206.85854L8.36822%2010.6661L4.56062%2014.4737C4.30718%2014.7272%204.18046%2014.8539%204.12191%2014.9952C4.04384%2015.1837%204.04384%2015.3955%204.12191%2015.584C4.18046%2015.7253%204.30718%2015.8521%204.56062%2016.1055C4.81406%2016.3589%204.94078%2016.4857%205.08214%2016.5442C5.27062%2016.6223%205.4824%2016.6223%205.67089%2016.5442C5.81225%2016.4857%205.93897%2016.3589%206.19241%2016.1055L10%2012.2979L13.8074%2016.1053C14.0609%2016.3588%2014.1876%2016.4855%2014.329%2016.544C14.5174%2016.6221%2014.7292%2016.6221%2014.9177%2016.544C15.0591%2016.4855%2015.1858%2016.3588%2015.4392%2016.1053L15.4392%2016.1053C15.6927%2015.8519%2015.8194%2015.7252%2015.8779%2015.5838C15.956%2015.3953%2015.956%2015.1835%2015.8779%2014.9951C15.8194%2014.8537%2015.6927%2014.727%2015.4392%2014.4735L15.4392%2014.4735L11.6318%2010.6661L15.4392%206.85872C15.6926%206.60528%2015.8193%206.47856%2015.8779%206.3372C15.956%206.14871%2015.956%205.93694%2015.8779%205.74845C15.8193%205.60709%2015.6926%205.48037%2015.4392%205.22693C15.1857%204.97349%2015.059%204.84677%2014.9177%204.78822C14.7292%204.71015%2014.5174%204.71015%2014.3289%204.78822C14.1876%204.84677%2014.0608%204.97349%2013.8074%205.22693L10%209.03433L6.19244%205.22676C5.939%204.97332%205.81228%204.8466%205.67092%204.78805C5.48244%204.70997%205.27066%204.70997%205.08218%204.78805C4.94082%204.8466%204.8141%204.97332%204.56066%205.22676L4.56066%205.22676C4.30722%205.4802%204.1805%205.60692%204.12194%205.74828C4.04387%205.93676%204.04387%206.14854%204.12194%206.33702Z%22%20fill%3D%22%23FE4B4B%22%2F%3E%0A%3C%2Fsvg%3E%0A`,warn2:`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M8.49778%205.00963C8.48513%204.56774%208.47881%204.3468%208.56086%204.17746C8.63301%204.02856%208.75124%203.90689%208.89802%203.83052C9.06494%203.74365%209.28597%203.74365%209.72805%203.74365H10.272C10.714%203.74365%2010.9351%203.74365%2011.102%203.83052C11.2488%203.9069%2011.367%204.02856%2011.4392%204.17746C11.5212%204.3468%2011.5149%204.56775%2011.5022%205.00964L11.2644%2013.3173C11.2524%2013.737%2011.2464%2013.9468%2011.1609%2014.1065C11.0857%2014.2471%2010.9687%2014.3609%2010.826%2014.432C10.6639%2014.5129%2010.454%2014.5129%2010.0342%2014.5129H9.96582C9.54601%2014.5129%209.33611%2014.5129%209.17397%2014.432C9.0313%2014.3609%208.91426%2014.2471%208.83904%2014.1065C8.75357%2013.9468%208.74756%2013.737%208.73555%2013.3173L8.49778%205.00963Z%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3Crect%20x%3D%228.76917%22%20y%3D%2215.2817%22%20width%3D%222.46154%22%20height%3D%222.46154%22%20rx%3D%220.769231%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3C%2Fsvg%3E%0A`,correct2:`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cg%20clip-path%3D%22url(%23clip0_613_248)%22%3E%0A%3Cpath%20d%3D%22M15.689%205.69723C15.5476%205.75578%2015.4209%205.8825%2015.1675%206.13594L7.82436%2013.4791L4.83279%2010.4875C4.57935%2010.2341%204.45263%2010.1073%204.31127%2010.0488C4.12278%209.97071%203.91101%209.97071%203.72252%2010.0488C3.58116%2010.1073%203.45444%2010.2341%203.201%2010.4875C2.94756%2010.7409%202.82084%2010.8676%202.76229%2011.009C2.68422%2011.1975%202.68422%2011.4093%202.76229%2011.5978C2.82084%2011.7391%202.94756%2011.8658%203.201%2012.1193L7.0085%2015.9268C7.26194%2016.1802%207.38866%2016.3069%207.53002%2016.3655C7.7185%2016.4436%207.93028%2016.4436%208.11876%2016.3655C8.26013%2016.3069%208.38685%2016.1802%208.64028%2015.9268C8.66387%2015.9032%208.68636%2015.8807%208.7078%2015.8592L16.7993%207.76772C17.0527%207.51428%2017.1794%207.38756%2017.238%207.2462C17.3161%207.05772%2017.3161%206.84594%2017.238%206.65746C17.1794%206.5161%2017.0527%206.38938%2016.7993%206.13594C16.5458%205.8825%2016.4191%205.75578%2016.2777%205.69723C16.0893%205.61915%2015.8775%205.61915%2015.689%205.69723Z%22%20fill%3D%22%2359D01E%22%2F%3E%0A%3C%2Fg%3E%0A%3Cdefs%3E%0A%3CclipPath%20id%3D%22clip0_613_248%22%3E%0A%3Crect%20width%3D%2220%22%20height%3D%2220%22%20fill%3D%22white%22%20transform%3D%22translate(0%200.666504)%22%2F%3E%0A%3C%2FclipPath%3E%0A%3C%2Fdefs%3E%0A%3C%2Fsvg%3E%0A`},flag:{"flag-green":`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M15.4274%204.74935C14.0982%205.1012%2013.1363%205.13675%2012.3604%205.03379C11.5776%204.93009%2010.9487%204.68342%2010.2456%204.40416L10.2246%204.39527C9.53411%204.1212%208.76945%203.8175%207.81312%203.69157C6.84279%203.56268%205.71016%203.61898%204.24802%204.0049C4.09343%204.04217%203.95538%204.13393%203.85649%204.26515C3.7576%204.39636%203.70374%204.55925%203.70374%204.72712V17.3197C3.70374%2017.5162%203.79534%2017.7046%203.92654%2017.8435C4.05773%2017.9824%204.25893%2018.0605%204.44448%2018.0605C4.63002%2018.0605%204.84911%2017.9824%204.98031%2017.8435C5.11151%2017.7046%205.18522%2017.5162%205.18522%2017.3197V14.9123V12.5049C6.24649%2012.2738%206.97081%2012.2605%207.63962%2012.3486C8.42246%2012.4523%209.05139%2012.699%209.75448%2012.9782L9.77546%2012.9871C10.466%2013.2612%2011.2306%2013.5649%2012.1869%2013.6908C13.1601%2013.8197%2014.2976%2013.7627%2015.7667%2013.3738C15.8866%2013.3421%2016.0727%2013.2135%2016.1483%2013.111C16.2238%2013.0084%2016.2963%2012.8204%2016.2963%2012.6553V5.46787C16.2963%205.35535%2016.2721%205.24432%2016.2255%205.1432C16.1788%205.04208%2016.1111%204.95353%2016.0274%204.88428C15.9436%204.81502%2015.846%204.76688%2015.7421%204.7435C15.6382%204.72012%2015.494%204.73173%2015.4274%204.74935Z%22%20fill%3D%22%2359D01E%22%2F%3E%0A%3C%2Fsvg%3E%0A`,"flag-gold":`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M15.4274%204.74935C14.0982%205.1012%2013.1363%205.13675%2012.3604%205.03379C11.5776%204.93009%2010.9487%204.68342%2010.2456%204.40416L10.2246%204.39527C9.53411%204.1212%208.76945%203.8175%207.81312%203.69157C6.84279%203.56268%205.71016%203.61898%204.24802%204.0049C4.09343%204.04217%203.95538%204.13393%203.85649%204.26515C3.7576%204.39636%203.70374%204.55925%203.70374%204.72712V17.3197C3.70374%2017.5162%203.79534%2017.7046%203.92654%2017.8435C4.05773%2017.9824%204.25893%2018.0605%204.44448%2018.0605C4.63002%2018.0605%204.84911%2017.9824%204.98031%2017.8435C5.11151%2017.7046%205.18522%2017.5162%205.18522%2017.3197V14.9123V12.5049C6.24649%2012.2738%206.97081%2012.2605%207.63962%2012.3486C8.42246%2012.4523%209.05139%2012.699%209.75448%2012.9782L9.77546%2012.9871C10.466%2013.2612%2011.2306%2013.5649%2012.1869%2013.6908C13.1601%2013.8197%2014.2976%2013.7627%2015.7667%2013.3738C15.8866%2013.3421%2016.0727%2013.2135%2016.1483%2013.111C16.2238%2013.0084%2016.2963%2012.8204%2016.2963%2012.6553V5.46787C16.2963%205.35535%2016.2721%205.24432%2016.2255%205.1432C16.1788%205.04208%2016.1111%204.95353%2016.0274%204.88428C15.9436%204.81502%2015.846%204.76688%2015.7421%204.7435C15.6382%204.72012%2015.494%204.73173%2015.4274%204.74935Z%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3C%2Fsvg%3E%0A`,"flag-red":`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M15.4274%204.74935C14.0982%205.1012%2013.1363%205.13675%2012.3604%205.03379C11.5776%204.93009%2010.9487%204.68342%2010.2456%204.40416L10.2246%204.39527C9.53411%204.1212%208.76945%203.8175%207.81312%203.69157C6.84279%203.56268%205.71016%203.61898%204.24802%204.0049C4.09343%204.04217%203.95538%204.13393%203.85649%204.26515C3.7576%204.39636%203.70374%204.55925%203.70374%204.72712V17.3197C3.70374%2017.5162%203.79534%2017.7046%203.92654%2017.8435C4.05773%2017.9824%204.25893%2018.0605%204.44448%2018.0605C4.63002%2018.0605%204.84911%2017.9824%204.98031%2017.8435C5.11151%2017.7046%205.18522%2017.5162%205.18522%2017.3197V14.9123V12.5049C6.24649%2012.2738%206.97081%2012.2605%207.63962%2012.3486C8.42246%2012.4523%209.05139%2012.699%209.75448%2012.9782L9.77546%2012.9871C10.466%2013.2612%2011.2306%2013.5649%2012.1869%2013.6908C13.1601%2013.8197%2014.2976%2013.7627%2015.7667%2013.3738C15.8866%2013.3421%2016.0727%2013.2135%2016.1483%2013.111C16.2238%2013.0084%2016.2963%2012.8204%2016.2963%2012.6553V5.46787C16.2963%205.35535%2016.2721%205.24432%2016.2255%205.1432C16.1788%205.04208%2016.1111%204.95353%2016.0274%204.88428C15.9436%204.81502%2015.846%204.76688%2015.7421%204.7435C15.6382%204.72012%2015.494%204.73173%2015.4274%204.74935Z%22%20fill%3D%22%23FE4B4B%22%2F%3E%0A%3C%2Fsvg%3E%0A`},cell:{"cell-0":`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%224%22%20y%3D%2211.001%22%20width%3D%225%22%20height%3D%225%22%20rx%3D%221%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%2211%22%20y%3D%2211.001%22%20width%3D%225%22%20height%3D%225%22%20rx%3D%221%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%224%22%20y%3D%224.00098%22%20width%3D%225%22%20height%3D%225%22%20rx%3D%221%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%2211%22%20y%3D%224.00098%22%20width%3D%225%22%20height%3D%225%22%20rx%3D%221%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3C%2Fsvg%3E%0A`,"cell-25":`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%224%22%20y%3D%2211.001%22%20width%3D%225%22%20height%3D%225%22%20rx%3D%221%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%2211%22%20y%3D%2211.001%22%20width%3D%225%22%20height%3D%225%22%20rx%3D%221%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%224.25%22%20y%3D%224.25098%22%20width%3D%224.5%22%20height%3D%224.5%22%20rx%3D%220.75%22%20fill%3D%22%230493EE%22%20stroke%3D%22%230493EE%22%20stroke-width%3D%220.5%22%2F%3E%0A%3Crect%20x%3D%2211%22%20y%3D%224.00098%22%20width%3D%225%22%20height%3D%225%22%20rx%3D%221%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3C%2Fsvg%3E%0A`,"cell-50":`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%224%22%20y%3D%2211.001%22%20width%3D%225%22%20height%3D%225%22%20rx%3D%221%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%2211%22%20y%3D%2211.001%22%20width%3D%225%22%20height%3D%225%22%20rx%3D%221%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%224.25%22%20y%3D%224.25098%22%20width%3D%224.5%22%20height%3D%224.5%22%20rx%3D%220.75%22%20fill%3D%22%230493EE%22%20stroke%3D%22%230493EE%22%20stroke-width%3D%220.5%22%2F%3E%0A%3Crect%20x%3D%2211.25%22%20y%3D%224.25098%22%20width%3D%224.5%22%20height%3D%224.5%22%20rx%3D%220.75%22%20fill%3D%22%230493EE%22%20stroke%3D%22%230493EE%22%20stroke-width%3D%220.5%22%2F%3E%0A%3C%2Fsvg%3E%0A`,"cell-75":`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%224.25%22%20y%3D%2211.251%22%20width%3D%224.5%22%20height%3D%224.5%22%20rx%3D%220.75%22%20fill%3D%22%230493EE%22%20stroke%3D%22%230493EE%22%20stroke-width%3D%220.5%22%2F%3E%0A%3Crect%20x%3D%2211%22%20y%3D%2211.001%22%20width%3D%225%22%20height%3D%225%22%20rx%3D%221%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%224.25%22%20y%3D%224.25098%22%20width%3D%224.5%22%20height%3D%224.5%22%20rx%3D%220.75%22%20fill%3D%22%230493EE%22%20stroke%3D%22%230493EE%22%20stroke-width%3D%220.5%22%2F%3E%0A%3Crect%20x%3D%2211.25%22%20y%3D%224.25098%22%20width%3D%224.5%22%20height%3D%224.5%22%20rx%3D%220.75%22%20fill%3D%22%230493EE%22%20stroke%3D%22%230493EE%22%20stroke-width%3D%220.5%22%2F%3E%0A%3C%2Fsvg%3E%0A`,"cell-100":`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%224.25%22%20y%3D%2211.251%22%20width%3D%224.5%22%20height%3D%224.5%22%20rx%3D%220.75%22%20fill%3D%22%230493EE%22%20stroke%3D%22%230493EE%22%20stroke-width%3D%220.5%22%2F%3E%0A%3Crect%20x%3D%2211.25%22%20y%3D%2211.251%22%20width%3D%224.5%22%20height%3D%224.5%22%20rx%3D%220.75%22%20fill%3D%22%230493EE%22%20stroke%3D%22%230493EE%22%20stroke-width%3D%220.5%22%2F%3E%0A%3Crect%20x%3D%224.25%22%20y%3D%224.25098%22%20width%3D%224.5%22%20height%3D%224.5%22%20rx%3D%220.75%22%20fill%3D%22%230493EE%22%20stroke%3D%22%230493EE%22%20stroke-width%3D%220.5%22%2F%3E%0A%3Crect%20x%3D%2211.25%22%20y%3D%224.25098%22%20width%3D%224.5%22%20height%3D%224.5%22%20rx%3D%220.75%22%20fill%3D%22%230493EE%22%20stroke%3D%22%230493EE%22%20stroke-width%3D%220.5%22%2F%3E%0A%3C%2Fsvg%3E%0A`}},we=function(e){return e.threeArrows=`3Arrows`,e.threeArrowsGray=`3ArrowsGray`,e.fourArrows=`4Arrows`,e.fourArrowsGray=`4ArrowsGray`,e.fiveArrows=`5Arrows`,e.fiveArrowsGray=`5ArrowsGray`,e.threeTriangles=`3Triangles`,e.threeTrafficLights1=`3TrafficLights1`,e.threeSigns=`3Signs`,e.threeTrafficLights2=`3TrafficLights2`,e.fourRedToBlack=`4RedToBlack`,e.fourTrafficLights=`4TrafficLights`,e.threeSymbols=`3Symbols`,e.threeSymbols2=`3Symbols2`,e.threeFlags=`3Flags`,e.fourRating=`4Rating`,e.fiveRating=`5Rating`,e.fiveQuarters=`5Quarters`,e.fiveFelling=`_5Felling`,e.fiveBoxes=`5Boxes`,e.threeStars=`3Stars`,e.empty=`EMPTY_ICON_TYPE`,e}({}),Te=[{title:`sheet.cf.iconSet.direction`,group:[{name:`3Arrows`,list:[X.arrow[`up-green`],X.arrow[`right-gold`],X.arrow[`down-red`]]},{name:`3ArrowsGray`,list:[X.arrow[`up-gray`],X.arrow[`right-gray`],X.arrow[`down-gray`]]},{name:`4Arrows`,list:[X.arrow[`up-green`],X.arrow[`rightAndUp-gold`],X.arrow[`rightAndDown-gold`],X.arrow[`down-red`]]},{name:`4ArrowsGray`,list:[X.arrow[`up-gray`],X.arrow[`rightAndUp-gray`],X.arrow[`rightAndDown-gray`],X.arrow[`down-gray`]]},{name:`5Arrows`,list:[X.arrow[`up-green`],X.arrow[`rightAndUp-gold`],X.arrow[`right-gold`],X.arrow[`rightAndDown-gold`],X.arrow[`down-red`]]},{name:`5ArrowsGray`,list:[X.arrow[`up-gray`],X.arrow[`rightAndUp-gray`],X.arrow[`right-gray`],X.arrow[`rightAndDown-gray`],X.arrow[`down-gray`]]},{name:`3Triangles`,list:[X.shape.up,X.shape.cross,X.shape.down]}]},{title:`sheet.cf.iconSet.shape`,group:[{name:`3TrafficLights1`,list:[X.shape[`roundness-greed`],X.shape[`roundness-gold`],X.shape[`roundness-red`]]},{name:`3Signs`,list:[X.shape[`roundness-greed`],X.shape[`triangle-gold`],X.shape[`rhomboid-red`]]},{name:`3TrafficLights2`,list:[X.shape[`indicate-greed`],X.shape[`indicate-gold`],X.shape[`indicate-red`]]},{name:`4RedToBlack`,list:[X.shape[`roundness-red`],X.shape[`roundness-pink`],X.shape[`roundness-gray`],X.shape[`roundness-black`]]},{name:`4TrafficLights`,list:[X.shape[`roundness-greed`],X.shape[`roundness-gold`],X.shape[`roundness-red`],X.shape[`roundness-black`]]}]},{title:`sheet.cf.iconSet.mark`,group:[{name:`3Symbols`,list:[X.feedback.correct,X.feedback.warn,X.feedback.mistake]},{name:`3Symbols2`,list:[X.feedback2.correct2,X.feedback2.warn2,X.feedback2.mistake2]},{name:`3Flags`,list:[X.flag[`flag-green`],X.flag[`flag-gold`],X.flag[`flag-red`]]}]},{title:`sheet.cf.iconSet.rank`,group:[{name:`4Rating`,list:[X.signal.signal25,X.signal.signal50,X.signal.signal75,X.signal.signal100]},{name:`5Rating`,list:[X.signal.signal0,X.signal.signal25,X.signal.signal50,X.signal.signal75,X.signal.signal100]},{name:`5Quarters`,list:[X.progress.progress100,X.progress.progress75,X.progress.progress50,X.progress.progress25,X.progress.progress0]},{name:`_5Felling`,list:[X.feeling.guffaw,X.feeling.smile,X.feeling.noninductive,X.feeling.dissatisfied,X.feeling.impatient]},{name:`5Boxes`,list:[X.cell[`cell-100`],X.cell[`cell-75`],X.cell[`cell-50`],X.cell[`cell-25`],X.cell[`cell-0`]]},{name:`3Stars`,list:[X.star.starFull,X.star.starIncomplete,X.star.starEmpty]}]}],Z=Te.reduce((e,t)=>{let{group:n}=t;for(let t of n)e[t.name]=t.list;return e},{});for(let e in Z){let t=Z[e];Object.freeze(t)}var Ee=`@univerjs/sheets-conditional-formatting`,De=`0.22.1`;let Oe=`ssheets-conditional-formatting.config`;Symbol(Oe);let ke={},Q=class extends t.Disposable{get _conditionalFormattingViewModelV2(){return this._injector.get(H)}_mergeComposeResult(e,n,r){let i=n.rule.type;if(i===`highlightCell`){r&&(0,t.merge)(e,{style:r});return}if(i===`colorScale`){r&&typeof r==`string`&&(e.style={...e.style||{},bg:{rgb:r}});return}if(i===`dataBar`){let t=r;t&&(e.dataBar=t,e.isShowValue=t.isShowValue);return}if(i===`iconSet`){let t=r;t&&(e.iconSet=t,e.isShowValue=t.isShowValue)}}constructor(e,t,n,r,i,a){super(),this._conditionalFormattingRuleModel=e,this._injector=t,this._univerInstanceService=n,this._resourceManagerService=r,this._sheetInterceptorService=i,this._commandService=a,this._initCellChange(),this._initSnapshot(),this._initSheetChange()}composeStyle(e,t,n,r){let i=this._conditionalFormattingViewModelV2.getCellCfs(e,t,n,r);if(!(i!=null&&i.length))return null;let a=[],o=-1;for(let n of i){let r=this._conditionalFormattingRuleModel.getRule(e,t,n.cfId);r&&(a.push({rule:r,cacheItem:n}),o===-1&&r.stopIfTrue&&this._isRuleMatched(r,n.result)&&(o=a.length-1))}if(!a.length)return null;let s=o>-1?a.slice(0,o+1):a,c={};for(let e=s.length-1;e>=0;e--){let{rule:t,cacheItem:n}=s[e];this._mergeComposeResult(c,t,n.result)}return c}_isRuleMatched(e,t){return e.rule.type===`highlightCell`?!!t&&typeof t==`object`&&Object.keys(t).length>0:!!t}_initSnapshot(){let e=e=>{let t=this._conditionalFormattingRuleModel.getUnitRules(e),n={};return t?(t.forEach((e,t)=>{n[t]=e}),JSON.stringify(n)):``},n=e=>{if(!e)return{};try{return JSON.parse(e)}catch{return{}}};this.disposeWithMe(this._resourceManagerService.registerPluginResource({pluginName:s,businesses:[t.UniverInstanceType.UNIVER_SHEET],toJson:t=>e(t),parseJson:e=>n(e),onUnLoad:e=>{this._conditionalFormattingRuleModel.deleteUnitId(e),!(0,t.isInternalEditorID)(e)&&this._conditionalFormattingViewModelV2.clearCache()},onLoad:(e,t)=>{Object.keys(t).forEach(n=>{[...t[n]].reverse().forEach(t=>{this._conditionalFormattingRuleModel.addRule(e,n,t)})})}}))}_initSheetChange(){this.disposeWithMe(this._sheetInterceptorService.interceptCommand({getMutations:e=>{if(e.id===n.RemoveSheetCommand.id){let t=e.params,r=(0,n.getSheetCommandTarget)(this._univerInstanceService,t);if(!r)return{redos:[],undos:[]};let{unitId:i,subUnitId:a}=r,o=this._conditionalFormattingRuleModel.getSubunitRules(i,a);if(!o)return{redos:[],undos:[]};let s=[],c=[];return o.forEach(e=>{let t={unitId:i,subUnitId:a,cfId:e.cfId};s.push({id:k.id,params:t}),c.push(...O(this._injector,t))}),{redos:s,undos:c}}else if(e.id===n.CopySheetCommand.id){let t=e.params,r=(0,n.getSheetCommandTarget)(this._univerInstanceService,t);if(!r)return{redos:[],undos:[]};let{unitId:i,subUnitId:a}=r,{targetSubUnitId:o}=t,s=this._conditionalFormattingRuleModel.getSubunitRules(i,a);if(!s)return{redos:[],undos:[]};let c=[],l=[];return s.forEach(e=>{let t={unitId:i,subUnitId:o,rule:{...e,cfId:this._conditionalFormattingRuleModel.createCfId(i,o)}};c.push({id:j.id,params:t}),l.push(A(this._injector,t))}),{redos:c,undos:l}}return{redos:[],undos:[]}}}))}_initCellChange(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{let r=(e,t,n)=>{let r=new Set;return n.forEach(([n,i])=>{let a=this._conditionalFormattingViewModelV2.getCellCfs(e,t,n,i);a==null||a.forEach(e=>r.add(e.cfId))}),[...r].map(n=>this._conditionalFormattingRuleModel.getRule(e,t,n)).filter(e=>!!e)};switch(e.id){case n.SetRangeValuesMutation.id:{let{subUnitId:n,unitId:i,cellValue:a}=e.params,o=[];new t.ObjectMatrix(a).forValue((e,t,n)=>{n&&Object.keys(n).some(e=>[`p`,`v`].includes(e))&&o.push([e,t])}),r(i,n,o).forEach(e=>{this._conditionalFormattingViewModelV2.markRuleDirty(i,n,e.cfId)});break}case n.InsertColMutation.id:case n.RemoveColMutation.id:{let r=e.params,i=(0,n.getSheetCommandTarget)(this._univerInstanceService,r);if(!i)return;let{worksheet:a,unitId:o,subUnitId:s}=i,{range:c}=r,l={...c,endColumn:a.getColumnCount()-1},u=this._conditionalFormattingRuleModel.getSubunitRules(o,s);u&&u.filter(e=>e.ranges.some(e=>t.Rectangle.intersects(e,l))).forEach(e=>{this._conditionalFormattingViewModelV2.markRuleDirty(o,s,e.cfId)});break}case n.RemoveRowMutation.id:case n.InsertRowMutation.id:{let r=e.params,i=(0,n.getSheetCommandTarget)(this._univerInstanceService,r);if(!i)return;let{worksheet:a,unitId:o,subUnitId:s}=i,{range:c}=r,l={...c,endRow:a.getRowCount()-1},u=this._conditionalFormattingRuleModel.getSubunitRules(o,s);u&&u.filter(e=>e.ranges.some(e=>t.Rectangle.intersects(e,l))).forEach(e=>{this._conditionalFormattingViewModelV2.markRuleDirty(o,s,e.cfId)});break}case n.MoveRowsMutation.id:{let r=e.params,i=(0,n.getSheetCommandTarget)(this._univerInstanceService,r);if(!i)return;let{worksheet:a,unitId:o,subUnitId:s}=i,{sourceRange:c,targetRange:l}=r,u={startRow:Math.min(c.startRow,l.startRow),endRow:a.getRowCount()-1,startColumn:0,endColumn:a.getColumnCount()-1},d=this._conditionalFormattingRuleModel.getSubunitRules(o,s);d&&d.filter(e=>e.ranges.some(e=>t.Rectangle.intersects(e,u))).forEach(e=>{this._conditionalFormattingViewModelV2.markRuleDirty(o,s,e.cfId)});break}case n.MoveColsMutation.id:{let r=e.params,i=(0,n.getSheetCommandTarget)(this._univerInstanceService,r);if(!i)return;let{worksheet:a,unitId:o,subUnitId:s}=i,{sourceRange:c,targetRange:l}=r,u={startRow:0,endRow:a.getRowCount()-1,startColumn:Math.min(c.startColumn,l.startColumn),endColumn:a.getColumnCount()-1},d=this._conditionalFormattingRuleModel.getSubunitRules(o,s);d&&d.filter(e=>e.ranges.some(e=>t.Rectangle.intersects(e,u))).forEach(e=>{this._conditionalFormattingViewModelV2.markRuleDirty(o,s,e.cfId)});break}case n.MoveRangeMutation.id:{let{unitId:n,to:i,from:a}=e.params,o=e=>{let i=[];new t.ObjectMatrix(e.value).forValue((e,t)=>{i.push([e,t])}),r(n,e.subUnitId,i).forEach(t=>{this._conditionalFormattingViewModelV2.markRuleDirty(n,e.subUnitId,t.cfId)})};o(i),o(a);break}case n.ReorderRangeMutation.id:{let{range:n,unitId:r,subUnitId:i}=e.params,a=this._conditionalFormattingRuleModel.getSubunitRules(r,i);a&&a.filter(e=>e.ranges.some(e=>t.Rectangle.intersects(e,n))).forEach(e=>{this._conditionalFormattingViewModelV2.markRuleDirty(r,i,e.cfId)});break}}}))}};Q=I([F(0,(0,t.Inject)(E)),F(1,(0,t.Inject)(t.Injector)),F(2,(0,t.Inject)(t.IUniverInstanceService)),F(3,(0,t.Inject)(t.IResourceManagerService)),F(4,(0,t.Inject)(n.SheetInterceptorService)),F(5,(0,t.Inject)(t.ICommandService))],Q);let $=class extends t.Plugin{constructor(e=ke,n,r,i){super(),this._config=e,this._injector=n,this._commandService=r,this._configService=i;let{...a}=(0,t.merge)({},ke,this._config);this._configService.setConfig(Oe,a),[[Q],[L],[E],[H]].forEach(e=>{this._injector.add(e)}),[ne,re,ie,ae,P,oe,j,k,M,D].forEach(e=>{this._commandService.registerCommand(e)})}onStarting(){this._injector.get(Q),(0,t.touchDependencies)(this._injector,[[Q],[H]])}};T($,`pluginName`,s),T($,`packageName`,Ee),T($,`version`,De),T($,`type`,t.UniverInstanceType.UNIVER_SHEET),$=I([(0,t.DependentOn)(i.UniverFormulaEnginePlugin),F(1,(0,t.Inject)(t.Injector)),F(2,(0,t.Inject)(t.ICommandService)),F(3,t.IConfigService)],$);let Ae=`sheet-conditional-rule-icon`,je=e=>{let{startRow:t,endRow:n,startColumn:r,endColumn:i}=e;return`${t}-${n}-${r}-${i}`};var Me=class extends o.SheetExtension{constructor(){super(),T(this,`_paddingRightAndLeft`,2),T(this,`_width`,15),T(this,`_imageMap`,new Map),T(this,`uKey`,Ae),T(this,`Z_INDEX`,35),T(this,`_radius`,1),this._init()}draw(e,n,r,i){let{worksheet:a}=r;if(!a)return!1;let o=new Set;e.save(),t.Range.foreach(r.rowColumnSegment,(t,n)=>{if(!a.getRowVisible(t)||!a.getColVisible(n))return;let s=r.getCellWithCoordByIndex(t,n,!1),{isMerged:c,isMergedMainCell:l,mergeInfo:u}=s,d=a.getCell(t,n);if(c&&(d=a.getCell(u.startRow,u.startColumn)),!(d!=null&&d.iconSet))return;let{iconType:f,iconId:p}=d.iconSet;if(f===`EMPTY_ICON_TYPE`)return;let m=this._imageMap.get(this._createKey(f,p));if(!m||!this.isRenderDiffRangesByCell(u,i))return;if(c||l){let e=je(u);if(o.has(e))return;o.add(e)}let{startX:h,endX:g,startY:_,endY:v}=c||l?u:s,y=g-h,b=v-_;if(this._width>b||this._width>y+this._paddingRightAndLeft*2)return;let x=(b-this._width)/2+_;e.drawImage(m,h+this._paddingRightAndLeft,x,this._width,this._width)}),e.restore()}_init(){for(let e in Z)Z[e].forEach((t,n)=>{let r=this._createKey(e,String(n)),i=new Image;i.onload=()=>{this._imageMap.set(r,i)},i.src=t})}_createKey(e,t){return`${e}_${t}`}};o.SpreadsheetExtensionRegistry.add(Me);function Ne(e){if(typeof e!=`object`||!e)return e;let t={};for(let n in e)if(e.hasOwnProperty(n)){let r=Ne(e[n]);r!==void 0&&(t[n]=r)}return t}e.AddCfCommand=ne,e.AddConditionalRuleMutation=j,e.AddConditionalRuleMutationUndoFactory=A,e.CFNumberOperator=u,e.CFRuleType=d,e.CFSubRuleType=f,e.CFTextOperator=c,e.CFTimePeriodOperator=l,e.CFValueType=p,e.CONDITIONAL_FORMATTING_VIEWPORT_CACHE_LENGTH=V,e.ClearRangeCfCommand=re,e.ClearWorksheetCfCommand=ie,Object.defineProperty(e,`ConditionalFormattingFormulaService`,{enumerable:!0,get:function(){return L}}),e.ConditionalFormattingIcon=Me,e.ConditionalFormattingRuleModel=E,Object.defineProperty(e,`ConditionalFormattingService`,{enumerable:!0,get:function(){return Q}}),Object.defineProperty(e,`ConditionalFormattingViewModel`,{enumerable:!0,get:function(){return H}}),e.DEFAULT_BG_COLOR=`#fff`,e.DEFAULT_FONT_COLOR=`#000000`,e.DEFAULT_PADDING=2,e.DEFAULT_WIDTH=15,e.DataBar=de,e.DeleteCfCommand=ae,e.DeleteConditionalRuleMutation=k,e.DeleteConditionalRuleMutationUndoFactory=O,e.IIconSetType=we,e.IconUKey=Ae,e.MoveCfCommand=P,e.MoveConditionalRuleMutation=D,e.MoveConditionalRuleMutationUndoFactory=te,e.SHEET_CONDITIONAL_FORMATTING_PLUGIN=s,e.SetCfCommand=oe,e.SetConditionalRuleMutation=M,Object.defineProperty(e,`UniverSheetsConditionalFormattingPlugin`,{enumerable:!0,get:function(){return $}}),e.anchorUndoFactory=b,e.compareWithNumber=J,e.createCfId=S,e.createDefaultRule=m,e.createDefaultValue=h,e.createDefaultValueByValueType=g,e.dataBarUKey=ce,e.defaultDataBarNativeColor=`#abd91a`,e.defaultDataBarPositiveColor=`#ffbe38`,e.defaultPlaceholderColor=le,e.filterRange=Y,e.findIndexByAnchor=_,e.getCacheStyleMatrix=be,e.getCellValue=G,e.getColorScaleFromValue=Se,e.getMaxInFormulaResult=Ce,e.getOppositeOperator=xe,e.getValueByType=q,e.iconGroup=Te,e.iconMap=Z,e.isAnchorEqual=x,e.isFloatsEqual=U,e.isNullable=W,Object.defineProperty(e,`isRangesEqual`,{enumerable:!0,get:function(){return t.isRangesEqual}}),e.moveByAnchor=v,e.removeUndefinedAttr=Ne,e.serialTimeToTimestamp=ye,e.setConditionalRuleMutationUndoFactory=N,e.toYMD_1900=ve,e.transformSupportSymmetryAnchor=y});
|
|
2
|
+
(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`@univerjs/core`),require(`@univerjs/sheets`),require(`rxjs`),require(`@univerjs/engine-formula`),require(`rxjs/operators`),require(`@univerjs/engine-render`)):typeof define==`function`&&define.amd?define([`exports`,`@univerjs/core`,`@univerjs/sheets`,`rxjs`,`@univerjs/engine-formula`,`rxjs/operators`,`@univerjs/engine-render`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UniverSheetsConditionalFormatting={},e.UniverCore,e.UniverSheets,e.rxjs,e.UniverEngineFormula,e.rxjs.operators,e.UniverEngineRender))})(this,function(e,t,n,r,i,a,o){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});let s=`SHEET_CONDITIONAL_FORMATTING_PLUGIN`,c=function(e){return e.beginsWith=`beginsWith`,e.endsWith=`endsWith`,e.containsText=`containsText`,e.notContainsText=`notContainsText`,e.equal=`equal`,e.notEqual=`notEqual`,e.containsBlanks=`containsBlanks`,e.notContainsBlanks=`notContainsBlanks`,e.containsErrors=`containsErrors`,e.notContainsErrors=`notContainsErrors`,e}({}),l=function(e){return e.today=`today`,e.yesterday=`yesterday`,e.tomorrow=`tomorrow`,e.last7Days=`last7Days`,e.thisMonth=`thisMonth`,e.lastMonth=`lastMonth`,e.nextMonth=`nextMonth`,e.thisWeek=`thisWeek`,e.lastWeek=`lastWeek`,e.nextWeek=`nextWeek`,e}({}),u=function(e){return e.greaterThan=`greaterThan`,e.greaterThanOrEqual=`greaterThanOrEqual`,e.lessThan=`lessThan`,e.lessThanOrEqual=`lessThanOrEqual`,e.notBetween=`notBetween`,e.between=`between`,e.equal=`equal`,e.notEqual=`notEqual`,e}({}),d=function(e){return e.highlightCell=`highlightCell`,e.dataBar=`dataBar`,e.colorScale=`colorScale`,e.iconSet=`iconSet`,e}({}),f=function(e){return e.uniqueValues=`uniqueValues`,e.duplicateValues=`duplicateValues`,e.rank=`rank`,e.text=`text`,e.timePeriod=`timePeriod`,e.number=`number`,e.average=`average`,e.formula=`formula`,e}({}),p=function(e){return e.num=`num`,e.min=`min`,e.max=`max`,e.percent=`percent`,e.percentile=`percentile`,e.formula=`formula`,e}({}),m=()=>({cfId:void 0,ranges:[],stopIfTrue:!1,rule:{type:`highlightCell`,subType:`text`,operator:`containsText`}}),h=(e,t)=>{switch(e){case`text`:if([`beginsWith`,`containsText`,`endsWith`,`equal`,`notContainsText`,`notEqual`].includes(t))return``;break;case`number`:return[`between`,`notBetween`].includes(t)?[10,100]:10}return``},g=(e,t)=>{switch(e){case`formula`:return`=`;case`max`:case`min`:return``;case`percent`:case`percentile`:case`num`:return t===void 0?10:t}return``},_=(e,t,n)=>{if(!t)return null;let r=t.findIndex(t=>n(t)===e.id);if(r<0)return null;switch(e.type){case`after`:return r+1;case`before`:return r-1;case`self`:return r}},v=(e,t,n,r)=>{if(!n)return null;let i=_(e,n,r),a=_(t,n,r);if(i===null||a===null||i===a)return;let o=n.splice(i,1)[0];switch(i<a&&(a=_(t,n,r)),t.type){case`before`:n.splice(a+1,0,o);break;case`self`:case`after`:n.splice(a,0,o);break}},y=(e,t,n,r)=>{if(e.type===`after`&&[`after`,`before`].includes(t.type))return[e,t];let i={...e},a={...t};if(i.type!==`after`){let e=_(i,n,r);if(e===null)return null;if(e-1<0){let t=n[e+1];if(t)i.id=r(t),i.type=`before`;else return null}else i.id=r(n[e-1]),i.type=`after`}if(![`after`,`before`].includes(a.type)){let e=_(a,n,r);if(e===null)return null;if(e===0)a.type=`before`;else if(e-1>=0)a.id=r(n[e-1]),a.type=`after`;else if(e+1<=n.length-1)a.id=r(n[e+1]),a.type=`before`;else return null}return i.id===a.id&&i.type===a.type?null:[i,a]},b=(e,t)=>{if([`after`,`before`].includes(t.type)){if(e.type===`after`)return[t,e];if(e.type===`before`)return[t,{...e,type:`self`}]}return null},x=(e,t)=>e.id===t.id&&e.type===t.type,S=()=>`${(0,t.generateRandomId)(8)}`;function C(e){"@babel/helpers - typeof";return C=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},C(e)}function w(e,t){if(C(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(C(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function ee(e){var t=w(e,`string`);return C(t)==`symbol`?t:t+``}function T(e,t,n){return(t=ee(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var E=class{constructor(){T(this,`_model`,new Map),T(this,`_ruleChange$`,new r.Subject),T(this,`$ruleChange`,this._ruleChange$.asObservable())}_ensureList(e,t){let n=this.getSubunitRules(e,t);if(!n){n=[];let r=this._model.get(e);r||(r=new Map,this._model.set(e,r)),r.set(t,n)}return n}getRule(e,t,n){let r=this.getSubunitRules(e,t);return r?r.find(e=>e.cfId===n):null}getUnitRules(e){return this._model.get(e)||null}getSubunitRules(e,t){var n;return((n=this._model.get(e))==null?void 0:n.get(t))||null}getAll(){return this._model}deleteRule(e,t,n){let r=this.getSubunitRules(e,t);if(r){let i=r.findIndex(e=>e.cfId===n),a=r[i];a&&(r.splice(i,1),this._ruleChange$.next({rule:a,subUnitId:t,unitId:e,type:`delete`}))}}setRule(e,n,r,i){let a=this._ensureList(e,n).find(e=>e.cfId===i);if(a){let i=t.Tools.deepClone(a);Object.assign(a,r),this._ruleChange$.next({rule:a,subUnitId:n,unitId:e,type:`set`,oldRule:i})}}addRule(e,t,n){let r=this._ensureList(e,t);r.find(e=>e.cfId===n.cfId)||r.unshift(n),this._ruleChange$.next({rule:n,subUnitId:t,unitId:e,type:`add`})}moveRulePriority(e,t,n,r){let i=this._ensureList(e,t),a=_(n,i,e=>e.cfId),o=_(r,i,e=>e.cfId);if(o===null||a===null||o===a)return;let s=i[a];s&&(v(n,r,i,e=>e.cfId),this._ruleChange$.next({rule:s,subUnitId:t,unitId:e,type:`sort`}))}createCfId(e,t){return S()}deleteUnitId(e){this._model.delete(e)}};let D={type:t.CommandType.MUTATION,id:`sheet.mutation.move-conditional-rule`,handler(e,t){if(!t)return!1;let{unitId:n,subUnitId:r,start:i,end:a}=t;return e.get(E).moveRulePriority(n,r,i,a),!0}},te=e=>{let{unitId:t,subUnitId:n}=e,r=b(e.start,e.end);if(!r)return[];let[i,a]=r;return[{id:D.id,params:{unitId:t,subUnitId:n,start:i,end:a}}]},O=(e,n)=>{let r=e.get(E),{unitId:i,subUnitId:a,cfId:o}=n,s=[...r.getSubunitRules(i,a)||[]],c=s.findIndex(e=>e.cfId===o),l=s[c-1];if(c>-1){let e=s[c],n=[{id:j.id,params:{unitId:i,subUnitId:a,rule:t.Tools.deepClone(e)}}];if(s.splice(c,1),c!==0){let e=s[0];if(e){let t=y({id:e.cfId,type:`before`},{id:l.cfId,type:`after`},s,e=>e.cfId);if(!t)return n;let[r,o]=t,c={unitId:i,subUnitId:a,start:r,end:o};n.push({id:D.id,params:c})}}return n}return[]},k={type:t.CommandType.MUTATION,id:`sheet.mutation.delete-conditional-rule`,handler(e,t){if(!t)return!1;let{unitId:n,subUnitId:r,cfId:i}=t;return e.get(E).deleteRule(n,r,i),!0}},A=(e,t)=>({id:k.id,params:{unitId:t.unitId,subUnitId:t.subUnitId,cfId:t.rule.cfId}}),j={type:t.CommandType.MUTATION,id:`sheet.mutation.add-conditional-rule`,handler(e,t){if(!t)return!1;let{unitId:n,subUnitId:r,rule:i}=t;return e.get(E).addRule(n,r,i),!0}},ne={type:t.CommandType.COMMAND,id:`sheet.command.add-conditional-rule`,handler(e,r){if(!r)return!1;let{rule:i}=r,a=e.get(t.IUndoRedoService),o=e.get(t.ICommandService),s=e.get(E),c=(0,n.getSheetCommandTarget)(e.get(t.IUniverInstanceService),r);if(!c)return!1;let{unitId:l,subUnitId:u}=c,d=s.createCfId(l,u),f={unitId:l,subUnitId:u,rule:{...i,cfId:i.cfId||d}},p=A(e,f),m=o.syncExecuteCommand(j.id,f);return m&&a.pushUndoRedo({unitID:l,redoMutations:[{id:j.id,params:f}],undoMutations:[p]}),m}},M={type:t.CommandType.MUTATION,id:`sheet.mutation.set-conditional-rule`,handler(e,t){if(!t)return!1;let{unitId:n,subUnitId:r,rule:i}=t,a=t.cfId||t.rule.cfId;return e.get(E).setRule(n,r,i,a),!0}},N=(e,n)=>{let r=e.get(E),{unitId:i,subUnitId:a}=n,o=n.cfId||n.rule.cfId,s=r.getRule(i,a,o);return s?[{id:M.id,params:{unitId:i,subUnitId:a,cfId:o,rule:t.Tools.deepClone(s)}}]:[]},re={type:t.CommandType.COMMAND,id:`sheet.command.clear-range-conditional-rule`,handler(e,r){var i;if(!r)return!1;let a=e.get(E),o=e.get(t.IUniverInstanceService),s=e.get(t.ICommandService),c=e.get(t.IUndoRedoService),l=e.get(n.SheetsSelectionsService),u=(0,n.getSheetCommandTarget)(o,r);if(!u)return!1;let{unitId:d,subUnitId:f}=u,p=((i=l.getCurrentSelections())==null?void 0:i.map(e=>e.range))||[],m=a.getSubunitRules(d,f);if(!(m!=null&&m.length)||!p.length)return!1;let h=[],g=[];m.forEach(r=>{let i=new t.ObjectMatrix;r.ranges.forEach(e=>{t.Range.foreach(e,(e,t)=>{i.setValue(e,t,1)})}),p.forEach(e=>{t.Range.foreach(e,(e,t)=>{i.realDeleteValue(e,t)})});let a=(0,n.findAllRectangle)((0,n.createTopMatrixFromMatrix)(i));if(a.length){let t={unitId:d,subUnitId:f,rule:{...r,ranges:a}},n=N(e,t);h.push({id:M.id,params:t}),g.push(...n)}else{let t={unitId:d,subUnitId:f,cfId:r.cfId},n=O(e,t);h.push({id:k.id,params:t}),g.push(...n)}});let _=(0,t.sequenceExecute)(h,s).result;return _&&c.pushUndoRedo({unitID:d,redoMutations:h,undoMutations:g}),_}},ie={type:t.CommandType.COMMAND,id:`sheet.command.clear-worksheet-conditional-rule`,handler(e,r){let i=e.get(E),a=e.get(t.IUniverInstanceService),o=e.get(t.ICommandService),s=e.get(t.IUndoRedoService),c=(0,n.getSheetCommandTarget)(a,r);if(!c)return!1;let{unitId:l,subUnitId:u}=c,d=i.getSubunitRules(l,u);if(!(d!=null&&d.length))return!1;let f=d.map(e=>({cfId:e.cfId,unitId:l,subUnitId:u})),p=f.map(e=>({id:k.id,params:e})),m=f.map(t=>O(e,t)[0]),h=(0,t.sequenceExecute)(p,o).result;return h&&s.pushUndoRedo({unitID:l,redoMutations:p,undoMutations:m}),h}},ae={type:t.CommandType.COMMAND,id:`sheet.command.delete-conditional-rule`,handler(e,r){if(!r)return!1;let i=e.get(t.IUndoRedoService),a=e.get(t.ICommandService),o=(0,n.getSheetCommandTarget)(e.get(t.IUniverInstanceService),r);if(!o)return!1;let{unitId:s,subUnitId:c}=o,l={unitId:s,subUnitId:c,cfId:r.cfId},u=O(e,l),d=a.syncExecuteCommand(k.id,l);return d&&i.pushUndoRedo({unitID:s,undoMutations:u,redoMutations:[{id:k.id,params:l}]}),d}},P={type:t.CommandType.COMMAND,id:`sheet.command.move-conditional-rule`,handler(e,r){if(!r)return!1;let i=e.get(t.IUndoRedoService),a=e.get(t.ICommandService),o=e.get(t.IUniverInstanceService),s=e.get(E),c=(0,n.getSheetCommandTarget)(o,r);if(!c)return!1;let{unitId:l,subUnitId:u}=c,d=y(r.start,r.end,s.getSubunitRules(l,u)||[],e=>e.cfId);if(!d)return!1;let[f,p]=d,m={unitId:l,subUnitId:u,start:f,end:p},h=te(m),g=a.syncExecuteCommand(D.id,m);return g&&i.pushUndoRedo({unitID:l,redoMutations:[{id:D.id,params:m}],undoMutations:h}),g}},oe={type:t.CommandType.COMMAND,id:`sheet.command.set-conditional-rule`,handler(e,r){if(!r)return!1;let i=e.get(t.IUndoRedoService),a=e.get(t.ICommandService),o=(0,n.getSheetCommandTarget)(e.get(t.IUniverInstanceService),r);if(!o)return!1;let{unitId:s,subUnitId:c}=o,l={unitId:s,subUnitId:c,rule:r.rule,cfId:r.cfId},u=N(e,l),d=a.syncExecuteCommand(M.id,l);return d&&i.pushUndoRedo({unitID:s,undoMutations:u,redoMutations:[{id:M.id,params:l}]}),d}};function F(e,t){return function(n,r){t(n,r,e)}}function I(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}let L=class extends t.Disposable{constructor(e,t){super(),this._registerOtherFormulaService=e,this._conditionalFormattingRuleModel=t,T(this,`_formulaMap`,new Map),T(this,`_result$`,new r.Subject),T(this,`result$`,this._result$.asObservable()),this._initFormulaResultChange(),this._initRuleChange()}_initRuleChange(){let e=e=>{switch(e.type){case`colorScale`:return e.config.some(e=>e.value.type===`formula`);case`dataBar`:return[e.config.max,e.config.min].some(e=>e.type===`formula`);case`iconSet`:return e.config.some(e=>e.value.type===`formula`)}};this.disposeWithMe(this._conditionalFormattingRuleModel.$ruleChange.subscribe(t=>{let{unitId:n,subUnitId:r,rule:i,oldRule:a}=t;t.type===`delete`&&this._removeFormulaByCfId(n,r,i.cfId),t.type===`set`&&(e(i.rule)||a&&e(a.rule))&&this._removeFormulaByCfId(n,r,i.cfId),t.type===`add`&&this._registerRuleFormulas(n,r,i)}))}_registerRuleFormulas(e,t,n){switch(n.rule.type){case`highlightCell`:if(n.rule.subType===`formula`){let r=n.rule.value;r&&this.registerFormulaWithRange(e,t,n.cfId,r,n.ranges)}break}}_initFormulaResultChange(){this.disposeWithMe(this._registerOtherFormulaService.formulaResult$.subscribe(e=>{for(let t in e)for(let n in e[t]){let r=e[t][n];for(let e of r){let r=this._ensureSubunitFormulaMap(t,n).getValue(e.formulaId,[`formulaId`]);if(!r)continue;let a=this._getAllFormulaResultByCfId(t,n,r.cfId).every(e=>{let r=this._registerOtherFormulaService.getFormulaValueSync(t,n,e.formulaId);return(r==null?void 0:r.status)===i.FormulaResultStatus.SUCCESS});this._result$.next({...r,isAllFinished:a})}}}))}_ensureSubunitFormulaMap(e,n){let r=this._formulaMap.get(e);r||(r=new Map,this._formulaMap.set(e,r));let i=r.get(n);return i||(i=new t.RefAlias([],[`formulaId`,`id`]),r.set(n,i)),i}getSubUnitFormulaMap(e,t){var n;return(n=this._formulaMap.get(e))==null?void 0:n.get(t)}registerFormulaWithRange(e,t,n,r,a=[{startRow:0,endRow:0,startColumn:0,endColumn:0}]){let o=this._ensureSubunitFormulaMap(e,t),s=this.createCFormulaId(n,r);if(o.getValue(s,[`id`]))return;let c=[...a].sort((e,t)=>e.startRow===t.startRow?e.startColumn-t.startColumn:e.startRow-t.startRow),l=this._registerOtherFormulaService.registerFormulaWithRange(e,t,r,c,void 0,i.OtherFormulaBizType.CONDITIONAL_FORMATTING,n);o.addValue({formulaText:r,unitId:e,subUnitId:t,cfId:n,id:s,formulaId:l})}_removeFormulaByCfId(e,t,n){let r=this.deleteCache(e,t,n).map(e=>e.formulaId);this._registerOtherFormulaService.deleteFormula(e,t,r)}getFormulaResultWithCoords(e,t,n,r,a=0,o=0){let s=this.getSubUnitFormulaMap(e,t);if(!s)return{status:i.FormulaResultStatus.NOT_REGISTER};let c=s.getValue(this.createCFormulaId(n,r),[`id`]);if(!c)return{status:i.FormulaResultStatus.NOT_REGISTER};let l=this._registerOtherFormulaService.getFormulaValueSync(e,t,c.formulaId);if(!l)return{status:i.FormulaResultStatus.NOT_REGISTER};if(l.status===i.FormulaResultStatus.SUCCESS&&l.result){var u;let e=(u=l.result[a])==null?void 0:u[o];return{result:this._getCellValue(e),status:i.FormulaResultStatus.SUCCESS}}return{status:l.status}}getFormulaMatrix(e,n,r,a){let o=this.getSubUnitFormulaMap(e,n);if(!o)return{status:i.FormulaResultStatus.NOT_REGISTER};let s=o.getValue(this.createCFormulaId(r,a),[`id`]);if(!s)return{status:i.FormulaResultStatus.NOT_REGISTER};let c=this._registerOtherFormulaService.getFormulaValueSync(e,n,s.formulaId);if(!c)return{status:i.FormulaResultStatus.NOT_REGISTER};if(c.status===i.FormulaResultStatus.SUCCESS&&c.result){let e=new t.ObjectMatrix;return new t.ObjectMatrix(c.result).forValue((t,n,r)=>{e.setValue(t,n,this._getCellValue(r))}),{result:e,status:i.FormulaResultStatus.SUCCESS}}return{status:c.status}}_getCellValue(e){if(!e||!e[0]||!e[0][0])return!1;let n=e[0][0];return(n==null?void 0:n.t)===t.CellValueType.BOOLEAN?n.v===t.BooleanNumber.TRUE||n.v===!0:n==null?void 0:n.v}deleteCache(e,t,n,r){let i=this.getSubUnitFormulaMap(e,t);if(!i)return[];if(r){let e=this.createCFormulaId(n,r);return i.deleteValue(e,[`id`]),[]}else{let e=i.getValues().filter(e=>e.cfId===n);return e.forEach(e=>{i.deleteValue(e.formulaId,[`formulaId`])}),e}}_getAllFormulaResultByCfId(e,t,n){let r=this.getSubUnitFormulaMap(e,t);return r?r.getValues().filter(e=>e.cfId===n):[]}createCFormulaId(e,t){return`${e}_${t}`}};L=I([F(0,(0,t.Inject)(i.RegisterOtherFormulaService)),F(1,(0,t.Inject)(E))],L);var R=class{constructor(e){this._context=e,T(this,`_cache`,void 0),T(this,`_preComputingStatus$`,new r.BehaviorSubject(`preComputingStart`)),T(this,`preComputingStatus$`,this._preComputingStatus$.asObservable().pipe((0,a.distinctUntilChanged)())),T(this,`_preComputingCache`,void 0),T(this,`_rule`,void 0),this._cache=new t.LRUMap(e.limit),this._rule=e.rule,this._preComputingCache=null,this._initClearCacheListener()}setCacheLength(e){this._cache.limit=e}clearCache(){this._cache.clear()}resetPreComputingCache(){this._preComputingStatus$.next(`preComputingStart`),this._preComputingCache=null}updateRule(e){this._rule=e,this.resetPreComputingCache()}getCell(e,t){let n=this._createKey(e,t);if(this._preComputingStatus$.getValue()===`preComputing`)return this._cache.get(n);let r=this.getPreComputingResult(e,t);if(r===null&&(this._preComputingStatus$.next(`preComputingStart`),this.preComputing(e,t,this._getContext()),r=this.getPreComputingResult(e,t),r===null)||(this._preComputingStatus$.next(`preComputingEnd`),this._cache.has(n)))return this._cache.get(n);let i=this.getCellResult(e,t,r,this._getContext());return i!==null&&this._setCache(e,t,i),i}setPreComputingCache(e){this._preComputingCache=e}getPreComputingResult(e,t){return this._preComputingCache}_createKey(e,t){return`${e}_${t}`}_setCache(e,t,n){let r=this._createKey(e,t);this._cache.set(r,n)}_getContext(){return{...this._context,rule:this._rule}}_initClearCacheListener(){this.preComputingStatus$.subscribe(e=>{e===`preComputingEnd`&&this.clearCache()})}},se=class extends R{preComputing(e,n,r){let a=r.rule,s=r.worksheet,c=new t.ObjectMatrix;a.rule.config.every(e=>e.value.type===`num`)||Y(a.ranges,s.getMaxRows()-1,s.getMaxColumns()-1).forEach(e=>{t.Range.foreach(e,(e,n)=>{let i=r.getCellValue(e,n),a=i&&i.v;if(!W(a)&&(i==null?void 0:i.t)===t.CellValueType.NUMBER){let t=Number(a);!Number.isNaN(t)&&c.setValue(e,n,t)}})});let l=[...a.rule.config].sort((e,t)=>e.index-t.index).map(e=>({value:q(e.value,c,{...r,cfId:a.cfId}),color:new t.ColorKit(e.color)}));if(!l.some(e=>(0,o.isObject)(e.value)?e.value.status!==i.FormulaResultStatus.SUCCESS:!1)){let e=l.map(e=>e.color).reduce((e,t,n)=>(e.result.push({color:t,value:e.sortValue[n]}),e),{result:[],sortValue:l.map(e=>e.value.result).sort((e,t)=>e-t)}).result;this.setPreComputingCache(e),this._preComputingStatus$.next(`preComputingEnd`);return}this._preComputingStatus$.next(`preComputing`)}getCellResult(e,n,r,i){if(!r)return null;let a=i.getCellValue(e,n);if(a.t===t.CellValueType.NUMBER){let e=Number(a.v);if(!Number.isNaN(e))return Se(r,e)}}};let ce=`sheet-conditional-rule-data-bar`,le=`#000`,ue=e=>{let{startRow:t,endRow:n,startColumn:r,endColumn:i}=e;return`${t}-${n}-${r}-${i}`};var de=class extends o.SheetExtension{constructor(...e){super(...e),T(this,`_paddingRightAndLeft`,2),T(this,`_paddingTopAndBottom`,2),T(this,`uKey`,ce),T(this,`Z_INDEX`,34),T(this,`_radius`,1)}draw(e,n,r,i){let{worksheet:a}=r;if(!a)return!1;let s=new Set,c=i!=null&&i.length?i:[r.rowColumnSegment];e.save(),c.forEach(n=>{t.Range.foreach(n,(t,n)=>{if(!a.getRowVisible(t)||!a.getColVisible(n))return;let c=r.getCellWithCoordByIndex(t,n,!1),{isMerged:l,isMergedMainCell:u,mergeInfo:d}=c,f=a.getCell(t,n);if(l&&(f=a.getCell(d.startRow,d.startColumn)),!(f!=null&&f.dataBar)||!this.isRenderDiffRangesByCell(d,i))return;if(l||u){let e=ue(d);if(s.has(e))return;s.add(e)}let{color:p,value:m,startPoint:h,isGradient:g}=f.dataBar,{startX:_,endX:v,startY:y,endY:b}=l||u?d:c,x=v-_,S=b+o.FIX_ONE_PIXEL_BLUR_OFFSET-y,C=x-this._paddingRightAndLeft*2,w=S-this._paddingTopAndBottom*2;if(m>0){let t=Math.max(C*(1-h/100)*m/100,1),n=_+this._paddingRightAndLeft+h/100*C,r=y+this._paddingTopAndBottom;if(g){let i=e.createLinearGradient(n,r,n+t,r);i.addColorStop(0,p),i.addColorStop(1,`rgb(255 255 255)`),e.fillStyle=i,e.strokeStyle=p,e.lineWidth=1}else e.fillStyle=p;this._drawRectWithRoundedCorner(e,n,r,t,w,!1,!0,!0,!1),g&&e.stroke()}else{let t=Math.max(C*h/100*Math.abs(m)/100,1),n=_+this._paddingRightAndLeft+h/100*C-t,r=y+this._paddingTopAndBottom;if(g){let i=e.createLinearGradient(n,r,n+t,r);i.addColorStop(0,`rgb(255 255 255)`),i.addColorStop(1,p),e.fillStyle=i,e.strokeStyle=p,e.lineWidth=1}else e.fillStyle=p;this._drawRectWithRoundedCorner(e,n,r,t,w,!0,!1,!1,!0),g&&e.stroke()}})}),e.restore()}_drawRectWithRoundedCorner(e,t,n,r,i,a,o,s,c){let l=this._radius;!i||!r||(e.beginPath(),e.moveTo(t+l,n),e.lineTo(t+r-l,n),o?e.arcTo(t+r,n,t+r,n+l,l):e.lineTo(t+r,n),e.lineTo(t+r,n+i-l),s?e.arcTo(t+r,n+i,t+r-l,n+i,l):e.lineTo(t+r,n+i),e.lineTo(t+l,n+i),c?e.arcTo(t,n+i,t,n+i-l,l):e.lineTo(t,n+i),e.lineTo(t,n+l),a?e.arcTo(t,n,t+l,n,l):e.lineTo(t,n),e.closePath(),e.fill())}};o.SpreadsheetExtensionRegistry.add(de);let z=e=>Math.max(Math.min(100,e),0),fe=(e,n,r)=>{let i=r(e,n);if(i&&i.t===t.CellValueType.NUMBER){let e=Number(i.v);return Number.isNaN(e)?null:e}return null};var pe=class extends R{preComputing(e,n,r){let a=r.rule,o=a.rule,s=r.worksheet,c=new t.ObjectMatrix;[a.rule.config.max,a.rule.config.min].every(e=>e.type===`num`)||Y(a.ranges,s.getMaxRows()-1,s.getMaxColumns()-1).forEach(e=>{t.Range.foreach(e,(e,n)=>{let i=r.getCellValue(e,n),a=i&&i.v;if(!W(a)&&(i==null?void 0:i.t)===t.CellValueType.NUMBER){let t=Number(a);!Number.isNaN(t)&&c.setValue(e,n,t)}})});let l=q(o.config.min,c,{...r,cfId:a.cfId}),u=q(o.config.max,c,{...r,cfId:a.cfId}),d=0,f=0;if(l.status===i.FormulaResultStatus.SUCCESS){let e=Number(l.result);d=Number.isNaN(e)?0:e}else{this._preComputingStatus$.next(`preComputing`);return}if(u.status===i.FormulaResultStatus.SUCCESS){let e=Number(u.result),t=Number.isNaN(e)?0:e;f=Math.max(t,d),d=Math.min(t,d);let n=50;if(d<0&&f<=0)n=100;else if(d<0&&f>0){let e=Math.abs(f)+Math.abs(d);n=Math.abs(d)/e*100}else d>=0&&f>0&&(n=0);this.setPreComputingCache({min:d,max:f,startPoint:n}),this._preComputingStatus$.next(`preComputingEnd`);return}this._preComputingStatus$.next(`preComputing`)}getCellResult(e,t,n,r){let{min:i,max:a,startPoint:o}=n,s=r.rule.rule,c=s.isShowValue,l=s.config.isGradient,u=fe(e,t,r.getCellValue);if(!(u===null||u<i||i===a||a<i)){if(u===0)return{color:le,startPoint:o,value:0,isGradient:l,isShowValue:c};if(i<0&&a<=0){let e=a-i,t=z((a-u)/e*100);return t===0?void 0:{color:s.config.nativeColor||`#abd91a`,startPoint:o,value:-t,isGradient:l,isShowValue:c}}else if(i<0&&a>0)if(u>0){let e=z(Math.min(u/a,1)*100);return e===0?void 0:{color:s.config.positiveColor||`#ffbe38`,startPoint:o,value:e,isGradient:l,isShowValue:c}}else{let e=z(Math.min(Math.abs(u)/Math.abs(i),1)*100);return e===0?void 0:{color:s.config.nativeColor||`#abd91a`,startPoint:o,value:-e,isGradient:l,isShowValue:c}}else if(i>=0&&a>0){let e=a-i,t=z((1-(a-u)/e)*100);return t===0?void 0:{color:s.config.positiveColor||`#ffbe38`,startPoint:0,value:t,isGradient:l,isShowValue:c}}}}};let B=e=>e===!0||e===1||e===`TRUE`,me=e=>[...e].sort((e,t)=>e.startRow===t.startRow?e.startColumn-t.startColumn:e.startRow-t.startRow);var he=class extends R{preComputing(e,n,r){let a=r.rule.rule,o=Y(r.rule.ranges,r.worksheet.getMaxRows()-1,r.worksheet.getMaxColumns()-1),s=(()=>{switch(a.subType){case`average`:{let e=0,n=0;return o.forEach(i=>{t.Range.foreach(i,(i,a)=>{let o=r.getCellValue(i,a),s=G(o);o&&o.t===t.CellValueType.NUMBER&&!W(s)&&(e+=Number(s)||0,n++)})}),{value:e/n,type:a.subType}}case`uniqueValues`:case`duplicateValues`:{let e=new Map;return o.forEach(n=>{t.Range.foreach(n,(t,n)=>{let i=G(r.getCellValue(t,n));if(!W(i)){let t=e.get(i);t?e.set(i,t+1):e.set(i,1)}})}),{value:e,type:a.subType}}case`rank`:{let e=[];o.forEach(n=>{t.Range.foreach(n,(n,i)=>{let a=r.getCellValue(n,i),o=G(a);a&&a.t===t.CellValueType.NUMBER&&!W(o)&&e.push(Number(o)||0)})}),e.sort((e,t)=>t-e);let n=r.rule.rule;if(n.isPercent){n.isBottom&&(e=e.toReversed());let r=t.Tools.clamp(n.value,0,100)/100,i=Math.floor(r*e.length),o=t.Tools.clamp(i-1,0,e.length-1);return{value:e[o],type:a.subType}}let i=Math.floor(t.Tools.clamp(n.isBottom?n.value-1:n.value,0,e.length));return n.isBottom?{value:e[e.length-i-1],type:a.subType}:{value:e[Math.max(i-1,0)],type:a.subType}}case`formula`:{let e=a,t=r.accessor.get(L),n=me(r.rule.ranges);t.registerFormulaWithRange(r.unitId,r.subUnitId,r.rule.cfId,e.value,n);let o=t.getFormulaMatrix(r.unitId,r.subUnitId,r.rule.cfId,e.value);return o&&o.status===i.FormulaResultStatus.SUCCESS?(this._preComputingStatus$.next(`preComputingEnd`),{value:o.result,type:a.subType}):(this._preComputingStatus$.next(`preComputing`),null)}case`timePeriod`:switch(a.operator){case`last7Days`:return{value:{start:(0,t.dateKit)().subtract(7,`day`).valueOf(),end:(0,t.dateKit)().valueOf()},type:a.subType};case`lastMonth`:return{value:{start:(0,t.dateKit)().startOf(`month`).subtract(1,`month`).valueOf(),end:(0,t.dateKit)().endOf(`month`).subtract(1,`month`).valueOf()},type:a.subType};case`lastWeek`:return{value:{start:(0,t.dateKit)().startOf(`week`).subtract(1,`week`).valueOf(),end:(0,t.dateKit)().endOf(`week`).subtract(1,`week`).valueOf()},type:a.subType};case`nextMonth`:return{value:{start:(0,t.dateKit)().startOf(`month`).add(1,`month`).valueOf(),end:(0,t.dateKit)().endOf(`month`).add(1,`month`).valueOf()},type:a.subType};case`nextWeek`:return{value:{start:(0,t.dateKit)().startOf(`week`).add(1,`week`).valueOf(),end:(0,t.dateKit)().endOf(`week`).add(1,`week`).valueOf()},type:a.subType};case`thisMonth`:return{value:{start:(0,t.dateKit)().startOf(`month`).valueOf(),end:(0,t.dateKit)().endOf(`month`).valueOf()},type:a.subType};case`thisWeek`:return{value:{start:(0,t.dateKit)().startOf(`week`).valueOf(),end:(0,t.dateKit)().endOf(`week`).valueOf()},type:a.subType};case`today`:return{value:{start:(0,t.dateKit)().startOf(`day`).valueOf(),end:(0,t.dateKit)().endOf(`day`).valueOf()},type:a.subType};case`tomorrow`:return{value:{start:(0,t.dateKit)().startOf(`day`).add(1,`day`).valueOf(),end:(0,t.dateKit)().endOf(`day`).add(1,`day`).valueOf()},type:a.subType};case`yesterday`:return{value:{start:(0,t.dateKit)().startOf(`day`).subtract(1,`day`).valueOf(),end:(0,t.dateKit)().endOf(`day`).subtract(1,`day`).valueOf()},type:a.subType}}}})();this.setPreComputingCache(s)}getCellResult(e,n,r,a){let o=a.getCellValue(e,n),s=a.rule.rule;return(()=>{switch(s.subType){case`number`:{let e=o&&Number(o.v),n=(o==null?void 0:o.t)===t.CellValueType.NUMBER,r=s;return n?W(e)||Number.isNaN(e)?void 0:J({operator:r.operator,value:r.value||0},e||0):!![`notEqual`,`notBetween`].includes(r.operator)}case`text`:{let e=s,t=G(o),n=W(t)?``:String(t),r=e.value||``;switch(e.operator){case`beginsWith`:return n.startsWith(r);case`containsBlanks`:return/^\s*$/.test(n);case`notContainsBlanks`:return!/^\s*$/.test(n);case`containsErrors`:return i.ERROR_TYPE_SET.has(n);case`notContainsErrors`:return!i.ERROR_TYPE_SET.has(n);case`containsText`:return n.indexOf(r)>-1;case`notContainsText`:return n.indexOf(r)===-1;case`endsWith`:return n.endsWith(r);case`equal`:return n===r;case`notEqual`:return n!==r;default:return!1}}case`timePeriod`:{let e=G(o);if(W(e)||Number.isNaN(Number(e))||(o==null?void 0:o.t)!==t.CellValueType.NUMBER||!r)return;let n=ye(Number(e)),{start:i,end:a}=r.value;return n>=i&&n<=a}case`average`:{let e=o&&o.v,n=Number(e),i=(o==null?void 0:o.t)===t.CellValueType.NUMBER,a=s;if(!i)return a.operator===`notEqual`;if(W(e)||Number.isNaN(n)||!r)return!1;let c=r.value;switch(a.operator){case`greaterThan`:return n>c;case`greaterThanOrEqual`:return n>=c;case`lessThan`:return n<c;case`lessThanOrEqual`:return n<=c;case`equal`:return U(n,c);case`notEqual`:return!U(n,c);default:return!1}}case`rank`:{let e=G(o),n=Number(e);if(W(e)||Number.isNaN(n)||(o==null?void 0:o.t)!==t.CellValueType.NUMBER||!r)return!1;let i=r.value;return s.isBottom?n<=i:n>=i}case`uniqueValues`:{let e=G(o);return W(e)||!r?!1:r.value.get(e)===1}case`duplicateValues`:{let e=G(o);if(W(e)||!r)return!1;let t=r.value.get(e);return t&&t!==1}case`formula`:{let t=s,o=a.accessor.get(L),c=me(a.rule.ranges)[0],l=e-c.startRow,u=n-c.startColumn,d=o.getFormulaResultWithCoords(a.unitId,a.subUnitId,a.rule.cfId,t.value,l,u);if(d.status===i.FormulaResultStatus.SUCCESS&&d.result!==void 0)return B(d.result);let f=r==null?void 0:r.value;return f?B(f.getValue(l,u)):!1}}})()?s.style:{}}};let ge=(e,n,r)=>{let i=r(e,n);if(i&&i.t===t.CellValueType.NUMBER){let e=Number(i.v);return Number.isNaN(e)?null:e}return null};var _e=class extends R{preComputing(e,n,r){let a=r.rule.rule,o=r.worksheet,s=new t.ObjectMatrix;a.config.every(e=>e.value.type===`num`)||Y(r.rule.ranges,o.getMaxRows()-1,o.getMaxColumns()-1).forEach(e=>{t.Range.foreach(e,(e,n)=>{let i=r.getCellValue(e,n),a=i&&i.v;if(!W(a)&&(i==null?void 0:i.t)===t.CellValueType.NUMBER){let t=Number(a);!Number.isNaN(t)&&s.setValue(e,n,t)}})});let c=a.config.map(e=>q(e.value,s,{...r,cfId:r.rule.cfId}));if(!c.some(e=>e.status!==i.FormulaResultStatus.SUCCESS)){let e=c.map((e,t)=>({operator:a.config[t].operator,value:Number(e.result)||0})).reduce((e,t,n,r)=>{let i=a.config[n];if(!n||n===r.length-1)e.push({...t,iconId:i.iconId,iconType:i.iconType});else{let a=r[n-1];J(a,t.value)||e.push({...t,iconId:i.iconId,iconType:i.iconType})}return e},[]);this.setPreComputingCache(e),this._preComputingStatus$.next(`preComputingEnd`);return}this._preComputingStatus$.next(`preComputing`)}getCellResult(e,t,n,r){if(!n)return null;let i=ge(e,t,r.getCellValue);if(i===null)return;let a=r.rule.rule,o=a.isShowValue===void 0?!0:!!a.isShowValue;for(let e=0;e<n.length;e++){let t=n[e],r={...t},a={...t},{iconId:s,iconType:c}=t;if(e===0){if(J(t,i))return{iconId:s,iconType:c,isShowValue:o}}else if(e===n.length-1)return{iconId:s,iconType:c,isShowValue:o};else{let t=n[e-1];if(a.operator=xe(t.operator),a.value=t.value,J(r,i)&&J(a,i))return{iconId:s,iconType:c,isShowValue:o}}}}};let V=1e3*3*3,H=class extends t.Disposable{constructor(e,n,i,o){super(),this._injector=e,this._conditionalFormattingRuleModel=n,this._conditionalFormattingFormulaService=i,this._univerInstanceService=o,T(this,`_calculateUnitManagers`,new Map),T(this,`_rTreeManager`,new t.RTree),T(this,`_cellCache`,new t.LRUMap(V)),T(this,`_markDirty$`,new r.Subject),T(this,`markDirty$`,this._markDirty$.asObservable()),T(this,`_markRuleDirtyAtOnce`,(e,t,n,r=!0)=>{if(this._cellCache.clear(),r){let r=this._ensureCalculateUnitManager(e,t).get(n);r&&r.resetPreComputingCache()}this._markDirty$.next({unitId:e,subUnitId:t,cfId:n})}),T(this,`markRuleDirty`,(()=>{let e=new r.Subject;return this.disposeWithMe(e.pipe((0,a.bufferTime)(100),(0,a.filter)(e=>!!e.length),(0,a.map)(e=>{let t=new Set,n=[];return e.forEach(e=>{let r=`${e.unitId}_${e.subUnitId}_${e.cfId}`;if(t.has(r)){if(e.isNeedResetPreComputingCache){let t=n.find(t=>t.cfId===e.cfId);t.isNeedResetPreComputingCache=!0}return}t.add(r),n.push({...e})}),n})).subscribe(e=>{e.forEach(e=>{this._markRuleDirtyAtOnce(e.unitId,e.subUnitId,e.cfId,e.isNeedResetPreComputingCache)})})),(t,n,r,i=!0)=>{e.next({unitId:t,subUnitId:n,cfId:r,isNeedResetPreComputingCache:i})}})()),this._initRuleListener(),this._handleCustomFormulasSeparately(),this._initCFFormulaListener()}_initCFFormulaListener(){this.disposeWithMe(this._conditionalFormattingFormulaService.result$.subscribe(({unitId:e,subUnitId:t,cfId:n,isAllFinished:r})=>{r&&this._markRuleDirtyAtOnce(e,t,n,r)}))}getCellCfs(e,t,n,r){let i=this._createCacheKey(e,t,n,r);if(this._cellCache.has(i))return this._cellCache.get(i);let a=this._getCellCfs(e,t,n,r);return a.length&&this._cellCache.set(i,a),a}_getCellCfs(e,t,n,r){var i;let a=(i=this._conditionalFormattingRuleModel.getSubunitRules(e,t))==null?[]:i,o=this._ensureCalculateUnitManager(e,t),s=this._rTreeManager.bulkSearch([{unitId:e,sheetId:t,range:{startColumn:r,endColumn:r,startRow:n,endRow:n}}]),c=a.filter(e=>s.has(e.cfId));return c.length?c.map(e=>{let t=o.get(e.cfId);return t?{cfId:e.cfId,result:t.getCell(n,r)}:null}).filter(e=>!!e).map((e,t)=>({...e,priority:t})):[]}dispose(){this.clearCache(),super.dispose()}clearCache(){this._calculateUnitManagers.clear(),this._cellCache.clear(),this._rTreeManager.clear()}_handleCustomFormulasSeparately(){this.disposeWithMe(this._conditionalFormattingRuleModel.$ruleChange.subscribe(e=>{if(e.type===`set`){let{unitId:t,subUnitId:n}=e,r=e.oldRule;r.rule.type===`highlightCell`&&r.rule.subType===`formula`&&this._conditionalFormattingFormulaService.deleteCache(t,n,r.cfId)}}))}_initRuleListener(){this.disposeWithMe(this._conditionalFormattingRuleModel.$ruleChange.subscribe(e=>{let{unitId:t,subUnitId:n,rule:r}=e,{cfId:i,ranges:a}=r,o=this._ensureCalculateUnitManager(t,n);switch(this.markRuleDirty(t,n,i),e.type){case`add`:{this._rTreeManager.bulkInsert(a.map(e=>({unitId:t,sheetId:n,id:i,range:e})));let e=this._createRuleCalculateUnitInstance(t,n,r);if(!e)return;o.set(r.cfId,e);break}case`delete`:this._rTreeManager.bulkRemove(a.map(e=>({unitId:t,sheetId:n,id:i,range:e}))),o.delete(r.cfId);break;case`set`:{let s=e.oldRule;if(this._rTreeManager.bulkRemove(s.ranges.map(e=>({unitId:t,sheetId:n,id:s.cfId,range:e}))),this._rTreeManager.bulkInsert(a.map(e=>({unitId:t,sheetId:n,id:i,range:e}))),s.rule.type!==r.rule.type){let e=this._createRuleCalculateUnitInstance(t,n,r);if(!e)return;o.delete(s.cfId),o.set(r.cfId,e)}else{let e=o.get(s.cfId);if(!e)return;e.updateRule(r)}}}}))}_ensureCalculateUnitManager(e,t){let n=this._calculateUnitManagers.get(e);n||(n=new Map,this._calculateUnitManagers.set(e,n));let r=n.get(t);return r||(r=new Map,n.set(t,r)),r}_createRuleCalculateUnitInstance(e,t,n){let r=this._univerInstanceService.getUnit(e),i=r==null?void 0:r.getSheetBySheetId(t);if(!r||!i)return;let a={workbook:r,worksheet:i,unitId:e,subUnitId:t,accessor:this._injector,rule:n,limit:V,getCellValue:(e,t)=>i.getCellRaw(e,t)||{}};switch(n.rule.type){case`colorScale`:return new se(a);case`dataBar`:return new pe(a);case`highlightCell`:return new he(a);case`iconSet`:return new _e(a)}}_createCacheKey(e,t,n,r){return`${e}_${t}_${n}_${r}`}setCacheLength(e=V){this._cellCache.limit!==e&&(this._cellCache.limit=e,this._calculateUnitManagers.forEach(t=>{t.forEach(t=>{t.forEach(t=>{t.setCacheLength(e)})})}))}};H=I([F(0,(0,t.Inject)(t.Injector)),F(1,(0,t.Inject)(E)),F(2,(0,t.Inject)(L)),F(3,t.IUniverInstanceService)],H);function U(e,t){return Math.abs(e-t)<2**-52}let W=e=>e==null||typeof e==`string`&&e.trim()===``,G=e=>{var n;if(!e)return null;if(e.t===t.CellValueType.BOOLEAN)return e.v===t.BooleanNumber.TRUE?i.BooleanValue.TRUE:i.BooleanValue.FALSE;let r=e.v,a=(n=e.p)==null||(n=n.body)==null?void 0:n.dataStream.replace(/\r\n$/,``);return W(r)?W(a)?null:a:r},K=86400;function ve(e,t=!0){if(t&&e>=0){if(e===0)return[1900,1,0];if(e===60)return[1900,2,29];if(e<60)return[1900,e<32?1:2,(e-1)%31+1]}let n=e+68569+2415019,r=Math.floor(4*n/146097);n-=Math.floor((146097*r+3)/4);let i=Math.floor(4e3*(n+1)/1461001);n=n-Math.floor(1461*i/4)+31;let a=Math.floor(80*n/2447),o=n-Math.floor(2447*a/80);n=Math.floor(a/11);let s=a+2-12*n;return[100*(r-49)+i+n|0,s|0,o|0]}let ye=e=>{let n=e|0,r=K*(e-n),i=Math.floor(r);r-i>.9999&&(i+=1,i===K&&(i=0,n+=1));let a=i<0?K+i:i,[o,s,c]=ve(e,!0);return(0,t.dateKit)(`${o}/${s}/${c} ${Math.floor(a/60/60)%60}:${Math.floor(a/60)%60}:${Math.floor(a)%60}`).valueOf()},q=(e,t,n)=>{switch(e.type){case`max`:{let e=0;return t.forValue((t,n,r)=>{r>e&&(e=r)}),{status:i.FormulaResultStatus.SUCCESS,result:e}}case`min`:{let e;return t.forValue((t,n,r)=>{e===void 0&&(e=r),r<e&&(e=r)}),{status:i.FormulaResultStatus.SUCCESS,result:e}}case`percent`:{let n,r;t.forValue((e,t,i)=>{(n===void 0||r===void 0)&&(n=i,r=i),i>n&&(n=i),i<r&&(r=i)});let a=(n||0)-(r||0),o=Math.max(Math.min(Number(e.value)||0,100),0);return{status:i.FormulaResultStatus.SUCCESS,result:o/100*a+(r||0)}}case`percentile`:{let n=t.toNativeArray().sort((e,t)=>e-t),r=Math.max(Math.min(Number(e.value)||0,100),0),a=(n.length-1)*r/100,o=Math.floor(a),s=a-o,c=n[o]+(n[Math.min(o+1,n.length-1)]-n[o])*s;return{status:i.FormulaResultStatus.SUCCESS,result:c}}case`formula`:{let{accessor:t,unitId:r,subUnitId:i,cfId:a}=n,o=String(e.value),s=t.get(L);return s.registerFormulaWithRange(r,i,a,o),s.getFormulaResultWithCoords(r,i,a,o)}default:{let t=Number(e.value);return{status:i.FormulaResultStatus.SUCCESS,result:Number.isNaN(t)?0:t}}}},be=(e,n,r,i)=>{let{accessor:a}=i,o=a.get(H),s=new t.ObjectMatrix;return r.ranges.forEach(i=>{t.Range.foreach(i,(t,i)=>{let a=o.getCellCfs(e,n,t,i);if(a){let e=a.find(e=>e.cfId===r.cfId);e!=null&&e.result&&s.setValue(t,i,e.result)}})}),s},J=(e,t)=>{switch(e.operator){case`between`:{if(typeof e.value!=`object`||!e.value.length)return;let n=Math.min(...e.value),r=Math.max(...e.value);return t>=n&&t<=r}case`notBetween`:{if(typeof e.value!=`object`||!e.value.length)return;let n=Math.min(...e.value),r=Math.max(...e.value);return!(t>=n&&t<=r)}case`equal`:return U(e.value||0,t);case`notEqual`:return!U(e.value||0,t);case`greaterThan`:return t>(e.value||0);case`greaterThanOrEqual`:return t>=(e.value||0);case`lessThan`:return t<(e.value||0);case`lessThanOrEqual`:return t<=(e.value||0);default:return!1}},xe=e=>{switch(e){case`greaterThan`:return`lessThanOrEqual`;case`greaterThanOrEqual`:return`lessThan`;case`lessThan`:return`greaterThanOrEqual`;case`lessThanOrEqual`:return`greaterThan`}return e},Se=(e,n)=>{let r=e=>e.a===void 0?{...e,a:1}:e,i=e.findIndex(e=>e.value>=n),a=i-1;if(i===0)return e[0].color.toRgbString();if(a>=0){let o=e[a],s=e[i];if(o.color.isValid&&s.color.isValid){let e=r(o.color.toRgb()),i=r(s.color.toRgb()),a=s.value-o.value,c=(n-o.value)/a;return new t.ColorKit([`r`,`g`,`b`,`a`].reduce((t,n)=>{let r=e[n];return t[n]=(i[n]-r)*c+r,t},{})).toRgbString()}}else return e[e.length-1].color.toRgbString()},Y=(e,t,n)=>e.map(e=>{if(e.startColumn>n||e.startRow>t)return null;let r={...e};return r.endRow=Math.min(r.endRow,t),r.endColumn=Math.min(r.endColumn,n),r}).filter(e=>!!e);function Ce(e){let n=0;return new t.ObjectMatrix(e).forValue((e,t,r)=>{n=Math.max(Number.isNaN(n)?0:n,Number(r))}),n}let X={feedback:{mistake:`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%228%22%20cy%3D%228%22%20r%3D%227%22%20fill%3D%22%23FE4B4B%22%2F%3E%0A%3Cpath%20d%3D%22M5.69014%205.69014C5.45583%205.92445%205.45583%206.30435%205.69014%206.53867L7.15137%207.9999L5.6899%209.46137C5.45558%209.69569%205.45558%2010.0756%205.6899%2010.3099C5.92421%2010.5442%206.30411%2010.5442%206.53842%2010.3099L7.9999%208.84843L9.46137%2010.3099C9.69569%2010.5442%2010.0756%2010.5442%2010.3099%2010.3099C10.5442%2010.0756%2010.5442%209.69569%2010.3099%209.46137L8.84843%207.9999L10.3097%206.53867C10.544%206.30435%2010.544%205.92445%2010.3097%205.69014C10.0753%205.45583%209.69544%205.45583%209.46113%205.69014L7.9999%207.15137L6.53867%205.69014C6.30435%205.45583%205.92445%205.45583%205.69014%205.69014Z%22%20fill%3D%22%23FFFFFF%22%2F%3E%0A%3C%2Fsvg%3E%0A`,warn:`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%228%22%20cy%3D%228%22%20r%3D%227%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3Cpath%20d%3D%22M7.4%204.4335C7.4%204.10213%207.66863%203.8335%208%203.8335C8.33137%203.8335%208.6%204.10213%208.6%204.4335V9.36683C8.6%209.6982%208.33137%209.96683%208%209.96683C7.66863%209.96683%207.4%209.6982%207.4%209.36683V4.4335Z%22%20fill%3D%22%23FFFFFF%22%2F%3E%0A%3Ccircle%20cx%3D%228%22%20cy%3D%2211.5338%22%20r%3D%220.83333%22%20fill%3D%22%23FFFFFF%22%2F%3E%0A%3C%2Fsvg%3E%0A`,correct:`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%228%22%20cy%3D%228%22%20r%3D%227%22%20fill%3D%22%2359D01E%22%2F%3E%0A%3Cpath%20d%3D%22M11.7245%205.57564C11.4901%205.34132%2011.1102%205.34132%2010.8759%205.57564L7.3002%209.15137L5.72446%207.57564C5.49014%207.34132%205.11025%207.34132%204.87593%207.57564C4.64162%207.80995%204.64162%208.18985%204.87593%208.42417L6.87593%2010.4242C7.11025%2010.6585%207.49014%2010.6585%207.72446%2010.4242L11.7245%206.42417C11.9588%206.18985%2011.9588%205.80995%2011.7245%205.57564Z%22%20fill%3D%22%23FFFFFF%22%2F%3E%0A%3C%2Fsvg%3E%0A`},star:{starEmpty:`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M8%201.8L9.73075%205.30631L13.6%205.86863L10.8%208.59897L11.4615%2012.4526L8%2010.632L4.53853%2012.4526L5.2%208.59897L2.4%205.86863L6.26927%205.30631L8%201.8Z%22%20fill%3D%22%23fff%22%2F%3E%0A%3C%2Fsvg%3E%0A`,starIncomplete:`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M8%201.8L9.73075%205.30631L13.6%205.86863L10.8%208.59897L11.4615%2012.4526L8%2010.632L4.53853%2012.4526L5.2%208.59897L2.4%205.86863L6.26927%205.30631L8%201.8Z%22%20fill%3D%22%23fff%22%2F%3E%0A%3Cmask%20id%3D%22star-incomplete-mask%22%20maskUnits%3D%22userSpaceOnUse%22%20x%3D%220%22%20y%3D%220%22%20width%3D%228%22%20height%3D%2216%22%3E%0A%3Crect%20width%3D%228%22%20height%3D%2216%22%20fill%3D%22white%22%2F%3E%0A%3C%2Fmask%3E%0A%3Cg%20mask%3D%22url(%23star-incomplete-mask)%22%3E%0A%3Cpath%20d%3D%22M8%201.8L9.73075%205.30631L13.6%205.86863L10.8%208.59897L11.4615%2012.4526L8%2010.632L4.53853%2012.4526L5.2%208.59897L2.4%205.86863L6.26927%205.30631L8%201.8Z%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A`,starFull:`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M8%201.8L9.73075%205.30631L13.6%205.86863L10.8%208.59897L11.4615%2012.4526L8%2010.632L4.53853%2012.4526L5.2%208.59897L2.4%205.86863L6.26927%205.30631L8%201.8Z%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3C%2Fsvg%3E%0A`},progress:{progress0:`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%228%22%20cy%3D%228%22%20r%3D%226.5%22%20fill%3D%22%237A7A7A%22%2F%3E%0A%3Ccircle%20cx%3D%228%22%20cy%3D%228%22%20r%3D%226.5%22%20stroke%3D%22%237A7A7A%22%20stroke-width%3D%220.75%22%2F%3E%0A%3C%2Fsvg%3E%0A`,progress25:`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%228%22%20cy%3D%228%22%20r%3D%226.5%22%20fill%3D%22%237A7A7A%22%2F%3E%0A%3Cpath%20d%3D%22M8%201.5C11.5899%201.5%2014.5%204.41015%2014.5%208H8V1.5Z%22%20fill%3D%22%237A7A7A%22%2F%3E%0A%3Ccircle%20cx%3D%228%22%20cy%3D%228%22%20r%3D%226.5%22%20stroke%3D%22%237A7A7A%22%20stroke-width%3D%220.75%22%2F%3E%0A%3C%2Fsvg%3E%0A`,progress50:`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%228%22%20cy%3D%228%22%20r%3D%226.5%22%20fill%3D%22%237A7A7A%22%2F%3E%0A%3Cpath%20d%3D%22M8%201.5C11.5899%201.5%2014.5%204.41015%2014.5%208C14.5%2011.5899%2011.5899%2014.5%208%2014.5V1.5Z%22%20fill%3D%22%237A7A7A%22%2F%3E%0A%3Ccircle%20cx%3D%228%22%20cy%3D%228%22%20r%3D%226.5%22%20stroke%3D%22%237A7A7A%22%20stroke-width%3D%220.75%22%2F%3E%0A%3C%2Fsvg%3E%0A`,progress75:`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%228%22%20cy%3D%228%22%20r%3D%226.5%22%20fill%3D%22%237A7A7A%22%2F%3E%0A%3Cpath%20d%3D%22M8%201.5C11.5899%201.5%2014.5%204.41015%2014.5%208C14.5%2011.5899%2011.5899%2014.5%208%2014.5C4.41015%2014.5%201.5%2011.5899%201.5%208H8V1.5Z%22%20fill%3D%22%237A7A7A%22%2F%3E%0A%3Ccircle%20cx%3D%228%22%20cy%3D%228%22%20r%3D%226.5%22%20stroke%3D%22%237A7A7A%22%20stroke-width%3D%220.75%22%2F%3E%0A%3C%2Fsvg%3E%0A`,progress100:`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%228%22%20cy%3D%228%22%20r%3D%226.5%22%20fill%3D%22%237A7A7A%22%2F%3E%0A%3Ccircle%20cx%3D%228%22%20cy%3D%228%22%20r%3D%226.5%22%20stroke%3D%22%237A7A7A%22%20stroke-width%3D%220.75%22%2F%3E%0A%3C%2Fsvg%3E%0A`},signal:{signal0:`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%221.6%22%20y%3D%2211%22%20width%3D%221.8%22%20height%3D%223%22%20rx%3D%220.65%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%225.6%22%20y%3D%228%22%20width%3D%221.8%22%20height%3D%226%22%20rx%3D%220.65%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%229.6%22%20y%3D%225%22%20width%3D%221.8%22%20height%3D%229%22%20rx%3D%220.65%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%2213.6%22%20y%3D%222%22%20width%3D%221.8%22%20height%3D%2212%22%20rx%3D%220.65%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3C%2Fsvg%3E%0A`,signal25:`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%221.6%22%20y%3D%2211%22%20width%3D%221.8%22%20height%3D%223%22%20rx%3D%220.65%22%20fill%3D%22%230493EE%22%2F%3E%0A%3Crect%20x%3D%225.6%22%20y%3D%228%22%20width%3D%221.8%22%20height%3D%226%22%20rx%3D%220.65%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%229.6%22%20y%3D%225%22%20width%3D%221.8%22%20height%3D%229%22%20rx%3D%220.65%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%2213.6%22%20y%3D%222%22%20width%3D%221.8%22%20height%3D%2212%22%20rx%3D%220.65%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3C%2Fsvg%3E%0A`,signal50:`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%221.6%22%20y%3D%2211%22%20width%3D%221.8%22%20height%3D%223%22%20rx%3D%220.65%22%20fill%3D%22%230493EE%22%2F%3E%0A%3Crect%20x%3D%225.6%22%20y%3D%228%22%20width%3D%221.8%22%20height%3D%226%22%20rx%3D%220.65%22%20fill%3D%22%230493EE%22%2F%3E%0A%3Crect%20x%3D%229.6%22%20y%3D%225%22%20width%3D%221.8%22%20height%3D%229%22%20rx%3D%220.65%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%2213.6%22%20y%3D%222%22%20width%3D%221.8%22%20height%3D%2212%22%20rx%3D%220.65%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3C%2Fsvg%3E%0A`,signal75:`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%221.6%22%20y%3D%2211%22%20width%3D%221.8%22%20height%3D%223%22%20rx%3D%220.65%22%20fill%3D%22%230493EE%22%2F%3E%0A%3Crect%20x%3D%225.6%22%20y%3D%228%22%20width%3D%221.8%22%20height%3D%226%22%20rx%3D%220.65%22%20fill%3D%22%230493EE%22%2F%3E%0A%3Crect%20x%3D%229.6%22%20y%3D%225%22%20width%3D%221.8%22%20height%3D%229%22%20rx%3D%220.65%22%20fill%3D%22%230493EE%22%2F%3E%0A%3Crect%20x%3D%2213.6%22%20y%3D%222%22%20width%3D%221.8%22%20height%3D%2212%22%20rx%3D%220.65%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3C%2Fsvg%3E%0A`,signal100:`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%221.6%22%20y%3D%2211%22%20width%3D%221.8%22%20height%3D%223%22%20rx%3D%220.65%22%20fill%3D%22%230493EE%22%2F%3E%0A%3Crect%20x%3D%225.6%22%20y%3D%228%22%20width%3D%221.8%22%20height%3D%226%22%20rx%3D%220.65%22%20fill%3D%22%230493EE%22%2F%3E%0A%3Crect%20x%3D%229.6%22%20y%3D%225%22%20width%3D%221.8%22%20height%3D%229%22%20rx%3D%220.65%22%20fill%3D%22%230493EE%22%2F%3E%0A%3Crect%20x%3D%2213.6%22%20y%3D%222%22%20width%3D%221.8%22%20height%3D%2212%22%20rx%3D%220.65%22%20fill%3D%22%230493EE%22%2F%3E%0A%3C%2Fsvg%3E%0A`},feeling:{guffaw:`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%228%22%20cy%3D%228%22%20r%3D%226.4%22%20fill%3D%22%23FFBD37%22%20stroke%3D%22%238F5F00%22%20stroke-width%3D%221.2%22%2F%3E%0A%3Ccircle%20cx%3D%225.75%22%20cy%3D%226.3%22%20r%3D%220.75%22%20fill%3D%22%238F5F00%22%2F%3E%0A%3Ccircle%20cx%3D%2210.25%22%20cy%3D%226.3%22%20r%3D%220.75%22%20fill%3D%22%238F5F00%22%2F%3E%0A%3Cpath%20d%3D%22M4.8%209.15C5.25%2011.25%206.5%2012.55%208%2012.55C9.5%2012.55%2010.75%2011.25%2011.2%209.15H4.8Z%22%20fill%3D%22%238F5F00%22%2F%3E%0A%3C%2Fsvg%3E%0A`,smile:`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%228%22%20cy%3D%228%22%20r%3D%226.4%22%20fill%3D%22%23FFBD37%22%20stroke%3D%22%238F5F00%22%20stroke-width%3D%221.2%22%2F%3E%0A%3Ccircle%20cx%3D%225.75%22%20cy%3D%226.3%22%20r%3D%220.75%22%20fill%3D%22%238F5F00%22%2F%3E%0A%3Ccircle%20cx%3D%2210.25%22%20cy%3D%226.3%22%20r%3D%220.75%22%20fill%3D%22%238F5F00%22%2F%3E%0A%3Cpath%20d%3D%22M5%209.3C5.65%2010.65%206.65%2011.35%208%2011.35C9.35%2011.35%2010.35%2010.65%2011%209.3%22%20stroke%3D%22%238F5F00%22%20stroke-width%3D%221.2%22%20stroke-linecap%3D%22round%22%2F%3E%0A%3C%2Fsvg%3E%0A`,noninductive:`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%228%22%20cy%3D%228%22%20r%3D%226.4%22%20fill%3D%22%23FFBD37%22%20stroke%3D%22%238F5F00%22%20stroke-width%3D%221.2%22%2F%3E%0A%3Crect%20x%3D%225%22%20y%3D%225.85%22%20width%3D%221.5%22%20height%3D%221.1%22%20rx%3D%220.55%22%20fill%3D%22%238F5F00%22%2F%3E%0A%3Crect%20x%3D%229.5%22%20y%3D%225.85%22%20width%3D%221.5%22%20height%3D%221.1%22%20rx%3D%220.55%22%20fill%3D%22%238F5F00%22%2F%3E%0A%3Cpath%20d%3D%22M5.2%2010.4H10.8%22%20stroke%3D%22%238F5F00%22%20stroke-width%3D%221.2%22%20stroke-linecap%3D%22round%22%2F%3E%0A%3C%2Fsvg%3E%0A`,dissatisfied:`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%228%22%20cy%3D%228%22%20r%3D%226.4%22%20fill%3D%22%23FFBD37%22%20stroke%3D%22%238F5F00%22%20stroke-width%3D%221.2%22%2F%3E%0A%3Ccircle%20cx%3D%225.75%22%20cy%3D%226.3%22%20r%3D%220.75%22%20fill%3D%22%238F5F00%22%2F%3E%0A%3Ccircle%20cx%3D%2210.25%22%20cy%3D%226.3%22%20r%3D%220.75%22%20fill%3D%22%238F5F00%22%2F%3E%0A%3Cpath%20d%3D%22M5%2011C5.65%209.65%206.65%208.95%208%208.95C9.35%208.95%2010.35%209.65%2011%2011%22%20stroke%3D%22%238F5F00%22%20stroke-width%3D%221.2%22%20stroke-linecap%3D%22round%22%2F%3E%0A%3C%2Fsvg%3E%0A`,impatient:`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%228%22%20cy%3D%228%22%20r%3D%226.4%22%20fill%3D%22%23FFBD37%22%20stroke%3D%22%238F5F00%22%20stroke-width%3D%221.2%22%2F%3E%0A%3Cpath%20d%3D%22M4.9%205.4L6.7%206.15%22%20stroke%3D%22%238F5F00%22%20stroke-width%3D%221.2%22%20stroke-linecap%3D%22round%22%2F%3E%0A%3Cpath%20d%3D%22M11.1%205.4L9.3%206.15%22%20stroke%3D%22%238F5F00%22%20stroke-width%3D%221.2%22%20stroke-linecap%3D%22round%22%2F%3E%0A%3Ccircle%20cx%3D%225.75%22%20cy%3D%227.2%22%20r%3D%220.65%22%20fill%3D%22%238F5F00%22%2F%3E%0A%3Ccircle%20cx%3D%2210.25%22%20cy%3D%227.2%22%20r%3D%220.65%22%20fill%3D%22%238F5F00%22%2F%3E%0A%3Cpath%20d%3D%22M5%2011.25C5.7%2010.05%206.7%209.45%208%209.45C9.3%209.45%2010.3%2010.05%2011%2011.25%22%20stroke%3D%22%238F5F00%22%20stroke-width%3D%221.2%22%20stroke-linecap%3D%22round%22%2F%3E%0A%3C%2Fsvg%3E%0A`},arrow:{"down-red":`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M8.90467%203.99244C8.84611%204.1338%208.84611%204.31301%208.84611%204.67143V13.716L5.92068%2010.7906C5.66724%2010.5371%205.54052%2010.4104%205.39916%2010.3519C5.21067%2010.2738%204.9989%2010.2738%204.81041%2010.3519C4.66905%2010.4104%204.54233%2010.5371%204.28889%2010.7906C4.03545%2011.044%203.90873%2011.1707%203.85018%2011.3121C3.77211%2011.5006%203.77211%2011.7124%203.85018%2011.9008C3.90873%2012.0422%204.03545%2012.1689%204.28889%2012.4224L9.03476%2017.1682C9.07839%2017.2127%209.12737%2017.2617%209.18231%2017.3166L9.18239%2017.3167L9.18241%2017.3167C9.40545%2017.5398%209.53035%2017.6647%209.65346%2017.7313C9.67085%2017.7408%209.6882%2017.7492%209.70577%2017.7564C9.89425%2017.8345%2010.106%2017.8345%2010.2945%2017.7564C10.4359%2017.6979%2010.5626%2017.5712%2010.816%2017.3177C10.8986%2017.2352%2010.9677%2017.1661%2011.0253%2017.1056L15.7095%2012.4214L15.7095%2012.4213C15.963%2012.1679%2016.0897%2012.0412%2016.1482%2011.8998C16.2263%2011.7114%2016.2263%2011.4996%2016.1482%2011.3111C16.0897%2011.1697%2015.963%2011.043%2015.7095%2010.7896C15.4561%2010.5361%2015.3294%2010.4094%2015.188%2010.3509C14.9995%2010.2728%2014.7878%2010.2728%2014.5993%2010.3509C14.4579%2010.4094%2014.3312%2010.5361%2014.0778%2010.7896L14.0777%2010.7896L11.1538%2013.7135V4.67142C11.1538%204.31301%2011.1538%204.1338%2011.0953%203.99244C11.0172%203.80395%2010.8674%203.6542%2010.6789%203.57613C10.5376%203.51758%2010.3584%203.51758%209.99996%203.51758C9.64154%203.51758%209.46233%203.51758%209.32097%203.57613C9.13249%203.6542%208.98274%203.80395%208.90467%203.99244Z%22%20fill%3D%22%23FE4B4B%22%2F%3E%0A%3C%2Fsvg%3E%0A`,"right-gold":`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M3.32508%2011.7609C3.46644%2011.8194%203.64565%2011.8194%204.00407%2011.8194H13.049L10.1235%2014.745C9.87002%2014.9984%209.7433%2015.1251%209.68475%2015.2665C9.60668%2015.455%209.60668%2015.6668%209.68475%2015.8552C9.7433%2015.9966%209.87002%2016.1233%2010.1235%2016.3768C10.3769%2016.6302%2010.5036%2016.7569%2010.645%2016.8155C10.8335%2016.8935%2011.0452%2016.8935%2011.2337%2016.8155C11.3751%2016.7569%2011.5018%2016.6302%2011.7552%2016.3768L16.5105%2011.6215C16.5524%2011.5803%2016.5983%2011.5344%2016.6493%2011.4834L16.6495%2011.4831C16.8561%2011.2765%2016.9785%2011.1542%2017.0484%2011.0394C17.0648%2011.0128%2017.0782%2010.9866%2017.0893%2010.9599C17.1674%2010.7714%2017.1674%2010.5596%2017.0893%2010.3711C17.0308%2010.2298%2016.904%2010.1031%2016.6506%209.84962C16.5685%209.76752%2016.4997%209.69872%2016.4394%209.64123L11.7542%204.95601C11.5007%204.70257%2011.374%204.57585%2011.2327%204.5173C11.0442%204.43923%2010.8324%204.43923%2010.6439%204.5173C10.5026%204.57585%2010.3758%204.70257%2010.1224%204.95601L10.1224%204.95601C9.86895%205.20945%209.74223%205.33617%209.68368%205.47753C9.60561%205.66601%209.60561%205.87779%209.68368%206.06627C9.74223%206.20764%209.86895%206.33436%2010.1224%206.5878L13.0463%209.51175H4.00407C3.64565%209.51175%203.46644%209.51175%203.32508%209.5703C3.1366%209.64837%202.98685%209.79812%202.90877%209.98661C2.85022%2010.128%202.85022%2010.3072%202.85022%2010.6656C2.85022%2011.024%202.85022%2011.2032%202.90877%2011.3446C2.98685%2011.5331%203.1366%2011.6828%203.32508%2011.7609Z%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3C%2Fsvg%3E%0A`,"up-green":`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M11.0936%2017.3406C11.1522%2017.1992%2011.1522%2017.02%2011.1522%2016.6616V7.61701L14.0776%2010.5424C14.3311%2010.7959%2014.4578%2010.9226%2014.5991%2010.9811C14.7876%2011.0592%2014.9994%2011.0592%2015.1879%2010.9811C15.3292%2010.9226%2015.456%2010.7959%2015.7094%2010.5424C15.9628%2010.289%2016.0896%2010.1623%2016.1481%2010.0209C16.2262%209.83243%2016.2262%209.62066%2016.1481%209.43217C16.0896%209.29081%2015.9628%209.16409%2015.7094%208.91065L10.9645%204.16576C10.9207%204.12105%2010.8714%204.07178%2010.8161%204.01648L10.8159%204.0163C10.5916%203.792%2010.4666%203.66696%2010.3428%203.60058C10.3261%203.59154%2010.3094%203.58358%2010.2925%203.57658C10.104%203.49851%209.89226%203.49851%209.70378%203.57658C9.56242%203.63514%209.4357%203.76186%209.18226%204.0153C9.09955%204.09801%209.03034%204.16722%208.97258%204.22785L4.28878%208.91166C4.03534%209.1651%203.90862%209.29182%203.85006%209.43318C3.77199%209.62166%203.77199%209.83344%203.85006%2010.0219C3.90862%2010.1633%204.03534%2010.29%204.28878%2010.5434C4.54221%2010.7969%204.66893%2010.9236%204.8103%2010.9822C4.99878%2011.0602%205.21056%2011.0602%205.39904%2010.9822C5.5404%2010.9236%205.66712%2010.7969%205.92056%2010.5434L5.92056%2010.5434L8.84449%207.61951V16.6616C8.84449%2017.02%208.84449%2017.1992%208.90305%2017.3406C8.98112%2017.5291%209.13087%2017.6788%209.31935%2017.7569C9.46072%2017.8154%209.63992%2017.8154%209.99834%2017.8154C10.3568%2017.8154%2010.536%2017.8154%2010.6773%2017.7569C10.8658%2017.6788%2011.0156%2017.5291%2011.0936%2017.3406Z%22%20fill%3D%22%2359D01E%22%2F%3E%0A%3C%2Fsvg%3E%0A`,"rightAndDown-gold":`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M4.5062%206.72126C4.56476%206.86262%204.69148%206.98934%204.94492%207.24278L11.3404%2013.6382L7.20313%2013.6382C6.84471%2013.6382%206.66551%2013.6382%206.52414%2013.6968C6.33566%2013.7749%206.18591%2013.9246%206.10784%2014.1131C6.04928%2014.2545%206.04928%2014.4337%206.04928%2014.7921C6.04928%2015.1505%206.04928%2015.3297%206.10784%2015.4711C6.18591%2015.6596%206.33566%2015.8093%206.52414%2015.8874C6.66551%2015.9459%206.84471%2015.9459%207.20313%2015.9459L13.9194%2015.9459C13.9805%2015.9465%2014.0484%2015.9465%2014.1243%2015.9465H14.1243C14.4353%2015.9465%2014.6114%2015.9465%2014.7449%2015.9082C14.7659%2015.9023%2014.7859%2015.8954%2014.8052%2015.8874C14.9937%2015.8093%2015.1434%2015.6596%2015.2215%2015.4711C15.2801%2015.3297%2015.2801%2015.1505%2015.2801%2014.7921C15.2801%2014.6767%2015.2801%2014.5799%2015.2781%2014.497L15.2781%207.86957C15.2781%207.51115%2015.2781%207.33194%2015.2195%207.19058C15.1415%207.0021%2014.9917%206.85235%2014.8032%206.77428C14.6619%206.71572%2014.4827%206.71572%2014.1243%206.71572C13.7658%206.71572%2013.5866%206.71572%2013.4453%206.77428C13.2568%206.85235%2013.107%207.0021%2013.029%207.19058C12.9704%207.33194%2012.9704%207.51115%2012.9704%207.86957L12.9704%2012.0047L6.5767%205.61099C6.32326%205.35755%206.19654%205.23083%206.05518%205.17228C5.8667%205.09421%205.65492%205.09421%205.46644%205.17228C5.32508%205.23083%205.19836%205.35755%204.94492%205.61099C4.69148%205.86443%204.56476%205.99115%204.5062%206.13251C4.42813%206.32099%204.42813%206.53277%204.5062%206.72126Z%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3C%2Fsvg%3E%0A`,"rightAndUp-gold":`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M6.05431%2016.1597C6.19567%2016.1012%206.32239%2015.9745%206.57583%2015.721L12.9712%209.32568L12.9712%2013.4626C12.9712%2013.821%2012.9712%2014.0002%2013.0297%2014.1416C13.1078%2014.3301%2013.2576%2014.4798%2013.446%2014.5579C13.5874%2014.6164%2013.7666%2014.6164%2014.125%2014.6164C14.4834%2014.6164%2014.6626%2014.6164%2014.804%2014.5579C14.9925%2014.4798%2015.1422%2014.3301%2015.2203%2014.1416C15.2789%2014.0002%2015.2789%2013.821%2015.2789%2013.4626L15.2789%206.75233C15.2795%206.68972%2015.2795%206.62004%2015.2795%206.54182L15.2795%206.54157C15.2795%206.22585%2015.2795%206.04918%2015.2395%205.91495C15.2339%205.89605%2015.2276%205.878%2015.2203%205.86053C15.1422%205.67204%2014.9925%205.52229%2014.804%205.44422C14.6626%205.38567%2014.4834%205.38567%2014.125%205.38567L14.125%205.38567C14.0075%205.38567%2013.9093%205.38567%2013.8254%205.38773L7.20256%205.38773C6.84414%205.38773%206.66493%205.38773%206.52357%205.44628C6.33509%205.52436%206.18534%205.6741%206.10727%205.86259C6.04871%206.00395%206.04871%206.18315%206.04871%206.54156V6.54157L6.04871%206.54159C6.04871%206.9%206.04871%207.0792%206.10727%207.22056C6.18534%207.40905%206.33509%207.55879%206.52357%207.63687C6.66493%207.69542%206.84414%207.69542%207.20256%207.69542H11.3379L4.94405%2014.0892C4.69061%2014.3427%204.56389%2014.4694%204.50533%2014.6108C4.42726%2014.7992%204.42726%2015.011%204.50533%2015.1995C4.56389%2015.3409%204.69061%2015.4676%204.94405%2015.721C5.19749%2015.9745%205.32421%2016.1012%205.46557%2016.1597C5.65405%2016.2378%205.86583%2016.2378%206.05431%2016.1597Z%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3C%2Fsvg%3E%0A`,"down-gray":`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M8.90467%203.99244C8.84611%204.1338%208.84611%204.31301%208.84611%204.67143V13.716L5.92068%2010.7906C5.66724%2010.5371%205.54052%2010.4104%205.39916%2010.3519C5.21067%2010.2738%204.9989%2010.2738%204.81041%2010.3519C4.66905%2010.4104%204.54233%2010.5371%204.28889%2010.7906C4.03545%2011.044%203.90873%2011.1707%203.85018%2011.3121C3.77211%2011.5006%203.77211%2011.7124%203.85018%2011.9008C3.90873%2012.0422%204.03545%2012.1689%204.28889%2012.4224L9.03476%2017.1682C9.07839%2017.2127%209.12737%2017.2617%209.18231%2017.3166L9.18239%2017.3167L9.18241%2017.3167C9.40545%2017.5398%209.53035%2017.6647%209.65346%2017.7313C9.67085%2017.7408%209.6882%2017.7492%209.70577%2017.7564C9.89425%2017.8345%2010.106%2017.8345%2010.2945%2017.7564C10.4359%2017.6979%2010.5626%2017.5712%2010.816%2017.3177C10.8986%2017.2352%2010.9677%2017.1661%2011.0253%2017.1056L15.7095%2012.4214L15.7095%2012.4213C15.963%2012.1679%2016.0897%2012.0412%2016.1482%2011.8998C16.2263%2011.7114%2016.2263%2011.4996%2016.1482%2011.3111C16.0897%2011.1697%2015.963%2011.043%2015.7095%2010.7896C15.4561%2010.5361%2015.3294%2010.4094%2015.188%2010.3509C14.9995%2010.2728%2014.7878%2010.2728%2014.5993%2010.3509C14.4579%2010.4094%2014.3312%2010.5361%2014.0778%2010.7896L14.0777%2010.7896L11.1538%2013.7135V4.67142C11.1538%204.31301%2011.1538%204.1338%2011.0953%203.99244C11.0172%203.80395%2010.8674%203.6542%2010.6789%203.57613C10.5376%203.51758%2010.3584%203.51758%209.99996%203.51758C9.64154%203.51758%209.46233%203.51758%209.32097%203.57613C9.13249%203.6542%208.98274%203.80395%208.90467%203.99244Z%22%20fill%3D%22%23999999%22%2F%3E%0A%3C%2Fsvg%3E%0A`,"right-gray":`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M3.32508%2011.7609C3.46644%2011.8194%203.64565%2011.8194%204.00407%2011.8194H13.049L10.1235%2014.745C9.87002%2014.9984%209.7433%2015.1251%209.68475%2015.2665C9.60668%2015.455%209.60668%2015.6668%209.68475%2015.8552C9.7433%2015.9966%209.87002%2016.1233%2010.1235%2016.3768C10.3769%2016.6302%2010.5036%2016.7569%2010.645%2016.8155C10.8335%2016.8935%2011.0452%2016.8935%2011.2337%2016.8155C11.3751%2016.7569%2011.5018%2016.6302%2011.7552%2016.3768L16.5105%2011.6215C16.5524%2011.5803%2016.5983%2011.5344%2016.6493%2011.4834L16.6495%2011.4831C16.8561%2011.2765%2016.9785%2011.1542%2017.0484%2011.0394C17.0648%2011.0128%2017.0782%2010.9866%2017.0893%2010.9599C17.1674%2010.7714%2017.1674%2010.5596%2017.0893%2010.3711C17.0308%2010.2298%2016.904%2010.1031%2016.6506%209.84962C16.5685%209.76752%2016.4997%209.69872%2016.4394%209.64123L11.7542%204.95601C11.5007%204.70257%2011.374%204.57585%2011.2327%204.5173C11.0442%204.43923%2010.8324%204.43923%2010.6439%204.5173C10.5026%204.57585%2010.3758%204.70257%2010.1224%204.95601L10.1224%204.95601C9.86895%205.20945%209.74223%205.33617%209.68368%205.47753C9.60561%205.66601%209.60561%205.87779%209.68368%206.06627C9.74223%206.20764%209.86895%206.33436%2010.1224%206.5878L13.0463%209.51175H4.00407C3.64565%209.51175%203.46644%209.51175%203.32508%209.5703C3.1366%209.64837%202.98685%209.79812%202.90877%209.98661C2.85022%2010.128%202.85022%2010.3072%202.85022%2010.6656C2.85022%2011.024%202.85022%2011.2032%202.90877%2011.3446C2.98685%2011.5331%203.1366%2011.6828%203.32508%2011.7609Z%22%20fill%3D%22%23999999%22%2F%3E%0A%3C%2Fsvg%3E%0A`,"up-gray":`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M11.0936%2017.3406C11.1522%2017.1992%2011.1522%2017.02%2011.1522%2016.6616V7.61701L14.0776%2010.5424C14.3311%2010.7959%2014.4578%2010.9226%2014.5991%2010.9811C14.7876%2011.0592%2014.9994%2011.0592%2015.1879%2010.9811C15.3292%2010.9226%2015.456%2010.7959%2015.7094%2010.5424C15.9628%2010.289%2016.0896%2010.1623%2016.1481%2010.0209C16.2262%209.83243%2016.2262%209.62066%2016.1481%209.43217C16.0896%209.29081%2015.9628%209.16409%2015.7094%208.91065L10.9645%204.16576C10.9207%204.12105%2010.8714%204.07178%2010.8161%204.01648L10.8159%204.0163C10.5916%203.792%2010.4666%203.66696%2010.3428%203.60058C10.3261%203.59154%2010.3094%203.58358%2010.2925%203.57658C10.104%203.49851%209.89226%203.49851%209.70378%203.57658C9.56242%203.63514%209.4357%203.76186%209.18226%204.0153C9.09955%204.09801%209.03034%204.16722%208.97258%204.22785L4.28878%208.91166C4.03534%209.1651%203.90862%209.29182%203.85006%209.43318C3.77199%209.62166%203.77199%209.83344%203.85006%2010.0219C3.90862%2010.1633%204.03534%2010.29%204.28878%2010.5434C4.54221%2010.7969%204.66893%2010.9236%204.8103%2010.9822C4.99878%2011.0602%205.21056%2011.0602%205.39904%2010.9822C5.5404%2010.9236%205.66712%2010.7969%205.92056%2010.5434L5.92056%2010.5434L8.84449%207.61951V16.6616C8.84449%2017.02%208.84449%2017.1992%208.90305%2017.3406C8.98112%2017.5291%209.13087%2017.6788%209.31935%2017.7569C9.46072%2017.8154%209.63992%2017.8154%209.99834%2017.8154C10.3568%2017.8154%2010.536%2017.8154%2010.6773%2017.7569C10.8658%2017.6788%2011.0156%2017.5291%2011.0936%2017.3406Z%22%20fill%3D%22%23999999%22%2F%3E%0A%3C%2Fsvg%3E%0A`,"rightAndDown-gray":`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M4.5062%206.72126C4.56476%206.86262%204.69148%206.98934%204.94492%207.24278L11.3404%2013.6382L7.20313%2013.6382C6.84471%2013.6382%206.66551%2013.6382%206.52414%2013.6968C6.33566%2013.7749%206.18591%2013.9246%206.10784%2014.1131C6.04928%2014.2545%206.04928%2014.4337%206.04928%2014.7921C6.04928%2015.1505%206.04928%2015.3297%206.10784%2015.4711C6.18591%2015.6596%206.33566%2015.8093%206.52414%2015.8874C6.66551%2015.9459%206.84471%2015.9459%207.20313%2015.9459L13.9194%2015.9459C13.9805%2015.9465%2014.0484%2015.9465%2014.1243%2015.9465H14.1243C14.4353%2015.9465%2014.6114%2015.9465%2014.7449%2015.9082C14.7659%2015.9023%2014.7859%2015.8954%2014.8052%2015.8874C14.9937%2015.8093%2015.1434%2015.6596%2015.2215%2015.4711C15.2801%2015.3297%2015.2801%2015.1505%2015.2801%2014.7921C15.2801%2014.6767%2015.2801%2014.5799%2015.2781%2014.497L15.2781%207.86957C15.2781%207.51115%2015.2781%207.33194%2015.2195%207.19058C15.1415%207.0021%2014.9917%206.85235%2014.8032%206.77428C14.6619%206.71572%2014.4827%206.71572%2014.1243%206.71572C13.7658%206.71572%2013.5866%206.71572%2013.4453%206.77428C13.2568%206.85235%2013.107%207.0021%2013.029%207.19058C12.9704%207.33194%2012.9704%207.51115%2012.9704%207.86957L12.9704%2012.0047L6.5767%205.61099C6.32326%205.35755%206.19654%205.23083%206.05518%205.17228C5.8667%205.09421%205.65492%205.09421%205.46644%205.17228C5.32508%205.23083%205.19836%205.35755%204.94492%205.61099C4.69148%205.86443%204.56476%205.99115%204.5062%206.13251C4.42813%206.32099%204.42813%206.53277%204.5062%206.72126Z%22%20fill%3D%22%23999999%22%2F%3E%0A%3C%2Fsvg%3E%0A`,"rightAndUp-gray":`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M6.05431%2016.1597C6.19567%2016.1012%206.32239%2015.9745%206.57583%2015.721L12.9712%209.32568L12.9712%2013.4626C12.9712%2013.821%2012.9712%2014.0002%2013.0297%2014.1416C13.1078%2014.3301%2013.2576%2014.4798%2013.446%2014.5579C13.5874%2014.6164%2013.7666%2014.6164%2014.125%2014.6164C14.4834%2014.6164%2014.6626%2014.6164%2014.804%2014.5579C14.9925%2014.4798%2015.1422%2014.3301%2015.2203%2014.1416C15.2789%2014.0002%2015.2789%2013.821%2015.2789%2013.4626L15.2789%206.75233C15.2795%206.68972%2015.2795%206.62004%2015.2795%206.54182L15.2795%206.54157C15.2795%206.22585%2015.2795%206.04918%2015.2395%205.91495C15.2339%205.89605%2015.2276%205.878%2015.2203%205.86053C15.1422%205.67204%2014.9925%205.52229%2014.804%205.44422C14.6626%205.38567%2014.4834%205.38567%2014.125%205.38567L14.125%205.38567C14.0075%205.38567%2013.9093%205.38567%2013.8254%205.38773L7.20256%205.38773C6.84414%205.38773%206.66493%205.38773%206.52357%205.44628C6.33509%205.52436%206.18534%205.6741%206.10727%205.86259C6.04871%206.00395%206.04871%206.18315%206.04871%206.54156V6.54157L6.04871%206.54159C6.04871%206.9%206.04871%207.0792%206.10727%207.22056C6.18534%207.40905%206.33509%207.55879%206.52357%207.63687C6.66493%207.69542%206.84414%207.69542%207.20256%207.69542H11.3379L4.94405%2014.0892C4.69061%2014.3427%204.56389%2014.4694%204.50533%2014.6108C4.42726%2014.7992%204.42726%2015.011%204.50533%2015.1995C4.56389%2015.3409%204.69061%2015.4676%204.94405%2015.721C5.19749%2015.9745%205.32421%2016.1012%205.46557%2016.1597C5.65405%2016.2378%205.86583%2016.2378%206.05431%2016.1597Z%22%20fill%3D%22%23999999%22%2F%3E%0A%3C%2Fsvg%3E%0A`},shape:{cross:`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%223%22%20y%3D%227%22%20width%3D%2210%22%20height%3D%222%22%20rx%3D%220.75%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3C%2Fsvg%3E%0A`,up:`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M7.48861%204.23829C7.75558%203.87976%208.29238%203.87976%208.55935%204.23829L12.9614%2010.1507C13.2907%2010.5929%2012.975%2011.2223%2012.4236%2011.2223H3.62432C3.07292%2011.2223%202.75722%2010.5929%203.08649%2010.1507L7.48861%204.23829Z%22%20fill%3D%22%2359D01E%22%2F%3E%0A%3C%2Fsvg%3E%0A`,down:`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M8.55935%2011.7617C8.29238%2012.1202%207.75558%2012.1202%207.48861%2011.7617L3.08649%205.84931C2.75722%205.40708%203.07292%204.77771%203.62432%204.77771H12.4236C12.975%204.77771%2013.2907%205.40708%2012.9614%205.84931L8.55935%2011.7617Z%22%20fill%3D%22%23FE4B4B%22%2F%3E%0A%3C%2Fsvg%3E%0A`,"rhomboid-red":`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M7.57574%201.92426C7.81005%201.68995%208.18995%201.68995%208.42426%201.92426L14.0757%207.57574C14.3101%207.81005%2014.3101%208.18995%2014.0757%208.42426L8.42426%2014.0757C8.18995%2014.3101%207.81005%2014.3101%207.57574%2014.0757L1.92426%208.42426C1.68995%208.18995%201.68995%207.81005%201.92426%207.57574L7.57574%201.92426Z%22%20fill%3D%22%23FE4B4B%22%2F%3E%0A%3C%2Fsvg%3E%0A`,"rhomboid-gold":`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M7.57574%201.92426C7.81005%201.68995%208.18995%201.68995%208.42426%201.92426L14.0757%207.57574C14.3101%207.81005%2014.3101%208.18995%2014.0757%208.42426L8.42426%2014.0757C8.18995%2014.3101%207.81005%2014.3101%207.57574%2014.0757L1.92426%208.42426C1.68995%208.18995%201.68995%207.81005%201.92426%207.57574L7.57574%201.92426Z%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3C%2Fsvg%3E%0A`,"roundness-greed":`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%228%22%20cy%3D%228%22%20r%3D%226.5%22%20fill%3D%22%2359D01E%22%2F%3E%0A%3C%2Fsvg%3E%0A`,"roundness-gold":`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%228%22%20cy%3D%228%22%20r%3D%226.5%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3C%2Fsvg%3E%0A`,"roundness-red":`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%228%22%20cy%3D%228%22%20r%3D%226.5%22%20fill%3D%22%23FE4B4B%22%2F%3E%0A%3C%2Fsvg%3E%0A`,"roundness-pink":`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%228%22%20cy%3D%228%22%20r%3D%226.5%22%20fill%3D%22%23FB9D9D%22%2F%3E%0A%3C%2Fsvg%3E%0A`,"roundness-gray":`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%228%22%20cy%3D%228%22%20r%3D%226.5%22%20fill%3D%22%23999999%22%2F%3E%0A%3C%2Fsvg%3E%0A`,"roundness-black":`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%228%22%20cy%3D%228%22%20r%3D%226.5%22%20fill%3D%22black%22%2F%3E%0A%3C%2Fsvg%3E%0A`,"triangle-gold":`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M7.35127%202.31778C7.61335%201.86074%208.27331%201.86074%208.53539%202.31778L14.0808%2011.9898C14.3423%2012.4459%2014.0131%2013.0147%2013.4877%2013.0147H2.399C1.87354%2013.0147%201.54441%2012.4459%201.80595%2011.9898L7.35127%202.31778Z%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3C%2Fsvg%3E%0A`,"indicate-greed":`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%222%22%20y%3D%222%22%20width%3D%2212%22%20height%3D%2212%22%20rx%3D%222.4%22%20fill%3D%22black%22%2F%3E%0A%3Ccircle%20cx%3D%228%22%20cy%3D%228%22%20r%3D%223.75%22%20fill%3D%22%2359D01E%22%2F%3E%0A%3C%2Fsvg%3E%0A`,"indicate-gold":`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%222%22%20y%3D%222%22%20width%3D%2212%22%20height%3D%2212%22%20rx%3D%222.4%22%20fill%3D%22black%22%2F%3E%0A%3Ccircle%20cx%3D%228%22%20cy%3D%228%22%20r%3D%223.75%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3C%2Fsvg%3E%0A`,"indicate-red":`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%222%22%20y%3D%222%22%20width%3D%2212%22%20height%3D%2212%22%20rx%3D%222.4%22%20fill%3D%22black%22%2F%3E%0A%3Ccircle%20cx%3D%228%22%20cy%3D%228%22%20r%3D%223.75%22%20fill%3D%22%23FE4B4B%22%2F%3E%0A%3C%2Fsvg%3E%0A`},feedback2:{mistake2:`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M3.71274%202.86421C3.47843%202.6299%203.09853%202.6299%202.86421%202.86421C2.6299%203.09853%202.6299%203.47843%202.86421%203.71274L7.15154%208.00007L2.86421%2012.2874C2.6299%2012.5217%202.6299%2012.9016%202.86421%2013.1359C3.09853%2013.3702%203.47843%2013.3702%203.71274%2013.1359L8.00007%208.84859L12.2874%2013.1359C12.5217%2013.3702%2012.9016%2013.3702%2013.1359%2013.1359C13.3702%2012.9016%2013.3702%2012.5217%2013.1359%2012.2874L8.84859%208.00007L13.1359%203.71274C13.3702%203.47843%2013.3702%203.09853%2013.1359%202.86421C12.9016%202.6299%2012.5217%202.6299%2012.2874%202.86421L8.00007%207.15154L3.71274%202.86421Z%22%20fill%3D%22%23FE4B4B%22%2F%3E%0A%3C%2Fsvg%3E%0A`,warn2:`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M7.25%202.5C7.25%202.08579%207.58579%201.75%208%201.75C8.41421%201.75%208.75%202.08579%208.75%202.5V10C8.75%2010.4142%208.41421%2010.75%208%2010.75C7.58579%2010.75%207.25%2010.4142%207.25%2010V2.5Z%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3Ccircle%20cx%3D%228%22%20cy%3D%2213.25%22%20r%3D%221%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3C%2Fsvg%3E%0A`,correct2:`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M14.1544%203.75557C14.3887%203.98988%2014.3887%204.36978%2014.1544%204.6041L6.51409%2012.2444C6.40157%2012.3569%206.24896%2012.4201%206.08983%2012.4201C5.9307%2012.4201%205.77808%2012.3569%205.66556%2012.2444L1.84541%208.42425C1.6111%208.18993%201.6111%207.81003%201.84541%207.57572C2.07973%207.34141%202.45963%207.34141%202.69394%207.57572L6.08983%2010.9716L13.3059%203.75557C13.5402%203.52126%2013.9201%203.52126%2014.1544%203.75557Z%22%20fill%3D%22%2359D01E%22%2F%3E%0A%3C%2Fsvg%3E%0A`},flag:{"flag-green":`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M3.25%202.5C3.25%202.08579%203.58579%201.75%204%201.75C4.41421%201.75%204.75%202.08579%204.75%202.5V13.5C4.75%2013.9142%204.41421%2014.25%204%2014.25C3.58579%2014.25%203.25%2013.9142%203.25%2013.5V2.5Z%22%20fill%3D%22%2359D01E%22%2F%3E%0A%3Cpath%20d%3D%22M4.75%203.088C6.02367%202.7469%207.00972%202.7044%207.8443%202.81465C8.70544%202.92841%209.37774%203.19906%2010.0279%203.46147L10.0668%203.47718C11.004%203.85549%2011.9397%204.21307%2013.4603%203.8373C13.8931%203.73034%2014.3125%204.05801%2014.3125%204.50387V10.1091C14.3125%2010.4232%2014.0992%2010.697%2013.7946%2010.774C11.8986%2011.2535%2010.6411%2010.7813%209.51441%2010.3265L9.47546%2010.3108C8.82531%2010.0484%208.153%209.77774%207.29186%209.66398C6.62487%209.5759%205.84983%209.58567%204.75%209.84134V3.088Z%22%20fill%3D%22%2359D01E%22%2F%3E%0A%3C%2Fsvg%3E%0A`,"flag-gold":`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M3.25%202.5C3.25%202.08579%203.58579%201.75%204%201.75C4.41421%201.75%204.75%202.08579%204.75%202.5V13.5C4.75%2013.9142%204.41421%2014.25%204%2014.25C3.58579%2014.25%203.25%2013.9142%203.25%2013.5V2.5Z%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3Cpath%20d%3D%22M4.75%203.088C6.02367%202.7469%207.00972%202.7044%207.8443%202.81465C8.70544%202.92841%209.37774%203.19906%2010.0279%203.46147L10.0668%203.47718C11.004%203.85549%2011.9397%204.21307%2013.4603%203.8373C13.8931%203.73034%2014.3125%204.05801%2014.3125%204.50387V10.1091C14.3125%2010.4232%2014.0992%2010.697%2013.7946%2010.774C11.8986%2011.2535%2010.6411%2010.7813%209.51441%2010.3265L9.47546%2010.3108C8.82531%2010.0484%208.153%209.77774%207.29186%209.66398C6.62487%209.5759%205.84983%209.58567%204.75%209.84134V3.088Z%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3C%2Fsvg%3E%0A`,"flag-red":`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M3.25%202.5C3.25%202.08579%203.58579%201.75%204%201.75C4.41421%201.75%204.75%202.08579%204.75%202.5V13.5C4.75%2013.9142%204.41421%2014.25%204%2014.25C3.58579%2014.25%203.25%2013.9142%203.25%2013.5V2.5Z%22%20fill%3D%22%23FE4B4B%22%2F%3E%0A%3Cpath%20d%3D%22M4.75%203.088C6.02367%202.7469%207.00972%202.7044%207.8443%202.81465C8.70544%202.92841%209.37774%203.19906%2010.0279%203.46147L10.0668%203.47718C11.004%203.85549%2011.9397%204.21307%2013.4603%203.8373C13.8931%203.73034%2014.3125%204.05801%2014.3125%204.50387V10.1091C14.3125%2010.4232%2014.0992%2010.697%2013.7946%2010.774C11.8986%2011.2535%2010.6411%2010.7813%209.51441%2010.3265L9.47546%2010.3108C8.82531%2010.0484%208.153%209.77774%207.29186%209.66398C6.62487%209.5759%205.84983%209.58567%204.75%209.84134V3.088Z%22%20fill%3D%22%23FE4B4B%22%2F%3E%0A%3C%2Fsvg%3E%0A`},cell:{"cell-0":`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%223%22%20y%3D%229%22%20width%3D%224%22%20height%3D%224%22%20rx%3D%220.8%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%229%22%20y%3D%229%22%20width%3D%224%22%20height%3D%224%22%20rx%3D%220.8%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%223%22%20y%3D%223%22%20width%3D%224%22%20height%3D%224%22%20rx%3D%220.8%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%229%22%20y%3D%223%22%20width%3D%224%22%20height%3D%224%22%20rx%3D%220.8%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3C%2Fsvg%3E%0A`,"cell-25":`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%223%22%20y%3D%229%22%20width%3D%224%22%20height%3D%224%22%20rx%3D%220.8%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%229%22%20y%3D%229%22%20width%3D%224%22%20height%3D%224%22%20rx%3D%220.8%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%223.4%22%20y%3D%223.4%22%20width%3D%223.2%22%20height%3D%223.2%22%20rx%3D%220.55%22%20fill%3D%22%230493EE%22%20stroke%3D%22%230493EE%22%20stroke-width%3D%220.8%22%2F%3E%0A%3Crect%20x%3D%229%22%20y%3D%223%22%20width%3D%224%22%20height%3D%224%22%20rx%3D%220.8%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3C%2Fsvg%3E%0A`,"cell-50":`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%223%22%20y%3D%229%22%20width%3D%224%22%20height%3D%224%22%20rx%3D%220.8%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%229%22%20y%3D%229%22%20width%3D%224%22%20height%3D%224%22%20rx%3D%220.8%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%223.4%22%20y%3D%223.4%22%20width%3D%223.2%22%20height%3D%223.2%22%20rx%3D%220.55%22%20fill%3D%22%230493EE%22%20stroke%3D%22%230493EE%22%20stroke-width%3D%220.8%22%2F%3E%0A%3Crect%20x%3D%229.4%22%20y%3D%223.4%22%20width%3D%223.2%22%20height%3D%223.2%22%20rx%3D%220.55%22%20fill%3D%22%230493EE%22%20stroke%3D%22%230493EE%22%20stroke-width%3D%220.8%22%2F%3E%0A%3C%2Fsvg%3E%0A`,"cell-75":`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%223.4%22%20y%3D%229.4%22%20width%3D%223.2%22%20height%3D%223.2%22%20rx%3D%220.55%22%20fill%3D%22%230493EE%22%20stroke%3D%22%230493EE%22%20stroke-width%3D%220.8%22%2F%3E%0A%3Crect%20x%3D%229%22%20y%3D%229%22%20width%3D%224%22%20height%3D%224%22%20rx%3D%220.8%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%223.4%22%20y%3D%223.4%22%20width%3D%223.2%22%20height%3D%223.2%22%20rx%3D%220.55%22%20fill%3D%22%230493EE%22%20stroke%3D%22%230493EE%22%20stroke-width%3D%220.8%22%2F%3E%0A%3Crect%20x%3D%229.4%22%20y%3D%223.4%22%20width%3D%223.2%22%20height%3D%223.2%22%20rx%3D%220.55%22%20fill%3D%22%230493EE%22%20stroke%3D%22%230493EE%22%20stroke-width%3D%220.8%22%2F%3E%0A%3C%2Fsvg%3E%0A`,"cell-100":`data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%223.4%22%20y%3D%229.4%22%20width%3D%223.2%22%20height%3D%223.2%22%20rx%3D%220.55%22%20fill%3D%22%230493EE%22%20stroke%3D%22%230493EE%22%20stroke-width%3D%220.8%22%2F%3E%0A%3Crect%20x%3D%229.4%22%20y%3D%229.4%22%20width%3D%223.2%22%20height%3D%223.2%22%20rx%3D%220.55%22%20fill%3D%22%230493EE%22%20stroke%3D%22%230493EE%22%20stroke-width%3D%220.8%22%2F%3E%0A%3Crect%20x%3D%223.4%22%20y%3D%223.4%22%20width%3D%223.2%22%20height%3D%223.2%22%20rx%3D%220.55%22%20fill%3D%22%230493EE%22%20stroke%3D%22%230493EE%22%20stroke-width%3D%220.8%22%2F%3E%0A%3Crect%20x%3D%229.4%22%20y%3D%223.4%22%20width%3D%223.2%22%20height%3D%223.2%22%20rx%3D%220.55%22%20fill%3D%22%230493EE%22%20stroke%3D%22%230493EE%22%20stroke-width%3D%220.8%22%2F%3E%0A%3C%2Fsvg%3E%0A`}},we=function(e){return e.threeArrows=`3Arrows`,e.threeArrowsGray=`3ArrowsGray`,e.fourArrows=`4Arrows`,e.fourArrowsGray=`4ArrowsGray`,e.fiveArrows=`5Arrows`,e.fiveArrowsGray=`5ArrowsGray`,e.threeTriangles=`3Triangles`,e.threeTrafficLights1=`3TrafficLights1`,e.threeSigns=`3Signs`,e.threeTrafficLights2=`3TrafficLights2`,e.fourRedToBlack=`4RedToBlack`,e.fourTrafficLights=`4TrafficLights`,e.threeSymbols=`3Symbols`,e.threeSymbols2=`3Symbols2`,e.threeFlags=`3Flags`,e.fourRating=`4Rating`,e.fiveRating=`5Rating`,e.fiveQuarters=`5Quarters`,e.fiveFelling=`_5Felling`,e.fiveBoxes=`5Boxes`,e.threeStars=`3Stars`,e.empty=`EMPTY_ICON_TYPE`,e}({}),Te=[{title:`sheet.cf.iconSet.direction`,group:[{name:`3Arrows`,list:[X.arrow[`up-green`],X.arrow[`right-gold`],X.arrow[`down-red`]]},{name:`3ArrowsGray`,list:[X.arrow[`up-gray`],X.arrow[`right-gray`],X.arrow[`down-gray`]]},{name:`4Arrows`,list:[X.arrow[`up-green`],X.arrow[`rightAndUp-gold`],X.arrow[`rightAndDown-gold`],X.arrow[`down-red`]]},{name:`4ArrowsGray`,list:[X.arrow[`up-gray`],X.arrow[`rightAndUp-gray`],X.arrow[`rightAndDown-gray`],X.arrow[`down-gray`]]},{name:`5Arrows`,list:[X.arrow[`up-green`],X.arrow[`rightAndUp-gold`],X.arrow[`right-gold`],X.arrow[`rightAndDown-gold`],X.arrow[`down-red`]]},{name:`5ArrowsGray`,list:[X.arrow[`up-gray`],X.arrow[`rightAndUp-gray`],X.arrow[`right-gray`],X.arrow[`rightAndDown-gray`],X.arrow[`down-gray`]]},{name:`3Triangles`,list:[X.shape.up,X.shape.cross,X.shape.down]}]},{title:`sheet.cf.iconSet.shape`,group:[{name:`3TrafficLights1`,list:[X.shape[`roundness-greed`],X.shape[`roundness-gold`],X.shape[`roundness-red`]]},{name:`3Signs`,list:[X.shape[`roundness-greed`],X.shape[`triangle-gold`],X.shape[`rhomboid-red`]]},{name:`3TrafficLights2`,list:[X.shape[`indicate-greed`],X.shape[`indicate-gold`],X.shape[`indicate-red`]]},{name:`4RedToBlack`,list:[X.shape[`roundness-red`],X.shape[`roundness-pink`],X.shape[`roundness-gray`],X.shape[`roundness-black`]]},{name:`4TrafficLights`,list:[X.shape[`roundness-greed`],X.shape[`roundness-gold`],X.shape[`roundness-red`],X.shape[`roundness-black`]]}]},{title:`sheet.cf.iconSet.mark`,group:[{name:`3Symbols`,list:[X.feedback.correct,X.feedback.warn,X.feedback.mistake]},{name:`3Symbols2`,list:[X.feedback2.correct2,X.feedback2.warn2,X.feedback2.mistake2]},{name:`3Flags`,list:[X.flag[`flag-green`],X.flag[`flag-gold`],X.flag[`flag-red`]]}]},{title:`sheet.cf.iconSet.rank`,group:[{name:`4Rating`,list:[X.signal.signal25,X.signal.signal50,X.signal.signal75,X.signal.signal100]},{name:`5Rating`,list:[X.signal.signal0,X.signal.signal25,X.signal.signal50,X.signal.signal75,X.signal.signal100]},{name:`5Quarters`,list:[X.progress.progress100,X.progress.progress75,X.progress.progress50,X.progress.progress25,X.progress.progress0]},{name:`_5Felling`,list:[X.feeling.guffaw,X.feeling.smile,X.feeling.noninductive,X.feeling.dissatisfied,X.feeling.impatient]},{name:`5Boxes`,list:[X.cell[`cell-100`],X.cell[`cell-75`],X.cell[`cell-50`],X.cell[`cell-25`],X.cell[`cell-0`]]},{name:`3Stars`,list:[X.star.starFull,X.star.starIncomplete,X.star.starEmpty]}]}],Z=Te.reduce((e,t)=>{let{group:n}=t;for(let t of n)e[t.name]=t.list;return e},{});for(let e in Z){let t=Z[e];Object.freeze(t)}var Ee=`@univerjs/sheets-conditional-formatting`,De=`0.23.0`;let Oe=`ssheets-conditional-formatting.config`;Symbol(Oe);let ke={},Q=class extends t.Disposable{get _conditionalFormattingViewModelV2(){return this._injector.get(H)}_mergeComposeResult(e,n,r){let i=n.rule.type;if(i===`highlightCell`){r&&(0,t.merge)(e,{style:r});return}if(i===`colorScale`){r&&typeof r==`string`&&(e.style={...e.style||{},bg:{rgb:r}});return}if(i===`dataBar`){let t=r;t&&(e.dataBar=t,e.isShowValue=t.isShowValue);return}if(i===`iconSet`){let t=r;t&&(e.iconSet=t,e.isShowValue=t.isShowValue)}}constructor(e,t,n,r,i,a){super(),this._conditionalFormattingRuleModel=e,this._injector=t,this._univerInstanceService=n,this._resourceManagerService=r,this._sheetInterceptorService=i,this._commandService=a,this._initCellChange(),this._initSnapshot(),this._initSheetChange()}composeStyle(e,t,n,r){let i=this._conditionalFormattingViewModelV2.getCellCfs(e,t,n,r);if(!(i!=null&&i.length))return null;let a=[],o=-1;for(let n of i){let r=this._conditionalFormattingRuleModel.getRule(e,t,n.cfId);r&&(a.push({rule:r,cacheItem:n}),o===-1&&r.stopIfTrue&&this._isRuleMatched(r,n.result)&&(o=a.length-1))}if(!a.length)return null;let s=o>-1?a.slice(0,o+1):a,c={};for(let e=s.length-1;e>=0;e--){let{rule:t,cacheItem:n}=s[e];this._mergeComposeResult(c,t,n.result)}return c}_isRuleMatched(e,t){return e.rule.type===`highlightCell`?!!t&&typeof t==`object`&&Object.keys(t).length>0:!!t}_initSnapshot(){let e=e=>{let t=this._conditionalFormattingRuleModel.getUnitRules(e),n={};return t?(t.forEach((e,t)=>{n[t]=e}),JSON.stringify(n)):``},n=e=>{if(!e)return{};try{return JSON.parse(e)}catch{return{}}};this.disposeWithMe(this._resourceManagerService.registerPluginResource({pluginName:s,businesses:[t.UniverInstanceType.UNIVER_SHEET],toJson:t=>e(t),parseJson:e=>n(e),onUnLoad:e=>{this._conditionalFormattingRuleModel.deleteUnitId(e),!(0,t.isInternalEditorID)(e)&&this._conditionalFormattingViewModelV2.clearCache()},onLoad:(e,t)=>{Object.keys(t).forEach(n=>{[...t[n]].reverse().forEach(t=>{this._conditionalFormattingRuleModel.addRule(e,n,t)})})}}))}_initSheetChange(){this.disposeWithMe(this._sheetInterceptorService.interceptCommand({getMutations:e=>{if(e.id===n.RemoveSheetCommand.id){let t=e.params,r=(0,n.getSheetCommandTarget)(this._univerInstanceService,t);if(!r)return{redos:[],undos:[]};let{unitId:i,subUnitId:a}=r,o=this._conditionalFormattingRuleModel.getSubunitRules(i,a);if(!o)return{redos:[],undos:[]};let s=[],c=[];return o.forEach(e=>{let t={unitId:i,subUnitId:a,cfId:e.cfId};s.push({id:k.id,params:t}),c.push(...O(this._injector,t))}),{redos:s,undos:c}}else if(e.id===n.CopySheetCommand.id){let t=e.params,r=(0,n.getSheetCommandTarget)(this._univerInstanceService,t);if(!r)return{redos:[],undos:[]};let{unitId:i,subUnitId:a}=r,{targetSubUnitId:o}=t,s=this._conditionalFormattingRuleModel.getSubunitRules(i,a);if(!s)return{redos:[],undos:[]};let c=[],l=[];return s.forEach(e=>{let t={unitId:i,subUnitId:o,rule:{...e,cfId:this._conditionalFormattingRuleModel.createCfId(i,o)}};c.push({id:j.id,params:t}),l.push(A(this._injector,t))}),{redos:c,undos:l}}return{redos:[],undos:[]}}}))}_initCellChange(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{let r=(e,t,n)=>{let r=new Set;return n.forEach(([n,i])=>{let a=this._conditionalFormattingViewModelV2.getCellCfs(e,t,n,i);a==null||a.forEach(e=>r.add(e.cfId))}),[...r].map(n=>this._conditionalFormattingRuleModel.getRule(e,t,n)).filter(e=>!!e)};switch(e.id){case n.SetRangeValuesMutation.id:{let{subUnitId:n,unitId:i,cellValue:a}=e.params,o=[];new t.ObjectMatrix(a).forValue((e,t,n)=>{n&&Object.keys(n).some(e=>[`p`,`v`].includes(e))&&o.push([e,t])}),r(i,n,o).forEach(e=>{this._conditionalFormattingViewModelV2.markRuleDirty(i,n,e.cfId)});break}case n.InsertColMutation.id:case n.RemoveColMutation.id:{let r=e.params,i=(0,n.getSheetCommandTarget)(this._univerInstanceService,r);if(!i)return;let{worksheet:a,unitId:o,subUnitId:s}=i,{range:c}=r,l={...c,endColumn:a.getColumnCount()-1},u=this._conditionalFormattingRuleModel.getSubunitRules(o,s);u&&u.filter(e=>e.ranges.some(e=>t.Rectangle.intersects(e,l))).forEach(e=>{this._conditionalFormattingViewModelV2.markRuleDirty(o,s,e.cfId)});break}case n.RemoveRowMutation.id:case n.InsertRowMutation.id:{let r=e.params,i=(0,n.getSheetCommandTarget)(this._univerInstanceService,r);if(!i)return;let{worksheet:a,unitId:o,subUnitId:s}=i,{range:c}=r,l={...c,endRow:a.getRowCount()-1},u=this._conditionalFormattingRuleModel.getSubunitRules(o,s);u&&u.filter(e=>e.ranges.some(e=>t.Rectangle.intersects(e,l))).forEach(e=>{this._conditionalFormattingViewModelV2.markRuleDirty(o,s,e.cfId)});break}case n.MoveRowsMutation.id:{let r=e.params,i=(0,n.getSheetCommandTarget)(this._univerInstanceService,r);if(!i)return;let{worksheet:a,unitId:o,subUnitId:s}=i,{sourceRange:c,targetRange:l}=r,u={startRow:Math.min(c.startRow,l.startRow),endRow:a.getRowCount()-1,startColumn:0,endColumn:a.getColumnCount()-1},d=this._conditionalFormattingRuleModel.getSubunitRules(o,s);d&&d.filter(e=>e.ranges.some(e=>t.Rectangle.intersects(e,u))).forEach(e=>{this._conditionalFormattingViewModelV2.markRuleDirty(o,s,e.cfId)});break}case n.MoveColsMutation.id:{let r=e.params,i=(0,n.getSheetCommandTarget)(this._univerInstanceService,r);if(!i)return;let{worksheet:a,unitId:o,subUnitId:s}=i,{sourceRange:c,targetRange:l}=r,u={startRow:0,endRow:a.getRowCount()-1,startColumn:Math.min(c.startColumn,l.startColumn),endColumn:a.getColumnCount()-1},d=this._conditionalFormattingRuleModel.getSubunitRules(o,s);d&&d.filter(e=>e.ranges.some(e=>t.Rectangle.intersects(e,u))).forEach(e=>{this._conditionalFormattingViewModelV2.markRuleDirty(o,s,e.cfId)});break}case n.MoveRangeMutation.id:{let{unitId:n,to:i,from:a}=e.params,o=e=>{let i=[];new t.ObjectMatrix(e.value).forValue((e,t)=>{i.push([e,t])}),r(n,e.subUnitId,i).forEach(t=>{this._conditionalFormattingViewModelV2.markRuleDirty(n,e.subUnitId,t.cfId)})};o(i),o(a);break}case n.ReorderRangeMutation.id:{let{range:n,unitId:r,subUnitId:i}=e.params,a=this._conditionalFormattingRuleModel.getSubunitRules(r,i);a&&a.filter(e=>e.ranges.some(e=>t.Rectangle.intersects(e,n))).forEach(e=>{this._conditionalFormattingViewModelV2.markRuleDirty(r,i,e.cfId)});break}}}))}};Q=I([F(0,(0,t.Inject)(E)),F(1,(0,t.Inject)(t.Injector)),F(2,(0,t.Inject)(t.IUniverInstanceService)),F(3,(0,t.Inject)(t.IResourceManagerService)),F(4,(0,t.Inject)(n.SheetInterceptorService)),F(5,(0,t.Inject)(t.ICommandService))],Q);let $=class extends t.Plugin{constructor(e=ke,n,r,i){super(),this._config=e,this._injector=n,this._commandService=r,this._configService=i;let{...a}=(0,t.merge)({},ke,this._config);this._configService.setConfig(Oe,a),[[Q],[L],[E],[H]].forEach(e=>{this._injector.add(e)}),[ne,re,ie,ae,P,oe,j,k,M,D].forEach(e=>{this._commandService.registerCommand(e)})}onStarting(){this._injector.get(Q),(0,t.touchDependencies)(this._injector,[[Q],[H]])}};T($,`pluginName`,s),T($,`packageName`,Ee),T($,`version`,De),T($,`type`,t.UniverInstanceType.UNIVER_SHEET),$=I([(0,t.DependentOn)(i.UniverFormulaEnginePlugin),F(1,(0,t.Inject)(t.Injector)),F(2,(0,t.Inject)(t.ICommandService)),F(3,t.IConfigService)],$);let Ae=`sheet-conditional-rule-icon`,je=e=>{let{startRow:t,endRow:n,startColumn:r,endColumn:i}=e;return`${t}-${n}-${r}-${i}`};var Me=class extends o.SheetExtension{constructor(){super(),T(this,`_paddingRightAndLeft`,2),T(this,`_width`,15),T(this,`_imageMap`,new Map),T(this,`uKey`,Ae),T(this,`Z_INDEX`,35),T(this,`_radius`,1),this._init()}draw(e,n,r,i){let{worksheet:a}=r;if(!a)return!1;let o=new Set,s=i!=null&&i.length?i:[r.rowColumnSegment];e.save(),s.forEach(n=>{t.Range.foreach(n,(t,n)=>{if(!a.getRowVisible(t)||!a.getColVisible(n))return;let s=r.getCellWithCoordByIndex(t,n,!1),{isMerged:c,isMergedMainCell:l,mergeInfo:u}=s,d=a.getCell(t,n);if(c&&(d=a.getCell(u.startRow,u.startColumn)),!(d!=null&&d.iconSet))return;let{iconType:f,iconId:p}=d.iconSet;if(f===`EMPTY_ICON_TYPE`)return;let m=this._imageMap.get(this._createKey(f,p));if(!m||!this.isRenderDiffRangesByCell(u,i))return;if(c||l){let e=je(u);if(o.has(e))return;o.add(e)}let{startX:h,endX:g,startY:_,endY:v}=c||l?u:s,y=g-h,b=v-_;if(this._width>b||this._width>y+this._paddingRightAndLeft*2)return;let x=(b-this._width)/2+_;e.drawImage(m,h+this._paddingRightAndLeft,x,this._width,this._width)})}),e.restore()}_init(){for(let e in Z)Z[e].forEach((t,n)=>{let r=this._createKey(e,String(n)),i=new Image;i.onload=()=>{this._imageMap.set(r,i)},i.src=t})}_createKey(e,t){return`${e}_${t}`}};o.SpreadsheetExtensionRegistry.add(Me);function Ne(e){if(typeof e!=`object`||!e)return e;let t={};for(let n in e)if(e.hasOwnProperty(n)){let r=Ne(e[n]);r!==void 0&&(t[n]=r)}return t}e.AddCfCommand=ne,e.AddConditionalRuleMutation=j,e.AddConditionalRuleMutationUndoFactory=A,e.CFNumberOperator=u,e.CFRuleType=d,e.CFSubRuleType=f,e.CFTextOperator=c,e.CFTimePeriodOperator=l,e.CFValueType=p,e.CONDITIONAL_FORMATTING_VIEWPORT_CACHE_LENGTH=V,e.ClearRangeCfCommand=re,e.ClearWorksheetCfCommand=ie,Object.defineProperty(e,`ConditionalFormattingFormulaService`,{enumerable:!0,get:function(){return L}}),e.ConditionalFormattingIcon=Me,e.ConditionalFormattingRuleModel=E,Object.defineProperty(e,`ConditionalFormattingService`,{enumerable:!0,get:function(){return Q}}),Object.defineProperty(e,`ConditionalFormattingViewModel`,{enumerable:!0,get:function(){return H}}),e.DEFAULT_BG_COLOR=`#fff`,e.DEFAULT_FONT_COLOR=`#000000`,e.DEFAULT_PADDING=2,e.DEFAULT_WIDTH=15,e.DataBar=de,e.DeleteCfCommand=ae,e.DeleteConditionalRuleMutation=k,e.DeleteConditionalRuleMutationUndoFactory=O,e.IIconSetType=we,e.IconUKey=Ae,e.MoveCfCommand=P,e.MoveConditionalRuleMutation=D,e.MoveConditionalRuleMutationUndoFactory=te,e.SHEET_CONDITIONAL_FORMATTING_PLUGIN=s,e.SetCfCommand=oe,e.SetConditionalRuleMutation=M,Object.defineProperty(e,`UniverSheetsConditionalFormattingPlugin`,{enumerable:!0,get:function(){return $}}),e.anchorUndoFactory=b,e.compareWithNumber=J,e.createCfId=S,e.createDefaultRule=m,e.createDefaultValue=h,e.createDefaultValueByValueType=g,e.dataBarUKey=ce,e.defaultDataBarNativeColor=`#abd91a`,e.defaultDataBarPositiveColor=`#ffbe38`,e.defaultPlaceholderColor=le,e.filterRange=Y,e.findIndexByAnchor=_,e.getCacheStyleMatrix=be,e.getCellValue=G,e.getColorScaleFromValue=Se,e.getMaxInFormulaResult=Ce,e.getOppositeOperator=xe,e.getValueByType=q,e.iconGroup=Te,e.iconMap=Z,e.isAnchorEqual=x,e.isFloatsEqual=U,e.isNullable=W,Object.defineProperty(e,`isRangesEqual`,{enumerable:!0,get:function(){return t.isRangesEqual}}),e.moveByAnchor=v,e.removeUndefinedAttr=Ne,e.serialTimeToTimestamp=ye,e.setConditionalRuleMutationUndoFactory=N,e.toYMD_1900=ve,e.transformSupportSymmetryAnchor=y});
|
|
3
3
|
|
|
4
4
|
// @univerjs/sheets-conditional-formatting/facade
|
|
5
5
|
(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`@univerjs/core`),require(`@univerjs/sheets-conditional-formatting`),require(`@univerjs/sheets/facade`),require(`@univerjs/core/facade`)):typeof define==`function`&&define.amd?define([`exports`,`@univerjs/core`,`@univerjs/sheets-conditional-formatting`,`@univerjs/sheets/facade`,`@univerjs/core/facade`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UniverSheetsConditionalFormattingFacade={},e.UniverCore,e.UniverSheetsConditionalFormatting,e.UniverSheetsFacade,e.UniverCoreFacade))})(this,function(e,t,n,r,i){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function a(e){"@babel/helpers - typeof";return a=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},a(e)}function o(e,t){if(a(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(a(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function s(e){var t=o(e,`string`);return a(t)==`symbol`?t:t+``}function c(e,t,n){return(t=s(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var l=class e{get _ruleConfig(){return this._rule.rule||null}_getDefaultConfig(e=n.CFRuleType.highlightCell){switch(e){case n.CFRuleType.colorScale:return{type:e,config:[{index:0,color:new t.ColorKit(``).toRgbString(),value:{type:n.CFValueType.min}},{index:0,color:new t.ColorKit(`green`).toRgbString(),value:{type:n.CFValueType.max}}]};case n.CFRuleType.dataBar:return{type:e,isShowValue:!0,config:{min:{type:n.CFValueType.min},max:{type:n.CFValueType.max},positiveColor:new t.ColorKit(`green`).toRgbString(),nativeColor:new t.ColorKit(``).toRgbString(),isGradient:!1}};case n.CFRuleType.highlightCell:return{type:e,subType:n.CFSubRuleType.text,operator:n.CFTextOperator.containsText,value:`abc`,style:{}};case n.CFRuleType.iconSet:return{type:e,isShowValue:!0,config:[{operator:n.CFNumberOperator.greaterThanOrEqual,value:{type:n.CFValueType.min},iconType:n.IIconSetType.empty,iconId:``},{operator:n.CFNumberOperator.greaterThanOrEqual,value:{type:n.CFValueType.percentile,value:.5},iconType:n.IIconSetType.empty,iconId:``},{operator:n.CFNumberOperator.lessThanOrEqual,value:{type:n.CFValueType.max},iconType:n.IIconSetType.empty,iconId:``}]}}}constructor(e={}){c(this,`_rule`,{}),this._rule=e,this._ensureAttr(this._rule,[`rule`])}_ensureAttr(e,t){return t.reduce((e,t)=>(e[t]||(e[t]={}),e[t]),e),e}build(){var e;this._rule.cfId||(this._rule.cfId=(0,n.createCfId)()),this._rule.ranges||(this._rule.ranges=[]),this._rule.stopIfTrue===void 0&&(this._rule.stopIfTrue=!1),(e=this._rule.rule)!=null&&e.type||(this._rule.rule.type=n.CFRuleType.highlightCell,this._ensureAttr(this._rule,[`rule`,`style`]));let t=this._getDefaultConfig(this._rule.rule.type);return{...this._rule,rule:{...t,...this._rule.rule}}}copy(){let r=t.Tools.deepClone(this._rule);return r.cfId&&(r.cfId=(0,n.createCfId)()),new e(r)}getRanges(){return this._rule.ranges||[]}getIconMap(){return n.iconMap}createCfId(){return(0,n.createCfId)()}setRanges(e){return this._rule.ranges=e,this}},u=class e extends l{constructor(e={}){super(e),this._ensureAttr(this._rule,[`rule`,`style`])}copy(){let r=t.Tools.deepClone(this._rule);return r.cfId&&(r.cfId=(0,n.createCfId)()),new e(r)}setAverage(e){let t=this._ruleConfig;return t.type=n.CFRuleType.highlightCell,t.subType=n.CFSubRuleType.average,t.operator=e,this}setUniqueValues(){let e=this._ruleConfig;return e.type=n.CFRuleType.highlightCell,e.subType=n.CFSubRuleType.uniqueValues,this}setDuplicateValues(){let e=this._ruleConfig;return e.type=n.CFRuleType.highlightCell,e.subType=n.CFSubRuleType.duplicateValues,this}setRank(e){let t=this._ruleConfig;return t.type=n.CFRuleType.highlightCell,t.subType=n.CFSubRuleType.rank,t.isBottom=e.isBottom,t.isPercent=e.isPercent,t.value=e.value,this}setBackground(e){var r;if(((r=this._ruleConfig)==null?void 0:r.type)===n.CFRuleType.highlightCell)if(e){this._ensureAttr(this._ruleConfig,[`style`,`bg`]);let n=new t.ColorKit(e);this._ruleConfig.style.bg.rgb=n.toRgbString()}else delete this._ruleConfig.style.bg;return this}setBold(e){var r;return((r=this._ruleConfig)==null?void 0:r.type)===n.CFRuleType.highlightCell&&(this._ensureAttr(this._ruleConfig,[`style`]),this._ruleConfig.style.bl=e?t.BooleanNumber.TRUE:t.BooleanNumber.FALSE),this}setFontColor(e){var r;if(((r=this._ruleConfig)==null?void 0:r.type)===n.CFRuleType.highlightCell)if(e){let n=new t.ColorKit(e);this._ensureAttr(this._ruleConfig,[`style`,`cl`]),this._ruleConfig.style.cl.rgb=n.toRgbString()}else delete this._ruleConfig.style.cl;return this}setItalic(e){var r;return((r=this._ruleConfig)==null?void 0:r.type)===n.CFRuleType.highlightCell&&(this._ensureAttr(this._ruleConfig,[`style`]),this._ruleConfig.style.it=e?t.BooleanNumber.TRUE:t.BooleanNumber.FALSE),this}setStrikethrough(e){var r;return((r=this._ruleConfig)==null?void 0:r.type)===n.CFRuleType.highlightCell&&(this._ensureAttr(this._ruleConfig,[`style`,`st`]),this._ruleConfig.style.st.s=e?t.BooleanNumber.TRUE:t.BooleanNumber.FALSE),this}setUnderline(e){var r;return((r=this._ruleConfig)==null?void 0:r.type)===n.CFRuleType.highlightCell&&(this._ensureAttr(this._ruleConfig,[`style`,`ul`]),this._ruleConfig.style.ul.s=e?t.BooleanNumber.TRUE:t.BooleanNumber.FALSE),this}whenCellEmpty(){let e=this._ruleConfig;return e.type=n.CFRuleType.highlightCell,e.subType=n.CFSubRuleType.text,e.value=``,e.operator=n.CFTextOperator.equal,this}whenCellNotEmpty(){let e=this._ruleConfig;return e.type=n.CFRuleType.highlightCell,e.subType=n.CFSubRuleType.text,e.value=``,e.operator=n.CFTextOperator.notEqual,this}whenDate(e){let t=this._ruleConfig;return t.type=n.CFRuleType.highlightCell,t.subType=n.CFSubRuleType.timePeriod,t.operator=e,this}whenFormulaSatisfied(e){let t=this._ruleConfig;return t.type=n.CFRuleType.highlightCell,t.subType=n.CFSubRuleType.formula,t.value=e,this}whenNumberBetween(e,t){let r=Math.min(e,t),i=Math.max(e,t),a=this._ruleConfig;return a.type=n.CFRuleType.highlightCell,a.subType=n.CFSubRuleType.number,a.value=[r,i],a.operator=n.CFNumberOperator.between,this}whenNumberEqualTo(e){let t=this._ruleConfig;return t.type=n.CFRuleType.highlightCell,t.subType=n.CFSubRuleType.number,t.value=e,t.operator=n.CFNumberOperator.equal,this}whenNumberGreaterThan(e){let t=this._ruleConfig;return t.type=n.CFRuleType.highlightCell,t.subType=n.CFSubRuleType.number,t.value=e,t.operator=n.CFNumberOperator.greaterThan,this}whenNumberGreaterThanOrEqualTo(e){let t=this._ruleConfig;return t.type=n.CFRuleType.highlightCell,t.subType=n.CFSubRuleType.number,t.value=e,t.operator=n.CFNumberOperator.greaterThanOrEqual,this}whenNumberLessThan(e){let t=this._ruleConfig;return t.type=n.CFRuleType.highlightCell,t.subType=n.CFSubRuleType.number,t.value=e,t.operator=n.CFNumberOperator.lessThan,this}whenNumberLessThanOrEqualTo(e){let t=this._ruleConfig;return t.type=n.CFRuleType.highlightCell,t.subType=n.CFSubRuleType.number,t.value=e,t.operator=n.CFNumberOperator.lessThanOrEqual,this}whenNumberNotBetween(e,t){let r=Math.min(e,t),i=Math.max(e,t),a=this._ruleConfig;return a.type=n.CFRuleType.highlightCell,a.subType=n.CFSubRuleType.number,a.value=[r,i],a.operator=n.CFNumberOperator.notBetween,this}whenNumberNotEqualTo(e){let t=this._ruleConfig;return t.type=n.CFRuleType.highlightCell,t.subType=n.CFSubRuleType.number,t.value=e,t.operator=n.CFNumberOperator.notEqual,this}whenTextContains(e){let t=this._ruleConfig;return t.type=n.CFRuleType.highlightCell,t.subType=n.CFSubRuleType.text,t.value=e,t.operator=n.CFTextOperator.containsText,this}whenTextDoesNotContain(e){let t=this._ruleConfig;return t.type=n.CFRuleType.highlightCell,t.subType=n.CFSubRuleType.text,t.value=e,t.operator=n.CFTextOperator.notContainsText,this}whenTextEndsWith(e){let t=this._ruleConfig;return t.type=n.CFRuleType.highlightCell,t.subType=n.CFSubRuleType.text,t.value=e,t.operator=n.CFTextOperator.endsWith,this}whenTextEqualTo(e){let t=this._ruleConfig;return t.type=n.CFRuleType.highlightCell,t.subType=n.CFSubRuleType.text,t.value=e,t.operator=n.CFTextOperator.equal,this}whenTextStartsWith(e){let t=this._ruleConfig;return t.type=n.CFRuleType.highlightCell,t.subType=n.CFSubRuleType.text,t.value=e,t.operator=n.CFTextOperator.beginsWith,this}},d=class e extends l{copy(){let r=t.Tools.deepClone(this._rule);return r.cfId&&(r.cfId=(0,n.createCfId)()),new e(r)}setDataBar(e){let t=this._ruleConfig;return t.type=n.CFRuleType.dataBar,t.isShowValue=!!e.isShowValue,t.config={min:e.min,max:e.max,positiveColor:e.positiveColor,nativeColor:e.nativeColor,isGradient:!!e.isGradient},this}},f=class e extends l{copy(){let r=t.Tools.deepClone(this._rule);return r.cfId&&(r.cfId=(0,n.createCfId)()),new e(r)}setColorScale(e){let t=this._ruleConfig;return t.type=n.CFRuleType.colorScale,t.config=e,this}},p=class e extends l{copy(){let r=t.Tools.deepClone(this._rule);return r.cfId&&(r.cfId=(0,n.createCfId)()),new e(r)}setIconSet(e){let t=this._ruleConfig;return t.type=n.CFRuleType.iconSet,t.config=e.iconConfigs,t.isShowValue=e.isShowValue,this}},m=class{constructor(e={}){this._initConfig=e}build(){return new l(this._initConfig).build()}setAverage(e){return new u(this._initConfig).setAverage(e)}setUniqueValues(){return new u(this._initConfig).setUniqueValues()}setDuplicateValues(){return new u(this._initConfig).setDuplicateValues()}setRank(e){return new u(this._initConfig).setRank(e)}getIconMap(){return n.iconMap}setIconSet(e){return new p(this._initConfig).setIconSet(e)}setColorScale(e){return new f(this._initConfig).setColorScale(e)}setDataBar(e){return new d(this._initConfig).setDataBar(e)}setBackground(e){return new u(this._initConfig).setBackground(e)}setBold(e){return new u(this._initConfig).setBold(e)}setFontColor(e){return new u(this._initConfig).setFontColor(e)}setItalic(e){return new u(this._initConfig).setItalic(e)}setStrikethrough(e){return new u(this._initConfig).setStrikethrough(e)}setUnderline(e){return new u(this._initConfig).setUnderline(e)}whenCellEmpty(){return new u(this._initConfig).whenCellEmpty()}whenCellNotEmpty(){return new u(this._initConfig).whenCellNotEmpty()}whenDate(e){return new u(this._initConfig).whenDate(e)}whenFormulaSatisfied(e){return new u(this._initConfig).whenFormulaSatisfied(e)}whenNumberBetween(e,t){return new u(this._initConfig).whenNumberBetween(e,t)}whenNumberEqualTo(e){return new u(this._initConfig).whenNumberEqualTo(e)}whenNumberGreaterThan(e){return new u(this._initConfig).whenNumberGreaterThan(e)}whenNumberGreaterThanOrEqualTo(e){return new u(this._initConfig).whenNumberGreaterThanOrEqualTo(e)}whenNumberLessThan(e){return new u(this._initConfig).whenNumberLessThan(e)}whenNumberLessThanOrEqualTo(e){return new u(this._initConfig).whenNumberLessThanOrEqualTo(e)}whenNumberNotBetween(e,t){return new u(this._initConfig).whenNumberNotBetween(e,t)}whenNumberNotEqualTo(e){return new u(this._initConfig).whenNumberNotEqualTo(e)}whenTextContains(e){return new u(this._initConfig).whenTextContains(e)}whenTextDoesNotContain(e){return new u(this._initConfig).whenTextDoesNotContain(e)}whenTextEndsWith(e){return new u(this._initConfig).whenTextEndsWith(e)}whenTextEqualTo(e){return new u(this._initConfig).whenTextEqualTo(e)}whenTextStartsWith(e){return new u(this._initConfig).whenTextStartsWith(e)}},h=class extends r.FRange{_getConditionalFormattingRuleModel(){return this._injector.get(n.ConditionalFormattingRuleModel)}getConditionalFormattingRules(){return[...this._getConditionalFormattingRuleModel().getSubunitRules(this._workbook.getUnitId(),this._worksheet.getSheetId())||[]].filter(e=>e.ranges.some(e=>t.Rectangle.intersects(e,this._range)))}createConditionalFormattingRule(){return new m({ranges:[this._range]})}addConditionalFormattingRule(e){let t={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),rule:e};return this._commandService.syncExecuteCommand(n.AddCfCommand.id,t),this}deleteConditionalFormattingRule(e){let t={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),cfId:e};return this._commandService.syncExecuteCommand(n.DeleteCfCommand.id,t),this}moveConditionalFormattingRule(e,t,r=`after`){let i={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),start:{id:e,type:`self`},end:{id:t,type:r}};return this._commandService.syncExecuteCommand(n.MoveCfCommand.id,i),this}setConditionalFormattingRule(e,t){let r={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),rule:t,cfId:e};return this._commandService.syncExecuteCommand(n.SetCfCommand.id,r),this}clearConditionalFormatRules(){let e={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),ranges:[this._range]};return this._commandService.syncExecuteCommand(n.ClearRangeCfCommand.id,e),this}};r.FRange.extend(h);var g=class extends r.FWorksheet{_getConditionalFormattingRuleModel(){return this._injector.get(n.ConditionalFormattingRuleModel)}getConditionalFormattingRules(){return[...this._getConditionalFormattingRuleModel().getSubunitRules(this._workbook.getUnitId(),this._worksheet.getSheetId())||[]]}createConditionalFormattingRule(){return new m}newConditionalFormattingRule(){return new m}addConditionalFormattingRule(e){let t={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),rule:e};return this._commandService.syncExecuteCommand(n.AddCfCommand.id,t),this}deleteConditionalFormattingRule(e){let t={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),cfId:e};return this._commandService.syncExecuteCommand(n.DeleteCfCommand.id,t),this}moveConditionalFormattingRule(e,t,r=`after`){let i={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),start:{id:e,type:`self`},end:{id:t,type:r}};return this._commandService.syncExecuteCommand(n.MoveCfCommand.id,i),this}setConditionalFormattingRule(e,t){let r={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),cfId:e,rule:t};return this._commandService.syncExecuteCommand(n.SetCfCommand.id,r),this}clearConditionalFormatRules(){let e={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId()};return this._commandService.syncExecuteCommand(n.ClearWorksheetCfCommand.id,e),this}};r.FWorksheet.extend(g);var _=class extends i.FEnum{get ConditionFormatNumberOperatorEnum(){return n.CFNumberOperator}get ConditionFormatTimePeriodOperatorEnum(){return n.CFTimePeriodOperator}get ConditionFormatIconSetTypeEnum(){return n.IIconSetType}get ConditionFormatValueTypeEnum(){return n.CFValueType}};i.FEnum.extend(_),e.FConditionalFormattingBuilder=m});
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
`,children:[(0,l.jsx)(`div`,{className:`univer-flex univer-items-center univer-gap-2`,children:v.tWithReactNode(`sheet.cf.panel.managerRuleSelect`,(0,l.jsx)(o.Select,{className:`univer-w-36`,options:j,value:T,onChange:e=>{E(e)}})).map((e,t)=>(0,l.jsx)(`span`,{children:e},t))}),(0,l.jsxs)(`div`,{className:`univer-flex univer-justify-end univer-space-x-2`,children:[(0,l.jsx)(o.Tooltip,{title:g.t(`sheet.cf.panel.createRule`),placement:`bottom`,children:(0,l.jsx)(`a`,{className:`univer-size-5 univer-cursor-pointer`,onClick:ae,children:(0,l.jsx)(P,{})})}),F.length&&se?(0,l.jsx)(o.Tooltip,{title:g.t(`sheet.cf.panel.clear`),placement:`bottom`,children:(0,l.jsx)(`a`,{className:`univer-size-5 univer-cursor-pointer`,onClick:oe,children:(0,l.jsx)(M,{className:`univer-text-red-500`})})}):(0,l.jsx)(`div`,{children:(0,l.jsx)(M,{className:`univer-text-gray-300`})})]})]}),(0,l.jsx)(`div`,{children:(0,l.jsx)(o.DraggableList,{className:`univer-w-full`,draggableHandle:`.draggableHandle`,list:I,onListChange:()=>void 0,idKey:`cfId`,rowHeight:60,margin:[0,10],onDragStop:re,onDragStart:ne,itemRender:e=>(0,l.jsxs)(`div`,{className:(0,o.clsx)(`univer-group univer-relative univer-flex univer-items-center univer-justify-between univer-rounded univer-py-2 univer-pl-5 univer-pr-8 hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-700`,{"univer-bg-gray-100 dark:!univer-bg-gray-700":k===e.cfId}),onMouseMove:()=>{e.ranges!==C&&w(e.ranges)},onMouseLeave:()=>w([]),onClick:()=>{c(e)},children:[(0,l.jsx)(`div`,{className:(0,o.clsx)(`univer-absolute univer-left-0 univer-hidden univer-size-5 univer-cursor-grab univer-items-center univer-justify-center univer-rounded group-hover:univer-flex`,`draggableHandle`),onClick:e=>e.stopPropagation(),children:(0,l.jsx)(ie,{})}),(0,l.jsxs)(`div`,{className:`univer-min-w-0 univer-max-w-full univer-flex-shrink univer-overflow-hidden`,children:[(0,l.jsx)(`div`,{className:`univer-text-sm univer-text-gray-900 dark:!univer-text-white`,children:Be(e,g)}),(0,l.jsx)(`div`,{className:`
|
|
11
11
|
univer-max-w-[250px] univer-overflow-hidden univer-text-ellipsis univer-text-xs
|
|
12
12
|
univer-text-gray-400
|
|
13
|
-
`,children:e.ranges.map(e=>(0,s.serializeRange)(e)).join(`,`)})]}),(0,l.jsx)(`div`,{children:(0,l.jsx)(z,{rule:e.rule})}),(0,l.jsx)(`div`,{className:(0,o.clsx)(`univer-absolute univer-right-1 univer-hidden univer-size-6 univer-cursor-pointer univer-items-center univer-justify-center univer-rounded univer-text-red-500 group-hover:univer-flex hover:univer-bg-gray-200`,{"univer-flex univer-items-center univer-justify-center":k===e.cfId}),onClick:t=>{t.stopPropagation(),te(e),w([])},children:(0,l.jsx)(M,{})})]})})})]})},He=e=>{let[t,n]=(0,a.useState)(e.rule),[r,i]=(0,a.useState)(!!e.rule);return(0,l.jsx)(`div`,{className:`univer-flex univer-h-full univer-flex-col univer-justify-between univer-py-4`,children:r?(0,l.jsx)(Le,{onCancel:()=>{i(!1),n(void 0)},rule:t}):(0,l.jsx)(Ve,{onClick:e=>{n(e),i(!0)},onCreate:()=>{i(!0)}})})},Ue=`sheet.conditional.formatting.panel`,Y=class extends t.Disposable{constructor(e,n,r,i,a){super(),this._univerInstanceService=e,this._injector=n,this._componentManager=r,this._sidebarService=i,this._localeService=a,G(this,`_sidebarDisposable`,null),this._initPanel(),this.disposeWithMe(this._univerInstanceService.getCurrentTypeOfUnit$(t.UniverInstanceType.UNIVER_SHEET).subscribe(e=>{var t;e||(t=this._sidebarDisposable)==null||t.dispose()})),this.disposeWithMe(this._sidebarService.sidebarOptions$.subscribe(e=>{e.id===Ue&&(e.visible||setTimeout(()=>{this._sidebarService.sidebarOptions$.next({visible:!1})}))}))}openPanel(e){let n={id:Ue,header:{title:this._localeService.t(`sheet.cf.title`)},children:{label:Ue,rule:e,key:(0,t.generateRandomId)(4)},onClose:()=>this._sidebarDisposable=null};this._sidebarDisposable=this._sidebarService.open(n)}_initPanel(){this.disposeWithMe(this._componentManager.register(Ue,He))}};Y=q([K(0,t.IUniverInstanceService),K(1,(0,t.Inject)(t.Injector)),K(2,(0,t.Inject)(i.ComponentManager)),K(3,(0,t.Inject)(i.ISidebarService)),K(4,(0,t.Inject)(t.LocaleService))],Y);let X={id:`sheet.operation.open.conditional.formatting.panel`,type:t.CommandType.OPERATION,handler:(e,i)=>{var a;let o=e.get(Y),s=e.get(n.SheetsSelectionsService),c=e.get(t.ICommandService),l=((a=s.getCurrentSelections())==null?void 0:a.map(e=>e.range))||[];switch(i.value){case 3:o.openPanel({...(0,r.createDefaultRule)(),ranges:l});break;case 4:{let e={...r.createDefaultRule,ranges:l,rule:{type:r.CFRuleType.highlightCell,subType:r.CFSubRuleType.rank}};o.openPanel(e);break}case 5:{let e={...r.createDefaultRule,ranges:l,rule:{type:r.CFRuleType.highlightCell,subType:r.CFSubRuleType.formula,value:`=`}};o.openPanel(e);break}case 6:{let e={...r.createDefaultRule,ranges:l,rule:{type:r.CFRuleType.colorScale,config:[]}};o.openPanel(e);break}case 7:{let e={...r.createDefaultRule,ranges:l,rule:{type:r.CFRuleType.dataBar,isShowValue:!0}};o.openPanel(e);break}case 8:{let e={...r.createDefaultRule,ranges:l,rule:{type:r.CFRuleType.iconSet,config:[],isShowValue:!0}};o.openPanel(e);break}case 2:o.openPanel();break;case 1:o.openPanel({...(0,r.createDefaultRule)(),ranges:l});break;case 9:c.executeCommand(r.ClearRangeCfCommand.id,{ranges:l});break;case 10:c.executeCommand(r.ClearWorksheetCfCommand.id);break}return!0}},Z=class extends t.Disposable{constructor(e,t,n,r,i){super(),this._injector=e,this._univerInstanceService=t,this._sheetInterceptorService=n,this._selectionManagerService=r,this._conditionalFormattingRuleModel=i,this._init()}_init(){this.disposeWithMe(this._sheetInterceptorService.interceptCommand({getMutations:e=>{let r=[],i=[],a={redos:r,undos:i};if([n.ClearSelectionFormatCommand.id,n.ClearSelectionAllCommand.id].includes(e.id)){var o;let e=(o=this._selectionManagerService.getCurrentSelections())==null?void 0:o.map(e=>e.range);if(!e)return a;let n=this._univerInstanceService.getCurrentUnitForType(t.UniverInstanceType.UNIVER_SHEET),s=n.getActiveSheet();if(!s)return a;let c=n.getUnitId(),l=s.getSheetId(),u=this._conditionalFormattingRuleModel.getSubunitRules(c,l);if(!u||!u.length)return a;let{redos:d,undos:f}=We(this._injector,u,e,c,l);r.push(...d),i.push(...f)}return a}})),this.disposeWithMe(this._sheetInterceptorService.interceptRanges({getMutations:({unitId:e,subUnitId:t,ranges:n})=>{let r=[],i=[],a={redos:r,undos:i};if(!n||!n.length)return a;let o=this._conditionalFormattingRuleModel.getSubunitRules(e,t);if(!o||!o.length)return a;let{redos:s,undos:c}=We(this._injector,o,n,e,t);return r.push(...s),i.push(...c),a}}))}};Z=q([K(0,(0,t.Inject)(t.Injector)),K(1,(0,t.Inject)(t.IUniverInstanceService)),K(2,(0,t.Inject)(n.SheetInterceptorService)),K(3,(0,t.Inject)(n.SheetsSelectionsService)),K(4,(0,t.Inject)(r.ConditionalFormattingRuleModel))],Z);function We(e,i,a,o,s){let c=[],l=[];return i.filter(e=>a.some(n=>e.ranges.some(e=>t.Rectangle.getIntersects(e,n)))).forEach(t=>{let i=new n.RangeMergeUtil().add(...t.ranges).subtract(...a).merge();if(i.length){let n={id:r.SetConditionalRuleMutation.id,params:{unitId:o,subUnitId:s,rule:{...t,ranges:i}}},a=(0,r.setConditionalRuleMutationUndoFactory)(e,n.params);c.push(n),l.push(...a)}else{let n={id:r.DeleteConditionalRuleMutation.id,params:{unitId:o,subUnitId:s,cfId:t.cfId}},i=(0,r.DeleteConditionalRuleMutationUndoFactory)(e,n.params);c.push(n),l.push(...i)}}),{redos:c,undos:l}}var Ge=`@univerjs/sheets-conditional-formatting-ui`,Ke=`0.22.1`;let qe=`sheets-conditional-formatting-ui.config`;Symbol(qe);let Je={},Ye=class extends t.Disposable{constructor(e,t,n){super(),this._conditionalFormattingRuleModel=e,this._formulaRefRangeService=t,this._injector=n,G(this,`_disposableMap`,new Map),this._initRefRange()}_getIdWithUnitId(e,t,n){return`${e}_${t}_${n}`}_getRuleFormulas(e){let t=[],n=e.rule;switch(n.type){case r.CFRuleType.highlightCell:n.subType===r.CFSubRuleType.formula&&t.push(n.value);break;case r.CFRuleType.dataBar:{let e=n;e.config.min.type===r.CFValueType.formula&&t.push(e.config.min.value),e.config.max.type===r.CFValueType.formula&&t.push(e.config.max.value);break}case r.CFRuleType.colorScale:n.config.forEach(e=>{e.value.type===r.CFValueType.formula&&t.push(e.value.value)});break;case r.CFRuleType.iconSet:n.config.forEach(e=>{e.value.type===r.CFValueType.formula&&t.push(e.value.value)});break}return t}_updateRuleFormulas(e,n){let i=t.Tools.deepClone(e),a=i.rule,o=0;switch(a.type){case r.CFRuleType.highlightCell:a.subType===r.CFSubRuleType.formula&&(a.value=n[o++]);break;case r.CFRuleType.dataBar:{let e=a;e.config.min.type===r.CFValueType.formula&&(e.config.min.value=n[o++]),e.config.max.type===r.CFValueType.formula&&(e.config.max.value=n[o++]);break}case r.CFRuleType.colorScale:a.config.forEach(e=>{e.value.type===r.CFValueType.formula&&(e.value.value=n[o++])});break;case r.CFRuleType.iconSet:a.config.forEach(e=>{e.value.type===r.CFValueType.formula&&(e.value.value=n[o++])});break}return i}register(e,t,n){let i=n.ranges,a=this._getRuleFormulas(n),o=this._formulaRefRangeService.registerRangeFormula(e,t,i,a,i=>{if(i.length===0)return{undos:[{id:r.AddConditionalRuleMutation.id,params:{unitId:e,subUnitId:t,rule:n}}],redos:[{id:r.DeleteConditionalRuleMutation.id,params:{unitId:e,subUnitId:t,cfId:n.cfId}}]};let a=[],o=[],s=i[0],c=this._updateRuleFormulas(n,s.formulas);c.ranges=s.ranges,a.push({id:r.SetConditionalRuleMutation.id,params:{unitId:e,subUnitId:t,cfId:n.cfId,rule:c}}),o.push(...(0,r.setConditionalRuleMutationUndoFactory)(this._injector,{unitId:e,subUnitId:t,cfId:n.cfId,rule:c}));for(let s=1;s<i.length;s++){let c=i[s],l=(0,r.createCfId)(),u=this._updateRuleFormulas(n,c.formulas);u.cfId=l,u.ranges=c.ranges,a.push({id:r.AddConditionalRuleMutation.id,params:{unitId:e,subUnitId:t,rule:u}}),o.push((0,r.AddConditionalRuleMutationUndoFactory)(this._injector,{unitId:e,subUnitId:t,rule:u}))}return{undos:o,redos:a}}),s=this._getIdWithUnitId(e,t,n.cfId);this._disposableMap.set(s,o)}_initRefRange(){let e=this._conditionalFormattingRuleModel.getAll();for(let[t,n]of e)for(let[e,r]of n)for(let n of r)this.register(t,e,n);this.disposeWithMe(this._conditionalFormattingRuleModel.$ruleChange.subscribe(e=>{let{unitId:t,subUnitId:n,rule:r}=e;switch(e.type){case`add`:this.register(t,n,r);break;case`delete`:{let e=this._getIdWithUnitId(t,n,r.cfId),i=this._disposableMap.get(e);i&&(i.dispose(),this._disposableMap.delete(e));break}case`set`:{let e=this._getIdWithUnitId(t,n,r.cfId),i=this._disposableMap.get(e);i&&(i.dispose(),this._disposableMap.delete(e)),this.register(t,n,r);break}}})),this.disposeWithMe((0,t.toDisposable)(()=>{this._disposableMap.forEach(e=>{e.dispose()}),this._disposableMap.clear()}))}};Ye=q([K(0,(0,t.Inject)(r.ConditionalFormattingRuleModel)),K(1,(0,t.Inject)(f.FormulaRefRangeService)),K(2,(0,t.Inject)(t.Injector))],Ye);let Xe=[u.PREDEFINED_HOOK_NAME_PASTE.SPECIAL_PASTE_FORMAT,u.PREDEFINED_HOOK_NAME_PASTE.DEFAULT_PASTE,u.PREDEFINED_HOOK_NAME_PASTE.SPECIAL_PASTE_BESIDES_BORDER],Ze=class extends t.Disposable{constructor(e,t,n,r,i){super(),this._sheetClipboardService=e,this._conditionalFormattingRuleModel=t,this._injector=n,this._conditionalFormattingViewModel=r,this._univerInstanceService=i,G(this,`_copyInfo`,void 0),this._initClipboardHook()}_initClipboardHook(){this.disposeWithMe(this._sheetClipboardService.addClipboardHook({id:r.SHEET_CONDITIONAL_FORMATTING_PLUGIN,onBeforeCopy:(e,t,n)=>this._collectConditionalRule(e,t,n),onPasteCells:(e,t,n,r)=>!e||!this._copyInfo||!Xe.includes(r.pasteType)?{redos:[],undos:[]}:this._generateConditionalFormattingMutations(e,t,r)}))}_collectConditionalRule(e,r,i){let a=new t.ObjectMatrix,o={};this._copyInfo={matrix:a,info:{unitId:e,subUnitId:r,cfMap:o}};let s=this._injector.invoke(t=>(0,n.rangeToDiscreteRange)(i,t,e,r));if(!s)return;let{rows:c,cols:l}=s,u=new Set;c.forEach((t,n)=>{l.forEach((i,o)=>{let s=this._conditionalFormattingViewModel.getCellCfs(e,r,t,i);s&&(s.forEach(e=>u.add(e.cfId)),a.setValue(n,o,s.map(e=>e.cfId)))})}),u.forEach(t=>{let n=this._conditionalFormattingRuleModel.getRule(e,r,t);n&&(o[t]=n.rule)})}_generateConditionalFormattingMutations(e,i,a){let{unitId:o,subUnitId:s,range:c}=e,{unitId:l,subUnitId:d,range:f}=i,{copyType:p=u.COPY_TYPE.COPY}=a;if(!(0,n.getSheetCommandTarget)(this._univerInstanceService,{unitId:l,subUnitId:d}))return{redos:[],undos:[]};if(p===u.COPY_TYPE.CUT&&l===o&&d===s)return this._copyInfo=null,{redos:[],undos:[]};let{ranges:[m,h],mapFunc:g}=(0,u.virtualizeDiscreteRanges)([c,f]),_=(0,u.getRepeatRange)(m,h,!0),v={};t.Range.foreach(h,(e,n)=>{let{row:r,col:i}=g(e,n),a=this._conditionalFormattingViewModel.getCellCfs(l,d,r,i);a&&a.forEach(e=>{if(!v[e.cfId]){let n=new t.ObjectMatrix;v[e.cfId]={unitId:l,subUnitId:d,ruleMatrix:n};let r=this._conditionalFormattingRuleModel.getRule(l,d,e.cfId);r==null||r.ranges.forEach(e=>{t.Range.foreach(e,(e,t)=>{n.setValue(e,t,1)})})}v[e.cfId].ruleMatrix.realDeleteValue(r,i)})}),p===u.COPY_TYPE.CUT&&(l!==o||d!==s)&&t.Range.foreach(m,(e,n)=>{let{row:r,col:i}=g(e,n),a=this._conditionalFormattingViewModel.getCellCfs(o,s,r,i);a&&a.forEach(e=>{if(!v[e.cfId]){let n=new t.ObjectMatrix;v[e.cfId]={unitId:o,subUnitId:s,ruleMatrix:n};let r=this._conditionalFormattingRuleModel.getRule(o,s,e.cfId);r==null||r.ranges.forEach(e=>{t.Range.foreach(e,(e,t)=>{n.setValue(e,t,1)})})}v[e.cfId].ruleMatrix.realDeleteValue(r,i)})});let{matrix:y,info:b}=this._copyInfo,x=[],S={},C=e=>{let n=b==null?void 0:b.cfMap[e],r=[...this._conditionalFormattingRuleModel.getSubunitRules(l,d)||[],...x].find(e=>t.Tools.diffValue(e.rule,n));if(r)return S[e]=r,r;{let t={rule:n,cfId:this._conditionalFormattingRuleModel.createCfId(l,d),ranges:[],stopIfTrue:!1};return S[e]=t,x.push(t),t}};_.forEach(e=>{y&&y.forValue((n,r,i)=>{let a=t.Rectangle.getPositionRange({startRow:n,endRow:n,startColumn:r,endColumn:r},e.startRange),{row:o,col:s}=g(a.startRow,a.startColumn);i.forEach(e=>{let n=S[e]||C(e);if(!v[n.cfId]){let e=new t.ObjectMatrix;v[n.cfId]={unitId:l,subUnitId:d,ruleMatrix:e},n.ranges.forEach(n=>{t.Range.foreach(n,(t,n)=>{e.setValue(t,n,1)})})}v[n.cfId].ruleMatrix.setValue(o,s,1)})})});let w=[],T=[];for(let e in v){let{unitId:t,subUnitId:i,ruleMatrix:a}=v[e],o=(0,n.findAllRectangle)((0,n.createTopMatrixFromMatrix)(a));if(!o.length){let n={unitId:t,subUnitId:i,cfId:e};w.push({id:r.DeleteConditionalRuleMutation.id,params:n}),T.push(...(0,r.DeleteConditionalRuleMutationUndoFactory)(this._injector,n))}if(x.some(t=>t.cfId===e)){let t={unitId:l,subUnitId:d,rule:{...x.find(t=>t.cfId===e),ranges:o}};w.push({id:r.AddConditionalRuleMutation.id,params:t}),T.push((0,r.AddConditionalRuleMutationUndoFactory)(this._injector,t))}else{let n=this._conditionalFormattingRuleModel.getRule(t,i,e);if(!n)continue;let a={unitId:t,subUnitId:i,rule:{...n,ranges:o}};w.push({id:r.SetConditionalRuleMutation.id,params:a}),T.push(...(0,r.setConditionalRuleMutationUndoFactory)(this._injector,a))}}return{redos:w,undos:T}}};Ze=q([K(0,(0,t.Inject)(u.ISheetClipboardService)),K(1,(0,t.Inject)(r.ConditionalFormattingRuleModel)),K(2,(0,t.Inject)(t.Injector)),K(3,(0,t.Inject)(r.ConditionalFormattingViewModel)),K(4,(0,t.Inject)(t.IUniverInstanceService))],Ze);let Qe=class extends t.Disposable{constructor(e,t,n){super(),this._localeService=e,this._commandService=t,this._sheetPermissionCheckController=n,this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.beforeCommandExecuted(e=>{if(e.id===r.AddCfCommand.id){let{unitId:t,subUnitId:r,rule:{ranges:i}}=e.params;this._sheetPermissionCheckController.permissionCheckWithRanges({workbookTypes:[n.WorkbookEditablePermission],rangeTypes:[n.RangeProtectionPermissionEditPoint],worksheetTypes:[n.WorksheetEditPermission,n.WorksheetSetCellStylePermission]},i,t,r)||this._sheetPermissionCheckController.blockExecuteWithoutPermission(this._localeService.t(`permission.dialog.setStyleErr`))}}))}};Qe=q([K(0,(0,t.Inject)(t.LocaleService)),K(1,t.ICommandService),K(2,(0,t.Inject)(n.SheetPermissionCheckController))],Qe);let $e=class extends t.Disposable{constructor(e,t,n,r,i,a){super(),this._sheetInterceptorService=e,this._conditionalFormattingService=t,this._univerInstanceService=n,this._renderManagerService=r,this._conditionalFormattingViewModel=i,this._conditionalFormattingRuleModel=a,G(this,`_ruleChangeCacheMap`,new Map),this._initViewModelInterceptor(),this._initSkeleton(),this.disposeWithMe(()=>{this._ruleChangeCacheMap.clear()})}_markDirtySkeleton(){var e,n;let r=this._univerInstanceService.getCurrentUnitForType(t.UniverInstanceType.UNIVER_SHEET).getUnitId();(e=this._renderManagerService.getRenderById(r))==null||e.with(u.SheetSkeletonManagerService).reCalculate(),(n=this._renderManagerService.getRenderById(r))==null||(n=n.mainComponent)==null||n.makeDirty()}_initSkeleton(){this.disposeWithMe((0,d.merge)(this._conditionalFormattingRuleModel.$ruleChange,this._conditionalFormattingViewModel.markDirty$).pipe((0,m.bufferTime)(16),(0,m.filter)(e=>!!e.length),(0,m.filter)(e=>{let n=this._univerInstanceService.getCurrentUnitForType(t.UniverInstanceType.UNIVER_SHEET);if(!n)return!1;let r=n.getActiveSheet();return r?e.filter(e=>e.unitId===n.getUnitId()&&e.subUnitId===r.getSheetId()).length>0:!1})).subscribe(()=>this._markDirtySkeleton()))}_initViewModelInterceptor(){this.disposeWithMe(this._sheetInterceptorService.intercept(n.INTERCEPTOR_POINT.CELL_CONTENT,{effect:t.InterceptorEffectEnum.Style,handler:(e,t,n)=>{let i=this._conditionalFormattingService.composeStyle(t.unitId,t.subUnitId,t.row,t.col);if(!i)return n(e);let a=t.workbook.getStyles(),o=(typeof(e==null?void 0:e.s)==`string`?a.get(e==null?void 0:e.s):e==null?void 0:e.s)||{},s=e===t.rawData?{...t.rawData}:e;if(i.style){let e={...o,...i.style};Object.assign(s,{s:e})}return s.fontRenderExtension||(s.fontRenderExtension={},i.isShowValue!==void 0&&(s.fontRenderExtension.isSkip=!i.isShowValue)),i.dataBar&&(s.dataBar=i.dataBar),i.iconSet&&(s.iconSet=i.iconSet,s.fontRenderExtension.leftOffset=r.DEFAULT_PADDING+r.DEFAULT_WIDTH),n(s)},priority:10}))}};$e=q([K(0,(0,t.Inject)(n.SheetInterceptorService)),K(1,(0,t.Inject)(r.ConditionalFormattingService)),K(2,(0,t.Inject)(t.IUniverInstanceService)),K(3,(0,t.Inject)(p.IRenderManagerService)),K(4,(0,t.Inject)(r.ConditionalFormattingViewModel)),K(5,(0,t.Inject)(r.ConditionalFormattingRuleModel))],$e);let Q=class extends t.Plugin{constructor(e=Je,n,r,i){super(),this._config=e,this._injector=n,this._commandService=r,this._configService=i;let{menu:a,...o}=(0,t.merge)({},Je,this._config);a&&this._configService.setConfig(`menu`,a,{merge:!0}),this._configService.setConfig(qe,o),this._initCommand(),this._injector.add([$e]),this._injector.add([Ze]),this._injector.add([Qe]),this._injector.add([J]),this._injector.add([Ye])}_initCommand(){[h,g,_,v,y,b,x,S,C,X].forEach(e=>{this._commandService.registerCommand(e)})}};G(Q,`pluginName`,`${r.SHEET_CONDITIONAL_FORMATTING_PLUGIN}_MOBILE_UI_PLUGIN`),G(Q,`packageName`,Ge),G(Q,`version`,Ke),G(Q,`type`,t.UniverInstanceType.UNIVER_SHEET),Q=q([(0,t.DependentOn)(r.UniverSheetsConditionalFormattingPlugin),K(1,(0,t.Inject)(t.Injector)),K(2,(0,t.Inject)(t.ICommandService)),K(3,t.IConfigService)],Q);let et=class extends t.Disposable{constructor(e,t,n,r,i){super(),this._injector=e,this._univerInstanceService=t,this._autoFillService=n,this._conditionalFormattingRuleModel=r,this._conditionalFormattingViewModel=i,this._initAutoFill()}_initAutoFill(){let e=()=>({redos:[],undos:[]}),i=(e,n,r,i,a)=>{var o;let s=this._univerInstanceService.getCurrentUnitForType(t.UniverInstanceType.UNIVER_SHEET).getUnitId(),c=(o=this._univerInstanceService.getCurrentUnitForType(t.UniverInstanceType.UNIVER_SHEET).getActiveSheet())==null?void 0:o.getSheetId();if(!s||!c)return;let l={startRow:e.row,startColumn:e.col,endColumn:e.col,endRow:e.row},u={startRow:n.row,startColumn:n.col,endColumn:n.col,endRow:n.row};t.Range.foreach(r,(e,n)=>{let r=t.Rectangle.getPositionRange({startRow:e,startColumn:n,endColumn:n,endRow:e},l),o=t.Rectangle.getPositionRange({startRow:e,startColumn:n,endColumn:n,endRow:e},u),{row:d,col:f}=a(r.startRow,r.startColumn),p=this._conditionalFormattingViewModel.getCellCfs(s,c,d,f),{row:m,col:h}=a(o.startRow,o.startColumn),g=this._conditionalFormattingViewModel.getCellCfs(s,c,m,h);g&&g.forEach(e=>{let n=i.get(e.cfId);if(!i.get(e.cfId)){let r=this._conditionalFormattingRuleModel.getRule(s,c,e.cfId);if(!r)return;n=new t.ObjectMatrix,r.ranges.forEach(e=>{t.Range.foreach(e,(e,t)=>{n.setValue(e,t,1)})}),i.set(e.cfId,n)}n.realDeleteValue(m,h)}),p&&p.forEach(e=>{let n=i.get(e.cfId);if(!i.get(e.cfId)){let r=this._conditionalFormattingRuleModel.getRule(s,c,e.cfId);if(!r)return;n=new t.ObjectMatrix,r.ranges.forEach(e=>{t.Range.foreach(e,(e,t)=>{n.setValue(e,t,1)})}),i.set(e.cfId,n)}n.setValue(m,h,1)})})},a=(a,o)=>{var s,c;let l=(s=this._univerInstanceService.getCurrentUnitForType(t.UniverInstanceType.UNIVER_SHEET))==null?void 0:s.getUnitId(),d=(c=this._univerInstanceService.getCurrentUnitForType(t.UniverInstanceType.UNIVER_SHEET))==null||(c=c.getActiveSheet())==null?void 0:c.getSheetId(),f=new Map,p=[],m=[];if(!l||!d)return e();let h=(0,u.virtualizeDiscreteRanges)([a,o]),[g,_]=h.ranges,{mapFunc:v}=h,y={row:g.startRow,col:g.startColumn};return n.AutoFillTools.getAutoFillRepeatRange(g,_).forEach(e=>{i(y,e.repeatStartCell,e.relativeRange,f,v)}),f.forEach((e,t)=>{let i=this._conditionalFormattingRuleModel.getRule(l,d,t);if(!i)return;let a=(0,n.findAllRectangle)((0,n.createTopMatrixFromMatrix)(e));if(a.length){let e={unitId:l,subUnitId:d,rule:{...i,ranges:a}};p.push({id:r.SetConditionalRuleMutation.id,params:e}),m.push(...(0,r.setConditionalRuleMutationUndoFactory)(this._injector,e))}else{let e={unitId:l,subUnitId:d,cfId:i.cfId};p.push({id:r.DeleteConditionalRuleMutation.id,params:e}),m.push(...(0,r.DeleteConditionalRuleMutationUndoFactory)(this._injector,e))}}),{undos:m,redos:p}},o={id:r.SHEET_CONDITIONAL_FORMATTING_PLUGIN,onFillData:(t,r,i)=>{if(i===n.AUTO_FILL_APPLY_TYPE.COPY||i===n.AUTO_FILL_APPLY_TYPE.ONLY_FORMAT||i===n.AUTO_FILL_APPLY_TYPE.SERIES){let{source:e,target:n}=t;return a(e,n)}return e()}};this.disposeWithMe(this._autoFillService.addHook(o))}};et=q([K(0,(0,t.Inject)(t.Injector)),K(1,(0,t.Inject)(t.IUniverInstanceService)),K(2,(0,t.Inject)(n.IAutoFillService)),K(3,(0,t.Inject)(r.ConditionalFormattingRuleModel)),K(4,(0,t.Inject)(r.ConditionalFormattingViewModel))],et);let tt=class extends t.Disposable{constructor(e,t){super(),this._sheetInterceptorService=e,this._conditionalFormattingService=t,this._initInterceptorEditorEnd()}_initInterceptorEditorEnd(){this.disposeWithMe((0,t.toDisposable)(this._sheetInterceptorService.writeCellInterceptor.intercept(n.AFTER_CELL_EDIT,{handler:(e,t,n)=>{var r;e||n(e);let i=this._conditionalFormattingService.composeStyle(t.unitId,t.subUnitId,t.row,t.col),a=(r=i==null?void 0:i.style)==null?{}:r,o=Object.keys(a);if(e!=null&&e.p){var s;return(s=e.p.body)==null||(s=s.textRuns)==null||s.forEach(e=>{e.ts&&o.forEach(t=>{var n;(n=e.ts)==null||delete n[t]})}),n(e)}else{let r={...(typeof(e==null?void 0:e.s)==`string`?t.workbook.getStyles().get(e.s):e==null?void 0:e.s)||{}};return o.forEach(e=>{delete r[e]}),n({...e,s:{...r}})}}})))}};tt=q([K(0,(0,t.Inject)(n.SheetInterceptorService)),K(1,(0,t.Inject)(r.ConditionalFormattingService))],tt);let nt=(e,t)=>{let n=e=>e.endRow-e.startRow+1,r=e=>e.endColumn-e.startColumn+1,i=n(t)%n(e),a=r(t)%r(e),o=Math.floor(n(t)/n(e)),s=Math.floor(r(t)/r(e)),c=[],l={startRow:0,endRow:n(e)-1,startColumn:0,endColumn:r(e)-1};if(n(t)===1&&r(t)===1){let e={startRow:t.startRow,endRow:t.startRow,startColumn:t.startColumn,endColumn:t.startColumn};return c.push({repeatRelativeRange:l,startRange:e}),c}for(let u=0;u<o+(i?.1:0);u++)for(let d=0;d<s+(a?.1:0);d++){let f=n(e)*u,p=r(e)*d,m={startRow:f+t.startRow,endRow:f+t.startRow,startColumn:p+t.startColumn,endColumn:p+t.startColumn},h=l;u===o&&i&&(h={...h},h.endRow-=n(e)-i),d===s&&a&&(h={...h},h.endColumn-=r(e)-a),c.push({repeatRelativeRange:h,startRange:m})}return c},rt=class extends t.Disposable{constructor(e,t,n,r,i,a){super(),this._injector=e,this._univerInstanceService=t,this._formatPainterService=n,this._sheetsSelectionsService=r,this._conditionalFormattingRuleModel=i,this._conditionalFormattingViewModel=a,G(this,`_painterConfig`,null),this._initFormattingPainter()}_initFormattingPainter(){let e=()=>({redos:[],undos:[]}),i=(e,n,r,i,a)=>{let{unitId:o,subUnitId:s}=this._painterConfig,{targetUnitId:c,targetSubUnitId:l}=a,u={startRow:e.row,startColumn:e.col,endColumn:e.col,endRow:e.row},d={startRow:n.row,startColumn:n.col,endColumn:n.col,endRow:n.row};t.Range.foreach(r,(e,n)=>{let r=t.Rectangle.getPositionRange({startRow:e,startColumn:n,endColumn:n,endRow:e},u),a=t.Rectangle.getPositionRange({startRow:e,startColumn:n,endColumn:n,endRow:e},d),f=this._conditionalFormattingViewModel.getCellCfs(o,s,r.startRow,r.startColumn),p=this._conditionalFormattingViewModel.getCellCfs(c,l,a.startRow,a.startColumn);p&&p.forEach(e=>{let n=i.get(e.cfId);if(!i.get(e.cfId)){let r=this._conditionalFormattingRuleModel.getRule(c,l,e.cfId);if(!r)return;n=new t.ObjectMatrix,r.ranges.forEach(e=>{t.Range.foreach(e,(e,t)=>{n.setValue(e,t,1)})}),i.set(e.cfId,n)}n.realDeleteValue(a.startRow,a.startColumn)}),f&&f.forEach(e=>{let t=i.get(e.cfId);t&&t.setValue(a.startRow,a.startColumn,1)})})},a=(a,o,s)=>{var c;let{range:l,unitId:u,subUnitId:d}=this._painterConfig,f=a!==u||d!==o,p=new Map,m=[],h=[];if(!a||!o||!u||!d)return e();let g=(c=this._conditionalFormattingRuleModel.getSubunitRules(u,d))==null?[]:c;g==null||g.forEach(e=>{let{ranges:n,cfId:r}=e;if(n.some(e=>t.Rectangle.intersects(l,e))){let e=new t.ObjectMatrix;f||n.forEach(n=>{t.Range.foreach(n,(t,n)=>{e.setValue(t,n,1)})}),p.set(r,e)}});let _={row:l.startRow,col:l.startColumn};return nt(l,s).forEach(e=>{i(_,{row:e.startRange.startRow,col:e.startRange.startColumn},e.repeatRelativeRange,p,{targetUnitId:a,targetSubUnitId:o})}),p.forEach((e,i)=>{if(f){let s=this._conditionalFormattingRuleModel.getRule(a,o,i),c=(0,n.findAllRectangle)((0,n.createTopMatrixFromMatrix)(e));if(!s){if(c.length){let e=this._conditionalFormattingRuleModel.getRule(u,d,i);if(e){let n={unitId:a,subUnitId:o,rule:{...t.Tools.deepClone(e),cfId:this._conditionalFormattingRuleModel.createCfId(a,o),ranges:c}};m.push({id:r.AddConditionalRuleMutation.id,params:n}),h.push((0,r.AddConditionalRuleMutationUndoFactory)(this._injector,n))}}}else if(c.length){let e={unitId:a,subUnitId:o,rule:{...s,ranges:c}};m.push({id:r.SetConditionalRuleMutation.id,params:e}),h.push(...(0,r.setConditionalRuleMutationUndoFactory)(this._injector,e))}else{let e={unitId:a,subUnitId:o,cfId:s.cfId};m.push({id:r.DeleteConditionalRuleMutation.id,params:e}),h.push(...(0,r.DeleteConditionalRuleMutationUndoFactory)(this._injector,e))}}else{let t=this._conditionalFormattingRuleModel.getRule(u,d,i);if(!t)return;let a=(0,n.findAllRectangle)((0,n.createTopMatrixFromMatrix)(e));if(a.length){let e={unitId:u,subUnitId:d,rule:{...t,ranges:a}};m.push({id:r.SetConditionalRuleMutation.id,params:e}),h.push(...(0,r.setConditionalRuleMutationUndoFactory)(this._injector,e))}else{let e={unitId:u,subUnitId:d,cfId:t.cfId};m.push({id:r.DeleteConditionalRuleMutation.id,params:e}),h.push(...(0,r.DeleteConditionalRuleMutationUndoFactory)(this._injector,e))}}}),{undos:h,redos:m}},o={id:r.SHEET_CONDITIONAL_FORMATTING_PLUGIN,onStatusChange:e=>{switch(e){case u.FormatPainterStatus.INFINITE:case u.FormatPainterStatus.ONCE:{var n,r;let e=(n=this._univerInstanceService.getCurrentUnitForType(t.UniverInstanceType.UNIVER_SHEET))==null?void 0:n.getUnitId(),i=(r=this._univerInstanceService.getCurrentUnitForType(t.UniverInstanceType.UNIVER_SHEET))==null||(r=r.getActiveSheet())==null?void 0:r.getSheetId(),a=this._sheetsSelectionsService.getCurrentLastSelection(),o=a==null?void 0:a.range;e&&i&&o&&(this._painterConfig={unitId:e,subUnitId:i,range:o});break}case u.FormatPainterStatus.OFF:this._painterConfig=null;break}},onApply:(e,t,n)=>this._painterConfig?a(e,t,n):{redos:[],undos:[]}};this._formatPainterService.addHook(o)}};rt=q([K(0,(0,t.Inject)(t.Injector)),K(1,(0,t.Inject)(t.IUniverInstanceService)),K(2,(0,t.Inject)(u.IFormatPainterService)),K(3,(0,t.Inject)(n.SheetsSelectionsService)),K(4,(0,t.Inject)(r.ConditionalFormattingRuleModel)),K(5,(0,t.Inject)(r.ConditionalFormattingViewModel))],rt);let it=class extends t.Disposable{constructor(e,t,n){super(),this._conditionalFormattingViewModel=e,this._univerInstanceService=t,this._renderManagerService=n,this._init()}_init(){let e=this._univerInstanceService.getCurrentUnitForType(t.UniverInstanceType.UNIVER_SHEET),n=e=>{let t=e.getUnitId(),n=this._renderManagerService.getRenderById(t);if(!n)return;let i=n.with(u.SheetSkeletonManagerService);this.disposeWithMe(i.currentSkeleton$.subscribe(e=>{if(e){let t=e.skeleton.rowColumnSegment,n=t.endColumn-t.startColumn+1,i=(t.endRow-t.startRow+1)*n*9,a=Math.max(r.CONDITIONAL_FORMATTING_VIEWPORT_CACHE_LENGTH,i);this._conditionalFormattingViewModel.setCacheLength(a)}}))};e&&n(e),this._univerInstanceService.getCurrentTypeOfUnit$(t.UniverInstanceType.UNIVER_SHEET).subscribe(e=>{e&&n(e)})}};it=q([K(0,(0,t.Inject)(r.ConditionalFormattingViewModel)),K(1,t.IUniverInstanceService),K(2,p.IRenderManagerService)],it);let at=[n.SetWorksheetActiveOperation.id,r.AddConditionalRuleMutation.id,r.SetConditionalRuleMutation.id,r.DeleteConditionalRuleMutation.id,r.MoveConditionalRuleMutation.id],ot=[{label:{name:`sheet.cf.ruleType.highlightCell`,selectable:!1},value:3},{label:{name:`sheet.cf.panel.rankAndAverage`,selectable:!1},value:4},{label:{name:`sheet.cf.ruleType.formula`,selectable:!1},value:5},{label:{name:`sheet.cf.ruleType.colorScale`,selectable:!1},value:6},{label:{name:`sheet.cf.ruleType.dataBar`,selectable:!1},value:7},{label:{name:`sheet.cf.ruleType.iconSet`,selectable:!1},value:8},{label:{name:`sheet.cf.menu.manageConditionalFormatting`,selectable:!1},value:2},{label:{name:`sheet.cf.menu.createConditionalFormatting`,selectable:!1},value:1},{label:{name:`sheet.cf.menu.clearRangeRules`,selectable:!1},value:9,disabled:!1},{label:{name:`sheet.cf.menu.clearWorkSheetRules`,selectable:!1},value:10}],st=e=>{let a=e.get(n.SheetsSelectionsService),o=e.get(t.ICommandService),s=e.get(t.IUniverInstanceService),c=e.get(r.ConditionalFormattingRuleModel),l=new d.Observable(r=>(0,d.merge)(a.selectionMoveEnd$,a.selectionSet$,new d.Observable(e=>{let n=o.onCommandExecuted(n=>{var r;let{id:i,params:a}=n,o=(r=s.getCurrentUnitForType(t.UniverInstanceType.UNIVER_SHEET))==null?void 0:r.getUnitId();at.includes(i)&&a.unitId===o&&e.next(null)});return()=>n.dispose()})).pipe((0,m.debounceTime)(16)).subscribe(()=>{var i;let o=((i=a.getCurrentSelections())==null?void 0:i.map(e=>e.range))||[],l=s.getCurrentUnitForType(t.UniverInstanceType.UNIVER_SHEET);if(!l)return;let u=l.getActiveSheet();if(!u)return;let d=(c.getSubunitRules(l.getUnitId(),u.getSheetId())||[]).filter(e=>e.ranges.some(e=>o.some(n=>t.Rectangle.intersects(n,e)))).map(e=>e.ranges).every(t=>(0,n.checkRangesEditablePermission)(e,l.getUnitId(),u.getSheetId(),t));r.next(d)})),f=new d.Observable(r=>new d.Observable(e=>{let n=o.onCommandExecuted(n=>{var r;let{id:i,params:a}=n,o=(r=s.getCurrentUnitForType(t.UniverInstanceType.UNIVER_SHEET))==null?void 0:r.getUnitId();at.includes(i)&&a.unitId===o&&e.next(null)});return()=>n.dispose()}).pipe((0,m.debounceTime)(16)).subscribe(()=>{let i=s.getCurrentUnitForType(t.UniverInstanceType.UNIVER_SHEET);if(!i)return;let a=i.getActiveSheet();if(!a)return;let o=c.getSubunitRules(i.getUnitId(),a.getSheetId())||[];if(!o.length)return r.next(!1),!1;let l=o.map(e=>e.ranges).every(t=>(0,n.checkRangesEditablePermission)(e,i.getUnitId(),a.getSheetId(),t));r.next(l)})),p=new d.Observable(e=>{l.subscribe(t=>{let n=ot.find(e=>e.value===9);n&&(n.disabled=!t,e.next(ot))}),f.subscribe(t=>{let n=ot.find(e=>e.value===10);n&&(n.disabled=!t,e.next(ot))}),e.next(ot)});return{id:X.id,type:i.MenuItemType.SELECTOR,icon:`ConditionsDoubleIcon`,tooltip:`sheet.cf.title`,selections:p,hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_SHEET),disabled$:(0,u.getCurrentRangeDisable$)(e,{workbookTypes:[n.WorkbookEditablePermission],worksheetTypes:[n.WorksheetSetCellStylePermission,n.WorksheetEditPermission],rangeTypes:[n.RangeProtectionPermissionEditPoint]})}},ct={[i.RibbonDataGroup.RULES]:{[X.id]:{order:1,menuItemFactory:st}}},lt=class extends t.Disposable{constructor(e,t){super(),this._injector=e,this._menuManagerService=t,G(this,`_sidebarDisposable`,null),this._menuManagerService.mergeMenu(ct)}};lt=q([K(0,(0,t.Inject)(t.Injector)),K(1,i.IMenuManagerService)],lt);let $=class extends t.Plugin{constructor(e=Je,n,r,i){super(),this._config=e,this._injector=n,this._commandService=r,this._configService=i;let{menu:a,...o}=(0,t.merge)({},Je,this._config);a&&this._configService.setConfig(`menu`,a,{merge:!0}),this._configService.setConfig(qe,o),this._initCommand()}onStarting(){(0,t.registerDependencies)(this._injector,[[$e],[Ze],[et],[Qe],[Y],[lt],[J],[tt],[Z],[rt],[it],[Ye]]),(0,t.touchDependencies)(this._injector,[[$e],[Ye]])}onReady(){(0,t.touchDependencies)(this._injector,[[lt],[Y]])}onRendered(){(0,t.touchDependencies)(this._injector,[[et],[Z],[Ze],[tt],[J],[rt],[Qe],[it]])}_initCommand(){[h,g,_,v,y,b,x,S,C,X].forEach(e=>{this._commandService.registerCommand(e)})}};G($,`pluginName`,`${r.SHEET_CONDITIONAL_FORMATTING_PLUGIN}_UI_PLUGIN`),G($,`packageName`,Ge),G($,`version`,Ke),G($,`type`,t.UniverInstanceType.UNIVER_SHEET),$=q([(0,t.DependentOn)(r.UniverSheetsConditionalFormattingPlugin,f.UniverSheetsFormulaPlugin),K(1,(0,t.Inject)(t.Injector)),K(2,(0,t.Inject)(t.ICommandService)),K(3,t.IConfigService)],$),e.AddAverageCfCommand=h,e.AddColorScaleConditionalRuleCommand=g,e.AddDataBarConditionalRuleCommand=_,e.AddDuplicateValuesCfCommand=v,e.AddNumberCfCommand=y,e.AddRankCfCommand=b,e.AddTextCfCommand=x,e.AddTimePeriodCfCommand=S,e.AddUniqueValuesCfCommand=C,Object.defineProperty(e,`ConditionalFormattingClearController`,{enumerable:!0,get:function(){return Z}}),e.OpenConditionalFormattingOperator=X,Object.defineProperty(e,`UniverSheetsConditionalFormattingMobileUIPlugin`,{enumerable:!0,get:function(){return Q}}),Object.defineProperty(e,`UniverSheetsConditionalFormattingUIPlugin`,{enumerable:!0,get:function(){return $}})});
|
|
13
|
+
`,children:e.ranges.map(e=>(0,s.serializeRange)(e)).join(`,`)})]}),(0,l.jsx)(`div`,{children:(0,l.jsx)(z,{rule:e.rule})}),(0,l.jsx)(`div`,{className:(0,o.clsx)(`univer-absolute univer-right-1 univer-hidden univer-size-6 univer-cursor-pointer univer-items-center univer-justify-center univer-rounded univer-text-red-500 group-hover:univer-flex hover:univer-bg-gray-200`,{"univer-flex univer-items-center univer-justify-center":k===e.cfId}),onClick:t=>{t.stopPropagation(),te(e),w([])},children:(0,l.jsx)(M,{})})]})})})]})},He=e=>{let[t,n]=(0,a.useState)(e.rule),[r,i]=(0,a.useState)(!!e.rule);return(0,l.jsx)(`div`,{className:`univer-flex univer-h-full univer-flex-col univer-justify-between univer-py-4`,children:r?(0,l.jsx)(Le,{onCancel:()=>{i(!1),n(void 0)},rule:t}):(0,l.jsx)(Ve,{onClick:e=>{n(e),i(!0)},onCreate:()=>{i(!0)}})})},Ue=`sheet.conditional.formatting.panel`,Y=class extends t.Disposable{constructor(e,n,r,i,a){super(),this._univerInstanceService=e,this._injector=n,this._componentManager=r,this._sidebarService=i,this._localeService=a,G(this,`_sidebarDisposable`,null),this._initPanel(),this.disposeWithMe(this._univerInstanceService.getCurrentTypeOfUnit$(t.UniverInstanceType.UNIVER_SHEET).subscribe(e=>{var t;e||(t=this._sidebarDisposable)==null||t.dispose()})),this.disposeWithMe(this._sidebarService.sidebarOptions$.subscribe(e=>{e.id===Ue&&(e.visible||setTimeout(()=>{this._sidebarService.sidebarOptions$.next({visible:!1})}))}))}openPanel(e){let n={id:Ue,header:{title:this._localeService.t(`sheet.cf.title`)},children:{label:Ue,rule:e,key:(0,t.generateRandomId)(4)},onClose:()=>this._sidebarDisposable=null};this._sidebarDisposable=this._sidebarService.open(n)}_initPanel(){this.disposeWithMe(this._componentManager.register(Ue,He))}};Y=q([K(0,t.IUniverInstanceService),K(1,(0,t.Inject)(t.Injector)),K(2,(0,t.Inject)(i.ComponentManager)),K(3,(0,t.Inject)(i.ISidebarService)),K(4,(0,t.Inject)(t.LocaleService))],Y);let X={id:`sheet.operation.open.conditional.formatting.panel`,type:t.CommandType.OPERATION,handler:(e,i)=>{var a;let o=e.get(Y),s=e.get(n.SheetsSelectionsService),c=e.get(t.ICommandService),l=((a=s.getCurrentSelections())==null?void 0:a.map(e=>e.range))||[];switch(i.value){case 3:o.openPanel({...(0,r.createDefaultRule)(),ranges:l});break;case 4:{let e={...r.createDefaultRule,ranges:l,rule:{type:r.CFRuleType.highlightCell,subType:r.CFSubRuleType.rank}};o.openPanel(e);break}case 5:{let e={...r.createDefaultRule,ranges:l,rule:{type:r.CFRuleType.highlightCell,subType:r.CFSubRuleType.formula,value:`=`}};o.openPanel(e);break}case 6:{let e={...r.createDefaultRule,ranges:l,rule:{type:r.CFRuleType.colorScale,config:[]}};o.openPanel(e);break}case 7:{let e={...r.createDefaultRule,ranges:l,rule:{type:r.CFRuleType.dataBar,isShowValue:!0}};o.openPanel(e);break}case 8:{let e={...r.createDefaultRule,ranges:l,rule:{type:r.CFRuleType.iconSet,config:[],isShowValue:!0}};o.openPanel(e);break}case 2:o.openPanel();break;case 1:o.openPanel({...(0,r.createDefaultRule)(),ranges:l});break;case 9:c.executeCommand(r.ClearRangeCfCommand.id,{ranges:l});break;case 10:c.executeCommand(r.ClearWorksheetCfCommand.id);break}return!0}},Z=class extends t.Disposable{constructor(e,t,n,r,i){super(),this._injector=e,this._univerInstanceService=t,this._sheetInterceptorService=n,this._selectionManagerService=r,this._conditionalFormattingRuleModel=i,this._init()}_init(){this.disposeWithMe(this._sheetInterceptorService.interceptCommand({getMutations:e=>{let r=[],i=[],a={redos:r,undos:i};if([n.ClearSelectionFormatCommand.id,n.ClearSelectionAllCommand.id].includes(e.id)){var o;let e=(o=this._selectionManagerService.getCurrentSelections())==null?void 0:o.map(e=>e.range);if(!e)return a;let n=this._univerInstanceService.getCurrentUnitForType(t.UniverInstanceType.UNIVER_SHEET),s=n.getActiveSheet();if(!s)return a;let c=n.getUnitId(),l=s.getSheetId(),u=this._conditionalFormattingRuleModel.getSubunitRules(c,l);if(!u||!u.length)return a;let{redos:d,undos:f}=We(this._injector,u,e,c,l);r.push(...d),i.push(...f)}return a}})),this.disposeWithMe(this._sheetInterceptorService.interceptRanges({getMutations:({unitId:e,subUnitId:t,ranges:n})=>{let r=[],i=[],a={redos:r,undos:i};if(!n||!n.length)return a;let o=this._conditionalFormattingRuleModel.getSubunitRules(e,t);if(!o||!o.length)return a;let{redos:s,undos:c}=We(this._injector,o,n,e,t);return r.push(...s),i.push(...c),a}}))}};Z=q([K(0,(0,t.Inject)(t.Injector)),K(1,(0,t.Inject)(t.IUniverInstanceService)),K(2,(0,t.Inject)(n.SheetInterceptorService)),K(3,(0,t.Inject)(n.SheetsSelectionsService)),K(4,(0,t.Inject)(r.ConditionalFormattingRuleModel))],Z);function We(e,i,a,o,s){let c=[],l=[];return i.filter(e=>a.some(n=>e.ranges.some(e=>t.Rectangle.getIntersects(e,n)))).forEach(t=>{let i=new n.RangeMergeUtil().add(...t.ranges).subtract(...a).merge();if(i.length){let n={id:r.SetConditionalRuleMutation.id,params:{unitId:o,subUnitId:s,rule:{...t,ranges:i}}},a=(0,r.setConditionalRuleMutationUndoFactory)(e,n.params);c.push(n),l.push(...a)}else{let n={id:r.DeleteConditionalRuleMutation.id,params:{unitId:o,subUnitId:s,cfId:t.cfId}},i=(0,r.DeleteConditionalRuleMutationUndoFactory)(e,n.params);c.push(n),l.push(...i)}}),{redos:c,undos:l}}var Ge=`@univerjs/sheets-conditional-formatting-ui`,Ke=`0.23.0`;let qe=`sheets-conditional-formatting-ui.config`;Symbol(qe);let Je={},Ye=class extends t.Disposable{constructor(e,t,n){super(),this._conditionalFormattingRuleModel=e,this._formulaRefRangeService=t,this._injector=n,G(this,`_disposableMap`,new Map),this._initRefRange()}_getIdWithUnitId(e,t,n){return`${e}_${t}_${n}`}_getRuleFormulas(e){let t=[],n=e.rule;switch(n.type){case r.CFRuleType.highlightCell:n.subType===r.CFSubRuleType.formula&&t.push(n.value);break;case r.CFRuleType.dataBar:{let e=n;e.config.min.type===r.CFValueType.formula&&t.push(e.config.min.value),e.config.max.type===r.CFValueType.formula&&t.push(e.config.max.value);break}case r.CFRuleType.colorScale:n.config.forEach(e=>{e.value.type===r.CFValueType.formula&&t.push(e.value.value)});break;case r.CFRuleType.iconSet:n.config.forEach(e=>{e.value.type===r.CFValueType.formula&&t.push(e.value.value)});break}return t}_updateRuleFormulas(e,n){let i=t.Tools.deepClone(e),a=i.rule,o=0;switch(a.type){case r.CFRuleType.highlightCell:a.subType===r.CFSubRuleType.formula&&(a.value=n[o++]);break;case r.CFRuleType.dataBar:{let e=a;e.config.min.type===r.CFValueType.formula&&(e.config.min.value=n[o++]),e.config.max.type===r.CFValueType.formula&&(e.config.max.value=n[o++]);break}case r.CFRuleType.colorScale:a.config.forEach(e=>{e.value.type===r.CFValueType.formula&&(e.value.value=n[o++])});break;case r.CFRuleType.iconSet:a.config.forEach(e=>{e.value.type===r.CFValueType.formula&&(e.value.value=n[o++])});break}return i}register(e,t,n){let i=n.ranges,a=this._getRuleFormulas(n),o=this._formulaRefRangeService.registerRangeFormula(e,t,i,a,i=>{if(i.length===0)return{undos:[{id:r.AddConditionalRuleMutation.id,params:{unitId:e,subUnitId:t,rule:n}}],redos:[{id:r.DeleteConditionalRuleMutation.id,params:{unitId:e,subUnitId:t,cfId:n.cfId}}]};let a=[],o=[],s=i[0],c=this._updateRuleFormulas(n,s.formulas);c.ranges=s.ranges,a.push({id:r.SetConditionalRuleMutation.id,params:{unitId:e,subUnitId:t,cfId:n.cfId,rule:c}}),o.push(...(0,r.setConditionalRuleMutationUndoFactory)(this._injector,{unitId:e,subUnitId:t,cfId:n.cfId,rule:c}));for(let s=1;s<i.length;s++){let c=i[s],l=(0,r.createCfId)(),u=this._updateRuleFormulas(n,c.formulas);u.cfId=l,u.ranges=c.ranges,a.push({id:r.AddConditionalRuleMutation.id,params:{unitId:e,subUnitId:t,rule:u}}),o.push((0,r.AddConditionalRuleMutationUndoFactory)(this._injector,{unitId:e,subUnitId:t,rule:u}))}return{undos:o,redos:a}}),s=this._getIdWithUnitId(e,t,n.cfId);this._disposableMap.set(s,o)}_initRefRange(){let e=this._conditionalFormattingRuleModel.getAll();for(let[t,n]of e)for(let[e,r]of n)for(let n of r)this.register(t,e,n);this.disposeWithMe(this._conditionalFormattingRuleModel.$ruleChange.subscribe(e=>{let{unitId:t,subUnitId:n,rule:r}=e;switch(e.type){case`add`:this.register(t,n,r);break;case`delete`:{let e=this._getIdWithUnitId(t,n,r.cfId),i=this._disposableMap.get(e);i&&(i.dispose(),this._disposableMap.delete(e));break}case`set`:{let e=this._getIdWithUnitId(t,n,r.cfId),i=this._disposableMap.get(e);i&&(i.dispose(),this._disposableMap.delete(e)),this.register(t,n,r);break}}})),this.disposeWithMe((0,t.toDisposable)(()=>{this._disposableMap.forEach(e=>{e.dispose()}),this._disposableMap.clear()}))}};Ye=q([K(0,(0,t.Inject)(r.ConditionalFormattingRuleModel)),K(1,(0,t.Inject)(f.FormulaRefRangeService)),K(2,(0,t.Inject)(t.Injector))],Ye);let Xe=[u.PREDEFINED_HOOK_NAME_PASTE.SPECIAL_PASTE_FORMAT,u.PREDEFINED_HOOK_NAME_PASTE.DEFAULT_PASTE,u.PREDEFINED_HOOK_NAME_PASTE.SPECIAL_PASTE_BESIDES_BORDER],Ze=class extends t.Disposable{constructor(e,t,n,r,i){super(),this._sheetClipboardService=e,this._conditionalFormattingRuleModel=t,this._injector=n,this._conditionalFormattingViewModel=r,this._univerInstanceService=i,G(this,`_copyInfo`,void 0),this._initClipboardHook()}_initClipboardHook(){this.disposeWithMe(this._sheetClipboardService.addClipboardHook({id:r.SHEET_CONDITIONAL_FORMATTING_PLUGIN,onBeforeCopy:(e,t,n)=>this._collectConditionalRule(e,t,n),onPasteCells:(e,t,n,r)=>!e||!this._copyInfo||!Xe.includes(r.pasteType)?{redos:[],undos:[]}:this._generateConditionalFormattingMutations(e,t,r)}))}_collectConditionalRule(e,r,i){let a=new t.ObjectMatrix,o={};this._copyInfo={matrix:a,info:{unitId:e,subUnitId:r,cfMap:o}};let s=this._injector.invoke(t=>(0,n.rangeToDiscreteRange)(i,t,e,r));if(!s)return;let{rows:c,cols:l}=s,u=new Set;c.forEach((t,n)=>{l.forEach((i,o)=>{let s=this._conditionalFormattingViewModel.getCellCfs(e,r,t,i);s&&(s.forEach(e=>u.add(e.cfId)),a.setValue(n,o,s.map(e=>e.cfId)))})}),u.forEach(t=>{let n=this._conditionalFormattingRuleModel.getRule(e,r,t);n&&(o[t]=n.rule)})}_generateConditionalFormattingMutations(e,i,a){let{unitId:o,subUnitId:s,range:c}=e,{unitId:l,subUnitId:d,range:f}=i,{copyType:p=u.COPY_TYPE.COPY}=a;if(!(0,n.getSheetCommandTarget)(this._univerInstanceService,{unitId:l,subUnitId:d}))return{redos:[],undos:[]};if(p===u.COPY_TYPE.CUT&&l===o&&d===s)return this._copyInfo=null,{redos:[],undos:[]};let{ranges:[m,h],mapFunc:g}=(0,u.virtualizeDiscreteRanges)([c,f]),_=(0,u.getRepeatRange)(m,h,!0),v={};t.Range.foreach(h,(e,n)=>{let{row:r,col:i}=g(e,n),a=this._conditionalFormattingViewModel.getCellCfs(l,d,r,i);a&&a.forEach(e=>{if(!v[e.cfId]){let n=new t.ObjectMatrix;v[e.cfId]={unitId:l,subUnitId:d,ruleMatrix:n};let r=this._conditionalFormattingRuleModel.getRule(l,d,e.cfId);r==null||r.ranges.forEach(e=>{t.Range.foreach(e,(e,t)=>{n.setValue(e,t,1)})})}v[e.cfId].ruleMatrix.realDeleteValue(r,i)})}),p===u.COPY_TYPE.CUT&&(l!==o||d!==s)&&t.Range.foreach(m,(e,n)=>{let{row:r,col:i}=g(e,n),a=this._conditionalFormattingViewModel.getCellCfs(o,s,r,i);a&&a.forEach(e=>{if(!v[e.cfId]){let n=new t.ObjectMatrix;v[e.cfId]={unitId:o,subUnitId:s,ruleMatrix:n};let r=this._conditionalFormattingRuleModel.getRule(o,s,e.cfId);r==null||r.ranges.forEach(e=>{t.Range.foreach(e,(e,t)=>{n.setValue(e,t,1)})})}v[e.cfId].ruleMatrix.realDeleteValue(r,i)})});let{matrix:y,info:b}=this._copyInfo,x=[],S={},C=e=>{let n=b==null?void 0:b.cfMap[e],r=[...this._conditionalFormattingRuleModel.getSubunitRules(l,d)||[],...x].find(e=>t.Tools.diffValue(e.rule,n));if(r)return S[e]=r,r;{let t={rule:n,cfId:this._conditionalFormattingRuleModel.createCfId(l,d),ranges:[],stopIfTrue:!1};return S[e]=t,x.push(t),t}};_.forEach(e=>{y&&y.forValue((n,r,i)=>{let a=t.Rectangle.getPositionRange({startRow:n,endRow:n,startColumn:r,endColumn:r},e.startRange),{row:o,col:s}=g(a.startRow,a.startColumn);i.forEach(e=>{let n=S[e]||C(e);if(!v[n.cfId]){let e=new t.ObjectMatrix;v[n.cfId]={unitId:l,subUnitId:d,ruleMatrix:e},n.ranges.forEach(n=>{t.Range.foreach(n,(t,n)=>{e.setValue(t,n,1)})})}v[n.cfId].ruleMatrix.setValue(o,s,1)})})});let w=[],T=[];for(let e in v){let{unitId:t,subUnitId:i,ruleMatrix:a}=v[e],o=(0,n.findAllRectangle)((0,n.createTopMatrixFromMatrix)(a));if(!o.length){let n={unitId:t,subUnitId:i,cfId:e};w.push({id:r.DeleteConditionalRuleMutation.id,params:n}),T.push(...(0,r.DeleteConditionalRuleMutationUndoFactory)(this._injector,n))}if(x.some(t=>t.cfId===e)){let t={unitId:l,subUnitId:d,rule:{...x.find(t=>t.cfId===e),ranges:o}};w.push({id:r.AddConditionalRuleMutation.id,params:t}),T.push((0,r.AddConditionalRuleMutationUndoFactory)(this._injector,t))}else{let n=this._conditionalFormattingRuleModel.getRule(t,i,e);if(!n)continue;let a={unitId:t,subUnitId:i,rule:{...n,ranges:o}};w.push({id:r.SetConditionalRuleMutation.id,params:a}),T.push(...(0,r.setConditionalRuleMutationUndoFactory)(this._injector,a))}}return{redos:w,undos:T}}};Ze=q([K(0,(0,t.Inject)(u.ISheetClipboardService)),K(1,(0,t.Inject)(r.ConditionalFormattingRuleModel)),K(2,(0,t.Inject)(t.Injector)),K(3,(0,t.Inject)(r.ConditionalFormattingViewModel)),K(4,(0,t.Inject)(t.IUniverInstanceService))],Ze);let Qe=class extends t.Disposable{constructor(e,t,n){super(),this._localeService=e,this._commandService=t,this._sheetPermissionCheckController=n,this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.beforeCommandExecuted(e=>{if(e.id===r.AddCfCommand.id){let{unitId:t,subUnitId:r,rule:{ranges:i}}=e.params;this._sheetPermissionCheckController.permissionCheckWithRanges({workbookTypes:[n.WorkbookEditablePermission],rangeTypes:[n.RangeProtectionPermissionEditPoint],worksheetTypes:[n.WorksheetEditPermission,n.WorksheetSetCellStylePermission]},i,t,r)||this._sheetPermissionCheckController.blockExecuteWithoutPermission(this._localeService.t(`permission.dialog.setStyleErr`))}}))}};Qe=q([K(0,(0,t.Inject)(t.LocaleService)),K(1,t.ICommandService),K(2,(0,t.Inject)(n.SheetPermissionCheckController))],Qe);let $e=class extends t.Disposable{constructor(e,t,n,r,i,a){super(),this._sheetInterceptorService=e,this._conditionalFormattingService=t,this._univerInstanceService=n,this._renderManagerService=r,this._conditionalFormattingViewModel=i,this._conditionalFormattingRuleModel=a,G(this,`_ruleChangeCacheMap`,new Map),this._initViewModelInterceptor(),this._initSkeleton(),this.disposeWithMe(()=>{this._ruleChangeCacheMap.clear()})}_markDirtySkeleton(){var e,n;let r=this._univerInstanceService.getCurrentUnitForType(t.UniverInstanceType.UNIVER_SHEET).getUnitId();(e=this._renderManagerService.getRenderById(r))==null||e.with(u.SheetSkeletonManagerService).reCalculate(),(n=this._renderManagerService.getRenderById(r))==null||(n=n.mainComponent)==null||n.makeDirty()}_initSkeleton(){this.disposeWithMe((0,d.merge)(this._conditionalFormattingRuleModel.$ruleChange,this._conditionalFormattingViewModel.markDirty$).pipe((0,m.bufferTime)(16),(0,m.filter)(e=>!!e.length),(0,m.filter)(e=>{let n=this._univerInstanceService.getCurrentUnitForType(t.UniverInstanceType.UNIVER_SHEET);if(!n)return!1;let r=n.getActiveSheet();return r?e.filter(e=>e.unitId===n.getUnitId()&&e.subUnitId===r.getSheetId()).length>0:!1})).subscribe(()=>this._markDirtySkeleton()))}_initViewModelInterceptor(){this.disposeWithMe(this._sheetInterceptorService.intercept(n.INTERCEPTOR_POINT.CELL_CONTENT,{effect:t.InterceptorEffectEnum.Style,handler:(e,t,n)=>{let i=this._conditionalFormattingService.composeStyle(t.unitId,t.subUnitId,t.row,t.col);if(!i)return n(e);let a=t.workbook.getStyles(),o=(typeof(e==null?void 0:e.s)==`string`?a.get(e==null?void 0:e.s):e==null?void 0:e.s)||{},s=e===t.rawData?{...t.rawData}:e;if(i.style){let e={...o,...i.style};Object.assign(s,{s:e})}return s.fontRenderExtension||(s.fontRenderExtension={},i.isShowValue!==void 0&&(s.fontRenderExtension.isSkip=!i.isShowValue)),i.dataBar&&(s.dataBar=i.dataBar),i.iconSet&&(s.iconSet=i.iconSet,s.fontRenderExtension.leftOffset=r.DEFAULT_PADDING+r.DEFAULT_WIDTH),n(s)},priority:10}))}};$e=q([K(0,(0,t.Inject)(n.SheetInterceptorService)),K(1,(0,t.Inject)(r.ConditionalFormattingService)),K(2,(0,t.Inject)(t.IUniverInstanceService)),K(3,(0,t.Inject)(p.IRenderManagerService)),K(4,(0,t.Inject)(r.ConditionalFormattingViewModel)),K(5,(0,t.Inject)(r.ConditionalFormattingRuleModel))],$e);let Q=class extends t.Plugin{constructor(e=Je,n,r,i){super(),this._config=e,this._injector=n,this._commandService=r,this._configService=i;let{menu:a,...o}=(0,t.merge)({},Je,this._config);a&&this._configService.setConfig(`menu`,a,{merge:!0}),this._configService.setConfig(qe,o),this._initCommand(),this._injector.add([$e]),this._injector.add([Ze]),this._injector.add([Qe]),this._injector.add([J]),this._injector.add([Ye])}_initCommand(){[h,g,_,v,y,b,x,S,C,X].forEach(e=>{this._commandService.registerCommand(e)})}};G(Q,`pluginName`,`${r.SHEET_CONDITIONAL_FORMATTING_PLUGIN}_MOBILE_UI_PLUGIN`),G(Q,`packageName`,Ge),G(Q,`version`,Ke),G(Q,`type`,t.UniverInstanceType.UNIVER_SHEET),Q=q([(0,t.DependentOn)(r.UniverSheetsConditionalFormattingPlugin),K(1,(0,t.Inject)(t.Injector)),K(2,(0,t.Inject)(t.ICommandService)),K(3,t.IConfigService)],Q);let et=class extends t.Disposable{constructor(e,t,n,r,i){super(),this._injector=e,this._univerInstanceService=t,this._autoFillService=n,this._conditionalFormattingRuleModel=r,this._conditionalFormattingViewModel=i,this._initAutoFill()}_initAutoFill(){let e=()=>({redos:[],undos:[]}),i=(e,n,r,i,a)=>{var o;let s=this._univerInstanceService.getCurrentUnitForType(t.UniverInstanceType.UNIVER_SHEET).getUnitId(),c=(o=this._univerInstanceService.getCurrentUnitForType(t.UniverInstanceType.UNIVER_SHEET).getActiveSheet())==null?void 0:o.getSheetId();if(!s||!c)return;let l={startRow:e.row,startColumn:e.col,endColumn:e.col,endRow:e.row},u={startRow:n.row,startColumn:n.col,endColumn:n.col,endRow:n.row};t.Range.foreach(r,(e,n)=>{let r=t.Rectangle.getPositionRange({startRow:e,startColumn:n,endColumn:n,endRow:e},l),o=t.Rectangle.getPositionRange({startRow:e,startColumn:n,endColumn:n,endRow:e},u),{row:d,col:f}=a(r.startRow,r.startColumn),p=this._conditionalFormattingViewModel.getCellCfs(s,c,d,f),{row:m,col:h}=a(o.startRow,o.startColumn),g=this._conditionalFormattingViewModel.getCellCfs(s,c,m,h);g&&g.forEach(e=>{let n=i.get(e.cfId);if(!i.get(e.cfId)){let r=this._conditionalFormattingRuleModel.getRule(s,c,e.cfId);if(!r)return;n=new t.ObjectMatrix,r.ranges.forEach(e=>{t.Range.foreach(e,(e,t)=>{n.setValue(e,t,1)})}),i.set(e.cfId,n)}n.realDeleteValue(m,h)}),p&&p.forEach(e=>{let n=i.get(e.cfId);if(!i.get(e.cfId)){let r=this._conditionalFormattingRuleModel.getRule(s,c,e.cfId);if(!r)return;n=new t.ObjectMatrix,r.ranges.forEach(e=>{t.Range.foreach(e,(e,t)=>{n.setValue(e,t,1)})}),i.set(e.cfId,n)}n.setValue(m,h,1)})})},a=(a,o)=>{var s,c;let l=(s=this._univerInstanceService.getCurrentUnitForType(t.UniverInstanceType.UNIVER_SHEET))==null?void 0:s.getUnitId(),d=(c=this._univerInstanceService.getCurrentUnitForType(t.UniverInstanceType.UNIVER_SHEET))==null||(c=c.getActiveSheet())==null?void 0:c.getSheetId(),f=new Map,p=[],m=[];if(!l||!d)return e();let h=(0,u.virtualizeDiscreteRanges)([a,o]),[g,_]=h.ranges,{mapFunc:v}=h,y={row:g.startRow,col:g.startColumn};return n.AutoFillTools.getAutoFillRepeatRange(g,_).forEach(e=>{i(y,e.repeatStartCell,e.relativeRange,f,v)}),f.forEach((e,t)=>{let i=this._conditionalFormattingRuleModel.getRule(l,d,t);if(!i)return;let a=(0,n.findAllRectangle)((0,n.createTopMatrixFromMatrix)(e));if(a.length){let e={unitId:l,subUnitId:d,rule:{...i,ranges:a}};p.push({id:r.SetConditionalRuleMutation.id,params:e}),m.push(...(0,r.setConditionalRuleMutationUndoFactory)(this._injector,e))}else{let e={unitId:l,subUnitId:d,cfId:i.cfId};p.push({id:r.DeleteConditionalRuleMutation.id,params:e}),m.push(...(0,r.DeleteConditionalRuleMutationUndoFactory)(this._injector,e))}}),{undos:m,redos:p}},o={id:r.SHEET_CONDITIONAL_FORMATTING_PLUGIN,onFillData:(t,r,i)=>{if(i===n.AUTO_FILL_APPLY_TYPE.COPY||i===n.AUTO_FILL_APPLY_TYPE.ONLY_FORMAT||i===n.AUTO_FILL_APPLY_TYPE.SERIES){let{source:e,target:n}=t;return a(e,n)}return e()}};this.disposeWithMe(this._autoFillService.addHook(o))}};et=q([K(0,(0,t.Inject)(t.Injector)),K(1,(0,t.Inject)(t.IUniverInstanceService)),K(2,(0,t.Inject)(n.IAutoFillService)),K(3,(0,t.Inject)(r.ConditionalFormattingRuleModel)),K(4,(0,t.Inject)(r.ConditionalFormattingViewModel))],et);let tt=class extends t.Disposable{constructor(e,t){super(),this._sheetInterceptorService=e,this._conditionalFormattingService=t,this._initInterceptorEditorEnd()}_initInterceptorEditorEnd(){this.disposeWithMe((0,t.toDisposable)(this._sheetInterceptorService.writeCellInterceptor.intercept(n.AFTER_CELL_EDIT,{handler:(e,t,n)=>{var r;e||n(e);let i=this._conditionalFormattingService.composeStyle(t.unitId,t.subUnitId,t.row,t.col),a=(r=i==null?void 0:i.style)==null?{}:r,o=Object.keys(a);if(e!=null&&e.p){var s;return(s=e.p.body)==null||(s=s.textRuns)==null||s.forEach(e=>{e.ts&&o.forEach(t=>{var n;(n=e.ts)==null||delete n[t]})}),n(e)}else{let r={...(typeof(e==null?void 0:e.s)==`string`?t.workbook.getStyles().get(e.s):e==null?void 0:e.s)||{}};return o.forEach(e=>{delete r[e]}),n({...e,s:{...r}})}}})))}};tt=q([K(0,(0,t.Inject)(n.SheetInterceptorService)),K(1,(0,t.Inject)(r.ConditionalFormattingService))],tt);let nt=(e,t)=>{let n=e=>e.endRow-e.startRow+1,r=e=>e.endColumn-e.startColumn+1,i=n(t)%n(e),a=r(t)%r(e),o=Math.floor(n(t)/n(e)),s=Math.floor(r(t)/r(e)),c=[],l={startRow:0,endRow:n(e)-1,startColumn:0,endColumn:r(e)-1};if(n(t)===1&&r(t)===1){let e={startRow:t.startRow,endRow:t.startRow,startColumn:t.startColumn,endColumn:t.startColumn};return c.push({repeatRelativeRange:l,startRange:e}),c}for(let u=0;u<o+(i?.1:0);u++)for(let d=0;d<s+(a?.1:0);d++){let f=n(e)*u,p=r(e)*d,m={startRow:f+t.startRow,endRow:f+t.startRow,startColumn:p+t.startColumn,endColumn:p+t.startColumn},h=l;u===o&&i&&(h={...h},h.endRow-=n(e)-i),d===s&&a&&(h={...h},h.endColumn-=r(e)-a),c.push({repeatRelativeRange:h,startRange:m})}return c},rt=class extends t.Disposable{constructor(e,t,n,r,i,a){super(),this._injector=e,this._univerInstanceService=t,this._formatPainterService=n,this._sheetsSelectionsService=r,this._conditionalFormattingRuleModel=i,this._conditionalFormattingViewModel=a,G(this,`_painterConfig`,null),this._initFormattingPainter()}_initFormattingPainter(){let e=()=>({redos:[],undos:[]}),i=(e,n,r,i,a)=>{let{unitId:o,subUnitId:s}=this._painterConfig,{targetUnitId:c,targetSubUnitId:l}=a,u={startRow:e.row,startColumn:e.col,endColumn:e.col,endRow:e.row},d={startRow:n.row,startColumn:n.col,endColumn:n.col,endRow:n.row};t.Range.foreach(r,(e,n)=>{let r=t.Rectangle.getPositionRange({startRow:e,startColumn:n,endColumn:n,endRow:e},u),a=t.Rectangle.getPositionRange({startRow:e,startColumn:n,endColumn:n,endRow:e},d),f=this._conditionalFormattingViewModel.getCellCfs(o,s,r.startRow,r.startColumn),p=this._conditionalFormattingViewModel.getCellCfs(c,l,a.startRow,a.startColumn);p&&p.forEach(e=>{let n=i.get(e.cfId);if(!i.get(e.cfId)){let r=this._conditionalFormattingRuleModel.getRule(c,l,e.cfId);if(!r)return;n=new t.ObjectMatrix,r.ranges.forEach(e=>{t.Range.foreach(e,(e,t)=>{n.setValue(e,t,1)})}),i.set(e.cfId,n)}n.realDeleteValue(a.startRow,a.startColumn)}),f&&f.forEach(e=>{let t=i.get(e.cfId);t&&t.setValue(a.startRow,a.startColumn,1)})})},a=(a,o,s)=>{var c;let{range:l,unitId:u,subUnitId:d}=this._painterConfig,f=a!==u||d!==o,p=new Map,m=[],h=[];if(!a||!o||!u||!d)return e();let g=(c=this._conditionalFormattingRuleModel.getSubunitRules(u,d))==null?[]:c;g==null||g.forEach(e=>{let{ranges:n,cfId:r}=e;if(n.some(e=>t.Rectangle.intersects(l,e))){let e=new t.ObjectMatrix;f||n.forEach(n=>{t.Range.foreach(n,(t,n)=>{e.setValue(t,n,1)})}),p.set(r,e)}});let _={row:l.startRow,col:l.startColumn};return nt(l,s).forEach(e=>{i(_,{row:e.startRange.startRow,col:e.startRange.startColumn},e.repeatRelativeRange,p,{targetUnitId:a,targetSubUnitId:o})}),p.forEach((e,i)=>{if(f){let s=this._conditionalFormattingRuleModel.getRule(a,o,i),c=(0,n.findAllRectangle)((0,n.createTopMatrixFromMatrix)(e));if(!s){if(c.length){let e=this._conditionalFormattingRuleModel.getRule(u,d,i);if(e){let n={unitId:a,subUnitId:o,rule:{...t.Tools.deepClone(e),cfId:this._conditionalFormattingRuleModel.createCfId(a,o),ranges:c}};m.push({id:r.AddConditionalRuleMutation.id,params:n}),h.push((0,r.AddConditionalRuleMutationUndoFactory)(this._injector,n))}}}else if(c.length){let e={unitId:a,subUnitId:o,rule:{...s,ranges:c}};m.push({id:r.SetConditionalRuleMutation.id,params:e}),h.push(...(0,r.setConditionalRuleMutationUndoFactory)(this._injector,e))}else{let e={unitId:a,subUnitId:o,cfId:s.cfId};m.push({id:r.DeleteConditionalRuleMutation.id,params:e}),h.push(...(0,r.DeleteConditionalRuleMutationUndoFactory)(this._injector,e))}}else{let t=this._conditionalFormattingRuleModel.getRule(u,d,i);if(!t)return;let a=(0,n.findAllRectangle)((0,n.createTopMatrixFromMatrix)(e));if(a.length){let e={unitId:u,subUnitId:d,rule:{...t,ranges:a}};m.push({id:r.SetConditionalRuleMutation.id,params:e}),h.push(...(0,r.setConditionalRuleMutationUndoFactory)(this._injector,e))}else{let e={unitId:u,subUnitId:d,cfId:t.cfId};m.push({id:r.DeleteConditionalRuleMutation.id,params:e}),h.push(...(0,r.DeleteConditionalRuleMutationUndoFactory)(this._injector,e))}}}),{undos:h,redos:m}},o={id:r.SHEET_CONDITIONAL_FORMATTING_PLUGIN,onStatusChange:e=>{switch(e){case u.FormatPainterStatus.INFINITE:case u.FormatPainterStatus.ONCE:{var n,r;let e=(n=this._univerInstanceService.getCurrentUnitForType(t.UniverInstanceType.UNIVER_SHEET))==null?void 0:n.getUnitId(),i=(r=this._univerInstanceService.getCurrentUnitForType(t.UniverInstanceType.UNIVER_SHEET))==null||(r=r.getActiveSheet())==null?void 0:r.getSheetId(),a=this._sheetsSelectionsService.getCurrentLastSelection(),o=a==null?void 0:a.range;e&&i&&o&&(this._painterConfig={unitId:e,subUnitId:i,range:o});break}case u.FormatPainterStatus.OFF:this._painterConfig=null;break}},onApply:(e,t,n)=>this._painterConfig?a(e,t,n):{redos:[],undos:[]}};this._formatPainterService.addHook(o)}};rt=q([K(0,(0,t.Inject)(t.Injector)),K(1,(0,t.Inject)(t.IUniverInstanceService)),K(2,(0,t.Inject)(u.IFormatPainterService)),K(3,(0,t.Inject)(n.SheetsSelectionsService)),K(4,(0,t.Inject)(r.ConditionalFormattingRuleModel)),K(5,(0,t.Inject)(r.ConditionalFormattingViewModel))],rt);let it=class extends t.Disposable{constructor(e,n,r){super(),this._conditionalFormattingViewModel=e,this._univerInstanceService=n,this._renderManagerService=r,G(this,`_unitDisposable`,new t.DisposableCollection),this._init()}_init(){let e=this._univerInstanceService.getCurrentUnitForType(t.UniverInstanceType.UNIVER_SHEET),n=e=>{this._unitDisposable.dispose(),this._unitDisposable=new t.DisposableCollection;let n=e.getUnitId(),i=this._renderManagerService.getRenderById(n);if(!i)return;let a=i.with(u.SheetSkeletonManagerService);this._unitDisposable.add(a.currentSkeleton$.subscribe(e=>{if(e){let t=e.skeleton.rowColumnSegment,n=t.endColumn-t.startColumn+1,i=(t.endRow-t.startRow+1)*n*9,a=Math.max(r.CONDITIONAL_FORMATTING_VIEWPORT_CACHE_LENGTH,i);this._conditionalFormattingViewModel.setCacheLength(a)}}))};e&&n(e),this.disposeWithMe(this._univerInstanceService.getCurrentTypeOfUnit$(t.UniverInstanceType.UNIVER_SHEET).subscribe(e=>{if(!e){this._unitDisposable.dispose();return}n(e)}))}dispose(){this._unitDisposable.dispose(),super.dispose()}};it=q([K(0,(0,t.Inject)(r.ConditionalFormattingViewModel)),K(1,t.IUniverInstanceService),K(2,p.IRenderManagerService)],it);let at=[n.SetWorksheetActiveOperation.id,r.AddConditionalRuleMutation.id,r.SetConditionalRuleMutation.id,r.DeleteConditionalRuleMutation.id,r.MoveConditionalRuleMutation.id],ot=[{label:{name:`sheet.cf.ruleType.highlightCell`,selectable:!1},value:3},{label:{name:`sheet.cf.panel.rankAndAverage`,selectable:!1},value:4},{label:{name:`sheet.cf.ruleType.formula`,selectable:!1},value:5},{label:{name:`sheet.cf.ruleType.colorScale`,selectable:!1},value:6},{label:{name:`sheet.cf.ruleType.dataBar`,selectable:!1},value:7},{label:{name:`sheet.cf.ruleType.iconSet`,selectable:!1},value:8},{label:{name:`sheet.cf.menu.manageConditionalFormatting`,selectable:!1},value:2},{label:{name:`sheet.cf.menu.createConditionalFormatting`,selectable:!1},value:1},{label:{name:`sheet.cf.menu.clearRangeRules`,selectable:!1},value:9,disabled:!1},{label:{name:`sheet.cf.menu.clearWorkSheetRules`,selectable:!1},value:10}],st=e=>{let a=e.get(n.SheetsSelectionsService),o=e.get(t.ICommandService),s=e.get(t.IUniverInstanceService),c=e.get(r.ConditionalFormattingRuleModel),l=new d.Observable(r=>(0,d.merge)(a.selectionMoveEnd$,a.selectionSet$,new d.Observable(e=>{let n=o.onCommandExecuted(n=>{var r;let{id:i,params:a}=n,o=(r=s.getCurrentUnitForType(t.UniverInstanceType.UNIVER_SHEET))==null?void 0:r.getUnitId();at.includes(i)&&a.unitId===o&&e.next(null)});return()=>n.dispose()})).pipe((0,m.debounceTime)(16)).subscribe(()=>{var i;let o=((i=a.getCurrentSelections())==null?void 0:i.map(e=>e.range))||[],l=s.getCurrentUnitForType(t.UniverInstanceType.UNIVER_SHEET);if(!l)return;let u=l.getActiveSheet();if(!u)return;let d=(c.getSubunitRules(l.getUnitId(),u.getSheetId())||[]).filter(e=>e.ranges.some(e=>o.some(n=>t.Rectangle.intersects(n,e)))).map(e=>e.ranges).every(t=>(0,n.checkRangesEditablePermission)(e,l.getUnitId(),u.getSheetId(),t));r.next(d)})),f=new d.Observable(r=>new d.Observable(e=>{let n=o.onCommandExecuted(n=>{var r;let{id:i,params:a}=n,o=(r=s.getCurrentUnitForType(t.UniverInstanceType.UNIVER_SHEET))==null?void 0:r.getUnitId();at.includes(i)&&a.unitId===o&&e.next(null)});return()=>n.dispose()}).pipe((0,m.debounceTime)(16)).subscribe(()=>{let i=s.getCurrentUnitForType(t.UniverInstanceType.UNIVER_SHEET);if(!i)return;let a=i.getActiveSheet();if(!a)return;let o=c.getSubunitRules(i.getUnitId(),a.getSheetId())||[];if(!o.length)return r.next(!1),!1;let l=o.map(e=>e.ranges).every(t=>(0,n.checkRangesEditablePermission)(e,i.getUnitId(),a.getSheetId(),t));r.next(l)})),p=new d.Observable(e=>{l.subscribe(t=>{let n=ot.find(e=>e.value===9);n&&(n.disabled=!t,e.next(ot))}),f.subscribe(t=>{let n=ot.find(e=>e.value===10);n&&(n.disabled=!t,e.next(ot))}),e.next(ot)});return{id:X.id,type:i.MenuItemType.SELECTOR,icon:`ConditionsDoubleIcon`,tooltip:`sheet.cf.title`,selections:p,hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_SHEET),disabled$:(0,u.getCurrentRangeDisable$)(e,{workbookTypes:[n.WorkbookEditablePermission],worksheetTypes:[n.WorksheetSetCellStylePermission,n.WorksheetEditPermission],rangeTypes:[n.RangeProtectionPermissionEditPoint]})}},ct={[i.RibbonDataGroup.RULES]:{[X.id]:{order:1,menuItemFactory:st}}},lt=class extends t.Disposable{constructor(e,t){super(),this._injector=e,this._menuManagerService=t,G(this,`_sidebarDisposable`,null),this._menuManagerService.mergeMenu(ct)}};lt=q([K(0,(0,t.Inject)(t.Injector)),K(1,i.IMenuManagerService)],lt);let $=class extends t.Plugin{constructor(e=Je,n,r,i){super(),this._config=e,this._injector=n,this._commandService=r,this._configService=i;let{menu:a,...o}=(0,t.merge)({},Je,this._config);a&&this._configService.setConfig(`menu`,a,{merge:!0}),this._configService.setConfig(qe,o),this._initCommand()}onStarting(){(0,t.registerDependencies)(this._injector,[[$e],[Ze],[et],[Qe],[Y],[lt],[J],[tt],[Z],[rt],[it],[Ye]]),(0,t.touchDependencies)(this._injector,[[$e],[Ye]])}onReady(){(0,t.touchDependencies)(this._injector,[[lt],[Y]])}onRendered(){(0,t.touchDependencies)(this._injector,[[et],[Z],[Ze],[tt],[J],[rt],[Qe],[it]])}_initCommand(){[h,g,_,v,y,b,x,S,C,X].forEach(e=>{this._commandService.registerCommand(e)})}};G($,`pluginName`,`${r.SHEET_CONDITIONAL_FORMATTING_PLUGIN}_UI_PLUGIN`),G($,`packageName`,Ge),G($,`version`,Ke),G($,`type`,t.UniverInstanceType.UNIVER_SHEET),$=q([(0,t.DependentOn)(r.UniverSheetsConditionalFormattingPlugin,f.UniverSheetsFormulaPlugin),K(1,(0,t.Inject)(t.Injector)),K(2,(0,t.Inject)(t.ICommandService)),K(3,t.IConfigService)],$),e.AddAverageCfCommand=h,e.AddColorScaleConditionalRuleCommand=g,e.AddDataBarConditionalRuleCommand=_,e.AddDuplicateValuesCfCommand=v,e.AddNumberCfCommand=y,e.AddRankCfCommand=b,e.AddTextCfCommand=x,e.AddTimePeriodCfCommand=S,e.AddUniqueValuesCfCommand=C,Object.defineProperty(e,`ConditionalFormattingClearController`,{enumerable:!0,get:function(){return Z}}),e.OpenConditionalFormattingOperator=X,Object.defineProperty(e,`UniverSheetsConditionalFormattingMobileUIPlugin`,{enumerable:!0,get:function(){return Q}}),Object.defineProperty(e,`UniverSheetsConditionalFormattingUIPlugin`,{enumerable:!0,get:function(){return $}})});
|
|
14
14
|
|
|
15
15
|
// index
|
|
16
16
|
(function(e,i){typeof exports=="object"&&typeof module<"u"?i(exports,require("@univerjs/sheets-conditional-formatting"),require("@univerjs/sheets-conditional-formatting-ui"),require("@univerjs/sheets-conditional-formatting/lib/facade")):typeof define=="function"&&define.amd?define(["exports","@univerjs/sheets-conditional-formatting","@univerjs/sheets-conditional-formatting-ui","@univerjs/sheets-conditional-formatting/lib/facade"],i):(e=typeof globalThis<"u"?globalThis:e||self,i(e.UniverPresetSheetsConditionalFormatting={},e.UniverSheetsConditionalFormatting,e.UniverSheetsConditionalFormattingUi))})(this,(function(e,i,n){"use strict";function t(){return{plugins:[i.UniverSheetsConditionalFormattingPlugin,n.UniverSheetsConditionalFormattingUIPlugin].filter(o=>!!o)}}e.UniverSheetsConditionalFormattingPreset=t,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@univerjs/preset-sheets-conditional-formatting",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.23.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Preset for conditional formatting in Univer Sheets.",
|
|
6
6
|
"author": "DreamNum Co., Ltd. <developer@univer.ai>",
|
|
@@ -60,16 +60,16 @@
|
|
|
60
60
|
"rxjs": ">=7.0.0"
|
|
61
61
|
},
|
|
62
62
|
"dependencies": {
|
|
63
|
-
"@univerjs/sheets-conditional-formatting": "0.
|
|
64
|
-
"@univerjs/sheets-conditional-formatting-ui": "0.
|
|
63
|
+
"@univerjs/sheets-conditional-formatting": "0.23.0",
|
|
64
|
+
"@univerjs/sheets-conditional-formatting-ui": "0.23.0"
|
|
65
65
|
},
|
|
66
66
|
"devDependencies": {
|
|
67
|
-
"@univerjs/core": "0.
|
|
67
|
+
"@univerjs/core": "0.23.0",
|
|
68
68
|
"react": "18.3.1",
|
|
69
69
|
"react-dom": "18.3.1",
|
|
70
70
|
"rxjs": "7.8.2",
|
|
71
71
|
"typescript": "^6.0.3",
|
|
72
|
-
"@univerjs-infra/shared": "0.
|
|
72
|
+
"@univerjs-infra/shared": "0.23.0"
|
|
73
73
|
},
|
|
74
74
|
"scripts": {
|
|
75
75
|
"prebuild:preset": "tsx prepare.ts",
|